Implementação do Luxonis OAK para o Ultralytics YOLO#
As câmeras Luxonis OAK executam modelos do Ultralytics YOLO no dispositivo após a conversão com as ferramentas do Luxonis. Este é um fluxo de trabalho de implementação manual; o Luxonis não é um destino nativo do model.export(format="...") da Ultralytics.
Este guia abrange os dispositivos RVC2 e RVC4. Converta para a plataforma da tua câmera: os artefatos RVC2 e RVC4 não são intercambiáveis. As famílias de modelos e as tarefas suportadas variam; verifique a matriz de suporte do Luxonis Tools antes da conversão.
Comece com um ponto de verificação compatível do YOLO .pt, como yolo26n.pt, ou com o teu próprio modelo treinado. O NN Archive convertido empacota o modelo e os metadados de execução.
Conversão em Nuvem com o Luxonis Hub#
- Inicie sessão no Luxonis Hub e abra a Quick Conversion.
- Selecione YOLO, escolha RVC2 ou RVC4 e carregue o teu ponto de verificação
.pt. - Defina a forma de entrada e os parâmetros de conversão e, em seguida, envie a conversão.
- Após a conclusão, copie o identificador do modelo convertido para o exemplo de inferência abaixo ou transfira o respetivo NN Archive.
Para conversão automatizada ou dados de calibração personalizados do RVC4, utilize o HubAI SDK. Siga as instruções de instalação num ambiente Python 3.10+. O Detailed Conversion fornece gerenciamento de registo e conjuntos de dados de calibração predefinidos.
Conversão Local com o Tools e o ModelConverter#
Utilize o Python 3.10+ e o Docker. Instale o Luxonis Tools utilizando as instruções de configuração iniciais, incluindo as restrições de dependência. O Tools prepara as saídas do YOLO para a análise do Luxonis; uma exportação ONNX genérica não substitui esta etapa.
# Export the checkpoint to an ONNX NN Archive
tools yolo26n.pt --imgsz "640 640" --output-dir output
# Install the target-platform converter
pip install modelconv==0.6.0O Tools grava yolo26n.tar.xz dentro de um diretório com marca temporal em output/. Substitua o exemplo de caminho abaixo por esse ficheiro. Para a conversão RVC4 INT8, preencha calibration_images/ com imagens de implementação representativas; consulte os requisitos de dados de calibração.
modelconverter convert rvc4 --path output/yolo26n_20260807_104858/yolo26n.tar.xz \
calibration.path calibration_images/Para o RVC2, utilize rvc2 em vez de rvc4; as imagens de calibração não são necessárias para a conversão FP16 do mesmo. Utilize o NN Archive compilado resultante do diretório de saída do ModelConverter para a inferência, em vez do arquivo ONNX intermédio. Consulte o ModelConverter para conhecer os caminhos de saída e as opções específicas da plataforma.
Executar a Inferência numa Câmera OAK#
Conecte uma câmera OAK compatível e instale o DepthAI no teu ambiente Python:
pip install depthai==3.9.0Para um modelo privado do Hub, defina DEPTHAI_HUB_API_KEY para uma chave de API do Luxonis Hub antes de executar o script. Substitua your-model-identifier pelo identificador do Hub ou utilize a alternativa local do NN Archive compilado.
import depthai as dai
model = "your-model-identifier"
# Alternatively, use your converted local artifact:
# model = dai.NNArchive("path/to/model.rvc4.tar.xz")
visualizer = dai.RemoteConnection()
with dai.Pipeline() as pipeline:
camera = pipeline.create(dai.node.Camera).build()
detection = pipeline.create(dai.node.DetectionNetwork).build(camera, model)
visualizer.addTopic("rgb", detection.passthrough, group="RGB")
visualizer.addTopic("detections", detection.out, group="RGB")
pipeline.start()
visualizer.registerPipeline(pipeline)
while pipeline.isRunning():
if visualizer.waitKey(1) == ord("q"):
pipeline.stop()Abra http://localhost:8082 para ver o fluxo RGB e as detecções. DetectionNetwork também suporta modelos compatíveis de segmentação de instâncias e de pose. Para outras tarefas, incluindo segmentação semântica e classificação, siga as orientações de inferência específicas da tarefa.
Para dutos de profundidade estéreo, consulte o exemplo de detecção espacial. Mensure o teu modelo na câmera de destino utilizando o guia de benchmarking; o rendimento depende do modelo, do tamanho da entrada, da precisão e da configuração do duto.