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

Lập trinh AI sử dung Scratch? Tìm kiếm gương mặt

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 mắt, mũi 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.



1. Truy cập https://machinelearningforkids.co.uk/scratch3/ trên web trình duyệt

Trang này có một số mô hình học máy được training trước có sẵn cho bạn. Đối với dự án này, chúng ta sẽ sử dụng tính năng Nhận diện khuôn mặt (Face Detection model).

2. Mở cửa sổ Tiện ích mở rộng

Nhấp vào nút màu xanh lam có biểu tượng dấu cộng ở dưới cùng bên trái.

3. Nhấp vào tiện ích mở rộng Cảm biến Video

Bạn sẽ cần tiện ích mở rộng này để sử dụng webcam trong dự án của mình.


4. Mở lại cửa sổ Tiện ích mở rộng

5. Nhấp vào tiện ích mở rộng Nhận diện khuôn mặt

Bạn sẽ cần tiện ích mở rộng này để sử dụng học máy được đào tạo trước mô hình xác định vị trí khuôn mặt của bạn trong nguồn cấp dữ liệu webcam.

6 Xóa hình mèo bằng cách nhấp vào biểu tượng thùng rác


7. Tạo một sprite mới bằng nút Paint brush
8. Vẽ một con mắt hoạt hình trong tab Trang phục
Bạn có thể vẽ tự do nếu muốn hoặc sử dụng công cụ hình tròn để vẽ hai hình tròn nếu bạn muốn thứ gì đó đơn giản hơn.

9. Kéo mắt của bạn để tâm khớp với các chữ thập ở giữa của sprite Bạn sẽ thấy nó nhảy vào đúng vị trí khi bạn đến gần.

10. Nhân đôi hình vẽ mắt của bạn 
Nhấp chuột phải vào hình vẽ và sau đó nhấp vào Nhân bản

11. Đặt tên cho hai nhân vật của bạn là "mắt trái" và "mắt phải"
12. Sử dụng lại nút Paint để vẽ mũi hoạt hình


13. Nhấp vào Giai đoạn và sau đó nhấp vào tab Mã

14. Tạo tập lệnh này để bật webcam 









Bạn đã làm gì cho đến nay?
 Bạn đã thực hiện một dự án Scratch bằng cách sử dụng mô hình học máy được đào tạo trước.
 
Hơn 32.000 bức ảnh được thu thập bởi các học giả tại một trường đại học, những người đã xem qua tất cả và ghi nhận vị trí của 390.000 khuôn mặt họ tìm thấy trong đó. Tất cả những ví dụ đó về những phần ảnh trông giống như khuôn mặt đã được sử dụng để đào tạo mô hình học máy cách nhận dạng khuôn mặt trong ảnh.
 
Các dự án máy học trong thế giới thực thường sử dụng các mô hình đã được đào tạo bởi người khác. Đó là một cách tốt để nhanh chóng thực hiện một dự án khi bạn không có thời gian để thu thập dữ liệu đào tạo của riêng mình.

20. Cập nhật ba tập lệnh của bạn để thay đổi kích thước của các hình vẽ
Thao tác này sẽ cập nhật kích thước của hình ảnh dựa trên kích thước khuôn mặt của bạn, vì vậy chúng sẽ lớn hơn nếu bạn di chuyển khuôn mặt của mình lại gần webcam. Thử nghiệm với các con số khác nhau cho đến khi bạn hài lòng với cách nó hoạt động (ví dụ: thử 1, 1,5, 1,75, 2, v.v.)

Đến lúc chạy thử chương trình của bạn rồi ^_^

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".

Hãy truy cập vào trang Facebook tại đây để xem tiếp phần 2 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!

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