MCPcopy Index your code
hub / github.com/PerceivingSystems/bedlam_render

github.com/PerceivingSystems/bedlam_render @v1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.0 ↗ · + Follow
48 symbols 212 edges 17 files 3 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
 _____ _____ ____  __    _____ _____
| __  |   __|    \|  |  |  _  |     |
| __ -|   __|  |  |  |__|     | | | |
|_____|_____|____/|_____|__|__|_|_|_|
 _____  _____  _____  ____   _____  _____
| __  ||   __||   | ||    \ |   __|| __  |
|    -||   __|| | | ||  |  ||   __||    -|
|__|__||_____||_|___||____/ |_____||__|__|

BEDLAM Render Tools

This repository contains the render pipeline tools for BEDLAM CVPR2023 paper. It includes automation scripts for SMPL-X data preparation in Blender, data import into Unreal Engine 5 and Unreal rendering.

Related code repositories: + https://github.com/pixelite1201/BEDLAM + Code to train and evaluate the ML models from the paper + https://github.com/PerceivingSystems/bedlam_clothing + Clothing processing code

If you are interested in our follow-up paper BEDLAM2.0: Synthetic Humans and Cameras in Motion (NeurIPS 2025) then please visit the BEDLAM2.0 project website for paper, code and data access details.

Render Pipeline

Data preparation

Data preparation for Unreal (Blender)

  • Create animated SMPL-X bodies (v1.1, female/male) from SMPL-X animation data files and export in Alembic ABC format. SMPL-X pose correctives are baked in the Alembic geometry cache and will be used in Unreal without any additional software requirements.
  • Details: blender/smplx_anim_to_alembic/

Data import (Unreal)

  • Import clothing and SMPL-X Alembic ABC files as GeometryCache
  • Import body textures and clothing overlay textures
  • Import high-dynamic range panoramic images (HDRIs) for image-based lighting
  • Details: unreal/import/

Render sequence generation

BEDLAM Unreal render setup utilizes a data-driven design approach where external data files (be_seq.csv) are used to define the setup of the required Unreal assets for rendering.

  • Generate body scene description (be_seq.csv) based on randomization configuration for all the sequences in the desired render job
  • Details: tools/sequence_generation/

Rendering (Unreal)

  • Auto-generate Unreal Sequencer LevelSequence assets based on selected body scene description file
  • Render generated Sequencer assets with Movie Render Queue using DX12 rasterizer with 7 temporal samples for motion blur
  • If depth maps and segmentation masks are desired a second optional render pass will output EXR files (32-bit float, multilayer, cryptomatte) without spatial and temporal samples
  • Camera ground truth poses in Unreal coordinates are generated during rendering
  • Details: unreal/render/

Post processing

Requirements

  • Rendering: Unreal Engine 5.0.3 for Windows and good knowledge of how to use it
  • Data preparation: Blender (3.2.2 or later)
  • Windows (10 or later)
    • Data preparation stage will likely also work under Linux or macOS thanks to Blender but we have not tested this and are not providing support for this option
    • Windows WSL2 subsystem for Linux with Ubuntu 22.04
    • Python for Windows (3.10.2 or later)
  • Recommended PC Hardware:
  • CPU: Modern multi-core CPU with high clock speed (Intel i9-12900K)
  • GPU: NVIDIA RTX3090 or higher
  • Memory: 128GB or more
  • Storage: Fast SSD with 8TB of free space

Notes

  • GitHub
  • Issues
    • Please check first if your issue was already reported in the issue tracker before opening a new one. Make sure to check both open and also closed issues.
    • Use descriptive name for your issue which clearly states the problem
    • Do not ask several unrelated questions on the same issue
  • Pull requests
    • We are not accepting unrequested pull requests
  • Logo: https://github.com/hermanTenuki/ASCII-Generator.site
  • Font: rectangles

Citation

@inproceedings{Black_CVPR_2023,
  title = {{BEDLAM}: A Synthetic Dataset of Bodies Exhibiting Detailed Lifelike Animated Motion},
  author = {Black, Michael J. and Patel, Priyanka and Tesch, Joachim and Yang, Jinlong},
  booktitle = {Proceedings IEEE/CVF Conf.~on Computer Vision and Pattern Recognition (CVPR)},
  pages = {8726-8737},
  month = jun,
  year = {2023},
  month_numeric = {6}
}

Core symbols most depended-on inside this repo

add_geometry_cache
called by 3
unreal/render/Core/Python/create_level_sequences_csv.py
process
called by 2
tools/post_render_pipeline/exr_save_depth_masks.py
export_mask
called by 2
tools/post_render_pipeline/exr_save_depth_masks.py
transform_image
called by 2
tools/sequence_generation/be_generate_sequences_crowd.py
add_transform_track
called by 2
unreal/render/Core/Python/create_level_sequences_csv.py
get_focal_length
called by 2
unreal/render/Core/Python/create_level_sequences_csv.py
change_binding_end_keyframe_times
called by 2
unreal/render/Core/Python/create_level_sequences_csv.py
process_meta
called by 1
tools/post_render_pipeline/exr_save_depth_masks.py

Shape

Function 43
Class 5

Languages

Python100%

Modules by API surface

unreal/render/Core/Python/create_level_sequences_csv.py9 symbols
tools/sequence_generation/be_modify_sequences.py8 symbols
tools/sequence_generation/be_generate_sequences_crowd.py6 symbols
tools/post_render_pipeline/exr_save_depth_masks.py6 symbols
unreal/render/Core/Python/render_movie_render_queue.py3 symbols
unreal/render/Core/Python/create_movie_render_queue.py2 symbols
unreal/import/import_abc_smplx_batch.py2 symbols
unreal/import/import_abc_clothing_batch.py2 symbols
blender/smplx_anim_to_alembic/smplx_anim_to_alembic_batch.py2 symbols
unreal/import/import_hdr.py1 symbols
unreal/import/import_clothing_textures.py1 symbols
unreal/import/import_abc_smplx.py1 symbols

For agents

$ claude mcp add bedlam_render \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact