تعمل قدرات رؤية الكمبيوتر (CV) الآن على إعادة تشكيل مشهد سوق حلول السلامة العامة بالكامل. في حين أنه لم يعد من السهل مفاجأة أي شخص بأنظمة المراقبة بالفيديو التقليدية ، ومن الغريب عدم العثور عليها في أي مكان عام ، إلا أن استخدام الذكاء الاصطناعي في هذا المجال لا يزال جديدًا.
نحن نحقق في تطبيق السيرة الذاتية على مختلف مهام أعمال السلامة العامة. في هذا المنشور ، نقدم خيارًا لترجمة الفيديو من كاميرا متحركة إلى نظام إحداثيات ثابت لمزيد من التحليل.
المشروع بأكمله موجود على جيثب .
لنفترض أن لدينا نوعًا من الفيديو ونريد إنشاء نظام إحداثيات ثابت له من أجل تقييم موقع الكائنات بالنسبة لبعضها البعض.
لماذا هذا مطلوب؟ في كثير من الأحيان في مهام المراقبة العامة ، يتم تصوير الفيديو الذي يحتاج إلى تحليل بكاميرا متحركة. لهذا السبب ، تنشأ عدة مشاكل في تحديد موضع الكائنات بالنسبة لبعضها البعض:
- ليس من الواضح سبب التغيير في إحداثيات الكائن: الكاميرا أو الكائن نفسه يتحرك ؛
- عند تغيير المشهد بسبب دوران الكاميرا ، يمكن أن تحصل الكائنات المختلفة على نفس الإحداثيات ، حتى لو كانت الكائنات ثابتة.
الشكل 1 - الكائنات المتطابقة لها إحداثيات مختلفة بسبب حركة الكاميرا
من أجل بناء نظام إحداثيات ثابت ، يجب عليك:
- تحديد أصل الإحداثيات ؛
- قارن إطارين متتاليين مع بعضهما البعض ؛
- , , (, , ..).
2 —
:
3 — matching visualization
:

- a, e — x y ;
- b, d — ( a e );
- c, f — ;
- g, h — .
, , . (x,y) (x',y') :
:
:
k- .
N — (f1,..., fN). . matching points , fk fk-1.
:
— ;
(Xk, Yk)=((x1k, y1k),…, (xnk, ynk)) – n matching points;
(X'k, Y'k) =((x'1k, y'1k),…, (x'nk, y'nk)) – n matching points ;
(X''k, Y''k) =((x''1k, y''1k),…, (x''nk, y''nk)) – k — n matching points , fk-1.
Hk – , fk-1 fk.
, .
(Xk, Yk) (X'k, Y'k). f1 fk , .. . Hk.
, (H1,…, Hk-1). Hk (Xk-1, Yk-1) (Xk, Yk), , .
3:

3 — ,
, . a :
x1k= x1k-1 — a, , a : x'1k = x1k — a, 3. , , .
?
(H1,…, Hk-1). , 1 k-1 mathcing points fk-1 . (1), , — .
, , , fk-1 fk, : (Xk-1, Yk-1) (Xk, Yk) ( (2)), (X'k-1, Y'k-1) (X''k, Y''k) Hk. , , (x1k, y1k) (x'1k, y'1k).
: , ( , , .. ), - , . .
:
- "" matching points ((x1k, y1k),… ,(x'nk, y'nk)),
- H, k- k-1 .
- ((x'1k, y'1k),… ,(x'nk, y'nk))
- :
- , ;
- . , ;
- - ( LENGTH_ACCOUNTED_POINTS len(matching points)), , , , .
, . .
"" , . , , , , . T , . , motion video segmentation.
- evenvizion_component.py
- evenvizion_visualization.py
- compare_evenvizion_with_original_video.py
evenvizion_component.py
, evenvizion_component.py. , json , fk-1 fk. , json , . , , .
- , json --path_to_original_coordinate recalculated_coordinates.json , .
json :
{"frame_no": [{"x1": x coordinate, "y1": y coordinate}, ...], ...}
evenvizion_component.py , 3 ( matching and heatmap --show_matches --visualize_fixed_coordinate_system ).
evenvizion_visualization.py compare_evenvizion_with_original_video.py .
README.
, .
:
matching points — matching visualization:
5 — matching visualization
.
, , (heatmap visualization):
6 — heatmap visualization
20 , , . , . : r=sqrt(x2+y2), heatmap_constant , : 0 — , 1 — .
7 — fixed_coordinate_system_visualization
json , , fixed_coordinate_system_visualization ( 7).
evenvizion_visualization.py compare_evenvizion_with_original_video.py , ( ). 8 9 .
8 — visualize_camera_stabilization
9 — original_video_with_EvenVizion
Known issues
N/a . matching points , , 90 , . video motion segmentation, , , static points motion points. — .
. 4 matching points, , 4 , =None. : none_H_processing True, : Hk=Hk-1. False, H — , . .
. . . :
- . , , (, ).
- findHomography() opencv. .
وبالتالي ، نحصل على مكون يسمح لنا بتقدير الموقع الحقيقي للأشياء بالنسبة لبعضها البعض ، لترجمة إحداثيات الكائن إلى نظام ثابت بالنسبة للإطار. لان في هذا الحل ، الشيء الرئيسي هو تقييم تحول الطائرات باستخدام النقاط الرئيسية ، ثم ، كما هو موضح أعلاه ، يمكن حل المشكلة حتى في ظروف التصوير السيئة (حركة الكاميرا الحادة ، الظروف الجوية الصعبة ، التصوير ليلاً ، إلخ).