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 <[email protected]> http://io7m.com
This work is placed into the public domain for free use by anyone
for any purpose. It may be freely used, modified, and distributed.
In jurisdictions that do not recognise the public domain this work
may be freely used, modified, and distributed without restriction.
This work comes with absolutely no warranty.