百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

|期刊分享|机器视觉|RGBD图像的较好跟踪角点

toyiye 2024-07-05 01:26 10 浏览 0 评论

编者序:特征在视觉中非常重要,分为关键点和描述子,本文给出了Harris和GFTT角点在RGBD图像中的一种扩展,在三维流形上检测特征的确很麻烦,话说Good feature to track名字的确好听。


推荐指数☆☆☆☆


一、引言

建立两张或多张图像之间的局部视觉对应关系需要找到一系列看起来相似的局部特征,进而估计某种变换,如旋转、平移和尺度变换等。许多计算机视觉问题可分解为检测这些对应关系的数量与置信度,如图像提取、分类、目标跟踪、视觉里程计和SLAM等。

过去十年,传统图像的视觉匹配研究很多,有很多局部特征提取方法。然而,新的更丰富的视频格式(如RGBD、3D mesh等)的出现需要新的图像匹配工具,尤其是提高这些局部特征,以便能够解决这些视觉内容的表征。本文聚焦于RGBD表征,不同于点云,RGBD格式包括了传统图像的基于像素的表征和描述目标距离的深度图。

RGBD可以利用一些传统的2D图像匹配算法仅匹配texture,然而以合适的方式融入深度信息后提取的特征对一些视觉退化更稳健,如视角失真或变化、超平面旋转等。一些文献利用深度信息增强局部特征的描述能力,然而很少有文献探索关键点检测时用到的几何信息。我们以前提出过一种尺度不变blob检测器,本文则进一步研究关键点提取问题,处理另外一类广泛应用的角点。

本文考虑GFTT(good feature to track)和Harris角点原理,并将它们扩展到RGBD模式,在付出一些计算代价的条件下使得3D关键点检测更稳健。本文的主要贡献有两方面:(1)描述了一种基于自适应局部坐标的将深度融入局部特征检测的通用方法;(2)将GFTT和Harris角点检测技术扩展到texture+depth图像。

二、背景知识

视觉匹配(visual correspondence)一般通过图像匹配算法实现,包括三个步骤:(1)关键点检测,旨在在图像上找到感兴趣点;(2)特征描述,根据关键点的邻域计算其紧凑描述;(3)描述子匹配,定义了局部描述子比较方法。本文聚焦于第一步,RGBD图像上的关键点检测。

根据寻找的图像特征种类,关键点检测器可分为blob和corner检测器两种。流行的blob检测器包括SIFT中的DoG检测器、SURF中的快速Hessian检测器。《Keypoint detection in rgbd images based on an anisotropic scale space》提供了RGBD尺度空间构建的简明公式及完整的blob检测流程。据我们了解,本文是第一个提出RGBD图像corner检测器的。

第一个角点检测器是Harris提出的,至今也很流行。他们注意到图像梯度的二阶moment矩阵M的特征值ratio,用卷积核W平滑后可以提取到可重复的角点:如果图像中某位置ratio足够小,则是角点。他们进一步证明了没必要显式计算特征值,只需用M的行列式和迹计算出R即可,角点区域R为正,边缘区域R为负,R的局部极大值处就是角点。因此,Harris检测器将过门限的R的局部最大值提取角点。

Shi等人根据M的特征值提出了不同的检测原理,他们观察到M的最小特征值的最大值处同样可提取到明显角点,并且过门限的最小特征值保证了M的条件数良好,更容易提取到稳定的关键点,该检测器叫做GFTT。Tommasini等人提出了GFTT去除突变特征的高效方法,Sipiran等人将Harris扩展到mesh。

本文提出的关键点提取一般方法,可以在surface上执行关键点选择测试,而不是标准的图像平面。除了harris和GFTT,本文方法也可扩展到其它角点检测方法中,如SUSAN、AST等等。

三、本文方法

超出平面旋转和任意相机位置变化的主要影响是视角失真,影响关键点的可重复性,为了建模补偿这些变换,我们通过计算局部自适应坐标得到基底的变化。使用新坐标系代替正规图像像素级平面网格坐标,能够通过深度图的表面图解释RGB图的视角失真。

首先考虑将RGB图描述的光度(photometric)像素强度映射到深度图描述的流形(manifold)。为了在映射后的texture manifold上检测关键点,我们对表面的每个点在tangent平面进行测试,获得的二阶矩阵如下所示(注意坐标与Harris原始定义不同,含方向)

然后执行Harris或GFTT最小特征值测试及局部最大抑制。这样,在流形上检测而不是在图像平面上,变得与内容相关而很少依赖相机的相对位姿。

为了获得自适应局部坐标,首先在tangent平面上选择一个基底,然后根据针孔相机模型将它投影到相机平面,基底使用点云估计表面坐标的通用方法PCA获得,然后将该坐标系规范化。如下图所示。

四、实验

我们进行了标准检测器可重复性测试和视觉里程计应用实验,并与传统图像角点检测的state-of-the-art方法对比,其中GFTT、Harris和Fast AST使用OpenCV部署,BRISK使用作者原文“BRISK: Binary robust invariant scalable keypoints”部署,该方法是Adaptive Generic AST方法的尺度协变扩展(Adaptive and generic corner detection based on the accelerated segment test)。

重复性分数(repeatability score)是评估关键点检测器的标准测量方法。对于同一个场景的不同视角序列,在所有图像上检测关键点后,计算其余视角与参考视角的重复关键点个数,出现在场景中(近似)相同的物理位置的关键点认为是重复。本文认为体积重叠50%是重复关键点。为了公平起见,调整每张图像的门限使得每张都检测到1000个关键点。在Bricks、Graffiti和Fish序列上的结果如下图所示。

BRISK分数低的原因:BRISK detector exhibits lower matching scores, since it is the only scale-covariant detector used in the test, but for a fair comparison we ignore its keypoint scales in the overlap error computation(一句话,没有考虑尺度问题,评价指标不行哈)。

视觉里程计测试使用Freiburg数据集的两个序列,可以测试给定的特征是否可以跟踪良好,ground truth使用GPS和IMU采集。使用“On the development of a robust, fast and lightweight keypoint descriptor”文中方法计算轨迹,每张图像最多使用500个关键点,使用BRAND方法匹配。评价指标是旋转误差和平移误差,结果如下图所示。

我们认为Harris不太好的原因在于该序列相机的快速运动,使得texture中有明显的方向模糊,而GFTT由于二阶矩阵条件数良好可以良好跟踪。


英文名称:GOOD FEATURES TO TRACK FOR RGBD IMAGES

链接:

http://www.mirlab.org/conference_papers/International_Conference/ICASSP%202017/pdfs/0001832.pdf

Question:

在未校正的鱼眼失真图像上能不能检测到稳定特征?


死磕自律,遇见更好的自己;自斩双臂,方能长出强两翼。

败而不弃,潜龙勿用待时机;执着坚毅,飞升上神创奇迹!


关注该公众号,一起创造奇迹。

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码