[0041] 下面结合附图和实施例对本发明作进一步说明;
[0042] 本文采用模型简单训练时间短,运行时间短的神经网络SegNet(A Deep Convolutional Encoder‑Decoder Architecture for Image Segmentation)其具有训练准确率高、规格小、可视化的特点,并采用训练速度比较快的优化器Adam更新权值,并利用图像连续性快速更新网络模型中的Max‑pooling indeices,并将可视化图像结果进行置信估计,优化输出结果,提高准确率。
[0043] 本发明具体实现步骤如下:
[0044] 步骤1、搭建SegNet语义网络,用于输入检测道路的图像。
[0045] 如图1所示,SegNet是一种用于图像分割的深度卷积编码解码结构,采用核心的可训练的分割引擎包含一个编码网络和一个对应的解码网络,并跟随着一个像素级别的分类层,编码器网络的架构在拓扑上与VGG16网络中的13个卷积层相同都采用了same卷积,不改变图像的大小。在每个卷积层前会有一个bn(Batch Normalisation批量标准化)层和ReLU激活层,bn层将特征值进行标准化处理用于计算当前的学习率和其他参数,激活层采用ReLU作为非线性激活函数使训练网络收敛速度更快,最后使用max‑Pooling(最大池化)采样来缩小图片。解码网络借助采样得到max‑pooling indices(最大池化指标)将映射低分辨率的编码后的特征图扩展到输入分辨率的特征图,最后由soft‑max分类器计算每个像素占所有类别的概率,实现图像到图像的训练的过程,也称端到端的训练过程。
[0046] 步骤2、图像获取:
[0047] 利用车载摄影仪进行录像,然后获取检测道路的图像;由于每个车型的拍摄角度、像素度不相同,因此需要采用单一车种(例如均为轿车或均为suv车型或均为卡车等)在光线充足且连续行驶的视频中的图像作为基础图像输入数据集。
[0048] 同时采用多设备指导图象识别可以提高数据集的可信度,如采用道路固定的监测设备图像作为辅助人工判断,在同一时间下,车载摄影图像与监测设备图像应保持一致,如果相差过大,则该车载图像的可信度较低,不能作为训练数据集
[0049] 步骤3、对数据集中的基础图像进行训练
[0050] 解码器和编码器采用SegNet的方法,使用计算速度更快Adam自适应梯度法优化SegNet语义网络中的参数。使用交叉熵损失作为训练SegNet语义网络的目标函数,同时采用max—pool的采样方法对网络特征值进行提取;训练集(数据集)中的每个类别(例如:道路、天空和建筑像素占主导地位的数据集)中像素数量的变化超过预设阈值时,则需要根据图像真实类别进行不同地加权,或该图像超出所需范围,不可取。
[0051] 所述的Adam自适应梯度法,解决了SGD中学习率不能自适应的问题,同时具有较快的训练速度,协助网络更快的完成训练,具体实现如下:
[0052] Adam更新公式:
[0053]
[0054] 其中(2)对移动均值的更新,(3)对平方梯度的更新:
[0055] mt=β1mt‑1+(1‑β1)gt (2)
[0056]
[0057] 其中,θt—当前参数;θt+1—下一时间参数;η—学习率(步长因子);ε—非常小的参数(防止分母出现0);mt—指数移动均值(有偏一阶矩估计值);vt—平方梯度(有偏二阶矩估计值);gt—在时间跨度上的梯度值;β1,β2∈(0,1]—衰减率。
[0058] 和 分别是梯度一阶矩(均值)和二阶矩(方差)。当 和 初始化为0向量时,adam的作者发现他们都偏向于0,尤其是在初始化的时候和衰减率很小的时候(例如,β1和β2趋近于1时)。
[0059] 通过计算偏差校正的一阶矩和二阶矩估计量,从而抵消偏差:
[0060]
[0061]
[0062] 所述的采用max—pool的采样方法对网络特征值进行提取网络特征值的提取优化,具体实现如下:
[0063] 基于视频序列具有连续性的特点,在去模糊去不稳定后,图像的特征基本保证连续变化。因此训练网络时,采用层值相似化比较的方法,如SegNet中的解码器使用从相应的编码器接受的max‑pooling indices(最大池化指标)来进行输入特征图的非线性upsampling(上采样);这个想法来自设计用于无监督功能学习的架构;在解码网络中重用max‑pooling indics有多个实践好处:(1)它改进了边界划分;(2)减少了实现端到端训练的参数数量;(3)这种upsampling的形式可以仅需要少量的修改而合并到任何编码-解码形式的架构。
[0064] 所述的Max‑pooling indices提取操作如下:
[0065] 首先将整个图片的feature map(图像特征矩阵)不重叠的分割成若干个大小相同的区域,然后对每个区域提取该区域的最大值,并将其余数值舍弃。
[0066] Max‑pooling indeices是提取圈定区域的特征最大值,在图像连续的特点中可以采用图像圈定的偏移性值,对图像下一帧的indeices更新,进而加快下一帧的训练速度。
[0067] 步骤4、道路帧模糊性判断
[0068] 由于摄像机采集的视频序列具有连续性的特点。如果场景内没有运动目标,则连续帧的变化很微弱,如果存在运动目标,则连续的帧和帧之间会有明显地变化。
[0069] 帧间差分法(Temporal Difference)就是借鉴了上述思想。由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同。该类算法对时间上连续的两帧或三帧图像进行差分运算,不同帧对应的像素点相减,判断灰度差的绝对值,当绝对值超过一定阈值时,即可判断为运动目标,从而实现目标的检测功能。
[0070] 两帧差分法的运算过程如下:
[0071] 记视频序列中第n帧和第n‑1帧图像为fn和fn‑1,两帧对应像素点的灰度值记为fn(x,y)和fn‑1(x,y),将两帧图像对应像素点的灰度值进行相减,并取其绝对值,得到差分图像Dn。
[0072] Dn(x,y)=|fn(x,y)‑fn‑1(x,y)|
[0073] 设定阈值T,逐个对像素点进行二值化处理,得到二值化图像Rn。其中,灰度值为255的点即为前景(运动目标)点,灰度值为0的点即为背景点;对二值化图像Rn进行连通性分析,最终可得到含有完整运动目标的二值化图像Rn。
[0074]
[0075] 根据二值化图像Rn可以判断运动目标,由于车辆行驶过程中,如果两车速度相近,在道路上得到的结果是类似与对静止目标的检测。同时根据道路两侧场景的变换速度,二值化图像Rn会有较大的变化进而推算出道路车辆的行驶速度。
[0076] 当二值化图像Rn的区域值拟合性较高,超出预设值,则代表该时刻的图像拟合度太高不够准确,不能作为识别图像。当二值化图像Rn(x,y,t)与Rn(x,y,t‑1)变化较大,即图像的当前帧与前一帧相差较大,超出变化阈值,作为识别图像可信度不高。
[0077] 另外还可采用背景差法、光流场法的推算针对运动目标检测的高效方法。