Visual ChatGPT:Microsoft ChatGPT 和 VFM 相结合
推荐:使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景
什么是Visual ChatGPT?
Visual ChatGPT 是一个包含 Visual Foundation 模型 (VFM) 的系统,可帮助 ChatGPT 更好地理解、生成和编辑视觉信息。VFM 能够指定输入输出格式,将视觉信息转换为语言格式,并处理 VFM 历史记录、优先级和冲突。
因此,Visual ChatGPT 是一种 AI 模型,它充当了 ChatGPT 限制与允许用户通过聊天进行交流并生成视觉效果之间的桥梁。
ChatGPT 的局限性
在过去的几周和几个月里,ChatGPT 一直是大多数人的对话。但是,由于其语言训练功能,它不允许处理和生成图像。
而你有视觉基础模型,如视觉变压器和稳定扩散,它们具有惊人的视觉功能。这就是语言和图像模型的组合创造了Visual ChatGPT的地方。
什么是可视化基础模型?
视觉基础模型用于对计算机视觉中使用的基本算法进行分组。他们采用标准的计算机视觉技能并将其转移到AI应用程序上,以处理更复杂的任务。
Visual ChatGPT 中的提示管理器由 22 个 VFM 组成,其中包括文本到图像、控制网、边缘到图像等。这有助于 ChatGPT 将图像的所有视觉信号转换为语言,以便 ChatGPT 更好地理解。那么Visual ChatGPT是如何工作的呢?
Visual ChatGPT 如何工作?
Visual ChatGPT 由不同的组件组成,以帮助大型语言模型 ChatGPT 理解视觉对象。
Visual ChatGPT 的架构组件
- 用户查询:这是用户提交查询的位置
- 提示管理器:这会将用户的视觉查询转换为语言格式,以便 ChatGPT 模型可以理解。
- Visual Foundation Models:它结合了各种VFM,例如BLIP(Bootstrapping Language-Image Pre-training),Stable Diffusion,ControlNet,Pix2Pix等。
- 系统原理:这提供了可视化聊天GPT的基本规则和要求。
- 对话历史:这是系统与用户进行交互和对话的第一个点。
- 推理的历史:这使用不同VFM过去具有的先前推理来解决复杂的查询。
- 中间答案:通过使用 VFM,模型将尝试输出几个逻辑上低估的中间答案。

有关提示管理器的更多信息
你们中的一些人可能认为这是 ChatGPT 处理视觉效果的强制解决方法,因为它仍然将图像的所有视觉信号转换为语言。上传图像时,提示管理器会合成包含文件名等信息的内部聊天历史记录,以便 ChatGPT 可以更好地了解查询所指的内容。
例如,用户输入的图像的名称将充当操作历史记录,然后提示管理器将协助模型通过“推理格式”来确定需要对图像执行的操作。在 ChatGPT 选择正确的 VFM 操作之前,您可以将此视为模型的内部想法。
在下图中,您可以看到提示管理器如何启动可视 ChatGPT 的规则:

开始使用可视化聊天GPT
要开始您的 Visual ChatGPT 之旅,您需要先运行 Visual ChatGPT 演示:
# create a new environment
conda create -n visgpt python=3.8# activate the new environment
conda activate visgpt# prepare the basic environments
pip install -r requirement.txt# download the visual foundation models
bash download.sh# prepare your private openAI private key
export OPENAI_API_KEY={Your_Private_Openai_Key}# create a folder to save images
mkdir ./image# Start Visual ChatGPT !
python visual_chatgpt.py
您还可以在Microsoft的Visual ChatGPT GitHub上了解更多信息。确保查看每个视觉基础模型上的 GPU 内存使用情况。
可视化聊天GPT的用例
那么Visual ChatGPT能做什么呢?
图像生成
您可以要求Visual ChatGPT从头开始创建图像,并提供描述。您的图像将在几秒钟内生成,具体取决于可用的计算能力。其使用文本数据的合成图像生成基于稳定扩散。
更改图像背景
同样,使用稳定的扩散,Visual ChatGPT可以改变您输入的图像的背景。用户可以向助手提供他们希望将背景更改为什么的任何描述,稳定的扩散模型将绘制图像的背景。
更改彩色图像和其他效果
您还可以根据为应用程序提供描述来更改图像的颜色并应用效果。Visual ChatGPT将使用各种预训练模型和OpenCV来更改图像颜色,突出显示图像边缘等。
对图像进行更改
Visual ChatGPT 允许您通过编辑和修改图像中的对象来删除或替换图像的各个方面,并向应用程序提供定向文本描述。但是,需要注意的是,此功能需要更多的计算能力。
Visual ChatGPT 的局限性
众所周知,组织总需要努力解决某种形式的缺陷来改善其服务。
计算机视觉和大型语言模型的结合
Visual ChatGPT 严重依赖 ChatGPT 和 VFM,因此,这些各个方面的准确性和可靠性会影响 Visual ChatGPT 的性能。使用大型语言模型和计算机视觉的组合需要大量的提示工程,并且可能难以实现熟练的性能。
隐私和安全
Visual ChatGPT能够轻松插入和拔出VFM,这可能是一些用户对安全和隐私问题的担忧。Microsoft需要更多地研究敏感数据如何不被泄露。
自我校正模块
Visual ChatGPT的研究人员遇到的限制之一是由于VFM的失败和提示的多样性而导致的生成结果不一致。因此,他们得出结论,他们需要研究一个自我更正模块,以确保生成的输出符合用户的要求,并能够进行必要的更正。
需要大量 GPU
为了从Visual ChatGPT中受益并利用22个VFM,您将需要大量的GPU RAM,例如A100。根据手头的任务,确保您了解有效完成任务所需的 GPU 量。
总结
Visual ChatGPT仍有其局限性,但这是同时使用大语言模型和计算机视觉的重大突破。如果您想了解有关Visual ChatGPT的更多信息,请阅读本文:Visual ChatGPT:使用Visual Foundation Models进行对话,绘图和编辑
Visual ChatGPT 与 ChatGPT4 相似吗?如果你尝试过这两种方法,你有什么看法?在下面发表评论!
原文链接:Visual ChatGPT:Microsoft ChatGPT 和 VFM 相结合 (mvrlink.com)
相关文章:
Visual ChatGPT:Microsoft ChatGPT 和 VFM 相结合
推荐:使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景 什么是Visual ChatGPT? Visual ChatGPT 是一个包含 Visual Foundation 模型 (VFM) 的系统,可帮助 ChatGPT 更好地理解、生成和编辑视觉信息。VFM 能够指…...
基于java理发店预约系统微信小程序设计与实现
摘要 多姿多彩的世界带来了美好的生活,行业的发展也是形形色色的离不开技术的发展。作为时代进步的发展方面,信息技术至始至终都是成就行业发展的重要秘密。不论何种行业,大到国家、企业,小到团体、个人都在多方位的结合信息化技术…...
【软件测试】大厂测工都是这样学习的,你get到了吗?
有不少的软件测试工程师站在“十字路口”迷茫、无助,找不到自己的方向。一切的迷茫都是因为想得太多而做的太少!每位软件测试行业从业者都能意识到目前自己面临的窘境,但能及时作出改变,顺应时代变化的人还是太少。多数人明明“泰…...
如何使用ONLYOFFICE+ffmpeg来给视频文件打马赛克
如何使用ONLYOFFICEffmpeg来给视频文件打马赛克 我这里之前写过很多关于ONLYOFFICE使用、安装的系列图文,也写过很多关于ffmpeg使用的图文,那么这次继续,把这两个开源软件放在一起,能碰撞出什么火花般的功能来。 这就是给视频文…...
003-依赖注入、属性赋值源码分析
目录 引入作用代码分析InstantiationAwareBeanPostProcessor#postProcessProperties()AutowiredAnnotationBeanPostProcessor查找注入点元数据给注入点注入属性 引入 之前我们了解到BeanDefinition到Bean,经历了 实例化属性赋值初始化 3个步骤现在详细分析下属性赋…...
Elasticsearch 商业启示
上月的“红帽事件”,说明开源软件的“客服模式”行不通,那么,开源软件如何赚钱呢?既不能卖软件,又不能卖支持服务,该怎么办呢?我现在的看法是,只剩下一种模式是可行的,开…...
C++/Qt 读写文件
之前写过两篇跟文件操作相关的博客,有兴趣也可以看一下: C语言读写文件 Qt关于文件路径的处理 先讲一些关于基础文本文件和二进制文件的读写操作,后续将会整理C/Qt关于ini、xml、json、xlsx相关文件的读写操作。 C 相比于C语言使用FILE文…...
linux服务器之-nethogs命令
文章目录 NetHogs 工具安装安装依赖包安装epel源安装Nethogs 使用 NetHogs 工具 NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是依照进程进行带宽分组。 安装 安装依赖包 yum install libpcap libpcap-devel epel-rel…...
《每天5分钟玩转kubernetes》读书笔记
笔记 概念 Pod是脆弱的,但应用是健壮的。 kubelet运行在Cluster所有节点上,负责启动Pod和容器。kubeadm用于初始化Cluster。kubectl是k8s命令行工具。通过kubectl可以部署和管理应用,查看各种资源,创建、删除和更新各种组件。 …...
【RabbitMQ】golang客户端教程4——路由(使用direct交换器)
路由 在上一教程中,我们构建了一个简单的日志记录系统。我们能够向许多接收者广播日志消息。 在本教程中,我们将向它添加一个特性-我们将使它能够只订阅消息的一个子集。例如,我们将只能将关键错误消息定向到日志文件(以节省磁盘…...
Shell脚本学习-for循环结构2
案例:通过脚本实现仅sshd、rsyslog、crond、network、sysstat服务在开机时自启动。 Linux系统在开机的服务通常工作在文本模式3级别,因此只需要查找3级别以上的开启的服务即可。查看命令: chkconfig --list |grep 3:on [rootvm1 ~]# chkco…...
vue 老项目 npm install 报错Python,c++等相关错误
老项目npm install 下载依赖包报错 解决方法: //下载python 1、 npm install --global --production windows-build-tools//配置环境 : 也可暂时不用配置,能用就不用配置(npm config set python "D:\Python27\python.exe&q…...
【c语言初级】c++基础
文章目录 1. C关键字2. 命名空间2.1 命名空间定义2.2 命名空间使用 3. C输入&输出4. 缺省参数4.1 缺省参数概念4.2 缺省参数分类 5. 函数重载5.2 C函数重载的原理--名字修饰采用C语言编译器编译后结果 1. C关键字 C是在C的基础之上,容纳进去了面向对象编程思想…...
idea打开传统eclipse项目
打开传统web项目 1.打开后选择项目文件 2.选择项目结构 3.设置jdk版本 4.导入当前项目模块 5.选择eclipse 6. 设置保存目录 7.右键模块,添加spring和web文件 8. 设置web目录之类的,并且创建打包工具 9.如果有本地lib,添加为库 最后点击应用&…...
全国各城市-财政收入-一般预算收入-各项税收-个人所得税(1999-2020年)
个人所得税是一项反映国家财政状况和个人经济水平的重要数据。通过对全国各城市个人所得税数据的研究,可以提供研究者参考的有益信息。首先,个人所得税数据反映了不同城市居民的收入水平。通过对不同城市的个人所得税数据进行比较,可以了解不…...
【动态网页抓取】 :用Python抓取所有内容的指南
一、说明 您在抓取动态网页内容时是否得到了糟糕的结果?不仅仅是你。对于标准抓取工具来说,爬网动态数据是一项具有挑战性的任务(至少可以说)。这是因为当发出HTTP请求时,响应程序的某些部分JavaScript在后台运行&…...
Spring Boot数据访问基础知识与JDBC简单实现
目录 Spring Boot数据访问基础知识 Spring Data ORM JDBC JPA JDBC简单实现 步骤1:新建Maven项目,添加依赖 步骤2:配置数据源—让程序可以访问到 步骤3:配置数据源—让IDEA可以访问到 步骤4:添加数据库和表 …...
ubuntu添加万能头文件
ubuntu的C头文件目录为/usr/include 在/usr/include下新建文件夹 bits sudo mkdir bits进入bits,新建stdc.h,并修改权限为744/777 cd bits;sudo touch stdc.h;sudo chmod 777 stdc.h将以下内容粘贴到stdc.h,保存退出 // C includes used …...
聊一聊关于前端语法 ?? 的那些事
当我们在编写前端代码时,语法是非常重要的。正确的语法可以确保我们的代码能够正常运行,并且易于维护和理解。在本文中,我们将探讨一些前端语法的问题,例如空值合并运算符(??)。 空值合并运算符是ES2020…...
宝塔Linux面板升级“获取更新包失败”怎么解决?
宝塔Linux面板执行升级命令后失败,提示“获取更新包失败,请稍后更新或联系宝塔运维”如何解决?新手站长分享宝塔面板升级失败的解决方法: 宝塔面板升级失败解决方法 1、使用root账户登录到你的云服务器上,宝塔Linux面…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
