Khám phá Thị giác máy tính (Computer Vision) – Dự án: Nhận diện tư thế người với Camera và Raspberry Pi
Thị giác máy tính không phải là phép thuật, đó là cách chúng ta dạy máy tính "nhìn" và hiểu thế giới thực. Để bắt đầu, không gì tuyệt vời hơn việc tự tay xây dựng một Hệ thống nhận diện tư thế người (Pose Estimation) thời gian thực. Dự án này kết hợp giữa phần cứng nhỏ gọn và sức mạnh của các thư viện AI mã nguồn mở.

1. Chuẩn bị công cụ (Yêu cầu hệ thống)
- Phần cứng: 1 bo mạch Raspberry Pi (khuyến nghị Pi 4 trở lên), 1 Camera module (hoặc Webcam USB).
- Phần mềm (Môi trường):
- Hệ điều hành Raspberry Pi OS.
- Ngôn ngữ: Python 3.13 (đảm bảo môi trường tối ưu và mới nhất).
- Thư viện cốt lõi:
OpenCV(Xử lý hình ảnh) vàMediaPipe(Mô hình AI nhận diện của Google).
2. Cài đặt môi trường
Mở Terminal trên Raspberry Pi và thiết lập môi trường ảo, sau đó cài đặt các thư viện cần thiết:
Bash
# Tạo môi trường ảo với Python 3.13
python3.13 -m venv pose_envsource pose_env/bin/activate# Cài đặt OpenCV và MediaPipe
pip install opencv-python mediapipe
3. Viết mã nguồn (Code thực chiến)
Tạo một file có tên pose_detect.py. Đoạn code dưới đây được tối ưu hóa độ dài để học sinh dễ dàng đọc hiểu luồng logic:
Python
import cv2import mediapipe as mp# Khởi tạo mô hình nhận diện tư thế từ MediaPipe
mp_pose = mp.solutions.pose
pose = mp_pose.Pose()
mp_draw = mp.solutions.drawing_utils# Bật Camera (số 0 thường là camera mặc định)cap = cv2.VideoCapture(0)while True:
success, img = cap.read() if not success: break
# Chuyển đổi hệ màu từ BGR (OpenCV) sang RGB (MediaPipe)
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# Đưa hình ảnh vào mô hình AI để xử lý
results = pose.process(img_rgb)
# Nếu phát hiện ra người, tiến hành vẽ các điểm khớp xương (Landmarks) if results.pose_landmarks:
mp_draw.draw_landmarks(img, results.pose_landmarks, mp_pose.POSE_CONNECTIONS)
# Hiển thị cửa sổ kết quả cv2.imshow("Nhan dien tu the - CodeSpace", img)
# Bấm phím 'q' để thoát if cv2.waitKey(1) & 0xFF == ord('q'): break
cap.release()
cv2.destroyAllWindows()

4. Chạy thử nghiệm và phân tích
Chạy lệnh python pose_detect.py. Camera sẽ bật lên và bạn sẽ thấy các điểm ảnh (điểm neo) được kết nối với nhau bằng các đường thẳng trên cơ thể mình.
- Học sinh học được gì? Các em sẽ hiểu cách vòng lặp
whilehoạt động liên tục để bắt từng khung hình (frame), cách máy tính quy đổi màu sắc, và cách AI "đánh dấu" tọa độ (X, Y, Z) của các khớp xương trên cơ thể. Từ nền tảng này, các em có thể phát triển thêm các dự án đếm số lần hít đất, cảnh báo ngồi sai tư thế, hoặc điều khiển robot bằng cử chỉ tay.

Cho con trải nghiệm một buổi học thật
Đăng ký học thử miễn phí — CodeSpace sẽ tư vấn lộ trình phù hợp với bé.