Transmissão de 4 câmeras com placa portadora pequena: Protótipo rápido

Os componentes de visão incorporados são cada vez mais populares e estão sendo incorporados em uma infinidade de aplicativos. O que todos os aplicativos têm em comum é a necessidade de reunir cada vez mais funcionalidade em espaços limitados. Em geral, também é muito vantajoso para esses sistemas tomar decisões de borda. Para habilitar esses sistemas, incluindo a capacidade de criar protótipos rapidamente, a Teledyne FLIR lançou a Quartet™ Embedded Solution for TX2. Esta placa portadora personalizada permite a integração fácil de até 4 câmeras de visão de máquina USB3 com largura de banda completa. Inclui o acelerador de hardware de aprendizagem profunda NVidia Jetson e vem pré-integrado com o Spinnaker® SDK da Teledyne FLIR. Em geral, também é muito vantajoso para esses sistemas tomar decisões de borda, especialmente em inspeção, robótica móvel, sistemas de tráfego e vários tipos de veículos não tripulados.

Neste artigo bem prático, para destacar o que a Quartet pode habilitar, descrevemos as etapas tomadas no desenvolvimento de um protótipo inspirado em ITS (sistemas de tráfego) executando quatro aplicativos simultâneos, três dos quais usam aprendizagem profunda:

  • Aplicativo 1: reconhecimento de placa de identificação de veículos usando aprendizagem profunda
  • Aplicativo 2: categorização de tipo de veículo usando aprendizagem profunda
  • Aplicativo 3: classificação de cor de veículo usando aprendizagem profunda
  • Aplicativo 4: ver através do para-brisa (além do reflexo e do brilho)

4-application-setup.jpg

Figura 1: configuração de protótipo para todos os quatro aplicativos

Lista de compras: componentes de hardware e software

1) mapa auto-organizável (self-organizing map, SOM) para processamento:

A nova placa portadora Quartet da Teledyne FLIR para TX2 inclui:

  • 4 conectores TF38 com controladores USB3 dedicados
  • Módulo Nvidia Jetson TX2
  • Pré-instalado com o poderoso e fácil de usar Spinnaker SDK da Teledyne FLIR para garantir compatibilidade plug and play com as câmeras de nível de placa Blackfly S da Teledyne FLIR.
  • O acelerador de hardware de aprendizagem profunda Nvidia Jetson permite sistemas completos de tomada de decisão em uma única placa compacta

Quartet_4_cameras.jpg

Figura 2: Solução integrada Quartet com TX2 retratado com 4 câmeras Blackfly S e 4 cabos FPC.

2) Câmeras e cabos

  • 3 câmeras Blackfly S de nível de placa USB3 padrão da Teledyne FLIR utilizando o mesmo conjunto de recursos ricos da versão encapsulada aplicada aos sensores CMOS mais recentes e para integração perfeita com a Quartet
  • 1x câmera personalizada: câmera nível placa USB3 Blackfly S com sensor polarizado Sony IMX250MZR
  • Cabos: cabos FPC TF38 que permitem que a energia e os dados sejam transmitidos por um único cabo para economizar espaço

BFS-BL-Blue-Cable-02-0519-JPEG (Web - 72 dpi).jpg

Figura 3: câmera de nível de placa Blackfly S com cabo FPC


Assine para ler mais artigos como esse

Assinar

3) Iluminação: luzes de LED para fornecer iluminação suficiente para evitar desfoque de movimento para as placas de identificação de veículos.

Aplicativo 1: reconhecimento de placa de identificação de veículos usando aprendizagem profunda

Tempo de desenvolvimento: 2 a 3 semanas, principalmente para torná-lo mais robusto e mais rápido

Imagens de treinamento: incluídas com LPDNet

Para o reconhecimento da placa de identificação de veículos, implantamos um modelo de aprendizagem profunda de detecção de placa de identificação de veículos (LPDNet) da Nvidia para detectar a localização das placas de identificação de veículos. Para reconhecer as letras e os números, usamos o mecanismo de OCR de código aberto Tesseract. A câmera é uma câmera colorida de nível de placa Blackfly S de 8,9 MP (BFS-U3-88S6C-BD) com o sensor Sony IMX267. Limitamos a região de interesse para a detecção de placas de identificação de veículos para acelerar o desempenho e o rastreamento aplicado para melhorar a robustez. A saída inclui caixas delimitadoras das placas de identificação de veículos juntamente com os caracteres correspondentes da placa de identificação de veículos.

license_plate_result.jpg

Figura 4: transmissão com caixas delimitadoras das placas de identificação de veículos e caracteres da placa de identificação de veículos.

Aplicativo 2: categorização de tipo de veículo usando aprendizagem profunda

Tempo de desenvolvimento: aproximadamente 12 horas, incluindo coleta de imagens e anotação

