
يعرف كل سائق أن السائقين يميلون إلى التعب. يحدث أن تلتصق عينيك ببعضهما البعض حتى عندما تقود سيارتك إلى المنزل من العمل ، ويواجه سائقو الشاحنات إحدى المشاكل المهنية الرئيسية: تحدث
آلاف الحوادث كل عام بسبب نائمة الأشخاص على عجلة القيادة. الشيء هو أن سائقو الشاحنات بحاجة إلى تحقيق توازن مستمر بين الراحة والقيادة الآمنة من ناحية ، والتعب مع ارتفاع الأرباح من ناحية أخرى. إغراء كبير للنوم أقل ، ولكن بشكل أسرع لتسليم البضائع والحصول على طلب جديد. ناهيك عن حقيقة أن السائقين لديهم حياتهم الشخصية وأنهم لا يذهبون دائمًا للنوم على متن رحلة جوية.
لجعل الطرق أكثر أمانًا ، أطلقنا مشروعنا لمراقبة حالة السائقين: وفقًا لمتطلبات العملاء ، نقوم بإنشاء حلول برمجيات وأجهزة يمكنها تتبع صحة السائق على الطريق ومنع مرحلة النوم حتى لا "يستيقظوا" في العالم التالي.
اليقظة العين
الفكرة الرئيسية هي استخدام الكاميرا لتتبع التعب وردود الفعل الخطيرة للسائقين. يقوم الجهاز أولاً بجمع إحصائيات حول سلوك سائق معين أثناء القيادة. وإذا قرر النظام ، بناءً على هذه الإحصاءات ، أن يظهر السائق علامات التعب أو على وشك أن يرى أحلامًا ، فستشير إليه بهذا. إذا بدأ السائق غالبًا إيماءة أو تفاعل مع أحداث مثل ذبابة النعاس ، فسيقوم النظام أيضًا بإبلاغ المرسل بذلك.
باستخدام تحليلات الفيديو ، نراقب مدى تركيز السائق وما إذا كان ينظر إلى الطريق أم لا. تلتقط الكاميرا الوجه واليدين باستمرار ، ويتتبع النظام عددًا من النقاط الرئيسية. نتوقع أن تكون عيون السائق مفتوحة دائمًا ، وعيناه موجهة نحو الزجاج الأمامي أو المرايا الجانبية. إذا كانت العينان مغمضتان ، أو إذا كان الرأس يميل إلى الأمام وسقطت الذقن على الصندوق ، أو إذا ابتعد الوجه عن الزجاج الأمامي لفترة طويلة ، فإن النظام يعطي إشارة.
بالطبع ، لا يعمل هذا التتبع والإشارات طوال الوقت ، ولكن فقط عندما تكون السيارة تتحرك ، يتم استخدام جهاز استشعار GPS لهذا الغرض. لقد وفرنا أيضًا إمكانية تشغيل النظام وإيقافه بالقوة ، لأن الحالات مختلفة. ولكن في نفس الوقت ، قارنا مدة الجهاز والوقت الذي يتم فيه إيقاف تشغيل النظام. إذا لزم الأمر ، يمكن للجهاز إبلاغ المرسل أن السائق كان يسافر مع "التحكم" قبالة لفترة طويلة.
تطبيق
يتكون المشروع من جزأين: الأجهزة والبرامج.
كيف يحدد النظام أن السائق يغفو الآن؟ باستخدام مكتبة OpenCV ، والتي تعتمد على التعلم الآلي. يتيح لك OpenCV تحديد النقاط الرئيسية في دفق الفيديو: الذقن واليدين والعينين (بما في ذلك حجمها وعرضها). وبناءً على هذه المعلمات ، يحدد النظام ما إذا كان برنامج التشغيل متعبًا أم لا.
يتكون الجهاز من كاميرا Waveshare RPi (F) و Raspberry Pi ، مجمعة في حاوية واحدة. يعد إنشاء الأجهزة أكثر صعوبة مما قد يبدو للوهلة الأولى: لا تحتاج إلى توصيل المكونات ولحامها ، ولكن فكر في تركيبة الأجهزة بحيث يعمل الجهاز بشكل موثوق به لفترة طويلة وبدون أي عيوب. في الواقع ، هذه مهمة تكامل منفصلة. وعادة ما تكون مخاطر الاندماج هي الأعلى. بعد كل شيء ، هو شيء عندما يتم تشغيل حزمة البرامج على الكمبيوتر المحمول ، تحت نظام التشغيل الخاص بك ومع القيود الخاصة بك ، وشيء آخر عندما يتم نقله إلى Raspberry Pi ، تحت نظام تشغيل آخر ، حيث يكون المعالج أضعف بكثير وأقل ذاكرة.
بالطبع ، إذا تم وضع المنتج في سلسلة ، فلن يتم تنفيذه بعد الآن على Raspberry Pi. قطعة الحديد ضعيفة ، قوتها لا تكفي لمعالجة دفق الفيديو بدقة كاملة وللتعرف على الوجه ، لذلك مع حشوة الأجهزة هذه عليك الذهاب إلى الحيل.
بالإضافة إلى ذلك ، قمنا بتطبيق الوضع الليلي ، بحيث يمكن للنظام إيقاظ السائق في الظلام ، عندما ينام الناس غالبًا. بمعنى ، كان علي أن أعلم الكمبيوتر كيفية التعامل مع الفيديو من كاميرا الأشعة تحت الحمراء. هنا نحن لسنا رواد ، يتم حل مشكلة مماثلة أيضا في أنظمة المنزل الذكي. لتحديد تعب السائق ، لا تحتاج إلى معرفة تفاصيل حول مظهره: لون الشعر والعينين ولون البشرة. نحتاج فقط إلى تحديد موقف اليدين والنقاط الرئيسية على الوجه بوضوح. الغريب في الأمر هو أنه كان من الأسهل التعامل مع العيون في وضع الأشعة تحت الحمراء أكثر من المعتاد. إذا كنت قد شاهدت مقاطعًا تم التقاطها باستخدام كاميرات أوتوماتيكية مع حيوانات في البرية ، فأنت تعلم أنه من زاوية جيدة ، تلمع عيونها مثل الليزر.
تبين أن هذا التأثير مفيد للغاية بالنسبة لنا: من الأسهل تحديد حقيقة العيون المغلقة. بالطبع ، كان من الضروري إجراء تعديل إضافي لجميع الخوارزميات ، لأن طيف الصورة مختلف تمامًا ، ولكن بشكل عام ، يتم التعرف على العينين بثقة أكبر.
ولكن في وضع الأشعة تحت الحمراء ، يتعرف النظام على الحالات الأسوأ عندما يتحدث السائق على الهاتف ، ويضغط أذنه على كتفه. هذا أيضًا وضع خطير ، حيث يُحظر بشكل صريح قواعد المرور على الهاتف أثناء القيادة.
بالطبع ، مثل أي نموذج تعلم آلي ، لا يعمل نموذجنا أيضًا بدقة مطلقة. ولكن عليك أن تفهم جيدًا ما تعتمده أخطاء التعرف بالضبط. على سبيل المثال ، لم نختبر نظامنا على برامج التشغيل ذات المظهر غير الأوروبي. ربما في هذه الحالة ، سوف تنخفض نسبة دقة التعرف على العين والتعب. ومع ذلك ، أثناء الاختبار الداخلي ، عمل النظام بالضبط في 8-9 من أصل 10 حالات.
* * *
اليوم ، هناك الكثير من الخوارزميات الجيدة في المجال العام ، وقد اتخذنا خوارزميات جاهزة ، والتي سمحت لنا ليس فقط بحل المشكلة ، ولكن أيضًا لتوفير الكثير من الوقت. الآن يمكنك العثور بسرعة على نموذج مناسب لحل مهمة فريدة من نوعها ، وتحسينه بسرعة. بالطبع ، هذا يتطلب مهارات وخبرة في حل مشاكل رؤية الكمبيوتر والتكيف السريع. ثم يستغرق سوى يوم واحد أو يومين للحصول على نموذج أولي على جهاز كمبيوتر محمول. ويعتمد العمل الإضافي على المهمة وعلى السعات المتوفرة والتخزين وعوامل أخرى. على سبيل المثال ، يمكنك تحسين نظامنا بسرعة بحيث يلعب دورًا مختلفًا: دعنا نقول ، كجهاز أمان ، والذي يضمن دخول أشخاص محددين فقط إلى الغرفة في وقت معين من اليوم. وهذا يعني أنه يمكنك إنشاء حل سريع لمجموعة متنوعة من المهام المتعلقة برؤية الكمبيوتر.