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

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Internet của Vạn Vật ở Việt Nam và hướng phát triển cho cộng đồng Arduino

Đây là bài dẫn nhập cho các bạn giới thiệu về Internet của Vạn Vật (IW) và đề xuất cho cộng đồng Arduino của chúng ta

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

Đi học thoai - Một dự án thú vị với Raspberry Pi và Arduino - Cảnh báo cháy qua email

Ở nhà nhiều roài, Tới giờ đi học à nha! Nhưng mà lỡ đang đi học mà nhà có chuyện gì (cháy nhà) thì sao? Cùng bắt tay vào làm hệ thống cảnh báo cháy qua email với tui nha!

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