All Projects → dragonlong → articulated-pose

dragonlong / articulated-pose

Licence: other
[CVPR 2020, Oral] Category-Level Articulated Object Pose Estimation

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
Cuda
1817 projects
shell
77523 projects

Projects that are alternatives of or similar to articulated-pose

kapao
KAPAO is an efficient single-stage human pose estimation model that detects keypoints and poses as objects and fuses the detections to predict human poses.
Stars: ✭ 604 (+610.59%)
Mutual labels:  pose-estimation
jaxfg
Factor graphs and nonlinear optimization for JAX
Stars: ✭ 124 (+45.88%)
Mutual labels:  nonlinear-optimization
sleap
A deep learning framework for multi-animal pose tracking.
Stars: ✭ 200 (+135.29%)
Mutual labels:  pose-estimation
Keypoint Communities
[ICCV '21] In this repository you find the code to our paper "Keypoint Communities".
Stars: ✭ 255 (+200%)
Mutual labels:  pose-estimation
mediapipe-osc
MediaPipe examples which stream their detections over OSC.
Stars: ✭ 26 (-69.41%)
Mutual labels:  pose-estimation
TransPose
PyTorch Implementation for "TransPose: Keypoint localization via Transformer", ICCV 2021.
Stars: ✭ 250 (+194.12%)
Mutual labels:  pose-estimation
FastPose
pytorch realtime multi person keypoint estimation
Stars: ✭ 36 (-57.65%)
Mutual labels:  pose-estimation
ICON
ICON: Implicit Clothed humans Obtained from Normals (CVPR 2022)
Stars: ✭ 641 (+654.12%)
Mutual labels:  pose-estimation
eval-mpii-pose
Evaluation code for the MPII human pose dataset
Stars: ✭ 58 (-31.76%)
Mutual labels:  pose-estimation
Robotics-Object-Pose-Estimation
A complete end-to-end demonstration in which we collect training data in Unity and use that data to train a deep neural network to predict the pose of a cube. This model is then deployed in a simulated robotic pick-and-place task.
Stars: ✭ 153 (+80%)
Mutual labels:  pose-estimation
PCLoc
Pose Correction for Highly Accurate Visual Localization in Large-scale Indoor Spaces (ICCV 2021)
Stars: ✭ 37 (-56.47%)
Mutual labels:  pose-estimation
slamkit
SLAM Kit
Stars: ✭ 28 (-67.06%)
Mutual labels:  pose-estimation
Pajarito.jl
A solver for mixed-integer convex optimization
Stars: ✭ 98 (+15.29%)
Mutual labels:  nonlinear-optimization
lbfgsb-gpu
An open source library for the GPU-implementation of L-BFGS-B algorithm
Stars: ✭ 70 (-17.65%)
Mutual labels:  nonlinear-optimization
LBFGS-Lite
LBFGS-Lite: A header-only L-BFGS unconstrained optimizer.
Stars: ✭ 98 (+15.29%)
Mutual labels:  nonlinear-optimization
Awesome-Vision-Transformer-Collection
Variants of Vision Transformer and its downstream tasks
Stars: ✭ 124 (+45.88%)
Mutual labels:  pose-estimation
cvxpnpl
A Perspective-n-Points-and-Lines method.
Stars: ✭ 56 (-34.12%)
Mutual labels:  pose-estimation
openpose-docker
A docker build file for CMU openpose with Python API support
Stars: ✭ 68 (-20%)
Mutual labels:  pose-estimation
DeepLabCut-core
Headless DeepLabCut (no GUI support)
Stars: ✭ 29 (-65.88%)
Mutual labels:  pose-estimation
HybrIK
Official code of "HybrIK: A Hybrid Analytical-Neural Inverse Kinematics Solution for 3D Human Pose and Shape Estimation", CVPR 2021
Stars: ✭ 395 (+364.71%)
Mutual labels:  pose-estimation

Category-Level Articulated Object Pose Estimation(CVPR 2020)


Overview

This repository contains the implementation of ANSCH, a canonical representation for different articulated objects in a given category, together with an efficient neural network for pose estimation and joints regression of articulated objects from a single depth point cloud.

          

Paper  Project

Citing

If you find this code useful in your work, please consider citing:

@article{li2019category,
  title={Category-Level Articulated Object Pose Estimation},
  author={Li, Xiaolong and Wang, He and Yi, Li and Guibas, Leonidas and Abbott, A Lynn and Song, Shuran},
  journal={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  year={2020}
}

Content

Updates

Setup

This implementation has been tested on Ubuntu 16.04 LTS, and CentOS 7.0, make sure CUDA and CUDNN are installed.

  • Two configurations have been tested:

    • Tensorfow 1.10, CUDA 9.0, and cudnn 7.1;
    • TensorFlow 1.12.0, CUDA 9.0 and cuDNN 7.4;
  • Clone the repository

git clone https://github.com/dragonlong/articulated-pose.git
  • Setup python environment
conda create -n articulated-pose python=3.6
source activate articulated-pose
pip install -r requirements.txt
sh compile_op.sh

Quick-Start

Online Codelab demos

You could check our online CodeLab demo to reproduce some of our results.

Dataset

You could simply download our pre-processed dataset to ./dataset folder. Below is a step-by-step tutorial on rendering your dataset using Pybullet, here we take eyeglasses in shape2motion for example:

  • Setup global path infos
  vim global_info.py
  • Download shape2motion dataset
bash download_shape2motion.sh
  • Create URDF
cd tools && python json2urdf.py
  • Rendering Data
python render_synthetic.py --dataset='shape2motion' --item='eyeglasses' --num=30 --cnt=31 --pitch="-90,5" --roll="-10,10" --yaw="-180,180" --min_angles="0,0" --max_angles="90,90"
  • Preprocessing
python preprocess_data.py --dataset='shape2motion' --item='eyeglasses'
  • Train/test split and visualization
cd ../lib && python dataset.py --item=eyeglasses --dataset=shape2motion --is_split --show_fig

Pretrained-Models

Please download our pretrained models from here(updated on April 22nd, 2020), and put into the ./results/model/ folder. Below are links to pretrained models of different categories, results might be slightly different with these checkpoints as we updated our training.

eyeglasses

oven

washing machine

laptop

drawer

Training

To train the network

python main.py --item='eyeglasses' --nocs_type='ancsh' --gpu='0'
python main.py --item='eyeglasses' --nocs_type='npcs' --gpu='1'

Evaluation

To generate estimation and evaluation results on per-part pose estimation, 3D iou, joint states, and joint parameters, you could simply run: bash evaluation.sh. Below is a detailed step by step tutorial:

1. Prediction

python main.py --item='eyeglasses' --nocs_type='ancsh' --test
python main.py --item='eyeglasses' --nocs_type='npcs' --test

2. Evaluation

2.1 post-processing

cd evaluation
python compute_gt_pose.py --item='eyeglasses' --domain='unseen' --nocs='ANCSH' --save

# npcs baseline estimation
python baseline_npcs.py --item='eyeglasses' --domain='unseen' --nocs='NPCS'

# run non-linear optimization over test group
python pose_multi_process.py --item='eyeglasses' --domain='unseen'

2.2 evaluation

# pose & relative
python eval_pose_err.py --item='eyeglasses' --domain='unseen' --nocs='ANCSH'

# 3d miou estimation
python compute_miou.py --item='eyeglasses' --domain='unseen' --nocs='ANCSH'

# evaluate joint estimations
python eval_joint_params.py --item='eyeglasses' --domain='unseen' --nocs='ANCSH'

Visualization

Please check the online demo for further visualizations.

Demo with point cloud rendering is inspired by: https://github.com/zekunhao1995/PointFlowRenderer.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].