You are on page 1of 18

OpenCV ile Yüz Tanıma

ÇELEBİ AKSOY 200251092

GÖRÜNTÜ İŞLEME
PROJENİN AMACI VE HEDEFİ

HAAR CASCADE NEDİR?

İçerik PROJE

KAYNAKÇA

02 GÖRÜNTÜ İŞLEME
Projenin Amacı ve Hedefi
Projemin temel amacı, OpenCV kütüphanesinin Haar Cascade sınıflandırıcısını
kullanarak istenilen resimler üzerinde yüz tespiti yapmaktır. Farklı resimler
için farklı ayarlar kullanılması gerekmektedir. Aksi taktirde istenilen
performans alınamamaktadır.

GÖRÜNTÜ İŞLEME 03
Haar Cascade Nedir?
Haar Cascade, yüz tanıma ve nesne algılama gibi görevlerde kullanılan bir öğrenme algoritmasıdır. Bu algoritma, özellikle OpenCV
kütüphanesinde yaygın olarak kullanılmaktadır. Haar Cascade, Viola ve Jones tarafından geliştirilmiştir ve hızlı ve etkili nesne
algılama için tasarlanmıştır.

Algoritmanın temel prensibi, nesne algılama için öğrenilmiş özelliklere dayanır. Haar Cascade, önceden eğitilmiş bir modeli
kullanarak nesne algılama yapar. Bu model, pozitif ve negatif örnekler üzerinde eğitilir. Pozitif örnekler, aranan nesnenin örnekleri
iken negatif örnekler ise bu nesnenin olmadığı alanlardan elde edilen örneklerdir.

Haar Cascade yöntemi, öğrenilen özelliklerin (haar özellikleri olarak adlandırılır) nesne tespitinde kullanılmasına dayanır. Haar
özellikleri, görüntüde bir nesnenin özelliklerini temsil eden basit dikdörtgen alanlardır. Öğrenilmiş bir Haar Cascade modeli, bu
özellikleri kullanarak bir nesnenin varlığını tespit edebilir.

Haar Cascade'nin avantajlarından biri, gerçek zamanlı uygulamalarda yüksek performans gösterme yeteneğidir. Bu nedenle, yüz
tanıma gibi uygulamalarda sıklıkla tercih edilir. OpenCV kütüphanesinde bulunan önceden eğitilmiş Haar Cascade modelleri,
yüzler, gözler, gülücükler gibi birçok nesneyi algılamak için kullanılabilir.

GÖRÜNTÜ İŞLEME 04
PROJEYE BAŞLAYALIM
Kütüphaneler Hakkında
NumPy (np): Sayısal hesaplamalar, çok boyutlu diziler ve matris operasyonları için güçlü bir
kütüphanedir.
Pandas (pd): Veri manipülasyonu ve analizi için kullanılır. Veri çerçeveleri (dataframes) üzerinde
çalışma yetenekleri sunar.
Matplotlib.pyplot (plt): Veri görselleştirmesi yapmak için kullanılır. Grafikler, histogramlar,
çizimler ve diğer görsel temsilleri oluşturmak için kullanılır.
OpenCV (cv2): Bilgisayarlı görü (computer vision) ve görüntü işleme uygulamaları için bir
kütüphanedir. Nesne algılama, yüz tanıma, resim işleme gibi birçok konuda kullanılır.
Tarfile: Arşiv dosyalarını (örneğin, .tar ve .zip dosyaları) açmak ve içeriklerine erişmek için
kullanılır.
OS: İşletim sistemi ile etkileşimde bulunmak için kullanılır. Dosya ve klasör manipülasyonu, dosya
listeleme gibi işlemler için kullanılır.

GÖRÜNTÜ İŞLEME 06
Kütüphane Kurulumu
Pycharm uygulamamızda terminali
açıp aşağıdaki komutları tek tek
girerek gerekli kütüphaneleri
projemize yükleyebiliriz.

pip install numpy


pip install pandas
pip install matplotlib
pip install opencv-python

GÖRÜNTÜ İŞLEME 07
Algoritamnın Yüklenmesi
İlk olarak önceden eğitilmiş ve yüz tanıma algoritması olan haarcascade_frontalface_default.xml
dosyamızı entegre etmemiz gerekiyor. Bu dosyayı github sayfasından bulup projede belirtilen konuma
indirmemiz gerekiyor.

GÖRÜNTÜ İŞLEME 08
Yüz Tespit Sınıfı Oluşturma
Bu blok, yüz tespiti yapmak için bir FaceDetector sınıfını tanımlar. Bu sınıf, OpenCV kütüphanesinin Haar Cascade
sınıflandırıcısını kullanarak yüz tespiti yapmak için bir arayüz sağlar.

Bu sınıf, yüz tespiti işlemini bir sınıf arayüzü içinde sarmalayarak daha düzenli ve tekrar kullanılabilir bir yapı
sağlar. Örneğin, bu sınıfı kullanarak farklı görüntüler üzerinde yüz tespiti yapabilir ve tespit edilen yüzlerin
koordinatlarını elde edebilirsiniz.

GÖRÜNTÜ İŞLEME 08
Yüz Tespiti İşlemi İçin Hazırlık
Bu kod, yüz tespiti yapmak için Haar Cascade sınıflandırıcısını kullanacak bir
FaceDetector nesnesi oluşturur ve ardından belirlenen resim üzerinde yüz tespiti
yapmaya hazırlık yapar.

GÖRÜNTÜ İŞLEME 08
Yüz Tespiti İşlemi İçin Hazırlık
Bu blok, bir resmi yükleme ve
görselleştirme işlemlerini
gerçekleştirir.

GÖRÜNTÜ İŞLEME 08
Yüz Tespiti İşlemi İçin Hazırlık - Çıktı
Kodumuz daha sonra bize
seçtiğimiz resimi gösterecek.

GÖRÜNTÜ İŞLEME 08
Yüz Tespiti İşlemi İçin Hazırlık
Bu blok, bir resmi yükleme ve
görselleştirme işlemlerini
gerçekleştirir.

GÖRÜNTÜ İŞLEME 08
Yüz Tespiti İşlemi
İçin Hazırlık - Çıktı
Bu kod, yüz tespiti yapmak için
FaceDetector sınıfını kullanarak
bir görüntü üzerinde belirli
parametrelerle yüz tespiti yapar
ve tespit edilen yüzleri
dikdörtgenlerle vurgular.

GÖRÜNTÜ İŞLEME 08
Yüz Tespiti İşlemi İçin Hazırlık - Çıktı
Projemiz başarılı bir şekilde bütün
yüzleri buldu.

GÖRÜNTÜ İŞLEME 08
Yüz Tespiti İşlemi İçin Hazırlık - Çıktı
Resimleri ve aşağıdaki ayaları
değiştirerek istediğimiz şekilde
kullanabiliriz.

GÖRÜNTÜ İŞLEME 08
KAYNAKÇA
https://www.kaggle.com/code/serkanpelde
k/face-detection-with-opencv

https://github.com/opencv/opencv/tree/m
aster/data/haarcascades

GÖRÜNTÜ İŞLEME 22
DİNLEDİĞİNİZ İÇİN
TEŞEKKÜR EDERİM

You might also like