A estimativa de pose é a tarefa de usar um modelo de ML para estimar a pose de uma pessoa a partir de uma imagem ou vídeo, estimando as localizações espaciais das principais articulações do corpo (pontos-chave).
iniciar
Se você é novo no TensorFlow Lite e está trabalhando com Android ou iOS, explore os aplicativos de exemplo a seguir que podem ajudá-lo a começar.
Exemplo de Android Exemplo de iOS
Se você estiver familiarizado com as APIs do TensorFlow Lite , baixe o modelo inicial de estimativa de pose MoveNet e os arquivos de suporte.
Se você quiser experimentar a estimativa de pose em um navegador da Web, confira a Demo do TensorFlow JS .
Descrição do modelo
Como funciona
A estimativa de pose refere-se a técnicas de visão computacional que detectam figuras humanas em imagens e vídeos, para que se possa determinar, por exemplo, onde o cotovelo de alguém aparece em uma imagem. É importante estar ciente do fato de que a estimativa de pose apenas estima onde estão as principais articulações do corpo e não reconhece quem está em uma imagem ou vídeo.
Os modelos de estimativa de pose pegam uma imagem de câmera processada como entrada e emitem informações sobre pontos-chave. Os pontos-chave detectados são indexados por um ID de peça, com uma pontuação de confiança entre 0,0 e 1,0. A pontuação de confiança indica a probabilidade de existir um ponto-chave nessa posição.
Fornecemos implementação de referência de dois modelos de estimativa de pose do TensorFlow Lite:
- MoveNet: o modelo de estimativa de pose de última geração disponível em dois sabores: Lighting e Thunder. Veja uma comparação entre esses dois na seção abaixo.
- PoseNet: o modelo de estimativa de pose da geração anterior lançado em 2017.
As várias articulações do corpo detectadas pelo modelo de estimativa de pose são tabuladas abaixo:
Identidade | Papel |
---|---|
0 | nariz |
1 | olho esquerdo |
2 | olho direito |
3 | orelha esquerda |
4 | orelha direita |
5 | ombro esquerdo |
6 | ombro direito |
7 | cotovelo esquerdo |
8 | cotovelo direito |
9 | pulso esquerdo |
10 | pulso direito |
11 | quadril esquerdo |
12 | quadril direito |
13 | joelho esquerdo |
14 | joelho direito |
15 | tornozelo esquerdo |
16 | Tornozelo direito |
Um exemplo de saída é mostrado abaixo:
Referências de desempenho
O MoveNet está disponível em dois sabores:
- O MoveNet.Lightning é menor, mais rápido, mas menos preciso que a versão Thunder. Ele pode ser executado em tempo real em smartphones modernos.
- O MoveNet.Thunder é a versão mais precisa, mas também maior e mais lenta que o Lightning. É útil para os casos de uso que exigem maior precisão.
O MoveNet supera o PoseNet em uma variedade de conjuntos de dados, especialmente em imagens com imagens de ação de fitness. Portanto, recomendamos o uso do MoveNet em vez do PoseNet.
Os números de referência de desempenho são gerados com a ferramenta descrita aqui . Os números de precisão (mAP) são medidos em um subconjunto do conjunto de dados COCO no qual filtramos e recortamos cada imagem para conter apenas uma pessoa .
Modelo | Tamanho (MB) | mapa | Latência (ms) | ||
---|---|---|---|---|---|
Pixel 5 - threads da CPU 4 | Pixel 5 - GPU | Raspberry Pi 4 - CPU 4 threads | |||
MoveNet.Thunder (FP16 quantizado) | 12,6 MB | 72,0 | 155ms | 45ms | 594 ms |
MoveNet.Thunder (INT8 quantizado) | 7,1 MB | 68,9 | 100 ms | 52ms | 251 ms |
MoveNet.Lightning (FP16 quantizado) | 4,8 MB | 63,0 | 60ms | 25ms | 186 ms |
MoveNet.Lightning (INT8 quantizado) | 2,9 MB | 57,4 | 52ms | 28ms | 95ms |
PoseNet (backbone MobileNetV1, FP32) | 13,3 MB | 45,6 | 80ms | 40ms | 338 ms |
Leitura adicional e recursos
- Confira esta postagem do blog para saber mais sobre a estimativa de pose usando o MoveNet e o TensorFlow Lite.
- Confira esta postagem do blog para saber mais sobre estimativa de pose na web.
- Confira este tutorial para saber como executar o MoveNet em Python usando um modelo do TensorFlow Hub.
- Coral/EdgeTPU pode fazer com que a estimativa de pose seja executada muito mais rapidamente em dispositivos de borda. Consulte Modelos otimizados para EdgeTPU para obter mais detalhes.
- Leia o artigo PoseNet aqui
Além disso, confira esses casos de uso de estimativa de pose.