الرؤية الحاسوبية2023متقدم14 دقيقة قراءة
Grounding DINO: دمج DINO مع التدريب المسبق المُوجَّه لغوياً لكشف الأجسام المفتوح
Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection
Liu, S. · Zeng, Z. · Ren, T. · Li, F. · Zhang, H. · Yang, J. · Li, C. · Yang, J. · Su, H. · Zhu, J. · Zhang, L. — ECCV
المشكلة
كاشفات الأجسام التقليدية تعمل ضمن قائمة مُغلقة: لا تتعرّف إلا على الفئات التي تدرّبت عليها. نموذج دُرِّب على 80 فئة في COCO لن يرى أي جسم خارج هذه القائمة مهما كان واضحاً. الانتقال إلى الكشف المفتوح يحتاج أن يفهم النموذج اللغة حتى يستطيع التعامل مع أي مفهوم يصفه المستخدم بكلماته. المحاولات السابقة كانت تدمج اللغة مع الرؤية في مرحلة واحدة أو اثنتين من مسار الكشف، فتبقى العلاقة بين النمطين سطحية وغير مكتملة. أضف إلى ذلك أن معظم الكاشفات المفتوحة اعتمدت على تمثيلات CLIP المجمَّدة، وهي مصمَّمة لمطابقة الصور مع النصوص على مستوى الصورة الكاملة وليست مُهيّأة لمهام الكشف التي تتطلّب تمييزاً دقيقاً على مستوى المناطق.
الإسهام
يبني Grounding DINO على كاشف DINO ويُضيف إليه دمجاً لغوياً يمتدّ عبر ثلاث مراحل من مسار الكشف. في المرحلة الأولى، يتبادل المرمِّز المعلومات بين سمات الصورة وسمات النص عبر انتباه متقاطع ثنائي الاتجاه. في الثانية، يُنتقى من سمات الصورة ما يرتبط بالنص ليصبح استعلامات مفكِّك الشفرة. في الثالثة، يُضاف انتباه متقاطع مع النص داخل كل طبقة من مفكِّك الشفرة لتنقيح مستمر. يقدّم النموذج أيضاً تمثيلاً نصياً على مستوى الجملة الفرعية يعزل كل فئة عن غيرها أثناء معالجة النص. على بيانات كشف وتأسيس بصري وتعليقات توضيحية، يحقّق 52.5 AP على COCO دون أمثلة و26.1 AP متوسط على ODinW — وكلاهما الأفضل — مع تفوّق في أيضاً.
الأثر
تحوّل Grounding DINO إلى مكوّن محوري تبني عليه أنظمة رؤية حاسوبية كثيرة. في Grounded-SAM يتولّى مرحلة الكشف ثم يُسلّم النتائج لـ Segment Anything لتوليد أقنعة تجزئة دقيقة. كذلك يُستخدم في أنابيب تحرير الصور مع Stable Diffusion وفي أنظمة تحكّم آلي تفهم الأوامر النصية. تصميمه القائم على ثلاث مراحل من الدمج اللغوي أثّر بوضوح في الجيل التالي من الكاشفات المفتوحة والنماذج متعددة النمطيات. بأكثر من 1.8 مليون تنزيل شهري على Hugging Face، يُعدّ من أكثر نماذج الكشف المفتوح استخداماً في البحث والإنتاج معاً.
تصوّر حارس أمن يقف عند بوابة مبنى ومعه ألبوم فيه 80 صورة فقط. أي شخص غير موجود في الألبوم يعبر أمامه دون أن يلاحظه. الآن تخيّل أنك أعطيته سماعة أذن متصلة بغرفة عمليات تستطيع أن تقول له أي شيء: «انتبه للرجل ذي القبعة الحمراء»، أو «ابحث عن صندوق توصيل»، أو «هناك كوب قهوة على الطاولة».
الفرق الجوهري أن الحارس يسمع هذا الصوت في كل مرحلة من عمله — وهو يتفحّص الحشد (مُحسِّن السمات)، وهو يقرّر مَن يدقّق فيه (اختيار الاستعلامات)، وهو يُصدر حكمه النهائي (مفكِّك الشفرة). هذا التواصل المستمر بين «العين» و«الأذن» عبر ثلاث مراحل هو سرّ قوة Grounding DINO: لا يقرأ النص مرة واحدة ثم ينساه، بل يُدمج اللغة في كل طبقة من طبقات معالجته البصرية.
المشكلة: الكشف المُغلَق يصطدم بحائط
نماذج التقليدية — من Faster R-CNN وصولاً إلى DINO — تتدرّب على قائمة فئات محددة سلفاً. معيار COCO مثلاً يضمّ 80 فئة بالضبط: شخص، دراجة، سيارة، وهكذا حتى فرشاة الأسنان. كل منطقة يكتشفها النموذج أثناء تُصنَّف ضمن واحدة من هذه الفئات، وعند لا يُخرج إلا الفئات ذاتها. هذا ما نسمّيه الكشف المُغلَق.
المشكلة بديهية: العالم الحقيقي لا يتوقف عند 80 صنفاً. كاشف مُغلَق لن يجد «صنبور إطفاء» إذا لم يكن ضمن قائمة تدريبه. هذه الهشاشة تُقيّد الاستخدام في تطبيقات تتغيّر فيها الأجسام المطلوبة باستمرار، كالقيادة الذاتية والروبوتات وتحرير الصور.
فكرة الكشف المفتوح هي تجاوز هذا القيد كلياً. بدلاً من القائمة الثابتة، يكتب المستخدم وصفاً حراً — أسماء فئات مثل «كوب قهوة، حاسوب محمول» أو عبارة تفصيلية مثل «السيارة الحمراء على اليسار» — والنموذج يبحث في الصورة عن كل ما يطابق هذا الوصف. لتحقيق ذلك، يحتاج الكاشف أن يفهم اللغة فعلاً، لا أن يعتمد على الأنماط البصرية وحدها.
البنية: دمج الرؤية واللغة على ثلاث مراحل
قبل الدخول في تصميم Grounding DINO، من المفيد تذكّر البنية العامة لكاشفات الأجسام المُغلقة. أي كاشف نموذجي يتكوّن من ثلاث مراحل: الذي يستخلص سمات الصورة، ثم العنق (أو ) الذي يُنقّح هذه السمات ويُعزّزها، وأخيراً الرأس (أو ) الذي يُولّد الكشوفات النهائية. في الكاشف المُغلَق، لا تدخل اللغة في أي من هذه المراحل — مجرد إسقاط خطّي نحو عدد ثابت من الفئات.
الكاشفات المفتوحة السابقة حاولت إدخال اللغة، لكن في نقطة واحدة أو اثنتين فقط. GLIP مثلاً دمج السمات في العنق وحده (المرحلة أ)، بينما OV-DETR أدخل اللغة عند مدخل مفكِّك الشفرة فحسب (المرحلة ب). الملاحظة المحورية التي يقوم عليها Grounding DINO هي أن دمج اللغة في المراحل الثلاث معاً يُحسّن المحاذاة بين الرؤية واللغة بفارق كبير.
البنية مؤلّفة من مُرمِّزَيْن وَمُفكِّك شفرة واحد. الجانب البصري يستخدم لاستخراج سمات ، والجانب النصي يستخدم BERT لتوليد سمة لكل نصي. بعدها يتقاطع التياران عبر ثلاث مراحل:
المرحلة أ — مُحسِّن السمات: انتباه متقاطع ثنائي الاتجاه بين سمات الصورة والنص داخل المُرمِّز. المرحلة ب — اختيار الاستعلامات الموجَّه لغوياً: انتقاء سمات الصورة الأقرب للنص لتصبح استعلامات مفكِّك الشفرة. المرحلة ج — مفكِّك الشفرة العابر للنمطين: إضافة طبقة انتباه متقاطع مع النص داخل كل طبقة من مفكِّك الشفرة، بحيث تستمر الاستعلامات في استيعاب المعلومات اللغوية طوال عملية فكّ التشفير.
المرحلة أ: مُحسِّن السمات — تعليم العيون والآذان التحدّث
مُحسِّن السمات هو النقطة التي يلتقي فيها تيّارا الصورة والنص لأول مرة. تخيّله كطاولة مفاوضات يجلس عليها فريق الرؤية وفريق اللغة ليتبادلا المعلومات. كل طبقة من طبقاته تمرّ بأربع عمليات متتالية:
- على سمات الصورة — كل رمز بصري ينتبه لمجموعة مُتعلَّمة من المواقع عبر مقاييس السمات المختلفة، فيلتقط السياق المكاني بكفاءة دون الحاجة لانتباه كامل مكلف حسابياً.
- عادي على سمات النص — رموز النص تتبادل المعلومات فيما بينها لبناء تمثيلات سياقية أعمق.
- انتباه متقاطع من الصورة إلى النص — كل موقع في الصورة يسأل سمات النص: «أيّ كلمات تصفني؟» فيمتصّ الدلالات اللغوية المناسبة.
- انتباه متقاطع من النص إلى الصورة — كل كلمة تسأل سمات الصورة: «أين أجدني في المشهد؟» فترتبط بالمناطق البصرية الملائمة.
تتكرّر هذه الطبقة ست مرات. بعد المرور عبرها جميعاً، تخرج سمات الصورة مُشبَعة بالمعنى اللغوي، وسمات النص مُرتبطة بمواقع بصرية حقيقية — أي أن كلا الطرفين تعرَّف على الآخر قبل أن يبدأ مفكِّك الشفرة عمله أصلاً.
المرحلة ب: اختيار الاستعلامات الموجَّه لغوياً — سؤال النص أين ننظر
في كاشفات عائلة DETR، يعمل مفكِّك الشفرة على مجموعة من «الاستعلامات» — قابلة للتعلّم، كل منها يحاول تحديد موقع جسم واحد. في DINO الأصلي، تُختار هذه الاستعلامات بناءً على بروز بصري فقط دون أي اعتبار للنص. Grounding DINO يُغيّر هذا المنطق: يجعل النص هو من يُقرّر أي مواقع في الصورة تستحقّ أن تصبح استعلامات.
الآلية مباشرة رغم فعاليتها. لدينا سمات الصورة (أكثر من 10,000 رمز من خرائط سمات متعددة المقاييس) وسمات النص (حتى 256 رمزاً). نحسب الجداء النقطي بين كل رمز صورة وكل رمز نص، ثم لكل رمز صورة نأخذ أعلى درجة تشابه مع أي رمز نصي، وننتقي أعلى 900 رمز صورة ليصبحوا استعلامات مفكِّك الشفرة.
الحدس وراء ذلك واضح: أي موقع في الصورة يتشابه بقوة مع أيّ كلمة في الوصف النصي يُرشَّح للكشف. موقع يرتبط بكلمة «قطة» أو «أحمر» يُقدَّم، بينما رقعة من الخلفية لا تطابق أي كلمة تُهمَل. النتيجة أن مفكِّك الشفرة يبدأ عمله وهو يُركّز مباشرة على المناطق ذات الصلة بالنص.
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
# image_feat: (حجم_الدفعة، عدد_رموز_الصورة، البُعد) # text_feat: (حجم_الدفعة، عدد_رموز_النص، البُعد)
# الخطوة 1: حساب التشابه الثنائي logits = torch.einsum("bic,btc->bit", image_feat, text_feat)
# الخطوة 2: أقصى صلة نصية لكل رمز صورة logits_per_img = logits.max(dim=-1)[0] # (حجم_الدفعة، عدد_رموز_الصورة)
# الخطوة 3: انتقاء أعلى 900 رمز صورة topk_idx = torch.topk(logits_per_img, num_query, dim=1)[1]المرحلة ج: مفكِّك الشفرة العابر للنمطين — تنقيح لغوي مستمر
مفكِّك الشفرة في DINO الأصلي يتألّف من ست طبقات، كل منها تشمل انتباهاً ذاتياً بين الاستعلامات، وانتباهاً متقاطعاً مع الصورة، وشبكة تغذية أمامية. Grounding DINO يُضيف عملية رابعة في كل طبقة: انتباه متقاطع مع النص. التسلسل الكامل يصبح:
- انتباه ذاتي بين الاستعلامات — تتبادل الاستعلامات المعلومات فيما بينها
- انتباه متقاطع مع الصورة — كل استعلام يستقصي السمات البصرية (عبر انتباه قابل للتشوّه لتقليل الكلفة الحسابية)
- انتباه متقاطع مع النص — كل استعلام يرجع إلى سمات النص ليستوعب الإشارات اللغوية
- شبكة تغذية أمامية — تحويل غير خطي لتنقيح التمثيلات
هذه الطبقة الإضافية هي الإضافة الجوهرية. بدونها، يعتمد كل استعلام على ما حمله من معلومات لغوية لحظة تهيئته فقط. مع وجودها، يعود كل استعلام في كل طبقة ليسأل النص: «هل ما زلت أبحث عن الشيء الصحيح؟» هذا التنقيح المتكرّر يشدّ المحاذاة بين المناطق المكتشفة والمفاهيم اللغوية بشكل ملحوظ.
في الطبقة الأخيرة من مفكِّك الشفرة، يُحسب الجداء النقطي بين مخرج كل استعلام وسمات النص لتوليد درجات ثقة لكل رمز نصي. تُستخدم للتصنيف، وخسارتا L1 وGIoU لانحدار — وتُطابَق التنبؤات مع الحقائق عبر الهنغارية كما في DETR.
التمثيل النصي على مستوى الجملة الفرعية: منع التداخلات غير المرغوبة
عند استخدام الكاشف في وضع مفتوح، تُسلسل أسماء الفئات في نص واحد: "cat . dog . mouse ." ويُمرَّر إلى المُرمِّز النصي. المشكلة أن الانتباه الذاتي يسمح لكلمة "cat" بأن تتفاعل مع "dog" رغم أنهما فئتان مستقلّتان تماماً. ترتيب الفئات عشوائي، وهذا التفاعل يُولّد ارتباطات زائفة لا معنى لها.
الحلول السابقة وقعت في أحد طرفَيْن. تمثيل مستوى الجملة يضغط النص كلّه في متجه واحد فيخسر التفاصيل الدقيقة لكل كلمة. تمثيل مستوى الكلمة يحتفظ بسمة لكل كلمة لكنه يترك الباب مفتوحاً لانتباه متبادل بين فئات لا علاقة بينها.
الحل في Grounding DINO هو أسلوب الجملة الفرعية: تحجب التفاعل بين عبارات الفئات المختلفة وتسمح به داخل العبارة الواحدة. مثلاً، كلمة «نائمة» تنتبه لـ «قطة» ضمن عبارة «قطة نائمة»، لكن «قطة» لا تستطيع أن ترى «قفاز بيسبول» في عبارة أخرى. أما في التعبيرات الإشارية التي تصف مفهوماً واحداً، فتبقى الجملة مترابطة بالكامل.
هذه الحيلة البسيطة في الأقنعة تقضي على الضجيج الناتج عن تفاعلات الفئات العشوائية مع الاحتفاظ بسمات دقيقة على مستوى الكلمة — فتجمع مزايا الأسلوبَيْن دون عيوبهما.
التدريب: الخسارة التبايُنية والتدريب المسبق المُؤسَّس
بدلاً من رأس التصنيف التقليدي الذي يُسقط كل استعلام في عدد ثابت من الفئات، يستخدم Grounding DINO خسارة تبايُنية تربط المناطق المكتشفة برموز النص مباشرة. كل استعلام يُضرب نقطياً بسمات رموز النص جميعها ليُنتج درجة لكل رمز، ثم تُطبَّق خسارة بؤرية على هذه الدرجات. هذه الصياغة مرنة بطبيعتها: لا حدّ لعدد الفئات أو الأوصاف لأن النص هو ما يُحدّد فضاء التصنيف.
لانحدار مربع الإحاطة تُستخدم خسارتا L1 وGIoU كما في DETR. تُطابَق التنبؤات مع الحقائق عبر المطابقة الثنائية الهنغارية بأوزان: 2.0 للتصنيف، 5.0 لـ L1، و2.0 لـ GIoU. كذلك تُضاف خسائر مساعدة بعد كل طبقة من مفكِّك الشفرة وبعد مخرجات المُرمِّز.
يعتمد على ثلاثة أنواع من البيانات. بيانات الكشف (Objects365 وCOCO وOpenImages) حيث تُسلسل أسماء الفئات كمدخل نصي. بيانات (GoldG وRefCOCO/+/g) تحتوي أوصافاً بلغة طبيعية مع توصيفات للمناطق المقابلة. بيانات التعليقات التوضيحية (مُولَّدة تلقائياً بأسلوب GLIP) تُوسّع مفردات النموذج بتحويل التعليقات النصية إلى تسميات كشف. هذا التنويع في بيانات التدريب يمنح النموذج خبرة مع قوائم فئات مُنظَّمة وأوصاف لغوية حرة في الوقت ذاته.
النتائج: الأفضل في ثلاثة إعدادات
يُقيَّم Grounding DINO في ثلاثة سياقات متكاملة تُعطي معاً صورة شاملة عن قدراته في الكشف المفتوح.
كشف COCO بنمط : النموذج لم يرَ أي صورة تدريب من COCO ومع ذلك يحقّق بنسخته الكبيرة (Large) دقة 52.5 AP — متجاوزاً جميع النماذج السابقة بما فيها GLIP-L الذي سجّل 49.8 AP. وبعد يصل إلى 63.0 AP على COCO test-dev، متفوقاً حتى على DINO المُغلَق الأصلي.
ODinW بنمط دون أمثلة: هذا المعيار يختبر الكشف عبر 35 مجموعة بيانات متنوعة من تطبيقات واقعية. Grounding DINO Large يُسجّل رقماً قياسياً جديداً بمتوسط 26.1 AP، متقدّماً على نموذج Florence العملاق (25.8 AP) رغم أنه يستخدم عدداً أقل من المعاملات.
فهم التعبيرات الإشارية (RefCOCO/+/g): بعد الضبط الدقيق على بيانات التعبيرات الإشارية، يحقّق Grounding DINO دقة top-1 تبلغ 90.56% على RefCOCO val، وهو الأفضل عبر جميع الأقسام. واللافت أنه حتى بدون بيانات تدريب RefCOCO يتفوق على GLIP في الظروف نفسها.
تجارب الاستئصال: أيّ المكونات أكثر أهمية؟
تجارب الاستئصال (الجدول 7 في الورقة) تكشف بوضوح عن إسهام كل مكوّن. جميع التجارب تستخدم عموداً فقرياً Swin-T مُدرَّباً مسبقاً على Objects365.
دمج المُرمِّز (المرحلة أ) هو الأكثر تأثيراً: حذفه يُنزل دقة COCO دون أمثلة من 46.7 إلى 45.8، والأهم أن دقة LVIS تنهار من 16.1 إلى 13.1 — فارق 3 نقاط يُؤكّد أن التفاعل المبكر بين الرؤية واللغة شرط أساسي.
اختيار الاستعلامات الموجَّه لغوياً (المرحلة ب) يُضيف +0.4 AP على COCO و+2.5 AP على LVIS. القفزة الكبيرة على LVIS تحديداً تُبيّن أن توجيه النص لاختيار الاستعلامات يُفيد كثيراً عند كشف أجسام نادرة أو غير شائعة.
الانتباه المتقاطع مع النص في مفكِّك الشفرة (المرحلة ج) يُضيف +0.6 AP على COCO و+1.8 AP على LVIS. أثره أقل من دمج المُرمِّز، لكنه يُحقّق تحسّناً ثابتاً بعدد قليل جداً من المعاملات الإضافية.
التمثيل النصي على مستوى الجملة الفرعية يُعطي +0.3 AP على COCO و+0.5 AP على LVIS — مكسب متواضع لكنه حقيقي، ناتج فقط عن حجب بين فئات لا علاقة بينها.
الخلاصة من تجارب الاستئصال واضحة: الدمج اللغوي على ثلاث مراحل ليس خياراً تصميمياً نظرياً — كل مرحلة تُقدّم مكاسب قابلة للقياس ومتكاملة مع المراحل الأخرى.
المنظومة: من الكشف إلى التجزئة والتحرير
تأثير Grounding DINO يتجاوز أرقام المعايير بكثير. كونه يستطيع تحديد موقع أي جسم انطلاقاً من وصف نصي، تحوّل إلى وحدة «إشارة» عامة تستند إليها أنظمة متعددة.
Grounded-SAM يدمج Grounding DINO مع Segment Anything في أنبوب تجزئة مفتوح: الأول يُحدّد مربعات الإحاطة من النص، والثاني يُحوّلها إلى أقنعة تجزئة دقيقة. الأنبوب بأكمله لا يحتاج أي تدريب إضافي ويعمل مع أي جسم يُوصَف بلغة طبيعية.
في تحرير الصور، يُزاوَج Grounding DINO مع Stable Diffusion: حدّد الجسم بالنص، ولِّد قناعاً له، ثم أعد رسم المنطقة بموجِّه جديد. الورقة تعرض أمثلة مثل استبدال «الباندا» بـ «كلاب وكعكات عيد ميلاد».
في الروبوتات، يُستخدم Grounding DINO لتحديد موقع الأجسام المطلوبة من تعليمات نصية، فيستطيع الروبوت تنفيذ أوامر مثل «التقط الكوب الأحمر» دون قائمة أجسام معرَّفة مسبقاً.
هذا النمط — نموذج واحد يتحوّل إلى لبنة تبني عليها أنظمة كثيرة لاحقة — هو السمة المميزة للنماذج التأسيسية في الذكاء الاصطناعي.
الخط الزمني: من الكشف المُغلَق إلى التأسيس المفتوح
2020
DETR — كشف شامل بالمحوِّلات
أول نظام يستخدم المحوِّل لكشف الأجسام من طرف إلى طرف، مع مطابقة ثنائية تُغني عن الخطوات اليدوية كالقمع غير الأعظمي وتوليد المراسي.
2021
CLIP — ربط الرؤية واللغة
تدرّب على 400 مليون زوج صورة-نص باستخدام التعلّم التبايُني، وأثبت أن التمثيلات البصرية يمكن ربطها باللغة لتحقيق تعرّف دون أمثلة.
2022
GLIP — التدريب المسبق المُؤسَّس للغة والصورة
حوّل كشف الأجسام إلى مهمة تأسيس عبارات، ودمج الرؤية واللغة مبكراً في وحدة العنق. أدخل تدريباً تبايُنياً يربط المناطق البصرية بالعبارات النصية على بيانات واسعة النطاق.
2022
DINO — مراسي محسّنة مع إزالة الضجيج للكشف
طوّر بنية DETR بإضافة إزالة ضجيج تبايُنية واختيار استعلامات مختلط ومراسي مُحسَّنة، وحقّق أرقاماً قياسية في كشف COCO المُغلَق.
2023
Grounding DINO (هذه الورقة)
جمع بين كاشف DINO ودمج لغوي على ثلاث مراحل مع تدريب مسبق مُوجَّه لغوياً. حقّق 52.5 AP دون أمثلة على COCO و26.1 AP على ODinW، وأصبح الأساس الذي بُني عليه Grounded-SAM وأنابيب عمل متعددة النمطيات.
2023
Grounded-SAM — التجزئة المفتوحة
جمع Grounding DINO مع Segment Anything في أنبوب واحد يكشف ويُجزّئ أي جسم مُوصَف نصياً دون الحاجة لأي تدريب إضافي.
المرجعLiu, Zeng, Ren, Li, Zhang, Yang, Li, Yang, Su, Zhu, Zhang. Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection. ECCV, 2023.
مصطلحات هذه الورقة
- الكشف المفتوح عن الأجسامOpen-Set Object Detection
- التأريض البصريVisual Grounding
- الانتباه التبادليCross-Attention
- الخسارة التبايُنيةContrastive Loss
- الانتباه القابل للتشوّهDeformable Attention
- رصد وتحديد الكائناتObject Detection
- فهم التعبيرات الإشاريةReferring Expression Comprehension
- نقل بدون تدريبZero-Shot Transfer
- مربعات الإحاطة المرجعية (المرساة)Anchor Box
- مربع الإحاطةBounding Box
- هرم السِّماتFeature Pyramid
- مرمِّز-فاكّ ترميزEncoder-Decoder
- بيرتBERT
- محوِّل سوينSwin Transformer
- المطابقة الثنائيةBipartite Matching