Entdecken Sie, wie Tiefenschätzung Tiefenkarten aus Bildern erstellt - Stereo, ToF, LiDAR und monokulares Deep Learning - um Robotik, AR/VR und 3D-Wahrnehmung zu unterstützen.
Tiefenschätzung ist eine grundlegende Aufgabe in der Computer Vision (CV), bei der es um die Bestimmung der Entfernung von Objekten in einer Szene relativ zur Kamera. Durch die Berechnung des Tiefenwerts für jedes Pixel in einem Bild, Dieser Prozess verwandelt zweidimensionale Standarddaten in eine umfassende 3D-Darstellung, die oft als Tiefenkarte bezeichnet wird. Diese Fähigkeit ist für Maschinen unerlässlich, um räumliche Beziehungen wahrzunehmen, damit sie sich in der Umgebung zurechtfinden können, Objekte zu manipulieren und die Geometrie der Welt zu verstehen, ähnlich wie das menschliche Sehsystem.
Die Schätzung der Tiefe kann mit verschiedenen Methoden erfolgen, die von hardwareintensiver aktiver Abtastung bis zu softwaregesteuerten Deep-Learning-Ansätzen (DL).
Die Fähigkeit, die dritte Dimension wahrzunehmen, erschließt wichtige Funktionen für verschiedene Branchen.
Im Bereich der autonomen Fahrzeuge ist die Tiefen Tiefenschätzung für die Sicherheit und Navigation von entscheidender Bedeutung. Selbstfahrende Autos kombinieren Kameradaten mit LiDAR, um Hindernisse detect , um Hindernisse zu erkennen, die Entfernung zu anderen Fahrzeugen abzuschätzen und eine Echtzeitkarte der Straße zu erstellen. Ähnlich verhält es sich in der der Robotik ermöglicht die Tiefenwahrnehmung automatischen Armen die Position und Form von Gegenständen in Automatisierungsabläufen der Fertigung genau einschätzen. Arbeitsabläufen der Fertigungsautomatisierung.
Für erweiterte Realität Erfahrungen immersiv zu sein, müssen virtuelle Objekte realistisch mit der physischen Welt interagieren. Die Tiefenabschätzung ermöglicht es mobilen Geräten, die Geometrie eines Raums zu verstehen, so dass virtuelle Möbel oder Figuren auf dem Boden platziert oder hinter auf dem Boden platziert oder hinter realen Objekten versteckt werden (Okklusion), was das Nutzererlebnis erheblich verbessert.
Obwohl es spezielle Tiefenmodelle gibt, verwenden Entwickler häufig 2D
Objekterkennung neben den Kalibrierungsdaten zur
Entfernung anzunähern. Die ultralytics Bibliothek vereinfacht dies durch ihr Lösungsmodul, das es dem Benutzer ermöglicht
die Entfernung von verfolgten Objekten auf der Grundlage ihrer Bounding-Box-Positionen zu schätzen.
Der folgende Code zeigt, wie man YOLO11 verwendet wird, um Objekte track und ihre ungefähre Entfernung zur Kamera berechnet.
import cv2
from ultralytics import YOLO, solutions
# Load the YOLO11 model for object detection
model = YOLO("yolo11n.pt")
# Initialize the DistanceCalculation solution
# This estimates distance based on bounding box centroids
dist_obj = solutions.DistanceCalculation(names=model.names, view_img=True)
# Open a video file or camera stream
cap = cv2.VideoCapture("path/to/video.mp4")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
# Track objects and calculate distance
tracks = model.track(im0, persist=True, show=False)
im0 = dist_obj.start_process(im0, tracks)
# Display result (or save/process further)
cv2.imshow("Distance Estimation", im0)
if cv2.waitKey(1) == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
Es ist wichtig, die Tiefenabschätzung von ähnlichen Begriffen im KI-Ökosystem zu unterscheiden:
Jüngste Fortschritte in der generativen KI und grundlegenden Modelle überbrücken die Kluft zwischen 2D und 3D weiter. Techniken wie Neural Radiance Fields (NeRF) verwenden spärliche 2D-Bilder zur Rekonstruktion komplexe 3D-Szenen zu rekonstruieren, wobei sie sich stark auf die zugrunde liegenden Tiefenprinzipien stützen. Mit der Modelloptimierung verbessert, wird eine hochpräzise Tiefenschätzung auf Edge-Geräten möglich, die die nächste Generation von intelligenten Drohnen, Servicerobotern und Geräten für räumliche Datenverarbeitung.