1.3 最近几年的工作
我是来自模式识别国家重点实验室的机器人视觉组,我们研究组专注于三维计算机视觉有20年的历史,在理论方面、在三维视觉的各个方面都有系统性的深入积累,除了发表在视觉领域顶级期刊、顶级会议的论文外,还有在国内外的竞赛中拿第一名的成绩,还有国内外专利的申请与授权、中英文专著的出版。另外,我们也追求技术的应用,我们和国内外的企业有长期合作。
1. 图像匹配
(1)图像描述子的提取
图像匹配里一个重要的工作,就是对图像描述子的提取。我们让一张图像参与计算,首先让图像里的一些特征进行代数化,三维视觉主要使用的是几何特征,比如点、直线、曲线等,这里指的图像的描述子,就是要提取到这些几何特征的图像表观本质,一个点的描述子就是把它转化成一个向量,然后就可以参与计算。描述子有两个重要的属性,一个是重复性;一个是可区分性。重复性就是你提出来图像的描述子,比如光照的变化、视角的变化、尺度的变化,在这些条件变化后,还要反映这个点的本质特征是不变的,这就是重复性。区分性,对不同的点,你提出的描述子,得到的描述子的向量应该是不同的,这就是描述子的区分性。图像描述子早期的工作是基于知识驱动的图像描述子方法,就是你做图像描述子必须有一定的专业知识背景才能做好图像描述子,比如最典型的、影响最广泛的SIFT描述子,你需要懂图像的灰度、梯度、光照等,才能设计出一个好的图像描述子。但是这类方法有它的限制,鲁棒性上是受限的。因此,2007年开始兴起了基于数据驱动的方法,即基于机器学习的方法,需要先验数据进行一些训练。到目前为止,深度学习非常火热,三维计算机视觉也不排除深度学习的方法,对图像描述子进行研究。这就是下面两类方法,一类是刚才讲的知识驱动的方法,一类是机器学习的数据驱动的方法。知识驱动的方法,虽然在性能上受限,但是速度还是快于机器学习的方法,目前虽然深度学习描述子取得了很大的进展,但是还比不上知识驱动的方法的速度。基于知识驱动,以及数据驱动的方法我们都有一系列的研究,早期有LIOP;最近我们也开始做深度学习的图像描述子。我们的基于知识驱动的方法,国际上多个专家在公开的数据库上测评得到的结论,我们的方法性能最好,超越了SIFT和SURF等。我们的代码都开源了,欢迎大家下载使用。
(2)深度学习的描述子方法
深度学习在底层的特征上发挥了很大威力,在几何学习上它不一定是性价比非常高的工具,但是不排除在特征的描述方法上发挥它的威力。现有深度学习方法有它的局限性,泛化能力弱,普适性不强,还需要度量学习,速度慢。在我们的网络中有6个3×3的卷积层、1个8×8的网络层。在构造目标函数时,我们考虑了多个误差约束,相似性的误差采用相对距离而不是通常的绝对距离;紧致性误差降低128位描述子位与位之间相关性,用来防止过拟合。为增强泛化能力,在两个中间层加入误差约束,无需更多参数。训练时2~4小时在GPU上,进行测试时,速度也很快,1秒钟可以做2万多个描述子的提取。这个网络输出128维向量就可以进行图像的匹配,如果计算描述子的最近点,我们直接计算欧氏距离L2范数即可,不需要度量学习,所以速度也是很快的。相关工作最近发表在CVPR2017;另外参加ECCV2016描述子竞赛,所有三项指标第一。这是实验的结果,可以看出,我们的方法超越SIFT方法几十个百分点,也超越了目前的深度学习的方法,这是patch分类上,patch检索上都有类似的结果。
2. 视觉定位
视觉定位主要一个研究方向是做SLAM(Simultaneous Localization and Mapping),主要解决的是相机在空间中的定位,以及创建环境的地图。最大的特性是基于视频,不仅是有连续性,还要有速度,最早起源于1986年。SLAM一个很大的特性就是连续进行工作,但是视频周围的环境非常复杂,光照的变化,完全遮挡,运动快速提取不到特征,则可能中断,需要进行重定位,保证它系统的连续性,因此重定位是非常必要的。最近在重定位方面的进展,一是基于随机森林的城市大数据千万级的毫秒级定位;二是基于Local Sensitive Hashing大数据实时定位。重定位最关键的问题是对已有的三维地图与当前图像进行匹配,基于这个匹配就可以计算相机的位置和姿态。由于这个数据量非常大,所以进行快速匹配是非常关键的。首先是要提取图像的描述子,如果按一般的提取,我们看视觉定位的过程,黄色部分是图像描述子提取的时间,绿色的部分是图像匹配的时间,最后蓝色的部分是定位的时间。
其中,图像描述子的提取在视觉定位中占了大部分的时间,怎样加快速度?一个最直接的想法,就是把这个图像描述子替换为二值描述子。但是替换之后,虽然描述子提取的时间缩短了,但匹配的时间增加了,并没有达到我们期望的结果。为了解决这个问题我们提出了两种方法,一个是基于随机森林的城市大数据毫秒级定位;一个是基于哈希(Local Sensitive Hashing)的实时定位。
①随机森林的方法。一般用这种方法就是按照一般的思路,先把三维点存储起来,新来了一个特征点,按照随机森林进行搜集和匹配。我们很大的不同就是在已有的三维地图重建时,利用了一系列的二维图像,把二维图像的描述子信息利用起来。利用这种信息建立了目标函数,考虑了两个误差。一个是误差率,误差率越小匹配精度越高;另外还考虑了随机森林的叶子节点大小,一个叶子节点的大小是指叶子节点里存储的点的个数,叶子节点大小越均匀,搜索时速度越快。所以我们建立了基于这两个因素的目标函数,将已有的三维地图中的点存储在随机森林的叶子节点里,建立了一个概率,新来一个特征,基于这个概率可以优先搜索到最大成功概率的叶子节点。在这个叶子节点里进行搜索,不仅保证了速度,而且保证了一定的精度。我们目前的实验是一个普通的笔记本上这样的配置上,只是基于CPU的。在公开的数据库上,与大数据的搜索方法也进行了比较,红色的部分就是我们搜索的结果,第一列代表的是成功率;第二列代表搜索的时间,与已有的方法相比精度都是相当的,但是速度提高了很多倍,比如说与LSH比提高了9~14倍的速度。这是在公开数据上测试定位的结果,这个数据最大能达到几千万的数据量,红色部分也是我们的结果,我们的定位可以做到毫秒级的技术。这是刚才看到的视觉定位图,用了我们的方法以后,不仅图像描述子提取的时间大大缩短,而且匹配的时间也缩短了。
这是一个视频,可以看一下。我们拍摄王府井和前门两条大街,基于二维的图像视频三维重建,后面有一些白点大家看不清楚,就是重建出来的结果。我们拿着手机在这条大街上边走,边拍照片,就可以把手机拍摄的位置和姿态重构出来,就可以在这上面做虚拟的广告,做一些增强现实的技术。比如说你逛商场,不用进这个房子里,就知道这个商场里有什么信息、有哪些商品、有没有你喜欢的品牌、有没有你喜欢的菜品等,可以大大节约时间。
②基于哈希的实时重定位,采用多个哈希键索引特征,随机选取特征的某些比特位构成哈希键,进行视觉重定位。H1、H2代表哈希键,F1是描述子,这就是对三维地图点进行存储和管理;也就是在SLAM系统中,当插入关键帧进行地图构建时会得到新的三维点,在新的三维点来时,我们利用局部敏感哈希,对三维地图重新进行存储和管理的过程。刚才是把三维点存储好后,在线来了一个视频的特征点,这也是一个二值描述子,我们可以搜索它在哪个桶里,把相对应的桶拿来,就在桶里进行搜索匹配,可以大大加快搜索的速度。
搜索效率的提升,影响搜索效率的因素有两个,一个是哈希桶大小(存储的数据库特征的数量)的均匀性;一个是相互匹配的特征哈希碰撞率。即相互匹配的特征出现在同一个哈希桶中的概率,如果概率越大精度越高。我们提出在线学习的方法,使得哈希桶尽可能均匀存储三维点;另一方面,尽量提高哈希桶的碰撞率,保持一定的精度。
这是在线学习的过程,当SLAM对一个视频进行三维重建时,我们更新地图,然后重新学习比特位,要对哈希键更新。这是构造的损失函数,这个就是碰撞率,碰撞率越大,这一项越小;第二项是代表了哈希桶的大小,越小越均匀,其中N是哈希桶的数量。这是实验的结果。通过在线学习构建哈希键,提高近似最近邻搜索的效率,学习被分散在SLAM的过程中,不会给SLAM系统带来延迟。与没有学习LSH方法相比,性能都有所提高。这是在自动化所的楼上进行三维重建,白色的部分就是楼房的三维重建的结果,这有一个相机的位置,这个可以达到实时性。
重定位放到SLAM系统中,我们搭建了基于光流的两种SLAM方法,一种是适用于动态目标的SLAM;还有另外一种是适用于场景的SLAM。光流的方法不是一般的光流方法直接应用,是基于和三维点的信息结合起来,通过三维点从空间往视频中的映射,使得光流的图像搜索更准确、速度更快,在纹理比较稀少或者有运动模糊时,比一般特征点的方法更稳定、更鲁棒,可应对尺度、旋转、仿射等变形。跟踪质量评价,与PTAM相比,精度都得到了提高。PTAM在少纹理的物体上有失败,我们的都可以成功;PTAM定位有抖动,我们的SLAM更稳定。另外,我们的场景光流SLAM和国际上最好的ORBSLAM2相比,在公开的数据库上测试有提高,这项工作还在进一步的深入研究与提高中。
3. 三维重建
我们搭建了自己三维重建系统框架,一个三维重建需要这样的过程,在每个过程上都有自己核心的算法,这是最近在CVPR2017上的论文,作为spotlight被接收,论文的思想是基于混合式稀疏重建。
三维重建目前分为两大类,一大类是基于全局式的重建方面;一大类是基于增量式的重建方法。我们考虑将两类方法结合。计算旋转矩阵式是基于全局的方法,计算平移时我们采用增量式的方法,可以将各自的优势进行最优的组合。这是无人机拍摄的场景,这是稀疏重建的结果,红色就是无人机的轨迹和姿态计算出来的,下面的就是三维重建的结果,这是无人机从地面飞到天空中的计算轨迹。
因为大场景三维重建要完整,必须在地面拍摄图像重建、在空中进行拍摄重建,两种重建模型进行融合。由于视角差别太大,具有很多大的困难与挑战。我们最近做了一点工作,这是一个从地面拍摄与空中无人机拍摄做了融合的结果,我们对中国系列建筑做了三维重建。这是五台山的佛光寺,也可以做城市街景的重建,还可以做到城市级别的三维重建。
三维视觉理论日趋成熟,逐渐走向应用,尤其在大数据和移动端具有广泛的应用前景,但是对视觉来说,它存在根本性的问题,就是鲁棒性和可靠性不是很高。有效的途径是要进行多传感器、几何与学习结合,来解决这个鲁棒性和可靠性的问题。
(本报告根据速记整理)