ml.postprocessing.edgeimpulse — Edge Impulse#

ml.postprocessing.edgeimpulse-moduuli sisältää jälkikäsittelyluokkia Edge Impulse -malleille.

luokka Fomo – Fast Objects More Objects#

Jälkikäsittelijä FOMO (Fast Objects More Objects) -mallin ulostulolle.

class ml.postprocessing.edgeimpulse.Fomo(threshold: float = 0.4, w_scale: float = 1.414214, h_scale: float = 1.414214, nms_threshold: float = 0.1, nms_sigma: float = 0.001)#

Luo FOMO-jälkikäsittelijän.

threshold vähimmäispistemäärä, joka tunnistuksen on saavutettava, jotta se säilytetään.

w_scale vaakasuuntainen skaalauskerroin, jota sovelletaan ruudukon solun leveyteen ennen non-max-suppression -käsittelyä. Suuremmat arvot saavat naapurisolut yhdistymään yhdeksi tunnistukseksi.

h_scale pystysuuntainen skaalauskerroin, jota sovelletaan ruudukon solun korkeuteen ennen non-max-suppression -käsittelyä. Suuremmat arvot saavat naapurisolut yhdistymään yhdeksi tunnistukseksi.

nms_threshold IoU-kynnysarvo, joka välitetään non-max-suppression -käsittelylle.

nms_sigma sigma-arvo, joka välitetään non-max-suppression -käsittelylle (soft-NMS).

__call__(model: ml.Model, inputs: list, outputs: list) → list#

Kutsutaan kohteesta ml.Model.predict() mallin, sen syötteiden ja sen raakaulostulojen kanssa. Palauttaa luettelon luokkakohtaisista tunnistusluetteloista. Kukin tunnistus on ((x, y, w, h), score) -monikko. Tyhjät luokkaluettelot sisällytetään, jotta kunkin luettelon paikka ulostulossa vastaa mallin ulostulon luokkaindeksiä. Palauttaa tyhjän monikon, kun mitään ei tunnisteta.

luokka YoloPro – YOLO Pro#

Jälkikäsittelijä Edge Impulse YOLO Pro -objektintunnistusmallin ulostulolle. YOLO Pro -mallit tuottavat yhden rivin jokaista ehdokaslaatikkoa kohti; rivi sisältää arvot xmin, ymin, xmax, ymax (normalisoituina syötteeseen) ja niiden perässä luokkakohtaisen pistemäärävektorin. Katso tällaisen mallin kouluttamisesta YOLO Pro -dokumentaatio.

class ml.postprocessing.edgeimpulse.YoloPro(threshold: float = 0.6, nms_threshold: float = 0.1, nms_sigma: float = 0.1)#

Luo YOLO Pro -jälkikäsittelijän.

threshold luokkapistemäärän vähimmäisarvo, joka laatikon on saavutettava, jotta se säilytetään ennen non-max-suppression-käsittelyä.

nms_threshold IoU-kynnysarvo, joka välitetään non-max-suppression -käsittelylle.

nms_sigma sigma-arvo, joka välitetään non-max-suppression -käsittelylle (soft-NMS).

__call__(model: ml.Model, inputs: list, outputs: list) → list#

ml.Model.predict() kutsuu tätä mallilla, sen syötteillä ja sen raakaulostuloilla. Palauttaa listan luokkakohtaisista tunnistuslistoista. Jokainen tunnistus on ((x, y, w, h), score)-monikko ROI-koordinaateissa. Tyhjät luokkalistat sisällytetään mukaan, jotta kunkin listan sijainti ulostulossa vastaa luokkaindeksiä mallin ulostulossa. Palauttaa tyhjän monikon, kun mitään ei tunnisteta.

Esimerkki:

import csi
import ml
from ml.postprocessing.edgeimpulse import YoloPro

csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.VGA)

model = ml.Model("/rom/<model_file_name>", postprocess=YoloPro(threshold=0.4))

while True:
    img = csi0.snapshot()
    for i, detections in enumerate(model.predict([img])):
        for (x, y, w, h), score in detections:
            img.draw_rectangle(x, y, w, h)
            print(model.labels[i], score)