oakink / OakInk

[CVPR 2022] OakInk: A Large-scale Knowledge Repository for Understanding Hand-Object Interaction
https://oakink.net
MIT License
94 stars 4 forks source link
3d-reconstruction 3d-vision computer-graphics computer-vision dataset deep-learning hand-object-interaction hand-pose-estimation interaction-transfer mano mixed-reality motion-generation pytorch


Logo

A Large-scale Knowledge Repository for Understanding Hand-Object Interaction

Lixin Yang* · Kailin Li* · Xinyu Zhan* · Fei Wu · Anran Xu . Liu Liu · Cewu Lu

CVPR 2022

Logo

Paper PDF Project Page youtube views

This repo contains the OakInk data toolkit (oikit) -- a Python package that provides data loading, splitting, and visualization tools for the OakInk knowledge repository.

OakInk contains three parts:

Summary on OakInk

Why use OakInk:

Getting Started

Clone the repo

  $ git clone https://github.com/lixiny/OakInk.git

Load and Visualize

# visualize OakInk-Image mesh on sequence level:
#   * --draw_mode [mesh, wireframe] to switch between mesh and wireframe
#   * --seq_id: select sequence id from OAKINK_DIR/image/anno/seq_status.json to visualize
#   * --view_id: select from [0, 1, 2, 3] for visualize from different views.
python scripts/viz_oakink_image_seq.py --draw_mode mesh --view_id 1

# use OakInkImage to load data_split: train, mode: subject (SP1) and visualize:
#   * --data_split: select from [train, val, test, all]
#   * --mode_split: select from [default, object, subject, handobject]
python scripts/viz_oakink_image.py --data_split train --mode_split subject

# use OakInkShape to load object category: teapot and intent: use:
#   * --categories: select from OAKINK_DIR/shape/metaV2/yodaobject_cat.json, or "all"
#   * --intent_mode: select from [use, hold, liftup, handover] or "all"
#   * --data_split: select from [train, val, test, all]
python scripts/viz_oakink_shape.py --categories teapot --intent_mode use
# press `N` to load next sample

# use OakInkShape to load all the training grasps
python scripts/viz_oakink_shape.py --categories all --data_split train

# use OakInkShape to load all the training grasps in handover
python scripts/viz_oakink_shape.py --categories all --data_split train --intent_mode handover

Train and evaluate OakInk baselines

Citation

If you find OakInk dataset and oikit useful for your research, please considering cite us:

@inproceedings{YangCVPR2022OakInk,
  author    = {Yang, Lixin and Li, Kailin and Zhan, Xinyu and Wu, Fei and Xu, Anran and Liu, Liu and Lu, Cewu},
  title     = {{OakInk}: A Large-Scale Knowledge Repository for Understanding Hand-Object Interaction},
  booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year      = {2022},
}