FORTH-ModelBasedTracker / MonocularRGB_3D_Handpose_WACV18

Using a single RGB frame for real time 3D hand pose estimation in the wild
164 stars 30 forks source link

Feature Request - Docker Image #18

Closed AmitMY closed 4 years ago

AmitMY commented 4 years ago

As the setup for the libraries you require, and binaries that were tested only on one version of Ubuntu, and one version of tensorflow and CUDA, do you mind writing a Dockerfile with all the necessary commands to make the model work?

padeler commented 4 years ago

This is a good suggestion. I will look into it when I have some spare time. If you come up with one in the mean time, feel free to make a pull request.

AmitMY commented 4 years ago

Hi @padeler , I was wondering if you gave this a go. I now have another project that needs 3D hand keypoints, and this just makes sense.

The pipeline I see could be:

  1. Video to cropped hands videos
  2. Pose estimation
  3. 3D projection

For the first one, I am now writing a docker image based on https://github.com/AmitMY/piano-hands which only detects hands on pianos.

For the second one I previously wrote an images https://github.com/AmitMY/pose-docker that can use 3 different pose estimators. I need to add an entry point for each that takes a video and returns a JSON file.

For the last one, 3D projection, we need this project, so I think as input we have the 2d poses as a JSON file and output is 3d poses json/mesh/blender output/whatever.

So far, this is where I am: (basic installation, all versions are correct - cuda, cudnn, ubuntu, tf, etc)

FROM nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04

RUN apt-get update -y && apt-get upgrade -y
RUN apt-get install sudo git wget build-essential -y

# Work from root
WORKDIR /

# Clone repo
RUN git clone https://github.com/FORTH-ModelBasedTracker/MonocularRGB_3D_Handpose_WACV18.git pose3d

# Download binaries
RUN wget -O pose3d/libs.tgz http://cvrlcode.ics.forth.gr/files/wacv18/wacv18_libs_v1.0.tgz
RUN cd pose3d && tar zxvf libs.tgz

# Install apt dependencies
RUN sudo apt install libgoogle-glog-dev libtbb-dev libcholmod3.0.6 libatlas-base-dev libopenni0 libbulletdynamics2.83.6

# Install python dependencies
RUN pip install tensorflow-gpu==1.12.0 numpy opencv-python

# Export directory path
RUN export LD_LIBRARY_PATH=/pose3d/lib:$LD_LIBRARY_PATH

Could you assist with a script that gets a JSON file with openpose format, and returns whatever possible?