اكتشف كيف ينشئ تقدير العمق خرائط العمق من الصور - المجسمة، والتركيز الترددي الترددي، والليدار، والتعلم العميق الأحادي - لتشغيل الروبوتات والواقع المعزز/الواقع الافتراضي والإدراك ثلاثي الأبعاد.
تقدير العمق هو مهمة أساسية في الرؤية الحاسوبية (CV) التي تتضمن تحديد مسافة الأجسام في المشهد بالنسبة للكاميرا. من خلال حساب قيمة العمق لكل بكسل في الصورة, تقوم هذه العملية بتحويل البيانات القياسية ثنائية الأبعاد إلى تمثيل ثلاثي الأبعاد غني، وغالبًا ما يشار إليه باسم خريطة العمق. هذه الإمكانية ضرورية للآلات لإدراك العلاقات المكانية، مما يمكّنها من التنقل في البيئات, والتلاعب بالأشياء وفهم هندسة العالم مثلما يفعل النظام البصري البشري.
يمكن تحقيق تقدير العمق من خلال طرق مختلفة، بدءاً من الاستشعار النشط كثيف الأجهزة إلى نهج التعلم العميق القائم على البرمجيات (DL).
إن القدرة على إدراك البُعد الثالث يفتح وظائف مهمة في مختلف الصناعات.
في مجال المركبات ذاتية القيادة، يُعد تقدير العمق يعد تقدير العمق أمراً حيوياً للسلامة والملاحة. تدمج السيارات ذاتية القيادة بيانات الكاميرا مع الليدار detect العوائق, وتقدير المسافة إلى المركبات الأخرى، وإنشاء خريطة للطريق في الوقت الفعلي. وبالمثل، في الروبوتات، يتيح إدراك العمق للأذرع الآلية إجراء عمليات "الالتقاط والتركيب" من خلال الحكم بدقة على موضع وشكل العناصر في سير عمل أتمتة التصنيع.
لكي تكون تجارب الواقع المعزز غامرة، يجب أن تتفاعل الكائنات الافتراضية بشكل واقعي مع العالم المادي. يتيح تقدير العمق للأجهزة المحمولة فهم هندسة الغرفة، مما يسمح بوضع الأثاث أو الشخصيات الافتراضية على الأرض أو إخفائها خلف كائنات حقيقية (الانسداد)، مما يحسن تجربة المستخدم بشكل كبير.
بينما توجد نماذج العمق المخصصة، غالبًا ما يستخدم المطورون نماذج العمق ثنائية الأبعاد
اكتشاف الأجسام إلى جانب بيانات المعايرة لـ
المسافة التقريبية. إن ultralytics تبسط المكتبة ذلك من خلال وحدة الحلول الخاصة بها، مما يسمح للمستخدمين
تقدير مسافة الأجسام المتعقَّبة بناءً على مواضع مربعاتها المحدودة.
يوضح الرمز التالي كيفية استخدام YOLO11track الأجسام وحساب المسافة التقريبية التقريبي من الكاميرا.
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()
من المهم التمييز بين تقدير العمق والمصطلحات المماثلة في منظومة الذكاء الاصطناعي:
التطورات الحديثة في الذكاء الاصطناعي التوليدي والنماذج الأساسية تقرب الفجوة بين الأبعاد الثنائية والثلاثية. تستخدم تقنيات مثل Neural Radiance Fields (NeRF) صور ثنائية الأبعاد متفرقة لإعادة بناء مشاهد ثلاثية الأبعاد معقدة، معتمدة بشكل كبير على مبادئ العمق الأساسية. مع تحسن تحسين النماذج، أصبح تقدير العمق بدقة عالية ممكنًا على أجهزة الذكاء الاصطناعي المتطورة، مما يدعم الجيل التالي من الطائرات بدون طيار الذكية والروبوتات الخدمية وأجهزة الحوسبة المكانية.