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

一种深度图像的处理方法、系统、装置及计算机存储介质与流程

2022-02-20 00:39:13 来源:中国专利 TAG:


1.本技术涉及图像处理领域,尤其涉及一种深度图像的处理方法、系统、装置及计算机存储介质。


背景技术:

2.深度图像也被称为距离影像,是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像,深度图像的每个像素点的灰度值可用于表达场景中某一点距离摄像机的远近,它能够直接反映景物可见表面的几何形状,深度图像作为一种普遍的三维场景信息表达方式得到了广泛的应用。
3.现有技术中,可以通过深度学习识别rgb图像中的手势、人体姿势以及面部特征点,但是如果采用相同的方式来识别深度图像,在识别过程中会直接把深度图像中的数据压缩至uint8数据类型的数值范围内,会导致很多深度细节的丢失,从而会大大降低了对深度图像中手势和人体姿势的识别能力,对深度图像中的面部特征点更是几乎无法识别。


技术实现要素:

4.本技术提供了一种深度图像的处理方法、系统、装置及计算机存储介质,用于提升对深度图像中手势和人体姿势的识别准确度。
5.本技术第一方面提供了一种深度图像的处理方法,包括:
6.获取深度图像;
7.提取所述深度图像中的第一深度数据;
8.对所述第一深度数据进行取模运算,并将所述取模运算得到的余数确定为目标数据,所述取模运算用于将所述第一深度数据转换为unit8数据类型;
9.对所述目标数据中的非零数值进行直方图均衡化处理,得到目标图像。
10.可选的,在所述获取深度图像之后,所述提取所述深度图像中的第一深度数据之前,所述方法还包括:
11.提取所述深度图像中的第二深度数据,所述第二深度数据大于预设数值;
12.置零所述第二深度数据。
13.可选的,所述深度图像为含有人体特征的深度图像,所述方法还包括:
14.利用mediapipe框架识别所述目标图像;
15.判断是否成功从所述目标图像中提取到手部关键点、人体关键点和/或人脸关键点;
16.若是,则输出绘制了所述手部关键点、人体关键点和/或人脸关键点的目标图像。
17.可选的,在所述判断是否成功从所述目标图像中提取到手部关键点、人体关键点和/或人脸关键点之后,所述方法还包括:
18.若否,则重新获取深度图像。
19.可选的,所述获取深度图像包括:
20.通过opencv模块打开深度相机;
21.通过对所述深度相机取流获得深度图像。
22.本技术第二方面提供了一种深度图像的处理系统,包括:
23.获取单元,用于获取深度图像;
24.第一提取单元,用于提取所述深度图像中的第一深度数据;
25.计算单元,用于对所述第一深度数据进行取模运算,并将所述取模运算得到的余数确定为目标数据,所述取模运算用于将所述第一深度数据转换为unit8数据类型;
26.处理单元,用于对所述目标数据中的非零数值进行直方图均衡化处理,得到目标图像。
27.可选的,所述系统还包括:
28.第二提取单元,用于提取所述深度图像中的第二深度数据,所述第二深度数据大于预设数值;
29.置零单元,用于置零所述第二深度数据。
30.可选的,所述系统还包括:
31.识别单元,用于利用mediapipe框架识别所述目标图像;
32.判断单元,用于判断是否成功从所述目标图像中提取到手部关键点、人体关键点和/或人脸关键点;
33.输出单元,用于当所述判断单元的判断结果为是时,输出绘制了所述手部关键点、人体关键点和/或人脸关键点的目标图像。
34.可选的,所述获取单元还用于:
35.当所述判断单元的判断结果为否时,重新获取深度图像。
36.可选的,所述获取单元具体用于:
37.通过opencv模块打开深度相机;
38.通过对所述深度相机取流获得深度图像。
39.本技术第三方面提供了一种深度图像的处理装置,所述装置包括:
40.处理器、存储器、输入输出单元以及总线;
41.所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
42.所述存储器保存有程序,所述处理器调用所述程序以执行第一方面以及第一方面中任一项可选的深度图像的处理方法。
43.本技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行第一方面以及第一方面中任一项可选的深度图像的处理方法。
44.从以上技术方案可以看出,本技术具有以下优点:
45.通过对深度图像进行预处理,采用取模运算的方法将深度图像的数据类型转换为unit8数据类型,相较于直接压缩的方法,该转换方法能够保留深度图像中的更多细节,让深度图体现的细节趋近于rgb图的细节,使得机器能识别预处理后的深度图像(目标图像)。通过该处理可以显著提升对深度图像中手势和人体姿势识别的准确度,以及提升对深度图像中面部特征点的识别率。
附图说明
46.为了更清楚地说明本技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1为本技术提供的深度图像的处理方法一个实施例流程示意图;
48.图2为本技术提供的深度图像的处理方法另一个实施例流程示意图;
49.图3为本技术提供的深度图像的处理系统一个实施例结构示意图;
50.图4为本技术提供的深度图像的处理系统另一个实施例结构示意图;
51.图5为本技术提供的深度图像的处理装置一个实施例结构示意图。
具体实施方式
52.本技术提供了一种深度图像的处理方法、系统、装置及计算机存储介质,用于对深度图像中手势和人体姿势的识别准确度。
53.需要说明的是,本技术提供的深度图像的处理方法,可以应用于终端,还可以应用于服务器上,例如终端可以是智能手机或电脑、平板电脑、智能电视、智能手表、便携计算机终端也可以是台式计算机等固定终端。为方便阐述,本技术中以终端为执行主体进行举例说明。
54.请参阅图1,图1为本技术提供的深度图像的处理方法的一个实施例,该方法包括:
55.101、获取深度图像;
56.通过现有的识别算法来识别深度图像中的手势、人体姿势、面部特征点等人体特征时,由于算法会直接将深度图像中的深度数据由uint16压缩至unit8,而在此过程中会导致许多深度细节的丢失,从而导致识别的准确度不高。因此为了提高识别的准确度,在识别前需要对深度图像进行预处理。
57.终端首先获取待预处理的深度图像,深度图像的获取方式包括tof、结构光和双目,具体此处不做限定。深度图像中的每个像素点的灰度值可用于表示场景中某一点距离摄像机的远近。
58.需要说明的是,在本实施例中终端所获取的深度图像的深度单位为毫米。进一步的,对于其它深度单位不是毫米的深度图像,终端也能通过调整深度图像的矩阵系数来适应本技术所提供的深度图像的处理方法,即进行深度单位的换算。例如深度图像的深度单位是0.1毫米,那么就需要将深度图像的矩阵
×
矩阵系数0.1,如果单位是0.05毫米,就将深度图像的矩阵
×
矩阵系数
×
0.05。
59.102、提取深度图像中的第一深度数据;
60.需要说明的是,终端所获取的深度图像可以为16位、32位或更高位的深度图像,具体此处不做限定,对于单通道的深度图像,均可以通过本实施例提供的深度图像的处理方法进行处理。
61.在本实施例中,以目前常用的16位深度图像为例,终端获取的深度图像为16位的深度图像,则终端提取的第一深度数据的数据类型为uint16数据类型,本实施例中的第一深度数据具体是指该深度图像中的全部深度数据。
62.103、对第一深度数据进行取模运算,并将取模运算得到的余数确定为目标数据,
取模运算用于将第一深度数据转换为unit8数据类型;
63.为了使深度图像能够被识别算法识别,需要将第一深度数据的uint16数据类型(整数,范围是0至65535)转换为unit8数据类型(整数,范围是0至65535)。
64.在本实施例中,终端采用对第一深度数据进行取模运算的方法,将第一深度数据除以目标值256(unit8数据类型中的最大值255 1),再将余数确定为目标数据。由于利用256对原uint16数据类型的第一深度数据进行了取模运算,使该余数符合uint8数据类型的范围。相较于直接将uint16数据类型强制压缩至uint8数据类型的方法,通过该方法进行转换能够使得深度图像保留更多的细节。
65.例如:第一深度数据为[514,760],如果采用强制压缩的方法会将第一深度数据压缩为[255,255],两个像素值之间的差距减小,导致深度细节的丢失;而如果采用取模运算的方法,会将第一深度数据转换为[2,248],在一定程度上保留了两个像素值之间的差距,即能够保留更多的深度细节。
[0066]
104、对目标数据中的非零数值进行直方图均衡化处理,得到目标图像。
[0067]
终端在对第一深度数据进行取模运算得到目标数据后,再对目标数据中的非零数值作直方图均衡化处理,即不处理目标数据中为零的数据,其余数据作直方图均衡化处理。通过该直方图均衡化处理可以增加像素之间灰度值差别的动态范围,达到增强图像整体对比度的效果,从而增大了识别区域和背景之间的差异,以进一步提升识别的准确度。
[0068]
具体的,终端先统计各目标数据的数值,得到各数值出现的频率,然后计算累积频率,再根据累积频率来修正原图的灰度值。
[0069]
例如:
[0070]
通过取模运算得到目标数据为[128,0,2,0],
[0071]
目标数据中0的频率是1/2,2的频率是1/4,128的频率是1/4,
[0072]
累积频率则为0:1/2、2:1/2 1/4=3/4、128:1/2 1/4 1/4=1;
[0073]
但本实施例中不对零值作处理,因此目标数据[128,0,2,0]中2的频率是1/2,128的频率是1/2,
[0074]
累积频率为2:1/2,128:1/2 1/2=1,
[0075]
再拉伸回0~255时:128:255*1=255,2:255*1/2=127.5(四舍五入为128),所以对[128,0,2,0]进行直方图非零值均衡化处理后得到[255,0,128,0]。
[0076]
在本实施例中,通过对深度图像进行预处理,采用取模运算的方法将深度图像的数据类型转换为unit8数据类型,相较于直接压缩的方法,该转换方法能够保留深度图像中的更多细节,让深度图体现的细节趋近于rgb图的细节,使得机器能识别预处理后的深度图像(目标图像)。通过该处理可以显著提升对深度图像中手势和人体姿势识别的准确度,以及提升对深度图像中面部特征点的识别率。
[0077]
下面对本技术提供的深度图像的处理方法进行详细说明,请参阅图2,图2为本技术提供的深度图像的处理方法的另一个实施例,该方法包括:
[0078]
201、获取深度图像;
[0079]
终端使用opencv模块打开深度相机,并通过sdk对深度相机取流得到深度图像。
[0080]
202、提取深度图像中的第二深度数据,第二深度数据大于预设数值;
[0081]
目前能够识别出身体姿势的最远距离大约为5000mm,超过5000mm则无法进行识
别,因此可以将本技术中的预设数值设置为5000,终端则提取深度图像中大于5000的第二深度数据。
[0082]
203、置零第二深度数据;
[0083]
因为超过5000mm则无法识别出身体姿势,因此终端对该第二深度数据直接置零,以增大识别区域和背景之间的差异。
[0084]
204、提取深度图像中的第一深度数据;
[0085]
205、对第一深度数据进行取模运算,并将取模运算得到的余数确定为目标数据,取模运算用于将第一深度数据转换为unit8数据类型;
[0086]
206、对目标数据中的非零数值进行直方图均衡化处理,得到目标图像;
[0087]
本实施例中,步骤204至步骤206与前述实施例步骤102至104类似,此处不再赘述。
[0088]
本实施例中的步骤202至步骤206为识别前对深度图像的预处理方法,即首先对深度图像中超过预设数值的数据(第二深度数据)置零,使得深度图像能增大识别区域和背景之间的差异;然后通过取模运算的方法将深度数据(第一深度数据)转换为uint8数据类型(目标数据),使得深度图像能够保留更多的深度细节,提升识别率;再对目标数据中的非零数值进行直方图均衡化处理,保留识别区域与背景之间差异的情况下进一步增加识别区域内部细节差异,提升识别的准确度。
[0089]
例如,[128,255,514,5024]-置零超过预设数值的数据-》[128,255,514,0]-取模运算-》[128,0,2,0]-均衡化-》[255,0,128,0]。
[0090]
207、利用mediapipe框架识别目标图像;
[0091]
终端利用mediapipe框架识别预处理后的深度图像,即目标图像。mediapipe是一款开源的多媒体机器学习模型应用框架,其中集成了人脸识别、人体姿态评估、手势检测模型,因此可以利用mediapipe框架来识别深度图像中的手部关键点、人体关键点和/或人脸关键点。
[0092]
208、判断是否成功从目标图像中提取到手部关键点、人体关键点和/或人脸关键点,若是,则执行步骤209,若否,则重新执行步骤201;
[0093]
终端判断是否成功从该目标图像中提取到手部关键点、人体关键点和/或人脸关键点,如果成功提取,则执行步骤209以输出提取结果,如果没有成功提取则重新执行步骤201以重新获取深度图像。
[0094]
209、输出绘制了手部关键点、人体关键点和/或人脸关键点的目标图像。
[0095]
当终端确定成功从目标图像中提取到手部关键点、人体关键点和/或人脸关键点时,则输出提取的结果。
[0096]
在本实施例中,首先对深度图像中超过预设数值的数据(第二深度数据)置零,使得深度图像能增大识别区域和背景之间的差异;然后通过取模运算的方法将深度数据(第一深度数据)转换为uint8数据类型(目标数据),使得深度图像能够保留更多的深度细节,提升识别率;再对目标数据中的非零数值进行直方图均衡化处理,保留识别区域与背景之间差异的情况下进一步增加识别区域内部细节差异,提升识别的准确度。
[0097]
通过本实施例所提供的方法,能够进一步提升对深度图像中手势和人体姿势识别的准确度,以及提升对深度图像中面部特征点的识别率。
[0098]
请参阅图3,图3为本技术提供的深度图像的处理系统一个实施例,该系统包括:
[0099]
获取单元301,用于获取深度图像;
[0100]
第一提取单元302,用于提取深度图像中的第一深度数据;
[0101]
计算单元303,用于对第一深度数据进行取模运算,并将取模运算得到的余数确定为目标数据,取模运算用于将第一深度数据转换为unit8数据类型;
[0102]
处理单元304,用于对目标数据中的非零数值进行直方图均衡化处理,得到目标图像。
[0103]
在本实施例中,通过获取单元301获取深度图像,第一提取单元302提取第一深度数据,计算单元303再采用取模运算的方法将第一深度数据的数据类型转换为unit8数据类型,最后处理单元304再作非零数值的直方图均衡化处理。
[0104]
相较于直接压缩的方法,该转换方法能够保留深度图像中的更多细节,让深度图体现的细节趋近于rgb图的细节,使得机器能识别预处理后的深度图像(目标图像)。通过该处理可以显著提升对深度图像中手势和人体姿势识别的准确度,以及提升对深度图像中面部特征点的识别率。
[0105]
下面对本技术提供的深度图像的处理系统进行详细说明,请参阅图4,图4为本技术提供的深度图像的处理系统另一个实施例,该系统包括:
[0106]
获取单元401,用于获取深度图像;
[0107]
第一提取单元402,用于提取深度图像中的第一深度数据;
[0108]
计算单元403,用于对第一深度数据进行取模运算,并将取模运算得到的余数确定为目标数据,取模运算用于将第一深度数据转换为unit8数据类型;
[0109]
处理单元404,用于对目标数据中的非零数值进行直方图均衡化处理,得到目标图像。
[0110]
可选的,系统还包括:
[0111]
第二提取单元405,用于提取深度图像中的第二深度数据,第二深度数据大于预设数值;
[0112]
置零单元406,用于置零第二深度数据。
[0113]
可选的,系统还包括:
[0114]
识别单元407,用于利用mediapipe框架识别目标图像;
[0115]
判断单元408,用于判断是否成功从目标图像中提取到手部关键点、人体关键点和/或人脸关键点;
[0116]
输出单元409,用于当判断单元的判断结果为是时,输出绘制了手部关键点、人体关键点和/或人脸关键点的目标图像。
[0117]
可选的,获取单元401还用于:
[0118]
当判断单元的判断结果为否时,重新获取深度图像。
[0119]
可选的,获取单元401具体用于:
[0120]
通过opencv模块打开深度相机;
[0121]
通过对深度相机取流获得深度图像。
[0122]
本实施例系统中,各单元的功能与前述图2所示方法实施例中的步骤对应,此处不再赘述。
[0123]
本技术还提供了一种深度图像的处理装置,请参阅图5,图5为本技术提供的深度
图像的处理装置一个实施例,该装置包括:
[0124]
处理器501、存储器502、输入输出单元503、总线504;
[0125]
处理器501与存储器502、输入输出单元503以及总线504相连;
[0126]
存储器502保存有程序,处理器501调用程序以执行如上任一深度图像的处理方法。
[0127]
本技术还涉及一种计算机可读存储介质,计算机可读存储介质上保存有程序,其特征在于,当程序在计算机上运行时,使得计算机执行如上任一深度图像的处理方法。
[0128]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0129]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0130]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0131]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0132]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

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

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

相关文献