一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图像的低纹理区域识别方法、装置、存储介质及设备与流程

2021-11-09 22:25:00 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,具体而言,涉及一种图像的低纹理区域识别方法、装置、存储介质及设备。


背景技术:

2.双目视觉是3d感知中一个最有潜力的、最拟人化的,能同时提供颜色和深度信息(完备的rgbd感知)的一种方法。在3d网格重建、slam(定位与建图)能力、场景认知能力和3d目标检测、3d目标识别、6d姿态检测、自动驾驶、室内导航、机器的定位与测量等方面有非常广泛的应用。
3.基于双目视觉的深度值计算是通过视差来获得的,即通过同一像素在左右两个视图(经过极线校正以后)成像在同一水平线上不同位置的差求解,视差计算方法也称为双目视觉的立体匹配方法。但双目视觉的立体匹配会受两个难以克服的局限:一是像素的非唯一性;二是左右图像的不一致性,且易受到复杂遮挡、低纹理区域、重复的图案、透明表面、反射、非漫射、透视缩短、光学几何变化等因素影响而发生匹配错误。
4.现有大多数研究都只是追求在某些理想环境下的性能、追求在middlebury和kitti基准测试的排名,并不适合现有的大多数低成本、低计算复杂度(低功耗)的嵌入式系统或产品。目前为止,仍未有成熟高效实用的面向嵌入式系统的实时双目视觉立体匹配算法。当前很多嵌入式系统配备了双目视觉的硬件接口(包括大疆、海思等soc芯片系统),都采用由h.hirschmuller提出的,开源的半全局算法sgm算法,这是一个十几年前的算法,准确率不到80%,其性能仍有很大提升空间以满足更多的应用场景。根据使用的计算方式不同,将立体匹配算法可分为深度学习方法和传统方法(非深度学习方法)。
5.近年来绝大数的学术研究都集中在采用深度学习网络来实现立体匹配算法,虽然深度学习方法表现较好的性能,但存在以下缺陷:(1)学习样本非常有限(几万量级);(2)计算量大,部署的硬件系统需要高性能gpu支持,难以作为轻量级的视觉感知前端,而实际的产品和系统往往需要充足的计算资源留给后续高级视觉任务(例如辅助驾驶、目标识别或3d重建);(3)训练学习的是样本的分布,对于完全没有学习过的新场景可能会完全失效。
6.传统方法主要采用基于双边加权的代价聚合方法、基于最小生成树的代价聚合方法等局部匹配方法。这些方法容易并行计算实现,但存在两个严重的缺点:(1)采用wta(winner take all,赢家通获)方法作为匹配代价,容易受到复杂场景里的光线、视角、噪声等干扰导致左右图像的不一致性而发生错误的估计;(2)缺乏对结构信息利用而发生错误的估计。
7.目前最好的是基于图块(patch)匹配局部扩张的方法(localexp),虽然在kitti测试数据集上有一定的鲁棒性,并且在middlebury数据集上表现很好,但是复杂度很高,对kitti中的室外场景测试数据其效果大幅降低,尤其对于低纹理区域的匹配效果较差。立体匹配算法面临最棘手的问题是对于像天空、墙体、大幅面的货柜车厢侧面等低纹理的区域,无论采用现有的任何匹配函数都不能很好解决这一问题。
8.因此,现有技术对于识别图像中的低纹理区域的技术还存在缺陷,而有待于改进和发展。


技术实现要素:

9.本发明实施例提供了一种图像的低纹理区域识别方法、装置、存储介质及设备,能够快速识别出图像中的低纹理区域。
10.根据本发明的一实施例,提供了一种图像的低纹理区域识别方法,包括以下步骤:
11.将待识别的图像划分为若干个像素图块;
12.分别计算若干个像素图块各自的纹理数据;
13.对若干个纹理数据进行归一化处理,得到每一个像素图块对应的归一化系数;
14.从若干个归一化系数中选出小于纹理阈值的归一化系数;
15.将选出归一化系数对应的像素图块作为图像中的低纹理区域。
16.进一步地,在将待识别的图像划分为若干个像素图块具体为:
17.在待识别的图像中任意取一个像素点;
18.以像素点为中心,按照预设像素面积截取像素图块;
19.重复任意另取一个像素点,再次以该像素点为中心,按照预设像素面积截取像素图块,直至图像划分为若干个像素图块。
20.进一步地,分别计算若干个像素图块各自的纹理数据包括:
21.计算若干个像素图块的方差;
22.基于方差,计算若干个像素图像的纹理系数,将纹理系数作为像素图块的纹理数据。
23.进一步地,
24.计算方差的方差公式为:
[0025][0026]
其中,为像素图块的方差,n为像素图块的数量,x为任意取的像素点,为截取的像素图块的像素平均值;
[0027]
计算纹理系数的纹理系数公式为:
[0028][0029]
其中,t
x
为纹理系数,t
min
和ε
var
为自定义的经验值;
[0030]
计算归一化系数的归一化公式为:
[0031][0032]
其中,x为归一化系数,x为纹理系数t
x
,max为若干个纹理系数中的最大值,min为若干个纹理系数中的最小值。
[0033]
进一步地,分别计算若干个像素图块各自的纹理数据包括:
[0034]
计算若干个像素图块各自的图像熵值,将图像熵值作为像素图块的纹理数据。
[0035]
进一步地,通过熵值公式计算若干个像素图块的图像熵值,通过归一化公式求解像素图块的归一化系数;
[0036]
计算图像熵值的熵值公式为:
[0037][0038]
其中,h为图像熵值,p
i
为图像的分辨率,logp
i
为分辨率p
i
的对数;计算归一化系数的归一化公式为:
[0039][0040]
其中,x为归一化系数,x为图像熵值h,max'为图像熵值中的最大值,min'为图像熵值中的最小值。
[0041]
进一步地,在将待识别的图像划分为若干个像素图块之前还包括:
[0042]
通过双目摄像机获取待识别的图像。
[0043]
一种图像的低纹理区域识别装置,包括:
[0044]
像素划分模块,用于待识别的图像划分为若干个像素图块;
[0045]
数据计算模块,用于分别计算若干个像素图块各自的纹理数据;
[0046]
归一化模块,对若干个纹理数据进行归一化处理,得到每一个像素图块对应的归一化系数;
[0047]
对比模块,用于从若干个归一化系数中选出小于纹理阈值的归一化系数;
[0048]
低纹理识别模块,用于将选出归一化系数对应的像素图块作为图像中的低纹理区域。
[0049]
一种计算机可读存储介质,计算机可读存储介质存储一个或多个程序,一个或多个程序可被一个或多个处理器执行,以实现如上述任意一项的图像的低纹理区域识别方法中的步骤。
[0050]
一种终端设备,包括:处理器、存储器及通信总线;存储器上存储有可被处理器执行的计算机可读程序;
[0051]
通信总线实现处理器和存储器之间的连接通信;
[0052]
处理器执行计算机可读程序时实现上述任意一项的图像的低纹理区域识别方法中的步骤。
[0053]
本发明实施例中的图像的低纹理区域识别方法、装置、存储介质及设备中,方法包括:将获取的图像划分为若干个像素图块;计算若干个像素图块的纹理数据;然后对若干个纹理数据进行归一化处理,得到每一块像素图块对应的归一化系数;将得到的每一个归一化系数与预设的纹理阈值进行对比,将小于纹理阈值的归一化系数对应的像素图块视为所述图像中的低纹理区域。本技术通过将小于纹理阈值将的归一化系数对应的像素图块视为所述图像中的低纹理区域,以快速识别出图像中的低纹理区域。
附图说明
[0054]
此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发
明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0055]
图1为本发明图像的低纹理区域识别方法的流程图;
[0056]
图2为本发明图像的低纹理区域识别方法的原理图;
[0057]
图3为本发明截图5
×
5像素图块的示意图。
[0058]
图4为本发明未计算纹理系数的原图像;
[0059]
图5为本发明的纹理系数图像;
[0060]
图6为本发明的未计算图像熵值的原图像
[0061]
图7为本发明计算图像熵值后的图像熵图;
[0062]
图8为本发明提供的终端设备的原理图。
具体实施方式
[0063]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0064]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0065]
参见图1,根据本发明一实施例,提供了一种图像的低纹理区域识别方法,包括以下步骤:
[0066]
s101:将待识别的图像划分为若干个像素图块;
[0067]
s102:分别计算若干个像素图块各自的纹理数据;
[0068]
s103:对若干个纹理数据进行归一化处理,得到每一个像素图块对应的归一化系数;
[0069]
s104:从若干个归一化系数中选出小于纹理阈值的归一化系数;
[0070]
s105:将选出归一化系数对应的像素图块作为图像中的低纹理区域。
[0071]
实施例中,本技术方法包括:将待识别的图像划分为若干个像素图块;分别计算若干个像素图块各自的纹理数据;然后对若干个纹理数据进行归一化处理,得到每一块像素图块对应的归一化系数;将得到的每一个归一化系数与预设的纹理阈值进行对比,将小于纹理阈值的归一化系数对应的像素图块视为图像中的低纹理区域。本技术通过将小于纹理阈值将的归一化系数对应的像素图块视为图像中的低纹理区域,以快速识别出图像中的低纹理区域。
[0072]
本技术方法计算简便、算法容易实现,可以快速实现识别图像中的低纹理区域,且算法实时性非常好,可以满足实际产品开发中的实时性要求,可以大大降低产品开发的成。
[0073]
实施例中,在将待识别的图像划分为若干个像素图块具体为:
[0074]
在待识别的图像中任意取一个像素点;
[0075]
以像素点为中心,按照预设像素面积截取像素图块;
[0076]
重复任意另取一个像素点,再次以该像素点为中心,按照预设像素面积截取像素图块,直至图像划分为若干个像素图块。
[0077]
具体地,在获取的图像中任意取一个像素点;以获取的像素点为中心,上下左右各取若干行和若干列的像素点截取像素图块;然后重复任意取一个像素点,再次以该像素点为中心,上下左右各取若干行和若干列的像素点截取像素图块,直至图像划分为若干个像素图块;需要说明的是,每一个像素点仅能取一次作为中心点。
[0078]
本技术可以通过各种方式获得图像;例如,摄像机或录像机拍摄的图像;在获得图像后,以图像中的任意一个像素点x为中心,上下左右各取若干行和若干列的像素点。
[0079]
作为优选的技术方案,以图像中的任意一个像素点x为中心,选取行和列相等的若干像素点,构成n
×
n的像素图块,然后,按照前述方法,直至将整个图像划分完成为若干个n
×
n的像素图块。
[0080]
作为优选的技术方案,如图3所示,以图像中的任意一个像素点x为中心,上下左右各取两行两列像素点,截取成5
×
5的像素图块。本方案还可以截取其它大小的像素图块,例如3
×
3、7
×
7、9
×
9的像素图块。
[0081]
进一步地,按照上述方法,重新再任选一点未被作为中心点的像素点为中心,截取成第二个5
×
5的像素图块,直至将整个图像划分完成为若干个5
×
5的像素图块。
[0082]
需要说明的是,在划分像素图块的过程中,在划分到图像边缘时可能会出现在选择像素点作为中心点后,不够组成n
×
n的像素图块;此时,有下方案处理:
[0083]
一是将不够组成n
×
n的像素图块的边缘部分舍弃不取;
[0084]
以5
×
5的像素图块为例,以中心像素点取上下个取两行,但该像素点为中心的右边作为图像的边缘只有一列像素点了,则不够组成5
×
5的像素图块,则舍弃该像素区域。
[0085]
二是向边缘外延伸出虚拟像素点,组成n
×
n的像素图块。
[0086]
如上述5
×
5像素图块的例子,在右边只有一列像素时,则补充一个虚拟像素列,以组成5
×
5的像素图块。
[0087]
实施例中,分别计算若干个像素图块各自的纹理数据包括:
[0088]
计算若干个像素图块的方差;
[0089]
基于方差,计算若干个像素图像的纹理系数,将纹理系数作为像素图块的纹理数据。
[0090]
如图4至图7所示,本技术方法在于,通过计算得出图像中的低纹理区域;本实施例中,提供两种方案区计算图像的低纹理区域:
[0091]
方案一:是通过计算图像的纹理系数,然后将纹理系数归一化,并与预设的阈值进行对比,得出图像的低纹理区域;
[0092]
方案二:是通过计算图像的图像熵值,然后将图像熵值归一化,并与预设的阈值进行对比,得出图像的低纹理区域。
[0093]
具体地,方案一通过计算若干个像素图块的纹理系数得出图像的低纹理区域为:
[0094]
计算若干个像素图块的方差;
[0095]
基于方差,计算若干个像素图像的纹理系数;
[0096]
对若干个纹理数据进行归一化处理,得到每一块像素图块对应的归一化系数具体为:
[0097]
对若干个纹理系数进行归一化处理,得到每一个像素图块的归一化系数。
[0098]
以下为选择方案一,用图像的纹理系数计算图像的低纹理区域,其具体步骤如下:
[0099]
步骤一:首先选择图像中的任意一个像素点,以该像素点为中心,上下左右各取n行n列像素点,截取n
×
n的像素图块;
[0100]
步骤二:基于方差公式计算截取的n
×
n的像素图块的方差;
[0101]
步骤三:基于纹理系数公式计算该像素图块的纹理系数;
[0102]
步骤四:将整个图像划分为若干个n
×
n的像素图块,重复步骤一至步骤三,直至计算出所有像素图块的纹理系数;
[0103]
步骤五:基于归一化公式对所有纹理系数进行归一化处理,得到每一个像素图块的归一化系数;
[0104]
步骤六:将归一化系数与预设纹理阈值进行对比;其中,那些小于纹理阈值的归一化系数对应的像素图块,则被视为低纹理图像。
[0105]
图4和图5对应为原图和基于原图进行纹理计算处理后的效果图。
[0106]
实施例中,以下为方差公式、纹理系数公式及归一化公式的具体表达式;其中,通过方差公式计算像素图块的方差,通过纹理系数公式计算像素图块的纹理系数,通过归一化公式求解像素图块的归一化系数;其中,
[0107]
方差公式为:
[0108][0109]
其中,为像素图块的方差,n为像素图块的数量,x为任意取的像素点,为截取的像素图块的像素平均值;
[0110]
纹理系数公式为:
[0111][0112]
其中,t
x
为纹理系数,t
min
和ε
var
为自定义的经验值;
[0113]
归一化公式为:
[0114][0115]
其中,x为归一化系数,x为纹理系数t
x
,max为若干个纹理系数中的最大值,min为若干个纹理系数中的最小值。
[0116]
进一步地,其中t
min
和ε
var
是通过不断实验得到的最佳效果经验值;优选地,t
min
=0.5,ε
var
=0.00005。
[0117]
实施例中,分别计算若干个像素图块各自的纹理数据包括:
[0118]
计算若干个像素图块各自的图像熵值,将图像熵值作为像素图块的纹理数据。
[0119]
具体地,以下为选择方案二,用图像熵值计算图像的低纹理区域,其步骤如下:
[0120]
第一步:首先选择图像中的任意一个像素点,以该像素点为中心,上下左右各取n行n列像素点,截取n
×
n的像素图块;
[0121]
第二步:基于熵值公式计算截取的n
×
n的像素图块的图像熵值;
[0122]
第三步:将整个图像划分为若干个n
×
n的像素图块,重复步骤一和步骤二,直至计算出所有像素图块的图像熵值;
[0123]
第四步:基于归一化公式对所有图像熵值进行归一化处理,得到每一个像素图块的归一化系数;
[0124]
第五步:将归一化系数与预设纹理阈值进行对比;其中,那些小于纹理阈值的归一化系数对应的像素图块,则被视为低纹理图像。
[0125]
图6和图7对应为原图和基于原图进行图像熵值计算处理后的熵值效果图;其中,图6对应图7方框位置的部分为低纹理区域。
[0126]
实施例中,通过熵值公式计算若干个像素图块的图像熵值,通过归一化公式求解像素图块的归一化系数;
[0127]
熵值公式为:
[0128][0129]
其中,h为图像熵值,p
i
为图像的分辨率,logp
i
为分辨率p
i
的对数;归一化公式为:
[0130][0131]
其中,x为归一化系数,x为为图像熵值h,max'为若干个图像熵值中的最大值,min'为若干个图像熵值中的最小值。
[0132]
进一步地,若干个纹理系数中的最大值max和最小值min值,以及若干个图像熵值中的最大值max'和最小值min',均可通过编程设计一个命令、程序或算法找出。
[0133]
进一步地,归一化的纹理系数越小,表明该像素图块的纹理越低。
[0134]
进一步地,归一化系数中比设定纹理阈值小的连续区域即是图像中的低纹理区域;需要说明的是,阈值可以任意设置,通过调整设定阈值,可以控制连续区域的大小;例如,设置纹理阈值为0.5,则归一化系数小于0.5的区域这被视为低纹理区域,或将纹理阈值设为0.3,则归一化系数小于0.3的区域则为低纹理阈值;通过纹理阈值的调整,可以控制图像中不同程度的纹理区域为低纹理区域。
[0135]
实施例中,在将待识别的图像划分为若干个像素图块之前还包括:
[0136]
通过双目摄像机获取待识别的图像。
[0137]
参考图2,一种图像的低纹理区域识别装置,包括:
[0138]
像素划分模块,用于将待识别的图像划分为若干个像素图块;
[0139]
数据计算模块,用于分别计算若干个像素图块各自的纹理数据;
[0140]
归一化模块,用于对若干个纹理数据进行归一化处理,得到每一个像素图块对应的归一化系数;
[0141]
对比模块,用于从若干个归一化系数中选出小于纹理阈值的归一化系数;
[0142]
低纹理识别模块,用于将选出归一化系数对应的像素图块作为图像中的低纹理区
域。
[0143]
本发明实施例中的图像的低纹理区域识别方法、装置、存储介质及设备中,装置包括:通过像素划分模块将获取的图像划分为若干个像素图块;数据计算模块计算若干个像素图块的纹理数据;然后归一化模块对若干个纹理数据进行归一化处理,得到每一块像素图块对应的归一化系数;对比模块将得到的每一个归一化系数与预设的纹理阈值进行对比,将小于纹理阈值的归一化系数对应的像素图块视为图像中的低纹理区域。本技术通过将小于纹理阈值将的归一化系数对应的像素图块视为图像中的低纹理区域,以快速识别出图像中的低纹理区域。
[0144]
基于上述图像的低纹理区域识别方法,本实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例的图像的低纹理区域识别方法中的步骤。
[0145]
基于上述图像的低纹理区域识别方法,本技术还提供了一种终端设备,如图8所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communicationsinterface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的图像的低纹理区域识别方法。
[0146]
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0147]
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
[0148]
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。
[0149]
此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动硬盘、只读存储器(read

onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
[0150]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献