Workout Monitoring ด้วย Raspberry Pi AI Camera: สร้างระบบติดตามการออกกำลังกายแบบ Real-time
สำหรับใครที่สนใจทำโปรเจกต์ AI สำหรับติดตามการออกกำลังกาย วันนี้เรามาทำความรู้จักกับโปรเจกต์ที่ใช้ Raspberry Pi AI Camera ตรวจจับท่าทางร่างกายแบบ Real-time กันครับ เหมาะสำหรับมือใหม่ที่อยากเริ่มต้นทำโปรเจกต์ Computer Vision

ภาพรวมของโปรเจกต์
โปรเจกต์นี้เป็นการสร้างระบบติดตามการออกกำลังกายที่ทำงานบน Raspberry Pi โดยใช้ AI Camera Module ร่วมกับโมเดล MoveNet ซึ่งเป็นโมเดลที่ออกแบบมาเพื่อตรวจจับท่าทางร่างกาย (Pose Estimation) โดยเฉพาะ
พูดง่าย ๆ ก็คือ กล้องจะจับภาพเรา แล้ว AI จะวิเคราะห์ว่าแต่ละส่วนของร่างกายอยู่ตรงไหน เช่น หัว ไหล่ ข้อศอก มือ สะโพก เข่า เท้า จากนั้นระบบจะนำข้อมูลเหล่านี้ไปวิเคราะห์ว่าเราทำท่าออกกำลังกายอะไร และนับจำนวนครั้งให้อัตโนมัติ
จุดเด่นคือ ทุกอย่างประมวลผลบน Raspberry Pi โดยตรง ไม่ต้องส่งข้อมูลไปที่ Cloud ทำให้ทำงานได้เร็ว ไม่มีความล่าช้าจากเครือข่าย และรักษาความเป็นส่วนตัวของผู้ใช้
อุปกรณ์ที่ใช้ในโปรเจกต์
ฮาร์ดแวร์
- • Raspberry Pi 5 - บอร์ดหลักสำหรับประมวลผล (แนะนำรุ่น 4GB ขึ้นไป)
- • Raspberry Pi AI Camera - กล้องที่มี NPU ในตัว ช่วยเร่งการประมวลผล AI
- • MicroSD Card - ความจุ 32GB ขึ้นไป สำหรับติดตั้ง OS และโปรแกรม
- • Power Supply - อะแดปเตอร์ 5V 5A สำหรับ Raspberry Pi 5
ซอฟต์แวร์
- • Raspberry Pi OS - ระบบปฏิบัติการสำหรับ Raspberry Pi
- • Python 3 - ภาษาโปรแกรมหลักที่ใช้เขียนโค้ด
- • Picamera2 - ไลบรารีสำหรับควบคุมกล้อง
- • MoveNet Model - โมเดล AI สำหรับตรวจจับท่าทาง

คุณสมบัติเด่นของระบบ
ตรวจจับ 17 จุดบนร่างกาย
ระบบสามารถตรวจจับตำแหน่งสำคัญบนร่างกาย 17 จุด ได้แก่ จมูก ตาทั้งสองข้าง หูทั้งสองข้าง ไหล่ ข้อศอก ข้อมือ สะโพก เข่า และข้อเท้า
ประมวลผลแบบ Real-time
ด้วย NPU ในตัวกล้อง ทำให้ประมวลผลได้เร็วถึง 30+ FPS โดยไม่ต้องพึ่งพา Cloud
นับจำนวนครั้งอัตโนมัติ
ระบบจะวิเคราะห์การเคลื่อนไหวและนับจำนวนครั้งของท่าออกกำลังกาย เช่น Squat, Push-up
รักษาความเป็นส่วนตัว
ข้อมูลทั้งหมดประมวลผลในเครื่อง ไม่มีการส่งภาพหรือวิดีโอไปที่อื่น
ขั้นตอนการทำงานของระบบ (Processing Pipeline)
มาดูกันว่าระบบทำงานอย่างไรตั้งแต่กล้องจับภาพจนถึงแสดงผลลัพธ์:
จับภาพ (Capture)
AI Camera จับภาพวิดีโอแบบ Real-time ด้วยความละเอียดที่เหมาะสม
ประมวลผล AI (Inference)
ส่งภาพไปยัง MoveNet Model บน NPU เพื่อตรวจจับตำแหน่งข้อต่อทั้ง 17 จุด
วิเคราะห์ท่าทาง (Pose Analysis)
คำนวณมุมระหว่างข้อต่อ เช่น มุมข้อศอก มุมเข่า เพื่อระบุท่าออกกำลังกาย
นับและแสดงผล (Count & Display)
ตรวจจับการเปลี่ยนแปลงท่าทาง นับจำนวนครั้ง และแสดงผลบนหน้าจอ

ลำดับการทำงาน (Execution Flow)
นี่คือ Pseudo Code แสดงลำดับการทำงานของโปรแกรม เพื่อให้เข้าใจภาพรวมได้ง่ายขึ้น:
# เริ่มต้นระบบ
Initialize AI Camera
Load MoveNet Model
# ลูปหลัก
WHILE running:
# จับภาพจากกล้อง
frame = capture_frame()
# ตรวจจับท่าทาง
keypoints = detect_pose(frame)
# คำนวณมุมข้อต่อ
angles = calculate_angles(keypoints)
# วิเคราะห์ท่าออกกำลังกาย
IF is_exercise_detected(angles):
exercise_count += 1
# แสดงผล
display_result(frame, keypoints, count)
# ปิดระบบ
Cleanup and Exit
ลองทำเองกันเถอะ
สำหรับใครที่อยากลองทำโปรเจกต์นี้ นี่คือขั้นตอนเบื้องต้น:
ขั้นตอนที่ 1: ติดตั้ง Raspberry Pi OS
ดาวน์โหลด Raspberry Pi Imager และติดตั้ง OS ลงบน MicroSD Card
ขั้นตอนที่ 2: เชื่อมต่อ AI Camera
ต่อสาย Ribbon Cable จากกล้องเข้ากับพอร์ต Camera บน Raspberry Pi
ขั้นตอนที่ 3: ติดตั้ง Dependencies
ติดตั้ง Python Libraries ที่จำเป็น ได้แก่ Picamera2, NumPy, OpenCV
ขั้นตอนที่ 4: รันโค้ด
ดาวน์โหลดโค้ดจาก GitHub และรันด้วยคำสั่ง python3
เคล็ดลับ: ตรวจสอบให้แน่ใจว่ากล้องเชื่อมต่อแน่นหนา และมีแสงสว่างเพียงพอในห้อง จะช่วยให้การตรวจจับแม่นยำขึ้น
หมายเหตุด้านประสิทธิภาพ
- • ระบบทำงานได้ดีที่สุดเมื่อมีแสงสว่างเพียงพอและพื้นหลังไม่รกรุงรัง
- • ระยะห่างที่เหมาะสมระหว่างกล้องและผู้ใช้คือประมาณ 2-3 เมตร
- • ความเร็วในการประมวลผลอยู่ที่ประมาณ 30+ FPS บน Raspberry Pi 5
- • สวมเสื้อผ้าที่ตัดกับพื้นหลังจะช่วยให้ตรวจจับได้แม่นยำขึ้น

เมื่อเจอปัญหา
กล้องไม่ทำงาน
ตรวจสอบการเชื่อมต่อสาย Ribbon และเปิดใช้งาน Camera ใน raspi-config
ตรวจจับไม่แม่นยำ
ปรับแสงสว่างให้เพียงพอ และยืนห่างจากกล้องในระยะที่เหมาะสม
ประมวลผลช้า
ลดความละเอียดภาพลง หรือตรวจสอบว่า NPU ทำงานถูกต้อง
แหล่งข้อมูลเพิ่มเติม
- • Raspberry Pi Documentation - เอกสารอย่างเป็นทางการ
- • TensorFlow MoveNet Guide - คู่มือการใช้งาน MoveNet
- • Picamera2 Library Documentation - เอกสาร Picamera2
- • GitHub Repository ของโปรเจกต์ - โค้ดและตัวอย่างทั้งหมด
ตัวอย่างโค้ดเบื้องต้น
นี่คือตัวอย่างโค้ด Python สำหรับเริ่มต้นใช้งานกล้องและตรวจจับท่าทาง:
from picamera2 import Picamera2
import numpy as np
# เริ่มต้นกล้อง
picam2 = Picamera2()
config = picam2.create_preview_configuration(
main={"size": (640, 480)}
)
picam2.configure(config)
picam2.start()
# ลูปหลักสำหรับจับภาพ
while True:
# จับภาพ
frame = picam2.capture_array()
# ส่งภาพไปประมวลผล AI
# (ใส่โค้ด inference ตรงนี้)
# แสดงผล
# (ใส่โค้ดแสดงผลตรงนี้)
# ปิดกล้อง
picam2.stop()
หมายเหตุ: โค้ดด้านบนเป็นเพียงตัวอย่างเบื้องต้น สามารถดูโค้ดเต็มได้จาก GitHub Repository ของโปรเจกต์
อยากเรียนรู้เพิ่มเติม?
โปรเจกต์นี้เป็นจุดเริ่มต้นที่ดีสำหรับการเรียนรู้ Computer Vision และ Edge AI บน Raspberry Pi สามารถต่อยอดได้หลายทาง เช่น:
- • เพิ่มท่าออกกำลังกายใหม่ ๆ เช่น Plank, Jumping Jack
- • เชื่อมต่อกับ Dashboard แสดงสถิติการออกกำลังกาย
- • เพิ่มระบบแจ้งเตือนเมื่อท่าไม่ถูกต้อง
- • สร้างแอปมือถือควบคุมและดูผลลัพธ์
เริ่มต้นโปรเจกต์ของคุณวันนี้
พร้อมสร้างระบบ Workout Monitoring ของตัวเองหรือยัง? สั่งซื้ออุปกรณ์และสอบถามข้อมูลเพิ่มเติมได้เลย