v3.6.5

v3.6.5 обновляет TensorFlow и ulab, существенно улучшает камеру HM01B0 (произвольные разрешения, QQVGA, кадрирование, set_auto_exposure() и исправление мерцания), а также добавляет поддержку внешней SDRAM Portenta и серийных плат. Устаревший инструментарий/примеры обучения CMSIS-NN были удалены, а буфер кадра OpenMV 4 Plus был уменьшен — ознакомьтесь с несовместимыми изменениями ниже.

Основные новшества

  • HM01B0 — поддержка произвольных разрешений, QQVGA, кадрирования и set_auto_exposure(), плюс исправление мерцания при автоматической экспозиции.

  • TensorFlow / ulab обновлены до последних версий.

  • Portenta — использование внешней SDRAM и файлы серийной платы.

  • Исправления — коррекция объектива, качество изображения в низких разрешениях и исправление тактирования FPS.

  • Несовместимое изменение: устаревший инструментарий обучения/конвертации CMSIS-NN и примеры были удалены, а буфер кадра OpenMV 4 Plus был уменьшен — см. несовместимые изменения.

Новые возможности

  • HM01B0 — добавлена поддержка произвольных разрешений, QQVGA и дополнительных заглушек, кадрирование на стороне датчика и поддержка sensor.set_auto_exposure().

  • Считывание Apriltag — добавлен пример отслеживания apriltag с управлением считыванием.

Прочие изменения и улучшения

  • TensorFlow и ulab обновлены до последних версий; добавлены использование внешней SDRAM Portenta и файлы серийной/CI-плат; очищены драйвер MT9V034 и функции доступа к буферу кадра.

Исправления ошибок

Камера и обработка изображений:

  • Исправлены мерцание при автоматической экспозиции на HM01B0, коррекция объектива, качество изображения в более низких разрешениях, копирование строки OV5640/JPEG (dest_fb), тактирование FPS и возврат 0, когда bpp отрицательное; убрано лишнее горизонтальное отражение HM01B0.

Поддержка оборудования и плат

  • HM01B0 — произвольные разрешения, QQVGA и кадрирование.

  • Arduino Portenta H7 — внешняя SDRAM и обновлённые файлы серийной платы.

Несовместимые изменения API

Видимые пользователю изменения API между v3.6.4 и v3.6.5. Область: Python-модули на C в modules/, библиотеки Python в scripts/libraries/ и поставляемый инструментарий/примеры.

Каждое изменение помечено степенью влияния:

  • behavior — тот же API, другие результаты; перепроверьте настроенные скрипты.

  • tooling — затрагивает инструментарий сборки/конвертации или поставляемые примеры, а не Python API прошивки.

Изменения сгруппированы по влиянию в этом порядке. Если вам нужно просто перенести код, перейдите к контрольному списку миграции в конце. Каждый хеш коммита ссылается на свой diff на GitHub.

Буфер кадра OpenMV 4 Plus уменьшен (behavior)

Буфер кадра OpenMV 4 Plus был уменьшен до 20 МБ (а размер буфера OpenMV 2/3 был исправлен). Скрипты с ограниченной памятью на OpenMV 4 Plus, выделявшие очень большие кадры/объекты из буфера кадра, теперь могут раньше достигать пределов выделения памяти и должны быть перепроверены.

Коммиты: 3a790a827

Устаревший инструментарий и примеры CMSIS-NN удалены (tooling)

Устаревший инструментарий обучения/конвертации моделей CMSIS-NN (nn_convert.py, nn_quantizer.py, файлы моделей LeNet/CIFAR/smile) и примеры скриптов 25-Machine-Learning/nn_*.py были удалены. Сам модуль nn в этом выпуске всё ещё работает (он удаляется позже, в v3.9.0), но инструментарий генерации моделей CMSIS-NN исчез — используйте вместо него рабочий процесс TensorFlow Lite (tf).

Коммиты: 588f79a62

Контрольный список миграции

Перепроверьте большие выделения буфера кадра на OpenMV 4 Plus с учётом уменьшенного буфера кадра 20 МБ (изменение буфера кадра) и перенесите генерацию моделей CMSIS-NN на рабочий процесс TensorFlow Lite (удаление инструментария CMSIS-NN). Все остальные скрипты работают без изменений.