ml.postprocessing.mediapipe — Google Mediapipe

Moduł ml.postprocessing.mediapipe zawiera post-procesory dla modeli Google Mediapipe.

klasa mediapipe_detection_postprocess – Ogólny detektor Mediapipe

Klasa bazowa współdzielona przez BlazeFace i BlazePalm. Dekoduje ramki ograniczające oparte na kotwicach oraz punkty kluczowe, a następnie wykonuje 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)

Tworzy ogólny post-procesor wykrywania Mediapipe.

threshold Próg wyniku stosowany do surowych logitów przed sigmoidą.

anchors Opcjonalna gotowa tablica kotwic o kształcie (N, 2) zawierająca środki (cx, cy) znormalizowane do [0, 1]. Jeśli None, kotwice są generowane z anchor_grid.

anchor_grid Lista krotek (grid_size, scales) używana do generowania kotwic, gdy anchors ma wartość None.

scores Lista indeksów wyjść modelu zawierających tensory wyników.

cords Lista indeksów wyjść modelu zawierających tensory ramek/punktów kluczowych.

nms_threshold Próg IoU dla tłumienia niemaksymalnego.

nms_sigma Sigma dla zaniku wyniku soft-NMS.

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

Wykonuje przetwarzanie końcowe na wyjściach modelu i zwraca listę krotek ((x, y, w, h), score, keypoints). Zwraca pustą krotkę (), gdy żadne wykrycie nie przekroczy progu wyniku.

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

Dekoduje i dodaje ramki ograniczające z pojedynczej pary wyjściowej (score, cords) do podanego akumulatora NMS.

klasa BlazeFace – Wykrywanie twarzy

Przetwarza końcowo wyjście 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)

Tworzy post-procesor BlazeFace. Używa siatki kotwic [(16, 2), (8, 6)] z wyjściami wyników [1, 2] i wyjściami ramek [0, 3].

threshold Próg wyniku dla wykryć.

anchors Opcjonalna gotowa tablica kotwic; generowana automatycznie, jeśli None.

nms_threshold Próg IoU dla tłumienia niemaksymalnego.

nms_sigma Sigma dla zaniku wyniku soft-NMS.

Zwraca listę krotek ((x, y, w, h), score, keypoints) z __call__, gdzie keypoints to lista punktów (x, y).

klasa BlazePalm – Wykrywanie dłoni

Przetwarza końcowo wyjście 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)

Tworzy post-procesor BlazePalm. Używa siatki kotwic [(24, 2), (12, 6)] z wyjściami wyników [0] i wyjściami ramek [1].

threshold Próg wyniku dla wykryć.

anchors Opcjonalna gotowa tablica kotwic; generowana automatycznie, jeśli None.

nms_threshold Próg IoU dla tłumienia niemaksymalnego.

nms_sigma Sigma dla zaniku wyniku soft-NMS.

Zwraca listę krotek ((x, y, w, h), score, keypoints) z __call__, gdzie keypoints to lista punktów (x, y).

klasa FaceLandmarks – Punkty charakterystyczne twarzy

Przetwarza końcowo wyjście modelu FaceLandmarks.

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

Tworzy post-procesor FaceLandmarks.

threshold Próg wyniku (po sigmoidzie) dla zaakceptowania wykrycia.

nms_threshold Próg IoU dla tłumienia niemaksymalnego.

nms_sigma Sigma dla zaniku wyniku soft-NMS.

Zwraca listę krotek ((x, y, w, h), score, keypoints) z __call__, gdzie keypoints to lista punktów (x, y, z).

klasa HandLandmarks – Punkty charakterystyczne dłoni

Przetwarza końcowo wyjście modelu HandLandmarks.

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

Tworzy post-procesor HandLandmarks.

threshold Próg wyniku dla zaakceptowania wykrycia.

nms_threshold Próg IoU dla tłumienia niemaksymalnego.

nms_sigma Sigma dla zaniku wyniku soft-NMS.

Zwraca [[((x, y, w, h), score, keypoints)]] z __call__, z jedną wewnętrzną listą na każdą klasę ręczności (lewa=0, prawa=1). keypoints to lista punktów (x, y, z). Puste listy klas są zachowywane, aby indeks każdej listy odpowiadał indeksowi klasy.

klasa MoveNet – Estymacja pozy

Przetwarza końcowo wyjście modelu MoveNet dla pojedynczej pozy.

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

Tworzy post-procesor MoveNet.

threshold Próg pewności dla pojedynczego punktu kluczowego; punkty kluczowe poniżej tej wartości są wykluczane z ramki ograniczającej i ze średniego wyniku.

nms_threshold Próg IoU dla tłumienia niemaksymalnego.

nms_sigma Sigma dla zaniku wyniku soft-NMS.

Zwraca listę krotek ((x, y, w, h), score, keypoints) z __call__, gdzie keypoints to lista punktów (x, y, score) we współrzędnych pikseli wejściowych.