v3.6.5¶
v3.6.5 atualiza o TensorFlow e o ulab, melhora substancialmente a câmera HM01B0 (resoluções arbitrárias, QQVGA, recorte, set_auto_exposure() e uma correção de anti-flicker) e traz suporte a SDRAM externa do Portenta e a placas de produção. As antigas ferramentas/exemplos de treinamento CMSIS-NN foram removidos e o framebuffer do OpenMV 4 Plus foi reduzido — leia as mudanças incompatíveis abaixo.
Destaques¶
HM01B0 — suporte a resoluções arbitrárias, QQVGA, recorte e
set_auto_exposure(), além de uma correção de flicker da exposição automática.TensorFlow / ulab atualizados para suas versões mais recentes.
Portenta — uso de SDRAM externa e arquivos de placa de produção.
Correções — correção de lente, qualidade de imagem em baixas resoluções e uma correção do clock de FPS.
Incompatível: as antigas ferramentas e exemplos de treinamento/conversão CMSIS-NN foram removidos e o framebuffer do OpenMV 4 Plus foi reduzido — veja as mudanças incompatíveis.
Novos recursos¶
HM01B0 — adicionado suporte a resolução arbitrária, QQVGA e stubs adicionais, recorte no lado do sensor e suporte a
sensor.set_auto_exposure().Readout de apriltag — adicionado um exemplo de rastreamento de apriltag com controle de readout.
Outras mudanças e melhorias¶
Atualizados o TensorFlow e o
ulabpara suas versões mais recentes; adicionados o uso de SDRAM externa do Portenta e arquivos de placa de produção/CI; limpeza do driver MT9V034 e das funções de acesso ao framebuffer.
Correções de bugs¶
Câmera e imagem:
Corrigidos o flicker durante a exposição automática no HM01B0, a correção de lente, a qualidade de imagem em resoluções mais baixas, a cópia de linha OV5640/JPEG (
dest_fb), o clock de FPS e o retorno de 0 quandobppé negativo; removido um flip horizontal desnecessário do HM01B0.
Hardware e suporte a placas¶
HM01B0 — resoluções arbitrárias, QQVGA e recorte.
Arduino Portenta H7 — SDRAM externa e arquivos de placa de produção atualizados.
Mudanças incompatíveis de API¶
Quebras de API visíveis ao usuário entre v3.6.4 e v3.6.5. Escopo: C-modules Python em modules/, bibliotecas Python em scripts/libraries/ e as ferramentas/exemplos incluídos.
Cada mudança é marcada com seu impacto:
behavior — mesma API, resultados diferentes; reavalie scripts ajustados.
tooling — afeta as ferramentas de build/conversão ou os exemplos incluídos, não a API Python do firmware.
As mudanças estão agrupadas por impacto nessa ordem. Se você só quer portar seu código, vá direto para a lista de verificação de migração no final. Cada hash de commit aponta para o seu diff no GitHub.
Framebuffer do OpenMV 4 Plus reduzido (behavior)¶
O framebuffer do OpenMV 4 Plus foi reduzido para 20 MB (e o tamanho do buffer do OpenMV 2/3 foi corrigido). Scripts com pouca memória no OpenMV 4 Plus que alocavam quadros/objetos muito grandes a partir do framebuffer podem agora atingir os limites de alocação mais cedo e devem ser reavaliados.
Commits: 3a790a827
Ferramentas e exemplos antigos de CMSIS-NN removidos (tooling)¶
As antigas ferramentas de treinamento/conversão de modelos CMSIS-NN (nn_convert.py, nn_quantizer.py, os arquivos de modelo LeNet/CIFAR/smile) e os scripts de exemplo 25-Machine-Learning/nn_*.py foram removidos. O próprio módulo nn ainda funciona nesta versão (ele é removido depois, na v3.9.0), mas as ferramentas de geração de modelos CMSIS-NN se foram — use o fluxo de trabalho do TensorFlow Lite (tf) em vez disso.
Commits: 588f79a62
Lista de verificação de migração¶
Reavalie as alocações grandes de framebuffer no OpenMV 4 Plus em relação ao framebuffer reduzido de 20 MB (a mudança do framebuffer) e migre a geração de modelos CMSIS-NN para o fluxo de trabalho do TensorFlow Lite (a remoção das ferramentas CMSIS-NN). Todos os outros scripts funcionam sem alterações.