Raspberry Pi 5 (8 GB) üzerinde CPU-only çıkarım senaryosunda YOLOv11 ve YOLOv8 mimarilerinin performansını karşılaştırdığım bu çalışmada, ADAS uygulamaları için kritik olan ortalama doğruluktan ziyade uçtan uca gecikme (E2E latency), saf inference süresi ve p99 kuyruk gecikmesi gibi metriklere odaklandım. Deneyleri CPU governor’ı performance modunda, ONNX Runtime kullanarak gerçekleştirdim. YOLOv11n/s ve YOLOv8n/s varyantlarını PyTorch’tan ONNX formatına dönüştürdüm; ardından QDQ tabanlı INT8 post-training quantization ve %30 pruning uygulayarak modelleri CPU üzerinde çalışmaya uygun hâle getirdim. Bu optimizasyon sürecinde temel hedefim, bellek bant genişliği kaynaklı darboğazları azaltmak ve gecikme davranışını daha kararlı hâle getirmekti.

Elde ettiğim sonuçlar, nano ölçekli mimarilerin small varyantlara kıyasla CPU üzerinde belirgin biçimde daha uygun olduğunu gösterdi. Özellikle YOLOv11 Nano INT8 modeli, KITTI ve BDD100K veri setlerinde yaklaşık 13 FPS seviyesine ulaşırken ortalama ~77 ms E2E gecikme ve görece düşük p99 latency değerleri sundu. Small varyantlar daha yüksek mAP değerleri sağlasa da, CPU-only çalışmada gecikme dalgalanmaları ve throughput düşüşleri nedeniyle pratik ADAS senaryolarında daha az öngörülebilir bir performans sergiledi.

1768500072280.webp
1768500141506.webp

Çalışmam şu anda preprint aşamasında, tamamına DOI adresi üzerinden ulaşabilirsiniz. Yorumlarınızı merakla bekliyorum.

Saygılarımla,
Furkan
 
Sen testleri ONNX Runtime üzerinde yapmışsın. Eğer vaktin olursa aynı modelleri NCNN framework'ü ile ve Vulkan backend'i kullanarak RPi 5'in GPU'su üzerinde denemeni öneririm. CPU yükünü azaltıp FPS'i 25-30 bandına çekme ihtimalin var. Çünkü CPU %100 yük altındayken ADAS sisteminin karar mekanizması kilitlenebilir.
 
Tavsiyeniz için teşekkür ederim. Sinyal işleme ve iletişim uygulamaları kurultayı için yapacağım çalışma için NCNN Framework'ü aklımda olacak. Fakat elimde herhangi bir hızlandırıcı olmadığı için Vulkan ile test edemeyeceğim. Genede teşekkürler.