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

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

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




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




يحتوي مشغل الخدمة على أداة المسطرة ، والتي يمكنك من خلالها قياس المسافة على الفيديو:

تعتمد دقة الخدمة بشكل كبير على جودة ومعلمات الفيديو.

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

إليك ما يعتزم المؤلف فعله لتطوير هذه الخدمة:- إضافة تتبع نقطة التلقائي.
- إضافة علامات جغرافية ؛
- إدخال مرشح Kalman لتخفيف أخطاء الملاحظة ؛
- استخدام رؤية الكمبيوتر ؛
- إضافة وظيفة لحساب سرعة العديد من الأشياء ؛
- من المزمع تقديم تعلم آلي للخدمة من أجل تقليل عمل المشغل في إعداد تسجيل الفيديو.

آمل حقًا أن يهتم هذا المنشور بالخبروفيين ويساعد مؤلف الخدمة في تطويره وعمله الحالي.
تمكنت من الاتصال بمؤلف هذه الخدمة
ايليا فولكوف والتحدث معه حول وظيفة الخدمة والحصول على إجابات لأسئلة عديدة حول هذا المشروع خاصة بـ Habr.
مقابلة مع مؤلف خدمة "تحليل السرعة في الحوادث عن طريق تسجيل الفيديو":سؤال: هل طرحت فكرة تنفيذ هذه الخدمة منذ فترة طويلة؟إجابة إيليا: منذ حوالي أربعة أشهر شاهدت مقطع فيديو من حادث وأصبح مثيرًا للاهتمام بالسرعة (على الأقل تقريبًا) التي كان أحد المشاركين يتحرك فيها. أصبح الأمر مثيراً ليس فقط بالنسبة لي - في التعليقات على الفيديو كان هناك الكثير من الجدل ، وتم استدعاء مجموعة متنوعة من التصنيفات. عندها اعتقدت أن هذه الأداة ستكون مفيدة.
السؤال: كم من الوقت قد مر من فكرة أن "يمكنك القيام بذلك" إلى أول عمل إطلاق للخدمة؟جواب ايليا: حسنًا ، لقد كان الأمر لمدة أربعة أشهر. لكنني لن أتسرع في الاتصال بالإصدار الحالي من العمل - لا يزال رطبًا :)
سؤال: ما هي اللغات والأنظمة الأساسية التي تستخدمها في الخدمة وأي منها تخطط لاستخدامها أكثر من ذلك؟إجابة Ilya: المشروع مستضاف على Firebase ، إنه شيء رائع لبداية سريعة لأي مشروع تقريبًا. التخويل ، الاستضافة ، قاعدة البيانات ، تخزين الملفات - كل شيء خارج الصندوق. مريحة API ، خالية تماما في البداية.
Frontend - Vue.js ، أيضًا أداة بسيطة للتعلم من نقطة الصفر. بالاعتماد على القماش باستخدام Konva.js ، يكون التظليل مسؤولاً عن تشويه البصريات.
تتم كتابة جميع الشفرات تقريبًا (باستثناء التظليل) في JavaScript. لا توجد مطالبات خاصة إلى المكدس ، سأستمر في العمل معها.
السؤال: متى سيكون من الممكن للمستخدمين العاديين تحميل الفيديو الخاص بهم والعمل مع الخدمة؟إيليا إجابة: من حيث المبدأ ، يمكن القيام بذلك الآن ، كتبت تعليمات حول كيفية القيام بذلك.
سؤال: هل أنت الشخص الوحيد المشترك في المشروع أم أن هناك فريق من المبرمجين؟إجابة إيليا: لا يزال الفريق صغيرًا - أنا صديقي الذي يتمتع بالكفاءات في التطوير الأمامي.
سؤال: هل تخطط لمواصلة تطوير الخدمة وهل تتوقع مساعدة من الزملاء / أعضاء المنتدى في هذا المشروع؟إجابة إيليا: تم التخطيط لتطوير الخدمة بالتأكيد ، لأن النموذج الأولي يبدو مثيراً للاهتمام. أفكار التنمية ممتلئة ، والرغبة موجودة أيضًا.
المساعدة هي دائما موضع ترحيب - وخاصة المشورة.
سؤال: هل ستكون خدمة مجانية أم أن هناك أي خطط لتحقيق الدخل؟جواب ايليا: لا تزال احتمالات تسييل الأموال غامضة إلى حد ما. ربما سوف تصبح واضحة في المستقبل.
سؤال: هل ظهرت منظمات أو مجتمعات مهتمة بالخدمة؟ على سبيل المثال ، نوادي الدراجات النارية أو مدارس القيادة؟إجابة إيليا: لم تكتب المجتمعات لي ، لكن بعض خبراء السيارات كانوا مهتمين بالمشروع.
السؤال: ما هي دقة تحديد السرعة باستخدام الخدمة الآن؟ كم ستختلف هذه البيانات إذا تم إدخال المعلمات اللازمة لقياس الروليت من طريق حقيقي أو باستخدام خدمات جغرافية يقاس فيها عرض المسار بواسطة مسطرة مضمنة؟إجابة Ilya: في مقطع فيديو ذي نوعية جيدة جدًا وبدون تشويه البصريات ، فإن الدقة ليست سيئة ، وتظهر الاختبارات على مجموعة بيانات مفتوحة خطأ يصل إلى 3٪. تتناقص الدقة مع تدهور جودة الفيديو ومعدل الإطارات غير المستقر.
بالنسبة للقياسات باستخدام الروليت وبمساعدة الخدمات الجغرافية - فإن لعبة الروليت ، بالطبع ، أكثر موثوقية. لا يمكن الوثوق بشكل عمياء بالبيانات الصادرة من إحدى الخدمات الجغرافية ، ولكن يمكن التحقق من ذلك وينبغي التحقق منه.
بشكل عام ، لدي رغبة كبيرة في رفض التقاط التضاريس إلى المعالم والالتحاق بها استنادًا إلى قواعد عجلات السيارات والمسافات الأخرى المعروفة بدقة.
السؤال: هل سيكون من الممكن اختيار وحدات القياس (km \ h ، m \ s ، الأميال / ساعة) وحفظ بيانات القياس عن بعد عالية السرعة في ملف سجل منفصل؟إيليا إجابة: نعم ، لأنه ليس من الصعب القيام به. ولكن عندما يتحقق ذلك - لا أستطيع أن أقول.
سؤال: هل ستكون معالجة مقاطع الفيديو في فصل الشتاء أكثر صعوبة في خدمتك بسبب الغطاء الثلجي على الطريق؟إجابة إيليا: نعم ، الثلج يضيف إلى الصعوبات - بعض المعالم غير مرئية ، وأحيانًا تتغير هندسة الطريق. ولكن من حيث المبدأ ، يتم حساب السرعة على مقاطع الفيديو الثلجية أيضًا.
سؤال: هل من المخطط استخدام الشبكات العصبية في الخدمة؟إجابة إيليا: هذا بالتأكيد ليس احتمالًا للمستقبل القريب ، لكن الموضوع مثير جدًا للاهتمام بالتأكيد. سيكون من الرائع تدريب الشبكة العصبية لتحديد عوامل تشويه الكاميرا. العديد من الأفكار لاستخدام الشبكات العصبية الجاهزة. ولكن في الوقت الحالي ، هناك الكثير مما يجب الاستغناء عنه :)
سؤال: الآن يتم استضافة الخدمة على Firebase ، هل تبحث عن بديل؟إجابة إيليا: الشيء الوحيد الذي لا يعجبه في Firebase هو السعر. على سبيل المثال ، يبلغ سعر 1 غيغابايت من حركة المرور من تخزين الملفات حوالي 7 روبل ، في حين أن Yandex.Cloud لديه فقط روبل. رغم أن هذه ليست مشكلة كبيرة جدًا ، إلا أنني سأبحث في المستقبل عن طرق لتحسينها. الآن أقوم بتصميم العمارة بطريقة لا ترتبط بقوة بمزود الخدمة.
شكرا جزيلا لإيليا للحصول على إجابات مثيرة للاهتمام ومفصلة!إذا أمكن ، يضيف المؤلف مقاطع فيديو جديدة إلى الخدمة:


