v3.6.5

v3.6.5 actualiza TensorFlow y ulab, mejora sustancialmente la cámara HM01B0 (resoluciones arbitrarias, QQVGA, recorte, set_auto_exposure() y una corrección anti-parpadeo), e incorpora el uso de SDRAM externa de la Portenta y soporte de placas de producción. Se eliminaron las herramientas/ejemplos heredados de entrenamiento de CMSIS-NN y se redujo el framebuffer de la OpenMV 4 Plus — lee los cambios incompatibles a continuación.

Aspectos destacados

  • HM01B0 — resoluciones arbitrarias, QQVGA, recorte y soporte de set_auto_exposure(), además de una corrección de parpadeo de la exposición automática.

  • TensorFlow / ulab actualizados a sus versiones más recientes.

  • Portenta — uso de SDRAM externa y archivos de placa de producción.

  • Correcciones — corrección de lente, calidad de imagen a bajas resoluciones, y una corrección del reloj de FPS.

  • Incompatible: se eliminaron las herramientas y ejemplos heredados de entrenamiento/conversión de CMSIS-NN y se redujo el framebuffer de la OpenMV 4 Plus — consulta los cambios incompatibles.

Nuevas funciones

  • HM01B0 — se añadió soporte de resolución arbitraria, QQVGA y stubs adicionales, recorte en el lado del sensor, y soporte de sensor.set_auto_exposure().

  • Lectura de Apriltag — se añadió un ejemplo de seguimiento de apriltag con control de lectura.

Otros cambios y mejoras

  • Se actualizaron TensorFlow y ulab a sus versiones más recientes; se añadió el uso de SDRAM externa de la Portenta y archivos de placa de producción/CI; se limpiaron el controlador MT9V034 y las funciones de acceso al framebuffer.

Corrección de errores

Cámara e imagen:

  • Se corrigieron el parpadeo durante la exposición automática en el HM01B0, la corrección de lente, la calidad de imagen a resoluciones más bajas, la copia de línea del OV5640/JPEG (dest_fb), el reloj de FPS, y la devolución de 0 cuando bpp es negativo; se eliminó un volteo horizontal innecesario del HM01B0.

Hardware y compatibilidad con placas

  • HM01B0 — resoluciones arbitrarias, QQVGA y recorte.

  • Arduino Portenta H7 — SDRAM externa y archivos de placa de producción actualizados.

Cambios incompatibles en la API

Cambios de API visibles para el usuario entre v3.6.4 y v3.6.5. Alcance: módulos C de Python en modules/, bibliotecas de Python en scripts/libraries/, y las herramientas/ejemplos incluidos.

Cada cambio está etiquetado según su impacto:

  • behavior — misma API, resultados diferentes; vuelve a comprobar los scripts ajustados.

  • tooling — afecta a las herramientas de compilación/conversión o a los ejemplos incluidos, no a la API de Python del firmware.

Los cambios se agrupan por impacto en ese orden. Si solo quieres portar tu código, salta a la lista de comprobación de migración al final. Cada hash de commit enlaza a su diff en GitHub.

Framebuffer de la OpenMV 4 Plus reducido (behavior)

El framebuffer de la OpenMV 4 Plus se redujo a 20 MB (y se corrigió el tamaño del búfer de la OpenMV 2/3). Los scripts con memoria justa en la OpenMV 4 Plus que asignaban fotogramas/objetos muy grandes desde el framebuffer pueden ahora alcanzar los límites de asignación antes y deben volver a comprobarse.

Commits: 3a790a827

Herramientas y ejemplos heredados de CMSIS-NN eliminados (tooling)

Se eliminaron las herramientas heredadas de entrenamiento/conversión de modelos CMSIS-NN (nn_convert.py, nn_quantizer.py, los archivos de modelo LeNet/CIFAR/smile) y los scripts de ejemplo 25-Machine-Learning/nn_*.py. El módulo nn en sí sigue funcionando en esta versión (se elimina más tarde, en v3.9.0), pero las herramientas de generación de modelos CMSIS-NN ya no están — usa el flujo de trabajo de TensorFlow Lite (tf) en su lugar.

Commits: 588f79a62

Lista de comprobación de migración

Vuelve a comprobar las asignaciones grandes de framebuffer en la OpenMV 4 Plus frente al framebuffer reducido de 20 MB (el cambio del framebuffer), y mueve la generación de modelos CMSIS-NN al flujo de trabajo de TensorFlow Lite (la eliminación de las herramientas CMSIS-NN). Todos los demás scripts se ejecutan sin cambios.