Bu proje, klasik bilgisayarlı görü tekniklerini (HOG + SVM) kullanarak araç ve yaya tespiti yapan uçtan uca bir sistemdir.
Günümüzde otonom sürüş ve güvenlik sistemlerinin temelini oluşturan Nesne Tespiti (Object Detection) problemi, bu projede derin öğrenme yöntemlerine alternatif olarak, daha düşük donanım kaynağı gerektiren klasik yöntemlerle çözülmüştür.
Projenin temel amacı:
- HOG (Histogram of Oriented Gradients) algoritması ile görüntüden şekil/kenar özniteliklerini çıkarmak.
- SVM (Support Vector Machine) algoritması ile bu öznitelikleri "Araç" veya "Araç Değil" olarak sınıflandırmak.
- Kayan Pencere (Sliding Window) yöntemi ile test görüntüsü üzerinde gezerek nesneleri tespit etmek.
Proje kapsamında elde edilen deneysel sonuçlar aşağıda sunulmuştur.
HOG algoritmasının bir aracı nasıl "gördüğünü" analiz ettik. Gradyanlar, aracın tekerlek ve tavan yapısını net bir şekilde ortaya çıkarmaktadır.
(Sol: Orijinal Görüntü | Sağ: HOG Gradyan Temsili)
Eğitilen özel SVM modeli, daha önce hiç görmediği bir test görüntüsü üzerinde aracı başarıyla tespit etmiştir.
Sistem aynı zamanda yayaları tespit etmek için de test edilmiştir.
Bu proje Python dili ile geliştirilmiştir. Kullanılan temel kütüphaneler:
- OpenCV: Görüntü işleme ve çizim işlemleri.
- NumPy: Matris ve vektör hesaplamaları.
- Scikit-learn: SVM modelinin eğitimi ve metrikler.
- Scikit-image: HOG algoritmasının implementasyonu.
- Joblib: Eğitilen modelin kaydedilmesi.
- Matplotlib: Sonuçların görselleştirilmesi.
├── data/
│ ├── training_set/ # Eğitim için kullanılan 100+ resim (Pos/Neg)
│ ├── test_images/ # Test edilen ham görüntüler
│ └── results/ # İşlenmiş ve kutu çizilmiş sonuçlar
├── src/
│ ├── hog_implementation.py # HOG görselleştirme kodu
│ ├── classification.py # SVM model eğitimi kodu
│ ├── object_detection.py # Nesne tespiti ve test kodu
│ └── utils.py # Yardımcı fonksiyonlar
├── models/
│ └── trained_classifier.pkl # Eğitilmiş yapay zeka modeli
├── report/
│ ├── report.pdf # Detaylı proje raporu
│ └── figures/ # Raporda kullanılan görseller
└── requirements.txt # Gerekli kütüphaneler
Kurulum ve Çalıştırma
Projeyi kendi bilgisayarınızda çalıştırmak için aşağıdaki adımları izleyin.
1. Projeyi Klonlayın:
git clone [https://github.com/Gulnaz-Aydemir/Object-Detection-Using-HOG-SVM.git](https://github.com/Gulnaz-Aydemir/Object-Detection-Using-HOG-SVM.git)
cd Object-Detection-Using-HOG-SVM
2. Gerekli Kütüphaneleri Yükleyin:
pip install -r requirements.txt
3. Test Kodunu Çalıştırın: data/test_images klasörüne kendi resimlerinizi koyarak tespiti başlatabilirsiniz:
python src/object_detection.py
👤 Hazırlayan
Gülnaz Aydemir
🎓 Bölüm: Yapay Zeka Mühendisliği
🏛️ Üniversite: OSTİM Teknik Üniversitesi
📧 İletişim: gulnazaydemir22@gmail.com
Bu proje, Bilgisayarlı Görü dersi kapsamında hazırlanmıştır.

