ml.postprocessing.edgeimpulse — Edge Impulse#
Moduł ml.postprocessing.edgeimpulse zawiera klasy przetwarzania końcowego dla modeli Edge Impulse.
klasa Fomo – Fast Objects More Objects#
Post-procesor dla wyjścia modelu FOMO (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)#
Tworzy post-procesor FOMO.
thresholdminimalny wynik wymagany, aby wykrycie zostało zachowane.w_scalepoziomy współczynnik skali stosowany do szerokości komórki siatki przed tłumieniem niemaksymalnym. Większe wartości powodują scalanie sąsiednich komórek w pojedyncze wykrycie.h_scalepionowy współczynnik skali stosowany do wysokości komórki siatki przed tłumieniem niemaksymalnym. Większe wartości powodują scalanie sąsiednich komórek w pojedyncze wykrycie.nms_thresholdpróg IoU przekazywany do tłumienia niemaksymalnego.nms_sigmawartość sigma przekazywana do tłumienia niemaksymalnego (soft-NMS).- __call__(model: ml.Model, inputs: list, outputs: list) list#
Wywoływany przez
ml.Model.predict()z modelem, jego wejściami i jego surowymi wyjściami. Zwraca listę list wykryć dla poszczególnych klas. Każde wykrycie jest krotką((x, y, w, h), score). Puste listy klas są dołączane, aby pozycja każdej listy w wyjściu odpowiadała indeksowi klasy w wyjściu modelu. Zwraca pustą krotkę, gdy nic nie zostanie wykryte.
klasa YoloPro – YOLO Pro#
Post-procesor dla wyjścia modeli detekcji obiektów Edge Impulse YOLO Pro. Modele YOLO Pro emitują jeden wiersz na każdą ramkę kandydującą, zawierający xmin, ymin, xmax, ymax (znormalizowane względem wejścia), a następnie wektor wyników dla poszczególnych klas. Informacje o trenowaniu takiego modelu znajdziesz w dokumentacji YOLO Pro.
- class ml.postprocessing.edgeimpulse.YoloPro(threshold: float = 0.6, nms_threshold: float = 0.1, nms_sigma: float = 0.1)#
Tworzy post-procesor YOLO Pro.
thresholdminimalny wynik klasy wymagany, aby ramka została zachowana przed tłumieniem niemaksymalnym.nms_thresholdpróg IoU przekazywany do tłumienia niemaksymalnego.nms_sigmawartość sigma przekazywana do tłumienia niemaksymalnego (soft-NMS).- __call__(model: ml.Model, inputs: list, outputs: list) list#
Wywoływany przez
ml.Model.predict()z modelem, jego wejściami i jego surowymi wyjściami. Zwraca listę list wykryć dla poszczególnych klas. Każde wykrycie jest krotką((x, y, w, h), score)we współrzędnych ROI. Puste listy klas są dołączane, aby pozycja każdej listy w wyjściu odpowiadała indeksowi klasy w wyjściu modelu. Zwraca pustą krotkę, gdy nic nie zostanie wykryte.
Przykład:
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)