Đánh Giá Chất Lượng Của Các Thuật Toán Nhận Diện Khuôn Mặt

Ngày nay, nhận diện khuôn mặt luôn là một chủ đề thú vị, chủ yếu là vì kết quả rất trực quan – và không đòi hỏi nhiều trí tưởng tượng để hiểu cách sử dụng tính năng nhận diện khuôn mặt trong các ứng dụng thực tế. Từ hệ thống an ninh gia đình đến giám sát, hoặc chỉ điều khiển TV, nhận dạng khuôn mặt là một phần quan trọng của thị giác máy tính. Hôm nay, chúng ta có thể khám phá cách nó hoạt động trong OpenCV.

<img src=”https://i.imgur.com/RqSAL7B.jpg&#8221; alt=”some_text”>

Xem Thêm: Hướng dẫn cài đặt máy chấm công chi tiết

Thuật toán Viola-Jones

Thuật toán Viola-Jones được Paul Viola và Michael Jones xuất bản lần đầu tiên vào năm 2001 trong bài báo năm 2001 của họ “Phát hiện đối tượng nhanh chóng bằng cách sử dụng một tầng tăng cường các tính năng đơn giản”, đã trở thành một trong những bài báo được trích dẫn nhiều nhất trong tài liệu thị giác máy tính. Trong bài báo này, Viola và Jones đã đề xuất một thuật toán có thể phát hiện các đối tượng trong ảnh bất kể vị trí và tỷ lệ của chúng trong ảnh. Ngoài ra, thuật toán có thể chạy trong thời gian thực, giúp phát hiện các đối tượng trong luồng video.

Cụ thể, Viola và Jones tập trung vào việc phát hiện khuôn mặt trong hình ảnh, nhưng thuật toán cũng có thể được sử dụng để đào tạo các máy dò tìm các đối tượng tùy ý, chẳng hạn như ô tô, tòa nhà, thiết bị nhà bếp và thậm chí là chuối.

Mặc dù khung Viola-Jones mở ra cánh cửa cho việc phát hiện đối tượng, nhưng giờ đây nó đã vượt qua các phương pháp khác, chẳng hạn như việc sử dụng biểu đồ của gradient có định hướng (HOG) + SVM tuyến tính và học sâu, nhưng tôi vẫn nghĩ rằng điều quan trọng là chúng ta phải rất quan tâm đến nó Thuật toán này ít nhất cũng có hiểu biết cấp cao về những gì đang xảy ra ở phía dưới.

Xem thêm Video: https://www.youtube.com/watch?v=snmYELRQvME

Hãy nhớ hình ảnh hạt nhân và cách chúng ta trượt một ma trận nhỏ từ trái sang phải và từ trên xuống dưới trên hình ảnh của chúng ta để tính toán giá trị đầu ra cho mỗi pixel trung tâm của hạt nhân? Chà, hóa ra phương pháp cửa sổ trượt này cũng rất hữu ích trong bối cảnh phát hiện các đối tượng trong hình ảnh:

Tham Khảo Thêm: 5 App Xác Định Khuôn Mặt Hàng Đầu 2022

Rõ ràng, điều này đòi hỏi một số máy học. Chúng tôi cần một bộ phân loại được đào tạo với các mẫu mặt tích cực và tiêu cực. Điểm dữ liệu dương sẽ là một ví dụ về một khu vực có chứa một khuôn mặt người. Các điểm dữ liệu âm sẽ là ví dụ về các khu vực không chứa khuôn mặt người. Dựa trên các điểm dữ liệu này, chúng tôi có thể đào tạo một bộ phân loại để nhận ra liệu một khu vực nhất định của hình ảnh có chứa khuôn mặt người hay không.

May mắn thay, OpenCV có thể sử dụng tầng Haar được đào tạo trước để nhận diện khuôn mặt:

Điều này đảm bảo rằng chúng tôi không cần phải cung cấp các mẫu âm và dương của riêng mình, đào tạo bộ phân loại của riêng chúng tôi hoặc lo lắng về việc điều chỉnh các tham số một cách chính xác. Thay vào đó, chúng tôi chỉ cần tải lên bộ phân loại được đào tạo trước và phát hiện các khuôn mặt trong hình ảnh.

Đối với mỗi điểm dừng trên đường cửa sổ trượt, năm đặc điểm hình chữ nhật được tính toán:

Nếu bạn đã quen thuộc với các wavelet, bạn sẽ thấy rằng chúng có một số điểm tương đồng với các hàm cơ bản của Wavelet Haar.

Để có được các đặc điểm của từng trong số năm hình chữ nhật này, chúng ta chỉ cần lấy tổng số pixel trong vùng đen trừ đi tổng số pixel trong vùng trắng. Điều thú vị là các tính năng này rất quan trọng trong môi trường nhận dạng khuôn mặt:

   Vùng mắt có xu hướng đậm hơn vùng má.

   -Vùng mũi sáng hơn vùng mắt.

Xem thêm: Máy Chấm Công Khuôn Mặt

Do đó, thông qua năm khu vực hình chữ nhật này, chúng ta có thể hình thành các đặc điểm có thể phân loại các bộ phận trên khuôn mặt. Sau đó, đối với toàn bộ tập hợp tính năng, chúng tôi sẽ sử dụng thuật toán AdaBoost để chọn các tính năng đó tương ứng với vùng khuôn mặt của ảnh.

Tuy nhiên, như bạn có thể tưởng tượng, hãy sử dụng một cửa sổ trượt cố định và trượt nó trên mỗi (x, y) của hình ảnh, sau đó tính toán các đặc điểm giống Haar, và cuối cùng thực hiện phân loại thực. Nó có thể tốn kém về mặt tính toán.

Để giải quyết vấn đề này, Viola và Jones đã đưa ra khái niệm về tầng hoặc sân khấu. Tại mỗi điểm dừng trên đường dẫn cửa sổ trượt, cửa sổ phải vượt qua một loạt các bài kiểm tra, trong đó mỗi bài kiểm tra tiếp theo sẽ đắt hơn về mặt tính toán so với bài kiểm tra trước đó. Nếu bất kỳ một trong các bài kiểm tra không thành công, cửa sổ sẽ tự động đóng lại.

Tìm Hiểu: Top 5 App Xác Định Khuôn Mặt Cực Hay Trên Điện Thoại Android, IOS

Do việc sử dụng các hình ảnh dựng sẵn (còn được gọi là bảng tổng hợp), một số lợi ích của thác Haar là chúng rất nhanh trong việc tính toán các tính năng giống như Haar. Bằng cách sử dụng thuật toán AdaBoost, chúng cũng rất hiệu quả để lựa chọn tính năng. Có lẽ quan trọng nhất là họ có thể phát hiện khuôn mặt trong ảnh bất kể vị trí hoặc tỷ lệ khuôn mặt. Cuối cùng, thuật toán Viola-Jones để phát hiện đối tượng có thể chạy trong thời gian thực.

Đăng bởi tctechvietnam

Là đơn vị chuyên phân phối và bán lẻ các thiết bị an ninh, thiết bị kiểm soát ra vào và các thiết bị mã số mã vạch, Hệ thống Smart Parking, Hệ thống cổng dò kim loại, cổng xoay tripod, thiêt bị chấm công và các phần mềm quản lý...

Bạn nghĩ gì về bài viết này?

Tạo trang giống vầy với WordPress.com
Tham gia