ml.postprocessing.edgeimpulse — Edge Impulse#
המודול ml.postprocessing.edgeimpulse מכיל מחלקות לעיבוד מאוחר עבור מודלים של Edge Impulse.
class Fomo – Fast Objects More Objects#
מבצע עיבוד מאוחר עבור פלט מודל 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)#
יוצר מבצע עיבוד מאוחר של FOMO.
thresholdהציון המינימלי הנדרש כדי שזיהוי יישמר.w_scaleגורם סקאלה אופקי המוחל על רוחב תא הרשת לפני דיכוי הלא-מקסימום. ערכים גדולים יותר גורמים למיזוג תאים שכנים לכדי זיהוי יחיד.h_scaleגורם סקאלה אנכי המוחל על גובה תא הרשת לפני דיכוי הלא-מקסימום. ערכים גדולים יותר גורמים למיזוג תאים שכנים לכדי זיהוי יחיד.nms_thresholdסף IoU המועבר לדיכוי הלא-מקסימום.nms_sigmaערך סיגמא המועבר לדיכוי הלא-מקסימום (soft-NMS).- __call__(model: ml.Model, inputs: list, outputs: list) list#
נקרא על ידי
ml.Model.predict()עם המודל, הקלטים שלו והפלטים הגולמיים שלו. מחזיר רשימה של רשימות זיהוי לכל מחלקה. כל זיהוי הוא tuple מסוג((x, y, w, h), score). רשימות מחלקה ריקות נכללות כך שמיקום כל רשימה בפלט תואם לאינדקס המחלקה בפלט המודל. מחזיר tuple ריק כאשר דבר אינו מזוהה.
class YoloPro – YOLO Pro#
מבצע עיבוד מאוחר עבור פלט מודל זיהוי עצמים YOLO Pro של Edge Impulse. מודלי YOLO Pro פולטים שורה אחת לכל תיבה מועמדת, המכילה xmin, ymin, xmax, ymax (מנורמלים לקלט) ואחריהם וקטור ציונים לכל מחלקה. ראו את התיעוד של YOLO Pro לאימון מודל כזה.
- class ml.postprocessing.edgeimpulse.YoloPro(threshold: float = 0.6, nms_threshold: float = 0.1, nms_sigma: float = 0.1)#
יוצר מבצע עיבוד מאוחר של YOLO Pro.
thresholdציון המחלקה המינימלי הנדרש כדי שתיבה תישמר לפני דיכוי הלא-מקסימום.nms_thresholdסף IoU המועבר לדיכוי הלא-מקסימום.nms_sigmaערך סיגמא המועבר לדיכוי הלא-מקסימום (soft-NMS).- __call__(model: ml.Model, inputs: list, outputs: list) list#
נקרא על ידי
ml.Model.predict()עם המודל, הקלטים שלו והפלטים הגולמיים שלו. מחזיר רשימה של רשימות זיהוי לכל מחלקה. כל זיהוי הוא tuple מסוג((x, y, w, h), score)בקואורדינטות ROI. רשימות מחלקה ריקות נכללות כך שמיקום כל רשימה בפלט תואם לאינדקס המחלקה בפלט המודל. מחזיר tuple ריק כאשר דבר אינו מזוהה.
דוגמה:
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)