์ธํ OpenVINO ๋ด๋ณด๋ด๊ธฐ
์ด ๊ฐ์ด๋์์๋ YOLOv8 ๋ชจ๋ธ์ ํ์์ผ๋ก ๋ด๋ณด๋ด๋ ๋ฐฉ๋ฒ๊ณผ OpenVINO ํ์์ผ๋ก ๋ด๋ณด๋ด๋ ๋ฐฉ๋ฒ๊ณผ ์ธํ GPU ๋ฐ NPU ํ๋์จ์ด์์ YOLO ์ถ๋ก ์๋๋ฅผ ์ต๋ 3๋ฐฐ๊น์ง ๋์ผ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
OpenVINO์คํ ์๊ฐ์ ์ถ๋ก ๋ฐ ์ ๊ฒฝ๋ง ์ต์ ํ ํดํท์ ์ค์๋ง๋ก, AI ์ถ๋ก ๋ชจ๋ธ์ ์ต์ ํํ๊ณ ๋ฐฐํฌํ๊ธฐ ์ํ ์ข ํฉ์ ์ธ ํดํท์ ๋๋ค. ์ด๋ฆ์ Visual์ด ํฌํจ๋์ด ์์ง๋ง OpenVINO ์ ์ธ์ด, ์ค๋์ค, ์๊ณ์ด ๋ฑ ๋ค์ํ ์ถ๊ฐ ์์ ๋ ์ง์ํฉ๋๋ค.
Watch: ์ถ๋ก ์ ์ํด Ultralytics YOLOv8 ๋ชจ๋ธ์ ๋ด๋ณด๋ด๊ณ ์ต์ ํํ๋ ๋ฐฉ๋ฒ OpenVINO.
์ฌ์ฉ ์
YOLOv8n ๋ชจ๋ธ์ OpenVINO ํ์์ผ๋ก ๋ด๋ณด๋ด๊ณ ๋ด๋ณด๋ธ ๋ชจ๋ธ๋ก ์ถ๋ก ์ ์คํํฉ๋๋ค.
์
from ultralytics import YOLO
# Load a YOLOv8n PyTorch model
model = YOLO('yolov8n.pt')
# Export the model
model.export(format='openvino') # creates 'yolov8n_openvino_model/'
# Load the exported OpenVINO model
ov_model = YOLO('yolov8n_openvino_model/')
# Run inference
results = ov_model('https://ultralytics.com/images/bus.jpg')
์ธ์
ํค | ๊ฐ์น | ์ค๋ช |
---|---|---|
format |
'openvino' |
ํ์์ผ๋ก ๋ด๋ณด๋ผ ์ ์์ต๋๋ค. |
imgsz |
640 |
์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ์ค์นผ๋ผ ๋๋ (h, w) ๋ชฉ๋ก(์: (640, 480))์ผ๋ก ์ง์ ํฉ๋๋ค. |
half |
False |
FP16 ์์ํ |
๋ค์๊ณผ ๊ฐ์ ์ด์ ์ด ์์ต๋๋ค. OpenVINO
- ์ฑ๋ฅ: OpenVINO ์ ์ธํ CPU, ํตํฉ ๋ฐ ๊ฐ๋ณ GPU, FPGA์ ์ฑ๋ฅ์ ํ์ฉํ์ฌ ๊ณ ์ฑ๋ฅ ์ถ๋ก ์ ์ ๊ณตํฉ๋๋ค.
- ์ด๊ธฐ์ข ์คํ ์ง์: OpenVINO ์์๋ ํ ๋ฒ ์์ฑํ๋ฉด ์ง์๋๋ ๋ชจ๋ ์ธํ ํ๋์จ์ด(CPU, GPU, FPGA, VPU ๋ฑ)์ ๋ฐฐํฌํ ์ ์๋ API๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๋ชจ๋ธ ์ตํฐ๋ง์ด์ : OpenVINO ๋ PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle, Caffe ๋ฑ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฅ ๋ฌ๋ ํ๋ ์์ํฌ์์ ๋ชจ๋ธ์ ๊ฐ์ ธ์์ ๋ณํํ๊ณ ์ต์ ํํ๋ ๋ชจ๋ธ ์ตํฐ๋ง์ด์ ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ฌ์ฉ ํธ์์ฑ: ํดํท์๋ ํดํท์ ๋ค์ํ ์ธก๋ฉด์ ์๋ ค์ฃผ๋ 80๊ฐ ์ด์์ ํํ ๋ฆฌ์ผ ๋ ธํธ๋ถ ( YOLOv8 ์ต์ ํ ํฌํจ)์ด ํฌํจ๋์ด ์์ต๋๋ค.
OpenVINO ๋ด๋ณด๋ด๊ธฐ ๊ตฌ์กฐ
๋ชจ๋ธ์ OpenVINO ํ์์ผ๋ก ๋ด๋ณด๋ด๋ฉด ๋ค์์ด ํฌํจ๋ ๋๋ ํฐ๋ฆฌ๊ฐ ์์ฑ๋ฉ๋๋ค:
- XML ํ์ผ์ ๋๋ค: ๋คํธ์ํฌ ํ ํด๋ก์ง๋ฅผ ์ค๋ช ํฉ๋๋ค.
- BIN ํ์ผ: weights and biases ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ํฌํจํฉ๋๋ค.
- ๋งคํ ํ์ผ: ์๋ณธ ๋ชจ๋ธ ์ถ๋ ฅ ํ ์๋ฅผ OpenVINO tensor ์ด๋ฆ์ผ๋ก ๋งคํํฉ๋๋ค.
์ด๋ฌํ ํ์ผ์ ์ฌ์ฉํ์ฌ OpenVINO ์ถ๋ก ์์ง์ผ๋ก ์ถ๋ก ์ ์คํํ ์ ์์ต๋๋ค.
๋ฐฐํฌ์์ OpenVINO ๋ด๋ณด๋ด๊ธฐ ์ฌ์ฉ
OpenVINO ํ์ผ์ด ์์ผ๋ฉด OpenVINO ๋ฐํ์์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ์คํํ ์ ์์ต๋๋ค. ๋ฐํ์์ ์ง์๋๋ ๋ชจ๋ ์ธํ ํ๋์จ์ด์์ ์ถ๋ก ํ ์ ์๋ ํตํฉ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ ์ธํ ํ๋์จ์ด ์ ๋ฐ์ ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋ฐ ๋น๋๊ธฐ ์คํ๊ณผ ๊ฐ์ ๊ณ ๊ธ ๊ธฐ๋ฅ๋ ์ ๊ณตํฉ๋๋ค. ์ถ๋ก ์คํ์ ๋ํ ์์ธํ ๋ด์ฉ์ OpenVINO ๋ฐํ์์ ์ฌ์ฉํ ์ถ๋ก ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฐํ์์์ ๋ชจ๋ธ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ํ๊ณ ์ฌ์ฉํ๋ ค๋ฉด XML ๋ฐ BIN ํ์ผ๊ณผ ์ ๋ ฅ ํฌ๊ธฐ, ์ ๊ทํ๋ฅผ ์ํ ๋ฐฐ์จ ๋ฑ ์ ํ๋ฆฌ์ผ์ด์ ๋ณ ์ค์ ์ด ํ์ํ๋ค๋ ์ ์ ๊ธฐ์ตํ์ธ์.
๋ฐฐํฌ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค:
- ๋ค์์ ์์ฑํ์ฌ OpenVINO ์ด๊ธฐํ
core = Core()
. - ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ๋ก๋ํฉ๋๋ค.
core.read_model()
๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. - ๋ค์์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ์ปดํ์ผํฉ๋๋ค.
core.compile_model()
ํจ์์ ๋๋ค. - ์ ๋ ฅ(์ด๋ฏธ์ง, ํ ์คํธ, ์ค๋์ค ๋ฑ)์ ์ค๋นํฉ๋๋ค.
- ๋ค์์ ์ฌ์ฉํ์ฌ ์ถ๋ก ์ ์คํํฉ๋๋ค.
compiled_model(input_data)
.
์์ธํ ๋จ๊ณ์ ์ฝ๋ ์ค๋ํซ์ OpenVINO ๋ฌธ์ ๋๋ API ํํ ๋ฆฌ์ผ์ ์ฐธ์กฐํ์ธ์.
OpenVINO YOLOv8 ๋ฒค์น๋งํฌ
YOLOv8 ์๋ ๋ฒค์น๋งํฌ๋ Ultralytics ํ์ด ์๋์ ์ ํ๋๋ฅผ ์ธก์ ํ๋ 4๊ฐ์ง ๋ชจ๋ธ ํ์์์ ์คํํ์ต๋๋ค: PyTorch, TorchScript, ONNX , OpenVINO. ๋ฒค์น๋งํฌ๋ ์ธํ
ํ๋ ์ค ๋ฐ ์ํฌ GPU์ ์ธํ
์ ์จ CPU์์ FP32 ์ ๋ฐ๋๋ก ์คํ๋์์ต๋๋ค( half=False
์ธ์).
์ฐธ๊ณ
์๋ ๋ฒค์น๋งํน ๊ฒฐ๊ณผ๋ ์ฐธ๊ณ ์ฉ์ด๋ฉฐ ์์คํ ์ ์ ํํ ํ๋์จ์ด ๋ฐ ์ํํธ์จ์ด ๊ตฌ์ฑ๊ณผ ๋ฒค์น๋งํฌ ์คํ ์์ ์ ์์คํ ํ์ฌ ์ํฌ๋ก๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
๋ชจ๋ ๋ฒค์น๋งํฌ๋ ๋ค์์์ ์คํ๋ฉ๋๋ค. openvino
Python ํจํค์ง ๋ฒ์ 2023.0.1.
์ธํ ํ๋ ์ค GPU
์ธํ ยฎ ๋ฐ์ดํฐ์ผํฐ GPU ํ๋ ์ค ์๋ฆฌ์ฆ๋ ์ธํ ๋ฆฌ์ ํธ ๋น์ฃผ์ผ ํด๋ผ์ฐ๋๋ฅผ ์ํด ์ค๊ณ๋ ๋ค์ฌ๋ค๋ฅํ๊ณ ๊ฐ๋ ฅํ ์๋ฃจ์ ์ ๋๋ค. ์ด GPU๋ ๋ฏธ๋์ด ์คํธ๋ฆฌ๋ฐ, ํด๋ผ์ฐ๋ ๊ฒ์, AI ์๊ฐ ์ถ๋ก , ๊ฐ์ ๋ฐ์คํฌํฑ ์ธํ๋ผ ์ํฌ๋ก๋ ๋ฑ ๋ค์ํ ์ํฌ๋ก๋๋ฅผ ์ง์ํฉ๋๋ค. ๊ฐ๋ฐฉํ ์ํคํ ์ฒ์ AV1 ์ธ์ฝ๋ฉ์ ๋ํ ๊ธฐ๋ณธ ์ง์์ผ๋ก ๊ณ ์ฑ๋ฅ, ํฌ๋ก์ค ์ํคํ ์ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ํ์ค ๊ธฐ๋ฐ ์ํํธ์จ์ด ์คํ์ ์ ๊ณตํ๋ ๊ฒ์ด ํน์ง์ ๋๋ค. Flex ์๋ฆฌ์ฆ GPU๋ ์ง์ ๋์ ํ์ง์ ์ต์ ํ๋์ด ๋์ ์์ ์ฑ, ๊ฐ์ฉ์ฑ ๋ฐ ํ์ฅ์ฑ์ ์ ๊ณตํฉ๋๋ค.
์๋ ๋ฒค์น๋งํฌ๋ ์ธํ ยฎ ๋ฐ์ดํฐ์ผํฐ GPU ํ๋ ์ค 170์์ FP32 ์ ๋ฐ๋๋ก ์คํ๋ฉ๋๋ค.
๋ชจ๋ธ | ํ์ | ์ํ | ํฌ๊ธฐ(MB) | mAP50-95(B) | ์ถ๋ก ์๊ฐ(ms/im) |
---|---|---|---|---|---|
YOLOv8n | PyTorch | โ | 6.2 | 0.3709 | 21.79 |
YOLOv8n | TorchScript | โ | 12.4 | 0.3704 | 23.24 |
YOLOv8n | ONNX | โ | 12.2 | 0.3704 | 37.22 |
YOLOv8n | OpenVINO | โ | 12.3 | 0.3703 | 3.29 |
YOLOv8s | PyTorch | โ | 21.5 | 0.4471 | 31.89 |
YOLOv8s | TorchScript | โ | 42.9 | 0.4472 | 32.71 |
YOLOv8s | ONNX | โ | 42.8 | 0.4472 | 43.42 |
YOLOv8s | OpenVINO | โ | 42.9 | 0.4470 | 3.92 |
YOLOv8m | PyTorch | โ | 49.7 | 0.5013 | 50.75 |
YOLOv8m | TorchScript | โ | 99.2 | 0.4999 | 47.90 |
YOLOv8m | ONNX | โ | 99.0 | 0.4999 | 63.16 |
YOLOv8m | OpenVINO | โ | 49.8 | 0.4997 | 7.11 |
YOLOv8l | PyTorch | โ | 83.7 | 0.5293 | 77.45 |
YOLOv8l | TorchScript | โ | 167.2 | 0.5268 | 85.71 |
YOLOv8l | ONNX | โ | 166.8 | 0.5268 | 88.94 |
YOLOv8l | OpenVINO | โ | 167.0 | 0.5264 | 9.37 |
YOLOv8x | PyTorch | โ | 130.5 | 0.5404 | 100.09 |
YOLOv8x | TorchScript | โ | 260.7 | 0.5371 | 114.64 |
YOLOv8x | ONNX | โ | 260.4 | 0.5371 | 110.32 |
YOLOv8x | OpenVINO | โ | 260.6 | 0.5367 | 15.02 |
์ด ํ๋ ๋ค ๊ฐ์ง ํ์(PyTorch, TorchScript, ONNX, OpenVINO)์ ๋ค์ฏ ๊ฐ์ง ๋ชจ๋ธ(YOLOv8n, YOLOv8s, YOLOv8m, YOLOv8l, YOLOv8x)์ ๋ํ ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๋ฉฐ, ๊ฐ ์กฐํฉ์ ์ํ, ํฌ๊ธฐ, mAP50-95(B) ์งํ ๋ฐ ์ถ๋ก ์๊ฐ์ ์ ๊ณตํฉ๋๋ค.
์ธํ ์ํฌ GPU
์ธํ ยฎ ์ํฌโข๋ ์ธํ ์ ์ ์ฉ GPU ์์ฅ ์ง์ถ์ ์์งํฉ๋๋ค. AMD ๋ฐ Nvidia์ ๊ฐ์ ์ ๋์ ์ธ GPU ์ ์กฐ์ ์ฒด์ ๊ฒฝ์ํ๊ธฐ ์ํด ์ค๊ณ๋ Arcโข ์๋ฆฌ์ฆ๋ ๋ ธํธ๋ถ ๋ฐ ๋ฐ์คํฌํฑ ์์ฅ์ ๋ชจ๋ ์ถฉ์กฑํฉ๋๋ค. ์ด ์๋ฆฌ์ฆ์๋ ๋ ธํธ๋ถ๊ณผ ๊ฐ์ ์ํ ๋๋ฐ์ด์ค๋ฅผ ์ํ ๋ชจ๋ฐ์ผ ๋ฒ์ ๊ณผ ๋ฐ์คํฌํฑ ์ปดํจํฐ๋ฅผ ์ํ ๋ ํฌ๊ณ ๊ฐ๋ ฅํ ๋ฒ์ ์ด ์์ต๋๋ค.
Arcโข ์๋ฆฌ์ฆ๋ ์ธ ๊ฐ์ง ์นดํ ๊ณ ๋ฆฌ๋ก ๋๋ฉ๋๋ค: Arcโข 3, Arcโข 5, Arcโข 7์ด๋ฉฐ, ๊ฐ ์ซ์๋ ์ฑ๋ฅ ์์ค์ ๋ํ๋ ๋๋ค. ๊ฐ ์นดํ ๊ณ ๋ฆฌ์๋ ์ฌ๋ฌ ๋ชจ๋ธ์ด ํฌํจ๋๋ฉฐ, GPU ๋ชจ๋ธ๋ช ์ 'M'์ ๋ชจ๋ฐ์ผ ํตํฉํ ๋ชจ๋ธ์ ์๋ฏธํฉ๋๋ค.
์ด๊ธฐ ๋ฆฌ๋ทฐ์์๋ Arcโข ์๋ฆฌ์ฆ, ํนํ ํตํฉํ A770M GPU์ ์ธ์์ ์ธ ๊ทธ๋ํฝ ์ฑ๋ฅ์ ๋ํ ์ฐฌ์ฌ๊ฐ ์ด์ด์ง๊ณ ์์ต๋๋ค. Arcโข ์๋ฆฌ์ฆ์ ์ถ์ ์ฌ๋ถ๋ ์ง์ญ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ, ๊ณง ์ถ๊ฐ ๋ชจ๋ธ์ด ์ถ์๋ ์์ ์ ๋๋ค. ์ธํ ยฎ ์ํฌโข GPU๋ ๊ฒ์๋ถํฐ ์ฝํ ์ธ ์ ์๊น์ง ๋ค์ํ ์ปดํจํ ์๊ตฌ์ฌํญ์ ๋ง๋ ๊ณ ์ฑ๋ฅ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
์๋ ๋ฒค์น๋งํฌ๋ ์ธํ ยฎ ์ํฌ 770 GPU์์ FP32 ์ ๋ฐ๋๋ก ์คํ๋ฉ๋๋ค.
๋ชจ๋ธ | ํ์ | ์ํ | ํฌ๊ธฐ(MB) | metrics/mAP50-95(B) | ์ถ๋ก ์๊ฐ(ms/im) |
---|---|---|---|---|---|
YOLOv8n | PyTorch | โ | 6.2 | 0.3709 | 88.79 |
YOLOv8n | TorchScript | โ | 12.4 | 0.3704 | 102.66 |
YOLOv8n | ONNX | โ | 12.2 | 0.3704 | 57.98 |
YOLOv8n | OpenVINO | โ | 12.3 | 0.3703 | 8.52 |
YOLOv8s | PyTorch | โ | 21.5 | 0.4471 | 189.83 |
YOLOv8s | TorchScript | โ | 42.9 | 0.4472 | 227.58 |
YOLOv8s | ONNX | โ | 42.7 | 0.4472 | 142.03 |
YOLOv8s | OpenVINO | โ | 42.9 | 0.4469 | 9.19 |
YOLOv8m | PyTorch | โ | 49.7 | 0.5013 | 411.64 |
YOLOv8m | TorchScript | โ | 99.2 | 0.4999 | 517.12 |
YOLOv8m | ONNX | โ | 98.9 | 0.4999 | 298.68 |
YOLOv8m | OpenVINO | โ | 99.1 | 0.4996 | 12.55 |
YOLOv8l | PyTorch | โ | 83.7 | 0.5293 | 725.73 |
YOLOv8l | TorchScript | โ | 167.1 | 0.5268 | 892.83 |
YOLOv8l | ONNX | โ | 166.8 | 0.5268 | 576.11 |
YOLOv8l | OpenVINO | โ | 167.0 | 0.5262 | 17.62 |
YOLOv8x | PyTorch | โ | 130.5 | 0.5404 | 988.92 |
YOLOv8x | TorchScript | โ | 260.7 | 0.5371 | 1186.42 |
YOLOv8x | ONNX | โ | 260.4 | 0.5371 | 768.90 |
YOLOv8x | OpenVINO | โ | 260.6 | 0.5367 | 19 |
์ธํ ์ ์จ CPU
์ธํ ยฎ ์ ์จยฎ CPU๋ ๋ณต์กํ๊ณ ๊น๋ค๋ก์ด ์ํฌ๋ก๋๋ฅผ ์ํด ์ค๊ณ๋ ๊ณ ์ฑ๋ฅ ์๋ฒ๊ธ ํ๋ก์ธ์์ ๋๋ค. ํ์ด์๋ ํด๋ผ์ฐ๋ ์ปดํจํ ๋ฐ ๊ฐ์ํ๋ถํฐ ์ธ๊ณต ์ง๋ฅ ๋ฐ ๋จธ์ ๋ฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ฅด๊ธฐ๊น์ง, ์ ์จยฎ CPU๋ ์ค๋๋ ์ ๋ฐ์ดํฐ ์ผํฐ์ ํ์ํ ์ฑ๋ฅ, ์์ ์ฑ ๋ฐ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
ํนํ, ์ ์จยฎ CPU๋ ๋์ ์ปดํจํ ๋ฐ๋์ ํ์ฅ์ฑ์ ์ ๊ณตํ๋ฏ๋ก ์ค์๊ธฐ์ ๊ณผ ๋๊ธฐ์ ๋ชจ๋์ ์ด์์ ์ ๋๋ค. ์ธํ ยฎ ์ ์จยฎ CPU๋ฅผ ์ ํํจ์ผ๋ก์จ ์กฐ์ง์ ๊ฐ์ฅ ๊น๋ค๋ก์ด ์ปดํจํ ์์ ์ ์์ ์๊ฒ ์ฒ๋ฆฌํ๊ณ ํ์ ์ ์ด์งํ๋ ๋์์ ๋น์ฉ ํจ์จ์ฑ๊ณผ ์ด์ ํจ์จ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
์๋ ๋ฒค์น๋งํฌ๋ 4์ธ๋ ์ธํ ยฎ ์ ์จยฎ ์ค์ผ์ผ๋ฌ๋ธ CPU์์ FP32 ์ ๋ฐ๋๋ก ์คํ๋ฉ๋๋ค.
๋ชจ๋ธ | ํ์ | ์ํ | ํฌ๊ธฐ(MB) | metrics/mAP50-95(B) | ์ถ๋ก ์๊ฐ(ms/im) |
---|---|---|---|---|---|
YOLOv8n | PyTorch | โ | 6.2 | 0.3709 | 24.36 |
YOLOv8n | TorchScript | โ | 12.4 | 0.3704 | 23.93 |
YOLOv8n | ONNX | โ | 12.2 | 0.3704 | 39.86 |
YOLOv8n | OpenVINO | โ | 12.3 | 0.3704 | 11.34 |
YOLOv8s | PyTorch | โ | 21.5 | 0.4471 | 33.77 |
YOLOv8s | TorchScript | โ | 42.9 | 0.4472 | 34.84 |
YOLOv8s | ONNX | โ | 42.8 | 0.4472 | 43.23 |
YOLOv8s | OpenVINO | โ | 42.9 | 0.4471 | 13.86 |
YOLOv8m | PyTorch | โ | 49.7 | 0.5013 | 53.91 |
YOLOv8m | TorchScript | โ | 99.2 | 0.4999 | 53.51 |
YOLOv8m | ONNX | โ | 99.0 | 0.4999 | 64.16 |
YOLOv8m | OpenVINO | โ | 99.1 | 0.4996 | 28.79 |
YOLOv8l | PyTorch | โ | 83.7 | 0.5293 | 75.78 |
YOLOv8l | TorchScript | โ | 167.2 | 0.5268 | 79.13 |
YOLOv8l | ONNX | โ | 166.8 | 0.5268 | 88.45 |
YOLOv8l | OpenVINO | โ | 167.0 | 0.5263 | 56.23 |
YOLOv8x | PyTorch | โ | 130.5 | 0.5404 | 96.60 |
YOLOv8x | TorchScript | โ | 260.7 | 0.5371 | 114.28 |
YOLOv8x | ONNX | โ | 260.4 | 0.5371 | 111.02 |
YOLOv8x | OpenVINO | โ | 260.6 | 0.5371 | 83.28 |
์ธํ ์ฝ์ด CPU
์ธํ ยฎ ์ฝ์ดยฎ ์๋ฆฌ์ฆ๋ ์ธํ ์ ๊ณ ์ฑ๋ฅ ํ๋ก์ธ์ ์ ํ๊ตฐ์ ๋๋ค. ๋ผ์ธ์ ์๋ ์ฝ์ด i3(๋ณด๊ธํ), ์ฝ์ด i5(์ค๊ธํ), ์ฝ์ด i7(๊ณ ๊ธํ) ๋ฐ ์ฝ์ด i9(๊ทนํ์ ์ฑ๋ฅ)์ด ํฌํจ๋ฉ๋๋ค. ๊ฐ ์๋ฆฌ์ฆ๋ ์ผ์์ ์ธ ์์ ๋ถํฐ ๊น๋ค๋ก์ด ์ ๋ฌธ ์ํฌ๋ก๋๊น์ง ๋ค์ํ ์ปดํจํ ์๊ตฌ ์ฌํญ๊ณผ ์์ฐ์ ์ถฉ์กฑํฉ๋๋ค. ์๋ก์ด ์ธ๋๊ฐ ๋์ฌ ๋๋ง๋ค ์ฑ๋ฅ, ์๋์ง ํจ์จ์ฑ ๋ฐ ๊ธฐ๋ฅ์ด ๊ฐ์ ๋ฉ๋๋ค.
์๋ ๋ฒค์น๋งํฌ๋ 13์ธ๋ ์ธํ ยฎ ์ฝ์ดยฎ i7-13700H CPU์์ FP32 ์ ๋ฐ๋๋ก ์คํ๋์์ต๋๋ค.
๋ชจ๋ธ | ํ์ | ์ํ | ํฌ๊ธฐ(MB) | metrics/mAP50-95(B) | ์ถ๋ก ์๊ฐ(ms/im) |
---|---|---|---|---|---|
YOLOv8n | PyTorch | โ | 6.2 | 0.4478 | 104.61 |
YOLOv8n | TorchScript | โ | 12.4 | 0.4525 | 112.39 |
YOLOv8n | ONNX | โ | 12.2 | 0.4525 | 28.02 |
YOLOv8n | OpenVINO | โ | 12.3 | 0.4504 | 23.53 |
YOLOv8s | PyTorch | โ | 21.5 | 0.5885 | 194.83 |
YOLOv8s | TorchScript | โ | 43.0 | 0.5962 | 202.01 |
YOLOv8s | ONNX | โ | 42.8 | 0.5962 | 65.74 |
YOLOv8s | OpenVINO | โ | 42.9 | 0.5966 | 38.66 |
YOLOv8m | PyTorch | โ | 49.7 | 0.6101 | 355.23 |
YOLOv8m | TorchScript | โ | 99.2 | 0.6120 | 424.78 |
YOLOv8m | ONNX | โ | 99.0 | 0.6120 | 173.39 |
YOLOv8m | OpenVINO | โ | 99.1 | 0.6091 | 69.80 |
YOLOv8l | PyTorch | โ | 83.7 | 0.6591 | 593.00 |
YOLOv8l | TorchScript | โ | 167.2 | 0.6580 | 697.54 |
YOLOv8l | ONNX | โ | 166.8 | 0.6580 | 342.15 |
YOLOv8l | OpenVINO | โ | 167.0 | 0.0708 | 117.69 |
YOLOv8x | PyTorch | โ | 130.5 | 0.6651 | 804.65 |
YOLOv8x | TorchScript | โ | 260.8 | 0.6650 | 921.46 |
YOLOv8x | ONNX | โ | 260.4 | 0.6650 | 526.66 |
YOLOv8x | OpenVINO | โ | 260.6 | 0.6619 | 158.73 |
๊ฒฐ๊ณผ ์ฌํ
๋ชจ๋ ๋ด๋ณด๋ด๊ธฐ ํ์์์ ์์ Ultralytics ๋ฒค์น๋งํฌ๋ฅผ ์ฌํํ๋ ค๋ฉด ๋ค์ ์ฝ๋๋ฅผ ์คํํ์ธ์:
์
๋ฒค์น๋งํน ๊ฒฐ๊ณผ๋ ์์คํ
์ ์ ํํ ํ๋์จ์ด ๋ฐ ์ํํธ์จ์ด ๊ตฌ์ฑ๊ณผ ๋ฒค์น๋งํฌ๋ฅผ ์คํํ ๋น์ ์์คํ
์ ํ์ฌ ์์
๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์๋ค๋ ์ ์ ์ ์ํ์ธ์. ๊ฐ์ฅ ์ ๋ขฐํ ์ ์๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ๋ ค๋ฉด ๋ง์ ์์ ์ด๋ฏธ์ง๊ฐ ํฌํจ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ์ธ์. data='coco128.yaml' (128 val images), or
data='coco.yaml'` (5000๊ฐ val ์ด๋ฏธ์ง).
๊ฒฐ๋ก
๋ฒค์น๋งํน ๊ฒฐ๊ณผ๋ YOLOv8 ๋ชจ๋ธ์ OpenVINO ํ์์ผ๋ก ๋ด๋ณด๋ผ ๋์ ์ด์ ์ ๋ช ํํ๊ฒ ๋ณด์ฌ์ค๋๋ค. ๋ค์ํ ๋ชจ๋ธ๊ณผ ํ๋์จ์ด ํ๋ซํผ์์ OpenVINO ํ์์ ๋น์ทํ ์ ํ๋๋ฅผ ์ ์งํ๋ฉด์ ์ถ๋ก ์๋ ์ธก๋ฉด์์ ๋ค๋ฅธ ํ์๋ณด๋ค ์ผ๊ด๋๊ฒ ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์์ต๋๋ค.
์ธํ ยฎ ๋ฐ์ดํฐ์ผํฐ GPU ํ๋ ์ค ์๋ฆฌ์ฆ์ ๊ฒฝ์ฐ, OpenVINO ํ์์ ์๋์ PyTorch ํ์๋ณด๋ค ๊ฑฐ์ 10๋ฐฐ ๋น ๋ฅธ ์ถ๋ก ์๋๋ฅผ ์ ๊ณตํ ์ ์์์ต๋๋ค. ์ ์จ CPU์์๋ OpenVINO ํ์์ด PyTorch ํ์๋ณด๋ค ๋ ๋ฐฐ ๋ ๋นจ๋์ต๋๋ค. ๋ชจ๋ธ์ ์ ํ๋๋ ์๋ก ๋ค๋ฅธ ํ์์์ ๊ฑฐ์ ๋์ผํ๊ฒ ์ ์ง๋์์ต๋๋ค.
์ด ๋ฒค์น๋งํฌ๋ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ๋ฐฐํฌํ๋ ๋๊ตฌ๋ก์ OpenVINO ์ ํจ์จ์ฑ์ ๊ฐ์กฐํฉ๋๋ค. ๊ฐ๋ฐ์๋ ๋ชจ๋ธ์ OpenVINO ํ์์ผ๋ก ๋ณํํจ์ผ๋ก์จ ์๋นํ ์ฑ๋ฅ ํฅ์์ ๋ฌ์ฑํ ์ ์์ผ๋ฉฐ, ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ฌํ ๋ชจ๋ธ์ ๋ ์ฝ๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
OpenVINO ์ฌ์ฉ์ ๋ํ ์์ธํ ์ ๋ณด์ ์ง์นจ์ ๊ณต์ OpenVINO ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์์ฑ 2023-11-12, ์ ๋ฐ์ดํธ 2024-04-18
์์ฑ์: glenn-jocher (9), abirami-vina (1), RizwanMunawar (1), Burhan-Q (1)