一种行人避让系统和行人监测方法
文献发布时间:2023-06-19 11:19:16
技术领域
本发明属于汽车安全技术领域,具体涉及一种行人避让系统和行人监测方法。
背景技术
随着经济的发展及人们生活水平的不断提高,车辆的数量不断增多,路况日益复杂。在某些超视距范围内,车辆往往无法对行人实现及时避让,容易引发交通安全事故。
随着车路协同技术的发展,车辆可以通过物联网等技术,实施车与车之间、车与路之间动态实时的信息交互。因此,如果可以利用车路协同技术,通过路侧检测装置对道路情况进行不间断的视觉监测,实现行人检测,并将检测结果发送给周边车辆,那么,车辆就可以有效实现行人避让。
近年来,随着深度学习的迅速发展,出现了一系列目标检测网络,比如fastrcnn、ssd等。但在物联网场景下,若路侧检测装置利用这些目标检测网络进行24小时不间断的行人检测,会产生极高的设备功耗。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种行人避让系统和行人监测方法。本发明要解决的技术问题通过以下技术方案实现:
第一方面,本发明实施例提供了一种行人避让系统,包括:监测端和边缘云端;
所述监测端设置在路口一侧,所述监测端用于拍摄对应监测范围内的路面图像,并利用内部的轻量级神经网络识别所述路面图像中是否有行人,当所述路面图像中有行人时,将所述路面图像发送给所述边缘云端;
所述边缘云端用于将所述路面图像输入内部的高精度神经网络,得到所述路面图像中所述行人的位置信息,根据所述位置信息计算得到所述行人与路口交界点的距离,利用所述距离生成避让警示信息,并将所述避让警示信息发送给预定范围内的车辆,所述预定范围是以所述路口交界点为中心的一个区域范围。
在本发明的一个实施例中,所述监测端为MCU。
在本发明的一个实施例中,所述轻量级神经网络构建在Tensorflow Lite Micro框架内。
在本发明的一个实施例中,所述轻量级神经网络包括MobileNet、SqueezeNet、ShuffleNet和Xception。
在本发明的一个实施例中,所述利用内部的轻量级神经网络识别所述路面图像中是否有行人,包括:
利用所述轻量级神经网络获得所述路面图像中含有行人的第一置信度和不含有行人的第二置信度;
计算所述第一置信度与所述第二置信度的差值;
判断所述差值是否大于等于预先设定的阈值,如果是,则判定所述路面图像中有行人。
在本发明的一个实施例中,所述高精度神经网络包括YOLO神经网络、ResNet、GoogleNet和SENet。
在本发明的一个实施例中,所述高精度神经网络为YOLO神经网络;
所述将所述路面图像输入内部的高精度神经网络,得到所述路面图像中所述行人的位置信息,包括:
将所述路面图像输入预先训练得到的YOLO神经网络中,利用主干网络进行特征提取,得到x个不同尺度的特征图;x为大于等于4的自然数;
将所述x个不同尺度的特征图利用FPN网络进行特征融合,得到各尺度对应的预测结果;
将所有预测结果经由非极大值抑制模块进行处理,得到所述路面图像中所述行人的位置信息;
其中,所述YOLO神经网络包括顺次连接的主干网络、FPN网络和非极大值抑制模块;所述YOLO神经网络是根据样本路面图像,以及所述样本路面图像中所述行人的位置信息训练得到的。
在本发明的一个实施例中,所述位置信息为所述路面图像中包含所述行人的边界框的像素坐标。
在本发明的一个实施例中,所述根据所述位置信息计算得到所述行人与路口交界点的距离,包括:
利用包含所述行人的边界框的像素坐标,以及单目视觉定位测距技术,确定所述行人在世界坐标系中对应的第一实际坐标;
获取所述路口交界点在世界坐标系中的第二实际坐标;
将所述第一实际坐标和所述第二实际坐标的距离确定为所述行人与所述路口交界点的距离。
另一方面,本发明实施例提供了一种行人监测方法,应用于路口一侧的监测端,包括:
拍摄对应监测范围内的路面图像;
利用内部的轻量级神经网络识别所述路面图像中是否有行人;
当所述路面图像中有行人时,将所述路面图像发送给边缘云端。
本发明的有益效果:
1、本发明实施例的监测端进行全天候的24小时持续监测,一旦识别到行人才将包含有行人的路面图像发送给边缘云端,即对边缘云端进行唤醒,然后边缘云端利用内部的高精度神经网络对路面图像中的行人进行目标检测,得到路面图像中行人的位置信息,根据位置信息计算得到行人与路口交界点的距离,并利用距离生成避让警示信息发送给车辆以实现警示车辆避让行人的功能,因此,本实施例提出的行人避让系统能够有效避免由于超视距问题导致的安全隐患。且本实施例的边缘云端只在需要的时候进行工作,从而能够大大降低整个系统的额外功耗。
2、本发明实施例的监测端可以为MCU,其上可以移植轻量级AI推理框架,并部署基于mobilenet的轻量级分类模型,用于识别行人,能够充分利用MCU的低功耗和快速响应特性;同时因为MCU搭载实时操作系统,因此可以利用MCU自身的实时并发性,同时处理图像采集、AI推理、与边缘云端通信等任务,能够进一步利用MCU低功耗的特性。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1为本发明实施例提供的一种行人避让系统的结构示意图;
图2为现有技术中的YOLO神经网络的结构示意图;
图3为本发明实施例提供的一种行人监测方法的流程示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1,图1为本发明实施例提供的一种行人避让系统的结构示意图,如图1所示,一种行人避让系统100,包括:监测端101和边缘云端102。
所述监测端101设置在路口一侧,所述监测端101用于拍摄对应监测范围内的路面图像,并利用内部的轻量级神经网络识别所述路面图像中是否有行人,当所述路面图像中有行人时,将所述路面图像发送给所述边缘云端102;
所述边缘云端102用于将所述路面图像输入内部的高精度神经网络,得到所述路面图像中所述行人的位置信息,根据所述位置信息计算得到所述行人与路口交界点的距离,利用所述距离生成避让警示信息,并将所述避让警示信息发送给预定范围内的车辆,所述预定范围是以所述路口交界点为中心的一个区域范围。
以下对各端进行详细介绍。
1)监测端101
可以理解地是,为了对路面实现较广泛区域的全方位检测,所述监测端101可以为多个;比如当监测场景为十字路口时,可以在十字路口的东南西北四个方向均设置监测端101;当监测场景为丁字路口时,可以在丁字路口的三个方向均设置监测端101;当监测场景为两条道路形成的拐角路口时,可以在该拐角路口的两侧均设置监测端101;当然,也可以根据实际需要设置监测端101。
一种可选的实施方式中,所述监测端101为MCU。
MCU(Microcontroller Unit;MCU,微控制单元),又称单片微型计算机(SingleChip Microcomputer)或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机。
具体地,所述MCU自身搭载实时操作系统;所述MCU包括图像采集设备和轻量级神经网络;所述图像采集设备拍摄对应监测范围内的路面图像,所述轻量级神经网络识别所述路面图像中是否有行人,当所述路面图像中有行人时,所述MCU将所述路面图像发送给所述边缘云端102。
图像采集设备可以包括:摄像头、摄像机、照相机等等;可选的实施方式中,图像采集设备可以为高分辨率摄像头。
图像采集设备可以以一定的时间间隔不断采集对应区域的路面图像,比如以30fps的速率进行拍摄。当然,所述时间间隔也可以根据实际需求进行调整。
当然,在图像采集设备采集到路面图像后,还可以对该路面图像进行裁剪、拼接、平滑、滤波、边缘填充等图像增强操作,以增强图像中感兴趣的特征,扩展数据集的泛化能力。
具体地,所述轻量级神经网络包括MobileNet、SqueezeNet、ShuffleNet和Xception;一种可选的实施方式中,所述轻量级神经网络为基于mobilenet的轻量级分类模型。轻量级神经网络相比于结构复杂、参数较多的神经网络而言,在保证模型准确率的同时体积更小,速度更快,适合部署在移动设备、边缘设备上。
所述轻量级神经网络构建在Tensorflow Lite Micro框架内,所述TensorflowLite Micro框架为轻量级AI(Artificial Intelligence,人工智能)推理框架。
本实施例在MCU上移植了轻量级AI推理框架,并部署基于mobilenet的轻量级分类模型,用于识别行人,充分利用了MCU的低功耗和快速响应特性;同时因为MCU搭载实时操作系统,因此可以利用MCU自身的实时并发性,同时处理图像采集、AI推理、与边缘云端102通信等任务,进一步利用了MCU的低功耗的特性。
具体地,所述利用内部的轻量级神经网络识别所述路面图像中是否有行人,包括:
步骤a),利用所述轻量级神经网络获得所述路面图像中含有行人的第一置信度和不含有行人的第二置信度。
本领域技术人员可以理解的是,在针对图像的目标检测领域中,分类器会得到某个目标的类别置信度,即该目标属于A类别的概率、属于B类别的概率等。本发明实施例中,类别包括含有行人和不含有行人。因此,针对每个路面图像,会得到含有行人的类别所对应的第一置信度,以及不含有行人的类别所对应的第二置信度。置信度以数值形式体现,比如置信度可以为70%等。
本领域技术人员可以理解的是,上述轻量级神经网络是利用大量已标注的,有行人的样本路面图像和无行人的样本路面图像,预先训练得到的。
关于如何进行有无行人的目标检测,请参见相关现有技术,在此不做赘述。
步骤b),计算所述第一置信度与所述第二置信度的差值。
步骤c),判断所述差值是否大于等于预先设定的阈值,如果是,则判定所述路面图像中有行人。
在本发明实施例中,预先设定的阈值是根据大量样本路面图像所得的经验值,比如预先设定的阈值可以为39%。相比于现有技术仅通过含有行人的置信度相对一预设阈值的高低来判断路面图像中是否含有车辆。本发明实施例将有无行人的置信度之差,和预先设定的阈值进行比较,来判断路面图像中是否含有行人,针对两个置信度的数值相对接近的较为模糊的原始图像,可以减小误判率及扰动项,提高判断的准确性。
2)边缘云端102
可以理解地是,本发明实施例的MCU进行全天候的24小时持续监测,一旦识别到行人才将包含有行人的路面图像发送给边缘云端102,即对边缘云端102进行唤醒,然后边缘云端102利用内部的高精度神经网络对路面图像中的行人进行目标检测,因此本实施例的边缘云端102只在需要的时候进行工作,从而大大降低了整个系统的额外功耗。
本发明实施例中的高精度神经网络是基于深度学习的目标检测网络构建,具体地,所述高精度神经网络包括YOLO神经网络、ResNet、GoogleNet和SENet。
优选地,所述高精度神经网络为YOLO神经网络;所述YOLO神经网络是根据样本路面图像,以及所述样本路面图像中所述行人的位置信息训练得到的。
可以理解地是,所述样本路面图像为包含行人的路面图像,所述YOLO神经网络可以对输入的任一待测的路面图像,识别出其中的行人的位置信息,关于YOLO神经网络的训练过程在后文中予以介绍。
以下,简要介绍YOLO神经网络的网络结构:
参见图2,图2为现有技术中的YOLO神经网络的结构示意图;在图2中,虚线框内的部分为YOLO神经网络。其中点划线框内的部分为YOLO神经网络的主干(backbone)网络,即darknet-53网络;YOLO神经网络的主干网络由CBL模块和5个resn模块串接构成。CBL模块为卷积网络模块,包括串行连接的conv层(Convolutional layer,卷积层,简称conv层)、BN(Batch Normalization,批量归一化)层和激活函数Leaky relu对应的Leaky relu层,CBL即表示conv+BN+Leakyrelu。resn模块为残差模块,n代表自然数,如图2所示,具体地,沿输入方向依次有res1、res2、res8、res8、res4;resn模块包括串行连接的zero padding(零填充)层、CBL模块和残差单元组,残差单元组用Res unit*n表示,含义是包括n个残差单元Resunit,每个残差单元包括采用残差网络(Residual Network,简称为ResNets)连接形式连接的多个CBL模块,特征融合方式采用并行方式,即add方式。
主干网络之外的其余部分为FPN(FeaturePyramidNetworks,特征金字塔网络)网络,FPN网络又分为三个预测支路Y
FPN网络的各个预测支路中均包括卷积网络模块组,具体包括5个卷积网络模块,即图2中的CBL*5。另外,US(up sampling,上采样)模块为上采样模块;concat表示特征融合采用级联方式,concat为concatenate的简称。
YOLO神经网络中各个主要模块的具体构成请参见图2中虚线框下的示意图。
结合图2所述的现有技术中的YOLO神经网络的结构示意图,所述YOLO神经网络包括顺次连接的主干网络、FPN网络和非极大值抑制模块;所述将所述路面图像输入内部的高精度神经网络,得到所述路面图像中所述行人的位置信息,包括:
步骤1,将所述路面图像输入预先训练得到的YOLO神经网络中,利用主干网络进行特征提取,得到x个不同尺度的特征图;x为大于等于4的自然数。
步骤2,将所述x个不同尺度的特征图利用FPN网络进行特征融合,得到各尺度对应的预测结果。
步骤3,将所有预测结果经由非极大值抑制模块进行处理,得到所述路面图像中所述行人的位置信息。
针对每一行人,位置信息的形式为一向量,包括有包含该行人的边界框的位置。边界框就是目标检测领域中包含目标的预测框,通常可以为一个矩形框。边界框的位置具体以边界框的像素坐标表示,比如,用bx,by,bw,bh四个值表示,bx,by用于表示边界框的中心点的像素坐标,bw,bh为边界框的宽和高,或者边界框的像素坐标也可以是边界框四个顶点的像素坐标,等等。
可选的,非极大值抑制模块用于进行NMS(non_max_suppression,非极大值抑制)处理,用于在重复框选同一行人的多个边界框中,排除置信度相对较小的边界框。
关于非极大值抑制模块的处理过程请参见相关的现有技术,在此不做赘述。
以下,对所述YOLO神经网络的训练前过程以及训练过程予以简单介绍。
(一),搭建出具体的网络结构,如图2。
(二),获得若干样本路面图像,以及所述样本路面图像对应的行人的位置信息。在该过程中,各样本路面图像对应的行人的位置信息是已知的,确定各样本路面图像对应的行人的位置信息的方式可以是:通过人工识别,或者通过其他图像识别工具识别等等。之后,需要对样本路面图像进行标记,可以采用人工标记方式,当然也可以利用其余人工智能方法进行非人工标记,这都是合理的。其中,各样本路面图像对应的行人的位置是以包含行人的边界框的像素坐标的形式标记的,这个边界框是真实准确的,各个边界框标记有坐标信息,以此来体现行人在样本路面图像中的位置。
(三),利用各样本路面图像,以及各样本路面图像中各行人的位置信息,训练如图2所示的网络,包括以下步骤:
1)将每一样本路面图像对应的行人的位置信息作为该样本路面图像对应的真值,将各样本路面图像和对应的真值,通过图2所示的网络进行训练,获得各样本路面图像的训练结果。
2)将每一样本路面图像的训练结果与该样本路面图像对应的真值进行比较,得到该样本路面图像对应的输出结果。
3)根据各个样本路面图像对应的输出结果,计算网络的损失值。
4)根据所述损失值,调整网络的参数,并重新进行1)-3)步骤,直至网络的损失值达到了一定的收敛条件,也就是所述损失值达到最小,这时,意味着每一样本路面图像的训练结果与该样本路面图像对应的真值一致,从而完成网络的训练。
通过以上步骤,可以得到路面图像中所述行人的位置信息,之后,可以利用所述位置信息计算得到所述行人与路口交界点的距离,所述路口交界点即为路口不同方向的道路的交汇点,所述路口交界点可以预先设定。
一种可选的实施方式中,所述根据所述位置信息计算得到所述行人与路口交界点的距离,包括:
a)、利用包含所述行人的边界框的像素坐标,以及单目视觉定位测距技术,确定所述行人在世界坐标系中对应的第一实际坐标。
本发明实施例中,边界框的像素坐标可以是边界框以及边界框内的所有像素点的像素坐标通过求取平均值得到的一个像素点的像素坐标;也可以是边界框上或边界框内任意选取的一个像素点的像素坐标;比如可以是边界框的中心位置坐标等等。可以理解的是,上述方法实际上是利用行人的边界框范围内的一个像素坐标代表该行人,因此可以在边界框范围内选取任一像素点的像素坐标,这都是合理的。
可选的实施方式中,可以选取行人的边界框的中心位置坐标作为行人的边界框的像素坐标。
可以理解的是,经过前述步骤后,可以得到所述路面图像中任一行人的位置信息,即所述行人的边界框的像素坐标。
由于路面图像中任一像素点的像素坐标是可知的。相机的成像过程涉及到四个坐标系:世界坐标系、相机坐标系、图像物理坐标系(也叫成像平面坐标系)、像素坐标系以及这四个坐标系的转换。现有技术中,这四个坐标系之间的转换关系是已知可推导的。那么可以利用坐标系变换公式等方法,计算路面图像中像素点的像素坐标在世界坐标系中对应的实际坐标,比如利用OPENCV语言的诸多公开算法程序,从像素坐标得到世界坐标系中的实际坐标。具体的,比如通过在一些OPENCV程序中输入相机的内参、旋转向量、平移向量和像素坐标等,利用相关函数求出对应的世界坐标。
因此,通过现有技术中的单目视觉定位测距技术,利用所述行人的边界框的像素坐标,可以确定所述行人在世界坐标系中对应的第一实际坐标。关于单目视觉定位测距技术请参见相关现有技术,在此不做赘述。
b)、获取所述路口交界点在世界坐标系中的第二实际坐标。
具体地,可以通过拾取坐标系统、全站仪、GPS接收机等方式获取所述路口交界点的第二实际坐标。
c)、将所述第一实际坐标和所述第二实际坐标的距离确定为所述行人与所述路口交界点的距离。
从前述步骤中,可以得到行人在世界坐标系中对应的第一实际坐标、以及所述路口交界点在世界坐标系中的第二实际坐标,一种可选的方式中,可以利用现有技术将这两个实际坐标换算为第一平面坐标、第二平面坐标后,再计算这两个平面坐标之间的平面距离,将所述平面距离确定为所述行人与所述路口交界点的距离。计算平面距离的方法请参见相关现有技术,在此不做赘述。
当然,也可以将所述第一实际坐标、所述第二实际坐标换算成其他统一的坐标系,然后再计算两者之间的距离,这都是合理的。
本发明实施例在计算得到所述行人与所述路口交界点的距离之后,利用所述距离生成避让警示信息,并将所述避让警示信息发送给预定范围内的车辆,所述预定范围是以所述路口交界点为中心的一个区域范围。比如预定范围可以是以所述路口交界点为中心,半径为100米的圆形区域范围,等等。
具体地,所述警示信息的形式可以是声音,文字等。
可以理解的是,当所述边缘云端将所述警示信息发送给预定范围内的车辆后,所述车辆的驾驶员可以根据所述行人与路口交界点的距离、自己与路口交界点的距离、以及自己的速度综合判断车辆是否需要减速,从而实现及时避让。
本发明实施例的监测端进行全天候的24小时持续监测,一旦识别到行人才将包含有行人的路面图像发送给边缘云端,即对边缘云端进行唤醒,然后边缘云端利用内部的高精度神经网络对路面图像中的行人进行目标检测,得到路面图像中行人的位置信息,根据位置信息计算得到行人与路口交界点的距离,并利用距离生成避让警示信息发送给车辆以实现警示车辆避让行人的功能,因此,本实施例提出的行人避让系统能够有效避免由于超视距问题导致的安全隐患。且本实施例的边缘云端只在需要的时候进行工作,从而能够大大降低整个系统的额外功耗。
并且,本发明实施例的监测端可以为MCU,其上可以移植轻量级AI推理框架,并部署基于mobilenet的轻量级分类模型,用于识别行人,能够充分利用MCU的低功耗和快速响应特性;同时因为MCU搭载实时操作系统,因此可以利用MCU自身的实时并发性,同时处理图像采集、AI推理、与边缘云端通信等任务,能够进一步利用MCU低功耗的特性。
实施例二
相应于前述的行人避让系统100,本发明实施例提出一种行人监测方法,应用于行人避让系统100中,位于路口一侧的监测端101。参见图3,图3为本发明实施例提供的一种行人监测方法的流程示意图,所述行人监测方法,包括:
S1,拍摄对应监测范围内的路面图像。
S2,利用内部的轻量级神经网络识别所述路面图像中是否有行人。
S3,当所述路面图像中有行人时,将所述路面图像发送给边缘云端。
对于本实施例而言,由于其所涉及的方法内容基本相似于实施例一,所以描述的比较简单,相关之处参见实施例一的部分说明即可。
本发明实施例的监测端进行全天候的24小时持续监测,一旦识别到行人才将包含有行人的路面图像发送给边缘云端,即对边缘云端进行唤醒,然后边缘云端利用内部的高精度神经网络对路面图像中的行人进行目标检测,得到路面图像中行人的位置信息,根据位置信息计算得到行人与路口交界点的距离,并利用距离生成避让警示信息发送给车辆以实现警示车辆避让行人的功能,因此,本实施例提出的行人避让系统能够有效避免由于超视距问题导致的安全隐患。且本实施例的边缘云端只在需要的时候进行工作,从而能够大大降低整个系统的额外功耗。
并且,本发明实施例的监测端可以为MCU,其上可以移植轻量级AI推理框架,并部署基于mobilenet的轻量级分类模型,用于识别行人,能够充分利用MCU的低功耗和快速响应特性;同时因为MCU搭载实时操作系统,因此可以利用MCU自身的实时并发性,同时处理图像采集、AI推理、与边缘云端通信等任务,能够进一步利用MCU低功耗的特性。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
- 一种行人避让系统和行人监测方法
- 一种具有避让机制的双向行人流仿真方法及系统