Hướng dẫn how does python recognize faces? - python nhận dạng khuôn mặt như thế nào?

& nbsp; Bài viết này đã được xuất bản như một phần của Blogathon khoa học dữ liệu.Data Science Blogathon.

Giới thiệu

Nhận dạng khuôn mặt khác với phát hiện khuôn mặt. Khi phát hiện khuôn mặt, chúng tôi chỉ phát hiện ra vị trí của khuôn mặt của con người và chúng tôi đã nhận ra danh tính của khuôn mặt trong nhiệm vụ nhận dạng khuôn mặt.

Trong bài viết này, chúng tôi sẽ xây dựng một hệ thống nhận dạng khuôn mặt bằng cách sử dụng Python với sự trợ giúp của ____10.

Có nhiều thuật toán có sẵn trên thị trường để nhận dạng khuôn mặt. Thử thách tầm nhìn máy tính rộng này là phát hiện khuôn mặt từ video và hình ảnh. Nhiều ứng dụng có thể được xây dựng trên các hệ thống nhận dạng hàng đầu. Nhiều công ty lớn đang áp dụng các hệ thống công nhận cho mục đích bảo mật và xác thực của họ.

Sử dụng các trường hợp của hệ thống nhận dạng

Các hệ thống nhận dạng khuôn mặt được sử dụng rộng rãi trong thời kỳ hiện đại và nhiều hệ thống sáng tạo mới được xây dựng trên các hệ thống nhận dạng hàng đầu.

Có một vài trường hợp đã sử dụng:

  • Tìm người mất tích
  • Xác định tài khoản trên phương tiện truyền thông xã hội
  • Nhận ra người lái xe trong ô tô
  • Hệ thống đi học

Một số phương pháp và thuật toán thực hiện các hệ thống nhận dạng khuôn mặt tùy thuộc vào hiệu suất và độ chính xác.

Thuật toán nhận dạng khuôn mặt truyền thống

Các thuật toán nhận dạng khuôn mặt truyền thống don don đáp ứng các tiêu chuẩn nhận dạng khuôn mặt hiện đại. Chúng được thiết kế để nhận ra các khuôn mặt bằng cách sử dụng các thuật toán thông thường cũ.

OpenCV cung cấp một số thuật toán nhận dạng khuôn mặt truyền thống.

  • Eigenfaces
  • Biến đổi tính năng bất biến tỷ lệ (Sift)
  • Fisher Faces
  • Biểu đồ mô hình nhị phân cục bộ (LBPH)

Các phương pháp này khác nhau trong cách chúng trích xuất thông tin hình ảnh và khớp với hình ảnh đầu vào và đầu ra.

Thuật toán LBPH là một phương pháp đơn giản nhưng rất hiệu quả vẫn được sử dụng nhưng nó chậm so với các thuật toán ngày nay.

Hướng dẫn how does python recognize faces? - python nhận dạng khuôn mặt như thế nào?

Học sâu để nhận dạng khuôn mặt

Có nhiều thuật toán nhận dạng khuôn mặt dựa trên học tập sâu có sẵn.

  • Deepface
  • Sê -ri hệ thống
    # installing face recognition
    pip install face recognition
    1,
  • Facenet
  • Vggface

Nói chung, các chất nhận biết khuôn mặt dựa trên các địa danh lấy hình ảnh khuôn mặt và cố gắng tìm các điểm đặc trưng cần thiết như lông mày, khóe miệng, mắt, mũi, môi, v.v. Có hơn 60 điểm.

Hướng dẫn how does python recognize faces? - python nhận dạng khuôn mặt như thế nào?

Nguồn: Medium.com: Medium.com

Các bước liên quan đến nhận dạng khuôn mặt

  1. Phát hiện khuôn mặt: Xác định vị trí mặt, lưu ý tọa độ của mỗi mặt định vị, D và vẽ một hộp giới hạn quanh mọi mặt.: Locate the face, note the coordinates of each face locate,d and draw a bounding box around every faces.
  2. Sắp xếp khuôn mặt. Bình thường hóa các khuôn mặt để đạt được đào tạo nhanh.. Normalize the faces in order to attain fast training.
  3. Khai thác tính năng. Trích xuất tính năng địa phương từ hình ảnh khuôn mặt để đào tạo, bước này được thực hiện khác nhau bởi các thuật toán khác nhau.. Local feature extraction from facial pictures for training, this step is performed differently by different algorithms.
  4. Nhận dạng khuôn mặt. Khớp mặt đầu vào với một hoặc nhiều khuôn mặt được biết đến trong bộ dữ liệu của chúng tôi.. Match the input face with one or more known faces in our dataset.

Nguồn: WP.com: wp.com

Bài viết này tập trung vào việc thực hiện nhận dạng khuôn mặt bằng thư viện FACE_RECENTION, được xây dựng trên các kỹ thuật học tập sâu và hứa hẹn độ chính xác lớn hơn 96% khi sử dụng một hình ảnh đào tạo duy nhất.

Thực hiện

Thực hiện một hệ thống nhận dạng khuôn mặt bằng Python. Thực hiện một hệ thống nhận dạng khuôn mặt dựa trên học tập sâu bằng thư viện FACE_RECENTION.

1. Đặt thư viện nhận dạng khuôn mặt:

Để cài đặt thư viện nhận dạng khuôn mặt, trước tiên chúng ta cần cài đặt

# installing face recognition
pip install face recognition
2.

  • # installing face recognition
    pip install face recognition
    3: Đây là một bộ công cụ C ++ hiện đại có chứa các thuật toán và công cụ liên quan đến ML. : It is a modern C++ toolkit that contains ML-related algorithms and tools.
# installing dlib 
pip install dlib
  • # installing face recognition
    pip install face recognition
    4 Thư viện nhận dạng khuôn mặt thực tế có thể được cài đặt sau
    # installing face recognition
    pip install face recognition
    2.
# installing face recognition
pip install face recognition
  • # installing face recognition
    pip install face recognition
    6 cho một số hình ảnh trước khi xử lý
# installing opencv 
pip install opencv

Note: Sometimes installing dlib throws error in that case install install the C++ development toolkit using vs_code community .

Nhập thư viện

import cv2
import numpy as np
import face_recognition

2. Đang tải hình ảnh:

Chúng tôi đã hoàn thành việc cài đặt và nhập các thư viện. Đó là thời gian để tải một số hình ảnh mẫu vào thư viện

# installing face recognition
pip install face recognition
7.

Thư viện

# installing face recognition
pip install face recognition
7Support chỉ định dạng hình ảnh BGR. Trong khi in hình ảnh đầu ra, chúng ta nên chuyển đổi nó thành RGB bằng OpenCV.

# installing face recognition
pip install face recognition
9 chỉ tải hình ảnh ở định dạng BGR.

import cv2
import numpy as np
import face_recognition
img_bgr = face_recognition.load_image_file('student_images/modi.jpg')
img_rgb = cv2.cvtColor(img_bgr,cv2.COLOR_BGR2RGB)
cv2.imshow('bgr', img_bgr)
cv2.imshow('rgb', img_rgb)
cv2.waitKey

Đầu ra → BGR vs RGB → BGR vs RGB

Hướng dẫn how does python recognize faces? - python nhận dạng khuôn mặt như thế nào?

3. Phát hiện và định vị khuôn mặt: & nbsp;

Thư viện

# installing face recognition
pip install face recognition
7Can nhanh chóng tự định vị, chúng tôi không cần phải sử dụng
# installing opencv 
pip install opencv

Note: Sometimes installing dlib throws error in that case install install the C++ development toolkit using vs_code community .
1 và các kỹ thuật khác.

img_modi=face_recognition.load_image_file('student_images/modi.jpg')
img_modi_rgb = cv2.cvtColor(img_modi,cv2.COLOR_BGR2RGB)
#--------- Detecting Face -------
face = face_recognition.face_locations(img_modi_rgb)[0]
copy = img_modi_rgb.copy()
# ------ Drawing bounding boxes around Faces------------------------
cv2.rectangle(copy, (face[3], face[0]),(face[1], face[2]), (255,0,255), 2)
cv2.imshow('copy', copy)
cv2.imshow('MODI',img_modi_rgb)
cv2.waitKey(0)
4. Nhận dạng hình ảnh mẫu:
Hướng dẫn how does python recognize faces? - python nhận dạng khuôn mặt như thế nào?

4. Sample Image Recognition:

Thư viện

# installing face recognition
pip install face recognition
7 dựa trên việc học sâu, nó hỗ trợ việc học một lần, điều đó có nghĩa là nó cần một bức tranh duy nhất để tự đào tạo để phát hiện một người.

img_modi = face_recognition.load_image_file('student_images/modi.jpg')
img_modi = cv2.cvtColor(img_modi,cv2.COLOR_BGR2RGB)
#------to find the face location
face = face_recognition.face_locations(img_modi)[0]
#--Converting image into encodings
train_encode = face_recognition.face_encodings(img_modi)[0]
#----- lets test an image
test = face_recognition.load_image_file('student_images/modi2.jpg')
test = cv2.cvtColor(test, cv2.COLOR_BGR2RGB)
test_encode = face_recognition.face_encodings(test)[0]
print(face_recognition.compare_faces([train_encode],test_encode))
cv2.rectangle(img_modi, (face[3], face[0]),(face[1], face[2]), (255,0,255), 1)
cv2.imshow('img_modi', img_modi)
cv2.waitKey(0)

Mã trên đã chụp hai bức ảnh của Thủ tướng, và nó đã trả lại ____ 23 & nbsp; bởi vì cả hai bức ảnh đều thuộc cùng một người.

  • # installing opencv 
    pip install opencv
    
    Note: Sometimes installing dlib throws error in that case install install the C++ development toolkit using vs_code community .
    4 → Trả về mã hóa hình ảnh truyền.
  • # installing opencv 
    pip install opencv
    
    Note: Sometimes installing dlib throws error in that case install install the C++ development toolkit using vs_code community .
    5 → lấy một danh sách các mã hóa được đào tạo và mã hóa thử nghiệm của hình ảnh chưa biết. Nó trả về ________ 23 & nbsp; nếu cả hai mã hóa thử nghiệm có một trận đấu trong mã hóa tàu; Nếu không, nó trả về. & nbsp; ________ 27.Takes a list of trained encodings and a test encoding of the unknown Image. It returns
    # installing opencv 
    pip install opencv
    
    Note: Sometimes installing dlib throws error in that case install install the C++ development toolkit using vs_code community .
    3 if both test encoding has a match in train encoding; otherwise, it returns. 
    # installing opencv 
    pip install opencv
    
    Note: Sometimes installing dlib throws error in that case install install the C++ development toolkit using vs_code community .
    7.

Hiểu được hoạt động nhận dạng khuôn mặt

  1. Chúng tôi chuyển hình ảnh của người cho người mẫu và tên của họ.
  2. Mô hình chụp mọi hình ảnh, chuyển đổi chúng thành một số mã hóa số và lưu trữ chúng trong một danh sách và tất cả các nhãn (tên của người) trong một danh sách khác.
  3. Trong giai đoạn dự đoán khi chúng ta vượt qua một hình ảnh của một mô hình nhận dạng người không xác định chuyển đổi hình ảnh người không quen thuộc thành mã hóa.
  4. Sau khi chuyển đổi một người không xác định hình ảnh của bạn thành mã hóa, nó cố gắng tìm mã hóa tương tự nhất dựa trên tham số khoảng cách. Cửa hàng mã hóa với khoảng cách ít nhất từ ​​mã hóa của một người không xác định sẽ là trận đấu gần nhất.
  5. Sau khi nhận được mã hóa trận đấu gần nhất, chúng tôi lấy chỉ mục của mã hóa đó từ danh sách đó và sử dụng lập chỉ mục. Chúng tôi tìm thấy tên người được phát hiện.

Những thách thức trong các hệ thống công nhận

