Link to this sectionExportação HEF para Modelos YOLO da Ultralytics#
Os aceleradores de IA Hailo executam modelos compilados no formato Hailo Executable Format (HEF) em dispositivos de borda, como o Raspberry Pi AI Kit e o AI HAT+. A Ultralytics exporta modelos de detecção, segmentação, pose, OBB, classificação, segmentação semântica e estimativa de profundidade do YOLO diretamente para o HEF com o compilador Hailo Dataflow Compiler (DFC).
A implantação Hailo foi projetada para visão computacional na borda: câmeras, robôs, sistemas industriais, gateways e outros dispositivos que precisam de detecção de objetos local sem enviar cada quadro para a nuvem. Um HEF compilado contém a rede quantizada, alocação de hardware, agendamento e o pós-processamento HailoRT opcional necessário para o acelerador selecionado.
Para novas implementações de hardware, avalie também Axelera e DeepX, que visam plataformas de aceleradores de borda mais recentes e podem oferecer maior desempenho. A Hailo recomenda pelo menos 1.024 imagens de calibração representativas para obter a melhor precisão; os conjuntos de dados específicos da tarefa integrados são adequados apenas para testes rápidos.
Link to this sectionPor que implantar Ultralytics YOLO no Hailo?#
Combinar Ultralytics YOLO com uma unidade de processamento neural (NPU) Hailo fornece um caminho prático do treinamento do modelo à inferência de IA de borda de baixo consumo. Casos de uso comuns incluem:
- Câmeras inteligentes e análise de vídeo: Execute detecção de objetos em tempo real próxima à câmera para aplicações de segurança, varejo, tráfego e ocupação.
- Robótica e sistemas autônomos: Detecte pessoas, veículos, pacotes, ferramentas ou obstáculos sem depender de uma conexão contínua com a nuvem.
- Visão computacional industrial: Implante modelos YOLO personalizados para inspeção, contagem, monitoramento de segurança e controle de qualidade.
- Projetos Raspberry Pi AI: Adicione inferência de visão acelerada a sistemas Raspberry Pi usando o AI Kit ou AI HAT+.
- Gateways de borda e PCs com IA: Processe vários fluxos de vídeo ou sensores localmente, reduzindo a largura de banda e os requisitos de computação em nuvem.
A inferência local pode melhorar a privacidade e o tempo de resposta, pois as imagens permanecem no dispositivo de implantação. O rendimento, a latência e o consumo de energia reais dependem do tamanho do modelo YOLO, da resolução de entrada, da arquitetura Hailo, do sistema host e do pipeline da aplicação.
Link to this sectionComo funciona a exportação Hailo#
A Ultralytics detém o fluxo de trabalho completo de exportação por trás de format="hailo":
YOLO (.pt) -> ONNX -> Hailo parse -> INT8 optimization -> HEF compileO exportador executa estas etapas automaticamente:
- Exporta um grafo ONNX estático com configurações compatíveis com o compilador.
- Seleciona as saídas de cabeçalho para a arquitetura do modelo.
- Gera diretrizes de normalização, ativação e pós-processamento.
- Constrói um fluxo de calibração representativo e quantiza o modelo para INT8.
- Compila o grafo otimizado para o acelerador Hailo selecionado.
- Salva o HEF com metadados da Ultralytics e remove o arquivo ONNX intermediário.
Os modelos de detecção YOLOv8 e YOLO11 usam o HailoRT YOLO NMS no pipeline compilado. Os modelos de detecção YOLO26 usam suas saídas one-to-one sem NMS, de modo que o exportador seleciona um caminho diferente de saída e quantização automaticamente. A segmentação, pose e OBB do YOLOv8/YOLO11 compilaram os tensores brutos da cabeça, que a Ultralytics decodifica na inferência, e a classificação do YOLOv8/YOLO11/YOLO26 executa o softmax no chip para que o HEF retorne as probabilidades das classes diretamente. Para a segmentação semântica do YOLO26, o exportador segue o acelerador: o Hailo-8/8L (DFC v3.x) retorna os logits do classificador para a sobreamostragem e redução no host, enquanto o Hailo-10/15 (DFC v5.x) compila cabeças ArgMax multiclasse no chip e retorna um mapa de classes compacto. As cabeças de classe única usam o caminho do logit no host em todos os destinos porque exigem um limite em vez de ArgMax. Os modelos de profundidade do YOLO26 compilam a convolução de logit denso em a16 e reconstroem o mapa de profundidade métrica no host (o ajuste de amplitude/exp e a calibração log-afim aprendida que seguem a cabeça), para que o quantizador mantenha sua faixa mais ampla no logit bruto. Os usuários não precisam encontrar nós finais ONNX, escrever um script de modelo Hailo (.alls) ou criar um JSON de NMS manualmente.
Link to this sectionInstalação#
Instale a Ultralytics e baixe o wheel do DFC para o seu hardware alvo na Hailo Developer Zone (é necessário registro gratuito):
pip install ultralytics
pip install /path/to/hailo_dataflow_compiler-*.whlA compilação Hailo requer Linux x86_64. Compile o modelo em uma estação de trabalho suportada e, em seguida, copie o diretório de saída para o dispositivo alvo. O DFC não é necessário para inferência.
Hailo-8 e Hailo-8L usam o DFC v3.x. Hailo-10 e Hailo-15 usam o DFC v5.x. Instale a geração do compilador que corresponda ao acelerador alvo.
Ultralytics Platform oferece exportação Hailo gerenciada, portanto, não é necessária uma conta Hailo local ou instalação do DFC.
Link to this sectionExportar um modelo HEF Hailo#
Use format="hailo" e selecione o acelerador alvo com name:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
output = model.export(format="hailo", name="hailo8l")
print(output) # yolo11n_hailo_model/O comando CLI equivalente é:
yolo export model=yolo11n.pt format=hailo name=hailo8lA exportação Hailo é apenas INT8. A Ultralytics baixa automaticamente um conjunto de dados de calibração específico da tarefa quando data não é fornecido. Para modelos personalizados, use imagens de treinamento ou validação representativas:
A Ultralytics força o nível de otimização 2 do DFC e configura o ajuste fino para usar o tamanho real do conjunto de dados de calibração. A Hailo recomenda pelo menos 1.024 imagens diversas; os conjuntos de dados leves integrados compilam no nível 2, mas podem não representar o domínio de produção. Para exportações HEF de produção, passe um conjunto de dados representativo usando data="path/to/dataset.yaml".
model.export(format="hailo", name="hailo8l", data="path/to/dataset.yaml")A compilação usa uma forma de entrada fixa. Defina imgsz para a resolução usada no dispositivo:
model.export(format="hailo", name="hailo8l", imgsz=640)Link to this sectionModelos e hardware suportados#
O ecossistema Hailo cobre uma ampla gama de cargas de trabalho de visão computacional, mas o exportador format="hailo" da Ultralytics valida atualmente cabeças padrão de detecção, segmentação, pose, OBB, classificação, segmentação semântica e estimativa de profundidade do YOLO. A tabela de tarefas descreve os caminhos de exportação disponíveis; a validação de hardware é listada separadamente abaixo.
| Tarefa Ultralytics | Exportação Hailo direta | Famílias de modelos suportadas | Notas |
|---|---|---|---|
| Detecção de objetos | ✅ | YOLOv8, YOLO11, YOLO26 | Cabeçotes Detect padrão da Ultralytics, incluindo modelos personalizados |
| Segmentação de instâncias | ✅ | YOLOv8, YOLO11 | Tensores de cabeçalho brutos decodificados pela Ultralytics na inferência; o YOLO26-seg não é suportado atualmente |
| Classificação de imagem | ✅ | YOLOv8, YOLO11, YOLO26 | Softmax executado no chip; o HEF retorna as probabilidades de classe diretamente |
| Estimativa de pose | ✅ | YOLOv8, YOLO11 | Tensores raw head decodificados pela Ultralytics na inferência; YOLO26-pose não é suportado atualmente |
| Detecção de objetos orientados | ✅ | YOLOv8, YOLO11 | Tensores raw head decodificados pela Ultralytics na inferência; YOLO26-OBB não é suportado atualmente |
| Segmentação semântica | ✅ | YOLO26 | Hailo-8/8L e heads de classe única retornam logits; Hailo-10/15 processam mapas multiclasse |
| Estimativa de profundidade | ✅ | YOLO26 | Logit denso compilado em a16; a Ultralytics reconstrói o mapa de profundidade métrica na inferência |
Famílias de detecção especializadas, como YOLOv10, YOLO-World, YOLOE e RT-DETR, também são ❌ não suportadas. A Ultralytics rejeita essas tarefas e famílias de modelos antes da compilação em vez de produzir um HEF não validado.
| Família de modelos | Hailo-8 / Hailo-8L | Hailo-10 / Hailo-15 | Saída |
|---|---|---|---|
| Detecção YOLOv8 / YOLO11 | ✅ | ✅ | HEF com HailoRT YOLO NMS |
| Detecção YOLO26 | ✅ | ✅ | Saídas de cabeçote de detecção sem NMS para runtimes suportados |
| YOLOv8-seg / YOLO11-seg | ✅ | ✅ | Tensores de segmentação brutos, decodificados pela Ultralytics na inferência |
| YOLOv8-pose / YOLO11-pose | Validado para Hailo-8L | Não validado | Tensores de pose raw, decodificados pela Ultralytics na inferência |
| YOLOv8-obb / YOLO11-obb | Validado para Hailo-8L | Não validado | Tensores de OBB raw, decodificados pela Ultralytics na inferência |
| YOLOv8-cls / YOLO11-cls / YOLO26-cls | Validado para Hailo-8L | Não validado | Softmax no chip; HEF retorna probabilidades de classe |
| YOLO26-sem | Validado para Hailo-8L | Não validado | Logits ou um mapa multiclasse processado no Hailo-10/15 |
| YOLO26-depth | Validado para Hailo-8L | Não validado | Logit denso; mapa de profundidade métrica decodificado pela Ultralytics |
Pose, OBB, classificação, segmentação semântica do YOLO26 e estimativa de profundidade do YOLO26 (caminho Hailo-8/8L) foram validadas no Hailo-8L com HailoRT 4.23 e DFC 3.33. O exportador aceita os outros destinos listados, mas esses novos caminhos de tarefas exigem validação com o compilador e dispositivo correspondentes antes do uso em produção.
Selecione um destes valores de name:
name | Acelerador alvo |
|---|---|
hailo8 | Hailo-8 |
hailo8l | Hailo-8L |
hailo10h | Hailo-10H |
hailo15h | Hailo-15H |
hailo15l | Hailo-15L |
hailo8l é o padrão. Instale a geração do DFC que corresponda ao alvo selecionado.
Link to this sectionGerações de hardware e SDK Hailo#
As famílias de aceleradores Hailo usam diferentes gerações de compiladores. O HEF gerado deve corresponder ao hardware alvo, portanto, escolha o name para o dispositivo que executará a inferência em vez da máquina que realiza a exportação.
| Família de hardware | Geração do DFC | Exemplos típicos de implantação |
|---|---|---|
| Hailo-8 / Hailo-8L | DFC v3.x | Módulos aceleradores, Raspberry Pi AI Kit/HAT+ |
| Hailo-10H | DFC v5.x | Implantações de IA de borda mais recentes e Raspberry Pi |
| Hailo-15H / Hailo-15L | DFC v5.x | Aplicações de visão embarcada e câmera inteligente |
O compilador é executado em Linux x86_64, enquanto o HEF resultante é executado no dispositivo Hailo através do HailoRT. Essa separação permite que você compile em uma estação de trabalho ou na plataforma Ultralytics e implante o pequeno artefato de runtime em um host de borda ARM ou x86.
Link to this sectionNotas de Compatibilidade#
A compilação Hailo é específica para hardware e usa uma forma de entrada fixa. Lembre-se destas restrições:
- O
nameselecionado deve corresponder ao acelerador de implantação. - As imagens de calibração devem representar a iluminação, os pontos de vista, os objetos e os fundos esperados na produção.
- Um HEF compilado com um
imgsznão se torna dinamicamente redimensionável em tempo de execução. - Contagens de classes personalizadas são suportadas porque a Ultralytics gera a configuração de pós-processamento a partir dos metadados do modelo.
- Modelos de detecção com cabeças padrão
Detectda Ultralytics, modelos de segmentação, pose e OBB do YOLOv8/YOLO11, modelos de classificação do YOLOv8/YOLO11/YOLO26 e modelos de segmentação semântica e estimativa de profundidade do YOLO26 são suportados; a segmentação de instâncias, pose e caixa delimitadora orientada (OBB) do YOLO26, juntamente com as exportações de YOLO-World, YOLOE, YOLOv10 e RT-DETR, não são suportadas no momento. - Os artefatos Hailo-8/8L e Hailo-10/15 são compilados por diferentes gerações do DFC e não são intercambiáveis.
Link to this sectionCalibração e quantização INT8#
A exportação de HEF Hailo usa quantização INT8 para mapear a rede YOLO eficientemente no acelerador. O conjunto de dados de calibração estima faixas de ativação; ele não retreina o modelo nem requer rótulos durante a compilação.
Quando data é omitido, a Ultralytics usa um conjunto de dados de calibração leve específico para a tarefa, como o COCO128 para detecção, o cityscapes8 para segmentação semântica ou o depth8 para estimativa de profundidade. A cabeça de profundidade densa é especialmente sensível ao domínio de calibração: calibrar um modelo de profundidade com imagens de detecção não relacionadas achata o mapa previsto, e conjuntos maiores no mesmo domínio melhoram a fidelidade. Para um modelo personalizado de visão computacional, aponte data para o YAML do seu conjunto de dados para que o compilador observe imagens representativas do domínio real de implantação:
model.export(format="hailo", name="hailo8l", data="my_dataset.yaml")O fraction seleciona a porção do conjunto de dados usada para calibração. Mais imagens apenas ajudam quando representam o domínio de implantação; imagens fora do domínio podem reduzir a precisão quantizada e aumentar o tempo de otimização. Se o HEF INT8 perder precisão em relação ao modelo PyTorch original, primeiro melhore os dados de calibração antes de alterar as configurações do modelo ou do tempo de execução.
Link to this sectionExpectativas de precisão por família de modelo#
Medido em um Hailo-8L com calibração in-domain (COCO128, 128 imagens), as exportações INT8 HEF mantêm a seguinte parcela do seu mAP50 do PyTorch sob o mesmo protocolo de avaliação:
| Modelo | Retenção de mAP50 | Notas |
|---|---|---|
| YOLOv8n | ~100% | Cabeça DFL com NMS on-chip |
| YOLO11n | ~96% | Blocos de atenção no backbone são mais sensíveis a INT8 |
| YOLO26n | ~93% | Cabeça ponta a ponta mais atenção; consulte a nota sobre confiança |
A retenção compara ambos os modelos no mesmo limite de confiança. Os HEFs do YOLOv8 e YOLO11 incorporam o conf de tempo de exportação (padrão 0.25) no NMS on-chip, portanto, validar contra uma base de referência do PyTorch em seu limite baixo padrão integra uma parte maior da curva de precisão-revocação e superestima a lacuna de quantização.
Além da detecção, os caminhos do exportador de segmentação, pose, OBB e classificação foram validados no mesmo Hailo-8L (DFC 3.33, HailoRT 4.23). Cada HEF INT8 foi comparado com seu checkpoint PyTorch na mesma divisão de validação, usando calibração in-domain:
| Tarefa | Métrica (divisão de validação) | YOLOv8n | YOLO11n |
|---|---|---|---|
| Segmentação de instâncias | retenção de mAP50 de mask (COCO128-seg) | 98.0% | 93.6% |
| Pose | retenção de mAP50 de box (COCO8-pose) | 98.1% | 90.8% |
| Oriented bounding box | retenção de mAP50 (DOTA128) | ~100% | 96.9% |
| Classificação | retenção de top-1 (ImageNet val) | 92.6% | 95.4% |
Segmentação, pose e OBB foram calibrados com o conjunto in-domain padrão de cada tarefa (COCO128-seg, COCO8-pose, DOTA128); a classificação foi calibrada com ImageNet100. Duas observações decorrem desses padrões: COCO8-pose possui apenas 8 imagens, portanto, trate a pose como indicativa e forneça um data= maior para produção, e DOTA8 satura o mAP50 próximo de 100% para ambos os modelos, motivo pelo qual OBB é lido em DOTA128. A classificação também é a única tarefa onde o YOLO11 retém mais do que o YOLOv8; para as outras, o backbone de atenção do YOLO11 é mais sensível a INT8.
Três regras práticas decorrem das medições do dispositivo:
- Calibre in-domain, sempre. O ajuste fino com imagens fora do domínio é equivalente a desativar o ajuste fino completamente: um YOLO26n calibrado com 1.238 imagens fora do domínio retém a mesma precisão (85,7%) que um compilado sem ajuste fino. Um pequeno conjunto in-domain supera um grande conjunto fora do domínio.
- Reduza o
confem cerca de 0.05 para implantações do YOLO26. A quantização reduz as pontuações do YOLO26 em aproximadamente 0.05 em média, portanto, um limite ajustado no PyTorch descarta detecções válidas no HEF. Usarconf=0.20no dispositivo corresponde à contagem de detecção do PyTorch emconf=0.25, e baixar um pouco mais (cerca deconf=0.15) recupera essencialmente toda a lacuna de mAP50 restante ao custo de mais detecções de baixa confiança. A quantização também reclassifica aproximadamente 20% das detecções — um efeito de ordenação permanente que nenhum limite desfaz — mas esse rearranjo não bloqueia a recuperação do mAP50 no limite mais baixo. - A penalidade de atenção é estrutural no Hailo-8/8L (DFC 3.33). Os blocos de atenção compilam para operações
matmulque mantêm entradas de ativação INT8 em todos os modos que o compilador oferece para elas; o modo de saída de 16 bits falha na alocação para este gráfico, e aumentar a precisão das camadas circundantes não ajuda porque o matmul requantiza suas entradas para INT8 de qualquer maneira (proteger as convoluções depthwise e de saída em 16 bits deixou o mAP inalterado em nossos testes). Quando a precisão é a prioridade e o modelo é intercambiável, o YOLO11 atualmente quantiza melhor que o YOLO26 aqui; as gerações mais novas do Hailo (DFC 5.x) expõem mais opções de precisão mista e podem diferir.
Link to this sectionArtefatos exportados#
A exportação cria um diretório contendo o HEF implantável e os metadados da Ultralytics:
yolo11n_hailo_model/
├── yolo11n.hef
├── metadata.yaml
└── nms_config.json*.hefé o modelo compilado carregado pelo HailoRT.metadata.yamlpreserva os nomes do modelo, tarefa, tamanho da entrada, stride e informações do alvo Hailo.nms_config.jsonregistra a configuração de NMS do HailoRT gerada para modelos de detecção YOLOv8 e YOLO11. A detecção YOLO26 e todas as tarefas não relacionadas à detecção (segmentação, pose, OBB, classificação, semântica) não usam este arquivo.
O grafo ONNX intermediário é removido após a compilação.
Link to this sectionExecutar inferência no hardware Hailo#
Instale o HailoRT no dispositivo alvo. Usuários do Raspberry Pi AI Kit e AI HAT+ podem seguir o guia de software Raspberry Pi AI:
sudo apt install hailo-all
hailortcli fw-control identifyCopia o diretório de exportação completo para o dispositivo para que o metadata.yaml permaneça ao lado do HEF. A Ultralytics usa o HailoRT para executar predict e val diretamente no diretório exportado:
from ultralytics import YOLO
model = YOLO("yolo11n_hailo_model")
results = model.predict("path/to/image.jpg")Para modelos de detecção, o backend converte a saída de NMS do HailoRT do YOLOv8 e YOLO11 e decodifica as saídas um-para-um do YOLO26 automaticamente. Ele decodifica tensores brutos de segmentação, pose e OBB, retorna probabilidades de classificação no chip e produz mapas de classe semântica por meio de redução de host no Hailo-8/8L e todas as heads de classe única, ou um ArgMax no chip para heads Hailo-10/15 multiclasse. TAPPAS, GStreamer e o auxiliar picamera2.devices.Hailo do Raspberry Pi permanecem disponíveis para pipelines específicos da aplicação.
Para uma implantação GStreamer, passe o HEF para o hailonet:
gst-launch-1.0 filesrc location=video.mp4 ! decodebin ! videoconvert ! \
hailonet hef-path=yolo11n_hailo_model/yolo11n.hef ! \
hailofilter function-name=yolov8 ! hailooverlay ! autovideosinkLink to this sectionOpções de implantação Hailo#
O HEF é o mesmo artefato de modelo implantável em várias interfaces de runtime Hailo. Escolha a interface que melhor se adapta à aplicação:
| Opção de runtime | Mais adequado para |
|---|---|
| API Python ou C/C++ HailoRT | Aplicações personalizadas e controle direto da inferência |
Raspberry Pi picamera2.devices.Hailo | Projetos de módulo de câmera no Raspberry Pi |
| Aplicações GStreamer e Hailo | Fluxos de vídeo em tempo real e pipelines de múltiplos estágios |
hailortcli | Verificações de dispositivo, inspeção de HEF e benchmarking |
Mantenha o metadata.yaml junto com o HEF quando a aplicação precisar dos nomes das classes, tamanho de entrada, stride ou outras informações do modelo da Ultralytics. O HEF por si só não substitui a lógica em nível de aplicação para captura de câmera, visualização, rastreamento, alertas ou armazenamento.
Link to this sectionVerifique o dispositivo Hailo e o HEF#
Antes de integrar uma câmera ou pipeline de vídeo, verifique o runtime e o acelerador de forma independente:
hailortcli fw-control identify
hailortcli parse-hef yolo11n_hailo_model/yolo11n.hefMedições de desempenho apenas no dispositivo isolam a inferência Hailo da decodificação de vídeo, redimensionamento de imagem, desenho e I/O da aplicação. Meça a aplicação completa separadamente ao estimar a latência de ponta a ponta ou quadros por segundo.
Link to this sectionHailo em comparação com outros formatos de exportação YOLO#
Escolha um formato de exportação baseado no hardware que executará o modelo:
| Alvo de implantação | Formato de exportação Ultralytics |
|---|---|
| Hailo NPU | Hailo HEF (format="hailo") |
| GPU NVIDIA | TensorRT |
| Intel CPU, GPU ou NPU | OpenVINO |
| Hardware Apple | CoreML |
| NPU Qualcomm Snapdragon | QNN |
| NPU Rockchip | RKNN |
| Raspberry Pi AI Camera | Sony IMX500 |
| Uso portátil entre runtimes | ONNX |
O HEF é a escolha correta quando o dispositivo final contém um acelerador Hailo. O ONNX continua sendo útil como um formato de intercâmbio portátil, mas o HailoRT executa o HEF específico de hardware produzido pelo DFC em vez do modelo ONNX original.
Link to this sectionOtimize o desempenho de visão computacional Hailo#
Escolhas de modelo e pipeline muitas vezes importam mais do que flags de compilador:
- Comece com um modelo YOLO pequeno e aumente o tamanho do modelo apenas quando a precisão exigir.
- Escolha o menor
imgszfixo que ainda preserve os objetos importantes para a aplicação. - Use imagens de calibração da câmera e do ambiente reais sempre que possível.
- Mantenha a rede Hailo ativa entre os quadros em vez de reabrir o HEF para cada inferência.
- Separe o tempo de inferência no dispositivo do pré-processamento, decodificação de vídeo, pós-processamento, visualização e I/O de rede.
- Use um pipeline de streaming como o GStreamer para cargas de trabalho de vídeo sustentadas.
- Valide o HEF exportado no acelerador exato e na versão do HailoRT usada em produção.
Link to this sectionArgumentos de Exportação#
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
name | str | hailo8l | Arquitetura do acelerador Hailo de destino |
imgsz | int, list | 640 | Tamanho fixo de entrada do modelo |
data | str | específico da tarefa | YAML do dataset de calibração |
fraction | float | 1.0 | Fração das imagens de calibração a utilizar |
quantize | int | 8 | A exportação Hailo usa quantização INT8 |
simplify | bool | True | Simplifique o grafo ONNX intermediário |
conf | float | 0.25 | Limiar de confiança do NMS HailoRT para YOLOv8/YOLO11 |
iou | float | 0.7 | Limiar de IoU do NMS HailoRT para YOLOv8/YOLO11 |
Para a exportação de detecção, o YOLOv8 e o YOLO11 recebem o HailoRT NMS, enquanto o YOLO26 mantém suas saídas one-to-one sem NMS. A segmentação, pose e OBB usam tensores de cabeça brutos, a classificação retorna probabilidades no chip e a segmentação semântica retorna logits brutos no Hailo-8/8L e todas as cabeças de classe única ou mapas de classes integrados para as cabeças multiclasse do Hailo-10/15. A estimativa de profundidade retorna o logit de profundidade bruto, que a Ultralytics decodifica em um mapa de profundidade métrica na inferência. Não passe end2end; substituições explícitas são rejeitadas. Formatos dinâmicos, lotes maiores que um, NMS da Ultralytics embutido, FP16 e FP32 também não são suportados.
Link to this sectionSolução de problemas na exportação Hailo#
Link to this sectionErro de importação do Hailo Dataflow Compiler#
Se a exportação informar que o hailo_sdk_client está faltando, instale o wheel do DFC para a geração de hardware alvo no mesmo ambiente Python que a Ultralytics. Hailo-8/8L e Hailo-10/15 exigem gerações diferentes de compiladores.
Link to this sectionSistema operacional ou arquitetura não suportados#
A compilação de HEF é suportada em Linux x86_64. Exporte através da Plataforma Ultralytics ou use uma estação de trabalho compatível se o computador local for macOS, Windows, Raspberry Pi ou outro sistema ARM.
Link to this sectionA exportação leva muito tempo#
A otimização do DFC é o estágio mais dispendioso. O tempo de compilação aumenta com o tamanho do modelo, resolução de entrada e dados de calibração. Uma GPU suportada pode acelerar a otimização, enquanto a compilação apenas por CPU pode ser substancialmente mais lenta.
Link to this sectionA precisão do modelo quantizado cai#
Use imagens de calibração que se assemelhem às entradas de produção e incluam os objetos, escalas, condições de iluminação e fundos importantes. Compare o modelo original do PyTorch e o HEF exportado no mesmo conjunto de validação antes da implantação. Uma lacuna moderada dependente da família permanece mesmo com uma boa calibração; consulte Expectativas de precisão por família de modelo para as linhas de base medidas.
Link to this sectionO HEF não carrega no dispositivo#
Confirme se o name corresponde à arquitetura física Hailo e se o driver do dispositivo, firmware e pacotes HailoRT são mutuamente compatíveis. Inspecione o artefato com hailortcli parse-hef e verifique o acelerador com hailortcli fw-control identify.
Link to this sectionO processamento de saída parece incorreto#
Mantém o metadata.yaml ao lado do HEF para que a Ultralytics possa selecionar o caminho de pós-processamento correspondente do YOLOv8, YOLO11 ou YOLO26. Aplicações HailoRT personalizadas devem, da mesma forma, corresponder o pós-processamento à família de modelos exportada.
Link to this sectionFAQ#
Link to this sectionPosso compilar um HEF em um Raspberry Pi?#
Não. Execute o DFC em um sistema Linux x86_64 suportado e implante o HEF resultante no Raspberry Pi.
Link to this sectionPreciso de uma GPU NVIDIA?#
Uma GPU suportada reduz drasticamente o tempo de otimização do DFC. A compilação por CPU é possível, mas pode levar substancialmente mais tempo.
Link to this sectionQuais modelos YOLO suportam a exportação Hailo?#
A exportação direta suporta modelos de detecção com a cabeça de detecção padrão do YOLOv8, YOLO11 ou YOLO26, modelos de segmentação, pose e OBB do YOLOv8/YOLO11, e modelos de classificação do YOLOv8/YOLO11/YOLO26. Isso inclui modelos treinados personalizados construídos a partir dessas arquiteturas padrão. Os modelos de segmentação semântica e estimativa de profundidade do YOLO26 também são suportados. A segmentação de instâncias, pose e OBB do YOLOv26, juntamente com YOLOv10, YOLO-World, YOLOE e RT-DETR, são rejeitados em vez de produzirem um HEF não validado.
Link to this sectionPosso exportar um modelo YOLO treinado personalizado?#
Sim. Use o mesmo comando format="hailo" com os pesos .pt personalizados e passe o YAML do dataset de treinamento através de data para uma calibração INT8 representativa. Os nomes das classes e a contagem de classes são lidos dos metadados do modelo.
Link to this sectionA exportação Hailo suporta tamanhos de imagem dinâmicos?#
Não. O DFC compila uma forma de entrada fixa no HEF. Escolha o imgsz durante a exportação para corresponder à resolução usada pelo pipeline de implantação.
Link to this sectionPor que o YOLO26 produz saídas Hailo diferentes?#
O YOLO26 usa uma cabeça de detecção um-para-um sem NMS. A Ultralytics compila esses tensores de saída diretamente em vez de anexar o NMS estilo YOLOv8 do HailoRT usado para YOLOv8 e YOLO11.
Link to this sectionQual é a diferença entre o DFC e o HailoRT?#
O Hailo Dataflow Compiler converte e quantiza o modelo em um HEF específico de hardware em uma máquina de construção Linux x86_64. O HailoRT carrega e executa esse HEF no dispositivo de destino.
Link to this sectionDevo implantar o arquivo ONNX ou HEF?#
Implante o HEF compilado no runtime Hailo. O ONNX é uma representação intermediária usada durante a exportação e é removida após a compilação bem-sucedida.
Link to this sectionOnde posso obter o DFC da Hailo?#
Baixe o wheel do compilador para a sua geração de hardware na Hailo Developer Zone. O compilador é necessário apenas para criar o HEF; o HailoRT executa-o no acelerador de destino.
Link to this sectionResumo#
A exportação Hailo da Ultralytics fornece um caminho direto de um modelo YOLO treinado para um HEF implantável:
- Carregue um modelo de detecção ou classificação do YOLOv8, YOLO11 ou YOLO26, um modelo de segmentação, pose ou OBB do YOLOv8/YOLO11, ou um modelo de segmentação semântica ou estimativa de profundidade do YOLO26.
- Exporte com
format="hailo"e selecione a arquitetura de destino. - Calibre e compile localmente com o DFC correspondente, ou use a exportação gerenciada na Plataforma Ultralytics.
- Copie o HEF e o
metadata.yamlpara o dispositivo de borda com tecnologia Hailo. - Execute a inferência com HailoRT, Raspberry Pi Picamera2 ou um pipeline de vídeo GStreamer.
Para outros destinos de implantação de visão computacional, veja o modo Export, modo Benchmark e o guia de integrações. Guias de hardware relacionados incluem ONNX, OpenVINO, TensorRT, NCNN, RKNN, Sony IMX500 e Qualcomm QNN.