v2.5.0

v2.5.0 перерабатывает Model Editor в полноценный Dataset Editor для машинного обучения, переводит прошивку на кроссплатформенный инструмент dfu-util и добавляет поддержку камер OpenMV под брендом Arduino. Этот релиз остаётся на базе Qt Creator 4.0.2 и не содержит несовместимых изменений для существующих проектов.

Основные изменения

  • Dataset Editor заменяет старый Model Editor, позволяя создавать наборы данных изображений для машинного обучения прямо с камеры с именованными папками классов и панелью предпросмотра в реальном времени.

  • Export Dataset выгружает набор данных в виде .zip, совместимого с Edge Impulse.

  • Прошивка через dfu-util заменяет путь через DfuSeCommand.exe / pydfu.py, доступный только в Windows, устраняя необходимость вручную устанавливать libusb/pyusb на macOS и Linux.

  • Поддержка Arduino Portenta H7 распознаёт камеры OpenMV под брендом Arduino для определения по последовательному порту, подключения через загрузчик и загрузки прошивки по DFU.

  • Прогресс загрузки обновлений прошивки/пакетов теперь реальный и отменяемый, с раздельными фазами Downloading и Installing.

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

  • Dataset Editor. Model Editor был переработан в полноценный Dataset Editor для создания наборов данных изображений для машинного обучения. Меню Dataset Editor добавляет действия New Dataset, Open Dataset и Close Dataset; новый набор данных предварительно заполняется шаблоном dataset_capture_script.py, а файл labels.txt генерируется и поддерживается в актуальном состоянии по мере добавления папок классов. Изображения захватываются на камере в именованные папки классов, отображаются в дереве на основе QFileSystemModel с открытием по двойному щелчку и контекстным меню Delete/Rename, наряду с панелью предпросмотра изображения в реальном времени (aa0101189, 96cbcd97a, f1a39272b, 28cc1bfbd).

  • Export Dataset. Новое действие выгружает набор данных в виде .zip, разворачивая изображения в файлы с именами классов <class>.<snapshot>, совместимые с Edge Impulse, с отображением отменяемого диалога прогресса. Папки классов изменились с нумерованных (NNNNN.name.class) на простые name.class (f1e6b6a0d, 0297d4b9e, aa69ab62c).

  • Прошивка через dfu-util. Прошивка была переписана для использования кроссплатформенного инструмента dfu-util вместо старого пути через Windows DfuSeCommand.exe / pydfu.py. connectClicked() теперь вызывает downloadFirmware(), а старые диалоги с инструкциями «PyDFU requires libusb» исчезли, устраняя требование вручную устанавливать libusb/pyusb на macOS и Linux (2bf0b71c7, 5396b7072, d64cb05b1).

  • Значки запуска для рабочего стола и Linux. В Windows установщик теперь создаёт ярлык на рабочем столе в дополнение к записи в меню «Пуск», а сборка для Linux теперь устанавливает значок приложения (openmv.png) через bin.pro. Ссылка Icon в .desktop была добавлена, но позже удалена, поэтому лаунчер Linux поставляется без записи Icon= (327fc2f69, ccca0859f, b1e2b0469).

  • Инспекция отдельного пикселя. Просмотрщик буфера кадра и последовательный терминал теперь показывают Point (x, y) в метке разрешения и рисуют полосу выделения при щелчке по одной точке, вместо того чтобы сообщать только о многопиксельных ROI (86839b4c0).

  • Новые примеры скриптов. Включён большой набор новых примеров, в том числе удалённая передача изображений по UART/USB (raw и JPEG, роли контроллера и удалённого устройства), демонстрации удалённого управления «популярными функциями», считывание трекинга IR-светодиода на 100 fps, RTSP-видеосервер, расширенное рисование изображений с пользовательскими палитрами, математика в стиле numpy через ulab и коррекция перспективы/поворота (c0a6ff6c8, 0cc0a7761, d77667c20).

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

  • Прогресс загрузки обновлений. Загрузка обновлений прошивки/пакетов теперь показывает реальный прогресс загрузки и может быть отменена, разделяя фазы Downloading и Installing вместо единой неопределённой полосы Installing (c36d151f3, f1a39272b).

  • Перецентрирование буфера кадра. Просмотрщик буфера кадра теперь перецентрирует изображение в области просмотра при обновлениях и изменениях размера (327fc2f69).

  • HTTPS-ссылки. Внешние ссылки на справку и генераторы кода, а также URL-адреса загрузки обновлений были переключены с http на https (генераторы Google, форумы OpenMV, загрузка с openmv.io и ссылка на лицензию GPL) (a0a104e63).

  • Обновления входящих в комплект примеров. Старый пример CMSIS CNN 09-Feature-Detection/cnn.py был удалён, пример 02-Board-Control/dac_control.py был переименован в dac_write.py, и был добавлен новый пример 02-Board-Control/dac_write_timed.py; также был добавлен входящий в комплект файл меток mobilenet_labels.txt (330548305).

  • Обновлена входящая в комплект прошивка. Пересобраны и обновлены входящие в комплект образы прошивки (openmv/uvc/bootloader) для плат OPENMV2, OPENMV3, OPENMV4 и OPENMV4P в нескольких коммитах обновления ресурсов. Версия входящей в комплект прошивки (firmware.txt) прошла путь 3.5.2 -> 3.6.1 -> 3.6.2 -> 3.6.4 в ходе этих обновлений, поставляясь как 3.6.4, а датчик HM01B0 (0xB0) был добавлен в список распознаваемых датчиков (sensors.txt) (0cc0a7761, c0a6ff6c8, a6df35010, 330548305).

  • Обновлены бинарные файлы dfu-util. Обновлены входящие в комплект бинарные файлы dfu-util prefix/suffix/util для arm, linux32, linux64, osx и windows (dd8733632).

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

  • Исправлено кратковременное мелькание окна командной строки/консоли на экране во время загрузки прошивки по DFU и операций видеоинструментов (ffmpeg/ffplay) в Windows (092fbad74).

  • Исправлен стандартный шрифт редактора на хостах ARM Linux (например, Raspberry Pi), чтобы использовать DejaVu Sans Mono вместо отсутствующего/неподходящего семейства Monospace (53a864787).

Поддержка платформ и инструментов

  • База Qt Creator: 4.0.2.

  • Камеры Arduino Portenta H7 / OpenMV под брендом Arduino теперь поддерживаются: USB VID Arduino 0x2341 (с маскированным PID 0x005B) распознаётся для определения по последовательному порту и подключения через загрузчик во всех местах сканирования последовательных портов (7f3e2b389, 3687643c6).

  • Загрузка прошивки по DFU теперь также нацелена на DFU-устройство Arduino (2341:035b) в дополнение к загрузчику STM 0483:df11, что позволяет прошивать прошивку плат Arduino через dfu-util (2d47c6dac).

  • Новый датчик: датчик HM01B0 (0xB0) был добавлен в список распознаваемых датчиков (sensors.txt) (a6df35010).

  • Входящие в комплект инструменты: инструментарий прошивки dfu-util теперь поставляется для arm, linux32, linux64, osx и windows.

  • Входящая в комплект прошивка: образы openmv/uvc/bootloader для OPENMV2, OPENMV3, OPENMV4 и OPENMV4P были пересобраны, а версия входящей в комплект прошивки обновлена до 3.6.4 (с прохождением пути 3.5.2 -> 3.6.1 -> 3.6.2 -> 3.6.4) (a6df35010, c0a6ff6c8, 0cc0a7761).

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

Отсутствуют. Существующие проекты и скрипты продолжают работать без изменений; переписанная прошивка прозрачна для пользователей.