الرؤية الحاسوبية2017متوسط10 دقيقة قراءة

شبكات الالتفاف القابلة للتشوُّه

Deformable Convolutional Networks

Dai, J. · Qi, H. · Xiong, Y. · Li, Y. · Zhang, G. · Hu, H. · Wei, Y. — ICCV

المشكلة

المكوّنات الأساسية في الشبكات الالتفافية — الالتفاف والتجميع وتجميع منطقة الاهتمام — تقرأ المدخل دائماً من مواقع ثابتة لا تتغيّر. مرشّح 3×3 مثلاً يفحص نفس التسع نقاط المربعة مهما كان شكل الجسم أمامه: شخص واقف أو قطة ملتفّة أو حافلة عريضة — الكل يُعامَل بنفس القالب. هذا يعني أن كل وحدة في الطبقة نفسها ترى المساحة المكانية ذاتها تماماً. في مهام مثل اكتشاف الأجسام والتجزئة الدلالية — حيث الدقة المكانية أمر جوهري — يصبح هذا الجمود عائقاً حقيقياً. الحلول المتاحة آنذاك كانت محدودة: إما تكثيف البيانات بتحويلات هندسية وهو مكلف حسابياً، أو تصميم سمات يدوية ثابتة وهو غير مرن ولا يُعمَّم جيداً.

الإسهام

تقدّم الورقة وحدتين يمكن تركيبهما في أي شبكة التفافية قائمة دون إعادة تصميم بنيتها. الأولى هي : عوضاً عن قراءة شبكة مربعة جامدة، يتعلّم المرشّح ثنائية الأبعاد لكل نقطة أخذ عيّنات، فتتشكّل نقاط القراءة تبعاً لهندسة الجسم الذي أمامها. الثانية هي تجميع منطقة الاهتمام القابل للتشوُّه، وهو يُطبّق الفكرة ذاتها على خلايا التجميع. كلتا الوحدتين تستخدمان الاستيفاء ثنائي الخطية للتعامل مع الإزاحات الكسرية، وتُدرَّبان من البداية للنهاية بالانتشار العكسي المعتاد دون إشراف إضافي. التكلفة الحسابية ضئيلة جداً، لكن التحسّن واضح ومُتّسق في اكتشاف الأجسام والتجزئة الدلالية على PASCAL VOC وCOCO.

الأثر

أصبح الالتفاف القابل للتشوُّه مكوّناً أساسياً في أنظمة الاكتشاف والتجزئة الحديثة. الإصدار الثاني (DCNv2) أضاف مُعاملات تعديل تكبت المعلومات غير المفيدة المتسرّبة من الخلفية. ثم انتقلت فكرة تعلُّم مواقع أخذ العيّنات مباشرةً إلى DETR والكاشفات المبنية على المحوِّلات. اليوم، كل نظام اكتشاف أجسام تنافسي — سواء من سلالة Faster R-CNN أو من عائلة DETR — يعتمد على شكل من أشكال أخذ العيّنات المرن: إما الالتفاف القابل للتشوُّه مباشرةً، أو آليات الانتباه التي ورثت فكرته.

تخيّل أنك تفحص مسرح جريمة بـعدسة مكبّرة جامدة: كل ما تراه مربع ثابت تحت العدسة. لو كان الدليل — أثر قدم أو خدش أو بقعة — يمتد بشكل منحنٍ على الأرض، لن تستطيع التقاط شكله الحقيقي، وستُضطر لتجميعه ذهنياً من مربعات متداخلة. هذا تماماً ما يفعله العادي: يقرأ رقعة مربعة ثابتة مهما كان شكل المحتوى أمامه.

الالتفاف القابل للتشوُّه يُعطيك عدسة مرنة حوافها تنثني وتتحرّك لتتبع شكل ما تفحصه. العدسة تتعلّم كيف تُشكّل نفسها: للخدش الطويل تتمدد، وللبقعة الدائرية تنحني. نفس العدسة ونفس المحقق — لكن الأداة هي التي تتكيّف مع الدليل، لا العكس.

المشكلة: الشبكات الجامدة لا ترى إلا أشكالاً جامدة

الالتفاف العادي بحجم 3×3 يقرأ دائماً نفس المواقع التسعة حول مركزه — شبكة مربعة ثابتة لا تتغيّر. هذا الجمود يُفرز ثلاث مشكلات عملية:

  • واحد للجميع. كل وحدة في نفس ترى المساحة المكانية ذاتها بالضبط. لكن الأجسام الحقيقية تتفاوت تفاوتاً كبيراً في أشكالها: الزرافة طويلة ونحيلة، والحافلة عريضة ومسطحة، والكرة دائرية. المربع الجامد لا يناسب أياً منها.

  • لا سبيل للتعامل مع التنوع الهندسي إلا من البيانات. للتعامل مع اختلافات المقياس والدوران والتشوُّه، تعتمد الشبكة كلياً على وعلى سعة الكبيرة. هذا مُكلف وهشّ — لأن الشبكة لا تستطيع التعامل إلا مع التحويلات التي رأتها فعلاً أثناء .

  • يُعاني من الجمود نفسه. تجميع منطقة الاهتمام يقسم المنطقة المكتشفة إلى خلايا مربعة ثابتة. مع الأجسام المرنة كالأشخاص أو الحيوانات، تقطع هذه الخلايا أجزاء الجسم بشكل اعتباطي، فتختلط تفاصيل الجسم بالخلفية.

افتح في المختبر
بدّل بين الالتفاف العادي والقابل للتشوُّه لترى كيف تتكيّف نقاط أخذ العيّنات مع شكل الجسم.
تستيقظ التجربة عند وصولك…

الفكرة: دَع المرشّح يتعلّم أين ينظر

الحل أبسط ممّا قد تتوقع. لنبدأ من التفاف عادي يأخذ عيّنات من NN موقعاً على شبكة منتظمة R\mathcal{R}. كل ما نفعله هو إضافة إزاحة ثنائية الأبعاد مُتعلَّمة Δpn\Delta p_n لكل موقع، تنقله من مكانه الأصلي إلى موقع جديد. بهذا لم يعد مقيّداً بمربع جامد، بل يقرأ من مواقع غير منتظمة تختارها الشبكة بنفسها بحسب المحتوى.

من أين تأتي هذه الإزاحات؟ من موازية تعمل على نفس المُدخلة، وتُخرج 2N2N قناة — إحداثيان (x وy) لكل نقطة أخذ عيّنات. والنقطة الذكية هنا: هذه الطبقة تبدأ بأصفار، فعند انطلاق التدريب يتصرّف النظام كالتفاف عادي تماماً، ثم يتعلّم الإزاحات تدريجياً ليُوجّه نقاط القراءة نحو المواقع الأكثر فائدة.

الالتفاف العادي: نقطة الانطلاق

قبل أن نصل إلى صيغة الالتفاف القابل للتشوُّه، لنُراجع أولاً ما يفعله الالتفاف العادي. العملية مباشرة: لكل موقع خرج p0p_0، يمرّ المرشّح على مجموعة ثابتة من المواقع R\mathcal{R} — كالخلايا التسع في شبكة 3×3 مثلاً — يضرب كل قيمة في وزنها المقابل ثم يجمع النتائج.

y(p0)=pnRw(pn)x(p0+pn)y(p_0) = \sum_{p_n \in \mathcal{R}} w(p_n) \cdot x(p_0 + p_n)
الالتفاف ثنائي الأبعاد العاديعند كل موقع خرج p0p_0، يقرأ المرشّح قيم المدخل xx من مواقع ثابتة pnp_n ضمن الشبكة R\mathcal{R}، ويضربها بالأوزان ww ثم يجمع النتائج. النقطة الجوهرية: الشبكة R\mathcal{R} ثابتة تماماً ولا تعتمد على المحتوى.

الالتفاف القابل للتشوُّه: إضافة إزاحات مُتعلَّمة

في النسخة القابلة للتشوُّه، نُضيف إزاحة مُتعلَّمة Δpn\Delta p_n لكل موقع في الشبكة. تعديل بسيط، لكن أثره كبير: المرشّح لم يعد مُلزَماً بقراءة مربع جامد، بل يقرأ من المواقع التي تعلّمت الشبكة أنها الأنسب للمحتوى.

y(p0)=pnRw(pn)x(p0+pn+Δpn)y(p_0) = \sum_{p_n \in \mathcal{R}} w(p_n) \cdot x(p_0 + p_n + \Delta p_n)
الالتفاف القابل للتشوُّه — المعادلة الأساسيةكل موقع أخذ عيّنات pnp_n يُزاح بإزاحة مُتعلَّمة Δpn\Delta p_n تُنتجها طبقة التفافية منفصلة تعمل على نفس خريطة السمات المُدخلة. ولأن هذه الإزاحات غالباً كسرية (لا تقع على بكسلات صحيحة)، تُحسب القيم عند المواقع المُزاحة بالاستيفاء ثنائي الخطية.

الاستيفاء ثنائي الخطية: القراءة بين البكسلات

بما أن الإزاحات Δpn\Delta p_n قيم مستمرة، فالموقع المُزاح p0+pn+Δpnp_0 + p_n + \Delta p_n يقع في الغالب بين مواقع البكسلات الصحيحة — لا على بكسل بعينه. هنا يأتي دور : نُقدّر القيمة عند هذا الموقع الكسري بحساب متوسط موزون من أقرب أربعة جيران صحيحين. تخيّل الأمر كمزج ألوان: لو وقعت النقطة على بُعد 70% من البكسل A باتجاه البكسل B، نأخذ 70% من قيمة B و30% من قيمة A، وهذا يُطبَّق في كلا الاتجاهين.

x(p)=qG(q,p)x(q),G(q,p)=g(qx,px)g(qy,py),g(a,b)=max(0,1ab)x(p) = \sum_{q} G(q, p) \cdot x(q), \quad G(q,p) = g(q_x, p_x) \cdot g(q_y, p_y), \quad g(a,b) = \max(0, 1 - |a - b|)
الاستيفاء ثنائي الخطية لأخذ العيّنات الكسريةpp هو الموقع الكسري المطلوب قراءته، وqq تمثّل مواقع البكسلات الصحيحة، وGG نواة الاستيفاء. هذه النواة لا تأخذ قيماً غير صفرية إلا عند أقرب أربعة جيران صحيحين للموقع pp على الأكثر، ما يجعل الحساب سريعاً. والأهم أن العملية بأكملها قابلة للاشتقاق، فتتدفق التدرُّجات عبر الإزاحات أثناء التدريب بشكل طبيعي.
افتح في المختبر
اسحب النقطة البرتقالية إلى أي موقع كسري وشاهد كيف يُساهم الجيران الأربعة في القيمة المُستيفاة.
تستيقظ التجربة عند وصولك…

كيف تُتعلَّم الإزاحات: البنية المعمارية

البنية المعمارية بسيطة وأنيقة. لدينا طبقة التفافية عادية تأخذ خريطة سمات وتُخرج خريطة سمات — هذا الجزء لا يتغيّر. الإضافة الوحيدة هي طبقة التفافية موازية تعمل على نفس المدخل وتُنتج حقل إزاحات بـ2N2N قناة، حيث NN هو عدد نقاط أخذ العيّنات في (9 مثلاً لمرشّح 3×3). كل موقع يحصل على قناتين: واحدة لإزاحة x وأخرى لإزاحة y.

تفصيلة مهمة في التصميم: طبقة الإزاحة تستخدم نفس حجم النواة ونفس معدّل الانبساط المُستخدَم في طبقة الالتفاف الرئيسية. وأوزانها تبدأ بأصفار — أي أن التدريب ينطلق من التفاف عادي تماماً كخط أساس، ثم تكتشف الشبكة التشوُّهات المناسبة بالتدريج. كلتا مجموعتي الأوزان تُدرَّبان معاً عبر المعتاد، دون حاجة لدالة إضافية أو إشراف خاص.

افتح في المختبر
خط المعالجة الكامل: خريطة سمات مُدخلة ← التفاف إزاحة موازٍ ← شبكة أخذ عيّنات مُشوَّهة ← خريطة سمات خرج.
تستيقظ التجربة عند وصولك…

تجميع منطقة الاهتمام القابل للتشوُّه: سمات مناطق مرنة

نماذج مثل Faster R-CNN تستخرج المناطق المقترحة عبر تجميع منطقة الاهتمام. الطريقة المعتادة تقسم المنطقة المستطيلة إلى شبكة ثابتة من الخلايا (7×7 مثلاً) وتحسب متوسط السمات في كل خلية. هذا يعمل جيداً مع الأجسام ذات الأشكال المنتظمة، لكنه لا يُناسب الأجسام المرنة — ذراع شخص مثلاً قد تمتد خارج حدود الخلية التي يُفترض أن تحتويها.

تجميع منطقة الاهتمام القابل للتشوُّه يُعالج هذه المشكلة بإضافة إزاحة مُتعلَّمة Δpij\Delta p_{ij} لكل خلية. تُنتج هذه الإزاحات تعمل على السمات المُجمَّعة نفسها، وتُقيَّس بأبعاد منطقة الاهتمام حتى لا يتأثر التعلُّم بحجم المنطقة. الأثر العملي واضح: الخلايا تتحرّك لتغطي أجزاء الجسم الفعلية بدل الالتزام بتقسيم شبكي جامد.

y(i,j)=pbin(i,j)x(p0+p+Δpij)  /  nijy(i, j) = \sum_{p \in \text{bin}(i,j)} x(p_0 + p + \Delta p_{ij}) \;/\; n_{ij}
تجميع منطقة الاهتمام القابل للتشوُّهكل خلية (i,j)(i, j) تُزاح بمقدار مُتعلَّم Δpij\Delta p_{ij}. الإزاحة تُقيَّس بأبعاد منطقة الاهتمام حسب العلاقة: Δpij=γΔp^ij(w,h)\Delta p_{ij} = \gamma \cdot \hat{\Delta p}_{ij} \circ (w, h)، حيث γ=0.1\gamma = 0.1 معامل يتحكم في حجم الإزاحة، والرمز \circ يعني الضرب عنصراً بعنصر.
افتح في المختبر
قارن بين تجميع منطقة الاهتمام العادي والقابل للتشوُّه. لاحظ كيف تتحرك الخلايا القابلة للتشوُّه لتغطي أجزاء الجسم الفعلية.
تستيقظ التجربة عند وصولك…

حقول الاستقبال التكيُّفية: السلوك الناشئ

حين نُكدّس عدة طبقات التفاف قابلة للتشوُّه، يظهر سلوك لافت للانتباه: حقل الاستقبال الفعلي — أي المساحة من الصورة الأصلية التي تؤثر في كل خرج — يصبح تكيُّفياً. قاس المؤلفون هذا بمقياس أسموه "الانبساط الفعّال": متوسط المسافة بين نقاط أخذ العيّنات المتجاورة في المرشّح القابل للتشوُّه.

النتائج أظهرت نمطاً واضحاً ومنطقياً: المرشّحات فوق أجسام كبيرة تعلّمت أن تُباعد نقاط عيّناتها فتحصل على حقول استقبال واسعة، والمرشّحات فوق أجسام صغيرة أبقتها متقاربة فتحصل على حقول ضيقة، أما فوق الخلفية فاستقرت على قيم وسطية. الخلاصة: الشبكة لا تتعلّم فقط ما تبحث عنه، بل تتعلّم أيضاً إلى أي مدى ينبغي أن تمد ذراعها للوصول إليه.

افتح في المختبر
شاهد كيف ينمو حقل الاستقبال الفعّال للأجسام الكبيرة وينكمش للأجسام الصغيرة عبر الطبقات المختلفة.
تستيقظ التجربة عند وصولك…

الالتفاف القابل للتشوُّه ينتمي لعائلة أوسع من الأساليب التي تسعى لمنح مرونة هندسية. فهم موقعه بين هذه الأساليب يُساعد في تقدير إضافته:

  • الالتفاف المُوسَّع (dilated convolution) يُباعد نقاط أخذ العيّنات بمعدّل ثابت — كأنك تُكبّر العدسة بنسبة واحدة لا تتغيّر. الالتفاف القابل للتشوُّه يُعمّم هذا: يتعلّم معدّل توسيع يتغيّر لكل بكسل ولكل اتجاه. وقد أظهرت التجارب أنه يتفوّق باستمرار حتى على الالتفاف المُوسَّع عند أفضل ضبط ممكن.

  • شبكات التحويل المكاني تتعلّم تحويلاً شاملاً (كالأفيني) يُطبَّق على خريطة السمات بأكملها دفعة واحدة. الالتفاف القابل للتشوُّه يختلف جذرياً: يتعلّم إزاحات محلية كثيفة تتغيّر من موقع لآخر. هذا يجعله أخف حسابياً وأسهل في التدريب، ويُمكّنه من العمل بكفاءة في مهام التنبؤ الكثيف التي تعجز فيها المحوّلات المكانية.

  • نماذج الأجزاء القابلة للتشوُّه (DPM) من حقبة ما قبل كانت تتعلّم مواقع الأجزاء هي الأخرى، لكن بنماذج سطحية وقواعد مُصمَّمة يدوياً. تجميع منطقة الاهتمام القابل للتشوُّه يُحيي الفلسفة ذاتها لكن بـ عميقة مُتعلَّمة من البداية للنهاية.

النتائج التجريبية: تحسُّن مُستمر عبر المهام

اختبر المؤلفون الوحدات القابلة للتشوُّه على مهمتين رئيسيتين في باستخدام بنيتي ResNet-101 وAligned-Inception-ResNet:

  • (DeepLab على PASCAL VOC وCityScapes): استبدال آخر 3 طبقات التفافية بنسخ قابلة للتشوُّه — فقط هذا التغيير — رفع mIoU من 69.7% إلى 75.2% على VOC، أي قفزة بمقدار 5.5 نقطة.

  • اكتشاف الأجسام (Faster R-CNN وR-FCN على PASCAL VOC وCOCO): الجمع بين الالتفاف القابل للتشوُّه وتجميع منطقة الاهتمام القابل للتشوُّه رفع R-FCN من 80.0% إلى 82.6% في mAP@0.5 على VOC، ومن 30.8% إلى 34.5% في mAP@[0.5:0.95] على COCO — تحسّن نسبي يقارب 12%.

واللافت أن التكلفة الإضافية ضئيلة: ResNet-101 القابل للتشوُّه يُضيف نحو 0.1 مليون فقط (زيادة 0.2%) ونحو 15% وقت إضافي في التمرير الأمامي. أي أن كل هذا التحسّن مصدره نمذجة مكانية أذكى، لا نموذج أكبر.

الإرث والتأثير

غيّرت هذه الورقة نظرة المجال للنمذجة المكانية داخل الشبكات الالتفافية. منذ LeNet كانت الشبكة المربعة الجامدة مسلّمة لا يُشكّك فيها أحد — وجاء هذا العمل ليُظهر أنها كانت خياراً تصميمياً، وخياراً دون المستوى الأمثل.

انتشر أثر الورقة في مسارين. الأول مباشر: DCNv2 عام 2019 أضاف معاملات تعديل تكبت السياق غير المفيد، ثم نقل Deformable DETR عام 2021 فكرة تعلُّم الإزاحات إلى عالم . الثاني مفاهيمي: ترسّخت فكرة أن مواقع أخذ العيّنات ينبغي أن تُتعلَّم لا أن تُحدَّد مسبقاً، وأصبحت مبدأ أساسياً في كل بنية لاحقة تُكيّف حقل استقبالها ديناميكياً.

اليوم، الالتفافات القابلة للتشوُّه مكوّن قياسي في أنظمة الاكتشاف والتجزئة الجاهزة للإنتاج. حين يحتاج نموذج رؤية إلى التعامل مع أجسام تتفاوت كثيراً في الشكل والحجم، فإن أخذ العيّنات القابل للتشوُّه — بصورة أو بأخرى — يكون جزءاً من الحل غالباً.

  1. 2015

    شبكات التحويل المكاني

    قدّم Jaderberg وزملاؤه أول آلية تتعلّم تحويلات هندسية شاملة (أفينية) من البيانات داخل شبكة عميقة. حققت نتائج جيدة في التصنيف على نطاق صغير، لكنها مكلفة حسابياً ويصعب توظيفها في مهام التنبؤ الكثيف كالتجزئة.

  2. 2017

    شبكات الالتفاف القابلة للتشوُّه (هذه الورقة)

    عوضاً عن التحويل الشامل، اعتمدت هذه الورقة إزاحات محلية كثيفة تتغيّر بحسب المدخل. خفيفة حسابياً وسهلة التدريب وفعّالة في الاكتشاف والتجزئة. أثبتت عملياً أن تكييف مواقع أخذ العيّنات مع المحتوى أمر ممكن ومُجدٍ.

  3. 2019

    الالتفاف القابل للتشوُّه v2

    أضاف Zhu وزملاؤه معامل تعديل (من 0 إلى 1) لكل نقطة أخذ عيّنات، فأصبحت كل نقطة تتعلّم ليس فقط *أين* تقرأ بل *كم تثق* بما تقرؤه. هذا عالج مشكلة انجراف الإزاحات نحو مناطق الخلفية غير المفيدة.

  4. 2021

    DETR القابل للتشوُّه

    نقل Zhu وزملاؤه فكرة تعلُّم الإزاحات إلى آلية انتباه المحوِّلات: بدل حساب الانتباه على جميع المواقع المكانية بتكلفة تربيعية O(n²)، يتعلّم النموذج مجموعة صغيرة من نقاط أخذ العيّنات لكل استعلام. هذا ما جعل DETR عملياً مع صور عالية الدقة.

المرجعDai, Qi, Xiong, Li, Zhang, Hu, Wei. Deformable Convolutional Networks. ICCV, 2017.

مصطلحات هذه الورقة