CN113344029B - 人体点云提取方法、电子装置和可读存储介质 - Google Patents
人体点云提取方法、电子装置和可读存储介质 Download PDFInfo
- Publication number
- CN113344029B CN113344029B CN202110508727.0A CN202110508727A CN113344029B CN 113344029 B CN113344029 B CN 113344029B CN 202110508727 A CN202110508727 A CN 202110508727A CN 113344029 B CN113344029 B CN 113344029B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- point
- sub
- human body
- points
- 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.)
- Active
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 66
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 26
- 238000001914 filtration Methods 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 34
- 238000007906 compression Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 9
- 238000011282 treatment Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开一种人体点云提取方法、电子装置和可读存储介质,该方法包括:采用聚类算法对深度相机采集到的点云聚类,以得到多个子点云;对聚类得到的各个子点云过滤,以滤除点数小于第一预设阈值的子点云;分别计算出经过滤剩下的各个子点云在所述深度相机的坐标系内的Z轴坐标平均值;选取最小的Z轴坐标平均值所对应的子点云作为人体点云。本发明技术方案实现了从深度相机采集的点云数据中快速提取出人体点云。
Description
技术领域
本发明涉及计算机图形学领域,特别涉及一种人体点云提取方法、电子装置和可读存储介质。
背景技术
随着科学技术发展,各种用途的机器人不断涌现,机器人逐渐进入人们的日常生活中。当将机器人应用到按摩领域时,人躺在床上,需要深度相机在人体正上方采集点云数据,以用来对机器人的动作进行轨迹规划。由于深度相机在人体正上方采集点云数据中除了人体点云外,还包括床点云及周围环境的一些其它物体的点云,只有提取出采集的点云数据中的人体点云,才能保证规划的轨迹的准确性。因此,如何从深度相机采集的点云数据中提取出人体点云是亟需解决的问题。
发明内容
本发明提供一种人体点云提取方法、电子装置和可读存储介质,旨在实现从深度相机采集的点云数据中提取人体点云。
为实现上述目的,本发明提出的人体点云提取方法,包括:
A、采用聚类算法对深度相机采集到的点云聚类,以得到多个子点云;
B、对聚类得到的各个子点云过滤,以滤除点数小于第一预设阈值的子点云;
C、分别计算出经过滤剩下的各个子点云在所述深度相机的坐标系内的Z轴坐标平均值;
D、选取最小的Z轴坐标平均值所对应的子点云作为人体点云。
可选地,所述第二预设阈值=(压缩后的点云中的点数/采集到的点云中的点数)*所述第一预设阈值。
可选地,将步骤A替换为:
对深度相机采集到的点云按第一预设距离进行压缩处理;
按第二预设距离采用聚类算法对压缩后的点云聚类,以得到多个子点云,其中,所述第二预设距离大于所述第一预设距离;
将步骤B替换为:
对聚类得到的各个子点云过滤,以滤除点数小于第二预设阈值的子点云,所述第二预设阈值小于所述第一预设阈值;
将步骤D替换为:
D1、选取最小的Z轴坐标平均值所对应的子点云;
D2、从所述采集到的点云中找出所有属于所述选取的子点云内的点,并将找出的所有点添加到一个新建的点云中;
D3、将所述新建的点云作为人体点云。
可选地,所述步骤D2包括:
确定所述选取的子点云中的Z轴坐标最大点;
根据所述Z轴坐标最大点的Z轴坐标值Zmax对所述采集到的点云中的点进行Z轴坐标值过滤,以获得所有Z轴坐标小于等于所述Zmax的点并添加到一个新建的点云中。
可选地,所述步骤D2替换为:
针对所述采集到的点云中的每个点,找出该点在所述选取的子点云中对应的最近点,计算出该点与对应的最近点之间的最近距离,将计算得到的最近距离与第三预设距离比较,所述第三预设距离大于所述第一预设距离;
在所述最近距离小于所述第三预设距离时,将该最近距离在所述采集到的点云中所对应的点添加到新建的点云中。
本发明还提供一种电子装置,所述电子装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的人体点云提取***,所述人体点云提取***被所述处理器执行时实现如下步骤:
a、采用聚类算法对深度相机采集到的点云聚类,以得到多个子点云;
b、对聚类得到的各个子点云过滤,以滤除点数小于第一预设阈值的子点云;
c、分别计算出经过滤剩下的各个子点云在所述深度相机的坐标系内的Z轴坐标平均值;
d、选取最小的Z轴坐标平均值所对应的子点云作为人体点云。
可选地,将步骤a替换为:
对深度相机采集到的点云按第一预设距离进行压缩处理;
按第二预设距离采用聚类算法对压缩后的点云聚类,以得到多个子点云,其中,所述第二预设距离大于所述第一预设距离;
将步骤b替换为:
对聚类得到的各个子点云过滤,以滤除点数小于第二预设阈值的子点云,所述第二预设阈值小于所述第一预设阈值;
将步骤d替换为:
d1、选取最小的Z轴坐标平均值所对应的子点云;
d2、从所述采集到的点云中找出所有属于所述选取的子点云内的点,并将找出的所有点添加到一个新建的点云中;
d3、将所述新建的点云作为人体点云。
可选地,所述步骤d2包括:
确定所述选取的子点云中的Z轴坐标最大点;
根据所述Z轴坐标最大点的Z轴坐标值Zmax对所述采集到的点云中的点进行Z轴坐标值过滤,以获得所有Z轴坐标小于等于所述Zmax的点并添加到一个新建的点云中。
可选地,所述步骤d2替换为:
针对所述采集到的点云中的每个点,找出该点在所述选取的子点云中对应的最近点,计算出该点与对应的最近点之间的最近距离,将计算得到的最近距离与第三预设距离比较,所述第三预设距离大于所述第一预设距离;
在所述最近距离小于所述第三预设距离时,将该最近距离在所述采集到的点云中所对应的点添加到新建的点云中。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有人体点云提取***,所述人体点云提取***可被一个或多个处理器执行,以实现下步骤:
采用聚类算法对深度相机采集到的点云聚类,以得到多个子点云;
对聚类得到的各个子点云过滤,以滤除点数小于第一预设阈值的子点云;
分别计算出经过滤剩下的各个子点云在所述深度相机的坐标系内的Z轴坐标平均值;
选取最小的Z轴坐标平均值所对应的子点云作为人体点云。
本发明技术方案,先将深度相机采集到的点云聚类成多个子点云,再通过第一预设阈值过滤掉一些不属于人体部分的子点云,最后在剩下的子点云中找出Z轴坐标平均值最小的子点云即得到人体点云。本发明的人体点云提取方法,数据处理简单,能够快速的从深度相机采集的点云数据中提取出人体点云。
附图说明
图1为本发明人体点云提取方法一实施例的流程示意图;
图2为本发明人体点云提取方法二实施例的流程示意图;
图3为本发明人体点云提取方法三实施例的流程示意图;
图4为本发明人体点云提取方法四实施例的流程示意图;
图5为本发明人体点云提取***一实施例的运行环境示意图;
图6为本发明人体点云提取***一实施例的程序模块图;
图7为本发明人体点云提取***二实施例的程序模块图;
图8为本发明人体点云提取***三实施例的程序模块图;
图9为本发明人体点云提取***四实施例的程序模块图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出一种人体点云提取方法。
如图1所示,图1为本发明人体点云提取方法一实施例的流程示意图。
本实施例中,该人体点云提取方法包括:
步骤S10,采用聚类算法对深度相机采集到的点云聚类,以得到多个子点云。
首先需要通过深度相机采集点云,深度相机在采集点云时,人躺在床上,深度相机在人体的正上方,深度相机从上往下进行拍摄采集,采集到的点云包括人体点云、床点云以及周围环境的一些其它物体的点云。在深度相机采集完点云后,由于采集到的点云中的人体点云、床点云及周围环境的一些其它物体的点云具有相互之间不连接的特点,因此通过聚类算法对深度相机采集到的点云进行聚类处理,从而将深度相机采集到的点云聚类得到多个子点云,多个子点云包括属于人体部分的子点云、属于床部分的子点云和属于周围环境的其它物体的子点云。本实施例中,聚类算法选用欧式聚类算法。
步骤S20,对聚类得到的各个子点云过滤,以滤除点数小于第一预设阈值的子点云。
属于人体部分的子点云,其内包含的点数较多,而属于周围环境的其它物体的子点云和个别属于床的子点云,则包含的点数较少,因此,依据这一特点,按第一预设阈值对聚类得到的各个子点云进行过滤,以滤除点数小于该第一预设阈值的子点云,如此,过滤掉一些不属于人体点云的子点云,减少干扰数据,降低待处理的数据量,以提升处理速度。其中,第一预设阈值根据属于人体部分的子点云通常包含的点数的范围进行设置,保证不会过滤掉人体部分的子点云。
步骤S30,分别计算出经过滤剩下的各个子点云在深度相机的坐标系内的Z轴坐标平均值。
本申请中(包括本实施例及下述所有实施例),深度相机的坐标系是以深度相机的镜头位置为坐标原点的坐标系,深度相机的坐标系的Z轴正向为朝向人体的方向。针对经过滤剩下的各个子点云,分别计算出在深度相机的坐标系内的Z轴坐标平均值,将各个子点云中的所有点的Z轴坐标值求和后除以点数即可得到Z轴坐标平均值。
步骤S40,选取最小的Z轴坐标平均值所对应的子点云作为人体点云。
由于人是躺在床上,深度相机是从人体的正上方向下拍摄采集点云的,因此属于人体部分的子点云中的点的Z轴坐标值都会比其它子点云中的点的Z轴坐标值小,因此,在得到各个子点云的Z轴坐标平均值后,选取最小的那个Z轴坐标平均值所对应的子点云即为人体点云,将该选取的子点云作为人体点云。
本实施例的人体点云提取方法,先将深度相机采集到的点云聚类成多个子点云,再通过第一预设阈值过滤掉一些不属于人体部分的子点云,最后在剩下的子点云中找出Z轴坐标平均值最小的子点云即得到人体点云。本实施例的人体点云提取方法,数据处理简单,能够快速的从深度相机采集的点云数据中提取出人体点云。
需要说明的,本发明的人体点云提取方法可适用于深度相机、人体、背景物体(在上面实施例中是床)三者之间相对位置不变的所有场景。例如,人站立着,深度相机从人的正前方或正后方朝向人体采集点云数据的场景,此时,深度相机采集到的点云就包括人体点云和人的背景物体的点云,这样一样的可以通过上述方法快速提取出人体点云。
如图2所示,图2为本发明人体点云提取方法二实施例的流程示意图。
本实施例的人体点云提取方法,将步骤S10替换为步骤S50和步骤S60,将步骤S20替换为步骤S70,将步骤S40替换为步骤S80、步骤S90和步骤S100。本实施例的人体点云提取方法包括:
步骤S50,对深度相机采集到的点云按第一预设距离进行压缩处理;
由于深度相机采集到的点云中的点非常多,会使得后续的处理步骤的处理数据量非常大,因此,本实施例采用按照第一预设距离先对深度相机采集到的点云进行压缩处理,再进行后续处理。经过压缩后的点云中,任意两个点之间的距离都大于第一预设距离,即在压缩处理中将点周围第一预设距离范围内点都压缩掉了,点的分布密度减小,数量减少;如此,后续处理步骤中所需处理的数量量减小,提升后续处理的效率。
步骤S60,按第二预设距离采用聚类算法对压缩后的点云聚类,以得到多个子点云。
在将采集到的点云压缩处理后,根据采集到的点云中的人体点云、床点云及周围环境的一些其它物体的点云具有相互之间不连接的特点,再按第二预设距离采用聚类算法对压缩后的点云进行聚类处理,从而将压缩后的点云聚类得到多个子点云,多个子点云包括属于人体部分的子点云、属于床部分的子点云和属于周围环境的其它物体的子点云。由于压缩后的点云中,任意两个点之间的距离都大于第一预设距离,因此本实施例中的第二预设距离采用大于第一预设距离,以使聚类处理能够正常进行。本实施例中,聚类算法选用欧式聚类算法。
步骤S70,对聚类得到的各个子点云过滤,以滤除点数小于第二预设阈值的子点云。
属于人体部分的子点云,其内包含的点数较多,而属于周围环境的其它物体的子点云和个别属于床的子点云,则包含的点数较少,因此,依据这一特点,按第二预设阈值对聚类得到的各个子点云进行过滤,以滤除点数小于该第二预设阈值的子点云,如此,过滤掉一些不属于人体点云的子点云,减少干扰数据,进一步降低待处理的数据量,以提升处理速度。其中,第二预设阈值小于第一预设阈值。进一步地,本实施例中,第二预设阈值=(压缩后的点云中的点数/采集到的点云中的点数)*第一预设阈值。
步骤S30,分别计算出经过滤剩下的各个子点云在深度相机的坐标系内的Z轴坐标平均值;
针对经过滤剩下的各个子点云,分别计算出在深度相机的坐标系内的Z轴坐标平均值,将各个子点云中的所有点的Z轴坐标值求和后除以点数即可得到Z轴坐标平均值。
步骤S80,选取最小的Z轴坐标平均值所对应的子点云;
由于人是躺在床上,深度相机是从人体的正上方向下拍摄采集点云的,因此属于人体部分的子点云中的点的Z轴坐标值都会比其它子点云中的点的Z轴坐标值小,因此,在得到各个子点云的Z轴坐标平均值后,选取最小的那个Z轴坐标平均值所对应的子点云,该选取的子点云则是属于人体部分的点云,由于该选取的子点云是经过压缩的,因此还需要再找回该子点云中压缩掉的点。
步骤S90,从采集到的点云中找出所有属于选取的子点云内的点,并将找出的所有点添加到一个新建的点云中;
虽然该选取的子点云是经过压缩的,但该选取的子点云的区域就是人体点云的区域,因此只需要从初始点云(即深度相机采集到的点云)中找出所有属于该选取的子点云内的点,即得到压缩前属于该选取的子点云区域内的人体点云的所有点,将找出的所有点添加到一个新建的点云中,则该新建的点云就是所需的人体点云。
步骤S100,将新建的点云作为人体点云。
本实施例的人体点云提取方法,通过在聚类及计算Z轴坐标值处理之前,先对深度相机采集到的点云进行压缩处理,以大幅减小聚类及计算Z轴坐标值处理的数据量,并在选取属于人体的子点云后,根据从采集到的点云中找出所有属于选取的子点云中的点,添加到新建的点云中以得到人体点云。本实施例的人体点云提取方法,处理的数据量大幅减少,整体上提升了方法的处理速度,能更快的提取到人体点云。
如图3所示,图3为本发明人体点云提取方法三实施例的流程示意图。
本实施例基于二实施例的方案,在本实施例人体点云提取方法中,步骤S90包括:
步骤S91,确定选取的子点云中的Z轴坐标最大点;
根据选取的子点云中的各个点的坐标,确定Z轴坐标值最大的点(即Z轴坐标最大点);Z轴坐标最大点可能一个,也可能多个,多个时,从中随机选取一个即可。
步骤S92,根据Z轴坐标最大点的Z轴坐标值Zmax对采集到的点云中的点进行Z轴坐标值过滤,以获得所有Z轴坐标小于等于Zmax的点并添加到一个新建的点云中。
由于人***于床的上方,Z轴坐标最大点就是人体点云的边缘临界点,因此从初始点云(即深度相机采集到的点云)中确定的Z轴坐标小于等于Z轴坐标最大点的Z轴坐标值Zmax的点都属于人体点云的点。本实施例,根据Z轴坐标值Zmax对采集到的点云中的点进行Z轴坐标值过滤,以获得所有Z轴坐标小于等于Z轴坐标值Zmax的点,即找出所有属于选取的子点云内的点。将获得的点全部添加到一个新建点云中,则该新建的点云就是人体点云。
如图4所示,图4为本发明人体点云提取方法四实施例的流程示意图。
本实施例基于二实施例的方案,在本实施例的人体点云提取方法,将步骤S90替换为:
步骤S110,针对采集到的点云中的每个点,找出该点在选取的子点云中对应的最近点,计算出该点与对应的最近点之间的最近距离,将计算得到的最近距离与第三预设距离比较。
由于该选取的子点云为属于人体部分的子点云,而人体点云中的所有点是集中分布在一整块区域的,人体点云中的点与其余点云(床点云中的点、周围环境的其它物体的点云)中的点的距离非常大,因此,针对深度相机采集到的点云中的每个点,均进行以下处理:找出该点在选取的子点云中对应的最近点,计算出该点与对应的最近点之间的最近距离,并将计算得到的最近距离与第三预设距离比较。其中,第三预设距离根据人体点云中的点与其内的最近点距离的常规范围进行取值设定,第三预设距离远小于人体点云中的点与其余点云中的点之间的距离。另外,本实施例中,第三预设距离大于第一预设距离,由于该选取的子点云是经过了压缩处理的点云,而该压缩处理是按第一预设距离压缩的,如果第三预设距离不大于第一预设距离,则在上述处理中,当选取到点是之前压缩处理掉的人体点云内的点时,可能出现计算得到的最近距离大于或等于第三预设距离,这样就会造成一些属于人体点云的点被漏掉。
步骤S120,在最近距离小于第三预设距离时,将该最近距离在采集到的点云中所对应的点添加到新建的点云中。
当最近距离小于第三预设距离时,则将该最近距离对应的点添加到新建点云中,如此,则可找出所有属于人体点云的点。在对采集到的点云中的所有点云都完成上述处理后,最终所得的新建的点云即人体点云。另外,在最近距离大于或等于第三预设距离时,可不作任何进一步处理或将其归于其余点云等。
此外,本发明还提出一种人体点云提取***。
请参阅图5,是本发明人体点云提取***10一实施例的运行环境示意图。
在本实施例中,人体点云提取***10安装并运行于电子装置1中。电子装置1可以是桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该电子装置1可包括,但不仅限于,存储器11、处理器12及显示器13。图5仅示出了具有组件11-13的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
存储器11是一种计算机存储介质,在一些实施例中可以是电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。存储器11在另一些实施例中也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括电子装置1的内部存储单元也包括外部存储设备。存储器11用于存储安装于电子装置1的应用软件及各类数据,例如人体点云提取***10的程序代码等。存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行人体点云提取***10等。
显示器13在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器13用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面,例如业务定制界面等。电子装置1的部件11-13通过***总线相互通信。
请参阅图6,是本发明人体点云提取***10一实施例的程序模块图。在本实施例中,人体点云提取***10可以被分割成一个或多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行,以完成本发明。例如,在图6中,人体点云提取***10可以被分割成第一聚类模块101、第一过滤模块102、计算模块103及第一选取模块104。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述人体点云提取***10在电子装置1中的执行过程,其中:
第一聚类模块101,用于采用聚类算法对深度相机采集到的点云聚类,以得到多个子点云。
首先需要通过深度相机采集点云,深度相机在采集点云时,人躺在床上,深度相机在人体的正上方,深度相机从上往下进行拍摄采集,采集到的点云包括人体点云、床点云以及周围环境的一些其它物体的点云。在深度相机采集完点云后,由于采集到的点云中的人体点云、床点云及周围环境的一些其它物体的点云具有相互之间不连接的特点,因此通过聚类算法对深度相机采集到的点云进行聚类处理,从而将深度相机采集到的点云聚类得到多个子点云,多个子点云包括属于人体部分的子点云、属于床部分的子点云和属于周围环境的其它物体的子点云。本实施例中,聚类算法选用欧式聚类算法。
第一过滤模块102,用于对聚类得到的各个子点云过滤,以滤除点数小于第一预设阈值的子点云。
属于人体部分的子点云,其内包含的点数较多,而属于周围环境的其它物体的子点云和个别属于床的子点云,则包含的点数较少,因此,依据这一特点,按第一预设阈值对聚类得到的各个子点云进行过滤,以滤除点数小于该第一预设阈值的子点云,如此,过滤掉一些不属于人体点云的子点云,减少干扰数据,降低待处理的数据量,以提升处理速度。其中,第一预设阈值根据属于人体部分的子点云通常包含的点数的范围进行设置,保证不会过滤掉人体部分的子点云。
计算模块103,用于分别计算出经过滤剩下的各个子点云在深度相机的坐标系内的Z轴坐标平均值。
本申请中(包括本实施例及下述所有实施例),深度相机的坐标系是以深度相机的镜头位置为坐标原点的坐标系,深度相机的坐标系的Z轴正向为朝向人体的方向。针对经过滤剩下的各个子点云,分别计算出在深度相机的坐标系内的Z轴坐标平均值,将各个子点云中的所有点的Z轴坐标值求和后除以点数即可得到Z轴坐标平均值。
第一选取模块104,用于选取最小的Z轴坐标平均值所对应的子点云作为人体点云。
由于人是躺在床上,深度相机是从人体的正上方向下拍摄采集点云的,因此属于人体部分的子点云中的点的Z轴坐标值都会比其它子点云中的点的Z轴坐标值小,因此,在得到各个子点云的Z轴坐标平均值后,选取最小的那个Z轴坐标平均值所对应的子点云即为人体点云,将该选取的子点云作为人体点云。
本实施例的人体点云提取***10,先将深度相机采集到的点云聚类成多个子点云,再通过第一预设阈值过滤掉一些不属于人体部分的子点云,最后在剩下的子点云中找出Z轴坐标平均值最小的子点云即得到人体点云。本实施例的人体点云提取***10,数据处理简单,能够快速的从深度相机采集的点云数据中提取出人体点云。
如图7所示,图7为本发明人体点云提取***10二实施例的程序模块图。
本实施例的人体点云提取***10,将第一聚类模块101替换为压缩模块105和第二聚类模块106,将第一过滤模块102替换为第二过滤模块107,将第一选取模块104替换为第二选取模块108和提取模块109;其中:
压缩模块105,用于对深度相机采集到的点云按第一预设距离进行压缩处理;
由于深度相机采集到的点云中的点非常多,会使得后续的处理步骤的处理数据量非常大,因此,本实施例采用按照第一预设距离先对深度相机采集到的点云进行压缩处理,再进行后续处理。经过压缩后的点云中,任意两个点之间的距离都大于第一预设距离,即在压缩处理中将点周围第一预设距离范围内点都压缩掉了,点的分布密度减小,数量减少;如此,后续处理步骤中所需处理的数量量减小,提升后续处理的效率。
第二聚类模块106,用于按第二预设距离采用聚类算法对压缩后的点云聚类,以得到多个子点云。
在将采集到的点云压缩处理后,根据采集到的点云中的人体点云、床点云及周围环境的一些其它物体的点云具有相互之间不连接的特点,再按第二预设距离采用聚类算法对压缩后的点云进行聚类处理,从而将压缩后的点云聚类得到多个子点云,多个子点云包括属于人体部分的子点云、属于床部分的子点云和属于周围环境的其它物体的子点云。由于压缩后的点云中,任意两个点之间的距离都大于第一预设距离,因此本实施例中的第二预设距离采用大于第一预设距离,以使聚类处理能够正常进行。本实施例中,聚类算法选用欧式聚类算法。
第二过滤模块107,用于对聚类得到的各个子点云过滤,以滤除点数小于第二预设阈值的子点云。
属于人体部分的子点云,其内包含的点数较多,而属于周围环境的其它物体的子点云和个别属于床的子点云,则包含的点数较少,因此,依据这一特点,按第二预设阈值对聚类得到的各个子点云进行过滤,以滤除点数小于该第二预设阈值的子点云,如此,过滤掉一些不属于人体点云的子点云,减少干扰数据,进一步降低待处理的数据量,以提升处理速度。其中,第二预设阈值小于第一预设阈值。进一步地,本实施例中,第二预设阈值=(压缩后的点云中的点数/采集到的点云中的点数)*第一预设阈值。
第二选取模块108,用于选取最小的Z轴坐标平均值所对应的子点云;
由于人是躺在床上,深度相机是从人体的正上方向下拍摄采集点云的,因此属于人体部分的子点云中的点的Z轴坐标值都会比其它子点云中的点的Z轴坐标值小,因此,在得到各个子点云的Z轴坐标平均值后,选取最小的那个Z轴坐标平均值所对应的子点云,该选取的子点云则是属于人体部分的点云,由于该选取的子点云是经过压缩的,因此还需要再找回该子点云中压缩掉的点。
提取模块109,用于从采集到的点云中找出所有属于选取的子点云内的点,并将找出的所有点添加到一个新建的点云中,将新建的点云作为人体点云。
虽然该选取的子点云是经过压缩的,但该选取的子点云的区域就是人体点云的区域,因此只需要从初始点云(即深度相机采集到的点云)中找出所有属于该选取的子点云内的点,即得到压缩前属于该选取的子点云区域内的人体点云的所有点,将找出的所有点添加到一个新建的点云中,则该新建的点云就是所需的人体点云。
本实施例的人体点云提取***10,通过在聚类及计算Z轴坐标值处理之前,先对深度相机采集到的点云进行压缩处理,以大幅减小聚类及计算Z轴坐标值处理的数据量,并在选取属于人体的子点云后,根据从采集到的点云中找出所有属于选取的子点云中的点,添加到新建的点云中以得到人体点云。本实施例的人体点云提取***10,处理的数据量大幅减少,整体上提升了处理速度,能更快的提取到人体点云。
如图8所示,图8为本发明人体点云提取***10三实施例的程序模块图。
本实施例基于二实施例的方案,在本实施例人体点云提取***10中,提取模块109包括:
确定子模块1091,用于确定选取的子点云中的Z轴坐标最大点;
根据选取的子点云中的各个点的坐标,确定Z轴坐标值最大的点(即Z轴坐标最大点);Z轴坐标最大点可能一个,也可能多个,多个时,从中随机选取一个即可。
筛选子模块1092,用于根据Z轴坐标最大点的Z轴坐标值Zmax对采集到的点云中的点进行Z轴坐标值过滤,以获得所有Z轴坐标小于等于Zmax的点并添加到一个新建的点云中,将新建的点云作为人体点云。
由于人***于床的上方,Z轴坐标最大点就是人体点云的边缘临界点,因此从初始点云(即深度相机采集到的点云)中确定的Z轴坐标小于等于Z轴坐标最大点的Z轴坐标值Zmax的点都属于人体点云的点。本实施例,根据Z轴坐标值Zmax对采集到的点云中的点进行Z轴坐标值过滤,以获得所有Z轴坐标小于等于Z轴坐标值Zmax的点,即找出所有属于选取的子点云内的点。将获得的点全部添加到一个新建点云中,则该新建的点云就是人体点云。
如图9所示,图9为本发明人体点云提取***10四实施例的程序模块图。
本实施例基于二实施例的方案,在本实施例的人体点云提取***,将提取模块109替换为:
分析模块110,用于针对采集到的点云中的每个点,找出该点在选取的子点云中对应的最近点,计算出该点与对应的最近点之间的最近距离,将计算得到的最近距离与第三预设距离比较。
由于该选取的子点云为属于人体部分的子点云,而人体点云中的所有点是集中分布在一整块区域的,人体点云中的点与其余点云(床点云中的点、周围环境的其它物体的点云)中的点的距离非常大,因此,针对深度相机采集到的点云中的每个点,均进行以下处理:找出该点在选取的子点云中对应的最近点,计算出该点与对应的最近点之间的最近距离,并将计算得到的最近距离与第三预设距离比较。其中,第三预设距离根据人体点云中的点与其内的最近点距离的常规范围进行取值设定,第三预设距离远小于人体点云中的点与其余点云中的点之间的距离。另外,本实施例中,第三预设距离大于第一预设距离,由于该选取的子点云是经过了压缩处理的点云,而该压缩处理是按第一预设距离压缩的,如果第三预设距离不大于第一预设距离,则在上述处理中,当选取到点是之前压缩处理掉的人体点云内的点时,可能出现计算得到的最近距离大于或等于第三预设距离,这样就会造成一些属于人体点云的点被漏掉。
添加模块120,用于在最近距离小于第三预设距离时,将该最近距离在采集到的点云中所对应的点添加到新建的点云中;添加模块120还用将新建的点云作为人体点云。
当最近距离小于第三预设距离时,则将该最近距离对应的点添加到新建点云中,如此,则可找出所有属于人体点云的点。在对采集到的点云中的所有点云都完成上述处理后,最终所得的新建的点云即人体点云。另外,在最近距离大于或等于第三预设距离时,可不作任何进一步处理或将其归于其余点云等。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有人体点云提取***,所述人体点云提取***可被一个或多个处理器执行,以实现上述任一实施例的人体点云提取方法。
以上所述的仅为本发明的部分或优选实施例,无论是文字还是附图都不能因此限制本发明保护的范围,凡是在与本发明一个整体的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明保护的范围内。
Claims (10)
1.一种人体点云提取方法,其特征在于,包括:
A、采用聚类算法对深度相机采集到的点云聚类,以得到多个子点云,所述深度相机采集点云时,人体躺在床上,所述深度相机在人体的正上方,从上往下进行拍摄采集,采集到的点云包括人体点云、床点云以及周围环境的一些其它物体的点云;
B、对聚类得到的各个子点云过滤,以滤除点数小于第一预设阈值的子点云;
C、分别计算出经过滤剩下的各个子点云在所述深度相机的坐标系内的Z轴坐标平均值,所述深度相机的坐标系是以所述深度相机的镜头位置为坐标原点的坐标系,所述深度相机的坐标系的Z轴正向为朝向人体的方向;
D、选取最小的Z轴坐标平均值所对应的子点云作为人体点云。
2.根据权利要求1所述的人体点云提取方法,其特征在于,将步骤A替换为:
对深度相机采集到的点云按第一预设距离进行压缩处理;
按第二预设距离采用聚类算法对压缩后的点云聚类,以得到多个子点云,其中,所述第二预设距离大于所述第一预设距离;
将步骤B替换为:
对聚类得到的各个子点云过滤,以滤除点数小于第二预设阈值的子点云,所述第二预设阈值小于所述第一预设阈值;
将步骤D替换为:
D1、选取最小的Z轴坐标平均值所对应的子点云;
D2、从所述采集到的点云中找出所有属于所述选取的子点云内的点,并将找出的所有点添加到一个新建的点云中;
D3、将所述新建的点云作为人体点云。
3.根据权利要求2所述的人体点云提取方法,其特征在于,所述第二预设阈值=(压缩后的点云中的点数/采集到的点云中的点数)*所述第一预设阈值。
4.根据权利要求2或3所述的人体点云提取方法,其特征在于,所述步骤D2包括:
确定所述选取的子点云中的Z轴坐标最大点;
根据所述Z轴坐标最大点的Z轴坐标值Zmax对所述采集到的点云中的点进行Z轴坐标值过滤,以获得所有Z轴坐标小于等于所述Zmax的点并添加到一个新建的点云中。
5.根据权利要求2或3所述的人体点云提取方法,其特征在于,所述步骤D2替换为:
针对所述采集到的点云中的每个点,找出该点在所述选取的子点云中对应的最近点,计算出该点与对应的最近点之间的最近距离,将计算得到的最近距离与第三预设距离比较,所述第三预设距离大于所述第一预设距离;
在所述最近距离小于所述第三预设距离时,将该最近距离在所述采集到的点云中所对应的点添加到新建的点云中。
6.一种电子装置,其特征在于,所述电子装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的人体点云提取***,所述人体点云提取***被所述处理器执行时实现如下步骤:
a、采用聚类算法对深度相机采集到的点云聚类,以得到多个子点云,所述深度相机采集点云时,人体躺在床上,所述深度相机在人体的正上方,从上往下进行拍摄采集,采集到的点云包括人体点云、床点云以及周围环境的一些其它物体的点云;
b、对聚类得到的各个子点云过滤,以滤除点数小于第一预设阈值的子点云;
c、分别计算出经过滤剩下的各个子点云在所述深度相机的坐标系内的Z轴坐标平均值,所述深度相机的坐标系是以所述深度相机的镜头位置为坐标原点的坐标系,所述深度相机的坐标系的Z轴正向为朝向人体的方向;
d、选取最小的Z轴坐标平均值所对应的子点云作为人体点云。
7.根据权利要求6所述的电子装置,其特征在于,将步骤a替换为:
对深度相机采集到的点云按第一预设距离进行压缩处理;
按第二预设距离采用聚类算法对压缩后的点云聚类,以得到多个子点云,其中,所述第二预设距离大于所述第一预设距离;
将步骤b替换为:
对聚类得到的各个子点云过滤,以滤除点数小于第二预设阈值的子点云,所述第二预设阈值小于所述第一预设阈值;
将步骤d替换为:
d1、选取最小的Z轴坐标平均值所对应的子点云;
d2、从所述采集到的点云中找出所有属于所述选取的子点云内的点,并将找出的所有点添加到一个新建的点云中;
d3、将所述新建的点云作为人体点云。
8.根据权利要求7所述的电子装置,其特征在于,所述步骤d2包括:
确定所述选取的子点云中的Z轴坐标最大点;
根据所述Z轴坐标最大点的Z轴坐标值Zmax对所述采集到的点云中的点进行Z轴坐标值过滤,以获得所有Z轴坐标小于等于所述Zmax的点并添加到一个新建的点云中。
9.根据权利要求7所述的电子装置,其特征在于,所述步骤d2替换为:
针对所述采集到的点云中的每个点,找出该点在所述选取的子点云中对应的最近点,计算出该点与对应的最近点之间的最近距离,将计算得到的最近距离与第三预设距离比较,所述第三预设距离大于所述第一预设距离;
在所述最近距离小于所述第三预设距离时,将该最近距离在所述采集到的点云中所对应的点添加到新建的点云中。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有人体点云提取***,所述人体点云提取***可被一个或多个处理器执行,以实现如权利要求1至5中任一项所述的人体点云提取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110508727.0A CN113344029B (zh) | 2021-05-10 | 2021-05-10 | 人体点云提取方法、电子装置和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110508727.0A CN113344029B (zh) | 2021-05-10 | 2021-05-10 | 人体点云提取方法、电子装置和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113344029A CN113344029A (zh) | 2021-09-03 |
CN113344029B true CN113344029B (zh) | 2024-04-05 |
Family
ID=77470516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110508727.0A Active CN113344029B (zh) | 2021-05-10 | 2021-05-10 | 人体点云提取方法、电子装置和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113344029B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110349260A (zh) * | 2019-07-11 | 2019-10-18 | 武汉中海庭数据技术有限公司 | 一种路面标线自动提取方法及装置 |
CN111695420A (zh) * | 2020-04-30 | 2020-09-22 | 华为技术有限公司 | 一种手势识别方法以及相关装置 |
CN112543877A (zh) * | 2019-04-03 | 2021-03-23 | 华为技术有限公司 | 定位方法和定位装置 |
WO2021051539A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 一种人脸识别的方法、装置及终端设备 |
CN112767319A (zh) * | 2020-12-30 | 2021-05-07 | 无锡祥生医疗科技股份有限公司 | 基于点云数据分割的乳腺超声成像方法、装置及存储介质 |
-
2021
- 2021-05-10 CN CN202110508727.0A patent/CN113344029B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543877A (zh) * | 2019-04-03 | 2021-03-23 | 华为技术有限公司 | 定位方法和定位装置 |
CN110349260A (zh) * | 2019-07-11 | 2019-10-18 | 武汉中海庭数据技术有限公司 | 一种路面标线自动提取方法及装置 |
WO2021051539A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 一种人脸识别的方法、装置及终端设备 |
CN111695420A (zh) * | 2020-04-30 | 2020-09-22 | 华为技术有限公司 | 一种手势识别方法以及相关装置 |
CN112767319A (zh) * | 2020-12-30 | 2021-05-07 | 无锡祥生医疗科技股份有限公司 | 基于点云数据分割的乳腺超声成像方法、装置及存储介质 |
Non-Patent Citations (6)
Title |
---|
Adaptive simplification of point cloud using k-means clustering;Shi B Q等;《Computer-Aided Design》;第43卷(第8期);910-922 * |
一种有效的基于点云特征人体识别方法;杨晶东等;《计算机应用研究》;第34卷(第5期);1553-1559 * |
基于单摄像头的三维体表面损伤面积定量测量方法;刘春辉等;《生物医学工程学报》;第37卷(第1期);40-48 * |
基于聚类和四元数表示的动态人体点云配准算法研究及应用;李翎;《中国优秀硕士学位论文全文数据库 (信息科技辑)》(第12期);I138-343 * |
基于面特征和SIFT特征的LiDAR点云与航空影像配准;赵中阳等;《空军工程大学学报(自然科学版)》(第5期);69-74 * |
用Kinect定位平面上单一圆柱型物体;李芳等;《科技创新导报》(31);49-51 * |
Also Published As
Publication number | Publication date |
---|---|
CN113344029A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111815755B (zh) | 虚拟物体被遮挡的区域确定方法、装置及终端设备 | |
CN109376596B (zh) | 人脸匹配方法、装置、设备及存储介质 | |
US9417700B2 (en) | Gesture recognition systems and related methods | |
WO2018089163A1 (en) | Methods and systems of performing object pose estimation | |
US20140056471A1 (en) | Object tracking using background and foreground models | |
WO2021003964A1 (zh) | 人脸脸型识别方法、装置、电子设备及存储介质 | |
CN108765315B (zh) | 图像补全方法、装置、计算机设备及存储介质 | |
KR20180130505A (ko) | 동적 및 확률적 작업 트리밍에 의한 기하학적 작업 스케줄링 | |
CN111325204A (zh) | 目标检测方法、装置、电子设备以及存储介质 | |
CN110610127A (zh) | 人脸识别方法、装置、存储介质及电子设备 | |
CN113032610B (zh) | 档案管理方法、装置、设备及计算机可读存储介质 | |
CN114816055A (zh) | 基于vr设备的眼球运动轨迹捕捉分析方法、装置及介质 | |
CN113344029B (zh) | 人体点云提取方法、电子装置和可读存储介质 | |
US11281935B2 (en) | 3D object detection from calibrated 2D images | |
CN114943978B (zh) | 一种表格重建的方法及电子设备 | |
CN115294426A (zh) | 介入医学设备的跟踪方法、装置、设备及存储介质 | |
US20200013189A1 (en) | Image indexing and retrieval using local image patches for object three-dimensional pose estimation | |
CN113887384A (zh) | 基于多轨迹融合的行人轨迹分析方法、装置、设备及介质 | |
CN107809613B (zh) | 视频索引创建方法及装置、计算机可读存储介质、终端 | |
CN113111689A (zh) | 一种样本挖掘方法、装置、设备及存储介质 | |
CN111931794A (zh) | 一种基于草图的图像匹配方法 | |
CN114782284B (zh) | 动作数据修正方法、装置、设备及存储介质 | |
CN115061568A (zh) | 基于立体视觉疲劳检测的平板电脑亮度智能调节方法 | |
CN115423922A (zh) | 一种基于K-Means聚类算法的3D渲染方法及*** | |
CN113657410A (zh) | 基于人工智能的图像轮廓提取方法及相关设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |