Altyapı muayenesi için droneların kullanımı artık bir gelecek hayali değil; mevcut bir operasyonel standarttır. Ancak laboratuvar ortamında eğitilen modeller ile gerçek dünya performansı arasında önemli bir boşluk bulunmaktadır. 300 fit yükseklikte bir drone başlattığınızda, hedef nesneleriniz—bir köprüdeki çatlaklar, bir kuledeki pas veya bir rüzgar türbinindeki gevşek cıvatalar—karede sadece birkaç piksel kaplar. Bu "yüksek irtifa, düşük çözünürlük" (HALR) sorunu, standart nesne tespit modellerini bozar ve yüksek yanlış negatif oranlarına ile kaçırılan kusurlara yol açar.
Bu yazıda, YOLO (You Only Look Once) mimarilerinin bu zorlu girdileri nasıl ele alacağını keşfedeceğiz. Temel eğitim komut dosyalarının ötesine geçerek, sağlam saha dağıtımı için gerekli olan mimari ince ayarlar, özel veri artırma ve son işleme stratejilerini tartışacağız.
Küçük Nesne Tespitinin Zorluğu
Standart YOLO modelleri, görselin makul bir kısmını kaplayan nesneler için optimize edilmiş ankör kutuları veya ızgara hücreleri ile tasarlanmıştır. Drone görüntülerinde bir kusur sadece 2x2 pikseli kaplayabilir. Bu durum çoklu katmanlı evrişim işlemlerinden geçtiğinde, uzamsal bilgiler genellikle havuzlama (pooling) işlemleri sırasında kaybolur. Model nesnenin varlığını etkili bir şekilde "unutur".
Buna karşı koymak için, yüksek frekanslı detayları ağ içinde daha uzun süre korumalıyız. Bu, özellik haritalarının ince taneli uzamsal çözünürlüğü korumasını sağlamak için ağımızın omurgasını (backbone) ve boyun (neck) kısmını değiştirmeyi içerir.
Strateji 1: Gelişmiş Veri Artırma
Bir modeli küçük nesneleri görmeye eğitmek, onlara yönelik sentetik maruz kalım gerektirir. Yüksek çözünürlüklü görüntüleri rastgele kırpıp aşağı boyutlandırarak HALR koşullarını simüle edebiliriz. Bu, modelin küçük, bulanık yamalarından özellikler öğrenmesini zorlar.
Küçük nesne korumayı özellikle hedefleyen PyTorch'ta özel bir Mozaik artırma nasıl uygulanır, işte burada:
import torch
import torchvision.transforms.functional as F
import random
def small_object_mosaic(img1, img2, img3, img4, img1_label, img2_label, img3_label, img4_label):
"""
Mozaik karışımından önce kırpılmışları boyutlandırarak yüksek irtifa görünümlerini simüle eder.
"""
# 1. Düşük çözünürlüklü drone girdisini simüle etmek için orijinal yüksek çözünürlüklü görüntüleri yeniden boyutlandır
scale_factor = random.uniform(0.3, 0.6) # Önemli irtifayı simüle et
# Girdilere rastgele yeniden boyutlandırma uygula
s_img1 = F.resize(img1, int(img1.size[0] * scale_factor))
s_img2 = F.resize(img2, int(img2.size[1] * scale_factor))
# 2. Mozaik karışımı için orijinal boyuta geri boyutlandır
# Bu, modelin çözmesi gereken "pikselleşmiş" bir görünüm yaratır
h_img1 = F.resize(s_img1, (img1.size[0], img1.size[1]))
# Yeniden boyutlandırılmış görüntüler kullanılarak standart mozaik karışım mantığına devam et...
return h_img1, h_img2, h_img3, h_img4
Strateji 2: Dikkat Mekanizmaları
Dikkat modüllerinin eklenmesi, ağın hesaplama kaynaklarını bilgilendirici bölgelere odaklamasına yardımcı olur. YOLO omurgasına bir CBAM (Convolutional Block Attention Module) veya basit bir SE (Squeeze-and-Excitation) bloğu entegre etmek, küçük hedefler için geri çağrıyı (recall) önemli ölçüde artırabilir. Bu modüller, ağın özellikleri dinamik olarak yeniden ağırlıklandırmasına, potansiyel kusurlardan gelen sinyalleri güçlendirerek arka plan gürültüsünü bastırmasına olanak tanır.
Strateji 3: IoU Eşiği Ayarı ile Son İşleme
Standart Maksimum Baskılama (NMS), genellikle küçük nesneler için geçerli tespitleri eler; çünkü anotasyon hataları veya hafif hizalamasızlıklar nedeniyle, sınır kutusu örtüşmesi (IoU) doğal olarak düşüktür. Drone verilerini işlerken, katı NMS yerine Yumuşak NMS (Soft-NMS) kullanmayı düşünün. Soft-NMS, örtüşen kutuları tamamen ellemek yerine skorlarını azaltır; bu da küçük nesne konumlandırmasındaki hafif belirsizlikle uğraşırken kritik öneme sahiptir.
Sonuç
Drone tabanlı altyapı muayenesi için YOLO'yu optimize etmek, sadece daha fazla katman eklemekle ilgili değildir; bu, girdi verisinin fiziğine saygı duymakla ilgilidir. Eğitim sırasında düşük çözünürlüklü koşulları simüle ederek, dikkat mekanizmaları aracılığıyla uzamsal detayları koruyarak ve son işleme eşiklerini ayarlayarak, gerçek dünya dağıtımı için yeterince dayanıklı modeller oluşturabiliriz. Drone donanımı gelişmeye devam ettikçe, otomatik, güvenli ve verimli altyapı bakımına olan talep ile hızı yakalamak için algoritmalarımız da gelişmelidir.