【场景图生成】Unbiased Scene Graph Generation from Biased Training

2023-05-16

文章下载地址:https://arxiv.org/pdf/2002.11949.pdf

代码地址:GitHub - KaihuaTang/Scene-Graph-Benchmark.pytorch

发表地点:CVPR 2020

1 内容概述

现有的场景图生成方法因为training loss的存在,也就是数据集中关系分布存在长尾分布,存在关系检测并不准确的问题。

本文提出了一种基于TDE的因果推理的场景图生成方法,保留biased traing的过滤结果作用,同时去除图像内容上下文干扰带来的关系检测不准确这一副作用。

通过这样一种训练方式的改善,可以看见场景图生成效果的提升。

2 研究背景和创新点

背景:场景图生成任务本是为下游任务例如captioning,VQA提供一个全面的视觉场景表征。现有的方法往往会抛弃掉模糊的视觉关系,将所有的内容抽象成一张graph,图中具有稀疏的object分布以及一些binary的links.

问题:因为严重的training bias,现有的生成模型更像是一堆object词汇的堆积。

​例如b所示,因为训练集合中各类关系的长尾分布,很容易在后续场景图生成的过程中用near等常见关系来替代behind/in front of等不常见关系。所以如何更好地分辨细粒度的视觉关系呢?

bias也可以分成两类:好的contextual prior,可以帮助过滤不合理的关系对,例如apple不可能park on table;坏的long-tailed bias,就如上面所述。

如何留下好的,去掉坏的bias,找出一种unbiased的训练方式就是研究的重点了。

创新点:决策往往是针对内容content和上下文context一起确定的,人类不会因为环境的bias做出不恰当的决定作者认为是因为人类可以进行因果推理。

因此文章的创新点就是将likelihood-based的推理变成causality-based的推理,重点就是分辨训练数据带来的main effect以及side effect。

​如果可以将常见的biased推理结果以及反事实的推理结果相比较,如上图b所示,是否就可以留下好的bias的过滤效果并且去掉上下文对谓词预测结果的影响呢?基于此,作者提出了一种基于total direct effect的unbiased场景图生成方法。

3 方法介绍

下方讲述将用因果图的角度来分析场景图生成这一任务

3.1 节点关系介绍

在上图(b)中,

节点I表示图像输入,嵌入预训练的Faster R-CNN模型,输出bounding box以及feature map;

关系I->X表示object feature extractor,可以对object进行特征嵌入;

节点X表示经过嵌入后的object feature;

关系X->Z表示object分类过程,将X输入后得到object的对应类别;

节点Z表示object的类别;

关系X->Y表示对场景图生成的object feature输入;

关系Z->Y表示对场景图生成的object class输入;

关系I->Y表示对场景图生成的视觉上下文输入;

节点Y表示predicate classification,谓词预测,也就是将三部分输入融合在一起后得到的预测结果;

训练损失就是常见的cross-entropy loss.

3.2 内容介绍

​如(a)中在学习到好的contextual prior之后,进行因果推理过程中的干预。

图(b),就是将I->X的边切断,给X随便赋值,忽略掉object特征对推理结果的干扰,尽量避免视觉内容对推理结果的干扰。

图(c)就是反事实推理,不改变Z,只是改变X的结果,只依赖上下文得到的推理结果。

(c)中的结果不针对object内容,只是由上下文带来的bias,也是我们想去除的。

在因果推理中,最后的预测结果也就是total direct effect(TDE),计算方法如下所示

最后的预测结果也是两个预测logits的相减。

4 实验结果

作者在Visual Genome数据集上做了场景图生成的实验,在COCO以及VG上完成图文检索的实验。

作者通过relationship retrieval,zero-shot relationship retrieval以及sentence-to-graph retrieval等方面来判断场景图生成的好坏与否。发现通过TDE这样的一种计算方式,实验结果有了明显的提升。

实验的可视化结果也展现了通过TDE这样一种谓词预测方式后生成结果的改善。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【场景图生成】Unbiased Scene Graph Generation from Biased Training 的相关文章

  • ROS安装时rosdep init与rosdep update问题解决方法(2022.04.08亲测)

    2022 4 8更新 xff1a 运行下面的指令即可 span class token function sudo span span class token function apt get span span class token f
  • 【已解决】mmcv/_ext.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZN6caffe28TypeMeta21_typeMetaData

    问题描述 使用MMDetection复现论文 xff0c 出现如下Bug xff1a ImportError home quaiping anaconda3 lib python3 7 site packages mmcv ext cpyt
  • g2o图优化简介与基本使用方法

    一 g2o简介 g2o xff08 General Graphic Optimization xff09 是一个基于图优化的库 xff0c 将非线性优化与图论结合起来的理论 xff0c 我们可以利用g2o求解任何可以表示为图优化的最小二乘问
  • Realsense安装使用过程问题汇总

    1 安装失败内核不支持 问题 xff1a 由于我在Ubuntu20 04上进行安装 xff0c 内核版本为5 13 xff0c 而目前realsense最高仅支持到5 4 xff0c 所以内核版本过高需要降低内核版本才能再次编译安装 官方要
  • ROS与STM32通信的实现

    ROS功能包与STM32工程文件 xff1a 蓝奏云 xff1a https huffie lanzouw com iN7w602ti37a 1 通信协议 STM32和ROS端各有一个数据发送函数和数据接收函数 xff0c 发送和接受的数据
  • C语言 字符串最后一位可用’\0‘标示

  • 基于C#的工控上位机软件开发从入门到学废,需要几步?

    基于C 的工控上位机软件开发从入门到学废 xff0c 需要几步 xff1f 随着工控产品的应用 xff0c 开始大幅度渗透进民用领域 涉及的工控产品范围广泛 xff0c 如PLC DCS 变频器 仪表 电机 SCADA 低压及配电元器件等
  • 工作生活篇之第六天

    工作生活篇之第六天 最近由于疫情的影响 xff0c 国家电网也发布了最新消息 xff0c 电费在欠额的情况可继续使用 本来我是以为只有电费欠费可以继续使用 xff0c 没想到燃气费也是 xff0c 最近燃气费不多了 xff0c 然后还得去银
  • 工作生活篇之第九篇

    工作生活篇之第九篇 一直觉得这世上告别仪式挺多的 xff0c 比如喝酒 旅行 xff0c 或干脆痛哭一场 xff0c 可是后来才知道 xff0c 人生中大部分告别是悄无声息的 xff0c 原来某天的相见 xff0c 竟已是最后一面 xff0
  • ROS:查看ROS相关信息的常用方法(三)

    文章目录 一 ROS命令与节点话题查看1 rosnode2 rostopic3 rostopic info 话题名称4 rosrun rqt graph rqt graph 二 rqt工具与节点话题查看 一 ROS命令与节点话题查看 1 r
  • 【算法】基于STM32的MPU6050卡尔曼滤波算法(入门级)

    1 简介 卡尔曼滤波 xff08 Kalman filtering xff09 是一种利用线性系统状态方程 xff0c 通过系统输入输出观测数据 xff0c 对系统状态进行最优估计的算法 由于观测数据中包括系统中的噪声和干扰的影响 xff0
  • 爬虫的爬取策略: 宽度优先与深度优先

    64 爬取策略 xff1a 宽度优先与深度优先 1 分别的优缺点 2 什么场景下用 xff1f 爬虫的抓取策略 在爬虫系统中 xff0c 待抓取URL队列是很重要的一部分 待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题 x
  • shell脚本内调用另外一个shell脚本的几种方法

    有时会在一个shell脚本 如test call other shell sh 中调用另外一个shell脚本 如parameter usage sh xff0c 这里总结几种可行的方法 xff0c 这些方法在linux上和windows上
  • 真实项目开发的input标签焦点事件运用

    真实项目开发中input标签焦点事件的运用 开发工具与关键技术 xff1a VisualStudio C 作者 xff1a 落白 撰写时间 xff1a 2019 6 15 在开发项目时有时候会需要这么一个功能效果 xff0c 比如有六个in
  • layui use 定义js外部引用函数

    layui use 加载layui define 定义的模块 xff0c 当外部 js 或 onclick调用 use 内部函数时 xff0c 需要在 use 中定义 window 函数供外部引用 window span class tok
  • shell脚本中内嵌可执行文件/文件

    示例 test sh span class token operator span span class token operator span bin span class token operator span sh 追加在shell脚
  • 浅谈嵌入式

    浅谈嵌入式 相比耳熟能详的互联网行业 xff0c 嵌入式这几个字眼出现在公众眼前的几率可以达到忽略不计的程度 xff0c 这不仅说明嵌入式行业的工程师数量远比互联网少 xff0c 同时意味着嵌入式行业的吸引力貌似低于互联网 但是 xff0c
  • C语言系列(一):C语言程序概述

    C语言作为一种高级程序设计语言 xff0c 既有高级语言的方便性 灵活性和通用性等特点 xff0c 又兼具低级语言的特性 xff0c 提供程序员直接操作计算机硬件的功能 适合各种类型的软件开发 xff0c 深受软件工程技术人员的青睐 嵌入式
  • C语言系列(三):基本数据类型与表达式

    计算机中的数据不单是简单的数字 xff0c 所有计算机处理的信息 xff0c 包括文字 声音 图像等都是以一定的数据形式存储的 xff0c 数据在内存中保存 xff0c 存放的情况由数据类型决定 C语言的数据类型 基本类型 xff1a 整型
  • C语言系列(四): 分支结构程序设计

    选择结构是程序设计3种基本结构之一 xff0c 通过判定给定的条件是否成立选择需要执行的操作 C语言提供了条件语句 if语句和switch语句 用以实现选择结构的程序设计 xff0c 条件通常用关系表达式或逻辑表达式表示 C语言提供3种逻辑

