Session 545 minutes

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

Learning objective: Mở rộng thư viện PictoBlox, bật camera máy tính, đọc tọa độ mũi và mắt để điều khiển nhân vật bằng khuôn mặt.

Theory & practice

👁️ 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.
Webcam chỉ cung cấp hình ảnh. Trí tuệ nhân tạo sẽ phân tích hình ảnh đó để tìm ra các đặc điểm trên 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 Detection và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 độ x và y củ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:

  1. 1Kiểm tra webcam đã được kết nối.
  2. 2Mở PictoBlox.
  3. 3Cho phép PictoBlox sử dụng camera.
  4. 4Ngồi ở nơi đủ ánh sáng.
  5. 5Đặt khuôn mặt ở chính giữa camera.
🔒 Chỉ bật webcam khi cần thực hành. Không chụp hoặc chia sẻ hình ảnh của người khác khi chưa được đồng ý.

2. Thêm Extension Face Detection

Thực hiện các bước sau:

  1. 1Bấm biểu tượng Mở rộng — Extension ở góc dưới bên trái.
  2. 2Tìm và chọn Face Detection.
  3. 3Chờ PictoBlox tải mô hình nhận diện.
  4. 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:

text
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:

text
Phân tích hình ảnh từ camera

Khố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:

text
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

AI 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:

text
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:

text
Mũi_X
Mũi_Y

Sau đó cập nhật tọa độ liên tục:

text
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

Mục Trọng Tâm

Nhiệm vụ

Làm cho nhân vật di chuyển theo vị trí mũi của người dùng.

text
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:

text
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:

text
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ừ camera có nằm trong vòng lặp không.
AI có thể nhận diện chưa chính xác khi phòng quá tối, khuôn mặt ở quá xa hoặc chuyển động quá nhanh.

🧩 Thử thách

Hãy nâng cấp dự án bằng một trong các ý tưởng:

  1. 1Điều khiển tàu vũ trụ bằng chuyển động đầu.
  2. 2Làm nhân vật đội chiếc mũ ảo trên webcam.
  3. 3Phát âm thanh khi người dùng nghiêng đầu.
  4. 4Điều khiển nhân vật bằng vị trí mắt.
  5. 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 Detection giú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 độ x thể hiện vị trí ngang.
  • Tọa độ y thể hiện vị trí dọc.
  • Có thể dùng tọa độ khuôn mặt để điều khiển nhân vật.
Mục Trọng Tâm

Câu hỏi nhanh

  1. 1Extension nào được dùng để nhận diện khuôn mặt?
  2. 2Vì sao phải liên tục phân tích hình ảnh từ camera?
  3. 3Tọa độ x và y thể hiện điều gì?
  4. 4Điều kiện ánh sáng ảnh hưởng thế nào đến nhận diện?

Sẵn sàng kiểm tra kiến thức?

Chuyển sang phòng thi riêng để làm bài, xem kết quả và giải thích.

Bài Đánh giá Năng lực Phần 2: Computer Vision & AI Pose Tracking →14 questions · 15 minutes