当前位置: 首页 > 编程日记 > 正文

亮风台提出用完全可训练的图匹配方法,优于最新SOTA | CVPR 2020

出品 | AI科技大本营(ID:rgznai100)

6月14日-19日,CVPR 2020在线上举行,据了解,本届大会共收到6656篇投稿,接收论文1470篇,录用率约22%,低于ICCV 2019论文录用率(25%),为十年以来最低录用率。

在今年的CVPR上,AR公司亮风台提出完全可训练的图匹配方法,论文《Learning Combinatorial Solver for Graph Matching》入选CVPR 2020 Oral presentation(约5%比例)。据了解,在CVPR 2019上,亮风台投影AR新算法同样入选 Oral环节,该成果为投影AR技术应用落地提供了重要的技术基础。


在计算机视觉领域,基于学习的图匹配方法已经有十多年的发展和探索史,近几年发展和普及速度更迅速。然而,以往的基于学习的算法,无论有无深度学习策略,都主要集中在节点学习和/或边缘仿射的生成上,而对组合求解器的学习关注较少。


亮风台及其合作方提出了一个完全可训练的图匹配框架,在该框架中,仿射学习和组合优化求解并不像以往的许多技术那样被明确地分开。团队首先将两个输入图之间建立节点对应的问题转化为从一个已构造的分配图中选择可靠节点的问题。随后,采用图网络块模块对图进行计算,形成各节点的结构化表示。最后为每个节点预测一个用于节点分类的标签,并在排列差分和一对一匹配约束的正则化下进行训练。

为了进行评估,新算法在四个公共基准上进行了测试,与包括非学习和基于学习的算法在内的八个最新基准进行了比较。该算法对噪声和异常值具有较强的鲁棒性,总体上优于所有的基线算法。

总体来说,新成果提出的图匹配学习框架有三个方面的贡献:

• 通过构造一个给定两个待匹配输入图的赋值图,将图匹配学习转化为节点选择学习;

• 将仿射学习和组合优化求解结合到一个统一的学习框架中,并扩展了用于结构表示和关系推理的图形网络块模块;

• 设计了一个新的损失函数,其中施加一对一匹配约束来监督网络的训练。

基于学习的图匹配

传统图匹配的研究主要依赖于手工构建的仿射关系,这些仿射关系作为组合求解器的输入。这种预先定义的参数关联模型会限制捕捉真实匹配任务结构的灵活性,不合适的关联模型可能会使匹配求解器偏离真实匹配解。

针对这一问题,图匹配的学习在提高匹配精度方面显示了其优越的性能,这主要是通过学习图亲和力度量的参数来代替手工构建的亲和力度量来提高的。大多数传统的学习图匹配算法都是有监督的算法,需要对每个正图中的每个节点对应关系进行详细的标记以进行训练。这些算法分别使用大余量方法、非线性逆优化和基于平滑的技术以有监督的方式训练匹配参数。与有监督方法相比,无监督方法不需要大量的节点级标记。后来,Leordeanu等人为二阶以上约束模型提供一个半监督学习公式。与这些方法不同,Cho提出为类的所有实例参数化一个图模型,并学习其结构属性以进行可视化对象匹配。

尽管深度学习技术在许多领域都显示出强大的威力,但关于图形匹配的深度学习的文献仍然有限。为数不多的开创性研究主要是对深网络中的参数亲合函数进行编码,以便在计算出的节点和边缘亲合下获得正确的匹配分配。Zanfir和Sminchisescu将图匹配作为一个二次指派问题,在使用深参数特征层次表示的一元和成对节点仿射下进行。它采用谱匹配作为组合求解器,对反向传播具有可微性。Wang等人使用图卷积网络(GCN)框架作为节点嵌入模块,该模块聚合图结构信息以生成节点音调相似性。通过这种方法,图匹配被放松为线性分配,并采用Sinkhorn网作为组合求解器。

我们的工作属于深度学习算法组。与以往的方法相比,我们的方法不仅关注于亲和函数的学习,而且关注于组合求解器的学习,它们被有效地组合成一个完全可训练的图网络。为了提高匹配精度,我们在学习框架中引入了强结构表示和它们之间的关系归纳偏差,并通过实验验证了其良好的性能。


问题描述


2.1图匹配问题

n个节点的无向图可以用表示,其中分别表示节点集和边缘集。图通常由一个对称邻接矩阵表示,当且仅当Vi与Vj之间存在边时,Aij=1。通常将非负实值权重Aij=Wij与所有节点对相关联,将邻接矩阵泛化为加权图。这种概括对于许多应用程序捕获节点之间的结构关系很重要。在本文的其余部分中,除非另有说明,否则所有提及的邻接矩阵均以实数值加权。

对于图匹配问题,给定两个节点为的图,不失一般性我们假设。图匹配问题可以表示为找到一个节点对应关系以支持如下的全局一致性:

上式表示的加权图匹配在实践中通常受到限制,因为每个图的边仅与标量属性相关联,并且边缘一致性函数仅限于边缘权重之差。在最近的研究中[6,7,9,11,19],图匹配问题通常描述为

其中是将节点对应关系映射到整数索引的双射函数。

在本文中,我们主要研究上式的图匹配算法,因为它不仅可以编码边权重之差,而且还可以编码许多复杂的兼容性函数。

2.2 匹配作为节点标注问题


图1. 分配图构造示例

在过去的几十年中,针对上述图节点选择问题已经提出了许多算法。最近的一些研究包括使用特征向量技术在分配图中找到主要的强连通簇,以及采用Markov随机游走的统计数据来选择可靠的节点。

与这些手工设计的算法不同,本文提出了一种数据驱动的方法,该方法能够学习如何解决整数二次程序(IQP)问题。


我们的方法:群组敏感的图网络框架

Battaglia等提出了一种图网络(GN)框架,该框架在图结构上运行并相应地构造其计算,定义了一类用于图结构表示的关系推理的函数。

GN框架中的主要计算单元是GN块,它是一个图到图的模块,该模块将图作为输入,对结构进行计算,然后将图作为输出返回。在GN块中处理的信息分为三个级别:实体由图的节点表示,实体的关系由边表示,系统级别的属性由全局属性表示。一个GN块包含:

三个聚合函数将输入图的信息从边到节点,最后到全局属性进行聚合;三个更新函数,使用聚合的信息来更新输出图。

原始图匹配问题的一对一匹配约束意味着:分配图中的同一节点相关联的任何节点子集都包含一个且只有一个正节点。这些一对一匹配约束通常在指导解决图匹配问题中起关键作用。为了在我们的图网络中施加一对一的匹配约束,因此我们需要聚集分配图中的不同节点子集的信息。但是,中提出的GN框架由于缺乏群组级属性而不足以对节点的子集进行建模。

为解决上述问题,我们为图匹配问题开发了一个可感知群组属性的GN框架。我们的群组敏感的GN框架分为四个级别:实体由图形的节点表示,实体的关系由边表示,节点的子集属性由群组属性表示,系统级别的属性由全局属性表示。相应地,它包含5个聚合函数,和4个更新函数 ,

当将图G作为输入提供给群组敏感的GN块时,计算将从边、节点、群组、最后到全局级别进行。算法1显示了完整的群组敏感的GN块中的计算步骤。请注意,尽管我们在此假设了此步骤顺序,但实际计算并不一定需要按该顺序严格执行。同样,某些计算步骤可以根据不同的任务跳过。例如,在我们的图匹配实验中,全局属性是不必要的,因此将跳过步骤6、7、8和9。特别是,如果我们在某些任务中不使用群组级别的属性,并删除步骤4、5和8,则群组敏感的GN块简化为原始GN块。


实验

4.1 模拟2D点集

4.2 CMU House数据集

CMU房屋数据集包括111个图像序列帧,其中所有序列都包含经过变换的相同房屋对象。为了评估匹配精度,在所有帧中手动跟踪并标记了30个标定点。

对于训练中的每个试验,我们通过从111帧中随机选择两个示例来形成图像对。为了评估噪声对图匹配算法的影响,我们使用节点设置(n1, n2)=(10, 30),其中该对的第一个示例从30个标定点中随机选择10个点,这意味着第二个示例包含20个离群点。我们将每个标定点建模为一个图节点,然后通过Delaunay三角剖分建立图的边。每条边(i, j)赋予权重Aij,权重Aij计算为连接节点vi和vj之间的欧式距离。节点亲密度设置为0,并且计算中的边(i,j)和中的边(a,b)之间的边亲和度为

为了进行测试,我们匹配了所有可能的图像对,总共560对图像相隔10、20,...,100帧,其中增加的采样间隔意味着变形程度的增加。节点选择、图形构造和亲和力生成与训练时相同。图3示出了相对于不同图像序列间隔的性能曲线。


4.3 Willow数据集

此数据集由Minsu Cho等人提供,他们从Caltech-256和Pascal VOC 2007收集了五类图像,即汽车,鸭,人脸,摩托车和酒瓶。每个类至少包含40张具有不同实例的图像,并在每个类别的所有图像上手动绘制了10标定点标记在目标对象上。

表1显示了我们的算法与基准算法的匹配精度([5、15、17]的结果引自[15])。


结论

为了提高匹配精度,提出了一种新的图形匹配深度学习算法。我们首先将输入图之间建立节点对应的问题转化为从构造的指派图中选择可靠节点的问题。为了解决节点分类问题,我们提出了一种完全可训练的网络,该网络嵌入图网络块模块,通过对每个节点的邻域进行卷积,形成其结构化表示。此外,还提出了一种新的损失函数来编码一对一的匹配约束,以指导网络的训练。实验结果表明,我们的图匹配算法对噪声和离群点具有较强的鲁棒性,并优于目前最先进的算法。

原文链接:

http://openaccess.thecvf.com/content_CVPR_2020/html/Wang_Learning_Combinatorial_Solver_for_Graph_Matching_CVPR_2020_paper.html

推荐阅读
  • 利用 AssemblyAI 在 PyTorch 中建立端到端的语音识别模型

  • 用 Python 训练自己的语音识别系统,这波操作稳了

  • Python 还能实现哪些 AI 游戏?附上代码一起来一把

  • 使用虚幻引擎4年,我想再谈谈他的网络架构

  • 真惨!连各大编程语言都摆起地摊了

  • 谁是合约届「技术之王」?

你点的每个“在看”,我都认真当成了AI

相关文章:

数组与纠结的排序篇

数组之纠结的排序 1.数组是什么? 数组:所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,…

ASP.NET结合COM组件发送Email

在开发电子邮件发送程序的时候,我们经常需要使用到相应的组件,其实不需要第三方的组件(例如:Jmail)照常可以做到发送Email的功能。 在系统目录(如c:/winnt或c:/windows)的system32子目录中可以找…

卡巴循环30天不限次数循环试用工具

本文需评论之后方可查看! echo off title 卡巴循环30天不限次数循环试用工具 echo off echo 卡巴循环30天不限次数循环试用工具 echo. echo echo 卡巴斯基6/7/8试用过期时清除系统中使用痕迹,就象新系统重新安装卡巴一样 echo 1、在屏幕右下角红V卡巴图…

微软CEO纳德拉对话沈向洋:那些未来可期的计算机视觉研究与应用

编者按:6月16日,CVPR 2020 大会以全球连线的形式如期开幕。在大会的首场主题演讲中,微软公司 CEO 萨提亚纳德拉与微软公司前执行副总裁沈向洋进行了一场精彩的炉边对谈,分享了对计算机视觉、人工智能研究与应用前景的思考与展望。…

SoapUI进行REST请求,POST方法提交到数据库的数据乱码问题

