掌桥专利:专业的专利平台
掌桥专利
首页

一种行人计数方法、装置、系统及计算机可读存储介质

文献发布时间:2023-06-19 10:58:46


一种行人计数方法、装置、系统及计算机可读存储介质

技术领域

本发明实施例涉及视频监控技术领域,特别是涉及一种行人计数方法、装置、系统及计算机可读存储介质。

背景技术

随着社会经济的发展,在火车站、机场、小区等密集的公共场所为了保障通行安全,需要对这些场所的行人进行计数。目前,这些公共场所有多数应用接触式闸机进行行人计数,或采用非接触式红外二值激光进行行人计数,但这些方式仍难以准确计数,并且无法准确识别行人进出方向。

鉴于此,如何提供一种解决上述技术问题的行人计数方法、装置、系统及计算机可读存储介质成为本领域技术人员需要解决的问题。

发明内容

本发明实施例的目的是提供一种行人计数方法、装置、系统及计算机可读存储介质,在使用过程中能够准确识别行人的通行方向,并进行准确计数,相比于现有技术能够提高计数准确性。

为解决上述技术问题,本发明实施例提供了一种行人计数方法,包括:

对预设监控范围内采集的图像进行行人下半身检测;

识别出满足预设要求的图像作为目标图像,并判断是否存在连续预设数量的目标图像对应同一个行人,若是,则确定所述行人的标识码,并对所述行人进行跟踪检测;若否,则返回所述对预设监控范围内采集的图像进行行人下半身检测的步骤;

在完成跟踪后,依据与所述行人对应的第一张行人下半身图像及最后一张行人下半身图像,确定所述行人的通行方向,并对所述通行方向上的计数加一。

可选的,所述预设要求为行人下半身检测框与预设区域框的重叠面积大于预设面积。

可选的,所述对所述行人进行跟踪检测的过程为:

S210:获取当前更新框,并对所述当前更新框采用卡尔曼预测,得到当前预测框;所述当前更新框为依据上一个预测框及上一个待跟踪检测框得到的;

S220:依据当前目标图像获取当前的待跟踪检测框,并将所述当前的待跟踪检测框与所述当前更新框进行级联匹配,若级联匹配成功,则进入S230;若级联匹配失败,则进入S240;

S230:为所述当前目标图像添加所述行人的标识码,并采用所述当前预测框及所述当前的待跟踪检测框对所述当前更新框进行更新,得到下一个更新框,将所述下一个更新框作为当前更新框,将下一个待跟踪检测框作为当前的待跟踪检测框,并返回S210,直至检测不到所述行人后完成跟踪;

S240:将所述当前的待跟踪检测框与所述当前更新框进行IOU匹配,得到当前IOU值,并判断所述当前IOU值是否大于预设IOU值,若是,则进入 S230;否则,返回所述对预设监控范围内采集的图像进行行人下半身检测的步骤。

可选的,在所述级联匹配成功后,还包括:

记录所述当前图像中行人下半身坐标;

则,所述依据与所述行人对应的第一张行人下半身图像及最后一张行人下半身图像,确定所述行人的通行方向的过程为:

依据与所述行人对应的第一张行人下半身图像中的行人下半身坐标及最后一张行人下半身图像中行人下半身坐标,确定所述行人的通行方向。

可选的,所述将所述当前的待跟踪检测框与所述当前更新框进行级联匹配的过程为:

计算所述当前的待跟踪检测框与所述当前预测框的马氏距离;

采用预先建立的行人下半身模型对所述当前的待跟踪检测框和所述当前预测框分别进行特征提取,得到第一特征和第二特征;

依据所述第一特征和所述第二特征值计算所述当前的待跟踪检测框与所述当前预测框的相似度值;

对所述相似度值及所述马氏距离进行加权求和,得到加权和值;

判断所述加权和值是否大于预设值,若是,则联匹配成功,若否,在级联匹配失败。

本发明实施例还提供了一种行人计数装置,包括:

检测模块,用于对预设监控范围内采集的图像进行行人下半身检测;

识别模块,用于识别出满足预设要求的图像作为目标图像,并判断是否存在连续预设数量的目标图像对应同一个行人,若是,则触发跟踪模块;若否,则触发所述检测模块,

所述跟踪模块,用于确定所述行人的标识码,并对所述行人进行跟踪检测;

计数模块,用于在完成跟踪后,依据与所述行人对应的第一张行人下半身图像及最后一张行人下半身图像,确定所述行人的通行方向,并对所述通行方向上的计数加一。

可选的,所述跟踪模块包括:

预测单元,用于获取当前更新框,并对所述当前更新框采用卡尔曼预测,得到当前预测框;所述当前更新框为依据上一个预测框及上一个待跟踪检测框得到的;

级联匹配单元,用于依据当前目标图像获取当前的待跟踪检测框,并将所述当前的待跟踪检测框与所述当前更新框进行级联匹配,若级联匹配成功,则触发更新单元;若级联匹配失败,则IOU匹配单元;

所述更新单元,用于为所述当前图像添加所述行人的标识码,并采用所述当前预测框及所述当前的待跟踪检测框对所述更新框进行更新,得到下一个更新框,将所述下一个更新框作为当前更新框,将下一个待跟踪检测框作为当前的待跟踪检测框,并触发所述预测单元,直至检测不到所述行人后完成跟踪;

所述IOU匹配单元,用于将所述当前的待跟踪检测框与所述当前更新框进行IOU匹配,得到当前IOU值,并判断所述当前IOU值是否大于预设IOU 值,若是,则触发所述更新单元;否则,触发所述检测模块。

本发明实施例还提供了一种行人计数系统,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述所述行人计数方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述行人计数方法的步骤。

本发明实施例提供了一种行人计数方法、装置、系统及计算机可读存储介质,该方法通过对预设监控范围内采集的图像进行行人下半身检测,识别出满足预设要求的目标图像,并且当存在连续预设数量的目标图像对应同一个行人时,确定该行人的标识码并对其进行跟踪检测,并且在跟踪完成后依据与行人对应的第一张行人下半身图像及最后一张行人下半身图像,确定行人的通行方向,并对通行方向上的计数加一;当不存在连续预设数量的目标图像对应同一个行人时,则继续对预设监控范围内采集的图像进行行人下半身检测,本发明能够准确识别行人的通行方向,并进行准确计数,相比于现有技术能够提高计数准确性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种行人计数方法的流程示意图;

图2为本发明实施例提供的一种预设区域框示意图;

图3为本发明实施例提供的一种人体下半身检测框与预设区域框位置关系示意图;

图4为本发明实施例提供的一种行人计数装置的结构示意图。

具体实施方式

本发明实施例提供了一种行人计数方法、装置、系统及计算机可读存储介质,在使用过程中能够准确识别行人的通行方向,并进行准确计数,相比于现有技术能够提高计数准确性。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明实施例提供的一种行人计数方法的流程示意图。该方法包括:

S110:对预设监控范围内采集的图像进行行人下半身检测;

需要说明的是,具体可以将摄像头安装在行人通道闸的中间位置处,并且可以预先设置监控范围,使摄像头拍摄画面能够拍摄到整个预设监控范围内的区域,并且预先确定预设监控范围的预设区域框的位置(如图2中的矩形边框 11即为预设区域框),然后在获取监控图像的过程中对各个图像进行行人下半身检测,并且针对一张图像在检测出该图像中有行人下半身时,会出现行人下半身检测框。

S120:识别出满足预设要求的图像作为目标图像,并判断是否存在连续预设数量的目标图像对应同一个行人,若是,则进入S130;若否,则返回执行 S110;

具体的,对于摄像头采集的每张图像,可以每采集一张图像对该图像进行行人下半身检测,并且在检测出行人下半身后,对该图像进行识别,以识别该图像是否满足预设要求,如果该图像满足预设要求,则将该图像作为目标图像,并且判断当前连续确定为目标图像的图像数量是否达到预设数量,并且这些预设数量的目标图像是否针对同一个行人,也即这些目标图像中的人体下半身是否为同一个行人的人体下半身,如果是针对同一个人,则进入S130确定该行人的标识码,对根据后续采集的图像对该行人进行跟踪检测;若在检测出行人下半身后,识别出该图像不满足预设要求,则继续对下一张检测出行人下半身的图像进行识别。

其中,本发明实施例中的预设要求为行人下半身检测框与预设区域框的重叠面积大于预设面积。也即,在对一个图像进行行人下半身检测并且检测出行人下半身后,识别出对应的行人下半身检测框与预设区域框的重叠面积,当该重叠面积大于预设面积时,该图像即为目标图像,其中,预设面积可以为0.2 平方米,当然,预设面积的具体取值可以根据实际需要进行确定,本实施例不做特殊限定。例如图3中所示的12为人体下半身检测框,具体可以判断12 与11的重叠面积是否大于预设面积。

还需要说明的是,本实施例中判断是否存在连续预设数量的目标图像对应同一个行人,具体可以为判断是否存在连续3张目标图像对应同一个行人,其过程具体可以为:

对第一张满足预设要求的目标图像,将其对应的人体下半身检测框作为第一个人体下半身检测框,并为其分配一个标识码,将第一个人体下半身检测框作为当前更新框,由于此时只有一张预设要求的目标图像,因此继续获取下一张满足预设要求的目标图像,并且获取第二张目标图像对应的第二个人体下半身检测框,并采用卡尔曼预测对当前更新框(也即第一个人体下半身检测框) 进行预测,得到第一个预测框,将第二个人体下半身检测框与当前更新框进行 IOU匹配,得到对应的IOU值,并且若IOU值大于预设IOU值(如0.7,其具体数值可以根据实际情况进行确定),则说明IOU匹配成功,此时证明第一张目标图像和第二张目标图像中的行人为同一个行人,可以复制标识码给第二个人体下半身检测框,也即使第二个人体下半身检测框具有与第一个人体下半身检测框相同的标识码,并且采用第一个预测框和第二个人体下半身检测框对当前更新框进行更新,得到新的更新框,由于此时连续为同一个人的目标图像为两张,没有达到预设数量,因此可以继续获取下一张满足预设要求的目标图像,也即获取第三张目标图像,并获取第三张目标图像对应的第三个人体下半身检测框,然后采用卡尔曼预测对当前更新框(也即上面更新后的新的更新框) 进行预测,得到第二个预测框,将第三个人体下半身检测框与当前更新框进行 IOU匹配,得到对应的IOU值,并进一步判断该IOU值是否大于预设IOU值,若该IOU值大于预设IOU值,则说明IOU匹配成功,此时证明第三张目标图像与第一张目标图像、第二张目标图像中的行人为同一个行人,可以复制第一张目标图像和第二张目标图像对应的标识码给第三张目标图像中的人体下半身检测框,此时检测出连续3张目标图像对应同一个行人,然后将第一张目标图像的标识码确定为该行人的标识码,并采用第二个预测框和第三个人体下半身检测框对当前更新框进行更新,得到更新后的新的更新框,然后对行人进行跟踪检测,在跟踪检测过程中对于跟踪上的目标图像也复制该标识码;

若第二个人体下半身检测框与当前更新框进行IOU匹配后,IOU值小于等于预设IOU值,则说明第二张目标图像和第一张目标图像中的行人不是同一个行人,此时可以将第一张目标图像及对应的标识码删除,并将本次获取的第二张目标图像作为新的第一张目标图像,并为其人体下半身检测框分配新的标识码,然后继续将获取到的目标图像作为第二张目标图像,然后重复后续检测过程。若在第三个人体下半身检测框与当前更新框进行IOU匹配后,对应的IOU值小于等预设IOU值,则说明第三张目标图像前面两张目标图像中的行人不是同一个行人,此时可以将第一张目标图像和第二张目标图像以及对应的标识码删除,并将本次获取的第三张目标图像作为新的第一张目标图像,并为其人体下半身检测框分配新的标识码,然后继续将获取到的目标图像作为第二张目标图像,然后重复后续检测过程,直至检测出连续3张目标图像对应同一个行人后,将第一张目标图像的标识码确定为该行人的标识码,并对行人进行跟踪检测。

另外,还需要说明的是,还可以从第一张目标图像开始对每张目标图像中的人体下半身还可以记录其坐标,以便后续根据该坐标确定行人的通行方向。

S130:确定行人的标识码,并对行人进行跟踪检测;

需要说明的是,在检测出连续预设数量的目标图像对应同一个行人后,将第一张目标图像的标识码确定为该行人的标识码,并对行人进行跟踪检测。

进一步的,上述S130中对行人进行跟踪检测的过程,具体可以为:

S210:获取当前更新框,并对当前更新框采用卡尔曼预测,得到当前预测框;当前更新框为依据上一个预测框及上一个待跟踪检测框得到的;

具体的,若上述预设数量为3,则在获取的第四张目标图像后,可以将第四张目标图像中的人体下半身检测框作为待跟踪检测框,此时的当前更新框即为上述采用第二个预测框(上一个预测框)和第三个人体下半身检测框(也即上一个待跟踪检测框)对上一个当前更新框进行更新后的新的更新框。

在获取当前更新框后,采用卡尔曼预测对当前更新框进行预测,得到当前预测框,针对第四张目标图像,该当前预测框为第三个预测框;当然,针对不同的目标图像,得到的当前预测框不同。

