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.
thresholdvähimmäispistemäärä, joka tunnistuksen on saavutettava, jotta se säilytetään.w_scalevaakasuuntainen skaalauskerroin, jota sovelletaan ruudukon solun leveyteen ennen non-max-suppression -käsittelyä. Suuremmat arvot saavat naapurisolut yhdistymään yhdeksi tunnistukseksi.h_scalepystysuuntainen skaalauskerroin, jota sovelletaan ruudukon solun korkeuteen ennen non-max-suppression -käsittelyä. Suuremmat arvot saavat naapurisolut yhdistymään yhdeksi tunnistukseksi.nms_thresholdIoU-kynnysarvo, joka välitetään non-max-suppression -käsittelylle.nms_sigmasigma-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.
thresholdluokkapistemäärän vähimmäisarvo, joka laatikon on saavutettava, jotta se säilytetään ennen non-max-suppression-käsittelyä.nms_thresholdIoU-kynnysarvo, joka välitetään non-max-suppression -käsittelylle.nms_sigmasigma-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)