一开始以为要把json字符串的key和value一个一个的加进去,结果总是报 300,参数错误,后来才发现(https://www.joecolantonio.com/2013/08/31/soapui-how-to-post-json-to-a-rest-service-2/)可以直接在下面粘贴就好了&am…

网站信息统计的简单实现过程

作者: pcskySQL语句如下: SELECT DD.SumHits, AA.CountArt, CC.WeekUpdate, BB.RegUserNumFROM(SELECT COUNT(newsid) AS CountArt FROM article) AA,(SELECT COUNT(id) AS RegUserNum FROM Admin) BB,(SELECT COUNT(newsid) AS WeekUpdate FROM(articl…

谈谈C#中类成员的执行顺序.

今天我们来谈谈C#中子类和父类中静态成员以及构造函数的执行顺序,这个地方向来是初学C#的人比较迷惑的地方,也是各大公司最喜欢拿来出面试题的地方。 下面我们分情况来分析。 1. 普通构造函数和静态构造函数的执行顺序。 对于单个的类,它的静…

AI 重塑 IT的 5 种方式

作者 | Stephanie Overby译者 | 火火酱,责编 | Carol封图 | CSDN 下载于视觉中国Gartner最新的人工智能(AI)hype cycle报告指出,AI在未来五年中CIO议程中的排名十分靠前,对潜在业务转型具有重要影响。然而,…

[原创]Gerrit中文乱码问题解决方案分享

应开发同事的要求,部署了GitlabGerritJenkins的持续集成环境. 但是发现了一个问题,Gerrit登陆后有中文乱码出现. 具体情况如下: (1)Git代码中的中文乱码处理: 为妥善解决中文编码的问题,对所有git repository做如下约定:所有文本文件都必须存储成utf8编码…

UVA 10700 Camel trading

UVA_10700我们可以猜到最大值一定是先算和后算积&#xff0c;最小值一定是先算积后算和,因为a*bc<a*(bc)。此外&#xff0c;这个题目数据有可能比较大&#xff0c;所以要采用long long int或者double来处理数据。 #include<stdio.h>#include<string.h>#include&…

在ASP.NET中操作文件的例子

利用SYSTEM.IO 名空间中的STREAMWRITER,STREAMREADER及FILE类,完成文件读、写、删除的操作。 -------------------------------------------------------------------------------- 1、写文件 writefile.aspx <% Import Namespace"System.IO" %> 引…

云原生如此重要,可惜80%的人都不知道

文 | Aholiab责编 | Carol封图 | CSDN 下载自视觉中国2020年&#xff0c;一场疫情给中国企业带来了一次「被动数字化升级」&#xff0c;很多企业第一次认识到了信息化的重要性。今天&#xff0c;数字经济已无处不在&#xff0c;根据中国信息化百人会的研究报告显示&#xff0c;…

CentOS 7 yum 安装 MySQL5.7

为什么80%的码农都做不了架构师&#xff1f;>>> 0、环境 本文操作系统: CentOS 7.2.1511 x86_64 MySQL 版本: 5.7.13 1、下载 MySQL 官方的 Yum Repository 从 MySQL 官网选取合适的 MySQL 版本&#xff0c;获取下载地址。 然后使用 wget 下载&#xff1a; [rootce…

万字长文带你入门 GCN

来源 | 阿泽的学习笔记&#xff08;ID: aze_learning&#xff09;Convolutional Neural NetworkCNN 在图像识别等任务中具有重要作用&#xff0c;主要是因为 CNN 利用了图片在其域中的平移不变性。由于图结构不存在平移不变性&#xff0c;所以 CNN 无法直接在图上进行卷积。1.1…

VS.Net中程序集的Debug版本和Release版本的区别

作者&#xff1a;未知 请作者速与本人联系前几天看到豆腐的文章介绍如何知道程序集是Debug版还是Release版&#xff0c;之前只知道某些软件从功能上有企业版、标准版之分&#xff0c;却从不知道.Net程序集还有Debug和Release之区别&#xff0c;真是惭愧学了这一年C#。然后在博…

《CLR via C#》笔记——CLR的执行模型

一&#xff0e;将源代码编译成托管代码1&#xff0c; CLR&#xff08;Common Language Runtime&#xff09;公共语言运行时是一个可由多种语言使用的“运行时”&#xff0c;CLR的核心功能&#xff08;比如内存管理&#xff0c;程序集加载&#xff0c;安全性&#xff0c;异常处理…

telnet时显示:允许更多到 telnet 服务器的连接。请稍候再试

telnet时显示&#xff1a;允许更多到 telnet 服务器的连接。请稍候再试 解决办法:windows自带telnet服务器默认的最大连接数为2&#xff0c;要想修改该设置&#xff0c;可以在命令行键入tlntadmn config maxconn要设置的连接数。最大连接数是指同一时刻内客户连接服务器的最大数…

Asp.net支持的最大上传文件大小

Asp.net的默认的最大可以上载的文件是4M,可以在web.config中配置.配置 ASP.NET HTTP 运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。 <configuration> <system.web> <httpRuntime><httpRuntime useFullyQualifiedRedirectUrl&q…

ASP.NET--Menu控件

http://www.meituan.com/r/i13110281 Menu控件提供静态和动态混合的菜单功能。在向页面添加这个控件的时候&#xff0c;开发人员可以选择将它设置为一个完全动态的菜单&#xff0c;以便整个站点的导航结构都可以显示在菜单中&#xff0c;类似于Windows的Start菜单。另一种选择是…

AI进军服装零售产业:微软小冰与特步推出定制化服装设计生产及零售平台

&#xff08;6月22日&#xff0c;北京&#xff09; 今日&#xff0c;体育用品企业特步集团与微软小冰宣布达成合作&#xff0c;依托微软小冰人工智能创造技术共同推出的定制化服装设计生产及零售平台即将上线。双方携手为消费者提供定制化图案设计&#xff0c;满足每个消费者的…

PHP如何通过Http Post请求发送Json对象数据?

因项目的需要&#xff0c;PHP调用第三方 Java/.Net 写好的 Restful Api&#xff0c;其中有些接口&#xff0c;需要 在发送 POST 请求时&#xff0c;传入对象。 Http中传输对象&#xff0c;最好的表现形式莫过于JSON字符串了&#xff0c;但是作为参数的接收方&#xff0c;又是需…

字符串截取固定长度的方法

这个函数也没有什么特别之处&#xff0c;就是可以截取一定长度的字符串&#xff0c;可能小特点就是len是字节&#xff0c;解决了汉字与英文字节不一样导致直接截取到的长度不一样的问题&#xff0c; #region 字符串截取函数 public static string CutString(string inputStrin…

hql中常用函數介紹二

为什么80%的码农都做不了架构师&#xff1f;>>> 四. ISNULL 函数和 NULLIF 函数SQL Server里的 ISNULL 与 ASP 中的 IsNull不同&#xff0c;SQL Server 中有两个参数&#xff0c;语法&#xff1a; ISNULL(check_expression, replacement_value) check_expression 与…

技术直播:讲一个Python编写监控程序的小故事

今年疫情“黑天鹅”事件改变了大家的生活。相信大家都经历过&#xff0c;每天早晨起床第一件事&#xff0c;就是查看数据。这些数据不仅仅是人们对活着的渴望&#xff0c;也是在建立对战胜疫情的决心。那么技术人怎么能通过自己所学的去进行数据监控呢&#xff1f;今天CSDN邀请…

ios开发之系统信息

1. //手机系统版本 self.phoneVersion [NSString stringWithFormat:"iOS %",[[UIDevice currentDevice] systemVersion]]; 2. // 获取当前设备可用内存(单位&#xff1a;MB&#xff09; - (double)availableMemory { vm_statistics_data_t vmStats; mach_msg_type_n…

混合时空图卷积网络:利用导航数据改进交通预测效果 | KDD 2020

作者 | 高德机器学习团队出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;引言时空预测&#xff08;spatio-temporal forecasting&#xff09;在天气预报、运输规划等领域有着重要的应用价值。交通预测作为一种典型的时空预测问题&#xff0c;具有较高的挑战性。日常通…

MS SQL Server和MySQL区别

- 最近在做MS SQL Server转换成MySQL的工作&#xff0c;总结了点经验&#xff0c;跟大家分享一下。同时这些也会在不断更新。也希望大家补充。   1 MySQL支持enum,和set类型&#xff0c;SQL Server不支持 2 MySQL不支持nchar,nvarchar,ntext类型 3 MySQL的递增语句是AUTO_INC…

DataGrid在分页状态下删除纪录的问题

在使用DataGrid分页的时候&#xff0c;正常情况下&#xff0c;绑定数据库列表纪录时会自动产生分页的效果&#xff0c;然而我发觉在删除纪录的时候总会发生"无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。"的异常&#xff0c;其实解决这个问题很简…

thinkphp pathinfo nginx 无法加载模块:Index

thinkphp 报了 无法加载模块:Index 错误位置 FILE: /var/multrix/wxactivity_archive/ThinkPHP/Library/Think/Dispatcher.class.php  LINE: 177 这个错&#xff0c;刚开始以为是路由错了&#xff0c;还跟了一下代码&#xff0c;始终没有答案&#xff0c;弄了一上午&#xff0…

Linux普通用户启动tomcat

修改tomcat/bin/catalina.sh文件&#xff0c;加入 export JRE_HOME/usr/java/jre1.6.0_27 ------------------------------------------------------ #!/bin/sh # chkconfig: 2345 80 30# description: tomcat starup scriptCATALINA_HOME/usr/local/apache-tomcat-7.0.21su - …