엔터프라이즈급 보안: ISO 27001 및 SOC 2 Type I 준수.

Link to this sectionUltralytics YOLO 모델을 위한 Hailo 내보내기#

Hailo AI 가속기는 Raspberry Pi AI KitAI HAT+와 같은 엣지 디바이스에서 컴파일된 Hailo Executable Format (HEF) 모델을 실행합니다. Ultralytics는 Hailo Dataflow Compiler (DFC)를 사용하여 YOLO 객체 검출, 세그멘테이션, 포즈, OBB, 분류, 시맨틱 세그멘테이션, 그리고 깊이 추정 모델을 HEF로 직접 내보냅니다.

Hailo 배포는 카메라, 로봇, 산업용 시스템, 게이트웨이 및 클라우드로 모든 프레임을 전송하지 않고 로컬에서 객체 탐지가 필요한 기타 장치와 같은 엣지 환경의 컴퓨터 비전을 위해 설계되었습니다. 컴파일된 HEF는 양자화된 네트워크, 하드웨어 할당, 스케줄링 및 선택한 가속기에 필요한 선택적 HailoRT 후처리를 포함합니다.

최신 엣지 가속기 비교

새로운 하드웨어 배포의 경우 더 최신 엣지 가속기 플랫폼을 대상으로 하며 더 높은 성능을 제공할 수 있는 AxeleraDeepX도 평가해 보십시오. Hailo는 최상의 정확도를 위해 최소 1,024개의 대표 캘리브레이션 이미지를 권장하며 내장된 작업별 데이터셋은 빠른 테스트용으로만 적합합니다.

Link to this section왜 Ultralytics YOLO를 Hailo에 배포해야 할까요?#

Ultralytics YOLO를 Hailo NPU(Neural Processing Unit)와 결합하면 모델 학습에서 저전력 엣지 AI 추론까지의 실용적인 경로를 제공합니다. 일반적인 사용 사례는 다음과 같습니다:

  • 스마트 카메라 및 비디오 분석: 보안, 소매, 교통 및 점유율 애플리케이션을 위해 카메라 근처에서 실시간 객체 탐지를 실행합니다.
  • 로봇 및 자율 시스템: 지속적인 클라우드 연결 없이 사람, 차량, 패키지, 도구 또는 장애물을 탐지합니다.
  • 산업용 컴퓨터 비전: 검사, 계수, 안전 모니터링 및 품질 관리를 위한 커스텀 YOLO 모델을 배포합니다.
  • Raspberry Pi AI 프로젝트: AI Kit 또는 AI HAT+를 사용하여 Raspberry Pi 시스템에 가속화된 비전 추론 기능을 추가합니다.
  • 엣지 게이트웨이 및 AI PC: 대역폭 및 클라우드 컴퓨팅 요구 사항을 줄이면서 여러 비디오 또는 센서 스트림을 로컬에서 처리합니다.

이미지가 배포 장치에 유지되므로 로컬 추론을 통해 개인 정보 보호 및 응답 시간을 개선할 수 있습니다. 실제 처리량, 지연 시간 및 전력 사용량은 YOLO 모델 크기, 입력 해상도, Hailo 아키텍처, 호스트 시스템 및 애플리케이션 파이프라인에 따라 다릅니다.

Link to this sectionHailo 내보내기 작동 원리#

Ultralytics는 format="hailo" 뒤에 있는 전체 내보내기 워크플로우를 소유합니다:

YOLO (.pt) -> ONNX -> Hailo parse -> INT8 optimization -> HEF compile

내보내기 도구는 다음 단계를 자동으로 수행합니다:

  1. 컴파일러 호환 설정으로 정적 ONNX 그래프를 내보냅니다.
  2. 모델 아키텍처에 대한 헤드 출력을 선택합니다.
  3. 정규화, 활성화 및 후처리 지시문을 생성합니다.
  4. 대표 보정 스트림을 빌드하고 모델을 INT8로 양자화합니다.
  5. 선택한 Hailo 가속기에 대해 최적화된 그래프를 컴파일합니다.
  6. Ultralytics 메타데이터와 함께 HEF를 저장하고 중간 ONNX 파일을 제거합니다.

YOLOv8 및 YOLO11 객체 검출 모델은 컴파일된 파이프라인에서 HailoRT YOLO NMS를 사용합니다. YOLO26 객체 검출 모델은 NMS가 필요 없는 1대1 출력을 사용하므로, 익스포터가 다른 출력 및 양자화 경로를 자동으로 선택합니다. YOLOv8/YOLO11 세그멘테이션, 포즈, OBB는 원시 헤드 텐서를 컴파일하며, 이는 추론 시 Ultralytics가 디코딩합니다. 그리고 YOLOv8/YOLO11/YOLO26 분류는 칩 위에서 소프트맥스를 실행하므로 HEF가 클래스 확률을 직접 반환합니다. YOLO26 시맨틱 세그멘테이션의 경우 익스포터는 가속기를 따릅니다. Hailo-8/8L (DFC v3.x)은 호스트 업샘플링 및 축소를 위한 분류기 로짓을 반환하고, Hailo-10/15 (DFC v5.x)는 칩 위에서 다중 클래스 ArgMax 헤드를 컴파일하여 컴팩트한 클래스 맵을 반환합니다. 단일 클래스 헤드는 ArgMax 대신 임계값이 필요하므로 모든 타겟에서 호스트 로짓 경로를 사용합니다. YOLO26 깊이 모델은 a16에서 밀집 로짓 컨브를 컴파일하고 호스트에서 미터법 깊이 맵을 재구축합니다(헤드를 따르는 클램프/지수 및 학습된 로그-아핀 보정). 따라서 양자화기는 원시 로짓에서 가장 넓은 범위를 유지합니다. 사용자는 ONNX 엔드 노드를 찾거나, Hailo 모델 스크립트(.alls)를 작성하거나, NMS JSON을 수동으로 생성할 필요가 없습니다.

Link to this section설치#

Ultralytics를 설치하고 Hailo Developer Zone(무료 등록 필요)에서 대상 하드웨어용 DFC 휠을 다운로드하십시오:

pip install ultralytics
pip install /path/to/hailo_dataflow_compiler-*.whl
참고

Hailo 컴파일에는 Linux x86_64가 필요합니다. 지원되는 워크스테이션에서 모델을 컴파일한 다음 출력 디렉토리를 대상 장치로 복사하십시오. 추론을 위해 DFC가 반드시 필요한 것은 아닙니다.

Hailo-8 및 Hailo-8L은 DFC v3.x를 사용합니다. Hailo-10 및 Hailo-15는 DFC v5.x를 사용합니다. 대상 가속기와 일치하는 컴파일러 버전을 설치하십시오.

Ultralytics Platform에서 내보내기

Ultralytics Platform은 관리형 Hailo 내보내기를 제공하므로 로컬 Hailo 계정이나 DFC 설치가 필요하지 않습니다.

Link to this sectionHailo HEF 모델 내보내기#

format="hailo"를 사용하고 name으로 대상 가속기를 선택하십시오:

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
output = model.export(format="hailo", name="hailo8l")
print(output)  # yolo11n_hailo_model/

동일한 CLI 명령어는 다음과 같습니다:

yolo export model=yolo11n.pt format=hailo name=hailo8l

Hailo 내보내기는 INT8 전용입니다. Ultralytics는 data가 제공되지 않을 경우 작업별 캘리브레이션 데이터셋을 자동으로 다운로드합니다. 커스텀 모델의 경우 대표 학습 또는 검증 이미지를 사용하십시오:

최상의 정확도를 위해 최소 1,024개의 보정 이미지를 사용하십시오

Ultralytics는 DFC 최적화 레벨 2를 강제 적용하고 실제 캘리브레이션 데이터셋 크기를 사용하도록 파인튜닝을 구성합니다. Hailo는 최소 1,024개의 다양한 이미지를 권장합니다. 내장된 경량 데이터셋은 레벨 2에서 컴파일되지만 실제 운영 도메인을 대표하지 못할 수 있습니다. 운영용 HEF 내보내기를 위해서는 data="path/to/dataset.yaml"을 사용하여 대표 데이터셋을 전달하십시오.

model.export(format="hailo", name="hailo8l", data="path/to/dataset.yaml")

컴파일은 고정된 입력 모양을 사용합니다. imgsz를 장치에서 사용하는 해상도로 설정하십시오:

model.export(format="hailo", name="hailo8l", imgsz=640)

Link to this section지원되는 모델 및 하드웨어#

Hailo 에코시스템은 광범위한 컴퓨터 비전 워크로드를 다루지만, Ultralytics format="hailo" 익스포터는 현재 표준 YOLO 객체 검출, 세그멘테이션, 포즈, OBB, 분류, 시맨틱 세그멘테이션, 그리고 깊이 추정 헤드를 검증합니다. 태스크 표에는 사용 가능한 익스포터 경로가 설명되어 있으며, 하드웨어 검증은 아래에 별도로 나열되어 있습니다.

