Hệ thống nhận diện gương mặt hoạt động như thế nào?
Trích từ Viblo của Phạm Thu Hằng
Chào mọi người, chắc hẳn mọi người đều biết về hệ thống nhận diện gương mặt rồi, trong phim hay có kiểu dùng camera tìm trong 1 đám đông để tìm tội phạm các thứ nhìn rõ ngầu… Chắc ít nhiều cũng có vài lần bạn đặt câu hỏi: sao nó nhận ra mặt người này để phân biệt với mặt người khác nhỉ? Trong khi mình nhìn còn chả nhận ra (??)
Bài này sẽ giới thiệu sơ sơ cho các bạn cách mà hệ thống nhận diện gương mặt phân biệt được mặt mọi người nhé!
Sơ bộ
Hệ thống nhận dạng khuôn mặt là một ứng dụng máy tính tự động xác định hoặc nhận dạng một người nào đó từ một bức hình ảnh kỹ thuật số hoặc một khung hình video từ một nguồn video. Một trong những cách để thực hiện điều này là so sánh các đặc điểm khuôn mặt chọn trước từ hình ảnh và một cơ sở dữ liệu về khuôn mặt.
Hệ thống này thường được sử dụng trong các hệ thống an ninh và có thể được so sánh với các dạng sinh trắc học khác như các hệ thống nhận dạng vân tay hay tròng mắt (theo wikipedia).
Cách hoạt động
Cơ bản
Trước hết, để có thể phân tích khuôn mặt và nhận diện, cần phải tách khuôn mặt ra khỏi khung cảnh còn lại trước đã
Tiếp đến, chính là việc phân tích gương mặt. Chúng ta nhận diện gương mặt mọi người qua các đặc điểm, hệ thống nhận diện cũng vậy, nhưng nó thực hiện đánh giá các đặc điểm ở 1 level cao hơn, chính xác hơn là việc cảm nhận bằng mắt như của chúng ta, vì thị giác có thể bị đánh lừa mà
Mỗi khuôn mặt đều có nhiều điểm mốc, những phần lồi lõm tạo nên các đặc điểm của khuôn mặt. Các hệ thống nhận diện gương mặt định nghĩa những điểm này là những điểm nút. Mỗi mặt người có khoảng 80 điểm nút. Có thể nhận diện một số điểm nút như sau:
- Khoảng cách giữa hai mắt
- Chiều rộng của mũi
- Độ sâu của hốc mắt
- Hình dạng của xương gò má
- Độ dài của xương hàm
- …
Một số thuật toán nhận dạng khuôn mặt xác định các đặc điểm khuôn mặt bằng cách trích xuất các ranh giới, hoặc đặc điểm, từ một hình ảnh khuôn mặt của đối tượng. Từ đó các thuật toán sẽ trích xuất được các thông tin, và những tính năng này sau đó được sử dụng để tìm kiếm các hình ảnh khác với các tính năng phù hợp. Trong trường hợp sử dụng để nhận diện, cần phải lưu lại thông tin khuôn mặt để ghi nhớ trước. Các thuật toán sẽ đơn giản hóa một tập các hình ảnh khuôn mặt và sau đó nén dữ liệu khuôn mặt, chỉ lưu dữ liệu hình ảnh nào là hữu ích cho việc nhận dạng khuôn mặt.
Khi đó, muốn nhận diện sẽ so sánh hình ảnh mấu với các dữ liệu khuôn mặt đã lưu.
Các thuật toán nhận dạng có thể được chia thành hai hướng chính, là hình học, đó là nhìn vào tính năng phân biệt, hoặc trắc quang (đo sáng), là sử dụng phương pháp thống kê để ‘chưng cất’ một hình ảnh thành những giá trị và so sánh các giá trị với các mẫu để loại bỏ chênh lệch.
Tuy nhiên, các trường hợp nhận diện thường không phải lúc nào cũng được đo đạc trong môi trường ổn định, có thể bị ảnh hưởng ngay chỉ bởi sự thiếu sáng, hay góc nghiêng của khuôn mặt, do đó ảnh hưởng đáng kể đến độ chính xác của kết quả.
Nâng cao: nhận dạng 3D
Ngày nay, với sự phát triển của công nghệ, và với xu hướng 3D đang thịnh hành, thì cũng tương tự vậy, chúng ta có nhận dạng khuôn mặt 3 chiều. Và tất nhiên, nghe là biết kỹ thuật này sẽ cải thiện được độ chính xác nhờ việc phân tích được nhiều thông tin để so sánh hơn rồi. Kỹ thuật này sử dụng các cảm biến 3D để nắm bắt thông tin về hình dạng của khuôn mặt, rồi dùng các điểm nổi bật trên khuôn mặt – nơi những mô cứng và xương nhìn thấy rõ nhất như đường cong của hốc mắt, mũi và cằm – để nhận ra đối tượng. Các đặc điểm này là độc nhất đối với mỗi khuôn mặt và không thay đổi theo thời gian.
Cách thức sử dụng độ sâu và trục của các phần trên khuôn mặt không bị ảnh hưởng bởi ánh sáng, vì thế việc nhận dạng khuôn mặt 3D có thể được sử dụng cả trong bóng tối và có thể nhận ra khuôn mặt từ nhiều góc độ khác nhau với độ chênh lệch lên tới 90 độ. Và nhờ có việc xác định khuôn mặt dựa trên hình ảnh 3 chiều, nên nhận dạng 3D có khả năng xác định 1 khuôn mặt từ nhiều góc nhìn hơn. Số lượng các điểm dữ liệu 3 chiều khiến cho độ chính xác tăng lên đáng kể bởi sự phát triển của các bộ cảm biến tinh vi giúp nắm bắt hình ảnh chụp khuôn mặt 3D được tốt hơn. Các cảm biến hoạt động bằng cách chiếu ánh sáng có cấu trúc lên gương mặt. Hàng chục hoặc nhiều hơn nữa các bộ cảm biến hình ảnh này có thể được đặt lên trên cùng một con chip CMOS-mỗi cảm biến sẽ thu một phần khác nhau của hình ảnh.