Intel OpenVINO 내보내기#
본 가이드에서는 YOLO26 모델을 OpenVINO 형식으로 내보내는 방법을 다룹니다. 이를 통해 최대 3배의 CPU 속도 향상을 얻을 수 있으며, 인텔 GPU 및 NPU 하드웨어에서 YOLO 추론을 가속할 수 있습니다.
OpenVINO는 Open Visual Inference & Neural Network Optimization toolkit의 약자로, AI 추론 모델을 최적화하고 배포하기 위한 포괄적인 툴킷입니다. 이름에 Visual이 포함되어 있음에도 불구하고, OpenVINO는 언어, 오디오, 시계열 등을 포함한 다양한 추가 작업도 지원합니다.
Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀
지원되는 작업#
OpenVINO 내보는기는 모든 7가지 Ultralytics 태스크를 지원합니다. 시맨틱 세그멘테이션과 깊이 추정은 해당 헤드가 포함된 유일한 패밀리인 YOLO26에서만 사용할 수 있습니다.
사용 예제#
OpenVINO 형식은 Export, Predict, Validate 모드를 지원합니다. 모델을 내보낸 후, 내보낸 모델을 로드하여 인텔 CPU, 통합/외장 GPU 또는 NPU에서 추론을 실행하거나 정확도를 검증할 수 있습니다.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to OpenVINO format
model.export(format="openvino") # creates 'yolo26n_openvino_model/'from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
# Run inference on a specific device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Validate accuracy on the COCO8 dataset
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 | False | 정확하고 효율적인 탐지 후처리에 필수적인 NMS(Non-Maximum Suppression)를 추가합니다. |
batch | int | 1 | 내보낸 모델의 배치 추론 크기 또는 predict 모드에서 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. |
data | str | None | 양자화에 필수적인 dataset YAML의 경로입니다. 분류의 경우 데이터셋 디렉터리 또는 기본 제공 데이터셋 이름을 대신 사용합니다. quantize=8을 생략하면 Ultralytics가 모델 태스크에 맞는 기본 보정 데이터셋을 선택합니다. |
fraction | float | 1.0 | INT8 양자화 보정에 사용할 데이터셋의 비율을 지정합니다. 전체 데이터셋의 하위 집합으로 보정할 수 있게 하여 실험이나 리소스가 제한된 경우에 유용합니다. INT8을 활성화하고 지정하지 않으면 전체 데이터셋이 사용됩니다. |
내보내기 프로세스에 대한 자세한 내용은 내보내기에 관한 Ultralytics 문서 페이지를 방문하세요.
OpenVINO™는 대부분의 Intel® 프로세서와 호환되지만 최적의 성능을 보장하려면 다음을 확인하십시오.
-
OpenVINO™ 지원 여부 확인 인텔 호환성 목록을 사용하여 사용 중인 인텔® 칩이 OpenVINO™에서 공식적으로 지원되는지 확인하세요.
-
가속기 식별 인텔 하드웨어 가이드를 참고하여 프로세서에 통합 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와 같은 인기 deep learning 프레임워크의 모델을 가져오고, 변환하며, 최적화하는 Model Optimizer를 제공합니다.
- 사용 편의성: 이 툴킷은 툴킷의 다양한 측면을 가르쳐 주는 풍부한 튜토리얼 노트북 컬렉션(YOLO26 최적화 포함)을 제공합니다.
OpenVINO 내보내기 구조#
모델을 OpenVINO 형식으로 내보내면 다음 항목을 포함하는 디렉터리가 생성됩니다.
- XML 파일: 네트워크 토폴로지를 설명합니다.
- BIN 파일: 가중치 및 편향 바이너리 데이터를 포함합니다.
- 매핑 파일: 원본 모델 출력 텐서와 OpenVINO 텐서 이름 간의 매핑을 보관합니다.
이 파일들을 사용하여 OpenVINO Inference Engine으로 추론을 실행할 수 있습니다.
배포 시 OpenVINO 내보내기 사용#
모델을 OpenVINO 형식으로 성공적으로 내보내면 추론 실행을 위한 두 가지 주요 옵션이 있습니다.
-
고수준 API를 제공하고 OpenVINO 런타임을 래핑하는
ultralytics패키지를 사용하세요. -
추론 동작을 더 고급으로 또는 맞춤형으로 제어하려면 기본
openvino패키지를 사용하세요.
Ultralytics를 사용한 추론#
ultralytics 패키지를 사용하면 predict 메서드를 통해 내보낸 OpenVINO 모델을 사용하여 간편하게 추론을 실행할 수 있습니다. 또한 device 인수를 사용하여 대상 장치(예: intel:gpu, intel:npu, intel:cpu)를 지정할 수 있습니다.
from ultralytics import YOLO
# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/") # the path of your exported OpenVINO model
# Run inference with the exported model
ov_model.predict(device="intel:gpu") # specify the device you want to run inference on이 접근 방식은 추론 파이프라인에 대한 완전한 제어가 필요하지 않은 빠른 프로토타이핑이나 배포에 이상적입니다.
OpenVINO Runtime을 사용한 추론#
OpenVINO 런타임은 지원되는 모든 인텔 하드웨어에서 추론을 위한 통합 API를 제공합니다. 또한 인텔 하드웨어 간 부하 분산 및 비동기 실행과 같은 고급 기능도 제공합니다. 추론 실행에 대한 자세한 내용은 YOLO26 노트북을 참조하세요.
Runtime과 함께 모델을 올바르게 설정하고 사용하려면 XML 및 BIN 파일뿐만 아니라 입력 크기, 정규화를 위한 스케일 팩터 등과 같은 애플리케이션별 설정이 필요함을 기억하십시오.
배포 애플리케이션에서는 일반적으로 다음 단계를 수행합니다.
core = Core()을(를) 생성하여 OpenVINO를 초기화합니다.core.read_model()메서드를 사용하여 모델을 로드합니다.core.compile_model()함수를 사용하여 모델을 컴파일합니다.- 입력(이미지, 텍스트, 오디오 등)을 준비합니다.
compiled_model(input_data)을(를) 사용하여 추론을 실행합니다.
더 자세한 단계와 코드 스니펫은 OpenVINO 문서 또는 API 튜토리얼을 참조하세요.
OpenVINO YOLO26 벤치마크#
Ultralytics 팀은 다양한 모델 형식과 precision에 걸쳐 YOLO26의 벤치마크를 수행했으며, OpenVINO와 호환되는 다양한 인텔 장치에서 속도와 정확도를 평가했습니다.
-
아래 벤치마크 결과는 참고용이며, 시스템의 정확한 하드웨어 및 소프트웨어 구성과 벤치마크 실행 당시 시스템의 현재 작업 부하에 따라 다를 수 있습니다.
-
모든 벤치마크는
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/im) |
|---|---|---|---|---|---|---|
| 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/im) |
|---|---|---|---|---|---|---|
| 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/im) |
|---|---|---|---|---|---|---|
| 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 벤치마크를 모든 내보내기 formats에서 재현하려면 다음 코드를 실행하세요.
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml")벤치마크 결과는 시스템의 정확한 하드웨어 및 소프트웨어 구성, 그리고 벤치마크 실행 당시의 시스템 부하에 따라 달라질 수 있습니다. 가장 신뢰할 수 있는 결과를 얻으려면 data='coco.yaml'(검증 이미지 5000장)과 같이 이미지가 많은 데이터셋을 사용하세요.
결론#
벤치마크 결과는 YOLO26 모델을 OpenVINO 형식으로 내보낼 때 얻는 이점을 명확하게 보여줍니다. 다양한 모델과 하드웨어 플랫폼 전반에 걸쳐, OpenVINO 형식은 유사한 정확도를 유지하면서도 추론 속도 측면에서 다른 형식보다 일관되게 뛰어난 성능을 보여줍니다.
이 벤치마크들은 딥러닝 모델 배포를 위한 도구로서 OpenVINO의 효율성을 강조합니다. 모델을 OpenVINO 형식으로 변환함으로써 개발자는 상당한 성능 향상을 달성할 수 있으며, 이를 통해 실제 애플리케이션에 모델을 보다 쉽게 배포할 수 있습니다.
OpenVINO 사용에 대한 자세한 정보와 지침은 공식 OpenVINO 문서를 참조하세요.
FAQ#
YOLO26 모델을 OpenVINO 형식으로 내보내면 CPU 속도를 크게 높이고 Intel 하드웨어에서 GPU 및 NPU 가속을 활성화할 수 있습니다. 내보내려면 아래와 같이 Python 또는 CLI를 사용할 수 있습니다:
예시from ultralytics import YOLO # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Export the model model.export(format="openvino") # creates 'yolo26n_openvino_model/'자세한 정보는 내보내기 형식 문서를 참조하세요.
Intel의 OpenVINO 툴킷을 YOLO26 모델과 함께 사용하면 다음과 같은 여러 가지 이점이 있습니다:
- 성능: CPU 추론에서 최대 3배의 속도 향상을 달성하고 가속을 위해 Intel GPU 및 NPU를 활용합니다.
- 모델 최적화(Model Optimizer): PyTorch, TensorFlow, ONNX와 같은 널리 사용되는 프레임워크의 모델을 변환, 최적화 및 실행합니다.
- 사용 편의성: YOLO26을 포함하여 사용자가 시작하는 데 도움을 줄 수 있는 방대한 튜토리얼 노트북 컬렉션이 제공됩니다.
- 이기종 실행(Heterogeneous Execution): 통합 API를 사용하여 다양한 Intel 하드웨어에 모델을 배포합니다.
자세한 성능 비교를 보려면 벤치마크 섹션을 방문하세요.
YOLO26n 모델을 OpenVINO 형식으로 내보낸 후, Python 또는 CLI를 사용하여 추론을 실행할 수 있습니다:
예시from ultralytics import YOLO # Load the exported OpenVINO model ov_model = YOLO("yolo26n_openvino_model/") # Run inference results = ov_model("https://ultralytics.com/images/bus.jpg")자세한 내용은 예측 모드 문서를 참조하세요.
Ultralytics YOLO26은 높은 정확도와 속도를 갖춘 실시간 객체 탐지를 위해 최적화되었습니다. 특히 OpenVINO와 결합할 때 YOLO26은 다음을 제공합니다:
- Intel CPU에서 최대 3배의 속도 향상
- Intel GPU 및 NPU에서의 원활한 배포
- 다양한 내보내기 형식 간의 일관되고 유사한 정확도
심층적인 성능 분석을 위해, 다양한 하드웨어에서의 상세한 YOLO26 벤치마크를 확인해 보세요.
네, PyTorch, TorchScript, ONNX 및 OpenVINO를 포함한 다양한 형식으로 YOLO26 모델을 벤치마킹할 수 있습니다. 다음 코드 스니펫을 사용하여 선택한 데이터셋에서 벤치마크를 실행하십시오:
예시from ultralytics import YOLO # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Benchmark YOLO26n speed and [accuracy](https://www.ultralytics.com/glossary/accuracy) on the COCO8 dataset for all export formats results = model.benchmark(data="coco8.yaml")