Kneel
Control Net Series
Sometimes I have a very specific pose in mind, and they’re hard to describe with words. Trying to depend on stock photos can be tricky. In these cases, I would open a 3D program to pose the figure myself, then use it to drive an OpenPose control net.
3D Render
For this set of images, I used Daz3D, which is something you can download for free. You can alternatively use Poser, which is a paid program. Additionally, you can use Blender, which is also free. Or Cinema 4D, which is my personal favorite 3D program, but will likely be too expensive to use for a hobbyist.
Neither Blender nor Cinema 4D were designed to pose figures alone, so their UI can be quite intimidating. On the other hand, programs like Poser and Daz3D were designed specifically to pose figures, and come with loads of free figures — with additional options available for purchase on their sites as well as from third party services.
For this workflow, you mainly need the pose, so what figure you use really does not really matter. If instead you want to also get the muscle mass via Soft Edge, then you would want to tweak the muscle parameters.
Images
The figure I used for this example was literally whichever showed up first in my content library — Derek for Freak 5 (Daz3D). But you can use anything really. It really doesn’t matter!
Pose the Figure
Normally, I would pose the figure myself to get the exact pose I want. But for this example, I just used a pose that is in my content library.
Render the figure
Just pick the fastest render option available. You won’t be using these renders other than to get the pose, so having super high quality renders would be just a waste of time.
This will create a figure with a transparent background. I then make a 1024x1024 transparent image in Photoshop, then place the figure into it, scaling it up/down for the final comp that I wanted. I then exported a PNG from the comp.
OpenPose Control Net
Going back to Stable Diffusion, open up the OpenPose control net and use the PNG you just exported from Photoshop. Set the resolution to 1024 for better accuracy, but if you are low on VRAM then 512 is fine also. If you preview, the image will look something like this:
Images
Text Prompt
Describe what you want to depict in text prompt. The pose will inform the figures, but you should describe the scene and rendering in ways that you want. What you prompt is what you get.
Images
Parameters
The default openpose settings would be
- Weight: 1
- Start: 0
- End: 1
- Priority: Balanced
I tend to set weight lower so that the figures will be slightly different from one another. For these images, I used weight 0l8 so that they are largely the same so they are much closer to the pose — otherwise the effect will not be very consistent and so would create confusion for the purpose of a tutorial. But if I were to render scenes for my series, then I tend to use 0.5 weight.
- Weight: 0.8
- Start: 0
- End: 1
- Priority: Balanced
Sometimes I also set the end lower so the figures have more room to move around, but for this particular pose, since the preprocessor clearly didn’t parse the left leg correctly, having an early end could lead to some issues, e.g. rendering multiple legs, so for most of these images I did use the default end of 1.
Notes
There are a few notes that you should keep in mind when using OpenPose control net.
- Muscle parameters in Daz3D. If you mainly wanted to fetch the pose, then the muscle mass doesn’t matter. But you can additionally use Depth and Soft Edge control nets to get the muscle mass from the 3D render. If you do that, then you would want to tweak the muscle mass as close to your vision as possible.
- Ground plane. If you use the Depth control net, then you would want to add a ground plane — either from the 3D program or make a fake one with Photoshop. Otherwise, thet figures might float in the air.
- Depth Map. You can alternatively render a depth map from the 3D program directly. This will have the most accurate depth information since it’s not proceed with AI, but rather calculated with 3D spatial information.
- Anatomy. It could be tempting to add full anatomy (aka the male genitals). Don’t! They will confuse the preprocessors and will likely lead to some weird results. If you intend to use genitals in your render, then you can render a separate figure with the male anatomy to be used in the Soft Edge CN only. For the OpenPose render, just skip it for the preprocesor.
Tech Parameters in a Gist
See also the full technical parameters
- Text prompts in txt2img with Stable Diffusion
- 20 steps, Euler a, 512x512
- Airfuck’s Brute Mix v1.0
- Clip skip: 2
- vae-ft-mse-840000-ema-pruned.vae.ckpt
- Denoising: 0.5
- Hires: 20 steps, 2x, 1024x1024, 8x_NMKD-Superscale_150000_G
- CN OpenPose: Daz3D image, Weight 0.8, Start 0, End 0.5-1, Variable priority: prompt-priority for some, balanced for others.
- Post Upscale: Topaz Gigapixel 4x HQ, 4096x4096
- Color Correction: Adobe Lightroom
- Limb Fix: Adobe Photoshop AI
Video
Vertical Format
Square Format
Images
Images
Additional Images
Images
Image Index
Technical Parameters
- Steps: 20
- Sampler: Euler a
- CFG scale: 7
- Face restoration: CodeFormer
- Size: 512x512
- Model hash: 8ff8347bb0
- Model: airfucksBruteMix_v10
- VAE hash: 235745af8d
- VAE: vae-ft-mse-840000-ema-pruned.vae.ckpt
- Denoising strength: 0.5
- Clip skip: 2
- Style Selector Enabled: True
- Style Selector Randomize: False
- Style Selector Style: base
- ControlNet 0:
- Module: openpose_full
- Model: control_v11p_sd15_openpose (cab727d4)
- Weight: 0.5
- Resize Mode: Crop and Resize
- Low Vram: False
- Processor Res: 1024
- Guidance Start: 0
- Guidance End: 1
- Pixel Perfect: False
- Control Mode: My prompt is more important
- Hires negative prompt: "penis, testicle"
- Hires upscale: 2
- Hires steps: 20
- Hires upscaler: 8x_NMKD-Superscale_150000_G
- TI hashes:
- Asian-Less-Neg: 22d2f003e76f
- NegfeetV2: df90b1ff666d
- face_editor_enabled: True
- face_editor_face_margin: 1.6
- face_editor_confidence: 0.97
- face_editor_strength1: 0.4
- face_editor_strength2: 0
- face_editor_max_face_count: 20
- face_editor_mask_size: 0
- face_editor_mask_blur: 12
- face_editor_prompt_for_face: "look at camera, handsome face"
- face_editor_apply_inside_mask_only: True
- face_editor_apply_scripts_to_faces: False
- face_editor_face_size: 512
- face_editor_use_minimal_area: False
- face_editor_ignore_larger_faces: True
- face_editor_affected_areas: Face
- face_editor_upscaler: None
- face_editor_tilt_adjustment_threshold: 40
- Version: v1.6.0