v3.6.5

A v3.6.5 atualiza o TensorFlow e o ulab, melhora substancialmente a câmara HM01B0 (resoluções arbitrárias, QQVGA, recorte, set_auto_exposure(), e uma correção de anti-flicker), e traz suporte a SDRAM externa e ficheiros de placa de produção para o Portenta. As ferramentas/exemplos legados de treino CMSIS-NN foram removidos e o buffer de fotograma do OpenMV 4 Plus foi reduzido — leia as alterações incompatíveis abaixo.

Destaques

  • HM01B0 — resoluções arbitrárias, QQVGA, recorte, e suporte a set_auto_exposure(), mais uma correção de flicker de exposição automática.

  • TensorFlow / ulab atualizado para as suas versões mais recentes.

  • Portenta — utilização de SDRAM externa e ficheiros de placa de produção.

  • Correções — correção de lente, qualidade de imagem em baixas resoluções, e uma correção do relógio de FPS.

  • Incompatível: as ferramentas/exemplos legados de treino/conversão CMSIS-NN foram removidos e o buffer de fotograma do OpenMV 4 Plus foi reduzido — consulte as alterações incompatíveis.

Novas funcionalidades

  • HM01B0 — adicionado suporte a resolução arbitrária, QQVGA e stubs adicionais, recorte do lado do sensor, e suporte a sensor.set_auto_exposure().

  • Leitura de Apriltag — adicionado um exemplo de rastreamento de apriltag com controlo de leitura.

Outras alterações e melhorias

  • Atualizados o TensorFlow e o ulab para as suas versões mais recentes; adicionados utilização de SDRAM externa e ficheiros de placa de produção/CI para o Portenta; limpo o driver MT9V034 e as funções de acesso ao buffer de fotograma.

Correções de erros

Câmara e imagem:

  • Corrigido o flickering durante a exposição automática no HM01B0, correção de lente, qualidade de imagem em resoluções mais baixas, a cópia de linha OV5640/JPEG (dest_fb), o relógio de FPS, e devolução de 0 quando bpp é negativo; removida uma inversão horizontal desnecessária do HM01B0.

Hardware e suporte de placa

  • HM01B0 — resoluções arbitrárias, QQVGA e recorte.

  • Arduino Portenta H7 — SDRAM externa e ficheiros de placa de produção atualizados.

Alterações incompatíveis de API

Alterações de API visíveis pelo utilizador entre a v3.6.4 e a v3.6.5. Âmbito: módulos C Python em modules/, bibliotecas Python em scripts/libraries/, e as ferramentas/exemplos incluídos.

Cada alteração está marcada com o seu impacto:

  • behavior — mesma API, resultados diferentes; re-verifique scripts ajustados.

  • tooling — afeta as ferramentas de compilação/conversão ou exemplos incluídos, não a API Python do firmware.

As alterações estão agrupadas por impacto nessa ordem. Se apenas pretende portar o seu código, salte para a lista de verificação de migração no final. Cada hash de commit liga ao respetivo diff no GitHub.

Buffer de fotograma do OpenMV 4 Plus reduzido (behavior)

O buffer de fotograma do OpenMV 4 Plus foi reduzido para 20 MB (e o tamanho do buffer do OpenMV 2/3 foi corrigido). Scripts com memória limitada no OpenMV 4 Plus que alocavam fotogramas/objetos muito grandes a partir do buffer de fotograma podem agora atingir limites de alocação mais cedo e devem ser re-verificados.

Commits: 3a790a827

Ferramentas e exemplos legados CMSIS-NN removidos (tooling)

As ferramentas legadas de treino/conversão de modelos CMSIS-NN (nn_convert.py, nn_quantizer.py, os ficheiros de modelos LeNet/CIFAR/smile) e os scripts de exemplo 25-Machine-Learning/nn_*.py foram removidos. O módulo nn ainda funciona nesta versão (é removido mais tarde, na v3.9.0), mas as ferramentas de geração de modelos CMSIS-NN foram eliminadas — utilize o fluxo de trabalho TensorFlow Lite (tf) em alternativa.

Commits: 588f79a62

Lista de verificação de migração

Re-verifique as alocações de buffer de fotograma grandes no OpenMV 4 Plus face ao buffer de fotograma reduzido de 20 MB (a alteração do buffer de fotograma), e mova a geração de modelos CMSIS-NN para o fluxo de trabalho TensorFlow Lite (a remoção das ferramentas CMSIS-NN). Todos os outros scripts funcionam sem alterações.