Drone tespit veri kümesi kılavuzu: küçük İHA’lar için Ultralytics YOLO’yu eğit
DUT Anti-UAV, Drone-vs-Bird ve termal drone tespit veri kümelerini karşılaştır, ardından küçük drone’ları bulmak ve yanlış alarmları azaltmak için Ultralytics YOLO26’yı eğit.

İHA Tespit ve Takip Karşılaştırması, Drone-vs-Bird verilerindeki ortalama drone boyutunun 34 x 23 piksel olduğunu bildiriyor. Bu boyuttaki bir drone’u varsayımsal 3840 x 2160 karede düşün: algılayıcının varsayılan olarak kullandığı 640 piksele yeniden boyutlandırıldığında drone yaklaşık 5,7 x 3,8 piksele küçülür.
Drone karşıtı ekipler, seçtikleri veri kümesinden dağıttıkları modele kadar bu nesnenin görünür kalmasını sağlamalıdır. Bu kılavuz, Ultralytics YOLO26 ile bunu belirleyen dört kararı ele alıyor: hangi drone tespit veri kümesiyle eğitim yapılacağı, hangi görüntü boyutunun kullanılacağı, döşemeli çıkarım için SAHI’nin ne zaman ekleneceği ve iyi bir genel mAP’in uzaktaki drone’ların kaçırılmasını gizlememesi için modelin nesne boyutuna göre nasıl puanlanacağı.

Çoğu "drone tespit veri kümesi" yanlış soruyu yanıtlıyor#
Drone tespit veri kümesi arayanlar genellikle iki farklı işten birini kastediyor:
- Drone tespiti (anti-UAV veya drone karşıtı): Yerdeki ya da havadaki bir kamera, gökyüzü, ağaçlar veya binalar önünde küçük bir hava aracını arar. Drone görüntülerine, tercihen kuşların ve benzer görünen diğer nesnelerin de bulunduğu görüntülere ihtiyacın var.
- Drone’dan tespit: Drone üzerindeki kamera insanlara, arabalara ve binalara bakar. VisDrone bu iş için standart karşılaştırma veri kümesidir. Yayadan otobüse uzanan 10 sınıfta 8.629 hava görüntüsü içerir ve drone sınıfı yoktur.
VisDrone, nesneleri küçük ve sıkışık olduğu için anti-UAV ekiplerine yine de yardımcı olur. Bu özellik, kendi verilerin hazır olmadan önce görüntü boyutu ve dilimleme gibi küçük nesne ayarlarını test etmek için VisDrone’u iyi bir açık veri kümesi yapar. Hava uygulamalarının kendisi için drone operasyonlarında bilgisayarlı görü genel bakışımıza göz at. Bu yazının geri kalanı ilk işi, yani drone tespitini ele alıyor.
Kamerana ve bakış açına uygun bir veri kümesi seç#
Doğru açık veri kümesi; kameranın yerde mi havada mı olduğuna, görünür ışık mı yoksa termal kızılötesi mi kaydettiğine ve nesnenin ne kadar uzakta uçtuğuna bağlıdır:
| Veri kümesi | Görüntüler | Boyut | En uygun olduğu durum |
|---|---|---|---|
| Drone-vs-Bird | RGB video, 720 x 576 ile 3840 x 2160 arası | Açıklama eklenmiş 77 eğitim dizisi | Yerdeki kameralar, sahnede kuşların da bulunduğu drone’lar |
| DUT Anti-UAV | RGB görüntüler, 240 x 160 ile 5616 x 3744 arası | 10.000 görüntü (5.200 eğitim / 2.600 doğrulama / 2.200 test) ve ayrıca 20 takip videosu | Görünür ışık için ilk temel çizgi |
| Det-Fly | RGB, 3840 x 2160 | 13.271 görüntü | DJI Mavic’in havadan havaya görüntüleri |
| Anti-UAV | Eşleştirilmiş RGB ve termal video | 318 video çifti | Her iki modaliteyle gündüz ve gece takibi |
| Anti-UAV410 | Termal kızılötesi video | 410 video (200 eğitim / 90 doğrulama / 120 test) | Termal tespit ve takip |
| LRDDv3 | Menzil etiketleriyle 4K RGB ve 640 x 512 IR | 102.532 RGB görüntü; eşleştirilmiş 29.630 IR görüntü | Uzaktaki drone’ların menzile duyarlı değerlendirmesi |
Drone-vs-Bird sayısı, yarışmanın 2021 ve ICASSP 2023 edisyonları için dağıtılan 77 dizilik eğitim kümesini ifade ediyor; bu dizilerin çözünürlüklerini SynDroneVision taraması bildiriyor. Bu tarama Det-Fly ve Anti-UAV’yi de ele alıyor; LRDDv3 makalesi ise kendi veri kümesini açıklıyor. Veri kümelerinin lisansları ve erişim koşulları farklılık gösterir; bu nedenle ticari kullanım öncesinde bunları kontrol et.
Birden fazla veri kümesiyle eğitim yap, birini test için ayır#
Eğitim yaptığı veri kümesinde iyi sonuç veren bir model, başka bir veri kümesinde yine de zorlanabilir. LRDDv3 yazarları Ultralytics YOLO11m modellerini farklı veri kümelerinde eğitip her birini Det-Fly üzerinde test etti. Drone-vs-Bird ile eğitilen model burada 0,484 mAP50’ye, DUT Anti-UAV ile eğitilen model ise 0,431’e ulaştı.
Bu nedenle kamerana ve menziline uyan iki ya da üç kaynağı birleştir ve hepsini YOLO tespit biçimine dönüştür. Ardından sınıf kimliklerini tutarlı biçimde yeniden eşle, eksik kuş açıklamalarını tamamla ve kareleri ya da döşemeleri çıkarmadan önce uçuş veya video bazında böl. Kare bazında bölme, aynı uçuşa ait neredeyse aynı karelerin hem eğitim hem de test kümelerine düşmesine ve puanların şişmesine neden olur. Eksiksiz bir veri kümesini veya kendi sahandan alınan görüntüleri test kümesi olarak eğitim dışında tut; yanlış alarmları ölçebilmek için yalnızca kuşların bulunduğu ve boş gökyüzü görüntülerini de ekle.
Drone’ların yanı sıra kuşları da etiketle#
Kuşlar, görüntü tabanlı drone tespitinde yanlış alarmların yaygın bir kaynağıdır. Drone-vs-Bird, dikkat dağıtıcı nesneler olarak kuşlar içeriyor ancak bunları bir sınıf olarak etiketlemiyor; bu nedenle iki sınıflı bir veri kümesine bu kutuları eklemen gerekir. 2025 tarihli küçük drone çalışması, YOLO11m’i drone ve kuş sınıflarıyla eğitti ve çıkarım sırasında kuş tahminlerini yok saydı. Bu deneyde iki sınıflı model, drone’ları yalnızca drone sınıfıyla eğitilen modelden biraz daha iyi tespit etti.
Açık veriler sana bir temel çizgi sunar; üretim aşamasına ise kendi görüntülerinle ulaşırsın. Ultralytics Platform açıklama aracı, kendi kameralarından alınan karelerde drone ve kuş kutularını etiketlemeni sağlar; sentetik veriler ise nadir arka planlar ve açılar ekleyebilir. AVSS 2021 Drone-vs-Bird yarışmasının birincilik çözümü, gerçek ve sentetik görüntülerle ince ayar yapılan bir Ultralytics YOLOv5 algılayıcısı kullandı; silik ve uzaktaki drone’lara olan güveni artıran bir Kalman filtreli takipçi de ekledi.
Görüntü boyutu, drone’un yeniden boyutlandırma sonrasında görünür kalıp kalmayacağını belirler#
YOLO26, her görüntüyü uzun kenarı varsayılan olarak 640 olan imgsz değerine eşitlenecek şekilde yeniden boyutlandırır. Yeniden boyutlandırma sonrasında neredeyse hiç pikseli kalmayan bir drone, herhangi bir algılayıcıya üzerinde çalışabileceği çok az bilgi bırakır. imgsz değerini artırmak ilk çözümdür; hem eğitim belgeleri hem de ince ayar kılavuzu, küçük nesneler içeren veri kümeleri için imgsz=1280 değerini önerir.
Maliyet piksel sayısıyla kabaca orantılı artar; bu nedenle 1280, 640’ın yaklaşık dört katı hesaplama gücü gerektirir. Ölçek hakkında fikir vermesi için YOLO26 belgelerinde, COCO val2017’de 640 pikselde TensorRT 10, batch 1 ve nms=False kullanıldığında NVIDIA T4 üzerindeki YOLO26n için 1,7 ms ve YOLO26s için 2,5 ms değerleri listeleniyor. Bunlar drone veya 1280 piksel ölçümleri değildir; bu nedenle kendi yapılandırmanın süresini ölç.

İşe yarar bir başlangıç kuralı Ultralytics Academy gecikme dersinden geliyor: en küçük önemli nesnen hâlâ yaklaşık 10 piksel kaplıyorsa o boyutu denemeye değer. Bütçe kısıtlıysa, aynı drone doğrulama kümesinde daha yüksek çözünürlükte küçük bir modeli daha düşük çözünürlükte büyük bir modelle karşılaştır ve gecikme hedefinde daha fazla küçük drone bulanı seç.
YOLO26, aday seçiminde küçük nesneleri korur#
Yeterli görüntü boyutunu seçtikten sonra modelin hâlâ küçük kutulardan öğrenmesi gerekir. YOLO26’nın Küçük Hedef Farkındalıklı Etiket Ataması (STAL) bu konuda yardımcı olur. v8.4.199 sürümündeki standart P3 ila P5 YOLO26 modellerinde STAL, özgün regresyon hedeflerini korurken aday seçim kutularının 16 pikselin altındaki kenarlarını 16 piksele genişletir; böylece küçük drone’ların aday çapalar olmadan kalma olasılığı azalır.
En küçük nesneler için mimariyi de değiştirebilirsin. YOLO26, P3'ten P5'e kadar olan seviyelere ek olarak özellik piramidine stride-4 çıkış düzeyi ekleyen bir yolo26-p2.yaml varyantı sunar. 640 x 640 giriş boyutunda bu varyant, YOLO26n'in füzyon uygulanmamış işlem yükünü 6.1 GFLOP'tan 9.5 GFLOP'a çıkarır. P2, önceden eğitilmiş P2 ağırlıkları içermeyen bir YAML mimarisi olarak yayımlanır; bu nedenle YOLO("yolo26n-p2.yaml") ile oluşturup kendi verilerinle eğitirsin.
SAHI döşemeli çıkarım, 4K karelerin tüm ayrıntılarını korur#
1280 pikselde bile bir 4K kare, model onu görmeden önce genişliğinin üçte ikisini kaybeder. SAHI (Dilimleme Destekli Üstün Çıkarım), bu kaybı önlemek için Ultralytics YOLO26 ile entegre olur. Kareyi üst üste binen dilimlere ayırır, modeli her dilimde çalıştırır ve kutuları tam görüntü üzerine geri birleştirir; böylece komşu dilimlere bölünen bir drone tek kez sayılır. SAHI makalesi, yöntemi ve dilimleme destekli ince ayar çeşidini açıklıyor.

