基于计算机视觉与色彩滤波阵列的图像处理方法

文档序号:24824448发布日期:2021-04-27 15:35阅读:141来源:国知局
基于计算机视觉与色彩滤波阵列的图像处理方法

1.本发明涉及相机成像、计算机视觉技术领域,具体为一种基于计算机视觉与色彩滤波阵列的图像处理方法。


背景技术:

2.在数字影像中,如果被拍摄的物体中有密纹的纹理,则常常会出现如水波一样的条纹和奇怪的色彩,这就是摩尔纹。无论是用高级数字相机拍摄的影像,或是扫描的影像,均有可能出现摩尔纹现象。当物体上的细致图样比如织物上的编织纹路,或建筑物上非常靠近的并行线与成像组件上的图样相重叠时,则可能会产生摩尔纹。
3.目前消除摩尔纹的方法是通过提升图像传感器的分辨率或采用其它cfa阵列的相机或加入低通滤镜,然而摩尔纹通常只会在密集纹理下出现,从硬件上入手会存在成本高的问题,从算法上入手通常会导致处理后的图像纹理缺失或丢失信息严重。因此如何低成本、高精确地消除图像摩尔纹的影响是一个值得探讨的问题。


技术实现要素:

4.为了解决上述问题,本发明提出一种基于计算机视觉与色彩滤波阵列的图像处理方法,该方法包括:
5.获取图像采集目标的第一rgb图像、拜耳图像和第一灰度图像,第一rgb图像和拜耳图像的分辨率相同且小于第一灰度图像;
6.对所述拜耳图像进行颜色分离,得到r像素阵列、g像素阵列、b像素阵列,对所述像素阵列进行处理获取r像素频谱图、g像素频谱图、b像素频谱图;
7.对所述第一灰度图像进行处理,获取第一灰度频谱图;
8.将所述r像素频谱图、g像素频谱图、b像素频谱图、第一灰度频谱图输入神经网络,得到无摩尔纹的第二rgb图像,所述第二rgb图像和所述第一灰度图像分辨率相同;其中,所述神经网络包括第一神经网络和第二神经网络,构建第一损失函数和第二损失函数,用所述第一损失函数对所述第一神经网络进行训练,用所述第二损失函数对所述第二神经网络进行训练。
9.所述第一灰度图像通过灰色相机采集得到。
10.所述第一神经网络包括第一编码器和第一解码器,第一编码器的输入为r像素频谱图、g像素频谱图、b像素频谱图联合后得到的第一三通道频谱图,输出为第一特征图;第一解码器的输入为第一特征图,输出分辨率与第一灰度频谱图相同的第二灰度频谱图。
11.所述第二神经网络包括第二编码器和第二解码器,第二编码器的输入为第一灰度频谱图,输出为第二特征图;所述第一特征图和所述第二特征图相乘得到第三特征图,第二解码器的输入为第三特征图,输出分辨率与第一灰度频谱图相同的第二三通道频谱图。
12.所述第一神经网络还用于对所述第二三通道频谱图进行傅里叶逆变换,得到所述第二rgb图像。
13.所述第一损失函数为:
[0014][0015]
第一解码器包括中间层和输出层,获取多个中间层的输出结果以及输出层的输出结果,共得到r个输出结果,cv
p
表示第p个输出结果的变异系数;基于第一灰度频谱图得到与每个输出结果分辨率相对应的频谱特征图,表示第p个输出结果对应的频谱特征图的变异系数;表示第p个输出结果的第i个像素的像素值,表示第p个输出结果对应的频谱特征图的第i个像素的像素值,m
p
为第p个输出结果的像素数量。
[0016]
所述第二损失函数结合了改进的均方误差损失函数和结构相似性损失函数。
[0017]
所述改进的均方误差损失函数为:
[0018][0019]
对第一rgb图像进行处理得到第二灰度图像,所述第二灰度图像的分辨率与所述第一灰度图像相同,对所述第二灰度图像以及训练第二神经网络的标签图像进行角点检测,并利用滑动窗口分别对所述第一灰度图像、所述第二灰度图像、所述标签图像、所述第二rgb图像进行q个图像块的提取,滑动窗口大小为k*k,b
x
表示第二灰度图像中第x个图像块的角点数量与标签图像中第x个图像块的角点数量的比值;w
x
为第一灰度图像中第x个图像块的纹理特征权重,具体地,计算第一灰度图像中每个像素点对应的asm能量、熵ent,基于第一灰度图像第x个图像块中所有像素点对应的asm能量、熵计算该图像块的纹理权重;分别表示第二神经网络输出的第二rgb图像、标签图像中第x个图像块的第c个通道中第j个像素的像素值,γ、δ为预设缩放系数。
[0020]
其中,asm
j
、ent
j
分别表示第一灰度图像的第x个图像块中第j个像素点的asm能量、熵ent;α、β为预设权重因子。
[0021]
所述标签图像为通过彩色相机采集的与第一灰度图像分辨率相同的彩色图像;对所述标签图像进行角点检测之前需要对标签图像进行灰度化处理。
[0022]
本发明的有益效果在于:
[0023]
1.本发明对相机的raw文件进行处理,实现图像的超分辨率以及摩尔纹的去除,简单准确高效且通过高分辨率灰色相机、低分辨率彩色相机采集的图像来重建高分辨率彩色图像可以节约采集成本,本发明所述方法适用性强。
[0024]
2.本发明通过傅里叶变换将拜耳图像转化为频谱图,并对频谱图进行重建,可以更好地滤除摩尔纹,且可以固定网络的拟合方向,提高网络收敛速度。
[0025]
3.本发明根据摩尔纹的特征构建损失函数,可以提高重建图像的质量与细节,提高网络的拟合能力和特征提取能力,使网络收敛更快。
附图说明
[0026]
图1为本发明的实施流程图。
具体实施方式
[0027]
为了让本领域技术人员更好的理解本发明,下面结合实施例对本发明进行详细描述。
[0028]
现有的isp pipeline这种图像处理流水线的方法主要只适合于特定一种相机或一家相机厂商生产的相机,没有普适性,本发明直接从相机传感器的raw文件入手,其实施流程如图1所示,对拜耳图像进行频谱处理,并通过端到端的神经网络直接实现在消除低分辨率彩色图像中摩尔纹、噪声影响的同时实现低分辨率彩色图像的重建,得到不包括摩尔纹的高分辨率彩色图像。
[0029]
实施例:
[0030]
本发明需要利用多个相机对图像采集目标进行图像采集,基于低分辨率彩色相机获取图像采集目标的第一rgb图像、拜耳图像,第一rgb图像和拜耳图像的分辨率相同,实施例中低分辨率彩色相机采用拜耳型颜色滤波阵列,为常见相机的色彩滤波阵列,低分辨率彩色相机的分辨率经验值为1024*1024;利用高分辨率灰色相机获取图像采集目标的第一灰度图像,基于灰色相机得到的第一灰度图像不会因为密集纹理而出现摩尔纹现象,原因为灰色相机通过单层滤镜采集所有波长的光子直接成像,因此不会存在摩尔纹,从而得到更清晰的图像,实施例中高分辨率灰色相机分辨率的大小为低分辨率彩色相机的4倍,即2048*2048;利用能够在一定程度上规避摩尔纹的高分辨率多层滤镜彩色相机获取图像采集目标的高分辨率彩色图像,高分辨率彩色图像为神经网络训练时的其中一个标签图像,实施例中高分辨率多层滤镜彩色相机可以采用适马foveon x3的三层滤镜的结构,也可以采用富士x

trans cmos像素滤镜排列方式,其分辨率与灰色相机的分辨率相同,为2048*2048。
[0031]
对所述拜耳图像即图像采集目标的原始光谱信息进行颜色分离,得到r像素阵列、g像素阵列、b像素阵列,其中,得到的像素阵列的尺寸与拜耳图像相同,对三个像素阵列分别进行傅里叶变换,将三个像素阵列从空间域变换到频率域,得到r像素频谱图、g像素频谱图、b像素频谱图。同时,对第一灰度图像进行处理,获取第一灰度频谱图。
[0032]
在图像处理中,频域反应了图像在空域灰度变化剧烈程度,也就是图像灰度的变化速度,也就是图像的梯度大小。对图像而言,图像的边缘部分是突变部分,变化较快,因此反应在频域上是高频分量;图像的噪声大部分情况下是高频部分;图像平缓变化部分则为低频分量。
[0033]
将所述r像素频谱图、g像素频谱图、b像素频谱图、第一灰度频谱图输入神经网络,得到与第一灰度图像分辨率相同的无摩尔纹的第二rgb图像;其中,神经网络包括第一神经网络和第二神经网络,具体地:
[0034]
第一神经网络包括第一编码器和第一解码器,r像素频谱图、g像素频谱图、b像素频谱图经过归一化处理后进行联合(concatenate)得到第一三通道频谱图,第一三通道频谱图的形状为[b,w,h,3],b代表训练网络时的batch size(样本批次大小),w、h分别为第一三通道频谱图的长、高,3为图像通道数;第一编码器的输入为第一三通道频谱图,经过特征
提取后输出第一特征图;第一解码器的输入为第一特征图,第一解码器由多个block(块)组成,块中包含上采样、卷积等操作,用于进行特征拟合及特征上采样,输出为第二灰度频谱图;第一解码器可以更好的实现频谱的超分辨与重建,使得第一神经网络中第一编码器提取的结果更加鲁棒。
[0035]
第二神经网络包括第二编码器和第二解码器,第二编码器的输入为第一灰度频谱图,经过特征提取后输出第二特征图;此处应保证第二特征图与第一特征图的数量和大小皆一致,以实现低分辨率不同通道的频谱特征与高分辨率清晰图像特征的融合,所述第一特征图和所述第二特征图相乘得到第三特征图,第三特征图的数量与大小与第一特征图、第二特征图相同,第三特征图融合了低分辨率图像和高分辨率图像的特征,进而更容易重建出高质量、高分辨率、低噪声的第二rgb图像,第二解码器的输入为第三特征图,对第三特征图进行处理后输出第二三通道频谱图;对第二三通道频谱图进行傅里叶逆变换,得到所述第二rgb图像;现有tensorflow、pytorch等框架都有自定义层,实施者可将傅里叶逆变换直接嵌入到自定义层中,以实现神经网络的端到端训练。
[0036]
神经网络的训练标签数据有两个,一个是用于训练第一神经网络的对高分辨率灰色相机采集的第一灰度图像进行傅里叶变换得到的第一灰度频谱图,一个是用于训练第二神经网络的利用高分辨率多层滤镜彩色相机获得的高分辨率彩色图像。
[0037]
由于本申请中神经网络为多任务网络,所以神经网络有两个损失函数,构建第一损失函数和第二损失函数,利用第一损失函数对第一神经网络进行训练,利用第二损失函数对第二神经网络进行训练;具体地,第一损失函数为:
[0038][0039]
第一解码器包括中间层和输出层,获取多个中间层的输出结果以及输出层的输出结果,共得到r个输出结果,将第一解码器的输出结果参与第一神经网络损失函数的计算,cv
p
表示第p个输出结果的变异系数。
[0040]
基于第一灰度频谱图得到与每个输出结果分辨率相对应的频谱特征图,具体地,可以利用最近邻下采样算法对第一灰度频谱图进行处理得到相应的频谱特征图,表示第p个输出结果对应的频谱特征图的变异系数。
[0041]
表示第p个输出结果的第i个像素的像素值,表示第p个输出结果对应的频谱特征图的第i个像素的像素值,m
p
为第p个输出结果的像素数量,输出结果的宽和高相乘即可得到像素数量。
[0042]
变异系数cv的计算方法为:
[0043][0044]
var表示图像的方差,μ表示图像像素均值,cv可以衡量频谱曲线的发散程度。
[0045]
实施例中r取4,4个输出结果的分辨率分别为256*256、512*512、1024*1024、2048*2048,其中,分辨率为2048*2048的输出结果为第一解码器中输出层的输出结果。
[0046]
第二损失函数的获取方法为:
[0047]
由于摩尔纹自身会产生很多角点,所以无摩尔纹的图像中角点的数量比有摩尔纹
的图像中角点的数量要少很多;另外摩尔纹的产生多是因为密集纹理,且图像中包含的噪声越多,纹理越复杂;因此,本发明基于角点特征和纹理特征构建第二损失函数。
[0048]
首先,对包括摩尔纹的第一rgb图像进行处理得到第二灰度图像,所述第二灰度图像的分辨率与所述第一灰度图像相同,其中,得到第二灰度图像的具体方法为,对第一rgb图像进行灰度转换后利用图像插值算法将灰度转换后得到的图像的分辨率固定到第一灰度图像的分辨率,得到第二灰度图像;其次,利用角点检测算法对第二灰度图像以及训练第二神经网络的标签图像进行角点检测,角点检测算法包括harris、shi

tomasi等算法,实施者可自由选取,需要注意的是,标签图像进行角点检测之前需要先进行灰度化处理。
[0049]
利用第一滑动窗口分别对所述第一灰度图像、所述第二灰度图像、所述标签图像、所述第二rgb图像进行q个图像块的提取,第一滑动窗口大小为k*k,实施例中第一灰度图像、第二灰度图像、标签图像与第二rgb图像的分辨率均为2048*2048,k的值为32,则图像块的个数q为64*64。
[0050]
第二损失函数具体为:loss2=l1+l
sslm
,l1为改进的均方误差损失函数,l
sslm
为结构相似性损失函数;具体地:
[0051]
改进的均方误差损失函数为:
[0052][0053]
b
x
表示第二灰度图像中第x个图像块的角点数量与标签图像中第x个图像块的角点数量的比值;需要注意的是,当第二灰度图像中第x个图像块的角点数量为0或标签图像中第x个图像块的角点数量为0时,b
x
赋值为1;b
x
值越大,说明该图像块中存在摩尔纹的可能性越大,因此,对该图像块的关注度越大。
[0054]
分别表示第二神经网络输出的第二rgb图像、标签图像中第x个图像块的第c个通道中第j个像素的像素值;γ、δ为预设缩放系数,实施例中γ取值为0.68,δ取值为0.0005,目的是为了把上式加号两边值域进行缩放,使上式加号两边所得结果比较接近,方便观察模型收敛情况。
[0055]
w
x
为第一灰度图像中第x个图像块的纹理权重,具体地,计算第一灰度图像中每个像素点对应的asm能量、熵ent,基于第x个图像块中所有像素点对应的asm能量、熵计算该图像块的纹理权重;其中,第一灰度图像中任意一像素点的asm能量、熵ent的计算方法为,设置第二滑动窗口,第二滑动窗口的大小实施者可根据实际情况自行确定,第二滑动窗口在第一灰度图像中滑动,具体地,第二滑动窗口分别以第一灰度图像中的每个像素点为中心点得到多个滑窗区域,计算每个滑窗区域的灰度共生矩阵,对于任意一个滑窗区域,基于该滑窗区域的灰度共生矩阵计算该滑窗区域中心点的asm能量和熵ent:
[0056][0057]
t表示该某一滑窗区域中有t个灰度级,实施例中t的值取8,g(u,v)表示该某一滑窗区域的灰度共生矩阵g中第u行第v列处的元素值,灰度共生矩阵的计算方法是公知的,本发明不再赘述其算法原理。
[0058]
如果灰度共生矩阵中的元素集中在某一块,比如值集中在对角线的连续灰度值图像以及值集中在偏离对角线的位置的结构化的图像,则asm有较大值;如果灰度共生矩阵中的元素分布较均匀,如噪声严重的图像,则asm有较小的值。
[0059][0060]
熵是图像所具有的信息量的度量,纹理信息也属于图像的信息,是一个随机性的度量,灰度共生矩阵中元素分散分布时,熵较大;熵表示的是图像中纹理的非均匀程度或复杂程度。熵越大,纹理越复杂。
[0061]
至此,可以得到第一灰度图像中每个像素点的asm能量和熵ent。
[0062]
基于第一灰度图像中每个像素点的asm能量和熵ent计算每个图像块的纹理权重,对于第x个图像块,该图像块的纹理权重为:
[0063][0064]
α、β为预设权重因子,实施例中α的取值为0.75,β的取值为0.25,asm
j
、ent
j
分别表示第一灰度图像的该第x个图像块中第j个像素点的asm能量、熵ent;w
x
越大,说明该图像块中纹理越复杂,噪声越严重。
[0065]
至此,得到改进的均方误差损失函数l1。
[0066]
结构相似性损失函数为:
[0067][0068]
z表示第二神经网络输出的第二rgb图像,表示第二神经网络的标签图像。
[0069]
结构相似性损失函数考虑了亮度、对比度和结构等指标,考虑了人类视觉感知,一般而言,利用结构相似性损失函数得到的结果会比l
1 loss,l
2 loss的结果更有细节。
[0070]
至此,得到第二损失函数。
[0071]
利用第一损失函数对第一神经网络进行训练,利用第二损失函数对第二神经网络进行训练,得到训练好的神经网络;将低分辨率的第一rgb图像对应的r像素频谱图、g像素频谱图、b像素频谱图、第一灰度频谱图输入训练好的神经网络,得到高分辨率的无摩尔纹的第二rgb图像;需要注意的是,第一rgb图像中可存在摩尔纹,也可不存在摩尔纹。
[0072]
以上所述旨在让本领域技术人员更好的理解本发明,并不用于限制本发明,凡是在本发明精神和原则之内做出的修改与变动皆在本申请的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1