Prepoznavanje lica u stvarnom vremenu pomoću Pythona

Isprobajte Naš Instrument Za Uklanjanje Problema

U ovom sam videu objasnio koji je proces koji moramo poduzeti za prepoznavanje lica. Objašnjavam sva tri procesa za prepoznavanje lica

  1. Izrada skupa podataka
  2. Obučavanje slika
    3) Prepoznavanje

Također sam objasnio kako instalirati biblioteku OpenCV za izvršavanje ovog zadatka.
Ako vam treba objašnjenje za ovaj kod, komentirajte to i uskoro ću snimiti svoj sljedeći video o tome.
Ako imate bilo kakvih nedoumica, slobodno pitajte u odjeljku za komentare.
Kôd i veza
https://drive.google.com/drive/folders/1noWNY_ty-2Q8eIHR9eRoPTUDpixH2Uiz?usp=sharing
Ne zaboravite stvoriti skup mapa i trener. i sve te datoteke držite u jednoj mapi, u protivnom ćete dobiti pogrešku tijekom izvođenja ovog programa.


Prepoznavanje lica pomoću Pythona i OpenCV -a s web kamerom

OpenCV je knjižnica koja se koristi za obradu slika pomoću programskih jezika poput pythona. Ovaj projekt koristi OpenCV knjižnicu za otkrivanje lica u stvarnom vremenu koristeći vašu web kameru kao primarnu kameru.



Za to su potrebni sljedeći uvjeti:-

  1. Python 2.7
  2. OpenCV
  3. Numpy
  4. Haar Cascade Frontalni klasifikatori lica

Korišteni pristup/algoritmi:

  1. Ovaj projekt koristi algoritam LBPH (Histogrami lokalnih binarnih uzoraka) za otkrivanje lica. Označava piksele slike postavljanjem praga okoline svakog piksela i smatra rezultat binarnim brojem.
  2. LBPH koristi 4 parametra:
    (i) Polumjer: radijus se koristi za izgradnju kružnog lokalnog binarnog uzorka i predstavlja radijus oko
    središnji piksel.
    (ii) Susjedi: broj točaka uzorka za izgradnju kružnog lokalnog binarnog uzorka.
    (iii) Mreža X: broj ćelija u vodoravnom smjeru.
    (iv) Mreža Y: broj ćelija u okomitom smjeru.
  3. Izrađeni model je obučen s licima s oznakom koja im je dana, a kasnije se stroju daju testni podaci i stroj odlučuje ispravnu oznaku za njega.

Kako koristiti :

  1. Napravite direktorij na svom računalu i dajte mu ime (recimo projekt)
  2. Izradite dvije python datoteke pod nazivom create_data.py i face_recognize.py, kopirajte u njih prvi izvorni kod i drugi izvorni kod.
  3. Kopirajte haarcascade_frontalface_default.xml u direktorij projekta, možete ga dobiti u opencv -u ili iz
    ovdje .
  4. Sada ste spremni za pokretanje sljedećih kodova.
# Creating database # It captures images and stores them in datasets # folder under the folder name of sub_data import cv2, sys, numpy, os haar_file = 'haarcascade_frontalface_default.xml' # All the faces data will be # present this folder datasets = 'datasets' # These are sub data sets of folder, # for my faces I've used my name you can # change the label here sub_data = 'vivek' path = os.path.join(datasets, sub_data) if not os.path.isdir(path): os.mkdir(path) # defining the size of images (width, height) = (130, 100) #'0' is used for my webcam, # if you've any other camera # attached use '1' like this face_cascade = cv2.CascadeClassifier(haar_file) webcam = cv2.VideoCapture(0) # The program loops until it has 30 images of the face. count = 1 while count

face detection

Datasets Storage :

data_sets

data_sets


Real-Time Face Recognition Using Python And OpenCV

A real time face recognition system is capable of identifying or verifying a person from a video frame. To recognize the face in a frame, first you need to detect whether the face is present in the frame. If it is present, mark it as a region of interest (ROI), extract the ROI and process it for facial recognition.

Real time face recognition software

This project is divided into two parts: creating a database, and training and testing.

Creating a database

Take pictures of the person for face recognition after running create_database.py script. It automatically creates Train folder in Database folder containing the face to be recognised. You can change the name from Train to the person’s name.

