v3.0.0¶
v3.0.0 on suuri v2 → v3 -julkaisu. Se esittelee OpenMV Cam M7 -kortin (STM32F7) ja uuden nn CMSIS-NN -neuroverkkomoduulin (korvaten vanhat kovakoodatut find_number() / classify_object() -metodit), lisää MT9V034 global-shutter- ja FLIR Lepton -sensorituen, sensor.WVGA-kehyskoot sekä päivittää ytimen versioon MicroPython 1.9.4. Useat image- / sensor- / WiFi-toiminnot muuttuivat — lue alla olevat yhteensopivuutta rikkovat muutokset.
Kohokohdat¶
OpenMV Cam M7 — uusi STM32F7-kortti.
nn-moduuli — CMSIS-NN-päättely:nn.load(),Net.forward(),Net.search(), mallimuuntimen ja esimerkkien kanssa.Uudet sensorit — MT9V034 global-shutter (FSIN-laukaistu) ja FLIR Lepton.
MicroPython 1.9.4 -ytimen päivitys.
Yhteensopivuutta rikkova: kovakoodatut
image.find_number()/image.classify_object()poistettiin,sensor.sleep()nostaa nyt poikkeuksen, WINC-soketit palauttavat todelliset tavumäärät,image.binary()palauttaa uuden kuvan jafind_apriltags()on rajattu 64K pikseliin — katso yhteensopivuutta rikkovat muutokset.
Uudet ominaisuudet¶
nn— uusi CMSIS-NN-neuroverkkomoduuli:nn.load(path),Net.forward(img, roi=, softmax=, dry_run=)(palauttaa 0.0–1.0 liukulukuja),Net.search()monimittakaava-/sijaintitunnistukseen sekäNet.test(), lisäksi CMSIS-NN-mallimuunnin (nn_convert.py/nn_quantizer.py), mukana toimitetut CIFAR-10- / LeNet- / hymymallit ja NN- / NN-search-esimerkkiskriptit.Sensorit — MT9V034 global-shutter -tuki (FSIN-laukaistu snapshot) OpenMV 4:llä, päivitetty FLIR Lepton -ajuri Lepton-snapshotilla sekä uudet
sensor.WVGA(720x480) /sensor.WVGA2(752x480) -kehyskoot.Kuvantaminen —
image.find_circles()sair_min/r_max/r_step-avainsanat (nopeampi Hough),find_keypoints()ja Haarfind_features()hyväksyvät nyt RGB-kuvia, jaimage.compress()/ JPEG-koodaus tukevat nyt binäärisiä (bittikartta-) kuvia.Käynnistys —
boot.pyajetaan nyt ennen USB:n alustusta, jotta se voi korvata USB-tilan (esim. HID).Esimerkit — lisättiin pieni-/korkearesoluutioiset AprilTag-esimerkit, I2C LIDAR-Lite V3 -esimerkki sekä aineistotyökaluja (
augment_images.py/make_patches.py).
Muut muutokset ja parannukset¶
Päivitettiin mukana toimitettu MicroPython versioon 1.9.4 (pyexec-jäsennys/-käännös/-suoritus -peruutuksella ja PendSV-korjauksella); selkeämmät
fb_alloc/xalloc-muistinloppumis-virheviestit; vaimennettiinnn-printf-kohina verkon latauksen aikana; järjestettiin arkisto uudelleen (esimerkit →scripts/, työkalut →tools/, Haar-kaskadit →ml/).nn-moduuli ei ole käytettävissä OpenMV 2:lla (riittämätön flash-muisti).
Virheenkorjaukset¶
Kuvantaminen:
Korjattiin
fast_atan2farvolla x≤0 (aiemmin aina 0 — tarkista uudelleen blob-/viiva-/avainpistekulmat),find_apriltags()-muistinkäsittely (hävitti sisältöä ja virheellinen realloc muistin loppuessa), binääri-/bittikartta-rivikohtaiset bpp-osoittimet (vialliset binääritulokset),find_edges(EDGE_CANNY)ROI:n kanssa,TO_GS_PIXEL-makro (integraali / morfologia), bittikartta-/JPEG-suoratoisto harmaasävykehyksille (bpp==0), avainpiste-/blob-listanpop_frontjamatch_descriptor-tulokset.
Järjestelmä ja kamera:
Korjattiin USB HID -liitännän/-päätepisteen numerot, XCLK-taajuuden dynaaminen muuttaminen ajonaikaisesti,
Net.forward()-funktion oikean ulostulomäärän palauttaminen sekä hardfault, kun skriptin jäsennys keskeytetään.
Laitteisto- ja korttituki¶
OpenMV Cam M7 (STM32F7) — uusi kortti.
MT9V034 global-shutter -sensori (OpenMV 4, FSIN-laukaistu).
FLIR Lepton — päivitetty ajuri snapshot-tuella.
Yhteensopivuutta rikkovat API-muutokset¶
Käyttäjälle näkyvät API-muutokset versioiden v2.9.0 ja v3.0.0 välillä. Laajuus: Python-C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.
Jokainen muutos on merkitty sen vaikutuksella:
suuri — vaikuttaa useimpiin skripteihin, jotka käyttivät ominaisuutta; sinun on muokattava koodia.
vähäinen — suppea API; vaikuttaa vain skripteihin, jotka käyttivät sitä.
käyttäytyminen — sama API, eri tulokset; tarkista uudelleen viritetyt skriptit.
Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain siirtää koodisi, siirry lopussa olevaan migraation tarkistuslistaan. Jokainen commitin tiiviste linkittää sen erotteluun GitHubissa.
image.find_number() / image.classify_object() poistettiin (suuri)¶
Kovakoodatut image.find_number() (LeNet) ja image.classify_object() (CMSIS CNN) -metodit poistettiin uuden nn-moduulin hyväksi. Korvaa ne koodilla net = nn.load('/model.network'); out = net.forward(img).
Commitit: d151f7e38
sensor.sleep() / sensor.reset() nostavat poikkeuksen epäonnistuessa (vähäinen)¶
sensor.sleep() ja sensor.reset() nostavat nyt poikkeuksen epäonnistuessaan sen sijaan, että palauttaisivat True / False. Koodin, joka tarkisti sensor.sleep() -funktion totuusarvopaluun, on sen sijaan ympäröitävä kutsu try / except -rakenteella.
Commitit: 7d16d008f
WINC-soketit palauttavat todellisen tavumäärän (käyttäytyminen)¶
WINC1500-soketin send / recv / sendto / recvfrom -metodit palauttivat aiemmin aina 0; ne palauttavat nyt todellisen siirrettyjen tavujen määrän. Koodin, joka oletti 0-paluun (tai jäi silmukkaan/lukkoon sen vuoksi), on käsiteltävä todelliset määrät.
Commitit: a07fb2f60
image.binary() palauttaa uuden kuvan (käyttäytyminen)¶
image.binary() sai to_bitmap / copy -avainsanat ja palauttaa nyt uuden kuvaobjektin sen sijaan, että palauttaisi/muuttaisi lähdekuvaa paikallaan. Koodin, joka luotti binary()-funktion muuttavan alkuperäistä kuvaa, tulisi käyttää palautettua objektia (ja välittää copy=True ei-paikallaan-toimintaa varten).
Commitit: 8a44f0cd9
Migraation tarkistuslista¶
Siistiä siirtoa versioon v3.0.0 varten tyypillinen työ on:
Korvaa
image.find_number()/image.classify_object()nn-moduulilla (nn-migraatio).Ympäröi
sensor.sleep()/sensor.reset()try/except-rakenteella sen sijaan, että tarkistaisit totuusarvopaluun (sensor.sleep-muutos).Käsittele todelliset tavumäärät WINC-soketin
send/recv-metodeista (WINC-soketin muutos).Käytä
image.binary()-funktion palauttamaa kuvaa sen sijaan, että odottaisit paikallaan tapahtuvaa muutosta (binary-muutos).Pienennä kuvat ennen
find_apriltags()-funktiota pysyäksesi alle 64K pikselin (find_apriltags-raja).
Kaikki muut skriptit toimivat ennallaan.