Çoğu durumda yüz tanıma, gözlerin, burnun ve ağzın konumu ve boyutu gibi yüzün özellik noktalarını ve bu özellikler arasındaki göreceli ilişkiyi analiz ederek bir yüzün ve ilgili kişisel kimliğin doğrulanmasını tamamlayabilir.
Elbette bu doğrulama süreci, özellik noktası çıkarma, örüntü tanıma, makine öğrenimi vb. gibi birçok teknolojiyi ve bilgi noktasını içerir ve bunu gerçekten yapmak da çok karmaşıktır.
Bugün bu kadar karmaşık işler yapmayacağız, sizi sadece birkaç satır basit kodla yüz algılama sürecini deneyimlemeye götüreceğiz.


Bugün yüzleri hızlı bir şekilde tespit etmek için OpenCV'yi kullanmaya başlayacağız.


1. Hazırlanın

Bir sonraki adımın yüz kimlik doğrulaması yapmak değil, yüz çerçeve tespiti yapmak olduğunu belirtelim.
Kod geliştirme ortamı python'dur.
Acemi olsanız bile aşağıdaki yöntemi takip ederek kolayca çoğaltabilirsiniz, eğer ilgileniyorsanız deneyin.
İnternetten indirdiğim bir resim gibi, tanımak istediğiniz yüzün bir resmini hazırlayın.


2. Kod


OpenCV kütüphanesini kullanarak yüz tanımayı uygulamak çok basittir çünkü OpenCV doğrudan arayabileceğimiz ilgili arayüzleri sağlar.
Aramadan önce bir yüz algılama sınıflandırıcı dosyası (haarcascade_frontalface_default.xml) indirmeniz gerekir.
Gerçek dövüşün tamamının detaylı kodu aşağıdaki gibidir, detaylı olarak okuyabilmeniz için her adıma açıklamalar ekledim.

import cv2   
# OpenCV kütüphanesini içe aktar # Yüz algılama sınıflandırıcısı için yerel dosya yolu 
local_file_path = ". /haarcascade_frontalface_default.xml"
 # Yüz algılama sınıflandırıcısını yükleyin
 #CascadeClassifier, eğitilmiş Haar özellik sınıflandırıcısını yüklemek için kullanılan sınıftır. 
face_cascade = cv2.CascadeClassifier(local_file_path)
 # Görüntüyü okuyun 
#'face.jpeg' yüz algılama için kullanılacak görüntü dosyasının yoludur 
img = cv2.imread(". /face.jpg")
 # renkli görüntüyü gri ölçeğe dönüştürün 
# gri ölçekli görüntü hesaplama karmaşıklığını azaltır ve algılama verimliliğini artırır 
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 # Yüz algılama için bir sınıflandırıcı kullanın 
#detectMultiScale işlevi bir görüntüdeki birden fazla yüzü algılayabilir 
#parameters scaleFactor, minNeighbors, minSize algılama doğruluğunu ve sonuçlarını kontrol etmek için kullanılır 
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1,                                        
                                                   minNeighbors=5, minSize=(30, 30))

 # Orijinal görüntünün üzerine yüz çerçevesini çizin
 for x, y, w, h in faces: # tespit edilen yüzleri işaretlemek için dikdörtgen kullanın 
#cv2.rectangle görüntü üzerine dikdörtgen çizmek için     
#(255, 0, 0) kutunun rengi (mavi), 2 kutunun kalınlığı 
cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)

# İşlenen görüntünün depolandığı yol 
processed_img = ". /processed_image.jpg" 

# İşlenmiş görüntüyü kaydedin 
cv2.imwrite(processed_img, img) 
print("succ dump processed img to:", processed_img)
Aynı zamanda işlenen görüntü yerel olarak kaydedilir ve processed_image.jpg olarak adlandırılır.Tanınan görüntü aşağıdaki gibidir: