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

图像处理方法和服务器与流程

2022-08-26 22:31:07 来源:中国专利 TAG:


1.本技术涉及双目立体视觉技术领域,特别涉及一种图像处理方法和服务器。


背景技术:

2.双目深度相机在智慧家居、工业自动化、安防等领域应用日益广泛。双目深度相机通过模拟人类双眼识别场景三维信息的机理,分别从两个角度采集当前场景的二维图像。根据所采集的图像,通过建立两张图像之间的匹配关系来获得视差图像,进而根据三角测量原理通过该视差图像得到当前场景图像的深度信息。
3.然而,在光线不佳场景中,由于光线较暗等原因造成双目深度相机所采集的图像中噪点较多,在对所采集的图像进行匹配时会产生很多错误匹配的视差点。故此,如何提高视差图像的精准度有待解决。


技术实现要素:

4.本技术的目的是提供一种图像处理方法和服务器,用于解决相关技术中缺少一种能够有效提升视差图像中视差的精准度的方案的问题。
5.第一方面,本技术实施例提供了一种图像处理方法,所述方法包括:
6.根据基准图像和匹配图像确定视差图像,其中,双目深度相机针对同一被采集对象采集得到的两幅图像中一幅图像为所述基准图像、另一幅图像为所述匹配图像;
7.确定视差图像中的目标对象;
8.获取所述目标对象在所述视差图像中的显著点,并根据所述显著点的视差值确定所述目标对象对应的可行视差范围;
9.将所述目标对象中视差值未在所述可行视差范围内的像素点作为异常点,并从所述视差图像中剔除所述异常点。
10.在一些可能的实施例中,所述确定视差图像中的目标对象,包括:
11.对所述视差图像进行连通区域检测,获取所述视差图像内的连通区域;
12.对所述连通区域进行边缘扩展得到所述连通区域的最小外接矩形,将所述最小外接矩形内的图像内容作为所述目标对象。
13.在一些可能的实施例中,所述确定视差图像中的目标对象之后,所述方法还包括:
14.确定所述目标对象中每一像素点的视差值,采用拉依达准则确定所述像素点中视差值异常的像素点;
15.将所述视差值异常的像素点作为异常点,并从所述视差图像中剔除所述异常点。
16.在一些可能的实施例中,所述显著点的视差值是根据以下方法确定的:
17.对所述基准图像进行显著点检测,得到所述目标对象在所述基准图像中的第一显著点;以及,对所述匹配图片进行显著点检测,得到所述目标对象在所述匹配图像中的第二显著点;
18.根据所述目标对象对应的所述第一显著点和所述第二显著点,确定所述目标对象
在所述视差图像中的显著点的视差值。
19.在一些可能的实施例中,所述目标对象对应的所述第一显著点和所述第二显著点中,每一所述第一显著点与一个第二显著点相匹配,每一所述第一显著点与相匹配的所述第二显著点组成显著点对;
20.所述确定所述目标对象在所述视差图像中的显著点的视差值,包括:
21.采用代价函数获取每一所述显著点对的代价值;
22.根据每一所述显著点对的代价值,采用动态规划算法确定每一所述显著点对的动态值,并将所述显著点对的动态值作为所述视差图像中,与所述显著点对相对应的显著点的视差值。
23.在一些可能的实施例中,针对每一所述第一显著点,采用视觉匹配算法确定所述第一显著点对应的所述第二显著点。
24.在一些可能的实施例中,所述确定视差图像中的目标对象之前,对所述视差图像进行膨胀处理。
25.在一些可能的实施例中,所述从所述视差图像中剔除所述异常点之后,对所述视差图进行填充处理。
26.第二方面,本技术实施例提供了一种服务器,包括存储器和处理器,其中:
27.所述存储器,用于存储可被所述处理器执行的计算机程序;
28.所述处理器,连接所述存储器,被配置为:根据基准图像和匹配图像确定视差图像,其中,双目深度相机针对同一被采集对象采集得到的两幅图像中一幅图像为所述基准图像、另一幅图像为所述匹配图像;
29.确定视差图像中的目标对象;
30.获取所述目标对象在所述视差图像中的显著点,并根据所述显著点的视差值确定所述目标对象对应的可行视差范围;
31.将所述目标对象中视差值未在所述可行视差范围内的像素点作为异常点,并从所述视差图像中剔除所述异常点。
32.在一些可能的实施例中,所述处理器执行确定视差图像中的目标对象时,被配置为:
33.对所述视差图像进行连通区域检测,获取所述视差图像内的连通区域;
34.对所述连通区域进行边缘扩展得到所述连通区域的最小外接矩形,将所述最小外接矩形内的图像内容作为所述目标对象。
35.在一些可能的实施例中,所述处理器执行确定视差图像中的目标对象之后,还被配置为:
36.确定所述目标对象中每一像素点的视差值,采用拉依达准则确定所述像素点中视差值异常的像素点;
37.将所述视差值异常的像素点作为异常点,并从所述视差图像中剔除所述异常点。
38.在一些可能的实施例中,所述显著点的视差值是根据以下方法确定的:
39.对所述基准图像进行显著点检测,得到所述目标对象在所述基准图像中的第一显著点;以及,对所述匹配图片进行显著点检测,得到所述目标对象在所述匹配图像中的第二显著点;
40.根据所述目标对象对应的所述第一显著点和所述第二显著点,确定所述目标对象在所述视差图像中的显著点的视差值。
41.在一些可能的实施例中,所述目标对象对应的所述第一显著点和所述第二显著点中,每一所述第一显著点与一个第二显著点相匹配,每一所述第一显著点与相匹配的所述第二显著点组成显著点对;
42.所述处理器执行确定所述目标对象在所述视差图像中的显著点的视差值时,被配置为:
43.采用代价函数获取每一所述显著点对的代价值;
44.根据每一所述显著点对的代价值,采用动态规划算法确定每一所述显著点对的动态值,并将所述显著点对的动态值作为所述视差图像中,与所述显著点对相对应的显著点的视差值。
45.在一些可能的实施例中,针对每一所述第一显著点,采用视觉匹配算法确定所述第一显著点对应的所述第二显著点。
46.在一些可能的实施例中,所述处理器执行确定视差图像中的目标对象之前,对所述视差图像进行膨胀处理。
47.在一些可能的实施例中,所述处理器执行从所述视差图像中剔除所述异常点之后,对所述视差图进行填充处理。
48.第三方面,本技术实施例提供了一种终端设备,包括存储器和控制器,其中:
49.所述存储器,用于存储可被所述控制器执行的计算机程序;
50.所述控制器,连接所述存储器,被配置为:根据基准图像和匹配图像确定视差图像,其中,双目深度相机针对同一被采集对象采集得到的两幅图像中一幅图像为所述基准图像、另一幅图像为所述匹配图像;
51.确定视差图像中的目标对象;
52.获取所述目标对象在所述视差图像中的显著点,并根据所述显著点的视差值确定所述目标对象对应的可行视差范围;
53.将所述目标对象中视差值未在所述可行视差范围内的像素点作为异常点,并从所述视差图像中剔除所述异常点。
54.在一些可能的实施例中,所述控制器执行确定视差图像中的目标对象时,被配置为:
55.对所述视差图像进行连通区域检测,获取所述视差图像内的连通区域;
56.对所述连通区域进行边缘扩展得到所述连通区域的最小外接矩形,将所述最小外接矩形内的图像内容作为所述目标对象。
57.在一些可能的实施例中,所述控制器执行确定视差图像中的目标对象之后,还被配置为:
58.确定所述目标对象中每一像素点的视差值,采用拉依达准则确定所述像素点中视差值异常的像素点;
59.将所述视差值异常的像素点作为异常点,并从所述视差图像中剔除所述异常点。
60.在一些可能的实施例中,所述显著点的视差值是根据以下方法确定的:
61.对所述基准图像进行显著点检测,得到所述目标对象在所述基准图像中的第一显
著点;以及,对所述匹配图片进行显著点检测,得到所述目标对象在所述匹配图像中的第二显著点;
62.根据所述目标对象对应的所述第一显著点和所述第二显著点,确定所述目标对象在所述视差图像中的显著点的视差值。
63.在一些可能的实施例中,所述目标对象对应的所述第一显著点和所述第二显著点中,每一所述第一显著点与一个第二显著点相匹配,每一所述第一显著点与相匹配的所述第二显著点组成显著点对;
64.所述控制器执行确定所述目标对象在所述视差图像中的显著点的视差值时,被配置为:
65.采用代价函数获取每一所述显著点对的代价值;
66.根据每一所述显著点对的代价值,采用动态规划算法确定每一所述显著点对的动态值,并将所述显著点对的动态值作为所述视差图像中,与所述显著点对相对应的显著点的视差值。
67.在一些可能的实施例中,针对每一所述第一显著点,采用视觉匹配算法确定所述第一显著点对应的所述第二显著点。
68.在一些可能的实施例中,所述控制器执行确定视差图像中的目标对象之前,对所述视差图像进行膨胀处理。
69.第四方面,本技术另一实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行本技术实施例提供的第一方面的方法。
70.本技术实施例,从双目深度相机针对同一被采集对象所采集到的两幅图像中选定基准图像和匹配图像,并根据基准图像和匹配图像确定视差图像。从视差图像中选定用于检测的目标对象后,检测该目标对象中的显著点,并根据显著点的视差值确定该目标对象对应的可行视差范围。针对目标对象中每一像素点的视差值进行检测,将未在可行视差范围的像素点确定为异常点,并从视差图像中剔除该异常点。通过上述方法,能够尽可能的解决相关技术中缺少一种能够有效提升视差图像中视差的精准度的方案的问题。
71.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
72.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
73.图1为本技术一个实施例提供的图像处理方法应用场景示意图;
74.图2a为本技术一个实施例提供的图像处理方法流程示意图;
75.图2b为本技术一个实施例提供的待匹配点的代价值计算示意图;
76.图2c为本技术一个实施例提供的代价聚合示意图;
77.图2d为本技术一个实施例提供的匹配代价算法原理示意图;
78.图2e为本技术一个实施例提供的基准图像和匹配图像中的角点示意图;
79.图2f为本技术一个实施例提供的显著点与显著点对的匹配关系示意图;
80.图3为本技术一个实施例提供的图像处理方法另一流程示意图;
81.图4为根据本技术一个实施例提供的图1中服务器20的结构图。
具体实施方式
82.下面将结合附图对本技术实施例中的技术方案进行清楚、详尽地描述。在本技术实施例的描述中,除非另有说明,

