Skip to content

Latest commit

 

History

History
243 lines (172 loc) · 10.9 KB

README_CN.md

File metadata and controls

243 lines (172 loc) · 10.9 KB

[English Document]

[NOTE] 该项目仍在建设中,我们将继续更新,并欢迎社区的贡献/拉取请求。

| |

🤖💬 InternGPT [论文]

InternGPT(简称 iGPT) / InternChat(简称 iChat) 是一种基于指向语言驱动的视觉交互系统,允许您使用指向设备通过点击、拖动和绘制与 ChatGPT 进行互动。internGPT 的名称代表了 interaction(交互)、nonverbal(非语言)和 ChatGPT。与依赖纯语言的现有交互系统不同,通过整合指向指令,iGPT 显著提高了用户与聊天机器人之间的沟通效率,以及聊天机器人在视觉为中心任务中的准确性,特别是在复杂的视觉场景中。此外,在 iGPT 中,采用辅助控制机制来提高 LLM 的控制能力,并对一个大型视觉-语言模型 Husky 进行微调,以实现高质量的多模态对话(在ChatGPT-3.5-turbo评测中达到 93.89% GPT-4 质量)。

🥳 🚀 更新

  • (2023.05.24) 🎉🎉🎉 现在已经支持DragGAN! 使用方法请参考视频演示。赶紧来体验这个新功能吧: Demo.

  • (2023.05.18) 已支持ImageBind 🎉🎉🎉。使用方法请参考视频演示。赶紧来体验: Demo

  • (2023.05.15) model_zoo 已经公开,里面包含了HuskyVQA! 赶紧在你自己的机器上部署试试吧!

  • (2023.05.15) 我们的代码在 Hugging Face也同步更新! 你可以复制一份仓库,然后使用自己的GPU运行demo。

🤖💬 在线Demo

InternGPT 上线了 (请访问: https://igpt.opengvlab.com). 赶紧来体验吧! [注意] 可能会出现排队等待较长时间。您可以clone我们的仓库并使用您自己的GPU运行。

🧭 Usage Tips

更新:

(2023.05.24) 我们现在支持 DragGAN。你可以按照以下步骤试用:

  • 点击 New Image 按钮;
  • 点击图片,其中蓝色表示起点,红色表示终点;
  • 注意蓝色点的个数要和红色点的个数相同。然后你可以点击 Drag It 按钮;
  • 处理完成后,你会收到一张编辑后的图片和一个展示编辑过程的视频。

(2023.05.18) 我们现在已支持 ImageBind。如果你想根据音频生成一张新的图片,你可以提前上传一个音频文件:

  • 单个音频生成新的图片,你可以发送如下消息:"generate a real image from this audio";
  • 音频和文本生成新的图片,你可以发送如下消息:"generate a real image from this audio and {your prompt}";
  • 音频和图片生成新的图片,你需要再上传一个图片,然后发送如下消息:"generate a new image from above image and audio";

主要功能使用:

在图片上传成功后, 您可以发送如下消息与iGPT进行多模态相关的对话:"what is it in the image?" or "what is the background color of image?".
您同样也可以交互式地操作、编辑或者生成图片,具体如下:

  • 点击图片上的任意位置,然后按下 Pick 按钮,预览分割区域。您也可以按下 OCR 按钮,识别具体位置处存在的所有单词;
  • 要在图像中 删除掩码区域,您可以发送如下消息:“remove the masked region”
  • 要在图像中 替换掩码区域的物体为其他物体,您可以发送如下消息:“replace the masked region with {your prompt}”
  • 生成新图像,您可以发送如下消息:“generate a new image based on its segmentation describing {your prompt}”
  • 想通过 涂鸦创建新图像,您应该按下 Whiteboard 按钮并在白板上绘制。绘制完成后,您需要按下 保存 按钮并发送如下消息:“generate a new image based on this scribble describing {your prompt}”

InternGPT 已上线,尝试一下!

Video Demo with DragGAN:

dragGAN_demo2.mp4

iGPT + ImageBind视频演示:

video_demo_with_imagebind.mp4

iGPT 视频演示:

online_demo.mp4

🗓️ 项目规划

  • 支持中文
  • 支持 MOSS
  • 基于 InternImage 和 InternVideo 的更强大的基础模型
  • 更准确的交互体验
  • OpenMMLab Toolkit
  • 网页 & 代码生成
  • 支持搜索引擎
  • 低成本部署
  • 支持 DragGAN
  • 支持 ImageBind
  • Agent响应验证
  • 提示词优化
  • 用户手册和视频demo
  • 支持语音助手
  • 支持点击交互
  • 交互式图像编辑
  • 交互式图像生成
  • 交互式视觉问答
  • Segment Anything模型
  • 图像修复
  • 图像描述
  • 图像抠图
  • 光学字符识别(OCR)
  • 动作识别
  • 视频描述
  • 视频密集描述
  • 视频高光时刻截取

🏠 系统概览

Logo

🎁 主要功能

A) 移除遮盖的对象

B) 交互式图像编辑

C) 图像生成

D) 交互式视觉问答

E) 交互式图像生成

F) 视频高光解说

🛠️ 安装

基本要求

  • Linux
  • Python 3.8+
  • PyTorch 1.12+
  • CUDA 11.6+
  • GCC & G++ 5.4+
  • GPU Memory > 17G 用于加载基本工具 (HuskyVQA, SegmentAnything, ImageOCRRecognition)

安装Python的依赖项

pip install -r requirements.txt

🗃 模型库

我们模型库 model_zoo 正式在huggingface公开!在运行我们的demo前,你需要先将model_zoo下载到本地,然后放进项目的根目录下面。

小彩蛋:HuskyVQA模型也在model_zoo里开源了!经我们测试,HuskyVQA的视觉问答能力达到了业界顶尖水平。更多细节请参考我们的report

使用docker部署

请提前将model_zoocertificate文件添加到项目的根目录下面, 然后将docker/InternGPT_CN/docker-compose.yml中的/path/to/InternGPT变量修改为项目根目录。

你可以修改docker/InternGPT_CN/docker-compose.yml文件中command部分的load变量来运行更多的功能。

cd docker/InternGPT_CN
# 构建镜像并运行一个容器
docker compose up 
# 或者启动一个交互式BASH会话
docker compose run -i --entrypoint /bin/bash igpt_cn

👨‍🏫 运行指南

运行以下 shell 可启动一个 gradio 服务:

python -u app.py --load "HuskyVQA_cuda:0,SegmentAnything_cuda:0,ImageOCRRecognition_cuda:0" --port 3456 -e

如果您想启用语音助手,请使用 openssl 生成证书:

mkdir certificate
openssl req -x509 -newkey rsa:4096 -keyout certificate/key.pem -out certificate/cert.pem -sha256 -days 365 -nodes

然后运行:

python -u app.py --load "HuskyVQA_cuda:0,SegmentAnything_cuda:0,ImageOCRRecognition_cuda:0" --port 3456 --https -e

如果您想减少响应时间并且有足够的显存容量,请移除命令中的-e选项。

🎫 许可

该项目根据Apache 2.0 license发布。

🖊️ 引用

如果您在研究中发现这个项目有用,请考虑引用我们的论文:

@article{2023interngpt,
  title={InternGPT: Solving Vision-Centric Tasks by Interacting with ChatGPT Beyond Language},
  author={Liu, Zhaoyang and He, Yinan and Wang, Wenhai and Wang, Weiyun and Wang, Yi and Chen, Shoufa and Zhang, Qinglong and Yang, Yang and Li, Qingyun and Yu, Jiashuo and others},
  journal={arXiv preprint arXiv:2305.05662},
  year={2023}
}

🤝 致谢

感谢以下开源项目:

Hugging FaceLangChainTaskMatrixSAMStable DiffusionControlNetInstructPix2PixBLIPLatent Diffusion ModelsEasyOCRImageBindDragGAN

如果您在试用、运行、部署中有任何问题,欢迎加入我们的微信群讨论!如果您对项目有任何的想法和建议,欢迎加入我们的微信群讨论!

加入微信群组二维码: