Chuyển đến nội dung chính

Lập trình AI sử dụng Scratch ? Hiển thị icon cảm xúc khi phát hiện gương mặt (P2)

Trong dự án này, bạn sẽ tạo 1 AI-sức mạnh nhận diện khuôn mặt, sẽ thêm vào icon cảm xúc vào gương mặt bạn.

Bạn sẽ sử dụng model được traning trước để nhận dạng gương mặt trên một webcam trực tiếp, và lập trình các hiệu ứng sử dụng kết quả nhận dạng. Nếu máy tính bạn không có webcam, có thể lập trình  trên ipad.

Đây là phần tiếp theo của Lập trình AI sử dụng Scratch ? Hiển thị icon cảm xúc khi phát hiện gương mặt. Các bạn xem Phần 1 tại đây.

Phần này sẽ cập nhật dự án của bạn để sprite khớp với góc khuôn mặt của bạn, vì vậy mặt nạ khớp với khuôn mặt của bạn khi bạn nghiêng đầu!

1. Nhấp vào Tạo một biến và tạo một biến gọi là "angle"


2. Nhấp vào nút Tạo khối

3. Tạo một tập lệnh được gọi là tính toán xoay vòng

Điều này sẽ sử dụng dự đoán của mô hình học máy về vị trí của mắt bạn và tính toán góc giữa hai điểm đó. Tập lệnh cần bốn số đầu vào: hai cho vị trí của mắt trái, hai cho vị trí của mắt phải.


4. Thời gian cho một số lượng giác!

Tạo tập lệnh này sử dụng atan để tính toán góc giữa hai điểm. Nó hơi phức tạp - bạn cần sao chép nó một cách cẩn thận. Bạn có thể hiểu nó đang làm gì không?


5. Cập nhật tập lệnh của bạn để sử dụng hàm lượng giác mới của bạn


6. Kiểm tra lại dự án của bạn bằng cách nhấp vào Cờ xanh 

Thử nghiêng đầu và kiểm tra xem mặt nạ biểu tượng cảm xúc có xoay để khớp không.

7. Thêm trang phục thứ hai vào nhân vật của bạn

8. Chọn một biểu tượng cảm xúc khuôn mặt khác. Làm cho nó phù hợp với kích thước và vị trí của khuôn mặt trong trang phục đầu tiên.

9. Thêm một tập lệnh mới để chuyển đổi giữa hai trang phục của bạn, để mặt nạ của bạn hoạt hình.


10. Nhấp vào Cờ xanh để kiểm tra

Mặt nạ biểu tượng cảm xúc của bạn sẽ di chuyển để khớp với vị trí của khuôn mặt bạn trong webcam. Nếu bạn nghiêng đầu, nó sẽ xoay để khớp. 

Nếu bạn di chuyển đến gần webcam, nó sẽ tăng kích thước để phù hợp. 

Nếu bạn di chuyển xa hơn khỏi webcam, nó sẽ giảm kích thước để phù hợp.


Bạn đã làm gì

Bạn đã thực hiện một dự án Scratch bằng cách sử dụng kỹ thuật máy học được gọi là nhận diện khuôn mặt: phát hiện vị trí của khuôn mặt trong ảnh.

Có hai giai đoạn để thực hiện điều này.

Giai đoạn đầu tiên: "phát hiện đối tượng". Nó tìm thấy một phần của bức ảnh có vẻ như có một khuôn mặt. Hãy nghĩ nó giống như máy tính vẽ một hộp xung quanh nơi nó dự đoán một khuôn mặt.

Giai đoạn thứ hai: dự đoán hình dạng. Nó dự đoán vị trí mà mắt, mũi và miệng có nhiều khả năng nằm trong hộp được vẽ ở giai đoạn đầu tiên. Điều này đôi khi được mô tả là phát hiện "các điểm mốc trên khuôn mặt".


Công nghệ này được sử dụng như thế nào?

Những gì bạn đang làm không phải là "nhận dạng khuôn mặt". Dự án của bạn không nhận dạng được khuôn mặt của ai trong ảnh. Đó là bởi vì mô hình được đào tạo trước mà bạn đang sử dụng chưa được đào tạo với các ví dụ về ảnh của một người cụ thể.

Nó chỉ đang tìm kiếm thứ gì đó giống khuôn mặt người, bởi vì nó đã được huấn luyện với các ví dụ về các bức ảnh có nhiều khuôn mặt khác nhau.

“Nhận diện khuôn mặt” là một khả năng hữu ích. Bạn có thể đã thấy các ứng dụng dành cho thiết bị di động sử dụng bộ lọc khuôn mặt video để thêm các hiệu ứng thú vị vào video, giống như bạn đã làm trong dự án này.

 Các công dụng khác trong thế giới thực bao gồm khả năng tự động làm mờ khuôn mặt của mọi người trong ảnh khi bạn không có quyền xuất bản khuôn mặt của họ hoặc tự động đếm số người mà máy quay video có thể nhìn thấy.


Hãy truy cập vào trang Facebook tại đây để xem không bỏ lỡ những bài lập trình thú vị khác nhé!

Hãy like và dể lại commnet phía bên dưới ^_^ 
Chúc các bạn lập trình thành công!

