Na versão de teste, foi lançado um serviço on-line que mostra a velocidade atual dos objetos de seu interesse (carros e outros veículos) usando gravações de câmeras de vídeo nos cruzamentos.
O problema de visualizar a distância ao dirigir um carro e sua velocidade atual é enfrentado por estudantes em escolas de condução e motoristas bastante experientes.
Mas existe uma solução - a análise desses dados em quadros de vídeo gravados anteriormente e seu processamento em vários serviços pagos e gratuitos, acessíveis e fechados.

Um desses serviços apareceu recentemente será discutido mais adiante.
Link para o serviço online "Análise de velocidade em acidentes por vídeo".A página principal do serviço (até agora muito simples):
O autor da idéia e implementação é o programador russo e Khabrovchanin - Ilya Alexandrovich Volkov .Esta publicação foi escrita em Habré com sua permissão.No momento, o serviço não funciona automaticamente, cada vídeo deve primeiro ser preparado para processamento manual pelo operador do serviço (agora é o autor de uma pessoa ou um novo usuário, instruções para trabalhar com o serviço no final da publicação).

Etapas do processamento de quadros de vídeo:- no primeiro estágio, as distorções ópticas da câmera são compensadas, ou seja, todas as linhas retas do mundo real devem ser retas e no vídeo processado pelo serviço (a correção de distorção da câmera já funciona automaticamente no serviço);
- no segundo estágio, é feita referência de localização ao plano da estrada, para isso o operador precisa marcar o retângulo no chassi como no mundo real e inserir dois (ou mais) segmentos com comprimentos medidos anteriormente (geralmente: largura da estrada, largura de uma faixa separada entre as linhas de marcação, distância entre faixas de rodagem ou placas, distância entre eixos de carros);




- no terceiro estágio, o operador de serviço em cada quadro precisa definir o ponto em que o objeto de interesse está localizado (marque seu caminho) e, como resultado, o serviço nos mostrará a velocidade atual do objeto e sua alteração durante o movimento.




O player de serviço possui a ferramenta Régua, com a qual você pode medir a distância no vídeo:

A precisão do serviço depende muito da qualidade e dos parâmetros do vídeo.

Agora, o serviço funciona apenas com quadros de vídeo obtidos usando câmeras estacionárias (estáticas), o banco de dados desses registros é complementado e desenvolvido.
No processo de finalização da funcionalidade do serviço, o autor planeja adicionar uma análise dos registros obtidos com a ajuda dos gravadores de vídeo em movimento e parada de carros.
O autor do serviço planeja analisar um grande número de vídeos de acidentes envolvendo pedestres e analisar as estatísticas dos dados sobre a velocidade do veículo no momento da colisão.

Aqui está o que mais o autor planeja fazer para desenvolver este serviço:- adicione rastreamento automático de pontos;
- adicione geotags;
- introduzir um filtro Kalman para suavizar os erros de observação;
- usar visão computacional;
- adicione funcionalidade para calcular a velocidade de vários objetos;
- Está planejado introduzir aprendizado de máquina para o serviço, a fim de minimizar o trabalho do operador na preparação da gravação de vídeo.

