Ultralytics YOLO11 NVIDIA ์์ DeepStream SDK๋ฅผ ์ฌ์ฉํ๋ Jetson ๋ฐ TensorRT
Watch: ๋ค์์ ์ฌ์ฉํ์ฌ Jetson Nano์์ DeepStream SDK๋ก ์ฌ๋ฌ ์คํธ๋ฆผ์ ์คํํ๋ ๋ฐฉ๋ฒ Ultralytics YOLO11
์ด ์ข ํฉ ๊ฐ์ด๋๋ DeepStream SDK๋ฅผ ์ฌ์ฉํ์ฌ NVIDIA Jetson ์ฅ์น์ Ultralytics YOLO11 ์ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ์๋ด์ TensorRT ์ ์ ๊ณตํฉ๋๋ค. ์ฌ๊ธฐ์๋ TensorRT ์ ์ฌ์ฉํ์ฌ Jetson ํ๋ซํผ์์ ์ถ๋ก ์ฑ๋ฅ์ ์ต๋ํํฉ๋๋ค.
์ฐธ๊ณ
์ด ๊ฐ์ด๋๋ JP5.1.3์ JetPack ๋ฆด๋ฆฌ์ฆ๋ฅผ ์คํํ๋ NVIDIA Jetson Orin NX 16GB ๊ธฐ๋ฐ์ Seeed Studio ์ฌ์ปดํจํฐ J4012์ JP4.6.4์ JetPack ๋ฆด๋ฆฌ์ฆ๋ฅผ ์คํํ๋ NVIDIA Jetson Nano 4GB ๊ธฐ๋ฐ์ Seeed Studio ์ฌ์ปดํจํฐ J1020 v2๋ก ํ ์คํธ๋์์ต๋๋ค. ์ต์ ๋ฐ ๋ ๊ฑฐ์๋ฅผ ํฌํจํ ๋ชจ๋ NVIDIA Jetson ํ๋์จ์ด ๋ผ์ธ์ ์์ ์๋ํ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค.
NVIDIA DeepStream์ด๋ ๋ฌด์์ธ๊ฐ์?
NVIDIA์ DeepStream SDK๋ AI ๊ธฐ๋ฐ ๋ฉํฐ ์ผ์ ์ฒ๋ฆฌ, ๋น๋์ค, ์ค๋์ค ๋ฐ ์ด๋ฏธ์ง ์ดํด๋ฅผ ์ํ GStreamer ๊ธฐ๋ฐ์ ์๋ฒฝํ ์คํธ๋ฆฌ๋ฐ ๋ถ์ ํดํท์ ๋๋ค. IVA(์ง๋ฅํ ๋น๋์ค ๋ถ์) ์ฑ๊ณผ ์๋น์ค๋ฅผ ๊ตฌ์ถํ๋ ๋น์ AI ๊ฐ๋ฐ์, ์ํํธ์จ์ด ํํธ๋, ์คํํธ์ ๋ฐ OEM์ ์ด์์ ์ ๋๋ค. ์ด์ ์ ๊ฒฝ๋ง๊ณผ ์ถ์ , ๋น๋์ค ์ธ์ฝ๋ฉ/๋์ฝ๋ฉ, ๋น๋์ค ๋ ๋๋ง๊ณผ ๊ฐ์ ๊ธฐํ ๋ณต์กํ ์ฒ๋ฆฌ ์์ ์ ํตํฉํ๋ ์คํธ๋ฆผ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ๋ง๋ค ์ ์์ต๋๋ค. ์ด๋ฌํ ํ์ดํ๋ผ์ธ์ ํตํด ๋น๋์ค, ์ด๋ฏธ์ง, ์ผ์ ๋ฐ์ดํฐ์ ๋ํ ์ค์๊ฐ ๋ถ์์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ฅ์คํธ๋ฆผ์ ๋ฉํฐ ํ๋ซํผ ์ง์์ ์จํ๋ ๋ฏธ์ค, ์ฃ์ง, ํด๋ผ์ฐ๋์์ ๋น์ AI ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์๋น์ค๋ฅผ ๋ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๊ฐ๋ฐํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
์ ์ ์กฐ๊ฑด
์ด ๊ฐ์ด๋๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ ์ ๋จผ์ ํ์ธํ์ธ์:
- ์ค๋ช ์ ๋น ๋ฅธ ์์ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค: NVIDIA Ultralytics YOLO11 ์ ์ฌ์ฉํ์ฌ NVIDIA Jetson ์ฅ์น๋ฅผ ์ค์ ํ์ญ์์ค. Ultralytics YOLO11
-
JetPack ๋ฒ์ ์ ๋ฐ๋ผ DeepStream SDK๋ฅผ ์ค์นํฉ๋๋ค.
- JetPack 4.6.4์ ๊ฒฝ์ฐ, DeepStream 6.0.1์ ์ค์นํฉ๋๋ค .
- JetPack 5.1.3์ ๊ฒฝ์ฐ, DeepStream 6.3์ ์ค์นํฉ๋๋ค.
ํ
์ด ๊ฐ์ด๋์์๋ Jetson ์ฅ์น์ DeepStream SDK๋ฅผ ์ค์นํ๋ Debian ํจํค์ง ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ต๋๋ค. ๋ํ Jetson์ DeepStream SDK(์์นด์ด๋ธ) ๋ฅผ ๋ฐฉ๋ฌธํ์ฌ ๋ ๊ฑฐ์ ๋ฒ์ ์ DeepStream์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
๋ฅ์คํธ๋ฆผ ๊ตฌ์ฑ YOLO11
์ฌ๊ธฐ์์๋ YOLO ๋ชจ๋ธ์ ๋ํ NVIDIA DeepStream SDK ์ง์์ ํฌํจํ๋ marcoslucianops/DeepStream-Yolo GitHub ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๊ธฐ์ฌํด ์ฃผ์ marcoslucianops์ ๋ ธ๊ณ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
-
์ค์น ์ข ์์ฑ
-
๋ค์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํฉ๋๋ค.
-
YOLO11 ๋ฆด๋ฆฌ์ค์์ ์ํ๋ ํ์ง ๋ชจ๋ธ(.pt)์ Ultralytics YOLO11 ๋ค์ด๋ก๋ํ์ธ์. ์ฌ๊ธฐ์๋ yolov8s.pt๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฐธ๊ณ
์ฌ์ฉ์ ์ง์ ํ๋ จ๋ YOLO11 ๋ชจ๋ธ์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
-
๋ชจ๋ธ๋ก ๋ณํ ONNX
์ ๋ช ๋ น์ ์๋ ์ธ์๋ฅผ ์ ๋ฌํฉ๋๋ค.
DeepStream 6.0.1์ ๊ฒฝ์ฐ, ์ต์ 12 ์ดํ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ ์ต์ ์ 16์ ๋๋ค.
์ถ๋ก ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด(๊ธฐ๋ณธ๊ฐ: 640) ๋ค์๊ณผ ๊ฐ์ด ํ์ธ์.
1280์ ์์ ๋๋ค:
ONNX ๋ชจ๋ธ์ ๋จ์ํํ๋ ค๋ฉด (DeepStream >= 6.0)
๋์ ๋ฐฐ์น ํฌ๊ธฐ ์ฌ์ฉ(DeepStream >= 6.1)
์ ์ ๋ฐฐ์น ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด(์: ๋ฐฐ์น ํฌ๊ธฐ = 4) ๋ค์๊ณผ ๊ฐ์ด ํ์ธ์.
-
์ค์น๋ JetPack ๋ฒ์ ์ ๋ฐ๋ผ CUDA ๋ฒ์ ์ ์ค์ ํฉ๋๋ค.
JetPack 4.6.4์ ๊ฒฝ์ฐ:
JetPack 5.1.3์ ๊ฒฝ์ฐ:
-
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ปดํ์ผ
-
ํธ์ง
config_infer_primary_yoloV8.txt
ํ์ผ(80๊ฐ์ ํด๋์ค๊ฐ ์๋ YOLOv8s ์ ๊ฒฝ์ฐ) -
ํธ์ง
deepstream_app_config
ํ์ผ -
๋ค์์์ ๋์์ ์์ค๋ฅผ ๋ณ๊ฒฝํ ์๋ ์์ต๋๋ค.
deepstream_app_config
ํ์ผ์ ์ ํํฉ๋๋ค. ์ฌ๊ธฐ์ ๊ธฐ๋ณธ ๋น๋์ค ํ์ผ์ด ๋ก๋๋ฉ๋๋ค.
์ถ๋ก ์คํ
์ฐธ๊ณ
์ถ๋ก ์ ์์ํ๊ธฐ ์ ์ TensorRT ์์ง ํ์ผ์ ์์ฑํ๋ ๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฝ๋๋ค. ๊ทธ๋ฌ๋ ์กฐ๊ธ๋ง ๊ธฐ๋ค๋ ค์ฃผ์ธ์.
ํ
๋ชจ๋ธ์ FP16์ผ๋ก ๋ณํํ๋ ค๋ ๊ฒฝ์ฐ ์ ๋ฐ๋๋ฅผ ์ค์ ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. model-engine-file=model_b1_gpu0_fp16.engine
๊ทธ๋ฆฌ๊ณ network-mode=2
๋ด๋ถ config_infer_primary_yoloV8.txt
INT8 ๋ณด์
์ถ๋ก ์ INT8 ์ ๋ฐ๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ์ผ ํฉ๋๋ค.
-
์ค์
OPENCV
ํ๊ฒฝ ๋ณ์ -
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ปดํ์ผ
-
COCO ๋ฐ์ดํฐ ์ธํธ์ ๊ฒฝ์ฐ val2017๋ฅผ ํด๋ฆญํ๊ณ ์ถ์ถํ ๋ค์
DeepStream-Yolo
ํด๋ -
๋ณด์ ์ด๋ฏธ์ง๋ฅผ ์ํ ์ ๋๋ ํฐ๋ฆฌ ๋ง๋ค๊ธฐ
-
๋ค์์ ์คํํ์ฌ COCO ๋ฐ์ดํฐ ์ธํธ์์ 1000๊ฐ์ ๋ฌด์์ ์ด๋ฏธ์ง๋ฅผ ์ ํํ์ฌ ๋ณด์ ์ ์คํํฉ๋๋ค.
์ฐธ๊ณ
NVIDIA ๋ ์ข์ ์ ํ๋๋ฅผ ์ป๊ธฐ ์ํด ์ต์ 500๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ๊ถ์ฅํฉ๋๋ค. ์ด ์์์๋ ๋ ๋์ ์ ํ๋๋ฅผ ์ป๊ธฐ ์ํด 1000๊ฐ์ ์ด๋ฏธ์ง๊ฐ ์ ํ๋์์ต๋๋ค(์ด๋ฏธ์ง๊ฐ ๋ง์์๋ก ์ ํ๋๊ฐ ๋์์ง). ๋จธ๋ฆฌ -1000์์ ์ค์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ด๋ฏธ์ง๊ฐ 2000๊ฐ์ธ ๊ฒฝ์ฐ -2000์ผ๋ก ์ค์ ํฉ๋๋ค. ์ด ๊ณผ์ ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
-
์์ฑํ๊ธฐ
calibration.txt
ํ์ผ์ ์ ํํ ๋ชจ๋ ์ด๋ฏธ์ง๊ฐ ํฌํจ๋ -
ํ๊ฒฝ ๋ณ์ ์ค์
์ฐธ๊ณ
INT8_CALIB_BATCH_SIZE ๊ฐ์ด ๋์์๋ก ์ ํ๋๊ฐ ๋์์ง๊ณ ๋ณด์ ์๋๊ฐ ๋นจ๋ผ์ง๋๋ค. GPU ๋ฉ๋ชจ๋ฆฌ์ ๋ง๊ฒ ์ค์ ํ์ธ์.
-
์ ๋ฐ์ดํธ
config_infer_primary_yoloV8.txt
ํ์ผ์์
To
์ถ๋ก ์คํ
๋ฉํฐ์คํธ๋ฆผ ์ค์
๋จ์ผ ๋ฅ์คํธ๋ฆผ ์ ํ๋ฆฌ์ผ์ด์
์์ ์ฌ๋ฌ ์คํธ๋ฆผ์ ์ค์ ํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ฅ์คํธ๋ฆผ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ณ๊ฒฝํ๋ฉด ๋ฉ๋๋ค. deepstream_app_config.txt
ํ์ผ
-
์ํ๋ ์คํธ๋ฆผ ์์ ๋ฐ๋ผ ํ๊ณผ ์ด์ ๋ณ๊ฒฝํ์ฌ ๊ทธ๋ฆฌ๋ ํ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์คํธ๋ฆผ์ด 4๊ฐ์ธ ๊ฒฝ์ฐ ํ 2๊ฐ์ ์ด 2๊ฐ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
-
์ค์
num-sources=4
๋ฅผ ํด๋ฆญํ๊ณuri
4๊ฐ์ ์คํธ๋ฆผ ์ค
์ถ๋ก ์คํ
๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ
YOLOv8s ๋ค์ ํ๋ TensorRT ๋ชจ๋ธ์ ๋ค์ํ ์ ๋ฐ๋ ์์ค(์ ๋ ฅ ํฌ๊ธฐ 640x640)์์ NVIDIA Jetson Orin NX 16GB์ ์ฑ๋ฅ์ ์์ฝํ ๊ฒ์ ๋๋ค.
๋ชจ๋ธ ์ด๋ฆ | ์ ๋ฐ๋ | ์ถ๋ก ์๊ฐ(ms/im) | FPS |
---|---|---|---|
YOLOv8s | FP32 | 15.63 | 64 |
FP16 | 7.94 | 126 | |
INT8 | 5.53 | 181 |
๊ฐ์ฌ
์ด ๊ฐ์ด๋๋ ์๋ ์คํ๋์ค์ ์น๊ตฌ์ธ ๋ฝ์จํ์ ์ผ๋ ์ธ์ด ์ฒ์์ ๋ง๋ค์์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
NVIDIA Jetson ์ฅ์น์์ Ultralytics YOLO11 ์ ์ค์ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํฉ๋๊น?
NVIDIA Jetson ์ฅ์น์์ Ultralytics YOLO11 ์ ์ค์ ํ๋ ค๋ฉด ๋จผ์ ์ฌ์ฉ ์ค์ธ JetPack ๋ฒ์ ๊ณผ ํธํ๋๋ DeepStream SDK๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค. ๋น ๋ฅธ ์์ ๊ฐ์ด๋ ์ ๋จ๊ณ๋ณ ๊ฐ์ด๋์ ๋ฐ๋ผ YOLO11 ๋ฐฐํฌ๋ฅผ ์ํด NVIDIA Jetson์ ๊ตฌ์ฑํฉ๋๋ค.
NVIDIA Jetson์์ YOLO11 ๊ณผ ํจ๊ป TensorRT ์ ์ฌ์ฉํ๋ฉด ์ด๋ค ์ด์ ์ด ์๋์?
YOLO11 ๊ณผ ํจ๊ป TensorRT ์ ์ฌ์ฉํ๋ฉด ์ถ๋ก ์ ์ํ ๋ชจ๋ธ์ ์ต์ ํํ์ฌ ์ง์ฐ ์๊ฐ์ ํฌ๊ฒ ์ค์ด๊ณ ์ฒ๋ฆฌ๋์ ํฅ์์ํต๋๋ค. NVIDIA Jetson ์ฅ์น์์ TensorRT ๋ ์ด์ด ์ตํฉ, ์ ๋ฐ ๋ณด์ ๋ฐ ์ปค๋ ์๋ ํ๋์ ํตํด ๊ณ ์ฑ๋ฅ, ์ ์ง์ฐ ๋ฅ ๋ฌ๋ ์ถ๋ก ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์คํํ ์ ์์ผ๋ฉฐ, ํนํ ๋น๋์ค ๋ถ์ ๋ฐ ์์จ ๋จธ์ ๊ณผ ๊ฐ์ ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉํฉ๋๋ค.
๋ค๋ฅธ NVIDIA Jetson ํ๋์จ์ด์์ DeepStream SDK๋ฅผ ์ฌ์ฉํ์ฌ Ultralytics YOLO11 ์คํํ ์ ์์ต๋๊น?
์, ๋ฐฐํฌ ๊ฐ์ด๋ Ultralytics YOLO11 ์ DeepStream SDK ๋ฐ TensorRT ๋ ์ ์ฒด NVIDIA Jetson ๋ผ์ธ์ ์์ ํธํ๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ ์ ฏํฉ 5.1.3์ด ์ค์น๋ ์ ฏ์จ ์ค๋ฆฐ NX 16GB ๋ฐ ์ ฏํฉ 4.6.4๊ฐ ์ค์น๋ ์ ฏ์จ ๋๋ ธ 4GB์ ๊ฐ์ ์ฅ์น๊ฐ ํฌํจ๋ฉ๋๋ค. ์์ธํ ๋จ๊ณ๋ YOLO11 ์ DeepStream ๊ตฌ์ฑ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
YOLO11 ๋ชจ๋ธ์ DeepStream์ฉ ONNX ๋ชจ๋ธ๋ก ๋ณํํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
YOLO11 ๋ชจ๋ธ์ DeepStream๊ณผ ํจ๊ป ๋ฐฐํฌํ ์ ์๋๋ก ONNX ํ์์ผ๋ก ๋ณํํ๋ ค๋ฉด utils/export_yoloV8.py
์คํฌ๋ฆฝํธ์์ DeepStream-Yolo ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์ฅํฉ๋๋ค.
๋ค์์ ๋ช ๋ น์ด ์์์ ๋๋ค:
๋ชจ๋ธ ๋ณํ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ชจ๋ธ ๋ด๋ณด๋ด๊ธฐ ์น์ ์ ์ฐธ์กฐํ์ธ์.
NVIDIA ์์ YOLO ์ ์ฑ๋ฅ ๋ฒค์น๋งํฌ๋ ์ด๋ป๊ฒ ๋๋์?
NVIDIA Jetson Orin NX 16GB์ YOLO11 ๋ชจ๋ธ์ ์ฑ๋ฅ์ TensorRT ์ ๋ฐ๋ ์์ค์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์๋ฅผ ๋ค์ด, YOLOv8s ๋ชจ๋ธ์ ๋ฌ์ฑํฉ๋๋ค:
- FP32 ์ ๋ฐ๋: 15.63ms/im, 64 FPS
- FP16 ์ ๋ฐ๋: 7.94ms/im, 126 FPS
- INT8 ์ ๋ฐ๋: 5.53ms/im, 181 FPS
TensorRT์ด ๋ฒค์น๋งํฌ๋ NVIDIA Jetson ํ๋์จ์ด์์ ์ต์ ํ๋ YOLO11 ๋ชจ๋ธ ์ฌ์ฉ์ ํจ์จ์ฑ๊ณผ ์ฑ๋ฅ์ ๊ฐ์กฐํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ ์น์ ์ ์ฐธ์กฐํ์ธ์.