v4.7.0¶
v4.7.0 on suuri NPU- ja ROMFS-painotteinen julkaisu, joka perustuu Qt Creator 14.0.2:een. Se tuo laitteella sijaitsevan ROM-tiedostojärjestelmän työnkulun integroiduilla ARM Ethos-U (Vela)- ja ST Edge AI -mallikääntäjillä, lisää STM32CubeProgrammer-pohjaisen tehdasohjelmoinnin OpenMV N6:lle ja sisältää OpenMV-laiteohjelmiston 4.7.0 kaikilla korteilla. Huomaa, että minkä tahansa kameran päivittäminen pre-4.7.0-laiteohjelmistosta pakottaa nyt FAT-tiedostojärjestelmän tyhjennyksen ja ROMFS-nollauksen, mikä pyyhkii laitteen sisäiseen flash-muistiin tallennetut tiedostot; katso Yhteensopivuuden rikkovat muutokset alta.
Kohokohdat¶
ROM-tiedostojärjestelmän työnkulun avulla voit luoda, muokata, flashata ja nollata laitteella sijaitsevan kirjoitussuojatun tiedostojärjestelmän, jotta ML-malleja voidaan tallentaa kameraan. Tämä on integroitu DFU-, IMX-, Bossac-, Picotool- ja Arduino-DFU-käynnistyslataimiin. (efcc52fd8, f2cbcc802, a7e52424a, 60b05326d, 7140fc2aa)
ARM Ethos-U Vela- ja ST Edge AI -mallikääntäjät on nyt integroitu, joten
.tflite/.onnx-mallit käännetään automaattisesti NPU:lle, kun ne ladataan Ethos-U55 (OpenMV AE3)- tai Neural-ART (OpenMV N6) -korteille. (411f708ea, 3064411ad)STM32CubeProgrammer sisältyy nyt mukaan, mikä mahdollistaa OpenMV N6:n (STM32N657) käynnistyslataimen tehdasohjelmoinnin
FlashLayout.tsv-tiedoston kautta. (334b04dbd, 54fea4d57, 28cc94a6e)Model Zoo -selain saa ”Filter models by board type” -valintaruudun, jota ohjaa uusi
models/index.csv-taulukko ja joka piilottaa kytketyn kortin kanssa yhteensopimattomat mallit. (80adb2079)Laajennuskohtainen ROMFS-tasaus: ROMFS-kuvaeditori järjestää nyt tiedostot aakkosjärjestykseen ja pakkaa ne käyttäen
settings.json-tiedoston tavutasaussääntöjä (esim..tflite-mallit tasataan 16 tavuun). (e87b2bf06)Mukana toimitettu laiteohjelmisto päivitetty versioon 4.7.0 kaikilla OpenMV- ja Arduino-korteilla. (6d04b1b50, d0bbb1fe7, d7d3120b3)
Uudet ominaisuudet¶
ROM-tiedostojärjestelmän alivalikko (
New/Open/Edit ROMFS on OpenMV Cam/Reset ROMFS on OpenMV Cam) korvaa vanhan yksittäisenEdit ROM File System-toiminnon. (0bc275a0a, 958f732b5)Open Model Zoo -selain pysyvällä valitun mallin tilalla ja valinnan muuttuessa päivittyvällä esikatselulla, mukaan lukien STMicroelectronics-, Qualcomm-, DeGirum-, Edge Impulse- ja Google-mallikirjastot. (58033c5df, 2a1fb071a, 48c5b96fe, c0959833c)
Convert Model for NPU -valikkokohta
Machine Vision Tools-valikon alla kääntää TensorFlow Lite (.tflite)- tai ONNX (.onnx) -mallin kortin NPU-kiihdyttimelle (Vela Ethos-U.tflite-malleille, ST Edge AI N6 Neural-ART.tflite/.onnx-malleille) ja tallentaa muunnetun mallin levylle tai kameraan. (3913f5b8b)Copy/Convert Python File -työkalu kopioi Python-skriptin kameraan tai levylle ja kääntää sen valinnaisesti ristiin MicroPython
.mpy-tavukoodiksimpy-cross-työkalun avulla; se sijaitsee uudessaMicroPython Tools-alivalikossaTools-valikon alla. (e9d7fa143, 47188c0e3)Wrap Text -vaihtopainikkeet lisättiin OpenMV-sarjapäätteeseen ja
General Messages-tulosteruutuun; molemmat rivittävät tulosteensa sanoittain ja säilyttävät asetuksen istuntojen välillä. (8c052845a, 51d3e1ad6)mpy-cross-ROMFS-ristiinkääntäminen korttikohtaisilla arkkitehtuurilipuilla (
armv7emsp/armv7emdp) mahdollistaa MicroPython-skriptien jäädyttämisen ROMFS-kuviin. (8c71548df)Laiteohjelmiston käynnistyslatainvalintaikkuna hyväksyy nyt
*.img-ROMFS-tiedostoja*.bin- ja*.dfu-tiedostojen rinnalla, vahvistaa käynnistyslatainkohtaiset tunnisteet ja poistaa käytöstä olemassa olevanReset ROMFS file system-valintaruudun ladattaessa*.img-tiedostoa. (79f348b36)Pre-4.7.0-päivitykset pakottavat nyt FAT-tyhjennyksen sekä ROMFS-nollaus/päivitys-valintaruudut päälle ja varoittavat, että päivittäminen edellyttää FAT-tiedostojärjestelmän tyhjentämistä. (f6f3355b0)
Muut muutokset ja parannukset¶
Järjesti mukana toimitetun Qualcomm-mallizoon tehtäväpohjaisiin kansioihin (
image_classification,object_detection,pose_estimation,semantic_segmentation,depth_estimation), poisti tukemattomat suuret mallit (YOLOv7, YOLOv8, deeplabv3, mobilenet_v2) ja lisäsiresnet18- jadensenet_121-mallit (laajemmalla korttiyhteensopivuudella) sekäfacemap_3dmm- jaFFNet_40S-mallit (vain AE3/N6). (300ce2fc2)Lisäsi uuden Edge Impulse -mallitoimittajan (FOMO-kasvontunnistusmalli) ja uudet Google-mallit (
micro_speech,mnist_lstm,person_detection) mukana toimitettuun mallizooseen sekä lisäsiView/Edit-toiminnon ROMFS-editorin kontekstivalikkoon. (80adb2079)Siivosi mallizoon linkkejä: lisäsi Qualcomm
face_attrib_net-mallin (AE3/N6), poisti rikkinäisen YOLO-NAS-merkinnän ja korjasi useiden STMicroelectronics-objektintunnistusmallien korttiyhteensopivuussuodattimet. (fd639bda0)Lisäsi enemmän luokkanimiä, vaihtoi yhden mallin NPU-kiihdytinkokoonpanon
stai-arvostastedgeai-arvoon ja laajensist_yolo_x-mallin korttiyhteensopivuussuodatinta (nyt myös OPENMV_RT1060, OPENMV4P, ARDUINO_GIGA, PORTENTA_H7 ja NICLA_VISION AE3/N6:n lisäksi). (1515631ce).tflite-mallin lisääminen ROMFS:ään ohittaa nyt Vela/Ethos-U-kääntämisen, jos malli on jo Ethos-U-käännetty (se vain kopioidaan), ja valintaikkunan toiminto nimettiin uudelleenAdd Model-toiminnostaModel Zoo-toiminnoksi. (9c0b178fa)ST Edge AI -kääntäminen ohittaa muunnoksen malleille, jotka ovat jo
NBIN-muodossa. (3064411ad)Vela-kääntäjän valintaikkuna jäsentää mallin ilmoittaman SRAM-käytön kunkin kortin määritettyä kekokokoa vastaan ja näyttää prosenttiosuuden varoituksin/virhein, kun malli ylittää 90 % tai 100 % käytettävissä olevasta keosta. (7140fc2aa)
Vela-kääntäjä ilmoittaa nyt selkeän ”not supported on this platform” -virheen sen sijaan, että epäonnistuisi hiljaisesti, eikä mallin pudottaminen mallizooseen enää edellytä Velan läsnäoloa. (c736dd54d, 0ad7fd705)
Vela Ethos-U -kääntäjä toimii nyt mukana toimitetun upotetun Python-ajoympäristön kautta (
python -m ethosu.vela) erillisen binäärin sijaan. (52f9b8820)Pitkäkestoiset ST Edge AI- ja Vela-mallinkääntämisvalintaikkunat näyttävät nyt ”This command takes a while to execute. Please be patient.” -ilmoituksen. (fc9ac2ab5)
Esimerkkien tai uusien skriptien avaaminen PAG7936 (N6/AE3)- ja PS5520-sensoreilla nostaa nyt automaattisesti
sensor.set_framesize(QVGA)-asetuksen arvoonVGAkorkeamman resoluution sensoreille. (dfc27dd25)Lisäsi esimerkkiskriptien automaattisen korjauksen FLIR Boson 320/640 -lämpökameroille, PixArt PAG7920/PAJ6100:lle, FROGEYE2020:lle ja Prophesee GENX320 -tapahtumakameralle. (1f54ad01b)
Ladattavat IDE-resurssit (laiteohjelmisto/mallit/dokumentaatio) asentuvat nyt jaettuun kaikkien käyttäjien sovellustietohakemistoon uuden
ICore::allUsersResourcePath()-API:n kautta, ja resurssiversiomanifesti tallennetaanOpenMVIDE.json-tiedostoon yhden tason kaikkien käyttäjien resurssikansion yläpuolelle. (be308ace2, 7c7dddb87)Alif-järjestelmäpaketin laiteohjelmistopäivitysten aikana IDE kehottaa nyt käyttäjää virtakatkaisemaan kameran (irrottamaan ja kytkemään uudelleen) ennen jatkamista. (162d128f9, 756611696)
Muokkasi Alif (Ensemble) -käynnistyslataimen/laiteohjelmiston latausvirtaa ROMFS-yhteensopivaksi: se luo App TOC:n käynnistyslataimen kirjoittamisen jälkeen, kopioi bin/sign-kuvat
images/-alikansioon ja flashaafirmware_pad.toc-tiedoston. (f623c9231)Yksinkertaisti korttien näyttönimiä laiteohjelmiston valitsimessa pudottamalla pois turhat suluissa olevat siru-tunnisteet ja ”Legacy”-merkinnät (esim. ”OpenMV Cam H7 (STM32H743)” muuttuu muotoon ”OpenMV Cam H7”). (334b04dbd)
Nimesi kaksi Tools-valikon toimintoa uudelleen selkeyden vuoksi:
Run Bootloader (Load Firmware)on nytLoad Custom FirmwarejaErase Onboard Data Flashon nytErase Internal FAT File System(vahvistusvalintaikkuna viittaa nyt kameran sisäiseen FAT-tiedostojärjestelmään). (0bc275a0a)Palautti
Ctrl+Shift+L(Load Custom Firmware)- jaCtrl+Shift+E(Erase Internal FAT File System) -näppäinoikotiet ja siirsiPreferences-kohdan takaisinEdit-valikkoon. (dabb6f7d9, b5daf59a6)Poisti käytöstä automaattisen C/C++-kääntäjän ja työkaluketjun automaattitunnistuksen käynnistyksessä, koska IDE on suunnattu MicroPythonille. (f42fcc8f2)
Lisäsi Alif Semiconductor -kumppanilogon (vaalea/tumma)
About-valintaikkunan kumppaniosioon. (4878781bb)Kytketyn kortin laiteohjelmiston lukeminen voi nyt tyhjentää vanhentuneet sarjaporttitiedot ennen komennon antamista, mikä parantaa laiteohjelmisto-/versiokyselyjen luotettavuutta. (c15a46f5b)
Paransi ROMFS-yhteyden luotettavuutta pakottamalla uudelleenyhdistämisen/päivityksen ROMFS:n luku-, kirjoitus- ja nollausoperaatioissa. (f9bc83007)
Virheenkorjaukset¶
Korjasi mallin/skriptin tallennusvalintaikkunat ja ROMFS:n tiedoston/mallin lisäyksen käyttämään yksinkertaista tiedostotunnistetta täydellisen tunnisteen sijaan, mikä estää tunnisteiden sotkeutumisen nimettäessä uudelleen tiedostoja, joiden nimissä on pisteitä. (52c6820d2)
Korjasi DFU-latauksen edistymispalkin ylivuodon suurissa siirroissa laskemalla prosenttiosuuden 64-bittisellä aritmetiikalla. (4b91ff2ba)
Korjasi vanhempien OpenMV-laiteohjelmistojen/käynnistyslataimien flashauksen suojaamalla flash-tyhjennys- ja ohjelmointivaiheet kelvottomilta (ei-positiivisilta) flash-sektorialueilta ja näyttämällä selkeän virheen kaatumisen sijaan, sekä korjasi ROMFS-pääsysuojan vanhan laiteohjelmiston päivityksen aikana. (ae2cc15b4, 235dbdb10)
Korjasi sarjaporttipohjaisen kortin tunnistuksen niin, että sarjanumeron käänteissuodatinta sovelletaan vain portin vahvistuksen aikana (ei yhdistämisen aikana), ja lisäsi käänteissuodattimet i.MX-kortille, jotta käynnistyslatain-tilan sarjanumerot suljetaan pois. (ae2cc15b4)
Korjasi korttityypin säilyvyyden niin, että aiemmin tallennettua korttimäärittelyä ei enää korvata, kun manuaalinen korttityypin valinta tehdään. (c42d36001)
Käynnistyslataimen korjaus selvittää nyt piilotetun kortin näyttönimen sen arkkitehtuurimerkkijonoksi, jotta uudelleenyhdistäminen/laiteohjelmiston korjaus kohdistaa oikean kortin. (a1de7a09c)
Kortin tunnistus vertaa nyt korttien arkkitehtuurimerkkijonoja kirjainkoosta riippumatta. (7a2e0e93f)
Korjasi laitelevyn liittämisen epäonnistumisen nopeassa irrotuksessa/uudelleenkytkennässä säilyttämällä asemanskannaussäikeen ja yrittämällä asemanskannauksia uudelleen jopa kolme kertaa, sekä varmisti, että asemanskannaus suoritetaan luotettavasti skannaussäikeessä. (455dbe967, 58c0e5456)
Korjasi mallikääntäjän (ST Edge AI ja Vela) epäonnistumisen Intel-Maceilla sallimalla ARM64-työkalupolun Rosettan alla ajettaessa. (32e309e86)
Korjasi Python-työkalun ja kieliserverin välimuistiongelmat ohjaamalla kaikki mukana toimitetut Python
__pycache__-tiedostot jaettuun resurssihakemistoon ja esilämmittämällä i.MXblhost-pycachen ennen aikarajoitettua käynnistyslatainyhteyttä, jotta flashaus ei enää aikakatkea. (f64f3330f)Korjasi Python-kieliserverin (automaattitäydennystä varten) käyttämän MicroPython-otsikkopolun selviämään kaikkien käyttäjien resurssipolusta ja teki kaikkien käyttäjien resurssipolun haun vankemmaksi, kun käyttäjänimisuodatus ei löydä mitään. (5f2648565, fc1938818)
Korjasi rikkinäiset ST Edge AI -dokumentaatiolinkit kääntäjäasetusten valintaikkunassa muuntamalla paikalliset tiedostopolut oikeiksi
file://-URL-osoitteiksi. (3ac136444)Korjasi Python-editorin automaattisen sisennyksen niin, ettei rivejä enää virheellisesti poisteta sisennyksestä kaksoispisteeseen päättyvän (sähköisen) rivin jälkeen, esim.
if/for/def-otsikoiden jälkeen. (6555f44ba)Korjasi ROMFS-hakemistotietueen tasauksen niin, että kansio-offsetit huomioivat hakemistonimitietueen koon, ja kasvatti tiedostojen välistä viivettä ROMFS- ja mallizoo-tiedostoja purettaessa/luotaessa erillisten luontiaikaleimojen varmistamiseksi. (9bf7e1d9e, d968a6e46)
Korjasi kokonaislukuylivuodon Vela-graafioptimoijan mean-to-depthwise-conv-muunnoksessa laskemalla ulostulokertoimen 64-bittisesti, ja korjasi Vela-kääntäjän valintaikkunan otsikossa/tulosteessa käytetyn perusnimen. (d217a46e9, 8376490eb)
Korjasi mallizoo-selaimen laajennettujen kansioiden ja valitun mallin palauttamisen uudelleenavauksessa ja vaihtoi valintaikkunan keko-allokointiin GUI:n elinkaariongelmien välttämiseksi. (84a63ef4c)
Korjasi Model Zoon tallenna nimellä -polun niin, että muistettu hakemisto tallennetaan kansiona eikä täytenä tiedostonimenä. (be877f7af)
Säilytti vanhan käyttäjäresurssipolun sen sijaan, että olisi poistanut sen käynnistyksessä, mikä välttää ”close any programs viewing OpenMV IDE data” -virheen, kun vanha kansio on lukittuna. (775656775)
Korjasi Windowsin ajurin asennusskriptit sekä catalog/inf-tiedostot niin, että OpenMV DFU-, dfuse-, FTDI-, Arduino-, pybcdc- ja VCR-ajurit asentuvat luotettavasti ja raportoivat onnistumiskoodit oikein, kovensi dfuse/vcr-DFU-ajurin asennusskriptejä ja allekirjoitti uudelleen mukana toimitetut OpenMV DFU -ajurikatalogit. (48a0a21e3, b7b607250, b4221a884, e4f3bb8f8, 62e869c0b, 583576f2a)
Korjasi Linux-asennusohjelman asentamaan
pyusb-paketin jakelunpython3-usb-paketin kautta ja lisäämäänbuild-essential-paketin sen sijaan, että ajettaisiinpip install pyusb, sekä tunnistamaan käyttöjärjestelmän/etc/os-release-tiedoston kautta. (c471ddc42, 4014a0ba5)Windows-asennusohjelma ottaa nyt käyttöön pitkien polkujen tuen, jotta syvälle sisäkkäin asetetut ST Edge AI -tiedostot asentuvat oikein. (0b3ca6945)
Alusta- ja työkalutuki¶
Qt Creator -pohja: 14.0.2.
Mukana toimitettu OpenMV-laiteohjelmisto: päivitetty versioon 4.7.0 kaikilla OpenMV- ja Arduino-korteilla (OPENMV2/3/4/4P/PT, RT1060, GIGA, Portenta H7, Nicla Vision, Nano 33 BLE/RP2040, AE3, N6); laiteohjelmisto rakennettiin uudelleen ROMFS-tuella (
romfs0.img). (6d04b1b50, c44e33d70, a1de7a09c)OpenMV N6 ROMFS: kasvatettu 16 Mt:sta 24 Mt:hen, ja romfs-kuva siirretty DFU-alt-asetukseen 3. (d0bbb1fe7, d7d3120b3)
OpenMV AE3 ROMFS: kasvatettu 16 Mt:sta 24 Mt:hen, ja mukana toimitetuille
.bin-mallitiedostoille lisättiin 16/32 tavun tasaussäännöt kaikilla korteilla. (746da8914)STM32CubeProgrammer (STM32_Programmer_CLI) toimitettiin mukana macOS:lle, Linuxille ja Windowsille täydellä STM32-laitetietokannalla ja ulkoisilla lataimilla N6:n tehdasohjelmointia varten; asennuksesta karsittiin käyttämättömät ulkoisten lataimien ja MCU-kohtaiset tietokantatiedostot koon pienentämiseksi. (334b04dbd, 54fea4d57, 28cc94a6e, 2522c900f)
ST Edge AI (stedgeai) -kääntäjä 2.1.0 toimitettiin mukana (Windows) N6:n Neural-ART NPU:lle. (3064411ad)
ARM Ethos-U Vela -kääntäjä 4.2.0 (numpy 2.2.4:llä) toimitettiin mukana Linux x86-64:lle, macOS:lle (Apple silicon) ja Windowsille. Windows-paketti lisättiin ensin versiolla Vela 4.1.0 / numpy 2.2.3 ja nostettiin myöhemmin lopulliseen versioon 4.2.0 / numpy 2.2.4. (f9323a1d6, 5f551a5c5, 6506497c6, bcda7d1f0)
mpy-cross 1.25.0.post2 toimitettiin mukana (macOS/Windows). (8c71548df, 3ab42d58a)
Alif Security Toolkit: päivitetty versioon v1.104.0 (allekirjoitetut setools-binäärit ja v1.104.0 User Guide PDF) Alif Ensemble -pohjaisille korteille. (43260719c, 75a58e61b)
Lisäsi OPENMV_AE3 (Alif Ensemble) NPU-kokoonpanot, jotka kohdistuvat ethos-u55-256- ja ethos-u55-128-kiihdyttimille RTSS HP/HE SRAM/MRAM/OSPI -järjestelmäkokoonpanoilla. (1f5fc546d, 411f708ea)
Lisäsi pinout-kaaviot OpenMV N6- ja AE3-kameroille (PAG7936-sensori) pinout-valitsimeen sekä uuden Genx320-harmaasävytapahtumakamera-esimerkin, joka havainnollistaa välkynnänestosuodattimen määrittämistä. (60184bbc5, 6d04b1b50)
Päivitti Arduino Nicla Vision USB PID -tunnistuksen tunnistamaan uuden sovellus-PID:n (0x055F) alkuperäisen (0x045F) rinnalla. (91ce4007c)
Päivitti NXP/blhost-suojatun käynnistyslataimen flashausparametrit käyttämään eksplisiittistä FCB-osoitetta/-pituutta ja MBR-levykokoa, mikä mukautuu uusimpaan spsdk-työkalupakettiin. (16b66c3e2)
Windows-asennusohjelma toimittaa nyt mukana erillisen STM32 DFU -käynnistyslatainajurin ja Microsoft Visual C++ 2015+ -uudelleenjaettavat paketit. (cdcd4a5a6, 0cdebfc4c, a02b1f21a)
Poisti mukana toimitetun DeGirum YOLOv5/YOLOv8 -mallizoon IDE:stä. (26710be1c)
Yhteensopivuuden rikkovat muutokset¶
Käyttäjälle näkyvät työnkulun ja toiminnan rikkoutumiset versiossa v4.7.0. Skriptaus-API:hin ei tule rikkoutumista, mutta huomioi seuraavat:
FAT-tiedostojärjestelmä tyhjennetään pre-4.7.0-päivityksessä. Minkä tahansa OpenMV Camin päivittäminen pre-4.7.0-laiteohjelmistosta pakottaa nyt FAT-tiedostojärjestelmän tyhjentämisen ja ROMFS:n nollaamisen/päivittämisen laiteohjelmistopäivityksen aikana (valintaikkunan valintaruudut pakotetaan päälle eikä niitä voi poistaa käytöstä), joten laitteen sisäiseen flash-muistiin tallennetut käyttäjätiedostot pyyhitään päivityksessä. (f6f3355b0)
UVC-laiteohjelmisto ja Portenta H7 -käynnistyslatainbinäärit poistettu. Esikäännetyt UVC-verkkokameran laiteohjelmistokuvat (
uvc.bin/dfu/elf) poistettiin kaikilta korteilta, ja Arduino Portenta H7 -käynnistyslatainbinäärit poistettiin paketista; näitä esikäännettyjä kuvia ei voi enää flashata IDE:stä. (c44e33d70)Resurssihakemiston siirto. Ladattavat IDE-resurssit (laiteohjelmisto, mallizoo, dokumentaatio) asentuvat nyt jaettuun kaikkien käyttäjien sovellustietohakemistoon käyttäjäkohtaisen resurssipolun sijaan, ja versiomanifesti siirtyi QSettingsistä
OpenMVIDE.json-tiedostoon, joka tallennetaan yhden tason kaikkien käyttäjien resurssikansion yläpuolelle (taaksepäin yhteensopivalla QSettings-peilauksella). Resurssien uudelleenlataus käynnistetään ensimmäisellä ajolla päivityksen jälkeen. (be308ace2, 7c7dddb87)