赵 浩,李盼盼
(福建农林大学 金山学院,福州 350002)
红外范围内的物体检测是行人检测、人脸识别和自动驾驶等应用的常规解决方法。但由于图像对比度较低以及特征点缺失,利用红外图像进行3D对象姿态估计和模型重构仍然具有较大难度。尽管存在这些缺点,但是热像仪依旧对3D对象重建和姿势估计有较大实用价值。首先,红外热图像对于退化的视觉环境(如灰尘、雾气和弱光条件)具有较好的抗干扰能力;其次,红外摄像机用于3D重建在红外范围内可以构建出物体独特的纹理。但是,对于训练基于深度学习的目标识别算法还需要更丰富、多视图、多光谱的图像数据集。3D对象重建的典型应用包括运动结构(SFM),同时定位和映射(SLAM),半全局匹配(SGM),基于轮廓的3D重建[1]等。如运动结构SFM需要使用关键点描述符进行稀疏图像匹配,以对每个图像进行初步定位。虽然常用的关键信息数据融合方案无法获得特征信息,但SFM为生成具有热纹理的数字特征提供了便捷的方案。用热像仪进行场景重建的另一种经典方案是LSDSLAM算法。近年来,基于深度学习方法的特征匹配新方法表现出了优异的性能。由于深度匹配的图像Patch数量很多,因此无法使用深度神经网络进行图像分类直接解决Patch匹配问题,提出了使用卷积自动编码器(CAE)来克服这个问题,该论文在无监督学习方法下训练CAE,以将图像Patch压缩为低维数据并从该数据中恢复原始图像。如果达到了良好的恢复质量,则CAE已学会从原始图像中提取信息量较为丰富的信息。因此,该代码可用于执行稀疏图像匹配。并提出了一种基于CAE的图像Patch匹配的新方法,首先,使用CAE码本执行特征匹配。接着使用图像Patch来执行相机姿态的估计,最后,使用SGM进行密集点云重构。在真实数据上评估了算法的性能,显示出它比传统红外图像上的SIFT和其他深度卷积特征点描述符具有更为理想的性能。
从影像中重建3D对象已有50多年的历史。近年来,主要的研究活动集中在单眼相机的3D对象重建,姿势估计和场景理解上。3D重建的一个重要条件是鲁棒的图像匹配,大多数用于3D对象重建的算法都使用基于经过图像解析的特征描符算法。低成本热像仪的出现降低了3D对象重建和红外范围内姿态估计的门槛。[2]对红外图像上手工制作特征描述符的评估概述了红外范围内图像匹配的复杂性,例如红外反射,红外光晕效果,饱和度,同时还研究证明在红外范围内进行3D对象重建和图像匹配的可能性。 Harris检测器[3]和归一化相关性相结合的图像匹配在经典图像匹配方法中表现出较为理想的性能,但是对不使用特征点的方法(例如LSDSLAM)的评估表明,由于热图像中的特征缺乏对比度,因此该算法也无法恢复场景几何图形,像SFM这样的标准方法会基于关键点的可靠匹配来计算相机的内部和外部方向的参数,如果对象没有提供足够的纹理,则定向和校准的质量会大大下降。作为替代方案,可以借助于给定的3D控制点来定向热图像。有针对性地进行定位,使其也可以在热成像中进行测量。使用有限对象平面的图像匹配方法在低纹理区域上能提升算法的健壮性,上述方法需要观察表面的漫朗伯反射特性和正则化条件以提供相邻局部平面之间的平滑度。当前基于深度学习的特征匹配是一种行之有效的3D重建新方案,在匹配和重建精度方面具有理想的性能。基于深度学习的特征提取可以分为两大类。第一组基于经典的深度卷积神经网络(CNN)进行图像特征提取 ,为了执行匹配,网络的顶层被删除。其余层的输出用作查找要素对应关系的代码。第二类基于深度学习的描述符基于无监督学习方法。由于数据集中可能的图像点数量能达到数十亿个分类,因此,在训练阶段通常无法选择好的分类。总体来说基于深度学习的架构为本地Patch匹配提供了强大的解决方案,可以适应任意种类的特征和光谱范围。
从图像中选择局部Patch的标准方法是基于特征点检测器。传统的Patch提取在红外图像上表现不稳定。为了获得局部Patch表示,使用图像的统一采样(图1)。通常热像仪的分辨率低于可见范围内的热像仪,因此,该Patch必须在像素尺寸上较小以减少对透视变换的影响。使用分辨率相当的RGB-D相机,选择28×28像素的色块大小。
自动编码器(AE,Auto Encoder)是前馈神经网络的经典案例。 AE接受输入并尝试将其复制到输出上。AE的网络由两个主要部分组成。第一部分是编码器函数h=f(x),它将输入x压缩到隐藏层h,该隐藏层生成代码F,其中包含执行输入重构所需的所有值。第二部分是一个解码器,试图重建输入y=g(F)。由于代码F的维数小于原始图像的维数,因此在训练AE期间,AE将尝试捕获训练数据集的最显著特征。在训练阶段之后,隐藏层的输出可用作代码F。由于该代码凝聚了输入色块的最有区别的特征,可以用来对相应的图像色块进行有效搜索。卷积层提高了AE重建的质量,具有卷积和反卷积层的AE通常称为卷积自动编码器。为了开发用于红外图像匹配的有效CAE体系结构,对数据进行预处理,满足如下要求:
1)首先,由于红外传感器的分辨率低,CAE必须使用相对较小的图像块。
2)其次,它应该具有少量的学习参数,以便在红外图像斑块的小型数据集上获得良好的收敛性。提出的体系结构在MNIST等小型数据集上表现出优异的性能,但对更复杂的数据集的训练表明,它倾向于收敛到数据集的平均值。经过对训练结果的分析,传统的AE结构没有足够的训练参数,需要增加卷积滤波器的数量。
对传统AE的架构改造主要有:首先,我们对卷积和反卷积层进行缩放,以实现28×28像素的目标图像尺寸。其次,我们用sigmoid层替换了tanh激活层,以获得更有效的误差反向传播,并提高了在低纹理图像数据集上训练的稳定性。我们对代码F的3个维度进行了实验,以找到重建质量和压缩率之间的折衷方案。 CAE网络的最终架构如图2和表1所示。
表1 CAE网络架构
我们还尝试了两种损耗函数。传统的基于欧几里德距离的损耗对于具有反卷积层的CNN设计并不稳健,因此采用交叉熵损失(逻辑损失):
(1)
其中,w,h是图层尺寸,y是目标图像在点(x,y)的像素值,y是通过CAE在点(x,y)重建的图像的像素值。在最后sigmod层之前添加高斯噪声会增加训练过程的稳定性。 在训练过程中,高斯噪声的标准差从0均匀增加到0.5。
为了确定相机的姿势,我们通过CAE大致找到相应点。 尽管CAE允许我们在两个图像中找到相应的特征,但是点坐标的精度不足以进行准确的姿势估计。 我们使用相关技术将初始坐标估计值细化为亚像素精度。 对于相机姿态估计,我们通过束调整对测量(重新投影)误差进行了鲁棒的非线性最小化。 我们使用冗余数量的对应点来最小化图像j中检测到的2D点xij的平方重投影误差,这是使用非线性最小二乘的未知图像姿态参数(R,X)和未知3D点位置pi的函数:
xif=f(pi,Rj,Xj)。
(2)
CAE训练需要大型数据集,且随机图像Patch的方差很大。为了训练提出的CAE体系结构,RGB-D对象数据集包含从多个视图拍摄的300个不同对象的视觉和深度图像。所选择的对象通常来自家庭和办公环境。对象被组织成从WordNet超名/下义关系获取的层次结构,并且是ImageNet中类别的子集。
我们用随机的均匀噪声改变像素强度。数据集包括三个测试对象的合成图像Patch。来自数据集的测试对象如图3所示。首先使用条纹投影3D扫描仪以0.1毫米的精度生成对象的3D模型,再使用带130毫米镜头的FLIR P640热像仪捕获真实的红外纹理。为了创建训练数据集,通过将虚拟相机放置在二十面体上并将其指向特征点来对图像Patch进行采样。通过使用Harris拐角检测器对原始红外纹理检测独特的特征来选择特征点位置。通过向3D空间反投影获得特征点的3D坐标。为了执行Patch匹配,为测试对象上的每个3D特征点分配一个唯一的PatchID。PatchID与CAE生成的Patch代码F存储在代码本中。在测试对象上采样一组3D点,并为每个3D点分配一个唯一的PatchID。对于每个PatchID,生成了从不同角度采样的7 000个图像Patch。使用基于投票的方法进行匹配。对于给定的PatchID,使用CAE生成代码F。之后从密码本中查询n个最近的邻居。 PatchID d(I)由其邻居的多数投票的PatchID定义。 为了过滤错误的对应关系,我们将PatchI具有PatchIDz的概率p定义为多数计数与所选最近邻居数n之比。
(3)
令I1,I2为要匹配的两个图像块。 然后定义它们具有相似patch ID 的概率如下:
(4)
最后通过准确率(Precision)和召回率(Recall)对算法进行评估,评估的对比算法有CNN、SFM、SGM。其结果如下:
算法的PR性能,明显优于CNN等对比算法,具有较高的准确率。如图4所示。
利用自编码从低纹理或无纹理的物体中提取特征,实现多视点立体红外图像的稳定匹配。为了将基于CAE的图像匹配技术与现有的图像匹配算法进行比较,设计了一个包含红外图像的数据集。结果表明,与其他特征提取相比,提出的CAE技术在热成像特征匹配中的应用具有更好的性能。我们在测试数据集上评估了一组3D重建算法(SFM、SGM、CNN),通过实验可以看出所提出的三维重建能够以合理的精度获得基于热成像的三维模型,以完成红外三维建模和姿态估计任务,具有较高的使用价值。