๐งฉ RTMDet, SOTA of Real-Time, One-Stage Object Detectors: ์ค์๊ฐ, One-Stage Object Detector์ ์ ์
๐งฉ RTMDet, SOTA of Real-Time, One-Stage Object Detectors: ์ค์๊ฐ, One-Stage Object Detector์ ์ ์
๐งฉ (ํ๊ตญ์ด) RTMDet : YOLO Family์ ์๋ก์ด ๊ฐ์!
- ์ ๋ชฉ: TMDet: An Empirical Study of Designing Real-Time Object Detectors
- ํ๋ก์ ํธ/๋ฐ๋ชจ: Github
- ํต์ฌ ํค์๋:
Real-Time Detection
,One-Stage
,Large-Kernel DWConv
,Dynamic Label Assignment
,Deployment
- ์์ฝ: RTMDet๋ ์ค์๊ฐ(Real-Time) ์ฑ๋ฅ์ ๋ชฉํ๋ก, ๋ฐฑ๋ณธโ๋ฅ ์ฉ๋ ๊ท ํ, ๋ํ ์ปค๋ Depthwise Conv ๋ธ๋ก, ๋์ ๋ผ๋ฒจ ํ ๋น+์ํํธ ๋ผ๋ฒจ ๋ฑ ์ค๊ณ ์ ํ์ง๋ค์ ์ค์ฆ ๋น๊ต๋ฅผ ํตํด ์๋โ์ ํ๋โ๋ฐฐํฌ ์ฉ์ด์ฑ์ ๋์์ ๋ฌ์ฑํ 1-Stage Object Detector
๐ RTMDet ํต์ฌ ์์ฝ
ํ ์ค ์์ฝ: RTMDet = ์ ์ญ ์ปจํ ์คํธ๋ฅผ ์ ๋ณด๊ณ , ํ์ต์ ๋๋ํ๊ฒ, ํ์ฅ์ ์ฝ๊ฒ, ์ฑ๋ฅ์ ๋น ๋ฅด๊ณ ์ ํํ๊ฒ!
1) ํจ์จ์ ์ธ ๋ชจ๋ธ ๊ตฌ์กฐ ๐ง
- ๋์ ์์ผ: ํฐ ์ปค๋(๋ํ ํํฐ)๋ก ํ ๋ฒ์ ์ ์ญ ๋ฌธ๋งฅ์ ํฌ์ฐฉ.
- ์ค๋งํธํ ์ค๊ณ: ๊น์ดโยทํญโ๋ก ์ฐ์ฐ ๋ญ๋น ์์ด ์๋ยท์ ํ๋ ๊ท ํ ํ๋ณด(์ฌํ๋ผ๋ฏธํฐํ ๋ถํ์).
2) ๋ ๋๋ํด์ง ํ์ต๋ฒ ๐ฏ
- ์ ์ฐํ ์ ๋ต์ง(Soft Label): โ100% ๊ณ ์์ดโ ๋์ ํ๋ฅ ์ ํ๊น์ผ๋ก ๋งค์นญ โ ๋ผ๋ฒจ ๋ ธ์ด์ฆโ, ์ ํ๋โ.
- ์ต์ ๋ ์ํผ: ์ฆ๊ฐยท์ต์ ํยท์ค์ผ์ค ์กฐํฉ์ ๋ค๋ฌ์ด ์๋ ด ์์ ์ฑ๊ณผ ์ฑ๋ฅ ๋์ ํฅ์.
3) ๋ฐ์ด๋ ํ์ฅ์ฑ ๐ ๏ธ
- ์ธ์คํด์ค ๋ถํ : ์ปค๋+๋ง์คํฌ ํค๋๋ง ์ถ๊ฐํด ์ ๋ฐํ ๋ฌผ์ฒด ์ค๊ณฝ๊น์ง ์์ธก(Segmentation).
- ํ์ ๊ฒ์ถ: ๋ฐ์ค ํ๊ท ์ฐจ์ ํ์ฅ(4โ5)๊ณผ ํ์ ๋์ฝ๋๋ก ๊ธฐ์ธ์ด์ง ๋ฌผ์ฒด๋ ์ ํํ ํ์ง.
4) ์๋์ โ๊ฐ์ฑ๋นโ ์ฑ๋ฅ โก
- ๋ค์ํ ์ฌ์ด์ฆ: Tiny~XL๊น์ง ์๊ตฌ ์ฑ๋ฅยท๋ฆฌ์์ค์ ๋ง๊ฒ ์ ํ.
- ์ค์๊ฐ ์ฒ๋ฆฌ: ์ํ ๋ชจ๋ธ์ ์ด๋น 1000์ฅ+ ์ฒ๋ฆฌ๋ ๊ฐ๋ฅ, ์ ์ ํ๋ผ๋ฏธํฐ๋ก ๋์ AP ๋ฌ์ฑ.
๐ ๊ธฐ์กด ์ฐ๊ตฌ๋ค!!
- ํจ์จ์ ๊ฐ์ฒด ํ์ง ์ํคํ
์ฒ
- ์ค์๊ฐ ์์ฉ์์๋ ์ต์ปค ๊ธฐ๋ฐยท์ต์ปค ํ๋ฆฌ์ 1-stage๊ฐ ์ฃผ๋ฅ(๋ํ์ ์ผ๋ก YOLO), 2-stage๋ ์๋๋์ ์๋์ ์ผ๋ก ๋น์ ํธ.
- ๋ ๋น ๋ฅธ ๊ฐ์ง๋ฅผ ์ํ ํ
ํฌ๋๋ค์ด ๋ฑ์ฅ!!: efficient backbone & model scaling strategies / multi-scale feature/ NAS / re-parameterization
- efficient backbone & model scaling strategies
- ๊ฒฝ๋ ๋ฐฑ๋ณธ(์: MobileNet, ShuffleNet)๊ณผ ์ค์ผ์ผ๋ง(๊น์ด/ํญ/์ ๋ ฅํด์๋ ์กฐ์ ; ์: EfficientNet์ compound scaling)๋ก ์ฐ์ฐ๋์ ์์ฐ์ ๋ง์ถฐ ํ๋ํด ์๋โ์ ํ๋ ๊ท ํ์ ๋ง์ถฅ๋๋ค.
- multi-scale feature
- FPN/PAN ๋ฑ ํผ์ฒ ํผ๋ผ๋ฏธ๋๋ก ์์/ํฐ ๋ฌผ์ฒด๋ฅผ ๋ชจ๋ ์ ๋ณด๋๋ก ์ฌ๋ฌ ํด์๋์ ํน์ง์ ์ตํฉํฉ๋๋ค(์โ์๋ ์ ํ + ์ธก๋ฉด ์ฐ๊ฒฐ).
- NAS (Neural Architecture Search)
- ํ๋์จ์ด/์ง์ฐ์๊ฐ ์ ์ฝ์ ๋ฃ๊ณ ์๋์ผ๋ก ์ํคํ ์ฒ๋ฅผ ํ์(์งํ/๊ฒฝ์ฌ ๊ธฐ๋ฐ)ํด, ํน์ ๊ธฐ๊ธฐ์์ ์ต์ ์ ๊ตฌ์กฐ(์๋โ์ ํ๋)๋ฅผ ์ฐพ์๋ ๋๋ค.
- re-parameterization(๋ฐฐํฌ ํ ๊ตฌ์กฐ ๋จ์ํ)
- ํ์ต ์ ๋ค์ค ๋ถ๊ธฐ(Conv/Skip/BN)๋ก ํํ๋ ฅ์ ๋์ด๊ณ , ๋ฐฐํฌ ์ ๋จ์ผ Conv๋ก ํฉ์น๊ธฐ(BN folding ํฌํจ) ํด ์ถ๋ก ์ ๋น ๋ฅด๊ฒ ํฉ๋๋ค(์: RepVGG/ACNet ์คํ์ผ).
- efficient backbone & model scaling strategies
- ๋ณธ ๋ ผ๋ฌธ ๊ด์ : backbone&neck ์ฉ๋์ ํธํ๋๊ฒ ์ค๊ณํ๊ณ , ๋ํ ์ปค๋ DWConv(large-kernel depth-wise convolutions)๋ฅผ ๊ธฐ๋ณธ ๋ธ๋ก์ ๋์ ํ ์ ์ฒด ์ํคํ ์ฒ ์ ์.
- ๋ผ๋ฒจ ํ ๋น(ํ์ต ์์ค ํฌํจ)
- ์ด๊ธฐ: IoU ๋งค์นญ์ผ๋ก โ์ด ์์ธก์ ์ ๋ต์ผ๋ก ๋ณผ์งโ ๊ฒฐ์ , ๋ค๋ง ์์ ๋ฌผ์ฒด/๊ฒน์นจ/๊ฐ์ฅ์๋ฆฌ์์ ๋งค์นญ ์ด์ ๋ฐ์
- ์ดํ: ์ข์ ํ๋ณด๋ฅผ ๋๋ํ๊ฒ ๊ณจ๋ผ ํ์ตํ๊ณ , ์ด๋ฐ ๋ถ์์ ์ ์ค์ฌ ๋นจ๋ฆฌยท๋์ด ์ฑ๋ฅ์ ์ฌ๋ฆฌ๋ ๋ฐฉ์ ์ฐ๊ตฌ
- ์ค์ฌ ๊ธฐ๋ฐ ๋งค์นญ(center-based)
- ์์ด๋์ด: ์ ๋ต ๋ฐ์ค์ ํ๊ฐ์ด๋ฐ์ ๊ฐ๊น์ด ์์ธก์ผ์๋ก ์ง์ง์ผ ๊ฐ๋ฅ์ฑ์ด ๋๋ค!
- ๊ทธ๋์ GT ๋ฐ์ค ์ค์ ๊ทผ์ฒ(์์ ์ฌ๊ฐํ/์ ์์ญ)์ ์๋ ์์ธก๋ง ํ๋ณด๋ก ๋ฝ๊ณ ,
๊ทธ์ค์์ IoUยท๋ถ๋ฅ ์ ์๊ฐ ๋์ ๊ฒ๋ค์ ์์ฑ(positive)์ผ๋ก ์ง์ ํด ํ์ต์์ผ์. - ํจ๊ณผ: ๊ฐ์ฅ์๋ฆฌ๋ ๊ฒน์น ๋ฌผ์ฒด ๋๋ฌธ์ ์๊ธฐ๋ ํผ๋์ ์ค์ฌ ์์ ์ ์ผ๋ก ์๋ ดํฉ๋๋ค.
- ์ ์ํ/๋์ ๊ธฐ์ค(ATSSยทSimOTA ๋ฑ)
- ํ ๋ฒ์ ์ ํ ๊ณ ์ ์๊ณ๊ฐ ๋์ , ์ด๋ฏธ์งยท๊ฐ์ฒด๋ง๋ค ์ํฉ์ ๋ณด๋ฉฐ
Top-k ํ๋ณด(๊ฐ๊น์ยทIoUยท์ ์ ๊ธฐ์ค)๋ฅผ ๊ณ ๋ฅด๊ณ ๊ทธ ์์์ ์์ฑ์ ์ ํฉ๋๋ค. - ํจ๊ณผ: ๋ฐ์ดํฐ๋ง๋ค ๋ค๋ฅธ ๋์ด๋/ํฌ๊ธฐ/๋ฐ์ง๋์ ์ ์ฐํ๊ฒ ๋์ โ ์ ํ๋โ ์๋ ด์๋โ.
- ํ ๋ฒ์ ์ ํ ๊ณ ์ ์๊ณ๊ฐ ๋์ , ์ด๋ฏธ์งยท๊ฐ์ฒด๋ง๋ค ์ํฉ์ ๋ณด๋ฉฐ
- ๋ณด์กฐ ํค๋(auxiliary head)๋ก โํ์ต ์์ ํโ
- ํ์ตํ ๋๋ง ์ฐ๋ ์ถ๊ฐ ์์ธก ๊ฐ์ง(๋ณด์กฐ ํค๋)๋ฅผ ๋ฌ์ ์ ํธ๋ฅผ ๋ ์ธ๊ฒยท์์ ์ ์ผ๋ก ์ค
- ์ด๋ฐ์ ๋ฉ์ธ ํค๋๊ฐ ํ๋ค๋ฆด ๋ ๋ณด์กฐ ํค๋๊ฐ ๊ธธ์ก์ด ์ญํ ์ ํจ
- ์ถ๋ก (๋ฐฐํฌ) ๋จ๊ณ์์๋ ์ ๊ฑฐํ๋ฏ๋ก ์๋ ์ํด ์์
- ์ค์ฌ ๊ธฐ๋ฐ ๋งค์นญ(center-based)
- ์ต๊ทผ์๋ ๋์ ๋ผ๋ฒจ ํ ๋น(DLA)๋ก, ๋งค ๋ฐฐ์น ์ํฉ์ ๋ง์ถฐ ์ ์ฐํ๊ฒ ์์ฑ/์์ฑ์ ์ ํด ์๋ ด๊ณผ ์ ํ๋ ํฅ์
- ์ด ๋
ผ๋ฌธ์ ํฌ์ธํธ: ๋งค์นญ ๋น์ฉ์ ๊ณ์ฐํ ๋ ํ๋ ๋ผ๋ฒจ๏ผT/F) ๋์ ์ํํธ ๋ผ๋ฒจ(๊ฐ๋ฅ์ฑ)์ ์จ์
โ ์ข์/๋์ ๋งค์นญ ๊ตฌ๋ถ์ด ๋ ๋๋ ท, ํ์ต ๋ ์์ , ์๋ ด ๋ ๋น ๋ฆ.
- ์ธ์คํด์ค ๋ถํ like SAM
- ํจ๋ฌ๋ค์: ๋ง์คํฌ ๋ถ๋ฅ, Top-Down, Bottom-Up.
- ์ต๊ทผ: ์์คํ ์ด์ง๋ก ๋ฐ์ค ์์/์์ ๋ชจ๋ ์๋.
- ํต์ฌ ํ๋ฆ: ๋ค์ด๋ด๋ฏน ์ปค๋๋ก ์ปค๋์ ์์ฑํด ๋ง์คํฌ ํน์ง์ ํฉ์ฑ.
- ๋ณธ ๋ ผ๋ฌธ ํ์ฅ: RTMDet์ ์ปค๋ ์์ธก ํค๋ + ๋ง์คํฌ ํน์ง ํค๋๋ฅผ ์ถ๊ฐํด ์ธ์คํด์ค ๋ถํ ์ง์.
- ํ์ ๊ฐ์ฒด ๊ฒ์ถ
- ์์นยท๋ฒ์ฃผ์ ๋ฐฉํฅ(๊ฐ๋)๊น์ง ์์ธก.
- ๊ธฐ์กด: ํ์ ์ผ๋ก ์๊ธฐ๋ ํน์ง ๋ฏธ์ค์ผ๋ผ์ธ๋จผํธ ์ํ๋ฅผ ์ํ ํน์ง์ถ์ถ ๋คํธ์ํฌ, ๊ฐ์ฐ์์/๋ณผ๋ก์งํฉ ๋ฑ ๋ค์ํ ๋ฐ์ค ํํ ์ฐ๊ตฌ.
- ๋ณธ ๋ ผ๋ฌธ ์ ๊ทผ: ์ต์ ์์ (๊ฐ๋ ๋ธ๋์น ์ถ๊ฐ, GIoUโRotated IoU Loss ๊ต์ฒด)์ผ๋ก ์ผ๋ฐ ๊ฒ์ถ๊ธฐ๋ฅผ ํ์ฅ.
- ๊ฒฐ๋ก : ๊ณ ์ ๋ฐ ์ผ๋ฐ ๊ฒ์ถ๊ธฐ์ ์ํคํ ์ฒ/์ง์์ด ๊ณ ์ ๋ฐ ํ์ ๊ฒ์ถ๋ก ์ด์ด์ง์ ๋ณด์.
๊ตฌ์กฐ๋ถํฐ๋ ์ด๋ ค์์,, ๊ทธ๋ฅ GPT๊ฐ ์จ์ค๋ด์ฉ์! ๋์ค์ ์ฌ์ ๋ ๋ ๊น๊ฒ ์์๋ณด์~
๐งฑ RTMDet- Real-Time Models for object Detection ๊ตฌ์กฐ(Architecture)
- Backbone:
- ๋ํ ์ปค๋ ๊ธฐ๋ฐ Depthwise Conv ๋ธ๋ก์ ์ฑํํด ํํ๋ ฅโ / ์ฐ์ฐโ๋ฅผ ์๋ฆฝ.
- ๋จ๊ณ๋ณ ์ฑ๋ยทํด์๋ ์ค์ผ์ค์ ์ค์๊ฐ ์ ์ฝ์ ๋ง๊ฒ ์ ๋ ฌ.
- Neck(FPN/PAN ๊ณ์ด):
- ๋ฐฑ๋ณธโ๋ฅ ์ฉ๋ ๊ท ํ(compatible capacities)์ ์ค์ํด ์ ๋ณด ๋ณ๋ชฉ ์ต์ํ.
- ๋ฉํฐ์ค์ผ์ผ ํน์ง ์ตํฉ์ ๋จ์ยท์ผ๊ด๋๊ฒ ์ ์ง.
- Head(Anchor-free ๊ณ์ด):
- ๋ถ๋ฅยทํ๊ท ๋ถ์ง์ ๋์ ๋ผ๋ฒจ ํ ๋น์ ์ ์ฉ, ํ์ต ๋์ด๋์ ๋ฐ๋ผ ์ ์ฐํ ๋งค์นญ์ ์ํ.
- ๊ฒฝ๋ ์ค๊ณ๋ก ๊ณ FPS ์ ์ง, ๋ค์ํ ํฌ๊ธฐ ๋ผ์ธ์ (Tiny~XL) ์ ๊ณต.
๐ง ํ์ต๋ฒ(Training Recipe)
- ๋์ ๋ผ๋ฒจ ํ ๋น + ์ํํธ ํ๊น:
- ๋งค์นญ ์ฝ์คํธ์ ๊ธฐ๋ฐํ ๋์ ํฌ์งํฐ๋ธ ์ ์ , ์ํํธ ๋ผ๋ฒจ๋ก ๊ฒฝ๊ณ ์ํ์ ํ์ต ์์ ํ.
- ์ฆ๊ฐยท์ต์ ํ ๋ ์ํผ ์ ์ :
- Mosaic/RandomAffine/MixUp ๋ฑ ์ฆ๊ฐ ๊ฐ๋๋ฅผ ์ค์๊ฐ ์๋๋ฆฌ์ค์ ๋ง๊ฒ ์กฐ์ .
- ํ์ต ์ค์ผ์ค, EMA, ์ ๊ทํยทํ์ฑ ํจ์ ์ ํ์ ์คํ์ ์ผ๋ก ํ๋.
- ๋ฐฐํฌ ์นํ:
- ONNX/TensorRT, FP16/INT8 ๊ฒฝ๋ก๋ฅผ ๊ณ ๋ คํ ์ฐ์ฐ ๊ทธ๋ํ ๋จ์ํ์ NMS ์ค์ ์ผ๊ดํ.
๐งช Ablation Study
1) ๋ํ ์ปค๋ DWConv์ ํจ๊ณผ
- ๋ํ ์์ฉ์์ญ์ผ๋ก ํํ๋ ฅ ํ๋ณด, DWConv๋ก ์ฐ์ฐ๋ ์ต์ โ ์ค์๊ฐ ์์ญ์์ ์ ํ๋ ์ํ์ ์์น. 2) ๋ฐฑ๋ณธโ๋ฅ ์ฉ๋ ๊ท ํ
- ๋ถ๊ท ํ ์ ํน์ ํด์๋/์ฑ๋ ๊ตฌ๊ฐ์์ ๋ณ๋ชฉ ๋ฐ์ โ ๊ท ํ ์ต์ ํ๊ฐ APยท์์ ์ฑ์ ์ง๊ฒฐ. 3) ๋์ ๋ผ๋ฒจ + ์ํํธ ๋ผ๋ฒจ
- ๊ณ ๋๋ยท์๋ฌผ์ฒด ์ผ์ด์ค์์ ์๋ ด ์์ ์ฑ๊ณผ ์ ๋ฐ๋ ํฅ์, ํ์ต ์ด๋ฐ ์ง๋ ๊ฐ์. 4) ํ๋ จ ๋ ์ํผ ์ํฅ
- ๊ณผ๋ํ ์ฆ๊ฐ์ ์ค์๊ฐ ํค๋์ ์๋ ด ์ ํด ๊ฐ๋ฅ โ ์ ์ ๊ฐ๋์์ ์๋โ์ ํ๋ ํธ๋ ์ด๋์คํ ์ต์ ํ. 5) ๋ผ์ธ์ ํ์ฅ์ฑ
- Tiny~XL ๊ท๋ชจ ์ ๋ฐ์์ ์ผ๊ด๋ ์ด๋ โ ์ฃ์ง~์๋ฒ ์ ๋ฒ์ ์ ์ฉ์ฑ ํ์ธ.
โ ๊ฒฐ๋ก
- RTMDet๋ ์ค์๊ฐ ๊ฒ์ถ์ ์ํ ๊ตฌ์กฐยท๋ผ๋ฒจ๋งยท๋ ์ํผ๋ฅผ ์ค์ฆ์ ์ผ๋ก ์ ๋ฆฌํด,
๋ํ ์ปค๋ DWConv + ์ฉ๋ ๊ท ํ + ์์ ์ ํ์ต๋ฒ์ผ๋ก ์๋โ์ ํ๋โ๋ฐฐํฌ์ฑ์ ๊ท ํ์ ๋์ด์ฌ๋ฆผ. - MMDetection/MMYOLO ์ํ๊ณ์์ ๋์ ํธํ์ฑ์ผ๋ก ์ค๋ฌดยท์ฐ๊ตฌ ๋ชจ๋์ ์ฆ์ ์ ์ฉํ๊ธฐ ์ฉ์ดํ๋ฉฐ,
๋ค์ํ ๋ชจ๋ธ ํฌ๊ธฐยทํ์คํฌ(์ธ์คํด์ค ๋ถํ /ํ์ ๊ฒ์ถ)๋ก ํ์ฅ์ฑ ๋ํ ์ฐ์ํจ.
This post is licensed under CC BY 4.0 by the author.