Trí thông mình nhân tạo với Watson IBM và Raspberry Pi (Phần 2): Nhận dạng khuôn mặt, giới tính và tuổi

Mô tả dự án: 

Bài trước tui đã hướng dẫn các bạn làm quen với Watson IBM trên Raspberry Pi. Bây giờ chúng ta sẽ quay trở lại với bài toán nhận diện khuôn mặt. Trong bài khóa "thông minh" với OpenCV, dữ liệu nhận dạng khuôn mặt được đưa ra bởi một thuật toán "tĩnh" OpenCV trên laptop của các bạn và sau đó kết quả được chép thủ công vào Raspberry Pi. Raspberry chỉ việc dựa vào kết quả training và đưa ra kết quả nhận diện khuôn mặt. Đây chưa phải là giải pháp tối ưu vì giả sử bạn muốn thay đổi thuật toán mới hoặc train cho tốt hơn thì không thể thực hiện trên Pi được. Thay vậy, bạn có thể dùng dịch vụ cloud của Watson cho việc training và chỉ việc up hình lên để Watson nhận diện. Kết quả sẽ được trả về qua json với lượng thông tin phong phú hơn nhiều. 

Nguyên lý

Nguyên lý hoạt động của hệ thống gồm 3 bước:

  • Webcam sẽ liên tục thu hình từ môi trường xung quanh.
  • Mỗi tấm hình thu được sẽ được phân tích qua OpenCV trên Raspberry Pi xem có khuôn mặt người hiện diện hay không. Ta thực hiện bước này trên Pi vì lí do đơn giản là số lượng phân tích miễn phí trên Watson bị giới hạn mỗi tháng.
  • Nếu có khuôn mặt người thì ta sẽ gửi lên Watson cloud và thu về kết quả bao gồm độ tuổi, giới tính và vị trí khuôn mặt trên bức hình

Cài đặt tài khoản

Các bạn tạo 1 tài khoản trên Bluemix để tiếp cận với kho ứng dụng của IBM. 

Sau đó bấm vào Catalog để tìm từ khóa Visual Recognition:

Bấm Create => Service credentials => View Credentials để lấy API key:

Code thoai

Đầu tiên là tải Python SDK

pip install --upgrade watson-developer-cloud

Sau đó vào Github của tui để tải các tập tin về. Sau đó mở tập tin Watson_face_recognition.py để chỉnh API key mà các bạn vừa được cung cấp ở bước trên

Cuối cùng là chạy python run.py

python Watson_face_recognition.py

Demo

Nếu webcam nhận diện được khuôn mặt của các bạn thì Watson sẽ xuất ra thông tin như sau:

Nếu các bạn uncomment dòng 30 thì sẽ nhận được các thông tin chung hơn về tấm hình vừa chụp được

Ở đăy Watson nhận diện khá tốt với mức tự tinh gần bằng 100% khi có người: Ngoài ra còn có thể nhận diện được người nổi tiếng như Obama nữa @_@

Các bạn có thể vào đây để hiểu rõ thêm về các API cũng như json. Không những Watson có thể nhận diện được khuôn mặt mà còn có các ứng dụng khác như nhận diện ngôn ngữ từ ảnh chụp văn bản, nhận diện đồ vật.. Bạn cũng có thể vào Git của Watson để tìm hiểu thêm các ứng dụng nhận diện ảnh khác.

Chúc các bạn thành công!

lên
7 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Các dự án được truyền cảm hứng

Cách dùng Module L298N để điều khiển 4 động cơ DC

Trên cộng đồng đã có nhiều bài viết về động cơ, nhưng chưa có bài viết nào nói về cách để điều khiển cùng 1 lúc 4 động cơ mà chỉ dùng 1 module L298N. Nên hôm nay mình sẽ chia sẻ về cách để điều khiển cùng lúc 4 động cơ trên 1 module L298N.

lên
25 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Raspberry Pi Thiên Lý Nhãn (Phần 1): Time-Lapse

Trong bài "Đi học thoai" (Phần 3) (http://arduino.vn/bai-viet/994-di-hoc-thoai-phan-3-time-lapse-cuoi-ngay-...) tui có hướng dẫn các bạn làm hiệu ứng time-lapse với Raspberry Pi camera. Tuy nhiên giá 1 module camera khá chát so với túi tiền sinh viên. Nếu bạn có 1 cái webcam không sử dụng đâu đó trong nhà thì vẫn có thể làm được, có điều là độ phân giải thấp hơn nhiều thôi. (đa phần webcam có độ phân giải khoảng 1MP trở xuống, trong khi Pi Camera có độ phân giải 5 đến 8 MP tùy phiên bản).

lên
12 thành viên đã đánh giá bài viết này hữu ích.

Thâm cung bí sử Raspberry Pi - Quá trình hình thành Raspberry Pi

Đây là một bài đọc tìm hiểu thêm vài điều bất ngờ về Raspberry Pi mà bạn có thể chửa biết.

lên
16 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: