Dans la version test, un service en ligne a été lancé qui montre la vitesse actuelle des objets qui nous intéressent (voitures et autres véhicules) en utilisant des enregistrements de caméras vidéo aux intersections.
Le problÚme de la visualisation de la distance lors de la conduite d'une voiture et de sa vitesse actuelle est rencontré par les élÚves des écoles de conduite et les conducteurs assez expérimentés.
Mais il existe une solution - l'analyse de ces données sur des images vidéo enregistrées précédemment et leur traitement dans divers services payants et gratuits, accessibles et fermés.

Un tel service récemment apparu sera discuté plus loin.
Lien vers le service en ligne "Speed ââAnalysis in Accident by Video".La page principale du service (jusqu'ici trĂšs simple):
L'auteur de l'idĂ©e et de la mise en Ćuvre est le programmeur russe et Khabrovchanin - Ilya Alexandrovich Volkov .Cette publication a Ă©tĂ© Ă©crite Ă HabrĂ© avec sa permission.Pour le moment, le service ne fonctionne pas automatiquement, chaque vidĂ©o doit d'abord ĂȘtre prĂ©parĂ©e pour un traitement manuel par l'opĂ©rateur du service (maintenant c'est l'auteur en une seule personne ou un nouvel utilisateur, instructions pour travailler avec le service Ă la fin de la publication).

Ătapes de traitement des images vidĂ©o:- au premier stade, les distorsions optiques de la camĂ©ra sont compensĂ©es, c'est-Ă -dire que toutes les lignes droites du monde rĂ©el doivent ĂȘtre droites et sur la vidĂ©o traitĂ©e par le service (la correction de la distorsion de la camĂ©ra fonctionne dĂ©jĂ automatiquement dans le service);
- lors de la deuxiÚme étape, l'emplacement fait référence au plan de la route, pour cela, l'opérateur doit marquer le rectangle sur le cadre comme dans le monde réel et entrer deux segments (ou plus) avec des longueurs précédemment mesurées (généralement ceci: la largeur de la route, la largeur d'une bande séparée entre les lignes de marquage, la distance entre chaussées ou panneaux, empattement des voitures);




- Ă la troisiĂšme Ă©tape, l'opĂ©rateur de service sur chaque trame doit dĂ©finir le point oĂč se trouve l'objet d'intĂ©rĂȘt (marquer son chemin), et en consĂ©quence, le service nous montrera la vitesse actuelle de l'objet et son changement pendant le mouvement.




Le joueur de service dispose de l'outil RÚgle, avec lequel vous pouvez mesurer la distance sur la vidéo:

La précision du service dépend fortement de la qualité et des paramÚtres de la vidéo.

Maintenant que le service fonctionne uniquement avec des images vidéo obtenues à l'aide de caméras fixes (statiques), la base de données de ces enregistrements est complétée et développée.
Dans le processus de finalisation de la fonctionnalitĂ© du service, l'auteur prĂ©voit d'ajouter une analyse des enregistrements obtenus Ă l'aide d'enregistreurs vidĂ©o lors du dĂ©placement et de l'arrĂȘt des voitures.
L'auteur du service prévoit d'analyser un grand nombre de vidéos d'accidents impliquant des piétons et d'analyser les statistiques des données sur la vitesse des véhicules au moment de la collision.

Voici ce que l'auteur envisage de faire d'autre pour développer ce service:- ajouter un suivi automatique des points;
- ajouter des balises géographiques;
- introduire un filtre de Kalman pour lisser les erreurs d'observation;
- utiliser la vision par ordinateur;
- ajouter des fonctionnalités pour calculer la vitesse de plusieurs objets;
- Il est prévu d'introduire un apprentissage automatique pour le service afin de minimiser le travail de l'opérateur dans la préparation de l'enregistrement vidéo.

J'espÚre vraiment que cette publication intéressera Khabrovites et aidera l'auteur du service dans son développement et ses travaux en cours.
J'ai réussi à contacter l'auteur de ce service
Ilya Volkov , à lui parler de la fonctionnalité du service et à obtenir des réponses à plusieurs questions sur ce projet spécifiquement pour Habr.
Entretien avec l'auteur du service «Analyse de la vitesse des accidents par enregistrement vidéo»:Question: L'idée de mettre en place un tel service est-elle venue il y a longtemps?Réponse d'Ilya: Il y a environ quatre mois, j'ai vu une vidéo d'un accident et c'est devenu intéressant à quelle vitesse (au moins approximativement) l'un des participants se déplaçait. Cela est devenu intéressant non seulement pour moi - dans les commentaires de la vidéo, il y avait beaucoup de controverse, et une variété de notes ont été appelées. C'est alors que j'ai pensé qu'un tel outil serait utile.
Question: Combien de temps s'est écoulé entre l'idée que «vous pouvez le faire» et le premier lancement fonctionnel du service?Réponse d'Ilya: Eh bien, pendant quatre mois, c'est à peu prÚs. Mais je ne me précipiterais pas pour appeler la version actuelle de celle qui fonctionne - elle est encore humide :)
Question: Quelles langues et plates-formes utilisez-vous dans le service et lesquelles envisagez-vous d'utiliser davantage?RĂ©ponse d'Ilya: Le projet est hĂ©bergĂ© sur Firebase, c'est une excellente chose pour dĂ©marrer rapidement presque n'importe quel projet. Autorisation, hĂ©bergement, base de donnĂ©es, stockage de fichiers - tout est prĂȘt Ă l'emploi. API pratique, entiĂšrement gratuite au dĂ©but.
Frontend - Vue.js, également un outil simple pour apprendre à partir de zéro. En dessinant sur la toile à l'aide de Konva.js, les shaders sont responsables de la distorsion de l'optique.
Presque tout le code (à l'exception des shaders) est écrit en JavaScript. Il n'y a pas de revendications particuliÚres sur la pile, je continuerai à travailler avec elle.
Question: Quand les utilisateurs ordinaires pourront-ils tĂ©lĂ©charger leur vidĂ©o et travailler avec le service?RĂ©ponse d'Ilya: En principe, cela peut ĂȘtre fait maintenant, j'ai Ă©crit des instructions sur la façon de procĂ©der.
Question: Ătes-vous le seul impliquĂ© dans le projet ou y a-t-il une Ă©quipe de programmeurs?RĂ©ponse d'Ilya: L'Ă©quipe est encore petite - je suis mon ami, qui a des compĂ©tences en dĂ©veloppement front-end.
Question: Prévoyez-vous de poursuivre le développement du service et attendez-vous de l'aide de collÚgues / membres du forum sur ce projet?Réponse d'Ilya: Le développement du service est définitivement prévu, car le prototype semble trÚs intéressant. Les idées de développement sont pleines, le désir est également présent.
L'aide est toujours la bienvenue - en particulier les conseils.
Question: Sera-ce un service gratuit ou est-il prĂ©vu de monĂ©tiser?RĂ©ponse d'Ilya: Les perspectives de monĂ©tisation sont encore assez vagues. Peut-ĂȘtre que cela deviendra clair Ă l'avenir.
Question: Des organisations ou des communautés sont-elles apparues qui sont intéressées par le service? Par exemple, des clubs de motos ou des écoles de conduite?Réponse d'Ilya: Les communautés ne m'ont pas écrit, mais certains experts automobiles étaient intéressés par le projet.
Question: Quelle est la précision de la détermination de la vitesse en utilisant le service maintenant? Dans quelle mesure ces données différeront-elles si les paramÚtres nécessaires sont saisis pour mesurer la roulette à partir d'une route réelle ou utiliser des géoservices dans lesquels la largeur de la chaussée est mesurée par une rÚgle intégrée?Réponse d'Ilya: dans une vidéo de trÚs bonne qualité et sans distorsion de l'optique, la précision n'est pas mauvaise, les tests sur un jeu de données ouvert montrent une erreur allant jusqu'à 3%. La précision diminue avec la détérioration de la qualité vidéo et une fréquence d'images instable.
Quant aux mesures avec la roulette et Ă l'aide de gĂ©oservices - la roulette, bien sĂ»r, est plus fiable. Les donnĂ©es d'un gĂ©oservice ne peuvent pas faire l'objet d'une confiance aveugle, mais elles peuvent et doivent ĂȘtre revĂ©rifiĂ©es.
En général, j'ai un grand désir de refuser d'aligner le terrain sur des points de repÚre et de m'attacher en fonction de l'empattement des voitures et d'autres distances connues avec précision.
Question: Sera - t-il possible de sélectionner des unités de mesure (km \ h, m \ s, miles \ heure) et d'enregistrer les données de télémétrie haute vitesse dans un fichier journal distinct?Réponse d'Ilya: Oui, car ce n'est pas si difficile à faire. Mais quand il sera réalisé - je ne peux pas dire.
Question: Les vidĂ©os en hiver seront plus difficiles Ă traiter Ă votre service en raison de l'enneigement sur la route?RĂ©ponse d'Ilya: Oui, la neige ajoute aux difficultĂ©s - certains points de repĂšre ne sont pas visibles, parfois mĂȘme la gĂ©omĂ©trie de la route change. Mais en principe, la vitesse est Ă©galement calculĂ©e sur les vidĂ©os enneigĂ©es.
Question: Est-il prĂ©vu d'utiliser des rĂ©seaux de neurones dans le service?RĂ©ponse d'Ilya: Ce n'est certainement pas une perspective pour un avenir proche, mais le sujet est dĂ©finitivement trĂšs intĂ©ressant. Ce serait cool d'entraĂźner le rĂ©seau neuronal Ă sĂ©lectionner les facteurs de distorsion de la camĂ©ra. De nombreuses idĂ©es pour utiliser des rĂ©seaux de neurones prĂȘts Ă l'emploi. Mais pour l'instant, il y a beaucoup Ă faire sans eux :)
Question: Maintenant que le service est hébergé sur Firebase, cherchez-vous une alternative?Réponse d'Ilya: La seule chose qui n'aime pas vraiment Firebase est le prix. Par exemple, le prix de 1 Go de trafic provenant du stockage de fichiers est d'environ 7 roubles, tandis que Yandex.Cloud n'a qu'un rouble. Bien que ce ne soit pas un trÚs gros problÚme, mais à l'avenir, je chercherai des moyens d'optimiser. Maintenant, je conçois l'architecture de maniÚre à ne pas m'attacher fortement au fournisseur de services.
Un grand merci à Ilya pour les réponses intéressantes et détaillées!Si possible, l'auteur ajoute de nouvelles vidéos au service:


Les instructions pour travailler avec le service sont ici .
1. Pour créer votre projet, vous devez vous connecter. Bien que l'autorisation soit disponible via les comptes Google et Facebook. AprÚs autorisation, le bouton «Créer un projet» sera disponible pour vous.

2. Cliquez sur le bouton "Créer un projet", la page de création d'un nouveau projet apparaßt, sur laquelle il est proposé de télécharger le fichier vidéo. Alors que la taille maximale du fichier vidéo est de 3 mégaoctets. Vous pouvez découper la vidéo en utilisant
ce service vidéo .

3. Téléchargez le fichier, aprÚs un téléchargement réussi, la page du projet s'ouvrira automatiquement.

4. Tout d'abord, nous supprimons les distorsions de l'optique de la caméra: à l'aide des curseurs k3, k4, Scale, ajustez les distorsions de sorte que toutes les lignes droites du monde réel soient droites et dans l'image.

5. DĂ©placez le quadrilatĂšre pour qu'il corresponde au rectangle du monde rĂ©el et indiquez 2 distances (les segments ne doivent pas ĂȘtre parallĂšles).

6. Vous pouvez utiliser Yandex.Maps pour rechercher des distances.

7. Ătant donnĂ© que les distances sur Yandex.Maps peuvent ne pas ĂȘtre complĂštement prĂ©cises, nous devons nous assurer que la liaison obtenue est adĂ©quate Ă l'aide d'une rĂšgle. Habituellement, nous connaissons les empattements des voitures. Par exemple, la base du VAZ-2114 est de 2,46 mĂštres, nous obtenons 2,45.

8. La longueur du tramway était d'environ 16 mÚtres, ce qui est également proche de la longueur réelle.

9. Nous sommes maintenant prĂȘts Ă faire directement le calcul de la vitesse de la voiture. Nous entrons dans le mode d'Ă©dition des points de l'objet et marquons le point de l'objet sur chaque image. Marquer manuellement des points sur chaque image peut ĂȘtre fatigant, il existe donc un outil d'interpolation: marquez un point sur une image, puis marquez un point aprĂšs 5 Ă 15 images, sĂ©lectionnez l'intervalle entre les images sur la chronologie et appuyez sur le bouton I: Maintenant, le point entre les images se dĂ©place uniformĂ©ment rectiligne .

10. Ainsi, nous avons calculé la vitesse de l'objet.
