EfficientDet: نحو اكتشاف كائن فعال وقابل للتطوير

جدول المحتويات:

EfficientDet: نحو اكتشاف كائن فعال وقابل للتطوير
EfficientDet: نحو اكتشاف كائن فعال وقابل للتطوير

فيديو: EfficientDet: نحو اكتشاف كائن فعال وقابل للتطوير

فيديو: EfficientDet: نحو اكتشاف كائن فعال وقابل للتطوير
فيديو: [DeepReader] EfficientDet: Scalable and Efficient Object Detection 2024, شهر نوفمبر
Anonim

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

كشف كائن قابل للتطوير وفعال
كشف كائن قابل للتطوير وفعال

لذا فإن السؤال الطبيعي هو كيف نصمم كاشفات دقيقة وفعالة للأشياء يمكنها أيضًا التكيف مع مجموعة واسعة من قيود الموارد؟

EfficientDet: اكتشاف الكائنات القابل للتطوير والفعالية ، الذي تم اعتماده في CVPR 2020 ، يقدم عائلة جديدة من أجهزة الكشف عن الكائنات الفعالة والقابلة للتطوير. بناءً على العمل السابق على توسيع نطاق الشبكات العصبية (EfficientNet) ودمج شبكة وظيفية جديدة ثنائية الاتجاه (BiFPN) وقواعد جديدة للقياس ، تحقق EfficientDet الدقة الحديثة بينما أصغر بـ 9 مرات وتستخدم حسابًا أقل بكثير من الكاشفات الحديثة المعروفة. يوضح الشكل التالي بنية الشبكة العامة للنماذج.

صورة
صورة

تحسين العمارة النموذجية

تنبع الفكرة وراء EfficientDet من محاولة إيجاد حلول لتحسين الكفاءة الحسابية من خلال فحص منهجي لأحدث نماذج الكشف السابقة. بشكل عام ، تحتوي أجهزة الكشف عن الكائنات على ثلاثة مكونات رئيسية: العمود الفقري الذي يستخرج ميزات من صورة معينة ؛ شبكة من الكائنات تأخذ مستويات متعددة من الوظائف من العمود الفقري كمدخلات ومخرجات قائمة بالوظائف المدمجة التي تمثل الخصائص المميزة للصورة ؛ وشبكة فئة / صندوق نهائية تستخدم وظائف مدمجة للتنبؤ بفئة وموقع كل كائن.

بعد مراجعة خيارات التصميم لهذه المكونات ، حددنا عدة تحسينات رئيسية لتحسين الأداء والكفاءة. تستخدم أجهزة الكشف السابقة في الغالب ResNets أو ResNeXt أو AmoebaNet كأعمدة أساسية ، والتي تكون إما أقل قوة أو ذات كفاءة أقل من EfficientNets. مع التنفيذ الأولي لشبكة EfficientNet الأساسية ، يمكن تحقيق المزيد من الكفاءة. على سبيل المثال ، بدءًا من خط الأساس RetinaNet الذي يستخدم العمود الفقري ResNet-50 ، توضح دراسة الاستئصال أن استبدال ResNet-50 بـ EfficientNet-B3 يمكن أن يحسن الدقة بنسبة 3٪ مع تقليل الحساب بنسبة 20٪. التحسين الآخر هو تحسين كفاءة الشبكات الوظيفية. في حين أن معظم الكاشفات السابقة تستخدم ببساطة الشبكة الهرمية للوصلة الهابطة (FPN) ، نجد أن FPN المصب يقتصر بطبيعته على تدفق المعلومات في اتجاه واحد. تضيف FPNs البديلة مثل PANet مزيدًا من المنبع على حساب حساب إضافي.

اكتشفت المحاولات الأخيرة لاستخدام Neural Architecture Search (NAS) بنية NAS-FPN أكثر تعقيدًا. ومع ذلك ، في حين أن بنية الشبكة هذه فعالة ، فهي أيضًا غير منتظمة ومُحسّنة للغاية لمهمة معينة ، مما يجعل من الصعب التكيف مع المهام الأخرى. لحل هذه المشكلات ، نقترح شبكة جديدة من الوظائف ثنائية الاتجاه BiFPN ، والتي تنفذ فكرة الجمع بين وظائف متعددة الطبقات من FPN / PANet / NAS-FPN ، مما يسمح بنقل المعلومات من أعلى إلى أسفل و من الاسفل الى الاعلى. باستخدام اتصالات منتظمة وفعالة.