Nhiều người cũng xem các bài viết liên quan khác:

>>9 lợi ích mà phương pháp giáo dục stem mang lại

>>Tại sao nên cho trẻ học lập trình Scratch ?

>>[Làm thế nào] Lập trình thú cưng ảo cho bé gái - Tớ học lập trình (cho người mới)

>>[Làm thế nào] Biết tạo hoạt hình trong 5 phút - Tớ học lập trình - Khủng long nhảy múa (cho người mới)

>>[Làm thế nào] Cùng đua xe nào - Tớ học lập trình (cho bé trai)

Nhận xét

Bài đăng phổ biến từ blog này

4 Đặc điểm sân khấu trong Scratch (cho người mới)

  - Bài viết được trích từ giáo trình học Scratch - 1/ Kích thước của sân khấu: Sân khấu trong Scratch có 3 loại kích thước sau đây: - Kích thước chuẩn: Rộng 480 px, Cao 360 px - Kích thước nhỏ nhất: Rộng 240 px, cao 180 px. Bằng 1/2 kích thước chuẩn - Kích thước toàn màn hình: Phụ thuộc vào kích thước màn hình máy tính. Một số điểm lưu ý: - Đơn vị đo chiều rộng và chiều cao được tính bằng Pixel, ký hiệu là px. Tuy nhiên, trong các khối lệnh của nhóm lệnh Motion thì từ khóa sử dụng là Steps(Số bước đi). Ví dụ khối lệnh move () steps được hiểu là di chuyển đối tượng đi một số bước nào đó. Số bước ở đây tương đương với Pixel. - Sân khấu là một hệ trục tọa độ hai chiều, có trục x và trục y. Điểm chính giữa của sân khấu có tọa độ (x=0, y=0) gọi là gốc tọa độ. Với hệ trục tọa độ thì có phần âm và phần dương. Xem hình ảnh minh họa sau đây: 2/ Backdrop - Ảnh nền/ Phông nền của sân khấu. Cũng giống như đối tượng trong Scratch, nếu mỗi đối tượng có thể có nhiều hình dạng khác nhau gọi là Costum

[20 blogs Cùng bố Học lập trình] Dự án Hệ thống đèn giao thông cảnh báo có đoàn tàu đi qua !

  Bước 1: Cảm biến ánh sáng Chúng ta sẽ sử dụng cảm biến ánh sáng để phát hiện xem có tàu chạy qua hay không. Chúng ta sẽ làm điều này bằng cách phát hiện bóng của đoàn tàu. Trước tiên, hãy khám phá cách hoạt động của cảm biến ánh sáng bằng cách tải chương trình sau xuống micro: bit. Bây giờ nhấn nút A và micro: bit phản hồi bằng một số. Con số này cho biết lượng ánh sáng chiếu vào đèn LED (vâng, đèn LED cũng có thể được sử dụng để phát hiện ánh sáng).  Nếu số mà bạn nhận được là 255 hoặc 0, điều đó có nghĩa là cảm biến độ sáng đang khởi động, vì vậy bạn cần nhấn nút một lần nữa. Bước 2: Cảnh LƯU Ý: Nếu bạn không sở hữu một chiếc xe lửa, bạn cũng có thể sử dụng một chiếc xe hơi hoặc thậm chí bàn tay của bạn để tạo bóng. Phát hiện một cái bóng có thể hơi khó khăn. Để làm việc này, chúng ta cần có một ngọn đèn sáng ở phía bên kia của tàu, không quá cao. Chúng ta có thể sử dụng đèn bàn học. Hơn nữa, chúng tôi không muốn quá nhiều ánh sáng từ các nguồn sáng khác, vì vậy bạn có thể phải đón

[Scratch] 10 THAO TÁC XỬ LÝ KỊCH BẢN TRONG SCRATCH (Cho người mới)

  - Bài viết được trích từ giáo trình học Scratch - THAO TÁC XỬ LÝ KỊCH BẢN TRONG SCRATCH 1/ Phân biệt một khối lệnh, một đoạn mã và một kịch bản. Trong một dự án thường có nhiều đối tượng, mỗi đối tượng lại có một hoặc nhiều kịch bản. Mỗi kịch bản được lắp ghép từ nhiều khối lệnh, cứ từ hai khối lệnh lắp ghép liền nhau trở lên được coi là một đoạn mã. Trước khi thực hiện các thao tác xử lý kịch bản ta cần phân biệt rõ các khái niệm một khối lệnh, một đoạn mã và một kịch bản. 2/ Phục hồi lại các thao tác xử lý trong khu vực kịch bản. Trong quá trình thực hiện các thao tác xử lý khối lệnh như xóa, sao chép,...có thể bạn sẽ cần phục hồi lại thao tác đó. Hãy sử dụng thanh Menu với lệnh Undelete trong mục Edit. 3/ Cách chèn thêm và tách rời một khối lệnh - Chèn thêm 1 khối lệnh vào giữa 2 khối lệnh trong kịch bản Giả sử có một kịch bản như hình 1, ta muốn chèn thêm một khối lệnh vào giữa 2 khối lệnh như hình 2. Hãy nhấp trái chuột để nắm và kéo khối lệnh đó vào vị trí mong muốn đến khi nào