Giải quyết bài toán nhận dạng khuôn mặt . ...

Trong phần 1. Chúng ta đã nêu ra tổng quan bài toán nhận dạng khuôn mặt.

Đây là một bài toán phân lớp tương đối tiêu chuẩn. Một hệ thống nhận diện cảm xúc khuôn mặt thường được triển khai gồm 2 bước.

  1. Nhận ảnh và tiền xử lý. Ảnh khuôn mặt được lấy từ nguồn dữ liệu tĩnh (chẳng hạn như từ file, database), hoặc động (từ livestream, webcam, camera,…), nguồn dữ liệu này có thể trải qua một số bước tiền xử lý nhằm tăng chất lượng hình ảnh để giúp việc phát hiện cảm xúc trở nên hiệu quả hơn.
  2. Phân lớp nhận dạng cảm xúc. Sử dụng model CNN để nhận dạng cảm xúc con người.

Mục lục

1. Nhận ảnh và tiền xử lý
2. Phân lớp nhận dạng cảm xúc
3. Tổng kết


1. Nhận ảnh và tiền xử lý

A. Vai trò của tiền xử lý ảnh

Khi phát triển một thuật toán phân loại ảnh chúng ta có thể gặp phải một số trường hợp không mong đợi như: Kết quả huấn luyện có độ chính xác rất cao trên cả tập huấn luyện (train dataset) và tập phát triển (dev dataset). Nhưng khi áp dụng vào thực tiễn lại cho độ chính xác thấp. Có rất nhiều các nguyên nhân dẫn tới điều này và một trong số đó là:

  • Các bức ảnh được huấn luyện khác xa so với những bức ảnh được người dùng upload về các khía cạnh: độ phân giải, cường độ màu sắc, chất lượng ảnh, độ to nhỏ của vật thể, chiều, hướng và tư thế của vật thể bên trong ảnh.
  • Có thể các bức ảnh được người dùng upload lên mặc dù cùng nhãn nhưng khác về tính chất so với các bức ảnh đã huấn luyện. Ví dụ trong một thuật toán phân loại dog and cat, tập huấn luyện chỉ bao gồm những con mèo trưởng thành nhưng thực tế người dùng lại upload lên rất nhiều hình ảnh của mèo con có thể dẫn tới thuật toán bị nhầm lẫn.
  • Đối với một số tác vụ phân loại ảnh khó, đòi hỏi chuyên gia gán nhãn, rất dễ mắc sai lầm như chuẩn đoán bệnh nhãn cầu. Một số ít các ảnh trong tập huấn luyện có thể bị gán sai nhãn. Do đó ảnh hưởng đến khả năng dự báo của thuật toán.
  • Bộ dữ liệu huấn luyện có kích thước quá nhỏ và không đại diện cho toàn bộ các class được huấn luyện.
  • Phân phối của tập huấn luyện khác xa so với thực tế. Chẳng hạn tập huấn luyện chứa ảnh chó và mèo theo tỷ lệ 50:50 nhưng số lượng bức ảnh người dùng upload lên ảnh chó chiếm đa số theo tỷ lệ 90:10.

2. Ứng dụng với video

Vấn đề này dễ dàng hơn vì chúng ta có rất nhiều thông tin về khuôn mặt dựa vào các khung hình liên tiếp, và vấn đề này cũng thực tiễn hơn nhiều so với nhận dạng cảm xúc trong không gian 2D.
Việc nhận dạng cảm xúc khuôn mặt được thực hiện trên các bức ảnh, do đó việc lấy ảnh từ camera ta phải chuyển thành các ảnh tĩnh và xử lý trên từng ảnh tĩnh. Khi đã có ảnh đầu vào, tiếp tục chuyển ảnh cho quá trình xử lý tiếp theo.

3. Tổng kết

image Hmm có vẻ khá là khả quan nhỉ. Nhưng vấn đề sẽ xảy ra nếu: image Bạn có nhìn thấy cái gì sai ở đây không?

Đúng vậy.

  • Thứ nhất: Nhận dạng gương mặt bằng thuật toán Haar-Like hay còn gọi là Viola’s Zone tuy nhanh nhưng ít độ chính xác.
  • Thứ hai: Ngôn ngữ python là một ngôn ngữ hiệu năng rất kém. Một hai gương mặt xuất hiện trong video, máy đã chạy lag tung đít rồi. Với một bài toán gồm một lớp học thì sao.
  • Thứ ba: Là gì ấy nhở, … ╮( ̄~ ̄)╭

(〜 ̄▽ ̄)〜 Trong các phần tiếp theo. Mình sẽ đi sâu vào quá trình tối ưu code. Các bạn chú ý đón xem nhé. 〜( ̄▽ ̄〜)




comments powered by Disqus


"Một người đàn ông không dành thời gian cho gia đình, không bao giờ có thể trở thành đàn ông thực sự."

The Godfather


Ủng hộ Anh hàng xóm

Bạn có thể vào đây để xem "kẻ dại khờ" chia sẻ cảm nhận về những cuốn sách mà kẻ đó cho là hay!

Chúc một buổi sáng vui vẻ!!👨‍🚀


Anh hàng xóm

'Anh hàng xóm' là blog phi lợi nhuận, miễn phí - Sự ủng hộ của bạn luôn là điều quan trọng giúp blog tồn tại cùng với đó là phát triển mạnh mẽ hơn nữa. Bạn có thể ủng hộ cho blog
ヾ (⌐ ■ _ ■) ノ ♪


Anh Hàng Xóm

Anh Hàng Xóm

Xin chào, tôi là lập trình viên backend. Với đam mê chụp ảnh, lập trình và đi chơi. Tôi xây dựng blog với mục đích là chia sẻ kinh nghiêm coder, cuộc sống thường ngày và sức khỏe cho developer .

Trang web của bạn đã được xem: lần