一种基于RGB图像的公交客流检测方法与流程

文档序号:31536252发布日期:2022-09-16 22:35阅读:98来源:国知局
一种基于RGB图像的公交客流检测方法与流程
一种基于rgb图像的公交客流检测方法
技术领域
1.本发明涉及公交客流检测技术领域,特别是涉及一种基于rgb图像的公交客流检测方法及系统。


背景技术:

2.精确的客流数据对智能交通具有重大意义,通过精确的量化数据,可以了解每个时间段、每路公交车、每个车站的人流量。这些数据可以帮助公交调度人员进行更加及时、准确的调度,提高用户乘车体验,帮助公交公司进行更加科学、合理的线网规划,让公共资源得到更充分的利用,为城市综合交通体系规划与评价提供基础数据。
3.近年来许多学者对如何获取精确的客流数据进行了深入的研究,但在实际应用中仍具有一定局限性。比如:一些学者使用光电开关、压力传感器获取上下车人数,这些方法属于早期作品,光电开关无法判断两人并排上车的情况,压力传感器容易损坏、维护成本高,两种方法在拥挤情况下均不能获得较好的表现,已基本被淘汰;一些学者通过乘客携带电子设备的wifi、蓝牙或mac 地址等信息定位乘客大致位置,获取上下车人数,这些技术目前也存在着诸多挑战,包括:有些乘客携带零或多个电子设备,易受公交车外电子设备的干扰,许多设备提供虚假的动态mac地址等;还有一些学者采用视频图像,有些使用深度图像,但是结构光相机、飞行时间相机成本较高,双目相机图像易受纹理影响,精度的稳定性无法保证;还有些学者使用彩色图像,利用传统的数字图像处理方法例如霍夫变换圆检测识别人头等方法去检测,但由于场景的复杂性,该方法也不能获得较高的准确率。
4.随着深度学习的长足发展和目标检测模型准确率的不断提高,出现了许多部署在移动端的网络,这使得使用彩色图像获取较高准确率的客流数据变为可能。而如何利用彩色图像去获取准确的公交客流量仍是一大难题。


技术实现要素:

5.本发明的目的是提供一种基于rgb图像的公交客流检测方法及系统,用以获取准确的公交客流量。
6.为实现上述目的,本发明提供了如下方案:
7.一种基于rgb图像的公交客流检测方法,该方法包括:
8.获取乘客上下公交的视频流;视频流包括多帧图像;
9.对于第k帧图像,通过预测第k-1帧图像的卡尔曼滤波器的参数预测第 k帧图像中的目标位置,得到卡尔曼滤波器的预测结果;
10.对于第k帧图像,基于卡尔曼滤波器的预测结果和第k帧图像生成待预测图像;
11.将待预测图像输入至训练好的yolox模型中,得到yolox模型的检测结果;
12.采用kuhn-munkres算法对卡尔曼滤波器的预测结果和yolox模型的检测结果进行匹配;
13.根据匹配结果确定公交客流。
14.进一步的,对于第一帧图像,直接通过训练好的yolox模型进行目标位置的检测。
15.进一步的,yolox模型包括卷积层、cspdarknet层、pafpn层以及head 层;卷积层为卷积核大小为2,步距为2的普通卷积层。
16.进一步的,对于第k帧图像,基于卡尔曼滤波器的预测结果和第k帧图像生成待预测图像,具体包括:
17.将卡尔曼滤波器的预测结果生成目标位置掩膜;
18.将目标位置掩膜和第k帧图像按照不同权重进行叠加生成待预测图像。
19.进一步的,采用kuhn-munkres算法对于卡尔曼滤波器的预测结果和 yolox模型的检测结果进行匹配,具体包括:
20.计算卡尔曼滤波器的预测结果和yolox模型的检测结果的交并比;
21.通过交并比构造代价矩阵;
22.基于代价矩阵,采用kuhn-munkres算法对卡尔曼滤波器的预测结果和 yolox模型的检测结果进行匹配,匹配结果为目标轨迹。
23.进一步的,根据匹配结果确定公交客流,具体包括:
24.设置计数区域;计数区域为乘客上下公交的区域;
25.根据目标轨迹与计数区域的位置关系,确定客流量。
26.本发明还提供了一种基于rgb图像的公交客流检测系统,所述系统包括:
27.视频流获取模块,用于获取乘客上下公交的视频流;视频流包括多帧图像;
28.预测模块,用于对于第k帧图像,通过预测第k-1帧图像的卡尔曼滤波器的参数预测第k帧图像中的目标位置,得到卡尔曼滤波器的预测结果;
29.图像生成模块,用于对于第k帧图像,基于卡尔曼滤波器的预测结果和第k帧图像生成待预测图像;
30.检测模块,用于将待预测图像输入至训练好的yolox模型中,得到 yolox模型的检测结果;
31.匹配模块,用于采用kuhn-munkres算法对卡尔曼滤波器的预测结果和 yolox模型的检测结果进行匹配;
32.确定模块,用于根据匹配结果确定公交客流。
33.进一步的,yolox模型包括卷积层、cspdarknet层、pafpn层以及head 层;卷积层为卷积核大小为2,步距为2的普通卷积层。
34.进一步的,所述图像生成模块包括:
35.掩膜生成单元,用于将卡尔曼滤波器的预测结果生成目标位置掩膜;
36.叠加单元,用于将目标位置掩膜和第k帧图像按照不同权重进行叠加生成待预测图像。
37.进一步的,所述匹配模块包括:
38.计算单元,用于计算卡尔曼滤波器的预测结果和yolox模型的检测结果的交并比;
39.构造单元,用于通过交并比构造代价矩阵;
40.匹配单元,用于基于代价矩阵,采用kuhn-munkres算法对卡尔曼滤波器的预测结果和yolox模型的检测结果进行匹配,匹配结果为目标轨迹。
41.根据本发明提供的具体实施例,本发明公开了以下技术效果:
42.本发明提出的基于rgb图像的公交客流检测方法,通过获取乘客上下公交的视频流,对于第k帧图像,通过预测第k-1帧图像的卡尔曼滤波器的参数预测第k帧图像中的目标位置,得到卡尔曼滤波器的预测结果;对于第k 帧图像,基于卡尔曼滤波器的预测结果和第k帧图像生成待预测图像;将待预测图像输入至训练好的yolox模型中,得到yolox模型的检测结果;采用kuhn-munkres算法对卡尔曼滤波器的预测结果和yolox模型的检测结果进行匹配;根据匹配结果确定公交客流。本发明使用彩色图像进行客流量的检测,成本低,不需要昂贵的深度相机,甚至可以使用公交车现有的监控视频;本发明将卡尔曼滤波器预测的结果叠加原图输入yolox模型进行检测,提高了yolox模型的检测精度,保证了公交客流量的准确性。
附图说明
43.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
44.图1为本发明实施例提供的基于rgb图像的公交客流检测方法流程图;
45.图2为本发明实施例提供的基于卡尔曼滤波器的预测结果和第k帧图像生成待预测图像示意图;
46.图3为本发明实施例提供的原focus结构示意图;
47.图4为本发明实施例提供的yolox模型示意图;
48.图5为本发明实施例提供的数据增强前后图像对比图;
49.图6为本发明实施例提供的融合卡尔曼滤波器预测的yolox模型在训练过程中精确率与召回率的变化示意图。
具体实施方式
50.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.本发明的目的是提供一种基于rgb图像的公交客流检测方法及系统,用以获取准确的公交客流量。
52.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
53.如图1所示,一种基于rgb图像的公交客流检测方法包括以下步骤:
54.步骤101:获取乘客上下公交的视频流;视频流包括多帧图像。
55.步骤102:对于第k帧图像,通过预测第k-1帧图像的卡尔曼滤波器的参数预测第k帧图像中的目标位置,得到卡尔曼滤波器的预测结果。
56.其中,未获得目标的状态估计之前,即对于第一帧图像,直接通过训练好的yolox模型进行目标位置的检测。
57.其中,步骤2在具体实施例中,包括:对于视频流第k帧图像,可以利用第k-1帧图像的后验状态估计来计算第k帧图像的先验状态估计,利用第 k-1帧图像的后验估计协方差矩阵计算第k帧图像的的先验估计协方差矩阵,这两个先验值就是卡尔曼滤波器预测的结果,该结果包括预测框信息。设获取第k帧图像的时刻为t,获取第k-1帧图像的时刻为t-1,则具体计算公式如下:
[0058][0059][0060]
其中为第k帧图像的先验状态估计,为第k帧图像的先验协方差矩阵估计;为第k-1帧图像的后验状态估计,p
t-1
为第k-1帧图像的后验协方差矩阵估计。包括预测框的中心坐标、面积、宽高比以及中心坐标和面积在帧间的变化率,具体值由第k-1帧图像经卡尔曼滤波器更新得到,f为第k 帧图像时刻的状态转移矩阵,取值为:
[0061][0062]
b为控制矩阵,u为控制量取值均取值为0;q为过程噪生矩阵,来源于检测框丢失、重叠和不准确,由于初始速度是未知的,故协方差矩阵设置较大的初始值,前期更倾向于信任测量值。过程噪生来自运动的不确定性,取值:
[0063][0064]
步骤103:对于第k帧图像,基于卡尔曼滤波器的预测结果和第k帧图像生成待预测图像。具体包括:将卡尔曼滤波器的预测结果生成目标位置掩膜;将目标位置掩膜和第k帧图像按照不同权重进行叠加生成待预测图像。
[0065]
如图2所示,图2(a)为目标位置掩膜,图2(b)为第k帧图像,图2 (c)为生成的待预测图像。基于该卡尔曼滤波器预测结果的中心坐标、面积、宽高比得到目标位置掩膜图2(a)的坐标和宽高,将该目标位置掩膜图2 (a)和第k帧图像(图2(c))按照不同权重进行叠加生成待预测图像图2 (c)。
[0066]
步骤104:将待预测图像输入至训练好的yolox模型中,得到yolox 模型的检测结果。
[0067]
如图3所示,图像在进入yolox主干网络之前会经过原focus结构,该 focus结构将图片的行和列进行间隔像素采样,形成新图片,在不损失信息量的情况下,将通道扩充4倍,相当于下采样功能。由于focus非常规运算的结构不利于网络在移动端部署,因此本发明中的yolox模型将原focus结构替换为卷积核大小为2,步距为2的普通卷积层,更改后的yolox模型如图4 所示,包括卷积层、cspdarknet层、pafpn层以及head层,其中卷积层为卷积核大小为2,步距为2的普通卷积层。
[0068]
将步骤3中生成的待预测图像输入至训练好的yolox模型中,得到 yolox模型的检测结果。
[0069]
步骤105:采用kuhn-munkres算法对卡尔曼滤波器的预测结果和yolox 模型的检测结果进行匹配。具体包括:
[0070]
计算卡尔曼滤波器的预测结果和yolox模型的检测结果的交并比;
[0071]
通过交并比构造代价矩阵;
[0072]
基于代价矩阵,采用kuhn-munkres算法对卡尔曼滤波器的预测结果和 yolox模型的检测结果进行匹配,匹配结果为目标轨迹。
[0073]
在具体实施例中,计算每个卡尔曼滤波器的预测结果(预测框)和每个 yolox模型的检测结果(测量框)之间的交并比,利用1-交并比去构造代价矩阵。基于该代价矩阵,通过kuhn-munkres算法在总代价最小的情况下将测量框分配给预测框,匹配结果为目标轨迹。其理论基础为:在代价矩阵的某一行或某一列加上或减去某个数,最优分配问题不变。
[0074]
kuhn-munkres算法的具体过程如下:
[0075]
(1)每行减去该行最小值。
[0076]
(2)每列减去该列最小值。
[0077]
(3)使用最少数量的水平和垂直线覆盖代价矩阵中的所有零。如果需要 n行,则找到了最优分配,算法结束,否则执行步骤(4)。
[0078]
(4)在没被任何线覆盖的元素中找到最小元素,所有没被覆盖的行减去这个元素,所有被覆盖的列加上这个元素,重复步骤(3)。
[0079]
在实际操作过程中,由于预测框与测量框的数量并不总是相等,所以当测量框的个数大于预测框时,如果没有匹配上的检测框连续2帧都被检测到,则创建一个新的轨迹;当测量框的个数小于预测框时,如果连续2帧丢失的测量框都没有再次出现,则删除该轨迹。
[0080]
步骤106:根据匹配结果确定公交客流。具体包括:设置计数区域;计数区域为乘客上下公交的区域;根据目标轨迹与计数区域的位置关系,确定客流量。
[0081]
在实际操作过程中,先设置计数区域,该区域可设置为一个矩形框区域,根据所获取图像的具体场景判断,比如:当目标轨迹从矩形框区域的下方进、上方出则认为下车,反之是上车;客流的表现形式就是每个站点有多少人上车,多少人下车,由此确定公交客流量。
[0082]
如图5所示,在具体实施例中,使用卡尔曼滤波器的预测结果作为掩膜,将掩膜叠加原图作为yolox模型的训练数据集,由于公交车内摄像机安装高度有限,不会出现目标过大或者过小的情况,因此修改mosaic数据增强中原图的随机缩放比例。同时,为提高目标被遮挡情况下的准确率,在mosaic数据增强过程中对原图进行随机裁剪再拼接,最终将训练
图像尺寸调整为 416*416。通过随机增强和降低亮度来模拟强光和光线不足的情况,解决在特定场景下数据集的缺乏,提高网络的鲁棒性。数据增强前后图像对比如图5 所示,图5(a)为模拟现实中阳光较强的场景,如夏季正午,图5(b)为模拟现实中光照不足的场景,如傍晚、夜间。
[0083]
在yolox模型训练的自建数据集中,59%的图像中目标数未超过3人,导致计算目标损失时出现正负样本之比小于1/4的情况,为缓解正负样本和难易样本不均衡问题,本发明还将原来的sigmoid-bceloss更换为focalloss,更换后模型的准确率上升了0.9%。实验中,适度修改参数γ、α,使之效果最优。focalloss的计算公式为:
[0084][0085]
其中,y

为预测值,取值为0~1;α和γ为超参数,γ与均衡正负样本相关,α与加强对难样本的学习相关。
[0086]
在具体实施例中,使用余弦退火衰减策略动态调整学习率,设置最小学习率为0.05;将训练好的pth格式模型转化为开放神经网络交换(onnx)格式,再使用rknn toolkit将onnx格式的模型转化成可以在npu上加速的 rknn格式的模型。最后在移动端使用rknn库中的相关接口,加载和使用 rknn格式的模型,最终实现利用npu加速推理的过程。
[0087]
将3种改进方法的应用与原始yolox-sort算法在自建数据集上的网络训练结果进行对比,如表1所示。
[0088]
其中,方法1:使用修改后的mosaic数据增强;方法2:将sigmoid-bceloss 替换为focalloss;方法3:融合卡尔曼预测的yolox。
[0089]
表1网络训练结果
[0090][0091]
原始yolox-sort算法和三种改进方法的平均准确率在150轮的训练中的实验数据如图6所示,其中图6(a)为平均准确率在150轮的训练中的精确率,图6(b)为平均准确率在150轮的训练中的召回率。
[0092]
原始yolox-sort算法与本发明所提出的基于rgb图像的公交客流检测方法的mot指标对比,如表2所示。
[0093]
表2网络训练结果
[0094]
[0095]
将部署在移动端的实验结果对比,如表3所示。其中,实验一:直接部署;实验二:使用npu进行加速推理;实验三:将focus替换为普通卷积。
[0096]
表3网络训练结果
[0097][0098]
经过上述实验数据验证,本发明提出的公交客流检测方法统计上下车行为的准确率可达94%以上,可满足实际需要。
[0099]
本发明还提供了一种基于rgb图像的公交客流检测系统,该系统包括:
[0100]
视频流获取模块,用于获取乘客上下公交的视频流;视频流包括多帧图像;
[0101]
预测模块,用于对于第k帧图像,通过预测第k-1帧图像的卡尔曼滤波器的参数预测第k帧图像中的目标位置,得到卡尔曼滤波器的预测结果;
[0102]
图像生成模块,用于对于第k帧图像,基于卡尔曼滤波器的预测结果和第k帧图像生成待预测图像;
[0103]
匹配模块,用于采用kuhn-munkres算法对卡尔曼滤波器的预测结果和 yolox模型的检测结果进行匹配;
[0104]
确定模块,用于根据匹配结果确定公交客流。
[0105]
其中,图像生成模块具体包括:
[0106]
掩膜生成单元,用于将卡尔曼滤波器的预测结果生成目标位置掩膜;
[0107]
叠加单元,用于将目标位置掩膜和第k帧图像按照不同权重进行叠加生成待预测图像。
[0108]
检测模块,用于将待预测图像输入至训练好的yolox模型中,得到 yolox模型的检测结果;
[0109]
其中,匹配模块具体包括:
[0110]
计算单元,用于计算卡尔曼滤波器的预测结果和yolox模型的检测结果的交并比;
[0111]
构造单元,用于通过交并比构造代价矩阵;
[0112]
匹配单元,用于基于代价矩阵,采用kuhn-munkres算法对卡尔曼滤波器的预测结果和yolox模型的检测结果进行匹配,匹配结果为目标轨迹。
[0113]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0114]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1