Découvrez la détection d'objets en 3D pour maîtriser la perception spatiale dans l'IA. Découvrez comment Ultralytics permet d'estimer la profondeur, l'orientation et le cadre de sélection 3D dans le monde réel.
La détection d'objets en 3D est une tâche sophistiquée de vision par ordinateur qui permet aux machines d'identifier, de localiser et de déterminer la taille des objets dans un espace tridimensionnel. Contrairement à la détection d'objets en 2D traditionnelle, qui trace un rectangle plat autour d'un élément dans une image, la détection d'objets en 3D estime un parallélépipède rectangle (une boîte en 3D) qui encapsule l'objet. Cela fournit des informations essentielles sur la profondeur, l' orientation (direction) et les dimensions spatiales précises, permettant aux systèmes de comprendre non seulement ce qu' est un objet, mais aussi où il se trouve exactement par rapport au capteur dans le monde réel. Cette capacité est fondamentale pour les technologies qui doivent interagir physiquement avec leur environnement.
Pour percevoir la profondeur et le volume, les modèles de détection 3D s'appuient généralement sur des données plus riches que celles fournies par les caméras standard. Si certaines méthodes avancées permettent de déduire des structures 3D à partir d'images monoculaires (à objectif unique), la plupart des systèmes robustes utilisent les données provenant de capteurs LiDAR, de radars ou de caméras stéréo. Ces capteurs génèrent des nuages de points, c'est-à-dire des collections massives de points de données représentant la surface externe des objets.
Le processus comprend plusieurs étapes clés :
Il est important de distinguer ces deux concepts apparentés.
La transition de la perception 2D à la perception 3D ouvre la voie à de puissants cas d'utilisation dans les secteurs où la sécurité et la perception spatiale sont primordiales.
Alors que la détection 3D complète nécessite souvent des architectures spécialisées de nuages de points, les détecteurs 2D modernes tels que YOLO26 sont de plus en plus utilisés comme composants dans les flux de travail pseudo-3D ou pour estimer la profondeur grâce à la mise à l'échelle des cadres de sélection. Pour les développeurs qui souhaitent former des modèles à partir de leurs propres ensembles de données, la Ultralytics offre un environnement simplifié pour l' annotation et la formation.
Voici un exemple simple illustrant comment exécuter une détection standard à l'aide dePython Ultralytics , qui constitue souvent la première étape d'un pipeline de perception plus large :
import cv2
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Perform inference on a local image
results = model("path/to/image.jpg")
# Visualize the results
for result in results:
# Plot predictions on the image (returns a numpy array)
im_array = result.plot()
# Display using OpenCV
cv2.imshow("Detections", im_array)
cv2.waitKey(0) # Press any key to close
cv2.destroyAllWindows()
Malgré son utilité, la détection d'objets en 3D pose des défis en termes de coût de calcul et de prix des capteurs. Le traitement de millions de points dans un nuage de points nécessite GPU importante, ce qui rend difficile son déploiement sur des appareils périphériques. Cependant, les innovations en matière de quantification des modèles et d' architectures neuronales efficaces réduisent cette charge.
De plus, des techniques telles que la fusion de capteurs améliorent la précision en combinant les informations riches en couleurs des caméras avec les données de profondeur précises du LiDAR. À mesure que ces technologies mûrissent, nous pouvons nous attendre à voir la perception 3D intégrée dans des appareils plus accessibles, des lunettes de réalité augmentée aux appareils électroménagers intelligents.