Dilim boyutunu ve model giriş boyutunu ayrı ayrı belirle, ardından ortaya çıkan drone ölçeğini eğitimde kullanılmamış görüntülerde test et. 1280 boyutuna yeniden boyutlandırılmış tam 4K karelerle eğitilen bir model, yerel çözünürlükteki 1280 piksel dilimlerde göründüklerinden üç kat daha küçük drone’ları öğrendi. Bu ölçek farkı sonuçları olumsuz etkiliyorsa SAHI makalesinde olduğu gibi tam çözünürlüklü eğitim karelerinden kesilen kırpımlarla ince ayar yapmayı dene ve aynı test kümesinde tam kare modeliyle karşılaştır. Komşu dilimler arasında %20 örtüşmeyle başla ve dilim kenarlarında kaçırılan nesneleri kontrol et.
İş yükü öngörülebilirdir. 0,2 örtüşmeyle 1280 x 1280 boyutunda işlem yaparken, 3840 x 2160 kare dört sütun ve iki satır, yani tek yerine sekiz ileri geçiş gerektirir; bunun için SAHI’nin ek tam görüntü tahminini kapatman gerekir. Bu yöntem kaydedilmiş görüntüler, alarm incelemesi ve güçlü uç GPU’lar için uygundur. Her kareyi tam hızda işlemesi gereken bir kamera için yalnızca gökyüzü bölgesini dilimle ya da düzenli aralıklarla dilimlenmiş taramalar çalıştır veya radar gibi başka bir sensörden gelen tetiklemeyle bu taramaları başlat.
Algılayıcını boyuta ve sınıfa göre puanla#
Genel ortalama kesinlik ortalaması (mAP), sınıf AP değerlerinin ortalamasıdır. Bu iki sınıflı veri kümesinde kuş performansı zayıf drone tespitini gizleyebilir; drone sınıfında da yüksek bir genel puan, en küçük boyut aralıklarındaki düşük geri çağırmayı gizleyebilir. Güvenmeden önce puanları sınıfa ve boyuta göre ayrıştır.
Algılama veri kümelerinde save_json=True ile yapılan doğrulama, COCO’nun kutu alanı aralıklarına göre daha hızlı-coco-eval kullanılarak hesaplanan küçük, orta ve büyük nesne AP değerlerini ekler: 32 x 32 pikselin altı, 96 x 96 piksele kadar ve daha büyük. Bu sayılar iki sınıfı birlikte kapsar. SynDroneVision taraması, Drone-vs-Bird’deki açıklama eklenmiş drone’ların çoğunun 32 x 32 pikselden küçük olduğunu bildiriyor; bu nedenle yalnızca drone sınıfı için AP_small ve geri çağırma değerlerini izle.
Bu değerleri elde etmek için predictions.json çıktısını eşleşen temel doğru açıklamalarına göre, kutu alanını özgün görüntü pikselleriyle hesaplayarak değerlendir. Ultralytics kutuları özgün görüntü koordinatlarında yazar, görüntü dosyasının kök adını görüntü kimliği olarak kullanır ve özel sınıfları 1’den numaralandırır; bu nedenle burada drone kategori 1, kuş ise kategori 2’dir. Test etiketlerini aynı görüntü ve kategori kimliklerini içeren COCO biçimli bir JSON’a dönüştür, ardından değerlendirmeyi yalnızca catIds=[1] ile sınırla.
COCO’nun küçük nesne aralığı uzun menzilli çalışmalar için kabadır; çünkü 12 piksellik bir drone ile 30 x 30 piksellik bir drone aynı aralığa girer. Aynı şekilde daha ince alan aralıkları tanımla: örneğin 64 piksel alanın altı (8 x 8), 64 ila 256 (16 x 16) ve 256 ila 1.024 (32 x 32); her aralık için drone AP ve geri çağırma değerlerini incele. LRDDv3’te olduğu gibi etiketlerinde menzil bilgisi varsa geri çağırmayı mesafeye göre de raporla. Yanında kesinlik değerini ver ve yalnızca kuş bulunan ve boş gökyüzü karelerindeki drone tahminlerinin sayısını ayrıca belirt.