While creating the database, the face images must have different expressions, which is why a 0.38-second delay is given in the code for creating the data set. In this example, we take about 45 pictures/images and extract the face, convert it into grayscale and save it to the database folder with its name.

Training and testing

Training and face recognition is done next. face_rec.py code does everything. The algorithm used here is Local Binary Patterns Histograms (LBPH).

Screenshot of Haar features | real time face recognition

Fig. 1: Screenshot of Haar features

Face detection is the process of finding or locating one or more human faces in a frame or image. Haar-like feature algorithm by Viola and Jones is used for face detection. In Haar features, all human faces share some common properties. These regularities may be matched using Haar features, as shown in Fig. 1.

php kalendar događaja s mysql bazom podataka

Two properties common to human faces are:

  1. The eye region is darker than the upper cheeks.
  2. The nose bridge region is brighter than the eyes.

Composition of two properties forming matchable facial features are:

  1. Location and size including eyes, mouth and bridge of nose.
  2. Value for oriented gradients of pixel intensities.

For example, the difference in brightness between white and black rectangles over a specific area is given by:

Value = Σ (pixels in black area)- Σ (pixels in white area)

The above-mentioned four features matched by Haar algorithm are compared in the image of a face shown on the left of Fig. 1.

Testing procedure

Install OpenCV and Python on Ubuntu 16.04

The project was tested on Ubuntu 16.04 using OpenCV 2.4.10. The following shell script installs all dependencies required for OpenCV and also install OpenCV 2.4.10.

$ sh ./install-opencv.sh 

Nakon instaliranja OpenCV -a, provjerite ga u terminalu pomoću naredbe import, kao što je prikazano na slici 2.

Stvaranje baze podataka

Slika 2: Provjera OpenCV -a pomoću naredbe import

Stvaranje baze podataka

Slika 3: Stvaranje baze podataka

1. Izradite bazu podataka i pokrenite skriptu za prepoznavanje, kako je dolje prikazano (također prikazano na slici 3). U bazu unesite najmanje dva skupa podataka.

$ python create_database.py person_name

2. Pokrenite skriptu prepoznavača, kako je dolje navedeno:

$ python face_rec.py

Time će započeti obuka, a kamera će se otvoriti, kao što je prikazano na slici 4. Točnost ovisi o broju skupova podataka, kao i o kvaliteti i uvjetima osvjetljenja.

Snimka zaslona za prepoznavanje lica u stvarnom vremenu

Slika 4: Snimka zaslona za otkrivanje lica

OpenCV 2.4.10.

OpenCV nudi sljedeća tri prepoznavača lica:

  1. Prepoznavač vlastitog lica
  2. Prepoznavač Fisherfacea
  3. LBPH prepoznavač lica

U ovom se projektu koristi LBPH prepoznavanje lica, a to je funkcija createLBPHFaceRecognizer ().

LBP radi na slikama sive boje. Za svaki piksel na slici sive ljestvice odabire se susjedstvo oko trenutnog piksela, a vrijednost LBP za piksel izračunava se pomoću susjedstva.

Nakon izračuna LBP vrijednosti trenutnog piksela, odgovarajuće mjesto piksela ažurira se u LBP masci (iste je visine i širine kao i ulazna slika.) S izračunatom LBP vrijednošću, kao što je prikazano na slici 5.

Snimka zaslona LBPH prepoznavača lica

Slika 5: Snimka zaslona LBPH prepoznavača lica

Na slici je osam susjednih piksela. Ako je trenutna vrijednost piksela veća ili jednaka vrijednosti susjednog piksela, odgovarajući bit u binarnom nizu postavljen je na 1. No ako je trenutna vrijednost piksela manja od vrijednosti susjednog piksela, odgovarajući bit u binarnom nizu je postavljeno na 0.

preuzimanje datoteka izvorni kod

#python #opencv #strojno učenje

www.youtube.com

Prepoznavanje lica u stvarnom vremenu pomoću Pythona

U ovom vodiču za Python objasnio sam koji postupak moramo učiniti za prepoznavanje lica. Sustav za prepoznavanje lica u stvarnom vremenu može identificirati ili provjeriti osobu iz video kadra. OpenCV je knjižnica koja se koristi za obradu slika pomoću programskih jezika poput pythona. Ovaj projekt koristi OpenCV knjižnicu za otkrivanje lica u stvarnom vremenu koristeći vašu web kameru kao primarnu kameru.

Vidi Također: