كشف الكائن الاعتراف والحكم. الجزء 2


في مقال سابق ، بدأت أفهم نماذج اكتشاف الأجسام على مرحلتين وتحدثت عن أبسطها ، وبالتالي ، أولها - R-CNN . اليوم ننظر إلى نماذج أخرى من هذه العائلة: Fast R-CNN و Faster R-CNN . اذهب!

r-cnn سريع


نظرًا لأن R-CNN هي شبكة بطيئة وليست فعالة للغاية ، فقد اقترح المؤلفون أنفسهم بسرعة تحسينًا في شكل شبكة R-CNN سريعة .

تم تغيير عملية معالجة الصور وتبدو كما يلي:

  1. استخراج خريطة سمات الصورة (ليس لكل فرضية على حدة ، ولكن للصورة بأكملها) ؛
  2. بحث الفرضيات (على غرار R-CNN على أساس البحث الانتقائي) ؛
  3. – .. ( );
  4. ( , SVM-).

RoI layer


في مفهوم R-CNN الأصلي ، تتم معالجة كل فرضية مقترحة بشكل فردي باستخدام CNN - أصبح هذا النهج نوعًا من الاختناق. لحل هذه المشكلة ، تم تطوير طبقة منطقة الاهتمام (RoI) . تسمح لك هذه الطبقة بمعالجة الصورة بأكملها مرة واحدة باستخدام الشبكة العصبية ، وتلقي عند الإخراج خريطة معالم ، والتي يتم استخدامها بعد ذلك لمعالجة كل فرضية.

تتمثل المهمة الرئيسية لطبقة ROI في مقارنة إحداثيات الفرضيات (إحداثيات الصندوق المحيط) بالإحداثيات المقابلة لخريطة المعالم. من خلال عمل "شريحة" لخريطة المعالم ، تغذيها طبقة العائد على الدخل في مدخل الطبقة المتصلة بالكامل لتحديد الصف وتصحيحات لاحقة للإحداثيات (انظر الأقسام التالية).

ينشأ سؤال منطقي - كيفية تطبيق الفرضيات ذات الأحجام المختلفة ونسب العرض إلى الارتفاع على إدخال طبقة متصلة بالكامل؟ لهذا ، هناك حاجة إلى طبقة العائد على الاستثمار ، والتي تحول الصورة مع الأبعادIh×Iw في الحجم Oh×Ow. للقيام بذلك ، تحتاج إلى تقسيم الصورة الأصلية إلى شبكة من الحجمOh×Ow (حجم الخلية تقريبًا IhOh×IwOw) ومن كل خلية حدد العدد الأقصى.

لنفترض أن هناك خريطة معالم 5 × 5 وأن الفرضية المطلوبة على هذه الخريطة لها إحداثيات (1،1،4،5) (الإحداثيتان الأوليان هما الركن الأيسر العلوي ، والأخران هما الجانب الأيمن السفلي). تتوقع الطبقة المتصلة الكاملة اللاحقة بعدًا 4 × 1 (أي مصفوفة 2 × 2 ممدودة). ثم نقسم الفرضية إلى كتل غير متساوية من أبعاد مختلفة (مرحلة التجميع) ونأخذ العدد الأقصى في كل منها (مرحلة التجميع ، ونتيجة لذلك ، مرحلة الإخراج).


وبالتالي ، يصبح من الممكن معالجة الصورة بأكملها ، ثم العمل مع كل فرضية على أساس خريطة المعالم.

مجموع:

  • المدخلات: إحداثيات الفرضية وخريطة ملامح الصورة الأصلية ؛
  • المُخرَج: تمثيل متجه للفرضية.

طبقة متصلة بالكامل ومخرجاتها


في الإصدار السابق من R-CNN ، تم استخدام مصنفات SVM منفصلة ، وفي نفس التطبيق تم استبدالها بمخرج بُعد واحد SoftMax Nc+1. ويلاحظ أن فقدان الدقة أقل من 1٪.

تتم معالجة ناتج الانحدار باستخدام NMS (قمع غير أقصى).

مجموع:

  • المدخلات: تمثيل الفرضية للمتجه.
  • الإخراج: احتمالات الفرضية التي تنتمي إلى الفئات والتصحيحات لإحداثيات المربع المحيط.

فقدان المهام المتعددة


في التدريب المتزامن للشبكة ، يتم استخدام وظيفة الخسارة الخاصة لمهام تراجع المربع المحيط والتصنيف:

L(P,u,tu,v)=Lcls(P,u)+λ[u1]Lloc(tu,v)


هنا:

  • λضروري لضبط التوازن بين الوظيفتين (استخدام المؤلفين λ= 1) ؛
  • u- الصنف الصحيح ؛
  • Lclsيمثل وظائف الخطأ للتصنيف Lcls(P,u)=logPu؛
  • Llocهي دالة SmoothL1 وتقيس الفرق بين v=(vx,vy,vw,vh)و tu=(txu,tyu,twu,thu)القيم:

    SmoothL1={12x2,if|x|<1|x|12,otherwise


    هنا، xيشير إلى الفرق بين القيمة المستهدفة والتنبؤ tiuvi. تجمع هذه الوظيفة بين مزايا الدالتين L1 و L2 ، لأنها مستقرة عند قيم كبيرةx وليس غرامات كبيرة للقيم الصغيرة.


تدريب


من أجل التقارب الأفضل ، استخدم المؤلفون النهج التالي لتشكيل الدفعة:

  1. تم تحديد عدد الفرضيات في الدفعة R.
  2. اختيار عشوائي Nالصور.
  3. لكل من Nتم التقاط الصور RNالفرضيات (أي بالتساوي عبر كل صورة).

في الوقت نفسه ، يتم تضمين كل من الفرضيات الإيجابية (25٪ من المجموعة بأكملها) والسلبية (75٪ من المجموعة بأكملها) في R. تعتبر الفرضيات التي تتداخل مع الموقع الصحيح للكائن بأكثر من 0.5 (IoU) إيجابية. تؤخذ تلك السلبية وفقا لقاعدة التعدين السلبي الثابت - أكثر الحالات خطأ (تلك التي تحتوي على IoU في النطاق [0.1،0.5).

علاوة على ذلك ، يجادل المؤلفون أنه مع المعلماتN=2 و R=128تتعلم الشبكة عدة مرات أسرع من N=128و R=128(أي فرضية واحدة من كل صورة).

أسرع r-cnn


التحسين المنطقي الآخر هو طريقة للتخلص من الاعتماد على خوارزمية البحث الانتقائي. للقيام بذلك ، سنقوم بتمثيل النظام بأكمله كتركيبة من وحدتين - تعريف الفرضيات ومعالجتها. سيتم تنفيذ الوحدة الأولى باستخدام شبكة اقتراح المنطقة (RPN) ، والثانية مماثلة لـ Fast R-CNN (بدءًا من طبقة العائد على الاستثمار).

لذلك ، هذه المرة تغيرت عملية العمل مع الصورة وتحدث الآن بهذه الطريقة:

  1. إزالة خريطة ميزات الصورة باستخدام شبكة عصبية ؛
  2. توليد على أساس الخريطة التي تم الحصول عليها من علامات الفرضيات - تحديد الإحداثيات التقريبية ووجود كائن من أي فئة ؛
  3. مقارنة إحداثيات الفرضيات باستخدام العائد على الاستثمار مع خريطة المعالم التي تم الحصول عليها في الخطوة الأولى ؛
  4. تصنيف الفرضيات (بالفعل لتعريف فئة معينة) والتنقيح الإضافي للإحداثيات (في الواقع ، قد لا تنطبق).

حدث التحسن الرئيسي على وجه التحديد في المكان الذي تم فيه إنشاء الفرضيات - الآن لهذا السبب هناك شبكة عصبية صغيرة منفصلة ، والتي كانت تسمى شبكة اقتراح المنطقة .


شبكة اقتراح المنطقة


الهدف النهائي لهذه الوحدة هو استبدال خوارزمية البحث الانتقائي بالكامل. للتشغيل بشكل أسرع ، هناك حاجة للأوزان الشائعة مع شبكة تستخرج السمات الضرورية. لذلك ، يعد إدخال RPN خريطة ميزات تم الحصول عليها بعد هذه الشبكة. يستخدم مؤلفو المقالة الأصلية شبكة VGG16 لاستخراج الميزات ، والتي يعتبر ناتجها الطبقة التلافيفية الأخيرة - conv5_3. تتمتع هذه الشبكة بالخصائص التالية لمجال التقبل :

  • الضغط الفعال (خطوات فعالة ، S0): السادس عشر
  • حجم الحقل الاستقبالي r0): 196

وهذا يعني أن خريطة المعالم ستكون أصغر 16 مرة من حجم الصورة الأصلي (عدد القنوات 512) ، وتتأثر كل قيمة في خلاياها بوحدات بكسل الصورة الأصلية الموجودة في مستطيل 196 × 196. وبالتالي ، اتضح أنه إذا استخدمت المدخلات القياسية VGG16 224 × 224 ، فستؤثر الصورة بأكملها تقريبًا على تكوين قيمة الخلية المركزية لخريطة المعالم (14.14)! استنادًا إلى خريطة المعالم المستلمة ، ينتج RPN لكل خليةk الفرضيات (في التنفيذ الأصلي k=9) أحجام ونسب عرضية مختلفة. لذلك ، بالنسبة للحجم القياسي ، هذه 14 × 14 × 9 = 1764 فرضية!

بناءً على الصورة أدناه ، نعتبر خوارزمية وحدة RPN بمزيد من التفاصيل (صورة قابلة للنقر):


  1. احصل على خريطة للميزات c×H16×W16من الخطوة السابقة.
  2. نطبق طبقة تلافيفية 3 × 3 (المسافة البادئة تساوي واحدة - لا يتغير حجم المصفوفة النهائية). على ما يبدو ، يتم استخدام هذه الخطوة من قبل المؤلفين لزيادة مجال الاستقباب (P0=106، r0=228)

  • زنزانة (i,j) خريطة المعالم تتوافق مع متجه الأبعاد c(في حالتنا 512).

  1. لكل متجه من هذا القبيل ، يمكن تطبيق طبقتين تلافيفيتين بقلب 1 × 1 وعدد قنوات الإخراج c^(نواة بهذا الحجم تعرض ببساطة البعد cفي c^):
    1. تحتوي الطبقة الأولى ( cls ) على معلمةc^=2k – - ( 2 ).
    2. (reg) c^=4k– .

    , k×2k×4. , i.

ينشأ سؤال منطقي: كيف يمكن تحديد الإحداثيات المطلقة للفرضيات من المتجه الذي يدخل طبقة التسجيل؟ الجواب بسيط - مستحيل. لتحديد الإحداثيات بشكل صحيح ، من الضروري استخدام ما يسمى المراسي والتصحيحات لإحداثياتها.

المرساة هي رباعي الزوايا بنسب أبعاد مختلفة (1: 1 ، 2: 1 ، 1: 2) وأحجام (128 × 128 ، 256 × 256 ، 512 × 512). مركز المرساة هو مركز الخلية (i,j) علامات البطاقة. لذا ، على سبيل المثال ، لنأخذ خلية (7،7) ، مركزها القيم (7.5،7.5) ، والتي تتوافق مع إحداثيات (120،120) للصورة الأصلية (16 × 7.5). قارن مع هذه الإحداثيات المستطيلات من ثلاثة نسب أبعاد وثلاثة أحجام (مجموع 3 × 3 = 9). في المستقبل ، ستنتج طبقة reg تعديلات مناسبة فيما يتعلق بهذه الإحداثيات ، وبالتالي ضبط موقع وشكل الصندوق المحيط.

مجموع:

  • الإدخال: خريطة ميزات الصورة الأصلية ؛
  • الإخراج: الفرضيات التي تحتوي على كائن.

فقدان وظيفة


للتدريب RPN ، يتم استخدام تدوين الصف التالي:

  • الإيجابية هي جميع المراسي التي لها تقاطع (IoU) أكثر من 0.7 أو لها أكبر تقاطع بين جميع المراسي (تنطبق إذا لم يكن هناك تقاطع يزيد عن 0.7).
  • السلبية كلها مثبتات لها تقاطع أقل من 0.3.
  • لا تشارك جميع المراسي الأخرى في التدريب (في الواقع ، فهي محايدة).

حتى الصف piتُمنح المراسي وفقًا للقاعدة التالية:

pi={1ifIoU>0.70ifIoU<0.3nothingotherwise


مع مثل هذا التدوين ، يتم تقليل الوظيفة التالية:

L({pi},{ti})=1NclsiLcls(pi,pi)+λ1NlocipiLreg(ti,ti)


هنا:

  • i- رقم المرساة ؛
  • pi- احتمالية العثور على الشيء iمرساة؛
  • pi- رقم الفصل الصحيح (المشار إليه أعلاه) ؛
  • ti- 4 تصحيحات متوقعة للإحداثيات ؛
  • ti- التصحيحات المتوقعة (الحقيقة على الأرض) للإحداثيات ؛
  • Lcls(pi,pi)- خسارة السجل الثنائية ؛
  • Lreg(ti,ti)- خسارة SmoothL1. تنشيط فقط إذاpi=1، بمعنى آخر. إذا كانت الفرضية تحتوي على شيء ما على الأقل ؛
  • {pi}و {ti}- مخرجات نموذجي التصنيف والانحدار على التوالي ؛
  • λ- معامل لضبط التوازن بين التصنيف والانحدار.

كلا الجزئين من الخسارة مجتمعة تطبيع Nclsو Nlocعلى التوالي. استخدم المؤلفونNcls يساوي حجم الدفعة المصغرة (256) و Nlocيساوي عدد المراسي.

لتراجع التصحيحات إلى المربع المحيط ، تتم تهيئة القيم وحسابها على النحو التالي:

tx=(xxa)wa,tx=(xxa)wty=(yya)ha,ty=(yya)hatw=logwwa,tw=logwwath=loghha,th=loghha


هنا x، y، wو hتشير إلى مركز الصندوق المحيط وعرضه وارتفاعه. المتغيراتx، xو xaتشير إلى التنبؤ والحقيقة الأرضية ومعنى المراسي (ل y، wو hوبالمثل).

سيكون التدريب على القائمة الكاملة للمراسي متحيزًا للفئة السلبية (هناك العديد من الفرضيات مع هذا الفصل). في هذا الصدد ، يتم تشكيل الدفعة الصغيرة بنسبة 1: 1 للمثبتات الإيجابية إلى السلبية. إذا لم يكن من الممكن العثور على العدد المناسب من المراسي الإيجابية ، يتم استكمال الدفعة الصغيرة بمساعدة الفئات السلبية.

تدريب عام على الشبكة


الهدف الرئيسي هو الاستخدام المشترك للمقاييس بين الوحدتين - وهذا سيزيد من سرعة العمل. نظرًا لأنه من المستحيل (أو من الصعب إلى حد ما) تدريب وحدتين مستقلتين في وقت واحد ، فإن مؤلفي المقالة يستخدمون نهجًا تكراريًا:

  1. تدريب شبكة RPN. تتم تهيئة الطبقات التلافيفية بأوزان تم الحصول عليها مسبقًا أثناء التدريب على ImageNet. سنعيد التدريب على مهمة تحديد المناطق بأي فئة (مواصفات الفئة هي جزء من Fast R-CNN).
  2. تدريب شبكة R-CNN السريعة. كما هو الحال في الخطوة 1 ، نقوم بتهيئة Fast R-CNN بالأوزان التي تم الحصول عليها سابقًا أثناء التدريب على ImageNet. نعيد استخدام الفرضيات حول الأشياء باستخدام شبكة RPN المدربة في البند 1. هذه المرة ، مهمة التدريب هي توضيح الإحداثيات وتحديد فئة معينة من الكائن.
  3. باستخدام الأوزان من الصفحة 2 ، نقوم بتدريب جزء RPN فقط (يتم تجميد الطبقات التي تنتقل إلى شبكة RPN التي تنتمي إلى مستخرج المعالم ولا تتغير على الإطلاق).
  4. باستخدام الأوزان من الصفحة 3 (أي ، RPN المضبوطة بدقة) ، نقوم بتدريب طبقات Fast R-CNN (الأوزان المتبقية - تلك التي تذهب في وقت سابق أو تتعلق بـ RPN - مجمدة).

بمساعدة هذا التدريب التكراري ، اتضح أن الشبكة بأكملها مبنية على نفس المقاييس. يمكنك الاستمرار في تدريب الشبكة على هذا المبدأ ، لكن المؤلفين يلاحظون أنه لا توجد تغييرات كبيرة في المقاييس.

عملية التنبؤ


عند استخدام الشبكات العصبية للتنبؤات ، يبدو نشر الصورة كما يلي:

  1. تدخل الصورة مدخلات الشبكة العصبية ، لتوليد خريطة معالم.
  2. تتم معالجة كل خلية في خريطة المعالم باستخدام RPN ، مما يعطي نتيجة للتصحيح في موضع المراسي واحتمال وجود كائن من أي فئة.
  3. وبعد ذلك ، تعتمد الإطارات المتوقعة المقابلة على خريطة المعالم وطبقة العائد على الاستثمار لمزيد من المعالجة للجزء السريع R-CNN.
  4. عند الإخراج ، نحصل على فئة محددة من الكائنات وموضعها الدقيق في الصورة.

ملخص الاختلافات


هنا ملخص موجز للنماذج فيما بينها (الأفكار الأساسية موروثة من الأصغر إلى الأكبر):

R-CNN:

  • استخدام البحث الانتقائي كمولد للفرضيات.
  • استخدام SVM + Ridge لتصنيف الفرضيات وتراجعها (علاوة على ذلك ، لا يمكن تشغيلها الموازي).
  • إدارة شبكة عصبية لمعالجة كل فرضية على حدة.
  • سرعة منخفضة.

R-CNN سريع:

  • يتم إطلاق الشبكة العصبية مرة واحدة فقط لكل صورة - يتم اختبار جميع الفرضيات على أساس خريطة معالم واحدة.
  • المعالجة الذكية للفرضيات ذات الأحجام المختلفة بسبب طبقة العائد على الاستثمار.
  • استبدال SVN بطبقة SoftMax.
  • إمكانية تصنيف العمل المتوازي والانحدار.

أسرع R-CNN:

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

استنتاج


في الختام ، يمكننا القول أن تطوير R-CNN انتقل من خوارزميات متباينة تحل مشكلة واحدة نحو حل واحد إلى طرف واحد. يسمح لك هذا المزيج بجعل أي نهج تقريبًا أكثر دقة وإنتاجية ، لم يكن اكتشاف الكائن استثناءً.

قائمة المراجع


  1. R. Girshick, J. Donahue, T. Darrell, and J. Malik. «Rich feature hierarchies for accurate object detection and semantic segmentation.» In CVPR, 2014. arXiv:1311.2524
  2. R. Girshick, J. Donahue, T. Darrell, and J. Malik. «Region-based convolutional networks for accurate object detection and segmentation.» TPAMI, 2015
  3. R. Girshick, «Fast R-CNN,» in IEEE International Conference on Computer Vision (ICCV), 2015.
  4. S. Ren, K. He, R. Girshick, and J. Sun, «Faster R-CNN: Towards real-time object detection with region proposal networks,» in Neural Information Processing Systems (NIPS), 2015.

All Articles