ml.postprocessing.edgeimpulse — Edge Impulse#
Modul ml.postprocessing.edgeimpulse sadrži klase za naknadnu obradu Edge Impulse modela.
klasa Fomo – Fast Objects More Objects#
Naknadni obrađivač za izlaz FOMO (Fast Objects More Objects) modela.
- 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)#
Stvara FOMO naknadni obrađivač.
thresholdminimalni rezultat potreban da bi se detekcija zadržala.w_scalehorizontalni faktor skaliranja primijenjen na širinu ćelije mreže prije potiskivanja nemaksimuma. Veće vrijednosti uzrokuju spajanje susjednih ćelija u jednu detekciju.h_scalevertikalni faktor skaliranja primijenjen na visinu ćelije mreže prije potiskivanja nemaksimuma. Veće vrijednosti uzrokuju spajanje susjednih ćelija u jednu detekciju.nms_thresholdIoU prag predan potiskivanju nemaksimuma.nms_sigmasigma vrijednost predana potiskivanju nemaksimuma (soft-NMS).- __call__(model: ml.Model, inputs: list, outputs: list) list#
Poziva ga
ml.Model.predict()s modelom, njegovim ulazima i njegovim sirovim izlazima. Vraća popis popisa detekcija po klasi. Svaka je detekcija n-torka((x, y, w, h), score). Prazni popisi klasa uključeni su kako bi položaj svakog popisa u izlazu odgovarao indeksu klase u izlazu modela. Vraća praznu n-torku kada se ništa ne detektira.
klasa YoloPro – YOLO Pro#
Naknadni obrađivač za izlaz Edge Impulse YOLO Pro modela za detekciju objekata. YOLO Pro modeli daju jedan redak po kandidatskom okviru koji sadrži xmin, ymin, xmax, ymax (normalizirano na ulaz), nakon čega slijedi vektor rezultata po klasi. Za treniranje takvog modela pogledajte dokumentaciju YOLO Pro.
- class ml.postprocessing.edgeimpulse.YoloPro(threshold: float = 0.6, nms_threshold: float = 0.1, nms_sigma: float = 0.1)#
Stvara YOLO Pro naknadni obrađivač.
thresholdminimalni rezultat klase potreban da bi se okvir zadržao prije potiskivanja nemaksimuma (non-max-suppression).nms_thresholdIoU prag predan potiskivanju nemaksimuma.nms_sigmasigma vrijednost predana potiskivanju nemaksimuma (soft-NMS).- __call__(model: ml.Model, inputs: list, outputs: list) list#
Poziva ga
ml.Model.predict()s modelom, njegovim ulazima i njegovim sirovim izlazima. Vraća popis popisa detekcija po klasi. Svaka je detekcija n-torka((x, y, w, h), score)u ROI koordinatama. Prazni popisi klasa uključeni su kako bi položaj svakog popisa u izlazu odgovarao indeksu klase u izlazu modela. Vraća praznu n-torku kada se ništa ne detektira.
Primjer:
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)