From 567e637b9c6355d84cf768de060623fec57a79f7 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 20 Dec 2023 11:33:16 -0500 Subject: [PATCH] add blip diffusion --- CHANGELOG.md | 4 ++ html/reference.json | 5 ++ .../Reference/salesforce--blipdiffusion.jpg | Bin 0 -> 47620 bytes modules/ui.py | 2 +- scripts/blipdiffusion.py | 43 ++++++++++++++++++ scripts/stablevideodiffusion.py | 1 + 6 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 models/Reference/salesforce--blipdiffusion.jpg create mode 100644 scripts/blipdiffusion.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cd934a21..c3453f8d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,10 @@ - select from *networks -> reference* - [Playground v1](https://huggingface.co/playgroundai/playground-v1), [Playground v2 256](https://huggingface.co/playgroundai/playground-v2-256px-base), [Playground v2 512](https://huggingface.co/playgroundai/playground-v2-512px-base), [Playground v2 1024](https://huggingface.co/playgroundai/playground-v2-1024px-aesthetic) model support - simply select from *networks -> reference* and use as usual + - [BLIP-Diffusion](https://dxli94.github.io/BLIP-Diffusion-website/) + - img2img model that can replace subjects in images using prompt keywords + - download and load by selecting from *networks -> reference -> blip diffusion* + - in image tab, select `blip diffusion` script - [DemoFusion](https://github.com/PRIS-CV/DemoFusion) run your SDXL generations at any resolution! - in **Text** tab select *script* -> *demofusion* - *note*: GPU VRAM limits do not automatically go away so be careful when using it with large resolutions diff --git a/html/reference.json b/html/reference.json index 4043fe2da..5c8d26378 100644 --- a/html/reference.json +++ b/html/reference.json @@ -113,5 +113,10 @@ "path": "thu-ml/unidiffuser-v1", "desc": "UniDiffuser is a unified diffusion framework to fit all distributions relevant to a set of multi-modal data in one transformer. UniDiffuser is able to perform image, text, text-to-image, image-to-text, and image-text pair generation by setting proper timesteps without additional overhead.\nSpecifically, UniDiffuser employs a variation of transformer, called U-ViT, which parameterizes the joint noise prediction network. Other components perform as encoders and decoders of different modalities, including a pretrained image autoencoder from Stable Diffusion, a pretrained image ViT-B/32 CLIP encoder, a pretrained text ViT-L CLIP encoder, and a GPT-2 text decoder finetuned by ourselves.", "preview": "thu-ml--unidiffuser-v1.jpg" + }, + "SalesForce BLIP-Diffusion": { + "path": "salesforce/blipdiffusion", + "desc": "BLIP-Diffusion, a new subject-driven image generation model that supports multimodal control which consumes inputs of subject images and text prompts. Unlike other subject-driven generation models, BLIP-Diffusion introduces a new multimodal encoder which is pre-trained to provide subject representation.", + "preview": "salesforce--blipdiffusion.jpg" } } \ No newline at end of file diff --git a/models/Reference/salesforce--blipdiffusion.jpg b/models/Reference/salesforce--blipdiffusion.jpg new file mode 100644 index 0000000000000000000000000000000000000000..79155aba99e3d7127527832628666e82e1f93e8d GIT binary patch literal 47620 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
rw%+DUpVPf`aow+$2IgFjOJo7< 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�(%4IVELY3*$>Wo8+Q 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 0: + p.task_args['reference_image'] = p.init_images[0] + p.task_args['prompt'] = [p.prompt] + p.task_args['neg_prompt'] = p.negative_prompt + p.task_args['prompt_strength'] = prompt_strength + p.task_args['source_subject_category'] = [source_subject] + p.task_args['target_subject_category'] = [target_subject] + p.task_args['output_type'] = 'pil' + shared.log.debug(f'BLIP Diffusion: args={p.task_args}') + shared.sd_model = sd_models.set_diffuser_pipe(shared.sd_model, sd_models.DiffusersTaskType.IMAGE_2_IMAGE) + processed = processing.process_images(p) + return processed + else: + shared.log.error(f'{title}: no init_images') + return None diff --git a/scripts/stablevideodiffusion.py b/scripts/stablevideodiffusion.py index 078c0a054..3e20c4373 100644 --- a/scripts/stablevideodiffusion.py +++ b/scripts/stablevideodiffusion.py @@ -47,6 +47,7 @@ class Script(scripts.Script): def run(self, p: processing.StableDiffusionProcessing, num_frames, override_resolution, min_guidance_scale, max_guidance_scale, decode_chunk_size, motion_bucket_id, noise_aug_strength, video_type, duration, gif_loop, mp4_pad, mp4_interpolate): # pylint: disable=arguments-differ, unused-argument c = shared.sd_model.__class__.__name__ if shared.sd_model is not None else '' if c != 'StableVideoDiffusionPipeline' and c != 'TextToVideoSDPipeline': + shared.log.error(f'StableVideo: model selected={c} required=StableVideoDiffusion') return None if hasattr(p, 'init_images') and len(p.init_images) > 0: if override_resolution: