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
ulabpara 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 quandobppé 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.