Rilevamento facciale con OpenCV e Haar Cascades da zero

Cos’è il rilevamento facciale?

Il rilevamento facciale tramite un computer è una delle applicazioni di Computer Vision.

Consiste nel localizzare i volti in immagini o video, catturati da una fotocamera o salvati sul disco rigido, attraverso l’uso di algoritmi di apprendimento automatico.

Rilevamento facciale con Python, OpenCV e Haar Cascades

OpenCV è una libreria di computer vision e machine learning open source con supporto per Python, C++ e Java.

Offre più di duemila algoritmi progettati per eseguire varie attività, tra cui il rilevamento e il riconoscimento dei volti.

I suoi modelli pre-addestrati, basati sulla tecnica Haar Cascades, consentono il rilevamento di volti e occhi con velocità accettabile.

Successivamente, ti mostriamo l’installazione del software e delle librerie necessarie per l’implementazione di un sistema di rilevamento dei volti utilizzando la webcam del PC con OpenCV e Haar Cascades.

Ti forniremo quindi il codice e una breve spiegazione dei comandi utilizzati.

Installa Python, NumPy e OpenCV

Installazione di Python

La prima cosa che devi fare è installare Python. Per fare ciò, puoi scaricare il suo file di installazione dal seguente link:

Una volta completata l’installazione, apri il prompt dei comandi. Per fare ciò, premi i tasti Windows + R e fai clic su OK.

Digita il seguente comando e premi Invio:

python --version

Se vedi la versione di Python, significa che l’installazione è andata a buon fine.

Inoltre, assicurati che il gestore di pacchetti pip sia stato installato correttamente. Per fare ciò, esegui il comando:

pip -v

Installazione di NumPy

Una volta installato Python, sarà necessario installare la libreria NumPy, poiché OpenCV utilizza la sua struttura dati di tipo array.

Per l’installazione di NumPy, puoi usare il gestore di pacchetti pip. Per fare ciò, apri il prompt dei comandi ed esegui il comando seguente:

pip install numpy

Installazione di OpenCV

Per installare OpenCV, apri il prompt dei comandi di Windows ed esegui il comando seguente:

pip install opencv-contrib-python

Scarica i modelli di rilevamento dei volti pre-addestrati

L’ultima cosa da fare è scaricare da GitHub i modelli pre-addestrati che OpenCV utilizzerà per il rilevamento di volti e occhi.

Fare clic su questo collegamento.

Individua e fai clic sul file haarcascade_frontalface_default.xml. Quindi, fai clic con il pulsante destro del mouse sul pulsante Raw e seleziona l’opzione Salva collegamento con nome. Il file verrà scaricato sul disco rigido.

Scarica il file haarcascade_eye.xml allo stesso modo.

Per finire copia entrambi i file con estensione XML all’interno della cartella di installazione di Python. Se non sai dove si trova, apri il prompt dei comandi ed esegui il comando where python.

Codice per rilevare volti e occhi utilizzando la webcam del PC

import numpy as np
import cv2

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')

webcam = cv2.VideoCapture(0)

while True:
    ret, frame = webcam.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray, 1.3, 5)

    for (x,y,w,h) in faces:
        cv2.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)
        roi_gray = gray[y:y+h, x:x+w]
        roi_color = frame[y:y+h, x:x+w]

        eyes = eye_cascade.detectMultiScale(roi_gray)
        for (ex,ey,ew,eh) in eyes:
            cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)

    cv2.imshow('Face Detection',frame)
    p = cv2.waitKey(28)
    if p == 27:
        break

webcam.release()
cv2.destroyAllWindows()

Per eseguire il programma:

Digita Python nella barra di ricerca di Windows e fai clic su IDLE (Python xxx) nell’elenco delle corrispondenze.

In Python IDLE, fai clic su File > New File. Nella finestra che si apre, fai clic su File > Save As. Digita un nome e salva il file con estensione .py sul disco rigido.

Copia e incolla il codice, fai clic su File > Save. Quindi fare clic su Run > Run Module. La fotocamera del tuo computer si attiverà e apparirà un riquadro intorno al viso e agli occhi.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna in alto