Daftar Isi:

Pengenalan Wajah Opencv: 4 Langkah
Pengenalan Wajah Opencv: 4 Langkah

Video: Pengenalan Wajah Opencv: 4 Langkah

Video: Pengenalan Wajah Opencv: 4 Langkah
Video: [MUDAH] Face Detection OpenCV Python Terbaru 2022 2024, November
Anonim
Pengenalan Wajah Opencv
Pengenalan Wajah Opencv

Pengenalan wajah adalah hal yang cukup umum sekarang, di banyak aplikasi seperti ponsel pintar, banyak gadget 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 sekarang dapat menambahkan pengenalan wajah ke aplikasi Anda sendiri seperti, sistem keamanan.

Dalam proyek ini, saya akan memberi tahu Anda cara membuat pengenalan wajah dengan menggunakan Raspberry Pi dan kami telah menggunakan arduino+Lcd untuk menampilkan nama orang tersebut..

Langkah 1: Hal-hal yang Anda Butuhkan

Hal yang Anda Butuhkan
Hal yang Anda Butuhkan

1. RASPBERRY PI

2. ARDUINO UNO / NANO

TAMPILAN LCD 3,16x2

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

Langkah 2: Opencv-Intro dan Instalasi

Opencv-Intro dan Instalasi
Opencv-Intro dan Instalasi

OpenCV (open source computer vision library) adalah perpustakaan yang sangat berguna - menyediakan banyak fitur berguna seperti pengenalan teks, pengenalan wajah, deteksi objek, pembuatan peta kedalaman, dan pembelajaran mesin.

Artikel ini akan menunjukkan cara menginstal Opencv dan library lain di Raspberry Pi yang akan berguna saat melakukan deteksi objek dan proyek lainnya. Dari sana, kita akan belajar cara melakukan operasi gambar dan video dengan menjalankan proyek pengenalan objek dan pembelajaran mesin. Secara khusus, kami akan menulis kode sederhana untuk mendeteksi wajah dalam sebuah gambar.

Apa itu OpenCV?

OpenCV adalah open source computer vision dan perpustakaan perangkat lunak pembelajaran mesin. OpenCV dirilis di bawah lisensi BSD sehingga gratis untuk penggunaan akademis dan komersial. Ini memiliki antarmuka C++, Python, dan Java dan mendukung Windows, Linux, Mac OS, iOS, dan Android. OpenCV dirancang untuk efisiensi komputasi dan fokus yang kuat pada aplikasi waktu nyata.

Bagaimana Cara Menginstal OpenCV di Raspberry Pi?

Untuk menginstal OpenCV, kita harus menginstal Python. Karena Raspberry Pis telah dimuat sebelumnya dengan Python, kita dapat menginstal OpenCV secara langsung.

Ketik perintah di bawah ini untuk memastikan Raspberry Pi Anda mutakhir dan untuk memperbarui paket yang diinstal pada Raspberry Pi Anda ke versi terbaru.

sudo apt-get updatesudo apt-get upgrade

Ketik perintah berikut di terminal untuk menginstal paket yang diperlukan untuk OpenCV di Raspberry Pi Anda.

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

Ketik perintah berikut untuk menginstal OpenCV 3 untuk Python 3 di Raspberry Pi Anda, pip3 memberi tahu kami bahwa OpenCV akan diinstal untuk Python 3.

sudo pip3 instal opencv-contrib-python libwebp6

Sekarang, OpenCV harus diinstal.

(jika ada kesalahan yang terjadi: Anda masih dapat melakukannya dengan mengikuti tautan di bawah ini

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

Sekarang jangan terburu-buru kita perlu memeriksanya apakah sudah terpasang dengan benar atau tidak

Uji opencv Anda dengan:

1.pergi ke terminal Anda dan ketik "python"

2.lalu ketik "import cv2".

3.lalu ketik " cv2._version_".

kemudian instal perpustakaan ini

pip3 instal python-numpy

pip3 instal python-matplotlib

Kode uji untuk mendeteksi wajah dalam gambar:

impor cv2

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

image = cv2.imread('nama file Anda') #example cv2.imread('home/pi/Desktop/filename.jpg')

Anda akan mendapatkan output seperti kotak persegi yang terbentuk di wajah orang-orang yang ada di gambar.

Langkah 3: Mendeteksi dan Mengenali Wajah dalam Video Waktu Nyata

impor cv2

impor numpy sebagai np

impor os

impor serial

ser = serial. Serial('/dev/ttyACM0', 9600, timeout=1) # /dev/ttyACM0 mungkin berubah dalam kasus Anda, tergantung pada arduino

cascadePath = "haarcascade_frontalface_default.xml"

faceCascade = cv2. CascadeClassifier(cascadePath)

pengenal=cv2.face.createLBPHFaceRecognizer()

gambar=

label=

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

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

gambar.tambahkan(im)

labels.append(int(namafile.split('.')[0][0]))

#cetak nama file

nama_file=buka('labels.txt')

nama=nama_file.read().split('\n')

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

print 'Latihan Selesai… '

font = cv2. FONT_

HESHEY_SIMPLEXcap=cv2. VideoCapture(1) # perangkat video Anda

lastRes=''hitungan=0

sementara (1):

_, bingkai=cap.read()

abu-abu=cv2.cvtColor(bingkai, cv2. COLOR_BGR2GRAY)

wajah = faceCascade.detectMultiScale(abu-abu, 1.3, 5)

hitung +=1

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

cv2.persegi panjang(bingkai, (x, y), (x+w, y+h), (255, 0, 0), 2)

if count>20: res=names[recognizer.predict(abu-abu[y:y+h, x:x+w])-1]

jika res!=lastRes:

lastRes=res

cetak lastRes

ser.write(Res terakhir)

hitung = 0

merusak

cv2.imshow('bingkai', bingkai)

k = 0xFF & cv2.waitKey(10)

jika k == 27:

merusak

tutup.rilis()

ser.close()

cv2.destroySemuaWindows()

Langkah 4: Menjalankan Kode

Menjalankan Kode
Menjalankan Kode

1. Unduh file yang dilampirkan pada langkah sebelumnya

2. salin foto abu-abu Anda (6 gambar/ sampel…..) ke folder dataset Anda

1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (nomor gambar kumpulan data untuk folder kumpulan 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 dapat menambahkan label untuk masing-masing orang,

jadi jika pi mendeteksi wajah di antara 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, maka itu dicap sebagai Tom Cruise, jadi harap berhati-hati saat mengunggah foto………………

dan kemudian hubungkan arduino Anda ke raspberry Pi Anda dan buat perubahan di main.py codeser = serial. Serial('/dev/ttyACM0', 9600, timeout=1) 3.masukkan semua file yang diunduh (main.py, folder dataset, haarcascade_frontalface_default.xml dalam satu folder.)

3. Sekarang buka terminal Raspi, jalankan kode Anda dengan "Sudo python main.py"

Direkomendasikan: