Mục lục:
- 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
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
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
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
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
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
Để 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
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:
Gương nhận dạng khuôn mặt với ngăn bí mật: 15 bước (có hình ảnh)
Gương nhận dạng khuôn mặt có ngăn bí mật: Tôi luôn bị hấp dẫn bởi những ngăn bí mật luôn sáng tạo được sử dụng trong truyện, phim và những thứ tương tự. Vì vậy, khi tôi xem Cuộc thi Ngăn chứa Bí mật, tôi đã quyết định tự mình thử nghiệm ý tưởng và làm một chiếc gương soi bình thường có thể mở ra
Nhận diện, đào tạo và nhận diện khuôn mặt Opencv: 3 bước
Opencv Face Detection, Training and Recognition: OpenCV là một thư viện thị giác máy tính mã nguồn mở rất phổ biến để thực hiện các tác vụ xử lý hình ảnh cơ bản như làm mờ, trộn hình ảnh, nâng cao chất lượng hình ảnh cũng như video, tạo ngưỡng, v.v. Ngoài xử lý hình ảnh, nó kích động
Nhận dạng khuôn mặt Opencv: 4 bước
Opencv Face Recognition: Nhận dạng khuôn mặt là một điều khá phổ biến hiện nay trong nhiều ứng dụng như điện thoại thông minh, nhiều thiết bị điện tử. Loại công nghệ này liên quan đến rất nhiều thuật toán và công cụ, v.v. sử dụng một số nền tảng SOC nhúng được nhúng như Raspberry
Hệ thống bảo mật nhận dạng khuôn mặt cho tủ lạnh với Raspberry Pi: 7 bước (có hình ảnh)
Hệ thống bảo mật nhận dạng khuôn mặt cho tủ lạnh với Raspberry Pi: Duyệt qua internet, tôi đã phát hiện ra rằng giá cho các hệ thống bảo mật thay đổi từ 150 đô la đến 600 đô la trở lên, nhưng không phải tất cả các giải pháp (ngay cả những giải pháp rất đắt tiền) đều có thể được tích hợp với các giải pháp khác công cụ thông minh tại nhà của bạn! Ví dụ: bạn không thể đặt
Nhận diện khuôn mặt + nhận dạng: 8 bước (có hình ảnh)
Nhận diện khuôn mặt + nhận dạng: Đây là một ví dụ đơn giản về việc chạy tính năng nhận diện và nhận diện khuôn mặt với OpenCV từ máy ảnh. LƯU Ý: TÔI ĐÃ THỰC HIỆN DỰ ÁN NÀY CHO CUỘC THI CẢM BIẾN VÀ TÔI ĐÃ SỬ DỤNG MÁY ẢNH LÀM CẢM BIẾN ĐỂ THEO DÕI VÀ CÁC MẶT CẢNH NHẬN. Vì vậy, Mục tiêu của chúng tôi Trong phiên này, 1. Cài đặt Anaconda