YOLO-NAS
๊ฐ์
Deci AI, YOLO ์์ ๊ฐ๋ฐํ -NAS๋ ํ๊ธฐ์ ์ธ ๊ฐ์ฒด ๊ฐ์ง ๊ธฐ๋ฐ ๋ชจ๋ธ์ ๋๋ค. ์ด ๋ชจ๋ธ์ ์ด์ YOLO ๋ชจ๋ธ์ ํ๊ณ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ธ์ฌํ๊ฒ ์ค๊ณ๋ ๊ณ ๊ธ ์ ๊ฒฝ๋ง ์ํคํ ์ฒ ๊ฒ์ ๊ธฐ์ ์ ์ฐ๋ฌผ์ ๋๋ค. ์ ๋ํ ์ง์๊ณผ ์ ํ๋-์ง์ฐ ์๊ฐ ํธ๋ ์ด๋์คํ๊ฐ ํฌ๊ฒ ๊ฐ์ ๋ YOLO-NAS๋ ๊ฐ์ฒด ๊ฐ์ง์ ์์ด ํฐ ๋์ฝ์ ์ด๋ค์ต๋๋ค.
YOLO-NAS ๊ฐ์. YOLO-NAS๋ ์ต์ ์ ์ฑ๋ฅ์ ์ํด ์์ํ ์ธ์ ๋ธ๋ก๊ณผ ์ ํ์ ์์ํ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ๋ชจ๋ธ์ INT8 ์์ํ ๋ฒ์ ์ผ๋ก ๋ณํํ๋ฉด ์ ๋ฐ๋ ์ ํ๊ฐ ์ต์ํ๋์ด ๋ค๋ฅธ ๋ชจ๋ธ์ ๋นํด ํฌ๊ฒ ํฅ์๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐ์ ์ ์ ๋ก ์๋ ๋ฌผ์ฒด ๊ฐ์ง ๊ธฐ๋ฅ๊ณผ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๊ฐ์ถ ์ฐ์ํ ์ํคํ ์ฒ๋ก ์ ์ ์ ์ฐ์ต๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
- ์์ํ ์นํ์ ๊ธฐ๋ณธ ๋ธ๋ก: YOLO-NAS๋ ์์ํ์ ์นํ์ ์ธ ์๋ก์ด ๊ธฐ๋ณธ ๋ธ๋ก์ ๋์ ํ์ฌ ์ด์ YOLO ๋ชจ๋ธ์ ์ค์ํ ํ๊ณ ์ค ํ๋๋ฅผ ํด๊ฒฐํฉ๋๋ค.
- ์ ๊ตํ ํ๋ จ ๋ฐ ์ ๋ํ: YOLO-NAS๋ ๊ณ ๊ธ ํ๋ จ ์ฒด๊ณ์ ํ๋ จ ํ ์ ๋ํ๋ฅผ ํ์ฉํ์ฌ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
- AutoNAC ์ต์ ํ ๋ฐ ์ฌ์ ๊ต์ก: YOLO-NAS๋ AutoNAC ์ต์ ํ๋ฅผ ํ์ฉํ๋ฉฐ COCO, Objects365, Roboflow 100๊ณผ ๊ฐ์ ์ฃผ์ ๋ฐ์ดํฐ ์ธํธ์ ๋ํด ์ฌ์ ๊ต์ก์ ๋ฐ์ต๋๋ค. ์ด๋ฌํ ์ฌ์ ํ์ต์ ํตํด ํ๋ก๋์ ํ๊ฒฝ์ ๋ค์ด์คํธ๋ฆผ ์ค๋ธ์ ํธ ํ์ง ์์ ์ ๋งค์ฐ ์ ํฉํฉ๋๋ค.
์ฌ์ ํ์ต๋ ๋ชจ๋ธ
Ultralytics ์์ ์ ๊ณตํ๋ ์ฌ์ ํ์ต๋ YOLO-NAS ๋ชจ๋ธ์ ํตํด ์ฐจ์ธ๋ ๊ฐ์ฒด ๊ฐ์ง์ ๊ฐ๋ ฅํ ์ฑ๋ฅ์ ๊ฒฝํํ์ธ์. ์ด ๋ชจ๋ธ์ ์๋์ ์ ํ๋ ์ธก๋ฉด์์ ์ต๊ณ ์ ์ฑ๋ฅ์ ์ ๊ณตํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ํน์ ์๊ตฌ์ฌํญ์ ๋ง๋ ๋ค์ํ ์ต์ ์ค์์ ์ ํํ์ธ์:
๋ชจ๋ธ | mAP | ์ง์ฐ ์๊ฐ(ms) |
---|---|---|
YOLO-NAS S | 47.5 | 3.21 |
YOLO-NAS M | 51.55 | 5.85 |
YOLO-NAS L | 52.22 | 7.87 |
YOLO-NAS S INT-8 | 47.03 | 2.36 |
YOLO-NAS M INT-8 | 51.0 | 3.78 |
YOLO-NAS L INT-8 | 52.1 | 4.78 |
๊ฐ ๋ชจ๋ธ ๋ณํ์ ํ๊ท ํ๊ท ์ ๋ฐ๋ (mAP)์ ์ง์ฐ ์๊ฐ ๊ฐ์ ๊ท ํ์ ์ ๊ณตํ๋๋ก ์ค๊ณ๋์ด ์ฑ๋ฅ๊ณผ ์๋ ๋ชจ๋์์ ๋ฌผ์ฒด ๊ฐ์ง ์์ ์ ์ต์ ํํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์
Ultralytics ๋ฅผ ํตํด Python ์ ํ๋ฆฌ์ผ์ด์
์ ์ฝ๊ฒ ํตํฉํ ์ ์๋ YOLO-NAS ๋ชจ๋ธ์ ๋ง๋ค์์ต๋๋ค. ultralytics
python ํจํค์ง๋ฅผ ์ฌ์ฉํ์ธ์. ์ด ํจํค์ง๋ ์ฌ์ฉ์ ์นํ์ ์ธ Python API๋ฅผ ์ ๊ณตํ์ฌ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํฉ๋๋ค.
๋ค์ ์๋ YOLO-NAS ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ultralytics
ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ก ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํํฉ๋๋ค:
์ถ๋ก ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ ์์
์ด ์์์๋ COCO8 ๋ฐ์ดํฐ ์ธํธ์์ YOLO-NAS-s์ ์ ํจ์ฑ์ ๊ฒ์ฌํฉ๋๋ค.
์
์ด ์๋ YOLO-NAS์ ๋ํ ๊ฐ๋จํ ์ถ๋ก ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ ์ฝ๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ถ๋ก ๊ฒฐ๊ณผ ์ฒ๋ฆฌ์ ๋ํด์๋ ์์ธก ๋ชจ๋๋ก ์ค์ ํฉ๋๋ค. ์ถ๊ฐ ๋ชจ๋์ ํจ๊ป YOLO-NAS๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ ์ฐธ์กฐํ์ธ์. Val ๊ทธ๋ฆฌ๊ณ ๋ด๋ณด๋ด๊ธฐ. YOLO-NAS์ ultralytics
ํจํค์ง๋ ๊ต์ก์ ์ง์ํ์ง ์์ต๋๋ค.
PyTorch ์ฌ์ ๊ต์ก *.pt
๋ชจ๋ธ ํ์ผ์ NAS()
ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ python ์์ ๋ชจ๋ธ ์ธ์คํด์ค๋ฅผ ์์ฑํฉ๋๋ค:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Display model information (optional)
model.info()
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
CLI ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ์ง์ ์คํํ ์ ์์ต๋๋ค:
์ง์๋๋ ์์ ๋ฐ ๋ชจ๋
YOLO-NAS ๋ชจ๋ธ์๋ ์ธ ๊ฐ์ง ๋ณํ์ด ์์ต๋๋ค: ์ํ(s), ์คํ(m), ๋ํ(l). ๊ฐ ๋ชจ๋ธ์ ์๋ก ๋ค๋ฅธ ๊ณ์ฐ ๋ฐ ์ฑ๋ฅ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋๋ก ์ค๊ณ๋์์ต๋๋ค:
- YOLO-NAS-s: ์ปดํจํ ๋ฆฌ์์ค๋ ์ ํ๋์ด ์์ง๋ง ํจ์จ์ฑ์ด ์ค์ํ ํ๊ฒฝ์ ์ต์ ํ๋์ด ์์ต๋๋ค.
- YOLO-NAS-m: ๋ ๋์ ์ ํ๋๋ก ๋ฒ์ฉ ๋ฌผ์ฒด ๊ฐ์ง์ ์ ํฉํ ๊ท ํ ์กํ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค.
- YOLO-NAS-l: ๊ณ์ฐ ๋ฆฌ์์ค์ ์ ์ฝ์ด ์ ์ ์ต๊ณ ์ ํ๋๊ฐ ํ์ํ ์๋๋ฆฌ์ค์ ๋ง๊ฒ ์กฐ์ ๋์์ต๋๋ค.
์๋๋ ์ฌ์ ํ์ต๋ ๊ฐ์ค์น, ์ง์๋๋ ์์ , ๋ค์ํ ์ด์ ๋ชจ๋์์ ํธํ์ฑ ๋งํฌ๋ฅผ ํฌํจํ์ฌ ๊ฐ ๋ชจ๋ธ์ ๋ํ ์์ธํ ๊ฐ์์ ๋๋ค.
๋ชจ๋ธ ์ ํ | ์ฌ์ ํ์ต๋ ๊ฐ์ค์น | ์ง์๋๋ ์์ | ์ถ๋ก | ์ ํจ์ฑ ๊ฒ์ฌ | ๊ต์ก | ๋ด๋ณด๋ด๊ธฐ |
---|---|---|---|---|---|---|
YOLO-NAS-s | yolo_nas_s.pt | ๋ฌผ์ฒด ๊ฐ์ง | โ | โ | โ | โ |
YOLO-NAS-m | yolo_nas_m.pt | ๋ฌผ์ฒด ๊ฐ์ง | โ | โ | โ | โ |
YOLO-NAS-l | yolo_nas_l.pt | ๋ฌผ์ฒด ๊ฐ์ง | โ | โ | โ | โ |
์ธ์ฉ ๋ฐ ๊ฐ์ฌ
์ฐ๊ตฌ ๋๋ ๊ฐ๋ฐ ์์ ์ YOLO-NAS๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ SuperGradients๋ฅผ ์ธ์ฉํด ์ฃผ์ธ์:
@misc{supergradients,
doi = {10.5281/ZENODO.7789328},
url = {https://zenodo.org/record/7789328},
author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}},
title = {Super-Gradients},
publisher = {GitHub},
journal = {GitHub repository},
year = {2021},
}
์ปดํจํฐ ๋น์ ์ปค๋ฎค๋ํฐ๋ฅผ ์ํด ์ด ๊ท์คํ ๋ฆฌ์์ค๋ฅผ ๋ง๋ค๊ณ ์ ์งํ๋ ๋ฐ ํ์จ์ฃผ์ Deci AI ์ SuperGradients ํ์ ๊ฐ์ฌ๋ฅผ ํํฉ๋๋ค. ํ์ ์ ์ธ ์ํคํ ์ฒ์ ๋ฐ์ด๋ ๋ฌผ์ฒด ๊ฐ์ง ๊ธฐ๋ฅ์ ๊ฐ์ถ YOLO-NAS๋ ๊ฐ๋ฐ์์ ์ฐ๊ตฌ์ ๋ชจ๋์๊ฒ ์ค์ํ ๋๊ตฌ๊ฐ ๋ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
YOLO-NAS๋ ๋ฌด์์ด๋ฉฐ ์ด์ YOLO ๋ชจ๋ธ๋ณด๋ค ์ด๋ป๊ฒ ๊ฐ์ ๋๋์?
YOLO- Deci AI ์์ ๊ฐ๋ฐํ NAS๋ ๊ณ ๊ธ ์ ๊ฒฝ ๊ตฌ์กฐ ๊ฒ์(NAS) ๊ธฐ์ ์ ํ์ฉํ ์ต์ฒจ๋จ ๊ฐ์ฒด ๊ฐ์ง ๋ชจ๋ธ์ ๋๋ค. ์์ํ ์นํ์ ์ธ ๊ธฐ๋ณธ ๋ธ๋ก๊ณผ ์ ๊ตํ ํ๋ จ ์ฒด๊ณ์ ๊ฐ์ ๊ธฐ๋ฅ์ ๋์ ํ์ฌ ์ด์ YOLO ๋ชจ๋ธ์ ํ๊ณ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ํนํ ์ปดํจํ ๋ฆฌ์์ค๊ฐ ์ ํ๋ ํ๊ฒฝ์์ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋ฉ๋๋ค. YOLO-NAS๋ ๋ํ ์์ํ๋ฅผ ์ง์ํ์ฌ INT8 ๋ฒ์ ์ผ๋ก ๋ณํํ ๊ฒฝ์ฐ์๋ ๋์ ์ ํ๋๋ฅผ ์ ์งํ๋ฏ๋ก ํ๋ก๋์ ํ๊ฒฝ์ ๋ํ ์ ํฉ์ฑ์ด ํฅ์๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๊ฐ์ ์น์ ์ ์ฐธ์กฐํ์ธ์.
Python ์ ํ๋ฆฌ์ผ์ด์ ์ YOLO-NAS ๋ชจ๋ธ์ ํตํฉํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
YOLO-NAS ๋ชจ๋ธ์ Python ์ ํ๋ฆฌ์ผ์ด์
์ ์ฝ๊ฒ ํตํฉํ ์ ์์ต๋๋ค. ultralytics
ํจํค์ง๋ฅผ ์ฌ์ฉํ์ธ์. ๋ค์์ ์ฌ์ ํ์ต๋ YOLO-NAS ๋ชจ๋ธ์ ๋ก๋ํ๊ณ ์ถ๋ก ์ ์ํํ๋ ๊ฐ๋จํ ์์ ์
๋๋ค:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
์์ธํ ๋ด์ฉ์ ์ถ๋ก ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ ์์๋ฅผ ์ฐธ์กฐํ์ธ์.
YOLO-NAS์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ฌด์์ด๋ฉฐ ์ ์ฌ์ฉ์ ๊ณ ๋ คํด์ผ ํ๋์?
YOLO-NAS๋ ๋ฌผ์ฒด ๊ฐ์ง ์์ ์ ํ์ํ ๋ช ๊ฐ์ง ์ฃผ์ ๊ธฐ๋ฅ์ ์๊ฐํฉ๋๋ค:
- ์์ํ ์นํ์ ์ธ ๊ธฐ๋ณธ ๋ธ๋ก: ์์ํ ํ ์ ๋ฐ๋ ์ ํ๋ฅผ ์ต์ํํ๋ฉด์ ๋ชจ๋ธ ์ฑ๋ฅ์ ๊ฐ์ ํ๋ ํฅ์๋ ์ํคํ ์ฒ์ ๋๋ค.
- ์ ๊ตํ ํ๋ จ ๋ฐ ์ ๋ํ: ๊ณ ๊ธ ํ๋ จ ์ฒด๊ณ์ ํ๋ จ ํ ์ ๋ํ ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
- AutoNAC ์ต์ ํ ๋ฐ ์ฌ์ ํ์ต: AutoNAC ์ต์ ํ๋ฅผ ํ์ฉํ๊ณ COCO, Objects365, Roboflow 100๊ณผ ๊ฐ์ ์ฃผ์ ๋ฐ์ดํฐ ์ธํธ์ ๋ํด ์ฌ์ ํ์ต์ ๊ฑฐ์ณค์ต๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ๋์ ์ ํ๋, ํจ์จ์ ์ธ ์ฑ๋ฅ, ํ๋ก๋์ ํ๊ฒฝ์์์ ๋ฐฐํฌ ์ ํฉ์ฑ์ ๊ธฐ์ฌํฉ๋๋ค. ์ฃผ์ ๊ธฐ๋ฅ ์น์ ์์ ์์ธํ ์์๋ณด์ธ์.
YOLO-NAS ๋ชจ๋ธ์์ ์ง์๋๋ ์์ ๋ฐ ๋ชจ๋๋ ๋ฌด์์ธ๊ฐ์?
YOLO-NAS ๋ชจ๋ธ์ ์ถ๋ก , ์ ํจ์ฑ ๊ฒ์ฌ, ๋ด๋ณด๋ด๊ธฐ ๋ฑ ๋ค์ํ ๊ฐ์ฒด ๊ฐ์ง ์์ ๊ณผ ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค. ํธ๋ ์ด๋์ ์ง์ํ์ง ์์ต๋๋ค. ์ง์๋๋ ๋ชจ๋ธ์๋ YOLO-NAS-s, YOLO-NAS-m ๋ฐ YOLO-NAS-l์ด ์์ผ๋ฉฐ, ๊ฐ๊ฐ ๋ค๋ฅธ ๊ณ์ฐ ์ฉ๋ ๋ฐ ์ฑ๋ฅ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์กฐ์ ๋ฉ๋๋ค. ์์ธํ ๊ฐ์๋ ์ง์๋๋ ์์ ๋ฐ ๋ชจ๋ ์น์ ์ ์ฐธ์กฐํ์ธ์.
์ฌ์ ๊ต์ก๋ YOLO-NAS ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์ด๋ป๊ฒ ์ก์ธ์คํ ์ ์๋์?
์, Ultralytics ์์ ์ง์ ์ก์ธ์คํ ์ ์๋ ์ฌ์ ํ์ต๋ YOLO-NAS ๋ชจ๋ธ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๋ชจ๋ธ์ COCO์ ๊ฐ์ ๋ฐ์ดํฐ ์ธํธ์ ๋ํด ์ฌ์ ํ์ต๋์ด ์๋์ ์ ํ๋ ์ธก๋ฉด์์ ๋ชจ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ฅํฉ๋๋ค. ์ฌ์ ํ์ต๋ ๋ชจ๋ธ ์น์ ์ ์ ๊ณต๋ ๋งํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋ชจ๋ธ์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ์์ ๋๋ค: