v3.6.5¶
v3.6.5 aggiorna TensorFlow e ulab, migliora notevolmente la camera HM01B0 (risoluzioni arbitrarie, QQVGA, ritaglio, set_auto_exposure() e una correzione anti-flicker) e introduce il supporto alla SDRAM esterna del Portenta e alle schede di produzione. I vecchi strumenti/esempi di training CMSIS-NN sono stati rimossi e il frame buffer dell’OpenMV 4 Plus è stato ridotto — leggi le modifiche incompatibili più sotto.
In evidenza¶
HM01B0 — supporto a risoluzioni arbitrarie, QQVGA, ritaglio e
set_auto_exposure(), più una correzione del flicker dell’esposizione automatica.TensorFlow / ulab aggiornati alle versioni più recenti.
Portenta — utilizzo della SDRAM esterna e file delle schede di produzione.
Correzioni — correzione della lente, qualità dell’immagine a basse risoluzioni e una correzione del clock degli FPS.
Incompatibile: i vecchi strumenti ed esempi di training/conversione CMSIS-NN sono stati rimossi e il frame buffer dell’OpenMV 4 Plus è stato ridotto — vedi le modifiche incompatibili.
Nuove funzionalità¶
HM01B0 — aggiunto il supporto a risoluzioni arbitrarie, QQVGA e ulteriori stub, ritaglio lato sensore e supporto a
sensor.set_auto_exposure().Readout Apriltag — aggiunto un esempio di tracciamento apriltag con controllo del readout.
Altre modifiche e miglioramenti¶
Aggiornati TensorFlow e
ulaballe versioni più recenti; aggiunti l’utilizzo della SDRAM esterna del Portenta e i file delle schede di produzione/CI; ripuliti il driver MT9V034 e le funzioni di accesso al frame buffer.
Correzioni di bug¶
Camera e imaging:
Corretti il flickering durante l’esposizione automatica sull’HM01B0, la correzione della lente, la qualità dell’immagine a risoluzioni più basse, la copia di riga OV5640/JPEG (
dest_fb), il clock degli FPS e il ritorno di 0 quandobppè negativo; rimosso un flip orizzontale dell’HM01B0 non necessario.
Hardware e supporto schede¶
HM01B0 — risoluzioni arbitrarie, QQVGA e ritaglio.
Arduino Portenta H7 — SDRAM esterna e file delle schede di produzione aggiornati.
Modifiche incompatibili delle API¶
Modifiche incompatibili visibili all’utente tra la v3.6.4 e la v3.6.5. Ambito: moduli C Python in modules/, librerie Python in scripts/libraries/ e gli strumenti/esempi inclusi.
Ogni modifica è contrassegnata dal suo impatto:
behavior — stessa API, risultati diversi; ricontrolla gli script messi a punto.
tooling — interessa gli strumenti di build/conversione o gli esempi inclusi, non l’API Python del firmware.
Le modifiche sono raggruppate per impatto in quest’ordine. Se vuoi solo portare il tuo codice, salta alla checklist di migrazione alla fine. Ogni hash di commit rimanda al suo diff su GitHub.
Frame buffer dell’OpenMV 4 Plus ridotto (behavior)¶
Il frame buffer dell’OpenMV 4 Plus è stato ridotto a 20 MB (e la dimensione del buffer dell’OpenMV 2/3 è stata corretta). Gli script con poca memoria sull’OpenMV 4 Plus che allocavano frame/oggetti molto grandi dal frame buffer potrebbero ora raggiungere i limiti di allocazione prima e dovrebbero essere ricontrollati.
Commit: 3a790a827
Vecchi strumenti ed esempi CMSIS-NN rimossi (tooling)¶
I vecchi strumenti di training/conversione dei modelli CMSIS-NN (nn_convert.py, nn_quantizer.py, i file dei modelli LeNet/CIFAR/smile) e gli script di esempio 25-Machine-Learning/nn_*.py sono stati rimossi. Il modulo nn in sé funziona ancora in questa versione (viene rimosso più avanti, nella v3.9.0), ma gli strumenti di generazione dei modelli CMSIS-NN non ci sono più — usa invece il flusso di lavoro TensorFlow Lite (tf).
Commit: 588f79a62
Checklist di migrazione¶
Ricontrolla le grandi allocazioni del frame buffer sull’OpenMV 4 Plus rispetto al frame buffer ridotto a 20 MB (la modifica al frame buffer) e sposta la generazione dei modelli CMSIS-NN al flusso di lavoro TensorFlow Lite (la rimozione degli strumenti CMSIS-NN). Tutti gli altri script funzionano senza modifiche.