تعليمات للعمل مع الخدمة هنا .
1. لإنشاء المشروع الخاص بك تحتاج إلى تسجيل الدخول. بينما يتوفر التفويض من خلال حسابات Google و Facebook. بعد التفويض ، سيكون الزر "إنشاء مشروع" متاحًا لك.

2. انقر فوق الزر "إنشاء مشروع" ، تظهر صفحة إنشاء مشروع جديد ، يُقترح عليه تنزيل ملف الفيديو. في حين أن الحد الأقصى لحجم ملف الفيديو هو 3 ميغابايت. يمكنك قص الفيديو باستخدام
خدمة الفيديو هذه .

3. قم بتنزيل الملف ، بعد التنزيل الناجح ، سيتم فتح صفحة المشروع تلقائيًا.

4. أولاً ، نزيل التشوهات في بصريات الكاميرا: باستخدام sliders k3 ، k4 ، Scale ، اضبط التشوهات بحيث تكون جميع الخطوط المستقيمة للعالم الحقيقي مستقيمة وفي الصورة.

5. حرك رباعي الزوايا بحيث يطابق مستطيل العالم الحقيقي ويشير إلى مسافة 2 (يجب ألا تكون الشرائح متوازية).

6. يمكنك استخدام Yandex.Maps للبحث عن المسافات.

7. نظرًا لأن المسافات على Yandex.Maps قد لا تكون دقيقة تمامًا ، نحتاج إلى التأكد من أن الربط الذي تم الحصول عليه مناسب باستخدام المسطرة. عادة ما نعرف قواعد عجلات السيارات. على سبيل المثال ، تبلغ قاعدة VAZ-2114 2.46 متر ، وحصلنا على 2.45.

8. كان طول الترام حوالي 16 مترًا ، وهو أيضًا قريب من الطول الحقيقي.

9. الآن نحن على استعداد للقيام مباشرة بحساب سرعة السيارة. نذهب إلى وضع التحرير لنقاط الكائن ونضع علامة على الكائن في كل إطار. يمكن أن تكون علامات وضع علامات على كل إطار متعبة يدويًا ، وبالتالي هناك أداة استيفاء: حدد نقطة على إطار واحد ، ثم حدد نقطة بعد 5-15 إطارًا ، حدد الفاصل الزمني بين الإطارات على الإطار الزمني واضغط على الزر I: الآن تتحرك النقطة بين الإطارات بشكل مستقيم منتظم. .

10. وبالتالي ، قمنا بحساب سرعة الكائن.
