๋ฉ์ดํฌ์ YOLOv6
๊ฐ์
๋ฉ์ดํฌ์ YOLOv6๋ ์๋์ ์ ํ๋ ์ฌ์ด์ ๋๋ผ์ด ๊ท ํ์ ์ ๊ณตํ๋ ์ต์ฒจ๋จ ๋ฌผ์ฒด ๊ฐ์ง๊ธฐ๋ก, ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ์ด ๋ชจ๋ธ์ ์๋ฐฉํฅ ์ฐ๊ฒฐ(BiC) ๋ชจ๋ ๊ตฌํ, ์ต์ปค ์ง์ ํ๋ จ(AAT) ์ ๋ต, COCO ๋ฐ์ดํฐ ์ธํธ์ ์ต์ฒจ๋จ ์ ํ๋๋ฅผ ์ํ ํฅ์๋ ๋ฐฑ๋ณธ ๋ฐ ๋ฅ ์ค๊ณ ๋ฑ ์ํคํ ์ฒ์ ํ๋ จ ๋ฐฉ์์ ๋ช ๊ฐ์ง ์ฃผ๋ชฉํ ๋งํ ๊ฐ์ ์ฌํญ์ ๋์ ํ์ต๋๋ค.
YOLOv6 ๊ฐ์. ์๋นํ ์ฑ๋ฅ ํฅ์์ ๊ฐ์ ธ์จ ์ฌ์ค๊ณ๋ ๋คํธ์ํฌ ๊ตฌ์ฑ ์์์ ํธ๋ ์ด๋ ์ ๋ต์ ๋ณด์ฌ์ฃผ๋ ๋ชจ๋ธ ์ํคํ ์ฒ ๋ค์ด์ด๊ทธ๋จ. (a) YOLOv6์ ๋ชฉ(N๊ณผ S๊ฐ ํ์๋จ). M/L์ ๊ฒฝ์ฐ, RepBlocks๋ CSPStackRep์ผ๋ก ๋์ฒด๋์์ต๋๋ค. (b) BiC ๋ชจ๋์ ๊ตฌ์กฐ. (c) SimCSPSPPF ๋ธ๋ก. (์ถ์ฒ).
์ฃผ์ ๊ธฐ๋ฅ
- ์๋ฐฉํฅ ์ฐ๊ฒฐ(BiC) ๋ชจ๋: YOLOv6๋ ํ์ง๊ธฐ์ ๋ชฉ ๋ถ๋ถ์ BiC ๋ชจ๋์ ๋์ ํ์ฌ ์์น์ถ์ ์ ํธ๋ฅผ ํฅ์์ํค๊ณ ์๋ ์ ํ๋ฅผ ์ต์ํํ๋ฉด์ ์ฑ๋ฅ ํฅ์์ ์ ๊ณตํฉ๋๋ค.
- ์ต์ปค ๋ณด์กฐ ํ๋ จ(AAT) ์ ๋ต: ์ด ๋ชจ๋ธ์ ์ถ๋ก ํจ์จ์ ์ ํ์ํค์ง ์์ผ๋ฉด์ ์ต์ปค ๊ธฐ๋ฐ ๋ฐ ์ต์ปค ํ๋ฆฌ ํจ๋ฌ๋ค์์ ์ด์ ์ ๋ชจ๋ ๋๋ฆด ์ ์๋ AAT๋ฅผ ์ ์ํฉ๋๋ค.
- ํฅ์๋ ๋ฐฑ๋ณธ ๋ฐ ๋ฅ ์ค๊ณ: ์ด ๋ชจ๋ธ์ ๋ฐฑ๋ณธ๊ณผ ๋ฅ์ ๋ ๋ค๋ฅธ ๋จ๊ณ๋ฅผ ํฌํจํ๋๋ก YOLOv6๋ฅผ ์ฌํํจ์ผ๋ก์จ ๊ณ ํด์๋ ์ ๋ ฅ์์ COCO ๋ฐ์ดํฐ ์ธํธ์์ ์ต์ฒจ๋จ ์ฑ๋ฅ์ ๋ฌ์ฑํฉ๋๋ค.
- ์๊ฐ ์ฆ๋ฅ ์ ๋ต: ์๋ก์ด ์๊ฐ ์ฆ๋ฅ ์ ๋ต์ด ๊ตฌํ๋์ด ๋ ์์ YOLOv6 ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํฅ์์์ผ ํ๋ จ ์ค ๋ณด์กฐ ํ๊ท ๋ถ๊ธฐ๋ฅผ ํฅ์์ํค๊ณ ์ถ๋ก ์ ์ด๋ฅผ ์ ๊ฑฐํ์ฌ ํ์ ํ ์๋ ์ ํ๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
์ฑ๋ฅ ์งํ
YOLOv6๋ ๋ค์ํ ์ค์ผ์ผ๋ก ์ฌ์ ํ์ต๋ ๋ค์ํ ๋ชจ๋ธ์ ์ ๊ณตํฉ๋๋ค:
- YOLOv6-N: 37.5% AP, COCO val2017์์ 1187 FPS, NVIDIA Tesla T4 GPU ์ฌ์ฉ.
- YOLOv6-S: 484 FPS์์ 45.0% AP.
- YOLOv6-M: 226 FPS์์ 50.0% AP.
- YOLOv6-L: 116 FPS์์ 52.8% AP.
- YOLOv6-L6: ์ต์ฒจ๋จ ์ค์๊ฐ ์ ํ๋.
๋ํ YOLOv6๋ ๋ค์ํ ์ ๋ฐ๋๋ฅผ ์ํ ์ ๋ํ๋ ๋ชจ๋ธ๊ณผ ๋ชจ๋ฐ์ผ ํ๋ซํผ์ ์ต์ ํ๋ ๋ชจ๋ธ์ ์ ๊ณตํฉ๋๋ค.
์ฌ์ฉ ์
์ด ์๋ ๊ฐ๋จํ YOLOv6 ํ๋ จ ๋ฐ ์ถ๋ก ์์ ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๋ชจ๋ ๋ฐ ๊ธฐํ ๋ชจ๋์ ๋ํ ์ ์ฒด ๋ฌธ์๋ ์์ธก, ํ์ต, Val ๋ฐ ๋ด๋ณด๋ด๊ธฐ ๋ฌธ์ ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
์
PyTorch ์ฌ์ ๊ต์ก *.pt
๋ชจ๋ธ ๋ฐ ๊ตฌ์ฑ *.yaml
ํ์ผ์ YOLO()
ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ python ์์ ๋ชจ๋ธ ์ธ์คํด์ค๋ฅผ ์์ฑํฉ๋๋ค:
from ultralytics import YOLO
# Build a YOLOv6n model from scratch
model = YOLO('yolov6n.yaml')
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Run inference with the YOLOv6n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')
CLI ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ์ง์ ์คํํ ์ ์์ต๋๋ค:
์ง์๋๋ ์์ ๋ฐ ๋ชจ๋
YOLOv6 ์๋ฆฌ์ฆ๋ ๊ณ ์ฑ๋ฅ ๊ฐ์ฒด ๊ฐ์ง์ ์ต์ ํ๋ ๋ค์ํ ๋ชจ๋ธ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๋ชจ๋ธ์ ๋ค์ํ ๊ณ์ฐ ์๊ตฌ ์ฌํญ๊ณผ ์ ํ๋ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ฏ๋ก ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ฉ๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ชจ๋ธ ์ ํ | ์ฌ์ ํ์ต๋ ๊ฐ์ค์น | ์ง์๋๋ ์์ | ์ถ๋ก | ์ ํจ์ฑ ๊ฒ์ฌ | ๊ต์ก | ๋ด๋ณด๋ด๊ธฐ |
---|---|---|---|---|---|---|
YOLOv6-N | yolov6-n.pt |
๋ฌผ์ฒด ๊ฐ์ง | โ | โ | โ | โ |
YOLOv6-S | yolov6-s.pt |
๋ฌผ์ฒด ๊ฐ์ง | โ | โ | โ | โ |
YOLOv6-M | yolov6-m.pt |
๋ฌผ์ฒด ๊ฐ์ง | โ | โ | โ | โ |
YOLOv6-L | yolov6-l.pt |
๋ฌผ์ฒด ๊ฐ์ง | โ | โ | โ | โ |
YOLOv6-L6 | yolov6-l6.pt |
๋ฌผ์ฒด ๊ฐ์ง | โ | โ | โ | โ |
์ด ํ์์๋ ๊ฐ์ฒด ๊ฐ์ง ์์ ์์์ ๊ธฐ๋ฅ๊ณผ ์ถ๋ก , ๊ฒ์ฆ, ํ๋ จ, ๋ด๋ณด๋ด๊ธฐ ๋ฑ ๋ค์ํ ์ด์ ๋ชจ๋์์ ํธํ์ฑ์ ๊ฐ์กฐํ๋ YOLOv6 ๋ชจ๋ธ ๋ณํ์ ๋ํ ์์ธํ ๊ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ํฌ๊ด์ ์ธ ์ง์์ ํตํด ์ฌ์ฉ์๋ ๊ด๋ฒ์ํ ๊ฐ์ฒด ๊ฐ์ง ์๋๋ฆฌ์ค์์ YOLOv6 ๋ชจ๋ธ์ ๊ธฐ๋ฅ์ ์ต๋ํ ํ์ฉํ ์ ์์ต๋๋ค.
์ธ์ฉ ๋ฐ ๊ฐ์ฌ
์ค์๊ฐ ๊ฐ์ฒด ๊ฐ์ง ๋ถ์ผ์์ ์ค์ํ ๊ณตํ์ ํ ์ ์๋ค์๊ฒ ๊ฐ์ฌ์ ๋ง์์ ์ ํฉ๋๋ค:
YOLOv6 ๋ ผ๋ฌธ ์๋ณธ์ arXiv์์ ํ์ธํ ์ ์์ต๋๋ค. ์ ์๋ค์ ์์ ์ ์์ ์ ๊ณต๊ฐํ์ผ๋ฉฐ, ์ฝ๋๋ฒ ์ด์ค๋ GitHub์์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ด ๋ถ์ผ๋ฅผ ๋ฐ์ ์ํค๊ณ ๋ ๋ง์ ์ปค๋ฎค๋ํฐ๊ฐ ์์ ์ ์ฐ๊ตฌ์ ์ ๊ทผํ ์ ์๋๋ก ํ ์ ์๋ค์ ๋ ธ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.