Déploiement de Luxonis OAK pour Ultralytics YOLO#
Les caméras Luxonis OAK exécutent les modèles Ultralytics YOLO sur l'appareil après conversion à l'aide des outils Luxonis. Il s'agit d'un workflow de déploiement manuel ; Luxonis n'est pas une cible native model.export(format="...") d'Ultralytics.
Ce guide couvre les appareils RVC2 et RVC4. Effectue la conversion pour la plateforme de ta caméra : les artefacts RVC2 et RVC4 ne sont pas interchangeables. Les familles de modèles et les tâches prises en charge varient ; consulte la matrice de compatibilité des outils Luxonis avant la conversion.
Commence avec un point de contrôle YOLO .pt pris en charge, tel que yolo26n.pt, ou ton propre modèle entraîné. L'archive NN convertie regroupe le modèle et les métadonnées du runtime.
Conversion dans le cloud avec Luxonis Hub#
- Connecte-toi à Luxonis Hub, puis ouvre Conversion rapide.
- Sélectionne YOLO, choisis RVC2 ou RVC4, puis téléverse ton point de contrôle
.pt. - Définis la forme d'entrée et les paramètres de conversion, puis lance la conversion.
- Une fois la conversion terminée, copie l'identifiant du modèle converti pour l'exemple d'inférence ci-dessous, ou télécharge son archive NN.
Pour automatiser la conversion ou utiliser des données d'étalonnage RVC4 personnalisées, utilise le SDK HubAI. Suis ses instructions d'installation dans un environnement Python 3.10 ou ultérieur. La page Conversion détaillée présente la gestion du registre et les jeux de données d'étalonnage prédéfinis.
Conversion locale avec Tools et ModelConverter#
Utilise Python 3.10 ou ultérieur et Docker. Installe Luxonis Tools en suivant ses instructions d'installation en amont, y compris les contraintes relatives aux dépendances. Tools prépare les sorties YOLO pour l'analyse par Luxonis ; une exportation ONNX générique ne remplace pas cette étape.
# 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.0Tools écrit yolo26n.tar.xz dans un répertoire horodaté sous output/. Remplace le chemin d'exemple ci-dessous par celui de ce fichier. Pour la conversion INT8 RVC4, renseigne calibration_images/ avec des images représentatives du déploiement ; consulte les exigences relatives aux données d'étalonnage.
modelconverter convert rvc4 --path output/yolo26n_20260807_104858/yolo26n.tar.xz \
calibration.path calibration_images/Pour RVC2, utilise rvc2 au lieu de rvc4 ; les images d'étalonnage ne sont pas nécessaires pour sa conversion FP16. Pour l'inférence, utilise l'archive NN compilée générée dans le répertoire de sortie de ModelConverter, plutôt que l'archive ONNX intermédiaire. Consulte ModelConverter pour connaître les chemins de sortie et les options propres à chaque plateforme.
Exécuter l'inférence sur une caméra OAK#
Connecte une caméra OAK compatible et installe DepthAI dans ton environnement Python :
pip install depthai==3.9.0Pour un modèle Hub privé, définis DEPTHAI_HUB_API_KEY sur une clé API Luxonis Hub avant d'exécuter le script. Remplace your-model-identifier par l'identifiant du modèle dans Hub, ou utilise l'archive NN compilée locale.
import depthai as dai
model = "your-model-identifier"
# Tu peux aussi utiliser ton artefact local converti :
# 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()Ouvre http://localhost:8082 pour afficher le flux RGB et les détections. DetectionNetwork prend également en charge les modèles compatibles de segmentation d'instances et d'estimation de pose. Pour les autres tâches, notamment la segmentation sémantique et la classification, suis les consignes d'inférence propres à chaque tâche.
Pour les pipelines de profondeur stéréo, consulte l'exemple de détection spatiale. Évalue les performances de ton modèle sur la caméra cible à l'aide du guide d'évaluation des performances ; le débit dépend du modèle, de la taille d'entrée, de la précision et de la configuration du pipeline.
FAQ#
Non. Luxonis n'est pas un format d'exportation natif d'Ultralytics. Convertis un point de contrôle
.ptavec Luxonis Hub ou le workflow local avec Tools et ModelConverter, puis exécute l'archive NN obtenue avec DepthAI.Non. Les artefacts RVC2 et RVC4 sont compilés pour des matériels différents et ne sont pas interchangeables ; effectue donc une conversion pour chaque plateforme.
La prise en charge est déterminée par les outils Luxonis, et non par Ultralytics. Consulte la matrice de compatibilité des outils Luxonis avant la conversion, et les consignes d'inférence propres à chaque tâche pour exécuter des modèles autres que ceux de détection.