CN116152127A - 一种3d点云处理方法、装置、设备和介质 - Google Patents
一种3d点云处理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN116152127A CN116152127A CN202111390386.8A CN202111390386A CN116152127A CN 116152127 A CN116152127 A CN 116152127A CN 202111390386 A CN202111390386 A CN 202111390386A CN 116152127 A CN116152127 A CN 116152127A
- Authority
- CN
- China
- Prior art keywords
- value
- pixel point
- depth
- target
- mark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000010845 search algorithm Methods 0.000 claims abstract description 14
- 230000000873 masking effect Effects 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 49
- 238000001914 filtration Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 25
- 230000011218 segmentation Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 13
- 230000002123 temporal effect Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 6
- 239000003550 marker Substances 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 12
- 210000000746 body region Anatomy 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 2
- 239000012535 impurity Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002366 time-of-flight method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种3D点云处理方法、装置、设备和介质,由于本申请中根据标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定深度图中的连通域对应的像素点集合,并确定像素点数量不小于第一数量阈值的目标连通域对应的目标像素点集合,将目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将其他的第二像素点的掩码值设置为预设的第二掩码值,从而确定出第一掩码图,根据第一掩码图对深度图进行掩码处理,从而去除了深度图中的飞点、稀疏点和杂块,提高了采集的3D点云的质量。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种3D点云处理方法、装置、设备和介质。
背景技术
为了提高人体识别的精准度,并为实现人体的高精度扫描与重建提供可能,现有技术中提供了一种基于飞行时间测距法(Time Of Flight,TOF)技术的深度摄像头,其中飞行时间测距法是指通过给物体连续发送光脉冲,然后用传感器接收从物体返回的光脉冲,通过探测光脉冲的飞行(往返)时间来得到深度摄像头距物体的距离。
但是TOF技术存在一些固有的问题,例如采集的人体的深度图中在人体边缘处会出现大量错误的深度值,表现为深度图中的3D点云中存在许多飞在空中的无效点即飞点,并且在深度图中还会存在一些杂块以及人体区域的稀疏点。由于深度图中存在飞点、稀疏点和杂块,从而导致采集的人体的3D点云的质量较差。
因此,如何去除深度图中的飞点、稀疏点和杂块,提高采集的3D点云的质量就成为亟待解决的技术问题。
发明内容
本申请提供了一种3D点云处理方法、装置、设备和介质,用以解决现有技术中采集的深度图中存在飞点、稀疏点和杂块,导致3D点云的质量较差的问题。
第一方面,本申请提供了一种3D点云处理方法,所述方法包括:
将标记图中边缘像素点的标记值记录为预设的第一标记值,根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值;
根据所述标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定所述深度图中的连通域对应的像素点集合,根据所述连通域对应的像素点集合中的像素点数量以及预先保存的第一数量阈值,确定像素点数量不小于所述第一数量阈值的目标连通域对应的目标像素点集合;
将第一掩码图像中所述目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将除所述目标像素点集合中的第二像素点外的其他第二像素点的掩码值设置为预设的第二掩码值,根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图。
进一步地,所述根据所述深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值包括:
针对所述内部像素点,确定所述内部像素点对应行的第一子标记值及对应列的第二子标记值,将确定的所述第一子标记值和所述第二子标记值的和值确定为第二标记值;
其中确定所述内部像素点对应的子标记值的过程包括:
若所述内部像素点的同一方位的两个相邻像素点中仅有一个目标相邻像素点的深度值为非零值、且所述内部像素点与所述目标相邻像素点的深度差值的绝对值不大于第一预设阈值,确定所述内部像素点的子标记值为预设的第三标记值与预设的初始标记值的和值;或
若所述内部像素点的同一方位的两个相邻像素点中的深度值均为非零值、且所述内部像素点分别与同一方位的两个相邻像素点的两个深度差值的绝对值的和值不大于第二预设阈值,确定所述内部像素点对应的子标记值为预设的第四标记值与所述初始标记值的和值;其中所述同一方位包括同一行和同一列。
进一步地,所述根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图包括:
将所述第一掩码图像中像素点对应的掩码值与所述深度图中对应位置像素点的深度值相乘,确定乘积值为所述目标深度图中该像素点对应的目标深度值。
进一步地,所述将标记图中边缘像素点的标记值记录为预设的第一标记值之后,所述根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值的绝对值、以及预先保存的标记值与绝对值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值之前,所述方法还包括:
采集第一设定数量的第一深度图,根据所述第一设定数量的第一深度图中像素点的深度值,以及预先保存的时间性滤波算法,对所述第一设定数量的第一深度图进行滤波处理,得到所述深度图中第三像素点的深度值。
进一步地,所述方法还包括:
对所述深度图进行直方图统计,确定所述深度图中深度值位于预设深度值统计范围的第四像素点的第一目标数量;
根据所述预设深度值统计范围的第四像素点的第一目标数量、以及预先保存的第二数量阈值,确定第一目标数量小于所述第二数量阈值的目标深度值统计范围内的目标第四像素点,并将所述深度图中所述目标第四像素点对应的深度值更新为预设深度值。
进一步地,若所深度图中包含地面,所述方法还包括:
根据所述深度图进行直方图统计,确定所述深度图中对应的高度值位于预设高度值统计范围的第五像素点的第二目标数量;
根据所述预设高度值统计范围的第五像素点的第二目标数量、以及预先保存的第三数量阈值,确定第二目标数量小于所述第三数量阈值的目标高度值统计范围,并确定高度值小于所述目标预设高度值统计范围最小值的目标第五像素点;
将第二掩码图像中所述目标第五像素点的掩码值设置为所述第二掩码值,将除所述目标第五像素点外的其他第五像素点的掩码值设置为所述第一掩码值,根据所述第二掩码图像对所述深度图进行掩码处理,得到地面分割后的深度图。
第二方面,本申请提供了一种3D点云处理装置,所述装置包括:
确定模块,用于将标记图中边缘像素点的标记值记录为预设的第一标记值,根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值;根据所述标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定所述深度图中的连通域对应的像素点集合,根据所述连通域对应的像素点集合中的像素点数量以及预先保存的第一数量阈值,确定像素点数量不小于所述第一数量阈值的目标连通域对应的目标像素点集合;
处理模块,用于将第一掩码图像中所述目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将除所述目标像素点集合中的第二像素点外的其他第二像素点的掩码值设置为预设的第二掩码值,根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图。
进一步地,所述确定模块,具体用于针对所述内部像素点,确定所述内部像素点对应行的第一子标记值及对应列的第二子标记值,将确定的所述第一子标记值和所述第二子标记值的和值确定为第二标记值;其中确定所述内部像素点对应的子标记值的过程包括:若所述内部像素点的同一方位的两个相邻像素点中仅有一个目标相邻像素点的深度值为非零值、且所述内部像素点与所述目标相邻像素点的深度差值的绝对值不大于第一预设阈值,确定所述内部像素点的子标记值为预设的第三标记值与预设的初始标记值的和值;或若所述内部像素点的同一方位的两个相邻像素点中的深度值均为非零值、且所述内部像素点分别与同一方位的两个相邻像素点的两个深度差值的绝对值的和值不大于第二预设阈值,确定所述内部像素点对应的子标记值为预设的第四标记值与所述初始标记值的和值;其中所述同一方位包括同一行和同一列。
进一步地,所述处理模块,具体用于将所述第一掩码图像中像素点对应的掩码值与所述深度图中对应位置像素点的深度值相乘,确定乘积值为所述目标深度图中该像素点对应的目标深度值。
进一步地,所述确定模块,还用于所述将标记图中边缘像素点的标记值记录为预设的第一标记值之后,所述根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值的绝对值、以及预先保存的标记值与绝对值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值之前,采集第一设定数量的第一深度图,根据所述第一设定数量的第一深度图中像素点的深度值,以及预先保存的时间性滤波算法,对所述第一设定数量的第一深度图进行滤波处理,得到所述深度图中第三像素点的深度值。
进一步地,所述处理模块还用于对所述深度图进行直方图统计,确定所述深度图中深度值位于预设深度值统计范围的第四像素点的第一目标数量;根据所述预设深度值统计范围的第四像素点的第一目标数量、以及预先保存的第二数量阈值,确定第一目标数量小于所述第二数量阈值的目标深度值统计范围内的目标第四像素点,并将所述深度图中所述目标第四像素点对应的深度值更新为预设深度值。
进一步地,所述处理模块还用于根据所述深度图进行直方图统计,确定所述深度图中对应的高度值位于预设高度值统计范围的第五像素点的第二目标数量;根据所述预设高度值统计范围的第五像素点的第二目标数量、以及预先保存的第三数量阈值,确定第二目标数量小于所述第三数量阈值的目标高度值统计范围,并确定高度值小于所述目标预设高度值统计范围最小值的目标第五像素点;将第二掩码图像中所述目标第五像素点的掩码值设置为所述第二掩码值,将除所述目标第五像素点外的其他第五像素点的掩码值设置为所述第一掩码值,根据所述第二掩码图像对所述深度图进行掩码处理,得到地面分割后的深度图。
第三方面,本申请提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于执行存储器中存储的计算机程序时实现上述3D点云处理方法中任一所述方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述3D点云处理方法中任一所述方法的步骤。
本申请提供了一种3D点云处理方法、装置、设备和介质,由于该方法中将标记图中边缘像素点的标记值记录为预设的第一标记值,根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值;根据所述标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定所述深度图中的连通域对应的像素点集合,根据所述连通域对应的像素点集合中的像素点数量以及预先保存的第一数量阈值,确定像素点数量不小于所述第一数量阈值的目标连通域对应的目标像素点集合;将第一掩码图像中所述目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将除所述目标像素点集合中的第二像素点外的其他第二像素点的掩码值设置为预设的第二掩码值,根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图。由于本申请中根据标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定深度图中的连通域对应的像素点集合,并确定像素点数量不小于第一数量阈值的目标连通域对应的目标像素点集合,将目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将其他的第二像素点的掩码值设置为预设的第二掩码值,从而确定出第一掩码图,根据第一掩码图对深度图进行掩码处理,从而去除了深度图中的飞点、稀疏点和杂块,提高了采集的3D点云的质量。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种3D点云处理方法的过程示意图;
图2为本申请提供的一种经过去除飞点、稀疏点和杂块后的目标深度图;
图3为本申请提供的一种经过中位数平均滤波算法进行滤波处理后的深度图;
图4为本申请提供的一种经过直方图粗分割和地面分割后的深度图;
图5为本申请提供的一种3D点云处理装置的结构示意图;
图6为本申请提供的一种电子设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
为了提高采集的3D点云的质量,本申请提供了一种3D点云处理方法、装置、设备和介质。
图1为本申请提供的一种3D点云处理方法的过程示意图,该过程包括以下步骤:
S101:将标记图中边缘像素点的标记值记录为预设的第一标记值,根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值。
本申请提供的一种3D点云处理方法应用于电子设备,其中该电子设备可以是PC、平板电脑、智能终端、服务器等,其中该服务器可以是本地服务器、也可以是云端服务器。
为了提高采集的3D点云的质量,在本申请,针对采集到的深度图,电子设备创建与深度图相同大小的标记图,该标记图中像素点的标记值用于表示深度图中对应位置的像素点与相邻像素点的联结程度。
由于边缘像素点在深度图中对应位置的像素点相邻的像素点的数量较少,因此针对标记图中的每个边缘像素点,将每个边缘像素点的标记值均记录为预设的第一标记值,其中边缘像素点是指标记图中的第一行、第一列、最后一行和最后一列中的像素点,第一标记值是预先设置的,例如该第一标记值为1、2等正整数值,较佳的,将第一标记值预先设置为1。
为了确定出标记图中的每个内部像素点的标记值,在本申请中,首先确定深度图中的每个内部像素点与相邻像素点的深度差值,其中深度差值的绝对值也可以用于表示内部像素点与相邻像素点的联结程度,深度差值的绝对值越大时,则表示内部像素点与相邻像素点的联结程度越低,深度差值的绝对值越小时,则表示内部像素点与相邻像素点的联结程度越高。
由于标记图中每个像素点的标记值用于表示深度图中对应位置的像素点与相邻像素点的联结程度,因此在本申请中预先保存有标记值与差值的函数关系,根据该函数关系以及确定的深度差值,确定标记图中每个内部像素点对于的第二标记值。
S102:根据所述标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定所述深度图中的连通域对应的像素点集合,根据所述连通域对应的像素点集合中的像素点数量以及预先保存的第一数量阈值,确定像素点数量不小于所述第一数量阈值的目标连通域对应的目标像素点集合。
根据标记图中边缘像素点的第一标记值、以及内部像素点的第二标记值,确定出标记图中第一像素点的标记值,为了去除深度图中的飞点、稀疏点和杂块,即仅保留深度图中的人体区域的3D点云,根据标记图中第一像素点的标记值、以及预先保存的广度优先搜索算法,确定出深度图中连通域对应的像素点集合,其中连通域的数量不止一个,连通域是指深度图中深度值差异较小的区域。
由于人体区域的连通域相比于飞点、稀疏点和杂块的连通域,人体区域的连通域对应的像素点集合中的像素点数量较多,而飞点、稀疏点和杂块的连通域对应的像素点集合中的像素点数量较多较少,因此本申请中预先保存有第一数量阈值,其中第一数量阈值时根据经验预先设置的,根据深度图中每个连通域对应的像素点集合中的像素点数量、以及第一数量阈值,确定出像素点数量不小于第一数量阈值的目标连通域对应的目标像素点集合,将目标像素点集合中的第二像素点确定为深度图中人体区域包含的像素点。
S103:将第一掩码图像中所述目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将除所述目标像素点集合中的第二像素点外的其他第二像素点的掩码值设置为预设的第二掩码值,根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图。
为了使深度图中仅保留人体区域的3D点云,根据目标像素点集合中的第二像素点,将第一掩码图像中第二像素点对应位置的像素点的掩码值设置为预设的第一掩码值,其中该第一掩码值为1,根据除目标像素点集合中的第二像素点外的其他第二像素点,将第一掩码图像中其他第二像素点对应位置的像素点的掩码值设置为预设的第二掩码值,其中第二掩码值为0。
根据确定出的第一掩码图像对深度图进行掩码处理,使深度图中目标像素点集合中的第二像素点的深度值保持不变,深度图中其他第二像素点的深度值为0,从而得到处理后的目标深度图。如图2所示,图2为本申请提供的一种经过去除飞点、稀疏点和杂块后的目标深度图。
本申请提供了一种3D点云处理方法、装置、设备和介质,由于该方法中将标记图中边缘像素点的标记值记录为预设的第一标记值,根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值;根据所述标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定所述深度图中的连通域对应的像素点集合,根据所述连通域对应的像素点集合中的像素点数量以及预先保存的第一数量阈值,确定像素点数量不小于所述第一数量阈值的目标连通域对应的目标像素点集合;将第一掩码图像中所述目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将除所述目标像素点集合中的第二像素点外的其他第二像素点的掩码值设置为预设的第二掩码值,根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图。由于本申请中根据标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定深度图中的连通域对应的像素点集合,并确定像素点数量不小于第一数量阈值的目标连通域对应的目标像素点集合,将目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将其他的第二像素点的掩码值设置为预设的第二掩码值,从而确定出第一掩码图,根据第一掩码图对深度图进行掩码处理,从而去除了深度图中的飞点、稀疏点和杂块,提高了采集的3D点云的质量。
为了确定出标记图中对应内部像素点对应的第二标记值,在上述实施例的基础上,在本申请中,所述根据所述深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值包括:
针对所述内部像素点,确定所述内部像素点对应行的第一子标记值及对应列的第二子标记值,将确定的所述第一子标记值和所述第二子标记值的和值确定为第二标记值;
其中确定所述内部像素点对应的子标记值的过程包括:
若所述内部像素点的同一方位的两个相邻像素点中仅有一个目标相邻像素点的深度值为非零值、且所述内部像素点与所述目标相邻像素点的深度差值的绝对值不大于第一预设阈值,确定所述内部像素点的子标记值为预设的第三标记值与预设的初始标记值的和值;或
若所述内部像素点的同一方位的两个相邻像素点中的深度值均为非零值、且所述内部像素点分别与同一方位的两个相邻像素点的两个深度差值的绝对值的和值不大于第二预设阈值,确定所述内部像素点对应的子标记值为预设的第四标记值与所述初始标记值的和值;其中所述同一方位包括同一行和同一列。
针对标记图中的每个内部像素点,对该内部像素点的第二标记值进行确定;具体确定该内部像素点对应行的第一子标记值以及对应列的第二子标记值,其中该内部像素点对应行是指该内部像素点同一行,该内部像素点对应列是指该内部像素点同一列;根据第一子标记值和第二子标记值,确定第一子标记值和第二子标记值的和值为该内部像素点的第二标记值,从而确定出每个内部像素点的第二标记值。
为了确定内部像素点对应行的第一子标记值和对应列的第二子标记值,在本申请中,根据内部像素点同一方位的两个相邻像素点的深度值,若仅有一个目标相邻像素点的深度值为非零值、另一相邻像素点的深度值为零值,且根据内部像素点与目标相邻像素点的深度差值,若该深度差值的绝对值不大于第一预设阈值,则根据预设的第三标记值和预设的初始标记值的第一和值,将该第一和值确定为内部像素点的子标记值。
其中,同一方位包括同一行和同一列,若内部像素点的同一行满足上述条件,则将内部像素点对应行的第一子标记值确定为预设的第三标记值和预设的初始标记值的和值;若内部像素点的同一列满足上述条件,则将内部像素点对应列的第二子标记值确定为预设的第三标记值和预设的初始标记值的和值。在本申请中,该预设的初始标记值为0,该预设的第三标记值为不小于预设的第一标记值的正整数值。
根据内部像素点同一方位的两个相邻像素点的深度值,若两个相邻像素点的深度值均为非零值,且根据内部像素点分别于两个相邻像素点的两个深度差值,若两个深度差值的绝对值的和值不大于第二预设阈值,则根据预设的第四标记值和预设的初始标记值的第二和值,将第二和值确定为内部像素点的子标记值。其中,该预设的第四标记值大于与预设的第三标记值,较佳的,该预设的第四标记值为该预设的第三标记值的两倍值。
若内部像素点的同一行满足上述条件,则将内部像素点对应行的第一子标记值确定为预设的第四标记值和预设的初始标记值的和值;若内部像素点的同一列满足上述条件,则将内部像素点对应列的第二子标记值确定为预设的第四标记值和预设的初始标记值的和值。
若内部像素点的同一行和同一列满足上述的第一个条件,则确定第一和值的两倍值为内部像素点的第二标记值;若内部像素点的同一行和同一列满足上述的第二个条件,则确定第二和值的两倍值为内部像素点的第二标记值;若内部像素点的同一行满足上述的第一个条件、内部像素点的同一列满足上述的第二个条件,则确定第一和值和第二和值的和值为内部像素点的第二标记值;若内部像素点的同一行满足上述的第二个条件、内部像素点的同一列满足上述的第一个条件,则确定第二和值和第一和值的和值为内部像素点的第二标记值。
下面通过一个具体的实施例对本申请的确定内部像素点对应的第二标记值的过程进行说明,针对内部像素点(x,y),若内部像素点(x,y)的同一行相邻像素点中仅有一个相邻像素点的深度值为非零值、且内部像素点(x,y)与同一行相邻像素点的深度差值的绝对值不大于第一预设阈值Dabs,则将内部像素点(x,y)对应行的第一子标记值确定为预设的第三标记值1和预设的初始标记值0的和值,即内部像素点对应行的第一子标记值为1;或若内部像素点(x,y)的同一行相邻像素点的深度值均为非零值、且内部像素点(x,y)与两个同一行相邻像素点的深度差值的绝对值的和值(|D(x+1,y)-D(x,y)|+|D(x-1,y)-D(x,y)|)不大于第二预设阈值Davg,则将内部像素点(x,y)对应行的第一子标记值确定为预设的第四标记值2和预设的初始标记值0的和值,即内部像素点对应行的第一子标记值为2。
若内部像素点(x,y)的同一列相邻像素点中仅有一个相邻像素点的深度值为非零值、且内部像素点(x,y)与同一列相邻像素点的深度差值的绝对值不大于第一预设阈值Dabs,则将内部像素点(x,y)对应列的第二子标记值确定为预设的第三标记值1和预设的初始标记值0的和值,即内部像素点对应列的第二子标记值为1;或若内部像素点(x,y)的同一列相邻像素点的深度值均为非零值、且内部像素点(x,y)与两个同一列相邻像素点的深度差值的绝对值的和值(|D(x+1,y)-D(x,y)|+|D(x-1,y)-D(x,y)|)不大于第二预设阈值Davg,则将内部像素点(x,y)对应列的第二子标记值确定为预设的第四标记值2和预设的初始标记值0的和值,即内部像素点对应列的第二子标记值为2。
若内部像素点的对应行的第一子标记值为1,对应列的第二子标记值为1,则确定内部像素点的第二标记值为2;若内部像素点的对应行的第一子标记值为1,对应列的第二子标记值为2,则确定内部像素点的第二标记值为3;若内部像素点的对应行的第一子标记值为2,对应列的第二子标记值为1,则确定内部像素点的第二标记值为3;若内部像素点的对应行的第一子标记值为2,对应列的第二子标记值为2,则确定内部像素点的第二标记值为4。
为了得到处理后的目标深度图,在上述各实施例的基础上,在本申请中,所述根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图包括:
将所述第一掩码图像中像素点对应的掩码值与所述深度图中对应位置像素点的深度值相乘,确定乘积值为所述目标深度图中该像素点对应的目标深度值。
为了确定出处理后的目标深度图,在本申请中,将第一掩码图像中像素点对应的掩码值与深度图中对应位置像素点的深度值相乘,将确定出的乘积值确定为目标深度图中该像素点对应的目标深度值。
第一掩码图像与深度图的大小相同,像素点是指第一掩码图像与深度图中相同位置的像素点,根据像素点在目标深度图中对应的目标深度值,从而确定出掩码处理后的目标深度图。
为了提高采集的3D点云的质量,在上述各实施例的基础上,在本申请中,所述将标记图中边缘像素点的标记值记录为预设的第一标记值之后,所述根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值的绝对值、以及预先保存的标记值与绝对值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值之前,所述方法还包括:
采集第一设定数量的第一深度图,根据所述第一设定数量的第一深度图中像素点的深度值,以及预先保存的时间性滤波算法,对所述第一设定数量的第一深度图进行滤波处理,得到所述深度图中第三像素点的深度值。
由于TOF摄像头在平面上的采集会出现高低不平、起伏不定的现象,而通过连续采集的深度图通常可以发现点云会在远近处来回波动,为了减小波动带来的干扰,在本申请中,将标记图中边缘像素点的标记值记录为预设的第一标记值之后,根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值的绝对值、以及预先保存的标记值与绝对值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值之前,首先采集第一设定数量的第一深度图,其中保证减少波动后的平滑效果,该第一设定数量为不小于5的正整数,该第一设定数量的值是根据采集深度图时的波动程度确定的,第一设定数量的第一深度图可以使连续采集的深度图,也可以使间隔采集的深度图。
为了减小波动带来的干扰,本申请中预先保存有时间性滤波算法,根据第一设定数量的第一深度图中像素点的深度值、以及该时间性滤波算法,对第一设定数量的第一深度图进行滤波处理,确定出深度图中第三像素点的深度值。其中,该时间性滤波算法是现有的滤波算法,较佳的,该时间性滤波算法为中位数平均滤波算法。如图3所示,图3为本申请提供的一种经过中位数平均滤波算法进行滤波处理后的深度图。
具体的,针对第一设定数量的第一深度图中每个位置的第三像素点,根据该第三像素点在第一设定数量的第一深度图的深度值,判断深度值为预设深度值的数量是否不小于第五预设阈值;若是,则确定深度图中该第三像素点对应的深度值为预设深度值;若否,则将该第三像素点的深度值按照从小到大的顺序排序,根据排序后的去除预设深度值外的其他深度值的中位数,将中位数和中位数的相邻两位数的和值的平均值的下取整函数值作为深度图中该第三像素点对应的深度值。
下面通过一个具体的实施例对确定深度图中第三像素点的深度值的过程进行说明,针对连续采集的N帧第一深度图,针对第三像素点S,将每帧第一深度图中该第三像素点S的深度值从小到大进行排序,确定该第三像素点S的深度值为0的次数Z,若Z不小于ceil(N/2),则确定深度图中该第三像素点S的深度值为0。其中,ceil为上取整函数,即大于N/2数值中最小的整数值。
若Z小于ceil(N/2),则确定该第三像素点S排序后的深度值的索引号,其中索引号从0开始,根据该第三像素点S的深度值为0的次数Z、以及第一深度图的帧数N,确定Z和N的平均值的下整数值m,其中m=floor((Z+N)/2),序列号m对应的深度值为该像素点S排序后的除0外的其他深度值的中位值,根据中位值Sm、以及中位值相邻的两位数Sm-1和Sm+1,确定中位值Sm以及中位值相邻的两位数Sm-1和Sm+1的和值的平均值,将平均值的下取整函数值作为深度图中该第三像素点S的深度值D,其中D=floor((Sm-1+Sm+Sm+1)/3)。
为了提高采集的3D点云的质量,在上述各实施例的基础上,在本申请中,所述方法还包括:
对所述深度图进行直方图统计,确定所述深度图中深度值位于预设深度值统计范围的第四像素点的第一目标数量;
根据所述预设深度值统计范围的第四像素点的第一目标数量、以及预先保存的第二数量阈值,确定第一目标数量小于所述第二数量阈值的目标深度值统计范围内的目标第四像素点,并将所述深度图中所述目标第四像素点对应的深度值更新为预设深度值。
为了去除深度图中的飞点、稀疏点和杂块,在本申请中,对深度图进行直方图统计,根据预先保存的每个预设深度值统计范围、以及深度图中像素点的深度值,确定出位于每个预设深度值统计范围的第四像素点的第一目标数量,其中预设深度值统计范围的数量为预设数量。
由于飞点、稀疏点和杂块包含的像素点的数量相比人体区域包含的像素点的数量少,根据每个预设深度值统计范围的第四像素点的第一目标数量,可以确定出飞点、稀疏点和杂块对应的目标预设深度值统计范围,因此在本申请中预设有第二数量阈值。其中该第二数量阈值是预先设置的,若希望提高去除飞点、稀疏点和杂块的准确性,在可以将该第二数量阈值设置得较小一些,若希望尽可能得去除飞点、稀疏点和杂块,则可以将该第二数量阈值设置地较大一些。
根据每个预设深度值统计范围的第四像素点的第一目标数量以及该第二数量阈值,确定第一目标数量小于第二数量阈值的目标深度值统计范围内的目标第四像素点,该目标第四像素点即为飞点、稀疏点和杂块包含地像素点,因此将深度图中地目标第四像素点对应的深度值更新为预设深度值。较佳的,该预设深度值为0。
下面通过一个具体实施例对本申请中通过直方图粗切割去除飞点、稀疏点和杂块的过程进行说明,通常情况下,在限定深度值范围(0.4m-2m)和采集场景的情况下,点云中的人体区域包含最密集的点云信息,传统的针对3D点云的去噪方式不能很好地将人体点云与其它点云区分开来,因此本申请中通过直方图粗切割的方式进行处理。在进行直方图粗分割之前,设置直方图H的大小为N,直方图H的横坐标值为像素点的深度值,直方图H的纵坐标值为像素点的数量,设置深度值统计范围为[Dmin,Dmaxn],直方图大小N表示[Dmin,Dmaxn]分为N个深度值统计范围,将预设的第二数量阈值设为M,遍历直方图找到包含点数最多的深度值统计范围Hk,将索引left和right初始化为k,在left≥0和right<N的前提约束下,left逐渐向左遍历直到Hleft<M,right逐渐向右遍历直到Hright<M,将深度图统计范围Dmin-(Dmaxn-Dmin)/N*left,Dmin+Dmaxn-Dmin)/N*(right+1)]以外的其他深度值统计范围内的第四像素点对应的深度值更新为0。
在本申请中,在直方图大小N固定的情况下,若第二数量阈值M设置的越小,人体区域保留的点会更多。若深度值统计范围发生变化,则第二数量阈值M也需要随情况进行调整。
为了去除深度图中的地面,在上述各实施例的基础上,在本申请中,若所深度图中包含地面,所述方法还包括:
根据所述深度图进行直方图统计,确定所述深度图中对应的高度值位于预设高度值统计范围的第五像素点的第二目标数量;
根据所述预设高度值统计范围的第五像素点的第二目标数量、以及预先保存的第三数量阈值,确定第二目标数量小于所述第三数量阈值的目标预设高度值统计范围,并确定高度值小于所述目标预设高度值统计范围最小值的目标第五像素点;
将第二掩码图像中所述目标第五像素点的掩码值设置为所述第二掩码值,将除所述目标第五像素点外的其他第五像素点的掩码值设置为所述第一掩码值,根据所述第二掩码图像对所述深度图进行掩码处理,得到地面分割后的深度图。
为了去除深度图中的地面,在本申请中,对深度图进行直方图统计,根据预先保存的每个预设高度值统计范围、以及深度图中对应的高度值,确定出高度值位于每个预设高度值统计范围的第五像素点的第二目标数量,其中预设高度值统计范围的数量为预设数量。
其中根据深度图中像素点的深度值和横坐标值、以及预先保存的光心坐标和焦距值,即可以确定出像素点对应的高度值。具体的,深度图中的人体区域中的人体为站立状态时,深度图为竖直状态,此时确定像素点对应的高度值的公式为Y=(Cx-x)*D(x,y)/Fx,其中Y表示像素点对应的高度值,Cx表示光心的横坐标值,x表示像素点的横坐标值,D(x,y)表示像素点的深度值,Fx表示焦距的横坐标值;深度图为水平状态时,确定像素点对应的高度值的公式为Y=(Cy-y)*D(x,y)/Fy,其中Y表示像素点对应的高度值,Cy表示光心的纵坐标值,y表示像素点的纵坐标值,D(x,y)表示像素点的深度值,Fy表示焦距的纵坐标值;其中若D(x,y)为0,确定像素点对应的高度值Y为0。
由于地面包含的像素点的高度值相比人体区域包含的像素点的高度值较低,且高度值高于地面的人体的脚部区域包含的像素点比地面包含的像素点的数量少,根据每个预设高度值统计范围的第五像素点的第二目标数量,可以确定出地面对应的目标预设高度值统计范围,因此在本申请中预设有第二数量阈值。其中该第三数量阈值是预先设置的,若希望提高地面的准确性,在可以将该第三数量阈值设置得较小一些,若希望尽可能得去除地面,则可以将该第三数量阈值设置地较大一些。
根据每个预设高度值统计范围的第五像素点的第二目标数量、以及预先保存的第三数量阈值,确定第二目标数量小于第三数量阈值的目标预设高度值统计范围,并确定高度值小于所述目标预设高度值统计范围最小值的目标第五像素点,该目标第五像素点即为地面包含的像素点。
设置与深度图相同大小的第二掩码图像,根据确定出的目标第五像素点,将第二掩码图像中目标第五像素点对应位置的像素点的掩码值设置为第二掩码值,其中第二掩码值为0,根据除目标第五像素点外的其他第五像素点,将第二掩码图像中其他第五像素点对应位置的像素点的掩码值设置为第一掩码值,根据第二掩码图像对深度图进行掩码处理,得到地面分割后的深度图。
下面通过一个具体的实施例对本申请的地面分割的过程进行说明,根据预先设置的预设高度值统计范围的间隔范围Yrange,以及高度值最小值Ymin,确定每个预设高度值统计范围,遍历直方图找到包含像素点的数量最多的预设高度值统计范围Hk,索引right初始化为k,在right<N的前提约束下,right逐渐向右遍历直到Hright<M,其中M为预设的第三数量阈值,即确定出第二目标数量Hright小于第三数量阈值M的目标预设高度值统计范围,并确定高度值小于目标预设高度值统计范围最小值的目标第五像素点,即确定出高度值小于Ymin+(Ymax-Ymin)/N*right的目标第五像素点,将第二掩码图像中目标第五像素点对应位置的像素点的掩码值设置为0,将第二掩码图像中除目标第五像素点外的其他第五像素点对应位置的像素点的掩码值设置为1,根据第二掩码图像对深度图进行掩码处理,得到地面分割后的深度图,如图4所示,图4为本申请提供的一种经过直方图粗分割和地面分割后的深度图。
作为一种可能的实施方式,在本申请中,经过地面分割的深度图中会存在一些因为地面起伏不平的部分而没有被完全剔除的杂点,此时可以再使用一次直方图粗分割来进一步去除。
图5为本申请提供的一种3D点云处理装置的结构示意图,如图5所示,该装置包括:
确定模块501,用于将标记图中边缘像素点的标记值记录为预设的第一标记值,根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值;根据所述标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定所述深度图中的连通域对应的像素点集合,根据所述连通域对应的像素点集合中的像素点数量以及预先保存的第一数量阈值,确定像素点数量不小于所述第一数量阈值的目标连通域对应的目标像素点集合;
处理模块502,用于将第一掩码图像中所述目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将除所述目标像素点集合中的第二像素点外的其他第二像素点的掩码值设置为预设的第二掩码值,根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图。
进一步地,所述确定模块,具体用于确定所述内部像素点对应行的第一子标记值及对应列的第二子标记值,将确定的所述第一子标记值和所述第二子标记值的和值确定为第二标记值;其中确定所述内部像素点对应的子标记值的过程包括:若所述内部像素点的同一方位的两个相邻像素点中仅有一个目标相邻像素点的深度值为非零值、且所述内部像素点与所述目标相邻像素点的深度差值的绝对值不大于第一预设阈值,确定所述内部像素点的子标记值为预设的第三标记值与预设的初始标记值的和值;或若所述内部像素点的同一方位的两个相邻像素点中的深度值均为非零值、且所述内部像素点分别与同一方位的两个相邻像素点的两个深度差值的绝对值的和值不大于第二预设阈值,确定所述内部像素点对应的子标记值为预设的第四标记值与所述初始标记值的和值;其中所述同一方位包括同一行和同一列。
进一步地,所述处理模块,具体用于将所述第一掩码图像中像素点对应的掩码值与所述深度图中对应位置像素点的深度值相乘,确定乘积值为所述目标深度图中该像素点对应的目标深度值。
进一步地,所述确定模块,还用于所述将标记图中边缘像素点的标记值记录为预设的第一标记值之后,所述根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值的绝对值、以及预先保存的标记值与绝对值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值之前,采集第一设定数量的第一深度图,根据所述第一设定数量的第一深度图中像素点的深度值,以及预先保存的时间性滤波算法,对所述第一设定数量的第一深度图进行滤波处理,得到所述深度图中第三像素点的深度值。
进一步地,所述处理模块还用于对所述深度图进行直方图统计,确定所述深度图中深度值位于预设深度值统计范围的第四像素点的第一目标数量;根据所述预设深度值统计范围的第四像素点的第一目标数量、以及预先保存的第二数量阈值,确定第一目标数量小于所述第二数量阈值的目标深度值统计范围内的目标第四像素点,并将所述深度图中所述目标第四像素点对应的深度值更新为预设深度值。
进一步地,所述处理模块还用于根据所述深度图进行直方图统计,确定所述深度图中对应的高度值位于预设高度值统计范围的第五像素点的第二目标数量;根据所述预设高度值统计范围的第五像素点的第二目标数量、以及预先保存的第三数量阈值,确定第二目标数量小于所述第三数量阈值的目标高度值统计范围,并确定高度值小于所述目标预设高度值统计范围最小值的目标第五像素点;将第二掩码图像中所述目标第五像素点的掩码值设置为所述第二掩码值,将除所述目标第五像素点外的其他第五像素点的掩码值设置为所述第一掩码值,根据所述第二掩码图像对所述深度图进行掩码处理,得到地面分割后的深度图。
图6为本申请提供的一种电子设备结构示意图,在上述各实施例的基础上,本发明实施例还提供了一种电子设备,如图6所示,包括:处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。
所述存储器603中存储有计算机程序,当所述程序被所述处理器601执行时,使得所述处理器601执行如下步骤:
将标记图中边缘像素点的标记值记录为预设的第一标记值,根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值;
根据所述标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定所述深度图中的连通域对应的像素点集合,根据所述连通域对应的像素点集合中的像素点数量以及预先保存的第一数量阈值,确定像素点数量不小于所述第一数量阈值的目标连通域对应的目标像素点集合;
将第一掩码图像中所述目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将除所述目标像素点集合中的第二像素点外的其他第二像素点的掩码值设置为预设的第二掩码值,根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图。
进一步地,所述处理器601具体用于所述根据所述深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值包括:
针对所述内部像素点,确定所述内部像素点对应行的第一子标记值及对应列的第二子标记值,将确定的所述第一子标记值和所述第二子标记值的和值确定为第二标记值;
其中确定所述内部像素点对应的子标记值的过程包括:
若所述内部像素点的同一方位的两个相邻像素点中仅有一个目标相邻像素点的深度值为非零值、且所述内部像素点与所述目标相邻像素点的深度差值的绝对值不大于第一预设阈值,确定所述内部像素点的子标记值为预设的第三标记值与预设的初始标记值的和值;或
若所述内部像素点的同一方位的两个相邻像素点中的深度值均为非零值、且所述内部像素点分别与同一方位的两个相邻像素点的两个深度差值的绝对值的和值不大于第二预设阈值,确定所述内部像素点对应的子标记值为预设的第四标记值与所述初始标记值的和值;其中所述同一方位包括同一行和同一列。
进一步地,所述处理器601具体用于所述根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图包括:
将所述第一掩码图像中像素点对应的掩码值与所述深度图中对应位置像素点的深度值相乘,确定乘积值为所述目标深度图中该像素点对应的目标深度值。
进一步地,所述处理器601还用于所述将标记图中边缘像素点的标记值记录为预设的第一标记值之后,所述根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值的绝对值、以及预先保存的标记值与绝对值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值之前,所述方法还包括:
采集第一设定数量的第一深度图,根据所述第一设定数量的第一深度图中像素点的深度值,以及预先保存的时间性滤波算法,对所述第一设定数量的第一深度图进行滤波处理,得到所述深度图中第三像素点的深度值。
进一步地,所述处理器601还用于对所述深度图进行直方图统计,确定所述深度图中深度值位于预设深度值统计范围的第四像素点的第一目标数量;
根据所述预设深度值统计范围的第四像素点的第一目标数量、以及预先保存的第二数量阈值,确定第一目标数量小于所述第二数量阈值的目标深度值统计范围内的目标第四像素点,并将所述深度图中所述目标第四像素点对应的深度值更新为预设深度值。
进一步地,所述处理器601还用于若所深度图中包含地面,根据所述深度图进行直方图统计,确定所述深度图中对应的高度值位于预设高度值统计范围的第五像素点的第二目标数量;
根据所述预设高度值统计范围的第五像素点的第二目标数量、以及预先保存的第三数量阈值,确定第二目标数量小于所述第三数量阈值的目标高度值统计范围,并确定高度值小于所述目标预设高度值统计范围最小值的目标第五像素点;
将第二掩码图像中所述目标第五像素点的掩码值设置为所述第二掩码值,将除所述目标第五像素点外的其他第五像素点的掩码值设置为所述第一掩码值,根据所述第二掩码图像对所述深度图进行掩码处理,得到地面分割后的深度图。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口602用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
在上述各实施例的基础上,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行时实现如下步骤:
将标记图中边缘像素点的标记值记录为预设的第一标记值,根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值;
根据所述标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定所述深度图中的连通域对应的像素点集合,根据所述连通域对应的像素点集合中的像素点数量以及预先保存的第一数量阈值,确定像素点数量不小于所述第一数量阈值的目标连通域对应的目标像素点集合;
将第一掩码图像中所述目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将除所述目标像素点集合中的第二像素点外的其他第二像素点的掩码值设置为预设的第二掩码值,根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图。
进一步地,所述根据所述深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值包括:
针对所述内部像素点,确定所述内部像素点对应行的第一子标记值及对应列的第二子标记值,将确定的所述第一子标记值和所述第二子标记值的和值确定为第二标记值;
其中确定所述内部像素点对应的子标记值的过程包括:
若所述内部像素点的同一方位的两个相邻像素点中仅有一个目标相邻像素点的深度值为非零值、且所述内部像素点与所述目标相邻像素点的深度差值的绝对值不大于第一预设阈值,确定所述内部像素点的子标记值为预设的第三标记值与预设的初始标记值的和值;或
若所述内部像素点的同一方位的两个相邻像素点中的深度值均为非零值、且所述内部像素点分别与同一方位的两个相邻像素点的两个深度差值的绝对值的和值不大于第二预设阈值,确定所述内部像素点对应的子标记值为预设的第四标记值与所述初始标记值的和值;其中所述同一方位包括同一行和同一列。
进一步地,所述根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图包括:
将所述第一掩码图像中像素点对应的掩码值与所述深度图中对应位置像素点的深度值相乘,确定乘积值为所述目标深度图中该像素点对应的目标深度值。
进一步地,所述将标记图中边缘像素点的标记值记录为预设的第一标记值之后,所述根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值的绝对值、以及预先保存的标记值与绝对值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值之前,所述方法还包括:
采集第一设定数量的第一深度图,根据所述第一设定数量的第一深度图中像素点的深度值,以及预先保存的时间性滤波算法,对所述第一设定数量的第一深度图进行滤波处理,得到所述深度图中第三像素点的深度值。
进一步地,所述方法还包括:
对所述深度图进行直方图统计,确定所述深度图中深度值位于预设深度值统计范围的第四像素点的第一目标数量;
根据所述预设深度值统计范围的第四像素点的第一目标数量、以及预先保存的第二数量阈值,确定第一目标数量小于所述第二数量阈值的目标深度值统计范围内的目标第四像素点,并将所述深度图中所述目标第四像素点对应的深度值更新为预设深度值。
进一步地,若所深度图中包含地面,所述方法还包括:
根据所述深度图进行直方图统计,确定所述深度图中对应的高度值位于预设高度值统计范围的第五像素点的第二目标数量;
根据所述预设高度值统计范围的第五像素点的第二目标数量、以及预先保存的第三数量阈值,确定第二目标数量小于所述第三数量阈值的目标高度值统计范围,并确定高度值小于所述目标预设高度值统计范围最小值的目标第五像素点;
将第二掩码图像中所述目标第五像素点的掩码值设置为所述第二掩码值,将除所述目标第五像素点外的其他第五像素点的掩码值设置为所述第一掩码值,根据所述第二掩码图像对所述深度图进行掩码处理,得到地面分割后的深度图。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种3D点云处理方法,其特征在于,所述方法包括:
将标记图中边缘像素点的标记值记录为预设的第一标记值,根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值;
根据所述标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定所述深度图中的连通域对应的像素点集合,根据所述连通域对应的像素点集合中的像素点数量以及预先保存的第一数量阈值,确定像素点数量不小于所述第一数量阈值的目标连通域对应的目标像素点集合;
将第一掩码图像中所述目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将除所述目标像素点集合中的第二像素点外的其他第二像素点的掩码值设置为预设的第二掩码值,根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图。
2.根据权利要求1所述的方法,其特征在于,所述根据所述深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值包括:
针对所述内部像素点,确定所述内部像素点对应行的第一子标记值及对应列的第二子标记值,将确定的所述第一子标记值和所述第二子标记值的和值确定为第二标记值;
其中确定所述内部像素点对应的子标记值的过程包括:
若所述内部像素点的同一方位的两个相邻像素点中仅有一个目标相邻像素点的深度值为非零值、且所述内部像素点与所述目标相邻像素点的深度差值的绝对值不大于第一预设阈值,确定所述内部像素点的子标记值为预设的第三标记值与预设的初始标记值的和值;或
若所述内部像素点的同一方位的两个相邻像素点中的深度值均为非零值、且所述内部像素点分别与同一方位的两个相邻像素点的两个深度差值的绝对值的和值不大于第二预设阈值,确定所述内部像素点对应的子标记值为预设的第四标记值与所述初始标记值的和值;其中所述同一方位包括同一行和同一列。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图包括:
将所述第一掩码图像中像素点对应的掩码值与所述深度图中对应位置像素点的深度值相乘,确定乘积值为所述目标深度图中该像素点对应的目标深度值。
4.根据权利要求1所述的方法,其特征在于,所述将标记图中边缘像素点的标记值记录为预设的第一标记值之后,所述根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值的绝对值、以及预先保存的标记值与绝对值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值之前,所述方法还包括:
采集第一设定数量的第一深度图,根据所述第一设定数量的第一深度图中像素点的深度值,以及预先保存的时间性滤波算法,对所述第一设定数量的第一深度图进行滤波处理,得到所述深度图中第三像素点的深度值。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对所述深度图进行直方图统计,确定所述深度图中深度值位于预设深度值统计范围的第四像素点的第一目标数量;
根据所述预设深度值统计范围的第四像素点的第一目标数量、以及预先保存的第二数量阈值,确定第一目标数量小于所述第二数量阈值的目标深度值统计范围内的目标第四像素点,并将所述深度图中所述目标第四像素点对应的深度值更新为预设深度值。
6.根据权利要求5所述的方法,其特征在于,若所深度图中包含地面,所述方法还包括:
根据所述深度图进行直方图统计,确定所述深度图中对应的高度值位于预设高度值统计范围的第五像素点的第二目标数量;
根据所述预设高度值统计范围的第五像素点的第二目标数量、以及预先保存的第三数量阈值,确定第二目标数量小于所述第三数量阈值的目标高度值统计范围,并确定高度值小于所述目标预设高度值统计范围最小值的目标第五像素点;
将第二掩码图像中所述目标第五像素点的掩码值设置为所述第二掩码值,将除所述目标第五像素点外的其他第五像素点的掩码值设置为所述第一掩码值,根据所述第二掩码图像对所述深度图进行掩码处理,得到地面分割后的深度图。
7.一种3D点云处理装置,其特征在于,所述装置包括:
确定模块,用于将标记图中边缘像素点的标记值记录为预设的第一标记值,根据深度图中除所述边缘像素点之外的内部像素点与相邻像素点的深度差值、以及预先保存的标记值与差值的函数关系,确定所述标记图对应所述内部像素点对应的第二标记值;根据所述标记图中的第一像素点的标记值、预先保存的广度优先搜索算法,确定所述深度图中的连通域对应的像素点集合,根据所述连通域对应的像素点集合中的像素点数量以及预先保存的第一数量阈值,确定像素点数量不小于所述第一数量阈值的目标连通域对应的目标像素点集合;
处理模块,用于将第一掩码图像中所述目标像素点集合中的第二像素点的掩码值设置为预设的第一掩码值,将除所述目标像素点集合中的第二像素点外的其他第二像素点的掩码值设置为预设的第二掩码值,根据所述第一掩码图像对所述深度图进行掩码处理,得到处理后的目标深度图。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,具体用于确定所述内部像素点对应行的第一子标记值及对应列的第二子标记值,将确定的所述第一子标记值和所述第二子标记值的和值确定为第二标记值;其中确定所述内部像素点对应的子标记值的过程包括:若所述内部像素点的同一方位的两个相邻像素点中仅有一个目标相邻像素点的深度值为非零值、且所述内部像素点与所述目标相邻像素点的深度差值的绝对值不大于第一预设阈值,确定所述内部像素点的子标记值为预设的第三标记值与预设的初始标记值的和值;或若所述内部像素点的同一方位的两个相邻像素点中的深度值均为非零值、且所述内部像素点分别与同一方位的两个相邻像素点的两个深度差值的绝对值的和值不大于第二预设阈值,确定所述内部像素点对应的子标记值为预设的第四标记值与所述初始标记值的和值;其中所述同一方位包括同一行和同一列。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器中存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行权利要求1-6任一项所述方法。
10.一种计算机可读存储介质,其特征在于,其存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行权利要求1-6任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111390386.8A CN116152127A (zh) | 2021-11-23 | 2021-11-23 | 一种3d点云处理方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111390386.8A CN116152127A (zh) | 2021-11-23 | 2021-11-23 | 一种3d点云处理方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116152127A true CN116152127A (zh) | 2023-05-23 |
Family
ID=86352954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111390386.8A Pending CN116152127A (zh) | 2021-11-23 | 2021-11-23 | 一种3d点云处理方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116152127A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116993798A (zh) * | 2023-09-28 | 2023-11-03 | 荣耀终端有限公司 | 一种图像处理方法和电子设备 |
-
2021
- 2021-11-23 CN CN202111390386.8A patent/CN116152127A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116993798A (zh) * | 2023-09-28 | 2023-11-03 | 荣耀终端有限公司 | 一种图像处理方法和电子设备 |
CN116993798B (zh) * | 2023-09-28 | 2024-03-19 | 荣耀终端有限公司 | 一种图像处理方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549874B (zh) | 一种目标检测方法、设备及计算机可读存储介质 | |
CN109478329B (zh) | 图像处理方法和装置 | |
CN111738995A (zh) | 一种基于rgbd图像的目标检测方法、装置及计算机设备 | |
CN110889399A (zh) | 基于深度学习的高分辨率遥感影像弱小目标检测方法 | |
CN111178193A (zh) | 一种车道线的检测方法、检测装置及计算机可读存储介质 | |
CN115546705B (zh) | 目标识别方法、终端设备及存储介质 | |
CN113780110A (zh) | 一种图像序列中弱小目标实时检测方法及设备 | |
CN108596032B (zh) | 一种视频中打架行为检测方法、装置、设备及介质 | |
CN116824516B (zh) | 一种涉路施工安全监测及管理系统 | |
CN116152127A (zh) | 一种3d点云处理方法、装置、设备和介质 | |
CN111126248A (zh) | 一种遮挡下的车辆识别方法及装置 | |
CN112699711A (zh) | 车道线检测方法、装置、存储介质及电子设备 | |
JP2019121356A (ja) | 干渉領域検出装置と方法及び電子機器 | |
CN116486312B (zh) | 一种视频图像的处理方法、装置、电子设备和存储介质 | |
CN111242051B (zh) | 一种车辆识别优化方法、装置及存储介质 | |
CN116184357B (zh) | 一种地面点云数据处理方法、装置、电子装置和存储介质 | |
CN109740502B (zh) | 道路质量检测方法及装置 | |
CN116977671A (zh) | 基于图像空间定位的目标跟踪方法、装置、设备及存储介质 | |
KR101910256B1 (ko) | 카메라 기반 도로 곡률 추정을 위한 차선 검출 방법 및 시스템 | |
CN107481255B (zh) | 一种人员数量的确定方法及装置 | |
CN115330818A (zh) | 一种图片分割方法及其计算机可读存储介质 | |
CN115222900A (zh) | 一种地面点高程确定方法、装置、设备及计算机程序产品 | |
CN111027560B (zh) | 文本检测方法以及相关装置 | |
CN113888479A (zh) | 道路能见度检测方法、装置、设备及存储介质 | |
CN110599542A (zh) | 面向几何区域的自适应vslam局部建图的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |