tensorlayer/TensorLayer

🚀 Real Time Pose Estimation in TensorLayer

zsdonghao opened this issue · 9 comments

A discussion for real-time (multi-person) pose estimation using TensorLayer and TensorFlow

Paper List

  • 🚀Pose Proposal Networks, ECCV 2018
  • DensePose
  • 🚀 Convolutional Pose Machines
  • Stacked Hourglass Networks for Human Pose Estimation
  • 🚀Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
  • VNect: Real-time 3D Human Pose Estimation with a Single RGB Camera
  • For Model Acceleration, see #416

Existing code/resource

Blog

About Data Augmentation

Others

I release the APIs to download or visualise MPII dataset in 1 line of code here: #482

import pprint
import tensorlayer as tl

img_train_list, ann_train_list, img_test_list, ann_test_list = tl.files.load_mpii_pose_dataset()

print(img_train_list[0])
pprint.pprint(ann_train_list[0])

for i in range(100):  # show 100 images
    image = tl.vis.read_image(img_train_list[i])
    tl.vis.draw_mpii_people_to_image(image, ann_train_list[i], '_temp%d.png' % i)

Any ideas to make it run faster?

Algorithm

OpenPose Idea
image size 368x654 i.e. 9:16 244x244 ?
CNN VGG-19 mobilenetV2 or others, see #416
CNN Residual Squeeze (1), (2)

Engineering

  • Faster pre-processing : ❓
  • Faster post-processing :
  • TensorRT

I think where you can achieve better results easier is in post-processing. At least in tf-pose-estimation that's the current bottleneck. maybe implementing a c++/cython multiprocessing module for that can be enough

Implementing openpose in #765

1icas commented

I'm trying to implement a real time pose estimation(mulit-person) on mobile. For the mobile performence, I'm trying to quantize the model.

@1icas I think mobilenet is a easier approach than quantisation..

1icas commented

@zsdonghao yes,i know. But it's not satisfy the performance requirement. Also i'm very interested in quantisation.

1icas commented

Or do you have other suggesstion for model acceleration ?