Tabla de contenido:
- Paso 1: Flash del firmware de Micropython
- Paso 2: Conéctese a MaiX Bit
- Paso 3: ¡Ejecute las demostraciones
Video: Demostraciones de OpenMV de Sipeed MaiX Bit - Visión por computadora: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Este es el segundo artículo de la serie sobre Sipeed AI en la plataforma de microcontroladores Edge. Esta vez escribiré sobre MaiX Bit (enlace a Seeed Studio Shop), una placa de desarrollo más pequeña y lista para usar. Sus especificaciones son muy similares a las de MaiX Dock, la placa que usé para el último tutorial, ya que usan el mismo chip, Kendryte K210.
Usaremos firmware de micropython para probar algunas demostraciones de OpenMV. Aquí está la descripción de la página de inicio de OpenMV:
El proyecto OpenMV trata de crear módulos de visión artificial de bajo costo, extensibles y con tecnología Python, y tiene como objetivo convertirse en el “Arduino de la visión artificial”.… Python hace que trabajar con algoritmos de visión artificial sea mucho más fácil. Por ejemplo, el método find_blobs () en el código busca manchas de color y devuelve una lista de objetos de 8 valores que representan cada mancha de color encontrada. En Python, iterar a través de la lista de objetos devueltos por find_blobs () y dibujar un rectángulo alrededor de cada mancha de color se hace fácilmente con solo dos líneas de código.
Entonces, a pesar de que MaiX Bit presenta un acelerador de red neuronal dedicado, a veces puede ser más fácil usar algoritmos codificados de OpenMV para hacer el trabajo o usarlos uno junto al otro.
Algunos casos de uso que me vienen a la mente son:
1) Detección de línea para bot seguidor de línea
2) Detección de semáforos con detección de círculos y colores
3) Uso de la detección de rostros para encontrar los rostros para el reconocimiento de rostros (con DNN)
Repositorio de Github para este artículo
Paso 1: Flash del firmware de Micropython
En primer lugar, necesitaremos actualizar el firmware de micropython en nuestra placa. Se incluye un binario precompilado en el repositorio de github para este artículo, junto con kflash.py (una utilidad flash). Si desea compilar el firmware a partir del código fuente, simplemente descargue el código fuente de https://github.com/sipeed/MaixPy, instale la cadena de herramientas y compile el código fuente en el archivo maixpy.bin. Las instrucciones de construcción detalladas se pueden encontrar aquí.
Flash el archivo binario con
sudo python3 kflash.py kpu.bin
Después de parpadear correctamente, continúe con el siguiente paso.
Paso 2: Conéctese a MaiX Bit
Ahora nuestro MaiX Bit debería ser accesible a través de una conexión en serie USB con una velocidad de transmisión de 115200. Puede utilizar su software favorito para la comunicación en serie o simplemente los comandos cat y echo, lo que se adapte a sus necesidades. Estaba usando la pantalla para la comunicación en serie y lo encuentro muy conveniente.
El comando para establecer una sesión de comunicación serial con pantalla es
sudo pantalla / dev / ttyUSB0 115200
donde / dev / ttyUSB0 es la dirección de su dispositivo.
Es posible que deba presionar el botón de reinicio en su microcontrolador para ver el mensaje de saludo y el indicador del intérprete de Python.
Paso 3: ¡Ejecute las demostraciones
Ahora puede acceder al modo de copia presionando Ctrl + E y copiar y pegar los códigos de demostración. Para ejecutarlos, presione Ctrl + D en modo de copia.
Si no desea grabar los videos, debe comentar las líneas de grabación de video. De lo contrario, el código generará una excepción si no hay una tarjeta SD insertada
Aquí hay breves descripciones de cada demostración:
Buscar círculos: utiliza la función find_circles de OpenMV. Necesita más ajustes para su aplicación específica, particularmente el umbral (controla qué círculos se detectan desde la transformación de hough. Solo se devuelven los círculos con una magnitud mayor o igual que el umbral) y los valores r_min, r_max.
Buscar rectángulos: utiliza la función find_rects de OpenMV. Puede jugar con el valor de umbral, pero el valor que tengo en la demostración funciona bastante bien para encontrar rectángulos.
Encontrar caras, encontrar ojos: utiliza la función find_features con Haar Cascades para detectar ojos y caras frontales en la imagen. Puede jugar con los valores de umbral y escala para obtener el equilibrio correcto entre velocidad y precisión.
Buscar líneas infinitas: utiliza la función find_lines para encontrar todas las líneas infinitas en la imagen usando la transformación hough.
Detectar color: usa la función get_statistics para obtener el objeto percentil y luego convierte los valores medios de la tupla LAB en una tupla de valores RGB. Yo mismo escribí este ejemplo y funciona bastante bien, pero tenga en cuenta que los resultados de la detección de color se verán afectados por las condiciones de luz ambiental.
¡Puedes encontrar muchas más demostraciones interesantes en el repositorio github de OpenMV! En su mayoría son compatibles con MaiX Bit micropython, lo único que debe recordar es agregar sensor.run (1) después de configurar el formato de imagen y el tamaño de fotograma.
Feliz experimentación con código OpenMV. Si tiene alguna pregunta o desea compartir algunos de sus resultados interesantes, no dude en comunicarse conmigo en Youtube o LinkedIn. Ahora, discúlpeme, ¡iré a hacer algunos robots!
Recomendado:
Detección de objetos con placas Sipeed MaiX (Kendryte K210): 6 pasos
Detección de objetos con placas Sipeed MaiX (Kendryte K210): como continuación de mi artículo anterior sobre el reconocimiento de imágenes con placas Sipeed MaiX, decidí escribir otro tutorial, centrado en la detección de objetos. Recientemente apareció un hardware interesante con el chip Kendryte K210, incluido S
¡Reutilice el panel táctil de una computadora portátil vieja para controlar una computadora !: 11 pasos (con imágenes)
¡Reutilice el panel táctil de una computadora portátil vieja para controlar una computadora! Los gestos de deslizar y tocar con los dedos pueden resultar para controlar las cosas de una manera bastante simple y divertida. En este Instructable, combinemos uno con
Computadora portátil Pi-Berry: la computadora portátil clásica de bricolaje: 21 pasos (con imágenes)
Computadora portátil Pi-Berry: la computadora portátil clásica de bricolaje: La computadora portátil que creé “La computadora portátil Pi-Berry” está construida alrededor de la Raspberry Pi 2. Tiene 1 GB de RAM, CPU de cuatro núcleos, 4 puertos USB y un puerto Ethernet. La computadora portátil satisface las necesidades de la vida diaria y ejecuta sin problemas programas como el reproductor multimedia VLC, Mozilla Firefox, Ardu
Demostraciones de Lego Dynamo Voor: 5 pasos
Demostraciones de Lego Dynamo Voor: En la última hora instructable, podemos hacer demostraciones de dínamo y realizar proyectos de DEF eindproject. Onze dynamo kan een piekvoltage van 20 Volt opwekken en daarmee makkelijk een serie led-lampjes laten branden
Almohadilla de enfriamiento para computadora portátil DIY - Impresionantes trucos de vida con ventilador de CPU - Ideas creativas - Ventilador de la computadora: 12 pasos (con imágenes)
Almohadilla de enfriamiento para computadora portátil DIY | Impresionantes trucos de vida con ventilador de CPU | Ideas creativas | Fan de la computadora: Debes ver este video hasta su final. por entender el video