v4.7.0¶
v4.7.0 — це масштабний випуск, орієнтований на NPU та ROMFS, побудований на Qt Creator 14.0.2. Він вводить робочий процес ROM-файлової системи на пристрої з інтегрованими компіляторами моделей ARM Ethos-U (Vela) та ST Edge AI, додає заводське програмування на основі STM32CubeProgrammer для OpenMV N6, а також включає мікропрограму OpenMV 4.7.0 для всіх плат. Зверніть увагу, що оновлення будь-якої камери з мікропрограми, старішої за 4.7.0, тепер примусово виконує очищення файлової системи FAT та скидання ROMFS, що призводить до видалення файлів, збережених у внутрішній флеш-пам’яті пристрою; дивіться розділ Критичні зміни нижче.
Основні можливості¶
Робочий процес ROM File System дозволяє створювати, редагувати, прошивати та скидати файлову систему тільки для читання на пристрої, щоб моделі МН можна було зберігати на камері; інтегровано з завантажувачами DFU, IMX, Bossac, Picotool та Arduino-DFU. (efcc52fd8, f2cbcc802, a7e52424a, 60b05326d, 7140fc2aa)
Компілятори моделей ARM Ethos-U Vela та ST Edge AI тепер інтегровано, тому моделі
.tflite/.onnxавтоматично компілюються для NPU при завантаженні на плати з Ethos-U55 (OpenMV AE3) або Neural-ART (OpenMV N6). (411f708ea, 3064411ad)STM32CubeProgrammer тепер включено до комплекту для заводського програмування завантажувача OpenMV N6 (STM32N657) через файл
FlashLayout.tsv. (334b04dbd, 54fea4d57, 28cc94a6e)У браузері Model Zoo з’явився прапорець «Фільтрувати моделі за типом плати», що керується новою таблицею
models/index.csvі приховує моделі, несумісні з підключеною платою. (80adb2079)Вирівнювання ROMFS за розширенням: редактор зображень ROMFS тепер сортує файли в алфавітному порядку та упаковує їх з правилами байтового вирівнювання з
settings.json(наприклад, моделі.tfliteвирівнюються до 16 байт). (e87b2bf06)Вбудована мікропрограма оновлена до 4.7.0 для всіх плат OpenMV та Arduino. (6d04b1b50, d0bbb1fe7, d7d3120b3)
Нові функції¶
Підменю ROM File System (
New/Open/Edit ROMFS on OpenMV Cam/Reset ROMFS on OpenMV Cam) замінює стару окрему діюEdit ROM File System. (0bc275a0a, 958f732b5)Браузер Open Model Zoo зі збереженням стану вибраної моделі та попереднім переглядом при зміні вибору, включаючи вбудовані бібліотеки моделей STMicroelectronics, Qualcomm, DeGirum, Edge Impulse та Google. (58033c5df, 2a1fb071a, 48c5b96fe, c0959833c)
Пункт меню Convert Model for NPU у
Machine Vision Toolsкомпілює модель TensorFlow Lite (.tflite) або ONNX (.onnx) для прискорювача NPU плати (Vela для Ethos-U.tflite, ST Edge AI для N6 Neural-ART.tflite/.onnx) та зберігає конвертовану модель на диск або камеру. (3913f5b8b)Інструмент Copy/Convert Python File копіює скрипт Python на камеру або диск та за необхідності крос-компілює його до байт-коду MicroPython
.mpyза допомогоюmpy-cross; він розташований у новому підменюMicroPython ToolsуTools. (e9d7fa143, 47188c0e3)До серійного термінала OpenMV та панелі виводу
General Messagesдодано кнопки-перемикачі Wrap Text; обидва переносять виведення по словах та зберігають налаштування між сесіями. (8c052845a, 51d3e1ad6)Крос-компіляція mpy-cross ROMFS з прапорцями архітектури для кожної плати (
armv7emsp/armv7emdp) дозволяє заморожувати скрипти MicroPython у зображення ROMFS. (8c71548df)Діалог завантажувача мікропрограми тепер приймає файли ROMFS
*.imgразом з*.binта*.dfu, перевіряє розширення для кожного завантажувача та вимикає прапорецьReset ROMFS file systemпри завантаженні файлу*.img. (79f348b36)Оновлення з версій, старших за 4.7.0, тепер примусово встановлюють прапорці очищення FAT та скидання/оновлення ROMFS та попереджають, що оновлення потребує очищення файлової системи FAT. (f6f3355b0)
Інші зміни та покращення¶
Перероблено вбудований зоопарк моделей Qualcomm у теки за типами завдань (
image_classification,object_detection,pose_estimation,semantic_segmentation,depth_estimation), видалено непідтримувані великі моделі (YOLOv7, YOLOv8, deeplabv3, mobilenet_v2), доданоresnet18таdensenet_121(з ширшою сумісністю плат), а такожfacemap_3dmmтаFFNet_40S(лише для AE3/N6). (300ce2fc2)Додано нового постачальника моделей Edge Impulse (модель виявлення обличчя FOMO) та нові моделі Google (
micro_speech,mnist_lstm,person_detection) до вбудованого зоопарку моделей, а також діюView/Editдо контекстного меню редактора ROMFS. (80adb2079)Впорядковано посилання зоопарку моделей: додано модель Qualcomm
face_attrib_net(AE3/N6), видалено неробочий запис YOLO-NAS та виправлено фільтри сумісності плат для кількох моделей виявлення об’єктів STMicroelectronics. (fd639bda0)Додано більше міток моделей, змінено конфігурацію прискорювача NPU однієї моделі з
staiнаstedgeaiта розширено фільтр сумісності платst_yolo_x(тепер також OPENMV_RT1060, OPENMV4P, ARDUINO_GIGA, PORTENTA_H7 та NICLA_VISION на додаток до AE3/N6). (1515631ce)Додавання моделі
.tfliteдо ROMFS тепер пропускає компіляцію Vela/Ethos-U, якщо модель вже скомпільована для Ethos-U (вона просто копіюється), а дія у діалозі перейменована зAdd ModelнаModel Zoo. (9c0b178fa)Компіляція ST Edge AI пропускає конвертацію для моделей, що вже мають формат
NBIN. (3064411ad)Діалог компілятора Vela аналізує заявлене використання SRAM моделлю порівняно з налаштованим розміром купи кожної плати та показує відсоток із попередженнями/помилками, коли модель перевищує 90% або 100% доступної купи. (7140fc2aa)
Компілятор Vela тепер виводить зрозумілу помилку «не підтримується на цій платформі» замість тихого збою, а перетягування моделі до зоопарку моделей більше не вимагає наявності Vela. (c736dd54d, 0ad7fd705)
Компілятор Vela Ethos-U тепер запускається через вбудоване середовище Python (
python -m ethosu.vela) замість окремого виконуваного файлу. (52f9b8820)Діалоги тривалої компіляції моделей ST Edge AI та Vela тепер показують повідомлення «This command takes a while to execute. Please be patient.». (fc9ac2ab5)
Відкриття прикладів або нових скриптів для датчиків PAG7936 (N6/AE3) та PS5520 тепер автоматично збільшує
sensor.set_framesize(QVGA)доVGAдля датчиків з більшою роздільною здатністю. (dfc27dd25)Додано автоматичне виправлення прикладних скриптів для теплових камер FLIR Boson 320/640, PixArt PAG7920/PAJ6100, FROGEYE2020 та подієвої камери Prophesee GENX320. (1f54ad01b)
Завантажувані ресурси IDE (мікропрограма/моделі/документація) тепер встановлюються до спільної директорії даних програми для всіх користувачів через новий API
ICore::allUsersResourcePath(), а маніфест версії ресурсів зберігається у файліOpenMVIDE.jsonна один рівень вище папки ресурсів для всіх користувачів. (be308ace2, 7c7dddb87)Під час оновлення системного пакету мікропрограми Alif IDE тепер пропонує користувачу вимкнути та увімкнути (відключити та підключити знову) камеру перед продовженням. (162d128f9, 756611696)
Перероблено процес завантаження завантажувача/мікропрограми Alif (Ensemble) для сумісності з ROMFS: він генерує App TOC після запису завантажувача, копіює образи bin/sign до підпапки
images/та прошиваєfirmware_pad.toc. (f623c9231)Спрощено відображувані назви плат у селекторі мікропрограм шляхом видалення надлишкових суфіксів з назвою чіпа у дужках та тегів «Legacy» (наприклад, «OpenMV Cam H7 (STM32H743)» стає «OpenMV Cam H7»). (334b04dbd)
Перейменовано дві дії меню «Tools» для ясності:
Run Bootloader (Load Firmware)тепер називаєтьсяLoad Custom Firmware, аErase Onboard Data Flash—Erase Internal FAT File System(у діалозі підтвердження тепер згадується внутрішня файлова система FAT камери). (0bc275a0a)Відновлено комбінації клавіш
Ctrl+Shift+L(Load Custom Firmware) таCtrl+Shift+E(Erase Internal FAT File System), а пунктPreferencesповернено до менюEdit. (dabb6f7d9, b5daf59a6)Вимкнено автоматичне визначення компілятора C/C++ та набору інструментів при запуску, оскільки IDE орієнтовано на MicroPython. (f42fcc8f2)
Додано логотип партнера Alif Semiconductor (світла/темна версія) до розділу партнерів діалогу
About. (4878781bb)Зчитування мікропрограми підключеної плати тепер може очищати застарілі дані послідовного порту перед виконанням команди, що підвищує надійність запитів мікропрограми/версії. (c15a46f5b)
Покращено надійність підключення ROMFS шляхом примусового перепідключення/оновлення при операціях читання, запису та скидання ROMFS. (f9bc83007)
Виправлення помилок¶
Виправлено діалоги збереження моделей/скриптів та додавання файлів/моделей до ROMFS, щоб використовувати простий суфікс файлу замість повного суфікса, що запобігає спотворенню розширень при перейменуванні файлів з крапками в назвах. (52c6820d2)
Виправлено переповнення індикатора виконання DFU при великих передачах шляхом обчислення відсотка з 64-бітною арифметикою. (4b91ff2ba)
Виправлено прошивку старих мікропрограм/завантажувачів OpenMV шляхом захисту кроків очищення та програмування флеш-пам’яті від невалідних (невід’ємних) діапазонів секторів та виведення явної помилки замість збою, а також виправлено захист доступу до ROMFS під час оновлення старої мікропрограми. (ae2cc15b4, 235dbdb10)
Виправлено визначення плати за послідовним портом: інверсний фільтр серійних номерів тепер застосовується лише під час перевірки порту (не під час підключення), а також додано інверсні фільтри для плати i.MX для виключення серійних номерів у режимі завантажувача. (ae2cc15b4)
Виправлено збереження типу плати, щоб раніше збережений маппінг плати більше не перезаписувався при ручному виборі типу плати. (c42d36001)
Відновлення завантажувача тепер правильно перетворює відображувану назву прихованої плати на рядок архітектури, щоб перепідключення/відновлення мікропрограми відповідало правильній платі. (a1de7a09c)
Визначення плати тепер порівнює рядки архітектури плати без урахування регістру. (7a2e0e93f)
Виправлено помилку монтування диска пристрою при швидкому відключенні/підключенні шляхом збереження потоку сканування дисків та повторних спроб сканування дисків до трьох разів, а також забезпечено надійне виконання сканування дисків у потоці сканування. (455dbe967, 58c0e5456)
Виправлено помилку запуску компілятора моделей (ST Edge AI та Vela) на Intel Mac шляхом дозволу використання шляху до ARM64-інструменту при роботі під Rosetta. (32e309e86)
Виправлено проблеми кешу інструментів Python та мовного сервера шляхом перенаправлення всіх вбудованих
__pycache__Python до спільної директорії ресурсів та попереднього прогріву кешу pycacheblhostдля i.MX перед обмеженим за часом підключенням до завантажувача, щоб прошивка більше не завершувалась з тайм-аутом. (f64f3330f)Виправлено шлях до заголовків MicroPython, що використовується мовним сервером Python (для автодоповнення), для визначення з шляху ресурсів усіх користувачів, а також покращено пошук шляху ресурсів усіх користувачів у випадку, коли фільтрація за іменем користувача нічого не знаходить. (5f2648565, fc1938818)
Виправлено непрацюючі посилання на документацію ST Edge AI у діалозі параметрів компілятора шляхом перетворення локальних шляхів до файлів на правильні URL-адреси
file://. (3ac136444)Виправлено автоматичне відступання у редакторі Python, щоб рядки більше не відступалися неправильно після рядка, що закінчується двокрапкою (електричний рядок), наприклад після заголовків
if/for/def. (6555f44ba)Виправлено вирівнювання записів директорій ROMFS, щоб зміщення папок враховували розмір запису імені директорії, а також збільшено затримку між файлами при розпакуванні/створенні файлів ROMFS та зоопарку моделей для забезпечення різних часових міток створення. (9bf7e1d9e, d968a6e46)
Виправлено переповнення цілих чисел у конвертері mean-to-depthwise-conv оптимізатора графів Vela шляхом обчислення множника виведення у 64-бітному форматі, а також виправлено базове ім’я, що використовується у заголовку/виведенні діалогу компілятора Vela. (d217a46e9, 8376490eb)
Виправлено відновлення розгорнутих папок та вибраної моделі у браузері зоопарку моделей при повторному відкритті, а також переключено діалог на виділення купи для уникнення проблем з часом життя GUI. (84a63ef4c)
Виправлено шлях збереження Model Zoo, щоб запам’ятована директорія зберігалася як папка, а не як повне ім’я файлу. (be877f7af)
Збережено застарілий шлях до ресурсів користувача замість його видалення при запуску, що уникає помилки «close any programs viewing OpenMV IDE data» при блокуванні старої папки. (775656775)
Виправлено скрипти встановлення драйверів Windows та файли catalog/inf, щоб драйвери OpenMV DFU, dfuse, FTDI, Arduino, pybcdc та VCR встановлювалися надійно та правильно повідомляли коди успіху, посилено скрипти встановлення DFU-драйверів dfuse/vcr та повторно підписано вбудовані каталоги драйверів OpenMV DFU. (48a0a21e3, b7b607250, b4221a884, e4f3bb8f8, 62e869c0b, 583576f2a)
Виправлено встановлювач Linux для встановлення
pyusbчерез пакет дистрибутиваpython3-usbта додаванняbuild-essentialзамість запускуpip install pyusb, а також для визначення ОС через/etc/os-release. (c471ddc42, 4014a0ba5)Встановлювач Windows тепер вмикає підтримку довгих шляхів, щоб глибоко вкладені файли ST Edge AI встановлювалися коректно. (0b3ca6945)
Підтримка платформ та інструментів¶
Базова версія Qt Creator: 14.0.2.
Вбудована мікропрограма OpenMV: оновлена до 4.7.0 для всіх плат OpenMV та Arduino (OPENMV2/3/4/4P/PT, RT1060, GIGA, Portenta H7, Nicla Vision, Nano 33 BLE/RP2040, AE3, N6); мікропрограма перебудована з підтримкою ROMFS (
romfs0.img). (6d04b1b50, c44e33d70, a1de7a09c)OpenMV N6 ROMFS: збільшено з 16МБ до 24МБ, образ romfs переміщено до DFU alt-setting 3. (d0bbb1fe7, d7d3120b3)
OpenMV AE3 ROMFS: збільшено з 16МБ до 24МБ, додано правила вирівнювання 16/32 байт для вбудованих файлів моделей
.binна всіх платах. (746da8914)STM32CubeProgrammer (STM32_Programmer_CLI) включено до комплекту для macOS, Linux та Windows з повною базою даних пристроїв STM32 та зовнішніми завантажувачами для заводського програмування N6; встановлення скорочено шляхом видалення невикористовуваних зовнішніх завантажувачів та файлів баз даних по MCU для зменшення розміру. (334b04dbd, 54fea4d57, 28cc94a6e, 2522c900f)
Компілятор ST Edge AI (stedgeai) 2.1.0 включено до комплекту (Windows) для NPU N6 Neural-ART. (3064411ad)
Компілятор ARM Ethos-U Vela 4.2.0 (з numpy 2.2.4) включено до комплекту для Linux x86-64, macOS (Apple silicon) та Windows. Пакет для Windows був спочатку доданий у версії Vela 4.1.0 / numpy 2.2.3, а потім оновлений до фінальної 4.2.0 / numpy 2.2.4. (f9323a1d6, 5f551a5c5, 6506497c6, bcda7d1f0)
mpy-cross 1.25.0.post2 включено до комплекту (macOS/Windows). (8c71548df, 3ab42d58a)
Alif Security Toolkit: оновлено до v1.104.0 (підписані виконувані файли setools та посібник користувача v1.104.0 у форматі PDF) для плат на базі Alif Ensemble. (43260719c, 75a58e61b)
Додано конфігурації NPU OPENMV_AE3 (Alif Ensemble), орієнтовані на прискорювачі ethos-u55-256 та ethos-u55-128 з конфігураціями системи RTSS HP/HE SRAM/MRAM/OSPI. (1f5fc546d, 411f708ea)
Додано схеми розпіновки для камер OpenMV N6 та AE3 (датчик PAG7936) до селектора розпіновки, а також новий приклад події камери Genx320 у відтінках сірого, що демонструє налаштування фільтра анти-мерехтіння. (60184bbc5, 6d04b1b50)
Оновлено відповідність USB PID для Arduino Nicla Vision для розпізнавання нового PID програми (0x055F) разом з оригінальним (0x045F). (91ce4007c)
Оновлено параметри прошивки захищеного завантажувача NXP/blhost для використання явної адреси/довжини FCB та розміру диска MBR відповідно до останнього інструментарію spsdk. (16b66c3e2)
Встановлювач Windows тепер включає спеціальний драйвер завантажувача STM32 DFU та розповсюджувані пакети Microsoft Visual C++ 2015+. (cdcd4a5a6, 0cdebfc4c, a02b1f21a)
Видалено вбудований зоопарк моделей DeGirum YOLOv5/YOLOv8 з IDE. (26710be1c)
Критичні зміни¶
Видимі для користувача зміни робочого процесу та поведінки у v4.7.0. Змін у API скриптування немає, але зверніть увагу на наступне:
Файлова система FAT очищується при оновленні з версій, старших за 4.7.0. Оновлення будь-якої OpenMV Cam з мікропрограми, старішої за 4.7.0, тепер примусово очищує файлову систему FAT та скидає/оновлює ROMFS під час оновлення мікропрограми (прапорці у діалозі примусово встановлені та не можуть бути вимкнені), тому файли користувача, збережені у внутрішній флеш-пам’яті пристрою, будуть видалені при оновленні. (f6f3355b0)
Видалено мікропрограму UVC та бінарні файли завантажувача Portenta H7. Попередньо зібрані образи мікропрограми UVC (
uvc.bin/dfu/elf) видалено для всіх плат, а бінарні файли завантажувача Arduino Portenta H7 видалено з комплекту; ці попередньо зібрані образи більше не можна прошити з IDE. (c44e33d70)Переміщення директорії ресурсів. Завантажувані ресурси IDE (мікропрограма, зоопарк моделей, документація) тепер встановлюються до спільної директорії даних програми для всіх користувачів замість шляху ресурсів конкретного користувача, а маніфест версії переміщено з QSettings до файлу
OpenMVIDE.json, що зберігається на один рівень вище папки ресурсів для всіх користувачів (зі зворотньо-сумісним відображенням QSettings). Перезавантаження ресурсів запускається при першому запуску після оновлення. (be308ace2, 7c7dddb87)