صورة
صورة

لزيادة تحسين الكفاءة ، نقترح تقنية تخليق جديدة سريعة التطبيع. عادةً ما تتعامل الأساليب التقليدية مع جميع المدخلات إلى FPN بنفس الطريقة ، حتى عند مستويات دقة مختلفة.ومع ذلك ، نلاحظ أن ميزات الإدخال ذات الدقة المختلفة غالبًا ما تساهم بشكل غير متساو في وظائف الإخراج. وبالتالي ، فإننا نضيف وزنًا إضافيًا لكل دالة إدخال ونترك للشبكة معرفة أهمية كل وظيفة. سنقوم أيضًا باستبدال جميع التلافيف العادية بتلافيفات أقل تكلفة وقابلة للفصل بشدة. مع هذا التحسين ، يعمل BiFPN على تحسين الدقة بنسبة 4٪ مع تقليل التكاليف الحسابية بنسبة 50٪.

يتضمن التحسين الثالث تحقيق أفضل حل وسط بين الدقة والكفاءة في ظل قيود الموارد المختلفة. أظهر عملنا السابق أن القياس المشترك لعمق وعرض ودقة الشبكة يمكن أن يحسن أداء التعرف على الصور بشكل كبير. مستوحاة من هذه الفكرة ، نقترح طريقة قياس مركبة جديدة لكاشفات الكائنات التي تزيد بشكل جماعي من الدقة / العمق / العرض. سيكون لكل مكون من مكونات الشبكة ، أي الشبكة التنبؤية الأساسية والعنصر والكتلة / الفئة ، عامل تحجيم معقد واحد يتحكم في جميع أبعاد القياس باستخدام قواعد الكشف عن مجريات الأمور. هذا الأسلوب يجعل من السهل تحديد كيفية قياس النموذج عن طريق حساب عامل مقياس لقيود مورد هدف معين.

من خلال الجمع بين العمود الفقري الجديد و BiFPN ، نقوم أولاً بتصميم خط أساسي صغير EfficientDet-D0 ثم نطبق التحجيم المركب للحصول على EfficientDet-D1 إلى D7. يحتوي كل نموذج تسلسلي على تكلفة حسابية أعلى ، تغطي نطاقًا واسعًا من قيود الموارد من 3 مليارات FLOPs إلى 300 مليار FLOPS ، ويوفر دقة أعلى.

نموذج الأداء

تقييم EfficientDet في مجموعة بيانات COCO ، وهي مجموعة بيانات مرجعية مستخدمة على نطاق واسع لاكتشاف الكائنات. يحقق EfficientDet-D7 متوسط دقة متوسط (mAP) يبلغ 52.2 ، وهو أعلى بمقدار 1.5 نقطة من النموذج الحديث السابق ، باستخدام معلمات أقل 4 مرات و 9.4 مرات حسابات أقل

صورة
صورة

قمنا أيضًا بمقارنة حجم المعلمة وزمن انتقال CPU / GPU بين EfficientDet والنماذج السابقة. مع قيود دقة مماثلة ، تعمل نماذج EfficientDet أسرع مرتين إلى أربع مرات على وحدة معالجة الرسومات و 5-11 مرة على المعالج أسرع من أجهزة الكشف الأخرى. في حين أن نماذج EfficientDet مخصصة أساسًا لاكتشاف الكائنات ، فإننا أيضًا نختبر فعاليتها في مهام أخرى مثل التجزئة الدلالية. لأداء مهام التجزئة ، قمنا بتعديل EfficientDet-D4 بشكل طفيف عن طريق استبدال رأس الكشف وفقدان الرأس وفقدانه مع الحفاظ على نفس العمود الفقري المقياس و BiFPN. قارنا هذا النموذج بنماذج التجزئة الحديثة السابقة لـ Pascal VOC 2012 ، وهي مجموعة بيانات اختبار تجزئة مستخدمة على نطاق واسع.

صورة
صورة

نظرًا لأدائها الاستثنائي ، من المتوقع أن تعمل EfficientDet كأساس جديد لأبحاث الكشف عن الأجسام في المستقبل ، ومن المحتمل أن تجعل نماذج اكتشاف الأجسام عالية الدقة مفيدة في العديد من تطبيقات العالم الحقيقي. لذا فتحت جميع نقاط توقف الكود والنموذج الذي تم اختباره مسبقًا على Github.com.

موصى به: