v4.7.0¶
v4.7.0 är en stor NPU- och ROMFS-fokuserad utgåva byggd på Qt Creator 14.0.2. Den introducerar ett arbetsflöde för ett ROM-filsystem på enheten med integrerade modellkompilatorer för ARM Ethos-U (Vela) och ST Edge AI, lägger till STM32CubeProgrammer-baserad fabriksprogrammering för OpenMV N6 och paketerar OpenMV fast programvara 4.7.0 för alla kort. Observera att en uppgradering av en kamera från fast programvara äldre än 4.7.0 nu framtvingar en radering av FAT-filsystemet och en återställning av ROMFS, vilket raderar filer lagrade på enhetens interna flashminne; se Brytande ändringar nedan.
Höjdpunkter¶
Arbetsflöde för ROM-filsystem låter dig skapa, redigera, flasha och återställa ett skrivskyddat filsystem på enheten så att ML-modeller kan lagras på kameran, integrerat över startladdarna DFU, IMX, Bossac, Picotool och Arduino-DFU. (efcc52fd8, f2cbcc802, a7e52424a, 60b05326d, 7140fc2aa)
Modellkompilatorerna ARM Ethos-U Vela och ST Edge AI är nu integrerade så att
.tflite/.onnx-modeller automatiskt kompileras för NPU:n när de laddas in på Ethos-U55 (OpenMV AE3)- eller Neural-ART (OpenMV N6)-kort. (411f708ea, 3064411ad)STM32CubeProgrammer medföljer nu för att möjliggöra fabriksprogrammering av startladdaren för OpenMV N6 (STM32N657) via en
FlashLayout.tsv. (334b04dbd, 54fea4d57, 28cc94a6e)Model Zoo-bläddraren får en kryssruta ”Filter models by board type” som styrs av en ny
models/index.csv-tabell som döljer modeller som är inkompatibla med det anslutna kortet. (80adb2079)ROMFS-justering per filtillägg: ROMFS-bildredigeraren sorterar nu filer alfabetiskt och packar dem med byte-justeringsregler från
settings.json(t.ex..tflite-modeller justerade till 16 byte). (e87b2bf06)Medföljande fast programvara uppdaterad till 4.7.0 för alla OpenMV- och Arduino-kort. (6d04b1b50, d0bbb1fe7, d7d3120b3)
Nya funktioner¶
Undermenyn ROM-filsystem (
New/Open/Edit ROMFS on OpenMV Cam/Reset ROMFS on OpenMV Cam) ersätter den gamla enskildaEdit ROM File System-åtgärden. (0bc275a0a, 958f732b5)Öppna Model Zoo-bläddraren med beständigt tillstånd för vald modell och en förhandsgranskning vid val, inklusive medföljande modellbibliotek från STMicroelectronics, Qualcomm, DeGirum, Edge Impulse och Google. (58033c5df, 2a1fb071a, 48c5b96fe, c0959833c)
Menyalternativet Convert Model for NPU under
Machine Vision Toolskompilerar en TensorFlow Lite- (.tflite) eller ONNX- (.onnx) modell för kortets NPU-accelerator (Vela för Ethos-U.tflite, ST Edge AI för N6 Neural-ART.tflite/.onnx) och sparar den konverterade modellen till disk eller kameran. (3913f5b8b)Verktyget Copy/Convert Python File kopierar ett Python-skript till kameran eller disken och korskompilerar det valfritt till MicroPython
.mpy-bytekod viampy-cross; det finns i en ny undermenyMicroPython ToolsunderTools. (e9d7fa143, 47188c0e3)Wrap Text-växlingsknappar lades till i OpenMV-seriellterminalen och utmatningsrutan
General Messages; båda radbryter sin utmatning och behåller inställningen mellan sessioner. (8c052845a, 51d3e1ad6)mpy-cross ROMFS-korskompilering med arkitekturflaggor per kort (
armv7emsp/armv7emdp) gör att MicroPython-skript kan frysas in i ROMFS-bilder. (8c71548df)Dialogrutan för startladdaren för fast programvara accepterar nu
*.imgROMFS-filer vid sidan av*.binoch*.dfu, validerar filtillägg per startladdare och inaktiverar den befintliga kryssrutanReset ROMFS file systemnär en*.img-fil laddas. (79f348b36)Uppgraderingar från versioner äldre än 4.7.0 framtvingar nu kryssrutorna för FAT-radering och ROMFS-återställning/uppdatering och varnar om att uppgradering kräver radering av FAT-filsystemet. (f6f3355b0)
Övriga ändringar och förbättringar¶
Omorganiserade den medföljande Qualcomm-modellzoon i uppgiftsbaserade mappar (
image_classification,object_detection,pose_estimation,semantic_segmentation,depth_estimation), tog bort stora modeller som inte stöds (YOLOv7, YOLOv8, deeplabv3, mobilenet_v2) och lade tillresnet18ochdensenet_121(med bredare kortkompatibilitet), samtfacemap_3dmmochFFNet_40S(endast AE3/N6). (300ce2fc2)Lade till en ny modelleverantör från Edge Impulse (FOMO-ansiktsdetekteringsmodell) och nya Google-modeller (
micro_speech,mnist_lstm,person_detection) i den medföljande modellzoon, och lade till enView/Edit-åtgärd i ROMFS-redigerarens snabbmeny. (80adb2079)Rensade upp modellzoolänkar: lade till Qualcomm-modellen
face_attrib_net(AE3/N6), tog bort den trasiga YOLO-NAS-posten och korrigerade kortkompatibilitetsfilter för flera STMicroelectronics-objektdetekteringsmodeller. (fd639bda0)Lade till fler modelletiketter, bytte en modells NPU-acceleratorkonfiguration från
staitillstedgeaioch utökade kortkompatibilitetsfiltret först_yolo_x(nu även OPENMV_RT1060, OPENMV4P, ARDUINO_GIGA, PORTENTA_H7 och NICLA_VISION utöver AE3/N6). (1515631ce)Att lägga till en
.tflite-modell i ROMFS hoppar nu över Vela/Ethos-U-kompilering om modellen redan är Ethos-U-kompilerad (den kopieras bara), och dialogåtgärden bytte namn frånAdd ModeltillModel Zoo. (9c0b178fa)ST Edge AI-kompilering hoppar över konvertering för modeller som redan är i
NBIN-formatet. (3064411ad)Vela-kompilatordialogen analyserar modellens rapporterade SRAM-användning mot varje korts konfigurerade heap-storlek och visar en procentsats med varningar/fel när modellen överskrider 90 % eller 100 % av tillgänglig heap. (7140fc2aa)
Vela-kompilatorn rapporterar nu ett tydligt ”not supported on this platform”-fel istället för att misslyckas tyst, och att släppa en modell i modellzoon kräver inte längre att Vela finns. (c736dd54d, 0ad7fd705)
Vela Ethos-U-kompilatorn körs nu via den medföljande inbäddade Python-körtiden (
python -m ethosu.vela) istället för en fristående binärfil. (52f9b8820)Långkörande dialoger för modellkompilering med ST Edge AI och Vela visar nu en notis: ”This command takes a while to execute. Please be patient.”. (fc9ac2ab5)
Att öppna exempel eller nya skript på PAG7936- (N6/AE3) och PS5520-sensorer höjer nu automatiskt
sensor.set_framesize(QVGA)tillVGAför sensorerna med högre upplösning. (dfc27dd25)Lade till automatisk korrigering av exempelskript för FLIR Boson 320/640-värmekameror, PixArt PAG7920/PAJ6100, FROGEYE2020 och Prophesee GENX320-händelsekameran. (1f54ad01b)
Nedladdningsbara IDE-resurser (fast programvara/modeller/dokumentation) installeras nu i en delad applikationsdatakatalog för alla användare via ett nytt
ICore::allUsersResourcePath()-API, med resursversionsmanifestet lagrat i enOpenMVIDE.json-fil en nivå ovanför resursmappen för alla användare. (be308ace2, 7c7dddb87)Under uppdateringar av Alif-systempaketets fasta programvara uppmanar IDE:n nu användaren att strömcykla (koppla från och återanslut) kameran innan den fortsätter. (162d128f9, 756611696)
Omarbetade nedladdningsflödet för Alif- (Ensemble) startladdare/fast programvara så att det är ROMFS-kompatibelt: det genererar App-TOC efter att startladdaren skrivits, kopierar bin/sign-bilder till en undermapp
images/och flasharfirmware_pad.toc. (f623c9231)Förenklade kortvisningsnamn i väljaren för fast programvara genom att ta bort de överflödiga chip-i-parentes-suffixen och ”Legacy”-taggarna (t.ex. blir ”OpenMV Cam H7 (STM32H743)” till ”OpenMV Cam H7”). (334b04dbd)
Bytte namn på två åtgärder i Tools-menyn för tydlighet:
Run Bootloader (Load Firmware)heter nuLoad Custom Firmware, ochErase Onboard Data Flashheter nuErase Internal FAT File System(bekräftelsedialogen hänvisar nu till kamerans interna FAT-filsystem). (0bc275a0a)Återställde tangentbordsgenvägarna
Ctrl+Shift+L(Load Custom Firmware) ochCtrl+Shift+E(Erase Internal FAT File System), och flyttade tillbakaPreferences-objektet tillEdit-menyn. (dabb6f7d9, b5daf59a6)Inaktiverade automatisk identifiering av C/C++-kompilator och verktygskedja vid start, eftersom IDE:n riktar sig mot MicroPython. (f42fcc8f2)
Lade till Alif Semiconductors partnerlogotyp (ljus/mörk) i partnersektionen i
About-dialogen. (4878781bb)Att läsa det anslutna kortets fasta programvara kan nu rensa inaktuella seriellportsdata innan kommandot utfärdas, vilket förbättrar tillförlitligheten i frågor om fast programvara/version. (c15a46f5b)
Förbättrade ROMFS-anslutningens tillförlitlighet genom att framtvinga en återanslutning/uppdatering vid läs-, skriv- och återställningsoperationer på ROMFS. (f9bc83007)
Felrättningar¶
Rättade så att dialoger för att spara modell/skript och ROMFS-funktionerna för att lägga till fil/modell använder det enkla filtillägget istället för det fullständiga suffixet, vilket förhindrar förvanskade filtillägg när filer med punkter i namnet byter namn. (52c6820d2)
Rättade ett överflöde i förloppsindikatorn för DFU-uppladdning vid stora överföringar genom att beräkna procentsatsen med 64-bitars aritmetik. (4b91ff2ba)
Rättade flashning av äldre OpenMV fasta programvara/startladdare genom att skydda steg för flashradering och programmering mot ogiltiga (icke-positiva) flashsektorintervall och visa ett explicit fel istället för att krascha, och rättade ROMFS-åtkomstskyddet under uppgradering av gammal fast programvara. (ae2cc15b4, 235dbdb10)
Rättade detektering av kort via seriellport så att det inverterade serienummerfiltret endast tillämpas under portvalidering (inte under anslutning), och lade till inverterade filter för i.MX-kortet så att serienummer i startladdarläge utesluts. (ae2cc15b4)
Rättade beständigheten för korttyp så att en tidigare sparad kortmappning inte längre skrivs över när ett manuellt korttypsval görs. (c42d36001)
Startladdarreparation löser nu upp ett dolt korts visningsnamn till dess arkitektursträng så att återanslutning/firmwarereparation mappar rätt kort. (a1de7a09c)
Kortdetektering matchar nu kortarkitektursträngar utan hänsyn till skiftläge. (7a2e0e93f)
Rättade att enhetsdisken inte monterades vid snabb frånkoppling/återanslutning genom att låta enhetsskanningstråden bestå och försöka om enhetsskanningar upp till tre gånger, och såg till att enhetsskanning tillförlitligt körs på skanningstråden. (455dbe967, 58c0e5456)
Rättade att modellkompilatorn (ST Edge AI och Vela) inte kördes på Intel-Mac-datorer genom att tillåta ARM64-verktygssökvägen när den körs under Rosetta. (32e309e86)
Rättade cacheproblem för Python-verktyg och språkserver genom att dirigera alla medföljande Python
__pycache__till en delad resurskatalog och förvärma i.MXblhost-pycachen före den tidsbegränsade startladdaranslutningen så att flashning inte längre tar timeout. (f64f3330f)Rättade MicroPython-headersökvägen som används av Python-språkservern (för autokomplettering) så att den löses upp från resurssökvägen för alla användare, och gjorde uppslagningen av resurssökvägen för alla användare mer robust när filtrering på användarnamn inte ger något. (5f2648565, fc1938818)
Rättade trasiga ST Edge AI-dokumentationslänkar i dialogen för kompilatoralternativ genom att konvertera lokala filsökvägar till korrekta
file://-URL:er. (3ac136444)Rättade automatisk indentering i Python-redigeraren så att rader inte längre indenteras bort felaktigt efter en rad som slutar med kolon (elektrisk rad), t.ex. efter
if/for/def-rubriker. (6555f44ba)Rättade justeringen av ROMFS-katalogposter så att mappförskjutningar tar hänsyn till storleken på katalognamnsposten, och ökade fördröjningen mellan filer vid uppackning/skapande av ROMFS- och modellzoofiler för att säkerställa distinkta tidsstämplar för skapande. (9bf7e1d9e, d968a6e46)
Rättade ett heltalsöverflöde i Vela-grafoptimerarens konvertering från mean till depthwise-conv genom att beräkna utmatningsmultiplikatorn i 64-bitar, och rättade basnamnet som används i Vela-kompilatordialogens titel/utmatning. (d217a46e9, 8376490eb)
Rättade återställningen av modellzoobläddrarens expanderade mappar och valda modell vid återöppning, och bytte dialogen till heap-allokering för att undvika problem med GUI:ts livslängd. (84a63ef4c)
Rättade spara-som-sökvägen för Model Zoo så att den ihågkomna katalogen lagras som en mapp istället för ett fullständigt filnamn. (be877f7af)
Behöll den äldre användarresurssökvägen istället för att radera den vid start, vilket undviker ett ”close any programs viewing OpenMV IDE data”-fel när den gamla mappen är låst. (775656775)
Rättade Windows-drivrutinsinstallerarens skript och katalog-/inf-filer så att OpenMV DFU-, dfuse-, FTDI-, Arduino-, pybcdc- och VCR-drivrutiner installeras tillförlitligt och rapporterar framgångskoder korrekt, härdade installationsskripten för dfuse/vcr DFU-drivrutiner och signerade om de medföljande OpenMV DFU-drivrutinskatalogerna. (48a0a21e3, b7b607250, b4221a884, e4f3bb8f8, 62e869c0b, 583576f2a)
Rättade Linux-installeraren så att den installerar
pyusbvia distributionspaketetpython3-usboch lägger tillbuild-essentialistället för att körapip install pyusb, och så att den identifierar operativsystemet via/etc/os-release. (c471ddc42, 4014a0ba5)Windows-installeraren aktiverar nu stöd för långa sökvägar så att djupt nästlade ST Edge AI-filer installeras korrekt. (0b3ca6945)
Plattforms- och verktygsstöd¶
Qt Creator-bas: 14.0.2.
Medföljande OpenMV fast programvara: uppdaterad till 4.7.0 för alla OpenMV- och Arduino-kort (OPENMV2/3/4/4P/PT, RT1060, GIGA, Portenta H7, Nicla Vision, Nano 33 BLE/RP2040, AE3, N6); fast programvara byggdes om med ROMFS-stöd (
romfs0.img). (6d04b1b50, c44e33d70, a1de7a09c)OpenMV N6 ROMFS: ökad från 16MB till 24MB, med romfs-bilden flyttad till DFU alt-inställning 3. (d0bbb1fe7, d7d3120b3)
OpenMV AE3 ROMFS: ökad från 16MB till 24MB, med justeringsregler för 16/32 byte tillagda för medföljande
.bin-modellfiler på alla kort. (746da8914)STM32CubeProgrammer (STM32_Programmer_CLI) medföljer för macOS, Linux och Windows med den fullständiga STM32-enhetsdatabasen och externa laddare för N6-fabriksprogrammering; installationen rensades på oanvända externa laddare och databasfiler per MCU för att minska storleken. (334b04dbd, 54fea4d57, 28cc94a6e, 2522c900f)
ST Edge AI (stedgeai) compiler 2.1.0 medföljer (Windows) för N6 Neural-ART NPU:n. (3064411ad)
ARM Ethos-U Vela compiler 4.2.0 (med numpy 2.2.4) medföljer för Linux x86-64, macOS (Apple silicon) och Windows. Windows-paketet lades först till vid Vela 4.1.0 / numpy 2.2.3 och höjdes senare till den slutgiltiga 4.2.0 / numpy 2.2.4. (f9323a1d6, 5f551a5c5, 6506497c6, bcda7d1f0)
mpy-cross 1.25.0.post2 medföljer (macOS/Windows). (8c71548df, 3ab42d58a)
Alif Security Toolkit: uppdaterad till v1.104.0 (signerade setools-binärer och User Guide-PDF för v1.104.0) för Alif Ensemble-baserade kort. (43260719c, 75a58e61b)
Lade till OPENMV_AE3 (Alif Ensemble) NPU-konfigurationer som riktar sig mot acceleratorerna ethos-u55-256 och ethos-u55-128 med RTSS HP/HE SRAM/MRAM/OSPI-systemkonfigurationer. (1f5fc546d, 411f708ea)
Lade till stiftdiagram för kamerorna OpenMV N6 och AE3 (PAG7936-sensor) i stiftväljaren, och ett nytt Genx320-exempel med gråskalehändelsekamera som demonstrerar konfiguration av antiflimmerfilter. (60184bbc5, 6d04b1b50)
Uppdaterade USB-PID-matchningen för Arduino Nicla Vision så att ett nytt applikations-PID (0x055F) känns igen vid sidan av det ursprungliga (0x045F). (91ce4007c)
Uppdaterade flashningsparametrarna för NXP/blhost säker startladdare så att de använder explicit FCB-adress/längd och en MBR-diskstorlek, i linje med den senaste spsdk-verktygslådan. (16b66c3e2)
Windows-installeraren paketerar nu en dedikerad STM32 DFU-startladdardrivrutin och Microsoft Visual C++ 2015+-distributionspaketen. (cdcd4a5a6, 0cdebfc4c, a02b1f21a)
Tog bort den medföljande DeGirum YOLOv5/YOLOv8-modellzoon från IDE:n. (26710be1c)
Brytande ändringar¶
Användarsynliga brott mot arbetsflöde och beteende i v4.7.0. Det finns inget brott i skript-API:t, men observera följande:
FAT-filsystemet raderas vid uppgradering från versioner äldre än 4.7.0. Att uppgradera en OpenMV Cam från fast programvara äldre än 4.7.0 framtvingar nu radering av FAT-filsystemet och återställning/uppdatering av ROMFS under firmwareuppdateringen (dialogens kryssrutor framtvingas på och kan inte inaktiveras), så användarfiler lagrade på enhetens interna flashminne raderas vid uppgradering. (f6f3355b0)
UVC-firmware och Portenta H7-startladdarbinärer borttagna. De förbyggda UVC-webbkamerafirmwarebilderna (
uvc.bin/dfu/elf) togs bort för alla kort, och Arduino Portenta H7-startladdarbinärerna togs bort från paketet; dessa förbyggda bilder kan inte längre flashas från IDE:n. (c44e33d70)Omplacering av resurskatalog. Nedladdningsbara IDE-resurser (fast programvara, modellzoo, dokumentation) installeras nu i en delad applikationsdatakatalog för alla användare istället för den användarspecifika resurssökvägen, och versionsmanifestet flyttades från QSettings till en
OpenMVIDE.json-fil lagrad en nivå ovanför resursmappen för alla användare (med bakåtkompatibel QSettings-spegling). En omnedladdning av resurser utlöses vid första körningen efter uppgradering. (be308ace2, 7c7dddb87)