VIII. Mạng Facenet và thuật toán Cosime Similarity sử dụng cho Face Regconization
3. Thuật toán nhận dạng buồn ngủ
SVTT: Mai Tấn Hồng Hải – Lớp 17CNTTC 37
- Thuật toán phát hiện ngủ dựa trên dấu hiệu của đôi mắt, khi cả hai mắt nhắm quá lâu thì đối tượng đang xem xét rơi vào trạng thái ngủ.
- Dựa vào ý tưởng cơ bản đó, nhóm chúng em đã phát triển một thuất toán để nhận ra một đối tượng có đang ngủ hay không.
- Thư viện Dlib giúp trích xuất 68 điểm trên khuôn mặt
SVTT: Mai Tấn Hồng Hải – Lớp 17CNTTC 38
- Lợi dụng một đặc điểm mỗi khi mắt nhắm lại khoảng cách chiều dọc của mắt sẽ giảm, trong khi đó khoảng cách chiều ngang là gần như không đổi. Do đó một tỉ số đánh giá mắt đang nhắm hay mở được em sử dụng.
ear = ||P2 – P6|| + || P3 – P5|| / 2 * ||P1 - P4|| ear: Eye aspect ratio - Tỉ lệ khung hình mắt
- Khi mắt nhắm lại, khoảng cách theo chiều dọc giảm, trong khi đó khoảng cách theo chiều ngang gần như không đổi. Do đó ear tăng.
- Khi mắt mở ra, khoảng cách theo chiều dọc tăng lên, trong khi đó khoảng cách theo chiều ngang gần như không đổi. Do đó ear giảm.
- Sử dụng tỉ lên Chiều dọc / Chiều ngang nên tỉ lệ này sẽ không phụ thuộc vào độ to nhỏ, xa gần của bức ảnh.
- Do đó, khi tỉ lệ ear nhỏ hơn một ngưỡng, ta sẽ quyết định mắt đang nhắm hay mở.
- Khi mắt nhắm lâu hơn một ngưỡng, ta sẽ quyết định đối tượng có đang ngủ hay không vào đưa ra cảnh báo.
Hàm tính ear với đầu vào là một vector các điểm của mắt. - A là khoảng cách Euclide của hai điểm P2 và P6
SVTT: Mai Tấn Hồng Hải – Lớp 17CNTTC 39
- B là khoảng cách Euclide của hai điểm P3 và P5 - C là khoảng cách Euclide của hai điểm P1 và P4 Từ đó ta áp dụng công thức và trả về được tỉ số.
Hàm tính tỉ số cuối cùng dùng để xem xét
- Vì mỗi khuôn mặt có hai mắt và trong các trường hợp đặc biệt (như là nháy mắt…) có thể chỉ có một trong hai mắt nhắm lại , nên ta cần quan tâm đến tỉ lệ của cả hai mắt.
- Giải phát được đề xuất ở đây là sử dụng trung bình cộng của mắt bên trái với mắt bên phải và đưa ra tỉ lệ cuối cùng.
3.2. Thuật toán phát hiện buồn ngủ (ngáp)
- Tương tự như thuật toán phát hiện ngủ, thuật thoán phát hiện ngáp cũng sẽ thiết lập ra một tỉ số để xem xét một đối tượng có đang ngáp hay không.
- Dựa vào những đặc trưng cơ bản khi ngáp của con người như sau: + Khi ngáp thì chiều dọc của khuôn miệng sẽ mở rộng
SVTT: Mai Tấn Hồng Hải – Lớp 17CNTTC 40
+ Trong khi đó chiều ngang gần như không đổi. Cần phân biệt các trường hợp khác như là nói lớn tiếng (cả chiều dọc và chiều ngang khuôn miệng đều mở rộng)
- Từ một khuôn miệng, ta sẽ trích xuất được 20 điểm.
Tương tự như bài toán ở trên, ta có một hàm tính tỉ lệ khuôn miệng theo chiều dọc và tỉ số này cũng sẽ không bị thay đổi theo độ to và nhỏ của bức ảnh.
SVTT: Mai Tấn Hồng Hải – Lớp 17CNTTC 41
- Hàm để tính tỉ lệ khuôn miệng theo chiều ngang và tỉ số này cũng không bị thay đổi theo độ to và nhỏ của bức ảnh.
- Với việc sử dụng cả hai tỉ số này để xem xét một đối tượng có đang ngáp hay không, giúp ta loại bỏ được các nhầm nhẫm như khi đối tượng đang hét lớn hoặc khi đối tượng đang cười lớn.