Arduino UNO Q อ่าน Analog Gauge ด้วย Edge AI
เกจเข็มยังใช้งานได้ดี แล้วทำไมต้องเปลี่ยนทั้งระบบ เพียงเพราะอยากเอาค่าเข้า Digital Monitoring? โปรเจกต์นี้เลือกอีกทาง: วางกล้องให้มองหน้าปัด แล้วใช้ Arduino UNO Q ประมวลผลภาพด้วย Edge AI เพื่อประมาณค่า Pressure โดยไม่ต้องต่อสัญญาณไฟฟ้าเข้ากับ Gauge เดิม
แนวคิดฟังดูตรงไปตรงมา: Camera → Edge AI → Pressure Value แต่ Journey ของผู้สร้างน่าสนใจกว่านั้นมาก เพราะก่อนจะได้โมเดลที่ใช้จริง เขาลองทั้ง Vision-Language Model, Synthetic Data และโมเดลขนาดใหญ่ ก่อนพบว่างาน “อ่านข้อความจากภาพ” กับงาน “วัดค่าอย่างสม่ำเสมอ” เป็นคนละโจทย์กัน
Key Takeaways
- ใช้ Analog Pressure Gauge ช่วง 0–60 PSI
- Gauge เดิมไม่มี Electrical Connection กับ Arduino UNO Q
- Logitech C920e USB Webcam เป็นตัวมองหน้าปัด
- กล้องเชื่อม UNO Q ผ่าน Arduino USB-C Hub
- ผู้สร้างเริ่มจาก SmolVLM ประมาณ 500M Parameters แต่ Reliability ยังไม่พอ
- SmolVLM ประมาณ 2.2B Parameters รันได้ แต่ใช้เวลาหลายนาทีต่อภาพ
- ปัญหาหนึ่งคือ VLM บางครั้งมอง Counterweight เป็นเข็ม Pressure
- Synthetic Training Data ทำงานดีบน Synthetic Test แต่เจอ Domain Gap กับภาพจริง
- ผู้สร้างจึงเปลี่ยนมาใช้ Real Camera Images
- GPT-5.6 ถูกใช้เป็น Cloud AI Teacher เพื่อช่วย Label Dataset
- โมเดลปลายทางใช้ MobileNetV3-Small แบบ Regression
- โมเดลถูก Export เป็น ONNX และรัน Local ด้วย ONNX Runtime บน UNO Q
- Runtime ใช้ Frame 1920×1080, Crop 700×700 และ Resize เป็น 224×224
- ระบบอ่านค่าประมาณ 2 ครั้งต่อวินาที
- Held-out Test มี MAE ต่ำกว่า 1 PSI ในช่วง 10–25 PSI bands
- Performance ลดลงใกล้ขอบต่ำและขอบสูงของ Gauge
- Current Prototype Log ค่า PSI แบบ Local
- Alerts, Gateway และ Mesh Network เป็นแนวคิดต่อยอด ไม่ใช่ Feature ปัจจุบัน
Analog Gauge ยังดีอยู่ แต่ข้อมูลยังติดอยู่ที่หน้าปัด
เดินเข้าโรงงาน, Mechanical Room, Pump Station หรือ Utility Facility ยังมีโอกาสเจอ Analog Gauge จำนวนมาก แม้ระบบรอบข้างจะเริ่มเชื่อมต่อกับ Software หรือ Dashboard ไปแล้ว
ปัญหาไม่ใช่ว่า Gauge เหล่านั้นทำงานไม่ได้ แต่คือค่าของมันถูกออกแบบให้ คนยืนอยู่ตรงหน้าแล้วอ่านด้วยตา
Workflow จึงอาจกลายเป็น:
↓
อ่านค่าหน้าปัด
↓
จดค่า
↓
เดินไปจุดถัดไป
↓
ทำซ้ำ
โปรเจกต์นี้ตั้งคำถามง่าย ๆ ว่า: ถ้า Gauge เดิมยังทำงานอยู่ เราจำเป็นต้องเปลี่ยนหรือ Modify มัน เพียงเพราะอยากได้ข้อมูล Digital หรือไม่?
แนวคิด: ให้กล้องมองแทนคน แล้วให้ Edge AI อ่านค่า
วิธีที่ Michael Ross เลือกคือ:
↓
USB Camera
↓
Arduino UNO Q
↓
Computer Vision / Edge AI
↓
Estimated Pressure Value
กล้องทำหน้าที่เหมือนตาของระบบ ส่วน UNO Q ทำหน้าที่ประมวลผลภาพ แล้วคืนผลลัพธ์ออกมาเป็นค่า Pressure แทนการส่งภาพทั้งภาพไปให้คนอ่าน
จุดน่าสนใจ: Digital Layer ถูกเพิ่ม “รอบ” เครื่องมือเดิม ไม่ได้ถูกฝังเข้าไปใน Gauge ดังนั้น Concept ของโปรเจกต์ จึงต่างจากการเปลี่ยน Mechanical Gauge เป็น Electronic Pressure Sensor โดยตรง
Hardware และ Software ที่ผู้สร้างใช้
| รายการ | ข้อมูลจากโปรเจกต์ |
|---|---|
| Edge Computer | Arduino UNO Q ×1 |
| Camera | Logitech C920e USB Webcam ×1 |
| USB Hub | Arduino USB-C Hub (8 in 1) ×1 |
| Power Supply | Arduino USB-C Power Supply 45W ×1 |
| Development Computer | Mac with Apple Silicon ตาม Setup ที่ผู้สร้างทดสอบ |
| Gauge | Analog Pressure Gauge 0–60 PSI พร้อม Black Outer Scale |
| Python | Python 3.9+ |
| Application Environment | Arduino App Lab |
รายการนี้คือ Hardware ของ Prototype ต้นฉบับ: ไม่ได้หมายความว่า Webcam, Hub หรือ Gauge รุ่นอื่นจะทำงานได้เหมือนกันทันที โดยไม่ตรวจ Compatibility และไม่ Train / Validate Model เพิ่มเติม
Hardware Architecture: Gauge ไม่ได้ต่อไฟเข้ากับ UNO Q
จุดที่ต้องเข้าใจให้ชัดคือ:
Analog Pressure Gauge ไม่มี Electrical Connection กับ UNO Q
เส้นทางข้อมูลจริงเป็น:
↓ Optical Only
Logitech C920e
↓ USB
Arduino USB-C Hub
↓
Arduino UNO Q
↓
Local Image Processing + ONNX Inference
ทำไมต้อง Edge AI แทนการส่งภาพทั้งหมดขึ้น Cloud?
การส่ง Camera Frame ทุกภาพขึ้น Cloud สามารถทำได้ในบางระบบ แต่ผู้สร้างมองว่ามันเพิ่มโจทย์เรื่อง:
- Connectivity
- Bandwidth
- Latency
- Privacy
- Energy Consumption
- Dependence on External Services
เป้าหมายของโปรเจกต์จึงเป็น:
ให้ Final Gauge-reading Model ทำ Inference อยู่บน Arduino UNO Q โดยตรง
Camera ส่งภาพให้ Device แต่ข้อมูลที่ระบบต้องการจริง อาจเหลือเพียงตัวเลขเล็ก ๆ เช่นค่า PSI
อย่าสับสน Development กับ Deployment: โปรเจกต์นี้ใช้ Cloud AI ในช่วงสร้าง Dataset แต่ Normal Operation ของ Gauge Reader ไม่ต้องใช้ Cloud Vision Inference
ผู้สร้างไม่ได้ทดสอบกับ Gauge วางบนโต๊ะอย่างเดียว
เพื่อให้การทดลองใกล้เคียง Physical System มากขึ้น ผู้สร้างทำ Pump Station Demonstrator ที่มี:
- Analog Pressure Gauge 0–60 PSI
- RUN Indicator
- FAULT Indicator
- Custom Enclosure
- Plumbing Parts สำหรับสร้าง Pressure ในตัว Demonstrator
ระบบ Demo ถูกออกแบบให้ Pressure ค่อย ๆ ลดลงผ่านการรั่วเล็กน้อยแบบตั้งใจ เพื่อแสดงให้เห็นว่า UNO Q สามารถอ่านค่าที่เปลี่ยนไปตามเวลาได้
นี่เป็น Demonstrator ไม่ใช่คู่มือสร้างระบบแรงดันสำหรับใช้งานจริง: บทความนี้จะไม่เพิ่มค่า Pressure Rating, วิธี Pressurize, Valve Specification หรือขั้นตอนประกอบระบบแรงดันที่ Source ไม่ได้ให้
Approach แรก: ลองให้ Vision-Language Model อ่าน Gauge
Approach แรกดูสมเหตุสมผลมาก: ในเมื่อ Multimodal AI มองภาพและอธิบายสิ่งที่เห็นได้ ก็ลองถามมันตรง ๆ ว่า Gauge ตอนนี้อ่านได้เท่าไร
ผู้สร้างทดลอง SmolVLM ประมาณ 500M Parameters รันบน UNO Q
ผลคือ: Model สามารถให้ค่าที่ดูสมเหตุสมผลได้ แต่ยังไม่ Reliable มากพอสำหรับ Monitoring
ปัญหา Pointer กับ Counterweight
Needle Assembly ของ Gauge ตัวอย่าง มีเข็ม Pressure ที่ยาวและบาง อีกด้านมี Counterweight รูปทรงสามเหลี่ยมที่มองเห็นเด่นกว่า
Small VLM บางครั้งจึง เข้าใจ Counterweight ว่าเป็น Pointer
แล้วถ้าใช้ Model ใหญ่ขึ้นล่ะ?
ผู้สร้างทดลอง SmolVLM ขนาดประมาณ 2.2B Parameters ซึ่งสามารถรันบน UNO Q ได้
แต่ Inference ใช้เวลา หลายนาทีต่อภาพ และยังไม่ได้แก้ Reliability Problem ที่เป็นแก่นของงานได้มากพอ
Lesson สำคัญ: Model ที่เข้าใจว่า “ภาพนี้คือ Gauge” ไม่ได้หมายความว่าจะ “วัดตำแหน่งเข็มอย่างแม่นและสม่ำเสมอ” ได้โดยอัตโนมัติ
จาก General AI สู่ Model ที่รู้เรื่องเดียว แต่รู้ให้ตรงโจทย์
แทนที่จะเพิ่มขนาด General-purpose Model ต่อไป ผู้สร้างเปลี่ยนคำถาม
จาก:
“ช่วยดูและอธิบายภาพนี้”
เป็น:
“Gauge นี้แสดง Pressure เท่าไร?”
แล้วสร้าง Specialized Computer Vision Model สำหรับโจทย์เดียว
Model Backbone คือ:
MobileNetV3-Small
และมอง Gauge Reading เป็นโจทย์แบบ:
Regression
↓
MobileNetV3-Small
↓
1 Continuous Pressure Value
จุดต่างสำคัญคือ Model ไม่ต้องสร้างประโยค, อธิบายภาพ หรือเข้าใจ Object ทุกชนิด แต่เน้นตอบค่าที่ผู้สร้างต้องการเพียงค่าเดียว
Synthetic Data ดูสวยใน Test แต่เจอโลกจริงแล้วไม่เหมือนเดิม
ช่วงแรก ผู้สร้างสร้าง Synthetic Training Data และผล Test บน Synthetic Images ดูดีมาก
แต่เมื่อเอา Model ไปเจอภาพจาก USB Camera จริง Performance กลับลดลงอย่างเห็นได้ชัด
ปัญหานี้สะท้อนสิ่งที่เรียกว่า:
Domain Gap
ใน Source ผู้สร้างยกตัวอย่างความยากของ Synthetic Image เช่น:
- การสร้างลักษณะเข็มให้เหมือนของจริง
- ร่องรอยหรือ Stain บริเวณหน้าปัด
- Blur และรายละเอียดจากภาพจริง
บทเรียนของผู้สร้าง: Benchmark ที่ดูดี ไม่มีความหมายมากนัก ถ้า Training Distribution ไม่ได้แทนโลกจริงที่ Model จะต้องเจอหลัง Deploy
Using AI to Build AI: ใช้โมเดลใหญ่ช่วย Label ก่อนส่งงานให้โมเดลเล็ก
เมื่อเปลี่ยนจาก Synthetic Data มาใช้ Real Images ก็เกิดปัญหาใหม่:
ภาพเก็บง่าย แต่ Label ภาพจำนวนมากใช้เวลามาก
ผู้สร้างจึงสร้าง Automated Capture System ที่ถ่ายภาพ Gauge ขณะที่ Pressure ค่อย ๆ ลดลง
จากนั้นส่งภาพเข้า GPT-5.6 เพื่อใช้เป็น Cloud Vision Teacher ช่วยระบุค่า Pressure สำหรับสร้าง Training Dataset
Prompting Logic เน้นให้ Teacher:
- หา Long Pressure Pointer
- Ignore Counterweight
- Ignore Red Inner Scale
- อ้างอิง Black PSI Tick Marks
- คืนค่า Pressure
↓
Labeled Real-world Images
↓
Train Small Specialized Model
↓
Deploy Local บน Arduino UNO Q
GPT-5.6 ไม่ได้รันบน UNO Q ระหว่าง Monitoring: Cloud Model ถูกใช้ในช่วง Dataset / Model-development Pipeline ส่วน Model ที่ Deploy จริง คือ MobileNetV3-Small ที่ Export เป็น ONNX
Training Gauge Reader ด้วย MobileNetV3-Small
Training Pipeline ของผู้สร้างประกอบด้วย:
- Real Camera Images
- Pressure-aware Sampling
- Realistic Image Augmentation
- Independent Capture Runs สำหรับ Validation / Testing
การใช้ Independent Capture Run สำคัญเพราะช่วยดูว่า Model ทำงานได้กับ Sequence ที่ไม่ได้เป็นชุดเดียวกับตอน Train หรือไม่
Model ถูกสร้างเป็น Regression Model:
↓
MobileNetV3-Small
↓
Normalized Continuous Output
↓
Pressure in PSI
ผลทดสอบดีในบางช่วง แต่ไม่ควรเรียกว่า Sensor ที่ Validated แล้ว
Source ระบุว่า ใน Held-out Test Run Model ทำได้ดีที่สุด ในช่วงกลางของ Gauge
โดยมี:
Mean Absolute Error ต่ำกว่า 1 PSI ในช่วง 10–25 PSI bands
ในคำอธิบายช่วง Runtime ผู้สร้างยังระบุว่า Model มี Strongest Performance โดยรวม ประมาณ:
10–30 PSI
แต่ Performance แย่ลงอย่างชัดเจน ใกล้:
- Low end ของ Gauge Range
- High end ของ Gauge Range
ห้ามสรุปว่า Accuracy ของระบบคือ ±1 PSI ตลอดช่วง 0–60 PSI: Source ระบุค่า MAE ต่ำกว่า 1 PSI เฉพาะบาง Band ในช่วง 10–25 PSI และย้ำว่า Performance แย่ลงบริเวณขอบ Range
Prediction ≠ Validated Sensor: ผู้สร้างย้ำเองว่า Lighting, Camera Position, Training Coverage, Label Quality, Physical Variation และ Independent Validation ล้วนมีผลต่อ Reliability ของระบบ
Runtime Pipeline: จากภาพ 1080p สู่ค่า PSI ประมาณ 2 ครั้งต่อวินาที
Final Model ถูก Export เป็น:
ONNX
และรันบน UNO Q ด้วย:
ONNX Runtime
Pipeline 7 ขั้น
เปิด USB Camera แล้วเปิดค้างไว้
Camera ไม่ได้ถูก Initialize ใหม่ทุกครั้งที่อ่านค่า
Capture Frame 1920×1080
Code ขอ Capture Resolution ที่ 1920×1080 Pixels
Crop Gauge 700×700
ใช้ Fixed Crop ที่ครอบพื้นที่ Gauge ของ Setup นี้
Resize เป็น 224×224
แล้วทำ ImageNet Normalization แบบเดียวกับ Training Pipeline
รัน MobileNetV3-Small
ONNX Runtime รัน Regression Model Local บน UNO Q
แปลง Normalized Output กลับเป็น PSI
Training Target ของ Model นี้ ถูก Normalize ด้วย PSI / 60
อ่านประมาณ 2 ครั้งต่อวินาที
Code ตั้ง Reading Interval ไว้ที่ 0.5 วินาที และ Log Predicted Pressure แบบต่อเนื่อง
Crop Coordinates เป็นค่าของ Setup นี้: ค่า X/Y ที่อยู่ใน Code ขึ้นกับตำแหน่งกล้องและ Gauge ของ Prototype ไม่ใช่มาตรฐานสำหรับ Gauge ทุกตัว
ดู Arduino UNO Q อ่าน Gauge แบบ Live
ผู้สร้างมี Live Demo ที่แสดง UNO Q ประมวลผลภาพจาก Gauge และคืนค่า Pressure ขณะ Pressure ใน Demonstrator ค่อย ๆ ลดลง
Live Demo: Arduino UNO Q ประมวลผลภาพและแสดงค่าประมาณ Pressure จาก Analog GaugeCode จากโปรเจกต์: สิ่งที่เกิดขึ้นใน main.py
Hackster เผยแพร่ main.py, File Configuration, requirements.txt และ Gauge Reader ONNX Model ใน Code Section ของโปรเจกต์
ด้านล่างเป็นเฉพาะส่วนสั้น ๆ จาก Source จริง ที่ช่วยอธิบาย Runtime Pipeline ไม่ใช่ Code ที่สร้างขึ้นใหม่
Camera / Crop Configuration
FRAME_WIDTH = 1920
FRAME_HEIGHT = 1080
CROP_X = 400
CROP_Y = 200
CROP_W = 700
CROP_H = 700
MODEL_SIZE = 224
READ_INTERVAL_SECONDS = 0.5
CROP_X และ CROP_Y เป็นค่าจาก Prototype ของผู้สร้าง: ตำแหน่ง Crop ต้องสัมพันธ์กับตำแหน่ง Gauge ใน Camera Frame จริง ไม่ควร Copy ค่าแล้วคาดว่าจะใช้ได้กับทุก Setup
ImageNet Normalization
IMAGENET_MEAN = np.array(
[0.485, 0.456, 0.406],
dtype=np.float32
).reshape(1, 1, 3)
IMAGENET_STD = np.array(
[0.229, 0.224, 0.225],
dtype=np.float32
).reshape(1, 1, 3)
ONNX Runtime
session = ort.InferenceSession(
MODEL_PATH,
providers=["CPUExecutionProvider"]
)
แปลง Model Output กลับเป็น PSI
raw_output = float(
np.asarray(result[0]).reshape(-1)[0]
)
psi_prediction = raw_output * 60.0
เลข 60 ไม่ใช่ Universal Gauge Setting: Source ระบุว่า Training Target ของ Model นี้คือ PSI / 60 และ Demonstrator ใช้ Gauge 0–60 PSI การนำไปใช้กับ Gauge Range อื่น ไม่ได้หมายความว่าเปลี่ยนเลขนี้อย่างเดียวแล้ว Model จะใช้งานได้
3D Printed Enclosure ทำให้ Demo กลายเป็น Physical Prototype
ผู้สร้างออกแบบ Enclosure ของ Pump Station ด้วย Autodesk Fusion และ Fabricate ด้วย 3D Printer
Hackster แนบไฟล์:
Analog Pressure Gauge Pump Station – Edge AI Demo Enclosure
Source ไม่ได้ให้ Print Settings ครบ: ไม่มีข้อมูลที่ยืนยัน Layer Height, Infill, Nozzle, Support, Printing Temperature หรือ Material สำหรับใช้เป็น Recipe ของชิ้นงานนี้ จึงไม่ควรสร้างค่าเหล่านี้ขึ้นเอง
มี STL แต่ไม่มีเครื่องพิมพ์ 3D? สามารถส่งไฟล์ให้ทีม Globalbyte ช่วยประเมินบริการพิมพ์ 3D ได้ โดยควรพิจารณา Material, Tolerance, Support และ Orientation ตามชิ้นงานจริงก่อนผลิต
สิ่งที่ Prototype ทำได้ตอนนี้ กับสิ่งที่ผู้สร้างมองไว้ในอนาคต
| Current Prototype | Future Possibility ที่ Source เสนอ |
|---|---|
| อ่าน Analog Pressure Gauge หนึ่งจุด | กระจาย Edge Vision Nodes หลายจุด |
| Inference Local บน UNO Q | ส่งเฉพาะ Reading หรือ Alert ไป Gateway |
| Log ค่า PSI แบบ Local | Historical Trending |
| ไม่มี Cloud Vision Inference ระหว่าง Normal Operation | Gateway เชื่อม Monitoring System ภายนอก |
| อ่าน Pressure Gauge ที่ใช้ใน Demo | แนวคิดอาจขยายสู่ Temperature Gauge, Level Indicator, Meter หรือ Status Light |
| ไม่มี Mesh System ใน Prototype นี้ | Local Network / Mesh Architecture ในอนาคต |
Alert, Gateway และ Mesh ยังไม่ใช่ Feature ที่สร้างเสร็จใน Prototype นี้: Source พูดถึงส่วนเหล่านี้ ในฐานะแนวคิดต่อยอด จึงไม่ควรเขียนว่าโปรเจกต์ปัจจุบัน มีระบบเหล่านี้ทำงานอยู่แล้ว
ถ้าจะนำแนวคิดนี้ไปใช้กับงานจริง ต้องมองเป็น Monitoring Prototype ก่อน
Project นี้น่าสนใจมาก สำหรับแนวคิด Retrofit Monitoring เพราะไม่จำเป็นต้อง Modify Gauge เดิม แต่ Source ก็แสดงข้อจำกัดของ AI อย่างตรงไปตรงมา
สิ่งที่มีผลต่อ Prediction ได้แก่:
- Lighting
- Camera Position
- Training Data Coverage
- Label Quality
- Gauge Appearance
- Physical Variation
- Independent Validation
ไม่ควรใช้ Prototype นี้แทน Safety Instrument โดยอัตโนมัติ: ผล Prediction จาก Computer Vision ไม่ควรถูกนำไปใช้เป็น Safety Shutdown, Protection Signal หรือ Measurement ที่ต้องผ่านการรับรอง โดยไม่มี Engineering Validation และการทดสอบที่เหมาะสมกับระบบจริง
เปลี่ยน Gauge หรือเปลี่ยน Camera Setup อาจต้อง Train / Validate ใหม่: Model นี้ถูกสร้างจาก Dataset และ Physical Setup เฉพาะของโปรเจกต์ จึงไม่ควรสมมติว่าจะ Generalize ไปยัง Gauge ทุกหน้าปัด ทุก Scale และทุกสภาพแสง โดยไม่ทดสอบ
Maker ได้เรียนรู้อะไรจาก Project นี้?
สิ่งที่น่าสนใจที่สุด อาจไม่ใช่เพียงคำว่า Edge AI แต่คือ Journey ของการแก้ปัญหา
↓
พบว่า Reliability ไม่พอ
↓
ลอง Model ใหญ่ขึ้น แต่ช้า
↓
เปลี่ยนเป็น Specialized Model
↓
Synthetic Data เจอ Domain Gap
↓
เก็บ Real Data
↓
ใช้ Large AI ช่วย Label
↓
Train MobileNetV3-Small
↓
Export ONNX
↓
Run Local บน UNO Q
เป็นตัวอย่างที่ดีว่า การทำ AI Hardware Project ไม่ได้จบที่เลือก Model ใหญ่ที่สุด แต่ต้องเลือกวิธีที่เหมาะกับโจทย์ และข้อมูลจริงที่ระบบจะเจอ
ถ้ากำลังเริ่ม Project แนว Edge AI / Computer Vision: สามารถสอบถามทีม Globalbyte เรื่อง Development Board, Camera, Sensor, Module และอุปกรณ์ Maker ที่เหมาะกับ Prototype ก่อนเริ่มประกอบระบบได้
โปรเจกต์นี้มีทั้ง AI, Code และ Physical Build แนะนำอ่านต้นฉบับควบคู่กัน
โดยเฉพาะถ้าจะทำตามเรื่อง:
- Dataset Preparation
- Gauge-specific Training
- ONNX Runtime
- Camera Crop Configuration
- Model File Structure
- Pressure Demonstrator
- 3D Printed Enclosure
FAQ: อ่าน Analog Gauge ด้วย Arduino UNO Q และ Edge AI
โปรเจกต์นี้ทำอะไร?
ใช้ USB Camera มอง Analog Pressure Gauge แล้วให้ Arduino UNO Q ประมวลผลภาพด้วย Model เพื่อประมาณค่า Pressure เป็น PSI
ต้องดัดแปลง Analog Gauge หรือไม่?
Prototype ต้นฉบับ ไม่มี Electrical Connection ระหว่าง Gauge กับ UNO Q กล้องเป็นตัวสังเกตหน้าปัดแบบ Optical
Gauge ที่ใช้มี Range เท่าไร?
0–60 PSI ตาม Hardware List ของโปรเจกต์
ใช้กล้องรุ่นไหน?
Logitech C920e USB Webcam ตาม Hardware List ต้นฉบับ
ทำไมไม่ใช้ Vision-Language Model ไปเลย?
ผู้สร้างทดลองแล้ว แต่ Small SmolVLM ยังไม่ Reliable พอ และบางครั้งตีความ Counterweight เป็น Pressure Pointer
Model 2.2B ช่วยได้ไหม?
ผู้สร้างระบุว่าสามารถรันบน UNO Q ได้ แต่ Inference ใช้เวลาหลายนาทีต่อภาพ และไม่ได้แก้ Reliability Problem ได้มากพอสำหรับ Continuous Monitoring
Final Model ใช้อะไร?
MobileNetV3-Small ในรูปแบบ Regression Model
Model รันบน Cloud หรือ UNO Q?
Final Gauge Reader รัน Local บน Arduino UNO Q ด้วย ONNX Runtime
แล้ว GPT-5.6 ใช้ตรงไหน?
ใช้เป็น Cloud Vision Teacher ในช่วงช่วยสร้าง Label สำหรับ Real-world Training Dataset ไม่ใช่ Model ที่รันระหว่าง Monitoring ปกติ
ทำไม Synthetic Data ถึงไม่พอ?
Source ระบุว่า Model ทำได้ดีบน Synthetic Test Images แต่ Performance ลดลงเมื่อเจอภาพจริงจาก Camera เนื่องจาก Domain Gap
ภาพเข้า Model ขนาดเท่าไร?
Runtime Capture Frame ที่ 1920×1080, Crop Gauge 700×700 แล้ว Resize เป็น 224×224 ก่อน Inference
อ่านค่าเร็วแค่ไหน?
Source ระบุประมาณ 2 Readings ต่อวินาที และ Code ตั้ง Interval ไว้ 0.5 วินาที
แม่น ±1 PSI ตลอดช่วงหรือไม่?
ไม่ Held-out Test มี Mean Absolute Error ต่ำกว่า 1 PSI ในช่วง 10–25 PSI bands แต่ Performance ลดลงใกล้ Low และ High Extremes
ช่วงที่ Model ทำงานดีที่สุดอยู่ตรงไหน?
ผู้สร้างระบุ Strongest Performance โดยรวมประมาณ 10–30 PSI ขณะที่ตัวเลข MAE ต่ำกว่า 1 PSI ถูกระบุเฉพาะ 10–25 PSI bands
ตอนนี้ส่ง Alert หรือเข้า Cloud Dashboard แล้วหรือยัง?
Current Prototype Log ค่า PSI แบบ Local ส่วน Threshold Alert, Gateway และ Mesh Architecture เป็นแนวคิดต่อยอดในอนาคต
เอา Model นี้ไปอ่าน Gauge รุ่นอื่นได้เลยไหม?
Source ไม่ได้ยืนยันเช่นนั้น Model ถูก Train กับ Gauge, Dataset และ Camera Setup ของ Prototype การใช้กับ Gauge อื่นควรมีการเก็บข้อมูล Train และ Validate ให้เหมาะกับงานจริง
มี Source Code ไหม?
มี Hackster มี main.py, requirements.txt และ Gauge Reader ONNX Model ใน Code Section
มีไฟล์ 3D Print ไหม?
มี STL สำหรับ Pump Station Demo Enclosure แต่ Source ไม่ได้ให้ Print Settings ครบชุด
สรุป: ทำของเก่าให้ Smart ขึ้น ไม่จำเป็นต้องเริ่มจากการเปลี่ยนของเก่า
สิ่งที่ทำให้ Project นี้น่าสนใจ ไม่ใช่เพียงการใช้ AI อ่านเข็ม Gauge
แต่คือแนวคิดว่า Infrastructure เดิม ที่ยังทำหน้าที่ได้ดี อาจถูกเพิ่ม Digital Monitoring Layer เข้าไป “รอบตัวมัน” แทนการรื้อหรือเปลี่ยนเครื่องมือทุกชิ้น
↓
Camera
↓
Specialized Edge Model
↓
Digital Reading
Journey ของผู้สร้าง ยังเตือนเรื่องสำคัญอีกอย่าง: AI ที่ให้คำตอบได้ ไม่ได้แปลว่าคำตอบนั้นผ่านการ Validate สำหรับงาน Measurement จริงแล้ว
Model นี้แสดงผลที่ดีในบางช่วง แต่ก็แสดง Weakness ที่ปลาย Gauge Range อย่างชัดเจน ซึ่งเป็นข้อมูลที่สำคัญไม่แพ้ Demo ที่ทำงานสำเร็จ
สำหรับ Maker, Developer หรือคนที่สนใจ Industrial Edge AI Project นี้จึงน่าเรียนทั้ง Computer Vision, Dataset, Edge Deployment, Physical Prototype และการประเมินข้อจำกัดของ AI ไปพร้อมกัน
References / แหล่งข้อมูลต้นฉบับ
อยากเริ่ม Edge AI หรือ Computer Vision Project ของตัวเอง?
Project แบบนี้ไม่ได้เริ่มจาก AI Model อย่างเดียว แต่ต้องประกอบทั้ง Development Board, Camera, Dataset, Software และ Physical Setup ให้ทำงานเข้าด้วยกัน
หากกำลังหา Development Board, Camera, Sensor, Module หรือ Maker Accessories สำหรับทำ AI / IoT Prototype สามารถสอบถามทีม Globalbyte เพื่อช่วยเช็กอุปกรณ์ที่เหมาะกับงานได้
และถ้ามี STL สำหรับทำ Enclosure หรือ Fixture แต่ไม่มีเครื่องพิมพ์ สามารถส่งไฟล์ให้ทีม Globalbyte ช่วยประเมินบริการรับพิมพ์ 3D ได้เช่นกัน
บทความนี้ไม่ได้ยืนยันว่า Arduino UNO Q, Logitech C920e หรืออุปกรณ์เฉพาะในต้นฉบับ มี Stock อยู่ที่ Globalbyte กรุณาสอบถามรุ่นและ Availability ก่อนสั่งซื้อ