ml.postprocessing.mediapipe — Google Mediapipe

Modul ml.postprocessing.mediapipe obsahuje následné procesory pro modely Google Mediapipe.

class mediapipe_detection_postprocess – Obecný detektor Mediapipe

Základní třída sdílená třídami BlazeFace a BlazePalm. Dekóduje ohraničující rámečky a klíčové body založené na kotvách a poté provádí 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)

Vytvoří obecný následný procesor detekce Mediapipe.

threshold Práh skóre uplatněný na surové logity před sigmoidou.

anchors Volitelné předem sestavené pole kotev tvaru (N, 2) obsahující středy (cx, cy) normalizované na [0, 1]. Je-li None, jsou kotvy generovány z anchor_grid.

anchor_grid Seznam n-tic (grid_size, scales) použitých ke generování kotev, když je anchors rovno None.

scores Seznam indexů výstupů modelu, které obsahují tenzory skóre.

cords Seznam indexů výstupů modelu, které obsahují tenzory rámečků/klíčových bodů.

nms_threshold Práh IoU pro potlačení nemaxim (non-maximum suppression).

nms_sigma Sigma pro pokles skóre u soft-NMS.

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

Provede následné zpracování výstupů modelu a vrátí seznam n-tic ((x, y, w, h), score, keypoints). Vrací prázdnou n-tici (), pokud žádná detekce nepřekročí práh skóre.

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

Dekóduje a přidá ohraničující rámečky z jediné výstupní dvojice (score, cords) do zadaného akumulátoru NMS.

class BlazeFace – Detekce obličeje

Provádí následné zpracování výstupu modelu BlazeFace.

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

Vytvoří následný procesor BlazeFace. Používá mřížku kotev [(16, 2), (8, 6)] s výstupy skóre [1, 2] a výstupy rámečků [0, 3].

threshold Práh skóre pro detekce.

anchors Volitelné předem sestavené pole kotev; generováno automaticky, je-li None.

nms_threshold Práh IoU pro potlačení nemaxim (non-maximum suppression).

nms_sigma Sigma pro pokles skóre u soft-NMS.

Vrací z __call__ seznam n-tic ((x, y, w, h), score, keypoints), kde keypoints je seznam bodů (x, y).

class BlazePalm – Detekce dlaně

Provádí následné zpracování výstupu modelu BlazePalm.

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

Vytvoří následný procesor BlazePalm. Používá mřížku kotev [(24, 2), (12, 6)] s výstupy skóre [0] a výstupy rámečků [1].

threshold Práh skóre pro detekce.

anchors Volitelné předem sestavené pole kotev; generováno automaticky, je-li None.

nms_threshold Práh IoU pro potlačení nemaxim (non-maximum suppression).

nms_sigma Sigma pro pokles skóre u soft-NMS.

Vrací z __call__ seznam n-tic ((x, y, w, h), score, keypoints), kde keypoints je seznam bodů (x, y).

class FaceLandmarks – Význačné body obličeje

Provádí následné zpracování výstupu modelu FaceLandmarks.

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

Vytvoří následný procesor FaceLandmarks.

threshold Práh skóre (po sigmoidě) pro přijetí detekce.

nms_threshold Práh IoU pro potlačení nemaxim (non-maximum suppression).

nms_sigma Sigma pro pokles skóre u soft-NMS.

Vrací z __call__ seznam n-tic ((x, y, w, h), score, keypoints), kde keypoints je seznam bodů (x, y, z).

class HandLandmarks – Význačné body ruky

Provádí následné zpracování výstupu modelu HandLandmarks.

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

Vytvoří následný procesor HandLandmarks.

threshold Práh skóre pro přijetí detekce.

nms_threshold Práh IoU pro potlačení nemaxim (non-maximum suppression).

nms_sigma Sigma pro pokles skóre u soft-NMS.

Vrací z __call__ [[((x, y, w, h), score, keypoints)]], s jedním vnitřním seznamem na každou třídu strannosti ruky (levá=0, pravá=1). keypoints je seznam bodů (x, y, z). Prázdné seznamy tříd jsou zachovány, takže index každého seznamu odpovídá indexu třídy.

class MoveNet – Odhad pózy

Provádí následné zpracování výstupu modelu MoveNet pro jednu pózu.

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

Vytvoří následný procesor MoveNet.

threshold Práh spolehlivosti pro jednotlivé klíčové body; klíčové body pod touto hodnotou jsou vyloučeny z ohraničujícího rámečku a průměrného skóre.

nms_threshold Práh IoU pro potlačení nemaxim (non-maximum suppression).

nms_sigma Sigma pro pokles skóre u soft-NMS.

Vrací z __call__ seznam n-tic ((x, y, w, h), score, keypoints), kde keypoints je seznam bodů (x, y, score) ve vstupních pixelových souřadnicích.