CN104751146B - 一种基于3d点云图像的室内人体检测方法 - Google Patents
一种基于3d点云图像的室内人体检测方法 Download PDFInfo
- Publication number
- CN104751146B CN104751146B CN201510172846.8A CN201510172846A CN104751146B CN 104751146 B CN104751146 B CN 104751146B CN 201510172846 A CN201510172846 A CN 201510172846A CN 104751146 B CN104751146 B CN 104751146B
- Authority
- CN
- China
- Prior art keywords
- pixel
- human body
- point cloud
- human
- region
- 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
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种基于3D点云图像的室内人体检测方法,该方法包括如下步骤:步骤1、基于3D点云图像的分割与聚类;步骤2、非人体区域过滤;步骤3、人体区域检测。本发明首先使用空间几何信息进行绝大部分的过滤,将真正待处理区域减少到最小;其次,在于将不同细分领域的算法结合,既使用了图论中图上的染色算法,又使用了计算机视觉领域的支持向量机训练方法。这些方法的有机结合,获得了行之有效并且计算复杂度低的通用人体检测方法。
Description
技术领域
本发明涉及室内人体检测的技术领域,具体涉及一种基于3D点云图像的室内人体检测方法。
背景技术
对于机器人与人的交互相关技术,对动态人体的检测是其中核心技术之一。所有室内服务型机器人,包括家用服务机器人,助老机器人,商场和会展中心等地的迎宾导购导引机器人,都需要人体检测功能的支持。
3D点云传感器作为近年来人机交互与机器人的通用传感器部件,可以返回一个由点云构成的图像。每个像素点具有该图像像素点在实际空间中的位置(x,y,z)信息。点云信息极大的丰富了获取图像的几何空间信息,因此被越来越多的应用所采用。
本发明使用3D点云传感器,提出并实现了一个基于图连通算法的快速室内人体检测方法。使用该方法,可以在机器人上,或在室内固定位置上配置3D点云传感器,就能够进行快速的人体检测,具有普适性。
现有的机器人上或是室内人体检测的方法通常使用的都是普通摄像头获取的平面图像信息,这些方法大多依赖背景分割,或是需要极大计算量支持。同时,这类方法由于受到摄像头因光线变化导致的影响,无法在不同环境获得较平均的人体检测效果。另外,根据传感器配置在动态机器人上或静态固定位置上的不同,检测方法也有较大差别,没有一种能够普适应用的快速检测方法。
本发明涉及到基于3D点云图像的室内人体检测方法。该方法适用于室内动态环境下,使用产生3D点云的传感器,进行快速的人体检测,包括行走、直立或头肩部未与环境物体纠缠的坐姿。特别适用于在室内移动机器人上,在包括但不限于会展中心、展览馆等室内环境,进行快速的行走人体检测,以利于机器人发现人,并(后续)进行适当的交互。本发明相关的基础技术,是一种通用方法,能用于所有室内动态环境下的动态(如机器人上的摄像头)或静态传感器。可以应用在包括但不限于家用服务机器人,助老助残机器人,迎宾导购机器人,引导机器人,以及室内人流量估算等。
发明内容
本发明要实现室内动态人体检测,技术上需要解决如下几个问题:
1.快速将一副点云图分割为不同区域。对于3D点云图,与普通彩色图像的最大区别在于像素点具有几何位置信息。因此,如何将点云进行快速分割是本发明的关键。
2.如何过滤环境中的干扰。利用几何位置信息,某些环境中的干扰物体可以通过一些手写规则进行快速过滤。例如,太高或形状扁平的物体不可能是人类。
3.实时计算。为了能够准确检测动态人体,发明中的方法需要能够在较短的时间内完成计算,并得出结果。以常见的3D点云传感器微软Kinect为例,在30fps的帧率下,每帧图像的平均计算时间应不超过33ms。为满足较通用的实时性需求,一般需要达到至少10fps。
本发明采用的技术方案为:一种基于3D点云图像的室内人体检测方法,该方法包括如下步骤:
步骤1、基于3D点云图像的分割与聚类:
首先,获取的3D点云图像需要转换到选取的坐标系,选取传感器所在的垂直投影地点作为(x,y)坐标,地面高度作为z坐标,平行于地面并指向摄像头前方为x轴正方向,垂直于地面为z轴正方向。转化到这个坐标系以后,3D点云图像中每个像素点的坐标都代表符合实际空间几何的位置,即像素点的位置为像素在物理世界中的真实位置,后续处理全部都在转换坐标之后的点云图像上进行;
其次,由于像素的高度信息表征该像素点在物理世界中的高度,因此用这个信息非常方便的找出地面,由于室内地面具有严格的水平特性,因此,像素高度等于地面高度的像素点,可以被直接归类为地面,由于人群一定站立在地面上,因此一旦将地面区域从图像中去除,所有剩下的像素点都属于人体或非人体的室内物体上,同时,未接触的人体或物体在图像中像素点不连通;
第三,使用基于图连通的染色算法,对像素点进行分割聚类,对于上述去除地面以后的3D点云图像,每个像素点初始时都在只包含自己的集合中。依次扫描遍历图像中的相邻像素点,若两像素点的距离小于像素点在该距离的“合并距离”,那么两个像素点所在的集合将被合并,在经过一轮扫描以后,所有的像素点都属于一个确定的集合,而这些集合之间相互不连通;
步骤2、非人体区域过滤:
在获取上述连通集合以后,不同像素点集合区域可能差异极大,而由于人体区域占有的空间是有限的,通过空间尺寸可以迅速过滤掉一定不属于人体区域的像素点集合,考虑到有可能多个人体或人体与其他物体相连接,因此仅过滤较小的非人体区域,即尺寸上小于半个普通成年人个体大小的点云像素区域;
步骤3、人体区域检测:
在去除非人体的像素区域后,仅剩下可能是人体,或包含人体的像素区域;为了在这些区域中更准确的检测出人体,采用深度直方图特征,训练一个基于支持向量机的分类器用于检测人的头肩部区域。
其中,步骤1中,通过像素几何信息进行的3D点云图像分割,能够快速的将不接触的物体分割为不同区块,同时保证人体在摄像头中连通的部位在同一个区块中。
其中,步骤3中,由于人体头肩部特征明显,基于支持向量机的分类器不需要太多训练数据即可获得非常好的检测效果。
其中,步骤3中,具体检测时,在图像中剩下的可能区域中,使用滑动窗口的方法,依次检查相应区域的直方图响应。若某区域存在多个临近窗口响应高于阈值,则可以认定检测到人体。
本发明与现有相比的优点在于:
(1)、本发明提出的基于3D点云图像的室内人体检测方法,其主要优点在于普适性强,计算量小,不仅适用于室内静态平台,同时适用于移动平台如机器人或室内移动车上的人体检测需求。
(2)、本发明在应用时,不需要对环境进行任何修改,如更改光照等,只需要提供传感器的几何方位信息,即可一次性的完成配置,不需要额外任何维护,具有简单,可靠,稳定,易于部署等优点。
附图说明
图1为本发明一种基于3D点云图像的室内人体检测方法的流程图;
图2为本发明步骤一的点云图像分割聚类算法应用实例可视化,其中包含四个人体。
具体实施方式
下面结合附图以及具体实施例进一步说明本发明。
基于3D点云数据的室内人体检测方法,针对需要解决的问题,主要分为如下几个步骤:针对3D点云图像的分割与聚类步骤,非人体区域过滤步骤,人体区域检测步骤。
在本方法的应用实例中,仅需要一个能够获取3D点云图像的传感器(一般为50cm到3m范围,2-3cm精度,如微软的Kinect,PrimeSense的Carmine,华硕的Xtion等),以及与传感器相连的电脑(有一定计算能力,CPU i5及以上,4G及以上内存)。对于移动机器人平台,若传感器置于云台上,则需要实时云台反馈以确定传感器姿态;对于室内固定位置的应用,则只需要传感器放置的位置(坐标、高度与朝向)。对其他室内环境没有特殊要求,既不需要在房间顶部或地面加入任何标记,也不需要充足的光线,照明情况等,只需保证传感器能获得3D点云图像即可。
1、基于3D点云图像的分割与聚类:
本发明的方法主要基于对3D点云图像的处理和分析,区分人体与非人体区域,以达到人体检测的目的。
首先,获取的点云图像需要转换到合适的坐标系。我们选取传感器所在的垂直投影地点作为(x,y)坐标,地面高度作为z坐标,平行于地面并指向摄像头前方为x轴正方向,垂直于地面为z轴正方向(后续称此坐标系为世界坐标系)。在转化到这个坐标系以后,点云图像中每个像素点的坐标都代表符合实际空间几何的位置,即像素点的位置为像素在物理世界中的真实位置。后续处理全部都在转换坐标之后的点云图像上进行。
由于像素的高度信息表征该像素点在物理世界中的高度,因此我们可以用这个信息非常方便的找出地面。由于室内地面具有严格的水平特性,因此,像素高度等于地面高度的像素点,可以被直接归类为地面。这些像素点对于后面的分割很关键。由于人群一定站立在地面上,因此一旦将地面区域从图像中去除,所有剩下的像素点都属于人体或非人体的室内物体上,同时,未接触的人体/物体在图像中像素点不连通。
我们使用基于图连通的染色算法,对像素点进行分割聚类。对于上述去除地面以后的3D点云图像,每个像素点初始时都在只包含自己的集合中。我们依次扫描遍历图像中的相邻像素点,若两像素点的距离小于像素点在该距离的“合并距离”,那么两个像素点所在的集合将被合并。在经过一轮扫描以后,所有的像素点都属于一个确定的集合,而这些集合之间相互不连通。
上述对点云图像的分割聚类算法如表1所示。其中cloudworld为前述已经转换坐标之后的点云图像,cld_mask为图像掩码,对应cloudworld中的各像素,其值为1表示非地面,为0表示地面。算法计算得到cloud_label,其各像素为对应点云图像各像素的集合数字ID,从1开始,每个集合拥有唯一的相同ID;0代表像素被过滤,不参与后续处理。
图2是对一副从移动机器人上采集的室内有多个人的点云图像进行分割的结果,方格代表地面,不同连通集合由实线分隔。表1算法中,行1将前述去除地面后的3D点云图像建立一个初始连通图,每个有效像素为节点,像素与其在图像中的上下左右4-邻居像素为边。行2至7检查上述图中所有边连接的两个像素在世界坐标系中的距离,如果距离小于“合并举例”,则将此边设置为“有效边”。然后,行8至11将上述图中的各个顶点建立一个不相交集,起初各集合中只有单个顶点;行12至14遍历上述图中的各边,若边为“有效边”,则合并此边相邻的两个顶点所在集合。遍历结束后,每个像素点都属于唯一的一个集合;并且对于每个集合中的像素,必然能找到与其在图像中相邻的另一个像素,它们之间在世界坐标系中的距离小于“合并举例”。最后,行15至19检查各集合大小,并过滤较小的集合以排除噪声。
表1为对点云图像的分割聚类算法程序代码表
2、非人体区域过滤:
在获取上述连通集合以后,不同像素点集合区域可能差异极大。而由于人体区域占有的空间是有限的,通过空间尺寸可以迅速过滤掉一定不属于人体区域的像素点集合。考虑到有可能多个人体或人体与其他物体相连接,因此我们仅过滤较小的非人体区域,即尺寸上小于半个普通成年人个体大小的点云像素区域。具体计算时,对于每个连通集合,将其中像素点在世界坐标系中投影到地平面的(x,y)取出形成一个投影点集,随后计算出其最小面积的矩形包围(minimum area bounding rectangle);此矩形的长、宽分别为(l,w)。同时,计算每个连通集合中像素点的最小和最大z坐标,并计算其差值,记为h。最后,使用上述(l,w,h)信息来确定每个连通集合的形状,过滤掉(l,w)小于普通人体宽度,或h小于三分之一普通成年人身高的连通集合。
3、人体区域检测:
在去除非人体的像素区域后,我们仅剩下可能是人体,或包含人体的像素区域。为了在这些区域中更准确的检测出人体,我们采用学术界前沿的深度直方图(HOD,Histogramof Depth)特征,训练一个使用线性核函数的支持向量机的分类器用于检测人的头肩部区域。由于人体头肩部特征明显,这样一个分类器不需要太多训练数据即可获得非常好的检测效果。具体检测时,我们在图像中上述剩余的可能区域中,使用滑动窗口的方法,依次检查相应区域的直方图响应。若响应高于阈值,则可以认定检测到人体。
在计算HOD特征时,我们选用64x64像素的窗口大小,在上述已经将点云坐标转换到世界坐标系的深度图像中进行计算。HOD特征的计算与传统的HOG(Histogram ofOriented Gradients)特征类似,唯一区别在于计算方向梯度时,使用的是像素点在世界坐标系中与摄像头的距离,而不是像素灰度。我们在室内机器人上采集了共约900张图片,其中包含1000余个人体。训练时,我们将手动标注的人体头肩部位框出作为正例,并且随机在背景中选择不与正例相交的500个矩形框作为负例。同时,选用线性核函数的支持向量机(SVM)进行训练。检测时,对于每个滑动窗口区域,计算得到的特征在训练好的SVM中响应高于设定的阈值时,则认为此区域可能包含人体头肩部位。另外,为了消除可能的误检测,只有一个区域附近有三个以上窗口同时检出时,才认为当前区域包含人体头肩部位。
为了验证发明方法的有效性,我们将采集的900余张包含人体的图片分为两组,其中600张用于提取正例训练,剩余300张用于验证。通过测试选定的SVM响应经验阈值,可以达到95%以上的准确率(precision)以及80%左右的召回率(recall)。未能检出的正例主要是与训练数据姿态不同或被遮挡的人体,如完全侧向对着摄像头的人体,以及身体一半区域被其他人或物体遮挡的人体。该方法运行在Intel i7-4790,16G内存的电脑上,平均单帧计算时间约为50ms,即大约20fps,满足实时计算的需要。
本发明中涉及到的本领域公知技术未详细阐述。
Claims (4)
1.一种基于3D点云图像的室内人体检测方法,其特征在于:该方法包括如下步骤:
步骤1、基于3D点云图像的分割与聚类:
首先,获取的3D点云图像需要转换到选取的坐标系,选取传感器所在的垂直投影地点作为(x,y)坐标,地面高度作为z坐标,平行于地面并指向摄像头前方为x轴正方向,垂直于地面为z轴正方向,在转化到这个坐标系以后,3D点云图像中每个像素点的坐标都代表符合实际空间几何的位置,即像素点的位置为像素在物理世界中的真实位置,后续处理全部都在转换坐标之后的点云图像上进行;
其次,由于像素的高度信息表征该像素点在物理世界中的高度,因此用这个信息非常方便的找出地面,由于室内地面具有严格的水平特性,因此,像素高度等于地面高度的像素点,可以被直接归类为地面,由于人群一定站立在地面上,因此一旦将地面区域从图像中去除,所有剩下的像素点都属于人体或非人体的室内物体上,同时,未接触的人体或物体在图像中像素点不连通;
第三,使用基于图连通的染色算法,对像素点进行分割聚类,对于去除地面以后的3D点云图像,每个像素点初始时都在只包含自己的集合中;依次扫描遍历图像中的相邻像素点,若两像素点的距离小于像素点在该距离的“合并距离”,那么两个像素点所在的集合将被合并,在经过一轮扫描以后,所有的像素点都属于一个确定的集合,而这些集合之间相互不连通;
步骤2、非人体区域过滤:
在获取连通集合以后,不同像素点集合区域可能差异极大,而由于人体区域占有的空间是有限的,通过空间尺寸可以迅速过滤掉一定不属于人体区域的像素点集合,考虑到有可能多个人体或人体与其他物体相连接,因此仅过滤较小的非人体区域,即尺寸上小于半个普通成年人个体大小的点云像素区域;
步骤3、人体区域检测:
在去除非人体的像素区域后,仅剩下可能是人体,或包含人体的像素区域;为了在这些区域中更准确的检测出人体,采用深度直方图特征,训练一个基于支持向量机的分类器用于检测人的头肩部区域。
2.根据权利要求1所述的一种基于3D点云图像的室内人体检测方法,其特征在于:步骤1中,通过像素几何信息进行的3D点云图像分割,能够快速的将不接触的物体分割为不同区块,同时保证人体在摄像头中连通的部位在同一个区块中。
3.根据权利要求1所述的一种基于3D点云图像的室内人体检测方法,其特征在于:步骤3中,由于人体头肩部特征明显,基于支持向量机的分类器不需要太多训练数据即可获得非常好的检测效果。
4.根据权利要求1所述的一种基于3D点云图像的室内人体检测方法,其特征在于:步骤3中,具体检测时,在图像中剩下的可能区域中,使用滑动窗口的方法,依次检查相应区域的直方图响应,若某区域存在多个临近窗口响应高于阈值,则可以认定检测到人体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510172846.8A CN104751146B (zh) | 2015-04-13 | 2015-04-13 | 一种基于3d点云图像的室内人体检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510172846.8A CN104751146B (zh) | 2015-04-13 | 2015-04-13 | 一种基于3d点云图像的室内人体检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104751146A CN104751146A (zh) | 2015-07-01 |
CN104751146B true CN104751146B (zh) | 2018-04-10 |
Family
ID=53590803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510172846.8A Active CN104751146B (zh) | 2015-04-13 | 2015-04-13 | 一种基于3d点云图像的室内人体检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104751146B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247926B (zh) * | 2017-05-19 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种人体检测方法及装置 |
CN109484935B (zh) * | 2017-09-13 | 2020-11-20 | 杭州海康威视数字技术股份有限公司 | 一种电梯轿厢监控方法、装置及系统 |
CN108460779B (zh) * | 2018-02-12 | 2021-09-24 | 浙江大学 | 一种动态环境下的移动机器人图像视觉定位方法 |
CN109919145B (zh) * | 2019-01-21 | 2020-10-27 | 江苏徐工工程机械研究院有限公司 | 一种基于3d点云深度学习的矿卡检测方法及系统 |
CN110058591A (zh) * | 2019-04-24 | 2019-07-26 | 合肥柯金自动化科技股份有限公司 | 一种基于激光雷达与深度摄像机混合导航的agv系统 |
CN112651266A (zh) * | 2019-10-11 | 2021-04-13 | 北京百度网讯科技有限公司 | 行人检测方法和装置 |
CN111144213B (zh) * | 2019-11-26 | 2023-08-18 | 北京华捷艾米科技有限公司 | 一种对象检测方法和相关设备 |
CN111340873B (zh) * | 2020-02-28 | 2023-05-23 | 广东工业大学 | 一种多视角图像的物体最小外包络尺寸测算方法 |
CN114494271A (zh) * | 2022-02-18 | 2022-05-13 | 芙索特(上海)医疗科技有限公司 | 一种人体背部atr角度计算方法 |
CN115797445A (zh) * | 2023-02-06 | 2023-03-14 | 成都智元汇信息技术股份有限公司 | 一种基于图像识别的室内人员定位方法及装置及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003136B1 (en) * | 2002-04-26 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Plan-view projections of depth image data for object tracking |
CN103995747A (zh) * | 2014-05-12 | 2014-08-20 | 上海大学 | 基于移动机器人平台的分布式行人检测系统和方法 |
CN104408445A (zh) * | 2014-12-19 | 2015-03-11 | 吉林纪元时空动漫游戏科技股份有限公司 | 实时人体自动检测方法 |
-
2015
- 2015-04-13 CN CN201510172846.8A patent/CN104751146B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003136B1 (en) * | 2002-04-26 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Plan-view projections of depth image data for object tracking |
CN103995747A (zh) * | 2014-05-12 | 2014-08-20 | 上海大学 | 基于移动机器人平台的分布式行人检测系统和方法 |
CN104408445A (zh) * | 2014-12-19 | 2015-03-11 | 吉林纪元时空动漫游戏科技股份有限公司 | 实时人体自动检测方法 |
Non-Patent Citations (3)
Title |
---|
People Detection in 3d Point Clouds using Local Surface Normals;Frederik Hegger et al;《RoboCup 2012: Robot Soccer World Cup XVI》;20131231;第154-165页 * |
People Detection in RGB-D Data;Luciano Spinello et al;《2011 IEEE/RSJ International Conference on Intelligent Robots and Systems》;20111231;第3838-3843页 * |
一种适用于室内服务机器人的实时物体识别系统;柯翔等;《计算机系统应用》;20131231;第22卷(第10期);第84-89页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104751146A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104751146B (zh) | 一种基于3d点云图像的室内人体检测方法 | |
CN109934848B (zh) | 一种基于深度学习的运动物体精准定位的方法 | |
US10417775B2 (en) | Method for implementing human skeleton tracking system based on depth data | |
CN107392964B (zh) | 基于室内特征点和结构线结合的室内slam方法 | |
CN103824070B (zh) | 一种基于计算机视觉的快速行人检测方法 | |
CN108629946B (zh) | 一种基于rgbd传感器的人体跌倒检测方法 | |
CN101981582B (zh) | 用于检测对象的方法和装置 | |
CN103530599B (zh) | 一种真实人脸和图片人脸的区别方法和系统 | |
CN107679503A (zh) | 一种基于深度学习的人群计数算法 | |
CN107248159A (zh) | 一种基于双目视觉的金属工件缺陷检测方法 | |
CN108805906A (zh) | 一种基于深度图的运动障碍物检测及定位方法 | |
CN103337072B (zh) | 一种基于纹理与几何属性联合模型的室内对象解析方法 | |
WO2012066785A1 (ja) | 人数カウント装置、人数カウント方法及び人数カウントプログラム | |
CN106127137A (zh) | 一种基于3d轨迹分析的目标检测识别算法 | |
JP2013089252A (ja) | 映像処理方法及び装置 | |
CN105046206B (zh) | 基于视频中运动先验信息的行人检测方法及装置 | |
CN104715238A (zh) | 一种基于多特征融合的行人检测方法 | |
CN105913013A (zh) | 双目视觉人脸识别算法 | |
CN105740945A (zh) | 一种基于视频分析的人群计数方法 | |
CN101398886A (zh) | 一种基于双目被动立体视觉的快速三维人脸识别方法 | |
CN106682641A (zh) | 基于fhog‑lbph特征的图像行人识别方法 | |
CN105913464A (zh) | 一种基于视频的多人体目标在线测量方法 | |
CN112085675A (zh) | 深度图像去噪方法、前景分割方法及人体运动监测方法 | |
CN106709432B (zh) | 基于双目立体视觉的人头检测计数方法 | |
CN104077611B (zh) | 类地重力场环境下室内场景单目视觉空间识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |