The contents of this repository provide rigged Blender models for working with OpenPose.
More precisely, the models are rigged skeletons that emulate the appearance of the skeleton models that OpenPose infers from photographs. The intention is to provide a poseable 3D model that can be used to produce images that can be used as input to systems such as Stable Diffusion.
The provided .blend files contain models with associated armatures.
Append the models and armatures into your own scenes and pose them.
Set the Blender environment lighting to pure black:
Set the scene's color management to plain sRGB without any view transform (most installations default to Filmic at the time of writing):
Render the image and use the resulting image as input to the ControlNet OpenPose model.
| File | Description |
|---|---|
| Body25.blend | The OpenPose Body25 model |
| Hand.blend | An OpenPose hand model |
| Example.blend | An example scene |
Systems that process OpenPose skeletons essentially infer which body parts are which by inspecting the colors of the joints and bones in the images.
Unfortunately, the only way to determine which color is associated with which body part is by looking at the OpenPose source code.
Implementations that process OpenPose skeletons seem to be highly permissive (presumably because skeletons are being inspected using a model trained on the colors, rather than using a program looking for exact pixel color values).
The Body25 model uses the colors in the following table for joints:
| Index | Name | Color (RGB) |
|---|---|---|
| 0 | Nose | ff0055 |
| 1 | Neck | ff0000 |
| 2 | RShoulder | ff5500 |
| 3 | RElbow | ffaa00 |
| 4 | RWrist | ffff00 |
| 5 | LShoulder | aaff00 |
| 6 | LElbow | 55ff00 |
| 7 | LWrist | 00ff00 |
| 8 | MidHip | ff0000 |
| 9 | RHip | 00ff55 |
| 10 | RKnee | 00ffaa |
| 11 | RAnkle | 00ffff |
| 12 | LHip | 00aaff |
| 13 | LKnee | 0055ff |
| 14 | LAnkle | 0000ff |
| 15 | REye | ff00aa |
| 16 | LEye | aa00ff |
| 17 | REar | ff00ff |
| 18 | LEar | 5500ff |
| 19 | LBigToe | 0000ff |
| 20 | LSmallToe | 0000ff |
| 21 | LHeel | 0000ff |
| 22 | RBigToe | 00ffff |
| 23 | RSmallToe | 00ffff |
| 24 | RHeel | 00ffff |
For the bones that run between the joint objects, the same colors are used
as for the joints but rendered at 0.6 opacity with additive blending.
These colors were derived from the values given in the poseParametersRender.hpp file.
Copyright © 2023 Mark Raynsford <code@io7m.com> http://io7m.com
CC0: This work has been marked as dedicated to the public domain.
See LICENSE.txt for the full CC0 public domain legal text.



