Nhận diện khuôn mặt cho người mới bắt đầu

Nhận diện khuôn mặt cho người mới bắt đầu

376 | ★★★★☆Nhận diện khuôn mặt cho người mới bắt đầu sử dụng Python, OpenCV, Webcam, Numpy

    Nhận diện khuôn mặt cho người mới bắt đầu

    Dịch và hướng dẫn bởi Ilook.asia

    Phát hiện nhiều khuôn mặt trong một hình ảnh

    Trong vài năm qua, nhận diện khuôn mặt sở hữu sự cân nhắc đáng kể và được đánh giá cao là một trong những ứng dụng hứa hẹn nhất trong lĩnh vực phân tích hình ảnh. Nhận diện khuôn mặt có thể xem xét một phần đáng kể của hoạt động nhận dạng khuôn mặt. Theo sức mạnh của nó để tập trung tài nguyên tính toán vào phần hình ảnh giữ khuôn mặt. Phương pháp nhận diện khuôn mặt trong ảnh rất phức tạp do sự thay đổi hiện diện trên khuôn mặt người như tư thế, biểu cảm, vị trí và hướng, màu da, sự hiện diện của kính hoặc tóc trên khuôn mặt, sự khác biệt về độ tăng của camera, điều kiện ánh sáng và độ phân giải hình ảnh.

    Phát hiện đối tượng là một trong những công nghệ máy tính, kết nối với xử lý hình ảnh và thị giác máy tính và nó tương tác với việc phát hiện các đối tượng như mặt người, tòa nhà, cây cối, ô tô, v.v ... Mục đích chính của thuật toán phát hiện khuôn mặt là để xác định cho dù có bất kỳ khuôn mặt trong một hình ảnh hay không.

    Trong thời gian gần đây, rất nhiều công việc nghiên cứu được đề xuất trong lĩnh vực Nhận diện khuôn mặt và Nhận diện khuôn mặt để làm cho nó tiên tiến và chính xác hơn, nhưng nó tạo ra một cuộc cách mạng trong lĩnh vực này khi Viola-Jones đi kèm với Máy dò tìm thời gian thực có khả năng phát hiện khuôn mặt trong thời gian thực với độ chính xác cao.

    Nhận diện khuôn mặt là bước đầu tiên và cần thiết để nhận dạng khuôn mặt và được sử dụng để phát hiện khuôn mặt trong ảnh. Nó là một phần của phát hiện đối tượng và có thể sử dụng trong nhiều lĩnh vực như bảo mật, số liệu sinh học, thực thi pháp luật, giải trí, an toàn cá nhân, v.v.

    Nó được sử dụng để phát hiện khuôn mặt trong thời gian thực để giám sát và theo dõi người hoặc vật. Nó được sử dụng rộng rãi trong các máy ảnh để xác định nhiều lần xuất hiện trong khung hình Máy ảnh Ex-Mobile và DSLR DSLR. Facebook cũng đang sử dụng thuật toán nhận diện khuôn mặt để phát hiện khuôn mặt trong ảnh và nhận ra chúng.

    Phương pháp nhận diện khuôn mặt:

    Yan, Kriegman và Ahuja đã trình bày một phân loại cho các phương pháp nhận diện khuôn mặt. Các phương pháp này được chia thành bốn loại và thuật toán nhận diện khuôn mặt có thể thuộc về hai hoặc nhiều nhóm. Các loại này như sau-

    Các loại phương pháp nhận diện khuôn mặt khác nhau

    1. Đặc điểm "hiểu biết" cơ sở (Knowledge-Based):

    Phương pháp dựa trên kiến thức phụ thuộc vào bộ quy tắc và nó dựa trên kiến thức của con người để phát hiện khuôn mặt. Ex- Một khuôn mặt phải có mũi, mắt và miệng trong khoảng cách và vị trí nhất định với nhau. Vấn đề lớn với các phương pháp này là khó khăn trong việc xây dựng một bộ quy tắc phù hợp. Có thể có nhiều kết quả dương tính giả nếu các quy tắc quá chung chung hoặc quá chi tiết. Cách tiếp cận này là không đủ và không thể tìm thấy nhiều khuôn mặt trong nhiều hình ảnh.

    2. "Đặc tính" nhận dạng cơ sở(Feature-Based):

    Phương pháp dựa trên tính năng là xác định vị trí các khuôn mặt bằng cách trích xuất các đặc điểm cấu trúc của khuôn mặt. Đầu tiên nó được đào tạo như một bộ phân loại và sau đó được sử dụng để phân biệt giữa các vùng mặt và không mặt. Ý tưởng là để vượt qua giới hạn của kiến thức bản năng của chúng ta về khuôn mặt. Cách tiếp cận này chia thành nhiều bước và thậm chí các bức ảnh có nhiều khuôn mặt họ báo cáo tỷ lệ thành công là 94%.

    3. Mẫu phát hiện phù hợp(Template Matching):

    Phương pháp so khớp mẫu sử dụng các mẫu khuôn mặt được xác định trước hoặc được tham số hóa để xác định vị trí hoặc phát hiện các khuôn mặt bằng sự tương quan giữa các mẫu và hình ảnh đầu vào. Có thể chia khuôn mặt người thành mắt, đường viền mặt, mũi và miệng. Ngoài ra, một mô hình khuôn mặt có thể được xây dựng bởi các cạnh chỉ bằng cách sử dụng phương pháp phát hiện cạnh. Cách tiếp cận này đơn giản để thực hiện, nhưng nó không đủ để phát hiện khuôn mặt. Tuy nhiên, các mẫu biến dạng đã được đề xuất để giải quyết các vấn đề này.

    Template Matching

    4.Ngoại hình (Appearance-Based)

    The appearance-based method depends on a set of delegate training face images to find out face models. The appearance-based approach is better than other ways of performance. In general appearance-based method rely on techniques from statistical analysis and machine learning to find the relevant characteristics of face images. This method also used in feature extraction for face recognition.

    The appearance-based model further divided into sub-methods for the use of face detection which are as follows-

    4.1.Eigenface-Based:

    Eigenface based algorithm used for Face Recognition, and it is a method for efficiently representing faces using Principal Component Analysis.

    4.2.Distribution-Based:

    The algorithms like PCA and Fisher’s Discriminant can be used to define the subspace representing facial patterns. There is a trained classifier, which correctly identifies instances of the target pattern class from the background image patterns.

    4.3.Neural-Networks:

    Many detection problems like object detection, face detection, emotion detection, and face recognition, etc. have been faced successfully by Neural Networks.

    4.4.Support Vector Machine:

    Support Vector Machines are linear classifiers that maximise the margin between the decision hyperplane and the examples in the training set. Osuna et al. first applied this classifier to face detection.

    4.5.Sparse Network of Winnows:

    They defined a sparse network of two linear units or target nodes; one represents face patterns and other for the non-face patterns. It is less time consuming and efficient.

    4.6.Naive Bayes Classifiers:-

    They computed the probability of a face to be present in the picture by counting the frequency of occurrence of a series of the pattern over the training images. The classifier captured the joint statistics of local appearance and position of the faces.

    4.7.Hidden Markov Model:

    The states of the model would be the facial features, which usually described as strips of pixels. HMM’s commonly used along with other methods to build detection algorithms.

    4.8.Information Theoretical Approach:

    Markov Random Fields (MRF) can use for face pattern and correlated features. The Markov process maximises the discrimination between classes using Kullback-Leibler divergence. Therefore this method can be used in Face Detection.

    4.9.Inductive Learning:

    This approach has been used to detect faces. Algorithms like Quinlan’s C4.5 or Mitchell’s FIND-S used for this purpose.

    Cách thức nhận diện khuôn mặt hoạt động:

    Có nhiều kỹ thuật để phát hiện khuôn mặt, với sự trợ giúp của các kỹ thuật này, chúng ta có thể xác định khuôn mặt với độ chính xác cao hơn. Các kỹ thuật này có quy trình gần như giống nhau để nhận diện khuôn mặt như OpenCV, Mạng thần kinh, Matlab, v.v ... Tính năng nhận diện khuôn mặt hoạt động như để phát hiện nhiều khuôn mặt trong một hình ảnh. Ở đây chúng tôi làm việc trên OpenCV để nhận diện khuôn mặt và có một số bước về cách phát hiện khuôn mặt hoạt động, như sau

    Đầu tiên hình ảnh được nhập bằng cách cung cấp vị trí của hình ảnh. Sau đó, hình ảnh được chuyển đổi từ RGB sang Grayscale vì dễ dàng phát hiện các khuôn mặt trong thang độ xám.

    Chuyển đổi hình ảnh RGB sang Grayscale

    Sau đó, thao tác hình ảnh được sử dụng, trong đó thay đổi kích thước, cắt xén, làm mờ và làm sắc nét các hình ảnh được thực hiện nếu cần. Bước tiếp theo là phân đoạn hình ảnh, được sử dụng để phát hiện đường viền hoặc phân đoạn nhiều đối tượng trong một hình ảnh để phân loại có thể nhanh chóng phát hiện các đối tượng và khuôn mặt trong ảnh.

    Bước tiếp theo là sử dụng thuật toán tính năng Haar-Like, được đề xuất bởi Voila và Jones để nhận diện khuôn mặt. Thuật toán này được sử dụng để tìm vị trí của khuôn mặt người trong khung hoặc hình ảnh. Tất cả các khuôn mặt của con người đều có chung một số đặc tính phổ biến của khuôn mặt người như vùng mắt tối hơn so với các pixel lân cận và vùng mũi sáng hơn vùng mắt.

    Các tính năng haar-like để nhận diện khuôn mặt

    Haar-like thuật toán cũng được sử dụng để lựa chọn tính năng hoặc trích xuất tính năng cho một đối tượng trong ảnh, với sự trợ giúp của phát hiện cạnh, phát hiện đường thẳng, phát hiện trung tâm để phát hiện mắt, mũi, miệng, v.v. trong ảnh. Nó được sử dụng để chọn các tính năng cần thiết trong ảnh và trích xuất các tính năng này để nhận diện khuôn mặt.

    Bước tiếp theo là đưa ra tọa độ của x, y, w, h để tạo một hộp hình chữ nhật trong hình để hiển thị vị trí của khuôn mặt hoặc chúng ta có thể nói rằng để hiển thị vùng quan tâm trong ảnh. Sau này, nó có thể tạo một hộp hình chữ nhật trong khu vực quan tâm nơi nó phát hiện khuôn mặt. Ngoài ra còn có nhiều kỹ thuật phát hiện khác được sử dụng cùng nhau để phát hiện như phát hiện nụ cười, phát hiện mắt, phát hiện chớp mắt, v.v.

    Phát hiện thành công khuôn mặt trong ảnh

    Cách chạy Trình phát hiện khuôn mặt trong thời gian thực - Real - time(Webcam):

    Yêu cầu để chạy mã- Python, OpenCV, Webcam, Numpy.

    #import libraries
    import cv2
    import numpy as np
    #import classifier for face and eye detection
    face_classifier = cv2.CascadeClassifier(‘Haarcascades/haarcascade_frontalface_default.xml’)
    # Import Classifier for Face and Eye Detection
    face_classifier = cv2.CascadeClassifier(‘Haarcascades/haarcascade_frontalface_default.xml’)
    eye_classifier = cv2.CascadeClassifier (‘Haarcascades/haarcascade_eye.xml’)
    def face_detector (img, size=0.5):
    # Convert Image to Grayscale
    gray = cv2.cvtColor (img, cv2.COLOR_BGR2GRAY)
    faces = face_classifier.detectMultiScale (gray, 1.3, 5)
    If faces is ():
    return img
    # Given coordinates to detect face and eyes location from ROI
    for (x, y, w, h) in faces
    x = x — 100
    w = w + 100
    y = y — 100
    h = h + 100
    cv2.rectangle (img, (x, y), (x+w, y+h), (255, 0, 0), 2)
    roi_gray = gray[y: y+h, x: x+w]
    roi_color = img[y: y+h, x: x+w]
    eyes = eye_classifier.detectMultiScale (roi_gray)
    for (ex, ey, ew, eh) in eyes:
    cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,0,255),2)
    roi_color = cv2.flip (roi_color, 1)
    return roi_color
    # Webcam setup for Face Detection
    cap = cv2.VideoCapture (0)
    while True:
    ret, frame = cap.read ()
    cv2.imshow (‘Our Face Extractor’, face_detector (frame))
    if cv2.waitKey (1) == 13: #13 is the Enter Key
    break
    # When everything done, release the capture
    cap.release ()
    cv2.destroyAllWindows ()
    Các mạng quảng cáo ngoài Google Adsense hấp dẫn nhất 2019
    View 286 - Rating ★★★★☆

    Các mạng quảng cáo ngoài Google Adsense hấp dẫn nhất 2019

    Mô tả: Nếu bạn quan tâm đến đặt quảng cáo trên website/blog để kiếm tiền thì Google AdSense luôn là sự lựa chọn hàng đầu. Trong bài viết này, mình sẽ giới thiệu tới bạn các mạng quảng cáo ngoài Google Adsense được nhiều người yêu thích và tin dùng hiện nay.

    [Phần 2]Ý tưởng sáng tạo kiến tiền trên mạng người làm văn phòng cần biết
    View 994 - Rating ★★★★☆

    [Phần 2]Ý tưởng sáng tạo kiến tiền trên mạng người làm văn phòng cần biết

    Mô tả: Hiện nay có rất nhiều cách thức đầu tư hoặc kiến tiền trong môi trường trực tuyến hiện nay. Thông qua bài viết Ý tưởng kiến tiền trên mạng sáng tạo mà người làm văn phòng cần biết, chúng tôi hy vọng phần nào sẽ giúp các bạn tăng thêm thu nhập trong công việc.

    [Phần 1]Ý tưởng sáng tạo kiến tiền trên mạng người làm văn phòng cần biết
    View 985 - Rating ★★★★☆

    [Phần 1]Ý tưởng sáng tạo kiến tiền trên mạng người làm văn phòng cần biết

    Mô tả: Hiện nay có rất nhiều cách thức đầu tư hoặc kiến tiền trong môi trường trực tuyến hiện nay. Thông qua bài viết Ý tưởng kiến tiền trên mạng sáng tạo mà người làm văn phòng cần biết, chúng tôi hy vọng phần nào sẽ giúp các bạn tăng thêm thu nhập trong công việc.

    Chia sẽ cách kiếm tiền online bền vững và kinh nghiệm cần biết
    View 984 - Rating ★★★★☆

    Chia sẽ cách kiếm tiền online bền vững và kinh nghiệm cần biết

    Mô tả: Hiện có rất nhiều bài viết về thủ thuật việc kiếm tiền trên mạng . Bài viết này chúng tôi xin được chia sẽ cách kiếm tiền online một cách bền vững nhất và kinh nghiệm cần biết trong quá trình thực hiện. Chúc các bạn thành công

    Hướng dẫn cài đặt Adobe Premiere Pro CC 2018 cực đơn giản
    View 636 - Rating ★★★★☆

    Hướng dẫn cài đặt Adobe Premiere Pro CC 2018 cực đơn giản

    Mô tả: Adobe Premiere Pro CC 2018 là một phần mềm biên tập và chỉnh sữa video chuyên nghiệp hay được dùng trong các studio, chương trình có khả năng ghép sửa, chỉnh màu sắc, lồng nhạc. Sau đâu là phần download và hướng dẫn cài đặt Adobe Premiere Pro CC 2018 cực kỳ dễ dàng

    Adobe Premiere Pro CC 2018 và cách sử dụng miễn phí
    View 642 - Rating ★★★★☆

    Adobe Premiere Pro CC 2018 và cách sử dụng miễn phí

    Mô tả: Adobe Premiere Pro CC 2018 là một phần mềm biên tập và chỉnh sữa video chuyên nghiệp hay được dùng trong các studio, chương trình có khả năng ghép sửa, chỉnh màu sắc, lồng nhạc. Phần mềm kết hợp hiệu suất đáng kinh ngạc với giao diện người dùng cải tiến, đẹp mắt cùng một loạt các tính năng mới

    20 bài hát intro dành cho các bạn reup
    View 466 - Rating ★★★★☆

    20 bài hát intro dành cho các bạn reup

    Mô tả: Bạn đang săn lùng phần giới thiệu hấp dẫn hay nhạc outro cho loạt YouTube của mình? Thật khó để tìm thấy một bài hát hoàn hảo, đặc biệt là sau tất cả công việc bạn đã đưa vào để trau dồi kênh của mình, đó là lý do tại sao chúng tôi đã tuyển chọn 20 bài nhạc miễn phí bản quyền từ các tệp được xếp hạng cao nhất trong thư viện của chúng tôi.

    TechSmith Camtasia Studio Vesion 2018 hướng dẫn cài đặt  và cách sử dụng miễn phí
    View 299 - Rating ★★★★☆

    TechSmith Camtasia Studio Vesion 2018 hướng dẫn cài đặt và cách sử dụng miễn phí

    Mô tả: Camtasia Studio là phần mềm quay video với chất lượng hình ảnh và âm thanh khá tốt, tạo video đầu ra với nhiều định dạng khác nhau. Camtasia Studio còn cung cấp nhiều công cụ chỉnh sửa và tùy biến video, tăng khả năng sáng tạo với các video, chia sẻ video dễ dàng qua YouTube, Google Drive hoặc trang web được tích hợp.

    loading Đang tải...