#Arc2Face
身份条件化的人脸生成基础模型,高一致性高质量的AI人脸艺术风格照生成
将人脸特征映射到SD的CLIP的编码空间,通过微调SD实现文本编码器转换为专门为将ArcFace嵌入投影到CLIP潜在空间而定制的人脸编码器
文章地址: https://arxiv.org/abs/2403.11641
项目地址: https://github.com/foivospar/Arc2Face
01 导言
今天分享一个人脸合成基础模型,主要是考虑到未来可能需要合成人脸数据或者基于此做高质量一致性的人脸生成,先Mark。
Arc2Face是一种身份条件化人脸基础模型,给定一个人的 ArcFace 嵌入,该模型可以生成多样化的照片般逼真的图像,其人脸相似度远超现有模型(比如FaceSwap、InstantID等)。
Arc2Face 以预训练的稳定扩散模型为基础,仅以 ID 向量为条件,使其适应 ID 到人脸生成的任务。训练数据上精心上采样了 WebFace42M (最大的人脸识别 (FR) 公共数据集)数据库的很大一部分,该数据集具有一致的身份和源自WebFace42M的类内变异性,然后基于此微调SD,并使用了FFHQ和CelebA-HQ微调以提高质量。
相比于最近将 ID 与文本嵌入相结合以实现文本到图像模型的零样本个性化的方法,Arc2Face强调 FR 特征的紧凑性,它可以充分捕捉人脸的本质,而不是手工制作的文本提示。
另一方面,文本增强模型很难将身份与文本区分开来,通常需要对给定的人脸进行某种描述才能实现令人满意的相似度。然而,Arc2Face 只需要 ArcFace 的判别特征来指导生成,为大量 ID 一致性至关重要的任务提供了强大的先验。例如,在Arc2Face 模型中的合成图像上训练 FR 模型,实现了优于现有合成数据集的性能。
亮点:
将人脸特征映射到SD的CLIP的编码空间,通过微调SD实现文本编码器转换为专门为将ArcFace嵌入投影到CLIP潜在空间而定制的人脸编码器
02 方法
图2 Arc2Face模型框架
Arc2Face框架如上,使用一个简单的设计来条件ID特征上的稳定扩散。预训练的SD作为模型的先验,ArcFace嵌入由使用冻结伪提示符的文本编码器进行处理,投影到CLIP潜在空间以进行交叉注意控制。编码器和UNet都在百万尺度FR数据集上进行了优化在上采样之后),然后在高质量数据集上进行了额外的微调,没有任何文本注释。模型生成完全遵循id嵌入,忽略了文本Promt指导。
2.1 身份条件控制
先验模型使用stable-diffusion-v1-5,它使用CLIP文本编码器来指导图像合成。本文人脸合成的目标是在ArcFace嵌入条件下,同时直接利用其UNet的生成能力。因此,有必要将ArcFace嵌入投影到原始模型使用的CLIP嵌入的空间中。作者通过将它们输入到相同的编码器中并对其进行微调以迅速适应ArcFace输入来实现这一点
该方法提供了比用MLP代替CLIP更无缝的投影。为了确保与CLIP的兼容性,使用了一个简单的提示,“一个<id>人的照片”。
在标记化之后, 将占位符标记嵌入替换为 ArcFace 向量 , 生成一系列标记嵌入 。在这里, 为匹配 的维度, 是 经过零填充后得到的, 生成的序列被馈送到编码器 , 该编码器将其映射到 CLIP输出空间 (其中 表示标记器的最大句子长度), 如图2所示。ID信息在7的输出中的多个嵌入中共享, 为UNet提供了更详细的指导。在训练期间, 始终对所有图像使用这个默认的伪提示符。这种有意的选择将编码器的注意力完全集中在ID向量上, 而忽略了任何无关的上下文信息。因此,通过广泛的微调, 可以有效地将文本编码器转换为专门为将ArcFace嵌入投影到CLIP潜在空间而定制的人脸编码器。
2.2 数据集
使用了WebFace42M,因为它的巨大尺寸和类内可变性,然而,它受到低分辨率数据和紧面部裁剪的影响。更重要的是,预训练的SD主干是为512×512的分辨率而设计的,并且需要类似的分辨率来微调Arc2Face。为了缓解这种情况,使用GFPGAN (v1.4)对它们进行了精心的上采样,执行降解去除和4倍放大到448 × 448。考虑到计算限制,在原始数据库的很大一部分上遵循这个过程,以448 × 448像素获取1M身份的大约21M张图像,使用恢复后的图像训练Arc2Face。
尽管该数据集的质量更高,但用于FR训练的数据集仍然局限于严格裁剪的面部区域。虽然它允许预先学习一个鲁棒的ID,但通常更喜欢完整的人脸图像。因此,在FFHQ和CelebA-HQ上进一步微调,它们由较少约束的面部图像组成。最终模型生成了512 × 512像素的与ffhq对齐的图像。
03 实验结果
- 定量比较
- 可视化比较
- 不同合成方法的FR模型准确率比较
#BlazeBVD
盲视频去闪烁通用方法BlazeBVD来了,美图&国科大联合提出
近年,短视频生态的赛道迅猛崛起,围绕短视频而生的创作编辑工具在不断涌现,美图公司旗下专业手机视频编辑工具 ——Wink,凭借独创的视频画质修复能力独占鳌头,海内外用户量持续攀升。
Wink 画质修复功能火爆的背后,是美图在视频编辑应用需求加速释放背景下,对用户视频画面模糊不清、噪点严重、画质低等视频创作痛点的洞察,与此同时,也建立在美图影像研究院(MT Lab)强有力的视频修复与视频增强技术支持下,目前已推出画质修复 - 高清、画质修复 - 超清、画质修复 - 人像增强、分辨率提升等功能。
日前,美图影像研究院(MT Lab)联合中国科学院大学更突破性地提出了基于 STE 的盲视频去闪烁 (blind video deflickering, BVD) 新方法 BlazeBVD,用于处理光照闪烁退化未知的低质量视频,尽可能保持原视频内容和色彩的完整性,已被计算机视觉顶会 ECCV 2024 接收。
- 论文链接:https://arxiv.org/pdf/2403.06243v1
BlazeBVD 针对的是视频闪烁场景,视频闪烁容易对时间一致性造成影响,而时间一致性是高质量视频输出的必要条件,即使是微弱的视频闪烁也有可能严重影响观看体验。究其原因,一般是由拍摄环境不佳和拍摄设备的硬件限制所引起,而当图像处理技术应用于视频帧时,这个问题往往进一步加剧。此外,闪烁伪影和色彩失真问题在最近的视频生成任务中也经常出现,包括基于生成对抗网络 (GAN) 和扩散模型 (DM) 的任务。因此在各种视频处理场景中,探索通过 Blind Video Deflickering (BVD) 来消除视频闪烁并保持视频内容的完整性至关重要。
BVD 任务不受视频闪烁原因和闪烁程度的影响,具有广泛的应用前景,目前对此类任务的关注,主要包括老电影修复、高速相机拍摄、色彩失真处理等与视频闪烁类型、闪烁程度无关的任务,以及仅需在单个闪烁视频上操作,而不需要视频闪烁类型、参考视频输入等额外指导信息的任务。此外,BVD 现主要集中在传统滤波、强制时序一致性和地图集等方法,所以尽管深度学习方法在 BVD 任务中取得了重大进展,但由于缺乏先验知识,在应用层面上受到较大阻碍,BVD 仍然面临诸多挑战。
BlazeBVD: 有效提高盲视频去闪烁效果
受经典的闪烁去除方法尺度时间均衡 (scale-time equalization, STE) 的启发,BlazeBVD 引入了直方图辅助解决方案。图像直方图被定义为像素值的分布,它被广泛应用于图像处理,以调整图像的亮度或对比度,给定任意视频,STE 可以通过使用高斯滤波平滑直方图,并使用直方图均衡化校正每帧中的像素值,从而提高视频的视觉稳定性。虽然 STE 只对一些轻微的闪烁有效,但它验证了:
- 直方图比像素值紧凑得多,可以很好地描绘光亮和闪烁信息。
- 直方图序列平滑后的视频在视觉上没有明显的闪烁。
因此,利用 STE 和直方图的提示来提高盲视频去闪烁的质量和速度是可行的。
BlazeBVD 通过对这些直方图进行平滑处理,生成奇异帧集合、滤波光照图和曝光掩码图,可以在光照波动和曝光过度或不足的情况下实现快速、稳定的纹理恢复。与以往的深度学习方法相比,BlazeBVD 首次细致地利用直方图来降低 BVD 任务的学习复杂度,简化了学习视频数据的复杂性和资源消耗,其核心是利用 STE 的闪烁先验,包括用于指导消除全局闪烁的滤波照明图、用于识别闪烁帧索引的奇异帧集,以及用于识别局部受过曝或过暗影响的区域的曝光图。
与此同时,利用闪烁先验,BlazeBVD 结合了一个全局闪烁去除模块 (GFRM) 和一个局部闪烁去除模块 (LFRM),有效地矫正了个别相邻帧的全局照明和局部曝光纹理。此外,为了增强帧间的一致性,还集成了一个轻量级的时序网络 (TCM),在不消耗大量时间的情况下提高了性能。
图 1:BlazeBVD 方法与已有方法在盲视频去闪烁任务上的结果对比
具体而言,BlazeBVD 包括三个阶段:
- 首先,引入 STE 对视频帧在光照空间下的直方图序列进行校正,提取包括奇异帧集、滤波后的光照图和曝光图在内的闪烁先验。
- 其次,由于滤波后的照明映射具有稳定的时间性能,它们将被用作包含 2D 网络的全局闪烁去除模块 (GFRM) 的提示条件,以指导视频帧的颜色校正。另一方面,局部闪烁去除模块 (LFRM) 基于光流信息来恢复局部曝光图标记的过曝或过暗区域。
- 最后,引入一个轻量级的时序网络 (TCM) 来处理所有帧,其中设计了一个自适应掩模加权损失来提高视频一致性。
通过对合成视频、真实视频和生成视频的综合实验,展示了 BlazeBVD 优越的定性和定量结果,实现了比最先进的模型推理速度快 10 倍的模型推理速度。
图 2:BlazeBVD 的训练和推理流程
实验结果
大量的实验表明,盲视频闪烁任务的通用方法 ——BlazeBVD,在合成数据集和真实数据集上优于先前的工作,并且消融实验也验证了 BlazeBVD 所设计模块的有效性。
表 1:与基线方法的量化对比
图 3:与基线方法的可视化对比
图 4:消融实验
以影像科技助力生产力
该论文提出了一种用于盲视频闪烁任务的通用方法 BlazeBVD,利用 2D 网络修复受光照变化或局部曝光问题影响的低质量闪烁视频。其核心是在照明空间的 STE 滤波器内预处理闪烁先验;再利用这些先验,结合全局闪烁去除模块 (GFRM) 和局部闪烁去除模块 (LFRM),对全局闪烁和局部曝光纹理进行校正;最后,利用轻量级的时序网 (TCM) 提高视频的相干性和帧间一致性,此外在模型推理方面也实现了 10 倍的加速。
作为中国影像与设计领域的探索者,美图不断推出便捷高效的 AI 功能,为用户带来创新服务和体验,美图影像研究院(MT Lab)作为核心研发中枢,将持续迭代升级 AI 能力,为视频创作者提供全新的视频创作方式,打开更广阔的天地。
#Crowd-SAM
基于 SAM 框架,用于目标检测和分割,简化标注过程 !
本文提出了一种用于标注密集数据集的自我提示分割方法Crowd-SAM,只需几个示例即可产生精确和准确的结果。
在计算机视觉领域,目标检测是一项重要的任务,它在许多场景中都有应用。然而,特别是在拥挤的场景中,获取广泛的标签可能具有挑战性。
最近,提出了一种名为Segment Anything Model(SAM)的强大零样本分割器,为实例分割任务提供了一种新颖的方法。但是,在处理拥挤和遮挡场景中的物体时,SAM及其变体的准确性和效率往往受到影响。
在本文中,作者介绍了Crowd-SAM,这是一个基于SAM的框架,旨在通过少量可学习参数和最小量的标记图像,提升在拥挤和遮挡场景中的性能。作者引入了一个高效的提示采样器(EPS)和一个部分-整体判别网络(PWD-Net),以提高在拥挤场景中的 Mask 选择和准确性。
尽管Crowd-SAM的设计简单,但它与包括CrowdHuman和CityPersons在内的几个基准测试中的全监督目标检测方法的最新技术(SOTA)相媲美。作者的代码可在https://github.com/FelixCaae/CrowdSAM获取。
1
Introduction
在人群密集场景中的目标检测已成为计算机视觉领域的一项挑战性任务,广泛应用于交通管理、自动驾驶和监控等领域。主要关注点是识别和定位像行人这样密集排列的常见物体,其中遮挡和聚集带来了重大挑战。近年来已取得显著进展,包括两阶段方法[43, 57]和基于 Query 的方法[8, 21, 60]。然而,这些方法遵循监督方式,需要大量的标注训练样本,导致每个目标的标注成本高达约42.4秒[36]。人群密集场景的密度和复杂性进一步加剧了标注负担。
收集目标标注的高昂成本促使探索替代方法,如少样本学习[32, 37, 42],弱监督学习[39, 50],半监督学习[27, 28, 40, 47]和无监督学习[1, 6, 20, 24, 46]。表现最佳的方法,即半监督目标检测(SSOD),利用未标注数据进行训练,在PASCAL VOC[14]和COCO[23]等常见基准测试上取得了巨大成功。然而,SSOD引入了额外的复杂性,如复杂的增强和在线伪标注。
近年来,基于提示的分割模型因其灵活性和可扩展性而受到广泛关注。特别是,Segment-Anything Model(SAM)[19]可以有效地、准确地预测由提示指定的区域的 Mask ,这些提示可以是点、框、 Mask 或文本描述的任何形式。认识到其非凡潜力,研究行人已努力将其适应于各种视觉任务,如医学图像识别[29],遥感[4],工业缺陷检测[49]等。
尽管在SAM[17, 44, 51]之后已取得巨大进步,但当前大多数工作忽视了在人群密集场景中应用SAM进行目标检测任务的潜力。在本文中,作者研究在人群密集场景中应用SAM进行检测的潜力,其动机如下:首先,SAM在包含大多数常见物体的大型数据集上进行了预训练,即SA-1B。利用所学的知识来减轻大规模数据标注和训练全新检测器的难度是合理的。其次,SAM在处理由遮挡和聚集物体组成的复杂场景时展现出强大的分割能力,这对于从零开始训练的目标检测器可能是困难的。
在本文中,作者提出了Crowd-SAM,这是一个由SAM赋能的、用于人群密集场景中目标检测的智能标注器。如图1所示,作者引入了一种基于DINOv2的自我推广方法,以减轻人工提示的成本。作者的方法采用密集网格并配备了高效提示采样器(EPS),以在适度成本下覆盖尽可能多的物体。为了在遮挡场景中精确区分多个输出的 Mask ,作者提出了一个称为部分-整体区分网络(PWD-Net)的 Mask 选择模块,该模块学习区分输出质量最高的结果。凭借其轻量级设计和快速训练计划,它在包括CrowdHuman[35]和CityPersons[55]在内的基准测试中取得了相当的性能。
作者的贡献可以总结如下:
- 作者介绍了Crowd-SAM——一种用于标注密集数据集的自我提示分割方法,只需几个示例即可产生精确和准确的结果。
- 作者设计了Crowd-SAM的两个新组件,即EPS和PWD-Net,它们可以有效发挥SAM在密集场景中的能力。
- 作者在两个基准测试上进行了全面实验,以证明Crowd-SAM的有效性和通用性。
2
Related Work
目标检测。 通用目标检测旨在识别并定位物体,主要分为两类:一类是单阶段检测器,另一类是双阶段检测器。单阶段检测器直接从图像特征预测边界框和类别分数[22, 25, 33],而双阶段检测器首先生成区域 Proposal ,然后对这些 Proposal 进行分类和细化[9, 10, 34]。最近,端到端的检测器如DETR[2, 52, 61]通过在训练阶段采用一对一匹配,取消了非最大抑制(NMS)等人工作模块,在各个领域显示出巨大的潜力。
然而,由于行人通常密集且被遮挡,直接将这些检测器应用于行人检测任务将导致性能下降。早期工作[30]提出将额外的特征集成到行人检测器中以探索低级视觉线索,而后续方法[5, 53]尝试利用 Head 区域进行更好的表征学习。[53]中,将 Anchor 点与两个目标相关联,即整个身体和 Head 部分,通过联合训练实现更鲁棒的检测器。其他方法专注于损失函数的设计以改进训练过程。例如,RepLoss[43]鼓励同一目标的预测一致性,同时排斥不同目标。最近,Zheng等人[60]对 Query 之间的关系进行建模,以改进在拥挤场景中的DETR-based检测器,并取得了显著成功。尽管这些工作将拥挤场景中的目标检测推向了新阶段,但它们都依赖于大量的标注样本进行训练,这需要投入大量人力。这一局限促使作者开发标签高效的检测器和自动标注工具,借助SAM的帮助。
小样本目标检测(FSOD)。 该任务旨在从有限样本中检测新类别的物体。FSOD方法可以大致分为基于元学习[15, 48]和基于微调[32, 42, 37]的方法。Meta-RCNN[48]通过Siamese网络并行处理 Query 和支持图像。Query 的兴趣区域(ROI)特征与类原型融合,以有效地将从支持集学到的知识转移。TFA[42]提出了一种简单的两阶段微调方法,只微调检测器的最后几层。FSCE[37]在微调阶段引入了监督对比损失,以减轻误分类问题。De-FRCN[32]停止了来自RPN的梯度,并放大了来自R-CNN的梯度,随后通过原型校准块来细化分类分数。
图2:Crowd-SAM的 Pipeline 显示了不同模块之间的交互。DINO编码器和SAM在训练过程中保持冻结。*表示共享的参数。为了简化,省略了DINO的投影 Adapter 。
分割任何模型(SAM)。 SAM[19]作为一个分割任务的视觉基础模型,采用半监督学习范式在SA-1B数据集上进行训练。它接触到这个庞大的训练样本库,使其成为一个高度能干的类不可知模型,有效地处理了世界上的广泛物体。尽管它在解决分割任务方面表现出色,但它存在一些问题,如域偏移、低效、类不可知设计等。HQ-SAM[17]提出通过学习轻量级 Adapter 来提高其分割质量。Fast-SAM[59]和Mobile-SAM[51]专注于通过知识蒸馏加快SAM的推理速度。RSprompt[4]通过生成适当的提示,使SAM能够为远程感知图像生成语义上不同的分割结果。Med-SA[45]提出了一种空间-深度转置方法,将2D SAM适配到3D医疗图像,并通过超提示 Adapter 实现条件提示适配。不幸的是,这些方法需要相当数量的标注数据才能有效适配,使得它们在标注成本高昂的拥挤场景中不切实际。与它们不同,Per-SAM[54]和Matcher[26]仅用一个或少量实例就让SAM识别特定物体,通过提取无需训练的相似性先验。SAPNet[44]提出了一种针对实例分割的弱监督 Pipeline 。尽管这些方法减少了数据需求,但它们仍不能满足拥挤场景(如行人检测,特别是在遮挡场景中)的需求。
3
作者的方法Preliminaries
SAM[19]是一种前景看好的分割模型,它包含三个主要组成部分:
(a)负责特征提取的图像编码器;
(b)用于编码用户提供的几何提示的提示编码器;
(c)一种轻量级的 Mask 解码器,它根据给定的提示预测 Mask 。通过利用大量的训练数据,SAM在各类基准测试中展示了卓越的零样本分割性能。特别是,SAM使用点和框作为提示来指定感兴趣的区域。
DINO[3]是一系列为通用应用设计的自监督视觉 Transformer [7]的代表作。在其训练过程中,DINO采用了一种类似于BYOL[11]的自蒸馏方法,以促进学习鲁棒的特征表示。DINOv2[31]通过整合额外的预训练任务,增强了DINO的基础,提高了其可扩展性和稳定性,特别是在拥有10亿参数的大型模型如ViT-H中。得益于这种增强,DINOv2在特征表示能力上表现出色,特别是在语义分割任务中。
Problem Definition and Framework
如图1所示,作者的目标是使用少量标注数据在拥挤场景中检测行人。作者将此问题公式化为单类少样本检测任务。一种常见的少样本方法是将近似数据分为基础集和新型集。与此不同,作者直接使用目标类别数据来训练作者的模型,因为基础模型已经在大量数据上进行训练。特别是,作者使用分割 Mask 作为中间结果,这些结果可以轻松转换为边界框。在训练和评估过程中,仅提供框标注。
对SAM自动生成器的初步研究。 在作者介绍方法之前,作者深入探讨了提示数量如何影响SAM在拥挤场景中的性能。为此,作者在CrowdHuman [35] 上使用SAM的自动生成器进行了一些初步研究,该生成器利用网格点搜索每个区域。
表1传达了三个关键观察结果:(1) 拥挤场景需要密集网格;(2) 点提示的不明确性和类无关提示分布导致许多假阳性(FPs);(3) 当网格尺寸较大时,解码时间是不可忽视的负担。作者得出结论,密集提示和去除FP 是设计适用于拥挤场景中检测/分割任务的SAM基础方法的关键方面。
框架。 受到上述研究的启发,作者在SAM [19] 中配备了几个适当的组件,以实现准确且高效的标注框架,如图2所示。为了准确定位行人,作者采用基础模型DINOv2 [31] 来预测语义 Heatmap ,这是一个可以由简单的二分类器公式化的任务。为了区分输出的 Mask 混合了正确 Mask 、背景和部分级 Mask ,作者采用了部分-整体判别网络,它将来自SAM的学习 Token 和来自DINOv2的富含语义的 Token 作为输入,以重新评估所有输出。最后,为了处理由密集网格使用带来的冗余,作者提出了一个高效的提示采样器(EPS),以适中的成本解码 Mask 。
作者在以下各节中介绍作者方法的细节。
Class-specific Prompts Generation
为密集场景中的每个行人生成独特的点提示实际上是一个非平凡的问题。因此,作者后退一步,研究如何通过多个提示检测到一个行人,并随后使用适当的后期处理方法去除重复项。为此,作者采用了一种基于 Heatmap 的提示生成 Pipeline ,该 Pipeline 首先对区域进行分类,然后从阳性区域生成提示。
对于输入图像 , 作者首先使用预训练的图像编码器 提取丰富的语义特征。为了更好地将预训练特征转移到行人分割上, 作者在最后一层输出后添加了一个MLP块, 从而得到了调整后的特征 , 其中 是DINOv2 [31] 的 Patch 大小, 是输出通道数。然后, 作者使用一个分割头 Head 对 进行逐像素分类, 产生一个 Heatmap , 指示行人的位置, 即 。
在只有边界框标注 的情况下, 其中 是目标数量, 这个二值分割头可以通过边界框 Level 的监督进行优化。然而, 粗糙的边界会在背景区域引起相当多的点散射。为了减轻这个问题, 作者使用 SAM [19] 获取高质量的 Mask Level 伪标签, 如图4所示, 与 GT 值 (GT) 一起。解码后的 Mask 随后合并为一个单一的前景 Mask 。作者使用骰子损失来训练 Adapter 和分割头, 生成的伪 Mask 如下:
其中 是一个上采样函数, 用于将 调整为 尺寸。在推理过程中, 作者使用一个阈值 进行 Mask 二值化, 在实验中简单地设置为 0.5 。二值化的 Mask 映射到点提示 , 这些点提示只包含阳性区域内的那些。
语义引导的 Mask 预测
在本节中,鉴于第3.3节生成的 Proposal ,作者旨在高效地解码密集提示,并准确区分生成的 Mask 。如图3所示,由于网格的密集性,每个实例包含许多提示。假设对于SAM来说,只需要一个位置正确的提示来进行 Mask 预测,那么解码所有提示不仅会浪费计算资源,还可能因为一些位置不佳的提示导致更多的假阳性(FPs)。
高效的提示采样器(EPS)。 为了应对这一挑战,作者引入了高效的提示采样器(EPS), 它根据解码 Mask 的置信度动态地剪枝提示。这种方法在算法1中详细阐述。从生成的点提示列表 开始, EPS在每个迭代中使用统一随机抽样的方式从 中抽取一批提示 。然后将采样的提示 附加到输出点列表 中。随后, 作者使用带有批量提示 的SAM生成器来生成 Mask 。此外, 作者从PWD-Net中汇总判别置信度分数 , 这些分数用于使用分数阈值 选择有效的 Mask , 即 。PWD-Net的详细说明将在下一节中提供。有效 Mask 代表被认为是良好分割的区域,因此作者从提示列表 中移除已经被 中任何 Mask 覆盖的点。当 为空时, 迭代停止。此外, EPS通过设置参数 建立一个停止标准, 一旦总采样数达到这个限制, 就终止采样过程。这个参数对于管理整体解码成本非常有用。
部分-整体判别网络。 鉴于SAM根据采样提示批次预测的原始 Mask ,作者设计了一个自动选择器,以选择最适合的 Mask 。它应在以下两个方面改进输出:(i) 根据相关 Mask 的质量帮助细化输出交并比(IoU)分数,如果它们是阳性样本;(ii) 帮助抑制落在背景区域样本的分数。
如图2所示, 对于对应于 个提示生成的 Mask, 作者利用了SAM Mask 解码器中的_Mask Tokens_和_IoU Tokens_, 以及由自监督预训练模型DINOv2 [31]提取的高级特征。M 和U分别负责SAM Mask 解码器中的 Mask 解码和IoU预测。因此, 作者认为它们包含有助于区分 Mask 的形状感知信息。这些组件使作者能够在几次射击的方法中计算每个特定提示的判别置信度分数 。最初, 细化后的loU分数 计算如下:
通过利用自监督预训练模型DINOv2中嵌入的语义特征以及 Mask 数据 , 作者计算判别得分 :
在这里, 作者使用 来表示提取的_语义 Token _, 和 分别代表由SAM [29]生成的 Mask 和DINOv2 [31]模型提取的特征。作者用 表示一个下采样函数, 它将 Mask 的大小调整为 以与 保持一致。Pool是一个全局池化函数, 它在 轴和 轴上进行均值池化。判别得分 预测 Mask 属于前景还是背景。Head 与第 3.3 节中引入的二分类器共享相同的参数。最后, 作者通过简单地将这两个得分相乘来计算判别和估计质量的联合得分: 。
在训练过程中,使用真实 Mask 内采样的提示作为输入。对于前景内的提示,判别置信分数应准确预测生成 Mask 和真实 Mask 之间的交并比(IoU)。相反,对于背景内的提示,理想情况下得分应输出0,表示它们与背景相关。因此,这一方面的损失函数制定如下:
在这里, 表示由第 个提示生成的 Mask 的目标分数, 且 ; 。其中,
在这里, 表示由第 个提示生成的 Mask 的目标分数。 是由所有 个提示生成的目标分数集合, 是由所有 个提示生成的 Mask 集合, 而 是由所有 个真实 Mask 组成的集合,它由背景真实 Mask 集合 和前景真实 Mask 集合 组合而成。
以下是具体的定义:
- 如果真实 Mask 属于背景真实 Mask 集合 , 则目标分数 是由生成的 Mask 和对应的真实 Mask 计算的交并比 ( mloU );
- 如果真实 Mask 属于前景真实 Mask 集合 , 则目标分数 设置为 0 。(mse) 。
Training and Inference
在作者的框架中,总训练损失是方程(1)与方程(5)的组合:
在推理过程中, 作者在 4 个 Mask 中选择置信度得分 最高的 Mask 作为PWD-Net的输出, 作者将其表示为 和 。为了在小目标上获得更好的性能, 作者采用了文献 [19]中的窗口裁剪策略。这种策略将整张图像切割成重叠的裁剪区域,每个裁剪区域单独处理。最终的检测结果是从每个裁剪区域的输出合并得到的。作者对最终输出应用非极大值抑制以移除重复的 Proposal 。
4 Expe
riments
数据集。 按照文献[60]的做法,作者采用CrowdHuman [35]作为基准进行主要实验和消融研究。CrowdHuman [35]从互联网上收集并标注了包含密集人群的图像。其中,训练、验证和测试的图像数量分别为15,000、4,370和5,000张。作者还将在CityPersons [55]数据集上测试作者的方法,以进行真实城市场景的评估。此外,为了进一步研究作者的方法,作者使用OCC-Human [58]进行评估,该数据集专为被遮挡的人设计。对于这些行人数据集,作者使用可见标注(仅包括目标的可见区域)进行训练和评估。为了验证Crowd-SAM的可扩展性,作者还设计了一个多类版本的Crowd-SAM,通过增加一个多类分类器。作者使用COCO [23]_trainval_集合的0.1%进行训练,使用COCO _val_集合进行验证。作者还将在COCO的一个遮挡子集COCO-OCC [16]上验证作者的方法,该子集是通过选择目标重叠比例高的图像提取得到的。
实现细节。 在所有实验中, 作者使用SAM(ViT-L)[19]和DINOv2(ViT-L)[31]作为基础模型。在微调阶段, 它们的参数全部冻结以避免过拟合。作者不是使用真实的GT, 而是使用 SAM(ViT-L)生成的伪 Mask 作为 来指导PWD-Net在方程(5)中的学习。如图4(c)所示, 这些生成的伪标签质量很高。作者从伪 Mask 中随机挑选点作为正训练样本, 从背景部分挑选点作为负训练样本。在训练过程中, 作者使用Adam [18]进行优化, 学习率为 , 权重衰减为 。作者在一个GTX 3090 Ti GPU上以批量大小为 1 训练作者的模块2000次迭代,只需几分钟即可完成。更多细节请参考附录。
表2:在CrowdHuman [35]_val_集合上的结果。所有基于SAM的方法采用ViT-L [7]作为预训练的主干网络。SRCNN表示[38]中的Sparse R-CNN,它是[60]的一个 Baseline 。*表示使用多裁剪技巧。
评估指标。按照文献[60],作者使用IoU阈值为0.5的AP、MR和召回率作为作者的评估指标。通常,更高的AP、召回率和更低的MR表示更好的性能。
在行人检测上的实验结果
为了进行公平的比较,作者使用CrowdHuman [35] 和 CityPersons [55] 数据集中的可见标注重新实现了涉及的方法 [32, 41, 52, 56, 60],并采用了的训练计划。
主要结果。 作者将Crowd-SAM与大多数相关方法进行了比较,包括_完全监督的目标检测器_[41, 52, 56, 60],_小样本目标检测器_[32]以及_SAM基础方法_[19, 26],以获得全面的理解。注意,作者使用了可见标注,其结果与完整边界框标注的结果有所不同。
如表2所示,仅使用10张标注图像,作者的方法与_完全监督的目标检测器_取得了可比较的性能,后者最佳的结果是86.7%的AP,由DINO [52]取得。特别是,Crowd-SAM比先进的 Anchor-Free 点检测器FCOS [41]高出2.1%的AP。这些结果表明,在适当的适配技术下,SAM可以在复杂的行人检测数据集如CrowdHuman上取得极具竞争力的性能。另一方面,在少样本检测设置上,Crowd-SAM取得了最新的性能,并且大幅领先所有_小样本目标检测器_。DeFRCN [32]是一种装备了ResNet-101 [13]的成熟小样本目标检测器,其AP为46.4%。值得注意的是,作者的方法比其高出32%,这表明在少样本检测设置中Crowd-SAM具有优越性。作者的方法与De-FRCN的定性比较如图4所示。对于_SAM基础方法_,作者的方法在召回率上大幅领先SAM Baseline ,分别高出6%(使用多裁剪)和18.3%(不使用多裁剪)。Crowd-SAM也比其他方法如Matcher [26]更为优越。
在OccHuman和CityPersons上的结果。 为了研究Crowd-SAM在遮挡场景中的性能,作者将它与先进的监督方法Pose2Seg [58]进行了比较,结果如表3所示。值得注意的是,Pose2Seg是一种完全监督的检测器,而Crowd-SAM是一种少样本检测器。从结果可以看出,Crowd-SAM在AP上领先Pose2Seg 9.2%,这证明了其在遮挡场景中的鲁棒性。此外,作者将作者的方法应用于一个不那么拥挤但更现实的都市数据集CityPersons [55],结果如表4所示。Crowd-SAM在AP上比TFA [42]高出2.7%,比FSCE [37]高出1.1%,比De-FRCN [32]高出7.8%。总之,与先进的少样本目标检测器相比,作者的方法仍然具有竞争力,尽管它并非专门为稀疏场景设计。
这些结果说明,作者的方法已经充分释放了视觉基础模型(如SAM和DINO)在所有拥挤、遮挡以及城市场景中的潜力。
Experimental Results on Multi-class Object Detection
为了进一步探索作者的方法在更流行环境下的可扩展性,作者设计了一个多类别的Crowd-SAM。多类别版本的Crowd-SAM与二分类版本略有不同,主要是将二分类器替换为多分类器。作者在COCO [23]上进行多类别Crowd-SAM的验证,这是一个广泛采用的目标检测基准,以及主要由高遮挡比例图像组成的COCO-OCC [16]。
作者将作者的方法与两种有监督检测器(Faster R-CNN [34] 和 BCNet [16])进行了比较,并在表5中报告了结果。从表中可以看出,在两个数据集上,作者的Crowd-SAM与有监督检测器相当,当比较COCO和COCO-OCC时,AP值仅下降了1.4 AP%。这个微小的降幅表明作者的方法对遮挡具有鲁棒性。
Ablation Studies
模块消融研究。 作者对Crowd-SAM的关键组成部分——前景定位、EPS和PWD-Net——进行了消融研究,以验证它们的有效性。在表6中,当移除前景定位时,AP的性能显著下降了7.4%,召回率下降了8.5%,这表明限制前景区域的重要性。至于EPS,一旦移除,AP下降了0.6%。作者推测EPS不仅加速了密集提示的采样过程,还帮助聚焦于图像中难以理解的、语义含糊的部分。作者在表7中比较了EPS与其他批量迭代器。此外,作者发现PWD-Net是不可或缺的,当移除时,AP急剧下降至仅17.0%。最后,作者指出多裁剪是一种增强性能的强大方法,对最终性能的贡献为7.4% AP。总的来说,这些结果证明所有组件都是至关重要的。
所有三种采样器。然而,当网格大小达到128时,默认采样器遇到内存不足错误,阻止了它在这一设置中的采用。至于随机采样器,其性能受到K的限制,且大于64的网格大小仅带来有限的改进,例如0.1% AP。相反,作者的EPS可以从更大的网格大小中受益,尤其是在网格大小较大时性能更好。
PWD-Net消融研究。 作者将PWD-Net与用全零占位符替换某些标记的变体进行了比较。作者还比较了两种设计,直接调整IoU头或者学习一个并行的IoU头。如表8所示,所有三种标记,即 Mask 标记、IoU标记和语义标记,对最终结果都有贡献。特别是,一旦移除,AP下降了40.0%,这是一个灾难性的下降。这种退化表明, Mask 标记包含了对整体-部分区分任务至关重要的形状感知特征。值得注意的是,当作者调整预训练的IoU头时,AP下降了2.8%,这表明它可能对少量标注图像过拟合。作者相信,通过冻结SAM的IoU头,PWD-Net可以更多地从在大量分割数据上学到的形状感知知识中受益。
5 Conclusion
本文介绍了Crowd-SAM,一个基于SAM的框架,用于在拥挤场景中进行目标检测和分割,旨在简化标注过程。
对于每张图像,Crowd-SAM生成密集提示以获得高召回率,并使用EPS剪除冗余提示。为了在遮挡情况下实现精确检测,Crowd-SAM采用了PWD-Net,该网络利用多个信息性标记来选择最佳适配的 Mask 。
结合所提出的方法,Crowd-SAM在Crowd Human数据集上达到78.4 AP,与全监督检测器相当,这验证了在拥挤场景中的目标检测可以从像SAM这样的基础模型中在数据效率方面受益。
#S2Fusion
基于VR上半身稀疏信号的全身动作生成框架
在虚拟现实/增强现实(VR/AR)环境中,如何利用稀疏信号进行场景感知的人体运动估计?本文提出了基于条件扩散模型的动作生成框架 ,通过融合场景信息与稀疏追踪信号,实现对人体运动的准确估算。
本文介绍我们发表在CVPR 2024上的工作《A Unified Diffusion Framework for Scene-aware Human Motion Estimation from Sparse Signals》。本工作旨在稀疏动捕场景下,通过VR/AR设备提供的上半身追踪信号对人体全身动作进行重建还原,在虚拟现实、游戏交互中有着广泛应用。本工作上海科技大学2022级研究生唐江南为第一作者,由汪婧雅教授以及石野教授共同指导完成。
论文地址:https://openaccess.thecvf.com/content/CVPR2024/papers/Tang_A_Unified_Diffusion_Framework_for_Scene-aware_Human_Motion_Estimation_from_CVPR_2024_paper.pdf
代码链接:https://github.com/jn-tang/S2Fusion
视频链接:https://www.youtube.com/watch?v=f0y2Dv2kJcY
摘要
在增强现实与虚拟现实(AR/VR)应用中,基于头戴式显示器和手持控制器所捕获的稀疏追踪信号来估算全身人体运动具有至关重要的意义。在这一挑战中,核心难题在于如何将稀疏观测数据映射到复杂的全身运动,这一映射过程本身充满了歧义性。
为解决这一问题,我们提出了基于条件扩散模型(Conditional Diffusion Model)的动作生成框架 ,通过融合场景信息与稀疏追踪信号,实现对人体运动的准确估算。 首先利用周期性自动编码器提取稀疏信号中的时空关系,然后生成时间对齐特征作为附加输入。在此基础上, 继续融合场景几何和稀疏跟踪信号作为条件,使用条件扩散对从预训练的先验中提取的初始噪声运动进行多步采样,以生成准确的全身场景感知运动。
此外,我们设计场景穿透损失(Scene-penetration loss)和相位匹配损失(Phase-matching loss)来引导
的采样过程,使下半身在没有任何跟踪信号的情况下也能生成合理连贯的动作。实验结果表明,我们提出的在估计质量和平滑度等方面均优于最先进的技术。
背景:稀疏动捕场景下的人体运动生成
随着先进的 AR/VR 技术的出现,虚拟会议和游戏等应用中对生成逼真的虚拟人的需求不断增长。然而,常见的 AR/VR 设备,如 HTC Vive 和 Meta Quest Pro,仅提供来自单个头戴式显示器(HMD)和手持控制器内置惯性测量单元(IMU)的稀疏追踪信号。利用这些稀疏追踪信号生成密集的全身运动涉及到具有固有歧义的一对多映射,这使得该问题成为一个具有挑战性的任务。为了解决这个问题,研究者们采用了结合大规模运动捕捉数据和 AR/VR 设备提供的稀疏信号的数据驱动方法。
尽管先前的工作提出了各种各样的模型,如回归方法、变分自编码器(VAE)和归一化流(Normalizing flow),但是它们没有考虑周围的环境,因此都未能很好地解决一对多歧义问题,从而生成了不真实且不协调的运动。
方法
既然人体运动与周围环境密切相关,那么为什么不引入场景感知信息来减少从稀疏追踪信号估计全身运动的不确定性,从而提供更多有价值的线索呢?
因此,我们提出了 ( a unified framework fusing Scene and sparse Signals with a conditional difFusion model),一种融合场景信息与稀疏追踪信号的扩散模型框架。
给定 帧稀疏(头部以及双手)的追踪信号 以及场景点云 , 我们想要预测全身动作信号 。其中 和 分别表示输入和输出的维度, 表示场景点云中的点数。因此,
接受的条件输入为:
其中, 为使用 PointNet++ 从场景点云 提取的场景特征。 为使用周期自编码器(Periodic Autoencoder, PAE)从稀疏信号中提取的动作周期特征,虽然这些信号来自于不同的传感器,但它们的周期性变化可以反映出潜在的时间运动模式。
在
其中 是用来学习生成第 步中干净运动的网络, 表示添加的高斯噪声。为了提升采样速度,本文中使用的初始样本分布并非采样自标准高斯噪声, 而是来源于在 AMASS 数据集上预训练的基于 VAE 的动作先验模型。通过该先验模型, 我们可以将稀疏跟踪信号作为条件来采样得到初始运动样本, 这使得 Fusion 能够更快完成采样过程:
此外,我们发现缺乏下半身追踪信号会导致生成的腿部动作不真实,并且与上半身动作不协调。因此,我们设计了两个损失函数来引导 的采样过程,实现对下半身运动的灵活控制:
其中, 场景穿透损失 用来避免不真实的穿模效应, 例如人体直接穿过墙体; 相位匹配损失 通过对齐动作相位来使上半身和下半身的动作更加协调。这是因为人类倾向于同步上半身和下半身的运动以在日常活动(例如散步、跑步、跳舞等)中保持平衡。从图中, 我们可以观察到上半身和下半身的运动之间存在明显的相关性。
采样阶段的整体损失函数如下:
其中, 和 是控制损失函数强度的比例因子。在获得干净的运动样本后, 我们通过注入 的梯度来指导采样过程, 以规范下半身的运动
完整的采样算法流程如下, 其中
实验结果
我们的方法分别在 GIMO 和 CIRCLE 等不同的数据集上取得了更好的生成效果。
我们展示了两个不同场景中生成的运动序列的结果,并在红框中突出显示了不合理的运动。可以看出,我们的方法可以生成更多相关的腿部运动,并尽可能避免不合理的场景穿透现象。
消融实验
为了验证中各组成部分对性能的作用,我们还设计了额外的实验进行研究探讨:
首先,对模型中各个组件进行消融。其中,MP 表示预先训练的运动先验,Scene 表示模型是否接收场景信息作为额外输入,PAE 表示周期性自动编码器。从结果中可以看出,当三个组件都具备时,模型达到了最好的性能。
下面是探究两种损失函数的影响。从结果中可以看出, 虽然 和 可以提高运动估计质量, 但它们可能会在生成的运动中引入抖动运动。与 相比, 加入 在产生精确运动方面更有效。相反, 相较于 可以避免人体错误地接触地面。