Redes neurais que protegem as regras de tráfego



As violações das regras de tráfego (SDA) dos motoristas acarretam riscos operacionais, de reputação e legais para as organizações.



Anteriormente, as gravações em vídeo de veículos oficiais eram analisadas para identificar violações. Esse é um processo rotineiro e demorado, pois grandes volumes de vídeo foram processados ​​manualmente. Decidiu-se automatizar esse processo e criar um modelo para detectar violações de tráfego para formar uma seleção de vídeo orientada a riscos.



Em primeiro lugar, decidiu-se procurar violações graves de tráfego, como atravessar uma linha sólida dupla e dirigir em um semáforo vermelho.



Para segmentação de imagens e detecção de marcas de estradas, foi utilizada uma rede neural convolucional da arquitetura U-Net. Essa arquitetura é uma sequência de camadas de convolução e pool, que primeiro reduzem a resolução espacial da imagem e depois aumentam, combinando as imagens com os dados e passando-as por outras camadas de convolução.



Para treinar o modelo, era necessário um conjunto de dados de treinamento. Infelizmente, todos os conjuntos de dados encontrados de acesso aberto consistiram em fotografias de estradas que não são da Rússia. Os resultados do treinamento do modelo em estradas estrangeiras foram decepcionantes: o modelo muitas vezes simplesmente se recusava a perceber nossas marcações nas estradas domésticas como marcações. Portanto, foi decidido começar a criar uma amostra de treinamento de forma independente. Cerca de 1.500 capturas de tela foram cortadas do vídeo dos gravadores e o leito da estrada foi marcado nelas usando o serviço Supervise.ly (Fig. 1).







O modelo treinado nesse conjunto de dados tornou-se capaz de reconhecer as marcações nas estradas de nossos vídeos pelos gravadores. A rede neural encontra linhas sólidas no vídeo e, se elas contiverem pelo menos um número predeterminado de pixels (para que linhas aleatórias, descontínuas ou não sólidas não sejam levadas em consideração), as aproxima em uma linha reta, que nosso carro não deve mais atravessar.







A Figura 2 mostra como o U-Net funciona: acima é a gravação original do para-brisa, abaixo é um exemplo da rede neural, onde as áreas verdes são a máscara das marcas de estrada e as finas linhas vermelhas são a aproximação das marcas de linha.



O modelo mostrou-se muito bem no processamento da maioria dos vídeos de gravadores, mas deve-se notar que surgiram dificuldades ao analisar uma estrada coberta de neve ou um vídeo filmado no escuro - em alguns casos, as marcações simplesmente não são visíveis.



Para determinar a presença de semáforos e carros, usamos uma rede neural pré-treinada Darknet + Yolo v3. Essa rede neural é uma versão aprimorada da arquitetura YOLO, que significa You Only Look Once. A principal característica do YOLO v3 é que ele possui três camadas de saída, cada uma projetada para detectar objetos de tamanhos diferentes.



A principal característica dessa arquitetura em comparação com outras é que a maioria dos sistemas aplica a rede neural várias vezes em diferentes partes da imagem e, no YOLO, a rede neural é aplicada a toda a imagem de uma só vez. A rede divide a imagem em um tipo de grade e prevê caixas delimitadoras (paralelepípedos, delimitando os objetos encontrados) e a probabilidade de haver esses objetos desejados para cada área.



As vantagens dessa abordagem são que, ao visualizar a imagem inteira, o YOLO leva em consideração o contexto da imagem ao detectar e reconhecer um objeto. O YOLO também possui vantagens claras de desempenho: é mil vezes mais rápido que o R-CNN e várias centenas de vezes mais rápido que o Fast R-CNN.







Um exemplo da operação YOLO é mostrado na Figura 3. A análise da imagem é realizada quadro a quadro, todos os semáforos vermelhos encontrados são detectados corretamente pela rede neural.



O treinamento de duas redes neurais inteiras requer um computador suficientemente poderoso, especialmente em termos de placa de vídeo, pois Os cálculos da GPU são usados. Utilizamos um processador Core i7 de oitava geração, placa de vídeo nvidia gtx1080 e 32 GB de RAM. Tais características do sistema foram suficientes para a implementação do projeto.



Com base nos resultados do uso de modelos para detectar violações de tráfego, podemos dizer que foi um projeto bem-sucedido. O script recebeu um vídeo do DVR por um mês com duração total de 7 horas e 11 minutos, o tempo de inferência do modelo (processamento de vídeos recebidos) foi de 25 minutos. No final do processamento de todos os arquivos de vídeo, foram cortados 112 fragmentos de 8 segundos (15 minutos no total), dos quais quase 7 horas foram salvas, as violações foram facilmente identificadas.

Você pode enviar suas perguntas para o endereço de e-mail .



All Articles