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

视差图优化方法、人脸识别方法、装置、设备及存储介质与流程

2022-07-10 00:42:51 来源:中国专利 TAG:


1.本技术实施例涉及人脸识别领域,特别涉及一种视差图优化方法、人脸识别方法、装置、设备及存储介质。


背景技术:

2.结构光相机是一种通过发出主动红外光源来获得深度数据的相机,被广泛应用于三维人脸识别领域中,比如:支付场景、门锁场景和轨交场景。结构光相机深度重建利用的是三角测距法计算被测物体到相机的距离,在这个过程中需要首先通过立体匹配算法获取视差图,立体匹配算法主要由四个步骤组成:匹配代价计算、代价聚合、视差计算和视差优化。
3.但在对物体散斑图和参考散斑图进行匹配计算获取视差图的过程中很容易出现错误匹配,进而导致错误视差的出现。因此,为了提高视差图的可靠性,通常采用左右一致性法来剔除错误视差,但通过这种方式获取优化视差图的过程中,需要进行两次立体匹配,大大增加了计算量,且效率较低。


技术实现要素:

4.本技术实施方式的目的在于提供一种视差图优化方法、人脸识别方法、装置、设备及存储介质,通过连通域面积和该连通域的置信度均值来评估视差值是否可靠,从而快速获取更加精准的视差图。
5.为解决上述技术问题,本技术的实施方式提供了一种视差图优化方法,包括:针对初始视差图中每个像素点,根据所述像素点的初始视差值的匹配代价,以及与所述初始视差值相邻的多个视差值的匹配代价,计算所述像素点的匹配置信度;根据每个所述像素点的匹配置信度生成置信度图,并对所述置信度图进行连通域检测,确定多个连通域;根据所述连通域的面积和所述连通域的匹配置信度均值确定不可靠连通域,并从初始视差图中将所述不可靠连通域内的像素点对应的视差值剔除,得到优化后的视差图。
6.为解决上述技术问题,本技术的实施方式提供了一种人脸识别方法,包括:根据如上实施方式所述的视差图优化方法对待识别人脸的初始人脸视差图进行优化,获取优化后的人脸视差图;根据优化后的人脸视差图生成人脸深度图,并将所述人脸深度图与预设的人脸数据库中预置的人脸深度图进行匹配,获取人脸识别结果。
7.本技术的实施方式还提供了一种视差图优化装置,包括:
8.置信度计算模块,用于针对初始视差图中每个像素点,根据所述像素点的初始视差值的匹配代价,以及与所述初始视差值相邻的多个视差值的匹配代价,计算所述像素点的匹配置信度;根据每个所述像素点的匹配置信度生成置信度图,并对所述置信度图进行连通域检测,确定多个连通域;
9.视差图优化模块,用于根据所述连通域的面积和所述连通域的匹配置信度均值确定不可靠连通域,并从初始视差图中将所述不可靠连通域内的像素点对应的视差值剔除,
得到优化后的视差图。
10.本技术的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述实施方式提及的视差图优化方法,或者能够执行如上实施方式所述的人脸识别方法。
11.本技术的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述实施方式提及的视差图优化方法,或者能够执行如上实施方式所述的人脸识别方法。
12.本技术实施方式提供的视差图优化方法,根据初始视差图中每个像素点的初始视差值的匹配代价,以及与初始视差值相邻的多个视差值的匹配代价,计算每个像素点的匹配置信度,根据匹配置信度生成置信度图,通过置信度图中每个连通域的面积和该连通域的匹配置信度均值来评估每个像素点的视差值是否可靠,一方面,通过引入置信度图代替左右一致性法中的立体匹配过程,避免了逐像素匹配造成的大计算量问题,只需根据多个匹配代价就可计算置信度,大大减少了计算量;另一方面,对置信度图进行连通域检测确定多个连通域,根据连通域面积和该连通域的匹配置信度均值这两个条件确定不可靠视差,避免仅依靠匹配置信度或连通域面积一个条件错误确定了不可靠视差,使得视差图更准确、更可靠。
13.另外,本技术实施方式提供的视差图优化方法,所述根据所述连通域的面积和所述连通域的匹配置信度均值确定所述置信度图中的不可靠区域,包括:当所述连通域的面积小于预设的面积阈值、且所述连通域的匹配置信度均值小于预设的置信度阈值时,确定所述连通域为不可靠区域。当连通域面积和该连通域的匹配置信度均值均满足条件时,认为该连通域内的像素点对应的视差值为不可靠视差,即本技术从一个区域的角度宏观地衡量该区域内像素点的视差值是否可靠,而不是从一个像素点的角度逐个去判断视差值是否可靠,如此既大幅减少计算量、提高优化效率,又能避免单个条件判断时对误匹配像素点的错误认定。
14.另外,本技术实施方式提供的视差图优化方法,所述得到优化后的视差图之后,还包括:针对优化后的视差图中每个像素点,根据所述像素点的视差值的匹配代价,以及与所述视差值相邻的多个视差值的匹配代价进行子像素差值,获取亚像素级别的视差图。在剔除不可靠视差后,根据多个匹配代价对视差图进行子像素插值,使得获取的视差图的精度更高。
附图说明
15.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
16.图1是本技术的实施方式提供的视差图优化方法的流程图;
17.图2是本技术的实施方式提供的视差图优化装置的结构示意图;
18.图3是本技术的实施方式的提供的电子设备的结构示意图。
具体实施方式
19.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本技术各实施方式中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。
20.下面对本实施方式的视差图优化的实现细节进行举例说明。以下内容仅为方便理解而提供的实现细节,并非实施本方案的必须。
21.本技术提供的视差图优化方法,主要对通过视差匹配计算后获取的视差图进行进一步优化,剔除不可靠视差,提高视差精度,使视差图更可靠更精确。而目前常用的剔除不可靠视差的方法是左右一致性法,其具体过程是:在获取视差图(左图:物体散斑图,右图:参考散斑图)后,将左右两图互换,即左图为参考散斑图,右图为物体散斑图,在进行一次立体匹配,得到一个新的视差图,对于视差图中的每一个点p,在新的视差图中确定其同名点p1,当同名点视差值的差值满足预设条件时,确定视差图中p点的视差值为不可靠视差。由此可以看出,左右一致性在确定不可靠视差时,需要根据两个视差图来确定,即需要再进行一次立体匹配过程,而立体匹配过程计算量较大,效率也更低。
22.本技术的实施方式涉及一种视差图优化方法,如图1所示,包括:
23.步骤101,针对初始视差图中每个像素点,根据像素点的初始视差值的匹配代价,以及与初始视差值相邻的多个视差值的匹配代价,计算像素点的匹配置信度。
24.具体地说,初始视差图可以通过预设的图像匹配算法对物体散斑图和参考散斑图进行视差匹配计算,获取每一个像素点的匹配代价曲线(横轴表示视差,纵轴表示匹配代价),将匹配代价曲线中匹配代价最小值对应的视差值作为初始视差值。初始视差图中每一个像素点的初始视差值都是该像素点的匹配代价最小值对应的视差值。需要说明的是,预设的图像匹配算法可以是平均绝对差算法(mad)、绝对误差和算法(sad)、误差平方和算法(ssd)、平均误差平和算法(msd)、归一化积相关算法(ncc)、序贯相似性检测算法(ssda)等这些图像匹配算法中的一种或多种组合,在此不做限定。
25.而与初始视差值相邻的多个视差值的匹配代价可以是初始视差值右侧相邻的多个视差值的匹配代价,也可以是初始视差值左侧相邻的多个视差值的匹配代价,还可以是在初始视差值左右两侧各选多个视差值的匹配代价。比如:对于某一像素点的初始视差值为d,可以根据初始视差值d的匹配代价、d 1的匹配代价、d 2的匹配代价计算该像素点的匹配置信度;也可以根据初始视差值d的匹配代价、d-1的匹配代价、d-2的匹配代价计算该像素点的匹配置信度;还可以根据初始视差值d的匹配代价、d-1的匹配代价、d 1的匹配代价计算该像素点的匹配置信度。需要说明的是,一般匹配代价曲线谷值越明显,则匹配置信度越高,即该视差值越可靠。
26.在一实施例中,通过以下公式计算每个像素点的匹配置信度:
[0027][0028]
其中,cost(x,y,d)为所述初始视差值的匹配代价,cost(x,y,d
±
k)为与所述初始视差值相邻的多个视差值的匹配代价。
[0029]
步骤102,根据每个像素点的匹配置信度生成置信度图,并对置信度图进行连通域
检测,确定多个连通域。
[0030]
具体地说,对所述置信度图进行连通域检测,确定多个连通域,包括:将所述置信度图中每个像素点作为种子像素点,计算所述种子像素点领域内每个像素点与所述种子像素点的差值;根据所述差值和预设的连通域阈值确定多个连通域。
[0031]
对置信度图进行连通域检测,此处以八连通域检测为例,对置信度图中的每一个像素点,检测其领域内8个像素点与该像素点的差值,即检测某一像素点的上、下、左、右、左上、左下、右上、右下这8个像素点与该像素点的差值,若差值小于预设的连通域阈值,则认为该差值对应的两个像素点为同一连通域,若差值大于等于预设的连通域阈值,则认为该差值对应的两个像素点不属于同一连通域,如此可确定多个连通域。当然,连通域检测也可以是四连通域检测等其他检测方式。
[0032]
步骤103,根据连通域的面积和连通域的匹配置信度均值确定不可靠连通域,并从初始视差图中将不可靠连通域内的像素点对应的视差值剔除,得到优化后的视差图。
[0033]
本实施例中,当所述连通域的面积小于预设的面积阈值、且所述连通域的匹配置信度均值小于预设的置信度阈值时,确定所述连通域为不可靠区域。
[0034]
需要说明的是,连通域指的是像素值较为接近且位置相邻的像素点组成的区域。本技术是对置信度图计算连通域,也就是说,属于同一个连通域的像素点的匹配置信度值较为接近,当连通域的面积过小(远小于预设的面积阈值)时,比如,某一连通域内只有1个像素点,说明在该像素点邻近位置处没有与该像素点的匹配置信度值较为接近的匹配置信度值,那么该连通域内的像素点对应的视差值可以认为是不可靠视差。
[0035]
而匹配置信度是根据初始视差值的匹配代价和初始视差值邻近的多个视差值的匹配代价进行计算的,匹配置信度越小说明初始视差值的匹配代价与邻近的多个视差值的匹配代价越接近,即该初始视差值越不可靠(可靠的视差值应该是:匹配代价值最小的点对应的视差值,且匹配代价值最小的点只有一个)。
[0036]
值得一提的是,本技术是计算每个连通域的面积和该连通域内所有像素点的匹配置信度均值,当连通域面积和匹配置信度均值均满足条件时,认为该连通域内的像素点对应的视差值为不可靠视差,可以理解的是,当连通域的匹配置信度均值满足条件时,该连通域内的所有像素点的匹配置信度可能都小于预设的置信度阈值,也可能该连通域内既有大于置信度阈值的像素点,也有小于置信度阈值的像素点,即本技术从一个区域的角度宏观地衡量该区域内像素点的视差值是否可靠,而不是从一个像素点的角度逐个去判断视差值是否可靠,如此既大幅减少计算量、提高优化效率,又能避免单个条件判断时对误匹配像素点的错误认定。
[0037]
另外,置信度阈值的设置和置信度数值的数量级有关,即和匹配代价值的数量级有关,而匹配代价值的数量级往往和匹配窗口的大小有关。另外,将不可靠视差从初始视差图中剔除时,可以直接将不可靠视差赋值为0。
[0038]
另外,在得到优化后的视差图之后,还包括:针对优化后的视差图中每个像素点,根据所述像素点的视差值的匹配代价,以及与所述视差值相邻的多个视差值的匹配代价进行子像素差值,获取亚像素级别的视差图。具体地说,在对优化后的视差图进行亚像素插值时,可以选择每一个像素点视差值相邻的多个视差值的匹配代价进行计算,比如:对于优化后的视差值d,可以根据d对应的匹配代价、d 1对应的匹配代价、d-1对应的匹配代价进行亚
像素插值,还可以根据d对应的匹配代价、d 2对应的匹配代价、d-2对应的匹配代价进行亚像素插值。
[0039]
具体地,通过以下公式进行子像素插值,获取亚像素级别的视差图:
[0040][0041]
其中,d'为优化后的视差图中每个像素点的视差值,cost(x,y,d')为像素点(x,y)在视差值为d'时的匹配代价,cost(x,y,d'-1)为像素点(x,y)在视差值为d'-1时的匹配代价,cost(x,y,d' 1)为像素点(x,y)在视差值为d' 1时的匹配代价。
[0042]
本技术实施方式提供的视差图优化方法,根据初始视差图中每个像素点的初始视差值的匹配代价,以及与初始视差值相邻的多个视差值的匹配代价,计算每个像素点的匹配置信度,根据匹配置信度生成置信度图,通过置信度图中每个连通域的面积和该连通域的匹配置信度均值来评估每个像素点的视差值是否可靠,一方面,通过引入置信度图代替左右一致性法中的立体匹配过程,避免了逐像素匹配造成的大计算量问题,只需根据多个匹配代价就可计算置信度,大大减少了计算量;另一方面,对置信度图进行连通域检测确定多个连通域,根据连通域面积和该连通域的匹配置信度均值这两个条件确定不可靠视差,避免仅依靠匹配置信度或连通域面积一个条件错误确定了不可靠视差,使得视差图更准确、更可靠。
[0043]
本技术的实施方式还涉及一种人脸识别方法,包括:根据如上实施方式提供的视差图优化方法对待识别人脸的初始人脸视差图进行优化,获取优化后的人脸视差图;根据优化后的人脸视差图生成人脸深度图,并将所述人脸深度图与预设的人脸数据库中预置的人脸深度图进行匹配,获取人脸识别结果。
[0044]
本技术的人脸识别方法由于根据优化后的人脸视差图生成人脸深度图,通过该人脸深度图进行人脸识别,因此可以避免在生成初始人脸视差图的过程中,由于错误匹配导致生成错误的人脸深度图,进而造成人脸误识别。
[0045]
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0046]
本技术的实施方式涉及一种视差图优化装置,如图2所示,所述装置包括:
[0047]
置信度计算模块201,用于针对初始视差图中每个像素点,根据所述像素点的初始视差值的匹配代价,以及与所述初始视差值相邻的多个视差值的匹配代价,计算所述像素点的匹配置信度;根据每个所述像素点的匹配置信度生成置信度图,并对所述置信度图进行连通域检测,确定多个连通域;
[0048]
视差图优化模块202,用于根据所述连通域的面积和所述连通域的匹配置信度均值确定不可靠连通域,并从初始视差图中将所述不可靠连通域内的像素点对应的视差值剔除,得到优化后的视差图。
[0049]
不难发现,本实施方式为与上述方法实施方式相对应的装置实施方式,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可
应用在上述实施方式中。
[0050]
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
[0051]
本技术的实施方式涉及一种电子设备,如图3所示,包括:
[0052]
至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行如上述实施方式提及的视差图优化,或者能够执行如上实施方式所述的人脸识别方法。
[0053]
该电子设备包括:一个或多个处理器301以及存储器302,图3中以一个处理器301为例。处理器301、存储器302可以通过总线或者其他方式连接,图3中以通过总线连接为例。存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施方式中策略空间内的各处理策略对应的算法就存储于存储器302中。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述视差图优化方法或人脸识别方法。
[0054]
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0055]
一个或者多个模块存储在存储器302中,当被一个或者多个处理器301执行时,执行上述任意实施方式中的视差图优化方法,或者或者能够执行如上实施方式所述的人脸识别方法。
[0056]
上述产品可执行本技术实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本技术实施方式所提供的方法。
[0057]
本技术的实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
[0058]
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0059]
本领域的普通技术人员可以理解,上述各实施方式是实现本技术的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
再多了解一些

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

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

相关文献