一种行人速度测量方法、系统、介质及计算设备
文献发布时间:2023-06-19 10:21:15
技术领域
本发明涉及一种速度测量技术领域,特别是关于一种基于单目摄像头的行人速度测量方法、系统、介质及计算设备。
背景技术
行人测速是各种场景下,行人智能化安全警示、防护、监控等功能实现的重要支撑技术。例如行人的跑步、散步等状态识别,人群中出现异常导致的大面积迅速移动等。传统的方式通过安保人员在现场巡视或者观察监控画面来实现。或者使用测速雷达实现。但是由于现有的地铁站安装有大量的监控设备,因此使用监控设备可以很大程度上节约成本。今年来随着人工智能技术的发展,部分厂商也已经尝试使用监控画面实现测速。但是由于技术原因导致测速的效果不理想。
现有测速雷达主要是雷达设备的发射机通过天线把电磁波能量射向空间某一方向,位于此方向上的物体反射碰到的电磁波;雷达天线接收此反射波,送至接收设备进行处理,提取有关该物体的某些信息(目标物体至雷达的距离,距离变化率或径向速度、方位、高度等)。其主要缺点是成本高,且难以对高复杂性场景下行人进行测速。
发明内容
针对上述问题,本发明的目的是提供一种基于单目摄像头的行人速度测量方法、系统、介质及计算设备,其能实现精确的行人实时速度检测。
为实现上述目的,本发明采取以下技术方案:一种行人速度测量方法,其包括:步骤S1:加载原始图像数据;步骤S2:对原始图像数据进行目标检测,输出检测结果;步骤S3:对目标检测结果进行不同帧目标的关联跟踪,输出符合跟踪约束条件的检测结果;步骤S4:计算检测框顶点的像素差和前后帧之间的时间差;步骤S5:将时间差和像素差进行累计时间判断,保证存储数据在预先设定的时间阈值内;步骤S6:将像素差进行映射,得到实际距离,再根据像素进行累加,得到时间阈值左右移动的X方向和Y方向移动距离;步骤S7:将得到的现实场景中X和Y方向的时间阈值左右移动的距离,根据勾股定理计算得到运动距离;步骤S8:根据运动距离及累计时间,采用速度计算公式得到目标运动速度。
进一步,所述步骤S1中,采用单目摄像头或视频文件的方式加载原始图像数据。
进一步,所述步骤S2中,采用YOLOv3深度神经网络模型,完成多目标检测,并输出检测框类别及坐标信息。
进一步,所述步骤S3中,采用DeepSORT算法实现不同帧目标的关联跟踪,将关联跟踪到的目标类别及坐标信息输出。
进一步,所述步骤S4中,具体计算包括:
步骤S41:初始化预先设置的时间存储器及检测框顶点的像素差存储器,并将检测框顶点的原始运动像素差分解为X方向和Y方向;
步骤S42:计算X方向上前后两帧检测框顶点的像素差并存储至像素差存储器;
步骤S43:计算前后两帧之间的时间差并将记录至时间存储器;
步骤S44:计算Y方向上前后两帧检测框顶点的像素差并存储至像素差存储器。
进一步,所述步骤S5中,累计时间判断方法为:存储像素差的同时记录当前帧的时间戳,然后判断时间存储器中最开始和最末尾的时间差是否大于设定的时间阈值,大于该时间阈值就对像素差存储器中的像素差进行累计求和,进入步骤S6进行像素与实际距离的映射计算,并删除时间存储器和像素差存储器中起始位置的数据;小于则返回至步骤S4重新计算,直至满足结果。
进一步,所述步骤S6中,像素差映射公式为:
式中:w
一种行人速度测量系统,其包括:加载模块、目标检测模块、跟踪模块、差值计算模块、判断模块、映射模块、运动距离获取模块和目标速度获取模块;所述加载模块用于加载原始图像数据;所述目标检测模块对原始图像数据进行目标检测,输出检测结果;所述跟踪模块对目标检测结果进行不同帧目标的关联跟踪,输出符合跟踪约束条件的检测结果;所述差值计算模块用于计算检测框顶点的像素差和前后帧之间的时间差;所述判断模块将时间差和像素差进行累计时间判断,保证存储数据在预先的时间阈值内;所述映射模块将像素差进行映射,得到实际距离,再根据像素进行累加,得到时间阈值左右移动的X方向和Y方向移动距离;所述运动距离获取模块将得到的现实场景中X和Y方向的时间阈值左右移动的距离,根据勾股定理计算得到运动距离;所述目标速度获取模块根据运动距离及累计时间,采用速度计算公式得到目标运动速度。
一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行上述方法中的任一方法。
一种计算设备,其包括:一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行上述方法中的任一方法的指令。
本发明由于采取以上技术方案,其具有以下优点:1、本发明基于单目摄像头,通过深度学习及空间映射方法,并根据多坐标信息进行优化,实现精确的行人实时速度检测。2、本发明通过空间映射对像素与其实际距离进行一一映射,并且使用多坐标综合阈值判断等方式,提升了单目摄像头场景下的行人速度检测的准确率,并且在遮挡严重情况下速度检测准确率不受影响,精确化了速度计算的过程,最终使得准确率达到了90%以上。
附图说明
图1是本发明实施例中的方法流程示意图。
图2是本发明实施例中摄像头成像垂直剖面视图。
图3是本发明实施例中摄像头成像水平剖面视图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,相应的缩略语和关键术语定义如下:
YOLOv3:一种在工业场景下应用的卷积神经网络框架,其特殊的卷积层组织方式,使得其对小目标,较其他卷积神经网络模型精度有显著提升。
DeepSORT:多目标跟踪算法,是利用运动模型和外观信息进行数据关联,在实时目标追踪过程中,提取目标的表观特征进行最近邻匹配,可以改善有遮挡情况下的目标追踪效果。同时,也减少了目标ID跳变的问题。并且使用更加可靠的度量来代替关联度量,使卷积神经网络在大规模行人数据集进行训练,并提取特征,已增加网络对遗失和障碍的鲁棒性。
本发明将现实水平面的距离按照设置的空间映射方法映射到单目摄像头成像平面上的像素点,由于映射方法按照像素进行一一映射,因此较传统网格法具有很高的精度。以行人检测框顶点作为行人定位点进行行人测速,可在行人身体大面积遮挡的情况下依然得到较高的测速准确率;并根据行人检测框四个顶点的坐标在单位时间内的移动距离进行综合阈值判断,实现了行人非走动状态过滤。实现了高速、高准确率的行人速度测算。下面结合实施例对本发明进行详细的介绍。
在本发明的第一实施方式中,如图1所示,提供一种基于单目摄像头的行人速度测量方法,其包括:
步骤S1:加载原始图像数据;
在本实施例中,采用单目摄像头或视频文件的方式加载原始图像数据。
步骤S2:对原始图像数据进行目标检测,输出检测结果;
在本实施例中,采用YOLOv3深度神经网络模型,完成多目标检测,并输出检测框类别及坐标信息。
步骤S3:对目标检测结果进行不同帧目标的关联跟踪,输出符合跟踪约束条件的检测结果;
在本实施例中,采用DeepSORT算法实现不同帧目标的关联跟踪,将关联跟踪到的目标类别及坐标信息输出;
步骤S4:计算检测框顶点的像素差和前后帧之间的时间差;
具体计算包括:
步骤S41:初始化预先设置的时间存储器及检测框顶点的像素差存储器,并将检测框顶点的原始运动像素差分解为X方向和Y方向,为迭代计算检测框顶点的像素差做准备。
步骤S42:计算X方向上前后两帧检测框顶点的像素差并存储至像素差存储器。
步骤S43:计算前后两帧之间的时间差并将记录至时间存储器。
步骤S44:计算Y方向上前后两帧检测框顶点的像素差并存储至像素差存储器。
步骤S5:将时间差和像素差进行累计时间判断,保证存储数据在预先设定的时间阈值内。
具体的,累计时间判断方法为:存储像素差的同时记录当前帧的时间戳,然后判断时间存储器中最开始和最末尾的时间差是否大于设定的时间阈值。大于该时间阈值就对像素差存储器中的像素差进行累计求和,进入步骤S6进行像素与实际距离的映射计算,并删除时间存储器和像素差存储器中起始位置的数据;小于则返回至步骤S4重新计算,直至满足结果;
在本实施例中,预先设定的时间阈值为1秒。
步骤S6:将像素差进行映射,得到实际距离,再根据像素进行累加,得到时间阈值左右移动(例如1秒左右移动)的X方向和Y方向移动距离。
在本实施例中,像素差映射公式为:
如图2和图3所示,上述公式中,w
步骤S7:将得到的现实场景中X和Y方向的时间阈值左右移动的距离,根据勾股定理计算得到运动距离。
步骤S8:根据步骤S7得到的运动距离,及步骤S5得到累计时间,采用速度计算公式(v=s/t)得到目标运动速度。
在本发明的第二实施方式中,提供一种行人速度测量系统,其包括:加载模块、目标检测模块、跟踪模块、差值计算模块、判断模块、映射模块、运动距离获取模块和目标速度获取模块;
加载模块用于加载原始图像数据;
目标检测模块对原始图像数据进行目标检测,输出检测结果;
跟踪模块对目标检测结果进行不同帧目标的关联跟踪,输出符合跟踪约束条件的检测结果;
差值计算模块用于计算检测框顶点的像素差和前后帧之间的时间差;
判断模块将时间差和像素差进行累计时间判断,保证存储数据在预先的时间阈值内;
映射模块将像素差进行映射,得到实际距离,再根据像素进行累加,得到时间阈值左右移动的X方向和Y方向移动距离;
运动距离获取模块将得到的现实场景中X和Y方向的时间阈值左右移动的距离,根据勾股定理计算得到运动距离;
目标速度获取模块根据运动距离及累计时间,采用速度计算公式得到目标运动速度。
在本发明的第三实施方式中,提供一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当由计算设备执行时,使得计算设备执行如上述第一实施方式中的任一方法。
在本发明的第四实施方式中,提供一种计算设备,其包括:一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为一个或多个处理器执行,一个或多个程序包括用于执行如上述第一实施方式中的任一方法的指令。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
- 一种行人速度测量方法、系统、介质及计算设备
- 一种运动目标速度测量方法、系统、装置及存储介质