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()مع النموذج ومدخلاته ومخرجاته الخام. يُرجع قائمة من قوائم الكشف لكل فئة. كل كشف هو صف((x, y, w, h), score). تُضمَّن قوائم الفئات الفارغة بحيث يطابق موضع كل قائمة في الإخراج فهرس الفئة في إخراج النموذج. يُرجع صفًا فارغًا عندما لا يُكتشف شيء.
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الحد الأدنى لدرجة الفئة المطلوب للاحتفاظ بصندوق ما قبل كبت غير الحد الأقصى (non-max-suppression).nms_thresholdعتبة IoU المُمرَّرة إلى الكبح غير الأقصى.nms_sigmaقيمة سيغما المُمرَّرة إلى الكبح غير الأقصى (soft-NMS).- __call__(model: ml.Model, inputs: list, outputs: list) list#
يُستدعى بواسطة
ml.Model.predict()مع النموذج ومدخلاته ومخرجاته الخام. يُرجع قائمة من قوائم الكشف لكل فئة. كل كشف هو صف((x, y, w, h), score)بإحداثيات ROI. تُضمَّن قوائم الفئات الفارغة بحيث يطابق موضع كل قائمة في الإخراج فهرس الفئة في إخراج النموذج. يُرجع صفًا فارغًا عندما لا يُكتشف شيء.
مثال:
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)