O que é Estimativa de Poses Humanas?
Estimativa de Pose Humana (EPH), ou Human Pose Estimation, é definida como o problema da localização de juntas humanas, também conhecidas como pontos-chave ou keypoints, como por exemplo cotovelos, joelhos e outras articulações, em imagens ou vídeos. A estimativa de pose humana pode também ser definida como a busca por ou identificação de uma pose específica no âmbito do espaço de todas as poses articuladas possíveis a um esqueleto humano. Por isso essa técnica e muitas vezes também chamada pelo nome mais curto de Identificação de Pose.
EPH pode ser bi ou tridimensional:
- 2D: Na estimativa ou reconhecimento de pose bidimensional o problema consiste em estimar as coordenadas XY de cada junta do esqueleto humano em uma imagem ou vídeo,
- 3D: Na estimativa ou reconhecimento de pose tridimensional o objetivo é identificar as coordenadas x y e z de um espaço virtual inferido a partir de uma imagem, que pode ser uma imagem bidimensional ou, por exemplo, uma imagem estéreo.
A EPH possui muitas aplicações diferentes, como por exemplo:
- Reconhecimento de ações para identificar o que uma pessoa está fazendo ou vai fazer, seja para geração automática de legendas em vídeos, seja, por exemplo para carros autônomos para a identificação da intenção de pedestres, prevenindo que um pedestre que está se dirigindo para Rua seja atropelado,
- Animação, substituindo as caríssimas técnicas de captura de movimento ou MoCap, que exigem hardware muito caro e instalações especiais, para a geração de sequências de movimentos que podem ser depois associadas a personagens de computação gráfica para geração de filmes de animação,
- Produção de Games, também são usadas na captura de movimentos para o registro de ações de personagens ou modelos de ações que mais tarde tem que ser repetidos pelos jogadores,
- Jogo de Games, na captura de movimentos dos jogadores em frente a uma console de games, por exemplo em jogos de competição de dança ou de imitação de gestos ou ações de artes marciais,
- Em medicina do esporte, analisando postura e movimentação de pessoas ao praticar determinados esportes,
- Na narração automatizada de atividades esportivas, escrevendo automaticamente o que os jogadores, por exemplo de um time de futebol, estão fazendo,
- Acompanhamento doméstico de atividades esportivas, através de uma console de games, provendo feedback e corrigindo sequências de Tai-Chi, Yoga e outras atividades de ginástica.
Material Compreensível sobre Estimativa de Poses Humanas
- An Overview of Human Pose Estimation with Deep Learning – An introduction to the techniques used in Human Pose Estimation based on Deep Learning de Bharath Raj
- A 2019 guide to Human Pose Estimation with Deep Learning excelente artigo de Sudharshan Chandra Babu onde os vários modelos iniciais são explicados em detalhe
- Human pose estimation using OpenPose with TensorFlow
No Browser com TensorFlow.js
Usando PyTorch
- Pacotes Detectron2 do Facebook https://github.com/facebookresearch/detectron2
- Keypoint Detection (acha esqueletos de pessoas) – faz parte do Detectron2 padrão, tem exemplo no Jupyter aqui: https://colab.research.google.com/drive/16jcaJoc6bCFAQ96jDe2HwtXj7BMD_-m5#scrollTo=oKBbjnLw5GGG
- Exemplo no YouTube: https://youtu.be/kkDAUXLrAjI
- https://models.roboflow.com/object-detection/detectron2
- DensePose: um jeito mais detalhado, criando um mesh3d da pessoa – é parte adiconal do Detectron2 e não está no core do pacote, mas aqui: https://github.com/facebookresearch/detectron2/tree/master/projects/DensePose
- Página do Projeto: http://densepose.org/
- git adicional https://github.com/facebookresearch/DensePose
- clone com funções de inferência sobre webcam: https://github.com/menandro/densepose-webcam
- AlphaPose – uma implementação alternativa – https://github.com/MVIG-SJTU/AlphaPose
- OpenPose – outra implementação alternativa – https://github.com/CMU-Perceptual-Computing-Lab/openpose
- PoseFlow – mais uma versão -adaptada de AlphaPose – https://github.com/YuliangXiu/PoseFlow
- PoseNet – aqui há tutorial: https://medium.com/tensorflow/real-time-human-pose-estimation-in-the-browser-with-tensorflow-js-7dd0bc881cd5
- BodyPixModel – há um exemplo online – https://storage.googleapis.com/tfjs-models/demos/body-pix/index.html
- pytorch-pose-hg-3d
- 3d_pose_baseline_pytorch
- pytorch_Realtime_Multi-Person_Pose_Estimation
- pytorch-pose
- human-pose-estimation.pytorch
- deep-high-resolution-net.pytorch
TensorFlow
Torch
Usando OpenCV DNN diretamente
- Satya Mallick: Detecção de Poses usando VGG + novas camadas. Deep Learning based Human Pose Estimation using OpenCV
- Medium::New Datasets for 3D Human Pose Estimation
Datasets de Poses
2D
3D
Artigos Científicos
Baseado em parte em Awesome Human Pose Estimation
2D Pose estimation
- Learning Human Pose Estimation Features with Convolutional Networks – Jain, A., Tompson, J., Andriluka, M., Taylor, G.W., & Bregler, C. (ICLR 2013)
- DeepPose: Human Pose Estimation via Deep Neural Networks – Toshev, A., & Szegedy, C. (CVPR 2014)
- Joint Training of a Convolutional Network and a Graphical Model for Human Pose Estimation – [CODE] – Tompson, J., Jain, A., LeCun, Y., & Bregler, C. (NIPS 2014)
- MoDeep: A Deep Learning Framework Using Motion Features for Human Pose Estimation – Jain, A., Tompson, J., LeCun, Y., & Bregler, C. (ACCV 2014)
- Efficient Object Localization Using Convolutional Networks – Tompson, J., Goroshin, R., Jain, A., LeCun, Y., & Bregler, C (CVPR 2015)
- Flowing ConvNets for Human Pose Estimation in Videos – [CODE] – Pfister, T., Charles, J., & Zisserman, A. (ICCV 2015)
- Convolutional Pose Machines – [CODE] – Wei, S., Ramakrishna, V., Kanade, T., & Sheikh, Y. (CVPR 2016)
- Human Pose Estimation with Iterative Error Feedback– [CODE] Carreira, J., Agrawal, P., Fragkiadaki, K., & Malik, J. (CVPR 2016)
- DeepCut: Joint Subset Partition and Labeling for Multi Person Pose Estimation – [CODE] – Pishchulin, L., Insafutdinov, E., Tang, S., Andres, B., Andriluka, M., Gehler, P.V., & Schiele, B. (CVPR 2016)
- DeeperCut: A Deeper, Stronger, and Faster Multi-Person Pose Estimation Model – [CODE1][CODE2] – Insafutdinov, E., Pishchulin, L., Andres, B., Andriluka, M., & Schiele, B. (ECCV 2016)
- Stacked Hourglass Networks for Human Pose Estimation – [CODE] – Newell, A., Yang, K., & Deng, J. (ECCV 2016)
- Multi-context Attention for Human Pose Estimation – [CODE] – Chu, X., Yang, W., Ouyang, W., Ma, C., Yuille, A.L., & Wang, X. (CVPR 2017)
- Towards Accurate Multi-person Pose Estimation in the Wild – [CODE] – Papandreou, G., Zhu, T., Kanazawa, N., Toshev, A., Tompson, J., Bregler, C., & Murphy, K.P. (CVPR 2017)
- Realtime Multi-person 2D Pose Estimation Using Part Affinity Fields – [CODE] – Cao, Z., Simon, T., Wei, S., & Sheikh, Y. (CVPR 2017)
- Learning Feature Pyramids for Human Pose Estimation – [CODE] – Yang, W., Li, S., Ouyang, W., Li, H., & Wang, X. (ICCV 2017)
- Human Pose Estimation Using Global and Local Normalization – Sun, K., Lan, C., Xing, J., Zeng, W., Liu, D., & Wang, J. (ICCV 2017)
- Adversarial PoseNet: A Structure-Aware Convolutional Network for Human Pose Estimation – Chen, Y., Shen, C., Wei, X., Liu, L., & Yang, J. (ICCV 2017)
- RMPE: Regional Multi-person Pose Estimation – [CODE1][CODE2] – Fang, H., Xie, S., & Lu, C. (ICCV 2017)
- Self Adversarial Training for Human Pose Estimation – [CODE1][CODE2] – Chou, C., Chien, J., & Chen, H. (ArXiv 2017)
- Recurrent Human Pose Estimation – [CODE] – Belagiannis, V., & Zisserman, A. (FG 2017)
- Knowledge-Guided Deep Fractal Neural Networks for Human Pose Estimation – [CODE] Ning, G., Zhang, Z., & He, Z. (IEEE Transactions on Multimedia 2018)
- Human Pose Estimation with Parsing Induced Learner– Xuecheng Nie, Jiashi Feng, Yiming Zuo, Shuicheng Yan (CVPR 2018)
- LSTM Pose Machines – [CODE] – Yue Luo, Jimmy Ren, Zhouxia Wang, Wenxiu Sun, Jinshan Pan, Jianbo Liu, Jiahao Pang, Liang Lin (CVPR 2018)
- Simple Baselines for Human Pose Estimation and Tracking – [CODE] – Bin, Xiao, Haiping Wu, Yichen Wei (ECCV 2018)
- Multi-Scale Structure-Aware Network for Human Pose Estimation – Lipeng Ke, Ming-Ching Chang, Honggang Qi, Siwei Lyu (ECCV 2018)
- Deeply Learned Compositional Models for Human Pose Estimation – Wei Tang, Pei Yu, Ying Wu (ECCV 2018)
- Real-time 2D Multi-Person Pose Estimation on CPU: Lightweight OpenPose – [CODE] Osokin, D. (ArXiv 2018)
- Deep High-Resolution Representation Learning for Human Pose Estimation – [CODE] Ke Sun, Bin Xiao, Dong Liu, Jingdong Wang (CVPR 2019)
3D Pose estimation
- 3D Human Pose Estimation from Monocular Images with Deep Convolutional Neural Network – Li, S., & Chan, A.B. (ACCV 2014)
- Structured Prediction of 3D Human Pose with Deep Neural Networks – Tekin, B., Katircioglu, I., Salzmann, M., Lepetit, V., & Fua, P. (BMVC 2016)
- VNect: Real-time 3D Human Pose Estimation with a Single RGB Camera – [CODE] – Mehta, Dushyant et al. (SIGGRAPH 2017)
- Recurrent 3D Pose Sequence Machines – Lin, M., Lin, L., Liang, X., Wang, K., & Cheng, H. (CVPR 2017)
- Lifting from the Deep: Convolutional 3D Pose Estimation from a Single Image – Tomè, D., Russell, C., & Agapito, L. (CVPR 2017)
- Coarse-to-Fine Volumetric Prediction for Single-Image 3D Human Pose – [CODE] – Pavlakos, G., Zhou, X., Derpanis, K.G., & Daniilidis, K. (CVPR 2017)
- Towards 3D Human Pose Estimation in the Wild: a Weakly-supervised Approach – [CODE] – Zhou, X., Huang, Q., Sun, X., Xue, X., & Wei, Y. (ICCV 2017)
- A Simple Yet Effective Baseline for 3d Human Pose Estimation – Martinez, J., Hossain, R., Romero, J., & Little, J.J. (ICCV 2017)
- Compositional Human Pose Regression – Sun, X., Shang, J., Liang, S., & Wei, Y. (ICCV 2017)
- Monocular 3D Human Pose Estimation In The Wild Using Improved CNN Supervision – Mehta, D., Rhodin, H., Casas, D., Fua, P., Sotnychenko, O., Xu, W., & Theobalt, C. (3DV 2017)
- 3D Human Pose Estimation in the Wild by Adversarial Learning – Yang, W., Ouyang, W., Wang, X., Ren, J.S., Li, H., & Wang, X. (2018)
- DRPose3D: Depth Ranking in 3D Human Pose Estimation – Wang, M., Chen, X., Liu, W., Qian, C., Lin, L., & Ma, L. (IJCAI 2018)
- End-to-end Recovery of Human Shape and Pose – [CODE] – Kanazawa, A., Black, M.J., Jacobs, D.W., & Malik, J. (CVPR 2018)
- Learning to Estimate 3D Human Pose and Shape from a Single Color Image – Pavlakos, G., Zhu, L., Zhou, X., & Daniilidis, K. (CVPR 2018)
- Dense Human Pose Estimation In The Wild – [CODE] – Guler, R.A., Neverova, N., & Kokkinos, I. (ArXiv 2018)
- Neural Body Fitting: Unifying Deep Learning and Model-Based Human Pose and Shape Estimation – [CODE] – Omran, Mohamed and Lassner, Christoph and Pons-Moll, Gerard and Gehler, Peter V. and Schiele, Bernt (3DV 2018)
- Learning 3D Human Pose from Structure and Motion – Dabral, R., Mundhada, A., Kusupati, U., Afaque, S., Sharma, A., & Jain, A. (ECCV 2018)
- Integral Human Pose Regression – [CODE] – Sun, X., Xiao, B., Liang, S., & Wei, Y. (ECCV 2018)
- Dense Pose Transfer – Neverova, N., Guler, R.A., & Kokkinos, I. (ECCV 2018)
- Unsupervised Geometry-Aware Representation for 3D Human Pose Estimation – [CODE] – Rhodin, H., Salzmann, M., & Fua, P. (ECCV 2018)
- BodyNet: Volumetric Inference of 3D Human Body Shapes – [CODE] – Varol, G., Ceylan, D., Russell, B., Yang, J., Yumer, E., Laptev, I., & Schmid, C. (ECCV 2018)
- 3D human pose estimation in video with temporal convolutions and semi-supervised training – [CODE] – Pavllo, D., Feichtenhofer, C., Grangier, D., & Auli, M (ArXiv 2018)
- Single-Shot Multi-Person 3D Pose Estimation From Monocular RGB – [CODE1][CODE2] – Mehta, D., Sotnychenko, O., Mueller, F., Xu, W., Sridhar, S., Pons-Moll, G., Theobalt, C. (3DV 2018)
Geração de Pessoas
Observe que aqui há técnicas bastante diferentes como GANs que são usadas;;;
- Pose Guided Person Image Generation – [CODE] – Ma, L., Jia, X., Sun, Q., Schiele, B., Tuytelaars, T., & Gool, L.V. (NIPS 2017)
- A Generative Model of People in Clothing – Lassner, C., Pons-Moll, G., & Gehler, P.V. (ICCV 2017)
- Deformable GANs for Pose-based Human Image Generation – [CODE] – Siarohin, A., Sangineto, E., Lathuilière, S., & Sebe, N. (CVPR 2018)
- Dense Pose Transfer – Neverova, N., Guler, R.A., & Kokkinos, I. (ECCV 2018)
Estimativa de Poses em Tempo Real
- Realtime Multi-person 2D Pose Estimation Using Part Affinity Fields – [CODE] – Cao, Z., Simon, T., Wei, S., & Sheikh, Y. (CVPR 2017)
- VNect: Real-time 3D Human Pose Estimation with a Single RGB Camera – [CODE] – Mehta, Dushyant et al. (SIGGRAPH 2017)
- RMPE: Regional Multi-person Pose Estimation – [CODE1][CODE2] – Fang, H., Xie, S., & Lu, C. (ICCV 2017)
- Dense Human Pose Estimation In The Wild – [CODE] – Guler, R.A., Neverova, N., & Kokkinos, I. (ArXiv 2018)
- Real-time 2D Multi-Person Pose Estimation on CPU: Lightweight OpenPose – [CODE] Osokin, D. (ArXiv 2018)
- Extension to 3D pose estimation (based on Single-Shot Multi-Person 3D Pose Estimation From Monocular RGB – Mehta, D., et al.) – [CODE]