本发明属于图像拼接和图像质量评价技术领域,涉及计算机视觉领域,尤其涉及一种评估拼接图像清晰度的方法。
背景技术:
随着电子信息产业的发展和技术进步,能够获取、记录视频信息的设备日益普及,但与人眼的视场范围相比,普通摄像机的视场要小得多,如何有效的利用计算机技术扩大摄像机拍摄图像和视频的视场范围,引起了研究者的广泛注意。图像拼接技术可以解决由于摄像机等成像仪器的视角和大小的限制,不能生成宽视场图片的问题,现有的图像拼接技术主要有两种方案:
第一种方案是用一个常规镜头的投影变换和多项式畸变校正技术用校正模板图像对镜头畸变参数进行畸变校正,生成一组中间校正后的2d图像,然后采用2d图像配准技术对校正后的图像元进行2d配准,最后对配准的两幅图像进行融合。
第二种方案是把图像的径向畸变校正参数和图像元的位姿参数作为一体,整体用最优化技术进行参数估计,生成一个参数映射表,然后利用参数映射表将原始图片逐张映射到全景图像中,处理完所有的图像后,将两两相邻的处理之后的图像在重叠区域做一次融合过渡。
从上述过程可以看出,图像拼接算法性能的好坏受图像配准和图像融合两大步骤的共同影响。针对拼接合成图像进行算法评价是不可或缺的,但对于图像拼接算法的定量评价分析,目前尚无统一的标准。已有的评价方法都是通过人眼观测拼接缝的方法来评估拼接质量的好坏,而人眼观测的方法误差较大,无法准确评估图像拼接算法的拼接质量。
技术实现要素:
本发明为克服上述情况不足,旨在提供一种可以准确的判断图像拼接中融合区域清晰度的好坏的方法。
一种评估拼接图像清晰度的方法,包括以下步骤:s1:生成训练数据集和测试数据集;s2:生成卷积神经网络模型;s3:基于训练的卷积神经网络测试测试数据集;
所述s1包括s101、s102、s103、s104;
s101:获取拼接合成图像;
s102:计算拼接合成图像的客观评价参数;选取了清晰度作为客观评价参数;采用多方向sobel算子检测边缘并以其梯度幅值作为清晰度的度量;采用多方向模板si,对图像中每个点进行领域卷积计算,提取图像多个方向上的边缘成分;即有:
其中,imos(x,y)为图像灰度,图像中每个像素点的梯度值可以表示为:
为降低图像噪声对实际边缘的影响,将表征图像整体噪声的标准差经过开发处理,作为边缘图像阈值,则i(x,y)>tn的点即认为是图像边缘像素,阈值tn表示如下:
然后,将所有大于阈值的梯度值tn,即把被认为是图像边缘像素的梯度值相加,以边缘梯度能量和定义图像清晰度评价算子,即:
s103:生成训练数据集;
根据s101步得到的拼接合成图像以及s102步设置的客观评价参数,计算卷积神经网络的训练数据集;对训练样本集中所有的拼接合成图像以及相对应的原始图像序列,使用图像配准技术,将拼接合成图像与原始图像序列进行配准,得到二者的重合区域,将重合区域按行均匀分割成m块,对每一块进行处理,依据上述两种评价参数的计算方法,对每个块计算它们的客观评价参数,作为卷积神经网络的训练数据集x={cg1,cl1,cg2,cl2,...,cgm,clm};基于每个块都会得到一个配准误差,设置一个阈值τ,将每个块的清晰度与τ进行比较,得到对应于每个块的理想输出yi,计算公式如下:
将所有块的埋想输出组合成训练数据集y={y1,y2,...,ym},{x,y}一起构成了卷积神经网络的训练数据集合;
s104:获取测试数据集;
所述s2步骤包括s201、s202、s203;
s201:构建卷积神经网络模型;s202:设置输入层与卷积采样层参数;s203:利用训练数据集训练卷积神经网络。
进一步的,所述步骤s102中还采用了峰值信噪比作为客观评价参数,计算公式为:
其中,n是评价的拼接序列图像数量;s是拼接序列图像,作为比较的参考图像;
进一步的,所述步骤s2中采用非全连接的深层神经网络模型,且同一层中某些神经元之间的连接权重是共享的。
进一步的,所述s201具体为:以步骤s1生成的训练数据集中的客观评价参数x为输入,构建一个卷积神经网络模型,该卷积神经网络采用5层的神经网络,分别是输入层,第一卷积采样层,第二卷积采样层,全链接层,输出层,其中,在第一卷积采样层首先将输入与该层设定的不同卷积核和可加偏置进行卷积,卷积后产生若干个特征,然后对特征按照设定的池化尺度大小进行特征值求和,加权值,加偏置,最后通过一个sigmoid函数得到该层的输出,第二卷积采样层进行与第一卷积采样层相同的操作,区别在于两层所使用到的卷积核、池化尺度大小以及偏置不同,两次卷积采样层的输出是特征映射图,全链接层将第二卷积采样层的特征正向传播输出特征向量,同时也可以进行反向传播操作,在输出层中将输入的特征向量按输出标签的大小指定输出。
进一步的,所述步骤s202具体为:输入层:x={cg1,cl1,cg2,cl2,...,cgm,clm)是卷积神经网络的输入,为了将各项不同的评价参数综合起来,需要对各个评价指标进行归一化处理;
卷积采样层:在一个卷积层l,输入层的输入或者是上一层的第i个特征
其中,i,j分别表示上一层和当前层上特征映射编号,mj表示选取的输入特征集合的一个子集,
卷积之后会紧跟着一个子采样,对于子采样来说,有n个输入特征,就有n个输出特征,只是每个输出特征在大小上变小了,计算公式如下:
其中,down(.)表示一个下采样函数,优选max-pooling池化模式,池化核大小为2*2,步长为2。
进一步的,所述步骤s203具体分为如下两个阶段:
第一阶段:前向传播阶段
对给定的训练数据集{x,y},将训练数据集中的x输入到卷积神经网络的输入层,经过逐层的变换(卷积采样层,卷积采样层,全链接层,全链接层),传送到输出层,计算出与x相对应的实际输出o;计算实际输出o与理想输出y之间的误差,这里采用平方误差代价函数,第n个训练数据的误差表示为:
其中,k表示输出数据的维数,
第二阶段:后向传播阶段
后向传播阶段是按照上述计算前向平方误差方法反向传播调整网络每一层的权重矩阵;反向传播回来的误差可以看做是每个神经元的偏置的灵敏度δ,卷积层逆向误差传播公式为:
其中,ο表示每个元素相乘,l表示层数,m,n分别表示上一层和当前层上特征的映射编号,
其中,m表示输入特征的集合,
最后,对每个神经元运用δ规则进行权值更新;即对一个给定的神经元,得到它的输入,然后用这个神经元的δ来进行缩放;用向量的形式表述就是,对于第l层,误差对于该层每一个权值的导数是该层的输入与该层的灵敏度的叉乘;计算偏置和卷积核的偏导数公式如下:
其中,e表示误差代价函数,
进一步的,所述步骤s3具体为:将步骤s103生成的测试数据集作为步骤s2训练好的卷积神经网络的输入,经过该神经网络后输出对应每个块的输出标签。
根据卷积神经网络输出的每块的输出标签,计算每一幅待评价拼接合成图像所有块的输出标签的平均值,然后计算同一拼接算法下所有拼接合成图像输出标签的平均值作为该拼接算法效果好坏的评价等级。
综上所述,利用卷积神经网络,可以代替繁琐的,大量的人为统计评分,并且可以准确的判断图像拼接中融合区域清晰度的好坏,克服单因素评价指标所带来的局限性,有利于全自动自适应图像拼接系统的实现,具有非常重要的应用价值。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种评估拼接图像清晰度的方法流程图;
图2为本发明实施例中训练数据集与测试数据集的计算流程图。
图3为本发明实施例中卷积神经网络计算流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明一种评估拼接图像清晰度的方法具体包括以下步骤:
s1:生成训练数据集和测试数据集。
如图2所示,训练数据集与测试数据集的计算方法如下:
s101:获取拼接合成图像。
利用图像采集设备拍摄n组原始图像序列,然后采用不同的待评价拼接算法对这n组原始图像序列进行拼接,获得与每种待评价拼接算法相对应的n组拼接合成图像。
s102:计算拼接合成图像的客观评价参数。
本发明主要关心的是拼接合成图像的匹配误差,为了实现对拼接合成图像配准效果的评价,选取了清晰度作为客观评价参数,进一步的,还可以增加峰值信噪比作为客观评价参数。
(1)清晰度
清晰度是观察者对拼接合成图像评价时较为关注的方面。清晰度评价算法有很多,如频域函数,灰度函数等,对于拼接图像全局清晰度评价可任选有效的清晰度评价算法作为该项指标。由于图像清晰度与图像边缘的锐利程度和图像细节的多少有密切的关系,因此本发明提出采用多方向sobel算子检测边缘并以其梯度幅值作为清晰度的度量。
根据原始sobel算子边缘检测理论,采用多方向模板si,对图像中每个点进行领域卷积计算,提取图像多个方向上的边缘成分。即有:
其中,imos(x,y)为图像灰度,图像中每个像素点的梯度值可以表示为:
为降低图像噪声对实际边缘的影响,将表征图像整体噪声的标准差经过开发处理,作为边缘图像阈值,则i(x,y)>tn的点即认为是图像边缘像素,阈值tn表示如下
然后,将所有大于阈值的梯度值tn,即把被认为是图像边缘像素的梯度值相加,以边缘梯度能量和定义图像清晰度评价算子,即:
该指标值越大,代表拼接合成图像越清晰。
(2)峰值信噪比
该指标可反映相邻图像间的灰度、颜色信息差异,体现相邻帧间图像拼接的有效性,计算公式为:
其中,n是评价的拼接序列图像数量;s是拼接序列图像,作为比较的参考图像;
s103:生成训练数据集。
根据s101步得到的拼接合成图像以及s102步设置的客观评价参数,计算卷积神经网络的训练数据集。对训练样本集中所有的拼接合成图像以及相对应的原始图像序列,使用图像配准技术,将拼接合成图像与原始图像序列进行配准,得到二者的重合区域,将重合区域按行均匀分割成m块,对每一块进行处理,依据上述两种评价参数的计算方法,对每个块计算它们的客观评价参数,作为卷积神经网络的训练数据集x={cg1,cl1,cg2,cl2,...,cgm,clm}。基于每个块都会得到一个配准误差,设置一个阈值τ,将每个块的清晰度与τ进行比较,得到对应于每个块的理想输出yi,计算公式如下:
将所有块的埋想输出组合成训练数据集y={y1,y2,...,ym},{x,y}一起构成了卷积神经网络的训练数据集合。
s104:获取测试数据集。
测试样本图像包括原始序列图像以及拼接合成图像,按照步骤s103介绍的方法获取测试数据集ts={cg1,cl1,cg2,cl2,...,cgm,clm}。
s2:卷积神经网络模型。
在本发明实施例中,采用的是非全连接的深层神经网络模型,且同一层中某些神经元之间的连接权重是共享的,这种非全连接和权重共享的网络结构使该模型更类似于生物神经网络,降低了网络模型的复杂度,减少了权重的数量。
如图3所示,卷积神经网络模型的训练包括如下步骤:
s201:构建一个卷积神经网络模型。
以步骤s1生成的训练数据集中的客观评价参数x为输入,构建一个卷积神经网络模型,该卷积神经网络采用5层的神经网络,分别是输入层,第一卷积采样层,第二卷积采样层,全链接层,输出层,其中,在第一卷积采样层首先将输入与该层设定的不同卷积核和可加偏置进行卷积,卷积后产生若干个特征,然后对特征按照设定的池化尺度大小进行特征值求和,加权值,加偏置,最后通过一个sigmoid函数得到该层的输出,第二卷积采样层进行与第一卷积采样层相同的操作,区别在于两层所使用到的卷积核、池化尺度大小以及偏置不同,两次卷积采样层的输出是特征映射图,全链接层将第二卷积采样层的特征正向传播输出特征向量,同时也可以进行反向传播操作,在输出层中将输入的特征向量按输出标签的大小指定输出。
以上仅给出卷积神经网络模型的一个示例,实际上卷积神经网络模型的构建方式可以根据应用目的进行经验设置,包括卷积池化层数、全链接层数、卷积核的数量与大小以及池化尺度等参数可以根据应用目的进行设置。
s202:设置输入层与卷积采样层参数。
输入层:x=(cg1,cl1,cg2,cl2,...,cgm,clm}是卷积神经网络的输入,为了将各项不同的评价参数综合起来,需要对各个评价指标进行归一化处理。
卷积采样层(包括第一卷积采样层和第二卷积采样层):在一个卷积层l,输入层的输入或者是上一层的第i个特征
其中,i,j分别表示上一层和当前层上特征映射编号,mj表示选取的输入特征集合的一个子集,
卷积之后会紧跟着一个子采样,对于子采样来说,有n个输入特征,就有n个输出特征,只是每个输出特征在大小上变小了,计算公式如下:
其中,down(.)表示一个下采样函数,优选max-pooling池化模式,池化核大小为2*2,步长为2。
卷积神经网络中的每一个特征提取层(子采样层)都紧跟着一个用来求局部平均与二次提取的计算层(卷积层),这种特有的两次特征提取结构使网络在识别时对输入样本有较高的畸变容忍能力。
s203:利用训练数据集训练卷积神经网络。
卷积神经网络在本质上是一种输入到输出的映射,他能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确数学表达式,只要用已知的模式对卷积神经网络进行训练,网络就具有输入到输出对之间的映射能力。在开始训练前,所有的权重都应该进行随机初始化。
卷积神经网络的训练方法可以分为如下两个阶段:
第一阶段:前向传播阶段
对给定的训练数据集{x,y},将训练数据集中的x输入到卷积神经网络的输入层,经过逐层的变换(卷积采样层,卷积采样层,全链接层,全链接层),传送到输出层,计算出与x相对应的实际输出o。计算实际输出o与理想输出y之间的误差,这里采用平方误差代价函数,第n个训练数据的误差表示为:
其中,k表示输出数据的维数,
第二阶段:后向传播阶段
后向传播阶段是按照上述计算前向平方误差方法反向传播调整网络每一层的权重矩阵。反向传播回来的误差可以看做是每个神经元的偏置的灵敏度δ,卷积层逆向误差传播公式为:
其中,ο表示每个元素相乘,l表示层数,m,n分别表示上一层和当前层上特征的映射编号,
其中,m表示输入特征的集合,
最后,对每个神经元运用δ规则进行权值更新。即对一个给定的神经元,得到它的输入,然后用这个神经元的δ来进行缩放。用向量的形式表述就是,对于第l层,误差对于该层每一个权值(组合为矩阵)的导数是该层的输入(等于上一层的输出)与该层的灵敏度(该层每个神经元的δ组合成一个向量的形式)的叉乘。计算偏置和卷积核的偏导数公式如下:
其中,e表示误差代价函数,
利用步骤s1获取的训练数据集,采用hinge损失函数和随机梯度下降方法对卷积神经网络进行训练,当整个卷积神经网络的损失函数趋于局部最优解附近时,完成训练;其中局部最优解事先由人工设定。
s3:基于训练的卷积神经网络测试测试数据集。
将步骤s103生成的测试数据集作为步骤s2训练好的卷积神经网络的输入,经过该神经网络后输出对应每个块的输出标签。
根据上述卷积神经网络输出的每块的输出标签,计算每一幅待评价拼接合成图像所有块的输出标签的平均值,然后计算同一拼接算法下所有拼接合成图像输出标签的平均值作为该拼接算法效果好坏的评价等级。
综上所述,利用卷积神经网络,可以代替繁琐的,大量的人为统计评分,并且可以准确的判断图像拼接中融合区域清晰度的好坏,克服单因素评价指标所带来的局限性,有利于全自动自适应图像拼接系统的实现,具有非常重要的应用价值。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。