通过自然语言驱动驱动视觉图像交互系统
InternGPT(简称 iGPT) / InternChat(简称 iChat) 是一种基于指向语言驱动的视觉交互系统,允许您使用指向设备通过点击、拖动和绘制与 ChatGPT 进行互动。internGPT 的名称代表了 interaction(交互)、nonverbal(非语言)和 ChatGPT。与依赖纯语言的现有交互系统不同,通过整合指向指令,iGPT 显著提高了用户与聊天机器人之间的沟通效率,以及聊天机器人在视觉为中心任务中的准确性,特别是在复杂的视觉场景中。此外,在 iGPT 中,采用辅助控制机制来提高 LLM 的控制能力,并对一个大型视觉-语言模型 Husky 进行微调,以实现高质量的多模态对话(在ChatGPT-3.5-turbo评测中达到 93.89% GPT-4 质量)。
在线体验
InternGPT:https://igpt.opengvlab.com
注意:可能会出现排队等待较长时间,建议自行本地部署。
官方仓库
GitHub:OpenGVLab/InternGPT
更新日志
- 2023.05.24
- 支持DragGAN!
- 点击
New Image
按钮; - 点击图片,其中蓝色表示起点,红色表示终点;
- 注意蓝色点的个数要和红色点的个数相同。然后你可以点击
Drag It
按钮; - 处理完成后,你会收到一张编辑后的图片和一个展示编辑过程的视频。
- 点击
- 支持DragGAN!
- 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"
;
- 从单个音频生成新的图片,你可以发送如下消息:
- 已支持ImageBind!
- 2023.15.15
- model_zoo 已经公开,里面包含了HuskyVQA! 赶紧在你自己的机器上部署试试吧!
- 2023.15.15
- 我们的代码在 Hugging Face也同步更新! 你可以复制一份仓库,然后使用自己的GPU运行demo。
主要功能使用:
在图片上传成功后, 您可以发送如下消息与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}”
。
视频Demo
DragGAN
iGPT + ImageBind
iGPT
项目规划
- 支持中文
- 支持 MOSS
- 基于 InternImage 和 InternVideo 的更强大的基础模型
- 更准确的交互体验
- OpenMMLab Toolkit
- 网页 & 代码生成
- 支持搜索引擎
- 低成本部署
- 支持 DragGAN
- 支持 ImageBind
- Agent响应验证
- 提示词优化
- 用户手册和视频demo
- 支持语音助手
- 支持点击交互
- 交互式图像编辑
- 交互式图像生成
- 交互式视觉问答
- Segment Anything模型
- 图像修复
- 图像描述
- 图像抠图
- 光学字符识别(OCR)
- 动作识别
- 视频描述
- 视频密集描述
- 视频高光时刻截取
系统概览
主要功能
移除遮盖的对象
交互式图像编辑
图像生成
交互式视觉问答
交互式图像生成
视频高光解说
安装教程
基本要求
- Linux
- Python 3.8+
- PyTorch 1.12+
- CUDA 11.6+
- GCC & G++ 5.4+
- GPU Memory > 17G 用于加载基本工具 (HuskyVQA, SegmentAnything, ImageOCRRecognition)
相关软件
在执行项目安装之前,我们还需要安装Git和Conda,如果您的电脑还未安装这两个软件,请先根据本站所给出的教程安装。
Linux系统安装Git请参阅此文章:
Linux系统安装Conda请参阅此文章:
项目搭建
唉,站长的祖传2080TI越来越感觉到乏力了,GPT根本达不到17GB的水平,争取618的时候买个4090玩玩吧。
因为本站的GPU显存不满足,所以以下教程都是逻辑上可行的,并未进行运行测试,仅搭建过程可行。
我们先在终端内执行如下命令,将InternGPT的项目文件拉取至本地。
git clone https://github.com/OpenGVLab/InternGPT.git
执行如下命令,进入到InternGPT的项目目录:
cd InternGPT
执行如下命令,通过Conda创建一个名为InternGPT的Python环境:
conda create --name InternGPT -y
执行如下命令,激活Conda中的InternGPT环境:
conda activate InternGPT
执行如下命令,在Conda中安装PIP:
sudo apt install python3-pip
此时会要求我们输入用户密码,我们输入密码之后,将会开始Conda中Python的环境安装,以下是安装详情。
(base) openai-wiki@openai-wiki:~/InternGPT$ sudo apt install python3-pip [sudo] openai-wiki 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 将会同时安装下列软件: binutils binutils-common binutils-x86-64-linux-gnu build-essential dpkg-dev fakeroot g++ g++-12 gcc gcc-12 javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan8 libbinutils libc-dev-bin libc-devtools libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl libgcc-12-dev libgprofng0 libitm1 libjs-jquery libjs-sphinxdoc libjs-underscore liblsan0 libnsl-dev libpython3-dev libpython3.11-dev libquadmath0 libstdc++-12-dev libtirpc-dev libtsan2 libubsan1 linux-libc-dev lto-disabled-list make manpages-dev python3-dev python3-wheel python3.11-dev rpcsvc-proto zlib1g-dev 建议安装: binutils-doc debian-keyring g++-multilib g++-12-multilib gcc-12-doc gcc-multilib autoconf automake libtool flex bison gcc-doc gcc-12-multilib gcc-12-locales apache2 | lighttpd | httpd glibc-doc bzr libstdc++-12-doc make-doc 下列【新】软件包将被安装: binutils binutils-common binutils-x86-64-linux-gnu build-essential dpkg-dev fakeroot g++ g++-12 gcc gcc-12 javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan8 libbinutils libc-dev-bin libc-devtools libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl libgcc-12-dev libgprofng0 libitm1 libjs-jquery libjs-sphinxdoc libjs-underscore liblsan0 libnsl-dev libpython3-dev libpython3.11-dev libquadmath0 libstdc++-12-dev libtirpc-dev libtsan2 libubsan1 linux-libc-dev lto-disabled-list make manpages-dev python3-dev python3-pip python3-wheel python3.11-dev rpcsvc-proto zlib1g-dev 升级了 0 个软件包,新安装了 52 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。 需要下载 67.3 MB 的归档。 解压缩后会消耗 257 MB 的额外空间。 您希望继续执行吗? [Y/n]
此时会提醒你是否继续执行安装[Y/n],我们不需要输入任何内容,直接按下回车
键确认即可。
稍等片刻之后,上面的环境应该就已经安装好了。我们此时执行如下命令,安装该项目的相关依赖。
pip install -r requirements.txt
模型下载
在运行demo之前,你需要先将model_zoo
下载到本地,然后放进项目的根目录下面。
小彩蛋:HuskyVQA模型也在model_zoo
里开源了!经我们测试,HuskyVQA的视觉问答能力达到了业界顶尖水平。
以下两种下载方式二选一即可,推荐使用本站所提供的国内网盘,省时省力。
HuggingFace
https://huggingface.co/spaces/OpenGVLab/InternGPT/tree/main/model_zoo
网盘下载
运行指南
运行以下 shell 可启动一个 gradio 服务:
python -u app.py --load "HuskyVQA_cuda:0,SegmentAnything_cuda:0,ImageOCRRecognition_cuda:0" --port 3456
如果您想启用语音助手,请使用 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
开源许可
该项目根据Apache 2.0 license发布。
2080ti 魔改22G可以试试
在线体验页面502了
@D 唉,迟早的事。
站长的4090到位了吗
@AIZIM 哈哈,没有唉。
最近收益不太景气,网站也没有什么收入,所以618也没买,唉。