一种人员数量的确定方法及装置转让专利

申请号 : CN201710671655.5

文献号 : CN107481255B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李乾坤郭晴卢维潘石柱

申请人 : 浙江大华技术股份有限公司

摘要 :

本发明公开了一种人员数量的确定方法及装置,用以解决现有技术中统计人员数量不准确的问题。该方法包括:根据采集的包含人员的图像,确定深度图像,深度图像中每个像素点相对地面的高度;根据每个像素点相对地面的高度,确定位于该子高度范围中的每个第一像素点,每个子高度范围的上限值相同,下限值不同;根据每个子高度范围中的第一像素点,确定每个子高度范围中的每个连通域;根据每个子高度范围中的连通域的数量,确定人员的数量。较高的人在下限值较大和较小的子高度范围中产生连通域,较矮的人只在下限值较小的子高度范围中产生连通域,本方案减小了至少两个一高一矮的人的距离很近,被误检为同一人的几率,提高了确定人员数量的准确性。

权利要求 :

1.一种人员数量的确定方法,其特征在于,所述方法包括:

根据双目相机针对目标场景采集的包含人员的每个第一图像,确定深度图像,并确定深度图像中的每个像素点在实际场景中的位置相对地面的高度;

针对预设的至少两个子高度范围中的每个子高度范围,根据每个像素点对应的所述高度,确定位于该子高度范围中的每个第一像素点,其中,每个子高度范围的上限值相同,下限值不同;

针对每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域;

根据每个子高度范围中的连通域的数量,确定人员的数量。

2.如权利要求1所述的方法,其特征在于,在确定深度图像中的每个像素点在实际场景中的位置相对地面的高度之前,所述方法还包括:采用预先采集的针对每个第一图像的背景图像,确定所述深度图像的背景图像;根据所述深度图像的背景图像,提取所述深度图像的前景图像,将所述前景图像作为深度图像,进行后续步骤。

3.如权利要求1所述的方法,其特征在于,所述确定深度图像中每个像素点在实际场景中的位置相对地面的高度包括:针对每个像素点,根据双目相机的基线的长度,该像素点的灰度值,和确定该深度图像中的深度数据的第一相机的焦距,确定该像素点在实际场景中的位置与所述第一相机的高度差;根据所述高度差以及所述第一相机相对地面的高度,确定该像素点在实际场景中的位置相对地面的高度。

4.如权利要求1所述的方法,其特征在于,在针对每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域之前,所述方法还包括:根据深度图像中的每个第一像素点在所述深度图像中的位置分布,生成对应每个子高度范围的标记图,针对每个标记图,根据针对每个标记图,根据该标记图对应的子高度范围,将标记图中该子高度范围中的每个第一像素点对应的位置上的像素点的灰度值设置为第一灰度值,其余像素点的灰度值设置为第二灰度值;

针对每个标记图,根据该标记图中的每个灰度值为第一灰度值的第二像素点,识别以该第二像素点为中心的预设范围内的灰度值为第二灰度值的每个第三像素点,针对标记图中的每个子高度范围,将第二像素点和第三像素点作为第一像素点,进行后续步骤,其中,第一灰度值与第二灰度值不同。

5.如权利要求1-4任一项所述的方法,其特征在于,所述根据每个子高度范围中的连通域的数量,确定人员的数量包括:A、将每个子高度范围中的下限值由大至小进行排序,依次确定每个子高度范围对应的编号,其中,子高度范围的下限值越大,对应的编号越小;

B、识别存在至少一个第一连通域的目标子高度范围,其中,该目标子高度范围对应的目标编号,为存在连通域的子高度范围对应的编号中的最小编号;

C、识别该目标子高度范围的关联子高度范围中包含每个第一连通域的每个关联连通域,将每个关联连通域中的像素点滤除,并识别该关联子高度范围中剩余的第二连通域的第一数量,并根据所述第一数量及记录的第二连通域的第二数量,对记录的第二连通域的第二数量进行更新,其中,该关联子高度范围对应的关联编号与该目标编号相邻,且大于该目标编号;并判断该关联子高度范围对应的关联编号是否为最大的编号,如果是,则进入D,如果否,则进入E;

D、根据第一连通域的第三数量和更新后的第二连通域的第二数量,确定人员的数量;

E、将该关联子高度范围作为目标子高度范围,返回C。

6.如权利要求5所述的方法,其特征在于,所述第一连通域和/或第二连通域,为包含的像素点的数量大于预设的数量阈值的连通域。

7.一种人员数量的确定装置,其特征在于,所述装置包括:

第一确定模块,用于根据双目相机针对目标场景采集的包含人员的每个第一图像,确定深度图像;

第二确定模块,用于确定深度图像中的每个像素点在实际场景中的位置相对地面的高度;

第三确定模块,用于针对预设的至少两个子高度范围中的每个子高度范围,根据每个像素点对应的所述高度,确定位于该子高度范围中的每个第一像素点,其中,每个子高度范围的上限值相同,下限值不同;

第四确定模块,用于针对每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域;

第五确定模块,用于根据每个子高度范围中的连通域的数量,确定人员的数量。

8.如权利要求7所述的装置,其特征在于,所述装置还包括:

提取模块,用于采用预先采集的针对每个第一图像的背景图像,确定所述深度图像的背景图像;根据所述深度图像的背景图像,提取所述深度图像的前景图像,将所述前景图像作为深度图像,触发所述第二确定模块。

