InternGPT
指向语言驱动的多模态视觉交互系统,用鼠标点击/拖拽替代繁琐的文字描述
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
指向语言驱动的多模态视觉交互系统,用鼠标点击/拖拽替代繁琐的文字描述
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你上传了一张旅游照片,对 AI 说「把左边那个人换成穿红衣服的」。在传统对话式 AI 中,你可能需要反复用文字描述图片内容、位置关系,AI 才能理解你的意图。而 InternGPT 告诉你:不用那么麻烦——你直接用鼠标在图片上点一下那个人,然后输入文字指令就行了。
这就是 InternGPT(简称 iGPT)带来的核心变化:让 AI 不再只依赖纯语言,而是像真人对话一样,允许你用「点击」「拖拽」「框选」等物理动作来参与对话。它将这种交互方式称为「指向语言」(Pointing Language),名字中的 "inter" 就代表 interaction(交互)。
InternGPT 最初由**上海人工智能实验室(Shanghai AI Lab)**的 OpenGVLab 团队提出,2023 年 5 月发布于 GitHub,同步上线了在线演示平台 igpt.opengvlab.com,并在 arXiv 发表论文《InternGPT: Solving Vision-Centric Tasks by Interacting with ChatGPT Beyond Language》,获得了学术界关注。2023 年 6 月团队持续优化 GPU 显存占用,并提供了更详细的安装文档。
图1:InternGPT 系统架构图——指向语言驱动视觉交互
InternGPT 的架构可以用一个「中央调度员 + 专业工具兵」的比喻来理解:
中央调度员(ConversationBot) 负责理解用户的自然语言指令和指向操作(点击、拖拽),将任务分发给相应的视觉工具,处理完成后将结果返回给用户。这个调度员背后由 ChatGPT / GPT-4 提供语言理解和规划能力,并通过 LangChain 框架实现工具调用和 agent 流程编排。
专业工具兵 包括:
| 工具 | 作用 | 技术来源 |
|---|---|---|
| HuskyVQA | 视觉问答(VQA),基于 LLaMA 微调的视觉-语言模型 | OpenGVLab 自研,在 GPT-3.5-turbo 评测中达到 93.89% GPT-4 质量 |
| SAM (Segment Anything) | 图像分割,按需切割任意物体 | Meta AI |
| ImageBind | 跨模态绑定,支持音频→图像生成 | Meta AI |
| DragGAN | 图像拖拽编辑,拖动点改变物体姿态/形状 | 姿态编辑 |
| StyleGAN | 生成式图像合成 | 生成模型 |
| InternImage | 大规模视觉基础模型,InternGPT 团队所在实验室的自研成果 | 上海 AI Lab |
| Whisper | 语音识别,支持语音输入 | OpenAI |
| EasyOCR | 光学字符识别,识别图片中的文字 | 开源 OCR |
这样的设计使得系统高度模块化——每个工具各司其职,LLM 负责调度,用户体验到的是无缝的多模态交互。
InternGPT 的功能远不止「看图说话」。根据 README 和文档,它支持以下核心能力:
1. 指向式图像编辑 用户可以在图片上直接点击指定区域(如一个人、一辆车),然后发送文字指令如「把这个人换成光头」。SAM 负责分割,Diffusers 生成替换内容,整个过程无需用户描述具体坐标。
2. DragGAN 交互式图像生成 这是 InternGPT 的亮点功能之一。用户点击图片设置起点(蓝点)和终点(红点),DragGAN 自动将图片中对应区域「拖拽」到目标位置,同时保持纹理一致性。处理完成后返回一张编辑后的图片和一个展示编辑过程的视频。
3. 音频生成图像
接入 ImageBind 后,用户可以上传一段音频(如鸟鸣声),系统生成对应的图像。也可以结合文字 prompt("generate a real image from this audio and {your prompt}")做跨模态生成。
4. 多模态对话
上传图片后,用户可以用自然语言询问图片内容("what is it in the image?"),HuskyVQA 模型会结合视觉特征给出回答。也可以执行更复杂的操作指令,如「移除图片中被选中的区域」「把选区替换为一只猫」。
5. OCR 识别 点击图片任意位置后按下 OCR 按钮,系统识别该位置处的所有文字,方便对截图、文档图片进行信息提取。
InternGPT 的前端基于 Gradio 构建,提供了完整的图形化交互界面。app.py 中重写了 ImageSketcher 组件来支持草图绘制和上传,并自定义了 Seafoam 主题以提升视觉美感。
图2:InternGPT 交互演示——拖拽点直接改变物体姿态
图3:InternGPT 演示——点击选区 + 文字指令完成图像编辑
尽管 InternGPT 提供了 Docker 支持,但部署门槛不容小觑:
好消息是,项目在 HuggingFace Spaces 上有镜像版本(OpenGVLab/InternGPT),用户可以直接在浏览器中体验部分功能(受限于 HuggingFace 的 GPU 配额)。
InternGPT 作为一个「演示平台」而非生产级框架,存在一些需要正视的问题:
InternGPT 提出的「指向语言」概念,是对传统纯语言交互范式的一次有意义的突破。在视觉相关任务中(如图像编辑、目标检测、图像生成),相比用文字描述位置关系,用鼠标「点出来」显然更加直观高效。
从更宏观的视角看,InternGPT 是 2023 年多模态大模型浪潮中的一个典型案例——它不是训练一个更大的模型,而是在系统层面将多个专用模型(SAM、ImageBind、DragGAN)与大语言模型(GPT-4/LLaMA)通过 LangChain 进行编排,探索「模型协作」的可能性。HuskyVQA 在 GPT-3.5-turbo 评测中达到 93.89% GPT-4 质量的结果也说明,通过合理的微调策略,较小规模的模型也能在特定任务上逼近顶级闭源模型。
InternGPT 的开源也为社区提供了一个研究多模态交互系统架构的参考实现,其模块化设计思路(控制器 + 工具集)对后续类似项目有借鉴意义。