ml.postprocessing.mediapipe — Google Mediapipe

Modulul ml.postprocessing.mediapipe conține post-procesoare pentru modelele Google Mediapipe.

class mediapipe_detection_postprocess – Detector Mediapipe generic

Clasă de bază partajată de BlazeFace și BlazePalm. Decodează casetele de încadrare și punctele-cheie bazate pe ancore, apoi efectuează 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)

Creează un post-procesor generic de detectare Mediapipe.

threshold Pragul de scor aplicat logiturilor brute înainte de sigmoid.

anchors Tablou de ancore preconstruit opțional, de formă (N, 2), care conține centrele (cx, cy) normalizate la [0, 1]. Dacă este None, ancorele sunt generate din anchor_grid.

anchor_grid Listă de tupluri (grid_size, scales) folosită pentru a genera ancore când anchors este None.

scores Lista de indici de ieșire ai modelului care conțin tensori de scor.

cords Lista de indici de ieșire ai modelului care conțin tensori de casetă/punct-cheie.

nms_threshold Pragul IoU pentru suprimarea non-maximelor.

nms_sigma Sigma pentru atenuarea scorului în soft-NMS.

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

Rulează post-procesarea pe ieșirile modelului și returnează o listă de tupluri ((x, y, w, h), score, keypoints). Returnează un tuplu gol () când nicio detectare nu depășește pragul de scor.

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

Decodează și adaugă casete de încadrare dintr-o singură pereche de ieșire (score, cords) în acumulatorul NMS furnizat.

class BlazeFace – Detectare facială

Post-procesează ieșirea modelului BlazeFace.

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

Creează un post-procesor BlazeFace. Folosește o grilă de ancore [(16, 2), (8, 6)] cu ieșiri de scor [1, 2] și ieșiri de casetă [0, 3].

threshold Pragul de scor pentru detectări.

anchors Tablou de ancore preconstruit opțional; generat automat dacă este None.

nms_threshold Pragul IoU pentru suprimarea non-maximelor.

nms_sigma Sigma pentru atenuarea scorului în soft-NMS.

Returnează o listă de tupluri ((x, y, w, h), score, keypoints) din __call__, unde keypoints este o listă de puncte (x, y).

class BlazePalm – Detectare palmă

Post-procesează ieșirea modelului BlazePalm.

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

Creează un post-procesor BlazePalm. Folosește o grilă de ancore [(24, 2), (12, 6)] cu ieșiri de scor [0] și ieșiri de casetă [1].

threshold Pragul de scor pentru detectări.

anchors Tablou de ancore preconstruit opțional; generat automat dacă este None.

nms_threshold Pragul IoU pentru suprimarea non-maximelor.

nms_sigma Sigma pentru atenuarea scorului în soft-NMS.

Returnează o listă de tupluri ((x, y, w, h), score, keypoints) din __call__, unde keypoints este o listă de puncte (x, y).

class FaceLandmarks – Repere faciale

Post-procesează ieșirea modelului FaceLandmarks.

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

Creează un post-procesor FaceLandmarks.

threshold Pragul de scor (după sigmoid) pentru acceptarea unei detectări.

nms_threshold Pragul IoU pentru suprimarea non-maximelor.

nms_sigma Sigma pentru atenuarea scorului în soft-NMS.

Returnează o listă de tupluri ((x, y, w, h), score, keypoints) din __call__, unde keypoints este o listă de puncte (x, y, z).

class HandLandmarks – Repere ale mâinii

Post-procesează ieșirea modelului HandLandmarks.

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

Creează un post-procesor HandLandmarks.

threshold Pragul de scor pentru acceptarea unei detectări.

nms_threshold Pragul IoU pentru suprimarea non-maximelor.

nms_sigma Sigma pentru atenuarea scorului în soft-NMS.

Returnează [[((x, y, w, h), score, keypoints)]] din __call__, cu o listă internă pentru fiecare clasă de lateralitate (stânga=0, dreapta=1). keypoints este o listă de puncte (x, y, z). Listele de clasă goale sunt păstrate astfel încât indicele fiecărei liste să corespundă indicelui de clasă.

class MoveNet – Estimarea posturii

Post-procesează ieșirea modelului MoveNet pentru o singură postură.

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

Creează un post-procesor MoveNet.

threshold Pragul de încredere per punct-cheie; punctele-cheie sub această valoare sunt excluse din caseta de încadrare și din scorul mediu.

nms_threshold Pragul IoU pentru suprimarea non-maximelor.

nms_sigma Sigma pentru atenuarea scorului în soft-NMS.

Returnează o listă de tupluri ((x, y, w, h), score, keypoints) din __call__, unde keypoints este o listă de puncte (x, y, score) în coordonate de pixeli de intrare.