Görsel Tanıma Nedir ve Neden Önemlidir?
Örneğin, güvenlik kameraları artık sadece video kaydı yapmakla kalmaz, aynı zamanda potansiyel tehditleri tespit edebilir. Veya sağlık sektörü görseller üzerinden hastalık teşhisleri koyarken, sosyal medya platformları da fotoğraf algılama ile içerikleri daha iyi yönetebilir.
Proje İçin Kullanacağımız Araçlar: TensorFlow ve OpenCV
TensorFlow, Google tarafından geliştirilmiş açık kaynaklı bir makine öğrenmesi kütüphanesidir. Görsel tanıma gibi karmaşık problemleri çözebilmek için mükemmel bir araçtır. TensorFlow, derin öğrenme (deep learning) modellerini eğitmek için kullanılır. Kendi sinir ağlarını kurarak, görsel verilerle işlem yapabilir ve onları sınıflandırabilir.
# OpenCV Nedir?
OpenCV, bilgisayarla görme (computer vision) konusunda en yaygın kullanılan kütüphanelerden biridir. Görsel verilerle işlem yapmayı çok kolaylaştırır. OpenCV, resim işleme, obje tanıma, yüz tanıma ve video analizi gibi birçok işlemde kullanılır. TensorFlow ile birleştiğinde, görsel tanıma projelerinde güçlü bir ikili oluştururlar.
Şimdi, öğrendiklerimizi bir araya getirelim ve yüz tanıma uygulaması geliştirelim. Aşağıda, bu projeyi nasıl geliştireceğimizi adım adım anlatacağım.
# 1. Gerekli Kütüphanelerin Yüklenmesi
İlk adımda, gerekli Python kütüphanelerini yüklememiz gerekiyor:
pip install tensorflow opencv-python
```
# 2. Veri Hazırlığı
Yüz tanıma için öncelikle yüz verilerini içeren bir dataset’e ihtiyacımız olacak. OpenCV ile kolayca yüz tespiti yapabiliriz. Yüz verilerini toplayabilmek için bir video kaydını analiz edebiliriz.
Şimdi, TensorFlow ile yüz tanıma için bir model eğiteceğiz. Modelimiz, OpenCV tarafından sağlanan görüntüleri kullanarak, insanların yüzlerini tanıyacak.
```python
import cv2
import tensorflow as tf
# Yüz tespiti için OpenCV kullanıyoruz
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
# Kamerayı başlatıyoruz
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
# Görüntüleri gri tonlara çeviriyoruz
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Yüz tespiti yapıyoruz
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)
cv2.imshow('Yüz Tanıma', frame)
# 'q' tuşuna basarak çıkış yapıyoruz
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
```
Yukarıdaki kod, OpenCV kullanarak kameradan alınan görüntülerdeki yüzleri tespit eder ve etrafına dikdörtgen çizer. Bu sayede basit bir yüz tanıma uygulaması geliştirmiş olduk.
Uygulamanın Çıktıları
Neden Bu Proje Önemli?
Sonuç
Unutmayın, her büyük proje küçük bir adımla başlar!