首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >第13章 大模型在计算机视觉上的测试应用-1

第13章 大模型在计算机视觉上的测试应用-1

作者头像
bettermanlu
发布2025-04-15 11:40:39
发布2025-04-15 11:40:39
2400
举报

上一章,我们介绍了大模型的基础知识及在应用大模型时的相关技术。在本章,我们将探讨大模型在计算机视觉上的测试应用,如何帮助我们提升本书前面章节的活体检测算法的测试效率;同时我们将讲述如何对大语言模型进行评测,包括其语言基础能力的测试,以及文生图、文生视频的评测,以确保生成图片和视频的质量符合我们的预期。

13.1 基于ChatGPT的测试用例设计

下面我们以之前的活体检测算法为例,看看如何通过提示词工程(Prompting Engieering),完成基本的用例设计。

我们首先给ChatGPT一个假定的身份(“软件测试工程”),然后询问它如何测试一个活体检测算法,ChatGPT给出了包含功能测试、性能测试、兼容性测试、安全性测试以及用户体验测试,共5个维度的测试方案,如图13-1所示。接着,我们可以针对每一个测试维度,要求其进行更详细的展开,比如:采集场景,面部采集场景、安全性测试等,如图13-1至图13-6所示。

整体上看, ChatGPT给出的测试用例比较全面,但也存在ChatGPT给出了答案里有一定的非预期的信息,需要我们做进一步的检查,比如:图13-5中提到的“指纹攻击”和“声音攻击”,这个不属于我们的活体检测范围(我们主要聚焦在人脸识别领域),所以提示词的准确性起到了关键作用。这时,我们意识到之前给到的提示词不准确,我们没有给“活体检测”具体的定义,我们应该限定活体检测为基于人脸识别的方式。

期间,作者也遇到一些ChatGPT丢失了上下文,给出一些不正确的回答的例子,如图13-16所示,显然ChatGPT给出的很多假体不会在活体检测算法的范围内,这个也和我们没有给“活体检测”具体的定义有一定的关系。

图13-1 ChatGPT针对活体检测算法输出的测试方案

图13-2 ChatGPT针对活体人脸和假活体的输出的采集方案

图13-3 ChatGPT针对室内采集场景输出的采集方案

图13-4 ChatGPT针对面部表情输出的采集方案

图13-5 ChatGPT针对活体检测的安全性测试输出的攻击手段

图13-6 ChatGPT关于假体场景输出的采集方案

下面是我们优化提示词后的效果,增加了我们的活体检测算法是基于人脸的,输出如图13-7所示,和上文图13-1相比,这次输出的测试策略来看,更符合AI算法测试的步骤。

图13-7 ChatGPT在新活体检测算法提示词输出的测试方案1

不过,请注意,ChatGPT的输出存在一定的随机性,即使是相同的提示词,输出也存在一定的不同,如图13-8所示,这个和上面的图13-7相比,在测试策略上,少了“性能测试”和“安全测试”两个维度。

图13-8 ChatGPT在新活体检测算法提示词输出的测试方案2

通过上面的案例,我们总结下ChatGPT用例设计方面的有哪些优点和不足。

优点:

  1. ChatGPT输出的测试方案比较全面,既覆盖功能测试、也能覆盖性能测试及安全测试。
  2. ChatGPT输出的功能测试场景能够覆盖基本的场景,包括正常和异常场景。

总的来说,ChatGPT输出的方案有一定的参考价值,特别是对测试经验不足的新人。

不足:

  1. ChatGPT虽然能够生成多个相关的用例,但在细节和覆盖全面性方面仍需要提升。
  2. ChatGPT的输出效果对提示词依赖很大,需要我们精准的描述需求,才能确保ChatGPT输出内容的质量。
  3. ChatGPT的输出存在一定的随机性,比如:提示词优化前输出(图13-1)和提示词优化后的输出(图13-7)有很大的差别。即使是相同的提示词,输出也存在一定的不同,如图13-7和图13-8对比所示。

在和ChatGPT交互过程中,仍需要我们人类工程师有一定的领域知识和判断能力,通过不断的向ChatGPT提问和提醒,使其不断优化它的输出,直到达到我们满意的效果。虽然ChatGPT有一定的局限性,但总体来说,仍然可以是我们在测试设计上一个不错的帮手。

13.2 基于AIGC的数据生成

在AI领域,AIGC是一个引人注目的概念。AIGC,即AI Generated Content,是指由人工智能生成的内容。这种内容可以包括文本、音频、视频、图像等各种形式。AI生成的内容可以根据特定的输入和参数进行定制,以满足各种需求。

在图像领域,AIGC有许多应用场景:

  1. 图像生成:AI可以根据描述或者其他输入生成全新的图像。例如,第七章我们介绍的GAN(生成对抗网络)以及Diffusion Model 就是可以生成逼真图像的AI技术。
  2. 图像编辑:AI可以用来自动编辑图像,包括改变图像的颜色、大小、形状等。AI也可以用来添加或删除图像中的元素。
  3. 图像风格转换:AI可以将一种图像的风格转换为另一种风格,例如将一张普通的照片转换为像梵高的油画那样的风格。
  4. 图像增强:AI可以用来增强图像的质量,例如提高图像的分辨率、改善图像的亮度和对比度等。
  5. 虚拟现实和增强现实:AI可以用来生成虚拟现实或增强现实的图像,为用户提供更丰富、更真实的体验。

下面我们重点看下AIGC在图像生成方面有哪些可以落地到AI测试的技术。

13.2.1 图像生成

在第七章中,我们介绍如何基于Stable Diffusion以及ControlNet技术,通过文生图以及图生图的方式来快速合成样本数据。ControlNet除了第七章我们介绍的OpenPose和Canny Edge外,还有很多控制模式,参见图13-9所示。如:Depth控制图片的深度信息,可以生成有立体感的图片;Normal贴图用于生成不同纹理的图片。感兴趣的读者可以去ControlNet[1]的官网查看实际效果。

图13-9 ControlNet支持的控制模型示例

13.2.2 视频生成

文生视频技术(Text-to-Video),以将文本信息转化为视频内容。这种技术的基本原理是通过深度学习和自然语言处理(NLP)技术,理解和解析文本内容,然后将这些内容转化为视觉元素,如动画或视频片段。虽然看上去这项任务与文生图很相似,但它的难度要大很多,因为它要求生成一系列时间和空间上都一致的图像。

受GPT的Transformer 模型的成功启发,文生视频研究也采用了 Transformer 架构,期间典型的方案包括如:来自Meta(Facebook)的Make-A-Video、来自微软的NUWA、来自UC Berkeley的VideoGPT等。

随着图像领域Diffusion Models的兴起,Video Diffusion Models (VDM) 将扩散模型推广到了视频领域,这期间,产生了一批基于文生视频扩散模型,包括如: Video LDM、Text2Video-Zero、Runway Gen2、NUWA-XL以及来自OpenAI的Sora等。

下面我们重点看一下Text2Video-Zero[2]方案以及Sora[3]方案。

Text2Video

Text2Video是一种zero-shot(零样本)视频生成方法。它可以使用文本提示、文本提示结合姿势或边缘的指导以及Video Instruct-Pix2Pix来生成视频。

Text2Video-Zero成功生成了全局场景和背景在时间上一致,并且整个序列中前景对象的上下文、外观和身份得到了保持。同时它通过使用额外的边缘或姿势指导,生成的视频与提示和指导相匹配。在Video Instruct-Pix2Pix的情况下,生成的视频在与输入视频相比具有高保真度,并且紧密遵循指导。

图13-10是Text2Video-Zero实现了Zero-Shot视频生成,使用的方法包括:(i) 文本提示(见第1行,第2行),(ii) Video Instruct-Pix2Pix(见左下角),以及 (iii) 结合姿势或边缘的提示(见右下角)。 更多案例可以到其官方网址查看。

图13-10 Text2Video-Zero生成的视频示例

Sora

第12章我们介绍了Sora模型,它是一个由文本条件驱动的扩散模型,能够生成高保真度的一分钟视频。Sora模型展示了视频生成模型作为通用物理世界模拟器的潜力。

Sora的技术基础包括扩散模型,它通过多步骤逐渐去除噪声来生成视频。它使用transformer架构,并且像GPT模型一样,能够一次性生成整个视频或扩展现有视频。Sora还代表了数据表示方式的统一,将视频和图像表示为数据的小单元集合,称为"patches",类似于GPT中的tokens。此外,Sora利用了从DALL·E 3中获取的重新字幕技术,这使得模型能够更忠实地遵循生成视频中用户的文本指令。Sora还能够处理现有的静态图像并生成视频,或者扩展现有视频并填补缺失的帧。Sora能够处理和生成不同尺寸的视频,提供采样灵活性,改善构图和画面布局。Sora在大规模训练下表现出一些引人注目的模拟能力,例如3D一致性、长期连贯性和物体持久性,以及与世界互动的基本模拟。

图13-11、图13-12和图13-13是Sora的效果演示。

图13-11 Sora文生视频示例:东京街头的时尚女性

图13-12 Sora文生视频示例:雪地猛犸

图13-13 Sora文生视频示例:海滩崎岖悬崖

当前Sora作为视频生成模型仍有一些局限性,缺陷举例参见图13-14,

图13-14 Sora生成视频缺陷举例

局限性总结如下:

  • 复杂场景的物理模拟:Sora可能难以准确模拟复杂场景的物理原理,例如,它可能无法正确地展示玻璃破碎等物理交互。
  • 因果关系理解:模型可能无法理解特定因果关系的具体实例,比如一个角色咬了一口饼干后,饼干上可能没有显示出咬痕。
  • 空间细节混淆:Sora可能混淆提示中包含的空间细节,例如难以区分左右,或在遵循特定相机轨迹的事件描述中遇到困难。
  • 长时间事件描述:在长时间展开的事件描述中,Sora可能难以保持连贯性,或者在长时间样本中可能出现不连贯性。
  • 物体状态变化:Sora在处理某些物体状态变化时可能不总是产生正确的结果,例如食物被吃掉后的状态更新可能不准确。
  • 模型输出的常见失败模式:包括在长时间样本中出现的不一致性,或者物体突然出现等。

尽管存在这些局限性,OpenAI认为Sora展示的能力表明,持续扩展视频模型是开发物理和数字世界模拟器的有前途的道路。OpenAI也在积极采取安全措施,并与领域专家合作进行对抗性测试,以提高模型的安全性和可靠性。

13.2.3 3D模型生成

创建专业的 3D模型一般需要比较高的艺术与审美素养,同时还需要 3D 建模专业知识,这部分工作的门槛比较高,一般都需要经过长期的学习和训练才能成为一名不错的建模师。同时,当人工完成3D建模工作时,通常还需要花费大量时间和精力。那么是否可以借助Ai来自动完成建模工作呢?

近年来,随着基于Diffusion Models文生图技术的发展,大家开始尝试把这个技术应用到3D模型生成上来,包括如来自Google的DreamonFusion,以及来自英伟达的Magic3D等多种方案。

下面我们简单介绍下Magic3D[4]这个方案。

Magic3D可以从输入的文本提示中创建高质量的3D纹理网格模型。它利用粗到细的策略,同时利用低分辨率和高分辨率的扩散先验来学习目标内容的3D表示。Magic3D合成的3D内容的分辨率比DreamFusion高8倍,同时速度也快2倍。

Magic3D使用了一个两阶段的粗糙到精细的优化框架,以实现快速且高质量的文本到3D内容的创建。在第一阶段,使用低分辨率扩散先验来获取一个粗糙的模型,并通过哈希网格和稀疏加速结构来加速这个过程。在第二阶段,通过微分渲染器和高分辨率潜在扩散模型进行交互,不断优化第一阶段的粗糙模型,最终生成高分辨率的3D模型,流程参见图13-15所示。

图13-15 Magic3D的文生3D模型的基本原理

下面我们看一下Magic3D生成的3D模型的实际效果。比如:我们输入"A blue poison-dart frog sitting on a water lily.(一只坐在睡莲上的蓝色箭毒蛙)",生成的渲染后的图片和3D模型参见图13-16。

图13-16 Magic3D生成的3D蓝色箭毒蛙模型示例

在根据提示词生成3D模型后,Magic3D还可以基于新的提示词在原有的模型的基础上生成和优化新的3D模型,如下图13-17所示,第一列是根据我们的初始提示词生成的低分辨率的3D模型,后面3列,我们改变提示词,Magic3D通过微调模型输出分辨率更高的3D模型出来。

图13-17 Magic3D 基于提示词优化新模型示例

在3D模型生成方面,目前无论是学术界、还是工业界,当前都处于比较早期的阶段,每年都会有不少新的论文出现,读者可以持续关注这个领域的最新进展。

13.2.4 3D场景生成

Magic3D可以生成单个的3D模型,对于更复杂的包含多个模型的场景,是否也可以自动生成呢?下面我们介绍一种3D场景生成的方案。

Text2Room[5]是一篇关于生成室内场景3D网格的论文。现有的3D场景生成方法需要大量的人工操作和专业知识,而且生成的结果往往不够真实。因此,Text2Room提出了一种新的方法,可以从给定文本提示生成具有室内场景的3D网格,与现有的专注于从文本生成单个对象的作品不同,该方法生成了包含多个对象的完整3D场景。

Text2Room使用2D文本到图像模型生成一系列图像,然后通过单目深度估计和文本条件修补模型将这些图像转换为一致的3D场景表示。

具体来说,Text2Room的关键步骤如下:

1. 输入文本:用户提供一个文本输入,描述所需生成的室内场景,例如“一个有很多书架、沙发和小桌子的客厅”。

2. 2D文本到图像模型:使用预训练的2D文本到图像模型生成一系列图像,这些图像从不同的视角捕捉场景的不同部分。

3. 单目深度估计:使用单目深度估计模型估计每个图像的深度信息,以便将这些图像转换为3D场景表示。

4. 文本条件修补模型:使用文本条件修补模型将每个图像转换为3D场景表示。该模型使用文本输入来指导修补过程,以便生成具有引人注目的纹理和几何形状的3D场景。

5. 定制视点选择:为了将每个图像的内容融合成无缝的纹理3D网格,Text2Room使用定制视点选择来选择最佳的视角。该方法分为两个阶段,首先从最佳位置采样相机姿态以创建房间布局和家具,然后关闭任何剩余的空洞,创建一个无缝的网格。

通过以上步骤,Text2Room可以从任何文本输入生成具有不错的纹理和几何形状的室内场景的3D网格。关键流程参见图13-18,效果示例参考图13-19所示。

图13-18 Tex2Room场景迭代过程

图13-19 Text2Room效果示例:“一间有很多书柜、沙发和小桌子的起居室”

当然Tex2Room也有一定的局限性,首先,它可能无法填补所有的空洞,例如,如果一个物体的空洞靠近墙壁,这种情况就可能发生。这些角度从额外的摄像头上很难看到,因此可能会保持不变,然后仍然通过应用泊松表面重建来关闭这些孔洞。然而,这可能会导致几何形状过度平滑,如图13-20-a所示。其次,在网格融合阶段可能无法去除所有拉伸的平面,如图13-20-b所示。

图13-20 Text2Room局限性:(a) 被过度平滑的表面 (b) 被拉伸的表面

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MasterLU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 13.1 基于ChatGPT的测试用例设计
  • 13.2 基于AIGC的数据生成
    • 13.2.1 图像生成
    • 13.2.2 视频生成
    • 13.2.3 3D模型生成
    • 13.2.4 3D场景生成
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档