v4.7.0¶
v4.7.0 je veliko izdanje usmjereno na NPU i ROMFS, izgrađeno na Qt Creatoru 14.0.2. Uvodi tijek rada za ROM datotečni sustav na uređaju s integriranim prevoditeljima modela ARM Ethos-U (Vela) i ST Edge AI, dodaje tvorničko programiranje OpenMV N6 temeljeno na STM32CubeProgrammeru te uključuje OpenMV ugrađeni program (firmware) 4.7.0 na svim pločama. Imajte na umu da nadogradnja bilo koje kamere s ugrađenog programa starijeg od 4.7.0 sada prisilno briše FAT datotečni sustav i ponovno postavlja ROMFS, čime se brišu datoteke pohranjene na internoj flash memoriji uređaja; pogledajte Promjene koje narušavaju kompatibilnost u nastavku.
Istaknuto¶
Tijek rada za ROM datotečni sustav omogućuje stvaranje, uređivanje, upisivanje u flash i ponovno postavljanje datotečnog sustava samo za čitanje na uređaju, tako da se ML modeli mogu pohraniti na kameru, integrirano kroz pokretače (bootloader) DFU, IMX, Bossac, Picotool i Arduino-DFU. (efcc52fd8, f2cbcc802, a7e52424a, 60b05326d, 7140fc2aa)
Prevoditelji modela ARM Ethos-U Vela i ST Edge AI sada su integrirani, pa se
.tflite/.onnxmodeli automatski prevode za NPU prilikom učitavanja na ploče Ethos-U55 (OpenMV AE3) ili Neural-ART (OpenMV N6). (411f708ea, 3064411ad)STM32CubeProgrammer sada je uključen kako bi omogućio tvorničko programiranje pokretača (bootloader) za OpenMV N6 (STM32N657) putem
FlashLayout.tsv. (334b04dbd, 54fea4d57, 28cc94a6e)Preglednik Model Zoo dobiva potvrdni okvir „Filtriraj modele prema vrsti ploče” koji pokreće nova tablica
models/index.csvkoja skriva modele nekompatibilne s povezanom pločom. (80adb2079)Poravnanje ROMFS-a po nastavku: uređivač ROMFS slike sada sortira datoteke abecedno i pakira ih pomoću pravila bajt-poravnanja iz
settings.json(npr..tflitemodeli poravnani na 16 bajtova). (e87b2bf06)Uključeni ugrađeni program (firmware) ažuriran na 4.7.0 na svim OpenMV i Arduino pločama. (6d04b1b50, d0bbb1fe7, d7d3120b3)
Nove značajke¶
Podizbornik ROM datotečnog sustava (
New/Open/Edit ROMFS on OpenMV Cam/Reset ROMFS on OpenMV Cam) zamjenjuje staru jedinstvenu radnjuEdit ROM File System. (0bc275a0a, 958f732b5)Otvori preglednik Model Zoo s trajnim stanjem odabranog modela i pretpregledom pri promjeni odabira, uključujući uključene biblioteke modela tvrtki STMicroelectronics, Qualcomm, DeGirum, Edge Impulse i Google. (58033c5df, 2a1fb071a, 48c5b96fe, c0959833c)
Stavka izbornika Convert Model for NPU pod
Machine Vision Toolsprevodi TensorFlow Lite (.tflite) ili ONNX (.onnx) model za NPU akcelerator ploče (Vela za Ethos-U.tflite, ST Edge AI za N6 Neural-ART.tflite/.onnx) i sprema pretvoreni model na disk ili kameru. (3913f5b8b)Alat Copy/Convert Python File kopira Python skriptu na kameru ili disk te je opcionalno unakrsno prevodi u MicroPython
.mpybajt-kod putemmpy-cross; nalazi se u novom podizbornikuMicroPython ToolspodTools. (e9d7fa143, 47188c0e3)Gumbi za uključivanje/isključivanje Wrap Text dodani su u OpenMV serijski terminal i okno izlaza
General Messages; oba prelamaju svoj izlaz po riječima i trajno čuvaju postavku kroz sesije. (8c052845a, 51d3e1ad6)mpy-cross unakrsno prevođenje za ROMFS s arhitekturnim zastavicama po ploči (
armv7emsp/armv7emdp) omogućuje zamrzavanje MicroPython skripti u ROMFS slike. (8c71548df)Dijalog pokretača (bootloader) ugrađenog programa sada prihvaća
*.imgROMFS datoteke uz*.bini*.dfu, provjerava nastavke za svaki pokretač i onemogućuje postojeći potvrdni okvirReset ROMFS file systemprilikom učitavanja*.imgdatoteke. (79f348b36)Nadogradnje s verzija starijih od 4.7.0 sada prisilno uključuju potvrdne okvire za brisanje FAT-a i ponovno postavljanje/ažuriranje ROMFS-a te upozoravaju da nadogradnja zahtijeva brisanje FAT datotečnog sustava. (f6f3355b0)
Ostale promjene i poboljšanja¶
Reorganiziran je uključeni Qualcomm model zoo u mape temeljene na zadacima (
image_classification,object_detection,pose_estimation,semantic_segmentation,depth_estimation), uklonjeni su nepodržani veliki modeli (YOLOv7, YOLOv8, deeplabv3, mobilenet_v2), a dodani suresnet18idensenet_121(sa širom kompatibilnošću ploča), tefacemap_3dmmiFFNet_40S(samo AE3/N6). (300ce2fc2)Dodan je novi dobavljač modela Edge Impulse (FOMO model za detekciju lica) i novi Google modeli (
micro_speech,mnist_lstm,person_detection) u uključeni model zoo, te je dodana radnjaView/Editu kontekstni izbornik ROMFS uređivača. (80adb2079)Pročišćene su poveznice za model zoo: dodan je Qualcomm
face_attrib_netmodel (AE3/N6), uklonjena je neispravna YOLO-NAS stavka i ispravljeni su filtri kompatibilnosti ploča za nekoliko STMicroelectronics modela za detekciju objekata. (fd639bda0)Dodano je više oznaka modela, NPU akcelerator konfiguracija jednog modela prebačena je s
stainastedgeai, a proširen je filter kompatibilnosti ploča zast_yolo_x(sada uz AE3/N6 i OPENMV_RT1060, OPENMV4P, ARDUINO_GIGA, PORTENTA_H7 te NICLA_VISION). (1515631ce)Dodavanje
.tflitemodela u ROMFS sada preskače Vela/Ethos-U prevođenje ako je model već Ethos-U preveden (samo se kopira), a radnja dijaloga preimenovana je izAdd ModeluModel Zoo. (9c0b178fa)ST Edge AI prevođenje preskače pretvorbu za modele koji su već u
NBINformatu. (3064411ad)Dijalog Vela prevoditelja raščlanjuje prijavljenu SRAM potrošnju modela u odnosu na konfiguriranu veličinu heapa svake ploče i prikazuje postotak s upozorenjima/pogreškama kada model premaši 90% ili 100% dostupnog heapa. (7140fc2aa)
Vela prevoditelj sada prijavljuje jasnu pogrešku „not supported on this platform” umjesto da tiho ne uspije, a ispuštanje modela u model zoo više ne zahtijeva prisutnost Vele. (c736dd54d, 0ad7fd705)
Vela Ethos-U prevoditelj sada se pokreće putem uključenog ugrađenog Python okruženja (
python -m ethosu.vela) umjesto kao samostalni binarni program. (52f9b8820)Dugotrajni dijalozi prevođenja modela ST Edge AI i Vela sada prikazuju obavijest „This command takes a while to execute. Please be patient.”. (fc9ac2ab5)
Otvaranje primjera ili novih skripti na senzorima PAG7936 (N6/AE3) i PS5520 sada automatski podiže
sensor.set_framesize(QVGA)naVGAza senzore veće razlučivosti. (dfc27dd25)Dodan je automatski popravak primjera skripti za FLIR Boson 320/640 termalne kamere, PixArt PAG7920/PAJ6100, FROGEYE2020 i Prophesee GENX320 događajnu kameru. (1f54ad01b)
Resursi IDE-a koji se mogu preuzeti (ugrađeni program/modeli/dokumentacija) sada se instaliraju u zajednički direktorij aplikacijskih podataka za sve korisnike putem novog
ICore::allUsersResourcePath()API-ja, pri čemu se manifest verzije resursa pohranjuje uOpenMVIDE.jsondatoteku jednu razinu iznad mape resursa za sve korisnike. (be308ace2, 7c7dddb87)Tijekom ažuriranja ugrađenog programa Alif sistemskog paketa IDE sada traži od korisnika da isključi i ponovno uključi napajanje (odspoji i ponovno spoji) kamere prije nastavka. (162d128f9, 756611696)
Preoblikovan je tijek preuzimanja pokretača (bootloader)/ugrađenog programa za Alif (Ensemble) kako bi bio kompatibilan s ROMFS-om: generira App TOC nakon upisivanja pokretača, kopira bin/sign slike u podmapu
images/i upisujefirmware_pad.tocu flash. (f623c9231)Pojednostavljena su prikazana imena ploča u biraču ugrađenog programa uklanjanjem suvišnih sufiksa s čipom u zagradama i „Legacy” oznaka (npr. „OpenMV Cam H7 (STM32H743)” postaje „OpenMV Cam H7”). (334b04dbd)
Preimenovane su dvije radnje iz izbornika Tools radi jasnoće:
Run Bootloader (Load Firmware)sada jeLoad Custom Firmware, aErase Onboard Data Flashsada jeErase Internal FAT File System(dijalog potvrde sada se odnosi na internu kameru FAT datotečnog sustava). (0bc275a0a)Vraćeni su tipkovni prečaci
Ctrl+Shift+L(Load Custom Firmware) iCtrl+Shift+E(Erase Internal FAT File System), a stavkaPreferencespremještena je natrag u izbornikEdit. (dabb6f7d9, b5daf59a6)Onemogućeno je automatsko otkrivanje C/C++ prevoditelja i alatnog lanca pri pokretanju, budući da IDE cilja MicroPython. (f42fcc8f2)
Dodan je partnerski logotip Alif Semiconductor (svijetli/tamni) u odjeljak partnera dijaloga
About. (4878781bb)Čitanje ugrađenog programa povezane ploče sada može isprazniti zastarjele podatke serijskog porta prije izdavanja naredbe, čime se poboljšava pouzdanost upita o ugrađenom programu/verziji. (c15a46f5b)
Poboljšana je pouzdanost ROMFS veze prisilnim ponovnim povezivanjem/osvježavanjem pri operacijama čitanja, pisanja i ponovnog postavljanja ROMFS-a. (f9bc83007)
Ispravci grešaka¶
Ispravljeni su dijalozi za spremanje modela/skripti te ROMFS dodavanje datoteke/dodavanje modela kako bi koristili jednostavan nastavak datoteke umjesto potpunog nastavka, čime se sprječavaju iskrivljeni nastavci pri preimenovanju datoteka s točkama u imenima. (52c6820d2)
Ispravljeno je prelijevanje trake napretka DFU prijenosa pri velikim prijenosima izračunavanjem postotka 64-bitnom aritmetikom. (4b91ff2ba)
Ispravljeno je upisivanje starijeg OpenMV ugrađenog programa/pokretača (bootloader) zaštitom koraka brisanja i programiranja flash memorije od nevažećih (nepozitivnih) raspona flash sektora te prikazivanjem eksplicitne pogreške umjesto rušenja, a ispravljena je i zaštita pristupa ROMFS-u tijekom nadogradnje starog ugrađenog programa. (ae2cc15b4, 235dbdb10)
Ispravljeno je otkrivanje ploče putem serijskog porta tako da se inverzni filter serijskog broja primjenjuje samo tijekom provjere porta (ne tijekom povezivanja), te su dodani inverzni filtri za i.MX ploču kako bi se isključili serijski brojevi u načinu rada pokretača (bootloader). (ae2cc15b4)
Ispravljeno je trajno čuvanje vrste ploče tako da se prethodno spremljeno mapiranje ploče više ne prepisuje kada se ručno odabere vrsta ploče. (c42d36001)
Popravak pokretača (bootloader) sada razrješava prikazano ime skrivene ploče u njezin arhitekturni niz, tako da ponovno povezivanje/popravak ugrađenog programa mapira ispravnu ploču. (a1de7a09c)
Otkrivanje ploče sada uspoređuje arhitekturne nizove ploča neovisno o veličini slova. (7a2e0e93f)
Ispravljeno je neuspjelo montiranje diska uređaja pri brzom odspajanju/ponovnom spajanju trajnim čuvanjem niti za skeniranje pogona i ponavljanjem skeniranja pogona do tri puta, a skeniranje pogona pouzdano se izvodi na niti za skeniranje. (455dbe967, 58c0e5456)
Ispravljen je neuspjeli rad prevoditelja modela (ST Edge AI i Vela) na Intel Macovima dopuštanjem ARM64 putanje alata pri pokretanju pod Rosettom. (32e309e86)
Ispravljeni su problemi s predmemorijom Python alata i jezičnog poslužitelja preusmjeravanjem svih uključenih Python
__pycache__direktorija u zajednički direktorij resursa i predzagrijavanjem i.MXblhostpredmemorije prije vremenski ograničenog povezivanja pokretača (bootloader), tako da upisivanje u flash više ne istekne. (f64f3330f)Ispravljena je MicroPython putanja zaglavlja koju koristi Python jezični poslužitelj (za automatsko dovršavanje) kako bi se razriješila iz putanje resursa za sve korisnike, a traženje putanje resursa za sve korisnike učinjeno je robusnijim kada filtriranje korisničkog imena ne pronađe ništa. (5f2648565, fc1938818)
Ispravljene su neispravne poveznice na ST Edge AI dokumentaciju u dijalogu opcija prevoditelja pretvaranjem lokalnih putanja datoteka u ispravne
file://URL-ove. (3ac136444)Ispravljeno je automatsko uvlačenje u Python uređivaču tako da se redovi više ne uvlače pogrešno unatrag nakon reda koji završava dvotočkom (električnog), npr. nakon zaglavlja
if/for/def. (6555f44ba)Ispravljeno je poravnanje zapisa ROMFS direktorija tako da pomaci mapa uzimaju u obzir veličinu zapisa imena direktorija, a povećano je kašnjenje između datoteka pri raspakiravanju/stvaranju ROMFS i model-zoo datoteka kako bi se osigurale različite vremenske oznake stvaranja. (9bf7e1d9e, d968a6e46)
Ispravljeno je prelijevanje cijelog broja u Vela optimizatoru grafa pri pretvorbi mean-to-depthwise-conv izračunavanjem izlaznog množitelja u 64-bitu, a ispravljeno je i osnovno ime korišteno u naslovu/izlazu dijaloga Vela prevoditelja. (d217a46e9, 8376490eb)
Ispravljeno je vraćanje proširenih mapa i odabranog modela preglednika model zoo-a pri ponovnom otvaranju, a dijalog je prebačen na alokaciju na heapu kako bi se izbjegli problemi s vijekom trajanja GUI-ja. (84a63ef4c)
Ispravljena je putanja spremanja kao u Model Zoo-u tako da se zapamćeni direktorij pohranjuje kao mapa, a ne kao potpuno ime datoteke. (be877f7af)
Zadržana je naslijeđena putanja korisničkih resursa umjesto njezina brisanja pri pokretanju, čime se izbjegava pogreška „close any programs viewing OpenMV IDE data” kada je stara mapa zaključana. (775656775)
Ispravljene su skripte instalacijskog programa za Windows upravljačke programe te catalog/inf datoteke kako bi se OpenMV DFU, dfuse, FTDI, Arduino, pybcdc i VCR upravljački programi pouzdano instalirali i ispravno prijavljivali kodove uspjeha, ojačane su skripte za instalaciju dfuse/vcr DFU upravljačkog programa, a ponovno su potpisani uključeni katalozi OpenMV DFU upravljačkog programa. (48a0a21e3, b7b607250, b4221a884, e4f3bb8f8, 62e869c0b, 583576f2a)
Ispravljen je Linux instalacijski program tako da
pyusbinstalira putem distribucijskog paketapython3-usbi dodajebuild-essentialumjesto pokretanjapip install pyusb, te da otkriva OS putem/etc/os-release. (c471ddc42, 4014a0ba5)Windows instalacijski program sada omogućuje podršku za duge putanje kako bi se duboko ugniježđene ST Edge AI datoteke ispravno instalirale. (0b3ca6945)
Podrška za platforme i alate¶
Qt Creator osnova: 14.0.2.
Uključeni OpenMV ugrađeni program: ažuriran na 4.7.0 na svim OpenMV i Arduino pločama (OPENMV2/3/4/4P/PT, RT1060, GIGA, Portenta H7, Nicla Vision, Nano 33 BLE/RP2040, AE3, N6); ugrađeni program ponovno je izgrađen s podrškom za ROMFS (
romfs0.img). (6d04b1b50, c44e33d70, a1de7a09c)OpenMV N6 ROMFS: povećan s 16 MB na 24 MB, uz romfs sliku premještenu na DFU alt-setting 3. (d0bbb1fe7, d7d3120b3)
OpenMV AE3 ROMFS: povećan s 16 MB na 24 MB, uz pravila poravnanja na 16/32 bajta dodana za uključene
.bindatoteke modela na svim pločama. (746da8914)STM32CubeProgrammer (STM32_Programmer_CLI) uključen za macOS, Linux i Windows s potpunom STM32 bazom podataka uređaja i vanjskim učitavačima za tvorničko programiranje N6; instalacija je očišćena od nekorištenih vanjskih učitavača i datoteka baze podataka po pojedinom MCU-u radi smanjenja veličine. (334b04dbd, 54fea4d57, 28cc94a6e, 2522c900f)
ST Edge AI (stedgeai) prevoditelj 2.1.0 uključen (Windows) za N6 Neural-ART NPU. (3064411ad)
ARM Ethos-U Vela prevoditelj 4.2.0 (s numpy 2.2.4) uključen za Linux x86-64, macOS (Apple silicon) i Windows. Windows paket prvo je dodan s Velom 4.1.0 / numpy 2.2.3, a kasnije podignut na konačnu verziju 4.2.0 / numpy 2.2.4. (f9323a1d6, 5f551a5c5, 6506497c6, bcda7d1f0)
mpy-cross 1.25.0.post2 uključen (macOS/Windows). (8c71548df, 3ab42d58a)
Alif Security Toolkit: ažuriran na v1.104.0 (potpisani setools binarni programi i v1.104.0 User Guide PDF) za ploče temeljene na Alif Ensemble. (43260719c, 75a58e61b)
Dodane su OPENMV_AE3 (Alif Ensemble) NPU konfiguracije usmjerene na akceleratore ethos-u55-256 i ethos-u55-128 s RTSS HP/HE SRAM/MRAM/OSPI sistemskim konfiguracijama. (1f5fc546d, 411f708ea)
Dodani su dijagrami rasporeda pinova za OpenMV N6 i AE3 kamere (PAG7936 senzor) u birač rasporeda pinova, te novi Genx320 primjer s događajnom kamerom u sivim tonovima koji demonstrira konfiguraciju filtra protiv treperenja. (60184bbc5, 6d04b1b50)
Ažurirano je podudaranje USB PID-a za Arduino Nicla Vision kako bi se prepoznao novi aplikacijski PID (0x055F) uz izvorni (0x045F). (91ce4007c)
Ažurirani su parametri upisivanja u flash za NXP/blhost sigurni pokretač (bootloader) kako bi se koristila eksplicitna FCB adresa/duljina i MBR veličina diska, u skladu s najnovijim spsdk alatom. (16b66c3e2)
Windows instalacijski program sada uključuje namjenski STM32 DFU upravljački program pokretača (bootloader) i Microsoft Visual C++ 2015+ redistribucijske pakete. (cdcd4a5a6, 0cdebfc4c, a02b1f21a)
Uklonjen je uključeni DeGirum YOLOv5/YOLOv8 model zoo iz IDE-a. (26710be1c)
Promjene koje narušavaju kompatibilnost¶
Promjene u tijeku rada i ponašanju vidljive korisniku u v4.7.0. Nema promjena koje narušavaju skriptni API, ali imajte na umu sljedeće:
FAT datotečni sustav briše se pri nadogradnji s verzija starijih od 4.7.0. Nadogradnja bilo koje OpenMV Cam kamere s ugrađenog programa starijeg od 4.7.0 sada prisilno briše FAT datotečni sustav i ponovno postavlja/ažurira ROMFS tijekom ažuriranja ugrađenog programa (potvrdni okviri dijaloga prisilno su uključeni i ne mogu se onemogućiti), pa će se korisničke datoteke pohranjene na internoj flash memoriji uređaja izbrisati pri nadogradnji. (f6f3355b0)
Uklonjeni UVC ugrađeni program i Portenta H7 binarni programi pokretača (bootloader). Unaprijed izgrađene slike UVC webcam ugrađenog programa (
uvc.bin/dfu/elf) uklonjene su za sve ploče, a binarni programi pokretača za Arduino Portenta H7 uklonjeni su iz paketa; te se unaprijed izgrađene slike više ne mogu upisivati u flash iz IDE-a. (c44e33d70)Premještanje direktorija resursa. Resursi IDE-a koji se mogu preuzeti (ugrađeni program, model zoo, dokumentacija) sada se instaliraju u zajednički direktorij aplikacijskih podataka za sve korisnike umjesto u putanju resursa po korisniku, a manifest verzije premješten je iz QSettings u
OpenMVIDE.jsondatoteku pohranjenu jednu razinu iznad mape resursa za sve korisnike (uz unatrag kompatibilno zrcaljenje u QSettings). Ponovno preuzimanje resursa pokreće se pri prvom pokretanju nakon nadogradnje. (be308ace2, 7c7dddb87)