Mục lục:
- Bước 1: Những thứ bạn cần
- Bước 2: Opencv-Intro và Cài đặt
- Bước 3: Phát hiện và nhận dạng khuôn mặt trong video thời gian thực
- Bước 4: Chạy mã
Video: Nhận dạng khuôn mặt Opencv: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Ngày nay, nhận dạng khuôn mặt là một điều khá phổ biến, 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. thư viện như OpenCV, bây giờ bạn có thể thêm nhận dạng khuôn mặt vào các ứng dụng của riêng bạn như hệ thống bảo mật.
Trong dự án này, tôi sẽ cho bạn biết cách tạo tính năng nhận dạng khuôn mặt bằng cách sử dụng Raspberry Pi và chúng tôi đã sử dụng arduino + Lcd để hiển thị tên của người đó..
Bước 1: Những thứ bạn cần
1. RASPBERRY PI
2. ARDUINO UNO / NANO
MÀN HÌNH LCD 3,16x2 lCD
4. RASPI-CAMERA / WEBcam (tôi thích webcam để có kết quả tốt hơn)
Bước 2: Opencv-Intro và Cài đặt
OpenCV (thư viện thị giác máy tính mã nguồn mở) là một thư viện rất hữu ích - nó cung cấp nhiều tính năng hữu ích như nhận dạng văn bản, nhận dạng khuôn mặt, phát hiện đối tượng, tạo bản đồ độ sâu và học máy.
Bài viết này sẽ hướng dẫn bạn cách cài đặt Opencv và các thư viện khác trên Raspberry Pi sẽ rất hữu ích khi thực hiện phát hiện đối tượng và các dự án khác. Từ đó, chúng ta sẽ học cách thực hiện các hoạt động hình ảnh và video bằng cách thực hiện một dự án học máy và nhận dạng đối tượng. Cụ thể, chúng tôi sẽ viết một đoạn mã đơn giản để phát hiện khuôn mặt trong một hình ảnh.
OpenCV là gì?
OpenCV 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 phát hành theo giấy phép BSD, miễn phí cho cả mục đích học thuật và thương mại. Nó có giao diện C ++, Python và Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android. OpenCV được thiết kế cho hiệu quả tính toán và tập trung mạnh vào các ứng dụng thời gian thực.
Làm thế nào để cài đặt OpenCV trên Raspberry Pi?
Để cài đặt OpenCV, chúng ta cần cài đặt Python. Vì Raspberry Pis được tải sẵn Python nên chúng ta có thể cài đặt OpenCV trực tiếp.
Nhập các lệnh bên dưới để đảm bảo rằng Raspberry Pi của bạn được cập nhật và cập nhật các gói đã cài đặt trên Raspberry Pi của bạn lên phiên bản mới nhất.
sudo apt-get updateudo apt-get nâng cấp
Nhập các lệnh sau vào thiết bị đầu cuối để cài đặt các gói cần thiết cho OpenCV trên Raspberry Pi của bạn.
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqttc4-test libqttc4-test
Nhập lệnh sau để cài đặt OpenCV 3 cho Python 3 trên Raspberry Pi của bạn, pip3 cho chúng tôi biết rằng OpenCV sẽ được cài đặt cho Python 3.
sudo pip3 cài đặt opencv-Contrib-python libwebp6
Bây giờ, OpenCV sẽ được cài đặt.
(nếu có bất kỳ lỗi nào xảy ra: bạn vẫn có thể làm điều đó bằng cách nhấp vào liên kết bên dưới
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Bây giờ đừng vội, chúng ta cần kiểm tra xem nó đã được cài đặt đúng cách hay chưa
Kiểm tra opencv của bạn bằng cách:
1. đi đến thiết bị đầu cuối của bạn và nhập "python"
2. sau đó nhập "nhập cv2".
3. sau đó nhập "cv2._ phiên bản_".
sau đó cài đặt các thư viện này
pip3 cài đặt python-numpy
pip3 cài đặt python-matplotlib
Mã kiểm tra để phát hiện khuôn mặt trong hình ảnh:
nhập cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('your file name') #example cv2.imread ('home / pi / Desktop / filename.jpg')
bạn sẽ nhận được kết quả giống như một hộp vuông được tạo thành trên khuôn mặt của những người trong hình.
Bước 3: Phát hiện và nhận dạng khuôn mặt trong video thời gian thực
nhập cv2
nhập numpy dưới dạng np
nhập hệ điều hành
nhập nối tiếp
ser = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) # / dev / ttyACM0 có thể thay đổi trong trường hợp của bạn, tùy thuộc vào arduino
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
Recogzer = cv2.face.createLBPHFaceRecognizer ()
hình ảnh =
nhãn =
cho tên tệp trong os.listdir ('Tập dữ liệu'):
im = cv2.imread ('Dataset /' + filename, 0)
images.append (im)
label.append (int (filename.split ('.') [0] [0]))
#print tên tệp
names_file = open ('label.txt')
names = names_file.read (). split ('\ n')
Recogzer.train (hình ảnh, np.array (nhãn))
print 'Huấn luyện xong… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # thiết bị video của bạn
lastRes = '' count = 0
trong khi (1):
_, frame = cap.read ()
xám = cv2.cvtColor (khung, cv2. COLOR_BGR2GRAY)
face = faceCascade.detectMultiScale (xám, 1.3, 5)
đếm + = 1
for (x, y, w, h) in the face:
cv2.rectangle (frame, (x, y), (x + w, y + h), (255, 0, 0), 2)
nếu số lượng> 20: res = names [Recogzer.p Dự đoán (xám [y: y + h, x: x + w]) - 1]
nếu res! = lastRes:
lastRes = res
in lastRes
ser.write (lastRes)
đếm = 0
nghỉ
cv2.imshow ('frame', frame)
k = 0xFF & cv2.waitKey (10)
nếu k == 27:
nghỉ
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Bước 4: Chạy mã
1. Tải xuống các tệp đính kèm ở bước trước
2. sao chép ảnh xám của bạn (6 ảnh / mẫu…..) vào thư mục tập dữ liệu của bạn
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (số hình ảnh tập dữ liệu để mở thêm thư mục tập dữ liệu)
2. Brad Pitt-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Leo-3_1, 3_2, 3_3, 3_4, 3_5, 3_6
4. Người sắt4_1, 4_2, 4_3, 4_4, 4_5, 4_6
như ở trên, bạn có thể thêm nhãn cho những người tương ứng,
vì vậy nếu số pi phát hiện bất kỳ khuôn mặt nào trong số 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 thì nó được gắn nhãn là Tom Cruise, vì vậy hãy cẩn thận khi tải ảnh lên ……………….
và sau đó kết nối arduino với raspberry Pi của bạn và thực hiện các thay đổi trong main.py Codeer = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) 3. nhập tất cả các tệp đã tải xuống (main.py, thư mục tập dữ liệu, haarcascade_frontalface_default.xml trong một thư mục.)
3. Bây giờ mở Raspi-terminal chạy mã của bạn bằng cách "sudo python main.py"
Đề 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 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: Nhận dạng khuôn mặt ID khuôn mặt AKA 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 " liệu 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 chúng tôi
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