Isi kandungan:

Pengecaman Muka Opencv: 4 Langkah
Pengecaman Muka Opencv: 4 Langkah

Video: Pengecaman Muka Opencv: 4 Langkah

Video: Pengecaman Muka Opencv: 4 Langkah
Video: Part 4: Training Data Wajah (Machine Learning) untuk Face Recognition dengan OpenCV & LBPH Algorithm 2024, Julai
Anonim
Pengecaman Muka Opencv
Pengecaman Muka Opencv

Pengecaman wajah adalah perkara biasa sekarang, dalam banyak aplikasi seperti telefon pintar, banyak alat elektronik. Teknologi semacam ini melibatkan banyak algoritma dan alat dll. Yang menggunakan beberapa platform SOC tertanam seperti Raspberry Pi dan visi komputer sumber terbuka perpustakaan seperti OpenCV, anda kini boleh menambahkan pengecaman wajah ke aplikasi anda sendiri seperti, sistem keselamatan.

Dalam projek ini, saya akan memberitahu anda bagaimana membina pengecaman wajah dengan menggunakan Raspberry Pi dan kami telah menggunakan arduino + Lcd untuk memaparkan nama orang tersebut..

Langkah 1: Perkara yang Anda Perlu

Perkara yang Anda Perlu
Perkara yang Anda Perlu

1. RASPBERRY PI

2. ARDUINO UNO / NANO

PAPARAN 3.16x2 lCD

4. RASPI-CAMERA / WEBcam (saya lebih suka webcam untuk hasil yang lebih baik)

Langkah 2: Opencv-Intro dan Pemasangan

Opencv-Pengenalan dan Pemasangan
Opencv-Pengenalan dan Pemasangan

OpenCV (perpustakaan penglihatan komputer sumber terbuka) adalah perpustakaan yang sangat berguna - ia menyediakan banyak ciri berguna seperti pengecaman teks, pengecaman wajah, pengesanan objek, pembuatan peta kedalaman, dan pembelajaran mesin.

Artikel ini akan menunjukkan kepada anda cara memasang Opencv dan perpustakaan lain di Raspberry Pi yang akan sangat berguna ketika melakukan pengesanan objek dan projek lain. Dari sana, kita akan belajar bagaimana melakukan operasi gambar dan video dengan melaksanakan projek pengenalan objek dan pembelajaran mesin. Secara khusus, kami akan menulis kod ringkas untuk mengesan wajah dalam gambar.

Apa itu OpenCV?

OpenCV adalah perpustakaan perisian sumber terbuka dan perisian pembelajaran komputer. OpenCV dikeluarkan di bawah lesen BSD menjadikannya percuma untuk kegunaan akademik dan komersial. Ia mempunyai antara muka C ++, Python, dan Java dan menyokong Windows, Linux, Mac OS, iOS, dan Android. OpenCV dirancang untuk kecekapan komputasi dan fokus yang kuat pada aplikasi masa nyata.

Bagaimana Memasang OpenCV pada Raspberry Pi?

Untuk memasang OpenCV, kita perlu memasang Python. Oleh kerana Raspberry Pis dimuat dengan Python, kita boleh memasang OpenCV secara langsung.

Taipkan arahan di bawah ini untuk memastikan Raspberry Pi anda terkini dan untuk mengemas kini pakej yang dipasang pada Raspberry Pi anda ke versi terkini.

sudo apt-get updatesudo apt-get upgrade

Ketik perintah berikut di terminal untuk memasang pakej yang diperlukan untuk OpenCV pada Raspberry Pi anda.

sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4

Ketik arahan berikut untuk memasang OpenCV 3 untuk Python 3 pada Raspberry Pi anda, pip3 memberitahu kami bahawa OpenCV akan dipasang untuk Python 3.

sudo pip3 memasang opencv-contrib-python libwebp6

Sekarang, OpenCV harus dipasang.

(jika berlaku kesilapan: tetap anda boleh melakukannya dengan mengikuti pautan di bawah

https://www.instructables.com/id/Raspberry-Pi-Hand…)

Sekarang jangan terburu-buru kita perlu memeriksanya sama ada dipasang dengan betul atau tidak

Uji pembukaan anda dengan:

1. pergi ke terminal anda dan typr "python"

2. kemudian taip "import cv2".

3. kemudian taip "cv2._ versi_".

kemudian pasang perpustakaan ini

pip3 memasang python-numpy

pip3 memasang python-matplotlib

Uji kod untuk mengesan wajah dalam gambar:

import cv2

faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");

image = cv2.imread ('nama fail anda') #contoh cv2.imread ('home / pi / Desktop / nama fail.jpg')

anda akan mendapat output seperti kotak persegi yang terbentuk di wajah orang yang ada dalam gambar.

Langkah 3: Mengesan dan Mengenal Wajah dalam Video Masa Nyata

import cv2

import numpy sebagai np

import os

siri import

ser = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) # / dev / ttyACM0 mungkin berubah dalam kes anda, bergantung pada arduino

cascadePath = "haarcascade_frontalface_default.xml"

faceCascade = cv2. CascadeClassifier (cascadePath)

pengecam = cv2.face.createLBPHFaceRecognizer ()

gambar =

label =

untuk nama fail di os.listdir ('Dataset'):

im = cv2.imread ('Dataset /' + nama fail, 0)

gambar. tambah (im)

labels.append (int (nama fail.split ('.') [0] [0]))

#cetak nama fail

names_file = terbuka ('labels.txt')

names = names_file.read (). split ('\ n')

mengenali.train (gambar, np.array (label))

cetak 'Latihan Selesai… '

fon = cv2. FONT_

HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # peranti video anda

lastRes = "hitungan = 0

sementara (1):

_, bingkai = cap.read ()

kelabu = cv2.cvtColor (bingkai, cv2. COLOR_BGR2GRAY)

wajah = faceCascade.detectMultiScale (kelabu, 1.3, 5)

hitung + = 1

untuk (x, y, w, h) di muka:

cv2. segi empat tepat (bingkai, (x, y), (x + w, y + h), (255, 0, 0), 2)

jika kiraan> 20: res = nama [pengecam.prediksi (kelabu [y: y + h, x: x + w]) - 1]

jika res! = lastRes:

lastRes = res

cetak lastRes

ser.write (lastRes)

kiraan = 0

rehat

cv2.imshow ('bingkai', bingkai)

k = 0xFF & cv2.waitKey (10)

jika k == 27:

rehat

cap.release ()

ser.tutup ()

cv2.destroyAllWindows ()

Langkah 4: Menjalankan Kod

Menjalankan Kod
Menjalankan Kod

1. Muat turun fail yang dilampirkan pada langkah sebelumnya

2. salin foto kelabu anda (6 gambar / sampel…..) ke folder set data anda

1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (nombor gambar set data untuk folder set data yang lebih terbuka)

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. Ironman4_1, 4_2, 4_3, 4_4, 4_5, 4_6

seperti di atas, anda boleh menambahkan label untuk orang yang berkenaan,

jadi jika pi mengesan wajah di antara 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, maka ia dilabelkan sebagai Tom Cruise, jadi berhati-hatilah semasa memuat naik foto ………………

dan kemudian sambungkan arduino anda ke raspberry Pi anda dan buat perubahan pada main.py codeer = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) 3. masukkan semua fail yang dimuat turun (main.py, folder set data, haarcascade_frontalface_default.xml dalam satu folder.)

3. Sekarang buka terminal Raspi jalankan kod anda dengan "sudo python main.py"

Disyorkan: