51c视觉~合集25

我自己的原文哦~    https://blog.51cto.com/whaosoft/11910997

#U-ViT

别只盯着DiT,国产模型也在暗自发力!U-ViT:ViT 架构实现 Diffusion 的开山之作!

本文的提出比 DiT 还要早一点,而且本文是用 ViT 架构实现 Diffusion 模型的开山之作,使用 ViT 来替换 Diffusion 模型中基于卷积的 U-Net 架构,同时维持模型宏观的 U 形架构不变。

OpenAI Sora[1]酷炫的效果及其与 Transformer 架构的关联使得领域开始关注基于 Transformer 的架构的扩散模型 Diffusion Transformer (DiT)[2]。DiT 的特点是使用 vanilla 的 Transformer 架构,即相同的 Transformer Block 从头到尾,顺序排列,没有大 Shortcut 连接,极其简单的宏观架构。

本文的提出比 DiT 还要早一点,而且本文是用 ViT 架构实现 Diffusion 模型的开山之作,使用 ViT 来替换 Diffusion 模型中基于卷积的 U-Net 架构,同时维持模型宏观的 U 形架构不变。本文的模型因此命名 U-ViT,其特点是将 Diffusion 模型中的一些必要的信息,比如 time, condition 以及 noisy image patches 全部视为是 tokens,而且在浅层和深层之间使用 long skip connection 连接。

U-ViT 评测的任务包括:unconditional 或者 class-conditional 图像生成任务,文生图任务。U-ViT 的性能与相似尺寸的 U-Net 相当。U-ViT 的 latent 扩散模型在 ImageNet 256×256 上的 class-conditioned 图像生成中实现了 2.29 的 FID,在 MS-COCO 上的文生图任务中实现了 5.48 的 FID,同时没有使用大型外部数据集。

U-ViT 还给出了很多有价值的观察,比如对于基于扩散模型的图像建模,long skip connection 很重要,但是上下采样就没那么重要。

图片

图1:U-ViT 模型架构。其特点将所有输入 (包括 time、condition 和 noised image patches) 视为 tokens,并在浅层和深层之间使用 long skip connection

1 U-ViT:基于 ViT 的扩散模型的先驱之作

论文名称:All are Worth Words: A ViT Backbone for Diffusion Models (CVPR 2023)

论文地址:

​http://arxiv.org/pdf/2209.12152​

代码链接:

​http://github.com/baofff/U-ViT​

1.1 使用 ViT 实现扩散模型

Diffusion 模型在文生图任务[3][4],视频生成任务[5]中的应用迅速增长。模型骨干架构的发展起到了至关重要的作用。基于 CNN 的 U-Net[6]的特点是一组下采样块、一组上采样块以及两组之间的 long skip connections,这种架构主导了图像生成任务的扩散模型。另一方面,Vision Transformer (ViT[7]) 在各种视觉任务中展示出了前景。很多基于 ViT 的视觉架构甚至优于基于 CNN 的方法。因此,出现了一个非常自然的问题:基于 CNN 的 U-Net 的依赖是否在扩散模型中是必要的?

本文提出了一个简单而通用的基于 ViT 的架构,称为 U-ViT,如图 1 所示。按照 Transformer 的设计方法,U-ViT将所有输入 (包括时间、条件和噪声图像 Patches) 视为 tokens。U-ViT 在受 U-Net 启发的浅层和深层之间采用了 long skip connections。low-level 的特征对扩散模型中的像素级预测目标很重要,这种连接可以使得预测噪声的网络的训练更加容易。而且,U-ViT 在输出之前可以添加额外的 3×3 卷积以获得更好的视觉质量。

1.2 扩散模型简介

扩散模型逐渐向数据注入噪声,然后反转这个过程以从噪声中生成数据。噪声注入过程,也称为前向过程,形式化为马尔可夫链:

图片

式中,  为数据,  和  表示 noise schedule,且满足  。为了反转这个过程, 使用一个高斯模型  来逼近 Ground Truth 的反向过程  。且最优的均值为:

图片

式中,  是注入  的标准高斯噪声。这个时候, 神经网络的学习就可以等效为一个预测噪声的过程。形式上, 通过最小化噪声预测目标, 即  来学习  。其中  在 1 和  之间均匀分布。为了学习条件扩散模型, 例如类条件模型或文生图模型, 条件信息被进一步馈送到噪声预测目标:

图片

其中,  是条件或其连续嵌入。在以往的图像建模工作中, 扩散模型主要依赖于基于 CNN 的 U, 这是一个卷积主干, 其特征是有一组下采样块、一组上采样块和两组之间的长跳跃连接。  通过自适应组归一化  和交叉注意  等机制输入给 U-Net 中。

1.3 U-ViT 的具体做法

U-ViT 的架构如图1 所示。U-ViT 代表的就是式 3 中的  。U-ViT 以时间  、条件  和噪声图像  作为输入并预测注入  的噪声。按照 ViT 的设计方法, 将图像分割成小块, U-ViT 将所有输入 (包括时间、条件和图像 patches) 全部视为 tokens。U-ViT 在浅层和深层之间也采用了类似的 long skip connections。

式 3 很像一个像素级预测任务,并且对低级特征很敏感。long skip connections 为低级特征提供了快捷的连接,从而简化了噪声预测网络的训练。

此外,U-ViT 在输出之前可以添加一个 3×3 卷积。目的是防止变压器产生的图像中潜在的伪影。根据本文实验,这个 3×3 卷积提高 U-ViT 生成样本的质量。

尽管 U-ViT 在概念上很简单,但作者还是精心设计了它的实现。为此,作者对 U-ViT 中的关键设计进行了比较系统的实证性研究。作者在 CIFAR10 上做消融实验,在 10K 生成的样本 (不是生成 50K 样本,为了提高效率) 上评估 FID 分数。

1) 结合 long skip 分支的方法

设  分别为主分支和 long skip 分支的嵌入。作者考虑了几种把二者结合馈送到下一个 Transformer Block 的方法:

将它们 Concat 起来, 然后过个线性投影, 如图1所示, 即 Linear  。

直接把它们加起来, 即  。

对  执行线性投影,然后把它们加起来,即  。

加起来, 然后执行线性投影, 即 Linear  。

也对比了不使用 long skip connections 的情况。

实验结果如图 2 所示, 第 1 种方案的表现最好。直接加起来的表现还不如不用 long skip connections。作者分析原因是 Transformer 本身就有 skip connection, 因此,  的唯一影响是以线性形式增加  的系数, 这不会改变网络的性质。相比之下, 结合  的所有其他方法在  上执行线性投影, 并且在没有 long skip connections 的情况下提高了性能。

图片

图2:long skip 分支消融实验结果

2) AdaLN 的使用

作者考虑了 2 种方法将  输入网络:

  1. 将其视为 tokens。
  2. 在 Transformer Block 中的 LayerNorm 之后使用自适应组归一化 (adaptive group normalization)  。这个方法称为自适应层归一化 (AdaLN)。形式上表述为: , 其中  是 Transformer Block 的输入, 是从 time embedding 中获得的。这种方法虽然简单, 但是将时间视为 token 的简单方法比 AdaLN 表现更好。

图片

图3:time 融入网络的方式消融实验

3) 在 Transformer 之后添加额外卷积

作者考虑了 3 种方法在 Transformer 之后添加额外卷积:

  1. 在线性投影后添加一个 3×3 卷积,将 token embedding 映射到 image patches。
  2. 在线性投影之前添加一个  卷积块, 这需要首先将 token embedding 的 1D 序列 重新排列为形状  的 2D 特征, 其中  是 Patch Size。
  3. 不使用 3×3 卷积块。

图片

图4:添加额外卷积的消融实验

如图 4 所示,在线性投影后添加一个 3×3 卷积效果略微好一些。

4) Patch Embedding 的变体

作者考虑了 Patch Embedding 的 2 种变体。

  1. 原始的 Patch Embedding 采用线性投影,把 patches 映射为 token embedding。
  2. 使用 3×3 卷积的堆叠,然后使用 1×1 卷积把图像映射到 token embedding。

图片

图5:Patch Embedding 的变体消融实验

如图 5 所示,原始的 Patch Embedding 表现更好。

5) 位置编码的变体

作者考虑位置编码的 2 种变体。

  1. 原始 ViT 中提出的一维可学习位置编码,这是本文中的默认设置。
  2. 二维正弦位置编码,它是通过连接位置 处的 Patch  和  的正弦 Embedding 获得的。

图片

图6:位置编码的变体消融实验

如图 6 所示,一维可学习位置编码的表现更好。作者还尝试使用了任意位置编码,发现模型无法生成有意义的图像,这意味着位置信息在图像生成中至关重要。

1.4 深度、宽度和 Patch Size 的影响

作者通过在 CIFAR10 研究深度 (即层数)、宽度 (即隐藏大小  ) 和 Patch Size 的影响来展示 U-ViT 的缩放性能。如图 7 所示,随着深度 (即层数) 从 9 增加到 13,性能会提高。但是,更大的深度就不会再带来性能提升了。把宽度 (隐藏大小) 从 256 提升到 512 性能会提升,但是进一步增加到 768 就没有增益。将 Patch Size 从 8 减少到 2 可以提高性能,进一步降低到 1 不会带来增益。

图片

图7:深度、宽度和 Patch Size 对 U-ViT 的影响

作者也发现 Patch Size 为 2 是获得比较好性能的前提,这可能是由于扩散模型的噪声预测任务是 low-level 的,需要小的 Patch Size。这不同于 high-level 比如分类任务。

由于使用较小的 Patch Size 会带来比较昂贵的计算代价,因此 U-ViT 首先把特征转换到低维的 latent 空间中,并使用 U-ViT 对 latent representation 进行建模。

1.5 实验结果

作者在 3 种任务上做了实验:unconditional image generation,class-conditional image generation,text-to-image generation。

实验设置

unconditional image generation:CIFAR10, CelebA 64×64。

class-conditional image generation:ImageNet 64×64, 256×256, 512×512。

text-to-image generation:MS-COCO 256×256。

对于高分辨率的图像生成,作者使用了 Stable Diffusion[3]提供的预训练图像自动编码器,分别将它们转换为 32×32 和 64×64 分辨率下的 latent representation。然后使用所提出的 U-ViT 对这些 latent representation 进行建模。

在 MS-COCO 上,作者使用 Stable Diffusion 的 CLIP text Encoder 将离散文本转换为一系列 Embedding。然后将这些 Embedding 输入 U-ViT 作为 token 序列。

下图 8 所示为不同 U-ViT 的大小。

图片

图8:不同 U-ViT 的配置

U-ViT 在训练时使用 AdamW 优化器,在 CIFAR10 和 CelebA 64×64 数据集上以 bs=128 训练了 500K iterations,在 ImageNet 64×64 和 ImageNet 256×256 数据集上以 bs=1024 训练了 300K iterations,ImageNet 512×512 数据集上以 bs=1024 训练了 500K iterations,MS-COCO 数据集上以 bs=256 训练了 1M iterations。

unconditional image generation 和 class-conditional image generation 实验结果

如图 9 所示,U-ViT 在 unconditional image generation 任务中,在 CIFAR10 和 CelebA 64×64 数据集上与 U-Net 相当,同时性能优于 GenViT。

在 class-conditional ImageNet 64×64 上,作者最初尝试使用 131M 参数的 U-ViT-M 配置。如图 9 所示,FID 为 5.85,优于使用 100M 参数的 U-Net 的 IDDPM 的 6.92。为了进一步提高性能,采用了具有 287M 参数的 U-ViT-L,FID 从 5.85 提高到了 4.26。

图片

图9:CIFAR10 和 CelebA 64×64 上 unconditional 图像生成的 FID 结果,以及 ImageNet 64×64、256×256 和 512×512 上的 class conditional 图像生成实验结果。SR:超分模块,AE:图像自编码器,Cls:分类器

同时,U-ViT 在 latent space 中表现得特别好,在应用扩散模型之前,首先将图像转换为 latent representation。在 class conditional ImageNet 256×256 上,U-ViT 获得了 2.29 的 FID,优于所有先前的扩散模型。

Text-to-Image Generation 实验结果

与之前的文献一致,作者从 MS-COCO 验证集中随机抽取 30K 个 prompt,并在这些提示上生成样本以计算 FID。

实验结果如图 10 所示,U-ViT-S 在不需要访问大型外部数据集的情况下,已经在所有的方法中实现了最好的 FID。通过进一步将层数从 13 增加到 17,U-ViT-S (Deep) 甚至可以实现更好的 FID 5.48。图 11 显示了使用相同随机种子的 U-Net 和 U-ViT 生成的样本进行比较。可以发现 U-ViT 能够生成更高质量的样本,而且可以更好匹配文本。例如,给定文本 "a baseball player swinging a bat at a ball",U-Net 既不生成蝙蝠也不生成球。相比之下,U-ViT-S 生成 "ball",U-ViT-S (Deep) 进一步生成 "bat"。作者认为这是因为文本和图像在 U-ViT 的每一层交互,这比仅在交叉注意力层交互的 U-Net 更频繁。

图片

图10:MS-COCO 验证集 (256×256) 上不同模型的 FID 结果

图片

图11:MS-COCO 上的文生图结果。除了 Backbone 之外,所有其他设置都是相同的。U-Net 和 U-ViT 使用相同的随机种子生成样本进行公平比较

参考

  1. ^https://openai.com/index/sora/

#使用Matplotlib进行数据可视化

  Matplotlib 是一个流行的 Python 数据可视化库。它可用于创建任何类型的图表:折线图、饼图、逐行直方图等,具体取决于任务。

    在本文中,我们将学习如何导入库并通过示例分析数据可视化的主要方法。

什么是 Matplotlib 以及为什么需要它?

    Matplotlib 库是 Python 中的数据可视化库,允许您在多个层面处理数据:

  • 使用 Pyplot 模块,将图表视为一个整体;
  • 通过面向对象的界面,当每个形状或其一部分都是单独的对象时,这允许您有选择地更改它们的属性和显示。

    在本文中,我们将使用 Pyplot 模块,该模块足以进行绘图。

    Matplotlib 用于可视化任何复杂程度的数据。该库允许您构建不同类型的图形:线性、三维、散点图等,以及将它们组合在一起。

    附加库可让您扩展数据分析的可能性。例如,Cartopy 模块增加了处理制图信息的能力。您可以从官方文档中了解有关 Matplotlib 的更多信息。

    Matplotlib 本身是其他库的基础——例如,Seaborn 使创建图表变得更容易,并且有更多选项可以改善其外观。但 Matplotlib 是一个基本的数据可视化库,在数据分析中不可或缺。

Matplotlib、Pyplot 和 Pylab 有何关系?

    在深入研究 Matplotlib 时,会提到两个模块:Pyplot 和 Pylab。了解在工作中使用哪一个以及它们出现的原因很重要。让我们了解一下术语。

    Matplotlib 库是 Python 中用于数据可视化的包。Pyplot 是 Matplotlib 包中的一个模块。您经常会在代码中看到它,即 matplotlib.pyplot。该模块有助于自动创建轴、图形和其他组件,而无需考虑如何实现。大多数情况下使用的是 Pyplot。

    Pylab 是与 Matplotlib 包一起安装的另一个模块。它同时导入 Pyplot 和 NumPy 库,以便在处理数据时以交互方式处理数组或访问绘图函数。

    现在,Pylab 只具有历史意义——它促进了从 MATLAB 到 Matplotlib 的过渡,因为它允许您不使用 import 语句(这是 MATLAB 用户以前的工作方式)。您可能会在各个网站的代码示例中遇到 Pylab,但实际上,您不需要使用该模块。

安装并导入库

    Matplotlib 是一个通用库,可在 Windows、macOS 和 Linux 上使用 Python 运行。使用 Google Colab 或 Jupyter Notebook 时,您无需安装 Python 和 Matplotlib——编程语言和库已经开箱即用。但如果您决定在另一个 IDE(例如 Visual Studio Code)中编写代码,则请先安装 Python,然后通过终端安装Learn库:

pip3 install matplotlib

    现在您可以继续导入库:

import matplotlib.pyplot as plt

    该库的缩写plt是普遍接受的。您会在官方文档、书籍和其他人的笔记本电脑中找到它。所以,使用它吧。

在 Matplotlib 中构建第一个图

    首先,让我们创建两个变量 —x和y,它们将包含 x 和 y 轴上点的坐标:

x = [1, 2, 3, 4, 5]
y = [24, 29, 33, 19, 24]

    现在让我们建立一个连接这些点的图表:

plt.plot(x, y)
plt.show()

    我们得到了一个常规的折线图。让我们分解一下每个命令:

    plt.plot()是一个标准函数,它根据传递给它的值绘制图形。我们将点的坐标传递给它;

    plt.show()是一个负责将渲染的数据在屏幕上显示出来的函数。

    让我们为第一个图表添加标题和轴标签:

plt.plot(x, y)
plt.xlabel('x-axis') #name of the x-axis
plt.ylabel('y-axis') #name of the y-axis
plt.title('First graph') #name of the graph
plt.show()

    使用 Matplotlib,您可以自定义任何图的显示。例如,我们可以更改线条的颜色,以及突出显示我们在变量中设置其坐标的点:

plt.plot(x, y, color='purple', marker='o', markersize=8)

    现在点清晰可见,并且点和线的颜色已变为紫色:

    关于设置plt.plot()函数参数的详细信息可以参阅官方文档。

https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html

构建散点图

    散点图用于评估绘制在不同轴上的两个变量之间的关系。要构建它,plt.scatter()需要使用函数,其参数是具有离散值的变量:

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [19, 24, 33, 22, 27, 21, 20, 30, 17, 26]


plt.scatter(x, y, color='purple')
plt.show()

    散点图看起来像很多单独的点:

构建条形图

    这种类型的可视化允许您方便地比较各个变量的值。在柱形图中,柱的长度与其代表的度量成比例。通常,其中一个轴对应一个类别,第二个轴对应其离散值。

    例如,条形图可以直观地显示每月的利润金额。让我们构建以下图表:

x = ['January', 'February', 'March', 'April', 'May']
y = [2, 4, 3, 1, 7]


plt.bar(x, y, color='purple', label='Profit amount') #label parameter allows you to set the name of the value for the legend
plt.xlabel('Month')
plt.ylabel('$ Profit (in million)')
plt.title('Barchart Example')
plt.legend()
plt.show()

    条形图可以让你看到按月利润变化的动态:

组合不同的图表选项

    对于某些任务,组合几种类型的图表(例如条形图和折线图)很有用。让我们通过在列中添加带有利润值的点并将它们连接起来来对其进行改进:

x = ['January', 'February', 'March', 'April', 'May']
y = [2, 4, 3, 1, 7]


plt.bar(x, y, color='purple', label='Profit amount') #label parameter allows you to set the name of the value for the legend
plt.plot(x, y, color='blue', marker='o', markersize=8)


plt.xlabel('Month')
plt.ylabel('$ Profit (in million)')
plt.title('Combining Graphs')
plt.legend()
plt.show()

    现在在一个屏幕上,我们可以同时看到两种类型:

    一切都顺利。但现在折线图很难看清——它只是在柱状图的紫色背景中消失了。让我们使用参数增加条形图的透明度alpha:

plt.bar(x, y, label='Profit amount', alpha=0.5)

    现在折线图清晰可见,我们可以评估利润变化的动态。

制作饼图

    饼图用于显示群组的构成。例如,我们可以直观地显示哪些品牌的汽车在城市的道路上占主导地位。让我们也玩一下颜色吧!

values = [23, 16, 55, 19, 37]
labels = ["Honda", "Mazda", "BMW", "Mercedes", "Acura"]
colors = ( "#9E70F1", "#F52B94", "#FFE174", "#65E9EB", '#F3907F') #identify colors


plt.pie(values, labels=labels, colors=colors)
plt.title("Distribution of Car Brands on the Road")
plt.show()

    看起来不错,但不清楚每个汽车品牌的份额是多少。因此,最好用百分比值补充饼图。让我们通过autopct向饼图函数添加参数来编辑代码:

values = [23, 16, 55, 19, 37]
labels = ["Honda", "Mazda", "BMW", "Mercedes", "Acura"]
colors = ( "#9E70F1", "#F52B94", "#FFE174", "#65E9EB", '#F3907F') #identify colors


plt.pie(values, labels=labels, colors=colors, autopct='%1.1f%%')
plt.title("Distribution of Car Brands on the Road")
plt.show()

    在参数中,我们传递数字的显示格式。在我们的例子中,这将是一个带有一位小数的整数。让我们运行代码并查看结果:

    现在,由于我们看到了数值,因此比较类别变得更容易了。

复杂的可视化

    让我们构建一个堆积条形图。它将使我们能够评估一个变量的值比率的动态。让我们尝试展示不同年份(美国)iOS 和 Android 上的设备数量如何相互关联:

labels = ['2019', '2020', '2021', '2022', '2023']
users_ios = [52, 52.5, 53.2, 53, 57]
users_android = [48, 47.5, 46.8, 47, 43]


width = 0.35  #set column width
fig, ax = plt.subplots()


ax.bar(labels, users_ios, width, color='#F52B94', label='iOS')
ax.bar(labels, users_android, width, 
       bottom=users_ios, color='#15C0C3', label='Android') #indicate with the bottom parameter that the values in the column should be higher than the values of the ios_users variable


ax.set_ylabel('Ratio %')
ax.set_title('Distribution of iOS and Android Devices in US')
ax.legend(loc='lower left', title='Devices') #shift the legend to the lower left corner so that it does not overlap part of the chart


plt.show()

    通过该图表我们可以看出,Android 和 iOS 设备的比例正在逐渐变化——iOS 设备的数量有所增加。

    Matplotlib 是一个强大的 Python 数据可视化库。在本文中,我们仅介绍了最基础的部分。更多有用信息可在官方文档中找到:

https://matplotlib.org/3.6.2/users/index.html

#FreeStyleRet

北大课题组提出图像检索新方法,输入草图or艺术or低分辨率

从一大堆图片中精准找图,有新招了!论文已经中了ECCV 2024。

北京大学袁粒课题组,联合南洋理工大学实验室,清华自动化所提出了一种新的通用检索任务:通用风格检索(Style-Diversified Retrieval)。

一句话,这种检索任务要求模型面对风格多样的查询条件时,依然能精准找图。

传统图片检索主要靠文本查询,查询方法单一不说,在使用其他检索方案的性能也一般。

而论文提出的新图像检索方法,能够根据多样化的查询风格(如草图、艺术画、低分辨率图像和文本等)来检索相应图像,甚至包括组合查询(草图+文本、艺术+文本等)。

同时,模型在与其他检索基线之间的性能比较中达到SOTA。(最外围蓝色)

目前,论文已在arXiv公开,相关代码和数据集也已开源。

新图像检索方法

当前,图像检索的一大痛点是:

让检索模型具备理解多样化用户查询向量的能力

通俗点说就是,不管用户用哪种方式检索查询,最后都能命中用户想要的图像。

为了实现这一点,团队进行了两项工作:

构建专有的检索数据集,包括多种类型的查询图片。

提出即插即用的框架,使传统检索模型也能快速具有通用检索能力。

数据集构建

针对多种查询风格的图片文本检索任务,团队生成并构建了细粒度检索数据集DSR(Diverse-Style Retrieval Dataset)。

展开来说,数据集包括10,000张自然图片以及对应的四种检索风格(文本、草图、低分辨率、卡通艺术)。

其中的草图标注由FSCOCO数据集提供,卡通艺术图片和低分辨率图像由AnimateDiff生成。

同时,团队也采用ImageNet-X作为大尺寸粗粒度的多风格检索数据集。

ImageNet-X包括100万张带有各种风格标注的自然图片,相较于DSR,ImageNet-X数据集的图片更加简单,便于检索。

提出FreestyleRet框架

概括而言,FreestyleRet框架通过将图片风格提取并注入,有效解决了当前图片检索模型无法兼容不同类型的检索向量的问题。

在构建FreestyleRet框架时,团队主要考虑到两个问题:

  • 如何有效地理解不同风格的查询向量的语义信息。
  • 如何有效利用现有的图文检索模型,实现优秀的扩展能力。

围绕这两个核心问题,团队设计三个模块来组成FreestyleRet框架:

(1)基于格拉姆矩阵的风格提取模块用于显式提取未知查询向量的风格表征;(2)风格空间构建模块,通过对风格表征聚类从而构建检索的风格空间,并将聚类中心作为风格的一致性表征;(3)风格启发的提示微调模块,通过对检索模型的Transformer layer进行风格初始化的插值,实现对现有检索模型的多风格查询能力扩展。

风格提取与风格空间的构建

格拉姆矩阵被验证为有效的图像风格提取方案,在本论文中团队采用基于格拉姆矩阵的风格提取模块对不同类型的查询向量进行风格提取。

团队采用冻结的VGG轻量化网络对查询向量进行表征编码,并选取浅层卷积表征作为风格提取的基特征,具体公式如下:

在得到查询向量对应的风格表征集合后,团队为查询向量集合构建整体的风格空间。

具体来说,采用K-Means聚类算法,迭代式的计算四种不同风格的查询向量集合对应的聚类中心,然后再对每个风格表征计算其所属的风格中心,并根据新的风格表征集合重新调整聚类中心的位置。

当聚类中心位置不再发生变化即为迭代完毕,公式如下:

在风格空间中,团队将不同查询向量风格对应的不同聚类中心作为风格空间的基向量。

而在推理过程中面对未知风格的查询向量,风格空间将计算查询向量在基向量上的投影,通过对基向量投影与基向量的加权求和,风格空间实现对未知风格的量化。

高效风格注入的提示微调模块

在图像文本检索领域,基于Transformer结构的ALBEF, CLIP, BLIP等基础检索模型受到广泛的使用,很多下游工作采用了这些基础检索模型的编码器模块。

为了让FreestyleRet框架能够便捷且高效的适配这些基础检索模型,团队采用风格表征初始化的token对基础编码器的Transformer结构进行提示微调。

具体来说,在encoder layer的每层都插入使用量化风格表征初始化的可学习token,从而实现风格向编码器注入的流程。

实验性能展示

在定量实验角度,团队分析了基于FreestyleRet架构的BLIP和CLIP模型在DSR数据集以及ImageNet-X数据集的Recall@1, Recall@5性能。

实验证明,面对多种风格的查询向量时,FreestyleRet框架可以显著增强现有检索模型的泛化能力,具有2-4%的提升。

而团队也进一步验证FreestyleRet框架对于多个不同风格的查询向量共同输入的性能,共同输入的查询向量可以进一步提升模型的检索精度。

通过对特征分布进行可视化,团队发现使用FreestyleRet结构的基础检索模型能够有效分离查询向量中的风格信息与语义信息,并实现语义角度的高维空间聚类。

团队也对实际的检索推理流程进行了示例的可视化,以验证模型的泛化性。

总之,模型在5种不同类型的检索向量上都取得了良好效果,而且还在多种检索向量共同检索的子任务上表现了良好的扩展性。

更多详情欢迎查阅原论文。

论文:https://arxiv.org/abs/2312.02428代码、数据集:https://github.com/CuriseJia/FreeStyleRet

#AutoNAT

NAT其实真的不输扩散模型~全新定制训练&生成策略拓宽性能边界

本文将设计训练和生成策略的任务制定为一个统一的优化问题,并自动完成设计,本文方法因此称为 AutoNAT。AutoNAT 更全面地探索了 NAT 的全部潜力,而不会受到有限的先验知识的限制。

本文研究的是图像生成的任务。目前图像生成任务的主流方案扩散模型虽然很成功,但是计算强度很大,那么需要更加高效的替代方案。Non-autoregressive Transformer (NAT) 是一种高效的,且已得到公认的方案。但是与扩散模型相比其缺点是性能较差。

因此,本文的目标是通过重新审视其训练和推理策略的设计来重新评估 NAT 的全部潜力。作者指出了现有 NAT 设计的问题,并对 NAT 的一些策略进行了深入的研究。最终的方法叫做 AutoNAT,其能够显著提高 NAT 方法的性能边界,并且能够以显着降低的推理成本与最新的扩散模型相媲美。作者在 ImageNet-256 & 512、MS-COCO 和 CC3M 这 4 个数据集上进行了验证。

图片

图1:ImageNet-256 上的 FID-50K 与计算成本。为了公平比较,扩散模型配备了 DPMSolver 提高生成的效率

1 AutoNAT:重新思考图像生成中的非自回归建模

论文名称:Revisiting Non-Autoregressive Transformers for Efficient Image Synthesis (CVPR 2024)

论文地址:

​http://arxiv.org/pdf/2406.05478​

代码链接:

​http://github.com/LeapLabTHU/ImprovedNAT​

1.1 AutoNAT 的诞生背景

扩散模型在图像生成领域越来越受欢迎。然而,扩散模型计算密集型的迭代生成过程带来了显著的时延以及能耗。因此,目前也已经有许多研究工作来探索更加有效的替代方案。在这个背景下,Non-autoregressive Transformers (NAT)[1][2][3]是一种高效替代方案的代表。这些模型也能提供类似于扩散模型的优点,比如高可扩展性以及采样的丰富性,同时因其矢量量化 (Vector Quantized, VQ)[4][5]空间中的并行解码机制而明显更快。

如图 2 所示,NAT 从完全掩码的画布开始生成,并通过在每一步同时解码多个 tokens 来快速生成图片。生成好的 tokens 再通过一个预训练好的 pre-trained VQ-decoder[5]映射到 pixel 空间。然而,与扩散模型相比,NAT 的一个主要缺点是它们的性能较差。例如,MaskGIT[1]是一种流行的 NAT 模型,只需 8 步就可以在 ImageNet 上生成图像,FID 仅为 6.18,远远落后于最新的扩散模型[6][7](约2)。

图片

图2:NAT 的生成过程:从完全掩码的画布开始,并在每一步并行解码多个 tokens

本文重新审视了 NAT 的性能缺陷,研究结果表明,与扩散模型相比,生成质量较差可能并不是 NAT 的固有的缺点。相反,更可能是由于其不够好的训练策略和生成策略导致的。具体来讲,与扩散模型不同,NAT 中的并行解码机制引入了复杂的设计挑战,比如:

每一步应该解码多少 tokens?

应该解码哪些 token?

如何从 VQ codebook 中采样 token?

妥善去配置这些方面需要一个专门的 "生成策略",包括多个调度函数。而且,"训练策略" 也需要仔细去设计使得模型能够处理生成过程中遇到的不同的输入分布。因此,开发一个能够最大限度释放 NAT 潜力的合适的 "训练策略" 和 "生成策略" 是一个关键但是未被充分探索的问题。常见的做法[1]主要使用启发式驱动规则,需要大量的专家知识和劳动密集型的努力,但它仍然不是最优的。

本文则将设计训练和生成策略的任务制定为一个统一的优化问题,并自动完成设计,本文方法因此称为 AutoNAT。AutoNAT 更全面地探索了 NAT 的全部潜力,而不会受到有限的先验知识的限制。

1.2 NAT 方法简介

NAT 通常与预先训练的 VQ-autoencoder[4][5]结合使用来生成图像。VQ-autoencoder 负责图像和 latent 视觉 tokens 之间的转换,而 NAT 学习在 latent space 中生成视觉 tokens。由于 VQ-autoencoder 通常是预先训练好的,而且在生成过程中保持不变,因此这里主要介绍 NAT 的训练和生成策略。

训练策略

非自回归 Transformer 的训练基于掩码 token 建的模目标函数。具体而言,将 VQ Encoder 获得的视觉 token 表示为  ,其中  是序列长度。每个视觉 token  对应于 VQ 编码器码本的特定索引。在训练期间,随机选择  个可变数量的 tokens,并用 [MASK] token 做替换,其中  是从  范围内的预定义分布  中采样的 mask ratio。训练的目标是根据周围的 unmasked tokens 预测原始 tokens,优化交叉熵损失函数。

生成策略

非自回归 Transformer 在推理过程中, 以多步方式生成潜在的视觉 tokens。一开始的 token 序列  的所有 tokens 都是 masked。在第  步, 模型首先以并行的方式解码所有的 tokens 并从  来预测  ,然后重新屏蔽不太可靠的预测结果。

1) 并行解码:

给定视觉 tokens , 模型首先并行解码所有 [MASK] tokens 以形成下一步的初步预测结果

图片

其中,  是采样温度调度函数。 表示模型在第  个位置的预测概率分布。同时, 为所有标记定义置信度分数  :

图片

其中,  是位置  处所选 token  的预测概率。

2) 重新预测:

从初始猜测结果 , 再把  个最小置信度的 token 重新 mask 掉, 得到  :

图片

其中,  是 re-masking 的调度函数, 它在每一步调节要重新屏蔽的 tokens 的比例。集合  包括  最有信心的预测的索引, 并且在没有从  替换的情况下进行采样,其中  是 re-masking 的温度调度函数。

模型一共迭代  步, 解码所有 [MASK] tokens, 产生最终序列  ,然后将序列输入 VQdecoder 以获得图像。

NAT 方法的局限性

与其他基于似然的生成模型相比,NAT 的主要优势之一是效率高:可以用几个采样步骤生成高质量的图像。然而,这些模型通常不容易被用好,因为其性能往往严重依赖于需要仔细配置的多个调度函数。

如上所述, 生成过程通常涉及 3 个调度函数来控制掩码比  、采样温度  和 re-masking 温度  。当进一步采用 classifier-free guidance  时, 进一步引入引导尺度调度函数 以逐步调整引导强度。现有的工作通常使用启发式规则设计这些功能, 需要专业知识和手动工作。同时, 这些启发式规则可能无法捕获生成过程的最佳动态, 从而导致次优的设计。

而且,这种复杂的生成过程需要支持精心设计的训练策略。在很多工作[1][2]里, 的配置方案都是模拟 mask ratio 在生成过程中的变化,如下图 3 所示。但是这种常见的设计可能并不合适。图 4 中的违反直觉的发现表明,即使使用单个固定 mask ratio 也可以产生比启发式设计更好的结果。一种可能的解释是,从一个 mask ratio 解码中学习到的能力有更好的迁移性能,用于解码其他 mask ratio。

图片

图3:已有工作中 mask ratio 的启发式设计

图片

图4:已有工作中 mask ratio 的启发式设计与固定 mask ratio 的结果对比

这一发现表明,需要一种更系统的方法来更好地捕捉训练和推理之间的关系。

1.3 AutoNAT 方法:一种联合优化的框架

如前文所述,非自回归生成模型启发式的训练和生成策略既费力而且是次优的。为了解决这个问题,本文提出了一种基于优化的方法,推导出这些最佳配置,如下图 5 所示。

图片

图5:已有工作与 AutoNAT 的对比

本文的目标是确定最合适的配置, 用于非自回归 Transformer 的训练和生成过程。就是要得到最优的策略调度函数  以最大化模型的性能。值得注意的是, 由于 步的生成过程涉及每个调度函数的  个值, 因此可以通过优化四组超参数:

图片

来规避直接优化函数的难度。形式上,这个优化问题可以定义为:

图片

式中,  表示在 mask ratio distribution  训练的模型参数。函数  衡量生成质量, 比如 FID, IS 指标等。此外, 对  的约束确保了它是一个有效的概率分布。

交替优化

在解决优化问题之前, 注意到  和其他变量之间的一个重要区别: 嵌套在模型参数项  中。直接同时解决所有变量将是低效的, 因为  的评估需要使用  训练模型并评估  有多好, 比较慢, 阻碍了其他变量的优化。

受到这种不平衡性的启发,本文将优化问题分为两个子问题:生成策略优化和训练策略优化,并提出交替算法。

第1个子问题 [生成策略优化]:在给定  下训练的模型的情况下,获得控制生成过程  的超参数的最佳配置。

第 2 个子问题 [训练策略优化]:使用给定的生成配置优化  。

这两个子问题交替求解,直到模型的生成质量收敛,这种方法可以通过更好的效率来解决整体优化问题。

下图 6 是整体的优化过程。下文中分别阐述了生成策略和训练策略的优化。

图片

图6:AutoNAT 的整体优化过程

1.4 生成策略的优化

生成策略的优化指的是在给定固定  的情况下搜索最优生成策略变量  。

图片

作者发现这个子问题可以通过简单的梯度下降有效地解决。具体而言, 尽管由于并行解码过程,  相对于  而言都是不可微的, 但通过利用有限差分方法来近似每个变量对应的梯度是可行的。令  为变量的级联。 相对于  的梯度可以近似为:

图片

式中,  在  的维度范围,  是  方向上的单位向量,  是一个小的正数。将估计的梯度表示为 , 然后可以通过梯度下降更新超参数:

图片

其中, 是学习率。

1.5 训练策略的优化

训练策略的优化指的是使用给定的生成策略变量  搜索最佳的掩码比分布  。由于通常需要训练模型来评估  的任何候选值, 因此在概率分布空间中优化  在计算上很昂贵。因此, 作者将  限制为特定的概率密度函数族。本文采用 Beta 分布作为  家族:

图片

式中,  是 Beta 函数,  。因此, 可以将优化问题简化为:

图片

有了这个假设,作者发现使用简单的 Greedy Search[9]就可以有效得到。具体来说,首先执行行搜索来优化一个参数,同时保持另一个固定。一旦找到了第 1 个参数的最佳值,就切换到第 2 个参数并再次进行线搜索以找到其最优值。这种优化一直持续到性能指标没有进一步改进。

1.6 实验结果

作者使用 VQGAN,codebook size 为 1024 来执行图像和 visual token 的转化。本文模型架构遵循 U-ViT[6],这是一种适用于图像生成任务的 Transformer。考虑 2 种模型配置:Small 模型 (13 层,512 dimension,表示为 AutoNAT-S) 和 Large 模型 (25 层,768 dimension,表示为 AutoNAT-L)。数据集 ImageNet-512,作者采用 Patch Size 为 2 来适应增加的 token 数。在 AutoNAT 的实现中,首先采用小模型并在 ImageNet-256 (T = 4) 上进行交替优化以获得基本训练和生成策略,利用 FID 作为默认评估指标。

Class-Condition 图像生成结果

如下图 7 所示,作者在 ImageNet 256×256 和 ImageNet 512×512 上对比了本文方法与其他生成模型。图中报告了 generation steps,模型参数量,以及生成过程中的总计算量,以对于性能和效率进行全面的评估。结果表明,AutoNAT-S 虽然比其他基线的参数明显少,但在 ImageNet-256 上产生了极具竞争力的性能。比如,AutoNAT-S 只需要 0.2 TFLOPs 和 4 个 generation steps 就实现了 4.30 的 FID。进一步将计算量增加到 0.3 TFLOPs,AutoNAT-S 的 FID 进一步提高到了 3.52,超过了大多数基线。较大的 AutoNAT 继续这一趋势,以 8 个 generation steps 获得 2.68 的 FID。在 ImageNet-512 上,最好的模型实现了 3.74 的 FID,超过了其他最先进的模型,同时显著减少了计算资源。

图片

图7:ImageNet-256 和 ImageNet-512 的 Class-conditional 图像生成结果

作者还报告了生成图像所需的理论 GFLOPs 和实际的 GPU/CPU 时延,如下图8所示。结果表明,本文方法在生成质量和计算成本方面始终优于其他基线。与具有快速采样器的扩散模型相比,AutoNAT 在不影响性能的情况下实现了大约 5 倍的推理速度。

图片

图8:ImageNet-256 和 ImageNet-512 上的采样效率

MS-COCO 文生图任务结果

实验结果如图 9 所示,AutoNAT-S 能够以最小的 0.3 TFLOPs 计算优于其他基线,并实现了 5.36 的 FID 提升,表明其卓越的效率和有效性。与配备快速采样器的扩散模型 U-ViT 相比,AutoNAT-S 超过了其 50-step 的采样结果,同时计算成本降低了 7 倍,并且在计算资源相近的情况下大大优于它。

图片

图9:MS-COCO 文生图任务结果

CC3M 文生图任务结果

实验结果如图 10 所示,作者验证了 AutoNAT 在更大 CC3M 数据集上文生图任务的有效性。作者将 AutoNAT 应用于预训练的 Muse[2]模型,并且只优化生成策略。结果显示,将本文优化策略与 Muse 模型相结合,在 CC3M 上产生了 6.90 的 FID,显着超过了其他基线。与普通 Muse 模型相比,AutoNAT 在使用其一半的计算成本时性能就已经更优,并且在使用相同的计算资源时实现了更好的 FID (6.90 vs. 7.67)。

图片

图10:CC3M 文生图任务结果

#ToCom

华为推出通用ViT标记压缩器,一次训练适配所有场景

ToCom作为一个即插即用的模块,能够有效地解耦训练和推理过程中的标记压缩程度。在VTAB-1k基准测试中,ToCom在DeiT-B的平均性能上比ToMe最高可提升2.0%。

标记压缩通过减少冗余标记的数量(例如,修剪不重要的标记或合并相似的标记)来加快视觉变换器(ViTs)的训练和推理。然而,当这些方法应用于下游任务时,如果训练和推理阶段的压缩程度不匹配,会导致显著的性能下降,这限制了标记压缩在现成训练模型上的应用。因此提出了标记补偿器(ToCom),以解耦两个阶段之间的压缩程度。该插件通过在预训练模型上额外执行了一个快速参数高效的自蒸馏阶段获得一个小型插件,描述了不同压缩程度下模型之间的差距。在推理过程中,ToCom可以直接插入到任何下游现成模型中,无论训练和推理的压缩程度是否匹配,都能获得通用的性能提升,而无需进一步训练。

论文地址:https://arxiv.org/abs/2408.06798

论文代码:https://github.com/JieShibo/ToCom

Introduction

视觉变换器(ViTs)在计算机视觉的多个领域取得了显著成功,包括图像分类、目标检测、语义分割等。然而,随着ViTs规模的快速增长,计算成本的增加已成为一个迫切问题。因此,大量研究工作集中在加速ViTs的训练和推理上。ViTs的特点在于能够处理可变数量的输入标记,除了卷积神经网络中广泛使用的传统技术,如模型剪枝、量化和蒸馏,近期的研究通过标记压缩来加速ViTs,例如修剪不重要的标记或合并相似的标记。

与剪枝和蒸馏等技术相比,标记压缩技术具有明显的优势。一些标记压缩方法(例如,ToMe)可以以零样本的方式应用于现成模型或用于加速训练。与量化不同,标记压缩方法不需要对低精度操作符的支持。此外,标记压缩方法与上述其他技术在操作上是正交的,使其在ViTs中具有广泛的适用性。

图片

然而,当标记压缩应用于下游任务时,论文观察到如图1所示的以下缺点:

尽管一些标记压缩技术可以应用于现成模型,但通常会导致显著的性能下降。

即使标记压缩仅在训练期间应用以加速过程,而在推理期间不进行压缩,模型的性能仍然低于未经标记压缩训练的模型。

总之,当训练和推理阶段的标记压缩程度不一致时,模型的性能表现不佳。

论文指出,经过不同标记压缩程度微调的模型在参数层面存在一定的差距,这导致在推理过程中改变压缩程度时性能下降。此外,这一差距可以在不同的下游数据集之间转移。基于此,论文提出标记补偿器(Token Compensator,简称ToCom),这是一种旨在解耦训练和推理过程中的标记压缩程度的预训练插件。ToCom是一个参数高效的模块,仅包含少量参数,用于描述具有不同压缩程度的模型之间的差距。为了获得ToCom,在预训练数据集上通过不同压缩程度之间的快速自蒸馏过程进行训练。具体来说,教师模型和学生模型都是相同的冻结预训练模型,其中学生模型包括ToCom。在每一步中,教师模型和学生模型被随机分配不同的压缩程度,同时ToCom通过蒸馏学习它们之间的差距。此外,为不同的压缩程度设置分配不同ToCom参数的子集,使ToCom能够通过单一的训练过程适应各种压缩程度对。

在推理过程中,将ToCom直接集成到在下游任务上进行微调的现成模型中,而无需进一步训练。通过选择ToCom参数的子集,微调后的模型可以直接应用于各种标记压缩程度,并达到与训练和推理压缩程度一致时相当的性能。重要的是,ToCom只需预训练一次,即可应用于在任意下游数据集上经过微调的模型,不论其标记压缩程度如何,从而使任何单一的现成模型能够处理动态延迟约束,而无需修改参数。

论文在超过20个数据集上进行了实验,涵盖了各种压缩程度设置。实验结果表明,ToCom作为一个即插即用的模块,能够有效地解耦训练和推理过程中的标记压缩程度。例如,在VTAB-1k基准测试中,ToCom在DeiT-B的平均性能上比ToMe最高可提升2.0%,如图1所示。ToCom还可以应用于不同规模的模型或在不同对象上预训练的模型,或者用于增强各种标记压缩方法,包括标记合并和标记剪枝。

Related WorkToken Compression

标记压缩旨在通过减少标记数量来消除冗余,从而加速视觉变换器(ViTs)。它主要包括两个方向:标记剪枝和标记合并。标记剪枝涉及通过定义的指标评估标记的重要性,并相应地移除不重要的标记。PS-ViT提出了一个自上而下的范式来估计每个标记的重要性。DynamicViT对轻量级子网络进行微调以评估标记。EViT和Evo-ViT使用 [CLS] 标记的注意力分数作为关注度的指标,并可以选择将所有剪枝后的标记汇总为一个。A-ViT和ATS也根据输入图像的复杂性调整剪枝率,但其动态标记长度目前尚未得到现有计算框架的良好支持。SuperViT训练一个单一的ViT以支持不同的标记保留率。

另一方面,标记合并通过合并相似的标记来减少标记数量。标记池化使用  -means 进行标记聚类。ToMe提出了一个双分图软匹配(BSM)算法来逐步合并相似的标记。TPS通过先进行剪枝,然后融合保留的标记和剪枝的标记来实现标记合并。CrossGET提出了完整图软匹配和交叉引导匹配用于标记合并。还有一些方法将剪枝和合并结合在一起,例如DiffRate和PPT。

在上述方法中,一些方法是无参数的,如ToMe、ATS、CrossGET和EViT,因此可以直接在推理阶段应用于现成的模型。此外,由于这些方法在训练过程中也减少了标记数量,它们可以用来加速训练阶段。然而,当前的研究尚未全面探索标记压缩方法在这些方面的潜力。

Parameter-Efficient Tuning

参数高效调优(PET)旨在通过仅调整小部分参数来微调预训练的视觉主干网络,以适应下游任务,同时保持主干网络冻结。这包括基于提示的方法,即将可训练的标记附加到变换器的序列输入中作为提示;基于适配器的方法,即将小型适配器嵌入到预训练模型中;仅调整偏置参数;使用仿射变换改变中间特征;以及在微调过程中通过小型副网络匹配特征变化。

以往的PET方法侧重于适配,换句话说,使用小型PET模块来表征预训练模型与微调模型之间的差距。相比之下,本文采取了不同的视角,使用PET模块来描述具有不同压缩程度的模型之间的差距,作为一种通用补偿器。

Model Arithmetic

模型算术涉及通过模型级的加法或减法,合并、增强或去除不同模型之间的特定能力。研究表明,模型算术可以实现分布泛化、多任务学习、去学习和领域迁移。一些关于扩散模型的工作也利用模型算术来减少迭代步骤或将风格和对象结合进行生成。然而,模型算术在标记压缩中的应用尚未被探索。

Delve into Token CompressionImpact of Compression Degrees

首先,对ViTs中的标记压缩方法进行公式化。ViTs的单层由两个模块组成,即多头自注意力(MHSA)和多层感知机(MLP)。该层可以被形式化为

图片

其中,  是第  层的输入, 具有长度  和维度  表示层归一化。

论文主要关注一种具有代表性且最先进的无训练标记压缩方法ToMe,并进一步推广到其他方法。ToMe在MHSA和MLP模块之间操作,利用图像块标记的键来评估它们的相似性,并通过二分软匹配将个相似的标记进行合并。

图片

在ToMe中,每层合并的标记数量被视为超参数,以调整ViTs的吞吐量,这通常在训练之前根据推理需求来确定。合并的标记越多,模型在训练和推理时的速度就越快,如图3所示。然而,在实际场景中,训练期间的压缩程度(称为源压缩程度)和推理期间的压缩程度(称为目标压缩程度)可能不一定相等。也就是说,一个在某一压缩程度下训练好的现成模型,可能会在没重新训练的情况下进行不同的压缩程度下的应用。这种情况具有实际意义,例如,使用下载的checkpoint而无法访问训练数据或重新训练资源时,或根据服务器负载动态调整推理期间的压缩程度。此外,在现有计算资源有限的情况下,可能需要在训练期间使用较高的压缩程度以减少内存和时间开销,但在推理期间恢复到较低的压缩程度以确保性能。

图片

为了研究标记压缩方法在源压缩程度与目标压缩程度不一致时的性能, 论文在五个下游数据集上进行了实验。如图 2 所示, 论文对 DeiT-B 进行了 ToMe 的  和 16 的微调, 并报告了在推理期间使用  的性能。可以看到, 对于特定的目标压缩程度, 当源压缩程度与其匹配时, 模型的表现更好。源压缩程度与目标压缩程度之间的差距越大, 性能下降的程度就越显著。

然而,由于在较低压缩程度下训练的模型在训练期间接触到了更多的标记,这意味着它们遇到的信息范围比在较高压缩程度下训练的模型更广泛,因此,前者在各种目标压缩程度下理应优于后者。这表明,不同源压缩程度下训练的模型之间存在差距,使得在不同压缩程度之间的迁移效果较差。

Transfer across Tasks

对于具有不同源压缩程度的模型之间的差距, 是否可以在不同任务之间转移? 更具体地说,令  和  表示在数据集  上以压缩程度  和  训练的模型,  和 表示在数据集  上训练的模型。如果这种差距是可转移的, 应该有

图片

这意味着  在以目标压缩程度  对数据集  进行评估时, 应当比  的表现更好。换句话说,  在数据集  上的差距可以转移到  ,并有助于缩小  和  之间的差距。

图片

在 ToMe 上进行初步实验,使用 CIFAR100 作为  。在表 1 中,展示了使用不同 FGVC 数据集作为  时的结果。通过添加  在 下的表现明显提高,验证了在不同任务中存在源压缩程度之间的模型差距的正向迁移,这表明可以使用通用插件来建模这种差距,从而在各种下游任务中提高具有不等源和目标压缩程度的标记压缩性能。

Token CompensatorArithmetic of Parameter-Efficient Modules

当训练和推理过程中的压缩程度不相等时, 由于不同压缩程度的模型在行为上存在差异,导致其参数空间中出现不同的局部最小值, 从而使模型性能下降。为了在这种情况下提升标记压缩的性能,尤其是在现成模型上,论文打算寻找一个通用插件以弥补具有不同压缩程度的模型之间的差距, 假设两个特定压缩程度的模型在不同数据集上表现出类似的差距。假设有一个插件  ,可以弥补在 ToMe 训练下的模型  (压缩程度  )和模型  (压缩程度  ) 之间的差距。如果  是现成模型, 可以期望

图片

其中  表示架构层面的聚合,  是用于以  进行推理的合成模型。

然而, 由于压缩程度选择的范围广(例如, DeiT-B 在 ToMe 中的  ),为所有可能的压缩程度对(即  种  组合)训练和存储这些插件会导致显著的训练和存储开销。为此, 论文从三个方面解决这个问题。

首先,受到参数高效微调的启发,该方法使用轻量级模块来描述预训练模型与微调模型之间的差距,论文也采用了参数高效模块来描述具有不同压缩程度的模型之间的差距。具体来说,使用 LORA 作为 , 即对  的所有权重矩阵 ,有

图片

其中,  和  是查询和值变换的权重矩阵,  是一个超参数,  和  是 LoRA 模块。LoRA 模块仅占模型参数的约 , 并且在推理时不会增加额外的计算。

其次, 使用 LoRA 来估计仅相邻压缩程度之间的差距, 即  。对于  的情况, 简单地累积  和  之间的所有插件, 即

图片

第三,假设模型之间的差距是可逆的,即。当 $n<m$ 时,插件被“减去”,即<="" p="">

图片

其中,  是  的逆运算。为了实现 , 我们从权重中减去 LoRA 乘积 , 而不是加上它。

现在,只需训练和存储16组LoRA插件,以支持所有压缩程度对,这些插件的大小仍然相对于ViT主干来说微不足道,这些插件的集合称为Token Compensator(ToCom)。由于ToCom的轻量特性,它可以以最小的开销加载到RAM中,从而实现实时推理吞吐量切换。

Training ToCom

如前所述,ToCom应该是一个适用于任何下游数据集的通用插件。为了增强ToCom的泛化能力,将ToCom的训练整合为ViT主干的预训练阶段的扩展。具体而言,利用预训练数据(例如ImageNet)来训练ToCom。

图片

为了获得支持任意压缩程度对的 ToCom, 论文提出了一种自蒸馏方法来训练它。以 ToMe 为例, 使用  来表示通过在现成的预训练模型上直接应用 ToMe  得到的模型。训练损失的构造如下,

图片

其中  和  在每次训练步骤中随机抽取, 且满足  是带有软目标的知识蒸馏损失, 即,

图片

其中 KL 表示 Kullback - Leibler 散度,  是输入。

图片

如图4所示,在蒸馏过程中,冻结所有预训练的参数,包括分类头,只更新参数高效的ToCom。值得注意的是,虽然ToCom需要在大规模数据集上进行训练,但它的模型较轻量且收敛迅速。因此,与主干网络的预训练相比,它的训练开销可以忽略不计。

在训练完成ToCom后,可以直接将其部署到任何在下游任务上微调的现成模型上,进行任何源度数到目标度数的转换。将ToCom的LoRA产物加到或减去现成模型的权重上,用于推理而无需进一步训练。

Experiments

图片

图片

图片

图片

图片

图片

#3DGS

JHU 提出首个可渲染 X 光的 3DGS

本文提出了首个能够渲染 X 光的 3D Gaussian Splatting 框架以用于 X 光的新视角合成 (Novel View Synthesis, NVS)。值得一提的是,我们的方法无需计算耗时的 Structure-from-Motion (SfM) 算法来进行初始化。

《Radiative Gaussian Splatting for Efficient X-ray Novel View Synthesis》

本文提出了首个能够渲染 X 光的 3D Gaussian Splatting 框架以用于 X 光的新视角合成 (Novel View Synthesis, NVS)。值得一提的是,我们的方法无需计算耗时的 Structure-from-Motion (SfM) 算法来进行初始化。我们的工作还被推特科研风向标的 AK 和 MrNeRF 大佬转发报道

图片

图1 高斯点云分布在模型训练中的变化过程

paper: https://arxiv.org/abs/2403.04116

code: https://github.com/caiyuanhao1998/X-Gaussian

video: https://www.youtube.com/watch?v=v6FESb3SkJg&t=28s

media report by AK: https://x.com/_akhaliq/status/1765929288044290253?s=46

media report by MrNeRF: https://x.com/janusch_patas/status/1766446189749150126?s=46

目前所有的代码、数据、高斯点云模型、训练日志均已开源,欢迎大家来使用或是提交 issue

1. X 光新视角合成任务介绍

X 光由于其强大的穿透力而被广泛地应用于医疗、安检、考古、生物、工业检测等场景的透射成像。然而,X 光的辐射作用对人体是有害的,受试者与测试者都会受到暴露于 X 光下的影响。为了减少 X 光对人体的伤害,本文研究稀疏视角下的 X 光三维重建任务 —— 新视角生成。即只拍摄少数几张 X 光片,剩下视角的 X 光片通过渲染得到,用以帮助医生进行诊断分析。

NeRF 类重建方法由于需要密集地采集射线,并在射线上采样多个 3D 点,计算后通过再通过 volume rendering 渲染得到 2D projection。这一过程非常消耗时间。当前正火的 3D Gaussian Splatting (3DGS) 因为其高度平行化的渲染方法 —— Rasterization 而有着比 NeRF 更快的渲染速度。然而 3DGS 是针对自然光成像设计的。直接将 3DGS 用于 X 光成像会遇到两个问题:(i)首先,如图 2 所示,自然光成像主要依靠于光线在物体表面的反射,这使得从不同角度看,物体表面的颜色会有差异。为了拟合这一各向异性的特点,3DGS 采用球谐函数(Spherical Harmonics,SH)来模拟自然光的分布。然而在 X 光成像中,X 光穿透物体并衰减,然后落在探测器上成像。X光无论从各个角度穿透同一物质点,其衰减都是一样的。直接使用 SH 很难拟合 X 光成像的这一各向同性的特点。(ii)其次,3DGS 的初始化需要通过计算 Structure-from-Motion (SfM) 算法来得到各个视角的相机内外参数以及一个稀疏点云作为起始。这个算法十分耗时,增加了患者和医生的等待时间。

图片

图 2 3DGS 自然光成像与 X-Gaussian 进行 X 光成像对比

本文针对上述这些问题展开研究,做出了以下四点贡献:

针对 X 光新视角合成任务,本文提出首个基于 3D Gaussian Splatting 的技术框架 — X-Gaussian。

我们设计了一个全新的辐射高斯点云模型(Radiative Gaussian Point Cloud Model),基于该模型我们又设计了一个可微的辐射光栅化渲染方法(Differentiable Radiative Rasterization)。

针对我们的高斯点云模型,我们提出了一种初始化方法 — Angle-pose Cuboid Uniform Initialization(ACUI),这种初始化方法能够通过 X 光扫描仪的设备参数和旋转角直接计算出相机内外参数和初始稀疏点云,这使得我们方法免于计算 SfM,从而大幅提升训练速度。

我们的 X-Gaussian 在性能上超过当前最好 NeRF 方法 6.5 dB 的情况下,推理速度还达到了 73 倍。同时我们在传统算法上也验证了,通过我们方法合成的新视角 X 光片能够提升 CT 重建的图像质量。

2. 空间坐标系的转换

我们在圆形扫描轨迹锥形 X 光束扫描(circular cone-beam X-ray scanning)场景下研究三维重建问题。空间坐标系的变换关系如图 3 所示。被扫描物体的中心 O 为世界坐标系的原点。扫描仪的中心 S 为相机坐标系的中心。探测器 D 的左上角为图像坐标系的原点。整个空间坐标系的变换遵循 OpenCV 三维视觉的标准。

图片

图3 空间坐标系转换关系示意图

3. 本文方法

图片

图4 X-Gaussian 算法框架流程图

我们算法的流程图如图4所示,首先通过图 4(a)中的 Angle-pose Cuboid Uniform Initialization(ACUI)来计算出 X 光源(Source)在对应旋转角  下的相机内外参矩阵并计算出初始稀疏点云。然后,我们针对 X 光各向同性的成像特点设计了辐射高斯点云模型(Radiative Gaussian Point Cloud Model),如图 4(b)所示。针对这一点云模型,我们还设计了一个可微的辐射光栅化(Differentiable Radiative Rasterization,DRR)渲染方法,用于三维高斯点云的泼溅渲染,如图 4(c)所示。本节我们先介绍辐射高斯点云模型,然后是可微的辐射光栅化,最后介绍 ACUI 初始化方法。

3.1 辐射高斯点云模型

本小节我们首先回顾一下 3DGS 的基本知识。3DGS 将一个物体或场景用  个高斯点云表示如下

图片

其中的  表示第  个高斯点云,  分别表示高斯点云的中心位置,协方差,和不透明度。协方差控制高斯点云椭球的三轴大小,即控制点云的形状。3DGS 对每一个高斯点云采用球谐函数来拟合其颜色如下:

图片

其中,  表示颜色,  表示观测视角,  表示球谐函数系数,  表示球谐函数,将球面上的点映射成一个实数值。然而, 如我们前面的分析, 球谐函数并不适合用来模拟各向同性的 X 光成像。为此, 我们设计了一个辐射强度响应函数 (Radiation Intensity Response Function, RIRF) 来替代球谐函数。具体而言, 我们让每一个高斯点云学一个特征向量  其固有的辐射属性, 如辐射密度等。然后该点云的辐射强度  便可以被表示为

图片

其中  表示一组常数。因此, 我们的辐射高斯点云模型  可以被表示为

图片

其中  为可学习参数, 表示分配给第  个高斯点云的特征向量。

3.2 可微的辐射光栅化方法

基于我们提出的这个高斯点云模型,我们还设计了一个可微的辐射光栅化方法(Differentiable Radiative Rasterization,DRR)。我们将整个 DRR 的过程  总结如下:

图片

其中  表示被渲染的图像,  和  分别表示内外参矩阵。接着我们介绍  的细节。首先, 我们计算第  个高斯分布上的  点  的概率如下

图片

接着,我们将 3D 高斯点云从世界坐标系中投影到相机坐标系,进而再投影到图像坐标系上:

图片

其中的  表示相机坐标,  表示图像坐标。三维的协方差矩阵  也被对应地投影到相机坐标系上:

图片

其中  是投影变换(projective transformation)的仿射近似的雅克比矩阵。 是 viewing transformation。

图片

其中的  表示  光扫描仪中  光源(source)和探测器(detector)之间的距离。 表示 X 光源的旋转角。然后在图像坐标系下的二维协方差矩阵是直接取  的前两行前两列。将 2D projection 分割成互补重叠的 titles。每一个三维高斯点云都按照其对应投影所落在的位置分配到对应的 tiles 上。这些 3D 高斯点云按照与二维探测器+平面的距离进行排序。那么, 在 2D projection 上像素点  上的辐射强度便是混合  个与  重叠的排好序的 3D 点得到的, 如下公式所示

图片

其中的  表示落在像素  上的 X 射线与高斯点云之间的交点,  表示  的辐射强度。模型训练的监督函数是一范数损失与SSIM 损失之间的加权和:

图片

其中的  是加权稀疏,可调的超参。

3.3 角度位姿立方体均匀初始化

常规的 3DGS 使用 SfM 算法来计算每一个视角的相机内外参数以及初始的稀疏点云。SfM 算法的原理是检测不同视角投影之间的特征匹配点。对于 X 光片这种低对比度的图像来说,SfM 的检测精度会降低。同时运行 SfM 非常耗时,对几十张图像计算 SfM 可能需要耗费几个小时。这大大延长了病人和医生的等待时间。为此,我们设计了角度位姿立方体均匀初始化(Angle-pose Cuboid Uniform Initialization, ACUI)算法。ACUI 首先直接使用 X 光扫描仪的参数来计算相机的内外参矩阵:

图片

其中的  表示外参矩阵,  表示 X 光源与物体之间的距离。 表示相机内参,  表示渲染图像的宽度和高度。然后我们设置一个尺寸为  的立方块使其能够完全包裹被扫描的物体,然后我们将其分割成一个  (voxel) 的网格。最后, 我们按照间隔  来采样得到初始的稀疏点云:

图片

4. 实验结果4.1 新视角生成

图片

表 1 新视角生成任务对比

图片

图5 新视角生成视觉对比图

在新视角生成任务上,我们的方法与之前方法的定量与定性对比分别如表 1 和图 5 所示。我们的方法在比当前最好的 NeRF 类算法要高出 6.5 dB 的情况下,还达到了 73 倍的渲染速度,并且可以渲染更多的结构细节。

图片

图 6 3DGS 与 X-Gaussian 训练过程的视觉分析

我们做了视觉分析,将 3DGS 与我们的 X-Gaussian 训练的各个 iteration 的 高斯点云进行可视化。如图 6 所示,我们的 X-Gaussian 收敛得更快,噪声更少,更加贴合被扫描物体(脚趾)的形状。

4.2 稀疏视角 CT 重建

采用我们的 X-Gaussian 为传统方法在稀疏视角下渲染更多 X 光片视图以进行 CT 重建,定量对比如表 2 所示

图片

表2 稀疏视角下 CT 重建的数值对比

图片

图 7 使用不同 NVS 算法为传统方法 SART 合成新视角以进行 CT重建视觉对比

我们的方法能够更好地辅助不同传统方法进行稀疏视角的 CT 重建,PSNR 性能上的涨幅都超过了 10 dB。

5. 总结

本文提出了首个能渲染 X 光的 3DGS 方法 — X-Gaussian。我们重新设计了一个辐射高斯点云模型,并基于该模型设计了一个可微的辐射光栅化渲染方法,能够在 GPU 上高效地并行计算。同时为求出不同视角下的相机内外参矩阵和初始稀疏点云,我们设计了 ACUI 初始化方法。最终,我们的 X-Gaussian 在比当前最好 NeRF 方法要高出 6.5 dB 的情况下速度还达到了 73 倍速。同时我们还在稀疏视角 CT 重建任务上验证了我们方法的实用价值。

本文使用的数据来自我们 CVPR 2024 的工作 SAX-NeRF,这是一个能够同时做 X 光新视角合成和 CT 重建的 Instant-NGP。感兴趣的小伙伴欢迎阅读下面的链接来了解更多细节:

​https://zhuanlan.zhihu.com/p/702702109​

#离线识别率高达99%的Python人脸识别系统

以往的人脸识别主要是包括人脸图像采集、人脸识别预处理、身份确认、身份查找等技术和系统。现在人脸识别已经慢慢延伸到了ADAS中的驾驶员检测、行人跟踪、甚至到了动态物体的跟踪。

由此可以看出,人脸识别系统已经由简单的图像处理发展到了视频实时处理。而且算法已经由以前的Adaboots、PCA等传统的统计学方法转变为CNN、RCNN等深度学习及其变形的方法。现在也有相当一部分人开始研究3维人脸识别识别,这种项目目前也受到了学术界、工业界和国家的支持。

首先看看现在的研究现状。如上的发展趋势可以知道,现在的主要研究方向是利用深度学习的方法解决视频人脸识别。

主要的研究人员:

如下:中科院计算所的山世光教授、中科院生物识别研究所的李子青教授、清华大学的苏光大教授、香港中文大学的汤晓鸥教授、Ross B. Girshick等等。

主要开源项目:

SeetaFace人脸识别引擎。该引擎由中科院计算所山世光研究员带领的人脸识别研究组研发。代码基于C++实现,且不依赖于任何第三方的库函数,开源协议为BSD-2,可供学术界和工业界免费使用。

主要软件API/SDK:

  • face++。Face++.com 是一个提供免费人脸检测、人脸识别、人脸属性分析等服务的云端服务平台。Face++是北京旷视科技有限公司旗下的全新人脸技术云平台,在黑马大赛中,Face++获得年度总冠军,已获得联想之星投资。
  • skybiometry.。主要包含了face detection、face recognition、face grouping。

主要的人脸识别图像库:

目前公开的比较好的人脸图像库有LFW(Labelled Faces in the Wild)和YFW(Youtube Faces in the Wild)。现在的实验数据集基本上是来源于LFW,而且目前的图像人脸识别的精度已经达到99%,基本上现有的图像数据库已经被刷爆。下面是现有人脸图像数据库的总结:

图片

现在在中国做人脸识别的公司已经越来越多,应用也非常的广泛。其中市场占有率最高的是汉王科技。主要公司的研究方向和现状如下:

  • 汉王科技:汉王科技主要是做人脸识别的身份验证,主要用在门禁系统、考勤系统等等。
  • 科大讯飞:科大讯飞在香港中文大学汤晓鸥教授团队支持下,开发出了一个基于高斯过程的人脸识别技术–Gussian face, 该技术在LFW上的识别率为98.52%,目前该公司的DEEPID2在LFW上的识别率已经达到了99.4%。
  • 川大智胜:目前该公司的研究亮点是三维人脸识别,并拓展到3维全脸照相机产业化等等。
  • 商汤科技:主要是一家致力于引领人工智能核心“深度学习”技术突破,构建人工智能、大数据分析行业解决方案的公司,目前在人脸识别、文字识别、人体识别、车辆识别、物体识别、图像处理等方向有很强的竞争力。在人脸识别中有106个人脸关键点的识别。

人脸识别的过程

人脸识别主要分为四大块:人脸定位(face detection)、 人脸校准(face alignment)、 人脸确认(face verification)、人脸鉴别(face identification)。

人脸定位(face detection):

对图像中的人脸进行检测,并将结果用矩形框框出来。在openCV中有直接能拿出来用的Harr分类器。

人脸校准(face alignment):

对检测到的人脸进行姿态的校正,使其人脸尽可能的”正”,通过校正可以提高人脸识别的精度。校正的方法有2D校正、3D校正的方法,3D校正的方法可以使侧脸得到较好的识别。在进行人脸校正的时候,会有检测特征点的位置这一步,这些特征点位置主要是诸如鼻子左侧,鼻孔下侧,瞳孔位置,上嘴唇下侧等等位置,知道了这些特征点的位置后,做一下位置驱动的变形,脸即可被校”正”了。如下图所示:

图片

这里介绍一种MSRA在14年的技术:Joint Cascade Face Detection and Alignment(ECCV14)。这篇文章直接在30ms的时间里把detection和alignment都给做了。

人脸确认(face verification):

Face verification,人脸校验是基于pair matching的方式,所以它得到的答案是“是”或者“不是”。在具体操作的时候,给定一张测试图片,然后挨个进行pair matching,matching上了则说明测试图像与该张匹配上的人脸为同一个人的人脸。

一般在小型办公室人脸刷脸打卡系统中采用的(应该)是这种方法,具体操作方法大致是这样一个流程:离线逐个录入员工的人脸照片(一个员工录入的人脸一般不止一张),员工在刷脸打卡的时候相机捕获到图像后,通过前面所讲的先进行人脸检测,然后进行人脸校正,再进行人脸校验,一旦match结果为“是”,说明该名刷脸的人员是属于本办公室的,人脸校验到这一步就完成了。

在离线录入员工人脸的时候,我们可以将人脸与人名对应,这样一旦在人脸校验成功后,就可以知道这个人是谁了。上面所说的这样一种系统优点是开发费用低廉,适合小型办公场所,缺点是在捕获时不能有遮挡,而且还要求人脸姿态比较正(这种系统我们所有,不过没体验过)。下图给出了示意说明:

图片

人脸识别(face identification/recognition):

Face identification或Face recognition,人脸识别正如下图所示的,它要回答的是“我是谁?”,相比于人脸校验采用的pair matching,它在识别阶段更多的是采用分类的手段。它实际上是对进行了前面两步即人脸检测、人脸校正后做的图像(人脸)分类。

图片

根据上面四个概念的介绍,我们可以了解到人脸识别主要包括三个大的、独立性强的模块:

图片

我们将上面的步骤进行详细的拆分,得到下面的过程图:

图片

人脸识别分类

现在随着人脸识别技术的发展,人脸识别技术主要分为了三类:一是基于图像的识别方法、二是基于视频的识别方法、三是三维人脸识别方法。

基于图像的识别方法:

这个过程是一个静态的图像识别过程,主要利用图像处理。主要的算法有PCA、EP、kernel method、 Bayesian Framwork、SVM 、HMM、Adaboot等等算法。但在2014年,人脸识别利用Deep learning 技术取得了重大突破,为代表的有deepface的97.25%、face++的97.27%,但是deep face的训练集是400w集的,而同时香港中文大学汤晓鸥的Gussian face的训练集为2w。

基于视频的实时识别方法:

这个过程可以看出人脸识别的追踪过程,不仅仅要求在视频中找到人脸的位置和大小,还需要确定帧间不同人脸的对应关系。

DeepFace

参考论文(资料):

1. DeepFace论文。DeepFace:Closing the Gap to Human-level Performance in Face Verificaion

2. 卷积神经网络了解博客。http://blog.csdn.net/zouxy09/article/details/8781543

3. 卷积神经网络的推导博客。http://blog.csdn.net/zouxy09/article/details/9993371/ 

4. Note on convolution Neural Network. 

5. Neural Network for Recognition of Handwritten Digits 

6. DeepFace博文:http://blog.csdn.net/Hao_Zhang_Vision/article/details/52831399?locatinotallow=2&fps=1

DeepFace是FaceBook提出来的,后续有DeepID和FaceNet出现。而且在DeepID和FaceNet中都能体现DeepFace的身影,所以DeepFace可以谓之CNN在人脸识别的奠基之作,目前深度学习在人脸识别中也取得了非常好的效果。所以这里我们先从DeepFace开始学习。

在DeepFace的学习过程中,不仅将DeepFace所用的方法进行介绍,也会介绍当前该步骤的其它主要算法,对现有的图像人脸识别技术做一个简单、全面的叙述。

DeepFace的基本框架

1. 人脸识别的基本流程

face detection -> face alignment -> face verification -> face identification

2.人脸检测(face detection)

2.1 现有技术:

haar分类器:

人脸检测(detection)在opencv中早就有直接能拿来用的haar分类器,基于Viola-Jones算法。

Adaboost算法(级联分类器):

1.参考论文:Robust Real-Time face detection 。 

2. 参考中文博客:http://blog.csdn.net/cyh_24/article/details/39755661

3. 博客:http://blog.sina.com.cn/s/blog_7769660f01019ep0.html

2.2 文章中所用方法

本文中采用了基于检测点的人脸检测方法(fiducial Point Detector)。

  • 先选择6个基准点,2只眼睛中心、 1个鼻子点、3个嘴上的点。
  • 通过LBP特征用SVR来学习得到基准点。

效果如下:

图片

3. 人脸校准(face alignment)

2D alignment:

  • 对Detection后的图片进行二维裁剪, scale, rotate and translate the image into six anchor locations。将人脸部分裁剪出来。

3D alignment:

  • 找到一个3D 模型,用这个3D模型把二维人脸crop成3D人脸。67个基点,然后Delaunay三角化,在轮廓处添加三角形来避免不连续。
  • 将三角化后的人脸转换成3D形状
  • 三角化后的人脸变为有深度的3D三角网
  • 将三角网做偏转,使人脸的正面朝前
  • 最后放正的人脸

效果如下:

图片

上面的2D alignment对应(b)图,3D alignment依次对应(c) ~ (h)。

4 人脸表示(face verification)

4.1 现有技术

LBP && joint Beyesian:

通过高维LBP跟Joint Bayesian这两个方法结合。

  • 论文:Bayesian Face Revisited: A Joint Formulation

DeepID系列:

将七个联合贝叶斯模型使用SVM进行融合,精度达到99.15%

  • 论文:Deep Learning Face Representation by Joint Identification-Verification

4.2 文章中的方法

图片

论文中通过一个多类人脸识别任务来训练深度神经网络(DNN)。网络结构如上图所示。

结构参数:

经过3D对齐以后,形成的图像都是152×152的图像,输入到上述网络结构中,该结构的参数如下:

  • Conv:32个11×11×3的卷积核
  • max-pooling: 3×3, stride=2
  • Conv: 16个9×9的卷积核
  • Local-Conv: 16个9×9的卷积核,Local的意思是卷积核的参数不共享
  • Local-Conv: 16个7×7的卷积核,参数不共享
  • Local-Conv: 16个5×5的卷积核,参数不共享
  • Fully-connected: 4096维
  • Softmax: 4030维

提取低水平特征:

过程如下所示:

  • 预处理阶段:输入3通道的人脸,并进行3D校正,再归一化到152*152像素大小——152*152*3.
  • 通过卷积层C1:C1包含32个11*11*3的滤波器(即卷积核),得到32张特征图——32*142*142*3。
  • 通过max-polling层M2:M2的滑窗大小为3*3,滑动步长为2,3个通道上分别独立polling。
  • 通过另一个卷积层C3:C3包含16个9*9*16的3维卷积核。

