From e56b483a90fd333b6ca6aeb7124a83f7d898c4d1 Mon Sep 17 00:00:00 2001 From: Andy1621 <812487273@qq.com> Date: Thu, 13 Apr 2023 00:10:56 +0800 Subject: [PATCH 1/8] add chatbot, wait to check ChatGPT --- automatic_label_demo.py | 4 +- chatbot.py | 1461 +++++++++++++++++++++++ grounded_sam_demo.py | 4 +- grounded_sam_inpainting_demo.py | 4 +- grounded_sam_whisper_inpainting_demo.py | 4 +- 5 files changed, 1469 insertions(+), 8 deletions(-) create mode 100644 chatbot.py diff --git a/automatic_label_demo.py b/automatic_label_demo.py index 0098463d..d813a4c2 100644 --- a/automatic_label_demo.py +++ b/automatic_label_demo.py @@ -264,7 +264,7 @@ def save_mask_data(output_dir, caption, mask_list, box_list, label_list): ) # initialize SAM - predictor = SamPredictor(build_sam(checkpoint=sam_checkpoint)) + predictor = SamPredictor(build_sam(checkpoint=sam_checkpoint).to(device)) image = cv2.imread(image_path) image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) predictor.set_image(image) @@ -291,7 +291,7 @@ def save_mask_data(output_dir, caption, mask_list, box_list, label_list): masks, _, _ = predictor.predict_torch( point_coords = None, point_labels = None, - boxes = transformed_boxes, + boxes = transformed_boxes.to(device), multimask_output = False, ) diff --git a/chatbot.py b/chatbot.py new file mode 100644 index 00000000..24781250 --- /dev/null +++ b/chatbot.py @@ -0,0 +1,1461 @@ +# coding: utf-8 +import os +import gradio as gr +import random +import torch +import cv2 +import re +import uuid +from PIL import Image, ImageDraw, ImageOps +import math +import numpy as np +import argparse +import inspect + +import torchvision +import whisper +import matplotlib.pyplot as plt +from automatic_label_demo import load_model, load_image, get_grounding_output, show_box, show_mask, generate_tags, check_caption +from grounding_dino_demo import plot_boxes_to_image +from segment_anything import build_sam, SamAutomaticMaskGenerator, SamPredictor +from segment_anything.utils.amg import remove_small_regions + +from transformers import CLIPSegProcessor, CLIPSegForImageSegmentation +from transformers import pipeline, BlipProcessor, BlipForConditionalGeneration, BlipForQuestionAnswering +from transformers import AutoImageProcessor, UperNetForSemanticSegmentation + +from diffusers import StableDiffusionPipeline, StableDiffusionInpaintPipeline, StableDiffusionInstructPix2PixPipeline +from diffusers import EulerAncestralDiscreteScheduler +from diffusers import StableDiffusionControlNetPipeline, ControlNetModel, UniPCMultistepScheduler +from controlnet_aux import OpenposeDetector, MLSDdetector, HEDdetector + +from langchain.agents.initialize import initialize_agent +from langchain.agents.tools import Tool +from langchain.chains.conversation.memory import ConversationBufferMemory +from langchain.llms.openai import OpenAI + +VISUAL_CHATGPT_PREFIX = """Visual ChatGPT is designed to be able to assist with a wide range of text and visual related tasks, from answering simple questions to providing in-depth explanations and discussions on a wide range of topics. Visual ChatGPT is able to generate human-like text based on the input it receives, allowing it to engage in natural-sounding conversations and provide responses that are coherent and relevant to the topic at hand. + +Visual ChatGPT is able to process and understand large amounts of text and images. As a language model, Visual ChatGPT can not directly read images, but it has a list of tools to finish different visual tasks. Each image will have a file name formed as "image/xxx.png", and Visual ChatGPT can invoke different tools to indirectly understand pictures. When talking about images, Visual ChatGPT is very strict to the file name and will never fabricate nonexistent files. When using tools to generate new image files, Visual ChatGPT is also known that the image may not be the same as the user's demand, and will use other visual question answering tools or description tools to observe the real image. Visual ChatGPT is able to use tools in a sequence, and is loyal to the tool observation outputs rather than faking the image content and image file name. It will remember to provide the file name from the last tool observation, if a new image is generated. + +Human may provide new figures to Visual ChatGPT with a description. The description helps Visual ChatGPT to understand this image, but Visual ChatGPT should use tools to finish following tasks, rather than directly imagine from the description. + +Overall, Visual ChatGPT is a powerful visual dialogue assistant tool that can help with a wide range of tasks and provide valuable insights and information on a wide range of topics. + + +TOOLS: +------ + +Visual ChatGPT has access to the following tools:""" + +VISUAL_CHATGPT_FORMAT_INSTRUCTIONS = """To use a tool, please use the following format: + +``` +Thought: Do I need to use a tool? Yes +Action: the action to take, should be one of [{tool_names}] +Action Input: the input to the action +Observation: the result of the action +``` + +When you have a response to say to the Human, or if you do not need to use a tool, you MUST use the format: + +``` +Thought: Do I need to use a tool? No +{ai_prefix}: [your response here] +``` +""" + +VISUAL_CHATGPT_SUFFIX = """You are very strict to the filename correctness and will never fake a file name if it does not exist. +You will remember to provide the image file name loyally if it's provided in the last tool observation. + +Begin! + +Previous conversation history: +{chat_history} + +New input: {input} +Since Visual ChatGPT is a text language model, Visual ChatGPT must use tools to observe images rather than imagination. +The thoughts and observations are only visible for Visual ChatGPT, Visual ChatGPT should remember to repeat important information in the final response for Human. +Thought: Do I need to use a tool? {agent_scratchpad} Let's think step by step. +""" + +VISUAL_CHATGPT_PREFIX_CN = """Visual ChatGPT 旨在能够协助完成范围广泛的文本和视觉相关任务,从回答简单的问题到提供对广泛主题的深入解释和讨论。 Visual ChatGPT 能够根据收到的输入生成类似人类的文本,使其能够进行听起来自然的对话,并提供连贯且与手头主题相关的响应。 + +Visual ChatGPT 能够处理和理解大量文本和图像。作为一种语言模型,Visual ChatGPT 不能直接读取图像,但它有一系列工具来完成不同的视觉任务。每张图片都会有一个文件名,格式为“image/xxx.png”,Visual ChatGPT可以调用不同的工具来间接理解图片。在谈论图片时,Visual ChatGPT 对文件名的要求非常严格,绝不会伪造不存在的文件。在使用工具生成新的图像文件时,Visual ChatGPT也知道图像可能与用户需求不一样,会使用其他视觉问答工具或描述工具来观察真实图像。 Visual ChatGPT 能够按顺序使用工具,并且忠于工具观察输出,而不是伪造图像内容和图像文件名。如果生成新图像,它将记得提供上次工具观察的文件名。 + +Human 可能会向 Visual ChatGPT 提供带有描述的新图形。描述帮助 Visual ChatGPT 理解这个图像,但 Visual ChatGPT 应该使用工具来完成以下任务,而不是直接从描述中想象。有些工具将会返回英文描述,但你对用户的聊天应当采用中文。 + +总的来说,Visual ChatGPT 是一个强大的可视化对话辅助工具,可以帮助处理范围广泛的任务,并提供关于范围广泛的主题的有价值的见解和信息。 + +工具列表: +------ + +Visual ChatGPT 可以使用这些工具:""" + +VISUAL_CHATGPT_FORMAT_INSTRUCTIONS_CN = """用户使用中文和你进行聊天,但是工具的参数应当使用英文。如果要调用工具,你必须遵循如下格式: + +``` +Thought: Do I need to use a tool? Yes +Action: the action to take, should be one of [{tool_names}] +Action Input: the input to the action +Observation: the result of the action +``` + +当你不再需要继续调用工具,而是对观察结果进行总结回复时,你必须使用如下格式: + + +``` +Thought: Do I need to use a tool? No +{ai_prefix}: [your response here] +``` +""" + +VISUAL_CHATGPT_SUFFIX_CN = """你对文件名的正确性非常严格,而且永远不会伪造不存在的文件。 + +开始! + +因为Visual ChatGPT是一个文本语言模型,必须使用工具去观察图片而不是依靠想象。 +推理想法和观察结果只对Visual ChatGPT可见,需要记得在最终回复时把重要的信息重复给用户,你只能给用户返回中文句子。我们一步一步思考。在你使用工具时,工具的参数只能是英文。 + +聊天历史: +{chat_history} + +新输入: {input} +Thought: Do I need to use a tool? {agent_scratchpad} +""" + +os.makedirs('image', exist_ok=True) + + +def seed_everything(seed): + random.seed(seed) + np.random.seed(seed) + torch.manual_seed(seed) + torch.cuda.manual_seed_all(seed) + return seed + + +def prompts(name, description): + def decorator(func): + func.name = name + func.description = description + return func + + return decorator + + +def blend_gt2pt(old_image, new_image, sigma=0.15, steps=100): + new_size = new_image.size + old_size = old_image.size + easy_img = np.array(new_image) + gt_img_array = np.array(old_image) + pos_w = (new_size[0] - old_size[0]) // 2 + pos_h = (new_size[1] - old_size[1]) // 2 + + kernel_h = cv2.getGaussianKernel(old_size[1], old_size[1] * sigma) + kernel_w = cv2.getGaussianKernel(old_size[0], old_size[0] * sigma) + kernel = np.multiply(kernel_h, np.transpose(kernel_w)) + + kernel[steps:-steps, steps:-steps] = 1 + kernel[:steps, :steps] = kernel[:steps, :steps] / kernel[steps - 1, steps - 1] + kernel[:steps, -steps:] = kernel[:steps, -steps:] / kernel[steps - 1, -(steps)] + kernel[-steps:, :steps] = kernel[-steps:, :steps] / kernel[-steps, steps - 1] + kernel[-steps:, -steps:] = kernel[-steps:, -steps:] / kernel[-steps, -steps] + kernel = np.expand_dims(kernel, 2) + kernel = np.repeat(kernel, 3, 2) + + weight = np.linspace(0, 1, steps) + top = np.expand_dims(weight, 1) + top = np.repeat(top, old_size[0] - 2 * steps, 1) + top = np.expand_dims(top, 2) + top = np.repeat(top, 3, 2) + + weight = np.linspace(1, 0, steps) + down = np.expand_dims(weight, 1) + down = np.repeat(down, old_size[0] - 2 * steps, 1) + down = np.expand_dims(down, 2) + down = np.repeat(down, 3, 2) + + weight = np.linspace(0, 1, steps) + left = np.expand_dims(weight, 0) + left = np.repeat(left, old_size[1] - 2 * steps, 0) + left = np.expand_dims(left, 2) + left = np.repeat(left, 3, 2) + + weight = np.linspace(1, 0, steps) + right = np.expand_dims(weight, 0) + right = np.repeat(right, old_size[1] - 2 * steps, 0) + right = np.expand_dims(right, 2) + right = np.repeat(right, 3, 2) + + kernel[:steps, steps:-steps] = top + kernel[-steps:, steps:-steps] = down + kernel[steps:-steps, :steps] = left + kernel[steps:-steps, -steps:] = right + + pt_gt_img = easy_img[pos_h:pos_h + old_size[1], pos_w:pos_w + old_size[0]] + gaussian_gt_img = kernel * gt_img_array + (1 - kernel) * pt_gt_img # gt img with blur img + gaussian_gt_img = gaussian_gt_img.astype(np.int64) + easy_img[pos_h:pos_h + old_size[1], pos_w:pos_w + old_size[0]] = gaussian_gt_img + gaussian_img = Image.fromarray(easy_img) + return gaussian_img + + +def cut_dialogue_history(history_memory, keep_last_n_words=500): + if history_memory is None or len(history_memory) == 0: + return history_memory + tokens = history_memory.split() + n_tokens = len(tokens) + print(f"history_memory:{history_memory}, n_tokens: {n_tokens}") + if n_tokens < keep_last_n_words: + return history_memory + paragraphs = history_memory.split('\n') + last_n_tokens = n_tokens + while last_n_tokens >= keep_last_n_words: + last_n_tokens -= len(paragraphs[0].split(' ')) + paragraphs = paragraphs[1:] + return '\n' + '\n'.join(paragraphs) + + +def get_new_image_name(org_img_name, func_name="update"): + head_tail = os.path.split(org_img_name) + head = head_tail[0] + tail = head_tail[1] + name_split = tail.split('.')[0].split('_') + this_new_uuid = str(uuid.uuid4())[:4] + if len(name_split) == 1: + most_org_file_name = name_split[0] + else: + assert len(name_split) == 4 + most_org_file_name = name_split[3] + recent_prev_file_name = name_split[0] + new_file_name = f'{this_new_uuid}_{func_name}_{recent_prev_file_name}_{most_org_file_name}.png' + return os.path.join(head, new_file_name) + + + +class MaskFormer: + def __init__(self, device): + print(f"Initializing MaskFormer to {device}") + self.device = device + self.processor = CLIPSegProcessor.from_pretrained("CIDAS/clipseg-rd64-refined") + self.model = CLIPSegForImageSegmentation.from_pretrained("CIDAS/clipseg-rd64-refined").to(device) + + def inference(self, image_path, text): + threshold = 0.5 + min_area = 0.02 + padding = 20 + original_image = Image.open(image_path) + image = original_image.resize((512, 512)) + inputs = self.processor(text=text, images=image, padding="max_length", return_tensors="pt").to(self.device) + with torch.no_grad(): + outputs = self.model(**inputs) + mask = torch.sigmoid(outputs[0]).squeeze().cpu().numpy() > threshold + area_ratio = len(np.argwhere(mask)) / (mask.shape[0] * mask.shape[1]) + if area_ratio < min_area: + return None + true_indices = np.argwhere(mask) + mask_array = np.zeros_like(mask, dtype=bool) + for idx in true_indices: + padded_slice = tuple(slice(max(0, i - padding), i + padding + 1) for i in idx) + mask_array[padded_slice] = True + visual_mask = (mask_array * 255).astype(np.uint8) + image_mask = Image.fromarray(visual_mask) + return image_mask.resize(original_image.size) + + +class ImageEditing: + def __init__(self, device): + print(f"Initializing ImageEditing to {device}") + self.device = device + self.mask_former = MaskFormer(device=self.device) + self.revision = 'fp16' if 'cuda' in device else None + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.inpaint = StableDiffusionInpaintPipeline.from_pretrained( + "runwayml/stable-diffusion-inpainting", revision=self.revision, torch_dtype=self.torch_dtype).to(device) + + @prompts(name="Replace Something From The Photo", + description="useful when you want to replace an object from the object description or " + "location with another object from its description. " + "The input to this tool should be a comma separated string of three, " + "representing the image_path, the object to be replaced, the object to be replaced with ") + def inference_replace(self, inputs): + image_path, to_be_replaced_txt, replace_with_txt = inputs.split(",") + original_image = Image.open(image_path) + original_size = original_image.size + mask_image = self.mask_former.inference(image_path, to_be_replaced_txt) + updated_image = self.inpaint(prompt=replace_with_txt, image=original_image.resize((512, 512)), + mask_image=mask_image.resize((512, 512))).images[0] + updated_image_path = get_new_image_name(image_path, func_name="replace-something") + updated_image = updated_image.resize(original_size) + updated_image.save(updated_image_path) + print( + f"\nProcessed ImageEditing, Input Image: {image_path}, Replace {to_be_replaced_txt} to {replace_with_txt}, " + f"Output Image: {updated_image_path}") + return updated_image_path + + +class InstructPix2Pix: + def __init__(self, device): + print(f"Initializing InstructPix2Pix to {device}") + self.device = device + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.pipe = StableDiffusionInstructPix2PixPipeline.from_pretrained("timbrooks/instruct-pix2pix", + safety_checker=None, + torch_dtype=self.torch_dtype).to(device) + self.pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(self.pipe.scheduler.config) + + @prompts(name="Instruct Image Using Text", + description="useful when you want to the style of the image to be like the text. " + "like: make it look like a painting. or make it like a robot. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the text. ") + def inference(self, inputs): + """Change style of image.""" + print("===>Starting InstructPix2Pix Inference") + image_path, text = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) + original_image = Image.open(image_path) + image = self.pipe(text, image=original_image, num_inference_steps=40, image_guidance_scale=1.2).images[0] + updated_image_path = get_new_image_name(image_path, func_name="pix2pix") + image.save(updated_image_path) + print(f"\nProcessed InstructPix2Pix, Input Image: {image_path}, Instruct Text: {text}, " + f"Output Image: {updated_image_path}") + return updated_image_path + + +class Text2Image: + def __init__(self, device): + print(f"Initializing Text2Image to {device}") + self.device = device + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", + torch_dtype=self.torch_dtype) + self.pipe.to(device) + self.a_prompt = 'best quality, extremely detailed' + self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, ' \ + 'fewer digits, cropped, worst quality, low quality' + + @prompts(name="Generate Image From User Input Text", + description="useful when you want to generate an image from a user input text and save it to a file. " + "like: generate an image of an object or something, or generate an image that includes some objects. " + "The input to this tool should be a string, representing the text used to generate image. ") + def inference(self, text): + image_filename = os.path.join('image', f"{str(uuid.uuid4())[:8]}.png") + prompt = text + ', ' + self.a_prompt + image = self.pipe(prompt, negative_prompt=self.n_prompt).images[0] + image.save(image_filename) + print( + f"\nProcessed Text2Image, Input Text: {text}, Output Image: {image_filename}") + return image_filename + + +class ImageCaptioning: + def __init__(self, device): + print(f"Initializing ImageCaptioning to {device}") + self.device = device + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base") + self.model = BlipForConditionalGeneration.from_pretrained( + "Salesforce/blip-image-captioning-base", torch_dtype=self.torch_dtype).to(self.device) + + @prompts(name="Get Photo Description", + description="useful when you want to know what is inside the photo. receives image_path as input. " + "The input to this tool should be a string, representing the image_path. ") + def inference(self, image_path): + inputs = self.processor(Image.open(image_path), return_tensors="pt").to(self.device, self.torch_dtype) + out = self.model.generate(**inputs) + captions = self.processor.decode(out[0], skip_special_tokens=True) + print(f"\nProcessed ImageCaptioning, Input Image: {image_path}, Output Text: {captions}") + return captions + + +class Image2Canny: + def __init__(self, device): + print("Initializing Image2Canny") + self.low_threshold = 100 + self.high_threshold = 200 + + @prompts(name="Edge Detection On Image", + description="useful when you want to detect the edge of the image. " + "like: detect the edges of this image, or canny detection on image, " + "or perform edge detection on this image, or detect the canny image of this image. " + "The input to this tool should be a string, representing the image_path") + def inference(self, inputs): + image = Image.open(inputs) + image = np.array(image) + canny = cv2.Canny(image, self.low_threshold, self.high_threshold) + canny = canny[:, :, None] + canny = np.concatenate([canny, canny, canny], axis=2) + canny = Image.fromarray(canny) + updated_image_path = get_new_image_name(inputs, func_name="edge") + canny.save(updated_image_path) + print(f"\nProcessed Image2Canny, Input Image: {inputs}, Output Text: {updated_image_path}") + return updated_image_path + + +class CannyText2Image: + def __init__(self, device): + print(f"Initializing CannyText2Image to {device}") + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.controlnet = ControlNetModel.from_pretrained("fusing/stable-diffusion-v1-5-controlnet-canny", + torch_dtype=self.torch_dtype) + self.pipe = StableDiffusionControlNetPipeline.from_pretrained( + "runwayml/stable-diffusion-v1-5", controlnet=self.controlnet, safety_checker=None, + torch_dtype=self.torch_dtype) + self.pipe.scheduler = UniPCMultistepScheduler.from_config(self.pipe.scheduler.config) + self.pipe.to(device) + self.seed = -1 + self.a_prompt = 'best quality, extremely detailed' + self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, ' \ + 'fewer digits, cropped, worst quality, low quality' + + @prompts(name="Generate Image Condition On Canny Image", + description="useful when you want to generate a new real image from both the user description and a canny image." + " like: generate a real image of a object or something from this canny image," + " or generate a new real image of a object or something from this edge image. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the user description. ") + def inference(self, inputs): + image_path, instruct_text = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) + image = Image.open(image_path) + self.seed = random.randint(0, 65535) + seed_everything(self.seed) + prompt = f'{instruct_text}, {self.a_prompt}' + image = self.pipe(prompt, image, num_inference_steps=20, eta=0.0, negative_prompt=self.n_prompt, + guidance_scale=9.0).images[0] + updated_image_path = get_new_image_name(image_path, func_name="canny2image") + image.save(updated_image_path) + print(f"\nProcessed CannyText2Image, Input Canny: {image_path}, Input Text: {instruct_text}, " + f"Output Text: {updated_image_path}") + return updated_image_path + + +class Image2Line: + def __init__(self, device): + print("Initializing Image2Line") + self.detector = MLSDdetector.from_pretrained('lllyasviel/ControlNet') + + @prompts(name="Line Detection On Image", + description="useful when you want to detect the straight line of the image. " + "like: detect the straight lines of this image, or straight line detection on image, " + "or perform straight line detection on this image, or detect the straight line image of this image. " + "The input to this tool should be a string, representing the image_path") + def inference(self, inputs): + image = Image.open(inputs) + mlsd = self.detector(image) + updated_image_path = get_new_image_name(inputs, func_name="line-of") + mlsd.save(updated_image_path) + print(f"\nProcessed Image2Line, Input Image: {inputs}, Output Line: {updated_image_path}") + return updated_image_path + + +class LineText2Image: + def __init__(self, device): + print(f"Initializing LineText2Image to {device}") + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.controlnet = ControlNetModel.from_pretrained("fusing/stable-diffusion-v1-5-controlnet-mlsd", + torch_dtype=self.torch_dtype) + self.pipe = StableDiffusionControlNetPipeline.from_pretrained( + "runwayml/stable-diffusion-v1-5", controlnet=self.controlnet, safety_checker=None, + torch_dtype=self.torch_dtype + ) + self.pipe.scheduler = UniPCMultistepScheduler.from_config(self.pipe.scheduler.config) + self.pipe.to(device) + self.seed = -1 + self.a_prompt = 'best quality, extremely detailed' + self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, ' \ + 'fewer digits, cropped, worst quality, low quality' + + @prompts(name="Generate Image Condition On Line Image", + description="useful when you want to generate a new real image from both the user description " + "and a straight line image. " + "like: generate a real image of a object or something from this straight line image, " + "or generate a new real image of a object or something from this straight lines. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the user description. ") + def inference(self, inputs): + image_path, instruct_text = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) + image = Image.open(image_path) + self.seed = random.randint(0, 65535) + seed_everything(self.seed) + prompt = f'{instruct_text}, {self.a_prompt}' + image = self.pipe(prompt, image, num_inference_steps=20, eta=0.0, negative_prompt=self.n_prompt, + guidance_scale=9.0).images[0] + updated_image_path = get_new_image_name(image_path, func_name="line2image") + image.save(updated_image_path) + print(f"\nProcessed LineText2Image, Input Line: {image_path}, Input Text: {instruct_text}, " + f"Output Text: {updated_image_path}") + return updated_image_path + + +class Image2Hed: + def __init__(self, device): + print("Initializing Image2Hed") + self.detector = HEDdetector.from_pretrained('lllyasviel/ControlNet') + + @prompts(name="Hed Detection On Image", + description="useful when you want to detect the soft hed boundary of the image. " + "like: detect the soft hed boundary of this image, or hed boundary detection on image, " + "or perform hed boundary detection on this image, or detect soft hed boundary image of this image. " + "The input to this tool should be a string, representing the image_path") + def inference(self, inputs): + image = Image.open(inputs) + hed = self.detector(image) + updated_image_path = get_new_image_name(inputs, func_name="hed-boundary") + hed.save(updated_image_path) + print(f"\nProcessed Image2Hed, Input Image: {inputs}, Output Hed: {updated_image_path}") + return updated_image_path + + +class HedText2Image: + def __init__(self, device): + print(f"Initializing HedText2Image to {device}") + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.controlnet = ControlNetModel.from_pretrained("fusing/stable-diffusion-v1-5-controlnet-hed", + torch_dtype=self.torch_dtype) + self.pipe = StableDiffusionControlNetPipeline.from_pretrained( + "runwayml/stable-diffusion-v1-5", controlnet=self.controlnet, safety_checker=None, + torch_dtype=self.torch_dtype + ) + self.pipe.scheduler = UniPCMultistepScheduler.from_config(self.pipe.scheduler.config) + self.pipe.to(device) + self.seed = -1 + self.a_prompt = 'best quality, extremely detailed' + self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, ' \ + 'fewer digits, cropped, worst quality, low quality' + + @prompts(name="Generate Image Condition On Soft Hed Boundary Image", + description="useful when you want to generate a new real image from both the user description " + "and a soft hed boundary image. " + "like: generate a real image of a object or something from this soft hed boundary image, " + "or generate a new real image of a object or something from this hed boundary. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the user description") + def inference(self, inputs): + image_path, instruct_text = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) + image = Image.open(image_path) + self.seed = random.randint(0, 65535) + seed_everything(self.seed) + prompt = f'{instruct_text}, {self.a_prompt}' + image = self.pipe(prompt, image, num_inference_steps=20, eta=0.0, negative_prompt=self.n_prompt, + guidance_scale=9.0).images[0] + updated_image_path = get_new_image_name(image_path, func_name="hed2image") + image.save(updated_image_path) + print(f"\nProcessed HedText2Image, Input Hed: {image_path}, Input Text: {instruct_text}, " + f"Output Image: {updated_image_path}") + return updated_image_path + + +class Image2Scribble: + def __init__(self, device): + print("Initializing Image2Scribble") + self.detector = HEDdetector.from_pretrained('lllyasviel/ControlNet') + + @prompts(name="Sketch Detection On Image", + description="useful when you want to generate a scribble of the image. " + "like: generate a scribble of this image, or generate a sketch from this image, " + "detect the sketch from this image. " + "The input to this tool should be a string, representing the image_path") + def inference(self, inputs): + image = Image.open(inputs) + scribble = self.detector(image, scribble=True) + updated_image_path = get_new_image_name(inputs, func_name="scribble") + scribble.save(updated_image_path) + print(f"\nProcessed Image2Scribble, Input Image: {inputs}, Output Scribble: {updated_image_path}") + return updated_image_path + + +class ScribbleText2Image: + def __init__(self, device): + print(f"Initializing ScribbleText2Image to {device}") + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.controlnet = ControlNetModel.from_pretrained("fusing/stable-diffusion-v1-5-controlnet-scribble", + torch_dtype=self.torch_dtype) + self.pipe = StableDiffusionControlNetPipeline.from_pretrained( + "runwayml/stable-diffusion-v1-5", controlnet=self.controlnet, safety_checker=None, + torch_dtype=self.torch_dtype + ) + self.pipe.scheduler = UniPCMultistepScheduler.from_config(self.pipe.scheduler.config) + self.pipe.to(device) + self.seed = -1 + self.a_prompt = 'best quality, extremely detailed' + self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, ' \ + 'fewer digits, cropped, worst quality, low quality' + + @prompts(name="Generate Image Condition On Sketch Image", + description="useful when you want to generate a new real image from both the user description and " + "a scribble image or a sketch image. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the user description") + def inference(self, inputs): + image_path, instruct_text = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) + image = Image.open(image_path) + self.seed = random.randint(0, 65535) + seed_everything(self.seed) + prompt = f'{instruct_text}, {self.a_prompt}' + image = self.pipe(prompt, image, num_inference_steps=20, eta=0.0, negative_prompt=self.n_prompt, + guidance_scale=9.0).images[0] + updated_image_path = get_new_image_name(image_path, func_name="scribble2image") + image.save(updated_image_path) + print(f"\nProcessed ScribbleText2Image, Input Scribble: {image_path}, Input Text: {instruct_text}, " + f"Output Image: {updated_image_path}") + return updated_image_path + + +class Image2Pose: + def __init__(self, device): + print("Initializing Image2Pose") + self.detector = OpenposeDetector.from_pretrained('lllyasviel/ControlNet') + + @prompts(name="Pose Detection On Image", + description="useful when you want to detect the human pose of the image. " + "like: generate human poses of this image, or generate a pose image from this image. " + "The input to this tool should be a string, representing the image_path") + def inference(self, inputs): + image = Image.open(inputs) + pose = self.detector(image) + updated_image_path = get_new_image_name(inputs, func_name="human-pose") + pose.save(updated_image_path) + print(f"\nProcessed Image2Pose, Input Image: {inputs}, Output Pose: {updated_image_path}") + return updated_image_path + + +class PoseText2Image: + def __init__(self, device): + print(f"Initializing PoseText2Image to {device}") + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.controlnet = ControlNetModel.from_pretrained("fusing/stable-diffusion-v1-5-controlnet-openpose", + torch_dtype=self.torch_dtype) + self.pipe = StableDiffusionControlNetPipeline.from_pretrained( + "runwayml/stable-diffusion-v1-5", controlnet=self.controlnet, safety_checker=None, + torch_dtype=self.torch_dtype) + self.pipe.scheduler = UniPCMultistepScheduler.from_config(self.pipe.scheduler.config) + self.pipe.to(device) + self.num_inference_steps = 20 + self.seed = -1 + self.unconditional_guidance_scale = 9.0 + self.a_prompt = 'best quality, extremely detailed' + self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit,' \ + ' fewer digits, cropped, worst quality, low quality' + + @prompts(name="Generate Image Condition On Pose Image", + description="useful when you want to generate a new real image from both the user description " + "and a human pose image. " + "like: generate a real image of a human from this human pose image, " + "or generate a new real image of a human from this pose. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the user description") + def inference(self, inputs): + image_path, instruct_text = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) + image = Image.open(image_path) + self.seed = random.randint(0, 65535) + seed_everything(self.seed) + prompt = f'{instruct_text}, {self.a_prompt}' + image = self.pipe(prompt, image, num_inference_steps=20, eta=0.0, negative_prompt=self.n_prompt, + guidance_scale=9.0).images[0] + updated_image_path = get_new_image_name(image_path, func_name="pose2image") + image.save(updated_image_path) + print(f"\nProcessed PoseText2Image, Input Pose: {image_path}, Input Text: {instruct_text}, " + f"Output Image: {updated_image_path}") + return updated_image_path + + +class Image2Seg: + def __init__(self, device): + print("Initializing Image2Seg") + self.image_processor = AutoImageProcessor.from_pretrained("openmmlab/upernet-convnext-small") + self.image_segmentor = UperNetForSemanticSegmentation.from_pretrained("openmmlab/upernet-convnext-small") + self.ade_palette = [[120, 120, 120], [180, 120, 120], [6, 230, 230], [80, 50, 50], + [4, 200, 3], [120, 120, 80], [140, 140, 140], [204, 5, 255], + [230, 230, 230], [4, 250, 7], [224, 5, 255], [235, 255, 7], + [150, 5, 61], [120, 120, 70], [8, 255, 51], [255, 6, 82], + [143, 255, 140], [204, 255, 4], [255, 51, 7], [204, 70, 3], + [0, 102, 200], [61, 230, 250], [255, 6, 51], [11, 102, 255], + [255, 7, 71], [255, 9, 224], [9, 7, 230], [220, 220, 220], + [255, 9, 92], [112, 9, 255], [8, 255, 214], [7, 255, 224], + [255, 184, 6], [10, 255, 71], [255, 41, 10], [7, 255, 255], + [224, 255, 8], [102, 8, 255], [255, 61, 6], [255, 194, 7], + [255, 122, 8], [0, 255, 20], [255, 8, 41], [255, 5, 153], + [6, 51, 255], [235, 12, 255], [160, 150, 20], [0, 163, 255], + [140, 140, 140], [250, 10, 15], [20, 255, 0], [31, 255, 0], + [255, 31, 0], [255, 224, 0], [153, 255, 0], [0, 0, 255], + [255, 71, 0], [0, 235, 255], [0, 173, 255], [31, 0, 255], + [11, 200, 200], [255, 82, 0], [0, 255, 245], [0, 61, 255], + [0, 255, 112], [0, 255, 133], [255, 0, 0], [255, 163, 0], + [255, 102, 0], [194, 255, 0], [0, 143, 255], [51, 255, 0], + [0, 82, 255], [0, 255, 41], [0, 255, 173], [10, 0, 255], + [173, 255, 0], [0, 255, 153], [255, 92, 0], [255, 0, 255], + [255, 0, 245], [255, 0, 102], [255, 173, 0], [255, 0, 20], + [255, 184, 184], [0, 31, 255], [0, 255, 61], [0, 71, 255], + [255, 0, 204], [0, 255, 194], [0, 255, 82], [0, 10, 255], + [0, 112, 255], [51, 0, 255], [0, 194, 255], [0, 122, 255], + [0, 255, 163], [255, 153, 0], [0, 255, 10], [255, 112, 0], + [143, 255, 0], [82, 0, 255], [163, 255, 0], [255, 235, 0], + [8, 184, 170], [133, 0, 255], [0, 255, 92], [184, 0, 255], + [255, 0, 31], [0, 184, 255], [0, 214, 255], [255, 0, 112], + [92, 255, 0], [0, 224, 255], [112, 224, 255], [70, 184, 160], + [163, 0, 255], [153, 0, 255], [71, 255, 0], [255, 0, 163], + [255, 204, 0], [255, 0, 143], [0, 255, 235], [133, 255, 0], + [255, 0, 235], [245, 0, 255], [255, 0, 122], [255, 245, 0], + [10, 190, 212], [214, 255, 0], [0, 204, 255], [20, 0, 255], + [255, 255, 0], [0, 153, 255], [0, 41, 255], [0, 255, 204], + [41, 0, 255], [41, 255, 0], [173, 0, 255], [0, 245, 255], + [71, 0, 255], [122, 0, 255], [0, 255, 184], [0, 92, 255], + [184, 255, 0], [0, 133, 255], [255, 214, 0], [25, 194, 194], + [102, 255, 0], [92, 0, 255]] + + @prompts(name="Segmentation On Image", + description="useful when you want to detect segmentations of the image. " + "like: segment this image, or generate segmentations on this image, " + "or perform segmentation on this image. " + "The input to this tool should be a string, representing the image_path") + def inference(self, inputs): + image = Image.open(inputs) + pixel_values = self.image_processor(image, return_tensors="pt").pixel_values + with torch.no_grad(): + outputs = self.image_segmentor(pixel_values) + seg = self.image_processor.post_process_semantic_segmentation(outputs, target_sizes=[image.size[::-1]])[0] + color_seg = np.zeros((seg.shape[0], seg.shape[1], 3), dtype=np.uint8) # height, width, 3 + palette = np.array(self.ade_palette) + for label, color in enumerate(palette): + color_seg[seg == label, :] = color + color_seg = color_seg.astype(np.uint8) + segmentation = Image.fromarray(color_seg) + updated_image_path = get_new_image_name(inputs, func_name="segmentation") + segmentation.save(updated_image_path) + print(f"\nProcessed Image2Seg, Input Image: {inputs}, Output Pose: {updated_image_path}") + return updated_image_path + + +class SegText2Image: + def __init__(self, device): + print(f"Initializing SegText2Image to {device}") + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.controlnet = ControlNetModel.from_pretrained("fusing/stable-diffusion-v1-5-controlnet-seg", + torch_dtype=self.torch_dtype) + self.pipe = StableDiffusionControlNetPipeline.from_pretrained( + "runwayml/stable-diffusion-v1-5", controlnet=self.controlnet, safety_checker=None, + torch_dtype=self.torch_dtype) + self.pipe.scheduler = UniPCMultistepScheduler.from_config(self.pipe.scheduler.config) + self.pipe.to(device) + self.seed = -1 + self.a_prompt = 'best quality, extremely detailed' + self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit,' \ + ' fewer digits, cropped, worst quality, low quality' + + @prompts(name="Generate Image Condition On Segmentations", + description="useful when you want to generate a new real image from both the user description and segmentations. " + "like: generate a real image of a object or something from this segmentation image, " + "or generate a new real image of a object or something from these segmentations. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the user description") + def inference(self, inputs): + image_path, instruct_text = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) + image = Image.open(image_path) + self.seed = random.randint(0, 65535) + seed_everything(self.seed) + prompt = f'{instruct_text}, {self.a_prompt}' + image = self.pipe(prompt, image, num_inference_steps=20, eta=0.0, negative_prompt=self.n_prompt, + guidance_scale=9.0).images[0] + updated_image_path = get_new_image_name(image_path, func_name="segment2image") + image.save(updated_image_path) + print(f"\nProcessed SegText2Image, Input Seg: {image_path}, Input Text: {instruct_text}, " + f"Output Image: {updated_image_path}") + return updated_image_path + + +class Image2Depth: + def __init__(self, device): + print("Initializing Image2Depth") + self.depth_estimator = pipeline('depth-estimation') + + @prompts(name="Predict Depth On Image", + description="useful when you want to detect depth of the image. like: generate the depth from this image, " + "or detect the depth map on this image, or predict the depth for this image. " + "The input to this tool should be a string, representing the image_path") + def inference(self, inputs): + image = Image.open(inputs) + depth = self.depth_estimator(image)['depth'] + depth = np.array(depth) + depth = depth[:, :, None] + depth = np.concatenate([depth, depth, depth], axis=2) + depth = Image.fromarray(depth) + updated_image_path = get_new_image_name(inputs, func_name="depth") + depth.save(updated_image_path) + print(f"\nProcessed Image2Depth, Input Image: {inputs}, Output Depth: {updated_image_path}") + return updated_image_path + + +class DepthText2Image: + def __init__(self, device): + print(f"Initializing DepthText2Image to {device}") + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.controlnet = ControlNetModel.from_pretrained( + "fusing/stable-diffusion-v1-5-controlnet-depth", torch_dtype=self.torch_dtype) + self.pipe = StableDiffusionControlNetPipeline.from_pretrained( + "runwayml/stable-diffusion-v1-5", controlnet=self.controlnet, safety_checker=None, + torch_dtype=self.torch_dtype) + self.pipe.scheduler = UniPCMultistepScheduler.from_config(self.pipe.scheduler.config) + self.pipe.to(device) + self.seed = -1 + self.a_prompt = 'best quality, extremely detailed' + self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit,' \ + ' fewer digits, cropped, worst quality, low quality' + + @prompts(name="Generate Image Condition On Depth", + description="useful when you want to generate a new real image from both the user description and depth image. " + "like: generate a real image of a object or something from this depth image, " + "or generate a new real image of a object or something from the depth map. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the user description") + def inference(self, inputs): + image_path, instruct_text = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) + image = Image.open(image_path) + self.seed = random.randint(0, 65535) + seed_everything(self.seed) + prompt = f'{instruct_text}, {self.a_prompt}' + image = self.pipe(prompt, image, num_inference_steps=20, eta=0.0, negative_prompt=self.n_prompt, + guidance_scale=9.0).images[0] + updated_image_path = get_new_image_name(image_path, func_name="depth2image") + image.save(updated_image_path) + print(f"\nProcessed DepthText2Image, Input Depth: {image_path}, Input Text: {instruct_text}, " + f"Output Image: {updated_image_path}") + return updated_image_path + + +class Image2Normal: + def __init__(self, device): + print("Initializing Image2Normal") + self.depth_estimator = pipeline("depth-estimation", model="Intel/dpt-hybrid-midas") + self.bg_threhold = 0.4 + + @prompts(name="Predict Normal Map On Image", + description="useful when you want to detect norm map of the image. " + "like: generate normal map from this image, or predict normal map of this image. " + "The input to this tool should be a string, representing the image_path") + def inference(self, inputs): + image = Image.open(inputs) + original_size = image.size + image = self.depth_estimator(image)['predicted_depth'][0] + image = image.numpy() + image_depth = image.copy() + image_depth -= np.min(image_depth) + image_depth /= np.max(image_depth) + x = cv2.Sobel(image, cv2.CV_32F, 1, 0, ksize=3) + x[image_depth < self.bg_threhold] = 0 + y = cv2.Sobel(image, cv2.CV_32F, 0, 1, ksize=3) + y[image_depth < self.bg_threhold] = 0 + z = np.ones_like(x) * np.pi * 2.0 + image = np.stack([x, y, z], axis=2) + image /= np.sum(image ** 2.0, axis=2, keepdims=True) ** 0.5 + image = (image * 127.5 + 127.5).clip(0, 255).astype(np.uint8) + image = Image.fromarray(image) + image = image.resize(original_size) + updated_image_path = get_new_image_name(inputs, func_name="normal-map") + image.save(updated_image_path) + print(f"\nProcessed Image2Normal, Input Image: {inputs}, Output Depth: {updated_image_path}") + return updated_image_path + + +class NormalText2Image: + def __init__(self, device): + print(f"Initializing NormalText2Image to {device}") + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.controlnet = ControlNetModel.from_pretrained( + "fusing/stable-diffusion-v1-5-controlnet-normal", torch_dtype=self.torch_dtype) + self.pipe = StableDiffusionControlNetPipeline.from_pretrained( + "runwayml/stable-diffusion-v1-5", controlnet=self.controlnet, safety_checker=None, + torch_dtype=self.torch_dtype) + self.pipe.scheduler = UniPCMultistepScheduler.from_config(self.pipe.scheduler.config) + self.pipe.to(device) + self.seed = -1 + self.a_prompt = 'best quality, extremely detailed' + self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit,' \ + ' fewer digits, cropped, worst quality, low quality' + + @prompts(name="Generate Image Condition On Normal Map", + description="useful when you want to generate a new real image from both the user description and normal map. " + "like: generate a real image of a object or something from this normal map, " + "or generate a new real image of a object or something from the normal map. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the user description") + def inference(self, inputs): + image_path, instruct_text = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) + image = Image.open(image_path) + self.seed = random.randint(0, 65535) + seed_everything(self.seed) + prompt = f'{instruct_text}, {self.a_prompt}' + image = self.pipe(prompt, image, num_inference_steps=20, eta=0.0, negative_prompt=self.n_prompt, + guidance_scale=9.0).images[0] + updated_image_path = get_new_image_name(image_path, func_name="normal2image") + image.save(updated_image_path) + print(f"\nProcessed NormalText2Image, Input Normal: {image_path}, Input Text: {instruct_text}, " + f"Output Image: {updated_image_path}") + return updated_image_path + + +class VisualQuestionAnswering: + def __init__(self, device): + print(f"Initializing VisualQuestionAnswering to {device}") + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.device = device + self.processor = BlipProcessor.from_pretrained("Salesforce/blip-vqa-base") + self.model = BlipForQuestionAnswering.from_pretrained( + "Salesforce/blip-vqa-base", torch_dtype=self.torch_dtype).to(self.device) + + @prompts(name="Answer Question About The Image", + description="useful when you need an answer for a question based on an image. " + "like: what is the background color of the last image, how many cats in this figure, what is in this figure. " + "The input to this tool should be a comma separated string of two, representing the image_path and the question") + def inference(self, inputs): + image_path, question = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) + raw_image = Image.open(image_path).convert('RGB') + inputs = self.processor(raw_image, question, return_tensors="pt").to(self.device, self.torch_dtype) + out = self.model.generate(**inputs) + answer = self.processor.decode(out[0], skip_special_tokens=True) + print(f"\nProcessed VisualQuestionAnswering, Input Image: {image_path}, Input Question: {question}, " + f"Output Answer: {answer}") + return answer + + +class InfinityOutPainting: + template_model = True # Add this line to show this is a template model. + def __init__(self, ImageCaptioning, ImageEditing, VisualQuestionAnswering): + self.llm = OpenAI(temperature=0) + self.ImageCaption = ImageCaptioning + self.ImageEditing = ImageEditing + self.ImageVQA = VisualQuestionAnswering + self.a_prompt = 'best quality, extremely detailed' + self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, ' \ + 'fewer digits, cropped, worst quality, low quality' + + def get_BLIP_vqa(self, image, question): + inputs = self.ImageVQA.processor(image, question, return_tensors="pt").to(self.ImageVQA.device, + self.ImageVQA.torch_dtype) + out = self.ImageVQA.model.generate(**inputs) + answer = self.ImageVQA.processor.decode(out[0], skip_special_tokens=True) + print(f"\nProcessed VisualQuestionAnswering, Input Question: {question}, Output Answer: {answer}") + return answer + + def get_BLIP_caption(self, image): + inputs = self.ImageCaption.processor(image, return_tensors="pt").to(self.ImageCaption.device, + self.ImageCaption.torch_dtype) + out = self.ImageCaption.model.generate(**inputs) + BLIP_caption = self.ImageCaption.processor.decode(out[0], skip_special_tokens=True) + return BLIP_caption + + def check_prompt(self, prompt): + check = f"Here is a paragraph with adjectives. " \ + f"{prompt} " \ + f"Please change all plural forms in the adjectives to singular forms. " + return self.llm(check) + + def get_imagine_caption(self, image, imagine): + BLIP_caption = self.get_BLIP_caption(image) + background_color = self.get_BLIP_vqa(image, 'what is the background color of this image') + style = self.get_BLIP_vqa(image, 'what is the style of this image') + imagine_prompt = f"let's pretend you are an excellent painter and now " \ + f"there is an incomplete painting with {BLIP_caption} in the center, " \ + f"please imagine the complete painting and describe it" \ + f"you should consider the background color is {background_color}, the style is {style}" \ + f"You should make the painting as vivid and realistic as possible" \ + f"You can not use words like painting or picture" \ + f"and you should use no more than 50 words to describe it" + caption = self.llm(imagine_prompt) if imagine else BLIP_caption + caption = self.check_prompt(caption) + print(f'BLIP observation: {BLIP_caption}, ChatGPT imagine to {caption}') if imagine else print( + f'Prompt: {caption}') + return caption + + def resize_image(self, image, max_size=1000000, multiple=8): + aspect_ratio = image.size[0] / image.size[1] + new_width = int(math.sqrt(max_size * aspect_ratio)) + new_height = int(new_width / aspect_ratio) + new_width, new_height = new_width - (new_width % multiple), new_height - (new_height % multiple) + return image.resize((new_width, new_height)) + + def dowhile(self, original_img, tosize, expand_ratio, imagine, usr_prompt): + old_img = original_img + while (old_img.size != tosize): + prompt = self.check_prompt(usr_prompt) if usr_prompt else self.get_imagine_caption(old_img, imagine) + crop_w = 15 if old_img.size[0] != tosize[0] else 0 + crop_h = 15 if old_img.size[1] != tosize[1] else 0 + old_img = ImageOps.crop(old_img, (crop_w, crop_h, crop_w, crop_h)) + temp_canvas_size = (expand_ratio * old_img.width if expand_ratio * old_img.width < tosize[0] else tosize[0], + expand_ratio * old_img.height if expand_ratio * old_img.height < tosize[1] else tosize[ + 1]) + temp_canvas, temp_mask = Image.new("RGB", temp_canvas_size, color="white"), Image.new("L", temp_canvas_size, + color="white") + x, y = (temp_canvas.width - old_img.width) // 2, (temp_canvas.height - old_img.height) // 2 + temp_canvas.paste(old_img, (x, y)) + temp_mask.paste(0, (x, y, x + old_img.width, y + old_img.height)) + resized_temp_canvas, resized_temp_mask = self.resize_image(temp_canvas), self.resize_image(temp_mask) + image = self.ImageEditing.inpaint(prompt=prompt, image=resized_temp_canvas, mask_image=resized_temp_mask, + height=resized_temp_canvas.height, width=resized_temp_canvas.width, + num_inference_steps=50).images[0].resize( + (temp_canvas.width, temp_canvas.height), Image.ANTIALIAS) + image = blend_gt2pt(old_img, image) + old_img = image + return old_img + + @prompts(name="Extend An Image", + description="useful when you need to extend an image into a larger image." + "like: extend the image into a resolution of 2048x1024, extend the image into 2048x1024. " + "The input to this tool should be a comma separated string of two, representing the image_path and the resolution of widthxheight") + def inference(self, inputs): + image_path, resolution = inputs.split(',') + width, height = resolution.split('x') + tosize = (int(width), int(height)) + image = Image.open(image_path) + image = ImageOps.crop(image, (10, 10, 10, 10)) + out_painted_image = self.dowhile(image, tosize, 4, True, False) + updated_image_path = get_new_image_name(image_path, func_name="outpainting") + out_painted_image.save(updated_image_path) + print(f"\nProcessed InfinityOutPainting, Input Image: {image_path}, Input Resolution: {resolution}, " + f"Output Image: {updated_image_path}") + return updated_image_path + +#############################################New Tool############################################# +class Grounded_dino_sam_inpainting: + def __init__(self, device): + print(f"Initializing BLIP") + self.device = device + self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 + self.blip_processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-large") + self.blip_model = BlipForConditionalGeneration.from_pretrained( + "Salesforce/blip-image-captioning-large", torch_dtype=self.torch_dtype + ).to(self.device) + print(f"Initializing GroundingDINO") + self.dino_model = load_model( + model_config_path="GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py", + model_checkpoint_path="groundingdino_swint_ogc.pth", + device=self.device + ) + print(f"Initializing Segment Anthing") + self.sam_model = build_sam(checkpoint="sam_vit_h_4b8939.pth").to(self.device) + print(f"Initializing Stable Diffusion") + self.sd_pipe = StableDiffusionInpaintPipeline.from_pretrained( + "runwayml/stable-diffusion-inpainting", torch_dtype=self.torch_dtype + ).to(self.device) + + @prompts(name="Get Photo Description", + description="useful when you want to know what is inside the photo. receives image_path as input. " + "The input to this tool should be a string, representing the image_path. ") + def inference_caption(self, image_path): + inputs = self.blip_processor(Image.open(image_path), return_tensors="pt").to(self.device, self.torch_dtype) + out = self.blip_model.generate(**inputs) + captions = self.blip_processor.decode(out[0], skip_special_tokens=True) + print(f"\nProcessed ImageCaptioning, Input Image: {image_path}, Output Text: {captions}") + return captions + + def _detect_object(self, image_path, text_prompt, func_name): + image_pil, image = load_image(image_path) + boxes_filt, scores, pred_phrases = get_grounding_output( + self.dino_model, image, text_prompt, 0.3, 0.25, device=self.device + ) + # use NMS to handle overlapped boxes + print(f"Before NMS: {boxes_filt.shape[0]} boxes") + nms_idx = torchvision.ops.nms(boxes_filt, scores, 0.5).numpy().tolist() + boxes_filt = boxes_filt[nms_idx] + pred_phrases = [pred_phrases[idx] for idx in nms_idx] + print(f"After NMS: {boxes_filt.shape[0]} boxes") + size = image_pil.size + pred_dict = { + "boxes": boxes_filt, + "size": [size[1], size[0]], # H,W + "labels": pred_phrases, + } + image_with_box = plot_boxes_to_image(image_pil, pred_dict)[0] + updated_image_path = get_new_image_name(image_path, func_name) + image_with_box.save(updated_image_path) + return updated_image_path + + @prompts(name="Detect One Object In Image", + description="useful when you want to detect the specific object in the image. " + "like: detect the black dog in the image. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the description of specific object.") + def inference_detect_one_object(self, inputs): + image_path, text_prompt = inputs.split(',') + updated_image_path = self._detect_object(image_path, text_prompt, func_name="det-object") + print(f"\nProcessed DetectOneObject, Input Image: {image_path}, Input Text Prompt: {text_prompt}, " + f"Output Image: {updated_image_path}") + return updated_image_path + + @prompts(name="Detect Multiple Objects In Image", + description="useful when you want to detect two or more specific objects in the image. " + "like: detect the black dog and white cat in the image. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the description of multiple specific objects. " + "Different description should be separated by symbol '&', " + "like 'black dog & white cat'. ") + def inference_detect_multi_object(self, inputs): + image_path, text_prompt = inputs.split(',') + processed_text_prompt = text_prompt.replace(' &', ',') + updated_image_path = self._detect_object(image_path, text_prompt, func_name="det-objects") + print(f"\nProcessed DetectMultiObject, Input Image: {image_path}, Original Text Prompt: {text_prompt}, " + f"Input Text Prompt: {processed_text_prompt}, Output Image: {updated_image_path}") + return updated_image_path + + # modified from https://github.com/Cheems-Seminar/segment-anything-and-name-it/blob/58408f1e4e340f565c5ef6b0c71920cdcd30b213/chatbot.py#L1046 + @prompts(name="Segment Anything in Image", + description="useful when you want to segment anything in the image. " + "like: segment anything in the image. " + "The input to this tool should be a string, representing the image_path. ") + def inference_segment_anything(self, image_path): + image = cv2.imread(image_path) + image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) + mask_generator = SamAutomaticMaskGenerator(self.sam_model) + anns = mask_generator.generate(image) + plt.figure(figsize=(10, 10)) + plt.imshow(image) + sorted_anns = sorted(anns, key=(lambda x: x['area']), reverse=True) + ax = plt.gca() + ax.set_autoscale_on(False) + for ann in sorted_anns: + m = ann['segmentation'] + img = np.ones((m.shape[0], m.shape[1], 3)) + color_mask = np.random.random((1, 3)).tolist()[0] + for i in range(3): + img[:,:,i] = color_mask[i] + ax.imshow(np.dstack((img, m*0.35))) + plt.axis('off') + updated_image_path = get_new_image_name(image_path, func_name="seg-any") + plt.savefig(updated_image_path, bbox_inches='tight', dpi=300, pad_inches=0.0) + print(f"\nProcessed SegmentAnything, Input Image: {image_path}, Output Image: {updated_image_path}") + return updated_image_path + + def _segment_object(self, image_path, text_prompt, func_name): + image_pil, image = load_image(image_path) + # run grounding dino model + boxes_filt, scores, pred_phrases = get_grounding_output( + self.dino_model, image, text_prompt, 0.25, 0.2, device=self.device + ) + # initialize SAM + predictor = SamPredictor(self.sam_model) + image = cv2.imread(image_path) + image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) + predictor.set_image(image) + size = image_pil.size + H, W = size[1], size[0] + for i in range(boxes_filt.size(0)): + boxes_filt[i] = boxes_filt[i] * torch.Tensor([W, H, W, H]) + boxes_filt[i][:2] -= boxes_filt[i][2:] / 2 + boxes_filt[i][2:] += boxes_filt[i][:2] + boxes_filt = boxes_filt.cpu() + # use NMS to handle overlapped boxes + print(f"Before NMS: {boxes_filt.shape[0]} boxes") + nms_idx = torchvision.ops.nms(boxes_filt, scores, 0.5).numpy().tolist() + boxes_filt = boxes_filt[nms_idx] + pred_phrases = [pred_phrases[idx] for idx in nms_idx] + print(f"After NMS: {boxes_filt.shape[0]} boxes") + # generate mask + transformed_boxes = predictor.transform.apply_boxes_torch(boxes_filt, image.shape[:2]) + masks, _, _ = predictor.predict_torch( + point_coords = None, + point_labels = None, + boxes = transformed_boxes.to(self.device), + multimask_output = False, + ) + # remove the mask when area < area_thresh (in pixels) + new_masks = [] + for mask in masks: + # reshape to be used in remove_small_regions() + mask = mask.cpu().numpy().squeeze() + mask, _ = remove_small_regions(mask, 100, mode="holes") + mask, _ = remove_small_regions(mask, 100, mode="islands") + new_masks.append(torch.as_tensor(mask).unsqueeze(0)) + masks = torch.stack(new_masks, dim=0) + # add box and mask in the image + plt.figure(figsize=(10, 10)) + plt.imshow(image) + for mask in masks: + show_mask(mask.cpu().numpy(), plt.gca(), random_color=True) + for box, label in zip(boxes_filt, pred_phrases): + show_box(box.numpy(), plt.gca(), label) + plt.axis('off') + updated_image_path = get_new_image_name(image_path, func_name) + plt.savefig(updated_image_path, bbox_inches='tight', dpi=300, pad_inches=0.0) + return updated_image_path, pred_phrases + + @prompts(name="Segment One Object In Image", + description="useful when you want to segment the specific object in the image. " + "like: segment the black dog in the image, or mask the black dog in the image. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the description of specific object.") + def inference_segment_one_object(self, inputs): + image_path, text_prompt = inputs.split(',') + updated_image_path, _ = self._segment_object(image_path, text_prompt, func_name="seg-object") + print(f"\nProcessed SegmentOneObject, Input Image: {image_path}, Input Text Prompt: {text_prompt}, " + f"Output Image: {updated_image_path}") + return updated_image_path + + @prompts(name="Segment Multiple Object In Image", + description="useful when you want to segment two or more specific objects in the image. " + "like: segment the black dog and white cat in the image. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the description of multiple specific objects. " + "Different description should be separated by symbol '&', " + "like 'black dog & white cat'. ") + def inference_segment_multi_object(self, inputs): + image_path, text_prompt = inputs.split(',') + processed_text_prompt = text_prompt.replace(' &', ',') + updated_image_path, _ = self._segment_object(image_path, text_prompt, func_name="seg-objects") + print(f"\nProcessed SegmentMultiObject, Input Image: {image_path}, Original Text Prompt: {text_prompt}, " + f"Input Text Prompt: {processed_text_prompt}, Output Image: {updated_image_path}") + return updated_image_path + + @prompts(name="Auto Label the Image", + description="useful when you want to label the image automatically. " + "like: help me label the image. " + "The input to this tool should be a string, representing the image_path. ") + def inference_auto_segment_object(self, image_path): + inputs = self.blip_processor(Image.open(image_path), return_tensors="pt").to(self.device, self.torch_dtype) + out = self.blip_model.generate(**inputs) + caption = self.blip_processor.decode(out[0], skip_special_tokens=True) + text_prompt = generate_tags(caption, split=",") + print(f"Caption: {caption}") + print(f"Tags: {text_prompt}") + updated_image_path, pred_phrases = self._segment_object(image_path, text_prompt, func_name="seg-objects") + caption = check_caption(caption, pred_phrases) + print(f"Revise caption with number: {caption}") + print(f"\nProcessed SegmentMultiObject, Input Image: {image_path}, Caption: {caption}, " + f"Text Prompt: {text_prompt}, Output Image: {updated_image_path}") + return updated_image_path + + def _inpainting(self, image_path, to_be_replaced_txt, replace_with_txt, func_name): + image_pil, image = load_image(image_path) + # run grounding dino model + boxes_filt, scores, pred_phrases = get_grounding_output( + self.dino_model, image, to_be_replaced_txt, 0.3, 0.25, device=self.device + ) + # initialize SAM + predictor = SamPredictor(self.sam_model) + image = cv2.imread(image_path) + image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) + predictor.set_image(image) + size = image_pil.size + H, W = size[1], size[0] + for i in range(boxes_filt.size(0)): + boxes_filt[i] = boxes_filt[i] * torch.Tensor([W, H, W, H]) + boxes_filt[i][:2] -= boxes_filt[i][2:] / 2 + boxes_filt[i][2:] += boxes_filt[i][:2] + boxes_filt = boxes_filt.cpu() + # generate mask + transformed_boxes = predictor.transform.apply_boxes_torch(boxes_filt, image.shape[:2]) + masks, _, _ = predictor.predict_torch( + point_coords = None, + point_labels = None, + boxes = transformed_boxes.to(self.device), + multimask_output = False, + ) + # inpainting pipeline + mask = masks[0][0].cpu().numpy() # simply choose the first mask, which will be refine in the future release + mask_pil = Image.fromarray(mask) + image_pil = Image.fromarray(image) + image = self.sd_pipe(prompt=replace_with_txt, image=image_pil, mask_image=mask_pil).images[0] + updated_image_path = get_new_image_name(image_path, func_name) + image.save(updated_image_path) + return updated_image_path + + @prompts(name="Replace Something From The Photo", + description="useful when you want to replace an object from the object description or " + "location with another object from its description. " + "The input to this tool should be a comma separated string of three, " + "representing the image_path, the object to be replaced, the object to be replaced with ") + def inference_replace(self, inputs): + image_path, to_be_replaced_txt, replace_with_txt = inputs.split(",") + updated_image_path = self._inpainting(image_path, to_be_replaced_txt, replace_with_txt, 'replace-something') + print(f"\nProcessed ImageEditing, Input Image: {image_path}, Replace {to_be_replaced_txt} to {replace_with_txt}, " + f"Output Image: {updated_image_path}") + return updated_image_path + + @prompts(name="Remove Something From The Photo", + description="useful when you want to remove and object or something from the photo " + "from its description or location. " + "The input to this tool should be a comma separated string of two, " + "representing the image_path and the object need to be removed. ") + def inference_remove(self, inputs): + image_path, to_be_removed_txt = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) + return self.inference_replace(f"{image_path},{to_be_removed_txt},background") + +#############################################New Tool############################################# + + +class ConversationBot: + def __init__(self, load_dict): + # load_dict = {'VisualQuestionAnswering':'cuda:0', 'ImageCaptioning':'cuda:1',...} + print(f"Initializing VisualChatGPT, load_dict={load_dict}") + # if 'ImageCaptioning' not in load_dict: + # raise ValueError("You have to load ImageCaptioning as a basic function for VisualChatGPT") + + self.models = {} + # Load Basic Foundation Models + for class_name, device in load_dict.items(): + self.models[class_name] = globals()[class_name](device=device) + + # Load Template Foundation Models + for class_name, module in globals().items(): + if getattr(module, 'template_model', False): + template_required_names = {k for k in inspect.signature(module.__init__).parameters.keys() if k!='self'} + loaded_names = set([type(e).__name__ for e in self.models.values()]) + if template_required_names.issubset(loaded_names): + self.models[class_name] = globals()[class_name]( + **{name: self.models[name] for name in template_required_names}) + self.tools = [] + for instance in self.models.values(): + for e in dir(instance): + if e.startswith('inference'): + func = getattr(instance, e) + self.tools.append(Tool(name=func.name, description=func.description, func=func)) + self.llm = OpenAI(temperature=0) + self.memory = ConversationBufferMemory(memory_key="chat_history", output_key='output') + + def run_text(self, text, state): + self.agent.memory.buffer = cut_dialogue_history(self.agent.memory.buffer, keep_last_n_words=500) + res = self.agent({"input": text.strip()}) + res['output'] = res['output'].replace("\\", "/") + response = re.sub('(image/[-\w]*.png)', lambda m: f'![](/file={m.group(0)})*{m.group(0)}*', res['output']) + state = state + [(text, response)] + print(f"\nProcessed run_text, Input text: {text}\nCurrent state: {state}\n" + f"Current Memory: {self.agent.memory.buffer}") + return state, state + + def run_image(self, image, state, txt, lang): + image_filename = os.path.join('image', f"{str(uuid.uuid4())[:8]}.png") + print("======>Auto Resize Image...") + img = Image.open(image.name) + width, height = img.size + ratio = min(512 / width, 512 / height) + width_new, height_new = (round(width * ratio), round(height * ratio)) + width_new = int(np.round(width_new / 64.0)) * 64 + height_new = int(np.round(height_new / 64.0)) * 64 + img = img.resize((width_new, height_new)) + img = img.convert('RGB') + img.save(image_filename, "PNG") + print(f"Resize image form {width}x{height} to {width_new}x{height_new}") + description = self.models['ImageCaptioning'].inference(image_filename) + if lang == 'Chinese': + Human_prompt = f'\nHuman: 提供一张名为 {image_filename}的图片。它的描述是: {description}。 这些信息帮助你理解这个图像,但是你应该使用工具来完成下面的任务,而不是直接从我的描述中想象。 如果你明白了, 说 \"收到\". \n' + AI_prompt = "收到。 " + else: + Human_prompt = f'\nHuman: provide a figure named {image_filename}. The description is: {description}. This information helps you to understand this image, but you should use tools to finish following tasks, rather than directly imagine from my description. If you understand, say \"Received\". \n' + AI_prompt = "Received. " + self.agent.memory.buffer = self.agent.memory.buffer + Human_prompt + 'AI: ' + AI_prompt + state = state + [(f"![](/file={image_filename})*{image_filename}*", AI_prompt)] + print(f"\nProcessed run_image, Input image: {image_filename}\nCurrent state: {state}\n" + f"Current Memory: {self.agent.memory.buffer}") + return state, state, f'{txt} {image_filename} ' + + def init_agent(self, openai_api_key, lang): + self.memory.clear() #clear previous history + if lang=='English': + PREFIX, FORMAT_INSTRUCTIONS, SUFFIX = VISUAL_CHATGPT_PREFIX, VISUAL_CHATGPT_FORMAT_INSTRUCTIONS, VISUAL_CHATGPT_SUFFIX + place = "Enter text and press enter, or upload an image" + label_clear = "Clear" + else: + PREFIX, FORMAT_INSTRUCTIONS, SUFFIX = VISUAL_CHATGPT_PREFIX_CN, VISUAL_CHATGPT_FORMAT_INSTRUCTIONS_CN, VISUAL_CHATGPT_SUFFIX_CN + place = "输入文字并回车,或者上传图片" + label_clear = "清除" + self.llm = OpenAI(temperature=0, openai_api_key=openai_api_key) + self.agent = initialize_agent( + self.tools, + self.llm, + agent="conversational-react-description", + verbose=True, + memory=self.memory, + return_intermediate_steps=True, + agent_kwargs={'prefix': PREFIX, 'format_instructions': FORMAT_INSTRUCTIONS, 'suffix': SUFFIX}, ) + return gr.update(visible = True), gr.update(visible = True) + + +whisper_model = whisper.load_model("base").to('cuda:0') +def speech_recognition(speech_file): + # whisper + # load audio and pad/trim it to fit 30 seconds + audio = whisper.load_audio(speech_file) + audio = whisper.pad_or_trim(audio) + + # make log-Mel spectrogram and move to the same device as the model + mel = whisper.log_mel_spectrogram(audio).to(whisper_model.device) + + # detect the spoken language + _, probs = whisper_model.detect_language(mel) + speech_language = max(probs, key=probs.get) + print(f'Detect Language: {speech_language}') + + # decode the audio + options = whisper.DecodingOptions(fp16 = False) + result = whisper.decode(whisper_model, mel, options) + print(result.text) + + return result.text + + +if __name__ == '__main__': + # load_dict = {'Grounded_dino_sam_inpainting': 'cuda:0'} + # load_dict = {'ImageCaptioning': 'cuda:0'} + load_dict = {} + + bot = ConversationBot(load_dict) + + with gr.Blocks(css="#chatbot {overflow:auto; height:500px;}") as demo: + gr.Markdown("

ChatBot

") + gr.Markdown( + """This is a demo to the work [Grounded-Segment-Anything](https://github.com/IDEA-Research/Grounded-Segment-Anything).
+ """ + ) + + with gr.Row(): + lang = gr.Radio(choices=['Chinese', 'English'], value='English', label='Language') + openai_api_key_textbox = gr.Textbox( + placeholder="Paste your OpenAI API key here to start ChatBot(sk-...) and press Enter ↵️", + show_label=False, + lines=1, + type="password", + ) + + chatbot = gr.Chatbot(elem_id="chatbot", label="ChatBot") + state = gr.State([]) + + with gr.Row(visible=False) as input_raws: + with gr.Column(scale=0.7): + txt = gr.Textbox(show_label=False, placeholder="Enter text and press enter, or upload an image").style(container=False) + with gr.Column(scale=0.10, min_width=0): + run = gr.Button("🏃‍♂️Run") + with gr.Column(scale=0.10, min_width=0): + clear = gr.Button("🔄Clear️") + with gr.Column(scale=0.10, min_width=0): + btn = gr.UploadButton("🖼️Upload", file_types=["image"]) + with gr.Row(visible=False, equal_height=True) as audio_raw: + with gr.Column(scale=0.85): + audio = gr.Audio(source="microphone", type="filepath", label="Just say it!") + with gr.Column(scale=0.15): + transcribe = gr.Button("Transcribe") + + gr.Examples( + examples=[ + "Describe this image", + "Detect the dog", + "Detect the dog and the cat", + "Segment anything", + "Segment the dog", + "Help me label the image", + "Replace the dog with a cat", + ], + inputs=txt + ) + + openai_api_key_textbox.submit(bot.init_agent, [openai_api_key_textbox, lang], [input_raws, audio_raw]) + transcribe.click(speech_recognition, inputs=[audio], outputs=[txt]) + txt.submit(bot.run_text, [txt, state], [chatbot, state]) + txt.submit(lambda: "", None, txt) + run.click(bot.run_text, [txt, state], [chatbot, state]) + run.click(lambda: "", None, txt) + btn.upload(bot.run_image, [btn, state, txt, lang], [chatbot, state, txt]) + clear.click(bot.memory.clear) + clear.click(lambda: [], None, chatbot) + clear.click(lambda: [], None, state) + + demo.launch(server_name="0.0.0.0", server_port=10010) + diff --git a/grounded_sam_demo.py b/grounded_sam_demo.py index 7a89154d..db3a7337 100644 --- a/grounded_sam_demo.py +++ b/grounded_sam_demo.py @@ -177,7 +177,7 @@ def save_mask_data(output_dir, mask_list, box_list, label_list): ) # initialize SAM - predictor = SamPredictor(build_sam(checkpoint=sam_checkpoint)) + predictor = SamPredictor(build_sam(checkpoint=sam_checkpoint).to(device)) image = cv2.imread(image_path) image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) predictor.set_image(image) @@ -195,7 +195,7 @@ def save_mask_data(output_dir, mask_list, box_list, label_list): masks, _, _ = predictor.predict_torch( point_coords = None, point_labels = None, - boxes = transformed_boxes, + boxes = transformed_boxes.to(device), multimask_output = False, ) diff --git a/grounded_sam_inpainting_demo.py b/grounded_sam_inpainting_demo.py index 704cb564..4856f97f 100644 --- a/grounded_sam_inpainting_demo.py +++ b/grounded_sam_inpainting_demo.py @@ -158,7 +158,7 @@ def show_box(box, ax, label): ) # initialize SAM - predictor = SamPredictor(build_sam(checkpoint=sam_checkpoint)) + predictor = SamPredictor(build_sam(checkpoint=sam_checkpoint).to(device)) image = cv2.imread(image_path) image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) predictor.set_image(image) @@ -176,7 +176,7 @@ def show_box(box, ax, label): masks, _, _ = predictor.predict_torch( point_coords = None, point_labels = None, - boxes = transformed_boxes, + boxes = transformed_boxes.to(device), multimask_output = False, ) diff --git a/grounded_sam_whisper_inpainting_demo.py b/grounded_sam_whisper_inpainting_demo.py index 01975dc3..06244c77 100644 --- a/grounded_sam_whisper_inpainting_demo.py +++ b/grounded_sam_whisper_inpainting_demo.py @@ -227,7 +227,7 @@ def filter_prompts_with_chatgpt(caption, max_tokens=100, model="gpt-3.5-turbo"): ) # initialize SAM - predictor = SamPredictor(build_sam(checkpoint=sam_checkpoint)) + predictor = SamPredictor(build_sam(checkpoint=sam_checkpoint).to(device)) image = cv2.imread(image_path) image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) predictor.set_image(image) @@ -245,7 +245,7 @@ def filter_prompts_with_chatgpt(caption, max_tokens=100, model="gpt-3.5-turbo"): masks, _, _ = predictor.predict_torch( point_coords = None, point_labels = None, - boxes = transformed_boxes, + boxes = transformed_boxes.to(device), multimask_output = False, ) From e2aba1be530147279ed2c20776a7d9f5c1467873 Mon Sep 17 00:00:00 2001 From: Andy1621 <812487273@qq.com> Date: Thu, 13 Apr 2023 00:23:24 +0800 Subject: [PATCH 2/8] add model --- chatbot.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/chatbot.py b/chatbot.py index 24781250..0988d407 100644 --- a/chatbot.py +++ b/chatbot.py @@ -1393,9 +1393,8 @@ def speech_recognition(speech_file): if __name__ == '__main__': - # load_dict = {'Grounded_dino_sam_inpainting': 'cuda:0'} + load_dict = {'Grounded_dino_sam_inpainting': 'cuda:0'} # load_dict = {'ImageCaptioning': 'cuda:0'} - load_dict = {} bot = ConversationBot(load_dict) From 5f4cda1db7949a0ba71436d016af9255d3be8615 Mon Sep 17 00:00:00 2001 From: Andy1621 <812487273@qq.com> Date: Thu, 13 Apr 2023 00:24:28 +0800 Subject: [PATCH 3/8] remove a function --- chatbot.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/chatbot.py b/chatbot.py index 0988d407..cf585d94 100644 --- a/chatbot.py +++ b/chatbot.py @@ -1270,15 +1270,6 @@ def inference_replace(self, inputs): f"Output Image: {updated_image_path}") return updated_image_path - @prompts(name="Remove Something From The Photo", - description="useful when you want to remove and object or something from the photo " - "from its description or location. " - "The input to this tool should be a comma separated string of two, " - "representing the image_path and the object need to be removed. ") - def inference_remove(self, inputs): - image_path, to_be_removed_txt = inputs.split(",")[0], ','.join(inputs.split(',')[1:]) - return self.inference_replace(f"{image_path},{to_be_removed_txt},background") - #############################################New Tool############################################# From 3d733c7b9b837f8aeff943fc510f2005f657197f Mon Sep 17 00:00:00 2001 From: Andy1621 <812487273@qq.com> Date: Thu, 13 Apr 2023 01:11:14 +0800 Subject: [PATCH 4/8] debug upload image --- chatbot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chatbot.py b/chatbot.py index cf585d94..47a2f2af 100644 --- a/chatbot.py +++ b/chatbot.py @@ -1325,7 +1325,7 @@ def run_image(self, image, state, txt, lang): img = img.convert('RGB') img.save(image_filename, "PNG") print(f"Resize image form {width}x{height} to {width_new}x{height_new}") - description = self.models['ImageCaptioning'].inference(image_filename) + description = self.models['Grounded_dino_sam_inpainting'].inference_caption(image_filename) if lang == 'Chinese': Human_prompt = f'\nHuman: 提供一张名为 {image_filename}的图片。它的描述是: {description}。 这些信息帮助你理解这个图像,但是你应该使用工具来完成下面的任务,而不是直接从我的描述中想象。 如果你明白了, 说 \"收到\". \n' AI_prompt = "收到。 " From 54aa750a52c285ba1c88e2299dee0864a38b92ef Mon Sep 17 00:00:00 2001 From: Kunchang Li Date: Thu, 13 Apr 2023 11:31:33 +0800 Subject: [PATCH 5/8] fix print --- chatbot.py | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/chatbot.py b/chatbot.py index 47a2f2af..4b3246ad 100644 --- a/chatbot.py +++ b/chatbot.py @@ -1077,9 +1077,9 @@ def _detect_object(self, image_path, text_prompt, func_name): "representing the image_path and the description of specific object.") def inference_detect_one_object(self, inputs): image_path, text_prompt = inputs.split(',') + print(f"\nInput Text Prompt: {text_prompt}") updated_image_path = self._detect_object(image_path, text_prompt, func_name="det-object") - print(f"\nProcessed DetectOneObject, Input Image: {image_path}, Input Text Prompt: {text_prompt}, " - f"Output Image: {updated_image_path}") + print(f"Processed DetectOneObject, Input Image: {image_path}, Output Image: {updated_image_path}") return updated_image_path @prompts(name="Detect Multiple Objects In Image", @@ -1092,9 +1092,9 @@ def inference_detect_one_object(self, inputs): def inference_detect_multi_object(self, inputs): image_path, text_prompt = inputs.split(',') processed_text_prompt = text_prompt.replace(' &', ',') + print(f"\nOriginal Text Prompt: {text_prompt}, Input Text Prompt: {processed_text_prompt}") updated_image_path = self._detect_object(image_path, text_prompt, func_name="det-objects") - print(f"\nProcessed DetectMultiObject, Input Image: {image_path}, Original Text Prompt: {text_prompt}, " - f"Input Text Prompt: {processed_text_prompt}, Output Image: {updated_image_path}") + print(f"Processed DetectMultiObject, Input Image: {image_path}, Output Image: {updated_image_path}") return updated_image_path # modified from https://github.com/Cheems-Seminar/segment-anything-and-name-it/blob/58408f1e4e340f565c5ef6b0c71920cdcd30b213/chatbot.py#L1046 @@ -1185,9 +1185,9 @@ def _segment_object(self, image_path, text_prompt, func_name): "representing the image_path and the description of specific object.") def inference_segment_one_object(self, inputs): image_path, text_prompt = inputs.split(',') + print(f"\nInput Text Prompt: {text_prompt}") updated_image_path, _ = self._segment_object(image_path, text_prompt, func_name="seg-object") - print(f"\nProcessed SegmentOneObject, Input Image: {image_path}, Input Text Prompt: {text_prompt}, " - f"Output Image: {updated_image_path}") + print(f"Processed SegmentOneObject, Input Image: {image_path}, Output Image: {updated_image_path}") return updated_image_path @prompts(name="Segment Multiple Object In Image", @@ -1200,9 +1200,9 @@ def inference_segment_one_object(self, inputs): def inference_segment_multi_object(self, inputs): image_path, text_prompt = inputs.split(',') processed_text_prompt = text_prompt.replace(' &', ',') + print("\nOriginal Text Prompt: {text_prompt}, Input Text Prompt: {processed_text_prompt}, ") updated_image_path, _ = self._segment_object(image_path, text_prompt, func_name="seg-objects") - print(f"\nProcessed SegmentMultiObject, Input Image: {image_path}, Original Text Prompt: {text_prompt}, " - f"Input Text Prompt: {processed_text_prompt}, Output Image: {updated_image_path}") + print(f"Processed SegmentMultiObject, Input Image: {image_path}, Output Image: {updated_image_path}") return updated_image_path @prompts(name="Auto Label the Image", @@ -1214,12 +1214,12 @@ def inference_auto_segment_object(self, image_path): out = self.blip_model.generate(**inputs) caption = self.blip_processor.decode(out[0], skip_special_tokens=True) text_prompt = generate_tags(caption, split=",") - print(f"Caption: {caption}") + print(f"\nCaption: {caption}") print(f"Tags: {text_prompt}") updated_image_path, pred_phrases = self._segment_object(image_path, text_prompt, func_name="seg-objects") caption = check_caption(caption, pred_phrases) print(f"Revise caption with number: {caption}") - print(f"\nProcessed SegmentMultiObject, Input Image: {image_path}, Caption: {caption}, " + print(f"Processed SegmentMultiObject, Input Image: {image_path}, Caption: {caption}, " f"Text Prompt: {text_prompt}, Output Image: {updated_image_path}") return updated_image_path @@ -1265,9 +1265,9 @@ def _inpainting(self, image_path, to_be_replaced_txt, replace_with_txt, func_nam "representing the image_path, the object to be replaced, the object to be replaced with ") def inference_replace(self, inputs): image_path, to_be_replaced_txt, replace_with_txt = inputs.split(",") + print(f"\nReplace {to_be_replaced_txt} to {replace_with_txt}") updated_image_path = self._inpainting(image_path, to_be_replaced_txt, replace_with_txt, 'replace-something') - print(f"\nProcessed ImageEditing, Input Image: {image_path}, Replace {to_be_replaced_txt} to {replace_with_txt}, " - f"Output Image: {updated_image_path}") + print(f"Processed ImageEditing, Input Image: {image_path}, Output Image: {updated_image_path}") return updated_image_path #############################################New Tool############################################# @@ -1277,8 +1277,8 @@ class ConversationBot: def __init__(self, load_dict): # load_dict = {'VisualQuestionAnswering':'cuda:0', 'ImageCaptioning':'cuda:1',...} print(f"Initializing VisualChatGPT, load_dict={load_dict}") - # if 'ImageCaptioning' not in load_dict: - # raise ValueError("You have to load ImageCaptioning as a basic function for VisualChatGPT") + if 'ImageCaptioning' not in load_dict and 'Grounded_dino_sam_inpainting' not in load_dict: + raise ValueError("You have to load ImageCaptioning or Grounded_dino_sam_inpainting as a basic function for VisualChatGPT") self.models = {} # Load Basic Foundation Models @@ -1325,7 +1325,10 @@ def run_image(self, image, state, txt, lang): img = img.convert('RGB') img.save(image_filename, "PNG") print(f"Resize image form {width}x{height} to {width_new}x{height_new}") - description = self.models['Grounded_dino_sam_inpainting'].inference_caption(image_filename) + if 'Grounded_dino_sam_inpainting' in self.models: + description = self.models['Grounded_dino_sam_inpainting'].inference_caption(image_filename) + else: + description = self.models['ImageCaptioning'].inference(image_filename) if lang == 'Chinese': Human_prompt = f'\nHuman: 提供一张名为 {image_filename}的图片。它的描述是: {description}。 这些信息帮助你理解这个图像,但是你应该使用工具来完成下面的任务,而不是直接从我的描述中想象。 如果你明白了, 说 \"收到\". \n' AI_prompt = "收到。 " @@ -1373,7 +1376,7 @@ def speech_recognition(speech_file): # detect the spoken language _, probs = whisper_model.detect_language(mel) speech_language = max(probs, key=probs.get) - print(f'Detect Language: {speech_language}') + print(f'\nDetect Language: {speech_language}') # decode the audio options = whisper.DecodingOptions(fp16 = False) @@ -1384,8 +1387,8 @@ def speech_recognition(speech_file): if __name__ == '__main__': - load_dict = {'Grounded_dino_sam_inpainting': 'cuda:0'} - # load_dict = {'ImageCaptioning': 'cuda:0'} + # load_dict = {'Grounded_dino_sam_inpainting': 'cuda:0'} + load_dict = {'ImageCaptioning': 'cuda:0'} bot = ConversationBot(load_dict) @@ -1448,4 +1451,3 @@ def speech_recognition(speech_file): clear.click(lambda: [], None, state) demo.launch(server_name="0.0.0.0", server_port=10010) - From 91910a2a69b941b2580641b048ac352bbed4ec1f Mon Sep 17 00:00:00 2001 From: Kunchang Li Date: Thu, 13 Apr 2023 11:47:58 +0800 Subject: [PATCH 6/8] Update chatbot.py --- chatbot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chatbot.py b/chatbot.py index 4b3246ad..dc24aae4 100644 --- a/chatbot.py +++ b/chatbot.py @@ -1387,8 +1387,8 @@ def speech_recognition(speech_file): if __name__ == '__main__': - # load_dict = {'Grounded_dino_sam_inpainting': 'cuda:0'} - load_dict = {'ImageCaptioning': 'cuda:0'} + load_dict = {'Grounded_dino_sam_inpainting': 'cuda:0'} +# load_dict = {'ImageCaptioning': 'cuda:0'} bot = ConversationBot(load_dict) From a6e10d64449d5b41bf082f26a85d6e875c5e1dfa Mon Sep 17 00:00:00 2001 From: Kunchang Li Date: Fri, 14 Apr 2023 00:03:13 +0800 Subject: [PATCH 7/8] Add files via upload --- assets/chatbot_demo.png | Bin 0 -> 362859 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/chatbot_demo.png diff --git a/assets/chatbot_demo.png b/assets/chatbot_demo.png new file mode 100644 index 0000000000000000000000000000000000000000..7f38d1fda258fbde345bd700d52c02f956c7bf21 GIT binary patch literal 362859 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

dmV)u&PL7PNXzZE$X8 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%0ABy^X{oJpjiFv}nH8Kgj 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 literal 0 HcmV?d00001 From b6a0fa4f7760251bb5fcb16374a95edfe2624c12 Mon Sep 17 00:00:00 2001 From: Kunchang Li Date: Fri, 14 Apr 2023 00:03:33 +0800 Subject: [PATCH 8/8] Update README.md --- README.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e4faced4..409215e1 100644 --- a/README.md +++ b/README.md @@ -28,10 +28,13 @@ The **core idea** behind this project is to **combine the strengths of different **BLIP + Grounded-SAM: Automatic Label System!** -Using BLIP to generate caption, extract tags and using Grounded-SAM for box and mask generating. Here's the demo output: +Using BLIP to generate caption, extracting tags with ChatGPT, and using Grounded-SAM for box and mask generating. Here's the demo output: ![](./assets/automatic_label_output_demo3.jpg) +**ChatBot** +![](./assets/chatbot_demo.png) + **Imagine Space** @@ -306,6 +309,24 @@ python grounded_sam_whisper_inpainting_demo.py \ ![](./assets/acoustics/gsam_whisper_inpainting_pipeline.png) +## :speech_balloon: Run ChatBot Demo +Following [Visual ChatGPT](https://github.com/microsoft/visual-chatgpt), we add a ChatBot for our project. Currently, it supports: +1. "Descripe the image." +2. "Detect the dog (and the cat) in the image." +3. "Segment anything in the image." +4. "Segment the dog (and the cat) in the image." +5. "Help me label the image." +6. "Replace the dog with a cat in the image." + +To use the ChatBot: +- Install whisper if you want to use audio as input. +- Set the default model setting in the tool `Grounded_dino_sam_inpainting`. +- Run Demo +```bash +export CUDA_VISIBLE_DEVICES=0 +python chatbot.py +``` + ## :cupid: Acknowledgements - [Segment Anything](https://github.com/facebookresearch/segment-anything)