Computer Vision (CV) -Funktionen verĂ€ndern jetzt die Marktlandschaft fĂŒr Lösungen fĂŒr die öffentliche Sicherheit vollstĂ€ndig. WĂ€hrend es nicht mehr einfach ist, jemanden mit herkömmlichen VideoĂŒberwachungssystemen zu ĂŒberraschen, und es seltsam ist, sie an keinem öffentlichen Ort zu finden, ist der Einsatz von KI in diesem Bereich immer noch eine Neuheit.
Wir untersuchen die Anwendung des Lebenslaufs auf verschiedene GeschĂ€ftsaufgaben im Bereich der öffentlichen Sicherheit. In diesem Beitrag bieten wir die Möglichkeit, Videos von einer sich bewegenden Kamera zur weiteren Analyse in ein festes Koordinatensystem zu ĂŒbersetzen.
Das gesamte Projekt ist auf GitHub .
Nehmen wir an, wir haben eine Art Video und möchten ein festes Koordinatensystem dafĂŒr erstellen, um die Position von Objekten relativ zueinander zu bewerten.
Warum wird das benötigt? Sehr oft wird bei der öffentlichen Ăberwachung das zu analysierende Video mit einer sich bewegenden Kamera aufgenommen. Aus diesem Grund treten bei der Bestimmung der Position von Objekten relativ zueinander verschiedene Probleme auf:
- Es ist nicht klar, was die Ănderung der Koordinaten des Objekts verursacht hat: Die Kamera oder das Objekt selbst bewegen sich;
- Wenn Sie die Szene aufgrund der Drehung der Kamera Àndern, können verschiedene Objekte dieselben Koordinaten erhalten, selbst wenn die Objekte statisch waren.
Abbildung 1 - Identische Objekte haben aufgrund der Kamerabewegung unterschiedliche Koordinaten
Um ein festes Koordinatensystem aufzubauen, mĂŒssen Sie:
- Bestimmen Sie den Ursprung der Koordinaten.
- Vergleichen Sie zwei aufeinanderfolgende Frames miteinander.
- , , (, , ..).
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. .
Auf diese Weise erhalten wir eine Komponente, mit der wir die tatsĂ€chliche Position von Objekten relativ zueinander abschĂ€tzen und die Koordinaten des Objekts in ein stationĂ€res System relativ zum Rahmen ĂŒbersetzen können. weil Bei dieser Lösung besteht die Hauptsache darin, die Transformation von Flugzeugen anhand von SchlĂŒsselpunkten zu bewerten. Wie oben gezeigt, kann das Problem auch bei schlechten Aufnahmebedingungen (scharfe Kamerabewegung, schwierige Wetterbedingungen, Nachtaufnahmen usw.) gelöst werden.