S220:依据当前目标图像获取当前的待跟踪检测框,并将当前的待跟踪检测框与当前更新框进行级联匹配,若级联匹配成功,则进入S230;若级联匹配失败,则进入S240;

需要说明的是,在当前的待跟踪检测框与当前更新框级联匹配成功后,说明当前的目标图像(如第四张目标图像)对应的行人与上一张目标图像对的行人是同一个行人,也即跟踪上了,此时可以进入S230;若级联匹配失败,则进入S240中的IOU匹配,以进一步检测当前目标图像与上一张目标图像是否对应同一个行人。另外,在级联匹配成功后,还可以记录当前图像中行人下半身坐标,以便后续根据该坐标确定行人的通行方向。

具体的,上述将当前的待跟踪检测框与当前更新框进行级联匹配的过程,具体可以为:

计算当前的待跟踪检测框与当前预测框的马氏距离a1;

采用预先建立的行人下半身模型对当前的待跟踪检测框和当前预测框分别进行特征提取,得到第一特征和第二特征;

依据第一特征和第二特征值计算当前的待跟踪检测框与当前预测框的相似度值a2;

对相似度值a2及马氏距离a1进行加权求和,得到加权和值a3;其中,可以按照a3=a1*k1+a2*k2进行加权求和,k1和k2分别为马氏距离和相似度值的权重系数;

判断加权和值a3是否大于预设值,若是,则联匹配成功,若否,在级联匹配失败。

另外,本实施例中的行人下半身模型的预先建立过程为:

具体可以采用caffe框架进行模型训练,其中,训练数据为多种摄像机采集的包括人体下半身的历史样本图像集,该历史样本图像集包括多种类别的样本图像数据,并且每个类别的样本图像数据具有不同的场景图像;可以预设设置训练次数(例如320次),然后将上述历史样本图像集放入至网络中进行训练,经过网络进行前向及反向计算更新网络参数,将训练结果与训练集的标签进行比较,其中,所采用的损失函数为softmax,该损失函数具体表达式为:

可以设置动量因子为0.9、初始学习率为0.1,采用随机梯度下降法对模型的网络参数进行迭代更新,直到模型收敛为止,从而得到行人下半身模型。

S230:为当前目标图像添加行人的标识码,并采用当前预测框及当前的待跟踪检测框对当前更新框进行更新,得到下一个更新框,将下一个更新框作为当前更新框,将下一个待跟踪检测框作为当前的待跟踪检测框,并返回S210,直至检测不到行人后完成跟踪;

具体的,在级联匹配成功后,表示当前的目标图像(如第四张目标图像) 对应的行人与上一张目标图像对的行人是同一个行人,此时可以为当前目标图像添加行人的标识码,也即复制前一张目标图像的标识码给当前目标图像,以便通过同一个标识码表示同一个行人,然后再采用当前预测框及当前的待跟踪检测框对当前更新框进行更新,以得到新的更新框,并将新的更新框作为下一个当前更新框,然后获取下一张目标图像,并将下一张目标图像中的人体下半身检测框作为当前的待跟踪检测框并重复上述跟踪检测,直至该行人经过预设区域框中的预设位置后即完成对该行人的跟踪,具体可以在预设区域框中预先设定两个参考位置,如图3中的直线13和直线14分别为预设区域框中左右分布的两条直线,并且两条直线距离中间位置的距离为预设距离,通过当行人开始出现在左侧直线13附近,并且最后行人位置超过右侧直线14,则说明该行人已经通行完成,反之当行人开始出现在右侧直线14附近,并且在最后行人位置超过左侧直线13,说明该行人已经通行完成。

S240:将当前的待跟踪检测框与当前更新框进行IOU匹配,得到当前IOU 值,并判断当前IOU值是否大于预设IOU值,若是,则进入S230;否则,返回进入S110。

需要说明的是,在级联匹配失败后,进一步将当前的待跟踪检测框与当前更新框进行IOU匹配,并且在当前IOU值大于预设IOU值(如0.7)时,表示跟踪上了,此时进入执行步骤S230;若当前IOU值小于等于预设IOU值,则表示没有跟踪上,此时进入S140返回执行对预设监控范围内采集的图像进行行人下半身检测的步骤,继续对下一个图像进行行人下半身检测。

S140:在完成跟踪后,依据与行人对应的第一张行人下半身图像及最后一张行人下半身图像,确定行人的通行方向,并对通行方向上的计数加一。