Ultralytics 작업직접적인 Hailo 내보내기지원되는 모델 제품군참고
객체 탐지YOLOv8, YOLO11, YOLO26커스텀 모델을 포함한 표준 Ultralytics Detect 헤드
인스턴스 세그먼트YOLOv8, YOLO11추론 시 Ultralytics가 디코딩하는 원시 헤드 텐서; YOLO26-seg는 현재 지원되지 않음
이미지 분류YOLOv8, YOLO11, YOLO26소프트맥스는 칩 내에서 실행되며, HEF가 클래스 확률을 직접 반환합니다.
포즈 추정YOLOv8, YOLO11추론 시 Ultralytics가 디코딩하는 원시 헤드 텐서; YOLO26-pose는 현재 지원되지 않음
방향성 객체 탐지YOLOv8, YOLO11추론 시 Ultralytics가 디코딩하는 원시 헤드 텐서; YOLO26-OBB는 현재 지원되지 않음
의미론적 세그먼트YOLO26Hailo-8/8L 및 단일 클래스 헤드는 로짓을 반환하며, Hailo-10/15는 다중 클래스 맵을 생성합니다.
깊이 추정YOLO26a16에서 컴파일된 밀집 로짓; 추론 시 Ultralytics가 미터법 깊이 맵을 재구축함

YOLOv10, YOLO-World, YOLOE 및 RT-DETR과 같은 특수 탐지 제품군은 ❌ 지원되지 않습니다. Ultralytics는 검증되지 않은 HEF를 생성하는 대신 컴파일 전에 이러한 작업 및 모델 제품군을 거부합니다.

모델 제품군Hailo-8 / Hailo-8LHailo-10 / Hailo-15출력
YOLOv8 / YOLO11 탐지HailoRT YOLO NMS를 포함한 HEF
YOLO26 탐지지원되는 런타임을 위한 NMS-free 탐지 헤드 출력
YOLOv8-seg / YOLO11-seg추론 시 Ultralytics가 디코딩하는 원시 세그멘테이션 텐서
YOLOv8-pose / YOLO11-poseHailo-8L 검증 완료검증되지 않음추론 시 Ultralytics가 디코딩하는 원시 포즈 텐서
YOLOv8-obb / YOLO11-obbHailo-8L 검증 완료검증되지 않음추론 시 Ultralytics가 디코딩하는 원시 OBB 텐서
YOLOv8-cls / YOLO11-cls / YOLO26-clsHailo-8L 검증 완료검증되지 않음칩 내 소프트맥스; HEF가 클래스 확률 반환
YOLO26-semHailo-8L 검증 완료검증되지 않음로짓 또는 Hailo-10/15에서 생성된 다중 클래스 맵
YOLO26-depthHailo-8L 검증 완료검증되지 않음밀집 로짓; Ultralytics에 의해 디코딩되는 미터법 깊이 맵

포즈, OBB, 분류, YOLO26 시맨틱 세그멘테이션, 그리고 YOLO26 깊이 추정(Hailo-8/8L 경로)은 HailoRT 4.23 및 DFC 3.33이 적용된 Hailo-8L에서 검증되었습니다. 익스포터는 다른 나열된 타겟도 허용하지만, 이러한 새로운 태스크 경로는 프로덕션에서 사용하기 전에 일치하는 컴파일러와 디바이스로 검증해야 합니다.

다음 name 값 중 하나를 선택하십시오:

name대상 가속기
hailo8Hailo-8
hailo8lHailo-8L
hailo10hHailo-10H
hailo15hHailo-15H
hailo15lHailo-15L

hailo8l이 기본값입니다. 선택한 대상과 일치하는 DFC 버전을 설치하십시오.

Link to this sectionHailo 하드웨어 및 SDK 세대#

Hailo 가속기 제품군은 서로 다른 컴파일러 세대를 사용합니다. 생성된 HEF는 대상 하드웨어와 일치해야 하므로, 내보내기를 수행하는 장치가 아니라 추론을 실행할 장치에 대한 name을 선택하십시오.

하드웨어 제품군DFC 세대일반적인 배포 예시
Hailo-8 / Hailo-8LDFC v3.x가속기 모듈, Raspberry Pi AI Kit/HAT+
Hailo-10HDFC v5.x최신 엣지 AI 및 Raspberry Pi 배포
Hailo-15H / Hailo-15LDFC v5.x스마트 카메라 및 임베디드 비전 애플리케이션

컴파일러는 Linux x86_64에서 실행되며, 결과 HEF는 HailoRT를 통해 Hailo 장치에서 실행됩니다. 이러한 분리를 통해 워크스테이션이나 Ultralytics Platform에서 컴파일하고 작은 런타임 아티팩트를 ARM 또는 x86 엣지 호스트에 배포할 수 있습니다.

Link to this section호환성 참고 사항#

Hailo 컴파일은 하드웨어별로 다르며 고정된 입력 모양을 사용합니다. 다음 제약 사항을 염두에 두십시오:

  • 선택한 name은 배포 가속기와 일치해야 합니다.
  • 보정 이미지는 프로덕션 환경에서 예상되는 조명, 시점, 객체 및 배경을 나타내야 합니다.
  • 하나의 imgsz로 컴파일된 HEF는 런타임에 동적으로 크기를 조정할 수 없습니다.
  • Ultralytics는 모델 메타데이터에서 후처리 구성을 생성하므로 커스텀 클래스 수는 지원됩니다.
  • 표준 Ultralytics Detect 헤드가 있는 객체 검출 모델, YOLOv8/YOLO11 세그멘테이션, 포즈, OBB 모델, YOLOv8/YOLO11/YOLO26 분류 모델, 그리고 YOLO26 시맨틱 세그멘테이션 및 깊이 추정 모델이 지원됩니다. YOLO26 인스턴스 세그멘테이션, 포즈, 회전된 바운딩 박스(OBB)는 YOLO-World, YOLOE, YOLOv10, RT-DETR 내보내기와 함께 현재 지원되지 않습니다.
  • Hailo-8/8L 및 Hailo-10/15 아티팩트는 서로 다른 DFC 세대에 의해 컴파일되며 상호 교환할 수 없습니다.

Link to this section보정 및 INT8 양자화#

Hailo HEF 내보내기는 INT8 양자화를 사용하여 YOLO 네트워크를 가속기에 효율적으로 매핑합니다. 보정 데이터셋은 활성화 범위를 추정하며, 컴파일 중에 모델을 재학습하거나 라벨을 요구하지 않습니다.

data가 생략되면 Ultralytics는 객체 검출용 COCO128, 시맨틱 세그멘테이션용 cityscapes8, 또는 깊이 추정용 depth8과 같은 태스크별 경량 보정 데이터셋을 사용합니다. 밀집 깊이 헤드는 보정 도메인에 특히 민감합니다. 관련 없는 객체 검출 이미지로 깊이 모델을 보정하면 예측된 맵이 평탄화되며, 더 큰 인도메인 세트는 충실도를 향상시킵니다. 커스텀 컴퓨터 비전 모델의 경우, 컴파일러가 실제 배포 도메인의 대표적인 이미지를 관찰할 수 있도록 data를 해당 데이터셋 YAML로 지정하세요.

model.export(format="hailo", name="hailo8l", data="my_dataset.yaml")

fraction은 보정(calibration)에 사용되는 데이터셋의 비율을 선택합니다. 더 많은 이미지는 배포 도메인을 대표할 때만 도움이 되며, 도메인 밖의 이미지는 양자화 정확도를 떨어뜨리고 최적화 시간을 늘릴 수 있습니다. INT8 HEF가 기존 PyTorch 모델에 비해 정확도가 낮아진다면, 모델이나 런타임 설정을 변경하기 전에 먼저 보정 데이터를 개선하십시오.

Link to this section모델 제품군별 정확도 기대치#

도메인 내 교정(COCO128, 128개 이미지)을 거친 Hailo-8L에서 측정된 INT8 HEF 내보내기 결과는 동일한 평가 프로토콜 하에서 다음과 같은 PyTorch mAP50 비율을 유지합니다:

모델mAP50 유지율참고
YOLOv8n~100%온칩 NMS를 사용하는 DFL 헤드
YOLO11n~96%백본의 Attention 블록은 INT8에 더 민감함
YOLO26n~93%엔드투엔드 헤드 및 Attention; 신뢰도 관련 참고 사항을 확인하십시오

유지율은 두 모델을 동일한 신뢰도 임계값에서 비교한 것입니다. YOLOv8 및 YOLO11 HEF는 내보내기 시점의 conf(기본값 0.25)를 온칩 NMS에 내장하므로, 기본 낮은 임계값에서 PyTorch 기준과 비교 검증하면 정밀도-재현율 곡선의 더 큰 부분을 통합하게 되어 양자화 격차가 과대평가됩니다.

탐지를 넘어 세그멘테이션, 포즈, OBB 및 분류 익스포터 경로는 동일한 Hailo-8L(DFC 3.33, HailoRT 4.23)에서 검증되었습니다. 각 INT8 HEF는 동일한 검증 세트에서 도메인 내(in-domain) 보정을 사용하여 PyTorch 체크포인트와 비교되었습니다.

작업지표 (검증 세트)YOLOv8nYOLO11n
인스턴스 세그먼트mask mAP50 유지율 (COCO128-seg)98.0%93.6%
포즈(Pose)box mAP50 유지율 (COCO8-pose)98.1%90.8%
지향성 경계 상자(Oriented bounding box)mAP50 유지율 (DOTA128)~100%96.9%
Classificationtop-1 유지율 (ImageNet val)92.6%95.4%

세그멘테이션, 포즈 및 OBB는 각 작업의 기본 도메인 내 세트(COCO128-seg, COCO8-pose, DOTA128)로 보정되었으며, 분류는 ImageNet100으로 보정되었습니다. 이러한 기본 설정에 따른 두 가지 주의 사항은 다음과 같습니다. COCO8-pose는 8개의 이미지로만 구성되어 있으므로 포즈 결과는 참고용으로 보고 프로덕션 환경에서는 더 큰 data=를 전달하십시오. 또한 DOTA8은 두 모델 모두 mAP50이 100%에 근접하므로 OBB는 DOTA128을 기준으로 측정되었습니다. 분류는 YOLO11이 YOLOv8보다 더 높은 유지율을 보이는 유일한 작업이며, 다른 작업에서는 YOLO11의 어텐션 백본이 INT8에 더 민감하게 반응합니다.

장치 측정 결과로부터 다음과 같은 세 가지 실용적인 규칙이 도출됩니다:

  1. 항상 도메인 내 교정을 수행하십시오. 도메인 외부 이미지로 미세 조정을 수행하는 것은 미세 조정을 완전히 비활성화하는 것과 같습니다. 1,238개의 도메인 외부 이미지로 교정된 YOLO26n은 미세 조정 없이 컴파일된 모델과 동일한 정확도(85.7%)를 유지합니다. 작은 규모의 도메인 내 데이터셋이 대규모의 도메인 외부 데이터셋보다 성능이 뛰어납니다.
  2. YOLO26 배포 시 conf를 약 0.05 낮추십시오. 양자화는 YOLO26 점수를 평균적으로 약 0.05 정도 낮추므로, PyTorch에서 튜닝된 임계값은 HEF에서 유효한 탐지 결과를 누락시킬 수 있습니다. 기기에서 conf=0.20을 사용하면 PyTorch의 conf=0.25와 동일한 탐지 수를 얻을 수 있으며, 임계값을 약간 더 낮추면(약 conf=0.15) 낮은 신뢰도의 탐지가 증가하는 대신 거의 모든 mAP50 격차를 회복할 수 있습니다. 양자화는 또한 탐지의 약 20%를 재정렬(re-rank)하는데, 이는 어떠한 임계값으로도 되돌릴 수 없는 고유한 효과이지만, 이러한 순서 재조정이 더 낮은 임계값에서 mAP50 회복을 방해하지는 않습니다.
  3. Attention 페널티는 Hailo-8/8L(DFC 3.33)의 구조적 문제입니다. Attention 블록은 컴파일러가 제공하는 모든 모드에서 INT8 활성화 입력을 유지하는 matmul 연산으로 컴파일됩니다. 이 그래프에 대해서는 16비트 출력 모드 할당이 실패하며, 주변 레이어의 정밀도를 높이는 것 또한 도움이 되지 않습니다. 이는 matmul이 어차피 입력을 INT8로 재양자화하기 때문입니다(테스트 결과, 16비트에서 depthwise 및 출력 컨볼루션을 보호해도 mAP는 변하지 않았습니다). 정확도가 중요하고 모델을 상호 교체할 수 있는 경우, 현재는 YOLO26보다 YOLO11이 더 나은 양자화 성능을 보입니다. 최신 Hailo 세대(DFC 5.x)는 더 다양한 혼합 정밀도 옵션을 제공하므로 결과가 다를 수 있습니다.

Link to this section내보낸 아티팩트#

내보내기를 수행하면 배포 가능한 HEF와 Ultralytics 메타데이터가 포함된 디렉토리가 생성됩니다:

yolo11n_hailo_model/
├── yolo11n.hef
├── metadata.yaml
└── nms_config.json
  • *.hef는 HailoRT에 의해 로드되는 컴파일된 모델입니다.
  • metadata.yaml은 모델 이름, 작업, 입력 크기, 스트라이드 및 Hailo 대상 정보를 보존합니다.
  • nms_config.json은 YOLOv8 및 YOLO11 탐지 모델에 대해 생성된 HailoRT NMS 구성을 기록합니다. YOLO26 탐지 및 탐지 이외의 모든 작업(세그멘테이션, 포즈, OBB, 분류, 시맨틱)은 이 파일을 사용하지 않습니다.

중간 ONNX 그래프는 컴파일 후 제거됩니다.

Link to this sectionHailo 하드웨어에서 추론 실행#

대상 장치에 HailoRT를 설치하십시오. Raspberry Pi AI Kit 및 AI HAT+ 사용자는 Raspberry Pi AI 소프트웨어 가이드를 따를 수 있습니다:

sudo apt install hailo-all
hailortcli fw-control identify

metadata.yaml이 HEF 파일 옆에 유지되도록 전체 내보내기 디렉토리를 장치로 복사하십시오. Ultralytics는 HailoRT를 사용하여 내보낸 디렉토리에서 직접 predictval을 실행합니다.

from ultralytics import YOLO

model = YOLO("yolo11n_hailo_model")
results = model.predict("path/to/image.jpg")

탐지 모델의 경우 백엔드는 YOLOv8 및 YOLO11의 HailoRT NMS 출력을 변환하고 YOLO26의 일대일 출력을 자동으로 디코딩합니다. 또한 원시 세그멘테이션, 포즈 및 OBB 텐서를 디코딩하고, 칩 내부 분류 확률을 반환하며, Hailo-8/8L 및 모든 단일 클래스 헤드에 대한 호스트 축소 또는 다중 클래스 Hailo-10/15 헤드에 대한 칩 내부 ArgMax를 통해 시맨틱 클래스 맵을 생성합니다. TAPPAS, GStreamer 및 Raspberry Pi picamera2.devices.Hailo 헬퍼는 애플리케이션별 파이프라인에서 계속 사용할 수 있습니다.

GStreamer 배포의 경우 HEF를 hailonet에 전달하십시오:

gst-launch-1.0 filesrc location=video.mp4 ! decodebin ! videoconvert ! \
  hailonet hef-path=yolo11n_hailo_model/yolo11n.hef ! \
  hailofilter function-name=yolov8 ! hailooverlay ! autovideosink

Link to this sectionHailo 배포 옵션#

HEF는 여러 Hailo 런타임 인터페이스에서 동일한 배포 가능한 모델 아티팩트입니다. 애플리케이션에 적합한 인터페이스를 선택하십시오:

런타임 옵션가장 적합한 용도
HailoRT Python 또는 C/C++ API커스텀 애플리케이션 및 추론 직접 제어
Raspberry Pi picamera2.devices.HailoRaspberry Pi 기반 카메라 모듈 프로젝트
GStreamer 및 Hailo 애플리케이션실시간 비디오 스트림 및 다단계 파이프라인
hailortcli장치 점검, HEF 검사 및 벤치마킹

애플리케이션이 Ultralytics 클래스 이름, 입력 크기, 스트라이드 또는 기타 모델 정보가 필요할 경우 metadata.yaml 파일을 HEF와 함께 보관하십시오. HEF 자체는 카메라 캡처, 시각화, 추적, 경고 또는 저장을 위한 애플리케이션 수준의 로직을 대체하지 않습니다.

Link to this sectionHailo 장치 및 HEF 확인#

카메라 또는 비디오 파이프라인을 통합하기 전에 런타임 및 가속기를 독립적으로 확인하십시오:

hailortcli fw-control identify
hailortcli parse-hef yolo11n_hailo_model/yolo11n.hef

장치 전용 성능 측정은 Hailo 추론을 비디오 디코딩, 이미지 크기 조정, 드로잉 및 애플리케이션 I/O로부터 분리합니다. 엔드투엔드 지연 시간 또는 초당 프레임 수를 추정할 때는 전체 애플리케이션을 별도로 측정하십시오.

Link to this section다른 YOLO 내보내기 형식과 Hailo 비교#

모델을 실행할 하드웨어에 따라 내보내기 형식을 선택하십시오:

배포 대상Ultralytics 내보내기 형식
Hailo NPUHailo HEF (format="hailo")
NVIDIA GPUTensorRT
Intel CPU, GPU 또는 NPUOpenVINO
Apple 하드웨어CoreML
Qualcomm Snapdragon NPUQNN
Rockchip NPURKNN
Raspberry Pi AI CameraSony IMX500
휴대용 교차 런타임 사용ONNX

최종 장치에 Hailo 가속기가 포함된 경우 HEF가 올바른 선택입니다. ONNX는 휴대용 교환 형식으로 여전히 유용하지만, HailoRT는 원래의 ONNX 모델 대신 DFC가 생성한 하드웨어별 HEF를 실행합니다.

Link to this sectionHailo 컴퓨터 비전 성능 최적화#

모델 및 파이프라인 선택이 컴파일러 플래그보다 더 중요한 경우가 많습니다:

  • 작은 YOLO 모델로 시작하고 정확도가 요구될 때만 모델 크기를 늘리십시오.
  • 애플리케이션에 중요한 객체를 유지하면서 가장 낮은 고정 imgsz를 선택하십시오.
  • 가능하면 실제 카메라와 환경에서 가져온 보정 이미지를 사용하십시오.
  • 모든 추론마다 HEF를 다시 여는 대신 프레임 전체에서 Hailo 네트워크를 활성화 상태로 유지하십시오.
  • 장치 추론 시간을 전처리, 비디오 디코딩, 후처리, 시각화 및 네트워크 I/O와 분리하십시오.
  • 지속적인 비디오 워크로드를 위해 GStreamer와 같은 스트리밍 파이프라인을 사용하십시오.
  • 프로덕션에서 사용되는 정확한 가속기 및 HailoRT 버전에서 내보낸 HEF를 검증하십시오.

Link to this section내보내기 인수#

인수유형기본값설명
namestrhailo8lHailo 가속기 아키텍처 대상
imgszint, list640고정 모델 입력 크기
datastr작업별보정 데이터셋 YAML
fractionfloat1.0사용할 보정 이미지 비율
quantizeint8Hailo 내보내기는 INT8 양자화를 사용합니다
simplifyboolTrue중간 ONNX 그래프 단순화
conffloat0.25YOLOv8/YOLO11 HailoRT NMS 신뢰도 임계값
ioufloat0.7YOLOv8/YOLO11 HailoRT NMS IoU 임계값

객체 검출 내보내기의 경우, YOLOv8 및 YOLO11은 HailoRT NMS를 수신하고, YOLO26은 NMS가 필요 없는 1대1 출력을 유지합니다. 세그멘테이션, 포즈, OBB는 원시 헤드 텐서를 사용하고, 분류는 칩 내 확률을 반환하며, 시맨틱 세그멘테이션은 Hailo-8/8L에서 원시 로짓을 반환하고 모든 단일 클래스 헤드 또는 다중 클래스 Hailo-10/15 헤드용으로 구워진 클래스 맵을 반환합니다. 깊이 추정은 원시 깊이 로짓을 반환하며, Ultralytics는 추론 시 이를 미터법 깊이 맵으로 디코딩합니다. end2end를 전달하지 마세요. 명시적 재정의는 거부됩니다. 동적 형태, 1보다 큰 배치, 임베디드 Ultralytics NMS, FP16, FP32 또한 지원되지 않습니다.

Link to this sectionHailo 내보내기 문제 해결#

Link to this sectionHailo Dataflow Compiler 가져오기 오류#

내보내기 보고서에서 hailo_sdk_client가 누락되었다고 표시되면, Ultralytics와 동일한 Python 환경의 대상 하드웨어 세대에 맞는 DFC 휠을 설치하십시오. Hailo-8/8L 및 Hailo-10/15는 서로 다른 컴파일러 세대를 필요로 합니다.

Link to this section지원되지 않는 운영 체제 또는 아키텍처#

HEF 컴파일은 Linux x86_64에서 지원됩니다. 로컬 컴퓨터가 macOS, Windows, Raspberry Pi 또는 기타 ARM 시스템인 경우 Ultralytics Platform을 통해 내보내거나 호환되는 워크스테이션을 사용하십시오.

Link to this section내보내기에 오랜 시간이 걸림#

DFC 최적화는 가장 비용이 많이 드는 단계입니다. 컴파일 시간은 모델 크기, 입력 해상도 및 보정 데이터에 따라 증가합니다. 지원되는 GPU는 최적화를 가속화할 수 있지만, CPU 전용 컴파일은 상당히 느릴 수 있습니다.

Link to this section양자화된 모델 정확도 저하#

실제 운영 환경의 입력과 유사하고 중요한 객체, 스케일, 조명 조건 및 배경을 포함하는 교정 이미지를 사용하십시오. 배포 전 동일한 검증 세트에서 원본 PyTorch 모델과 내보낸 HEF를 비교하십시오. 양호한 교정을 거치더라도 모델 제품군에 따른 적절한 수준의 격차는 여전히 존재합니다. 측정된 기준값은 모델 제품군별 정확도 기대치를 참조하십시오.

Link to this sectionHEF가 장치에서 로드되지 않음#

name이 물리적 Hailo 아키텍처와 일치하는지, 장치 드라이버, 펌웨어 및 HailoRT 패키지가 서로 호환되는지 확인하십시오. hailortcli parse-hef로 아티팩트를 검사하고 hailortcli fw-control identify로 가속기를 확인하십시오.

Link to this section출력 구문 분석이 올바르지 않게 보임#

Ultralytics가 일치하는 YOLOv8, YOLO11 또는 YOLO26 후처리 경로를 선택할 수 있도록 metadata.yaml을 HEF 옆에 보관하십시오. 사용자 지정 HailoRT 애플리케이션도 마찬가지로 내보낸 모델 제품군에 맞춰 후처리를 일치시켜야 합니다.

Link to this sectionFAQ#

Link to this sectionRaspberry Pi에서 HEF를 컴파일할 수 있습니까?#

아니요. 지원되는 Linux x86_64 시스템에서 DFC를 실행하고 결과 HEF를 Raspberry Pi에 배포하십시오.

Link to this sectionNVIDIA GPU가 필요합니까?#

지원되는 GPU는 DFC 최적화 시간을 크게 줄여줍니다. CPU 컴파일도 가능하지만 훨씬 더 오래 걸릴 수 있습니다.

Link to this section어떤 YOLO 모델이 Hailo 내보내기를 지원합니까?#

직접 내보내기는 표준 YOLOv8, YOLO11, 또는 YOLO26 객체 검출 헤드가 있는 객체 검출 모델, YOLOv8/YOLO11 세그멘테이션, 포즈, OBB 모델, 그리고 YOLOv8/YOLO11/YOLO26 분류 모델을 지원합니다. 여기에는 해당 표준 아키텍처로 빌드된 커스텀 학습 모델이 포함됩니다. YOLO26 시맨틱 세그멘테이션 및 깊이 추정 모델도 지원됩니다. YOLO26 인스턴스 세그멘테이션, 포즈, OBB는 YOLOv10, YOLO-World, YOLOE, RT-DETR과 함께 검증되지 않은 HEF를 생성하는 대신 거부됩니다.

Link to this section사용자 정의 학습 YOLO 모델을 내보낼 수 있습니까?#

네 가능합니다. 동일한 format="hailo" 명령을 사용하여 사용자 지정 .pt 가중치를 전달하고, 대표적인 INT8 교정을 위해 data 매개변수로 학습 데이터셋 YAML을 전달하십시오. 클래스 이름과 클래스 수는 모델 메타데이터에서 읽어옵니다.

Link to this sectionHailo 내보내기가 동적 이미지 크기를 지원합니까?#

아니요. DFC는 고정 입력 모양을 HEF로 컴파일합니다. 배포 파이프라인에서 사용하는 해상도와 일치하도록 내보내는 동안 imgsz를 선택하십시오.

Link to this section왜 YOLO26은 다른 Hailo 출력을 생성합니까?#

YOLO26은 NMS가 없는 일대일 감지 헤드를 사용합니다. Ultralytics는 YOLOv8 및 YOLO11에 사용되는 HailoRT YOLOv8 스타일 NMS를 연결하는 대신 해당 출력 텐서를 직접 컴파일합니다.

Link to this sectionDFC와 HailoRT의 차이점은 무엇입니까?#

Hailo Dataflow Compiler는 Linux x86_64 빌드 머신에서 모델을 하드웨어별 HEF로 변환하고 양자화합니다. HailoRT는 해당 HEF를 대상 장치에서 로드하고 실행합니다.

Link to this sectionONNX 파일과 HEF 파일 중 무엇을 배포해야 합니까?#

컴파일된 HEF를 Hailo 런타임에 배포하십시오. ONNX는 내보내기 중에 사용되는 중간 표현이며 성공적인 컴파일 후 제거됩니다.

Link to this sectionHailo DFC는 어디서 얻을 수 있습니까?#

Hailo 개발자 존(Developer Zone)에서 하드웨어 세대에 맞는 컴파일러 휠을 다운로드하십시오. 컴파일러는 HEF를 생성할 때만 필요하며, HailoRT는 대상 가속기에서 이를 실행합니다.

Link to this section요약#

Ultralytics Hailo 내보내기 기능은 학습된 YOLO 모델에서 배포 가능한 HEF로의 직접적인 경로를 제공합니다:

  1. YOLOv8, YOLO11, 또는 YOLO26 객체 검출 또는 분류 모델, YOLOv8/YOLO11 세그멘테이션, 포즈, 또는 OBB 모델, 혹은 YOLO26 시맨틱 세그멘테이션 또는 깊이 추정 모델을 로드합니다.
  2. format="hailo"로 내보내고 대상 아키텍처를 선택하십시오.
  3. 일치하는 DFC를 사용하여 로컬에서 보정 및 컴파일하거나 Ultralytics Platform에서 관리되는 내보내기를 사용하십시오.
  4. HEF 및 metadata.yaml을 Hailo 기반 엣지 장치로 복사하십시오.
  5. HailoRT, Raspberry Pi Picamera2 또는 GStreamer 비디오 파이프라인으로 추론을 실행합니다.

다른 컴퓨터 비전 배포 대상은 내보내기 모드, 벤치마크 모드통합 가이드를 참조하십시오. 관련 하드웨어 가이드에는 ONNX, OpenVINO, TensorRT, NCNN, RKNN, Sony IMX500Qualcomm QNN이 있습니다.

댓글