上述3层网络是为了提取到低水平的特征,如简单的边缘特征和纹理特征。Max-polling层使得卷积网络对局部的变换更加鲁棒。如果输入是校正后的人脸,就能使网络对小的标记误差更加鲁棒。

然而这样的polling层会使网络在面部的细节结构和微小纹理的精准位置上丢失一些信息。因此,文中只在第一个卷积层后面接了Max-polling层。这些前面的层称之为前端自适应的预处理层级。然而对于许多计算来讲,这是很必要的,这些层的参数其实很少。它们仅仅是把输入图像扩充成一个简单的局部特征集。

后续层:

L4,L5,L6都是局部连接层,就像卷积层使用滤波器一样,在特征图像的每一个位置都训练学习一组不同的滤波器。由于校正后不同区域的有不同的统计特性,卷积网络在空间上的稳定性的假设不能成立。比如说,相比于鼻子和嘴巴之间的区域,眼睛和眉毛之间的区域展现出非常不同的表观并且有很高的区分度。换句话说,通过利用输入的校正后的图像,定制了DNN的结构。

使用局部连接层并没有影响特征提取时的运算负担,但是影响了训练的参数数量。仅仅是由于有如此大的标记人脸库,我们可以承受三个大型的局部连接层。局部连接层的输出单元受到一个大型的输入图块的影响,可以据此调整局部连接层的使用(参数)(不共享权重)

比如说,L6层的输出受到一个74*74*3的输入图块的影响,在校正后的人脸中,这种大的图块之间很难有任何统计上的参数共享。

顶层:

最后,网络顶端的两层(F7,F8)是全连接的:每一个输出单元都连接到所有的输入。这两层可以捕捉到人脸图像中距离较远的区域的特征之间的关联性。比如,眼睛的位置和形状,与嘴巴的位置和形状之间的关联性(这部分也含有信息)可以由这两层得到。第一个全连接层F7的输出就是我们原始的人脸特征表达向量。

在特征表达方面,这个特征向量与传统的基于LBP的特征描述有很大区别。传统方法通常使用局部的特征描述(计算直方图)并用作分类器的输入。

最后一个全连接层F8的输出进入了一个K-way的softmax(K是类别个数),即可产生类别标号的概率分布。用Ok表示一个输入图像经过网络后的第k个输出,即可用下式表达输出类标号k的概率:

图片

训练的目标是最大化正确输出类别(face 的id)的概率。通过最小化每个训练样本的叉熵损失实现这一点。用k表示给定输入的正确类别的标号,则叉熵损失是:

图片

通过计算叉熵损失L对参数的梯度以及使用随机梯度递减的方法来最小化叉熵损失。

梯度是通过误差的标准反向传播来计算的。非常有趣的是,本网络产生的特征非常稀疏。超过75%的顶层特征元素是0。这主要是由于使用了ReLU激活函数导致的。这种软阈值非线性函数在所有的卷积层,局部连接层和全连接层(除了最后一层F8)都使用了,从而导致整体级联之后产生高度非线性和稀疏的特征。稀疏性也与使用使用dropout正则化有关,即在训练中将随机的特征元素设置为0。我们只在F7全连接层使用了dropout.由于训练集合很大,在训练过程中我们没有发现重大的过拟合。

给出图像I,则其特征表达G(I)通过前馈网络计算出来,每一个L层的前馈网络,可以看作是一系列函数:

图片

归一化:

在最后一级,我们把特征的元素归一化成0到1,以此降低特征对光照变化的敏感度。特征向量中的每一个元素都被训练集中对应的最大值除。然后进行L2归一化。由于我们采用了ReLU激活函数,我们的系统对图像的尺度不变性减弱。

对于输出的4096-d向量:

  • 先每一维进行归一化,即对于结果向量中的每一维,都要除以该维度在整个训练集上的最大值。
  • 每个向量进行L2归一化。

2. 验证

2.1 卡方距离

该系统中,归一化后的DeepFace特征向量与传统的基于直方图的特征(如LBP)有一下相同之处:

  • 所有值均为负
  • 非常稀疏
  • 特征元素的值都在区间 [0, 1]之间

卡方距离计算公式如下:

图片

2.2 Siamese network

文章中也提到了端到端的度量学习方法,一旦学习(训练)完成,人脸识别网络(截止到F7)在输入的两张图片上重复使用,将得到的2个特征向量直接用来预测判断这两个输入图片是否属于同一个人。这分为以下步骤:

a. 计算两个特征之间的绝对差别;

b,一个全连接层,映射到一个单个的逻辑单元(输出相同/不同)。

3. 实验评估

3.1 数据集

  • Social Face Classification Dataset(SFC): 4.4M张人脸/4030人
  • LFW: 13323张人脸/5749人
  • restricted: 只有是/不是的标记
  • unrestricted:其他的训练对也可以拿到
  • unsupervised:不在LFW上训练
  • Youtube Face(YTF): 3425videos/1595人

result on LFW:

图片

result on YTF:

图片

DeepFace与之后的方法的最大的不同点在于,DeepFace在训练神经网络前,使用了对齐方法。论文认为神经网络能够work的原因在于一旦人脸经过对齐后,人脸区域的特征就固定在某些像素上了,此时,可以用卷积神经网络来学习特征。

本文的模型使用了C++工具箱dlib基于深度学习的最新人脸识别方法,基于户外脸部数据测试库Labeled Faces in the Wild 的基准水平来说,达到了99.38%的准确率。

更多算法

​http://www.gycc.com/trends/face%20recognition/overview/​

dlib:http://dlib.net/数据测试库Labeled Faces in the Wild:http://vis-www.cs.umass.edu/lfw/

模型提供了一个简单的 face_recognition 命令行工具让用户通过命令就能直接使用图片文件夹进行人脸识别操作。

在图片中捕捉人脸特征

在一张图片中捕捉到所有的人脸

图片

找到并处理图片中人脸的特征

找到每个人眼睛、鼻子、嘴巴和下巴的位置和轮廓。

import face_recognition

image = face_recognition.load_image_file("your_file.jpg")

face_locations = face_recognition.face_locations(image)

图片

捕捉脸部特征有很重要的用途,当然也可以用来进行图片的数字美颜digital make-up(例如美图秀秀)

digital make-up:https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py

识别图片中的人脸

识别谁出现在照片里

图片

图片

安装步骤

本方法支持Python3/python2,我们只在macOS和Linux中测试过,还不知是否适用于Windows。

使用pypi的pip3 安装此模块(或是Python 2的pip2)

重要提示:在编译dlib时可能会出问题,你可以通过安装来自源(而不是pip)的dlib来修复错误,请见安装手册How to install dlib from source

​https://gist.github.com/ageitgey/629d75c1baac34dfa5ca2a1928a7aeaf​

通过手动安装dlib,运行pip3 install face_recognition来完成安装。

使用方法命令行界面

当你安装face_recognition,你能得到一个简洁的叫做face_recognition的命令行程序,它能帮你识别一张照片或是一个照片文件夹中的所有人脸。

首先,你需要提供一个包含一张照片的文件夹,并且你已经知道照片中的人是谁,每个人都要有一张照片文件,且文件名需要以该人的姓名命名;

图片

然后你需要准备另外一个文件夹,里面装有你想要识别人脸照片;

图片

接下来你只用运行face_recognition命令,程序能够通过已知人脸的文件夹识别出未知人脸照片中的人是谁;

图片

针对每个人脸都要一行输出,数据是文件名加上识别到的人名,以逗号分隔。

如果你只是想要知道每个照片中的人名而不要文件名,可以进行如下操作:

图片

Python模块

你可以通过引入face_recognition就能完成人脸识别操作:

API 文档: https://face-recognition.readthedocs.io.

在图片中自动识别所有人脸

请参照此案例this example: https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py

识别图片中的人脸并告知姓名

请参照此案例this example: https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.py

Python代码案例

所有例子在此 here.

​https://github.com/ageitgey/face_recognition/tree/master/examples​

·找到照片中的人脸Find faces in a photograph

https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py
· 识别照片中的面部特征Identify specific facial features in a photograph
https://github.com/ageitgey/face_recognition/blob/master/examples/find_facial_features_in_picture.py
· 使用数字美颜Apply (horribly ugly) digital make-up
https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py
·基于已知人名找到并识别出照片中的未知人脸Find and recognize unknown faces in a photograph based on photographs of known people
https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.pypython人脸

#ToMe

全面提升文生图SOTA方法!ToMe:基于token合并的免训练文生图语义绑定

本文提出了一种名为ToMe的免训练方法,通过token合并技术来解决文本到图像合成中的语义绑定问题,显著提升了文生图模型的性能。

论文链接:​​https://arxiv.org/abs/2411.07132​

GitHub链接:​​https://github.com/hutaiHang/ToMe​

亮点直击

  • 分析了语义绑定问题,重点讨论了[EOT]token的作用,以及跨注意力图错位的问题。此外,探索了token可加性作为一种可能的解决方案。
  • 提出了一种无训练方法——token合并,简称ToMe,作为一种更高效且稳健的语义绑定解决方案。通过引入提出的结束token替代和迭代复合token更新技术,ToMe得到了进一步增强。
  • 在广泛使用的T2I-CompBench基准和GPT-4o对象绑定基准上进行的实验中,将ToMe与多种最先进的方法进行了比较,并始终在性能上大幅领先。

研究背景

近年来,随着深度学习和人工智能技术的飞速发展,文本生成图像(Text-to-Image, T2I)模型在图像生成领域取得了显著的进展。特别是扩散模型(Diffusion Models)的出现,使得T2I模型能够根据文本提示生成高质量、高分辨率的图像。这些模型在艺术创作、设计、虚拟现实等多个领域展现了巨大的应用潜力。然而,尽管T2I模型在生成图像方面表现出色,但在将文本提示中的语义信息准确映射到图像中仍然存在挑战。例如,在多对象生成中,prompt中的每个对象都有自己对应的子属性(用来修饰这个对象的形容词或者名词子对象),但现有的模型难以将文本中的对象与其属性或相关子对象正确关联,表现为错误的绑定或者属性的丢失。我们将这一问题称为语义绑定(Semantic Binding),

如下图所示,当提示词为“一只戴着帽子的狗和一只戴着太阳镜的猫”时,生成的图像可能会出现帽子戴在猫头上,太阳镜戴在狗头上的错误情况。这种错误不仅影响了图像的视觉效果,也限制了T2I模型在实际应用中的可靠性和实用性。

为了解决这一问题,研究者们提出了多种方法,包括优化潜在表示、通过布局先验引导生成过程,以及对T2I模型进行微调等。然而,这些方法往往需要大量的计算资源和复杂的训练过程,且在处理复杂场景(如多个对象和多个属性)时仍然存在局限性。因此,开发一种高效、无需训练且能够有效解决语义绑定问题的方法,成为了当前研究的重要方向。​

研究动机

文本嵌入的信息耦合

在处理包含多个对象的prompt时,以往基于布局先验的方法会首先使用LLM生成合理的图像布局,例如将图像划分为不同的子区域,每个子区域只关注prompt中的单个对象。通过这种规划-生成来增强语义对齐。但尽管规划好了不同子区域与原始prompt中不同对象的text embedding进行cross attention,但不同子区域间还是会出现属性泄露等情况,把和一个对象不相关的属性绑定到这个对象上。我们认为,这是由于用来调制不同子区域的text embeeding本身的信息耦合导致的。例如,对于“a cat wearing sunglasses and a dog with hat”这个prompt,其在经由CLIP编码后得到text embedding。原始的扩散模型使用全部text token的text embedding作为cross-attention模块的输入,我们发现当仅仅使用此时的单个‘dog’token的text embedding时,产生的图像内容也是一个带了眼镜的狗。如果使用EOT token(End of Text,即每个句子末尾被padding的结束符)的text embedding,此时产生的图像和使用全部的text token产生的图像内容基本一致。

这可能是由于CLIP的causal masked attention导致的,每个text token都可以和它前面的所有token进行self-attention,这导致前面的文本信息会不可避免的传递到后面的token中,而EOT token会包含全部的语义信息。我们认为,这种text embedding层次上的信息泄露导致不同对象之间属性的混淆。

文本嵌入的可加性

此外,我们还发现了文本嵌入的可加性。如下图所示,把两个单独编码后的text embedding相加得到一个新的复合token的embedding,之后输入到扩散模型中,产生的图像可以合理的组合两个不同prompt的内容。例如,下图a的左上部分,[dog+hat]生成了一只戴帽子的狗。这种可加性还可以用于移除对象(下图a,右上、左下部分),甚至执行复杂的语义计算(下图a,右下)。为探究这一现象背后的机制,我们对每个提示词的token表示进行了PCA 降维可视化,下图b 所示。从“queen-king” 获得的方向向量与“woman-man” 的方向向量几乎相同,余弦相似度为0.998​

研究方法

因此,为了解决文本生成图像(T2I)模型中的语义绑定问题,关键是如何获得一个更干净的text embedding表征,同时使得扩散模型意识到prompt的语法结构,把每个对象及其相关属性绑定。我们提出了一种名为token合并(Token Merging, ToMe)的新方法。ToMe的核心思想是通过将相关的token聚合为一个复合token,从而增强语义绑定。具体来说,ToMe由两部分组成:token合并与结束token替换,以及通过两个辅助损失进行推理时复合token迭代更新。

  • token合并与结束token替换 我们以“a cat wearing sunglasses and a dog with hat”这个prompt为例进行说明,具体步骤如下:
  • 对象token合并:对于包含多个对象的提示词,我们将每个对象及其相关属性token的text embedding相加,生成一个复合token。例如,对于提示词“a dog with hat”,我们将“dog”和“hat”的文本嵌入相加,生成一个表征“戴着帽子的狗”这个语义的复合token [dog*]。
  • 结束token替换(End Token Substitution, ETS):由于结束token([EOT])中包含的语义信息可能干扰属性的表达,我们通过替换[EOT]来减轻这种干扰,保留每个主体的语义信息。例如,当提示词为“a cat wearing sunglasses and a dog with hat”时,我们使用来自提示词“a cat and a dog”的[EOT]来替换原有的[EOT]。

通过上述步骤,我们生成了一个统一的文本嵌入,其中每个对象及其属性由一个复合token表示,并且通过替换[EOT]保留了每个主体的语义信息。Token合并使得每个对象及其属性共享同一个cross-attention map,显式的绑定了每个对象及其属性,使它们在生成过程中共表达。

  • 复合token迭代更新 为了进一步优化T2I生成的初始阶段(即布局确定阶段),我们引入了两个辅助损失:熵损失和语义绑定损失。这些损失会在推理过程中迭代更新复合token,以提升生成的完整性。
  • 熵损失(Entropy Loss):每个token的cross-attention map可以看作一个概率分布,这个分布的信息熵较大则说明这个token关注的区域较为发散。我们计算每个token对应的交叉注意力图的熵值,并将其作为损失函数的一部分。通过最小化熵损失,我们确保每个token专注于其指定的区域,从而防止交叉注意力图过于分散。
  • 图片

  • 语义绑定损失(Semantic Binding Loss):语义绑定损失鼓励复合token推断出与原始对应短语相同的噪声预测,从而进一步加强文本与生成图像之间的语义一致性。具体来说,我们使用一个干净的提示词作为监督信号,确保复合token的语义准确对应它们代表的名词短语。通过最小化语义绑定损失,我们确保复合token的语义信息与原始提示词一致。

图片

实验

我们在T2I-CompBench基准上进行了定量比较,结果如表1所示。ToMe在颜色、纹理和形状属性绑定子集中,BLIP-VQA分数上始终优于或与现有方法相当,表明其可以有效地避免属性混淆。通过ImageReward模型评估的人类偏好得分表明,由ToMe生成的图像更能与提示词对齐。

图片

定性比较结果如下图所示:

图片

ToMe在名词子对象和属性绑定场景下表现出色,这与表1中反映的定量指标一致。具体来说,ToMe能够有效地避免提示词中的语义泄漏,确保每个对象与其属性正确关联。例如,在提示词“一只戴着帽子的狗和一只戴着太阳镜的猫”中,ToMe生成的图像中帽子正确地戴在狗头上,太阳镜正确地戴在猫头上。

图片

消融实验结果如表2所示。我们可以观察到,仅使用token合并技术(Config B)带来了轻微的性能提升,这与上图中的定性结果一致。然而,token合并是后续优化的基础。当它们与熵损失结合使用(Config C)时,性能显著提升。我们推测部分原因是由于交叉注意力图更加规范化,如图7所示。然而,Config C在没有语义绑定损失的情况下,仍然导致生成性能较差,如图6所示,右侧的狗仍然表现出类似猫的特征。加入语义对齐损失可以确保两个主体正确绑定到各自的属性上,而不会出现外观混淆,从而在定量和定性上取得最佳结果。如果忽略token合并并仅应用优化(Config D和Config E),其性能仅与基线相当,这表明token合并是后续优化的基础。移除熵损失(Config F)也可以改善基线,但生成结果中会有明显的伪影,这主要是因为交叉注意力图缺乏足够的正则化。综上所述,ToMe中这三种新技术的每个元素都对实现最先进的性能做出了贡献。​

结论与展望

在本文中,我们研究了文本生成图像(T2I)模型中的一个关键难题,即语义绑定。该难题指的是T2I模型难以准确理解并将相关语义正确映射到图像。我们发现了文本嵌入的语义耦合性和可加性,提出了一种无需训练的新方法,称为token合并,即ToMe,用于解决T2I生成中的语义绑定问题。ToMe通过创新性的将对象token与其相关token叠加为一个复合token。该机制通过统一交叉注意力图,消除了语义错位。此外,我们还结合了结束token替换和迭代复合token更新技术,进一步增强语义绑定。此外,本文发现的文本嵌入的可加性在其他领域也表现出一定的应用前景,如下图所示,可用来括添加对象、移除对象,甚至用于消除偏见等任务。

#See Video, Get 3D

智源开源无标注视频学习3D生成模型See3D

近日,著名 AI 学者、斯坦福大学教授李飞飞团队 World Labs 推出首个【空间智能】模型,仅输入单张图片,即可生成一个逼真的 3D 世界,这被认为是迈向空间智能的第一步。

几乎同时,国内智源研究院推出了首个利用大规模无标注的互联网视频学习的 3D 生成模型 See3D---See Video, Get 3D。不同于传统依赖相机参数(pose-condition)的 3D 生成模型,See3D 采用全新的视觉条件(visual-condition)技术,仅依赖视频中的视觉线索,生成相机方向可控且几何一致的多视角图像。这一方法不依赖于昂贵的 3D 或相机标注,能够高效地从多样化、易获取的互联网视频中学习 3D 先验。See3D 不仅支持零样本和开放世界的 3D 生成,还无需微调即可执行 3D 编辑、表面重建等任务,展现出在多种 3D 创作应用中的广泛适用性。

图片

See3D 支持从文本、单视图和稀疏视图到 3D 的生成,同时还可支持 3D 编辑与高斯渲染。

相关的模型、代码、Demo 均已开源,更多技术细节请参考 See3D 论文。

  • 论文地址: https://arxiv.org/abs/2412.06699
  • 项目地址:  https://vision.baai.ac.cn/see3d

效果展示

1. 解锁 3D 互动世界:输入图片,生成沉浸式可交互 3D 场景,实时探索真实空间结构;

,时长00:11

实时 3D 交互(备注:为了实现实时交互式渲染,当前对 3D 模型和渲染过程进行了简化,离线渲染真实效果更佳)

2. 基于稀疏图片的 3D 重建:输入稀疏的 (3-6 张) 图片,模型可生成一个精细化的 3D 场景。 

,时长00:16

,时长00:16基于 6 张视图的 3D 重建

,时长00:15

基于 3 张视图的 3D 重建

3. 开放世界 3D 生成:根据文本提示,生成一副艺术化的图片,基于此图片,模型可生成一个虚拟化的 3D 场景。

,时长00:06

开放世界 3D 生成样例

4. 基于单视图的 3D 生成:输入一张真实场景图片,模型可生成一个逼真的 3D 场景。

,时长00:01

基于单张图片的 3D 生成

研究动机

3D 数据具有完整的几何结构和相机信息,能够提供丰富的多视角信息,是训练 3D 模型最直接的选择。然而,现有方法通常依赖人工设计(designed artists)、立体匹配(stereo matching)或运动恢复结构(Structure from Motion, SfM)等技术来收集这些数据。尽管经过多年发展,当前 3D 数据的积累规模依然有限,例如 DLV3D (0.01M)、RealEstate10K (0.08M)、MVImgNet (0.22M) 和 Objaverse (0.8M)。这些数据的采集过程不仅耗时且成本高昂,还可能难以实施,导致其数据规模难以扩展,无法满足大规模应用的需求。

与此不同,人类视觉系统无需依赖特定的 3D 表征,仅通过连续多视角的观察即可建立对 3D 世界的理解。单帧图像难以实现这一点,而视频因其天然包含多视角关联性和相机运动信息,具备揭示 3D 结构的潜力。更重要的是,视频来源广泛且易于获取,具有高度的可扩展性。基于此,See3D 提出 “See Video, Get 3D” 的理念,旨在通过视频中的多视图信息,让模型像人类一样,学习并推理物理世界的三维结构,而非直接建模其几何形态。

方法介绍

为了实现可扩展的 3D 生成,See3D 提供了一套系统化的解决方案,具体包括:

1)数据集:团队提出了一个视频数据筛选流程,自动去除源视频中多视角不一致或观察视角不充分的视频,构建了一个高质量、多样化的大规模多视角图像数据集 WebVi3D。该数据集涵盖来自 1600 万个视频片段的 3.2 亿帧图像,可通过自动化流程随互联网视频量的增长而不断扩充。

,时长00:04

WebVi3D 数据集样本展示

2)模型:标注大规模视频数据的相机信息成本极高,且在缺乏显式 3D 几何或相机标注的情况下,从视频中学习通用 3D 先验是更具挑战的任务。为解决这一问题,See3D 引入了一种新的视觉条件 —— 通过向掩码视频数据添加时间依赖噪声,生成一种纯粹的 2D 归纳视觉信号。这一视觉信号支持可扩展的多视图扩散模型(MVD)训练,避免对相机条件的依赖,实现了 “仅通过视觉获得 3D” 的目标,绕过了昂贵的 3D 标注。

图片

See3D 方法展示

3)3D 生成框架:See3D 学到的 3D 先验能够使一系列 3D 创作应用成为可能,包括基于单视图的 3D 生成、稀疏视图重建以及开放世界场景中的 3D 编辑等, 支持在物体级与场景级复杂相机轨迹下的长序列视图的生成。 

图片

基于 See3D 的多视图生成

优势 

a)  数据扩展性:模型的训练数据源自海量互联网视频,相较于传统 3D 数据集,构建的多视图数据集 (16M) 在规模上实现了数量级的提升。随着互联网的持续发展,该数据集可持续扩充,进一步增强模型能力的覆盖范围。

b)相机可控性:模型可支持在任意复杂的相机轨迹下的场景生成,既可以实现场景级别的漫游,也能聚焦于场景内特定的物体细节,提供灵活多样的视角操控能力。

c)  几何一致性:模型可支持长序列新视角的生成,保持前后帧视图的几何一致性,并遵循真实三维几何的物理规则。即使视角轨迹发生变化,返回时场景依然保持高逼真和一致性。

总结

通过扩大数据集规模,See3D 为突破 3D 生成的技术瓶颈提供了新的思路,所学习到的 3D 先验为一系列 3D 创作应用提供了支持。希望这项工作能够引发 3D 研究社区对大规模无相机标注数据的关注,避免高昂的 3D 数据采集成本,同时缩小与现有强大闭源 3D 解决方案之间的差距。

#SmODE

神经常微分网络让深度强化学习的控制更加丝滑!

通过设计具有平滑特性的常微分方程作为神经元核心结构,构建平滑神经网络作为强化学习策略网络,显著提高了输出动作的平滑性,且无需额外滤波器和动作变化率惩罚。

本文介绍清华大学智能驾驶课题组(iDLab)在 ICLR 2025 (Spotlight) 发表的最新研究成果《ODE-based Smoothing Neural Network for Reinforcement Learning Tasks》。

该算法创新性地设计了一种具有平滑特性的常微分方程,可以作为神经元的核心结构实现平滑控制。基于这种特殊性质的神经元,我们构建了平滑神经网络(Smooth Ordinary Differential Equations, SmODE)作为强化学习的策略网络,在保证强化学习任务性能的同时,显著提高了输出动作的平滑性。该研究工作由清华大学2023级研究生王以诺在李升波教授指导下完成。

论文地址:​​https://openreview.net/pdf?id=S5Yo6w3n3f​

一.背景

深度强化学习(Deep Reinforcement Learning, DRL) 已经成为解决物理世界中最优控制问题的有效方法,在无人机控制[1]、自动驾驶控制[2]等任务中均取得了显著成果。然而,控制动作的平滑性是深度强化学习技术在解决最优控制问题时面临的一个重大挑战。导致深度强化学习生成动作不平滑的原因主要有两个方面,分别是输入的状态中含有高频噪声干扰,神经网络的Lipschitz常数没有受到任何约束。

图片

神经常微分网络作为一种连续深度学习模型[3],因其通过神经网络参数化常微分方程来建模连续时间动力学而广为人知。它通过数值求解器沿连续路径积分微分方程,从而高效处理时序数据,在物理系统建模、连续控制和动态系统预测中表现出色。注意到在传统控制理论中,控制系统建模与常微分方程紧密相关,因此我们期望从这个角度出发,将控制系统所具有的低通、平滑的特性嵌入神经元中。那么接下来问题就可以分解为:

1.如何设计常微分方程,能够实现自适应低通滤波以及对Lipschitz常数的控制?

2.如何设计一种使用平滑神经元的策略网络结构,让策略网络天然具有平滑能力,无需添加滤波器和动作变化率惩罚?

为了解决上述的问题,清华大学研究团队提出了一种具有平滑性质的神经常微分网络,SmODE(Smooth Ordinary Differential Equations)。我们首先设计了一个具有一阶低通滤波表达式的平滑常微分神经元,它通过一个可学习的基于状态的系统时间常数,来动态地滤除高频噪声。接着,我们构造了一个基于状态的映射函数g,并从理论上证明了其具有控制常微分神经元Lipschitz常数的能力。以常微分方程作为桥梁,我们实现了将传统控制理论中动态系统低通平滑的性质嵌入神经元当中。最后,在上述神经元结构设计的基础上,我们进一步提出了作为深度强化学习策略近似器的SmODE网络,训练过程中无需加入动作变化惩罚系数,推理过程中也无需额外添加滤波器。

二.SmODE的关键技术

2.1平滑常微分方程设计

为了有效解决高频噪声问题,我们设计了具有低通特性的常微分方程(ODE)。在系统时间常数固定的情况下,虽然较大的时间常数能够保证较好的平滑性,但也会引入额外的延时。当系统需要快速响应时,这些延迟可能会显著影响控制性能。因此,我们提出了一种可学习的方程,将输入信号和神经元状态映射到时间常数的倒数上,从而实现了自适应滤波,公式如下所示:

图片

仔细观察上面的公式,Lipschitz 常数的大小可以通过限制等式左侧项的大小来进行控制。需要注意的是,这种控制也必须是与输入信号和神经元隐状态相关的,这样才能减少对控制性能的负面影响。在这篇论文中,我们将上式最右侧的 替换为一个可学习的映射函数  可以得到:

图片

基于上式我们可以证明:

图片

并进行如下分析:

 是有界的正常数。这个公式表明,一个平滑常微分神经元的隐状态对时间的导数的绝对值有一个上界,这个上界受到  所控制。因此,我可以通过限制  来限制  大小,从而实现对 Lipschitz 常数的约束。

受到 Lechner et al. [4] 研究的启发,我们使用仿生建模的方式给出了平滑常微分神经元的具体表达式。

图片

其中  被表示为  被表示为  被表示为  。其余参数的含义详见论文。

图片

2.2平滑网络结构设计

为了提高控制输出的平滑性,我们进一步引入了SmODE网络。该网络可广泛应用于各种强化学习框架中作为策略网络。SmODE的架构如下图所示,结构包括输入模块、平滑常微分模块和输出模块(可以根据任务复杂性判断是否需要)。输入模块是一个多层感知器(MLP)网络,输出模块是一个线性变换层,并应用了谱归一化。平滑ODE模块由三层组成,每层中的平滑常微分神经元数量可根据任务的复杂度进行选择。

图片

2.3 基于SmODE的强化学习算法

SmODE 作为一种通用策略网络可以很方便的与各类经典深度强化学习算法相结合,本工作将其与课题组提出的DSAC[5]算法相结合。相较于基本的策略损失函数,本工作需要额外添加限制时间常数和Lipschitz常数的损失项,因此最终的策略损失函数如下所示:

图片

其中  和  是可以调节的超参数, 是 SmODE 网络的平滑常微分神经元的数量。

算法最终的伪代码如下所示

图片

三.实验结果

在高斯噪声方差为0.05的条件下,我们对使用MLP和SmODE作为策略网络进行正弦曲线和双车道变换曲线跟踪的实验结果进行了分析,显示出明显的差异。我们使用MPC算法作为无噪声环境下的对比基准。如下图所示,SmODE不仅表现出比MLP更低的动作波动率,还在横向速度变化方面具有更小的波动,从而提高了车辆的舒适性和安全性。

图片

此外,我们在MuJoCo[6]基准中也进行了测试。我们采用了DSAC作为基础的强化学习算法,并将策略网络配置为MLP、LipsNet[7]、LTC[8]和SmODE。在评估过程中,我们在两种高斯噪声水平下进行实验,以模拟不同的现实世界条件。由于不同Mujoco任务的状态值差异较大,我们为八个任务设置了两种高斯噪声水平,如下表所示

图片

在不同高斯噪声水平下,作为策略网络的SmODE相比于LTC、Lips Net和MLP获得了最低的平均动作波动。此外,SmODE在大多数MuJoCo任务中表现出最好的性能。考虑到对动作平滑性和高性能的追求可能存在一定的矛盾,因此并非在所有的实验设置中都能获得最佳的表现是可以理解的。

图片

四.总结

在本研究中,我们提出了一种基于神经常微分网络的方法,用于解决深度强化学习中非平滑动作输出的问题。该网络将常微分方程作为神经元的核心组成部分,赋予神经元低通平滑特性。这种设计不仅能够实现自适应的低通滤波,还具备对Lipschitz常数的有效控制,从而增强了神经元对输入扰动的抑制能力,并实现了更为平滑的输出。作为一种策略网络,与传统的多层感知机和LipsNet相比,SmODE在控制动作输出的平滑性方面表现出色,显著提升了各种强化学习任务中的平均回报。我们期望我们的工作能够为现实世界中的强化学习应用提供新的思路,并推动该领域的进一步发展。

参考文献

[1] Kaufmann E, Bauersfeld L, Loquercio A, et al. Champion-level drone racing using deep reinforcement learning[J]. Nature, 2023, 620(7976): 982-987.

[2]Guan Y, Ren Y, Sun Q, et al. Integrated decision and control: Toward interpretable and computationally efficient driving intelligence[J]. IEEE transactions on cybernetics, 2022, 53(2): 859-873.

[3] Chen R T Q, Rubanova Y, Bettencourt J, et al. Neural ordinary differential equations[J]. Advances in neural information processing systems, 2018, 31.

[4] Lechner M, Hasani R, Amini A, et al. Neural circuit policies enabling auditable autonomy[J]. Nature Machine Intelligence, 2020, 2(10): 642-652.

[5] Jingliang Duan, Yang Guan, Shengbo Eben Li, Yangang Ren, Qi Sun, and Bo Cheng. Distributional soft actor-critic: Off-policy reinforcement learning for addressing value estimation errors. IEEE Transactions on Neural Networks and Learning Systems, 33(11):6584–6598, 2021.

[6] Emanuel Todorov, Tom Erez, and Yuval Tassa. Mujoco: A physics engine for model-based control. In Intelligent Robots and Systems, 2012.

[7] Song X, Duan J, Wang W, et al. LipsNet: A smooth and robust neural network with adaptive Lipschitz constant for high accuracy optimal control[C]//International Conference on Machine Learning. PMLR, 2023: 32253-32272.

[8] Hasani R, Lechner M, Amini A, et al. Liquid time-constant networks[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(9): 7657-7666.

#低空经济爆发之际,无人机 AI 算法“深度赋能”

低空经济,是以低空飞行活动及相关产业融合发展的新兴经济形态,正快速崛起为万亿级的产业新赛道。随着“AI+”战略加速落地,AI算法与无人机互为补益,融合碰撞出绝佳的化合反应,不断催生“低空经济”领域的全新场景化应用。

一方面,相较于传统视频监测的定点防控,无人机可凭借“灵活天空视角”补齐固定监控存在视觉死角的短板,具备飞行灵活性高、巡检效率高、投入成本低等优势。另一方面,AI算法的赋能有效化解了传统无人机应用场景中依赖专业人工操作、响应不及时等痛点,使无人机的应用价值实现了质的飞跃,从单纯的飞行工具蜕变成为各行业智能化发展的得力助手。如今,它在光伏风电巡检、铁塔维护、森林防火监测、城市管理、水务巡检等诸多领域大放异彩,涌现出无穷的应用价值与发展空间。

无人机多场景AI算法:以xxx算法商城为例

基于算法商城1500+AI视觉算法以及100+行业场景的项目落地经验,深入无人机场景,打造了「无人机多场景AI算法」,利用「无人机+AI视觉算法」的绝佳组合完成业务闭环,帮助用户识别各行业领域场景中车辆、道路、环境、人员等要素,及时发现风险隐患、异常状况及违法违规行为,实现全流程自动化和智能化。

图片

△ 基于人工智能的云边端一体无人机算法架构

依托极市平台、生态伙伴等创新资源,可为无人机提供持续的算法迭代服务,以及专家团队售后技术保障,实现高性价比的全方位AI能力加持。

日前,与大疆强强联合,基于DJI AI开放平台共同上新算法应用,利用行业顶尖的AI能力结合无人机设备,将水域巡检、工地安防、城市管理AI算法,深度融入低空经济的各个应用场景,共启智能化新篇章。

图片

此外,携手顶尖学府清华大学共同打造的无人机目标定位系统,可针对无人机视角下的地面行人和车辆,实现针对画面2D信息转变为物理定位信息,进行高效的3D检测和定位,提升无人机在智慧交通、搜索救援、环境监测等领域的应用潜力。

01 高准确率检测算法

不同环境条件(如白天、夜间)和高空复杂环境下保持高检测准确率,车辆检出率和准确率均超过95%。

02 高精度全目标定位

强大的坐标系转换技术确保高精度定位,自动将2D坐标转化为3D定位,经纬度定位误差低至3米。

03 高效数据处理性能

实现多模块间的高效通信,结合硬件加速技术,确保了数据的实时性和一致性,进一步提高处理效率。

赋能多领域典型应用场景

AI视觉算法已经与无人机的多个场景结合并进行实践应用,并创造了诸多标杆落地案例。

01 光伏场景

无人机搭载双光相机巡检光伏场站,AI赋能智能分析光伏组件、场站环境、人员操作、车辆出入。

图片

02 风电场景

AI控制+无人机全自动机场+全自动叶片飞行算法+缺陷分析算法,实现无人机自主叶片环绕拍摄缺陷自动分析,精细化高频常态自动化巡检作业。

图片

03 铁塔维护

自动化定时航线飞行,通过高清影像数据采集,结合智能数据分析,为巡检人员提供准确的评估结果,降低铁塔巡检维护成本。

图片

04 城管应急

智能分析违建、违法施工、摊贩占道、积水垃圾等城市治理问题,及时发现和提醒相关部门进行处置,落实精细化管理措施,全面提升城市环境。

图片

05 水务场景

智能分析违法排污、人员落水、违法采砂、船只识别、漂浮物&垃圾识别。

图片

06 工地场景

智能分析违建、违法施工、人员规范作业、建筑垃圾等场景。

图片

#ClassDiffusion

使用显式类别引导的一致性个性化生成

本文通过两个重要观察及理论分析提出了新的观点:一致性的损失是个性化概念语义偏移导致的, 并据此提出了一个简单有效的方法ClassDiffusion来提升个性化生成的一致性。

通过两组重要的可视化观察和理论分析, 我们探索了基于微调个性化方法的过拟合背后的本质: 语义空间中的语义偏移。根据这个理论我们提出了ClassDiffusion。ClassDiffusion可以在微调模型定制相关物体的同时, 使其保留遵循复杂文本提示词的能力。

图片

文章主页: ​​https://classdiffusion.github.io/​

论文地址: ​​https://arxiv.org/abs/2405.17532​

代码地址: ​​https://github.com/Rbrq03/ClassDiffusion​

图片

研究背景

个性化生成领域最近取得了飞速的发展, 但基于微调的个性化生成方法都不可避免得引入过拟合, 这导致模型仅能生成定制化物体, 而丧失遵循复杂提示词的能力, 本文通过两个重要观察(CLIP语义空间的语义距离增加和cross-attention在定制化物体区域的可视化强度)及从熵变角度的理论分析提出了对个性化生成任务下过拟合本质的新观点: 遵循复杂提示词能力的损失是个性化概念在语义空间的语义偏移导致的, 并据此提出了一个简单有效的方法ClassDiffusion来提升个性化生成的一致性。文章还表明这个方法可以在无需训练的情况下, 拓展至个性化视频生成。

实验观察

文章对之前方法微调后的模型进行了两个观测:

1.对文本空间进行观测, 本文可视化了CLIP文本编码器的语义空间.通过对比, 发现个性化概念的语义(e.g. “a photo of a sks dog”)和类别分布中心(e.g. “a photo of a  dog”)的距离在个性化微调后显著增大, 这表明模型逐渐不认为个性化物体属于其对应类别, 这导致了在预训练过程中学习到的与类别相关的能力直接减弱,导致了遵循复杂提示词的能力丧失。

2.发现随着优化步数和学习率的增加, 模型中交叉注意力在个性化物体区域的激活程度呈现明显的下降趋势。这与第一个实验中的结论是一致的,进一步说明了丧失遵循复杂提示词的能力的本质是语义空间中的语义偏移。

图片

因此文章提出了一个理论: 遵循复杂提示词能力的损失是个性化概念在语义空间的语义偏移导致的。

理论分析

由EBM[1]的结论可以得出:

图片

其中  为类别对应条件, 为模型隐式分类器,将  ,  分别记为  .条件概率  的熵可以被计算为:

图片

微调前后熵的变化可以被计算为:

图片

结合文章的实验观测和概率论的性质, 有

图片

熵的降低导致了在条件下进行采样的难度增加, 从而导致了一致性的降低。

图片

方法介绍

根据前文提出的理论,我们希望在个性化微调过程中尽量缩小个性化概念与文本空间中超类分布中心之间的语义距离, 因此我们将语义距离的度量引入损失函数中, 以在训练过程中最小化该距离。用 和 分别表示个性化短语和类短语的 CLIP 编码器输出的嵌入,语义保留损失可以用下式表示:

图片

结合Diffusion原生训练的重构损失, 则最后完整的损失函数为:

图片

实验结果核心实验

我们从定性和定量的角度分别验证了ClassDiffusion的有效性 从定性上,我们分别验证了在单个主体和多个主体下ClassDiffusion的生成效果。结果显示ClassDiffusion可以生成比现有方法更好一致性的结果

图片

图片

量化对在沿用了当前工作使用的CLIP-T, CLIP-I, DINO-I指标外, 还引入了BLIP2-T以获得更公平有效的评价, 结果表明ClassDiffusion在与提示词的一致性上优于现有方法。

图片

个性化视频生成

我们说明了在经过ClassDiffusion方法下微调的权重, 可以在无需任何后微调的情况下, 在AnimateDiff的支持下直接应用到个性化视频生成上。这说明了ClassDiffusion方法的适用和灵活。

图片

#ParaCAD

复旦大学团队推出,首个包含尺寸信息标注的CAD参数化理解任务基准数据集!新范式PHT-CAD再创新SOTA!

本篇分享论文​​PHT-CAD: Efficient CAD Parametric Primitive Analysis with Progressive Hierarchical Tuning​​,复旦大学团队推出ParaCAD--首个包含尺寸信息标注的CAD参数化理解任务基准数据集!CAD参数化理解新范式PHT-CAD再创新SOTA!

引言

在当前的CAD参数化任务中,主流方案往往仅聚焦于工程图纸的几何图层,而忽视了标注图层的重要性。上述这一局限性导致许多学术上的解决方案难以直接应用于实际工业设计流程中。

为了填补学术社区中这一类数据集的缺失,本文推出了ParaCAD--首个整合了标注图层的大规模CAD参数化基准数据集。此外,为解决CAD参数化任务面临着两大核心挑战(即结构约束推理和高级语义理解),本文提出了名为PHT-CAD的新型二维参数化图元分析框架。该框架利用视觉-语言模型(VLMs)的模态对齐和推理能力,以实现对工程图纸的精确分析。

在模型训练方面,本文提出了渐进式分层调优(Progressive Hierarchical Tuning, PHT)策略,旨在逐步提升PHT-CAD的能力,使其不仅能更精准地感知单个图元,还能有效地推断出结构约束,并将标注层与对应的几何表示进行精准对齐。

实验结果表明,提出的PHT-CAD方法相较于现有 SOTA实现了显著的性能提升。这一成果标志着向解决CAD参数化领域难题迈出了重要一步,期望这项工作能够激发更多关于如何更好地结合VLMs来处理复杂工程图纸的讨论与探索。

首个包含真实数据和尺寸标注图层的CAD参数化Benchmark:ParaCAD

现有CAD参数化数据集主要有两个关键问题:

  1. 缺少标注图层:工程图纸包含几何图层和标注图层两部分。几何图层编码了几何图元及其约束关系,而标注图层则提供了制造所需的关键信息,包括尺寸标注、功能符号和工艺说明。现有的学术数据集都不包含标注图层。
  2. 缺少真实数据:与草图和手绘图像不同,真实数据具有显著更高的结构复杂性,包含更多的几何图元、复杂的相互关系以及更高的信息密度。此外,它们必须符合现实中的物理约束,以确保可制造性和功能性(例如,完全封闭形状的要求)。同时,工程图纸中通常会包含干扰元素,例如标注线条等。

为解决以上问题,我们提出了新的CAD参数化Benchmark:ParaCAD。部分数据样例如下图所示:

图1 ParaCAD的部分样例

图1 ParaCAD的部分样例

1. 数据处理流程

为了构建带有尺寸标注的CAD参数化数据,本文提出了一套相应的数据处理流程,如下图所示。

图2 数据处理流程

图2 数据处理流程

  • 步骤 1:数据预处理与 DXF 文件生成

首先,进行数据预处理,明确图元类型,过滤图元过于简单的样本,最后将草图转换为对应的DXF文件。

  • 步骤 2:尺寸标注与多格式转换

使用 ezdxf 工具为草图添加尺寸参数标注,从而生成带有尺寸标注的新 DXF 文件。最终,得到两个版本的 DXF 文件:仅包含几何图元的未标注 DXF 文件和带有尺寸标注的 DXF 文件。随后,这两种文件被分别转换为结构化的 JSON 文件和 PNG 图像。

  • 步骤 3:几何约束提取与 JSON 结构化

对步骤 2 中生成的 JSON 文件进行处理,通过分析图元之间的位置关系来提取几何约束。这些约束随后被插入到对应的 JSON 文件中,以确保文件包含图元信息、约束信息和尺寸标注信息

2.评测方法

在评测方面,现有的草图参数化方法使用的评估指标并不一致。为了解决这一问题,文本复现了部分现有方法,同时补充了缺失的评估指标,以确保一个全面且统一的评估框架。此外,为了定量评估几何图层和标注图层关联的准确性,本文引入了一项新的评价指标--尺寸精度(Dimension Accuracy, DA),用于评估预测尺寸与其对应的真实标注之间的对齐情况。

此外,本文总结了三种模型性能的评估范式:

  1. 标准评估:模型在已有各数据集的训练集上进行训练,并在其对应的测试集上进行评估,模拟标准的CAD参数化流程;
  2. 零样本评估:模型在单个数据集的训练集上进行训练,并在未见过的测试集上进行评估,模拟零样本场景;
  3. 基于尺寸的评估:使用提出的DA指标评估几何图层与标注图层之间的匹配准确性。

基于大模型的CAD参数化新范式:PHT-CAD

1.高效混合参数化(Efficient Hybrid Parametrization)

现有的参数化策略主要包括: 隐式策略、基于点的策略和过参数化策略。 此类策略的信息密度比较差,同时与VLMs模型的适配性不高。

在这些现有参数化策略的基础上,本文提出了一种新的表示方法--高效混合参数化(Efficient Hybrid Parametrization, EHP),将基于点的策略与隐式策略相结合,同时消除冗余信息以提高效率和一致性。综上所述,EHP 可以描述为:

图片

其中,和分别表示起点和终点坐标,v是一个二进制指示符,用于指定有效性(例如,实线或虚线)。表示圆心坐标,r表示半径。θθ分别表示起始角和终止角。

2.模型框架

PHT-CAD 的详细架构如下图3所示。

图3 模型框架结构

图3 模型框架结构

PHT-CAD 中的视觉编码器基于Vision Transformer构建,文本解码器基于Qwen2.5构建。现有的VLMs通常采用交叉熵损失进行优化。但交叉熵损失并未显式考虑预测值与真实值之间的数值差异,因此不适用于精确的参数预测。

此外,离散数值的Token预测对大语言模型仍然是一个挑战。因此,本文提出的PHT-CAD额外引入了四个专有回归头以分别预测四个基本图元的数值参数。

为了更有效的监督专有回归头的输出,本文基于均方误差(Mean Squared Error, MSE)损失提出参数化均方误差(Parametric Mean Squared Error, P-MSE)损失,以提高图元参数化的精度。

3.渐进式分层调优(Progressive Hierarchical Tuning, PHT)

渐进式分层调优策略主要分为三个阶段,如下图所示:

图4 渐进式分层调优策略

图4 渐进式分层调优策略

  1. 第一阶段-图元感知调优:这一阶段的任务是识别和分类单个几何图元,并以结构化的参数化格式输出它们对应的参数。
  2. 第二阶段-结构感知调优:这一阶段扩展模型对工程图纸中所有图元的感知能力,并理解它们之间的相互依赖关系和约束条件。
  3. 第三阶段-标注几何对齐:最后一个调优阶段旨在增强模型处理包含尺寸标注的工程图纸的能力,同时预测图元、约束条件以及尺寸信息。

通过渐进式分层调优(PHT)策略,模型的内在几何感知和推理能力逐步增强,从而实现细粒度的图元参数化。

实验结果

标准评估

下表展示了在SketchGraph数据集上性能对比。其中,PHT-CAD表现出色,在精确草图图像上的准确率比当前SOTA方法提升了6%。

当训练数据和测试数据之间的领域差距较小时(即不包含手绘数据时),性能提升更为显著,准确率提高了10.8%。在手绘草图图像上,PHT-CAD的准确率提升了13.7%。

这些显著的改进主要源于训练过程的第一阶段和第二阶段中引入的调优措施,这些措施提升了模型对图元的感知能力以及学习结构化约束的能力。

表1 标准评估下的性能对比

图片

零样本评估

下表报告了PHT-CAD在零样本评估范式下与SOTA方法的对比结果。该设置下,SketchGraph作为训练集,CADL作为测试集。PHT-CAD在所有指标上均优于其他方法,在准确率指标上提升了11.4%。

这一显著的性能提升主要得益于模型能够利用视觉-语言模型(VLMs)固有的结构约束推理和语义理解能力,从而使模型具备强大的泛化能力。

表2 零样本评估下的性能对比

图片

基于尺寸的评估

由于该领域尚无此前的研究工作,本文仅报告PHT-CAD在ParaCAD数据集上的性能,以推进学术社区的进一步探索。如下表所示,提出的PHT-CAD在准确率(Acc)指标上达到了84.0%。

表3 基于尺寸的评估结果

图片

消融实验

  • 三阶段PHT策略

本文分别对调优策略的第一阶段和第二阶段进行了消融实验,结果如下表所示。

在缺少第一阶段的情况下,性能显著下降,准确率指标降低了12%。由于第一阶段的训练目标是识别和分类单个几何图元,这为模型感知整个图纸奠定了关键基础。因此,第一阶段缺失导致了较为显著的性能下降。

与缺少第一阶段相比,当不使用第二阶段时,性能下降更为显著,PHT-CAD的准确率下降了近15%。

表4 三阶段PHT消融结果

图片

  • P-MSE损失

如下表所示,本文比较了在SketchGraph和ParaCAD数据集上使用和不使用P-MSE损失的模型性能。

结果表明,使用P-MSE损失的模型在这两个数据集上均实现了显著的性能提升。P-MSE损失有效提高了模型的准确率和图像重建质量,尤其在SketchGraph数据集上的效果更为明显。

此外,如下图所示,我们提供了使用和不使用P-MSE损失的模型之间的可视化对比。显然,在引入P-MSE后,模型对图元细粒度细节的感知能力得到了显著提升。

表5 P-MSE损失消融实验结果

图片

图5 使用和不使用P-MSE损失下的模型预测结果可视化对比

图5 使用和不使用P-MSE损失下的模型预测结果可视化对比​

结论

本文提出了PHT-CAD,一种创新的CAD参数化图元分析框架,利用视觉-语言模型(VLMs)的能力实现精确的工程图纸分析。通过提出高效混合参数化(EHP)策略,增强了参数化表示的精度和一致性,并通过广泛的实验验证了其有效性。

此外,本文发布了ParaCAD,这是首个包含几何图层和标注图层的大规模2D-CAD参数化基准数据集,填补了现有数据空白并具备较高的实际应用价值。在多个基准上的实验结果验证了PHT-CAD的有效性,标志着2D-CAD参数化在工业设计和制造应用领域取得了重要进展。

#SlowFast

通过 Two-Speed 处理彻底改变视频识别

    本文介绍了用于视频识别的SlowFast 网络,这是一种新颖的双流模型,其灵感来自视频数据的特征和视觉感知的生物机制。作者在设计该网络时考虑了人工和自然系统中处理视觉信息的方式。该模型可以有效捕捉视频中缓慢变化的静态物体(慢速)和快速运动动态(快速),从而显著提高了多个基准数据集上的动作识别准确率。

    视频特征

    视频数据由按时间顺序排列的图像序列组成。在这个顺序结构中,捕获的对象及其交互会随着时间的推移而演变。作者重点关注视频数据的两个基本方面:对象和动作,如图 1所示。

    视频中的物体通常在短时间内保持一致,颜色、纹理和形状等属性变化相对较慢。这些属性定义了物体的身份,并提供了重要的上下文信息。相比之下,动作是通过物体随时间的变化来感知的。与物体本身的基本特征相比,主体、手势和其他动态元素的移动通常发生得更快。

    视觉系统的生物学见解

    这项工作的灵感来源于对人类视觉系统的生物学研究。研究表明,视网膜神经节细胞主要由两种类型组成:小细胞(P 细胞),约占80%;大细胞(M 细胞),占剩余的20%。这两类细胞具有不同的功能:

  • M 细胞对高时间频率敏感,这使得它们能够检测到运动的快速变化,但空间分辨率较低。
  • 另一方面,P 细胞优先考虑详细的空间信息,同时对随时间推移的较慢变化做出反应。

    这种生物双流处理机制是SlowFast网络的重要灵感来源,反映了人类视觉中慢速语义编码和快速运动检测的互补性质。

方法介绍

    上述观察提出了SlowFast模型,该架构有两个子结构,一个是帧率较低的Slow通道,另一个是帧率较高的Fast通道,具体系统如图2所示。

    慢速路径

    慢速路径可供动作识别领域其他现有的 CNN 架构参考。慢速路径背后的关键思想是视频帧以较宽的时间间隔输入。该模块仅收集给定视频中整个帧的 1/𝜏。作者根据经验将 𝜏 设置为 16,这意味着大约每秒 2 帧。

    快速通道

    作者设计 Fast 路径的方式与 Slow 网络略有不同。该模块遵循以下原则。

  • 高帧率

    与慢速路径类似,快速路径捕获输入视频中整个帧的𝛼/𝜏,其中𝛼>1。请注意,作者通常将$\alpha$设置为8。𝛼的关键思想是两个路径以不同的时间频率分析输入视频。

  • 高时间分辨率特征

    虽然其他典型的 CNN 网络具有下采样程序,但快速路径没有时间降尺度层。此概念代表保持输入视频的高时间分辨率。

  • 低通道容量

    与慢速网络相比,快速路径的通道容量相对较小。具体来说,它与慢速路径的 𝛽 个通道之比为,其中 𝛽 < 1。作者特意将 𝛽 设置为 0.125。这种设计方法以较小的通道容量提高了计算效率。在这种结构下,获取帧的空间信息相对困难。然而,慢速路径弥补了这一缺陷。事实上,快速网络专注于动作捕捉,计算成本较低。

    横向连接

    两条通路的输出在最后阶段被合并。作者将这个概念称为横向连接。SlowFast 网络的整个网络结构如图3所示。这里,两个并行的网络组成一个残差块,在图 3中表示为 res ᵢ。每个分离通路的结果通过求和或连接融合到 Slow 模块中。

    实例化

    本文的主要概念可以与不同的骨干网络一起使用。作者给出了一个示例,即 3D-ResNet,如图3所示。

  • 慢速路径

    所提出的框架从原始剪辑中采样 64 帧。它有 T = 4 帧作为输入。请注意,慢速路径没有退化时间卷积。这是因为早期层的压缩降低了检测准确性。

  • 快速路径

    快速网络在每个块中都有非退化时间卷积。此外,如上所述,该网络没有按时间顺序排列的下采样层。这些原则旨在保持高时间分辨率,以实现更准确的运动检测。

  • 横向连接

    如上所述,两条路径的结果从快速网络融合到慢速网络。作者设计了以下三种连接方法。注意,慢速通路用 { T , S ², C } 表示,而快速通路用 {𝛼 T , S ², 𝛽 C }表示。

    — 快速模块中 𝛼 帧的通道时间

    被打包到 1 帧的通道中。

    — 时间步幅采样

    在 𝛼 帧中采样 1 帧。

    — 时间步幅卷积

    另外包括 5 × 1² 的 3D 卷积操作,输出通道为 2𝛽C,步幅为 𝛼。

实验

    实验针对两个任务进行:动作分类和动作检测。动作分类是对给定视频中出现的动作主题进行分类,而动作检测是实时地具体定义物体的动作。动作检测相对而言是一项更具挑战性的任务。

    数据集

    采用三个数据集进行动作分类测试,采用一个数据集进行动作检测测试。

 Kinetics-400

    评估测试采用公开发布的视频数据集 Kinetics-400。该数据集涵盖400 个人类行为类别。每个视频包含一个行为主题,时长约 10 秒。作者设置了约 240,000 个视频用于训练,20,000 个视频用于测试。图 4显示了几个示例。

 Kinetics-600

    与 Kinetics-400 类似,Kinetics-600 也是一个记录人类行为的视频数据集。它包含600 个动作,比 Kinetics-400 更具挑战性。该数据集有 390,000 个视频用于训练,30,000 个视频用于验证,60,000 个视频用于测试。

Charades

    该数据集是关于室内活动的。Charades 数据集中的视频时长约为 30 秒。它有大约 8,000 个训练视频和 1,863 个视频。这些涵盖了157 个动作类别。

AVA数据集

    本文中最具挑战性的数据集是 AVA 数据集。这个庞大的数据集包括来自 437 部不同电影的多个剪辑,如图 5所示。作者在 AVA 数据集中使用了大约 211,000 个训练视频片段和 57,000 个测试视频片段。

    配置

主干网络

    作者采用了现有的 ResNet-50 和 ResNet-100 模型,并可选地添加非局部块增强。

 预处理

    作者从每个视频中采样了 𝛼 T × 𝜏 帧用于训练阶段,其中每个参数的具体值如上所述。然后将每帧随机裁剪成 224 × 224 像素。

在推理阶段,作者从每个视频中采样 10 个片段。然后将捕获的片段的较短边扩展为 256 像素,并采样 3 个 256 × 256 像素的裁剪。

 预训练

    作者不使用预训练的权重(例如:ImageNet)进行初始化。该模型是从头开始训练的。

 优化器

    SGD — 随机梯度下降

 学习率

    采用半周期余弦算法进行模型训练,具体来说,第n次迭代的学习率如下。

    这里,nₘₐₓ表示最大训练迭代次数,𝜂 表示基本学习率,通常设置为 1.6。

    — 训练策略根据所使用的数据集而不同。详细信息包含在附录中。

   评估指标

    作者采用top-1 错误率、top-5 错误率和 GFLOPs 来评估动作分类任务,采用 mAP 来评估动作识别任务。

测试结果

    动作分类任务

    作者将提出的 SlowFast 与其他现有模型进行了比较。首先在动作分类任务上进行实验。除了比较模型之外,作者还使用不同的 ( T × 𝜏) 组合和不同类型的 ResNet 主干对 SlowFast 模型进行了多样化。图 6列出了 Kinetics-400 数据集的相应结果。

    对比表(图 6)显示,所提出的网络可以以极高的准确度对给定视频中的主题行为进行分类。请注意,与之前的其他方式相比,SlowFast 模型使用更少的片段捕捉到了动作。

    动作检测

    动作检测任务比动作分类更具挑战性,因为需要精确地捕捉行为的主体。作者使用其他各种现有网络(包括 SlowFast 网络的变体)进行了动作检测任务。所有模型都使用 Kinetic 数据集进行了预训练。检测精度如图 7所示。

    图 7中的结果证明了与其他先前的研究相比更优越的动作检测能力。

    消融研究

    作者还观察了 SlowFast 模型和 Slow-only 模型的准确率和计算成本权衡。请注意,此处的 Slow-only 模型不包括所提方法的 Fast 模块。Slow-only 网络被视为现有模型的常见形式。测试使用 Kinetics-400 数据集(代表动作分类)进行。

    图 8中的准确率变化表明,与仅使用 Slow 的方式相比,SlowFast 模型可以在计算成本略有增加的情况下做出更准确的检测。

    通过改变模型的特定超参数,设计了深入的实验。这些包括横向特征组合方法、快速模块中的通道容量比 (𝛽) 和输入图像的变化。与上述实验一样,任务是动作分类。以下测试结果如图9所示。

    这里,潜在融合中的时间卷积(T-conv) 方法显示出最佳效果。在通道容量情况下,1/6 到 1/8 之间的 𝛽在 Top-n 错误中取得了最佳结果,而与 𝛽 = 1/8 模型相比,𝛽 = 1/6 的情况需要更多的计算成本。最后,灰度图像输入所需的 GFLOP 比原始 RGB 图像少,但精度却几乎没有下降。

    对提出的模型和移除 Fast 通路的模型进行了对比测试。本次实验是在 AVA 数据集上进行的动作检测任务。按类别划分的准确率结果如图 10所示。

    结果图显示,使用 Slow 模块和 Fast 模块可以更准确地检测 AVA 数据集中的几乎所有动作。特别是在更动态的动作情况下观察到更明显的差异。

结 论

    本文介绍了SlowFast 网络,这是一种新颖的视频识别方法,其灵感来自视频数据的结构特征和生物视觉原理。作者设计了一个双路径网络,其中一个流捕获运动动态(快速),而另一个流则专注于对象语义(慢速)。这两条路径以互补的方式工作,最终使模型能够高精度地推断对象身份及其相应的动作。通过在多个具有挑战性的数据集上进行大量实验,SlowFast在视频分类和动作检测方面表现出最先进的性能,展示了其在理解复杂视频内容方面的有效性和鲁棒性。

    SlowFast 网络引入了一种受生物启发的双流视频识别框架,旨在有效捕捉空间语义和时间运动动态。慢速通路以低时间分辨率处理帧,提取丰富的对象级特征,而快速通路以高帧速率运行,专注于快速运动变化。通过横向连接整合这些互补通路,该模型有效地平衡了对详细空间信息和精确运动识别的需求。与依赖于显式光流计算的传统双流架构不同,SlowFast 无需额外的运动估计即可实现最佳性能。这在计算资源方面更有效地返回结果。在Kinetics、Charades 和 AVA等具有挑战性的数据集上进行的大量实验证明了该模型在视频分类和动作检测方面的卓越准确性,凸显了其在各种视频分析任务中的稳健性和有效性。

    尽管做出了巨大贡献,SlowFast 也面临着一些挑战。双路径结构虽然与传统方法相比效率更高,但仍然会带来计算开销。它 需要针对大规模应用进行仔细优化。此外,该模型的性能高度依赖于帧采样策略,这意味着选择不当可能会导致次优结果。另一个限制是它专注于短期运动感知,这可能会妨碍它捕捉视频中长期依赖关系的能力。未来的工作可以探索增强记忆机制或基于变换器的方法来应对这一挑战。尽管如此,SlowFast 仍然是视频识别领域的一项突破性进步,影响了后续研究,并为未来动作检测和视频理解的发展奠定了坚实的基础。

参考

    用于视频识别的 SlowFast 网络:

https://openaccess.thecvf.com/content_ICCV_2019/papers/Feichtenhofer_SlowFast_Networks_for_Video_Recognition_ICCV_2019_paper.pdf

#DRK

比高斯更灵活!港大&VAST提出:新型径向核泼溅

香港大学和VAST研究团队提出了一种新型的三维场景表示方法—可变形径向核泼溅(DRK),该方法通过创新的核函数设计,解决了传统三维高斯表示在形状灵活性、边界控制和渲染排序方面的不足,能够在更少核数量下实现高质量的三维场景渲染,相关工作已被CVPR 2025接收。

在3D场景重建与表示领域,三维高斯(3D-GS)因为其快速的渲染速度,灵活的显式表示,易于编辑的特性,已成为了当前的主流技术。三维高斯在各种下游任务,如动态场景重建,三维语义分割,数字人等都得到了广泛的应用。但是三维高斯由于其内在的核表示缺乏灵活度,对于更少数量表示锋利多样的形状仍存在诸多挑战:

1. 形状灵活性:高斯的投影形状局限于两个方向缩放的椭圆,对于自然世界常见的直线,凹曲线等边界缺乏拟合能力。对于复杂形状往往需要成百上千的微小高斯来拟合。

2. 边界控制不足:高斯核采用L2尺度的衰减,将核的锋利程度与核大小耦合起来,不能在保证核面积较大的情况下增加其锐化度,导致高频边缘往往需要更多数量的高斯单元。

3. 粗糙的排序方式:三维高斯采用EWA投影,对于整个核采用中心深度进行排序。这也导致了高斯核不能太大,否则较大的重叠高斯会导致排序不一致造成的跳跃式伪影。

图片

DRK只需要一个核即可表示基础的几何形状,同时保持锋利的边缘。

来自香港大学、VAST的研究团队提出了一种创新的核函数用于三维场景表示:Deformable Radial Kernel Splatting (DRK)。该表示使用新颖的核函数进行泼溅渲染,得到高质量的渲染质量,使用更少的核数量。该工作目前已经被CVPR2025接收。

图片

DRK的参数表示:

图片

DRK具备不同的参数来调整其形状,曲率,锐化度等性质,具备高度灵活性。

(1)径向基底

DRK的基础形状由一组(8个)径向基底决定。其类似于自行车的辐条,可以具有不同的旋转夹角以及长度来调整自身形状。高斯投影后的二维椭球,其只有四根中心对称的辐条决定形状,并且固定了夹角是九十度。相比之下,DRK具有更强的形状适配能力,能够灵活的伸缩与旋转辐条夹角。

(2)L1&L2混合曲率边界

不同于高斯的L2边界轮廓,DRK通过在L1边界与L2边界之间进行插值,能够灵活的调整其边界的曲率。L1的边界是连接两根径向基辐条的线段,而L2边界是垂直于两根基底辐条的二次曲线。通过允许边界具备更大的曲率半径,DRK能够很好的适应自然界常见的直线边缘。

图片

(3)自适应锐化函数

高斯函数使用L2范数衰减,导致核形状变大时无法提高边界的衰减速率。这是因为衰减因子受尺度参数控制,使形状大小与边界锐化度耦合。为解决这一问题,DRK加入了额外的锐化函数,对核函数值进行重映射,以调整衰减特性,从而实现更锐利或更模糊的边界控制。

图片

得益于DRK的高度灵活性,其能够在一个单位数量下表示各种形状。

(4)冗余图块剔除

三维高斯泼溅的CUDA并行采用了二维线程模式。图片被分为多个16*16的图块,每一个图块由一个第一维的线程组负责。每个像素由第二维的线程颗粒进行渲染,每个线程需要处理所有触碰到像素所在图块的所有高斯单元。高斯泼溅判定高斯与图块相交与否的方式是判断图块是否与以高斯中心为中心,最长直径为边长的轴对齐包围盒相交实现的。对于各向异性的高斯单元,这可能会造成很严重的误判导致计算量上升。在DRK的实现中,我们采用了分析核端点所构成的多边形与图块的相交关系,实现了冗余图块的剔除,保证了高效的渲染流程。

图片

(5)缓存排序

在三维高斯的渲染框架中,高斯核的处理顺序基于中心点的深度而非相交点的深度,这可能造成跳跃伪影。DRK通过维护一个缓存队列,将待处理的核以光线交点深度进行插入排序,并弹出最近的核进行渲染处理,近似了严格排序以避免跳跃伪影。实验发现缓存排序能够很好的避免由于中心排序造成的错误遮挡关系,实现多视角一致的渲染结果。

图片

实验结果(1) 新视角合成

实验结果表明,DRK能够在更少的核数量和空间占用下,实现更高质量的新视角渲染。

图片

(2)无需训练的网格模型到DRK转换

DRK的另一大优势在于其灵活的表示覆盖了三角形、多边形网格的表示空间,能够在无需训练的条件下,直接将已有的网格模型转换为DRK参数表示。同时由于其缓存排序机制,能够实现精确的排序渲染效果。这个应用将海量的已有数字资产与高真实度的重建场景连接起来,能够实现真实世界与游戏电影资产的混合渲染,让当前领域向着元宇宙的目标更进一步。

图片

相关链接

DRK的数据与代码均已开源,欢迎前来尝试:

GitHub仓库:
​​​https://github.com/VAST-AI-Research/Deformable-Radial-Kernel-Splatting​

主页:https://yihua7.github.io/DRK-web/

论文:https://arxiv.org/pdf/2412.11752

#LOKI

合成数据伪装术 vs 大模型火眼金睛,中大&上海AI Lab提出合成检测基准LOKI

近年来,AI生成内容(AIGC)快速发展,从逼真的图像、视频到深度伪造音频,AI合成数据已广泛渗透到媒体、娱乐、教育等多个领域。然而,这一技术的滥用也引发了深刻的安全隐患,如何精准识别这些合成数据成为当前的重要挑战。

中山大学联合上海人工智能实验室提出了LOKI,一种面向多模态合成数据检测的全新测试基准。LOKI涵盖了图像、视频、3D、文本、音频等多个模态,构建了丰富的任务类型与异常注释体系,可系统评估大模型在合成数据检测任务中的能力与局限。该成果已被 ICLR 2025(Spotlight)接收。

  • 论文题目:LOKI: A Comprehensive Synthetic Data Detection Benchmark using Large Multimodal Models
  • 论文链接: https://arxiv.org/pdf/2410.09732
  • 项目主页: https://opendatalab.github.io/LOKI/
  • 数据&代码:https://github.com/opendatalab/LOKI

LOKI的亮点:

  • 全面模态评估:LOKI涵盖了图像、视频、3D、文本、音频五大模态,收集了近期热门合成模型生成的高质量多模态数据,全面挑战LMM在多模态数据场景下的识别能力。
  • 异构数据覆盖:数据集中包含28个细致分类,覆盖卫星、医学等专业图像,以及哲学、文言文等文本,极具挑战性。
  • 多层次标注体系:LOKI的题目设置覆盖了基础的真假判断题、多项选择题、异常细节选择题、异常解释题等,支持从基础到复杂任务的全面测试。
  • 多模态检测框架:LOKI支持主流多模态模型(如GPT-4o、Claude-3、LLaVA等)使用多种数据格式输入,涵盖视频、图像、文本、音频、点云等,全面评估LMM在复杂数据环境下的泛化能力。

研究动机

随着扩散模型和大型语言模型(LLM)的快速发展,人工智能生成内容(AIGC)技术已被广泛应用于图像、视频、音频、文本等多种数据类型。

例如,SORA可合成高度逼真的视频,Suno能够创作出与专业音乐家相媲美的音乐作品。然而,AI合成数据的泛滥也带来了诸多风险,包括虚假信息传播、诈骗、甚至互联网训练数据污染等问题,严重影响了内容的可信度和真实性。

尽管合成数据检测领域近年来取得了一定进展,但大多数现有方法主要侧重于判断数据的真实性,缺乏对模型判断过程的解释,难以应对更复杂的多模态合成场景。

多模态大模型(LMM)的快速发展为合成数据检测提供了新思路,LMM不仅能够通过自然语言提供推理过程,还展现出了对更复杂、多样化数据的泛化能力。

基于此,研究团队提出了LOKI基准,以系统化评估LMM在合成数据检测中的性能,为更安全、可信的AI应用提供支持。

图片

LOKI基准构建

多模态数据覆盖

LOKI基准涵盖了五大核心数据模态,以确保在多样化场景下全面测试LMM在合成数据检测中的性能。

图片

图像:收集了来自FLUX、MidJourney、Stable Diffusion等模型生成的2,200余幅图像,涵盖人像、风景、物品等类型。图像数据不仅提供了整体真伪标签,还通过细粒度标注对异常区域和特征进行了标记,以帮助模型识别细节差异及局部特征异常。

视频:LOKI基准的视频数据来源于SORA、Keling、Open_sora等闭源与开源模型,共收集500余个文本生成视频片段及其真实样本。每个视频样本标注了异常片段、异常关键帧及异常描述。例如,异常类型可能包括“帧闪烁”或“违反自然物理规律”等复杂情况,充分测试模型对时序数据中的异常模式感知能力。

3D模型:LOKI基准整合了超过1,200个3D模型样本,基于OmniObject3D进行了分析。数据包括多个领域的3D模型,涵盖建筑、家具、物品等类别,并配有纹理异常和整体异常标注。每个3D模型样本还提供了多视角的RGB图像,帮助模型更全面地感知3D结构及异常特征。

音频:音频数据涵盖语音、歌声、环境音、音乐等多种类型,数据来源于ASVSpoof2019、CtrSVDD Benchmark、DCASE 2023 Task 7等数据集。音频样本包含非自然音调、音轨断裂、环境声失真等异常特征,并且在标注中对每个样本的异常类型及来源进行了详细说明,提升模型在音频数据异常检测中的表现。

文本:文本数据来自GPT-4、Qwen-Max、LLaMA等模型生成,使用了总结再生方法生成与原始文本相似的伪造文本。文本样本涉及新闻、文学、对话等类型,共计3,359篇,并根据长度和语言进行分类。文本数据包含干扰信息、风格不匹配等异常特征,以全面测试LMM对文本数据合成特征的识别能力。

细粒度标注机制

LOKI基准引入了多层次的细粒度标注体系,每个数据样本都附带真实/合成标签,并标注了更精细的异常细节,确保模型在识别异常特征时具备更强的可解释性。此外,数据样本还附带了对应的推理题目,以考察LMM在判断异常原因和分析合成痕迹方面的推理能力。

多样化任务类型

  • 判断题:判定输入数据是真实还是合成。
  • 多选题:从合成和真实数据中正确选择 AI 生成的数据或真实数据。
  • 异常细节选择题:定位并指出合成数据的异常区域;
  • 异常解释题:要求模型解释合成数据的生成原理和异常特征。

图片

LMMs评估结果

本研究一共评估了22个开源LMMs、6个闭源LMMs和几个专家合成检测模型。LOKI基准中各类模型在判断、选择题及异常解释任务上的表现结果显示,GPT-4o在合成数据判断任务中表现最佳,总体准确率(不包括音频)达到63.9%。在多项选择题中,GPT-4o的表现进一步提升,准确率达到73.7%。

图片

图片

在文本模态中,Claude-3.5的表现优于其他LMM和LLM,准确率超过70%,在对长文本的判断中尤为突出,展现出更强的文本理解和分析能力。

与之相比,GPT-4o在文本任务中更擅长短文本的异常检测,表现出不同模型在文本类型上的差异。在音频模态中,无论是开源模型还是闭源模型,表现均接近于随机选择,显示出当前LMM在音频合成数据检测上的显著局限。

尤其在环境音、复杂音效场景中,模型的准确率明显下降,提示未来音频检测方法仍需优化。

图片

模型偏差分析

LOKI基准揭示了LMM在合成数据检测中的显著偏差。实验结果表明,大多数模型在判断数据真实性时存在系统性倾向。例如,GPT-4o更易将文本数据误判为真实,而在3D数据中则倾向于判断为AI生成。尽管采用了多种提示优化(如Chain-of-Thought)后,偏差问题仍然存在,显示出当前LMM在真实性判断上的固有局限。

专家领域知识匮乏

实验发现,LMM在医学影像、卫星图像等专业领域数据上的表现明显逊于常规图像。GPT-4o尽管在通用图像任务中表现优异,但在专业图像场景中的判断准确率显著下降,突显出当前LMM在特定领域数据中的适应能力不足。

多模态能力不均衡

LOKI实验揭示,当前LMM在图像和文本任务中表现优异,但在3D和音频等非主流模态数据中表现明显不足。尤其在音频异常检测和复杂3D模型分析中,模型的准确率接近随机选择,突显了多模态能力的严重不均衡问题。

不同问题难度下的模型表现

LMM在处理复杂问题时表现出明显的性能下降趋势。尽管在简单问题上表现良好,但在处理复杂合成数据检测任务时,其表现明显下降,甚至低于随机选择,显示出当前LMM在复杂任务上的不足。

提示策略对模型性能的提升

提示策略(Prompting Strategies)在提升LMM性能上效果显著。Chain-of-Thought(CoT)提示在某些模型上带来了明显性能提升,显示出提示优化在合成数据检测中的积极作用。GPT-4o表现出较强的内在推理能力,能够在不使用CoT提示时依然取得良好表现,而部分开源模型更依赖提示优化来弥补其推理能力的不足。

总结

本文提出了一个用于评估多模态大模型在检测各种模态合成数据方面性能的测试基准LOKI。LOKI基准不仅全面评估了LMM在多模态合成数据检测中的表现,还揭示了当前模型在偏差控制、专业领域知识、以及多模态任务中的不足。

研究发现,LMM在部分任务中已具备较强的异常检测与解释能力,尤其在文本与图像任务中表现突出。然而,模型在3D、音频等非主流模态上的表现仍显不足,进一步暴露出当前LMM在复杂任务场景下的局限性。

LOKI的提出为探索更强大、更具解释性的合成数据检测方法提供了重要参考。随着AI合成技术的迅猛发展,更精准的合成检测器不仅有助于提升模型的安全性和可靠性,也将推动AI合成数据的合理应用。

未来,更强大、更具解释性的检测器将进一步促进AI生成与检测技术的共同进步,形成“攻防并行、互促互进”的发展趋势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值