السيارات بدون طيار لا يمكن أن تفعل دون فهم ما هو موجود وأين بالضبط. في ديسمبر من العام الماضي ، قدم المطور Victor Otliga
vitonka عرضًا تقديميًا عن اكتشاف الكائنات ثلاثية الأبعاد في
شجرة Data-Christmas . يعمل Victor في اتجاه المركبات غير المأهولة Yandex ، في المجموعة التي تتعامل مع حالة حركة المرور (وتعلم أيضًا في SHAD). وأوضح كيف نحل مشكلة التعرف على مستخدمي الطرق الآخرين في سحابة ثلاثية الأبعاد ، وكيف تختلف هذه المشكلة عن التعرف على الكائنات في صورة ما ، وكيفية الاستفادة من مشاركة أنواع مختلفة من أجهزة الاستشعار.
- مرحبا بالجميع! اسمي فيكتور أوتليجا ، أعمل في مكتب ياندكس في مينسك ، وأنا أعمل على تطوير مركبات غير مأهولة. سأتحدث اليوم عن مهمة مهمة إلى حد ما بالنسبة للطائرات بدون طيار - التعرف على الكائنات ثلاثية الأبعاد من حولنا.

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

هذا ما يبدو عليه نموذج عملنا لسيارة بدون طيار الآن. يمكن استئجار سيارة أجرة من قبل أي شخص بدون سائق في مدينة Innopolis في روسيا ، وكذلك في Skolkovo. وإذا نظرت عن كثب ، فهناك موت كبير في المقدمة. ما هو هناك في الداخل؟

داخل مجموعة بسيطة من أجهزة الاستشعار. يوجد هوائي GNSS و GSM لتحديد مكان السيارة والتواصل مع العالم الخارجي. حيث بدون مثل هذا الاستشعار الكلاسيكي مثل الكاميرا. لكن اليوم سنكون مهتمين في النجوم.


تنتج Lidar سحابة من النقاط حولها تقريبًا ، ولها ثلاثة إحداثيات. وعليك أن تعمل معهم. سأخبرك كيف ، باستخدام صورة الكاميرا وسحابة lidar ، للتعرف على أي كائنات.

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

نقوم بمزامنة الكاميرات والأغطية بطريقة أو بأخرى ، وهذه مهمة صعبة منفصلة ، لكننا نجحنا في التعامل معها. تدخل هذه البيانات المدخلات ، وفي النهاية نريد الحصول على مربعات ، مربعات مربوطة تحد من الكائن: المشاة ، راكبي الدراجات ، السيارات ومستخدمي الطريق الآخرين وليس فقط.
تم تعيين المهمة. كيف سنقيمها؟

تمت دراسة مشكلة التعرف على الكائنات ثنائية الأبعاد في صورة على نطاق واسع.

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

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

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

ما لقياس؟

من المحتمل أن كل من واجه على الأقل بطريقة ما مهمة اكتشاف في 3D بواسطة سحابة lidar سمع عن مجموعة بيانات مثل KITTI.

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

تعد مجموعات البيانات الخارجية جيدة ، ولا يتعين عليك قضاء وقتك ومواردها عليها ، ولكن كقاعدة عامة ، يمكن تجهيز السيارة التي سافرت إلى ألمانيا بأجهزة استشعار مختلفة تمامًا. ومن الجيد دائمًا أن يكون لديك مجموعة بيانات داخلية خاصة بك. علاوة على ذلك ، يصعب توسيع مجموعة بيانات خارجية على حساب الآخرين ، ولكن من الأسهل إدارة بياناتك الخاصة. لذلك ، نحن نستخدم خدمة Yandex.Tolok الرائعة.

وضعنا اللمسات الأخيرة على نظام المهمة الخاصة بنا. إلى المستخدم الذي يريد المساعدة في الترميز والحصول على مكافأة مقابل ذلك ، فإننا نعطيه صورة من الكاميرا ، ونقدم سحابة lidar التي يمكنك تدويرها وتصغيرها وتصغيرها ونطلب منه وضع الصناديق التي تحد من الصناديق المحيطة بنا حتى تدخل سيارة أو مشاة فيها أو أي شيء آخر. وبالتالي ، فإننا نجمع العينات الداخلية للاستخدام الشخصي.
لنفترض أننا قررنا المهمة التي سنحلها ، وكيف سنفترض أننا قمنا بها بشكل جيد أو سيء. أخذنا مكان البيانات.
ما هي الخوارزميات؟ لنبدأ مع 2D. مهمة الكشف عن 2D معروفة ومدروسة جيدًا.

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

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

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

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

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

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

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

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

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

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

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

في الختام - مثال على كاشفنا:
يمكن ملاحظة أن الموقف معقد: بعض الكائنات مغلقة وبعضها غير مرئي للكاميرا. المشاة ، راكبي الدراجات. لكن كاشف تتواءم بشكل جيد بما فيه الكفاية. شكرا لك