nanodet-plus-1.5x-aerial-6cls

17๊ฐœ ๋„์‹œ ร— ๋‘ ๊ฐ€์ง€ ๊ณ ๋„(10m/15m)์˜ ํ•œ๊ตญ ๋“œ๋ก  ํ•ญ๊ณต ์˜์ƒ์œผ๋กœ ์ „์ดํ•™์Šต๋œ NanoDet-Plus ๋ชจ๋ธ. NanoDet-Plus fine-tuned on Korean aerial drone footage from 17 cities at 10m/15m altitudes.

Before vs After

์ฝ”๋“œยท๋ฌธ์„œ ์ „์ฒด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ: github.com/DeepMav/aerial-perception


๋ฒ„์ „ / Versions

๋ฒ„์ „ ํ•ต์‹ฌ ๋ณ€๊ฒฝ ์ฒญ๋ผ10m 4-๋„๋ฉ”์ธ ํ‰๊ท 
v0.1 ์ฒญ๋ผ 10m ๋‹จ์ผ (๊ณผ์ ํ•ฉ) 30.1% 17.1% โš 
v0.2 17 cities ร— 10m+15m 27.1% 28.9% (+69%)
v0.3 (Exp J) 4๋„๋ฉ”์ธ + hard-cap ์ƒ˜ํ”Œ๋ง 26.6% 28.5%
v0.4 ๊ณ ๋„์ธตํ™” ์žฌ์ƒ˜ํ”Œ๋ง 24.4% 29.2%
v0.5 (Exp B, current) ์ž…๋ ฅ 416โ†’640 29.3% 35.4% โœ…

v0.5(์ž…๋ ฅ 640)๊ฐ€ 4๊ฐœ ๋„๋ฉ”์ธ ์ „๋ถ€์—์„œ ์—ญ๋Œ€ ์ตœ๊ณ ์ž…๋‹ˆ๋‹ค (4-๋„๋ฉ”์ธ ํ‰๊ท  v0.2 ๋Œ€๋น„ +22%). v0.2 ์ดํ›„ ๋ฐ์ดํ„ฐ ์‹คํ—˜(v0.3ยทv0.4)์€ ๋„๋ฉ”์ธ ๋งž๊ตํ™˜์œผ๋กœ ํ‰๊ท ์ด ์ •์ฒดํ–ˆ์œผ๋‚˜, ํ•ด์ƒ๋„ ์ƒํ–ฅ์ด ๋ชจ๋“  ๋„๋ฉ”์ธ์„ ๋™๋ฐ˜ ์ƒ์Šน์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

โœ… ํ˜„์žฌ ํ˜ธ์ŠคํŒ… ๊ฐ€์ค‘์น˜(.pth/.onnx)๋Š” v0.5(์ž…๋ ฅ 640) ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์ˆ˜์น˜๋Š” ๋™์ผ ํ‰๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ ์ธก์ •๊ฐ’์ด๋ฉฐ, v0.2 ์žฌ์ธก์ •์ด ๊ธฐ์กด ๋ฐœํ‘œ์น˜์™€ ์ •ํ™•ํžˆ ์ผ์น˜ํ•จ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

โ“˜ v0.6 (๋ณด๋ฅ˜) โ€” ํƒ€์ผ ํŒŒ์ธํŠœ๋‹ + test-time SAHI, ์Œ์„ฑ ๊ฒฐ๊ณผ. 15m ๊ณ ๋„ ์ฐจ๋Ÿ‰์„ ์žก์œผ๋ ค๊ณ  1024 ํƒ€์ผ๋กœ v0.5๋ฅผ ํŒŒ์ธํŠœ๋‹ํ•œ ๋’ค SAHI ์ถ”๋ก ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. vehicle recall์€ ํšŒ๋ณต๋์œผ๋‚˜ building ์˜คํƒ์ด ํญ์ฆ(FPPI ~24)ํ•ด ์ข…ํ•ฉ mAP๊ฐ€ v0.5 ์ „์ฒด์ถ”๋ก (0.417)์„ ๋„˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. px ๊ฒŒ์ดํŒ…์€ vehicle๊ณผ structure ๋ฐ•์Šค ํฌ๊ธฐ ๋ถ„ํฌ๊ฐ€ ๊ฒน์ณ ๋ถ„๋ฆฌ์— ์‹คํŒจ(์˜คํƒ์„ ์ค„์ด๋ฉด ์ฐจ๋Ÿ‰๋„ ๋™๋ฐ˜ ์‚ฌ๋ง: vehicle recall 0.45โ†’0.09). ๊ฒฐ๋ก : test-time SAHI ๋‹จ๋…์œผ๋ก  ๋ถ€์กฑ โ†’ ์šด์šฉ ๊ฐ€์ค‘์น˜๋Š” v0.5 ์œ ์ง€. ์ง„์งœ ์ด๋“์€ train-time ํƒ€์ผ๋ง + score ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜์ด ํ•„์š”(ROI ๋ถˆํ™•์‹ค).

โ“˜ v0.7 (์šด์šฉ๊ฐœ์„ ) โ€” ๋‚˜๋ฌด ์˜คํƒ ์ค„์ด๊ธฐ, ์žฌํ•™์Šต ์—†์Œ. ๊ฐ€์ค‘์น˜๋Š” v0.5 ๊ทธ๋Œ€๋กœ์ด๋ฉฐ ํ›„์ฒ˜๋ฆฌ๋งŒ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋ฌด ์ „์šฉ NMS ์ค‘๋ณต์ œ๊ฑฐ(IoU 0.3) + ํด๋ž˜์Šค๋ณ„ score threshold๋กœ 4-๋„๋ฉ”์ธ ์ „์ฒด FPPI๋ฅผ ์ ˆ๋ฐ˜ ์ดํ•˜๋กœ ๊ฐ์ถ•(์ฒญ๋ผ 8.4โ†’3.7ยทํƒ๋ฐฐ 7.8โ†’2.6ยท๋†์•ฝ 5.0โ†’2.2ยท์šฉ์ธํ•˜๋‚จ 9.6โ†’3.2), ๋‚˜๋ฌด AP ๋ณ€ํ™” <1pp๋กœ mAP ์‚ฌ์‹ค์ƒ ๋ถˆ๋ณ€. ์ง„๋‹จ์ƒ ๋‚˜๋ฌด FP๋Š” ์œ„์น˜์˜ค์ฐจ/์ค‘๋ณต + ๊ทธ๋ฆผ์ž ํ™˜๊ฐ + ํ•™์Šต์…‹ ๋ผ๋ฒจ ํฌ์†Œ(16.5%๋งŒ ๋ผ๋ฒจ)์˜ ๋ณตํ•ฉ์ด๋ผ, negative-mining ํŒŒ์ธํŠœ๋‹์€ ๋ณด๋ฅ˜ํ•˜๊ณ  ๋ฌด๋ฃŒ ๋ ˆ๋ฒ„๋กœ ์šด์šฉ์ ์„ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทผ๋ณธ ํ•ด๊ฒฐ(๋ฏธ๋ผ๋ฒจ ๋‚˜๋ฌด ์žฌ๋ผ๋ฒจ ํ›„ ์žฌํ•™์Šต)์€ ํ–ฅํ›„ ๊ณผ์ œ.

์šด์šฉ์  2์ข… (๋‚˜๋ฌด threshold๋งŒ ๋‹ค๋ฆ„, 6/9 4-๋„๋ฉ”์ธ ์žฌ์ธก์ •). ๊ฐ™์€ v0.5 ๊ฐ€์ค‘์น˜์— FPโ†”recall ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ๊ณจ๋ผ ์“ฐ๋Š” ํ›„์ฒ˜๋ฆฌ์ž…๋‹ˆ๋‹ค โ€” F1๋ ˆ๋ฒ„(tree ฯ„=0.325, ๋‚˜๋ฌด recall ๋ณด์กด) vs ์ •๋ฐ€๋ ˆ๋ฒ„(tree ฯ„=0.40, FPPI ์ตœ์ €).

๋„๋ฉ”์ธ ์ „์ฒด FPPI (๋ฒ ์ด์Šคโ†’F1โ†’์ •๋ฐ€) ๋‚˜๋ฌด FPPI ๋‚˜๋ฌด recall
์ฒญ๋ผ10m 8.43 โ†’ 3.65 โ†’ 2.21 4.41 โ†’ 2.14 โ†’ 0.69 18.0% โ†’ 13.5% โ†’ 5.6%
์šฉ์ธํ•˜๋‚จ15m 9.55 โ†’ 3.19 โ†’ 3.19 0.01 โ†’ 0.00 โ†’ 0.00 (๋‚˜๋ฌด GT 0)
ํƒ๋ฐฐ15m 7.77 โ†’ 2.61 โ†’ 2.53 0.17 โ†’ 0.12 โ†’ 0.04 (๋‚˜๋ฌด GT 0)
๋†์•ฝ 5.00 โ†’ 2.20 โ†’ 1.87 0.93 โ†’ 0.55 โ†’ 0.23 46.7% โ†’ 39.7% โ†’ 27.3%

๋ชจ๋ธ mAP@0.5(ํ’€์บ์‹œ, ๋ ˆ๋ฒ„ ๋ฌด๊ด€ ๋ถˆ๋ณ€): ์ฒญ๋ผ 29.3 / ์šฉ์ธํ•˜๋‚จ 25.1 / ํƒ๋ฐฐ 43.6 / ๋†์•ฝ 43.6. โš ๏ธ ๋ ˆ๋ฒ„๋Š” ๋ชจ๋“  ํด๋ž˜์Šค ฯ„๋ฅผ 0.3 ์œ„๋กœ ์˜ฌ๋ฆฌ๋Š” ์ •๋ฐ€๋„-์šฐ์„  ์šด์šฉ์ ์ด๋ผ macro recall์€ ํ•˜๋ฝ(์ฒญ๋ผ 41.6โ†’32~33%) โ€” mAP๋Š” ๋ถˆ๋ณ€์ด๊ณ  recall ํ•˜๋ฝ์€ ๋” ๋†’์€ ์ •๋ฐ€๋„ ์ ์„ ํƒํ•œ ๋Œ€๊ฐ€์ž…๋‹ˆ๋‹ค.

โ“˜ v0.8 (์‹คํ—˜) โ€” ๋‚˜๋ฌด ๋ผ๋ฒจ ์™„์„ฑ ํ›„ ์žฌํ•™์Šต, ๊ทผ๋ณธ ์›์ธ ๊ณต๋žต. v0.7์ด "ํ–ฅํ›„ ๊ณผ์ œ"๋กœ ๋‚จ๊ธด ํ•™์Šต์…‹ ๋ผ๋ฒจ ์ •ํ™”๋ฅผ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง„๋‹จ ์‹ฌํ™”: ๋‚˜๋ฌด ๋ผ๋ฒจ์€ ๊ณ ๋„๋ณ„ ์ด์ค‘๋ชจ๋“œ โ€” ์ €๊ณ ๋„(510m)๋Š” ์ด˜์ด˜(์ฒญ๋ผ10m 27.8๊ฐœ/img)ํ•˜๋‚˜ 15mโ†‘๋Š” ์‚ฌ์‹ค์ƒ 0(00.2๊ฐœ/img). ๊ฐ™์€ ๋‚˜๋ฌด๊ฐ€ 10m์—” ๋ผ๋ฒจยท15m์—” ๋ฌด๋ผ๋ฒจ์ด๋ผ ๋ชจ์ˆœ ์‹ ํ˜ธ๊ฐ€ ์ƒ๊ธฐ๊ณ , v0.5๋Š” ๊ทธ ๊ฒฐ๊ณผ 15m ๋‚˜๋ฌด์— ์‚ฌ์‹ค์ƒ ์žฅ๋‹˜(๊ณ ๊ณ ๋„ 0.0๊ฒ€์ถœ/img). ๋ฐฉ๋ฒ•: open-vocab ๊ฒ€์ถœ๊ธฐ(OWLv2)๋กœ 15m ๋‚˜๋ฌด ํ›„๋ณด๋ฅผ ๋งŒ๋“ค๊ณ  v0.5์˜ ์•ˆ์ •์  ๊ฑด๋ฌผยท๊ตฌ์กฐ๋ฌผ ๊ฒ€์ถœ๋กœ ์˜คํƒ์„ vetoํ•ด ๋ผ๋ฒจ์„ ์ž๋™ ์™„์„ฑ(๋‚˜๋ฌด ๋ผ๋ฒจ 77.5kโ†’106k, +37%), exp_b warm-start 10ep ์žฌํ•™์Šต(์ „์ฒด 33k). ๊ฒฐ๊ณผ(์ •์ง): 15m ๋‚˜๋ฌด ๊ฒ€์ถœ recall 1.1%โ†’14.3%(์ž๋™ ์ƒ์„ฑ ๊ธฐ์ค€ ๋ผ๋ฒจ ๋Œ€๋น„, 13ร—), ๋ผ๋ฒจ ๋„๋ฉ”์ธ ๋‚˜๋ฌด FP ๊ฐ์†Œ(์ฒญ๋ผ tree FPPI 2.14โ†’1.21ยท๋†์ดŒ 0.55โ†’0.41), 4-๋„๋ฉ”์ธ ํ—ค๋“œ๋ผ์ธ mAP๋Š” ๋™๋ฅ (โ‰ˆ26.6, ๋™์ผ ์šด์šฉ์ ). โš ๏ธ ํ•œ๊ณ„: 15m ํ–ฅ์ƒ์€ ์ž๋™ ์ƒ์„ฑ ๊ธฐ์ค€ ๋ผ๋ฒจ(โ‰ˆ85% ์ •๋ฐ€, ์‚ฌ๋žŒ GT ์•„๋‹˜) ๋Œ€๋น„ ์ธก์ •์ด๊ณ , ํ‰๊ฐ€์…‹ 15m ๋‚˜๋ฌด ๋ผ๋ฒจ๋„ ํฌ์†Œํ•ด ํ—ค๋“œ๋ผ์ธ mAP์—” ๋ฐ˜์˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŒ… ๊ฐ€์ค‘์น˜๋Š” v0.5 ์œ ์ง€(v0.8์€ ํ—ค๋“œ๋ผ์ธ ๋™๋ฅ  + ์ž๋™๋ผ๋ฒจ ๊ธฐ์ค€ ์ธก์ •์ด๋ผ ๋ณธ๋ฐฐํฌ ๋ณด๋ฅ˜). ๊ฒฐ๋ก : ๋ฉ”์ปค๋‹ˆ์ฆ˜(15m ๋ผ๋ฒจ ์™„์„ฑโ†’๊ฒ€์ถœ ํšŒ๋ณต)์€ ์ž…์ฆ, ์‚ฌ๋žŒ ๋ผ๋ฒจ๋กœ ๊ฒ€์ฆ์ด ๋‹ค์Œ ๋‹จ๊ณ„.