Imagens de treinamento: aproximadamente 300

Para categorização de tipo de veículo, usando aprendizagem por transferência, treinamos nosso próprio modelo de detecção de objeto de aprendizagem profunda para os três carros de brinquedo usados, ou seja, SUV, sedã e caminhão. Coletamos aproximadamente 300 imagens de treinamento da configuração, tiradas em várias distâncias e ângulos. A câmera é uma câmera colorida de nível de placa Blackfly S de 5 MP (BFS-U3-51S5C-BD) com o sensor Sony IMX250. Anotamos as caixas delimitadoras dos carros de brinquedo, o que levou aproximadamente 3 horas. Realizamos a aprendizagem de transferência para treinar nosso próprio modelo de detecção de objetos SSD MobileNet, que levou cerca de meio dia em uma Nvidia GTX1080 Ti GPU. Com o acelerador de hardware de GPU, o módulo Jetson TX2 pode executar inferência de aprendizagem profunda de forma eficiente e produzir caixas delimitadoras dos carros junto com os tipos de veículos correspondentes.

Picture1.png

Figura 5: transmissão com caixas delimitadoras e tipos de veículos pré-definidos e fator de confiança identificado

Aplicativo 3: classificação de cor de veículo usando aprendizagem profunda

Tempo de desenvolvimento: modelo reutilizado do “aplicativo de tipo de veículo” com 2 dias adicionais para classificar a cor, integrar e testar
Imagens de treinamento: foram reutilizadas as mesmas 300 imagens que o “aplicativo de tipo de veículo”

Para a classificação de cores de veículos, executamos o mesmo modelo de detecção de objeto de aprendizagem profunda acima para detectar os carros, seguido pela análise de imagem nas caixas delimitadoras para classificar a cor. A saída inclui caixas delimitadoras dos carros juntamente com as cores correspondentes dos veículos. A câmera é uma câmera colorida de nível de placa Blackfly S de 3 MP (BFS-U3-32S4C-BD) com o sensor Sony IMX252.

Picture2.png

Figura 6: transmissão com caixas delimitadoras e tipos de veículos pré-definidos identificados

Aplicativo 4: ver através do para-brisa (além do reflexo e do brilho)

A redução de brilho é fundamental para aplicativos relacionados ao tráfego, como ver através de um para-brisa para monitorar vias para veículos com alta ocupação, verificar a conformidade do cinto de segurança e até mesmo verificar o uso de telefones ao dirigir. Para esta finalidade, fizemos uma câmera personalizada combinando uma câmera de nível de placa USB3 Blackfly S com o sensor Sony IMX250MZR de polarização de 5MP. A câmera de polarização de nível de placa não é um produto padrão, mas a Teledyne FLIR é capaz de trocar sensores diferentes facilmente para oferecer opções de câmera personalizadas para mostrar sua funcionalidade de remoção de brilho. Simplesmente transmitimos as imagens da câmera através da GUI SpinView da Teledyne FLIR, que oferece várias opções de “Algoritmo de polarização” como modo quádruplo, modo de redução de brilho, para mostrar a redução de brilho em um carro de brinquedo parado.

Picture3.png

Figura 7: Spinnaker SDK GUI oferece várias opções de “Algoritmo de polarização” como modo quádruplo, modo de redução de brilho, para mostrar a redução de brilho em um carro de brinquedo parado. O modo quadruplo mostra as 4 imagens correspondentes aos quatro ângulos de polarização diferentes.

Otimização geral do sistema

IMG_8455.jpg

Embora cada um dos quatro protótipos funcionasse bem de forma independente, percebemos que o desempenho geral era bastante ruim quando todos os modelos de aprendizagem profunda estavam funcionando simultaneamente. O TensorRT SDK da Nvidia fornece um otimizador de inferência de aprendizagem profunda e tempo de execução para hardware da Nvidia, como o módulo Jetson TX2. Otimizamos nossos modelos de aprendizagem profunda usando o TensorRT SDK, resultando melhora de desempenho de 10 vezes. No lado do hardware, conectamos um dissipador de calor ao módulo TX2 para evitar superaquecimento, pois estava bastante quente com todos os aplicativos em execução. No final, conseguimos alcançar boas taxas de quadros com todos os aplicativos sendo executados juntos: 14 FPS para identificação do tipo de veículo, 9 FPS para classificação de cor de veículo, 4 FPS para reconhecimento automático da placa numérica e 8 FPS para a câmera de polarização.

Desenvolvemos este protótipo em um período de tempo relativamente curto graças à facilidade de uso e confiabilidade das câmeras de nível de placa Blackfly S e da solução integrada Quartet. O módulo TX2 com o Spinnaker SDK pré-instalado garante compatibilidade plug & play com todas as câmeras de nível de placa Blackfly S que podem transmitir de forma confiável com largura de banda USB3 completa através da conexão TF38. A Nvidia fornece muitas ferramentas para facilitar o desenvolvimento e a otimização no módulo TX2. O Quartet agora está disponível para compra on-line no flir.com, bem como através de nossos escritórios e rede global de distribuidores.


3) Lighting: LED lights to provide sufficient illumination to avoid motion blur for the license plates. 

Application 1: License plate recognition using deep learning

Development time: 2-3 weeks primarily to make it more robust and run faster

Training Images: Included with LPDNet

For license plate recognition, we deployed an off-the-shelf License Plate Detection (LPDNet) deep learning model from Nvidia to detect the location the license plates.   To recognize the letter & numbers we used the Tesseract open-source OCR engine.  The camera is a Blackfly S board level 8.9 MP color camera (BFS-U3-88S6C-BD) with the Sony IMX267 sensor.  We limited the region of interest for license plate detection to speed up performance and applied tracking to improve the robustness.  The output includes bounding boxes of the license plates together with the corresponding license plate characters.

license_plate_result.jpg

Figure 4: Streaming with bounding boxes of the license plates and license plate characters.

Application 2: Vehicle type categorization using deep learning

Development time: ~12 hours including image collection and annotation

Training Images: ~300

For vehicle type categorization, using transfer learning, we trained our own Deep Learning object detection model for the three toy cars used, namely SUV, sedan and truck.  We collected approximately 300 training images of the setup, taken at various distances and angles. The camera is a Blackfly S board level 5 MP color camera (BFS-U3-51S5C-BD) with the Sony IMX250 sensor. We annotated the bounding boxes of the toy cars which took approximately 3 hours.  We performed transfer learning to train our own SSD MobileNet object detection model which took around half a day on an Nvidia GTX1080 Ti GPU.  With the GPU hardware accelerator, the Jetson TX2 module can perform deep learning inference efficiently and output bounding boxes of the cars together with the corresponding vehicle types.

Picture1.png

Figure 5: Streaming with bounding boxes and pre-set vehicle types & confidence factor identified

Application 3: Vehicle color classification using deep learning

Development time: Re-used model from “Vehicle Type application” with additional 2 days to classify color, integrate & test
Training Images: Re-used same 300 images as “Vehicle Type application”

For vehicle color classification, we ran the same deep learning object detection model as above to detect the cars, followed by image analysis on the bounding boxes to classify its color.  The output includes bounding boxes of the cars together with the corresponding vehicle colors. The camera is a Blackfly S board level 3 MP color camera (BFS-U3-32S4C-BD) with the Sony IMX252 sensor.

Picture2.png

Figure 6: Streaming with bounding boxes and pre-set color types identified

Application 4: See through windshield (past reflection & glare)

Glare reduction is critical for traffic related applications such as seeing through a windshield to monitor HOV lanes, check for seatbelt compliance and even check for using their phones while driving.  For this purpose, we made a custom camera by combining a Blackfly S USB3 board level camera with the 5MP polarization Sony IMX250MZR sensor.  This board level polarization camera is not a standard product, but Teledyne FLIR is able to swap in different sensors easily to offer custom camera options to showcase its glare removal functionality.  We simply streamed the camera images via Teledyne FLIR’s SpinView GUI, which offers various "Polarization Algorithm" options such as quad mode, glare reduction mode, to show the glare reduction on a stationary toy car.

Picture3.png

Figure 7:  Spinnaker SDK GUI offers various "Polarization Algorithm" options such as quad mode, glare reduction mode, to show the glare reduction on a stationary toy car.  The quad mode shows the 4 images corresponding to the four different polarization angles.

Overall System Optimization

IMG_8455.jpg

While each of the four prototypes worked well independently, we noticed that the overall performance was quite poor when all the deep learning models were running simultaneously.  Nvidia’s TensorRT SDK provides a deep learning inference optimizer and runtime for Nvidia hardware such as the Jetson TX2 module.  We optimized our deep learning models using the TensorRT SDK, resulting in around 10x performance improvement.  On the hardware side, we attached a heat sink onto the TX2 module to avoid overheating, as it was quite hot with all the applications running.  At the end, we managed to achieve good frame rates with all four applications running together: 14 fps for vehicle type identification, 9 fps for vehicle color classification, 4 FPS for automatic number plate recognition and 8 FPS for the polarization camera.

We developed this prototype within a relatively short period of time thanks to the ease-of-use and reliability of the Quartet Embedded Solution and Blackfly S board level cameras.  The TX2 module with pre-installed Spinnaker SDK ensures plug & play compatibility with all the Blackfly S board level cameras which can stream reliably at full USB3 bandwidth via the TF38 connection.  Nvidia provides many tools to facilitate development and optimization on the TX2 module. The Quartet is now available for purchase online on flir.com as well as through our offices and global distributor network.  

Artigos Relacionados