9.如权利要求7所述的装置,其特征在于,所述第一确定模块,具体用于针对每个像素点,根据双目相机的基线的长度,该像素点的灰度值,和确定该深度图像中的深度数据的第一相机的焦距,确定该像素点在实际场景中的位置与所述第一相机的高度差;根据所述高度差以及所述第一相机相对地面的高度,确定该像素点在实际场景中的位置相对地面的高度。

10.如权利要求7所述的装置,其特征在于,所述装置还包括:

标记模块,用于根据深度图像中的每个第一像素点在所述深度图像中的位置分布,生成对应每个子高度范围的标记图,针对每个标记图,根据针对每个标记图,根据该标记图对应的子高度范围,将标记图中该子高度范围中的每个第一像素点对应的位置上的像素点的灰度值设置为第一灰度值,其余像素点的灰度值设置为第二灰度值;针对每个标记图,根据该标记图中的每个灰度值为第一灰度值的第二像素点,识别以该第二像素点为中心的预设范围内的灰度值为第二灰度值的每个第三像素点,针对标记图中的每个子高度范围,将第二像素点和第三像素点作为第一像素点,触发所述第四确定模块,其中,第一灰度值与第二灰度值不同。

11.如权利要求7-10任一项所述的装置,其特征在于,所述第五确定模块,具体用于A、将每个子高度范围中的下限值由大至小进行排序,依次确定每个子高度范围对应的编号,其中,子高度范围的下限值越大,对应的编号越小;B、识别存在至少一个第一连通域的目标子高度范围,其中,该目标子高度范围对应的目标编号,为存在连通域的子高度范围对应的编号中的最小编号;C、识别该目标子高度范围的关联子高度范围中包含每个第一连通域的每个关联连通域,将每个关联连通域中的像素点滤除,并识别该关联子高度范围中剩余的第二连通域的第一数量,并根据所述第一数量及记录的第二连通域的第二数量,对记录的第二连通域的第二数量进行更新,其中,该关联子高度范围对应的关联编号与该目标编号相邻,且大于该目标编号;并判断该关联子高度范围对应的关联编号是否为最大的编号,如果是,则进入D,如果否,则进入E;D、根据第一连通域的第三数量和更新后的第二连通域的第二数量,确定人员的数量;E、将该关联子高度范围作为目标子高度范围,返回C。

说明书 :

一种人员数量的确定方法及装置

技术领域

[0001] 本发明涉及计算机视觉技术领域,特别涉及一种人员数量的确定方法及装置。

背景技术

[0002] 在一些特殊场景中,通常需要检测人员的情况,例如,在治安卡口,常常需要统计出当前场景中人员的数量,以及人员的分布密度,当人员聚集密度过大时,向治安人员发出警报。
[0003] 目前,在进行人员数量的统计时,可以是获取二维图像,对二维图像进行处理,统计人员数量,但是当在遇到人员遮挡、背景变化、人流拥挤,容易造成统计不准确。

发明内容

[0004] 本发明实施例公开了一种人员数量的确定方法及装置,用以解决现有技术中统计的人员数量不准确的问题。
[0005] 为达到上述目的,本发明实施例公开了一种人员数量的确定方法,所述方法包括:
[0006] 根据双目相机针对目标场景采集的包含人员的每个第一图像,确定深度图像,并确定深度图像中的每个像素点在实际场景中的位置相对地面的高度;
[0007] 针对预设的至少两个子高度范围中的每个子高度范围,根据每个像素点对应的所述高度,确定位于该子高度范围中的每个第一像素点,其中,每个子高度范围的上限值相同,下限值不同;
[0008] 针对每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域;
[0009] 根据每个子高度范围中的连通域的数量,确定人员的数量。
[0010] 进一步地,在确定深度图像中的每个像素点在实际场景中的位置相对地面的高度之前,所述方法还包括:
[0011] 采用预先采集的针对每个第一图像的背景图像,确定所述深度图像的背景图像;根据所述深度图像的背景图像,提取所述深度图像的前景图像,将所述前景图像作为深度图像,进行后续步骤。
[0012] 进一步地,所述确定深度图像中每个像素点在实际场景中的位置相对地面的高度包括:
[0013] 针对每个像素点,根据双目相机的基线的长度,该像素点的灰度值,和确定该深度图像中的深度数据的第一相机的焦距,确定该像素点在实际场景中的位置与所述第一相机的高度差;根据所述高度差以及所述第一相机相对地面的高度,确定该像素点在实际场景中的位置相对地面的高度。
[0014] 进一步地,在针对每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域之前,所述方法还包括:
[0015] 根据深度图像中的每个第一像素点在所述深度图像中的位置分布,生成对应每个子高度范围的标记图,针对每个标记图,根据针对每个标记图,根据该标记图对应的子高度范围,将标记图中该子高度范围中的每个第一像素点对应的位置上的像素点的灰度值设置为第一灰度值,其余像素点的灰度值设置为第二灰度值;
[0016] 针对每个标记图,根据该标记图中的每个灰度值为第一灰度值的第二像素点,识别以该第二像素点为中心的预设范围内的灰度值为第二灰度值的每个第三像素点,针对标记图中的每个子高度范围,将第二像素点和第三像素点作为第一像素点,进行后续步骤,其中,第一灰度值与第二灰度值不同。
[0017] 进一步地,所述根据每个子高度范围中的连通域的数量,确定人员的数量包括:
[0018] A、将每个子高度范围中的下限值由大至小进行排序,依次确定每个子高度范围对应的编号,其中,子高度范围的下限值越大,对应的编号越小;
[0019] B、识别存在至少一个第一连通域的目标子高度范围,其中,该目标子高度范围对应的目标编号,为存在连通域的子高度范围对应的编号中的最小编号;
[0020] C、识别该目标子高度范围的关联子高度范围中包含每个第一连通域的每个关联连通域,将每个关联连通域中的像素点滤除,并识别该关联子高度范围中剩余的第二连通域的第一数量,并根据所述第一数量及记录的第二连通域的第二数量,对记录的第二连通域的第二数量进行更新,其中,该关联子高度范围对应的关联编号与该目标编号相邻,且大于该目标编号;并判断该关联子高度范围对应的关联编号是否为最大的编号,如果是,则进入D,如果否,则进入E;
[0021] D、根据第一连通域的第三数量和更新后的第二连通域的第二数量,确定人员的数量;
[0022] E、将该关联子高度范围作为目标子高度范围,返回C。
[0023] 进一步地,所述第一连通域和/或第二连通域,为包含的像素点的数量大于预设的数量阈值的连通域。
[0024] 本发明实施例公开了一种人员数量的确定装置,所述装置包括:
[0025] 第一确定模块,用于根据双目相机针对目标场景采集的包含人员的每个第一图像,确定深度图像;
[0026] 第二确定模块,用于确定深度图像中的每个像素点在实际场景中的位置相对地面的高度;
[0027] 第三确定模块,用于针对预设的至少两个子高度范围中的每个子高度范围,根据每个像素点对应的所述高度,确定位于该子高度范围中的每个第一像素点,其中,每个子高度范围的上限值相同,下限值不同;
[0028] 第四确定模块,用于针对每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域;
[0029] 第五确定模块,用于根据每个子高度范围中的连通域的数量,确定人员的数量。
[0030] 进一步地,所述装置还包括:
[0031] 提取模块,用于采用预先采集的针对每个第一图像的背景图像,确定所述深度图像的背景图像;根据所述深度图像的背景图像,提取所述深度图像的前景图像,将所述前景图像作为深度图像,触发所述第二确定模块。
[0032] 进一步地,所述第一确定模块,具体用于针对每个像素点,根据双目相机的基线的长度,该像素点的灰度值,和确定该深度图像中的深度数据的第一相机的焦距,确定该像素点在实际场景中的位置与所述第一相机的高度差;根据所述高度差以及所述第一相机相对地面的高度,确定该像素点在实际场景中的位置相对地面的高度。
[0033] 进一步地,所述装置还包括:
[0034] 标记模块,用于根据深度图像中的每个第一像素点在所述深度图像中的位置分布,生成对应每个子高度范围的标记图,针对每个标记图,根据针对每个标记图,根据该标记图对应的子高度范围,将标记图中该子高度范围中的每个第一像素点对应的位置上的像素点的灰度值设置为第一灰度值,其余像素点的灰度值设置为第二灰度值;针对每个标记图,根据该标记图中的每个灰度值为第一灰度值的第二像素点,识别以该第二像素点为中心的预设范围内的灰度值为第二灰度值的每个第三像素点,针对标记图中的每个子高度范围,将第二像素点和第三像素点作为第一像素点,触发所述第四确定模块,其中,第一灰度值与第二灰度值不同。
[0035] 进一步地,所述第五确定模块,具体用于A、将每个子高度范围中的下限值由大至小进行排序,依次确定每个子高度范围对应的编号,其中,子高度范围的下限值越大,对应的编号越小;B、识别存在至少一个第一连通域的目标子高度范围,其中,该目标子高度范围对应的目标编号,为存在连通域的子高度范围对应的编号中的最小编号;C、识别该目标子高度范围的关联子高度范围中包含每个第一连通域的每个关联连通域,将每个关联连通域中的像素点滤除,并识别该关联子高度范围中剩余的第二连通域的第一数量,并根据所述第一数量及记录的第二连通域的第二数量,对记录的第二连通域的第二数量进行更新,其中,该关联子高度范围对应的关联编号与该目标编号相邻,且大于该目标编号;并判断该关联子高度范围对应的关联编号是否为最大的编号,如果是,则进入D,如果否,则进入E;D、根据第一连通域的第三数量和更新后的第二连通域的第二数量,确定人员的数量;E、将该关联子高度范围作为目标子高度范围,返回C。
[0036] 本发明实施例公开了一种人员数量的确定方法及装置,所述方法包括:根据双目相机针对目标场景采集的包含人员的每个第一图像,确定深度图像,并确定深度图像中的每个像素点在实际场景中的位置相对地面的高度;针对预设的至少两个子高度范围中的每个子高度范围,根据每个像素点对应的所述高度,确定位于该子高度范围中的每个第一像素点,其中,每个子高度范围的上限值相同,下限值不同;针对每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域;根据每个子高度范围中的连通域的数量,确定人员的数量。由于在本发明实施例中,预设至少两个子高度范围,当确定了每个像素点在实际场景中的位置相对地面的高度后,可以确定每个子高度范围中的连通域,根据每个子高度范围中的连通域的数量,确定人员的数量。当出现至少两个一高一矮的人的距离很近的情况时,较高的人会在下限值较大和较小的子高度范围中均产生连通域,较矮的人只会在下限值较小的子高度范围中产生连通域,采用本方案进行人员数量的确定,减小了当至少两个一高一矮的人的距离很近时,被误检为同一个人的几率,从而提高了确定的人员的数量的准确性。

附图说明

[0037] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038] 图1为本发明实施例1提供的一种人员数量的确定过程示意图;
[0039] 图2为本发明实施例提供的一种标记图;
[0040] 图3为本发明实施例提供的一种标记图的去燥示意图;
[0041] 图4为本发明实施例提供的一种确定出的人员示意图;
[0042] 图5为本发明实施例6提供的一种人员数量的确定装置结构图。

具体实施方式

[0043] 为了提高确定的人员数量的准确性,本发明实施例提供了一种人员数量的确定方法及装置。
[0044] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045] 实施例1:
[0046] 图1为本发明实施例1提供的一种人员数量的确定过程示意图,该过程包括以下步骤:
[0047] S101:根据采集的包含人员的每个第一图像,确定深度图像,并确定深度图像中的每个像素点在实际场景中的位置相对地面的高度。
[0048] 本发明实施例提供的人员数量的确定方法应用于电子设备。
[0049] 在本方案中,利用双目相机中左、右相机俯拍分别采集第一图像,在利用双目相机采集每个第一图像之前,用户可以将该双目相机安装在被采集场景的正上方,并且安装到尽量高的位置上,使双目相机的视场角可以覆盖较多的采集场景。
[0050] 在安装双目相机时,应使该双目相机的基线与地面平行,其中,双目相机的基线为该双目相机中左相机和右相机的两镜头的光心的连线。
[0051] 将双目相机安装完毕后,双目相机就可以采集图像了,双目相机中的左、右相机采集多张图像,将左、右相机在同一时刻采集的包含人员的图像作为采集的第一图像,则采集了两张包含人员的第一图像。
[0052] 电子设备在采集了第一图像后,就可以根据采集的包含人员的第一图像,确定深度图像,具体的可以是:根据局部匹配(Boyer-Moore,BM)算法或半全局匹配(Semi-Global Block Matching,SGBM)算法等确定。
[0053] 当确定了深度图像后,就可以确定该深度图像中的每个像素点在实际场景中的位置相对地面的高度了,具体的可以是,先确定每个像素点在实际场景中的位置与左相机或右相机的高度差,然后根据左相机或右相机相对地面的高度,确定每个像素点在实际场景中的位置相对地面的高度。
[0054] S102:针对预设的至少两个子高度范围中的每个子高度范围,根据每个像素点对应的所述高度,确定位于该子高度范围中的每个第一像素点,其中,每个子高度范围的上限值相同,下限值不同。
[0055] 电子设备中预先保存有至少两个子高度范围,子高度范围中的上下限高度为相对地面的高度,子高度范围是针对待确定的人员的高度确定的。一般来说,人的高度位于1米-2米之间,通过识别人员的头部来确定人员的数量,则至少两个子高度范围均是位于1米-2米之间,每个子高度范围的上限值为200cm,下限值最小的子高度范围的下限值为100cm。至少两个子高度范围的上限值相同,下限值不同,下限值之间的间隔可以是相同的,也可以是不同的。较优的,为了准确地区分高低不同的人员,至少两个子高度范围的下限值之间的间隔相同,较优的,间隔可以为5cm,则在1米-2米之间,包含的子高度范围为:195cm-200cm,
190cm-200cm,……,100cm-200cm,子高度范围的个数为20个。
[0056] 当确定出深度图像中的每个像素点在实际场景中的位置相对地面的高度后,可以针对每个子高度范围,根据每个像素点在实际场景中的位置相对地面的高度,确定位于该子高度的范围中的每个第一像素点。
[0057] S103:针对每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域。
[0058] 针对每个子高度范围,电子设备确定了该子高度范围中的每个第一像素点,然后可以根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域。
[0059] 在确定连通域时,可以是8邻域相邻的第一像素点组成连通域,则连通域中的任一第一像素点均存在至少一个与其相邻的第一像素点。
[0060] 针对每个子高度范围,每确定出一个连通域,可以理解为确定了一个人员。
[0061] 每个子高度范围中的连通域的数量可能是相同的,有可能是不同的,甚至可能没有连通域,例如,深度图像中的人员的高度均是较矮的,例如160cm,但是子高度范围中下限值较大,例如,子高度范围为180cm-200cm,则180cm-200cm对应的子高度范围可能不会确定出连通域。
[0062] S104:根据每个子高度范围中的连通域的数量,确定人员的数量。
[0063] 当确定出每个子高度范围中的连通域的数量后,就可以根据每个子高度范围中的连通域的数量,确定人员的数量。
[0064] 因为在一个子高度范围中,每确定出一个连通域,可以认为确定出一个人员。人站立在地面上,在某一子高度范围中的确定出某一连通域,在其他包含该某一子高度范围的另一子高度范围中肯定也能确定出包含该某一连通域的另一连通域,则该某一连通域与另一连通域属于同一个人员的连通域。当某个子高度范围包含另一子高度范围,该某一子高度范围中确定出的连通域的数量,较该另一子高度范围确定出的连通域的数量增多时,可以认为又确定出一个新的人员,因此在确定人员的数量时,具体的可以是将每个子高度范围中的连通域的数量由大到小进行排序,将排序最靠前的最大的数量作为确定的人员的数量。
[0065] 由于在本发明实施例中,预设至少两个子高度范围,当确定了每个像素点在实际场景中的位置相对地面的高度后,可以确定每个子高度范围中的连通域,根据每个子高度范围中的连通域的数量,确定人员的数量。当出现至少两个一高一矮的人的距离很近的情况时,较高的人会在下限值较大和较小的子高度范围中均产生连通域,较矮的人只会在下限值较小的子高度范围中产生连通域,采用本方案进行人员数量的确定,减小了当至少两个一高一矮的人的距离很近时,被误检为同一个人的几率,从而提高了确定的人员的数量的准确性。
[0066] 实施例2:
[0067] 在应用场景中,墙壁等较高的物体会对人员数量的确定造成干扰,为了进一步提高确定的人员的数量的准确性,在上述实施例的基础上,在本发明实施中,在确定深度图像中的每个像素点在实际场景中的位置相对地面的高度之前,所述方法还包括:
[0068] 采用预先采集的针对每个第一图像的背景图像,确定所述深度图像的背景图像;根据所述深度图像的背景图像,提取所述深度图像的前景图像,将所述前景图像作为深度图像,进行后续步骤。
[0069] 在本发明实施例中,电子设备在确定深度图像中的每个像素点在实际场景中的位置相对地面的高度之前,预先采集每个第一图像的背景图像,背景图像对应的拍摄区域与第一图像对应的拍摄区域的完全相同,区别仅是背景图像中不包含人员。
[0070] 根据采用预先采集的每个第一图像的背景图像,确定所述深度图像的背景图像,具体过程与上述的根据每个第一图像确定深度图像过程类似,具体的可以是:
[0071] 确定两张背景图像中的任一背景图像中的每个像素点在实际场景中的位置,在所述两张背景图像中对应的像素点之间的水平视差;针对所述任一背景图像中的每个像素点,将确定的该像素点的水平视差作为所述深度图像的背景图像中,与该像素点在所述任一背景图像中的位置相同的像素点的灰度值,水平视差也可以称为深度数据;根据所述深度图像中的每个像素点的灰度值,也就是每个像素点对应的水平视差或深度数据,生成深度图像。
[0072] 在确定两张背景图像中的任一背景图像中的每个像素点在实际场景中的位置,在所述两张背景图像中对应的像素点之间的水平视差时,可以是根据局部匹配(Boyer-Moore,BM)算法或半全局匹配(Semi-Global Block Matching,SGBM)算法等确定。
[0073] 确定的深度图像的背景图像中的每个像素点的位置与所述任一背景图像中的像素点的位置一一对应。
[0074] 通过深度图像的前景图像,根据前景图像确定人员的数量,可以避免墙壁等较高的物体会对人员数量的确定造成的干扰,进一步提高了确定的人员的数量的准确性。
[0075] 为了避免墙壁等较高的物体会对人员数量的确定造成的干扰,提高确定的人员的数量,还可以是在确定深度图像之前,采用预先采集的针对每个第一图像的背景图像,提取每个第一图像的前景图像,根据提取的每个前景图像,确定深度图像。
[0076] 具体可以是,电子设备中预先保存有阈值,针对每个第一图像,在提取前景图像时,针对该第一图像中的每个像素点,根据预先采集的该第一图像的背景图像中的每个像素点,判断第一图像与背景图像对应位置上的像素点的像素值的差值是否小于预设的阈值;如果是,将该像素点在该第一图像中滤除,将第一图像中的剩余的像素点构成的图像作为该第一图像的前景图像。预设的阈值可以为10。为了更加准确,还可以是判断第一图像与背景图像对应位置上的像素点的像素值的差值是否相同,如果相同,则将该像素点在该第一图像中滤除。根据前景图像确定深度图像的过程,与上述根据第一图像确定深度图像的过程类似,在此不再进行赘述。
[0077] 为了消除环境光线和噪声带来的干扰,更加准确的确定前景图像,以使确定的人员的数量更加准确,可以将背景图像中的像素点的灰度值进行调整,即对背景图像进行更新,具体的可以是,针对背景图像中的每个像素点,判断该像素点的灰度值是否大于第一图像中与该像素点的位置相对应的像素点的灰度值,如果大于,则将该背景图像中的该像素点的灰度值加预设的第一值,例如1,如果小于,将该背景图像中的该像素点的灰度值减预设的第二值,例如2,第一值与第二值可以相同,也可以不同。
[0078] 实施例3:
[0079] 在上述各实施例的基础上,在本发明实施例中,所述确定深度图像中的每个像素点在实际场景中的位置相对地面的高度包括:
[0080] 针对每个像素点,根据双目相机的基线的长度,该像素点的灰度值,和确定该深度图像中的深度数据的第一相机的焦距,确定该像素点在实际场景中的位置与所述第一相机的高度差;根据所述高度差以及所述第一相机相对地面的高度,确定该像素点在实际场景中的位置相对地面的高度。
[0081] 深度图像中的每个像素点的位置与确定像素点的灰度值时的,所述任一第一图像中的像素点的位置一一对应,所述任一第一图像即为第一相机拍摄的图像。或深度图像中的每个像素点的位置与确定像素点的灰度值时的,所述任一背景图像中的像素点的位置一一对应,所述任一背景图像即为第一相机拍摄的第一图像对应的背景图像。
[0082] 在确定像素点在实际场景中的位置与第一相机的高度差时,可以将双目相机的基线长度与该第一相机的焦距的乘积,再除以该像素点的灰度值的商作为该像素点在实际场景中的位置与第一相机的高度差。
[0083] 在根据所述高度差以及所述第一相机相对地面的高度,确定该像素点在实际场景中的位置相对地面的高度时,可以是将第一相机相对地面的高度与所述高度差的差值作为该像素点在实际场景中的位置相对地面的高度。
[0084] 像素点在实际场景中的位置与第一相机的高度差,为该像素点在所述第一相机坐标系下的Z轴的坐标,其中Z轴为第一相机的光轴,第一相机的光心为原点,具体的,可以根据公式:pz=b*f/d,确定该像素点在所述第一相机坐标系下的Z轴的坐标,该坐标值也就是该像素点在实际场景中的位置与第一相机的高度差,其中,b为双目相机的基线的距离,f为第一相机的焦距,d为像素点的灰度值。
[0085] 实施例4:
[0086] 为了使确定的人员的数量更加准确,在上述各实施例的基础上,在本发明实施例中,在根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域之前,所述方法还包括:
[0087] 根据每个子高度范围中的每个第一像素点在所述深度图像中的位置分布,生成对应每个子高度范围的标记图,针对每个标记图,根据该标记图对应的子高度范围,将标记图中该子高度范围中的每个第一像素点对应的位置上的像素点的灰度值设置为第一灰度值,其余像素点的灰度值设置为第二灰度值;
[0088] 针对每个标记图,根据该标记图中的每个灰度值为第一灰度值的第二像素点,识别以该第二像素点为中心的预设范围内的灰度值为第二灰度值的每个第三像素点,将第二像素点和第三像素点作为第一像素点,进行后续步骤,其中,第一灰度值与第二灰度值不同。
[0089] 在本发明实施例,在针对深度图像中的每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域之前,还可以对该深度图像进行预处理生成标记图像,并对标记图像进行去噪处理。
[0090] 每个像素点在深度图中的有其对应的位置分布,电子设备根据深度图像中的每个第一像素点在该深度图像中的位置分布,生成对应每个子高度范围的标记图,为了区分标记图中的人员与人员所处的场景,可以根据将每个标记图中的不同位置上的像素点,根据该标记图所对应的子高度范围设置不同的灰度值,具体可以是,根据针对每个标记图,根据该标记图对应的子高度范围,将标记图中该子高度范围中的每个第一像素点对应的位置上的像素点的灰度值设置为第一灰度值,其余像素点的灰度值设置为第二灰度值。
[0091] 第二灰度值与第一灰度值差异较大,可以明显区分人员与人员所处的场景,也就是区分第二像素点和其他像素点,第一灰度值可以是白色或接近白色的灰度值,例如255,第二灰度值可以为黑色或接近黑色的灰度值,例如0。
[0092] 上述可以过程为生成深度图像对应的标记图的过程,以下为针对标记图进行去燥的具体过程:
[0093] 针对标记图中的每个灰度值为第一灰度值的第二像素点,以该第二像素点为中心,确定该第二像素点对应的范围区域,识别该第二像素点的范围区域中是否存在灰度值为第二灰度值的第三像素点,如果存在,则将该第三像素点的灰度值设置为第三灰度值,第三灰度值与第一灰度值差异较小,例如254。
[0094] 针对深度图像中的每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域,具体可以是:根据每个子高度范围对应的每个标记图,根据该标记图中的每个第二像素点和每个第三像素点,确定该子高度范围中的每个连通域。
[0095] 根据每个子高度范围中的连通域的数量,确定人员的数量,具体可以是:根据每个每个子高度范围对应的标记图中的连通域的数量,确定人员的数量。
[0096] 假设第一像素点的像素坐标为(m,n),则所述第二像素点的范围区域可以为m-2<=x<=m+2,且n-2<=y<=n+2,其中(x,y)表示该第二像素点的范围区域中的任意一个像素点的像素坐标。
[0097] 每个子高度范围对应的标记图中的每个第二像素点和每个第三像素点,也就是识别该子高度范围对应的标记图中的像素点的灰度值满足预设的灰度值条件的像素点,灰度值条件可以为设定的目标灰度值,目标灰度值为第一灰度值,例如255或第三灰度值,例如254。
[0098] 如图2所示的标记图,图3为对标记图进行去燥后的图像,从图3中可以看出,相比于图2,图3中的黑白相间的边缘部分的曲线更加平滑,并且可以去掉部分边缘像素点,如果将白色区域作为连通域,则去燥可以去掉部分较小的连通域,使确定的人员的数量更加准确。
[0099] 实施例5:
[0100] 为了提高确定的人员的数量的准确性,在上述各实施例的基础上,在本发明实施例中,所述根据每个子高度范围中的连通域的数量,确定人员的数量包括:
[0101] A、将每个子高度范围中的下限值由大至小进行排序,依次确定每个子高度范围对应的编号,其中,子高度范围的下限值越大,对应的编号越小;
[0102] B、识别存在至少一个第一连通域的目标子高度范围,其中,该目标子高度范围对应的目标编号,为存在连通域的子高度范围对应的编号中的最小编号;
[0103] C、识别该目标子高度范围的关联子高度范围中包含每个第一连通域的每个关联连通域,将每个关联连通域中的像素点滤除,并识别该关联子高度范围中剩余的第二连通域的第一数量,并根据所述第一数量及记录的第二连通域的第二数量,对记录的第二连通域的第二数量进行更新,其中,该关联子高度范围对应的关联编号与该目标编号相邻,且大于该目标编号;并判断该关联子高度范围对应的关联编号是否为最大的编号,如果是,则进入D,如果否,则进入E;
[0104] D、根据第一连通域的第三数量和更新后的第二连通域的第二数量,确定人员的数量;
[0105] E、将该关联子高度范围作为目标子高度范围,返回C。
[0106] 在本发明实施例中,在根据每个子高度范围中的连通域的数量,确定人员的数量时,可以是先对每个子高度范围进行标识,每个子高度范围的标识与该子高度范围的范围区间有关,具体的可以是,将每个子高度范围中的下限值由大至小进行排序,依次确定每个子高度范围对应的编号,其中,每个子高度范围对应的编号不同,子高度范围的下限值越大,对应的编号越小。
[0107] 例如,子高度范围有三个,为100cm-190cm,130cm-190cm,160cm-190cm,因为160大于130大于100,则160cm-190cm对应的编号最小,为1,130cm-190cm对应的编号为2,100cm-190cm对应的编号最大,为3。
[0108] 人站立在地面上,即使身体部分挨着很近,但是头部一般不会挨在一起,因此确定出了人员的头部的数量,就可以确定出人员的数量,人员在自身的身高范围中一定存在连通域,在未位于身高高度范围中不存在连通域(不包含人员举手情况),因为人员都是站在地上,也就是在高于身高高度上不存在连通域,因此,可以从下限值较大的子高度范围开始,依次确定人员的数量。
[0109] 在确定了每个子高度范围对应的编号后,可以识别存在至少一个第一连通域的目标子高度范围,存在连通域的其它子高度范围包含该目标子高度范围,目标子高度范围的下限值比其它子高度范围的下限值都大,因此,该目标子高度范围对应的目标编号,为存在连通域的子高度范围对应的编号中的最小的编号。当识别出该目标子高度范围后,可识别出该目标子高度范围中的第一连通域的第三数量。
[0110] 将与该目标子高度范围对应的目标编号相邻的,且大于该目标编号的编号对应的子高度范围作为该目标子高度范围的关联子高度范围,该关联子高度范围对应的编号称为关联编号,该关联子高度范围中的连通域包含确定的第一连通域,并且关联子高度范围中还可能存在新的连通域,即可能存在高度位于该关联子高度范围中的人员。
[0111] 因此在确定出第一连通域后,可以识别该关联子高度范围中包含每个第一连通域的每个关联连通域,因为每个关联连通域与每个第一连通域属于同一人员的连通域,因此可以将每个关联连通域中的像素点滤除,滤除关联连通域中的像素点只是在本次操作中不识别被滤除的像素点,并未在图像中删除关联连通域中的像素点。
[0112] 然后,识别该关联子高度范围中剩余的第二连通域的第一数量,也就是识别高度位于该关联子高度范围中的人员的数量。
[0113] 电子设备中预先记录有第二连通域的第二数量,该第二数量为统计的每个关联子高度范围中的剩余的第二连通域的第一数量的和,在每次确定出某一关联子高度范围中剩余的第二连通域的第一数量后,都会对记录的第二数量进行更新。因此当识别出当前的关联子高度范围中的第二连通域的第一数量后,可以根据所述第一数量及记录的第二连通域的第二数量,对记录的第二连通域第二数量进行更新,也就是将第一数量与第二数量的和作为更新后的第二连通域的第二数量,进行保存记录。
[0114] 接着,判断该关联子高度范围对应的关联编号是否为所有编号中的最大的编号,如果是,则说明该关联子高度范围为下限值最小的子高度范围,也就是最后一个子高度范围,则可以确定人员的数量了。此时,可以根据第一连通域的第三数量和更新后的,也就是当前记录的第二连通域的第二数量,确定人员的数量,具体的可以是,将第一连通域的第三数量与记录的第二连通域的第二数量之和,确定为确定的人员的数量。
[0115] 如果该关联子高度范围对应的关联编号不是最大的编号,则说明还存在下限值比该关联子高度范围的下限值小的子高度范围,则将该关联子高度范围作为目标子高度范围,重复上述:识别该目标子高度范围的关联子高度范围中包含每个第一连通域的每个关联连通域,将每个关联连通域中的像素点滤除,等过程,直至关联子高度范围对应的关联编号为最大的编号,才可以根据第一连通域的第三数量和记录的第二连通域的第二数量,确定人员的数量。
[0116] 其中,所述第一连通域和/或第二连通域,为包含的像素点的数量大于预设的数量阈值的连通域。如果包含的像素点的数量不大于预设的数量阈值,可以认为是干扰连通域,则将其滤除,不作为确定人员的数量的依据。
[0117] 如图4所示,为最终确定的人员的示意图,如4中的确定的人员的数量为两个。
[0118] 在本发明实施例中,在确定了人员的数量之后,还可以确定人员所在的位置,可以是确定每个第一连通域和每个第二连通域的中心点坐标,将其作为人员在该深度图像中的位置,中心点的坐标为与高度垂直方向上的坐标,以第一连通域为例,具体的可以是根据公式: 确定,其中第一连通域标记为A,A的中心点为(cx,cy),n为A中有效像素点的数量,也就是深度图像中的第一像素点的数量,或标记图中的第二像素点和第三像素点的总数量,p(i,j)为第一连通域A中的任一像素点的像素点坐标。
[0119] 实施例6:
[0120] 图5为本发明实施6提供的一种人员数量的确定装置结构图,所述装置包括:
[0121] 第一确定模块51,用于根据双目相机针对目标场景采集的包含人员的每个第一图像,确定深度图像;
[0122] 第二确定模块52,用于确定深度图像中的每个像素点在实际场景中的位置相对地面的高度;
[0123] 第三确定模块53,用于针对预设的至少两个子高度范围中的每个子高度范围,根据每个像素点对应的所述高度,确定位于该子高度范围中的每个第一像素点,其中,每个子高度范围的上限值相同,下限值不同;
[0124] 第四确定模块54,用于针对每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域;
[0125] 第五确定模块55,用于根据每个子高度范围中的连通域的数量,确定人员的数量。
[0126] 所述装置还包括:
[0127] 提取模块56,用于采用预先采集的针对每个第一图像的背景图像,确定所述深度图像的背景图像;根据所述深度图像的背景图像,提取所述深度图像的前景图像,将所述前景图像作为深度图像,触发所述第二确定模块52。
[0128] 所述第一确定模块51,具体用于针对每个像素点,根据双目相机的基线的长度,该像素点的灰度值,和确定该深度图像中的深度数据的第一相机的焦距,确定该像素点在实际场景中的位置与所述第一相机的高度差;根据所述高度差以及所述第一相机相对地面的高度,确定该像素点在实际场景中的位置相对地面的高度。
[0129] 所述装置还包括:
[0130] 标记模块57,用于根据深度图像中的每个第一像素点在所述深度图像中的位置分布,生成对应每个子高度范围的标记图,针对每个标记图,根据针对每个标记图,根据该标记图对应的子高度范围,将标记图中该子高度范围中的每个第一像素点对应的位置上的像素点的灰度值设置为第一灰度值,其余像素点的灰度值设置为第二灰度值;针对每个标记图,根据该标记图中的每个灰度值为第一灰度值的第二像素点,识别以该第二像素点为中心的预设范围内的灰度值为第二灰度值的每个第三像素点,针对标记图中的每个子高度范围,将第二像素点和第三像素点作为第一像素点,触发所述第四确定模块54,其中,第一灰度值与第二灰度值不同。
[0131] 所述第五确定模块55,具体用于A、将每个子高度范围中的下限值由大至小进行排序,依次确定每个子高度范围对应的编号,其中,子高度范围的下限值越大,对应的编号越小;B、识别存在至少一个第一连通域的目标子高度范围,其中,该目标子高度范围对应的目标编号,为存在连通域的子高度范围对应的编号中的最小编号;C、识别该目标子高度范围的关联子高度范围中包含每个第一连通域的每个关联连通域,将每个关联连通域中的像素点滤除,并识别该关联子高度范围中剩余的第二连通域的第一数量,并根据所述第一数量及记录的第二连通域的第二数量,对记录的第二连通域的第二数量进行更新,其中,该关联子高度范围对应的关联编号与该目标编号相邻,且大于该目标编号;并判断该关联子高度范围对应的关联编号是否为最大的编号,如果是,则进入D,如果否,则进入E;D、根据第一连通域的第三数量和更新后的第二连通域的第二数量,确定人员的数量;E、将该关联子高度范围作为目标子高度范围,返回C。
[0132] 本发明实施例公开了一种人员数量的确定方法及装置,所述方法包括:根据双目相机针对目标场景采集的包含人员的每个第一图像,确定深度图像,并确定深度图像中的每个像素点在实际场景中的位置相对地面的高度;针对预设的至少两个子高度范围中的每个子高度范围,根据每个像素点对应的所述高度,确定位于该子高度范围中的每个第一像素点,其中,每个子高度范围的上限值相同,下限值不同;针对每个子高度范围,根据该子高度范围中的每个第一像素点,确定该子高度范围中的每个连通域;根据每个子高度范围中的连通域的数量,确定人员的数量。由于在本发明实施例中,预设至少两个子高度范围,当确定了每个像素点在实际场景中的位置相对地面的高度后,可以确定每个子高度范围中的连通域,根据每个子高度范围中的连通域的数量,确定人员的数量。当出现至少两个一高一矮的人的距离很近的情况时,较高的人会在下限值较大和较小的子高度范围中均产生连通域,较矮的人只会在下限值较小的子高度范围中产生连通域,采用本方案进行人员数量的确定,减小了当至少两个一高一矮的人的距离很近时,被误检为同一个人的几率,从而提高了确定的人员的数量的准确性。
[0133] 对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0134] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
[0135] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全应用实施例、或结合应用和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0136] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0137] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0138] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0139] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0140] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。