APP下载

基于立体视觉的公交车客流量统计方法研究*

2023-07-11魏海峰李垣江

计算机与数字工程 2023年3期
关键词:立体匹配视差双目

刘 彬 魏海峰 张 懿 李垣江

(江苏科技大学电子信息学院 镇江 212003)

1 引言

公交车客流量统计有着重要的社会价值和现实意义,不仅为公交线路规划提供精确的客流数据支持,而且对交通配置和公共安全也都有着重要的作用。

当前基于视觉的统计方式一般分为单目和双目(立体),其中立体视觉统计方式通过采集场景的深度信息,可有效克服单目视觉对光线、阴影变化较敏感的问题。本文在嵌入式硬件平台上用立体视觉来进行客流量统计。首先对双目摄像头进行同步标定[1],然后用优化的MC-CNN[2]网络进行立体匹配[3]得到视差图,在此基础上恢复公交车内真实的深度图像[4],通过获取乘客人头轮廓进行跟踪和计数,从而解决乘客遮挡、拥挤以及光线变化带来的客流统计精度较低的问题。系统实现框架如图1所示。

图1 公交车客流量统计系统框图

2 双目的相机标定与同步

双目摄像头的标定与同步是获得正确客流计数的首要步骤。对两个同一型号的双目摄像头进行标定,再将标定好的两个双目摄像头装设于公交车前门的正上方,并采用DSP对双目摄像头进行同步控制[5]。

如图2 所示,空间任一点的世界坐标系(X,Y,Z)和像素坐标系(u,v)对应关系为[17]

图2 双目标定示意图

M1与M2是双目摄像头的内外参数矩阵,由双目摄像头完整的内部参数构成内参矩阵M1;由双目摄像头的旋转矩阵与平移向量构成外参矩阵M2,由此判断双目摄像头在立体空间中的坐标位置以及方向。为使标定结果更加精确,本文采集30 副棋盘格图像对双目摄像头进行标定,得到左摄 像 机 内 参 数[Cx:665.15838,Cy:359.54200,fx:1148.45760,fy:1148.78469],右摄像机内参数[Cx:590.80168,Cy:403.00080,fx:1157.66228,fy:1156.92762],左 相 机的 畸 变 系 数D1=[0.02286-0.07553-0.00186 0.00218 0.00000],右相机的畸变 系 数Dr=[0.04343-0.11692 0.00215 -0.00167 0.00000],根据约束条件,可求出旋转矩阵R 和平移向量T=[-60.23329-0.62472 1.65832]。

通过DSP 判断同一帧中的左右两幅图像的场同步信号下降沿间有无时间差异来判断左右双目摄像头是否同步。通过DSP判断出哪副图像超前,并记录超前的时钟个数,并抑制超前摄像机相应的时钟数量,实现摄像机的同步。

3 基于优化MC-CNN的立体匹配算法

为了在DSP+FPGA 硬件平台上高效快速的完成双目视觉的立体匹配以及视差计算,本文在MC-CNN基础上,通过优化网络结构获得双目视差。

3.1 MC-CNN

MC-CNN 网络架构分为精准架构MC-CNNacrt 和快速架构MC-CNN-fst 两种,其中前者的耗时大约是后者的百倍[14]。

如图3 所示,通过两个分支网络提取左右图像的特征向量并做点积运算,最后进行相似性打分[8]。MC-CNN-fst先将左右视图的图像块分别输入两个分支的特征提取部分,分别得到一个输出特征向量Gw(x1)、Gw(x2),然后建立两个特征向量距离度量,作为输入图像块的相似度计算函数。网络的两个分支所用的权值[9]、网络结构都是一样的,网络的前半部分提取图片的特征向量,网络的最后一层用来定义计算特征向量之间相似度的损失函数。

图3 MC-CNN-fst快速网络架构图

3.2 网络结构优化

如图4 所示,本文基于MC-CNN-fst 提出优化的双目立体匹配的结构。其改进之处在于:

图4 双目立体匹配网络架构

1)在卷积层后面加入最大池化层,能够在尽可能保留图片空间信息的前提下,降低图片的尺寸,增大卷积核感受野,另外还能减少网络参数和计算量,加快计算过程。

2)把ReLU 激活函数替换为ELU(exponential liner units)激活函数[10],不仅解决了ReLU 激活函数没有负值部分导致神经网络的下一层产生偏差的问题,另外还能保证失活状态时的噪声鲁棒性。

3)将特征提取网络中的卷积层由4层增加到6层,计算精度更高,对图像特征的提取能力变强。

在选择图像像素点局部支持窗作为匹配基元的时候,不仅要能和其他像素点的基元区分,而且要能很好的表示当前的像素点,故本文选择15×15的窗口来进行基元选配,各层参数如表1所示。

表1 各层网络参数

3.3 算法实现过程

1)通过将输入的图像作为输入数据,通过MC-CNN网络模型获取输出的特征向量。

2)对两个输入特征向量进行正则规范化处理和内积运算,构建稀疏损失体,计算匹配损失。

3)重采样损失体到原始图片尺寸,使用Softmax 函数将匹配损失值转化为双目视差的概率分布,最后使用视差回归函数来输出亚像素的预测视差。

4 乘客头部识别

经过立体匹配得到的视差图,经过进一步处理可得到深度图。如图5,图中b 为双目摄像头的基线距离,f 为双目摄像头的焦距,P1(u1,v1)和Pr(ur,vr)分别为双目相机左右成像平面的坐标点,得到深度Z与视差d的关系Z=bf/d,其中d=(u1-u2)。

图5 相机成像模型

在本次试验中使用Meanshift 算法[11]对深度图像进行预处理即只需要特征空间的样本点,不需要额外的先验知识,就可快速的实现视差图像。在Meanshift 向量中对于d 维空间中的n 个样本点(X1-Xn)有以下定义:

上式中,xi为概率密度函数f(x)中采样得到样本点,sh代表由全部满足上式所示的y点组合成的高维球区域,其半径为h,(Xi-X)为样本点xi的偏移量,k代表在区域sh中有k 个样本点落入,Mh(x)是sh区域中的平均偏移量[12]。通过上式推算目标区域的概率密度分布函数。同时在接下来的目标区域中,做圆心为点x、半径为h 的圆。然后把圆心x 作为起始点,落在这个圆内的所有点和圆心都会对应一个向量,把所有的产生的向量相加最后得到一个向量,即为Meanshift 向量。再以Meanshift 向量的终点作为圆心,继续上述过程直到收敛到局部概率密度分布极大点。由于乘客头顶是整个拍摄范围的局部最高点,使用区域生长法来对乘客的头部进行识别及分割,将乘客头部的局部最高点作为生长种子,乘客头间距的灰度梯度[13]作为阈值,从而判断生长种子是否进行生长或者终止,进而识别乘客。

5 实验结果及分析

5.1 立体匹配实验

本文在KITTI2015 图像数据集上评估本文提出的立体匹配网络。KITTI2015 数据集包含有400组不同的遮挡、光照等不同场景的图像数据,并且可以对改进的立体匹配算法进行测验。

为了探究不同数量的特征提取模块以及池化层的有无对于双目图像立体匹配精度的影响,使用层数不等的卷积层和池化层构建的卷积神经网络进行立体匹配误差实验。实验结果结果如表2 所示,有六层卷积层的卷积神经网络立体匹配效果最好,匹配误差最小,另外在卷积层数相同时,有池化层的情况下立体匹配效果更好。

表2 不同层数卷积层的匹配误(N=2、3、4)

本文给出的立体匹配方法不仅能有效减少多步骤产生的误差累积,而且避免了不同模块间的相互影响,把双目图像的立体匹配完全转变为定位回归问题,能够有效实现双目目标的特征约束表达,具有较高的匹配精度。

5.2 目标跟踪与计数

本文根据公交车客流量统计的要求,选用基于质心空间欧氏距离最短法来对乘客运动目标进行跟踪[14]。将识别出来的乘客形心坐标作为目标质心坐标,然后使用空间欧式距离最短法[15]对目标质心匹配关联和绘制轨迹,最后根据乘客质心的运动轨迹来判别乘客下车或上车,并对判别结果进行统计,算法具步骤如下:

