YOLOv8
YOLOv8์ YOLO(You Only Look Once) ์๋ฆฌ์ฆ์ ์ต์ ๋ชจ๋ธ๋ก, ๊ฐ์ฒด ํ์ง ๋ฐ ๋ถ๋ฅ ์์ ์์ ํจ์จ์ฑ๊ณผ ์ ํ๋๋ฅผ ๋์์ ๊ฐ์ ํ ๋ชจ๋ธ์ ๋๋ค. YOLO๋ ์ค์๊ฐ ๊ฐ์ฒด ํ์ง ์์ ์์ ์์ฃผ ์ฌ์ฉ๋์์ผ๋ฉฐ, YOLOv8์ ์ฑ๋ฅ ํฅ์์ ์ํด ๋ค์ํ ๊ฐ์ ์ด ์ด๋ฃจ์ด์ง ๋ฒ์ ์ ๋๋ค. YOLOv8์ ๋ํ ์์ธํ ์ค๋ช ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
๊ตฌ์กฐ์ ๊ฐ์
YOLOv8์ ๊ธฐ์กด YOLO ๋ชจ๋ธ์์ ๋ช ๊ฐ์ง ์ค์ํ ๊ตฌ์กฐ์ ๊ฐ์ ์ ํตํด ์ ํ๋์ ์ฒ๋ฆฌ ์๋๋ฅผ ๋์ฑ ๋์์ต๋๋ค.
Backbone ๊ฐ์ : YOLOv8์ ์ต์ ๋คํธ์ํฌ ์ํคํ ์ฒ๋ฅผ ์ ์ฉํ์ฌ ํน์ง ์ถ์ถ ์ฑ๋ฅ์ ๊ฐ์ ํ์ต๋๋ค. ์ด๋ก ์ธํด ๋ ์ ์ ์ฐ์ฐ๋์ผ๋ก ๋ ๋์ ํํ ๋ฅ๋ ฅ์ ๊ฐ์ง๊ฒ ๋์์ผ๋ฉฐ, ํนํ ์์ ๊ฐ์ฒด์ ๋ํ ํ์ง ์ฑ๋ฅ์ด ํฅ์๋์์ต๋๋ค.
Neck์ ์ ๊ทธ๋ ์ด๋: YOLOv8์ Feature Pyramid Network(FPN)์ Path Aggregation Network(PAN)์ ๊ฐ๋ ์ ๊ฒฐํฉํ์ฌ, ๋ค์ํ ํฌ๊ธฐ์ ๊ฐ์ฒด๋ฅผ ๋ณด๋ค ์ ํํ๊ฒ ํ์งํ ์ ์๋๋ก ๋ชฉ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ์ต๋๋ค.
Anchor-Free ๋์์ธ: YOLOv8์ ์ด์ YOLO ๋ชจ๋ธ์์ ์ฌ์ฉํ๋ ์ต์ปค ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ๋ฒ์ด๋, ์ต์ปค ์๋(Anchor-Free) ํ์ง ๋ฐฉ์์ ์ฑํํ์์ต๋๋ค. ์ด๋ ํ์ต ์๋์ ํจ์จ์ฑ์ ๋์ด๊ณ , ์์ ๊ฐ์ฒด์ ๋ํ ํ์ง ์ฑ๋ฅ์ ๋์ฑ ํฅ์์ํค๋ ๋ฐ ๊ธฐ์ฌํฉ๋๋ค.
YOLOv8 ์ํคํ
์ฒ
YOLOv8 ์ํคํ ์ฒ๋ ์ด์ YOLO ๋ชจ๋ธ์์ ์ฑ๋ฅ๊ณผ ํจ์จ์ฑ์ ๊ฐ์ ํ ์ต์ ๊ตฌ์กฐ๋ก ์ค๊ณ๋์์ต๋๋ค. YOLOv8์ ์ํคํ ์ฒ๋ ์ฃผ์ ๊ตฌ์ฑ ์์์ธ Backbone, Neck, ๊ทธ๋ฆฌ๊ณ Head๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๋ค์ํ ํฌ๊ธฐ์ ๊ฐ์ฒด๋ฅผ ํ์งํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ค์์ YOLOv8์ ์ํคํ ์ฒ๋ฅผ ์์ธํ ์ค๋ช ํ ๋ด์ฉ์ ๋๋ค.
1. Backbone (ํน์ง ์ถ์ถ๊ธฐ)
YOLOv8์ Backbone์ ์ ๋ ฅ ์ด๋ฏธ์ง์์ ์ ์ฉํ ํน์ง์ ์ถ์ถํ๋ ์ญํ ์ ํฉ๋๋ค. Backbone์ ์ค์ํ ํน์ง์ EfficientNet๊ณผ ์ ์ฌํ ๊ตฌ์กฐ๋ก ์ค๊ณ๋์ด ์์ด, ๋์ ํจ์จ์ฑ๊ณผ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
CSPNet (Cross Stage Partial Network): YOLOv8์ Backbone์์ CSP ๊ตฌ์กฐ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ YOLOv7์์๋ ์ฌ์ฉ๋์๋ ๊ตฌ์กฐ๋ก, ๋คํธ์ํฌ์ ๋ฐ๋ณต์ ์ธ ๋ถ๋ถ์ ์ค์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๊ฐ์์ํค๋ฉด์๋ ํน์ง ์ถ์ถ ์ฑ๋ฅ์ ์ ์งํ ์ ์๊ฒ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ์ต ์๋๋ ๋น ๋ฅด๋ฉด์๋ ๋ ๊น์ ์ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Convolutional Layers (ํฉ์ฑ๊ณฑ ๋ ์ด์ด): Backbone์์๋ ์ฌ๋ฌ ์ธต์ ํฉ์ฑ๊ณฑ ๋ ์ด์ด๊ฐ ์ฌ์ฉ๋์ด ์ ์ฐจ์ ์ผ๋ก ์ ๋ ฅ ์ด๋ฏธ์ง์ ํด์๋๋ฅผ ์ค์ฌ๊ฐ๋ฉฐ ์ค์ํ ์๊ฐ์ ํน์ง์ ์ถ์ถํฉ๋๋ค. ์ด ๊ณผ์ ์์ ์ด๋ฏธ์ง์ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ์งํ๋ฉด์ ๊ฐ์ฒด์ ํฌ๊ธฐ์ ์์น์ ๋ฐ๋ผ ๋ค์ํ ์ค์ผ์ผ์ ํน์ง์ ํ์ตํฉ๋๋ค.
Focus Layer: YOLOv8์ ์ด๋ฏธ์ง๋ฅผ 4๊ฐ๋ก ๋ถํ ํ ํ ์ด๋ค์ ๊ฒฐํฉํ์ฌ ์ค์ํ ํน์ง์ ์ถ์ถํ๋ Focus Layer๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ๊ฐ์ฒด์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ ํจ๊ณผ์ ์ผ๋ก ํ์ตํ๋ ๋ฐ ๊ธฐ์ฌํฉ๋๋ค.
2. Neck (๋ค์ค ์ค์ผ์ผ ํน์ง ์ฐ๊ฒฐ)
Neck๋ ๋ค์ํ ํฌ๊ธฐ์ ๊ฐ์ฒด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์งํ๊ธฐ ์ํด ์ฌ๋ฌ ๋ ๋ฒจ์ ํน์ง์ ๊ฒฐํฉํ๋ ์ญํ ์ ํฉ๋๋ค. YOLOv8์ Neck์ ์ฃผ๋ก **FPN (Feature Pyramid Network)**๊ณผ **PAN (Path Aggregation Network)**์ ๊ฒฐํฉํ์ฌ ๊ตฌ์ฑ๋ฉ๋๋ค.
FPN (Feature Pyramid Network): FPN์ YOLOv8์์ ์๋ก ๋ค๋ฅธ ํด์๋์์ ์ถ์ถ๋ ํน์ง๋ค์ ๊ฒฐํฉํ์ฌ ๋ค์ํ ํฌ๊ธฐ์ ๊ฐ์ฒด๋ฅผ ํ์งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ์์ ๊ฐ์ฒด๋ถํฐ ํฐ ๊ฐ์ฒด๊น์ง ํญ๋์ ํฌ๊ธฐ์ ๊ฐ์ฒด๋ฅผ ํ์งํ ์ ์๊ฒ ๋ฉ๋๋ค.
PAN (Path Aggregation Network): PAN์ FPN์์ ์ถ์ถํ ๋ค์ค ์ค์ผ์ผ์ ํน์ง์ ๋ ์ ๊ฒฐํฉํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ์ ๋ณด ํ๋ฆ์ ์์๋๋ก ๋ชจ๋ ์ ๋ฌํจ์ผ๋ก์จ ๋ ํ๋ถํ ํํ๋ ฅ์ ์ ๊ณตํฉ๋๋ค.
SPP (Spatial Pyramid Pooling): SPP๋ ๊ณต๊ฐ์ ํน์ง์ ๊ฒฐํฉํ์ฌ ๊ฐ์ฒด ํ์ง ์ฑ๋ฅ์ ๋์ด๋ ๋ฐ ๊ธฐ์ฌํฉ๋๋ค. ์ฌ๋ฌ ํฌ๊ธฐ์ ์ปค๋์ ์ฌ์ฉํด ๋ค์ํ ํฌ๊ธฐ์ ํน์ง์ ๊ฒฐํฉํ์ฌ ๋์ฑ ๊ฐ๋ ฅํ ํํ์ ๋ง๋ค์ด ๋ ๋๋ค.
3. Head (ํ์ง ๊ฒฐ๊ณผ ์ถ๋ ฅ)
Head๋ Backbone๊ณผ Neck์์ ์ถ์ถํ ํน์ง์ ๋ฐํ์ผ๋ก ์ค์ ๊ฐ์ฒด๋ฅผ ํ์งํ๋ ๋ถ๋ถ์ ๋๋ค. YOLOv8์ Head๋ ์ด์ YOLO ๋ชจ๋ธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก **Bounding Box (๊ฒฝ๊ณ ์์)**์ ๊ฐ์ฒด ํด๋์ค๋ฅผ ์์ธกํฉ๋๋ค. YOLOv8์์๋ ์ด ๊ณผ์ ์์ ๋ช ๊ฐ์ง ์ค์ํ ๊ฐ์ ์ฌํญ์ด ์ ์ฉ๋์์ต๋๋ค.
Anchor-Free Design (์ต์ปค ์๋ ๋์์ธ): YOLOv8์ ๊ธฐ์กด YOLO ๋ชจ๋ธ์์ ์ฌ์ฉ๋์๋ ์ต์ปค ๋ฐ์ค๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ต์ปค๋ฅผ ์ค์ ํ๋ ๋ฒ๊ฑฐ๋ก์ ์์ด ๋ค์ํ ๊ฐ์ฒด ํฌ๊ธฐ์ ๋์ํ ์ ์์ผ๋ฉฐ, ์๋์ ์ ํ๋ ๋ชจ๋ ํฅ์๋ฉ๋๋ค.
Objectness Score: ๊ฐ ํ์ง๋ ๊ฐ์ฒด์ ๋ํด ๊ฐ์ฒด๊ฐ ์กด์ฌํ ํ๋ฅ ์ ๋ํ๋ด๋ ์ ์๋ฅผ ์์ธกํ๋ฉฐ, ์ด๋ฅผ ํตํด ํ์ง๋ ๊ฐ์ฒด์ ์ ๋ขฐ๋๋ฅผ ํ๊ฐํฉ๋๋ค.
Bounding Box Regression: YOLOv8์ ๊ฐ์ฒด์ ์์น์ ํฌ๊ธฐ๋ฅผ ๊ฒฝ๊ณ ์์ ์ขํ๋ก ํํํ๋ฉฐ, ์ด๋ฅผ ํตํด ์ด๋ฏธ์ง ๋ด์์ ๊ฐ์ฒด๊ฐ ์ด๋์ ์์นํ๊ณ ์๋์ง ์์ธกํฉ๋๋ค.
Class Prediction: ํ์ง๋ ๊ฐ์ฒด๊ฐ ์ด๋ค ํด๋์ค์ ์ํ๋์ง ์์ธกํ๋ฉฐ, ์ฌ๋ฌ ๊ฐ์ฒด ํด๋์ค์ ๋ํ ๋ค์ค ๋ถ๋ฅ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
5. YOLOv8 ์ํคํ
์ฒ ๋ค์ด์ด๊ทธ๋จ
YOLOv8 ์ํคํ ์ฒ๋ฅผ ์๊ฐ์ ์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
์ด ์ํคํ ์ฒ๋ YOLO์ ๊ธฐ๋ณธ ์ฒ ํ์ธ ์ค์๊ฐ ๊ฐ์ฒด ํ์ง๋ฅผ ์ ์งํ๋ฉด์๋ ์ต์ ๋ฅ๋ฌ๋ ๊ธฐ์ ์ ํ์ฉํ์ฌ ์ ํ๋์ ํจ์จ์ฑ์ ๊ทน๋ํํ ๋ชจ๋ธ์ ๋๋ค.
์ฑ๋ฅ
YOLOv8์ ๊ธฐ์กด ๋ชจ๋ธ์ ๋นํด ๋ค์๊ณผ ๊ฐ์ ์ฑ๋ฅ์ ์ฅ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค:
๋ ๋์ ์ ํ๋ (mAP): YOLOv8์ ์ ํ๋ ์ธก๋ฉด์์ ๊ธฐ์กด YOLOv7๋ณด๋ค ๊ฐ์ ๋ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค. mAP(mean Average Precision)๊ฐ ๋ ๋์ ์์ค์ผ๋ก ํฅ์๋์ด ์์ ๊ฐ์ฒด ํ์ง๋ ๋ณต์กํ ์ฅ๋ฉด์์๋ ๋ ์ฐ์ํ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค.
๋ ๋น ๋ฅธ ์ฒ๋ฆฌ ์๋: YOLOv8์ ๊ธฐ์กด YOLO ๋ชจ๋ธ์ ์ฅ์ ์ธ ์๋๋ฅผ ๊ทธ๋๋ก ์ ์งํ๋ฉด์๋ ๋ ์ ์ ์ฐ์ฐ ์์์ ์ฌ์ฉํ์ฌ ๋ ๋น ๋ฅด๊ฒ ๊ฐ์ฒด๋ฅผ ํ์งํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ค์๊ฐ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
์ ์ฉ ๊ฐ๋ฅ ๋ถ์ผ
YOLOv8์ ๋ค์ํ ๋น์ ์์ ์์ ํ์ฉํ ์ ์์ต๋๋ค:
์ค์๊ฐ ๊ฐ์ฒด ํ์ง: YOLOv8์ ํนํ ์ค์๊ฐ ์์ ์์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ฐํํ๋ฉฐ, ๋๋ก , ์์จ ์ฃผํ, ๋ณด์ ์นด๋ฉ๋ผ ๋ฑ ์ค์๊ฐ ๋ชจ๋ํฐ๋ง๊ณผ ๊ฐ์ ์์ฉ ๋ถ์ผ์ ์ ํฉํฉ๋๋ค.
์ด๋ฏธ์ง ๋ฐ ๋น๋์ค ๋ถ์: ๋น๋์ค ์คํธ๋ฆผ์์ ๋ค์์ ๊ฐ์ฒด๋ฅผ ๋์์ ํ์งํ ์ ์์ผ๋ฉฐ, ์ถ์ ๊ณผ ๋ถ๋ฅ ์์ ์๋ ์ ๋ฆฌํฉ๋๋ค.
์๋ฃ ์์ ๋ถ์: ๋์ ์ ํ๋๋ก ๋ณ๋ณ์ด๋ ์ด์ ์งํ๋ฅผ ํ์งํ ์ ์์ด ์๋ฃ ์์์์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
๊ธฐ์ ์ ํน์ง
Input Resolution: YOLOv8์ ๋ค์ํ ์ ๋ ฅ ํด์๋๋ฅผ ์ง์ํ๋ฉฐ, ์์ ๊ฐ์ฒด ํ์ง์์๋ ๊ฐ๋ ฅํ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค.
Lightweight: ๊ฒฝ๋ํ๋ ๋ชจ๋ธ ๊ตฌ์กฐ ๋๋ถ์ ๋ชจ๋ฐ์ผ ์ฅ์น๋ ์๋ฒ ๋๋ ์์คํ ์์๋ YOLOv8์ ํ์ฉํ ์ ์์ต๋๋ค.
Dynamic Inference: YOLOv8์ ๋ชจ๋ธ ํฌ๊ธฐ์ ์ฐ์ฐ ์์์ ๋ฐ๋ผ ๋์ ์ผ๋ก ์ถ๋ก ์ ์ต์ ํํ ์ ์์ด ๋ค์ํ ํ๋์จ์ด ํ๊ฒฝ์ ์ ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
ํ์ต ๊ณผ์ ๋ฐ ์ฌ์ฉ๋ฒ
YOLOv8์ ์ฌ์ฉํ๊ธฐ ๊ฐํธํ๋ฉฐ, PyTorch, TensorFlow์ ๊ฐ์ ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ์์ ์ฝ๊ฒ ํ์ต ๋ฐ ์ถ๋ก ์ ์ํํ ์ ์์ต๋๋ค. ์ฌ์ฉ์๋ ๋ค์ ๋จ๊ณ๋ฅผ ํตํด YOLOv8์ ํ์ต์ํค๊ณ ์ฌ์ฉํ ์ ์์ต๋๋ค:
๋ฐ์ดํฐ ์ค๋น: ์ํ๋ ๊ฐ์ฒด ํ์ง ์์ ์ ๋ง๋ ๋ฐ์ดํฐ์ ์ ์ค๋นํฉ๋๋ค.
ํ์ต ๋ฐ ๊ฒ์ฆ: ์ค๋น๋ ๋ฐ์ดํฐ์ ์ผ๋ก ๋ชจ๋ธ์ ํ์ต์ํค๊ณ , ๊ฒ์ฆ ๋ฐ์ดํฐ๋ก ์ฑ๋ฅ์ ํ๊ฐํฉ๋๋ค.
์ถ๋ก (Inference): ํ์ต๋ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์ค์๊ฐ์ผ๋ก ๊ฐ์ฒด๋ฅผ ํ์งํ๊ฑฐ๋ ์ด๋ฏธ์ง, ๋น๋์ค์์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํฉ๋๋ค.
YOLOv8 ์ฅ์
๋์ ์ ํ๋:
YOLOv8์ ์ด์ ๋ฒ์ ๋ณด๋ค ๋ ๋์ ์ ํ๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ํนํ ์์ ๊ฐ์ฒด ํ์ง๋ ๋ณต์กํ ์ฅ๋ฉด์์ mAP(mean Average Precision)๊ฐ ๊ฐ์ ๋์ด ๋ค์ํ ํ๊ฒฝ์์ ์ฐ์ํ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค.
๋น ๋ฅธ ์ฒ๋ฆฌ ์๋:
YOLOv8์ ์ค์๊ฐ ๊ฐ์ฒด ํ์ง ์์ ์์ ๋งค์ฐ ๋น ๋ฅธ ์๋๋ฅผ ์๋ํฉ๋๋ค. ๊ฒฝ๋ํ๋ ์ํคํ ์ฒ ๋๋ถ์ ๊ณ ์ฑ๋ฅ์ ์ ์งํ๋ฉด์๋ ์งง์ ์ฒ๋ฆฌ ์๊ฐ์ ์๊ตฌํ๋ฉฐ, ์ค์๊ฐ ๋น๋์ค ๋ถ์์ด๋ ๋๋ก ๊ณผ ๊ฐ์ ์์ฉ์ ์ ํฉํฉ๋๋ค.
ํจ์จ์ ์ธ ์์ ์ฌ์ฉ:
๋ชจ๋ธ์ด ๊ฒฝ๋ํ๋์ด GPU ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋ฎ๊ณ , ์ฐ์ฐ ์์์ด ์ ๊ฒ ์๋ชจ๋ฉ๋๋ค. ์ด๋ก ์ธํด ๋ชจ๋ฐ์ผ ์ฅ์น๋ ์๋ฒ ๋๋ ์์คํ ์์๋ ํจ์จ์ ์ผ๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
Anchor-Free ๋์์ธ:
YOLOv8์ ์ต์ปค ๊ธฐ๋ฐ ๋ฐฉ์์์ ๋ฒ์ด๋, ์ต์ปค ์์ด๋ ๋ ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ๊ฐ์ฒด๋ฅผ ํ์งํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ํ์ต์ด ๊ฐ์ํ๋๊ณ ๋ ๋์ ์ผ๋ฐํ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค.
๋ค์ํ ํด์๋ ์ง์:
YOLOv8์ ๋ค์ํ ์ ๋ ฅ ํด์๋๋ฅผ ์ง์ํ๋ฉฐ, ๊ณ ํด์๋ ์ด๋ฏธ์ง์์๋ ์์ ๊ฐ์ฒด๋ฅผ ํ์งํ๋ ๋ฐ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค.
์ ์ฉ ๋ฒ์์ ๋ค์์ฑ:
YOLOv8์ ์ค์๊ฐ ๊ฐ์ฒด ํ์ง๋ฟ๋ง ์๋๋ผ ์ด๋ฏธ์ง ๋ถ๋ฅ, ์ธ๊ทธ๋ฉํ ์ด์ , ์ถ์ ์์ ๊น์ง ๋ค์ํ ๋น์ ์์ฉ์ ํ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
๋ชจ๋ํ๋ ๊ตฌ์กฐ:
YOLOv8์ ์ต์ ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ(PyTorch ๋ฑ)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๊ฒ ์ปค์คํฐ๋ง์ด์งํ ์ ์์ผ๋ฉฐ, ํ์์ ๋ฐ๋ผ ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๊ฑฐ๋ ํน์ ์์ ์ ๋ง๊ฒ ํ๋ํ ์ ์์ต๋๋ค.
YOLOv8์ ๋จ์
๋ณต์กํ ๊ฐ์ฒด๋ ๋ฐฐ๊ฒฝ ์ฒ๋ฆฌ
๋ณต์กํ ๋ฐฐ๊ฒฝ์์์ ์คํ์ง: YOLOv8์ ์ฌ์ ํ ๋จ์ํ ์ฅ๋ฉด์์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ด์ง๋ง, ๋ณต์กํ ๋ฐฐ๊ฒฝ์ด๋ ์ฌ๋ฌ ๊ฐ์ฒด๊ฐ ๊ฒน์น๋ ์ํฉ์์๋ ์คํ์ง(False Positive)๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ํนํ, ํฌํธํ๊ณผ ๊ฐ์ ์์ ๊ฐ์ฒด๊ฐ ๋ณต์กํ ๋๋ก ํ๊ฒฝ์์ ๋ค๋ฅธ ์์์ด๋ ๊ทธ๋ฆผ์์ ๊ฒน์น ๊ฒฝ์ฐ, ํ์ง ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์์ต๋๋ค.
์ต์ปค๋ฆฌ์ค ๋ฐฉ์์ ํ๊ณ
Anchor-Free ๋ฐฉ์์ ์ ์ ๋ฌธ์ : YOLOv8์ ์ต์ปค๋ฆฌ์ค(Anchor-Free) ํ์ง ๋ฐฉ์์ ์ฑํํ์ฌ ์ฐ์ฐ ํจ์จ์ ๋์์ง๋ง, ์ด ๋ฐฉ์์ด ๋ชจ๋ ๋ฐ์ดํฐ์ ์ ์ต์ ํ๋์ง๋ ์์ ์ ์์ต๋๋ค. ํน์ ์ํฉ์์๋ ์ต์ปค ๊ธฐ๋ฐ ํ์ง๊ฐ ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ผ ์ ์์ผ๋ฉฐ, ์์ ๊ฐ์ฒด๋ ํน์ดํ ๋ชจ์์ ๊ฐ์ฒด์์ ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ชจ๋ธ ํฌ๊ธฐ์ ํ๋์จ์ด ์๊ตฌ์ฌํญ
๊ฒฝ๋ ๋ชจ๋ธ์ด ์๋: YOLOv8์ ์ด์ ๋ฒ์ ๋ค์ ๋นํด ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋์์ง๋ง, ์ฌ์ ํ ๊ณ์ฐ๋์ด ๋ง๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ํฌ๊ธฐ ๋๋ฌธ์ ๊ณ ์ฑ๋ฅ ํ๋์จ์ด์์๋ง ์ต์ ์ ์ฑ๋ฅ์ ๋ฐํํ ์ ์์ต๋๋ค. ์๋ฒ ๋๋ ์์คํ ์ด๋ ์ ์ ๋ ฅ ํ๊ฒฝ์์๋ ์ด๋ก ์ธํด ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค.
๋ชจ๋ฐ์ผ ํ๊ฒฝ์์์ ์ ํ: YOLOv8์ด ๊ฒฝ๋ํ๋ ๋ฒ์ ๋ ์ ๊ณตํ๊ณ ์์ง๋ง, ์ผ๋ถ ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ์ฌ์ ํ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์์ ์คํ์ด ์ด๋ ค์ธ ์ ์์ต๋๋ค.
ํ์ต ์๊ฐ ๋ฐ ๋ฐ์ดํฐ์
์์กด์ฑ
ํ์ต ์๊ฐ ์ฆ๊ฐ: YOLOv8์ ๋ ๊น์ ๋คํธ์ํฌ์ ๋ ๋ง์ ํ๋ผ๋ฏธํฐ๋ฅผ ํฌํจํ๊ณ ์๊ธฐ ๋๋ฌธ์, ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์ ํ์ตํ ๋ ๋ ๊ธด ํ์ต ์๊ฐ์ด ํ์ํฉ๋๋ค. ์ด๋ ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ ๊ฐ๋ฐ ์๋๋ฅผ ๋ฆ์ถ ์ ์์ต๋๋ค.
๋๋์ ๋ ์ด๋ธ๋ง ๋ฐ์ดํฐ ํ์: YOLOv8์ ๊ณ ์ฑ๋ฅ ๋ชจ๋ธ์ด์ง๋ง, ์ด๋ฅผ ์ต๋ํ ํ์ฉํ๊ธฐ ์ํด์๋ ์ถฉ๋ถํ ์์ ๊ณ ํ์ง ๋ ์ด๋ธ๋ง๋ ๋ฐ์ดํฐ์ ์ด ํ์ํฉ๋๋ค. ํนํ ํฌํธํ๊ณผ ๊ฐ์ด ํน์ ๋๋ฉ์ธ์ ํนํ๋ ํ์ง ์์ ์์๋ ์ ์ ํ ๋ฐ์ดํฐ์ ์ ์ค๋นํ๋ ๊ฒ์ด ์ค์ํ๋ฉฐ, ๋ถ์กฑํ ๋ฐ์ดํฐ๋ ๋ชจ๋ธ ์ฑ๋ฅ ์ ํ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
์ผ๋ฐํ ๋ฌธ์
๋๋ฉ์ธ ํนํ ๋ชจ๋ธ ์ฑ๋ฅ: YOLOv8์ ์ผ๋ฐ์ ์ธ ๊ฐ์ฒด ํ์ง ์์ ์์ ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์ด์ง๋ง, ํน์ ๋๋ฉ์ธ์ ํนํ๋ ๋ฌธ์ (์: ์๋ฃ ์์, ํน์ ๋๋ก ์์ ํจํด ํ์ง)์์๋ ์ฑ๋ฅ์ด ๊ธฐ๋์ ๋ชป ๋ฏธ์น ์ ์์ต๋๋ค. ๋๋ก ํ๊ฒฝ์์ ๋ฐ์ํ๋ ํน์ ์ ํ์ ์์์ ์ ํํ๊ฒ ํ์งํ๋ ค๋ฉด YOLOv8์ ํด๋น ๋๋ฉ์ธ์ ๋ง๊ฒ ์ ์ ํ ํ๋ํ๊ณ , ์ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๋ฐ ํ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ ์์ต๋๋ค.
ํ์ฒ๋ฆฌ ํ์์ฑ
์ถ๊ฐ์ ์ธ ํ์ฒ๋ฆฌ ์์ : YOLOv8์ ๊ฐ์ฒด๋ฅผ ๋น ๋ฅด๊ฒ ํ์งํ ์ ์์ง๋ง, ํฌํธํ ํ์ง์ ๊ฐ์ ๊ตฌ์ฒด์ ์ธ ์์ ์์๋ ํ์ง๋ ์์ญ์ ํ์ฒ๋ฆฌํด์ผ ํ ํ์๊ฐ ์์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ์ง๋ ํฌํธํ์ ํฌ๊ธฐ๋ ์ฌ๊ฐ๋๋ฅผ ํ๊ฐํ๊ฑฐ๋ ์์น๋ฅผ ์ ํํ๊ฒ ๊ฒฐ์ ํ๊ธฐ ์ํด ์ถ๊ฐ์ ์ธ ๊ณ์ฐ์ด๋ ์๊ณ ๋ฆฌ์ฆ์ด ํ์ํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋จ์ ๋ค์ ์ํฉ์ ๋ฐ๋ผ ๋ชจ๋ธ ์ ํ ์ ๊ณ ๋ คํด์ผ ํ ์์์ด๋ฉฐ, YOLOv8์ด ๋ชจ๋ ์ํฉ์์ ์๋ฒฝํ ์๋ฃจ์ ์ ์๋๋๋ค. ํน์ ๋ฌธ์ ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ชจ๋ธ์ด๋ ์ถ๊ฐ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํ๋ ๊ฒ์ด ๋ ๋์ ์ ํ์ผ ์ ์์ต๋๋ค.
YOLOv8 ์๊ตฌ ์์
YOLOv8์ ์ฌ์ฉํ๊ธฐ ์ํ ์๊ตฌ ์์์ ๋ชจ๋ธ์ ํฌ๊ธฐ ๋ฐ ์์ฉ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์์์ด ํ์ํฉ๋๋ค.
1. ํ๋์จ์ด ์๊ตฌ ์ฌํญ
YOLOv8์ ๊ฒฝ๋ํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด ๊ณ ์ฑ๋ฅ GPU๋ฟ๋ง ์๋๋ผ CPU์์๋ ์คํํ ์ ์์ง๋ง, ์ต์ ์ ์ฑ๋ฅ์ ๋ฐํํ๋ ค๋ฉด GPU๊ฐ ํ์ํฉ๋๋ค.
GPU:
YOLOv8์ GPU ๊ฐ์์ ํตํด ์ค์๊ฐ ๊ฐ์ฒด ํ์ง ์์ ์์ ์ต๊ณ ์ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค. NVIDIA์ CUDA์ ํธํ๋๋ GPU๊ฐ ๊ถ์ฅ๋๋ฉฐ, NVIDIA GTX 1080 Ti ๋๋ ๊ทธ ์ด์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ต์ NVIDIA RTX ์๋ฆฌ์ฆ (RTX 3060, RTX 3080) ์ด์์ GPU๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๋น ๋ฅธ ์ฒ๋ฆฌ ์๋์ ๋ ๋์ ์ ํ๋๋ฅผ ์ป์ ์ ์์ต๋๋ค.
CPU:
CPU์์๋ YOLOv8์ ์คํํ ์ ์์ผ๋, ์ค์๊ฐ ์ฑ๋ฅ์ด ์๊ตฌ๋์ง ์๋ ์ํฉ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค. Intel i5, i7, i9๊ณผ ๊ฐ์ ๊ณ ์ฑ๋ฅ CPU์์ ๋น ๋ฅธ ์ถ๋ก ์๋๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
RAM:
ํ์ต ๋ฐ ์ถ๋ก ์ ์ํ ๋ฉ๋ชจ๋ฆฌ ์๊ตฌ๋์ ์ ๋ ฅ ์ด๋ฏธ์ง์ ํฌ๊ธฐ์ ๋ชจ๋ธ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์ผ๋ฐ์ ์ผ๋ก 8GB ์ด์์ RAM์ด ๊ถ์ฅ๋๋ฉฐ, ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์ ์ฒ๋ฆฌํ ๊ฒฝ์ฐ 16GB ์ด์์ RAM์ด ๋ ์์ ์ ์ ๋๋ค.
์คํ ๋ฆฌ์ง:
๋ชจ๋ธ ํ์ต์ ์ํ ๋ฐ์ดํฐ์ ๋ฐ ๋ชจ๋ธ ํ์ผ์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ํ ๋, ์ถฉ๋ถํ ์ ์ฅ ๊ณต๊ฐ์ด ํ์ํฉ๋๋ค. ํนํ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ SSD์ ๊ฐ์ ๋น ๋ฅธ ์ ์ฅ ์ฅ์น๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. YOLOv8์ ๊ฐ์ค์น ํ์ผ์ ์๋ฐฑ MB์์ ๊ธฐ๊ฐ๋ฐ์ดํธ์ ์ด๋ฅผ ์ ์์ต๋๋ค.
2. ์ํํธ์จ์ด ์๊ตฌ ์ฌํญ
YOLOv8์ ์คํํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์ํํธ์จ์ด ํ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
Python 3.8 ์ด์:
YOLOv8์ Python ๊ธฐ๋ฐ์ ํ๋ ์์ํฌ๋ก ์ ๊ณต๋๋ฏ๋ก, Python 3.8 ์ด์์ ๋ฒ์ ์ด ํ์ํฉ๋๋ค.
PyTorch:
YOLOv8์ ์ฃผ๋ก PyTorch์์ ์คํ๋๋ฏ๋ก, PyTorch์ ์ต์ ๋ฒ์ ์ด ํ์ํฉ๋๋ค. GPU ๊ฐ์์ ์ํ CUDA ๋ฒ์ ๋ PyTorch์ ํธํ๋์ด์ผ ํฉ๋๋ค.
CUDA ๋ฐ cuDNN:
GPU ๊ฐ์์ ์ฌ์ฉํ๋ ค๋ฉด CUDA Toolkit(์ต์ 10.2 ๋ฒ์ ์ด์)๊ณผ cuDNN ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋์ด์ผ ํฉ๋๋ค.
CUDA ๋ฒ์ ์ ์ฌ์ฉ ์ค์ธ GPU์ PyTorch ๋ฒ์ ์ ๋ง์ถฐ ์ค์นํด์ผ ํฉ๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ:
YOLOv8์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ํ์ํฉ๋๋ค:
numpy
OpenCV
torchvision
Pillow (์ด๋ฏธ์ง ์ฒ๋ฆฌ์ฉ)
๊ธฐํ ์ถ๊ฐ์ ์ธ ์๊ฐํ ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
3. YOLOv8 ๋ชจ๋ธ ํฌ๊ธฐ
YOLOv8์ ๊ฒฝ๋ํ๋ ๋ชจ๋ธ๋ถํฐ ํฐ ๋ชจ๋ธ๊น์ง ๋ค์ํ ํฌ๊ธฐ์ ๋ชจ๋ธ์ด ์ ๊ณต๋๋ฏ๋ก, ์ฌ์ฉ ํ๊ฒฝ์ ๋ฐ๋ผ ์ ํฉํ ๋ชจ๋ธ์ ์ ํํ ์ ์์ต๋๋ค.
YOLOv8n (Nano): ๊ฐ์ฅ ์์ ํฌ๊ธฐ์ ๋ชจ๋ธ๋ก, ์์ฃผ ์ ์ ์ฐ์ฐ๋์ผ๋ก ๋น ๋ฅธ ์ถ๋ก ์ด ๊ฐ๋ฅํ์ง๋ง, ์ ํ๋๋ ์๋์ ์ผ๋ก ๋ฎ์ต๋๋ค. ๋ชจ๋ฐ์ผ ์ฅ์น๋ ์๋ฒ ๋๋ ์์คํ ์์ ์ฌ์ฉํ๊ธฐ ์ ํฉํฉ๋๋ค.
YOLOv8s (Small): ์ฝ๊ฐ์ ์ฑ๋ฅ๊ณผ ์ ํ๋๋ฅผ ํฌ์ํ๋ฉด์๋ ๋งค์ฐ ๋น ๋ฅธ ์๋๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ค์๊ฐ ๊ฐ์ฒด ํ์ง์ ์ ํฉํฉ๋๋ค.
YOLOv8m (Medium): ์ค๊ฐ ํฌ๊ธฐ์ ๋ชจ๋ธ๋ก, ์ ํ๋์ ์๋ ๊ฐ์ ๊ท ํ์ ๋ง์ถ ๋ชจ๋ธ์ ๋๋ค.
YOLOv8l (Large): ๋ ๋์ ์ ํ๋๋ฅผ ์ ๊ณตํ์ง๋ง ์ฐ์ฐ๋์ด ๋ ํ์ํฉ๋๋ค. ๋ ๊ฐ๋ ฅํ GPU๊ฐ ์๊ตฌ๋๋ฉฐ, ๋ฆฌ์์ค๊ฐ ํ๋ถํ ํ๊ฒฝ์์ ์ ํฉํฉ๋๋ค.
YOLOv8x (Extra Large): ์ต๊ณ ์ ์ฑ๋ฅ๊ณผ ์ ํ๋๋ฅผ ์ ๊ณตํ๋ ๋ชจ๋ธ๋ก, ๋งค์ฐ ๋์ ์ฐ์ฐ ์์์ด ํ์ํ๋ฉฐ, ๋๊ท๋ชจ ์๋ฒ ํ๊ฒฝ์์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
4. ์คํ ์์:
๋ค์์ YOLOv8์ ์คํํ๊ธฐ ์ํ ๊ธฐ๋ณธ์ ์ธ ์์์ ๋๋ค.
์์ฝ: YOLOv8์ ๋ค์ํ ํฌ๊ธฐ์ ๋ชจ๋ธ์ ์ ๊ณตํ๋ฉฐ, GPU์์์ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํด CUDA ๋ฐ cuDNN ํ๊ฒฝ์ด ํ์ํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์คํ ๋ฆฌ์ง ์๊ตฌ๋์ ๋ค๋ฃจ๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ฉฐ, ๊ฒฝ๋ ๋ชจ๋ธ์ ๋ชจ๋ฐ์ผ์ด๋ ์๋ฒ ๋๋ ์์คํ ์์๋ ์คํํ ์ ์์ต๋๋ค.
YOLOv8 ๊ฐ์ฒด ํ์ง PyTorch ์์ ์ฝ๋
๋ค์์ YOLOv8์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ํ์ง๋ฅผ ์ํํ๋ PyTorch ์์ ์ฝ๋์
๋๋ค. ์ด ์ฝ๋๋ ultralytics ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ YOLOv8 ๋ชจ๋ธ์ ๋ถ๋ฌ์ค๊ณ , ์ด๋ฏธ์ง์์ ๊ฐ์ฒด๋ฅผ ํ์งํ๋ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
YOLOv8 ๊ฐ์ฒด ํ์ง PyTorch ์์
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ๋จผ์ YOLOv8 ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ค๋ฉด
ultralyticsํจํค์ง๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.YOLOv8 ๋ชจ๋ธ๋ก ๊ฐ์ฒด ํ์ง ์ํํ๊ธฐ
๋ค์์ PyTorch์์ YOLOv8์ ๋ถ๋ฌ์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ ฅ์ผ๋ก ๊ฐ์ฒด๋ฅผ ํ์งํ๋ ์์ ์ ๋๋ค.
๋ชจ๋ธ ๋ก๋:
torch.hub.load๋ฅผ ์ฌ์ฉํด YOLOv8 ๋ชจ๋ธ์ ๋ก๋ํฉ๋๋ค.yolov8s๋ ์์ ๋ชจ๋ธ์ ์๋ฏธํ๋ฉฐ, ์ด ์ธ์๋yolov8m,yolov8l๋ฑ ๋ ํฐ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด๋ฏธ์ง ์ ๋ ฅ:
img_url์ ํตํด URL๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋, ๋ก์ปฌ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ง ๊ฒฐ๊ณผ ํ์:
results.show()๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์ ํ์ง๋ ๊ฐ์ฒด๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ํฉ๋๋ค. ํ์ง๋ ๊ฐ์ฒด์ ๊ฒฝ๊ณ ์์์ ํด๋์ค๊ฐ ํ์๋ฉ๋๋ค.
ํ์ง ๊ฒฐ๊ณผ ํ ์คํธ ์ถ๋ ฅ:
results.print()๋ก ํ์ง๋ ๊ฐ์ฒด์ ์ ๋ณด๋ฅผ ํ ์คํธ๋ก ์ถ๋ ฅํ ์ ์์ต๋๋ค.
ํ์ง ๊ฒฐ๊ณผ DataFrame:
results.pandas().xyxy[0]๋ฅผ ํตํด ํ์ง๋ ๊ฐ์ฒด์ ์ ๋ณด๋ฅผDataFrameํ์์ผ๋ก ์ถ์ถํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ๊ฒฝ๊ณ ์์ ์ขํ(xmin, ymin, xmax, ymax), ํด๋์ค ์ ๋ณด, ์ ๋ขฐ๋ ์ ์๊ฐ ํฌํจ๋ฉ๋๋ค.
YOLOv8 ๋ชจ๋ธ ์ต์
yolov8s: ์์ ์ฌ์ด์ฆ ๋ชจ๋ธ (๋น ๋ฅด๊ณ ๊ฒฝ๋ํ๋จ)yolov8m: ์ค๊ฐ ์ฌ์ด์ฆ ๋ชจ๋ธyolov8l: ํฐ ์ฌ์ด์ฆ ๋ชจ๋ธ (๋ ์ ํํ์ง๋ง ๋ฌด๊ฑฐ์)
์ ์์ ๋ YOLOv8์ ์ฌ์ฉํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฐ์ฒด ํ์ง ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ฉฐ, ์ค์ ํ๋ก์ ํธ์์๋ ์ถ๊ฐ์ ์ธ ํ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ ๋ถ์์ ํตํด ๋ ์ธ๋ถ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ ์ ์์ต๋๋ค.
YOLOv8 ํ์ต PyTorch ์์
YOLOv8 ๊ฐ์ฒด ํ์ง๋ฅผ ์ํ PyTorch ํ์ต ์์ ๋ ๋ชจ๋ธ ์ค์ , ๋ฐ์ดํฐ ์ค๋น, ํ์ต ๋ฐ ์ถ๋ก ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. YOLOv8์ ๊ณต์์ ์ผ๋ก Ultralytics์์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, PyTorch๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๊ฒ ํ์ต์ ์คํํ ์ ์์ต๋๋ค. ์๋๋ YOLOv8์ ์ด์ฉํด ๊ฐ์ฒด ํ์ง๋ฅผ ํ์ตํ๋ ๊ธฐ๋ณธ ์ฝ๋ ์์ ์ ๋๋ค.
1. YOLOv8 ์ค์น
YOLOv8์ ultralytics ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋จผ์ PyTorch์ ํจ๊ป YOLOv8 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํฉ๋๋ค.
2. ๋ฐ์ดํฐ ์ค๋น
๊ฐ์ฒด ํ์ง๋ฅผ ์ํด ํ์ํ ๋ฐ์ดํฐ์ ์ COCO ํ์ ๋๋ YOLO ํ์์ผ๋ก ์ค๋นํด์ผ ํฉ๋๋ค. ๋ฐ์ดํฐ์ ์ ์ด๋ฏธ์ง ํ์ผ๊ณผ ํจ๊ป ๋ผ๋ฒจ ํ์ผ(.txt)์ด ํ์ํ๋ฉฐ, ๋ผ๋ฒจ ํ์ผ์๋ ๊ฐ์ฒด ํด๋์ค, ์ขํ(x, y, w, h)๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
3. ๋ชจ๋ธ ํ์ต ์ฝ๋
์๋ ์ฝ๋๋ PyTorch์์ YOLOv8์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ํ์ง๋ฅผ ํ์ต์ํค๋ ๊ธฐ๋ณธ ์์ ์ ๋๋ค.
4. ๋ฐ์ดํฐ์
๊ตฌ์ฑ
์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ์
์ ์ฌ์ฉํ ๋๋ data.yaml ํ์ผ์ ์์ฑํ์ฌ ๊ฒฝ๋ก๋ฅผ ์ ์ํด์ผ ํฉ๋๋ค.
๊ฐ ์ด๋ฏธ์ง์ ๋ํด ๋์ผํ ์ด๋ฆ์ .txt ํ์ผ์ด ์์ด์ผ ํ๋ฉฐ, ๊ทธ ์์๋ ์๋์ ๊ฐ์ ํ์์ผ๋ก ๊ฐ์ฒด์ ํด๋์ค์ ์ขํ๊ฐ ํฌํจ๋์ด์ผ ํฉ๋๋ค.
5. ํ์ต ํ๋ผ๋ฏธํฐ
epochs: ํ์ต ์ํฌํฌ ์์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํฐ ๊ฐ์ผ๋ก ์ค์ ํ ์๋ก ๋ ์ค๋ ํ์ตํ์ง๋ง, ์ค๋ฒํผํ ์ ์ฃผ์ํด์ผ ํฉ๋๋ค.
imgsz: ์ ๋ ฅ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ์ต์ ์ ๋๋ค. ์ฑ๋ฅ๊ณผ ์๋ ์ฌ์ด์์ ์ ์ ํ ๊ท ํ์ ๋ง์ถ ์ ์์ต๋๋ค.
batch: ๋ฐฐ์น ํฌ๊ธฐ๋ก, ํ ๋ฒ์ ํ์ต์ ์ฌ์ฉํ ์ด๋ฏธ์ง ์์ ๋๋ค.
device: ํ์ต์ ์ฌ์ฉํ ์ฅ์น ์ค์ (GPU๋ CPU).
workers: ๋ฐ์ดํฐ ๋ก๋ฉ์ ์ํ ํ๋ก์ธ์ค ์์ ๋๋ค.
6. ์ถ๋ก ๊ฒฐ๊ณผ ์๊ฐํ
ํ์ต๋ ๋ชจ๋ธ์ ์ฌ์ฉํด ํ
์คํธ ์ด๋ฏธ์ง๋ ๋น๋์ค์์ ํ์ง๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ฅผ results.show()๋ฅผ ํตํด ์๊ฐํํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ๋ ํ์ง๋ ๊ฐ์ฒด์ ํด๋์ค์ ๋ฐ์ด๋ฉ ๋ฐ์ค๋ก ํ์๋ฉ๋๋ค.
์ด ์ฝ๋๋ ๊ธฐ๋ณธ์ ์ธ ํ์ต ํ์ดํ๋ผ์ธ์ ๋ณด์ฌ์ฃผ๋ฉฐ, ๋ ๋์๊ฐ ๋ชจ๋ธ ํ์ดํผํ๋ผ๋ฏธํฐ ์กฐ์ , ๋ฐ์ดํฐ ์ฆ๊ฐ, ๋ชจ๋ธ์ ํฌ๊ธฐ ๋ณ๊ฒฝ ๋ฑ ๋ค์ํ ์คํ์ ํตํด ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ต๋๋ค.
Last updated