๐Ÿ”ฌ ์‚ฌ๋žŒ GT ๊ฒ€์ฆ ๊ฒฐ๊ณผ (6/9, ๋ถ€๋ถ„ ํ‘œ๋ณธ โ€” ์ •์งํ•œ ํ›„์†). ํ‰๊ฐ€์…‹ 15m ๋‚˜๋ฌด๋ฅผ ์‚ฌ๋žŒ์ด ์™„์ „ ๊ต์ •ํ•ด(ํ˜„์žฌ 12์žฅ, ๋‚˜๋ฌด 483๊ฐœ) ์žฌ์ธก์ •ํ•œ ๊ฒฐ๊ณผ, ์ž๋™ ๋ผ๋ฒจ ๊ธฐ์ค€ 14.3%๋Š” ์ž๊ธฐํ™•์ฆ ์ฐฉ์‹œ๋กœ ํ™•์ธ๋์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ GT ๋Œ€๋น„ 15m ๋‚˜๋ฌด recall์€ ์šด์šฉ์ ์—์„œ 0.4%, threshold๋ฅผ 0๊นŒ์ง€ ํ’€์–ด๋„ ์ฒœ์žฅ์ด 6.0%(์ด๋•Œ FPPI 8.3 โ€” ์‚ฌ์šฉ ๋ถˆ๊ฐ€), ๊ฐœ๋ณ„ ๋‚˜๋ฌด๋ฅผ ๊ตฐ๋ฝ ๋‹จ์œ„๋กœ 12๋ฐฐ ๋ญ‰์ณ ์žฌ์ฑ„์ ํ•ด๋„ FP ํ†ต์ œ์ ์—์„œ ์ตœ๋Œ€ **7.3%**์˜€์Šต๋‹ˆ๋‹ค. ๋น„๊ต๊ตฐ v0.5๋Š” ๋ชจ๋“  ์กฐ๊ฑด์—์„œ 0.0%(12์žฅ ์ „์ฒด ๋‚˜๋ฌด ๊ฒ€์ถœ 1๊ฐœ = ์™„์ „ ์žฅ๋‹˜)์ด๋ฏ€๋กœ, v0.8์˜ ํ•™์Šต ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ž์ฒด๋Š” ์ž‘๋™(0%โ†’๊ฒ€์ถœ)ํ•˜์ง€๋งŒ, 14.3%๋Š” OWLv2 ์ž๋™ ๋ผ๋ฒจ(๋ชจ๋ธ์ด ํ•™์Šตํ•œ ๊ฒƒ๊ณผ ๋™ํ˜•)์— ๋Œ€๊ณ  ์ธก์ •ํ•œ ๊ฐ’์ด๋ผ ๋ถ€ํ’€๋ ค์กŒ๊ณ  ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ 15m ๋‚˜๋ฌด ์„ฑ๋Šฅ์—๋Š” ํฌ๊ฒŒ ๋ชป ๋ฏธ์นฉ๋‹ˆ๋‹ค. โ†’ ํ˜ธ์ŠคํŒ… ๊ฐ€์ค‘์น˜ v0.5 ์œ ์ง€ ํ™•์ •. (n=12๋Š” ๋ถ€๋ถ„ ํ‘œ๋ณธ์ด๋ฉฐ ์ž”์—ฌ 28์žฅ ๊ต์ • ์˜ˆ์ •์ด๋‚˜, 0%ยท6%ยท7% ์„ธ ์ธก์ •์ด ์ผ๊ด€๋ฉ๋‹ˆ๋‹ค.)


๋ชจ๋ธ ์ •๋ณด / Model Info

ํ•ญ๋ชฉ ๊ฐ’
Base nanodet-plus-m-1.5x (COCO 80 pretrained)
Backbone ShuffleNetV2-1.5x
Neck GhostPAN
Input 416 ร— 416 RGB (v0.2~v0.4) ยท 640 ร— 640 (v0.5)
Params 7.79M
Classes 6 (drone-specific)
Training 30 epoch, AdamW, cosine. v0.2: batch 20ร—5 (eff 100), lr 0.0016 ยท v0.5: batch 10ร—5 (eff 50, 640 ๋ฉ”๋ชจ๋ฆฌ ์ œ์•ฝ), lr 0.00113
Dataset AI Hub #183 โ€” Urban surveillance + delivery + dusting, ๋‹ค์ค‘ ๋„๋ฉ”์ธ
Best epoch 15 (cosine annealing plateau)
License CC BY-NC 4.0

ํด๋ž˜์Šค / Classes

ID Name KR
0 tree ๋‚˜๋ฌด
1 structure ์‹œ์„ค๋ฌผ (๊ฐ€๋กœ๋“ฑยท์†ก์ „ํƒ‘ ๋“ฑ)
2 building ๊ฑด๋ฌผ
3 vehicle ์ฐจ๋Ÿ‰
4 bridge ๋‹ค๋ฆฌ
5 person ์‚ฌ๋žŒ

์„ฑ๋Šฅ / Performance

In-domain (Cheongna 10m val, 1,023 images โ€” same as v0.1)

Class v0.1 (Cheongna only) v0.2 (multi-city) ฮ”
tree 18.0% 11.8% -6.2pp
structure 18.1% 12.8% -5.3pp
building 27.1% 32.9% +5.8pp
vehicle 61.0% 45.6% -15.4pp
bridge 14.9% 21.3% +6.4pp
person 41.4% 38.2% -3.2pp
mAP@0.5 30.1% 27.1% -3.0pp

v0.1์€ ์ฒญ๋ผ ๋ฐ์ดํ„ฐ์— ๊ณผ์ ํ•ฉ๋˜์–ด ๋” ๋†’์€ ์ ์ˆ˜๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค. v0.2๋Š” ์ผ๋ฐ˜ํ™”๋ฅผ ์œ„ํ•ด ๋‹ค์–‘์„ฑ์„ ํ•™์Šตํ•œ ๊ฒฐ๊ณผ ์ผ๋ถ€ ์ ์ˆ˜๋ฅผ ์–‘๋ณดํ–ˆ์Šต๋‹ˆ๋‹ค.

4-Domain Generalization (out-of-distribution ํ‰๊ฐ€, ฯ„=0.3, IoUโ‰ฅ0.5)

Val ๋„๋ฉ”์ธ v0.1 v0.2 v0.3 v0.4 v0.5
์ฒญ๋ผ10m (in-domain) 30.1 27.1 26.6 24.4 29.3
์šฉ์ธํ•˜๋‚จ 15m (์™ธ์‚ฝ-๋„์‹œ) 7.3 23.6 19.2 19.5 25.1
๋“œ๋ก ํƒ๋ฐฐ 15m (์™ธ์‚ฝ-๋„์‹œ ์‹œ๋‚˜๋ฆฌ์˜ค) 10.7 43.6 33.5 36.5 43.6
๋†์•ฝ์‚ดํฌ (์™ธ์‚ฝ-๋†์ดŒ) 20.4 21.3 34.8 36.4 43.6 ๐Ÿ”ฅ
4-๋„๋ฉ”์ธ ํ‰๊ท  17.1 28.9 28.5 29.2 35.4

