Pi Ziheng Embedded: módulo de visión artificial NXP OpenMV-RT esas cosas (1) -primera experiencia


  Hola a todos, soy el rufián, un rufián serio que se dedica a la tecnología. Esta serie de Pi Ziheng presenta la primera experiencia del módulo de visión artificial OpenMV-RT .

  En los últimos años, la aplicación de la visión artificial ha sido una dirección muy caliente. Imagínese si una máquina puede hacer crecer "ojos", ¿puede hacer algo que los humanos pueden hacer, por lo que la visión artificial es una base importante para la realización de la inteligencia artificial? El tema de la tesis de maestría de Pi Ziheng estaba relacionado con el procesamiento de imágenes de la cámara industrial, que se consideraba el núcleo frontal del sistema de visión artificial. Pensando en hace diez años, el desarrollo de sistemas de visión artificial siempre ha sido más complicado, lo que requiere que los desarrolladores tengan una base sólida para el desarrollo integrado. Ahora, algunos grupos de investigación relacionados con la visión artificial pueden permitir que los desarrolladores se centren más en la aplicación en sí. y módulos de visión artificial fáciles de usar. Con estos módulos, puede reproducir fácilmente la visión artificial incluso sin mucha experiencia incorporada. Hoy, Pi Ziheng llevará a todos a experimentar OpenMV-RT, un módulo de visión artificial liviano lanzado por NXP:

1. Introducción al módulo

  El nombre completo del módulo del que Pi Ziheng hablará hoy es OpenMV-RT, que es un módulo de visión basado en el reciente modelo insignia de la serie MCU i.MXRT de ultra alto rendimiento de NXP. El siguiente es un diagrama esquemático del módulo. Se puede ver en el diagrama esquemático que esta placa está diseñada de manera muy concisa. Básicamente, además del sistema MCU más pequeño, solo contiene cuatro componentes principales: sensor de cámara digital 640x480, nueve- sensor de actitud del eje, flash SPI en serie (código de tienda), ranura para tarjeta SD (sistema de archivos):

OpenMV-RT-Intro-Block_diagram.PNG

  Además, el módulo también proporciona una interfaz OpenMV estándar, que se puede extender arbitrariamente a otros módulos funcionales en el proyecto OpenMV (sobre el proyecto OpenMV, Di Ziheng hablará sobre ello en un artículo de seguimiento):

OpenMV-RT-Intro-OpenMV_Interface.PNG

Nota: Puede encontrar una introducción más detallada al módulo en el artículo de WeChat "Módulo de visión programable basado en i.MX RT1060" publicado por el diseñador del módulo Rocky Song

Dos, instale el módulo

2.1 Módulo de compra y tarjeta SD

  En primer lugar, debe tener un módulo OpenMV-RT. El precio sin tarjeta SD es de 399 yuanes y hay 6 distancias focales de lentes opcionales. Este módulo proporciona una deducción exclusiva de más de 50 RMB para los participantes en el 14º Concurso Nacional de Autos Inteligentes para Estudiantes Universitarios.

OpenMV-RT-Intro-Buy.PNG

2.2 Descarga del firmware i.MXRT

  Después de obtener el módulo OpenMV-RT, para garantizar el funcionamiento normal del módulo, es mejor intentar descargar el programa de firmware i.MXRT usted mismo (para evitar que el fabricante se olvide de grabar el firmware). El proyecto se coloca en el sitio web de github. El código fuente es de código abierto.

  Si no está familiarizado con Git, descargue el paquete de compresión del proyecto directamente como se muestra a continuación (recuerde hacer el Paso 1). Si está familiarizado con Git, clone el proyecto directamente y realice el pago en la rama omv_initial_integrate.

OpenMV-RT-Intro-firmware_repo.PNG

  Piziheng mostró en la primera sección del diagrama del módulo que el módulo tiene una interfaz SWD de 6 pines, que se utiliza para conectar el emulador J-Link para descargar el programa de firmware i.MXRT en el flash SPI serie externo. Puede conectar el módulo y el simulador J-Link como se muestra a continuación:

  • J-Link.Pin6 (GND) -> módulo J1.6 (GND)
  • J-Link.Pin1 (VCC) -> módulo J1.5 (3.3V)
  • J-Link.Pin7 (SWC) -> Módulo J1.3 (SWC)
  • J-Link.Pin9 (SWD) -> Módulo J1.2 (SWD)
