Intel OpenVINO 내보내기#
이 가이드에서는 YOLO26 모델을 OpenVINO 형식으로 내보내는 방법을 다룹니다. 이 형식은 최대 3배의 CPU 속도 향상을 제공하고 Intel GPU 및 NPU 하드웨어에서 YOLO 추론을 가속할 수 있습니다.
OpenVINO는 Open Visual Inference & Neural Network Optimization toolkit의 약칭으로, AI 추론 모델을 최적화하고 배포하기 위한 종합 툴킷입니다. 이름에 Visual이 포함되어 있지만 OpenVINO는 언어, 오디오, 시계열 등 다양한 추가 작업도 지원합니다.
시청: 더 빠른 추론을 위해 Ultralytics YOLO26을 Intel OpenVINO 형식으로 내보내는 방법 🚀
지원 작업#
OpenVINO 내보내기는 Ultralytics의 7가지 작업을 모두 지원합니다. 시맨틱 분할과 깊이 추정은 해당 헤드를 제공하는 유일한 제품군인 YOLO26에서만 사용할 수 있습니다.
설치#
다음 명령어로 OpenVINO 내보내기 종속 항목을 설치하세요.
pip install "ultralytics[export-openvino]"이러한 종속 항목은 ultralytics[export]에도 포함되어 있으며 내보내기 시 필요한 경우 자동으로 설치됩니다.
사용 예시#
OpenVINO 형식은 내보내기, 예측, 검증 모드를 지원합니다. 모델을 내보낸 다음 내보낸 모델을 불러와 추론을 실행하거나 Intel CPU, 통합/독립 GPU 또는 NPU에서 정확도를 검증하세요.
from ultralytics import YOLO
# YOLO26 모델 로드
model = YOLO("yolo26n.pt")
# 모델을 OpenVINO 형식으로 내보내기
model.export(format="openvino") # creates 'yolo26n_openvino_model/'from ultralytics import YOLO
# 내보낸 OpenVINO 모델 불러오기
model = YOLO("yolo26n_openvino_model/")
# 추론 실행
results = model("https://ultralytics.com/images/bus.jpg")
# 특정 디바이스에서 추론 실행, 사용 가능한 디바이스: ["intel:gpu", "intel:npu", "intel:cpu"]
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")from ultralytics import YOLO
# 내보낸 OpenVINO 모델 불러오기
model = YOLO("yolo26n_openvino_model/")
# COCO8 데이터셋에서 정확도 검증
metrics = model.val(data="coco8.yaml")내보내기 인수#
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
format | str | 'openvino' | 내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다. |
imgsz | int 또는 tuple | 640 | 모델 입력에 사용할 이미지 크기입니다. 정사각형 이미지에는 정수를 사용하고, 특정 크기에는 튜플 (height, width)을 사용할 수 있습니다. |
quantize | int 또는 str | None | 양자화 정밀도: 16(FP16) 또는 8(INT8/PTQ, 보정용 data/fraction 필요)입니다. 32/미설정은 FP32입니다. 더 이상 사용되지 않는 half/int8 플래그를 대체합니다. |
dynamic | bool | False | 동적 입력 크기를 허용하여 다양한 이미지 크기를 유연하게 처리할 수 있습니다. |
nms | bool, 선택 사항 | None | 원시 출력(None, 기본값), 내장 NMS(True) 또는 NMS가 없는 head(False)를 선택합니다. |
batch | int | 1 | 내보내기 모델의 배치 추론 크기 또는 predict 모드에서 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. |
data | str | None | 양자화에 필수적인 데이터셋 YAML 경로입니다. 분류 작업의 경우 데이터셋 디렉터리 또는 기본 제공 데이터셋 이름을 사용합니다. quantize=8이 지정되지 않으면 Ultralytics가 모델 작업에 맞는 기본 보정 데이터셋을 선택합니다. |
fraction | float, int 또는 list | 1.0 | 비율, 이미지 수 또는 [train, val, test] 비율/개수로 지정하는 보정 하위 집합입니다. 항목이 두 개인 목록에서는 test이 전체로 설정되고, 0는 건너뜁니다. |
device | str | None | 내보내기에 사용할 디바이스를 지정합니다. CPU는 device=cpu, Apple 실리콘용 MPS는 device=mps입니다. |
내보내기 프로세스에 관한 자세한 내용은 내보내기에 관한 Ultralytics 문서 페이지를 참조하세요.
OpenVINO™는 대부분의 Intel® 프로세서와 호환되지만 최적의 성능을 보장하려면 다음을 수행하세요.
-
OpenVINO™ 지원 확인 Intel 호환성 목록을 참조하여 사용 중인 Intel® 칩이 OpenVINO™에서 공식 지원되는지 확인하세요.
-
가속기 확인 Intel 하드웨어 가이드를 참조하여 프로세서에 통합 NPU(신경망 처리 장치) 또는 GPU(통합 GPU)가 포함되어 있는지 확인하세요.
-
최신 드라이버 설치 칩에서 NPU 또는 GPU를 지원하지만 OpenVINO™가 이를 감지하지 못하는 경우 관련 드라이버를 설치하거나 업데이트해야 할 수 있습니다. 전체 가속 기능을 사용하려면 드라이버 설치 안내를 따르세요.
이 세 단계를 따르면 Intel® 하드웨어에서 OpenVINO™가 최적으로 실행되도록 할 수 있습니다.
OpenVINO의 이점#
- 성능: OpenVINO는 Intel CPU, 통합 및 독립 GPU, FPGA의 성능을 활용하여 고성능 추론을 제공합니다.
- 이기종 실행 지원: OpenVINO는 한 번 작성한 코드를 지원되는 모든 Intel 하드웨어(CPU, GPU, FPGA, VPU 등)에 배포할 수 있는 API를 제공합니다.
- Model Optimizer: OpenVINO는 PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle, Caffe와 같은 인기 있는 딥러닝 프레임워크의 모델을 가져오고 변환 및 최적화하는 Model Optimizer를 제공합니다.
- 사용 편의성: 이 툴킷에는 툴킷의 다양한 측면을 설명하는 여러 튜토리얼 노트북(YOLO26 최적화 포함)이 제공됩니다.
OpenVINO 내보내기 구조#
모델을 OpenVINO 형식으로 내보내면 다음 항목이 포함된 디렉터리가 생성됩니다.
- XML 파일: 네트워크 토폴로지를 설명합니다.
- BIN 파일: 가중치와 편향의 바이너리 데이터를 포함합니다.
- 메타데이터 파일:
metadata.yaml에는 클래스 이름, 이미지 크기, 작업 등 모델 메타데이터가 저장되며, Ultralytics가 모델을 불러올 때 이를 읽습니다.
이러한 파일을 사용하여 OpenVINO Runtime으로 추론을 실행할 수 있습니다.
배포에서 OpenVINO 내보내기 사용하기#
모델을 OpenVINO 형식으로 성공적으로 내보낸 후에는 추론을 실행하는 두 가지 주요 방법이 있습니다.
-
고수준 API를 제공하고 OpenVINO Runtime을 래핑하는
ultralytics패키지를 사용합니다. -
추론 동작을 더 고급 방식으로 제어하거나 사용자 지정하려면 네이티브
openvino패키지를 사용합니다.
Ultralytics를 사용한 추론#
ultralytics 패키지의 predict 메서드를 사용하면 내보낸 OpenVINO 모델로 손쉽게 추론을 실행할 수 있습니다. device 인수를 사용하여 대상 디바이스(예: intel:gpu, intel:npu, intel:cpu)도 지정할 수 있습니다.
from ultralytics import YOLO
# 내보낸 OpenVINO 모델 불러오기
ov_model = YOLO("yolo26n_openvino_model/") # 내보낸 OpenVINO 모델의 경로
# 내보낸 모델로 추론 실행
ov_model.predict(device="intel:gpu") # 추론을 실행할 디바이스 지정이 방법은 추론 파이프라인을 완전히 제어할 필요가 없는 빠른 프로토타이핑이나 배포에 적합합니다.
OpenVINO Runtime을 사용한 추론#
OpenVINO Runtime은 지원되는 모든 Intel 하드웨어에서 추론을 위한 통합 API를 제공합니다. 또한 Intel 하드웨어 전반의 로드 밸런싱 및 비동기 실행과 같은 고급 기능도 지원합니다. 추론 실행에 관한 자세한 내용은 YOLO26 노트북을 참조하세요.
Runtime에서 모델을 올바르게 설정하고 사용하려면 XML 및 BIN 파일과 입력 크기, 정규화 스케일 팩터 등 애플리케이션별 설정이 필요합니다.
배포 애플리케이션에서는 일반적으로 다음 단계를 수행합니다.
core = Core()을 생성하여 OpenVINO를 초기화합니다.core.read_model()메서드를 사용하여 모델을 불러옵니다.core.compile_model()함수를 사용하여 모델을 컴파일합니다.- 입력(이미지, 텍스트, 오디오 등)을 준비합니다.
compiled_model(input_data)을 사용하여 추론을 실행합니다.
더 자세한 단계와 코드 예제는 OpenVINO 문서 또는 API 튜토리얼을 참조하세요.
OpenVINO YOLO26 벤치마크#
Ultralytics 팀은 다양한 모델 형식과 정밀도에 걸쳐 YOLO26을 벤치마크하고, OpenVINO와 호환되는 여러 Intel 디바이스에서 속도와 정확도를 평가했습니다.
-
아래 벤치마크 결과는 참고용이며, 시스템의 정확한 하드웨어 및 소프트웨어 구성과 벤치마크 실행 당시의 시스템 작업 부하에 따라 달라질 수 있습니다.
-
모든 벤치마크는
openvinoPython 패키지 버전 2026.2.1로 실행했습니다. -
NPU에서 YOLO26 모델은 2xxV 시리즈 및 3xx 시리즈 이상을 탑재한 Intel® Core™ Ultra™ 시스템에서만 지원됩니다.
Intel® Core™ Ultra#
Intel® Core™ Ultra™ 시리즈는 게이머와 크리에이터부터 AI를 활용하는 전문가까지 현대 사용자의 변화하는 요구를 충족하도록 설계된 고성능 컴퓨팅의 새로운 기준입니다. 이 차세대 제품군은 기존 CPU 시리즈를 넘어 강력한 CPU 코어, 고성능 통합 GPU 기능, 전용 신경망 처리 장치(NPU)를 단일 칩에 결합하여 다양하고 집약적인 컴퓨팅 작업에 통합 솔루션을 제공합니다.
Intel® Core Ultra™ 아키텍처의 핵심은 기존 처리 작업, GPU 가속 작업, AI 기반 작업 전반에서 뛰어난 성능을 구현하는 하이브리드 설계입니다. NPU를 탑재하여 온디바이스 AI 추론 기능을 강화하고, 다양한 애플리케이션에서 더 빠르고 효율적인 머신러닝 및 데이터 처리를 지원합니다.
Core Ultra™ 제품군에는 다양한 성능 요구에 맞춘 모델이 포함되어 있으며, 에너지 효율적인 설계부터 "H"로 표시되는 고전력 모델까지 선택할 수 있습니다. 고전력 모델은 강력한 컴퓨팅 성능이 필요한 노트북과 소형 폼 팩터에 적합합니다. 제품군 전반에서 CPU, GPU, NPU 통합의 시너지 효과를 통해 뛰어난 효율성, 응답성, 멀티태스킹 성능을 누릴 수 있습니다.
Intel의 지속적인 혁신의 일환인 Core Ultra™ 시리즈는 미래를 대비하는 컴퓨팅의 새로운 표준을 제시합니다. 다양한 모델이 제공되고 앞으로 더 많은 모델이 출시될 예정인 이 시리즈는 차세대 지능형 AI 강화 디바이스를 위한 최첨단 솔루션을 제공하려는 Intel의 노력을 보여줍니다.
아래 벤치마크는 Intel® Core™ Ultra™ X7 358H, Intel® Core™ Ultra™ 7 258V, Intel® Core™ Ultra™ 7 155H에서 FP32, FP16, INT8 정밀도로 실행했습니다.
Intel® Core™ Ultra™ X7 358H#
상세 벤치마크 결과
| 모델 | 형식 | 정밀도 | 상태 | 크기(MB) | metrics/mAP50-95(B) | 추론 시간(ms/이미지) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch(CPU) | FP32 | ✅ | 5.3 | 0.4765 | 29.28 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.7 | 0.4762 | 4.09 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4762 | 4.03 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 4.24 |
| YOLO26s | PyTorch(CPU) | FP32 | ✅ | 19.5 | 0.5703 | 59.32 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 5.08 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.7 | 0.5616 | 5.14 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 4.47 |
| YOLO26m | PyTorch(CPU) | FP32 | ✅ | 42.2 | 0.6196 | 143.21 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6166 | 7.1 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6166 | 7.06 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.61 |
| YOLO26l | PyTorch(CPU) | FP32 | ✅ | 50.7 | 0.6215 | 181.16 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6205 | 8.45 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6205 | 8.49 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 6.25 |
| YOLO26x | PyTorch(CPU) | FP32 | ✅ | 113.2 | 0.6512 | 379.75 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.3 | 0.6568 | 13.03 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 12.98 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 8.74 |
Intel® Core™ Ultra™ 7 258V#
상세 벤치마크 결과
| 모델 | 형식 | 정밀도 | 상태 | 크기(MB) | metrics/mAP50-95(B) | 추론 시간(ms/이미지) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch(CPU) | FP32 | ✅ | 5.3 | 0.4765 | 27.33 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4764 | 3.33 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4764 | 3.34 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 3.46 |
| YOLO26s | PyTorch(CPU) | FP32 | ✅ | 19.5 | 0.5703 | 60.2 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 4.66 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 4.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 3.99 |
| YOLO26m | PyTorch(CPU) | FP32 | ✅ | 42.2 | 0.6196 | 152.87 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6168 | 9.03 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6168 | 8.98 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.7 |
| YOLO26l | PyTorch(CPU) | FP32 | ✅ | 50.7 | 0.6215 | 201.57 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6203 | 11.32 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6203 | 11.36 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 7.45 |
| YOLO26x | PyTorch(CPU) | FP32 | ✅ | 113.2 | 0.6512 | 431.04 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6568 | 19.08 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 19.63 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 13.69 |
Intel® Core™ Ultra™ 7 155H#
상세 벤치마크 결과
| 모델 | 형식 | 정밀도 | 상태 | 크기(MB) | metrics/mAP50-95(B) | 추론 시간(ms/이미지) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch(CPU) | FP32 | ✅ | 5.3 | 0.4765 | 33.19 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4758 | 9.13 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4758 | 9.07 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4573 | 5.79 |
| YOLO26s | PyTorch(CPU) | FP32 | ✅ | 19.5 | 0.5703 | 70.92 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 16.37 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 16.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.545 | 9.27 |
| YOLO26m | PyTorch(CPU) | FP32 | ✅ | 42.2 | 0.6196 | 192.45 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6167 | 34.47 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6167 | 35.71 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6039 | 15.46 |
| YOLO26l | PyTorch(CPU) | FP32 | ✅ | 50.7 | 0.6215 | 239.19 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.621 | 43.24 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.621 | 43.4 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5999 | 19.72 |
| YOLO26x | PyTorch(CPU) | FP32 | ✅ | 113.2 | 0.6512 | 511.89 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6552 | 79.49 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6552 | 79.45 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.642 | 34.66 |
결과 재현하기#
위의 Ultralytics 벤치마크를 모든 내보내기 형식에서 재현하려면 다음 코드를 실행하세요.
from ultralytics import YOLO
# YOLO26n PyTorch 모델 로드
model = YOLO("yolo26n.pt")
# 모든 내보내기 형식에서 COCO128 데이터셋으로 YOLO26n의 속도와 정확도 벤치마크 수행
results = model.benchmark(data="coco128.yaml")벤치마크 결과는 시스템의 정확한 하드웨어 및 소프트웨어 구성과 벤치마크 실행 당시의 시스템 작업 부하에 따라 달라질 수 있습니다. 가장 신뢰할 수 있는 결과를 얻으려면 이미지 수가 많은 데이터셋, 즉 data='coco.yaml'(검증 이미지 5000개)을 사용하세요.
결론#
벤치마크 결과는 YOLO26 모델을 OpenVINO 형식으로 내보내는 이점을 명확히 보여줍니다. 다양한 모델과 하드웨어 플랫폼에서 OpenVINO 형식은 비슷한 정확도를 유지하면서 추론 속도 면에서 다른 형식보다 일관되게 우수한 성능을 보입니다.
벤치마크 결과는 딥러닝 모델 배포 도구로서 OpenVINO의 효과를 보여줍니다. 모델을 OpenVINO 형식으로 변환하면 개발자는 상당한 성능 향상을 얻을 수 있으므로 실제 애플리케이션에 모델을 더 쉽게 배포할 수 있습니다.
OpenVINO 사용 방법과 자세한 안내는 OpenVINO 공식 문서를 참조하세요.
자주 묻는 질문#
YOLO26 모델을 OpenVINO 형식으로 내보내면 CPU 속도를 크게 높이고 Intel 하드웨어에서 GPU 및 NPU 가속을 활용할 수 있습니다. 아래 예시처럼 Python 또는 CLI를 사용해 내보낼 수 있습니다:
예제from ultralytics import YOLO # YOLO26n PyTorch 모델 로드 model = YOLO("yolo26n.pt") # 모델을 내보냅니다 model.export(format="openvino") # creates 'yolo26n_openvino_model/'자세한 내용은 내보내기 형식 문서를 참조하세요.
YOLO26 모델에 Intel의 OpenVINO 툴킷을 사용하면 다음과 같은 여러 이점을 얻을 수 있습니다:
- 성능: CPU 추론 속도를 최대 3배 높이고 Intel GPU와 NPU를 활용해 가속할 수 있습니다.
- Model Optimizer: PyTorch, TensorFlow, ONNX와 같은 널리 사용되는 프레임워크의 모델을 변환하고 최적화한 후 실행합니다.
- 사용 편의성: YOLO26 관련 노트북을 포함해 사용자가 시작하는 데 도움이 되는 다양한 튜토리얼 노트북을 이용할 수 있습니다.
- 이기종 실행: 통합 API를 사용해 다양한 Intel 하드웨어에 모델을 배포할 수 있습니다.
자세한 성능 비교는 벤치마크 섹션을 참조하세요.
YOLO26n 모델을 OpenVINO 형식으로 내보낸 후 Python 또는 CLI를 사용해 추론을 실행할 수 있습니다:
예제from ultralytics import YOLO # 내보낸 OpenVINO 모델 불러오기 ov_model = YOLO("yolo26n_openvino_model/") # 추론 실행 results = ov_model("https://ultralytics.com/images/bus.jpg")자세한 내용은 predict 모드 문서를 참조하세요.
Ultralytics YOLO26은 높은 정확도와 속도를 바탕으로 실시간 객체 탐지에 최적화되어 있습니다. 특히 OpenVINO와 함께 사용하면 YOLO26은 다음과 같은 이점을 제공합니다:
- Intel CPU에서 최대 3배 속도 향상
- Intel GPU 및 NPU에 원활하게 배포
- 다양한 내보내기 형식에서 일관되고 비슷한 정확도
심층적인 성능 분석은 다양한 하드웨어에서 수행한 상세 YOLO26 벤치마크를 확인하세요.
예. PyTorch, TorchScript, ONNX, OpenVINO를 비롯한 다양한 형식의 YOLO26 모델을 벤치마크할 수 있습니다. 선택한 데이터셋에서 벤치마크를 실행하려면 다음 코드 스니펫을 사용하세요:
예제from ultralytics import YOLO # YOLO26n PyTorch 모델 로드 model = YOLO("yolo26n.pt") # 모든 내보내기 형식에서 COCO8 데이터셋을 사용해 YOLO26n의 속도와 정확도 벤치마크 실행 results = model.benchmark(data="coco8.yaml")