Depth Estimation
يتنبأ تقدير العمق بمدى بُعد كل بكسل عن الكاميرا، وينتج خريطة عمق من كاميرات الاستريو أو المستشعرات النشطة أو صورة واحدة.
تقدير العمق هو مهمة في الرؤية الحاسوبية تهدف إلى التنبؤ، لكل بكسل في الصورة، بالمسافة بين الكاميرا والسطح الذي يمثله ذلك البكسل. والناتج هو خريطة عمق، وهي شبكة من قيم المسافة بأبعاد الصورة تضيف البعد الثالث الذي تفتقر إليه الصورة المسطحة. وتزوّد هذه الخريطة الروبوتات والمركبات وأجهزة الواقع المعزز بتصوّر ثلاثي الأبعاد للمشهد باستخدام كاميرات عادية.
طرق الحصول على العمق#
- الرؤية المجسمة: ترى كاميرتان معايرتان تفصل بينهما مسافة معروفة كل نقطة في موضع أفقي مختلف قليلًا. ويتيح هذا الإزاحة، أي اختلاف المنظر، حساب العمق وفقًا للمعادلة: البعد البؤري × المسافة بين الكاميرتين ÷ اختلاف المنظر؛ لذا تُقاس الأجسام البعيدة ذات اختلاف المنظر الصغير بدقة أقل، ويصعب مطابقة الأسطح الخالية من النسيج، مثل الجدران البيضاء، بين الصورتين.
- LiDAR والمستشعرات النشطة الأخرى: يقيس LiDAR زمن عودة نبضات الليزر، ويوفر نقاطًا دقيقة لكنها متناثرة عند المسافات الطويلة، بينما توفر كاميرات زمن الرحلة والضوء المنظّم بيانات عمق كثيفة عند المسافات القصيرة، وغالبًا داخل المباني. كما تنتج هذه المستشعرات بيانات الحقيقة الأساسية التي تتدرب عليها النماذج المتعلمة.
- تقدير العمق أحادي العين: تتنبأ شبكة عصبية بالعمق من صورة واحدة، مستعينة بإشارات مثل المنظور والحجم المعروف للأجسام المألوفة وتدرجات النسيج والحجب. وهذه مسألة غير محددة جيدًا، إذ يمكن لسيارة لعبة قريبة وسيارة حقيقية بعيدة أن تنتجا الصورة نفسها، لذا يعتمد النموذج على ما تعلمه عن المشاهد المعتادة.
- تحديد الموقع ورسم الخرائط المتزامنان بصريًا (Visual SLAM) والأساليب متعددة المناظر الأخرى: تستعيد أساليب البنية من الحركة وVisual SLAM العمق عبر تثليث النقاط بين إطارات ملتقطة من مواضع مختلفة.
تقدير العمق أحادي العين باستخدام التعلم العميق#
تأتي نماذج العمق المتعلَّمة بنوعين. تتنبأ نماذج العمق النسبي بترتيب الأسطح وشكلها ضمن مقياس وإزاحة غير معروفين، وهو ما يكفي لتأثيرات مثل تمويه الخلفية وترتيب العناصر بحسب قربها. وقد جعل MiDaS هذا النهج فعالًا عبر مشاهد شديدة الاختلاف، وذلك بالتدريب على مزيج من مجموعات البيانات، بما فيها أفلام ثلاثية الأبعاد، باستخدام دالة خسارة لا تتأثر بالمقياس والإزاحة. أما Depth Anything V2 فيدرّب نماذج تتراوح معلماتها بين 25 مليونًا و1.3 مليار على تسميات اصطناعية ومجموعات كبيرة من الصور الحقيقية ذات التسميات شبه الآلية. وتتنبأ نماذج العمق المتري بالمسافات بالأمتار، وهو ما تحتاج إليه الروبوتات وأدوات القياس: إذ ينتج Depth Pro من Apple خريطة عمق مترية بدقة 2.25 ميغابكسل خلال 0.3 ثانية على GPU قياسي، دون الحاجة إلى المعلمات الداخلية للكاميرا.
تتنبأ نماذج العمق في Ultralytics YOLO26 بالعمق المتري من صورة واحدة باستخدام رأس عمق لوغاريتمي يمتد ناتجه من نحو 0.02 إلى 150 مترًا، لذا يغطي النموذج نفسه الغرف التي لا يتجاوز عمقها بضعة أمتار ومشاهد القيادة التي تصل إلى 80 مترًا. ويتطلب تحميل النموذج وإجراء التنبؤ وحفظ النتيجة بضعة أسطر:
from ultralytics import YOLO
# Load a YOLO26 monocular depth model
model = YOLO("yolo26n-depth.pt")
# Predict a depth map for one image
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Per-pixel depth in meters, at the original image's resolution
depth = result.depth.data
print(f"Nearest {depth.min():.1f} m, farthest {depth.max():.1f} m")
# Save a colorized depth map blended over the photo
result.save(filename="depth_result.jpg")يوضح النطاق المطبوع أقرب الأسطح وأبعدها التي يرصدها النموذج في مشهد الشارع، وتلوّن الصورة المحفوظة كل بكسل وفق المسافة التي تنبأ بها.
قياس الدقة#
تُقيَّم نماذج العمق لكل بكسل بمقارنة تنبؤاتها بالقيم المرجعية التي يوفرها المستشعر. يحسب الخطأ النسبي المطلق (AbsRel) متوسط الخطأ كنسبة من العمق الحقيقي، ويعبّر الجذر التربيعي لمتوسط مربعات الخطأ (RMSE) عنه بالأمتار، بينما تمثل δ1 نسبة البكسلات التي يقع تنبؤها ضمن عامل 1.25 من القيمة الحقيقية. وتتمثل المعايير القياسية في NYU Depth V2، الذي يضم مشاهد داخلية التُقطت بمستشعر Kinect، وKITTI، الذي يضم مشاهد قيادة ذات قيم مرجعية من LiDAR، ويُقيَّم عادةً حتى مسافة 80 مترًا. وتُواءم تنبؤات العمق النسبي مع القيم المرجعية من حيث المقياس والإزاحة قبل التقييم، لذا تقيس نتائجها الشكل فقط. كما أن المتوسط المحسوب على جميع البكسلات يخفي تسرّب العمق، حيث يمتد العمق المتنبأ به عبر حدود الأجسام؛ ولهذا قدّم Depth Pro مقاييس مخصصة لدقة الحدود.
تقدير العمق مقارنةً بالمهام ذات الصلة#
- كشف الأجسام ثلاثي الأبعاد: يتنبأ بصندوق ثلاثي الأبعاد يحدد موضع كل جسم وحجمه واتجاهه، وغالبًا ما يستخدم العمق مدخلًا.
- التقسيم الدلالي: يعيّن تسمية فئة لكل بكسل، وعند دمجه مع خريطة عمق يوضح للروبوت ماهية كل سطح ومدى بعده.
- إعادة البناء ثلاثي الأبعاد: تنشئ شبكة مجسمة كاملة أو سحابة نقاط للمشهد، عادةً بدمج بيانات العمق من زوايا رؤية متعددة.
تطبيقات عملية#
- مساعدة السائق والقيادة الذاتية: تضيف بيانات العمق المستندة إلى الكاميرا تقديرات للمسافة إلى السيارات والمشاة المكتشَفين، إلى جانب LiDAR أو بدلًا منه.
- الروبوتات: يتطلب الإمساك بالأشياء والتنقل معرفة المسافة إلى كل سطح، كما يجنّب العمق المستخلص من كاميرا RGB واحدة الروبوتات الصغيرة الحاجة إلى مستشعرات إضافية.
- الواقع المعزز: تتيح خرائط العمق إخفاء الأجسام الافتراضية على نحو صحيح خلف الأجسام الحقيقية ووضعها على الأسطح الحقيقية.
- التصوير الفوتوغرافي: تموّه أوضاع التصوير العمودي في الهواتف الخلفية باستخدام العمق المستخلص من كاميرات مزدوجة أو مستشعرات ثنائية البكسل أو نموذج أحادي العين، وتُحدد شدة التمويه وفق المسافة المقدرة لكل بكسل.