Eu realmente espero que esta publicação interesse os Khabrovites e ajude o autor do serviço em seu desenvolvimento e trabalho atual.
Consegui entrar em contato com o autor deste serviço,
Ilya Volkov , conversar com ele sobre a funcionalidade do serviço e obter respostas para várias perguntas sobre esse projeto especificamente para Habr.
Entrevista com o autor do serviço “Análise de velocidade em acidentes por gravação de vídeo”:Pergunta: A idéia de implementar esse serviço surgiu há muito tempo?Resposta de Ilya: Há cerca de quatro meses, vi um vídeo de um acidente e ficou interessante a que velocidade (pelo menos aproximadamente) um dos participantes estava se movendo. Tornou-se interessante não apenas para mim - nos comentários ao vídeo houve muita controvérsia e várias classificações foram convocadas. Foi então que pensei que essa ferramenta seria útil.
Pergunta: Quanto tempo se passou desde o pensamento de que "você pode fazer isso" até o primeiro lançamento de trabalho do serviço?A resposta de Ilya: Bem, há quatro meses, já faz tempo. Mas não me apressei em chamar a versão atual da que está funcionando - ainda está úmida :)
Pergunta: Quais idiomas e plataformas você usa no serviço e quais você planeja usar mais?Resposta de Ilya: O projeto está hospedado no Firebase, isso é ótimo para iniciar rapidamente quase todos os projetos. Autorização, hospedagem, banco de dados, armazenamento de arquivos - tudo está pronto para o uso. API conveniente, totalmente gratuita no início.
Frontend - Vue.js, também uma ferramenta simples para aprender do zero. Desenhando na tela usando o Konva.js, os shaders são responsáveis pela distorção da ótica.
Quase todo o código (exceto shaders) é escrito em JavaScript. Não há reivindicações especiais para a pilha, continuarei a trabalhar com ela.
Pergunta: Quando é possível usuários comuns enviarem seus vídeos e trabalharem com o serviço?A resposta de Ilya: Em princípio, isso pode ser feito agora, escrevi instruções sobre como fazer isso.
Pergunta: Você é o único envolvido no projeto ou há uma equipe de programadores?A resposta de Ilya: a equipe ainda é pequena - sou meu amigo, que possui competências em desenvolvimento front-end.
Pergunta: Você planeja continuar o desenvolvimento do serviço e espera ajuda dos colegas / membros do fórum neste projeto?Resposta de Ilya: O desenvolvimento do serviço é definitivamente planejado, porque o protótipo parece muito interessante. As idéias de desenvolvimento estão cheias, o desejo também está presente.
A ajuda é sempre bem-vinda - especialmente conselhos.
Pergunta: Será um serviço gratuito ou há planos de monetização?A resposta de Ilya: as perspectivas de monetização ainda são bastante vagas. Talvez eles se tornem claros no futuro.
Pergunta: Apareceram organizações ou comunidades interessadas no serviço? Por exemplo, clubes de motociclismo ou escolas de condução?Resposta de Ilya: As comunidades não escreveram para mim, mas alguns especialistas em automóveis estavam interessados no projeto.
Pergunta: Qual é a precisão de determinar a velocidade usando o serviço agora? Quanto esses dados diferem se os parâmetros necessários forem inseridos para medir a roleta de uma estrada real ou usar serviços geográficos nos quais a largura da faixa de rodagem é medida por uma régua integrada?Resposta de Ilya: em um vídeo de qualidade muito boa e sem distorção da ótica, a precisão não é ruim, os testes em um conjunto de dados aberto mostram um erro de até 3%. A precisão diminui com a deterioração da qualidade do vídeo e uma taxa de quadros instável.
Quanto às medições com roleta e com a ajuda de serviços geográficos - a roleta, é claro, é mais confiável. Os dados de um serviço geográfico não podem ser confiados cegamente, mas podem e devem ser verificados duas vezes.
Em geral, tenho um grande desejo de me recusar a ajustar o terreno a pontos de referência e me apegar com base nas distâncias entre eixos de carros e outras distâncias precisamente conhecidas.
Pergunta: Será possível selecionar unidades de medida (km \ h, m \ s, milhas \ hora) e salvar os dados de telemetria de alta velocidade em um arquivo de log separado?A resposta de Ilya: Sim, já que não é tão difícil de fazer. Mas quando será realizado - eu não posso dizer.
Pergunta: Os vídeos no inverno serão mais difíceis de processar em seu serviço devido à cobertura de neve na estrada?Resposta de Ilya: Sim, a neve aumenta as dificuldades - alguns pontos de referência não são visíveis, às vezes até a geometria da estrada muda. Mas, em princípio, a velocidade também é calculada em vídeos com neve.
Pergunta: Está planejado usar redes neurais no serviço?Resposta de Ilya: essa definitivamente não é uma perspectiva para o futuro próximo, mas o tópico é definitivamente muito interessante. Seria legal treinar a rede neural para selecionar os fatores de distorção da câmera. Muitas idéias para o uso de redes neurais prontas. Mas, por enquanto, há muito o que fazer sem eles :)
Pergunta: Agora, o serviço está hospedado no Firebase, você está procurando uma alternativa?Resposta de Ilya: A única coisa que realmente não gosta no Firebase é o preço. Por exemplo, o preço de 1 GB de tráfego do armazenamento de arquivos é de cerca de 7 rublos, enquanto o Yandex.Cloud possui apenas um rublo. Embora esse não seja um problema muito grande, no futuro, procurarei maneiras de otimizar. Agora, estou projetando a arquitetura de forma a não ficar fortemente ligada ao provedor de serviços.
Muito obrigado a Ilya por respostas interessantes e detalhadas!Se possível, o autor adiciona novos vídeos ao serviço:


As instruções para trabalhar com o serviço estão aqui .
1. Para criar seu projeto, você precisa fazer login. Embora a autorização esteja disponível nas contas do Google e do Facebook. Após a autorização, o botão "Criar Projeto" estará disponível para você.

2. Clique no botão "Criar projeto", a página para criar um novo projeto é exibida, na qual é proposto o download do arquivo de vídeo. Enquanto o tamanho máximo do arquivo de vídeo é de 3 megabytes. Você pode cortar o vídeo usando
este serviço de vídeo .

3. Baixe o arquivo. Após um download bem-sucedido, a página do projeto será aberta automaticamente.

4. Primeiro, removemos as distorções da ótica da câmera: usando os controles deslizantes k3, k4, Scale, ajuste as distorções para que todas as linhas retas do mundo real sejam retas e na imagem.

5. Mova o quadrilátero para que ele corresponda ao retângulo do mundo real e indique 2 distâncias (os segmentos não devem ser paralelos).

6. Você pode usar o Yandex.Maps para pesquisar distâncias.

7. Como as distâncias no Yandex.Maps podem não ser completamente precisas, precisamos garantir que a ligação obtida seja adequada usando uma régua. Geralmente conhecemos as distâncias entre eixos dos carros. Por exemplo, a base do VAZ-2114 é de 2,46 metros, temos 2,45.

8. O comprimento do bonde era de cerca de 16 metros, o que também é próximo do comprimento real.

9. Agora estamos prontos para fazer diretamente o cálculo da velocidade do carro. Entramos no modo de edição dos pontos do objeto e marcamos o ponto do objeto em cada quadro. A marcação manual de pontos em cada quadro pode ser cansativa; portanto, existe uma ferramenta de interpolação: marque um ponto em um quadro e marque um ponto após 5 a 15 quadros, selecione o intervalo entre os quadros na linha do tempo e pressione o botão I: Agora o ponto entre os quadros se move uniformemente retilinearmente .

10. Assim, calculamos a velocidade do objeto.
