Buổi 5: Kích hoạt Thị giác Máy tính - Cài đặt Tiện ích Mở rộng AI Face Detection
Nội dung & thực hành
👁️ Bài 5: Biến Webcam thành Đôi mắt Thông minh của AI
🤖 Máy tính có thể nhìn thấy không?
Chào mừng bạn đến với thế giới Computer Vision — Thị giác máy tính!
Trong bài học này, máy tính sẽ sử dụng webcam để:
- Nhận diện khuôn mặt.
- Xác định vị trí mắt và mũi.
- Theo dõi chuyển động của người dùng.
- Điều khiển nhân vật PictoBlox bằng cử động khuôn mặt.
🎯 Mục tiêu bài học
Sau bài học này, bạn có thể:
- Thêm tiện ích
Face Detectionvào PictoBlox. - Bật hình ảnh webcam trên sân khấu.
- Phân tích khuôn mặt từ camera.
- Đọc tọa độ
xvàycủa mắt hoặc mũi. - Điều khiển nhân vật bằng chuyển động khuôn mặt.
1. Chuẩn bị webcam
Trước khi lập trình:
- 1Kiểm tra webcam đã được kết nối.
- 2Mở PictoBlox.
- 3Cho phép PictoBlox sử dụng camera.
- 4Ngồi ở nơi đủ ánh sáng.
- 5Đặt khuôn mặt ở chính giữa camera.
2. Thêm Extension Face Detection
Thực hiện các bước sau:
- 1Bấm biểu tượng Mở rộng — Extension ở góc dưới bên trái.
- 2Tìm và chọn Face Detection.
- 3Chờ PictoBlox tải mô hình nhận diện.
- 4Kiểm tra nhóm khối Face Detection đã xuất hiện.
Tên một số khối có thể thay đổi nhẹ tùy phiên bản PictoBlox.
3. Bật hình ảnh từ camera
Tạo chương trình:
Khi bấm vào cờ xanh
Bật video trên sân khấu với độ mờ 0%Độ mờ quyết định mức độ hiển thị của video:
| Độ mờ | Kết quả |
|---|---|
0% | Video hiển thị rõ |
50% | Video hiển thị mờ |
100% | Video gần như bị ẩn |
Nếu không thấy hình ảnh, hãy kiểm tra quyền truy cập camera của trình duyệt hoặc hệ điều hành.
4. Phân tích khuôn mặt
Để AI nhận diện khuôn mặt, sử dụng khối:
Phân tích hình ảnh từ cameraKhối này cần được chạy liên tục để hệ thống cập nhật khi khuôn mặt di chuyển:
Khi bấm vào cờ xanh
Bật video trên sân khấu với độ mờ 0%
Liên tục
Phân tích hình ảnh từ cameraAI có thể xác định các điểm đặc trưng như:
- Mắt trái và mắt phải.
- Mũi.
- Miệng.
- Vị trí khuôn mặt.
5. Đọc tọa độ của mũi
Mỗi điểm trên khuôn mặt có hai tọa độ:
x: vị trí theo chiều ngang.y: vị trí theo chiều dọc.
Sử dụng khối:
Lấy tọa độ [x] của [mũi / nose] của khuôn mặt (1)
Lấy tọa độ [y] của [mũi / nose] của khuôn mặt (1)Tạo hai biến:
Mũi_X
Mũi_YSau đó cập nhật tọa độ liên tục:
Khi bấm vào cờ xanh
Bật video trên sân khấu với độ mờ 0%
Liên tục
Phân tích hình ảnh từ camera
Đặt [Mũi_X] thành
[Tọa độ x của mũi thuộc khuôn mặt 1]
Đặt [Mũi_Y] thành
[Tọa độ y của mũi thuộc khuôn mặt 1]Khi bạn di chuyển đầu, giá trị của Mũi_X và Mũi_Y cũng thay đổi.
6. Dự án nhỏ: Điều khiển nhân vật bằng khuôn mặt
Nhiệm vụ
Làm cho nhân vật di chuyển theo vị trí mũi của người dùng.
Khi bấm vào cờ xanh
Bật video trên sân khấu với độ mờ 20%
Liên tục
Phân tích hình ảnh từ camera
Đặt [Mũi_X] thành
[Tọa độ x của mũi thuộc khuôn mặt 1]
Đặt [Mũi_Y] thành
[Tọa độ y của mũi thuộc khuôn mặt 1]
Đi tới x: [Mũi_X] y: [Mũi_Y]Hãy thử:
- Nghiêng đầu sang trái.
- Nghiêng đầu sang phải.
- Di chuyển đầu lên trên.
- Di chuyển đầu xuống dưới.
Quan sát nhân vật có di chuyển theo khuôn mặt không.
7. Phản ứng theo vị trí khuôn mặt
Có thể dùng điều kiện để nhân vật phản ứng thông minh hơn:
Nếu <Mũi_X lớn hơn 100> thì
Nói "Bạn đang nghiêng sang phải!"
Không thì
Nếu <Mũi_X nhỏ hơn -100> thì
Nói "Bạn đang nghiêng sang trái!"Hoặc thay đổi trang phục:
Nếu <Mũi_Y lớn hơn 80> thì
Chuyển sang trang phục [Vui vẻ]
Không thì
Chuyển sang trang phục [Bình thường]8. Nếu AI không nhận diện được khuôn mặt
Hãy kiểm tra:
- Webcam đã được bật chưa.
- PictoBlox đã được cấp quyền camera chưa.
- Khuôn mặt có nằm trong khung hình không.
- Ánh sáng có đủ rõ không.
- Có vật nào che mắt hoặc mũi không.
- Khối
Phân tích hình ảnh từ cameracó nằm trong vòng lặp không.
🧩 Thử thách
Hãy nâng cấp dự án bằng một trong các ý tưởng:
- 1Điều khiển tàu vũ trụ bằng chuyển động đầu.
- 2Làm nhân vật đội chiếc mũ ảo trên webcam.
- 3Phát âm thanh khi người dùng nghiêng đầu.
- 4Điều khiển nhân vật bằng vị trí mắt.
- 5Tạo trò chơi thu thập vật phẩm không cần bàn phím.
✅ Ghi nhớ
- Webcam giúp máy tính thu nhận hình ảnh.
Face Detectiongiúp AI tìm khuôn mặt và các điểm đặc trưng.- Khối phân tích cần chạy liên tục để cập nhật hình ảnh.
- Tọa độ
xthể hiện vị trí ngang. - Tọa độ
ythể hiện vị trí dọc. - Có thể dùng tọa độ khuôn mặt để điều khiển nhân vật.
Câu hỏi nhanh
- 1Extension nào được dùng để nhận diện khuôn mặt?
- 2Vì sao phải liên tục phân tích hình ảnh từ camera?
- 3Tọa độ
xvàythể hiện điều gì? - 4Điều kiện ánh sáng ảnh hưởng thế nào đến nhận diện?