/

表示或的意思,例如,a/b可以表示a或b;文本中的

和/或

仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本技术实施例的描述中,

多个

是指两个或多于两个。
83.在本技术实施例的描述中,除非另有说明,术语

多个

是指两个或两个以上,其它量词与之类似应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
84.为进一步说明本技术实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本技术实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本技术实施例提供的执行顺序。方法在实际的处理过程中或者控制设备执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
85.针对双目深度相机根据当前场景所采集到的两张灰度图像(左目图像、右目图像)多采用立体匹配算法来获取当前场景的视差图像。在匹配计算过程中采用梯度图来代替原始图像(即相机所采集到的两张灰度图像),并针对梯度图像进行代价函数估计,以此获得当前场景的视差图像。发明人发现,上述方法存在计算量较大,且不能有效剔除视差图像中的异常点,造成噪点残留的问题。为解决上述问题,如何确定视差图像中的视差噪点(即异常点)显得尤为重要。基于此,本技术的发明构思为:从双目深度相机针对同一被采集对象所采集到的两幅图像中选定基准图像和匹配图像,采用现有技术中的视差匹配算法,根据基准图像和匹配图像确定视差图像。从视差图像中选定用于检测的目标对象后,检测该目标对象中的显著点,并根据显著点的视差值确定该目标对象对应的可行视差范围。在得到目标对象所对应的可行视差范围后,针对目标对象中每一像素点的视差值进行检测,将未在可行视差范围的像素点确定为异常点,并从视差图像中剔除该异常点。本技术将获取的视差图像分成各目标对象区域,以便于针对视差图像中每一目标对象区域能够并行处理,并行处理包括计算每一目标对象区域的可行视差范围,基于可行视差范围筛选出目标对象区域内的异常点,并将视差图像中所有异常点剔除,提升视差图像中视差的精准度。通过上述方法,显著点的视差相较于非显著点的视差的可信度更高,故此,本技术实施例实现了针对不同目标对象采用该目标对象的显著点来确定合理地可行视察范围,能够有效的筛选和过滤掉噪声点,进而提升视差图像中视差的精准度。
86.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变
得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
87.下面结合附图对本技术实施例中的一种图像处理方法进行详细说明。
88.参见图1,为根据本技术一个实施例的应用环境的示意图。
89.如图1所示,该应用环境中例如可以包括网络10、服务器20、至少一个终端设备30以及双目深度相机40。其中,终端设备30可包括智能手机、智能电脑等具备显示功能的终端设备。应理解的是,双目深度相机40亦可内置于终端设备中。此处为便于说明本技术的方案,将双目深度相机40与终端设备30分开进行描述。
90.双目深度相机40在进行图像采集时,针对同一采集对象采集得到基准图像和匹配图像两幅图像。双目深度相机40通过网络10将基准图像和匹配图像发送到服务器20中,由服务器采用视差匹配算法根据基准图像和匹配图像确定视差图像。服务器20可将视差图像通过网络10发送给终端设备30,以供用户基于三角测量原理,通过该视差图像获得双目深度相机40所采集的原始图像(即,基准图像和匹配图像)的深度信息。
91.此外,服务器20还可将视差图像存储到数据库中,当服务器20接收到终端设备30发起的用于提取视差图像的指示时,服务器20通过网络10将视差图像发送给终端设备30。需要说明的是,视差图像除了可以存储到服务器关联的数据库之外,还可存储到如缓存系统、硬盘以及内存中,本技术对视差图像的存储方式不作限定。
92.在一些可能的实施例中,服务器20采用视差匹配算法得到视差图像后,对视差图像执行角点检测操作,根据视差图像中角点的视差值确定视差图像的可行视差范围。进一步的,基于可行视差范围对视差图像中每一像素点的视差值进行检测,将视差值未在可行视差范围内的像素点确定为异常点,并从视差图像中剔除异常点,以此提高视差图像的准确性,便于视差图像的后续使用。
93.图2a示出了本技术一个实施例提供的一种图像处理方法的流程示意图,包括:
94.步骤201:根据基准图像和匹配图像确定视差图像,其中,双目深度相机针对同一被采集对象采集得到的两幅图像中一幅图像为所述基准图像、另一幅图像为所述匹配图像。
95.由于双目深度相机在采集基准图像和匹配图像时,相机需要对所采集图像执行如图像曝光、图像后处理等操作,这些操作会导致所采集到的图像具有一定量的噪点。故此,在进行匹配代价计算之前需要对基准图像和匹配图像进行去噪预处理,实施时可采用如高斯滤波等预处理方式对所采集的基准图像和匹配图像进行去噪操作。
96.基于匹配代价算法确定视差图的原理是,如图2b所示,针对基准图像中的每一个待匹配点(即,基准图像中每一像素点),以该点为中心选取固定窗口。基于双目深度相机硬件限制的视差范围,在像素坐标系内的匹配图像中确定该视差范围所在区域,将处于该区域内的像素点作为候选匹配点,并基于每一候选匹配点为中心建立同样大小的窗口。基于基准图像和匹配图像中固定窗口内的像素均值,计算固定窗口内待匹配点与匹配图像视差范围内的各窗口中候选匹配点的代价值。采用相同的方式计算固定窗口内的每一待匹配点与匹配图像视差范围内的各窗口中候选匹配点的代价值。所获取的代价值即为基准图像中每一像素点的代价值。在获取每一像素点的代价值后,如图2c所示,以固定窗口为单位,采用动态规划法将固定窗口中心位置的像素点向八个方向进行代价聚合,得到中心像素点的
能量函数。该能量函数的能量值即为该像素点的视差值。通过上述方法,分别以每一像素点为固定窗口中心,采用动态规划法获取每一像素点的视差值。
97.在一些可能的实施例中,通过灰度相似性代价函数计算基准图像中每一像素点的代价值,所采用的代价函数可为zcc函数(zero-normalized cross correlation,零均值灰度和相关系数代价函数),具体如下述公式(1)所示:
[0098][0099]
其中,w为窗口,i1(x,y)代表基准图像中的像素点坐标,i2(x d,y)代表匹配图像的像素点坐标,d代表i1与i2在坐标系之间的距离,avgw1代表基准图像的固定窗口中的像素均值,avgw2代表匹配图像的窗口中的像素均值。
[0100]
在一些可能的实施例中,通过灰度相似性代价函数计算基准图像中每一像素点的代价值,所采用的代价函数可为ncc函数(normalized cross correlation,归一化灰度互相关代价函数),具体如下述公式(2)所示:
[0101][0102]
其中,w为窗口,i1(x,y)代表基准图像中的像素点坐标,i2(x d,y)代表匹配图像的像素点坐标,d代表i1与i2在坐标系之间的距离。
[0103]
在一些可能的实施例中,通过灰度差异性代价函数计算基准图像中每一像素点的代价值,所采用的代价函数可为sad函数(sum of absolute difference,像素差的绝对值和代价函数),具体如下述公式(3)所示:
[0104][0105]
其中,w为窗口,i1(x,y)代表基准图像中的像素点坐标,i2(x d,y)代表匹配图像的像素点坐标,d代表i1与i2在坐标系之间的距离。
[0106]
在一些可能的实施例中,通过灰度差异性代价函数计算基准图像中每一像素点的代价值,所采用的代价函数可为ssd函数(sum of squared difference,像素差的平方和代价函数),具体如下述公式(4)所示:
[0107][0108]
其中,w为窗口,i1(x,y)代表基准图像中的像素点坐标,i2(x d,y)代表匹配图像的像素点坐标,d代表i1与i2在坐标系之间的距离。
[0109]
在对基准图像和匹配图像进行匹配代价计算之前,需要对基准图像和匹配图像的尺寸大小进行校正,并对基准图像和匹配图像在像素坐标系中的所在位置进行标定,使基准图像和匹配图像平行等位。由于基准图像和匹配图像是双目深度相机针对同一目标采集得到的两幅图片,在基准图像中的图像内容与匹配图像中相同,也即基准图像中每一像素点在匹配图像中有唯一像素点与之对应。故而通过上述操作能够确保基准图像和匹配图像中的所匹配的像素点的坐标值偏移量在像素坐标系上下一行以内。在进行匹配代价计算
时,以基准图像中任一像素点p为例进行说明。可如图2d所示,在像素坐标系中确定基准图像中的待匹配点p坐标(x,y),以p点为原点建立3x3大小的固定窗口。根据双目深度相机的视差搜索范围上限和视差搜索范围下限,确定视差范围(x l
min
,x l
max
),其中l
min
表示双目深度相机的视差搜索范围下限值,l
max
表示双目深度相机的视差搜索范围上限值。在确定视差范围后,在像素坐标系中的匹配图像内,确定该视差范围区域中与p点处于同一水平位置上的所有像素点。将上述像素点作为p点在匹配图像中的候选匹配点集合,分别基于上述各像素点为原点建立同样大小的窗口,采用代价函数计算基准图像中p点和匹配图像中各窗口内候选匹配点的代价值。采用动态规划法获取p点代价值所对应的能量函数,并根据该能量函数的能量值确定像素点的视差值。通过上述方法遍历基准图像中的每一待匹配点,确定基准图像中各像素点的视差值。
[0110]
另需说明,本技术中采用代价函数是为了确定基准图像中每一待匹配点与匹配图像中所对应的候选匹配点之间的代价值,通过计算基准图像中每一待匹配点的代价值能够确定基准图像中每一像素点相对于匹配图像的视差值,并根据每一像素点的视差值确定基准图像和匹配图像的视差图像。本技术中所采用的代价函数可包括用于计算基准图像和匹配图像中每一像素点的相似性代价的zcc函数、ncc函数,或用于计算基准图像和匹配图像中每一像素点的差异性代价的sad函数、ssd函数等。本技术对所采用的代价函数类型不作限定,仅需通过代价函数来确定基准图像中每一待匹配点与匹配图像中所对应的候选匹配点间的代价值即可。
[0111]
由于通过上述步骤201在获取视差图像时,需要采用代价函数来计算基准图像中每一待匹配点与匹配图像中所对应的候选匹配点之间的代价值,而大多像素点进行代价函数计算时所得到的最小代价值和次小代价值的结果十分接近,这导致了在基于该像素点的代价值确定视差值时,所得结果准确性较低。发明人考虑到角点是图像很重要的特征,角点即为某方面属性特别突出的点。在图像中,角点处的像素灰度值相比于周围像素点的灰度值会存在明显梯度变化,且角点处的灰度变化具备唯一性。采用图像中的角点进行代价函数计算时所得到的最小代价值和次小代价值具有较大差异性,因此基于图像角点的代价值所确定的视差值较为准确。进而基于图像角点的视差值来确定该图像的可行视差范围应具有较高的可信度,其中,可行视差范围用于表示视差值的正常波动范围,即,视差值在该范围内的像素点为视差值正常的点。
[0112]
基于上述理论,可针对视差图像进行角点检测,将所检测到的角点作为显著点。基于显著点的视差值确定该视差图像的可行视差范围。通过该可行视差范围对视差图像中每一像素点的视差值进行检测,若像素点的视差值不在可行视差范围内,则说明该像素点为视差异常的异常点,需要将异常点从视差图像中剔除,以保证视差图像的准确性。
[0113]
考虑到在匹配代价计算时,由于角点的次小代价和最小代价具有较大差异性,故而角点所得视差值的可信度比于普通像素点的更高。在一些可能的实施例中,将具备与角点相同特性的像素点作为显著点。
[0114]
当双目深度相机所采集的图像内容较为复杂时,图像中的角点数量较多。为提高处理效率,可执行步骤202:确定视差图像中的目标对象。实施时,通过对视差图像进行连通区域检测来获取视差图像内的连通区域。通过对连通区域进行边缘扩展得到该连通区域的最小外接矩形,将该最小外接矩形内的图像内容作为目标对象。通过上述方法能够确定视
差图像中的每一连通区域。将每一连通区域视为独立个体(即,独立的目标对象),检测每一连通区域内的显著点,并根据连通区域内显著点的视差值确定该连通区域所对应的可行视差范围,进一步的,剔除该连通区域中视差值未在可行视差范围内的像素点。以此针对视差图像中的每一目标对象可进行并行处理,提高了图像处理的效率。
[0115]
在一些可能的实施例中,通过利用神经网络的分类功能适用于模式识别与分类应用的特点,能够简单有效的识别出视差图像中的每一连通区域,且神经网络能够随着连通区域特征提取数量的增加,而进一步优化。
[0116]
此外,发明人还考虑到视差图像的连通区域边缘多存在一些较小的孔洞,这些孔洞会影响显著点检测的准确性,故此,在执行步骤202,确定视差图像中的目标对象之前,可对视差图像进行膨胀处理。通过在视差图像内各连通区域的边缘添加像素值使该连通区域的像素值扩张,达到图像膨胀的效果,以此填充连通区域内的孔洞,保证了显著点检测的准确性。
[0117]
在确定视差图像中的目标对象后,针对每一目标对象,执行步骤203:获取所述目标对象在所述视差图像中的显著点,并根据所述显著点的视差值确定所述目标对象对应的可行视差范围。
[0118]
在确定目标对象中显著点的视差值时,可采用sift算法(scale invariant feature transform,尺度不变特征变换)、surf算法(speeded up robust features,加速稳健特征)以及harris算法(角点提取算法)等角点检测方法对基准图像和匹配图像分别进行角点检测,通过角点检测能够获取到基准图像和匹配图像中,灰度值与其周围像素点存在明显梯度变化的角点,将基准图像中的焦点作为第一显著点,将匹配图像中的角点作为第二显著点后,可采用前述步骤202中的匹配代价算法,确定基准图像中每一第一显著点在匹配图像中所匹配的第二显著点。
[0119]
实施时,可如图2e所示,首先通过角点检测方法对基准图像和匹配图像进行显著点检测,得到目标对象在基准图像中的第一显著点以及该目标对象在匹配图像中的第二显著点。由于基准图像和匹配图像在经过步骤201中的预处理后,是平行等位的两张图像,故此,基准图像中的每一第一显著点对应有一个匹配图像中的第二显著点。然后采用匹配代价算法,以基准图像中的每一第一显著点为原点,形成固定窗口,在视差范围内确定匹配图像中与第一显著点相匹配的第二显著点。以此确定基准图像中的第一显著点和匹配图像中的第二显著点的匹配关系。最后将每一第一显著点与相匹配的第二显著点组成显著点对,采用代价函数计算该显著点对的代价值,并采用动态规划算法,通过显著点对的代价值确定显著点对的动态值。该显著点对的动态值即为视差图像中与该显著点对相对应的显著点的视差值。
[0120]
为了便于理解上述流程中如何确定视差图像中显著点的视差值,具体可如图2f所示,其中,基准图像中的第一显著点包括p0、p1、p2和p3;匹配图像中的第二显著点包括q0、q1、q2和q3;p0和q0、p1和q1、p2和q2、p3和q3为四组显著点对,四组显著点对所对应的视差值为d0、d1、d2和d3。视差图像中包括目标对象a和目标对象b。目标对象a区域内的显著点包括a1和a2,目标对象b区域内的显著点包括b1和b2。
[0121]
由于视差图像是根据基准图像和匹配图像确定的,用于表征基准图像中每一像素点相对于匹配图像中所匹配的每一像素点的视差。故此,上述每一显著点对在视差图像中
对应有唯一显著点。通过视差图像中的显著点在像素坐标系中的显著点坐标和基准图像中每一第一显著点的坐标进行比较,来确定视差图像中的显著点和显著点对的匹配关系。实施时,首先确定视差图像中每一显著点在像素坐标系中的显著点坐标,然后将基准图像放置在像素坐标系的相同位置,确定基准图像的第一显著点坐标。最后根据预设的坐标差异范围对每一显著点坐标和每一第一显著点坐标进行匹配,若显著点坐标和第一显著点坐标的坐标差值在预设坐标差异范围内,则确定该显著点与该第一显著点相对应,也即该显著点与该第一显著点所组成的显著点对相对应。以此能够确定显著点a1所对应的显著点对为p0和q0,a1的视差值为d0。通过上述方法,以此依次确定a2所对应的显著点对为p1和q1,a2的视差值为d1;b1所对应的显著点对为p2和q2,b1的视差值为d2、b2所对应的显著点对为p3和q3,b2的视差值为d3。
[0122]
在确定目标对象a和目标对象b中各显著点的视差值后,从所在目标对象a区域中的所有显著点中选取视差值最大的显著点和视差值最小的显著点,以此组成目标对象a区域对应的可行视差范围a(d
min
≤可行视差范围a≤d
max
)。同理,从所在目标对象b区域中的所有显著点中选取视差值最大的显著点和视差值最小的显著点,以此组成目标对象b区域对应的可行视差范围b(d
min
≤可行视差范围b≤d
max
)。通过上述方法获取视差图像中每一目标对象所对应的可行视差范围后,执行步骤204:将所述目标对象中视差值未在所述可行视差范围内的像素点作为异常点,并从所述视差图像中剔除所述异常点。
[0123]
此外,还考虑到原始图像(基准图像和匹配图像)的图像内容复杂时,视差图像中各目标区域内显著点数量较多。为了进一步提高图像处理效率,在确定视差图像中的异常点时,可将目标对象中的每一像素点视差值作为样本数据,基于高斯概率统计的拉依达准则获取可行视差范围。
[0124]
根据拉依达准则的原理,样本数据服从[μ-3σ,μ 3σ]的概率约为99.7%,即视差值在[μ-3σ,μ 3σ]范围内的像素点为视差值正常的点。基于此,将视差图像中,每一目标对象内的像素点视差值作为样本数据xi。通过xi确定目标对象区域的像素点视差均值μ和视差值方差σ。基于μ和σ确定目标区域所对应的可行性视差范围[μ-3σ,μ 3σ]。将目标对象中,视差值未处于[μ-3σ,μ 3σ]范围的像素点视为异常值,并从视差图像中剔除该异常点。
[0125]
由于剔除异常点会在视差图像中留下孔洞,不利于视差图像的后续使用。例如根据三角测量原理,基于视差图像获得双目深度相机所采集的原始图像的深度信息时,视差图像中的孔洞会造成所得深度信息不准确的问题。故此,在将视差图像中的异常点剔除后,可采用如注入区域填充、种子填充等填充算法来对视差图像进行填充处理,提升视差图像的稠密度。本技术对填充算法的类型不作限定。仅需保证能够填充视差图像中因剔除异常点所造成孔洞即可。
[0126]
为了便于理解本技术所提供的图像处理方法如何提高视差图的准确性,本技术提供了图像处理方法的整体流程图,具体可如图3所示,包括如下步骤:
[0127]
基于双目深度相机针对同一目标所采集的基准图像和匹配图像,执行步骤301,对基准图和匹配图像进行图像预处理操作。在执行图像预处理操作时,需要校正基准图像和匹配图像的尺寸以及标定基准图像和匹配图像在像素坐标系中的位置,使基准图像和匹配图像平行等位。并采用如高斯滤波等滤波处理方式对基准图像和匹配图像进行去噪处理。
[0128]
完成图像预处理后,采用视差匹配算法根据基准图像和匹配图像确定视差图像。
基准图像和匹配图像进行视差匹配时,首先执行步骤3021,匹配代价计算。通过代价函数计算基准图像中每一待匹配点(基准图像中的像素点)与匹配图像中所匹配的候选匹配点(匹配图像中的像素点)的代价值。然后执行步骤3022,通过动态规划方法,将基准图像中每一像素点为中心,四周方向上的代价值进行聚合,以此得到像素点的能量值。像素点的能量值即为像素点的视差值,最后通过上述方法遍历基准图像中的每一像素点,以此获取基准图像相对匹配图像的视差图像。
[0129]
在确定视差图像后,执行步骤304,分区域视差范围确认。在执行步骤304时可采用连通区域检测的方式获取视差图像中的每一连通区域,通过对连通区域进行边缘扩展得到该连通区域的最小外接矩形,将该最小外接矩形内的图像内容作为目标对象。针对每一目标对象可并行处理,以此提高图像处理效率。处理时,首先执行步骤o1,针对目标对象进行显著点检测,获取目标对象区域内的显著点后执行步骤o2,根据显著点的视差值确定目标区域所对应的可行视差范围。
[0130]
在获取显著点的视差值时,执行步骤3031,针对基准图像和匹配图像分别进行角点检测,将基准图像中的角点作为第一显著点,匹配图像中的角点作为第二显著点。执行步骤3032,角点匹配。实施时,根据匹配代价算法确定第一显著点所匹配的第二显著点,并将第一显著点和所匹配的第二显著的组成显著点对,将该显著点对的视差值作为视差图像中与该显著点对对应的显著点的视差值。另需说明的是,上述步骤3031中的角点检测和步骤3032中的角点匹配均是为了确定视差图像中每一显著点的视差值,其具体执行时机仅需在确定视差图像中每一显著点的视差值之前即可。此外,在目标对象中显著点较多时,可采用拉依达准则来确定目标对象区域所对应的可行视差范围。
[0131]
在确定目标区域所对应的可行视差范围后,执行步骤o3,根据目标区域所对应的可行视差范围对目标区域内每一像素点的视差值进行筛选,将未处于可行视差范围内的像素点作为异常点,并将视差图像中的异常点剔除。由于视差图像剔除异常点后会产生孔洞,此时执行步骤305,对视差图像进行视差填充,实施时可采用如注入区域填充、种子填充等填充算法来对视差图像进行填充处理,提升视差图像的稠密度。
[0132]
图4中示例性示出了服务器20的硬件配置框图。如图4所示,服务器20的组件可以包括但不限于:至少一个处理器331、至少一个存储器332、连接不同系统组件(包括存储器332和处理器331)的总线333。
[0133]
总线333表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0134]
存储器332可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)3321和/或高速缓存存储器3322,还可以进一步包括只读存储器(rom)3323。
[0135]
存储器332还可以包括具有一组(至少一个)程序模块3324的程序/实用工具3325,这样的程序模块3324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0136]
服务器20也可以与一个或多个外部设备334(例如键盘、指向设备等)通信,还可与一个或者多个使得目标对象能与服务器20交互的设备通信,和/或与使得该服务器20能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口335进行。并且,服务器20还可以通过网络适配器336与
一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器336通过总线333与用于服务器20的其它模块通信。应当理解,尽管图中未示出,可以结合服务器20使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0137]
在一些实施方式中,本技术提供的一种图像处理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的一种图像处理方法中的步骤。
[0138]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0139]
本技术的实施方式的用于图像处理的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在电子设备上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0140]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0141]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合,可以通过一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言一诸如java、c 等,还包括常规的过程式程序设计语言一诸如
″c″
语言或类似的程序设计语言。程序代码可以完全地在目标对象电子设备上执行、部分地在目标对象设备上执行、作为一个独立的软件包执行、部分在目标对象电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)一连接到目标对象电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
再多了解一些

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

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

相关文献