lllyasviel / lllyasviel/ControlNet

Unsatisfactory human pose training result

Open
#224 15 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
34.1k
Forks
3k
PR merge metrics
No merged PRs in 30d

Description

Thanks for your great contribution!
I'm trying to train a ControlNet conditioning on human pose (openpose 18 keypoints like in your provided demo).
My dataset is DeepFashion, which contains 10K full-body images with long text annotations like these:

WOMEN-Sweaters-id_00004141-06_1_front
WOMEN-Tees_Tanks-id_00004682-01_4_full

"This guy wears a long-sleeve shirt with solid color patterns and a long trousers. The shirt is with cotton fabric. The neckline of the shirt is round. The trousers are with cotton fabric and solid color patterns."
"The upper clothing has medium sleeves, cotton fabric and pure color patterns. It has a lapel neckline. The lower clothing is of long length. The fabric is cotton and it has solid color patterns."

During training, I condition the ControlNet with the above text and the below pose maps obtained from the same Openpose Detector in gradio_pose2image.py

WOMEN-Jackets_Coats-id_00001226-02_7_additional

Begin from origin sd2.1. Image size and pose image size are both 512x512
HyperParameter:
batch_size = 8
learning_rate = 1e-5
sd_locked = True
only_mid_control = False
accumulate_grad_batches = 2
precision =32

After training 37 epochs, the result is still poor:

samples_cfg_scale_9 00_gs-029767_e-000037_b-000500
samples_cfg_scale_9 00_gs-029267_e-000037_b-000000

These results fulfill the condition pose and text nicely. But the quality of the face is not as good as your human pose demo.
I have tried using short text prompts by splitting the origin text by "." and randomly choosing one part. But the results didn't get better.
Could you please help me to figure out the reason? Thanks!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read gradio_pose2image.py first to compare the OpenPose preprocessing used for the demo with the supplied pose maps. Reproduce the reported setup using the listed dataset, prompts, image sizes, and hyperparameters; done means documenting a confirmed cause or a reproducible improvement to the training result.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.