v4.7.0¶
A v4.7.0 egy nagyszabású, NPU- és ROMFS-központú kiadás, amely a Qt Creator 14.0.2-re épül. Bevezet egy eszközön futó ROM-fájlrendszer munkafolyamatot integrált ARM Ethos-U (Vela) és ST Edge AI modellfordítókkal, STM32CubeProgrammer-alapú gyári programozást ad az OpenMV N6-hoz, és minden alaplapon az OpenMV firmware 4.7.0-t tartalmazza. Vegye figyelembe, hogy bármely kamera 4.7.0 előtti firmware-ről történő frissítése mostantól kikényszeríti a FAT-fájlrendszer törlését és a ROMFS visszaállítását, ami törli az eszköz belső flash memóriájában tárolt fájlokat; lásd a Visszafelé nem kompatibilis változások szakaszt lentebb.
Kiemelt újdonságok¶
A ROM-fájlrendszer munkafolyamat lehetővé teszi egy eszközön futó, csak olvasható fájlrendszer létrehozását, szerkesztését, flashelését és visszaállítását, így ML-modellek tárolhatók a kamerán; a DFU, IMX, Bossac, Picotool és Arduino-DFU rendszerbetöltőkbe integrálva. (efcc52fd8, f2cbcc802, a7e52424a, 60b05326d, 7140fc2aa)
Az ARM Ethos-U Vela és az ST Edge AI modellfordítók mostantól integrálva vannak, így a
.tflite/.onnxmodellek automatikusan az NPU-ra fordulnak, amikor Ethos-U55 (OpenMV AE3) vagy Neural-ART (OpenMV N6) alaplapra töltik őket. (411f708ea, 3064411ad)Az STM32CubeProgrammer mostantól mellékelve van, hogy lehetővé tegye az OpenMV N6 (STM32N657) rendszerbetöltőjének gyári programozását egy
FlashLayout.tsvsegítségével. (334b04dbd, 54fea4d57, 28cc94a6e)A Model Zoo böngésző egy „Modellek szűrése alaplaptípus szerint” jelölőnégyzettel bővül, amelyet egy új
models/index.csvtábla vezérel, és amely elrejti a csatlakoztatott alaplappal nem kompatibilis modelleket. (80adb2079)Kiterjesztésenkénti ROMFS-igazítás: a ROMFS-képszerkesztő mostantól ábécésorrendbe rendezi a fájlokat, és a
settings.json-ból származó bájtigazítási szabályok szerint csomagolja őket (pl. a.tflitemodellek 16 bájtra igazítva). (e87b2bf06)A mellékelt firmware frissítve lett 4.7.0-ra az összes OpenMV és Arduino alaplapon. (6d04b1b50, d0bbb1fe7, d7d3120b3)
Új funkciók¶
A ROM-fájlrendszer almenü (
New/Open/Edit ROMFS on OpenMV Cam/Reset ROMFS on OpenMV Cam) felváltja a régi, egyetlenEdit ROM File Systemműveletet. (0bc275a0a, 958f732b5)Open Model Zoo böngésző tartós kiválasztottmodell-állapottal és kiválasztásváltáskor megjelenő előnézettel, beleértve a mellékelt STMicroelectronics, Qualcomm, DeGirum, Edge Impulse és Google modellkönyvtárakat. (58033c5df, 2a1fb071a, 48c5b96fe, c0959833c)
A
Machine Vision Toolsalatti Convert Model for NPU menüpont egy TensorFlow Lite (.tflite) vagy ONNX (.onnx) modellt fordít le az alaplap NPU-gyorsítójához (Vela az Ethos-U.tflite-hoz, ST Edge AI az N6 Neural-ART.tflite/.onnx-hoz), majd a konvertált modellt lemezre vagy a kamerára menti. (3913f5b8b)A Copy/Convert Python File eszköz egy Python-szkriptet másol a kamerára vagy lemezre, és opcionálisan MicroPython
.mpybájtkóddá keresztfordítja azmpy-crosssegítségével; aToolsalatti újMicroPython Toolsalmenüben található. (e9d7fa143, 47188c0e3)Wrap Text kapcsológombok kerültek az OpenMV soros terminálba és a
General Messageskimeneti panelbe; mindkettő szóhatáron tördeli a kimenetét, és munkamenetek között megőrzi a beállítást. (8c052845a, 51d3e1ad6)Az mpy-cross ROMFS keresztfordítás alaplaponkénti architektúrajelzőkkel (
armv7emsp/armv7emdp) lehetővé teszi, hogy MicroPython-szkriptek ROMFS-képekbe legyenek befagyasztva. (8c71548df)A firmware rendszerbetöltő párbeszédablak mostantól a
*.binés*.dfumellett*.imgROMFS-fájlokat is elfogad, ellenőrzi a rendszerbetöltőnkénti kiterjesztéseket, és letiltja a meglévőReset ROMFS file systemjelölőnégyzetet*.imgfájl betöltésekor. (79f348b36)A 4.7.0 előtti frissítések mostantól bekapcsolva kényszerítik a FAT-törlés és a ROMFS visszaállítás/frissítés jelölőnégyzeteket, és figyelmeztetnek, hogy a frissítéshez törölni kell a FAT-fájlrendszert. (f6f3355b0)
Egyéb változások és fejlesztések¶
A mellékelt Qualcomm Model Zoo átszervezve feladatalapú mappákba (
image_classification,object_detection,pose_estimation,semantic_segmentation,depth_estimation), a nem támogatott nagy modellek eltávolítva (YOLOv7, YOLOv8, deeplabv3, mobilenet_v2), valamint hozzáadva aresnet18ésdensenet_121(szélesebb alaplap-kompatibilitással), továbbá afacemap_3dmmés azFFNet_40S(csak AE3/N6). (300ce2fc2)Hozzáadva egy új Edge Impulse modellgyártó (FOMO arcészlelő modell) és új Google modellek (
micro_speech,mnist_lstm,person_detection) a mellékelt Model Zoo-hoz, valamint egyView/Editművelet a ROMFS-szerkesztő helyi menüjébe. (80adb2079)A Model Zoo hivatkozások rendberakva: hozzáadva a Qualcomm
face_attrib_netmodell (AE3/N6), eltávolítva a hibás YOLO-NAS bejegyzés, és kijavítva az alaplap-kompatibilitási szűrők több STMicroelectronics objektumészlelő modellnél. (fd639bda0)Több modellcímke hozzáadva, az egyik modell NPU-gyorsító konfigurációja
stai-rólstedgeai-ra váltva, és azst_yolo_xalaplap-kompatibilitási szűrője kiterjesztve (mostantól az AE3/N6 mellett az OPENMV_RT1060, OPENMV4P, ARDUINO_GIGA, PORTENTA_H7 és NICLA_VISION is). (1515631ce)Egy
.tflitemodell ROMFS-hez adása mostantól kihagyja a Vela/Ethos-U fordítást, ha a modell már Ethos-U-ra van fordítva (ilyenkor csak átmásolja), a párbeszédablak művelete pedigAdd Model-rőlModel Zoo-ra lett átnevezve. (9c0b178fa)Az ST Edge AI fordítás kihagyja a konverziót a már
NBINformátumú modelleknél. (3064411ad)A Vela fordító párbeszédablaka a modell jelentett SRAM-használatát az egyes alaplapok beállított heap-méretéhez viszonyítva elemzi, és százalékot mutat figyelmeztetésekkel/hibákkal, ha a modell meghaladja a rendelkezésre álló heap 90%-át vagy 100%-át. (7140fc2aa)
A Vela fordító mostantól egyértelmű „not supported on this platform” hibát jelez ahelyett, hogy csendben elhasalna, és egy modell Model Zoo-ba ejtése többé nem igényli a Vela jelenlétét. (c736dd54d, 0ad7fd705)
A Vela Ethos-U fordító mostantól a mellékelt beágyazott Python-futtatókörnyezeten keresztül fut (
python -m ethosu.vela) önálló bináris helyett. (52f9b8820)A hosszan futó ST Edge AI és Vela modellfordító párbeszédablakok mostantól egy „This command takes a while to execute. Please be patient.” üzenetet mutatnak. (fc9ac2ab5)
A PAG7936 (N6/AE3) és PS5520 érzékelőkön példák vagy új szkriptek megnyitása mostantól automatikusan
sensor.set_framesize(QVGA)-rólVGA-ra emeli a felbontást a nagyobb felbontású érzékelők esetén. (dfc27dd25)Hozzáadva a példaszkriptek automatikus igazítása a FLIR Boson 320/640 hőkamerákhoz, a PixArt PAG7920/PAJ6100-hoz, a FROGEYE2020-hoz és a Prophesee GENX320 eseménykamerához. (1f54ad01b)
A letölthető IDE-erőforrások (firmware/modellek/dokumentáció) mostantól egy közös, minden felhasználó számára elérhető alkalmazásadat-könyvtárba települnek egy új
ICore::allUsersResourcePath()API segítségével, az erőforrás-verzió manifeszt pedig egyOpenMVIDE.jsonfájlban tárolódik egy szinttel a minden felhasználós erőforrásmappa fölött. (be308ace2, 7c7dddb87)Az Alif rendszercsomag firmware-frissítései során az IDE mostantól arra kéri a felhasználót, hogy a folytatás előtt áramtalanítsa (válassza le és csatlakoztassa újra) a kamerát. (162d128f9, 756611696)
Az Alif (Ensemble) rendszerbetöltő/firmware letöltési folyamat átdolgozva, hogy ROMFS-kompatibilis legyen: a rendszerbetöltő kiírása után generálja az App TOC-ot, a bin/sign képeket egy
images/almappába másolja, és flasheli afirmware_pad.tocfájlt. (f623c9231)A firmware-választóban egyszerűsített alaplapnevek a felesleges zárójeles chip-utótagok és a „Legacy” címkék elhagyásával (pl. a „OpenMV Cam H7 (STM32H743)” mostantól „OpenMV Cam H7”). (334b04dbd)
Két Tools-menübeli művelet átnevezve az egyértelműség kedvéért: a
Run Bootloader (Load Firmware)mostantólLoad Custom Firmware, azErase Onboard Data FlashpedigErase Internal FAT File System(a megerősítő párbeszédablak mostantól a kamera belső FAT-fájlrendszerére hivatkozik). (0bc275a0a)Visszaállítva a
Ctrl+Shift+L(Load Custom Firmware) és aCtrl+Shift+E(Erase Internal FAT File System) billentyűparancs, és aPreferenceselem visszahelyezve azEditmenübe. (dabb6f7d9, b5daf59a6)Letiltva az automatikus C/C++ fordító- és eszközlánc-felismerés indításkor, mivel az IDE a MicroPythont célozza meg. (f42fcc8f2)
Hozzáadva az Alif Semiconductor partnerlogó (világos/sötét) az
Aboutpárbeszédablak partnerek szakaszához. (4878781bb)A csatlakoztatott alaplap firmware-ének beolvasása mostantól a parancs kiadása előtt kiürítheti az elavult soros porti adatokat, javítva a firmware-/verziólekérdezések megbízhatóságát. (c15a46f5b)
A ROMFS kapcsolat megbízhatósága javítva azzal, hogy a ROMFS olvasási, írási és visszaállítási műveleteinél kikényszeríti az újracsatlakozást/frissítést. (f9bc83007)
Hibajavítások¶
Javítva, hogy a modell-/szkriptmentő párbeszédablakok és a ROMFS fájl-/modellhozzáadás az egyszerű fájlkiterjesztést használja a teljes kiterjesztés helyett, megakadályozva az elrontott kiterjesztéseket olyan fájlok átnevezésekor, amelyek nevében pontok vannak. (52c6820d2)
Javítva egy DFU feltöltési folyamatjelző túlcsordulása nagy átviteleknél azzal, hogy a százalékot 64 bites aritmetikával számolja. (4b91ff2ba)
Javítva a régebbi OpenMV firmware-ek/rendszerbetöltők flashelése azzal, hogy a flash-törlési és programozási lépéseket védi az érvénytelen (nem pozitív) flash-szektortartományok ellen, és összeomlás helyett explicit hibát mutat; valamint javítva a ROMFS-hozzáférés védelme a régi firmware frissítése során. (ae2cc15b4, 235dbdb10)
Javítva a soros porti alaplap-felismerés, hogy a sorozatszám-fordított szűrő csak a portellenőrzés során legyen alkalmazva (a csatlakozás során nem), és hozzáadva fordított szűrők az i.MX alaplaphoz, hogy a rendszerbetöltő módú sorozatszámok kizárásra kerüljenek. (ae2cc15b4)
Javítva az alaplaptípus megőrzése, hogy egy korábban mentett alaplap-leképezés ne íródjon felül kézi alaplaptípus-választáskor. (c42d36001)
A rendszerbetöltő-javítás mostantól egy rejtett alaplap megjelenített nevét feloldja az architektúra-karakterláncára, így az újracsatlakozás/firmware-javítás a megfelelő alaplapot képezi le. (a1de7a09c)
Az alaplap-felismerés mostantól kis- és nagybetűktől függetlenül illeszti az alaplap-architektúra karakterláncokat. (7a2e0e93f)
Javítva, hogy az eszközlemez ne csatlakozzon fel gyors le-/újracsatlakoztatáskor azzal, hogy megőrzi a meghajtó-vizsgáló szálat és legfeljebb háromszor újrapróbálja a meghajtó-vizsgálatokat, valamint a meghajtó-vizsgálat megbízhatóan a vizsgálószálon fut. (455dbe967, 58c0e5456)
Javítva, hogy a modellfordító (ST Edge AI és Vela) ne fusson le Intel Maceken, azzal, hogy engedélyezi az ARM64 eszközútvonalat Rosetta alatti futtatáskor. (32e309e86)
Javítva a Python-eszköz és a nyelvi szerver gyorsítótár-problémái azzal, hogy az összes mellékelt Python
__pycache__egy közös erőforrás-könyvtárba kerül, és az i.MXblhostpycache előmelegítésével az időkorlátos rendszerbetöltő-csatlakozás előtt, így a flashelés többé nem fut időtúllépésbe. (f64f3330f)Javítva a Python nyelvi szerver (automatikus kiegészítéshez) által használt MicroPython fejlécútvonal, hogy a minden felhasználós erőforrásútvonalból oldódjon fel, és a minden felhasználós erőforrásútvonal-keresés robusztusabbá vált, amikor a felhasználónév-szűrés semmit sem talál. (5f2648565, fc1938818)
Javítva a hibás ST Edge AI dokumentációhivatkozások a fordító-beállítások párbeszédablakban azzal, hogy a helyi fájlútvonalakat megfelelő
file://URL-ekké alakítja. (3ac136444)Javítva a Python-szerkesztő automatikus behúzása, hogy a sorok behúzása ne csökkenjen helytelenül egy kettősponttal végződő (elektromos) sor után, pl.
if/for/deffejlécek után. (6555f44ba)Javítva a ROMFS könyvtárrekordok igazítása, hogy a mappaeltolások figyelembe vegyék a könyvtárnév-rekord méretét, és növelve a fájlok közötti késleltetés a ROMFS- és Model Zoo-fájlok kicsomagolásakor/létrehozásakor, hogy biztosítva legyenek a különböző létrehozási időbélyegek. (9bf7e1d9e, d968a6e46)
Javítva egy egész szám túlcsordulás a Vela gráfoptimalizáló átlag-mélységi-konvolúció átalakításában azzal, hogy a kimeneti szorzót 64 biten számolja, és javítva a Vela fordító párbeszédablak címében/kimenetében használt alapnév. (d217a46e9, 8376490eb)
Javítva a Model Zoo böngésző kibontott mappáinak és kiválasztott modelljének visszaállítása újranyitáskor, és a párbeszédablak heap-allokációra váltva a GUI élettartam-problémáinak elkerülése érdekében. (84a63ef4c)
Javítva a Model Zoo mentés-másként útvonala, hogy a megjegyzett könyvtár mappaként legyen tárolva, ne teljes fájlnévként. (be877f7af)
A régi felhasználói erőforrásútvonal megtartva ahelyett, hogy indításkor törölné, így elkerülve egy „close any programs viewing OpenMV IDE data” hibát, amikor a régi mappa zárolva van. (775656775)
Javítva a Windows illesztőprogram-telepítő szkriptek és a katalógus-/inf-fájlok, hogy az OpenMV DFU, dfuse, FTDI, Arduino, pybcdc és VCR illesztőprogramok megbízhatóan települjenek és helyesen jelentsék a sikerkódokat; megerősítve a dfuse/vcr DFU illesztőprogram-telepítő szkripteket, és újraírva aláírva a mellékelt OpenMV DFU illesztőprogram-katalógusokat. (48a0a21e3, b7b607250, b4221a884, e4f3bb8f8, 62e869c0b, 583576f2a)
Javítva a Linux-telepítő, hogy a
pyusb-t a disztribúciópython3-usbcsomagján keresztül telepítse és hozzáadja abuild-essential-t apip install pyusbfuttatása helyett, valamint hogy az operációs rendszert az/etc/os-releasesegítségével ismerje fel. (c471ddc42, 4014a0ba5)A Windows-telepítő mostantól engedélyezi a hosszú útvonalak támogatását, így a mélyen beágyazott ST Edge AI fájlok helyesen települnek. (0b3ca6945)
Platform- és eszköztámogatás¶
Qt Creator alap: 14.0.2.
Mellékelt OpenMV firmware: frissítve 4.7.0-ra az összes OpenMV és Arduino alaplapon (OPENMV2/3/4/4P/PT, RT1060, GIGA, Portenta H7, Nicla Vision, Nano 33 BLE/RP2040, AE3, N6); a firmware ROMFS-támogatással lett újraépítve (
romfs0.img). (6d04b1b50, c44e33d70, a1de7a09c)OpenMV N6 ROMFS: 16 MB-ról 24 MB-ra növelve, a romfs-kép a DFU alt-setting 3-ra áthelyezve. (d0bbb1fe7, d7d3120b3)
OpenMV AE3 ROMFS: 16 MB-ról 24 MB-ra növelve, 16/32 bájtos igazítási szabályokkal a mellékelt
.binmodellfájlokhoz az összes alaplapon. (746da8914)STM32CubeProgrammer (STM32_Programmer_CLI) mellékelve macOS-hez, Linuxhoz és Windowshoz a teljes STM32 eszközadatbázissal és külső betöltőkkel az N6 gyári programozásához; a telepítésből eltávolításra kerültek a nem használt külső betöltő- és MCU-nkénti adatbázisfájlok a méret csökkentése érdekében. (334b04dbd, 54fea4d57, 28cc94a6e, 2522c900f)
ST Edge AI (stedgeai) fordító 2.1.0 mellékelve (Windows) az N6 Neural-ART NPU-hoz. (3064411ad)
ARM Ethos-U Vela fordító 4.2.0 (numpy 2.2.4-gyel) mellékelve Linux x86-64-hez, macOS-hez (Apple silicon) és Windowshoz. A Windows-csomag először a Vela 4.1.0 / numpy 2.2.3 verzióval került hozzáadásra, majd később a végleges 4.2.0 / numpy 2.2.4-re emelve. (f9323a1d6, 5f551a5c5, 6506497c6, bcda7d1f0)
mpy-cross 1.25.0.post2 mellékelve (macOS/Windows). (8c71548df, 3ab42d58a)
Alif Security Toolkit: frissítve v1.104.0-ra (aláírt setools binárisok és v1.104.0 User Guide PDF) az Alif Ensemble-alapú alaplapokhoz. (43260719c, 75a58e61b)
Hozzáadva az OPENMV_AE3 (Alif Ensemble) NPU-konfigurációk, amelyek az ethos-u55-256 és ethos-u55-128 gyorsítókat célozzák RTSS HP/HE SRAM/MRAM/OSPI rendszerkonfigurációkkal. (1f5fc546d, 411f708ea)
Hozzáadva a kivezetési diagramok az OpenMV N6 és AE3 kamerákhoz (PAG7936 érzékelő) a kivezetés-választóhoz, valamint egy új Genx320 szürkeárnyalatos eseménykamera-példa, amely a vibrálásgátló szűrő konfigurációját mutatja be. (60184bbc5, 6d04b1b50)
Frissítve az Arduino Nicla Vision USB PID-illesztése, hogy felismerjen egy új alkalmazás-PID-et (0x055F) az eredeti (0x045F) mellett. (91ce4007c)
Frissítve az NXP/blhost biztonságos rendszerbetöltő flashelési paraméterei, hogy explicit FCB-címet/-hosszt és egy MBR-lemezméretet használjanak, igazodva a legújabb spsdk eszközkészlethez. (16b66c3e2)
A Windows-telepítő mostantól egy dedikált STM32 DFU rendszerbetöltő illesztőprogramot és a Microsoft Visual C++ 2015+ újraterjeszthető csomagokat is tartalmazza. (cdcd4a5a6, 0cdebfc4c, a02b1f21a)
Eltávolítva a mellékelt DeGirum YOLOv5/YOLOv8 Model Zoo az IDE-ből. (26710be1c)
Visszafelé nem kompatibilis változások¶
Felhasználó számára látható munkafolyamat- és viselkedésbeli törések a v4.7.0-ban. Nincs szkriptelési API-törés, de vegye figyelembe a következőket:
A FAT-fájlrendszer törlődik 4.7.0 előtti firmware-ről történő frissítéskor. Bármely OpenMV Cam 4.7.0 előtti firmware-ről történő frissítése mostantól kikényszeríti a FAT-fájlrendszer törlését és a ROMFS visszaállítását/frissítését a firmware-frissítés során (a párbeszédablak jelölőnégyzetei bekapcsolva vannak kényszerítve, és nem tilthatók le), így az eszköz belső flash memóriájában tárolt felhasználói fájlok törlődnek a frissítéskor. (f6f3355b0)
Az UVC firmware és a Portenta H7 rendszerbetöltő binárisok eltávolítva. Az előre lefordított UVC webkamera-firmware képek (
uvc.bin/dfu/elf) eltávolításra kerültek az összes alaplapról, és az Arduino Portenta H7 rendszerbetöltő binárisok eltávolításra kerültek a csomagból; ezek az előre lefordított képek többé nem flashelhetők az IDE-ből. (c44e33d70)Erőforrás-könyvtár áthelyezése. A letölthető IDE-erőforrások (firmware, Model Zoo, dokumentáció) mostantól egy közös, minden felhasználó számára elérhető alkalmazásadat-könyvtárba települnek a felhasználónkénti erőforrásútvonal helyett, és a verziómanifeszt a QSettings-ből egy
OpenMVIDE.jsonfájlba költözött, amely egy szinttel a minden felhasználós erőforrásmappa fölött tárolódik (visszafelé kompatibilis QSettings-tükrözéssel). A frissítés utáni első futtatáskor egy erőforrás-újraletöltés indul el. (be308ace2, 7c7dddb87)