İki alışkanlık sayıların doğruluğunu korur:
- Dağıtım boyutunda doğrula. 1280’de eğitilip 640’ta doğrulanan bir model, drone’ları eğitimde gördüğü boyutun yarısında görür; bu nedenle puanları modelle ilgisi olmayan sebeplerle düşer.
- mAP50-95 değerini dikkatle yorumla. 10 piksellik bir kutuda 2 piksellik kayma, IoU değerinin büyük bir bölümüne mal olur; bu nedenle katı eşikler küçük hedefleri ağır biçimde cezalandırır. Kaçırılan drone’ları izlemek için geri çağırmayı, IoU 0,5 koşulunu karşılayan doğru sınıflandırılmış tespitler içinse AP50’yi takip et.
Bir YOLO26 drone algılayıcısını eğit, dilimle ve değerlendir#
Bu adımlar, birleştirilmiş drone ve kuş veri kümesinden başlayıp aynı test kümesinde tam görüntü ve dilimlenmiş çıkarım sonuçlarını karşılaştırmanı sağlar.
-
pip install -U ultralytics sahiile paketleri yükle. -
İkinci sınıf olarak kuşları ve eğitim dışında tutulan test bölmesini içeren bir veri kümesi YAML dosyası yaz:
path: datasets/drones
train: images/train
val: images/val
test: images/test
names:
0: drone
1: bird- Önceden eğitilmiş ağırlıklardan başlayarak 1280’de eğitim yap.
batch=-1, AutoBatch’in GPU belleğinin yaklaşık %60’ını kullanan bir batch boyutu seçmesini sağlar:
from ultralytics import YOLO
model = YOLO("yolo26s.pt")
model.train(data="drones.yaml", epochs=100, imgsz=1280, batch=-1, name="drone_1280")- Aynı çözünürlükte test bölmesinde tam görüntü temel çizgisini puanla. Bu işlem, çalıştırma klasörüne
predictions.jsondosyasını yazar:
best = YOLO("runs/detect/drone_1280/weights/best.pt")
metrics = best.val(data="drones.yaml", split="test", imgsz=1280, save_json=True)- SAHI’nin ek tam görüntü geçişini kapatarak aynı test görüntüleri için dilimlenmiş tahminleri, özgün görüntü koordinatlarında dışa aktar:
import json
from pathlib import Path
from sahi import AutoDetectionModel
from sahi.predict import get_sliced_prediction
detector = AutoDetectionModel.from_pretrained(
model_type="ultralytics",
model_path="runs/detect/drone_1280/weights/best.pt",
confidence_threshold=0.001,
image_size=1280,
device="cuda:0",
)
preds = []
for img in sorted(Path("datasets/drones/images/test").glob("*.jpg")):
result = get_sliced_prediction(
str(img),
detector,
slice_height=1280,
slice_width=1280,
overlap_height_ratio=0.2,
overlap_width_ratio=0.2,
perform_standard_pred=False,
)
image_id = int(img.stem) if img.stem.isnumeric() else img.stem
for p in result.to_coco_predictions(image_id=image_id):
p["category_id"] += 1 # predictions.json içindeki 1 tabanlı kimliklerle eşleştir
preds.append(p)
Path("sahi_predictions.json").write_text(json.dumps(preds))- Aynı temel doğru verilerine göre, yalnızca drone sınıfı için her iki tahmin dosyasını da değerlendir:
from faster_coco_eval import COCO, COCOeval_faster
gt = COCO("test_coco.json") # COCO biçimindeki test etiketlerin
for name in ["runs/detect/val/predictions.json", "sahi_predictions.json"]:
ev = COCOeval_faster(gt, gt.loadRes(name), "bbox")
ev.params.catIds = [1] # drone
ev.evaluate()
ev.accumulate()
ev.summarize()Drone AP değerini boyuta göre, yalnızca kuş bulunan ve boş gökyüzü karelerindeki drone tahminlerini ve dağıtım donanımındaki kare başına uçtan uca gecikmeyi karşılaştır. Dilimlemeyi yalnızca küçük drone’larda sağladığı kazanç ek geçişlere değiyorsa kullan.
-
Kareler arasında takip et: bu, tam görüntü üzerinde çalışan ve SAHI tahminlerini kullanmayan ayrı bir örnektir:
best.track(source="perimeter.mp4", imgsz=1280, tracker="bytetrack.yaml"), takip modunu kullanır. ByteTrack, takip süresi dolmadan önce daha sonraki bir tespit kayıp takiple eşleşirse bu takibi yeniden etkinleştirebilir. -
Uç cihaz için dışa aktar. Kameranın yanındaki NVIDIA Jetson için TensorRT biçimine
best.export(format="engine", imgsz=1280, half=True)ile dışa aktar ve Jetson kılavuzunu izle. Gecikmeyi dağıtım çözünürlüğünde cihaz üzerinde ölç.
GPU’n 1280 pikselde eğitimi kaldıramıyorsa aynı veri kümesi ve bağımsız değişkenlerle Ultralytics Platform’da bulut eğitimi yapabilirsin.
Bu şekilde drone algılayıcısını kimler geliştirmeli?#
Bu iş akışı; havalimanı çevresi, cezaevi, stadyum veya kritik altyapı gibi sabit bir sahayı gökyüzünü izleyen RGB ya da termal kameralarla koruyan ekiplere uygundur. Ayrıca güvenlik sistemlerine radar veya RF sensörlerine ek olarak görüntü işleme entegre eden sistem entegratörleri için de uygundur. Her iki durumda da kameranın, drone’un yalnızca birkaç düzine piksel kapladığı mesafelerde onu tanıması gerekir.
Temel çizgi için DUT Anti-UAV ve Drone-vs-Bird ile başla, kuş etiketlerini ve kendi görüntülerini ekle, YOLO26’yı 1280’de eğit ve her değişikliği yalnızca drone AP_small, geri çağırma ve kuşlardan kaynaklanan yanlış alarmlarla değerlendir. Kareler 4K veya daha büyükse ve dilimlenmiş değerlendirme küçük drone’larda iyileşme gösteriyorsa SAHI ekle. Daha geniş kapsamlı sorun için küçük nesne tespit kılavuzumuza ve küçük nesne mAP kontrol listesine göz at.
Sık sorulan sorular
Bu, kamerana ve bakış açına bağlıdır. 10.000 RGB görüntüsü içeren DUT Anti-UAV, görünür ışık için pratik bir başlangıç temel çizgisidir. Drone-vs-Bird, sahnede kuşların da bulunduğu yer kamerası videoları ekler; Det-Fly, 3840 x 2160 çözünürlükte havadan havaya görüntüler sunar; Anti-UAV410 termal kızılötesi görüntüleri kapsar; LRDDv3 ise menzil etiketleri ekler. Birden fazla veri kümesiyle eğitim yap ve birini test için ayır.
Hayır. VisDrone, drone’lardan çekilen ve yaya, araba, otobüs gibi 10 sınıfla etiketlenen görüntüler içerir; drone sınıfı yoktur. Görüntü boyutu ve SAHI dilimleme gibi küçük nesne ayarlarını test etmek için kullanışlıdır; ancak drone tespiti için DUT Anti-UAV veya Drone-vs-Bird gibi bir anti-UAV veri kümesine ihtiyacın var.
Drone’ların varsayılan 640 boyutunda yaklaşık 10 pikselin altına düşecekse
imgsz=1280değerini dene. YOLO26 her görüntünün uzun kenarınıimgszdeğerine yeniden boyutlandırır; bu nedenle daha büyük değer, 640’a kıyasla yaklaşık dört kat hesaplama gücü gerektirse de her drone’un daha fazla pikselini korur. Eğittiğin boyutta doğrula ve dağıtıma al.Evet. SAHI, YOLO26 ağırlıklarını
AutoDetectionModel.from_pretrained(model_type="ultralytics", image_size=1280, ...)üzerinden yükler ve kutuları birleştirmeden önce modeli üst üste binen dilimlerde çalıştırır.perform_standard_pred=Falseile 3840 x 2160 boyutundaki bir kareyi 0,2 örtüşmeyle 1280 piksellik dilimlere ayırmak sekiz ileri geçiş gerektirir. Dilimlenmiş çıktıyı aynı test kümesinde tam görüntü temel çizgisiyle karşılaştır.Tüm sınıflar için küçük, orta ve büyük nesne AP değerlerini almak üzere bir algılama veri kümesinde
save_json=Trueile doğrulamayı çalıştır. Yalnızca drone sınıfına ait sonuçlar için kaydedilenpredictions.jsonçıktısını eşleşen görüntü ve kategori kimliklerini içeren COCO biçimli temel doğru verilerine göre değerlendir, değerlendirmeyi drone kategorisiyle sınırla ve daha ince aralıklar için kutu alanlarını özgün görüntü pikselleriyle kullan.Evet; hem etiketlenmiş bir sınıf olarak hem de yanlış alarm testinin parçası olarak ekle. Kuşlar yanlış alarmların yaygın bir kaynağıdır ve 2025’te YOLO11m ile yapılan bir deneyde drone ve kuş modeli, drone’ları yalnızca drone sınıfıyla eğitilen modelden biraz daha iyi tespit etti. Drone-vs-Bird’deki kuşlar etiketlenmediği için bu kutuları kendin ekle; yalnızca drone uyarılarına ihtiyacın varsa çıkarım sırasında kuş tahminlerini yok say.
Yazan
Yorumlar
Soru sor, sonuçlarını paylaş veya başka birine yardım et.










