ml.postprocessing.mediapipe — Google Mediapipe

Il modulo ml.postprocessing.mediapipe contiene post-elaboratori per i modelli Google Mediapipe.

class mediapipe_detection_postprocess – Rilevatore Mediapipe generico

Classe base condivisa da BlazeFace e BlazePalm. Decodifica bounding box e keypoint basati su anchor, quindi esegue la NMS.

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)

Crea un post-elaboratore di rilevamento Mediapipe generico.

threshold Soglia di punteggio applicata ai logit grezzi prima della sigmoide.

anchors Array di anchor pre-costruito opzionale di forma (N, 2) contenente i centri (cx, cy) normalizzati a [0, 1]. Se None, gli anchor vengono generati da anchor_grid.

anchor_grid Elenco di tuple (grid_size, scales) utilizzate per generare gli anchor quando anchors è None.

scores Elenco degli indici di output del modello che contengono i tensori di punteggio.

cords Elenco degli indici di output del modello che contengono i tensori di box/keypoint.

nms_threshold Soglia IoU per la non-maximum suppression.

nms_sigma Sigma per il decadimento del punteggio della soft-NMS.

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

Esegue la post-elaborazione sugli output del modello e restituisce un elenco di tuple ((x, y, w, h), score, keypoints). Restituisce una tupla vuota () quando nessun rilevamento supera la soglia di punteggio.

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

Decodifica e aggiunge i bounding box da una singola coppia di output (score, cords) all’accumulatore NMS fornito.

class BlazeFace – Rilevamento volti

Post-elabora l’output del modello BlazeFace.

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

Crea un post-elaboratore BlazeFace. Utilizza una griglia di anchor [(16, 2), (8, 6)] con output di punteggio [1, 2] e output di box [0, 3].

threshold Soglia di punteggio per i rilevamenti.

anchors Array di anchor pre-costruito opzionale; generato automaticamente se None.

nms_threshold Soglia IoU per la non-maximum suppression.

nms_sigma Sigma per il decadimento del punteggio della soft-NMS.

Restituisce un elenco di tuple ((x, y, w, h), score, keypoints) da __call__, dove keypoints è un elenco di punti (x, y).

class BlazePalm – Rilevamento palmo

Post-elabora l’output del modello BlazePalm.

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

Crea un post-elaboratore BlazePalm. Utilizza una griglia di anchor [(24, 2), (12, 6)] con output di punteggio [0] e output di box [1].

threshold Soglia di punteggio per i rilevamenti.

anchors Array di anchor pre-costruito opzionale; generato automaticamente se None.

nms_threshold Soglia IoU per la non-maximum suppression.

nms_sigma Sigma per il decadimento del punteggio della soft-NMS.

Restituisce un elenco di tuple ((x, y, w, h), score, keypoints) da __call__, dove keypoints è un elenco di punti (x, y).

class FaceLandmarks – Punti di riferimento del volto

Post-elabora l’output del modello FaceLandmarks.

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

Crea un post-elaboratore FaceLandmarks.

threshold Soglia di punteggio (dopo la sigmoide) per accettare un rilevamento.

nms_threshold Soglia IoU per la non-maximum suppression.

nms_sigma Sigma per il decadimento del punteggio della soft-NMS.

Restituisce un elenco di tuple ((x, y, w, h), score, keypoints) da __call__, dove keypoints è un elenco di punti (x, y, z).

class HandLandmarks – Punti di riferimento della mano

Post-elabora l’output del modello HandLandmarks.

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

Crea un post-elaboratore HandLandmarks.

threshold Soglia di punteggio per accettare un rilevamento.

nms_threshold Soglia IoU per la non-maximum suppression.

nms_sigma Sigma per il decadimento del punteggio della soft-NMS.

Restituisce [[((x, y, w, h), score, keypoints)]] da __call__, con un elenco interno per ciascuna classe di lateralità (sinistra=0, destra=1). keypoints è un elenco di punti (x, y, z). Gli elenchi di classe vuoti vengono preservati in modo che l’indice di ciascun elenco corrisponda all’indice di classe.

class MoveNet – Stima della posa

Post-elabora l’output del modello MoveNet a posa singola.

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

Crea un post-elaboratore MoveNet.

threshold Soglia di confidenza per keypoint; i keypoint al di sotto di questo valore vengono esclusi dal bounding box e dal punteggio medio.

nms_threshold Soglia IoU per la non-maximum suppression.

nms_sigma Sigma per il decadimento del punteggio della soft-NMS.

Restituisce un elenco di tuple ((x, y, w, h), score, keypoints) da __call__, dove keypoints è un elenco di punti (x, y, score) in coordinate pixel di input.