مجموعة بيانات العمق ImageNet (المصنفة زائفاً)#
يعيد استخدام مجموعة بيانات ImageNet (العمق المحدد زائفًا) صور التدريب البالغ عددها 1,281,167 صورة في ImageNet-1K، والتي ليس لها عمق أساسي أرضي، ويقرن كل صورة بخريطة عمق زائفة تنتجها معلم Depth Anything 3، جامعًا بين نقاط التفتيش أحادية العين والمترية الخاصة به. وهي تستخدم بحتة لـ التطرير المعرفي (التقطير) ومن أجل تنوع المشاهد والكائنات الذي توفره ImageNet. وباعتبارها المصدر الأكبر منفردًا في مزيج التدريب المسبق لـ YOLO26-Depth البالغ نحو 2.19 مليون صورة (حوالي 58٪)، فإن إضافتها كانت حاسمة للتعميم عبر النطاقات الداخلية.
الميزات الرئيسية#
- 1,281,167 صورة تدريب من ImageNet-1K تغطي مجموعة واسعة جداً من الكائنات والمشاهد والسياقات.
- لا يوجد عمق أساسي أرضي: كل هدف عمق هو تسمية زائف تم إنشاؤها بواسطة معلم Depth Anything 3 يربط (
DA3MONO-LARGEلهيكل المشهد،DA3METRIC-LARGEللمقياس المتري). - تُستخدم فقط للتقطير المعرفي وتنوع المشاهد/الكائنات، وليس كمعيار قياسي.
- أكبر مصدر فردي في مزيج التدريب المسبق الذي يضم حوالي 2.19 مليون صورة (~58%)، وكان حاسماً للتعميم عبر النطاقات الداخلية.
- لا يوجد تقسيم للتحقق (validation split) — يتم إجراء التحقق فقط على مجموعات بيانات العمق الحقيقية (ground-truth).
هيكل مجموعة البيانات#
يتكون مصدر ImageNet المصنف زائفاً من صور تدريب ImageNet-1K مع خريطة عمق واحدة يتم إنشاؤها آلياً لكل صورة:
- صور التدريب: 1,281,167 صورة تدريب من ImageNet-1K، وهي أكبر مكون فردي (~58%) من مزيج التدريب المسبق لـ YOLO26-Depth الذي يضم حوالي 2.19 مليون صورة.
- التحقق: لا يوجد. هذا المصدر لا يحتوي على تقسيم للتحقق؛ يستخدم التحقق في YOLO26-Depth مجموعات البيانات ذات العمق الحقيقي (ground-truth) فقط مثل NYU Depth V2 و KITTI Eigen.
كيفية إنشاء التسميات الزائفة#
نظرًا لأن ImageNet تُطرح بدون تعليقات توضيحية للعمق، يتم إنتاج أهداف العمق دون اتصال بالإنترنت بدلاً من قياسها. يتم الجمع بين نقطتي تفتيش Depth Anything 3، واحدة لهيكل المشهد والأخرى للمقياس المطلق:
- يتم تمرير كل صورة تدريب في ImageNet عبر
depth-anything/DA3MONO-LARGE، والتي تتنبأ بخريطة عمق مفصلة للغاية لا يتم تحديدها إلا حتى مقياس وإزاحة غير معروفين لكل صورة، وعبرdepth-anything/DA3METRIC-LARGE، الذي يكون إخراجه أكثر خشونة ولكنه بوحدات حقيقية. - يقوم توافق أفيني قوي لكل صورة بتعيين التنبؤ أحادي العين على التنبؤ المتري،
label = a * mono + b. وبالتالي فإن كل تفاصيل لكل بكسل تأتي من نقطة التفتيش أحادية العين، بينما تحدد نقطة التفتيش المتري فقط العدديين اللذين يضعان الخريطة على محور المتر. لا توجد معلمات داخلية للكاميرا متضمنة، لذا يمكن تسمية الصور بدون معايرة. - يتم حفظ النتيجة كمصفوفة
.npyبالأمتار، وفقًا لـ تنسيق مجموعة بيانات العمق من Ultralytics، ومقرونة بصورتها المصدرية حسب جذع الملف. تُخزن هذه الخرائط بتنسيق float16 لتنصف المساحة على القرص عبر 1.28 مليون ملف؛ يقوم محمل مجموعة بيانات بتحويلها إلى float32 عند القراءة، ويبقى float32 هو التنسيق الموثق لمجموعات بيانات العمق المخصصة. - تتم بعد ذلك إضافة الأزواج المصنفة زائفاً كمكون من مزيج تدريب أكبر، حيث يتعلم نموذج الطالب YOLO26-Depth مطابقة المعلم مع التدريب أيضاً على مصادر العمق الحقيقية (ground-truth).
نظرًا لأن المقياس يأتي من تنبؤ وليس قياسًا، يمكن أن تحمل كل خريطة خطأ مقياس عالمي. يتم التدريب في YOLO26-Depth باستخدام خسارة لوغاريتمية ثابتة المقياس (SILog) بالإضافة إلى مطابقة التدرج ويتم التحقق من صحتها بمحاذاة المتوسط، لذلك يتم استيعاب إزاحة مقياس لكل صورة في التسميات الزائفة إلى حد كبير.
هذا المصدر المصنف زائفاً هو مكون من تكوين التدريب المختلط الداخلي المستخدم للتدريب المسبق لأوزان YOLO26-Depth المُصدرة ولا يتم توزيعه كتنزيل مستقل.
الدور في YOLO26-Depth#
يساهم هذا المصدر بالجزء الأكبر من بيانات التدريب المسبق لـ YOLO26-Depth وأوسع تنوع للمشاهد والكائنات. من خلال تقطير معلم Depth Anything 3 القوي عبر أكثر من مليون صورة، فإنه ينقل أولويات المشهد الواسعة إلى الطالب. من الناحية العملية، كانت إضافتها حاسمة للتعميم عبر النطاقات الداخلية، مما مساعدة النموذج على الأداء بشكل جيد في المشاهد الداخلية خارج توزيعات التدريب الأرضية الحقيقية.
الاستخدام#
لا يتم التدريب على بيانات ImageNet المصنفة زائفاً بشكل منفصل؛ بل يتم استهلاكها كمكون من مزيج عمق مدمج، يتم تعريفه بواسطة ملف YAML داخلي/تجريبي بدلاً من تنزيل مجموعة بيانات عامة. من الناحية المفاهيمية، يبدو التدريب على مثل هذا المزيج كما يلي:
from ultralytics import YOLO
# Load a pretrained depth model
model = YOLO("yolo26n-depth.pt")
# Train on a combined depth mix (your own multi-source dataset YAML)
results = model.train(data="depth-mix.yaml", epochs=100, imgsz=640)النماذج المدربة مسبقاً#
يتم تنزيل نماذج YOLO26-Depth المدربة مسبقاً تلقائياً من إصدار أصول Ultralytics v8.4.0 assets release عند الإشارة إليها بالاسم لأول مرة:
الاقتباسات والشكر#
إذا كنت تستخدم مجموعة بيانات ImageNet في عملك البحثي أو التطويري، فيرجى الاستشهاد بالورقة البحثية التالية:
@inproceedings{deng2009imagenet,
title={ImageNet: A Large-Scale Hierarchical Image Database},
author={Deng, Jia and Dong, Wei and Socher, Richard and Li, Li-Jia and Li, Kai and Fei-Fei, Li},
booktitle={2009 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2009},
organization={IEEE}
}
@article{depthanything3,
title={Depth Anything 3: Recovering the visual space from any views},
author={Lin, Haotong and Chen, Sili and Liew, Jun Hao and Chen, Donny Y. and Li, Zhenyu and Shi, Guang and Feng, Jiashi and Kang, Bingyi},
journal={arXiv preprint arXiv:2511.10647},
year={2025}
}نود أن نشكر فريق ImageNet لإنشاء الصيانة لمجموعة البيانات، ومؤلفي Depth Anything 3 على نماذج المعلمين المستخدمة لتوليد تسميات العمق الزائفة.