Phương Pháp Nhận Diện Khuôn Mặt Bằng Python Và OpenCV Theo ...

Hệ thống nhận diện khuôn mặt bằng Python theo thời gian thực có khả năng xác định hoặc xác minh một người từ video qua các thiết bị ghi hình. Thư viện và ngôn ngữ sử dụng cho hệ thống này là Python và OpenCV. Dự án này được chia thành hai phần: tạo cơ sở dữ liệu, đào tạo và kiểm tra.

  1. Tạo cơ sở dữ liệu

Chụp ảnh người đó để nhận diện khuôn mặt sau khi chạy tập lệnh created_database.py. Nó tự động tạo thư mục Train folder trong thư mục Database folder chứa khuôn mặt được nhận dạng.

Trong khi tạo cơ sở dữ liệu, hình ảnh khuôn mặt phải có các biểu thức khác nhau, đó là lý do tại sao độ trễ 0,38 giây được đưa ra trong mã để tạo tập dữ liệu. Trong ví dụ này, chúng tôi chụp khoảng 45 tấm hình/hình ảnh và trích xuất khuôn mặt, chuyển đổi nó thành thang độ xám và lưu nó vào thư mục cơ sở dữ liệu với tên của nó.

2.Đào tạo và kiểm tra

Đào tạo để nhận diện khuôn mặt bằng Python được thực hiện bằng mã face_rec.py. Thuật toán được sử dụng ở đây là Biểu đồ mô hình nhị phân cục bộ (Local Binary Patterns Histograms -LBPH).

Nhận diện khuôn mặt bằng Python là quá trình tìm hoặc định vị từ một hoặc nhiều khuôn mặt người trong một hình ảnh. Haar, là thuật toán của Viola và Jones, được sử dụng để nhận diện khuôn mặt. Trong Haar Features, tất cả các khuôn mặt của con người đều có chung một số đặc tính. Các tần số này có thể được kết hợp bằng Haar Feature, như trong Hình 1.

Hình 1. Ảnh chụp màn hình các đặc tính của thuật toán Haar

Hai đặc tính chung cho khuôn mặt người là:

Vùng mắt đậm hơn má trên.

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

Thành phần của hai đặc tính hình thành các đặc điểm khuôn mặt phù hợp là:

Vị trí và kích thước bao gồm mắt, miệng và sống mũi.

Giá trị độ dốc định hướng của cường độ pixel.

Ví dụ: sự khác biệt về độ sáng giữa hình chữ nhật trắng và đen trên một khu vực cụ thể được đưa ra bởi công thức sau:

Giá trị = Σ (pixel ở vùng đen) – Σ (pixel ở vùng trắng)

Bốn đặc tính được đề cập ở trên phù hợp với thuật toán Haar được so sánh trong hình ảnh của một khuôn mặt được hiển thị bên trái của Hình 1.

Thủ tục kiểm tra

Cài đặt OpenCV và Python trên Ubuntu 16.04

Dự án đã được thử nghiệm trên Ubuntu 16.04 sử dụng OpenCV 2.4.10.

Sau khi cài đặt OpenCV, hãy kiểm tra nó trong thiết bị đầu cuối bằng lệnh nhập, như trong Hình 2.

Hình 2. Lệnh nhập kiểm tra OpenCV
Hình 3. Tạo cơ sở dữ liệu

1. Tạo cơ sở dữ liệu và chạy tập lệnh nhận diện “$ python created_database.py person_nam”

(được hiển thị trong Hình 3). Tạo ít nhất hai bộ dữ liệu trong cơ sở dữ liệu.

2. Chạy tập lệnh nhận dạng “$ python face_rec.py”

Hệ thống sẽ bắt đầu được đào tạo, máy ảnh sẽ mở ra (như Hình 4). Độ chính xác phụ thuộc vào số lượng tập dữ liệu cũng như chất lượng và điều kiện ánh sáng.

Hình 4. Ảnh chụp màn hình phương pháp nhận diện khuôn mặt bằng Python

Nguồn: Aquib Javed Khan (Electronicsforu)

Tags: nhan dien khuon matOpenCVPythonthuật toán

Từ khóa » đồ An Nhận Diện Khuôn Mặt Python