Đây là những thách thức đáng kể mà các hệ thống nhận dạng phải đối mặt và cần được giải quyết.

  • Tư thế: Hệ thống nhận dạng dễ bị ảnh hưởng bởi tư thế của con người. Các hệ thống nhận dạng khuôn mặt sẽ không thể dự đoán được nếu không thể nhìn thấy mặt người.Recognition systems are susceptible to the human pose. Facial recognition systems will not be able to predict if the person’s face is not visible.
  • Chiếu sáng: chiếu sáng thay đổi các đường viền khuôn mặt mạnh mẽ. Hình ảnh để nhận dạng khuôn mặt nên được chụp trong điều kiện ánh sáng thích hợp.Illumination changes the face contours drastically. Pictures for face recognition should be taken in proper lighting conditions.
  • Biểu cảm khuôn mặt: Biểu cảm khuôn mặt khác nhau có thể dẫn đến các dự đoán khác nhau về cùng một hình ảnh của người.: Different facial expressions can result in different predictions of the same person’s Image.
  • Độ phân giải thấp: Hình ảnh độ phân giải thấp chứa ít thông tin hơn, do đó không tốt cho việc đào tạo nhận dạng khuôn mặt.: Low-resolution pictures contain less information, hence not good for face recognition training.

Sự kết luận

Bài viết này đã thảo luận về cách thực hiện một hệ thống nhận dạng khuôn mặt bằng cách sử dụng Python với kỹ thuật đào tạo hình ảnh một lần chụp. Bạn có thể sử dụng GUI như Python Tkinter để thiết kế một hệ thống tham dự dựa trên GUI. Chúng tôi đã thấy những thách thức khác nhau ảnh hưởng đến một hệ thống công nhận và cách giải quyết chúng.

Trong bài viết tiếp theo, chúng tôi sẽ tạo ra một hệ thống tham dự nhận dạng khuôn mặt bằng cách sử dụng các khái niệm tương tự mà chúng tôi đã thảo luận ngày hôm nay.

Các phương tiện truyền thông được hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của tác giả.

Làm thế nào để Python phát hiện khuôn mặt của con người?

Mật mã..
Nhập CV2 nhập sys cascpath = sys. argv [1] facecascade = cv2. ....
Video_Capture = CV2. Videocapture (0) ....
Trong khi đúng: # Chụp theo từng khung hình ret, frame = Video_Capture. đọc() ... .
Nếu CV2. Waitkey (1) & 0xff == ord ('q'): Break. ....
# Khi mọi thứ được hoàn thành, hãy phát hành Capture Video_Capture. REUTTY () CV2 ..

Các khuôn mặt nhận dạng Python có thể không?

Hệ thống nhận dạng khuôn mặt bằng cách sử dụng Python trong phát hiện khuôn mặt, chúng tôi chỉ phát hiện ra vị trí của khuôn mặt người và chúng tôi nhận ra danh tính của khuôn mặt trong nhiệm vụ nhận dạng khuôn mặt. In face detection, we had only detected the location of human faces, and we recognized the identity of faces in the face recognition task.

Tại sao Python được sử dụng để nhận dạng khuôn mặt?

Khuôn mặt được làm từ hàng ngàn nếp nhăn và các tính năng phải được khớp.Nhận dạng khuôn mặt bằng cách sử dụng Python, phá vỡ nhiệm vụ xác định khuôn mặt thành hàng ngàn nhiệm vụ nhỏ hơn, có kích thước cắn, mỗi nhiệm vụ dễ dàng đối mặt với Python là xu hướng mới nhất trong các kỹ thuật học máy.break the task of identifying the face into thousands of smaller, bite-sized tasks, each of which is easy to face Recognition Python is the latest trend in Machine Learning techniques.

Làm thế nào để Python tính toán độ chính xác nhận dạng khuôn mặt?

Với công thức này về độ chính xác của bạn = (tp+tn)/(tổng cộng).Độ chính xác nhận dạng khuôn mặt được đo theo tỷ lệ phần trăm của các khuôn mặt được công nhận trên tổng số khuôn mặt được thử nghiệm của cùng một người.accuracy=(TP+TN)/(Total). face recognition accuracy cab be measured according to the percentage of the recognized faces per the total number of tested faces of the same person.