需要说明的是,在对一个行人完成上述跟踪后,可以根据与该行人对应的标识码获取与该行人对应的第一张行人下半身图像和最后一张行人下半身图像,根据第一张行人下半身图像中行人下半身在预设监控范围内的位置以及最后一张行人下半身图像中行人下半身在预设监控范围内的位置可以确定出行人的通行方向,并且在确定出行人通行方向后对该方向上的计数进行加一,从而实现对行人的计数。

进一步的,上述依据与行人对应的第一张行人下半身图像及最后一张行人下半身图像,确定行人的通行方向的过程,具体可以为:

依据与行人对应的第一张行人下半身图像中的行人下半身坐标及最后一张行人下半身图像中行人下半身坐标,确定行人的通行方向。

具体的,可以预先建立沿右侧为正向的坐标系,根据第一张行人下半身图像中的行人下半身坐标及最后一张行人下半身图像中行人下半身坐标即可确定出行人的通行方向,其中,最后一张行人下半身图像具体可以为行人下半身图像超出预设区域框中对应的一条参照线(如图3中的直线13或直线14)的图像,若第一张行人下半身图像中的行人下半身位于左侧直线13的附近,则与其对应的最后一张行人下半身图像即为行人下半身位于右侧直线14右侧的图像;若第一张行人下半身图像中的行人下半身位于右侧直线14附近,则与其对应的最后一张行人下半身图像即为行人下半身位于左侧直线13的左侧的图像。

可见,该方法通过对预设监控范围内采集的图像进行行人下半身检测,识别出满足预设要求的目标图像,并且当存在连续预设数量的目标图像对应同一个行人时,确定该行人的标识码并对其进行跟踪检测,并且在跟踪完成后依据与行人对应的第一张行人下半身图像及最后一张行人下半身图像,确定行人的通行方向,并对通行方向上的计数加一;当不存在连续预设数量的目标图像对应同一个行人时,则继续对预设监控范围内采集的图像进行行人下半身检测,本发明能够准确识别行人的通行方向,并进行准确计数,相比于现有技术能够提高计数准确性。

在上述实施例的基础上,本发明实施例还提供了一种行人计数装置,具体请参照图4,该装置包括:

检测模块21,用于对预设监控范围内采集的图像进行行人下半身检测;

识别模块22,用于识别出满足预设要求的图像作为目标图像,并判断是否存在连续预设数量的目标图像对应同一个行人,若是,则触发跟踪模块23;若否,则触发检测模块21,

跟踪模块23,用于确定行人的标识码,并对行人进行跟踪检测;

计数模块24,用于在完成跟踪后,依据与行人对应的第一张行人下半身图像及最后一张行人下半身图像,确定行人的通行方向,并对通行方向上的计数加一。

可选的,跟踪模块包括:

预测单元,用于获取当前更新框,并对当前更新框采用卡尔曼预测,得到当前预测框;当前更新框为依据上一个预测框及上一个待跟踪检测框得到的;

级联匹配单元,用于依据当前目标图像获取当前的待跟踪检测框,并将当前的待跟踪检测框与当前更新框进行级联匹配,若级联匹配成功,则触发更新单元;若级联匹配失败,则IOU匹配单元;

更新单元,用于为当前图像添加行人的标识码,并采用当前预测框及当前的待跟踪检测框对更新框进行更新,得到下一个更新框,将下一个更新框作为当前更新框,将下一个待跟踪检测框作为当前的待跟踪检测框,并触发预测单元,直至检测不到行人后完成跟踪;

IOU匹配单元,用于将当前的待跟踪检测框与当前更新框进行IOU匹配,得到当前IOU值,并判断当前IOU值是否大于预设IOU值,若是,则触发更新单元;否则,触发检测模块。

在上述实施例的基础上,本发明实施例还提供了一种行人计数系统,该系统包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述行人计数方法的步骤。

需要说明的是,本发明实施例中的处理器具体用于实现对预设监控范围内采集的图像进行行人下半身检测;识别出满足预设要求的图像作为目标图像,并判断是否存在连续预设数量的目标图像对应同一个行人,若是,则确定行人的标识码,并对行人进行跟踪检测;若否,则返回对预设监控范围内采集的图像进行行人下半身检测的步骤;在完成跟踪后,依据与行人对应的第一张行人下半身图像及最后一张行人下半身图像,确定行人的通行方向,并对通行方向上的计数加一。

在上述实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述行人计数方法的步骤。

该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种行人计数方法、装置、系统及计算机可读存储介质
  • 一种细胞计数方法、装置、计算机设备及可读存储介质
技术分类

06120112757838