随机推荐

  • C语言系列(五):循环结构程序设计

    循环结构是结构化程序设计的基本结构之一 xff0c C语言提供了三种循环结构语句 while语句 xff0c do while语句和for语句 for语句在C语言系列 xff08 二 xff09 xff1a 用C语言编写程序已经讲解 xff
  • C语言系列(六):函数与预编译处理

    模块化程序设计方法 在程序设计与开发中 xff0c 随着解决问题的复杂化 xff0c 编写程序的代码也更加复杂 一方面 xff0c 大量的程序语句会使程序的逻辑结构产生混乱 xff0c 给程序的编写 阅读和维护带来困难 xff1b 另一方面
  • Linux驱动开发经典面试简答题

    1 Linux设备中字符设备与设备有什么主要的区别 xff1f 请分别举例一些实际的设备说出它们是哪一类设备 字符设备 xff1a 字符设备是个能够像字节流 xff08 类似文件 xff09 一样被访问的设备 xff0c 由字符设备驱动程序
  • CMake中cmake_host_system_information的使用

    CMake中的cmake host system information命令用于查询各种主机系统信息 xff0c 其格式如下 xff1a cmake host system information RESULT lt variable gt
  • 一文知晓嵌入式Linux

    嵌入式Linux是什么 嵌入式Linux跟桌面Linux一样 xff0c 是一个操作系统 从单片机走过来的童鞋往往习惯于直接控制寄存器 xff0c 事必躬亲 xff0c 从零开始实现想要的功能 而在嵌入式Linux的世界里 xff0c 我们
  • 修改i.mx6ull Linux内核 启动logo

    1 制作Linux内核需要的开机logo xff08 ppm格式 xff09 1 1在Ubuntu系统上安装netpdm工具 命令如下 xff1a span class token macro property sudo apt get i
  • keil5编译错误error: #5: cannot open source input file “core_cm3.h“: No such file or directory

    用Keil vision5编译时出现 xff1a error 5 cannot open source input file core cm3 h No such file or directory 可能是MDK版本太新了 xff0c 我装
  • IPv6基础详解

    IPv6 由于internet规模的扩大 xff0c IPv4地址空间已经消耗殆尽 xff0c IETF在90年代提出了下一代互联网协议IPv6 xff0c IPv6支持几乎无限的地址空间 xff0c 并且配置更加简单 xff0c IPv6
  • Pycharm中debug使用学习

    1 运行环境 1 1 运行 xff1a 先确认项目运行环境 点击右下角python查看 向任务中添加环境 xff0c 一般加入anaconda的环境 xff0c 配置方便 切换到自己所需环境 添加运行环境 初次搭建 xff0c 哔哩哔哩中新
  • 对项目的梳理、流程和总结

    过程 我在制作 中国汽车技术研究中心 的一个演讲PPT前 xff0c 也已经有第一版的基础了 xff0c 不过 xff0c 第一版的PPT客户并不满意 xff0c 因为这个风格不是客户想要的 xff0c 所以客户对第一版的PPT并不是很满意
  • 【ROS】xxx is neither a launch file in package xxx nor is xxx a launch file name……解决

    在ros中新增加一个功能包时 xff0c 如果没有处理得当的话 xff0c 在执行时很有可能报如下错误 xff1a xxx is neither a launch file in package xxx nor is xxx a launc
  • FreeRTOS——流和消息缓冲区

    FreeRTOS 基础系列文章 基本对象 FreeRTOS 任务 FreeRTOS 队列 FreeRTOS 信号量 FreeRTOS 互斥量 FreeRTOS 任务通知 FreeRTOS 流和消息缓冲区 FreeRTOS 软件定时器 Fre
  • FreeRTOS——静态与动态内存分配

    FreeRTOS 基础系列文章 基本对象 FreeRTOS 任务 FreeRTOS 队列 FreeRTOS 信号量 FreeRTOS 互斥量 FreeRTOS 任务通知 FreeRTOS 流和消息缓冲区 FreeRTOS 软件定时器 Fre
  • CAS 6.5.5项目初始化搭建运行

    一 项目背景介绍 公司项目重构 xff0c 决定使用CAS中央认证系统 在GitHub上找到最新的稳定版本6 5 5 CAS项目在5 x版本的运行环境是jdk8 xff0c 使用maven做的项目管理 6 x使用的是jdk11作为运行环境
  • GoogleTest中gMock的使用

    GoogleTest中的gMock是一个库 xff0c 用于创建mock类并使用它们 当你编写原型或测试 prototype or test 时 xff0c 完全依赖真实对象通常是不可行或不明智的 not feasible or wise
  • 基于Autoware制作高精地图(一)

    基于Autoware制作高精地图 xff08 一 xff09 开始进入正题 xff0c 也是最近在忙的一件事 xff0c 制作高精地图 高精地图的制作大概分为以下四个流程 xff08 不一定完全正确 xff09 xff1a 1 构建点云地图
  • Ubuntu sh文件编写,开多终端,自动读取密码

    Ubuntu sh文件编写 xff0c 开多终端 xff0c 自动读取密码 开启多个终端自动读取密码 在最近的项目调试中经常需要开多个终端启动多个launch xff0c 这样的操作多了难免会感到烦躁并且时间一长再回去使用一些功能包的时候就
  • 控制理论——自动控制原理若干概念

    1 对自动控制系统的基本要求 稳定性 被控量因扰动偏离期望值后 xff0c 经过过渡过程可以恢复到原来的期望值状态 快速性 包含两方面 xff1a 过渡过程的时间 最大超调量 xff08 震荡幅度 xff09 准确性 指稳态误差 xff1a
  • Optitrack下通过mavros实现offbord控制

    参考文章 xff1a 树莓派通过MAVROS与Pixhawk PX4通信 PX4使用Optitrack进行室内定位 通过optitrack与妙算连接在同一局域网下 xff0c 关闭防火墙 xff0c 并设置刚体发布 vrpn安装 cd ca
  • 【场景图生成】Unbiased Scene Graph Generation from Biased Training

    文章下载地址 xff1a https arxiv org pdf 2002 11949 pdf 代码地址 xff1a GitHub KaihuaTang Scene Graph Benchmark pytorch 发表地点 xff1a CV