
Kapsamlı model araştırması yapıldıktan sonra, YOLO (You Only Look Once) algoritması kullanılarak gerçek zamanlı bir görüntü işleme ve sınıflandırma sistemi geliştirildi. Proje, fil, uçak ve dinozorlar dahil olmak üzere çeşitli kategorilerden gelen görsellerden oluşan özel bir eğitim seti oluşturmayı içeriyordu.
Gerçek zamanlı nesne tespiti ve sınıflandırma
Çoklu nesne sınıflarında %92 tespit doğruluğu
Çeşitli nesne kategorileri desteği (filler, uçaklar, dinozorlar ve daha fazlası)
Belirli kullanım durumları için optimize edilmiş özel eğitimli YOLO modeli
Sınıf etiketleri ve güven skorları ile sınırlayıcı kutu görselleştirmesi
Birden çok görüntü için toplu işleme yeteneği
Video akışlarında gerçek zamanlı tespit için video akışı işleme
Hassasiyet/geri çağırma dengesi için yapılandırılabilir güven eşiği
Tekrarlayan tespitleri ortadan kaldırmak için maksimum olmayan bastırma
Kolay dağıtım için .pt formatında model dışa aktarma
Geliştirilmiş performans için GPU hızlandırma desteği
Diğer uygulamalarla kolay entegrasyon için REST API
Bu YOLO tabanlı nesne tespit projesi, gerçek zamanlı görüntü analizi ve sınıflandırması için en gelişmiş bilgisayar görüşü algoritmalarının pratik uygulamasını göstermektedir. Hız ve doğruluk arasındaki olağanüstü dengeyle tanınan YOLO (You Only Look Once) mimarisinden yararlanarak, bu sistem etkileyici bir %92 doğruluk oranını korurken, görselleri milisaniyeler içinde işleyebilir ve nesneleri tanımlayabilir. Proje, veri toplama ve etiketlemeden model eğitime, optimizasyona ve dağıtıma kadar tüm makine öğrenmesi işlem hattını kapsamaktadır. Hedef nesne sınıflarının çeşitli örnekleriyle özenle hazırlanmış özel eğitim seti, çeşitli aydınlatma koşulları, açılar ve arka planlarda sağlam bir performans sağlar. Basit nesne tespitinin ötesinde, sistem güvenilirlik eşiği belirleme, çakışan tespitleri işlemek için maksimum olmayan bastırma ve çoklu sınıf sınıflandırma gibi gelişmiş özellikler uygular. PyTorch .pt formatında kaydedilen son model, üretim dağıtımı için optimize edilmiştir ve gerçek zamanlı nesne tespit yetenekleri gerektiren çeşitli uygulamalara kolayca entegre edilebilir.
YOLO ailesinin en son sürümü olan YOLOv8'i uygular. Bu sürüm, CSPDarknet53 ile geliştirilmiş bir omurga ağına, daha iyi özellik birleşimi için PANet ile geliştirilmiş bir boyuna (neck) ve çok ölçekli tahminler için optimize edilmiş bir tespit kafasına (detection head) sahiptir. Mimari, görselleri tek bir ileri geçişte işler, bunları bir SxS ızgaraya böler ve her ızgara hücresi için sınırlayıcı kutular ve sınıf olasılıkları tahmin eder.
Hedef nesne sınıfları genelinde 5.000'den fazla etiketlenmiş görselden oluşan özel bir veri seti derlendi. Çeşitli kaynaklardan toplanan görseller, modelin genelleme yeteneğini sağlar. Her görsel, LabelImg aracı kullanılarak hassas sınırlayıcı kutular ve sınıf etiketleriyle etiketlendi. Veri seti %70 eğitim, %20 doğrulama ve %10 test kümelerine ayrıldı. Modelin sağlamlığını artırmak için rastgele kırpma, çevirme, döndürme ve renk titremesi gibi veri artırma teknikleri uygulandı.
Eğitim, COCO önceden eğitilmiş ağırlıklarından transfer öğrenme kullanılarak PyTorch çerçevesinde gerçekleştirildi. Yerelleştirme kaybı (CIoU), güven kaybı (BCE) ve sınıflandırma kaybını (BCE) birleştiren özel bir kayıp fonksiyonu uygulandı. Kosinüs tavlama öğrenme oranı çizelgesi ile AdamW optimize edici kullanıldı. Doğrulama mAP'sine dayalı erken durdurma ile 300 epok boyunca eğitim yapıldı. Test setinde %92 mAP@0.5 elde edildi.
Model boyutunu %40 oranında azaltmak için model niceleme (quantization) ve budama (pruning) teknikleri uygulandı, aynı zamanda doğruluk orijinalin %1'i dahilinde tutuldu. Çapraz platform uyumluluğu için model ONNX formatına aktarıldı. RTX 3080 üzerinde 200+ FPS elde eden NVIDIA GPU'lar için TensorRT hızlandırması uygulandı. Docker konteynerleştirmesi, ortamlar arasında tutarlı dağıtım sağlar.
Ön işleme, görselleri 640x640'a yeniden boyutlandırmayı, normalleştirmeyi ve tensör formatına dönüştürmeyi içerir. Son işleme, güven eşiği belirleme (varsayılan 0.25), maksimum olmayan bastırma (IoU eşiği 0.45) ve sınıf filtrelemeyi uygular. Sonuçlar, sınırlayıcı kutu koordinatlarını, sınıf etiketlerini ve güven skorlarını içerir. Görselleştirme modülü, tespitleri orijinal görseller üzerine renkli kutular ve etiketlerle kaplar.

