ml.postprocessing.edgeimpulse --- Edge Impulse#
Modul ml.postprocessing.edgeimpulse berisi kelas pasca-pemrosesan untuk model Edge Impulse.
class Fomo -- Fast Objects More Objects#
Pasca-prosesor untuk output model 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)#
Membuat pasca-prosesor FOMO.
thresholdskor minimum yang diperlukan agar sebuah deteksi dapat disimpan.w_scalefaktor skala horizontal yang diterapkan pada lebar sel grid sebelum non-max-suppression. Nilai yang lebih besar menyebabkan sel-sel yang berdekatan digabungkan menjadi satu deteksi.h_scalefaktor skala vertikal yang diterapkan pada tinggi sel grid sebelum non-max-suppression. Nilai yang lebih besar menyebabkan sel-sel yang berdekatan digabungkan menjadi satu deteksi.nms_thresholdAmbang batas IoU yang diteruskan ke non-max-suppression.nms_sigmanilai sigma yang diteruskan ke non-max-suppression (soft-NMS).- __call__(model: ml.Model, inputs: list, outputs: list) list#
Dipanggil oleh
ml.Model.predict()dengan model, inputnya, dan output mentahnya. Mengembalikan daftar daftar deteksi per-kelas. Setiap deteksi adalah tuple((x, y, w, h), score). Daftar kelas yang kosong tetap disertakan agar posisi setiap daftar dalam output sesuai dengan indeks kelas dalam output model. Mengembalikan tuple kosong ketika tidak ada yang terdeteksi.
class YoloPro -- YOLO Pro#
Pasca-prosesor untuk output model deteksi objek YOLO Pro dari Edge Impulse. Model YOLO Pro menghasilkan satu baris per kotak kandidat yang berisi xmin, ymin, xmax, ymax (dinormalisasi terhadap input) diikuti oleh vektor skor per-kelas. Lihat dokumentasi YOLO Pro untuk melatih model semacam itu.
- class ml.postprocessing.edgeimpulse.YoloPro(threshold: float = 0.6, nms_threshold: float = 0.1, nms_sigma: float = 0.1)#
Membuat pasca-prosesor YOLO Pro.
thresholdskor kelas minimum yang diperlukan agar sebuah kotak dipertahankan sebelum non-max-suppression.nms_thresholdAmbang batas IoU yang diteruskan ke non-max-suppression.nms_sigmanilai sigma yang diteruskan ke non-max-suppression (soft-NMS).- __call__(model: ml.Model, inputs: list, outputs: list) list#
Dipanggil oleh
ml.Model.predict()dengan model, inputnya, dan output mentahnya. Mengembalikan daftar daftar deteksi per-kelas. Setiap deteksi adalah tuple((x, y, w, h), score)dalam koordinat ROI. Daftar kelas yang kosong tetap disertakan agar posisi setiap daftar dalam output sesuai dengan indeks kelas dalam output model. Mengembalikan tuple kosong ketika tidak ada yang terdeteksi.
Contoh:
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)