OpenMV-RT-Intro-SWD_connect.jpg

  Utilice Keil MDK (v5.20 o superior) para abrir el proyecto de firmware, seleccione "debug_flexspi", luego compile el proyecto (aproximadamente 4 minutos) y finalmente haga clic en descargar (aproximadamente 2 minutos). Una vez completada la descarga del firmware, necesita para encender el módulo nuevamente.

  • Proyecto de firmware i.MXRT: \ micropython-rocky \ ports \ prj_keil_rt1060 \ mpyrt1060.uvproj

2.3 Instalar OpenMV IDE

  Porque el módulo OpenMV-RT implementa el protocolo de depuración y monitoreo de OpenMV IDE. Para experimentar la función de descarga con un clic y monitorear el frame buffer del módulo sin guardar, y para habilitar la función de puerto serial virtual, el módulo se usa mejor con OpenMV IDE.

Tres, ejecuta el módulo

  En cuanto al funcionamiento del módulo OpenMV-RT, Pi Ziheng le mostrará una aplicación de reconocimiento de objetos basada en el conjunto de datos CIFAR-10.

3.1 Inserte la tarjeta SD (incluido el archivo del modelo CIFAR-10)

  El módulo OpenMV-RT debe usarse con una tarjeta SD, y el módulo actualmente solo admite la implementación de un sistema de archivos en SD. El archivo de modelo de conjunto de datos CIFAR-10 previamente entrenado de la aplicación de reconocimiento de objetos que Pi Ziheng quiere demostrar debe almacenarse en la tarjeta SD. El archivo de modelo contiene dos archivos: cifar10.network y cifar10_fast.network.

  • Ruta de archivo de modelo de conjunto de datos CIFAR-10 previamente entrenado: \ micropython-rocky \ examples \ rocky_test \ multi_demos_extract_to_tfcard \

3.2 Utilice IDE para conectar el módulo

  Primero abra OpenMV IDE y luego encienda el módulo OpenMV-RT (si es la primera conexión), el sistema puede tardar mucho (quizás más de 1 minuto) en instalar y configurar el controlador, tenga paciencia. Cuando el estado en la esquina inferior izquierda de OpenMV IDE cambia de la siguiente manera, significa que el controlador se instaló correctamente y el módulo ha sido identificado.

OpenMV-RT-Intro-ide_connect.PNG

3.3 Ejecutar la aplicación de reconocimiento de objetos

  Utilice OpenMV IDE para abrir el programa fuente Python de la aplicación de reconocimiento de objetos (sí, OpenMV-RT es compatible con el lenguaje MicroPython, y el principio se discutirá en detalle en un artículo de seguimiento). Este programa fuente en realidad contiene 2 aplicaciones, una se basa en el reconocimiento de objetos CIFAR-10, el otro es el reconocimiento digital basado en LENet. Lo que Pi Ziheng quiere demostrar es el reconocimiento de objetos, por lo que el código fuente de Python debe modificarse ligeramente de la siguiente manera:

  • Programa principal de la aplicación de reconocimiento de objetos: \ micropython-rocky \ examples \ rocky_test \ multi_demos_extract_to_tfcard \ main.py
#...省略

while (True):
    pyb.LED(1).off()
    pyb.LED(2).off()
    pyb.LED(3).on()
    pyb.LED(4).off()

    #If you use RT1052, 'isFull' should be False
    CIFAR10Test(40000000, isFull = True)
    # RT1052 does not have enough RAM to run this
    #LENetTest(40000000)

  Una vez modificado el programa, haga clic en el botón Ejecutar en la esquina inferior izquierda del IDE y el módulo OpenMV-RT comenzará a ejecutar el programa Python. Puede ver la ventana de captura de la cámara en tiempo real en el IDE. Vaya a Internet y busque una imagen de los 10 objetos (avión, automóvil, pájaro, gato, venado, perro, rana, caballo, bote, camión) entrenados por CIFAR-10. Pi Ziheng encuentra una imagen de un ciervo y la pone Delante de la cámara, puede ver el resultado del reconocimiento "ciervo" que se muestra en la parte superior de la ventana de adquisición.

OpenMV-RT-Intro-Run.PNG

  Llegados a este punto, finaliza la introducción del módulo OpenMV-RT por primera vez Pi Ziheng, donde está el aplauso ~~~

Bienvenido a suscribirse

El artículo también se publicará en mi blog Home Park , CSDN home , número público de microcanales en la plataforma.

Busque " Piziheng Embedded " en WeChat o escanee el código QR a continuación, y podrá verlo en su teléfono por primera vez.

Supongo que te gusta

Origin blog.csdn.net/qq_45533926/article/details/112301706
Recomendado
Clasificación