Kemampuan Computer Vision (CV) sekarang sepenuhnya membentuk kembali lanskap pasar solusi Keselamatan Publik. Meskipun tidak mudah mengejutkan siapa pun dengan sistem pengawasan video tradisional, dan aneh untuk tidak menemukannya di tempat umum mana pun, penggunaan AI di area ini masih baru.
Kami sedang menyelidiki penerapan CV untuk berbagai tugas bisnis keselamatan publik. Dalam posting ini, kami menawarkan opsi untuk menerjemahkan video dari kamera bergerak ke dalam sistem koordinat tetap untuk analisis lebih lanjut.
Proyek ini sepenuhnya ada di GitHub .
Katakanlah kita memiliki beberapa jenis video dan kita ingin membangun sistem koordinat tetap untuknya untuk mengevaluasi lokasi objek relatif satu sama lain.
Mengapa ini dibutuhkan? Seringkali dalam tugas pengawasan publik, video yang perlu dianalisis direkam dengan kamera bergerak. Karena itu, muncul beberapa masalah dalam menentukan posisi objek relatif satu sama lain:
- Tidak jelas apa yang menyebabkan perubahan koordinat objek: kamera atau objek itu sendiri sedang bergerak;
- Saat mengubah pemandangan karena rotasi kamera, objek yang berbeda bisa mendapatkan koordinat yang sama, meskipun objek tersebut statis.
Gambar 1 - Objek identik memiliki koordinat yang berbeda karena gerakan kamera
Untuk membangun sistem koordinat tetap, Anda harus:
- Tentukan asal koordinat;
- Bandingkan dua bingkai yang berurutan satu sama lain;
- , , (, , ..).
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. .
Jadi, kita mendapatkan komponen yang memungkinkan kita memperkirakan posisi sebenarnya dari objek relatif satu sama lain, untuk menerjemahkan koordinat objek ke dalam sistem stasioner relatif terhadap bingkai. Karena Dalam solusi ini, yang utama adalah mengevaluasi transformasi bidang menggunakan poin-poin penting, kemudian, seperti yang ditunjukkan di atas, masalah dapat diselesaikan bahkan dalam kondisi pemotretan yang buruk (pergerakan kamera yang tajam, kondisi cuaca yang sulit, pemotretan pada malam hari, dll.).