ํ•ต์‹ฌ ์ธ์‚ฌ์ดํŠธ:

  • v0.5(์ž…๋ ฅ 640)๊ฐ€ 4๊ฐœ ๋„๋ฉ”์ธ ์ „๋ถ€ ์—ญ๋Œ€ ์ตœ๊ณ ์ด๊ฑฐ๋‚˜ ๋™๋ฅ  โ€” ํ‰๊ท  35.4% (v0.2 ๋Œ€๋น„ +6.5pp, +22%)
  • ๋†์ดŒ(๋†์•ฝ์‚ดํฌ): v0.2 21.3% โ†’ v0.5 43.6%๋กœ 2๋ฐฐ ์ด์ƒ. ๋†์—… ๋ฐ์ดํ„ฐ ํ•™์Šต + ํ•ด์ƒ๋„ ํšจ๊ณผ
  • 15m ๊ณ ๋„ ์ฐจ๋Ÿ‰: v0.5(640)์œผ๋กœ๋„ ์—ฌ์ „ํžˆ ๊ฒ€์ถœ ์‹คํŒจ โ€” ํ•ด์ƒ๋„ ๋‹จ๋…์œผ๋กœ๋Š” ํ•œ๊ณ„. ํƒ€์ผ/SAHI ์ถ”๋ก  ํ•„์š”
  • v0.3ยทv0.4(๋ฐ์ดํ„ฐ ์‹คํ—˜): ๋„๋ฉ”์ธ ๋งž๊ตํ™˜์œผ๋กœ ํ‰๊ท  ์ •์ฒด. ๋ŒํŒŒ๋Š” ํ•ด์ƒ๋„(v0.5)์—์„œ ๋‚˜์˜ด

ํŒŒ์ผ / Files

File Size Format Note
nanodet_model_best.pth 31 MB PyTorch v0.5 ํ•™์Šต ๊ฐ€์ค‘์น˜ (์ž…๋ ฅ 640)
drone_nanodet_640.onnx 11 MB ONNX ๋ฐฐํฌ์šฉ (๋ชจ๋ฐ”์ผ/์—ฃ์ง€), ์ž…๋ ฅ 640ร—640
config.yaml 4 KB NanoDet training config v0.5: input 640, batch 10ร—5, lr 0.00113, 30 epoch
example.jpg ~700 KB Sample inference ์ฐธ๊ณ ์šฉ

์‚ฌ์šฉ๋ฒ• / Usage

PyTorch (NanoDet)

NanoDet ์„ค์น˜ ํ•„์š” / Requires NanoDet installed from github.com/RangiLyu/nanodet:

from huggingface_hub import hf_hub_download
from nanodet.util import cfg, load_config, load_model_weight, Logger
from nanodet.model.arch import build_model
import torch

# Download weight
pth = hf_hub_download(
    repo_id="harveykim/nanodet-plus-1.5x-aerial-6cls",
    filename="nanodet_model_best.pth"
)
cfg_path = hf_hub_download(
    repo_id="harveykim/nanodet-plus-1.5x-aerial-6cls",
    filename="config.yaml"
)

load_config(cfg, cfg_path)
model = build_model(cfg.model)
ckpt = torch.load(pth, map_location="cpu")
load_model_weight(model, ckpt, Logger(-1, use_tensorboard=False))
model.eval().cuda()

ONNX Runtime (recommended for deployment)

import onnxruntime as ort
import cv2, numpy as np
from huggingface_hub import hf_hub_download

onnx_path = hf_hub_download(
    repo_id="harveykim/nanodet-plus-1.5x-aerial-6cls",
    filename="drone_nanodet_640.onnx"
)
sess = ort.InferenceSession(onnx_path)

img = cv2.imread("aerial.jpg")
img = cv2.resize(img, (640, 640))            # v0.5 ์ž…๋ ฅ ํ•ด์ƒ๋„
x = img.astype(np.float32).transpose(2, 0, 1)[None]
preds = sess.run(None, {"data": x})[0]  # [1, 8500, 38]
# 38 = 6 (cls) + 32 (reg, 4 * (reg_max+1) where reg_max=7)

ํ›„์ฒ˜๋ฆฌยท์‹œ๊ฐํ™” / Post-processing & visualization: github.com/DeepMav/aerial-perception/blob/main/scripts/visualize.py

Android (NCNN)

  1. Convert ONNX โ†’ NCNN (.param + .bin)
  2. Use NanoDet's Android NCNN demo
  3. Replace class names with the 6 classes above
  4. Expected on-device inference: 8~25 ms (Snapdragon 8 Gen 1+)

ํ•™์Šต ์ •๋ณด / Training Info (v0.5, hosted)

  • Hardware: 5 ร— RTX 3070 (DDP), AMP fp16
  • Input: 640 ร— 640 (v0.2~v0.4๋Š” 416)
  • Batch: 10/GPU (effective 50) โ€” 640 ๋ฉ”๋ชจ๋ฆฌ ์ œ์•ฝ(8GB)์œผ๋กœ v0.2์˜ ์ ˆ๋ฐ˜
  • Optimizer: AdamW, lr 0.00113 (effective batch 50์— ๋งž์ถ˜ sqrt ์Šค์ผ€์ผ๋ง)
  • Schedule: Cosine annealing, warmup, T_max=30 ยท best โ‰ˆ epoch 15
  • Data: AI Hub #183 ๋‹ค๋„๋ฉ”์ธ โ€” ๋„์‹œ๊ฐ์‹œ(10m/15m) + ๋“œ๋ก ํƒ๋ฐฐ + ๋†์•ฝ์‚ดํฌ, ์‹ค์ œ ๊ณ ๋„ ์ธตํ™” ์žฌ์ƒ˜ํ”Œ๋ง (~33k images)
  • ๋ณ€๊ฒฝ ์ด๋ ฅ: v0.2(17๋„์‹œ ๋‹ค์ค‘) โ†’ v0.3(4๋„๋ฉ”์ธ hard-cap) โ†’ v0.4(๊ณ ๋„์ธตํ™”) โ†’ v0.5(์ž…๋ ฅ 640). ์ƒ์„ธ๋Š” ์œ„ ๋ฒ„์ „ ํ‘œ ์ฐธ์กฐ

ํ•œ๊ณ„ / Limitations

  • ๋†์ดŒยท์‹œ๊ณจ ๋„๋ฉ”์ธ: v0.2๊นŒ์ง€ ์•ฝ์ (21.3%)์ด์—ˆ์œผ๋‚˜ v0.5์—์„œ ๋†์•ฝ์‚ดํฌ ํ•™์Šต+640์œผ๋กœ 43.6%๋กœ ๊ฐœ์„ . ๊ทธ๋ž˜๋„ ๋„์‹œ ๋Œ€๋น„ ๋ฐ์ดํ„ฐ๋Ÿ‰ ์ ์Œ
  • 15m ์ด์ƒ ๊ณ ๋„์˜ ์ฐจ๋Ÿ‰: v0.5(640)์œผ๋กœ๋„ ์—ฌ์ „ํžˆ ๊ฒ€์ถœ ์‹คํŒจ(vehicle@15m ~0%). ํ•ด์ƒ๋„ ์ƒํ–ฅ๋งŒ์œผ๋ก  ๋ถ€์กฑ. v0.6์—์„œ ํƒ€์ผ/SAHI ์ถ”๋ก ์„ ์‹œ๋„ํ–ˆ์œผ๋‚˜ test-time SAHI ๋‹จ๋…์€ ์˜คํƒ ํญ์ฆ์œผ๋กœ v0.5๋ฅผ ๋ชป ๋„˜์Œ(์œ„ v0.6 ๋ณด๋ฅ˜ ์ฃผ์„ ์ฐธ์กฐ) โ€” train-time ํƒ€์ผ๋ง ํ•„์š”
  • tree ์˜คํƒ: ์žŽ์‚ฌ๊ท€ยท๊ด€๋ชฉยท๊ทธ๋ฆผ์ž๋ฅผ ๋‚˜๋ฌด๋กœ ์˜ค์ธ. v0.7 ์šด์šฉ๊ฐœ์„ (๋‚˜๋ฌด NMS ์ค‘๋ณต์ œ๊ฑฐ + threshold)์œผ๋กœ 4-๋„๋ฉ”์ธ FPPI ์ ˆ๋ฐ˜ ์ดํ•˜ ๊ฐ์ถ•(mAP ๋ถˆ๋ณ€). ๊ทผ๋ณธ์›์ธ(ํ•™์Šต์…‹ ๋‚˜๋ฌด ๋ผ๋ฒจ 16.5%๋งŒ โ€” ๋ฏธ๋ผ๋ฒจ ๋‚˜๋ฌด๋กœ ์ธํ•œ ๋ชจ์ˆœ ์‹ ํ˜ธ)์€ v0.8 ์‹คํ—˜์—์„œ ๋ผ๋ฒจ ์ž๋™์™„์„ฑ+์žฌํ•™์Šต์œผ๋กœ ๊ณต๋žต(15m ๋‚˜๋ฌด ๊ฒ€์ถœ 1.1%โ†’14.3%, ์ž๋™ ๊ธฐ์ค€ ๋ผ๋ฒจ ๋Œ€๋น„) โ€” ์œ„ v0.8 ๋…ธํŠธ ์ฐธ์กฐ. ๋‹จ 6/9 ์‚ฌ๋žŒ GT(12์žฅ) ๊ฒ€์ฆ์„œ 14.3%๋Š” ์ž๊ธฐํ™•์ฆ ์ฐฉ์‹œ๋กœ ํ™•์ธ๋จ(์‚ฌ๋žŒ ๋Œ€๋น„ ์šด์šฉ์  0.4%ยท์ฒœ์žฅ 6~7%) โ†’ ๊ฐ€์ค‘์น˜ v0.5 ์œ ์ง€ ํ™•์ •
  • ์•ผ๊ฐ„ยท์ผ์ถœยท์ผ๋ชฐ: ํ•™์Šต ๋ฐ์ดํ„ฐ ๋ถ€์žฌ๋กœ ์ถ”์ • ~10% ๋ฏธ๋งŒ
  • ์ƒ์šฉ ๋น„ํ–‰์— ๋ถ€์ ํ•ฉ: ์ž์œจ ํšŒํ”ผยท๊ตฌ์กฐยท์ž๋™ ํ•ญ๋ฒ• ๋“ฑ์—๋Š” mAP๊ฐ€ ๋ถ€์กฑ (โ‰ฅ50% ๊ถŒ์žฅ)

์ ํ•ฉํ•œ ์šฉ๋„

  • โœ… ๋„์‹œ ํ•ญ๊ณต ์˜์ƒ ๋ฐ๋ชจยท์‹œ์—ฐ (5~10m ๊ณ ๋„, ๋‚ฎ ์‹œ๊ฐ„๋Œ€)
  • โœ… AI ๋ผ๋ฒจ๋ง ์ž๋™ํ™” ๋ณด์กฐ (์‚ฌ๋žŒ ๊ฒ€์ˆ˜ ๋ณ‘ํ–‰)
  • โœ… ๊ต์œกยท์—ฐ๊ตฌ baseline
  • โŒ ์ƒ์šฉ ์ž์œจ ๋น„ํ–‰
  • โŒ ๋ณด์•ˆ ๊ฐ์‹œ (high stakes)
  • โŒ ๋†์—… ๋ชจ๋‹ˆํ„ฐ๋ง (๋„๋ฉ”์ธ ๋ฏธํ•™์Šต)

์ธ์šฉ / Citation

@misc{deepmav2026aerialperception,
  title  = {aerial-perception: NanoDet-Plus 1.5x Aerial 6-class Baseline v0.5},
  author = {DeepMav},
  year   = {2026},
  url    = {https://github.com/DeepMav/aerial-perception}
}

๊ฐ์‚ฌ์˜ ๊ธ€ / Acknowledgements

๋ผ์ด์„ ์Šค / License

CC BY-NC 4.0 โ€” Creative Commons Attribution-NonCommercial 4.0 International

  • โœ… ์ž์œ  ์‚ฌ์šฉ (์—ฐ๊ตฌยท๊ต์œกยท๊ฐœ์ธ ํ”„๋กœ์ ํŠธ)
  • โœ… ์ˆ˜์ •ยท๋ฐฐํฌ ๊ฐ€๋Šฅ
  • โœ… ์ถœ์ฒ˜ ํ‘œ์‹œ ์˜๋ฌด (Attribution required)
  • โŒ ์ƒ์šฉ ์‚ฌ์šฉ ๊ธˆ์ง€ (Non-commercial only)

์ƒ์šฉ ์‚ฌ์šฉยท๋ผ์ด์„ ์Šค ํ˜‘์˜ / Commercial use & licensing inquiries:

Acknowledgement of Base Model

The underlying NanoDet-Plus architecture (RangiLyu et al.) remains under Apache 2.0 license. Fine-tuned weights provided in this repository are licensed under CC BY-NC 4.0.

Full license text: https://creativecommons.org/licenses/by-nc/4.0/legalcode

Downloads last month
4
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Evaluation results