场景图生成科研笔记
FGPL
论文题目
Fine-Grained Predicates Learning for Scene Graph Generation(CVPR2022)
框架图
说明
- 首先介绍一个Predicate Lattice(谓词格),它可以帮助SGG模型计算出细粒度的谓词对。
- 然后,利用谓词格,我们设计了类别判别损失 (CDL) 和实体判别损失 (EDL),它们都可以区分难以区分的谓词,同时保持对可识别谓词的学习判别能力。
实验结果
TDE
论文题目
Unbiased Scene Graph Generation from Biased Training(CVPR2020)
框架图
说明
- 提出了一种基于因果推理中的总直接效应 (TDE) 分析框架的新型无偏 SGG 方法,使用了反事实思维,所提出的 TDE 显着改进了大部分谓词,令人印象深刻的是,改进性能的分布不再是长尾的,表明我们的改进确实来自所提出的方法,而不是来自更好地利用上下文偏差。
实验结果
EBM
论文题目
Energy-Based Learning for Scene Graph Generation(CVPR2021)
框架图
说明
- 蓝色部分是传统的场景图生成流程;绿色部分是这篇论文作者主要的贡献点。 Image graph部分,输入图像的图表示,节点是从bbox提取的特征,注意这个图只有结点特征,没有边特征。 计算生成场景图和基于原图的图表示的联合能量。
- 提出一种新颖的通用损失公式来解决这两个问题,该公式使用基于能量的学习框架将场景图的结构整合到学习框架中。
实验结果
CogTree
论文题目
Cogtree: Cognition tree loss for unbiased scene graph generation(IJCAI2021)
框架图
说明
- 传统的去偏研究主要从平衡数据分布或学习无偏模型和表示的角度进行研究,忽略了有偏类之间的相关性。
- 在这项工作中,我们从一个新的认知角度分析了这个问题:从有偏见的预测中自动构建一个层次认知结构,并在该层次结构中导航以定位关系,使尾部关系以从粗到细的模式受到更多关注。
- 为此,我们为无偏 SGG 提出了一种新颖的去偏认知树 (CogTree) 损失。我们首先构建一个认知结构 CogTree 来根据有偏差的 SGG 模型的预测来组织关系。 CogTree 首先区分明显不同的关系,然后关注一小部分容易混淆的关系。然后,我们专门针对这种认知结构提出了一种去偏损失,它支持从粗到细区分正确的关系
实验结果
PPDL
论文题目
PPDL: Predicate Probability Distribution based Loss for Unbiased Scene Graph Generation(CVPR2022)
提出问题
框架图
说明
- 现有方法主要通过更好地聚合上下文和整合外部先验知识来减少预测偏差,但很少考虑谓词之间的语义相似性。
- 提出了一种基于谓词概率分布的损失(PPDL)来训练有偏 SGG 模型并最终获得无偏场景图。首先,我们提出谓词概率分布作为特定谓词类的语义表示。之后,我们根据预测概率分布与估计概率分布之间的相似性重新平衡有偏训练损失,最终消除谓词分类上的长尾偏差。
实验结果
BA-SGG
论文题目
From general to specific: Informative scene graph generation via balance adjustment(ICCV2021)
框架图
实验结果
RTPB
论文题目
Resistance Training using Prior Bias: toward Unbiased Scene Graph Generation(AAAI2022)
框架图
实验结果
SHA-GCL
论文题目
Stacked Hybrid-Attention and Group Collaborative Learning for Unbiased Scene Graph Generation(CVPR2022)
提出问题
框架图
说明
- 现有的 SGG 方法通常不仅忽略了视觉和语言之间不充分的模态融合,而且由于有偏见的关系预测无法提供具有足够信息量的谓词,导致 SGG 远非实用。
- 为此,我们首先提出了一种新颖的 Stacked Hybrid-Attention 网络作为编码器,有助于模态内的细化 和 模态之间的交互。
- 尽管已经提出了各种去偏方法 [4, 29, 37],但它们很容易过度拟合尾部类并牺牲大量头部类,从而导致另一个极端。从某种意义上说,我们推测这种困境可能源于这样一个事实,即朴素的 SGG 模型,无论是传统模型还是去偏模型,都只能区分训练实例数量相对相等的有限范围的谓词。
- 直观上,由于单个分类器难以实现合理的预测权衡,我们可以将有偏差的谓词类划分为几个平衡的子集,然后引入更多分类器来征服每个子集,最终利用这些分类器协同应对这一挑战。为了实现这种“分而治之”的直觉,我们提出了组协作学习(GCL)策略。
GCL策略管道图
实验结果
DHL
论文题目
Dual-branch Hybrid Learning Network for Unbiased Scene Graph Generation(2022TCSVT SCI一区TOP)
提出问题
头部谓词为尾部谓词提供一般模式的图示。头谓词“on”描述一个物体在另一个物体之上,它与尾谓词“standing on”、“sitting on”和“lying on”具有一般模式。
- 直观上,头谓词与尾谓词共享一般模式,这为识别尾谓词提供了基本作用。如图 1 所示,头部谓词“on”可能有利于尾部谓词“standing on”、“sitting on”和“lying on”的学习。因此,处理 SGG 中的偏差问题需要对 head 谓词进行稳健的学习。特别是,中心谓词描述了对象之间的几何关系(例如,on、under、near)或所有格关系(例如,has、wearing),这些关系在空间坐标或共现模式方面很容易学习。然而,尾部谓词是特定于上下文的(例如,吃东西、飞进来),这对 SGG 模型来说更具挑战性,因为需要对上下文信息进行有意识的推理。
框架图
说明
- 现有模型无法实现尾部谓词的出色性能和头部谓词的令人满意的行为。潜在的原因是它们在整个训练过程中都低估了头部谓词,从而破坏了头部谓词特征的表示能力,进一步影响了尾部谓词的学习。
- 提出了一种新颖的双分支混合学习网络(DHL)来处理头部谓词和尾部谓词,包括用于学习专业知识和头部谓词的稳健特征的粗粒度学习分支(CLB)和细粒度学习用于预测信息尾谓词的分支 (FLB)。此外,我们设计了一个分支课程表(BCS)来调整两个分支的培训过程。
- 我们引入课程重加权机制(CRM) 来优化FLB,它规定FLB 先学习头部谓词,然后逐步关注尾部谓词。此外,我们设计了一个语义上下文模块来纠正 FLB 的上下文外预测,使模型更加稳定
实验结果
PE-Net
论文题目
Prototype-based Embedding Network for Scene Graph Generation(CVPR2023)
提出问题
- 由于许多可能的主客体组合的视觉外观不同,每个谓词类别内都有很大的类内变化,例如,“吃人披萨,长颈鹿吃叶子”,以及严重的间模型潜在空间中不同类别之间的类别相似性,例如“人拿着盘子,人吃披萨”。上述挑战阻碍了当前的SGG 方法获得用于可靠关系预测的稳健特征。
框架图
说明
- 本文中,我们认为谓词的类别固有语义可以作为语义空间中的类别原型来缓解挑战(类内变异、类间相似)。
- 提出了基于原型的嵌入网络(PE-Net),它为关系识别生成紧凑且独特的实体/谓词表示,从而在公共嵌入空间中建立实体对和谓词之间的匹配以进行关系识别。
实验结果
SePiR
论文题目
Improving Predicate Representation in Scene Graph Generation by Self-Supervised Learning (WACV2023)
框架图
SePiR 的总体流程。 (1) 对象检测器生成对象(男孩)和对象(滑板)的视觉特征。 (2) 然后通过自监督学习训练关系编码器,其中通过用具有相同对象标签的视觉特征替换视觉特征来实现主客对的数据增强。 (3) 最后,训练谓词分类器从三个特征预测对象(骑行)之间的谓词标签:预训练关系编码器的关系特征、位置特征和语言特征。
说明
- 由于谓词标签严重不平衡,现有的监督方法由于标记数据不足而难以提高罕见谓词的准确性。
- 在本文中,我们提出了 SePiR,这是一种用于 SGG 的新型自监督学习方法,用于改进稀有谓词的表示。我们首先在不使用谓词标签的情况下通过对比学习训练关系编码器,然后使用标记数据微调谓词分类器。
- 为了将对比学习应用于 SGG,我们新提出了数据增强,其中通过将它们的视觉特征替换为具有相同对象标签的其他图像中的视觉特征来增强主题-对象对。通过这种增强,我们可以在保持对象之间关系的同时增加视觉特征的变化。
实验结果
IS-GGT
论文题目
Iterative Scene Graph Generation with Generative Transformers(CVPR2023)
提出问题
- 通过预测每对局部实体之间的边缘关系或缺乏边缘关系将其修剪成更紧凑的图之前相互交互。这种方法虽然有效,但有几个局限性。首先,通过对具有密集拓扑的实体之间的交互进行建模,在关系推理过程中忽略了底层语义结构,这可能导致谓词(关系)分类不佳。其次,通过在场景中的所有实体之间构建成对关系,谓词分类模块会产生巨大的开销,因为成对比较的数量会随着检测到的概念数量的增加而非线性增长。结合起来,这两个问题加剧了场景图生成中现有的长尾分布问题。
框架图
说明
- 这项工作介绍了一种基于Transformers的方法来生成链接预测之外的场景图。使用两个基于变换器的组件,我们首先从检测到的对象及其视觉特征中采样一个可能的场景图结构。然后我们对采样的边执行谓词分类以生成最终的场景图。这种方法使我们能够以最小的推理开销有效地从图像生成场景图。
- 通过解耦图生成和关系建模的思想,我们可以限制关系分类过程只考虑那些具有更高概率的交互(语义和视觉)的边(实体对),从而减少推理过程中的计算开销。
- 因此,关系推理机制仅考虑场景的(预测的)全局语义结构,并做出更连贯的关系预测,有助于解决长尾分布问题,而无需额外的无偏步骤和计算开销。
实验结果
ICCV2023
VETO
论文题目
Vision Relation Transformer for Unbiased Scene Graph Generation
框架图
实验结果
UniVRD
论文题目
Unified Visual Relationship Detection with Vision and Language Models
框架图
实验结果
后续可能改进措施
- 优化模型
- 使用张量
关系特征的表示使用张量,融合视觉特征和文本特征。
- 对比学习,聚类中心
模型批量大小为8,代表每一批有8张图片,每张图片中锚点和候选关系数量都不确定,平均8张图片会包含1000多条关系,考虑在每个批次中增加一个对比损失,除了该样本外的其他所有样本当做负样本,增强关系之间的差异性。
聚类中心,使用常用的聚类中心算法创建51种关系对应的聚类中心,先识别该关系对应的聚类中心,然后将该聚类中心作为正样本,其余50中聚类中心作为负样本。
如果你想使关系原型(或表示)之间的分布更分散,以提高模型的表征能力,可以考虑以下几种方法:
-
增加数据多样性:引入更多的不同样本和情境,以确保模型能够观察和学习各种关系。更多的多样性可以帮助模型更好地理解和区分不同的关系。
-
引入正则化项:添加正则化项到损失函数中,以鼓励模型产生更分散的表示。例如,你可以使用L1或L2正则化,或者使用信息熵正则化,以确保模型的表示在某种程度上均匀分布。
-
改变模型架构:使用更复杂的模型架构,例如深层神经网络或卷积神经网络,以提高模型的表征能力。更深或更宽的网络可能更容易捕捉多样的关系。
-
自监督学习:自监督学习是一种无监督学习方法,它可以通过设计自动生成的任务来帮助模型学习有用的表示。你可以构建自监督任务,以鼓励模型学习对关系的不同方面有更好的理解。
-
聚类和原型学习:使用聚类算法或原型学习方法,将表示映射到原型空间,并鼓励原型之间的分离。这有助于确保不同的关系有不同的原型,从而使表示更具区分性。
-
特征选择和降维:考虑对特征进行选择或降维,以确保模型仅关注关键信息。高维特征空间可能导致模型过拟合或表示过于密集。
-
数据增强:对数据进行增强,引入一些噪声或扰动,以帮助模型更好地泛化并适应多样性。
-
迁移学习:使用在其他任务上预训练的模型,然后微调它们以适应特定的关系表示学习任务。预训练模型通常具有更丰富的表示。
互信息
互信息(Mutual Information,MI)的计算基于信息论的概念,用于衡量两个随机变量之间的依赖性或信息传递。在计算互信息时,一种常用的方法是使用联合分布和边缘分布来表达随机变量之间的关系。
下面是互信息的计算公式
度量学习
(1)对比损失(Contrastive loss)
(2)三元组损失(Triplet loss)
(3) 四元组损失(Quadruplet loss)
(4)难样本采样三元组损失(Triplet loss with batch hard mining, TriHard loss)
(5)边界挖掘损失(Margin sample mining loss, MSML)
关系得分
关系得分通常是在目标检测和场景图生成等计算机视觉任务中使用的一种分数,用于表示两个物体之间的关系或交互程度。关系得分的计算方式可以因任务和模型而异,但通常是通过以下步骤获得的:
-
物体检测: 首先,模型会对图像中的物体进行检测,通常使用目标检测模型(如 Faster R-CNN、YOLO、SSD 等)来获得每个物体的边界框和类别概率。
-
特征提取: 对每个检测到的物体,模型会从图像中提取特征。这些特征通常是通过卷积神经网络(CNN)从物体的边界框内部提取的,并用于后续的关系分析。
-
关系分析: 关系分析是计算关系得分的核心步骤。在这一步骤中,模型会考虑两个物体之间的各种特征,如它们的空间位置、视觉外观、上下文信息等,并使用神经网络或其他方法来预测两个物体之间的关系。这个预测可以表示为一个向量或得分,通常包括两个方面:关系类别和关系强度。
-
关系得分计算: 关系得分通常由关系类别得分和关系强度得分组成。关系类别得分表示关系属于哪个类别(如"在旁边"、"拿着"等),而关系强度得分表示关系的强度或置信度。这些分数通常是模型的输出之一。
-
阈值或后处理: 可以根据应用的需求,使用阈值或其他后处理技术来筛选或过滤关系得分。例如,可以根据关系得分的阈值选择最相关的关系或执行非极大值抑制(NMS)以消除重叠的关系
关系强度通常指的是在计算机视觉任务中,描述两个物体之间关系的程度或强度的度量。这个强度度量可以是一个标量分数,用于表示两个物体之间关系的置信度或权重。关系强度的计算方式可以因任务和模型而异,但通常涉及以下一些方法:
-
神经网络预测: 许多关系强度的计算是通过神经网络进行的。在关系分析任务中,模型会接受两个物体的特征作为输入,并通过神经网络层来预测关系强度得分。这通常包括全连接层或其他类型的层,用于将两个物体的特征映射到一个标量得分。
-
点积或内积: 在某些情况下,可以使用两个物体特征之间的点积或内积作为关系强度的度量。点积或内积越大,表示两个物体之间的关系越强。
-
距离度量: 可以计算两个物体特征之间的距离或差异,并将其作为关系强度的度量。例如,欧氏距离或余弦相似度等距离度量方法可以用于表示关系强度。
-
逻辑回归或概率分布: 在某些情况下,可以使用逻辑回归或概率分布来表示关系强度。模型可以输出一个概率分布,其中每个值表示关系属于不同类别的概率,或者使用逻辑回归来输出一个标量分数,表示关系的概率。
-
加权组合: 有时,可以将多个特征的加权组合用于计算关系强度。这些权重可以是模型学习到的参数,也可以根据任务需求手动设置。
关系类别得分和关系强度得分是在关系分析任务中两个不同的概念,它们有以下区别:
-
关系类别得分(Relation Class Score):
-
关系类别得分是指模型预测的关系类别或类别标签的得分。在关系分析任务中,通常有多个可能的关系类别,每个类别表示不同类型的关系,例如"拿着"、"坐在"、"喝"等。
-
模型在预测关系类别时会为每个可能的类别分配一个得分或概率值,表示图像中存在该关系类别的置信度。
-
关系类别得分用于确定图像中存在哪种类型的关系,通常是通过选择得分最高的类别来进行关系分类。
-
-
关系强度得分(Relation Strength Score):
-
关系强度得分是指模型衡量两个物体之间关系的程度或强度的得分。这个得分通常是一个标量值,表示两个物体之间关系的置信度或权重。
-
与关系类别得分不同,关系强度得分不区分不同的关系类别,而是专注于描述两个物体之间的关系有多强或多弱。
-
关系强度得分通常用于回归或排序任务,其中需要根据关系强度对不同关系进行排序或选择。
-
总的来说,关系类别得分用于确定关系的类别标签,而关系强度得分用于衡量两个物体之间关系的程度。这两个得分在关系分析任务中起着不同的作用,但都对理解图像中物体之间的关系提供了重要信息。
视觉场景图生成任务存在的一些问题
- 现有通用 SGG 模型 [8]-[12] 的流程是:首先提取一组对象提议和相应的特征,然后聚合这些对象提议的交互信息以构建用于预测成对对象关系的上下文特征。尽管这些方法在改进上下文表示方面做出了很大努力,但由于 Visual Genome [13] 中的长尾数据分布,生成的场景图远不能令人满意,其中只有少数谓词具有丰富的样本,而大多数谓词具有少量样本.使用严重不平衡数据分布训练的 SGG 模型的预测偏向于具有粗粒度描述的头部谓词。因此,它导致场景图的信息量较少,无法为下游任务提供丰富的语义表示。
- 为了缓解上述问题,已经提出了各种去偏置 SGG 方法 [14]-[20]。主流的方法大致可以分为两种:1)重采样,减少头部样本或重复尾部样本以平衡训练数据的分布,例如GCL [18],BASGG [17]。 2)重加权:根据谓词相关性、谓词频率或结构化谓词为不同谓词分配不同的权重,然后再对损失函数中的贡献进行重加权,例如CogTree [15]、RTPB [21]、PPDL [22]。此外,TDE [19] 提出了一种反事实因果关系法来区分训练阶段的频率偏差。尽管在一定程度上缓解了不平衡问题,但这些去偏置 SGG 方法仍然具有不利影响。例如,在图 2 中,这些方法无法实现尾部谓词的出色性能和头部谓词的令人满意的行为。潜在的原因是它们在整个训练过程中都低估了头部谓词,从而破坏了头部谓词特征的表示能力,进一步影响了尾部谓词的学习。
- 长尾分布问题:Visual Genome 中最常见的 20 个谓词的分布
- 去偏和没去偏的结果可视化
数据集VG
VG 数据集的图像取自 YFCC100M [15] 和 COCO 数据集 [9],然后使用通过在线平台众包的人工注释器进行严格注释。简而言之,标注人员的任务是创建图像中区域的文本描述,然后将这些文本描述嵌入到他们正在描述的特定部分中,使用边界框将被描述的对象以及连接到对象和对象之间的关系和属性作为基础边界框。最终数据集由超过 380 万个边界框组成,分为 33,877 个对象类别,这些边界框由超过 200 万个总关系(分类为 42K 不同的关系谓词)连接,此外还有超过 250 万个描述分类对象的属性边界框(具有 68K 个不同的属性)。平均而言,一张图像预计包含 35 个对象边界框、26 个属性和 21 个关系。
因此,Visual Genome 数据集非常适合场景图生成任务 ,其中给定输入图像,期望模型输出图像中找到的对象并描述关系它们之间。在此任务中,由于对象类别和关系谓词之间严重的类不平衡,在 VG 数据集中发现的大量对象和关系可能是一个缺点。
- 场景图文献中的常见做法是选择使用 VG 数据集的一个子集,即 VG200 数据集 [12],其中包含 150 个最常出现的对象及其 50 个最常见的关系。 VG200 数据集中的最终对象计数为 1,145,398 个对象,即前 150 个对象类(在 33K 类中)约占边界框总数的三分之一。 VG200 中保留的总关系分布在 50 个谓词中,为 622,705 个关系(这些关系不在描述 2M 原始关系的原始 42K 谓词中)。总的来说,这有助于减轻对象和关系之间固有的类不平衡的严重性,但不会完全改变原始视觉基因组数据集。场景图文献中的另一种常见做法是将 VG 数据集中发现的关系三元组形式化为 [subject, predicate, object] 三元组。 [leaf, on , tree],其中 leaf 是主语,on 是谓语,tree 是关系的宾语。
- 在 VG200 数据集中包含人类的超过 243,000 个关系三元组中,人类是这些关系中大约 84% 的主体,而他们仅占 19% 的对象。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律