基于卷积神经网络的线特征描述方法技术

技术编号:21953930 阅读:26 留言:0更新日期:2019-08-24 18:16
本发明专利技术涉及一种基于卷积神经网络的线特征描述方法,包括:收集图像并进行预处理组成图像数据集、利用现有直线检测方法获取图像对中的直线、获取正确匹配直线对、确定直线对应的输入图像块;对输入数据进行预处理、构建卷积神经网络、通过三元组损失函数获取新的网络参数、利用获得的网络模型参数更新卷积神经网络的参数值、重复参数更新过程,直到参数更新达到指定的次数;获取输入直线的描述子。本发明专利技术提供的方法能够简单快速地得到具有鲁棒性与可区分性的直线描述子。

Line Feature Description Method Based on Convolutional Neural Network

【技术实现步骤摘要】
基于卷积神经网络的线特征描述方法
本专利技术涉及计算机视觉中的图像特征描述领域和深度学习领域,特别是一种基于卷积神经网络的线特征描述方法。
技术介绍
线特征是立体场景的重要组成之一,以线特征作为描述基元可简化目标结构的三维表示且更符合人类视觉感知的特点。目前主要有三类方式来描述线特征:第一类方法是基于线特征本身的几何特性,这类方法通常利用线段的几何信息来对该线段进行描述,然而线段几何信息维度太低,不能充分描述图像中的复杂边缘,更难以反映边缘的局部纹理信息,因此通常用于辅助特征匹配;第二类方法是基于线特征间的拓扑关系,Hartley使用三角张量来描述线特征,Tuytelaars等人则使用闭合曲线形成的四边形区域内的高阶颜色矩统计直方图来实现图像的配准,然而颜色信息在许多应用场景并不适用,而且图像中难以检测到较多的闭合曲线;第三类方法是基于线特性的附近区域纹理分布特性,MSLD描述子通过统计像素支撑域内每个子区域4个方向的梯度向量构建描述子矩阵,进一步提高现有描述子的可区分性及鲁棒性,但现有研究局限于单一尺度拍摄的影像之间,对尺度变化比较敏感。相似于MSLD描述子,Zhang等人提出了LBD描述子,首先将直线支撑域分为若干个与直线平行的子区域,通过统计每个子区域内4个方向的梯度向量构建直线描述子,该描述子在直线的局部邻域基础上引入了全局和局部高斯权重系数,匹配效果良好。但是由于同一直线在不同影像上提取结果的差异,直接利用不同影像上直线构建支撑域为非对应区域,对于复杂地物影像,匹配可靠性较弱。
技术实现思路
本专利技术针对现有直线描述算法中存在有描述子可区分性和鲁棒性不强导致匹配可靠性较弱的问题,目的是提供一种具有强可区分性和鲁棒性的线特征描述方法。为了实现本目的,基于卷积神经网络的线特征描述方法,包括以下步骤:步骤S1:构建卷积神经网络的输入图像块;步骤S11:收集图像并进行预处理,组成图像数据集;步骤S12:利用现有直线检测方法获取图像对中的直线;步骤S13:获取正确匹配直线对;步骤S14:确定直线对应的输入图像块;步骤S2:训练卷积神经网络;步骤S21:对输入数据进行预处理;步骤S22:构建卷积神经网络;步骤S23:通过三元组损失函数获取新的网络参数;步骤S24:利用步骤S23获得的网络模型参数更新步骤S22构建的卷积神经网络的参数值;步骤S25:重复步骤S23、S24,直到参数更新达到指定的次数;步骤S3:获取输入直线的描述子;针对现有直线描述算法中存在有描述子可区分性和鲁棒性不强导致匹配可靠性较弱的问题,本专利技术提供的基于卷积神经网络的线特征描述方法通过提取线特征上所有点及其邻域的像素均值与标准差作为训练样本,输入卷积神经网络模型中进行训练,最终获取所需的直线描述子。本专利技术提供的方法不仅可以获得具有强可区分性和鲁棒性的线特征描述子,而且操作简单,可获得多种不同情况下的线特征描述子。附图说明图1所示为本专利技术基于卷积神经网络的线特征描述方法流程图;图2所示为本专利技术卷积神经网络模型的结构图。具体实施方式图1所示为本专利技术基于卷积神经网络的线特征描述方法流程图,该方法的主要步骤包括:收集图像并进行预处理组成图像数据集、利用现有直线检测方法获取图像对中的直线、获取正确匹配直线对、确定直线对应的输入图像块;对输入数据进行预处理、构建卷积神经网络、通过三元组损失函数获取新的网络参数、利用前一步骤获得的网络模型参数更新构建的卷积神经网络的参数值、重复参数更新过程,直到参数更新达到指定的次数;获取输入直线的描述子。各步骤的具体实施细节如下:步骤S1:构建卷积神经网络的输入图像块,具体方式包括步骤S11、S12、S13、S14;步骤S11:收集图像并进行预处理,组成图像数据集,具体方式为,收集不同场景下的图像,对其做光照、模糊、噪音以及压缩等不同情况的变化处理,原图像与处理后的图像构成图像对,输入计算机;步骤S12:利用现有直线检测方法获取图像对中的直线;步骤S13:获取正确匹配直线对,具体方式为,对于任一图像对,利用现有直线描述子进行直线匹配,然后剔除错误匹配,获得图像对中的正确匹配直线对集合{(Lj,Lj'),j=1,2,…,NL},其中Lj表示图像对中第1幅图像中的直线,Lj'表示图像对中第2幅图像中与Lj正确匹配的直线,NL为匹配直线对的个数;步骤S14:确定直线对应的输入图像块,具体方式为,对于步骤S13获得的正确匹配直线对集合中的任一由Num(L)个点组成的直线L,记L上任一像素点为Pk,k=1,2,…,Num(L),将以Pk为中心、64为长和宽的方形区域定义为点Pk的支撑区域,点Pk支撑区域的亮度值矩阵记为I(Pk),计算直线L的均值矩阵M(L)=Mean(I(P1),I(P2),…,I(PNum(L)))和标准差矩阵STD(L)=Std(I(P1),I(P2),…,I(PNum(L))),其中Mean表示计算亮度矩阵的均值,Std表示计算亮度矩阵的标准差,则直线L对应的卷积神经网络的输入图像块为AL=[M(L),STD(L)];步骤S2:训练卷积神经网络,具体方式包括步骤S21、S22、S23、S24、S25;步骤S21:对输入数据进行预处理,具体方式为,对于步骤S14获得的任一输入图像块AL=[M(L),STD(L)],将AL转换为大小为64×64×2的矩阵AL',其中AL'(:,:,1)=M(L),AL'(:,:,2)=STD(L),然后对AL'进行归一化获得āL=(AL'-Mean(AL'))/Std(AL');步骤S22:构建卷积神经网络,卷积神经网络的结构如图2所示:具体方式为,搭建L2-Net卷积神经网络,将L2-Net第一层卷积核的大小由3×3修改为3×3×2、最后一层卷积核的大小由为8×8修改为16×16,其他设置与L2-Net相同,获得用于线特征描述的卷积神经网络,该网络的初始化参数使用Pytorch中默认的初始值;步骤S23:通过三元组损失函数获取新的网络参数,具体方式为,从步骤S1获得的输入图像块中随机选取n对匹配直线对应的图像块,经过步骤S21处理后合并为其中为直线Lj对应的归一化矩阵,为直线Lj'对应的归一化矩阵,直线Lj和Lj'为匹配直线对;计算大小为n×n的距离矩阵D,其中分别为作为输入时步骤S22构建的卷积神经网络输出的特征向量;计算三元组损失函数其中代表最接近ai的非匹配描述子,jmin=argminj=1,...,n,j≠id(ai,bi),,代表最接近bi的非匹配描述子,kmin=argmink=1,...n,k≠1d(ai,bi),,根据Loss函数利用梯度下降法获取新的网络参数;步骤S24:利用步骤S23获得的网络模型参数更新步骤S22构建的卷积神经网络的参数值;步骤S24:利用步骤S23获得的网络模型参数更新步骤S22构建的卷积神经网络的参数值;步骤S25:重复步骤S23、S24,直到参数更新达到指定的次数;步骤S3:获取输入直线的描述子,具体方式为,对于给定的任一图像,根据步骤S12、S13和S14获取图像中任一直线对应的图像块,根据步骤S21对任一直线的图像块进行处理,将结果输入到步骤S2获得的卷积神经网络中,即可输出该直线的描述子。针对现有直线描述算法中本文档来自技高网...

【技术保护点】
1.一种基于卷积神经网络的线特征描述方法,其特征在于,包括步骤:步骤S1:构建卷积神经网络的输入图像块,具体方式包括步骤S11、S12、S13、S14;步骤S11:收集图像并进行预处理,组成图像数据集,具体方式为,收集不同场景下的图像,对其做光照、模糊、噪音以及压缩等不同情况的变化处理,原图像与处理后的图像构成图像对,输入计算机;步骤S12:利用现有直线检测方法获取图像对中的直线;步骤S13:获取正确匹配直线对,具体方式为,对于任一图像对,利用现有直线描述子进行直线匹配,然后剔除错误匹配,获得图像对中的正确匹配直线对集合{(Lj,Lj'),j=1,2,…,NL},其中Lj表示图像对中第1幅图像中的直线,Lj'表示图像对中第2幅图像中与Lj正确匹配的直线,NL为匹配直线对的个数;步骤S14:确定直线对应的输入图像块,具体方式为,对于步骤S13获得的正确匹配直线对集合中的任一由Num(L)个点组成的直线L,记L上任一像素点为Pk,k=1,2,…,Num(L),将以Pk为中心、64为长和宽的方形区域定义为点Pk的支撑区域,点Pk支撑区域的亮度值矩阵记为I(Pk),计算直线L的均值矩阵M(L)=Mean(I(P1),I(P2),…,I(PNum(L)))和标准差矩阵STD(L)=Std(I(P1),I(P2),…,I(PNum(L))),其中Mean表示计算亮度矩阵的均值,Std表示计算亮度矩阵的标准差,则直线L对应的卷积神经网络的输入图像块为AL=[M(L),STD(L)];步骤S2:训练卷积神经网络,具体方式包括步骤S21、S22、S23、S24、S25;步骤S21:对输入数据进行预处理,具体方式为,对于步骤S14获得的任一输入图像块AL=[M(L),STD(L)],将AL转换为大小为64×64×2的矩阵AL',其中AL'(:,:,1)=M(L),AL'(:,:,2)=STD(L),然后对AL'进行归一化获得āL=(AL'‑Mean(AL'))/Std(AL');步骤S22:构建卷积神经网络,具体方式为,搭建L2‑Net卷积神经网络,将L2‑Net第一层卷积核的大小由3×3修改为3×3×2、最后一层卷积核的大小由为8×8修改为16×16,其他设置与L2‑Net相同,获得用于线特征描述的卷积神经网络,该网络的初始化参数使用Pytorch中默认的初始值;步骤S23:通过三元组损失函数获取新的网络参数,具体方式为,从步骤S1获得的输入图像块中随机选取n对匹配直线对应的图像块,经过步骤S21处理后合并为...

【技术特征摘要】
1.一种基于卷积神经网络的线特征描述方法,其特征在于,包括步骤:步骤S1:构建卷积神经网络的输入图像块,具体方式包括步骤S11、S12、S13、S14;步骤S11:收集图像并进行预处理,组成图像数据集,具体方式为,收集不同场景下的图像,对其做光照、模糊、噪音以及压缩等不同情况的变化处理,原图像与处理后的图像构成图像对,输入计算机;步骤S12:利用现有直线检测方法获取图像对中的直线;步骤S13:获取正确匹配直线对,具体方式为,对于任一图像对,利用现有直线描述子进行直线匹配,然后剔除错误匹配,获得图像对中的正确匹配直线对集合{(Lj,Lj'),j=1,2,…,NL},其中Lj表示图像对中第1幅图像中的直线,Lj'表示图像对中第2幅图像中与Lj正确匹配的直线,NL为匹配直线对的个数;步骤S14:确定直线对应的输入图像块,具体方式为,对于步骤S13获得的正确匹配直线对集合中的任一由Num(L)个点组成的直线L,记L上任一像素点为Pk,k=1,2,…,Num(L),将以Pk为中心、64为长和宽的方形区域定义为点Pk的支撑区域,点Pk支撑区域的亮度值矩阵记为I(Pk),计算直线L的均值矩阵M(L)=Mean(I(P1),I(P2),…,I(PNum(L)))和标准差矩阵STD(L)=Std(I(P1),I(P2),…,I(PNum(L))),其中Mean表示计算亮度矩阵的均值,Std表示计算亮度矩阵的标准差,则直线L对应的卷积神经网络的输入图像块为AL=[M(L),STD(L)];步骤S2:训练卷积神经网络,具体方式包括步骤S21、S22、S23、S24、S25;步骤S21:对输入数据进行预处理,具体方式为,对于步骤S14获得的任一输入图像块AL=[M(L),STD(L...

【专利技术属性】
技术研发人员:付苗苗张一帆霍占强
申请(专利权)人:中国科学院自动化研究所南京人工智能芯片创新研究院河南理工大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1