ml.postprocessing.edgeimpulse — Edge Impulse#
De ml.postprocessing.edgeimpulse-module bevat nabewerkingsklassen voor Edge Impulse-modellen.
class Fomo – Fast Objects More Objects#
Nabewerker voor de uitvoer van FOMO-modellen (Fast Objects More Objects).
- 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)#
Maakt een FOMO-nabewerker aan.
thresholdminimale score die vereist is om een detectie te behouden.w_scalehorizontale schaalfactor die wordt toegepast op de breedte van de rastercel vóór non-max-suppression. Grotere waarden zorgen ervoor dat naburige cellen worden samengevoegd tot één detectie.h_scaleverticale schaalfactor die wordt toegepast op de hoogte van de rastercel vóór non-max-suppression. Grotere waarden zorgen ervoor dat naburige cellen worden samengevoegd tot één detectie.nms_thresholdIoU-drempelwaarde die wordt doorgegeven aan non-max-suppression.nms_sigmasigma-waarde die wordt doorgegeven aan non-max-suppression (soft-NMS).- __call__(model: ml.Model, inputs: list, outputs: list) list#
Aangeroepen door
ml.Model.predict()met het model, de invoer ervan en de ruwe uitvoer ervan. Retourneert een lijst met per-klasse detectielijsten. Elke detectie is een((x, y, w, h), score)-tuple. Lege klasselijsten worden opgenomen zodat de positie van elke lijst in de uitvoer overeenkomt met de klasse-index in de model-uitvoer. Retourneert een lege tuple wanneer er niets wordt gedetecteerd.
class YoloPro – YOLO Pro#
Post-processor voor de uitvoer van Edge Impulse YOLO Pro-objectdetectiemodellen. YOLO Pro-modellen geven per kandidaatbox één rij met xmin, ymin, xmax, ymax (genormaliseerd naar de invoer), gevolgd door een scorevector per klasse. Zie de YOLO Pro-documentatie voor het trainen van zo’n model.
- class ml.postprocessing.edgeimpulse.YoloPro(threshold: float = 0.6, nms_threshold: float = 0.1, nms_sigma: float = 0.1)#
Maakt een YOLO Pro-post-processor aan.
thresholdminimale klassescore die een box nodig heeft om vóór non-max-suppression behouden te blijven.nms_thresholdIoU-drempelwaarde die wordt doorgegeven aan non-max-suppression.nms_sigmasigma-waarde die wordt doorgegeven aan non-max-suppression (soft-NMS).- __call__(model: ml.Model, inputs: list, outputs: list) list#
Aangeroepen door
ml.Model.predict()met het model, de invoer ervan en de ruwe uitvoer ervan. Retourneert een lijst met per-klasse detectielijsten. Elke detectie is een((x, y, w, h), score)-tuple in ROI-coördinaten. Lege klasselijsten worden opgenomen zodat de positie van elke lijst in de uitvoer overeenkomt met de klasse-index in de modeluitvoer. Retourneert een lege tuple wanneer er niets wordt gedetecteerd.
Voorbeeld:
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)