ml.postprocessing.mediapipe — Google Mediapipe

Das Modul ml.postprocessing.mediapipe enthält Nachbearbeiter für Google-Mediapipe-Modelle.

class mediapipe_detection_postprocess – Generischer Mediapipe-Detektor

Basisklasse, die von BlazeFace und BlazePalm gemeinsam genutzt wird. Dekodiert ankerbasierte Begrenzungsrahmen und Schlüsselpunkte und führt anschließend NMS durch.

class ml.postprocessing.mediapipe.mediapipe_detection_postprocess(threshold: float = 0.6, anchors: ndarray | None = None, anchor_grid: list[tuple[int, int]] | None = None, scores: list[int] = [], cords: list[int] = [], nms_threshold: float = 0.1, nms_sigma: float = 0.1)

Erstellt einen generischen Mediapipe-Nachbearbeiter zur Erkennung.

threshold Schwellenwert für den Score, der vor dem Sigmoid auf die rohen Logits angewendet wird.

anchors Optionales vorberechnetes Anker-Array der Form (N, 2), das die auf [0, 1] normierten (cx, cy)-Zentren enthält. Ist es None, werden die Anker aus anchor_grid erzeugt.

anchor_grid Liste von (grid_size, scales)-Tupeln, die zur Erzeugung der Anker verwendet wird, wenn anchors gleich None ist.

scores Liste von Modellausgabeindizes, die Score-Tensoren enthalten.

cords Liste von Modellausgabeindizes, die Box-/Schlüsselpunkt-Tensoren enthalten.

nms_threshold IoU-Schwellenwert für die Non-Maximum-Suppression.

nms_sigma Sigma für den Score-Abfall bei Soft-NMS.

__call__(model: ml.Model, inputs: list, outputs: list) list

Führt die Nachbearbeitung der Modellausgaben durch und gibt eine Liste von ((x, y, w, h), score, keypoints)-Tupeln zurück. Gibt ein leeres Tupel () zurück, wenn keine Erkennung den Score-Schwellenwert überschreitet.

detection_post_process(ih: int, iw: int, nms: ml.utils.NMS, model: ml.Model, inputs: list, outputs: list, score_idx: int, cords_idx: int, t: float, anchors: ndarray) None

Dekodiert Begrenzungsrahmen aus einem einzelnen (score, cords)-Ausgabepaar und fügt sie dem bereitgestellten NMS-Akkumulator hinzu.

class BlazeFace – Gesichtserkennung

Bearbeitet die Ausgabe von BlazeFace-Modellen nach.

class ml.postprocessing.mediapipe.BlazeFace(threshold: float = 0.6, anchors: ndarray | None = None, nms_threshold: float = 0.1, nms_sigma: float = 0.1)

Erstellt einen BlazeFace-Nachbearbeiter. Verwendet ein Ankergitter von [(16, 2), (8, 6)] mit Score-Ausgaben [1, 2] und Box-Ausgaben [0, 3].

threshold Schwellenwert für den Score von Erkennungen.

anchors Optionales vorberechnetes Anker-Array; wird automatisch erzeugt, falls None.

nms_threshold IoU-Schwellenwert für die Non-Maximum-Suppression.

nms_sigma Sigma für den Score-Abfall bei Soft-NMS.

Gibt aus __call__ eine Liste von ((x, y, w, h), score, keypoints)-Tupeln zurück, wobei keypoints eine Liste von (x, y)-Punkten ist.

class BlazePalm – Handflächenerkennung

Bearbeitet die Ausgabe von BlazePalm-Modellen nach.

class ml.postprocessing.mediapipe.BlazePalm(threshold: float = 0.6, anchors: ndarray | None = None, nms_threshold: float = 0.1, nms_sigma: float = 0.1)

Erstellt einen BlazePalm-Nachbearbeiter. Verwendet ein Ankergitter von [(24, 2), (12, 6)] mit Score-Ausgaben [0] und Box-Ausgaben [1].

threshold Schwellenwert für den Score von Erkennungen.

anchors Optionales vorberechnetes Anker-Array; wird automatisch erzeugt, falls None.

nms_threshold IoU-Schwellenwert für die Non-Maximum-Suppression.

nms_sigma Sigma für den Score-Abfall bei Soft-NMS.

Gibt aus __call__ eine Liste von ((x, y, w, h), score, keypoints)-Tupeln zurück, wobei keypoints eine Liste von (x, y)-Punkten ist.

class FaceLandmarks – Gesichts-Landmarken

Bearbeitet die Ausgabe von FaceLandmarks-Modellen nach.

class ml.postprocessing.mediapipe.FaceLandmarks(threshold: float = 0.6, nms_threshold: float = 0.1, nms_sigma: float = 0.1)

Erstellt einen FaceLandmarks-Nachbearbeiter.

threshold Schwellenwert für den Score (nach Sigmoid) zum Akzeptieren einer Erkennung.

nms_threshold IoU-Schwellenwert für die Non-Maximum-Suppression.

nms_sigma Sigma für den Score-Abfall bei Soft-NMS.

Gibt aus __call__ eine Liste von ((x, y, w, h), score, keypoints)-Tupeln zurück, wobei keypoints eine Liste von (x, y, z)-Punkten ist.

class HandLandmarks – Hand-Landmarken

Bearbeitet die Ausgabe von HandLandmarks-Modellen nach.

class ml.postprocessing.mediapipe.HandLandmarks(threshold: float = 0.6, nms_threshold: float = 0.1, nms_sigma: float = 0.1)

Erstellt einen HandLandmarks-Nachbearbeiter.

threshold Schwellenwert für den Score zum Akzeptieren einer Erkennung.

nms_threshold IoU-Schwellenwert für die Non-Maximum-Suppression.

nms_sigma Sigma für den Score-Abfall bei Soft-NMS.

Gibt aus __call__ [[((x, y, w, h), score, keypoints)]] zurück, mit einer inneren Liste pro Händigkeitsklasse (links=0, rechts=1). keypoints ist eine Liste von (x, y, z)-Punkten. Leere Klassenlisten werden beibehalten, sodass der Index jeder Liste dem Klassenindex entspricht.

class MoveNet – Posenschätzung

Bearbeitet die Ausgabe von MoveNet-Einzelposenmodellen nach.

class ml.postprocessing.mediapipe.MoveNet(threshold: float = 0.6, nms_threshold: float = 0.1, nms_sigma: float = 0.1)

Erstellt einen MoveNet-Nachbearbeiter.

threshold Konfidenzschwellenwert pro Schlüsselpunkt; Schlüsselpunkte unterhalb dieses Werts werden vom Begrenzungsrahmen und vom mittleren Score ausgeschlossen.

nms_threshold IoU-Schwellenwert für die Non-Maximum-Suppression.

nms_sigma Sigma für den Score-Abfall bei Soft-NMS.

Gibt aus __call__ eine Liste von ((x, y, w, h), score, keypoints)-Tupeln zurück, wobei keypoints eine Liste von (x, y, score)-Punkten in Eingabe-Pixelkoordinaten ist.