This repository is part of the supplementary materials for the ICIP 2024 submission titled "VR-based generation of photorealistic synthetic data for training hand-object tracking models". It provides several helpful scripts for rendering high-quality synthetic sequences of Hand-Object Interactions performed in VR using Blender. It also provides scripts for export data in the DexYCB format.
The original Blender files are currently only provided to ICIP reviewers for the peer-review process. These materials will be released conditioned on the acceptance of the paper for publication.
Please appropriately reference the following paper in any publication making use of the Software. Citation: [...]
Qualitative comparison of sample blender-hoisynth images (left) with real DexYCB images (right).Python<=3.10
Clone this repository and install requirements
git clone git@github.com:wetoo-cando/blender-hoisynth.git
cd blender-hoisynth
pip install -r requirements.txtInstall UPBGE 0.30
Replace VR config file
mv scripts/defaults.py /path/to/UPBGE/blender/scripts/addons/viewport/vr_preview/configs/defaults.pyClone blenderproc with SHA 31ebb06c2ea2581da25f1f3e4f9544c4b0cad8a4 to the repository
cd blender-hoisynth
git clone git@github.com:DLR-RM/BlenderProc.git
cd BlenderProc
git reset 31ebb06c2ea2581da25f1f3e4f9544c4b0cad8a4Add rendering property files to BlenderProc
cd ..
mv scripts/write_dexycb_data2.py BlenderProc/blenderproc/python/writer/write_dexycb_data2.py
mv scripts/BopWriterUtility.py BlenderProc/blenderproc/python/loader/BlendLoader.py
mv scripts/BlendLoader.py BlenderProc/blenderproc/python/loader/BlendLoader.pyAdd code
from blenderproc.python.writer.write_dexycb_data2 import write_dexycb_data2to the end of BlenderProc/blenderproc/api/writer/__init__.py
Move the rendering folder to BlenderProc
mv rendering BlenderProc/examplesAdd transforms3d to install_requires in BlenderProc/setup.py Add "transforms3d==0.4.1" to the end of BlenderProc/blenderproc/python/utility/DefaultConfig.py
Install blenderproc
cd BlenderProc
pip install -e .
python setup.py install
blenderproc pip install coloredlogsClone manopth to BlenderProc/examples/rendering
Move the scripts/generate_hand_pose.py to manopth
mv scripts/generate_hand_pose.py BlenderProc/examples/rendering/manopthDownload the blendfiles for the demo and the blender-hoisynth software. For the ICIP2024 reviewers, we have provided access details to the blendfiles in the supplementary materials. These materials will be released publicly conditioned on the acceptance of the paper for publication.
Recording should be done on Windows.
Objects initial poses can be extracted from DexYCB by running
python examples/rendering/generaate_initial_poses.py --DexYCB_dir /path/to/DexYCB --output_dir /path/to/output/dirOpen blender-hoisynth-v28 with UPBGE, record with VR headset.
Press P to enter play mode, R to record, Space to save recorded animation and D to drop recorded animation.
A demo is provided in blendfiles to run the rendering.
Download the assets folder to blender-hoisynth for background objects generation
Run
cd BlenderProc
blenderproc run examples/rendering/render_animation.py --blend_dir /path/to/blend/files --assets_dir /path/to/assets/folder --pose_dir /path/to/object/initial/position/folder --output_folder /path/to/output/folder --Subject_id your subject id --hand_armature hand armature nameDownload the calibration folder from DexYCB and place it in blender-hoisynth/assets/calibration
Then run
python examples/rendering/manopth/generate_hand_pose.py --callibration_dir /path/to/calibration/folder -pose_dir /path/to/object/initial/position/folder --output_dir /path/to/render/results --mano_dir /mano/shape/parameter/folder/name --Subject_id your subject id










