← Projelere dön

Otonom İHA Görüntü İşleme ve Görev Yazılımı

Rol
Yazılım Takım Lideri
Kurum
Atılım UAV
Dönem
2025 - Devam
Ekip
5 kişilik yazılım ekibi
Yarışma
RoboNation SUAS 2026
YOLOv11ROS 2TensorRTJetsonPyTorch
KA-FA1500 · takımın yarışma için geliştirdiği insansız hava aracı

Problem

RoboNation SUAS, insansız hava aracının 20-40 metre irtifadan otonom uçarak sahadaki hedefleri tespit etmesini, sınıflandırmasını ve göreve göre aksiyon almasını istiyor. Zorluk şurada: bu irtifada hedefler görüntüde yalnızca 80-120 piksel; üstelik tespit, sınırlı güç bütçesine sahip gömülü bir bilgisayarda gerçek zamana yakın çalışmak zorunda.

Benim sorumluluğum

  • Hedef tespiti/sınıflandırma, otonom navigasyon ve görev planlama yazılım mimarisini kurmak
  • 5 kişilik yazılım ekibini yönetmek
  • Veri hazırlama hattını ve eğitim parametrelerini belirlemek
  • Teknik Tasarım Raporu (TDR) ve şartnameye uygun takım web sitesi
0,904
mAP50
0,691
mAP50-95
~15.000
Eğitim görüntüsü
Eyl 2026
Tulsa, Oklahoma

20-40 m irtifadan hedef tespiti

Eğitilen YOLOv11m modelinin doğrulama çıktıları: farklı irtifa, zemin ve ışık koşullarında güven skorlarıyla birlikte
0,904
mAP50
0,691
mAP50-95
~15.000
Eğitim görüntüsü
33
Yakınsama epoch'u

1 · Veri hazırlama

Ham 4K drone görüntülerini YOLO'nun sabit girdi boyutuna indirmek için %40 örtüşmeli 1280×1280 karolara bölen bir hat tasarladım. Örtüşme kritik: hedef bir karo sınırına denk geldiğinde en az bir karoda tam görünmesini garantiliyor. Train/validation ayrımını görüntü bazında yaptım: aynı sahnenin karoları ikiye bölünürse model sızıntıyla öğrenir ve validation metriği yalan söyler.

2 · Sınıf dengeleme

Ham veride sınıflar dengesizdi. Çevrimdışı augmentation ile sınıf bazlı çarpan uyguladım: az örnekli sınıfa 8×, çok örnekliye 3×. Böylece ~2.100 ham görüntüden ~15.000 görüntülük, 1:1,2 oranlı dengeli bir eğitim seti çıktı. Renk augmentasyonunu bilinçli olarak bu adımda değil eğitimde bıraktım: iki katmanda birden uygulanırsa çift augmentation olur.

Veri setinden gömülü çıkarıma

Etiketli veri setinin yönetimi ve sürümlenmesi
Dikiş hattı saha uçuşlarından önce maket şehir üzerinde doğrulandı: tekil kareler tek ortomozaikte birleştirildi

3 · Eğitim

YOLOv11m üzerinde transfer öğrenme. Model 33. epoch'ta yakınsadı, erken durdurma 48'de devreye girdi: yani veri tavanına ulaşıldı, daha fazla epoch değil daha çeşitli veri gerekiyor. Bu teşhisi çıkardıktan sonra 13 maddelik bir iyileştirme planı hazırladım: çözünürlük artırımı, farklı irtifa ve ışık koşullarından veri toplama, kısmi örtülme augmentasyonu.

4 · Gömülü dağıtım

Model NVIDIA Jetson üzerinde TensorRT FP16 ile gerçek zamanlı çalışacak şekilde konumlandırıldı. Burada eğitim ve export çözünürlüğünün eşitlenmesi gerekiyor; farklı bırakılırsa model sahada beklenmedik davranıyor.

YOLOv11mAlbumentationsPyTorch TensorRTJetsonOpenCVROS 2
Uçuş sonrası ortomozaik: kareler tek harita hâlinde birleştirildi
Hava hızına göre uçuş süresi ve menzil analizi: görüntü işleme yükünün içinde yaşamak zorunda olduğu dayanıklılık zarfı

Aviyonik ve hesaplama mimarisi

Jetson Orin NX
Görüntü işleme bilgisayarı
Cube Orange+
Uçuş kontrolcüsü
SIYI A8 Mini
Gimballi kamera
T-Motor U7
İtki sistemi
Güç dağıtımı ve kablolama mimarisi
Yer istasyonu haberleşme zinciri: HM30 datalink, kumanda, görev planlayıcı

Yazılım mimarisi kararı

Görüntü işleme ile uçuş kontrolünü ayrı işlemcilere böldük: uçuş kontrolcüsü yalnızca uçuşa odaklanıyor, companion computer görüntü işlemeyi üstleniyor, ikisi arasındaki iletişim ROS 2 üzerinden yürüyor. Bu ayrım, görüntü işleme yükü arttığında uçuş güvenliğinin etkilenmemesini sağlıyor: otonom sistemlerde en kritik tasarım kararlarından biri.

KA-FA1500 · bütünleşik tasarım
Görev yükü gövdesi
Bırakma mekanizması, montajlı

Uçuş testleri ve proje dokümantasyonu

KA-FA1500 saha testinde
Uçuş öncesi hazırlık ve ekipman kurulumu
Saha test uçuşu: görüntü işleme yükünü taşıyan platform havada
Otonom görev planlama ve uçuş sonrası fotoğraf konumlandırma: yer istasyonu ekranı

Ek çıktılar

Yazılım işinin yanında takımın Teknik Tasarım Raporu'nu ve yarışma şartnamesinin web sitesine dair gereksinimlerini karşılayan takım sitesini hazırladım. Site, tasarımı Framer'da kurulduktan sonra kendi koduna taşındı; 51 sayfa, 28 teknik blog yazısı ve beş teknik belge içeriyor.

TDR28 teknik yazı51 sayfaatilimuav.com
Proje tanıtım sayfası
def karola(goruntu, boy=1280, ortusme=0.2):
    """4K kareyi sabit YOLO girdisine, ortusmeli karolarla indir.
    Ortusme olmazsa karo sinirina denk gelen hedefler ikiye bolunur
    ve iki yarim dusuk guvenle kaybolur."""
    adim = int(boy * (1 - ortusme))
    h, w = goruntu.shape[:2]
    for y in range(0, max(h - boy, 0) + 1, adim):
        for x in range(0, max(w - boy, 0) + 1, adim):
            evet = goruntu[y:y + boy, x:x + boy]
            yield (x, y), evet  # ofset, geri projeksiyon icin sart
Sadeleştirilmiş temsili kod: 4K kareden sabit YOLO girdisine örtüşmeli karolama