1)参数初始化:假设当前视频帧数为L 帧,其图像帧中有ML个乘客,前一帧中含有的乘客数目为ML-1,则Zi(L)=(Xi,Yi)=(Zix,Ziy)代表L 帧中的第i个乘客的质心坐标向量,i的取值范围为(1,ML)。

2)关联匹配:视频帧中第L 帧第i 个乘客目标与前一帧中ML-1个乘客运动目标质心最小欧氏距离为

因此如果第L-1帧中的第e个乘客运动目标的质心坐标向量和L 帧中的第i个乘客运动目标相匹配,就完成了视频帧中L 帧的第i 个乘客的匹配跟踪,用同样的方法完成视频L 帧中其他乘客运动目标的匹配跟踪。

3)客流统计:假设总匹配的乘客运动目标为m,当m=ML-1=ML时表明公交车中没有乘客上下车,当m<ML-1时表明在第L 帧有目标乘客消失,记录乘客消失的坐标点和数量;同理,当m<ML时,表明公交车中有新的乘客目标出现,找出并记录新出现乘客目标的坐标位置和数量,对增减乘客目标起始点的距离和位置坐标设置阈值判断乘客上下车并进行统计。

图6 为对乘客运动目标的检测过程,其中图6(a)、(b)为公交车前门获取的双目视图。为增加拍摄环境的复杂性,有多位乘客戴有黑色头巾;图6(c)是经过改进的神经网络立体匹配得到的视差图;图6(d)是经过Meanshift 预处理后的深度图像(已过滤公交车图像中的冗余嘈杂信息);图6(e)是经过区域生长法筛选后的人头轮廓;图6(f)是公交车中目标乘客人头检测结果,用白圈在目标乘客质心位置标记。

图6 实验结果

系统运行界面如图7 所示。为验证本文客流统计方法有效性,在公交车的前后门各配置一套基于双面视觉的客流统计系统。在各个系统中,双目摄像头垂直向下固定安装在公交车前后门正上方以获取乘客头顶部区域特征,同时使用窗帘和灯光调节公交车内的光线,并分别进行不同客流密度下的试验。在设计实验时,人员穿着不同颜色的衣服,从公交车前后门上下车,当前后门统计的数据与实验预设人数一致时,认为人数统计正确。重复上述实验50 次,结果如表3 所示,在光线较好(100lux~550lux)时客流统计的平均准确率达到了94.6%,而在光线较暗(5lux~60lux)的情况下,正确率达到了92.1%。结果证明,本文设计的方法有效降低光线、遮挡对客流统计精度的影响,基本满足白天与夜晚条件下公交客流统计的要求。

表3 不同密度和光照情况下客流量统计精确度的比较

图7 系统运行界面

6 结语

实现精准的客流量统计对于线路的规划以及车辆的调度都有重要意义,本文对公交车在不同光线和客流拥挤情况进行分析,并对因干扰和遮挡导致客流量统计不准确的问题进行研究。首先根据双目立体视觉原理来在对双目摄像机进行标定和校正,使用优化的MC-CNN 网络架构进行立体匹配来获得视差图,同时在KITTI2015 数据集上测试改进算法的有效性,证明本文立体匹配算法的有效性。在此基础上采用Meanshift 与区域生长算法对乘客的头部特征进行识别和计数。实验结果表明,采用立体视觉方法进行公交车客流量统计能够有效克服拥挤和遮挡以及光线变化等外部环境的影响,具有很强的实用性和推广前景。本系统仅在公交车中进行实际测试,未来,计划在公交车站以及地铁等客流量大的环境中对系统进一步测试验证及改进。

猜你喜欢

立体匹配视差双目
基于自适应窗的立体相机视差图优化方法研究
基于双目测距的卡尔曼滤波船舶轨迹跟踪
基于梯度域引导滤波的视差精炼迭代算法
影像立体匹配中的凸优化理论研究
基于互补不变特征的倾斜影像高精度立体匹配
基于分割树的视差图修复算法研究
改进导向滤波器立体匹配算法
基于双目视觉图像的长度测量方法
立体视差对瞳孔直径影响的研究
一种基于图像分割的立体匹配算法