v4.6.0¶
v4.6.0 on merkittävä ominaisuusjulkaisu. Sen kärkenä: kameramoduuli nimettiin uudelleen sensor-moduulista csi-moduuliksi (taaksepäin yhteensopivalla sensor-aliaksella), uusi ml.postprocessing-moduuli, tuki Prophesee GenX320 -tapahtumasensorille, PAG7936:lle ja FLIR Boson -lämpökameroille, uusi TinyUSB-pohjainen DFU-käynnistyslatain, Nema GPU -kiihdytys ja MicroPython 1.24. Se muuttaa myös piirtämisen alpha-aluetta, joten lue alla olevat rikkovat muutokset.
Kohokohdat¶
sensoron nyt myöscsi— kameramoduuli nimettiin uudelleencsi-moduuliksi;sensorsäilyy taaksepäin yhteensopivana aliaksena (koodimuutoksia ei vielä tarvita).Uusi
ml.postprocessing-moduuli —fomo_postprocess,yolo_v2_postprocess,yolo_v5_postprocess.Uudet sensorit — Prophesee GenX320 -tapahtumakamera, PAG7936 ja FLIR Boson 320/640 -lämpökamera.
Uusi DFU-käynnistyslatain — TinyUSB-pohjainen standardi-DFU-käynnistyslatain korvaa vanhan CDC-käynnistyslataimen kaikilla korteilla.
Nema GPU — kiihdytetty 2D-/vektorigrafiikka STM32:lla.
MicroPython päivitetty versioon 1.24.0.
Rikkova: piirtämisen
alpha-alue muuttui arvosta 0–256 arvoon 0–255 (katso alpha-alueen muutos).
Uudet ominaisuudet¶
ml.postprocessing— uusi moduuli, joka dekoodaa mallin tulosteen: FOMO-dekooderi (fomo_postprocess,find_blobs+ NMS, mukautettavathreshold) sekäyolo_v2_postprocess/yolo_v5_postprocess(parametreillathreshold,anchors,nms_threshold,nms_sigma).Tapahtumakameran visualisointi — uudet
Image.to_evt_dark()/Image.to_evt_light()-metodit sekäPALETTE_EVT_DARK/PALETTE_EVT_LIGHT-väripaletit.Syvyysvisualisointi — uusi
Image.to_depth()-metodi jaPALETTE_DEPTH-väripaletti (ToF-tuella varustetut kortit).Sensorin introspektio — uusi
IOCTL_GET_RGB_STATS-ioctl, joka palauttaa(R, Gb, Gr, B)-kanavatilasto-monikon.GenX320-bias-esiasetukset — uusi
IOCTL_GENX320_SET_BIASES-ioctl, jossa esiasetuksetGENX320_BIASES_DEFAULT/LOW_LIGHT/ACTIVE_MARKER/LOW_NOISE/HIGH_SPEED.omv.debug_mode()— uusi funktio, jolla voi kysyä, onko USB-virheenkorjausrajapinta aktiivinen.Nema GPU — Cortex-M55 NemaGFX/NemaVG -ajurin integrointi STM32:lle, mukana paikallaan tapahtuva GPU-läpivienti
draw_image-toiminnolle.PAG7936 — lisätty väripalkkitulostus, automaattivalotus / automaattivahvistus, lepotila ja MIPI-tila.
Muut muutokset ja parannukset¶
MicroPython päivitetty versioon 1.24.0; ulab päivitetty versioon 6.7.3 (lisää
keepdims).Yhteinen käynnistysskripti — STM32 / i.MX RT / RP2 jakavat nyt
_boot.py-tiedoston, joka luo automaattisesti flash-/SD-tiedostojärjestelmän oletusarvoisellamain.py- jaREADME.txt-tiedostolla ja vapauttaa väliaikaiset käynnistyksen globaalit.STM32N6:n pohjatyö — perustuki STM32N6:lle, XSPI-ajuri, yhteinen MPU-ajuri sekä laiteohjelmiston/käynnistyslataimen allekirjoitus STM32:lla.
Computed-goto-VM — käytössä STM32:lla ja nRF:llä tulkin nopeuttamiseksi.
Korjatut virheet¶
Kamera ja sensorit:
Korjattu OV5640:n PCLK-/valotuslaskenta (kaksi MIPI-väylää, korjattu jakajataulukko).
MT9V0xx Bayer-CFA -variantti hyväksyy nyt RGB565/BAYER/GRAYSCALE-tilat ja tuottaa kunnollista raakaa Bayer-dataa virheilmoituksen sijaan.
Otettu käyttöön PAG7936:n linssivarjostuksen korjaus ja korjattu HD-kuvan siirtyminen;
set_framerate()on nyt rajoitettu resoluutiokohtaisesti.Korjattu FLIR Lepton -lämpökuvaus i.MX RT1060:lla (korjattu VoSPI CPOL/CPHA), ja Lepton-tilannekuvat palauttavat nyt tarkat virhekoodit.
Korjattu GenX320:n taajuuden pyöristys.
Kuvankäsittely:
Korjattu muistin vioittuminen
to_ndarray()-toiminnossa harmaasävykuvilla.Korjattu debayerin rajaennuste Bayer→RGB-/harmaasävymuunnoksessa.
Korjattu
draw_image()-toiminnontransposekorteilla ilman SDRAM-muistia (paloiteltu puskuri).Korjattu totuusarvoargumenttien käsittely
Image.binary()-toiminnossa jaml.Modelload_to_fb-lipussa.
Järjestelmä:
Korjattu SPI:n pelkkä-RX-/pelkkä-TX-nastojen määritys STM32:lla ja i.MX RT:llä.
Siirretty Portenta H7:n Ethernet-DMA-puskurit SRAM3:een, jotta Ethernet toimii.
Korjattu pudonnut merkki virheenkorjauskanavan tekstitulosteessa USB:n yli; ML:n dynaamisen varauksen koot pyöristetään nyt ylöspäin alimittaisten mallipuskureiden välttämiseksi.
Laitteisto- ja korttituki¶
Prophesee GenX320 -tapahtumapohjainen konenäkösensori (STM32F7 + i.MX RT1060).
PAG7936 -sensori (MIPI-tilalla).
FLIR Boson 320/640 -lämpökamerat (IDD 4 -ajuri).
Nema GPU -kiihdytys STM32:lla.
STM32N6 -käynnistyslataimen/XSPI:n pohjatyö.
VL53L5CX — lisätty tuki virranhallintanastalle.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-rikkoutumiset versioiden v4.5.9 ja v4.6.0 välillä. Laajuus: Python-C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.
Jokainen muutos on merkitty vaikutuksensa mukaan:
major — useimmat sitä käyttäneet skriptit vaativat muokkauksia.
minor — kapea API; vaikuttaa vain sitä käyttäneisiin skripteihin.
behavior — sama API, eri tulokset; tarkista viritetyt skriptit uudelleen.
tooling — vaikuttaa vain flashaukseen / isäntätyökaluihin / korttien saatavuuteen.
Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain siirtää koodisi, siirry lopussa olevaan siirtymän tarkistuslistaan. Jokainen commit-tunniste linkittää diffiinsä GitHubissa. Huomaa: tämän julkaisun sensor → csi -moduulin uudelleennimeäminen ei ole rikkova — sensor toimii edelleen aliaksena.
Piirtämisen alpha-alue on nyt 0–255 (major)¶
draw_image()-toiminnon alpha-argumentti ja jokainen sitä käyttävä päällys (FIR, ToF, näyttö, TV, MJPEG, alfataulukot) käyttää nyt 0–255-aluetta entisen 0–256:n sijaan. Skriptit, jotka välittivät täysin läpinäkymättömälle arvon 256 tai laskivat alfaa 256:ta vasten, on skaalattava uudelleen alueelle 0–255.
Commit: 1f87b5bb6
FLIR Lepton -ioctl-vakiot nimetty uudelleen (minor)¶
Kolme Lepton-ioctl-vakiota lyhennettiin: IOCTL_LEPTON_SET_MEASUREMENT_MODE → IOCTL_LEPTON_SET_MODE, IOCTL_LEPTON_SET_MEASUREMENT_RANGE → IOCTL_LEPTON_SET_RANGE, IOCTL_LEPTON_GET_FPA_TEMPERATURE → IOCTL_LEPTON_GET_FPA_TEMP. Mukana toimitetut esimerkit päivitettiin.
Commit: 12582d54d
ML-jälkikäsittelyn API-muutoksia (minor)¶
ml.postprocessing on uusi tässä julkaisussa, ja sen API muuttui sen aikana: yolo_v2_postprocess-konstruktorin avainsana score_threshold nimettiin uudelleen muotoon threshold, ja tyhjät jälkikäsittelytulokset palauttavat nyt () arvon [] sijaan. Mukana toimitettu malli yolov5_rgb_person nimettiin uudelleen muotoon yolo_v5_224_nano. ml.apps.MicroSpeech välittää nyt mielivaltaiset **kwargs-argumentit funktiolle audio.init() kiinteän gain_db=24-arvon sijaan.
Commits: d67bd1ad7, 979b4e8ee, b89b815b2, 6671d9df5, 5c2f4388c
AGAST on oletusarvoinen kulmantunnistin (behavior)¶
find_keypoints() käyttää nyt AGAST-algoritmia FAST:n sijaan oletusarvoisena kulmantunnistimena kaikilla korteilla. Avainpistejoukot (ja siten kuvaajavastaavuudet) eroavat aiemmista julkaisuista — tarkista viritetyt avainpisteputket uudelleen. IDE:n kehyspuskurin suoratoisto on myös nyt rajoitettu 20 Hz:iin USB-kuorman vähentämiseksi.
Käynnistyslatain, poistetut kortit ja ominaisuudet (tooling)¶
Vanha CDC-käynnistyslatain korvattiin uudella TinyUSB-pohjaisella standardi-DFU-käynnistyslataimella kaikilla korteilla — laiteohjelmiston päivitysmekanismi muuttui; päivitä flashaustyönkulkusi/työkalusi sen mukaisesti. OpenMV Pro -kortti, erillinen Raspberry Pi Pico -käännös sekä WiFi-virheenkorjauksen (wifidbg) etä-IDE-ominaisuus poistettiin.
Commits: a03fc90d8, c2e616aae, af3ea774b, f8bca9799, 59a38a0d3, 7edeb4fbe, d58d77fa2
Siirtymän tarkistuslista¶
Puhtaaseen siirtymiseen versioon v4.6.0 tyypillinen työ on:
Skaalaa jokainen piirtämisen/päällyksen
alpha-arvo alueelta 0–256 alueelle 0–255 (alpha-alueen muutos).Nimeä kaikki FLIR Lepton -ioctl-vakiot lyhennettyihin muotoihinsa (Lepton-ioctl-uudelleennimeäminen).
Jos käytit uusia ML-jälkikäsittelijöitä, vaihda
score_thresholdarvoonthreshold, käsittele()-tyhjä tulos ja päivitäyolo_v5_224_nano-mallin nimi (ML-muutokset).Tarkista
find_keypoints()-pohjaiset putket uudelleen AGAST-tunnistimen muutoksen vuoksi (kulmantunnistimen muutos).Päivitä laiteohjelmiston flashaustyönkulkusi uudelle DFU-käynnistyslataimelle (käynnistyslataimen/korttien muutokset).