Transmisión de cámaras 4x con placa portadora pequeña: Prototipo rápido

Los componentes de visión integrados son cada vez más populares y se incorporan a una gran cantidad de aplicaciones. Lo que todas estas aplicaciones tienen en común es la necesidad de incluir más y más funciones en espacios reducidos. A menudo, también es muy ventajoso que estos sistemas tomen decisiones perimetrales. Para habilitar dichos sistemas, incluida la capacidad de crear prototipos rápidamente, Teledyne FLIR ha presentado la solución integrada Quartet™ para TX2. La placa portadora personalizada permite una integración sencilla de hasta 4 cámaras de visión artificial USB3 con ancho de banda completo. Incluye el acelerador de hardware de aprendizaje profundo NVidia Jetson y viene preintegrado con el SDK Spinnaker® de Teledyne FLIR. A menudo, también es muy ventajoso que estos sistemas tomen decisiones perimetrales, especialmente en inspección, robótica móvil, sistemas de tráfico y varios tipos de vehículos no tripulados.

En este artículo muy práctico, para resaltar lo que el Cuarteto puede permitir, describimos los pasos tomados en el desarrollo de un prototipo inspirado en ITS (sistemas de tráfico) que ejecuta cuatro aplicaciones simultáneas, tres de las cuales usan aprendizaje profundo:

  • Aplicación 1: Reconocimiento de matrículas mediante aprendizaje profundo
  • Aplicación 2: Categorización de tipos de vehículos mediante aprendizaje profundo
  • Aplicación 3: Clasificación de colores de vehículos mediante aprendizaje profundo
  • Aplicación 4: Ver a través del parabrisas (reflexión pasada y destello)

4-application-setup.jpg

Figura 1: Configuración de prototipos para las cuatro aplicaciones

Lista de la compra: Componentes de hardware y software

1) SOM para procesamiento:

La nueva placa portadora Teledyne FLIR Quartet para TX2 incluye:

  • 4x conectores TF38 con controladores USB3 dedicados
  • Módulo Nvidia Jetson TX2
  • Preinstalado con el potente y fácil de usar Spinnaker SDK de Teledyne FLIR para garantizar la compatibilidad plug and play con las cámaras de nivel de placa Teledyne FLIR Blackfly S
  • El acelerador de hardware de aprendizaje profundo Nvidia Jetson permite sistemas completos de toma de decisiones en una sola tarjeta compacta

Quartet_4_cameras.jpg

Figura 2: Quartet Embedded Solution con TX2 en la foto con 4 cámaras Blackfly S y 4 cables FPC.

2) Cámaras y cables

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

Figura 3: Cámara Blackfly S Board Level con cable FPC


Regístrese para leer más artículos como este

Regístrese

3) Iluminación: Luces LED para proporcionar suficiente iluminación para evitar el desenfoque de movimiento de las matrículas.

Aplicación 1: Reconocimiento de matrículas mediante aprendizaje profundo

Tiempo de desarrollo: 2-3 semanas principalmente para hacerlo más robusto y funcionar más rápido

Imágenes de entrenamiento: Incluido con LPDNet

Para el reconocimiento de matrículas, implementamos un modelo de aprendizaje profundo de detección de matrículas (LPDNet) listo para usar de Nvidia para detectar la ubicación de las matrículas. Para reconocer la letra y los números, utilizamos el motor OCR de código abierto Tesseract. La cámara es una cámara a color Blackfly S de nivel de placa de 8.9 MP (BFS-U3-88S6C-BD) con el sensor Sony IMX267. Limitamos la región de interés para la detección de matrículas para acelerar el rendimiento y aplicamos el seguimiento para mejorar la solidez. La salida incluye cuadros delimitadores de las matrículas junto con los caracteres de matrícula correspondientes.

license_plate_result.jpg

Figura 4: Streaming con cuadros delimitadores de las matrículas y los caracteres de las matrículas.

Aplicación 2: Categorización de tipos de vehículos mediante aprendizaje profundo

Tiempo de desarrollo: ~12 horas, incluida la recopilación de imágenes y anotaciones

Imágenes de entrenamiento: ~300

Para la categorización del tipo de vehículo, mediante el aprendizaje de transferencia, entrenamos nuestro propio modelo de detección de objetos de aprendizaje profundo para los tres coches de juguete utilizados, a saber, SUV, sedán y camión. Recopilamos aproximadamente 300 imágenes de entrenamiento de la configuración, tomadas a varias distancias y ángulos. La cámara es una cámara a color Blackfly S de nivel de placa de 5 MP (BFS-U3-51S5C-BD) con el sensor Sony IMX250. Anotamos los cuadros delimitadores de los coches de juguete, lo que llevó aproximadamente 3 horas. Realizamos el aprendizaje de transferencia para entrenar nuestro propio modelo de detección de objetos SSD MobileNet, lo que tomó alrededor de medio día en una GPU Nvidia GTX1080 Ti. Con el acelerador de hardware GPU, el módulo Jetson TX2 puede realizar inferencias de aprendizaje profundo de manera eficiente y generar cuadros delimitadores de los automóviles junto con los tipos de vehículos correspondientes.

Picture1.png

Figura 5: Transmisión con cuadros delimitadores y factores de confianza de tipos de vehículos preestablecidos identificados

Aplicación 3: Clasificación de colores de vehículos mediante aprendizaje profundo

Tiempo de desarrollo: Modelo reutilizado de la “aplicación de tipo de vehículo” con 2 días adicionales para clasificar el color, integrar y probar
Imágenes de entrenamiento: Reutilizó las mismas 300 imágenes que la “aplicación Tipo de vehículo”

Para la clasificación del color del vehículo, ejecutamos el mismo modelo de detección de objetos de aprendizaje profundo que el anterior para detectar los automóviles, seguido de un análisis de imágenes en los cuadros delimitadores para clasificar su color. La salida incluye cuadros delimitadores de los coches junto con los colores de los vehículos correspondientes. La cámara es una cámara a color Blackfly S de nivel de placa de 3 MP (BFS-U3-32S4C-BD) con el sensor Sony IMX252.

Picture2.png

Figura 6: Transmisión con cuadros delimitadores y tipos de colores preestablecidos identificados

Aplicación 4: Ver a través del parabrisas (reflexión pasada y destello)

La reducción del deslumbramiento es fundamental para las aplicaciones relacionadas con el tráfico, como ver a través de un parabrisas para monitorizar los carriles VAO, verificar el cumplimiento del cinturón de seguridad e incluso verificar si usan sus teléfonos mientras conducen. Para este propósito, creamos una cámara personalizada combinando una cámara de nivel de placa Blackfly S USB3 con el sensor Sony IMX250MZR de polarización de 5MP. Esta cámara de polarización a nivel de placa no es un producto estándar, pero Teledyne FLIR puede intercambiar diferentes sensores fácilmente para ofrecer opciones de cámara personalizadas para mostrar su funcionalidad de eliminación de reflejos. Simplemente transmitimos las imágenes de la cámara a través de la GUI SpinView de Teledyne FLIR, que ofrece varias opciones de "Algoritmo de polarización", como el modo cuádruple, el modo de reducción de deslumbramiento, para mostrar la reducción de deslumbramiento en un coche de juguete detenido.

Picture3.png

Figura 7: Spinnaker SDK GUI ofrece varias opciones de "algoritmo de polarización", como modo cuádruple, modo de reducción de deslumbramiento, para mostrar la reducción de deslumbramiento en un coche de juguete detenido. El modo cuádruple muestra las 4 imágenes correspondientes a los cuatro ángulos de polarización diferentes.

Optimización general del sistema

IMG_8455.jpg

Si bien cada uno de los cuatro prototipos funcionó bien de forma independiente, notamos que el rendimiento general era bastante bajo cuando todos los modelos de aprendizaje profundo se ejecutaban simultáneamente. Nvidias TensorRT SDK proporciona un optimizador de inferencia de aprendizaje profundo y un tiempo de ejecución para el hardware de Nvidia, como el módulo Jetson TX2. Optimizamos nuestros modelos de aprendizaje profundo con el SDK de TensorRT, lo que dio como resultado una mejora del rendimiento de alrededor de 10 veces. En el lado del hardware, conectamos un disipador de calor al módulo TX2 para evitar el sobrecalentamiento, ya que estaba bastante caliente con todas las aplicaciones en ejecución. Al final, conseguimos buenas velocidades de fotogramas con las cuatro aplicaciones ejecutándose juntas: 14 fps para la identificación del tipo de vehículo, 9 fps para la clasificación del color del vehículo, 4 FPS para el reconocimiento automático de matrículas y 8 FPS para la cámara de polarización.

Desarrollamos este prototipo en un período de tiempo relativamente corto gracias a la facilidad de uso y la fiabilidad de Quartet Embedded Solution y las cámaras a nivel de placa Blackfly S. El módulo TX2 con Spinnaker SDK preinstalado garantiza la compatibilidad plug & play con todas las cámaras de nivel de placa Blackfly S que pueden transmitir de manera fiable con un ancho de banda USB3 completo a través de la conexión TF38. Nvidia proporciona muchas herramientas para facilitar el desarrollo y la optimización en el módulo TX2. Quartet ya está disponible para su compra en línea en flir.com, así como a través de nuestras oficinas y red 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.