Skip to content

UBCDingXin/CCDM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Diffusion-based Quantitatively Controllable Image Generation

The official implementation of CCDM and iCCDM.


[UPDATE! 2026-02-01] We have released the improved CCDM (iCCDM) at ./CCDM/iCCDM, designed based on the EDM framework to replace the initial CCDM.


If you use this code, please cite

@misc{ding2026iccdm,
        title={Enhancing Diffusion-Based Quantitatively Controllable Image Generation via Matrix-Form EDM and Adaptive Vicinal Training}, 
        author={Xin Ding and Yun Chen and Sen Zhang and Kao Zhang and Nenglun Chen and Peibei Cao and Yongwei Wang and Fei Wu},
        year={2026},
        eprint={2602.02114},
        archivePrefix={arXiv},
        primaryClass={cs.CV}
}

@ARTICLE{ding2026ccdm,
        author={Ding, Xin and Wang, Yongwei and Zhang, Kao and Wang, Z. Jane},
        journal={IEEE Transactions on Multimedia}, 
        title={CCDM: Continuous Conditional Diffusion Models for Image Generation}, 
        year={2026},
        volume={},
        number={},
        pages={1-13},
        doi={10.1109/TMM.2026.3660128}
}


Comparison of Sliding FID versus Sampling Speed Across Three Model Families on the Steering Angle Dataset ($64\times64$). The size of each scatter point represents GPU memory usage during sampling. Arrows ($\downarrow$ or $\uparrow$) indicate whether lower or higher values are preferred. Text-to-image diffusion models are fine-tuned from officially released checkpoints using either full fine-tuning or LoRA, while all other methods are trained from scratch.


Datasets

The RC-49 and Cell-200 Datasets (h5 file)

RC-49 (64x64)

RC-49_64x64_OneDrive_link
RC-49_64x64_BaiduYun_link

Cell-200 (64x64)

Cell-200_64x64_OneDrive_link
Cell-200_64x64_BaiduYun_link

The preprocessed UTKFace Dataset (h5 file)

UTKFace (64x64)

UTKFace_64x64_Onedrive_link
UTKFace_64x64_BaiduYun_link

UTKFace (128x128)

UTKFace_128x128_OneDrive_link
UTKFace_128x128_BaiduYun_link

UTKFace (192x192)

UTKFace_192x192_OneDrive_link
UTKFace_192x192_BaiduYun_link

UTKFace (256x256)

UTKFace_256x256_OneDrive_link
UTKFace_256x256_BaiduYun_link

The Steering Angle dataset (h5 file)

Steering Angle (64x64)

SteeringAngle_64x64_OneDrive_link
SteeringAngle_64x64_BaiduYun_link

Steering Angle (128x128)

SteeringAngle_128x128_OneDrive_link
SteeringAngle_128x128_BaiduYun_link

Steering Angle (256x256)

SteeringAngle_256x256_OneDrive_link
SteeringAngle_256x256_BaiduYun_link


Preparation (Required!)

Download the evaluation checkpoints (zip file) from OneDrive or BaiduYun, then extract the contents to ./CCDM/iCCDM/evaluation/eval_ckpts.


Example Usage

We provide the .sh file for training on each dataset in ./CCDM/iCCDM/config. Ensure the root path and data path are correctly configured.


Sampling and Evaluation

After the training, the sampling usually automatically starts. The evaluation setups are consistent with Ding et. al. (2025).

(1) SFID, Diversity, and Label Score

After the training, the sampling usually automatically starts. Ensure that the --do_eval flag is enabled.

(2) NIQE

To enable NIQE calculation, set both --dump_fake_for_niqe and --niqe_dump_path to output generated images to your specified directory.


Acknowledge

About

The official implementation of CCDM and iCCDM.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors