Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Ocena pozycji

Zaczynaj

PoseNet to model widzenia, który można wykorzystać do oszacowania pozy osoby na obrazie lub filmie poprzez oszacowanie, gdzie znajdują się kluczowe stawy ciała.

Pobierz model startowy

Jeśli chcesz to poeksperymentować w przeglądarce internetowej, sprawdź repozytorium TensorFlow.js GitHub .

Przykładowe aplikacje i poradniki

Przedstawiamy przykładowe aplikacje TensorFlow Lite demonstrujące model PoseNet zarówno na Androida, jak i iOS.

Przykład systemu Android Przykład iOS

Jak to działa

Szacowanie pozycji odnosi się do technik widzenia komputerowego, które wykrywają postacie ludzkie na obrazach i filmach, aby można było na przykład określić, gdzie na obrazie pojawia się czyjeś łokieć.

Żeby było jasne, ta technologia nie rozpoznaje, kto jest na obrazie. Algorytm po prostu szacuje, gdzie znajdują się kluczowe stawy ciała.

Wykryte kluczowe punkty są indeksowane według „identyfikatora części”, z wynikiem ufności między 0,0 a 1,0, przy czym najwyższy jest 1,0.

ID Część
0 nos
1 lewe oko
2 prawe oko
3 lewe ucho
4 prawe ucho
5 lewe ramię
6 prawe ramię
7 leftElbow
8 rightElbow
9 lewy nadgarstek
10 rightWrist
11 lewe biodro
12 rightHip
13 lewe kolano
14 prawe kolano
15 lewa kostka
16 prawa kostka

Testy wydajności

Numery testów wydajności są generowane za pomocą opisanego tutaj narzędzia.

Nazwa modelu Rozmiar modelu Urządzenie GPU procesor
Posenet 12,7 Mb Pixel 3 (Android 10) 12 ms 31 ms *
Pixel 4 (Android 10) 12 ms 19 ms *
iPhone XS (iOS 12.4.1) 4,8 ms 22 ms **

* 4 używane nici.

** 2 wątki używane na iPhonie w celu uzyskania najlepszej wydajności.

Przykładowe dane wyjściowe

Animacja przedstawiająca szacowanie ułożenia

Jak to działa

Wydajność różni się w zależności od urządzenia i kroku wyjściowego (mapy cieplne i wektory przesunięcia). Model PoseNet jest niezmienny w rozmiarze obrazu, co oznacza, że ​​może przewidywać pozycje ułożenia w tej samej skali co oryginalny obraz, niezależnie od tego, czy obraz jest przeskalowany w dół. Oznacza to, że PoseNet można skonfigurować tak, aby miał wyższą dokładność kosztem wydajności.

Krok wyjścia określa, o ile skalujemy dane wyjściowe w stosunku do rozmiaru obrazu wejściowego. Wpływa na rozmiar warstw i wyniki modelu. Im wyższy krok wyjściowy, tym mniejsza rozdzielczość warstw w sieci i wyjściach, a także odpowiednio ich dokładność. W tej implementacji krok wyjściowy może mieć wartości 8, 16 lub 32. Innymi słowy, krok wyjściowy 32 zapewni najszybszą wydajność, ale najmniejszą dokładność, podczas gdy 8 da najwyższą dokładność, ale najwolniejsze działanie. Zalecamy rozpoczęcie od 16.

Poniższy obraz pokazuje, jak krok wyjściowy określa, o ile skalujemy dane wyjściowe w stosunku do rozmiaru obrazu wejściowego. Wyższy krok wyjściowy jest szybszy, ale skutkuje mniejszą dokładnością.

Wyjściowa rozdzielczość kroku i mapy cieplnej

Przeczytaj więcej o szacowaniu pozy

Przypadków użycia