Mục lục:

Nhận dạng và Nhận dạng khuôn mặt - Arduino Face ID sử dụng OpenCV Python và Arduino.: 6 bước
Nhận dạng và Nhận dạng khuôn mặt - Arduino Face ID sử dụng OpenCV Python và Arduino.: 6 bước

Video: Nhận dạng và Nhận dạng khuôn mặt - Arduino Face ID sử dụng OpenCV Python và Arduino.: 6 bước

Video: Nhận dạng và Nhận dạng khuôn mặt - Arduino Face ID sử dụng OpenCV Python và Arduino.: 6 bước
Video: Face Recognition and Identification | Arduino Face ID using openCV python and Arduino. 2024, Tháng bảy
Anonim
Image
Image

Nhận dạng khuôn mặt AKA Face ID là một trong những tính năng quan trọng nhất trên điện thoại di động hiện nay.

Vì vậy, tôi đã có một câu hỏi "tôi có thể có id khuôn mặt cho dự án Arduino của mình không" và câu trả lời là có…

Hành trình của tôi bắt đầu như sau:

Bước 1: Truy cập vào webcam

bước 2: Nhận dạng khuôn mặt.

bước 3: Thu thập dữ liệu

Bước 4: Đào tạo

bước 5: Nhận dạng khuôn mặt

bước 6: Lập trình Arduino

Tôi sẽ giải thích tất cả các bước dưới đây. Tôi hy vọng rằng điều này sẽ giúp bạn ra ngoài.

Bước 1: Truy cập vào Webcam

Truy cập vào Webcam
Truy cập vào Webcam

Bước đầu tiên để nhận dạng khuôn mặt là có quyền truy cập vào máy ảnh hoặc thị giác máy tính. Vì Ấn Độ đang bị khóa nên giải pháp rẻ nhất mà tôi tìm thấy là sử dụng webcam máy tính mà tôi có quyền truy cập bằng chương trình python sử dụng mô-đun openCV.

Bạn có thể đang nghĩ OpenCV là gì, phải không?

OpenCV (Open Source Computer Vision Library) là một thư viện phần mềm máy tính và thị giác máy tính mã nguồn mở. OpenCV được xây dựng để cung cấp một cơ sở hạ tầng chung cho các ứng dụng thị giác máy tính và để tăng tốc việc sử dụng cảm giác máy trong các sản phẩm thương mại.

Nếu Opencv được cài đặt trên máy tính của bạn thì bạn đã sẵn sàng. Nếu không thì hãy làm theo bước này.

mở dấu nhắc lệnh và gõ "pip install opencv".

Cảnh báo: Bạn có thể gặp lỗi vì "'pip' không được nhận dạng là lệnh nội bộ hoặc lệnh bên ngoài". mà Bạn cần thêm đường dẫn cài đặt pip của mình vào biến hệ thống PATH. Xem qua bài viết này nó có thể giúp bạn.

stackoverflow.com/questions/23708898/pip-i…

Sau khi OpenCV được cài đặt, chúng ta có thể bắt đầu… Để kiểm tra xem nó đã được cài đặt đúng cách chưa, hãy mở trình thông dịch Python của bạn và nhập thư viện. Hãy xem hình ảnh ở trên đó sẽ là đầu ra của bạn.

Tải xuống tệp python "AccessTo_webcam.py" và chạy nó. Tôi đã cung cấp tất cả các ý kiến cần thiết ở đó.

Vậy là xong, Bây giờ bạn có quyền truy cập vào webcam. Tốt lắm. chúng ta hãy chuyển sang bước 2.

Bước 2: Nhận dạng khuôn mặt

Nhận dạng khuôn mặt
Nhận dạng khuôn mặt

với sự trợ giúp của cùng một mô-đun OpenCV, chúng ta phải xác định xem có khuôn mặt nào trên luồng video hay không.

OpenCV cung cấp một phương pháp đào tạo hoặc các mô hình được đào tạo trước được gọi là Bộ phân loại xếp tầng. Các mô hình được đào tạo trước nằm trong thư mục dữ liệu trong cài đặt OpenCV. Tôi đang cung cấp tệp đó chỉ cần tải xuống và đặt nó vào thư mục dự án của bạn. Thư mục lưu trữ tệp "AccessTo_webcam.py". Nếu bạn chưa tạo thì hãy làm điều đó.

Tải xuống "haarcascade_frontalface_default" và đặt nó vào thư mục dự án chính.

Tải xuống "Face_identification.py" và đặt nó vào thư mục chính của dự án. Tất cả lời giải thích được cung cấp trong đó.

Giờ đây, bạn có thể xác định các khuôn mặt trong một luồng video. Vì vậy, chúng ta hãy tiến hành bước 3.

Bước 3: Thu thập dữ liệu

Thu thập dữ liệu
Thu thập dữ liệu

Để nhận ra các khuôn mặt, chúng ta cần đào tạo chương trình python của mình. Chúng tôi cần một số dữ liệu.

Thu thập dữ liệu là bước dễ dàng nhất trong dự án này. tạo một thư mục có tên "image_data" trong thư mục dự án chính của bạn. Bên trong thư mục "image_data", tạo một số thư mục bổ sung với tên của người đó, nơi chúng tôi sẽ lưu trữ dữ liệu. Ví dụ:

Trong thư mục "image_data", tôi đã tạo thêm hai thư mục có tên "HRK" và "Yahiya". như trong hình trên.

Bây giờ, hãy tạo các thư mục của riêng bạn và đặt tên cho chúng.

Sau khi các thư mục được tạo, hãy bắt đầu thu thập hình ảnh của người cụ thể đó. Tôi khuyên bạn nên thu thập gần 20 hình ảnh cho mỗi người. Bạn cũng có thể thêm nhiều hình ảnh hơn nhưng hãy xem dữ liệu được thu thập cho tất cả những người có cùng số lượng hình ảnh. Nó giúp cung cấp độ chính xác.

vậy là xong, bây giờ chúng ta hãy chuyển sang bước 4.

Bước 4: Đào tạo

Tóm lại, chúng ta sẽ xem qua tất cả các thư mục và hình ảnh có trong thư mục "image_data" và tạo một từ điển chứa ID nhãn và tên tương ứng. Đồng thời, chúng tôi sẽ tải hình ảnh để phát hiện khuôn mặt trong mỗi và mọi hình ảnh mà chúng tôi gọi là "Vùng ưa thích" và tạo tệp ".yml" chứa thông tin đó.

Giả sử rằng bạn đã thu thập dữ liệu về người X và Y.

chúng tôi sẽ gắn nhãn người X là 1, đây sẽ là ID nhãn của anh ta và tên sẽ là X. Chúng tôi tải hình ảnh để tìm khuôn mặt của anh ấy, tức là Khu vực quan tâm và nối dữ liệu vào danh sách.

Các bước tương tự sẽ được thực hiện cho người Y. Và cuối cùng, chúng tôi sẽ tạo một tệp ".yml".

Tải xuống tệp "face_trainer.py" và đặt nó vào thư mục chính của dự án. Tất cả các giải thích cần thiết được cung cấp trong chính tệp đó.

Khi bạn chạy chương trình này, nó sẽ duyệt qua tất cả các hình ảnh và tạo ra hai tệp có tên "label.pickle" và "trainner.yml". Bây giờ bạn đã đào tạo mô hình của riêng bạn. vì vậy chúng ta hãy chuyển sang bước 5.

Bước 5: Nhận dạng khuôn mặt

Nhận dạng khuôn mặt
Nhận dạng khuôn mặt

Nếu bạn đã thực hiện đúng tất cả các bước thì bạn có thể đã tạo dữ liệu được đào tạo của riêng mình. Bây giờ chúng tôi sẽ sử dụng dữ liệu đó để nhận dạng khuôn mặt.

Về cơ bản, chúng tôi sẽ tải các mô hình được đào tạo của mình vào tệp python, Truy cập webcam của chúng tôi và xác định Khuôn mặt trong luồng video và thực hiện so sánh hoặc dự đoán giữa khuôn mặt hiện tại được nhận dạng trong luồng video và mô hình đã được đào tạo. nếu dữ liệu được khớp thì chúng tôi nói rằng người đó được nhận dạng, nó chỉ đơn giản vậy thôi…

Tải xuống "face_recognise.py" và chạy nó. Tất cả các thông tin cần thiết được cung cấp trong đó. Bây giờ khuôn mặt của bạn có thể đã được nhận dạng. nếu độ chính xác không tốt thì hãy thử cập nhật dữ liệu. nếu bạn đã sẵn sàng thì hãy tiếp tục bước 6 /

Bước 6: Lập trình Arduino

Bước cuối cùng và cũng là bước cuối cùng là lập trình Arduino, Và để cung cấp một phương thức giao tiếp giữa python và Arduino. Đối với giao tiếp, tôi đã sử dụng "Giao tiếp nối tiếp". Xem qua video mà tôi đã liên kết ở trên để tìm cách hoạt động của Giao tiếp nối tiếp và thiết lập một. Bạn sẽ tìm thấy tất cả các tệp được yêu cầu trong mô tả video.

Nếu bạn đã xem qua video thì hãy để tôi giải thích cho bạn những gì tôi đã làm. Khi khuôn mặt của tôi được nhận dạng thì ID nhãn được cung cấp là 2. Khi ID nhãn là 2, tôi sẽ gửi '1' dưới dạng dữ liệu nối tiếp tới Arduino của mình. Điều này sẽ bật mạch LED chaser của tôi. Nếu ID nhãn khác 2 thì tôi sẽ gửi '0' dưới dạng dữ liệu nối tiếp, điều này sẽ tắt Mạch tìm kiếm LED của tôi.

Tải xuống tệp "ard_chaser.ino". Nó là một chương trình LED chaser đơn giản sử dụng giao tiếp nối tiếp.

Simillerly tải xuống "face_recogniser1.py" sẽ thiết lập giao tiếp nối tiếp giữa Arduino và chương trình python.

Của bạn đây. Tôi hy vọng rằng bạn đã học được một cái gì đó mới. Đăng ký kênh youtube của tôi để biết thêm thông tin liên quan đến python và Arduino. Chia sẻ cái này nếu bạn thích nó. Tiếp tục ủng hộ.

Cảm ơn bạn.

Đề xuất: