城市监控视频采集和处理技术是智慧城市建设的关键技术. 目标检测算法是深度学习算法中重要的一部分, 已经在人脸识别、机械设备故障检测等领域有了较好地应用[1]. 在智慧城市案件图像识别领域, 目标检测算法能够根据事物的不同特征在一定重复学习的基础上, 精确判断图像内容的分类, 在一般城市案件识别中能够发挥重要作用, 如车辆违章停放、违规张贴广告等. 该算法还可以通过群体行为判断案件的严重性, 能够及时向系统反馈异常情况. 有效的城市案件图像识别技术对提高城市案件发现和处理效率, 节省城市人力物力资源有极大的影响[2]. 目标检测算法在目前城市管理案件图像自动识别的实际应用上还存在一定问题, 识别精度不高、检测速度较慢等. 有鉴于此, 本次研究以提高检测城市案件图像识别的速度和精度为目标, 构建了基于改进卷积神经网络的目标检测算法和图像评价网络模型.
1 基于卷积神经网络的目标检测算法 1.1 改进的卷积神经网络卷积神经网络训练模型会涉及到大量且复杂的计算, 其实质是通过卷积层将初始特征图像中提取出有效特征, 实现图像滤波[3]. 假设每个卷积层的初始特征图是
$x_j^l = f\left(\sum\limits_{i \in {M_j}} {x_i^{l - 1} * k_{ij}^l + {b_j}} \right)$ | (1) |
式(1)中,
对第l层的神经元的权重及更新值进行求解, 首先需要计算节点处的灵敏度
$\delta _j^l = \delta _j^{l + 1}W_j^{l + 1}^\circ f'\left( {{u^l}} \right) = \beta _j^{l + 1}up\left( {_j^{l + 1}} \right)^\circ f'\left( {{u^l}} \right)$ | (2) |
式(2)是位于第l层的j神经元的灵敏度
Bias基的梯度的计算表达式为[4]:
$\frac{{\partial E}}{{\partial {b_j}}} = \sum\limits_{u,v} {{{\left( {\delta _j^l} \right)}_{uv}}} $ | (3) |
卷积核梯度运算公式为:
$\frac{{\partial E}}{{\partial k_{i,j}^l}} = \sum\limits_{u,v} {{{\left( {\delta _j^l} \right)}_{uv}}\left( {p_i^{l - 1}} \right)_{uv}^{}} $ | (4) |
此次研究使用卷积神经网络对智慧城市案件图像进行自动识别, 检测网络的基础网络为VGGNet, 并增加了辅助层, 共有cnv5_3、conv4_3等8个卷积层, 其中cnv5_3、conv4_3卷积层提供小目标特征. cnv5_3、conv4_3两个卷积层可将图像中的某些具体特征进行提取分析, 从而提高识别精度. 小目标特征提取之后的图像将通过仪器处理最终输出尺寸相等的图像.
检测网络在进行训练模型时, 各网络层可能由于相互连接造成输入数据偏移或增大, 影响训练效果[5,6]. 为了加快训练速度, 防止偏移情况发生, 本次研究构建的卷积神经网络在传统模型的激活函数前加入批次规范化(Batch Normalization, BN)层, 将输入激活函数的所有数据进行均值和标准差归一化处理.
$\left\{\begin{split} & {\mu _B} \leftarrow \frac{1}{m}\sum\limits_{i = 1}^m {{x_i}} \\ & {\sigma _B} \leftarrow \frac{1}{m}\sum\limits_{i = 1}^m {{{({x_i} - {\mu _B})}^2}} \\ & {{\hat x}_i} \leftarrow \frac{{{x_i} - {\mu _B}}}{{\sqrt {\sigma _B^2 + \varepsilon } }} \\ & {y_i} \leftarrow \gamma {{\hat x}_i} + \beta \equiv B{N_{\gamma ,\beta ({x_i})}} \\ \end{split}\right. $ | (5) |
式(5)是BN算法的向前步骤, 其中B是单批次图像特征,
传统的神经卷积层在处理非线性和存在一定抽象化特征的图像时, 精确率和速度都有所下降. 针对智慧城市案件处理的特殊性, 本次研究构建的网络使用多层感知层. 针对城市案件图像特征复杂导致的网络参数过多的情况, 此次研究在原来网络的基础上加入一个函数逼近器. 研究构建的带逼近器的多感知层网络与传统线性卷积层对比情况如图1所示.
图1(a)是典型的线性卷积层, 图1(b)是加入1×1卷积之后的卷积运算网络. 函数逼近器的加入可以改变感知野中的网络结构进行抽象和非线性特征的提取. 相比于典型的卷积层, 改进之后的卷积层添加了一个1×1的卷积, 并加入了一个经过修正的线性激活函数, 表达式为:
$\varphi (x) = \left\{ \begin{array}{l} x,\;\;\;\;\quad {\rm{if}}\;\;{\rm{ }}x > 0 \\ 0.1x,\;\;{\rm{otherwise}} \\ \end{array} \right.$ | (6) |
式(6)中, x是输入数据. 当输入数据为正数时, 经过线性激活函数处理之后得到的数值为原数值. 若输入数据小于零, 则核函数将输入数值缩小十倍之后输出. 使用该线性激活函数可以降低特征图的维度, 扩大网络的应用规模, 进而增加卷积神经网络的深度和宽度.
本次研究构建的卷积神经网络算法流程如图2所示. 在图像信息的前向传播阶段, 算法会对初始权值进行随机赋值. 经过多层感知层、函数逼近器和池化层处理, 可以得到待测图像最为全面的特征. 之后全连接层会对多个隐含层的信息进行变换并传输至输出层. 输出层的输出结果与预期结果比较, 若误差函数满足要求; 则直接输出结果, 若不满足要求, 误差和权值信息反向传播, 算法对其进行重新赋值.
1.2 评价网络结构
BP神经网络的分布式存储和并行协同处理机制能够快速对的大量数据进行分析[7]. 典型的BP神经网络的拓扑图包含三层前馈网, 并且各层神经元只与相邻神经元之间全连接, 同层神经元之间无连接, 各层神经元之间无反馈连接.
智慧城市案件识别模型的评价网络结构示意图如图3所示, 共有输入层、隐含层和输出层3部分构成. 输入层的输入数据是案件图像中关键内容的中心偏移量x, y和尺寸w, h. 通过输入数据的正向传播和出现误差后实施的反向传播, 不断缩小误差函数值, 从而实现提高输出数据精确度的目的.
在对评价网络进行训练时, 需要将案件图像进行处理, 获取关键内容的主要数据. 这些数据输入训练网络, 通过图像分类和不同图像关键内容的区别进行BP神经网络的训练, 从而对案件类型做出准确地判断. 如果训练样本集的内容较少, 很容易出现训练结果拟合的现象[8,9]. 针对这一情况, 本次研究使用数据集扩充的方式增加样本数据, 对原始图片设置0°、90°、180°和270°的旋转角度, 从而扩充数据, 提升网络学习图像不变性特征的能力. 本次研究的损失网络可以分为两个部分: 回归误差和类别误差.
$L(x,c,l,g) = \frac{1}{N}{L_{\rm conf}}(x,c) + \alpha {L_{\rm loc}}(x,l,g)$ | (7) |
式(7)是本次研究的网络损失函数表达式, 其中c是置信度, l是预测框, g是真实的框. N表示匹配到的默认框的数量,
本次研究中目标物的位置损失表示如下:
$smoot{h_{L1}}(x) = \left\{ \begin{array}{l} 0.5{x^2},\;\;\;\;\quad {\rm{if}}\;\;|x| < 1 \\ |x| - 0.5,\;\;\;\;{\rm{otherwise}} \\ \end{array} \right.$ | (8) |
目标检测算法在对彩色图像进行处理时所消耗的时间和数据容量远超于处理灰色图像, 而智慧城市的管理系统要求目标检测算法能够快速对案件图像进行识别[10]. 由此, 灰度化图像的过程必不可少.
本次研究采用加权平均的方法对图像进行处理, 公式具体内容如下:
$F(i,j) = aR(i,j) + bG(i,j) + cB(i,j)$ | (9) |
式(2)中, 灰度化加权系数a, b, c分别取值为0.3、0.59、0.11.
案件图像的像素灰度值的公式为:
$\left\{ \begin{array}{l} Gray = 0.3R(i,j) + 0.59G(i,j) + 0.11B(i,j) \\ R = G = B = Gray \\ \end{array} \right.$ | (10) |
式(10)中, R为案件图像的红色分量, G为绿色分量, B为蓝色分量.
城市案件图像灰度化处理结果如图4所示. 图4(a)是未经处理的城市车辆违章停靠图像; 图4(b)是经过灰度变换之后的图像. 灰度化处理之后图像的关键信息的清晰度并未有下降, 并且明暗、阴影、对比等信息均可以通过对比不同部分的灰度值获取.
从案件图像中提取关键目标信息还需要克服背景和噪声因素影响, 本次研究采用灰度阈值化的方法提取图像的关键内容, 将复杂的背景设置为0, 前景目标值设置为255[11,12]. 由此经过处理之后得到的图像便只有黑色和白色两种颜色, 更加有利于对案件图像进行分析, 提高案件处理的速效率. 此次研究采用二值化方法, 通过最大类间差法计算得到:
$\left\{\begin{split} & u = {w_0} \times {u_0} + {w_1} \times {u_1} \\ & g = {w_0} \times {({u_0} - u)^2} + {w_1} \times {({u_1} - u)^2} \\ \end{split} \right.$ | (11) |
式(11)中,
$g = {w_0} \times {w_1} \times {({u_0} - {u_1})^2}$ | (12) |
式(12)是对式(11)的进一步推导. 当类间方差值取最大值时, 图像的前景和背景的差异度达到最大, 此时分割前景和图像背景的阈值为T处于最佳状态.
图5(a)是经过灰度化处理之后得到的案件图像, 图5(b)是经过灰度阈值化之后的图像. 经过处理之后, 图像仅有黑白两种颜色, 并且图像特征更加鲜明, 目标检测算法对图像的处理效率和精确度也会因图像特征的鲜明而显著提高.
2 目标检测算法模型识别效果检验 2.1 智慧城市案件图像数据集构建
目前在城市案件图像检测领域并没有明确的标准数据集, 本次研究以实际城市管理系统常见的案件为分类依据, 以网络上公开来源的案件图片为数据集来源, 以城市管理监控视频中提取的关键帧为补充, 构建了8个典型城市案件的图像数据库, 8种分类包括非机动车违章停放、共享单车违规停放、雨水算子损坏、井盖损坏、乱涂乱画张贴广告、暴露性垃圾、交通护栏破损和机动车违章停放等8类. 将不清晰、内容真实性存疑的图片进行删除, 最终得到的数据集中共有9345张图片, 每类城市案件约有1168张图片. 每类图片的60%为训练集, 其余图片为测试集.
图6是数据集中4类案件类型的示例图, 每张图片的案件类型具有鲜明的特征, 并无车辆、绿化、建筑等遮蔽物的遮挡. 8类典型城市案件类型的编号分别为event 0551、event 0552、unite 0550、unite 0100、event 0201、event 0102、unite 0211、event 0550.
2.2 目标检测算法识别效果分析本次研究对构建的基于卷积神经网络的目标检测算法的测试在Ubuntu18.04操作系统上进行, 采用TensorFlow深度学习框架. 研究提出的算法与Fast R-CNN、Faster R-CNN、YOLO、SDD算法的测试结果对比情况如图7所示.
图7是几种算法的对比实验结果情况, 本次研究构建的目标检测算法在8类典型城市案件图像的识别上具有较好的识别效果, 对各种类型的案件识别的准确率均在72%以上, 识别“乱涂乱画张贴广告”类型图像的准确率达到了83.4%. Faster R-CNN算法的识别效果略逊于本文算法, 但是相较于YOLO算法等具有较高的识别准确率. 这是由于本次研究构建的目标检测算法在卷积神经网络中增加了提取小目标特征的层数. 此次研究构建的自动识别技术的mAP值为76.8%, 高于其他技术.
图8是图像帧数为10 fps的情况下, 不同自动识别技术对测试集中所有图像的处理情况. 图像直观显示, 各类算法检测速度的情况为: SDD算法(48 s)>YOLO算法(47 s)>本文算法(40 s)>Faster R-CNN算法(32 s)>Fast R-CNN算法(25 s). 本次研究构建的算法处理图像速度处于中等水平, 并且与最高水平相差不大. 而检测速度最高的SDD算法的识别精确度最低, 实际应用价值不大. 本次研究构建的算法在图像识别精度和检测速度中有一定均衡, 在保证识别效率的同时, 也确保了识别的准确性.
以VOC2007+2012为数据集对100 Hz DPM、30 Hz DPM、YOLO、SDD以及本文算法进行训练和检测, 检测结果如图9所示. 从图中可以看出, 虽然100 Hz DPM的检测速度最高, 但是其检测精度却很低, 并不能满足城市案件处理中对识别算法精确度和处理速度的要求. 而本次研究构建的算法虽然在检测速度上处于中等水平, 但是精测精度最高. 由此证明该算法具有较优的有效性和鲁棒性.
3 结论
城市案件的发现和识别速度是体现智慧城市管理水平的重要标准之一, 传统的人工检测方式处理速度较慢、识别精度较低. 将深度学习与智能检测技术相结合是目前学术界研究的热点方向. 有鉴于此, 本次研究构造了基于改进卷积神经网络的目标检测算法, 运用多层网络结构提取小目标特征. 研究将改进之后的算法与YOLO算法等典型目标检测算法进行对比, 结果表明, 改进之后的算法相比于其他算法, 鲁棒性和精确度有了明显提升, 在检测准确率上可达83.4%. 本次研究提出的识别技术能够为建筑智慧城市、提升城市安全提供一定的保障. 但是目前缺乏标准、权威且成熟的城市案件数据集, 因此后续还需要进行数据扩充, 进一步检验自动识别技术的性能, 改进其中可能存在的问题.
[1] |
刘颖, 刘红燕, 范九伦, 等. 基于深度学习的小目标检测研究与应用综述. 电子学报, 2020, 48(3): 590-624. DOI:10.3969/j.issn.0372-2112.2020.03.024 |
[2] |
郭金虎, 顾曦文. 基于图像缺损和遮挡的目标识别算法研究. 光电技术应用, 2016, 31(2): 54-56. DOI:10.3969/j.issn.1673-1255.2016.02.014 |
[3] |
赖特. 基于模板匹配及人工神经网络算法的图像识别应用−MATLAB实现机动车牌号码辨识. 智能建筑与智慧城市, 2017(11): 45-48, 52. DOI:10.13655/j.cnki.ibci.2017.11.015 |
[4] |
姬晓飞, 秦宁丽. 光学遥感图像多目标检测及识别算法设计与实现. 计算机应用, 2015, 35(11): 3302-3307. DOI:10.11772/j.issn.1001-9081.2015.11.3302 |
[5] |
罗荣辉, 袁航, 钟发海, 等. 基于卷积神经网络的道路拥堵识别研究. 郑州大学学报(工学版), 2019, 40(2): 18-22. |
[6] |
申扬, 李巍, 刚毅凝, 等. 基于背景先验与低秩恢复的显著性目标检测方法. 计算机与现代化, 2019(1): 33-39. DOI:10.3969/j.issn.1006-2475.2019.01.007 |
[7] |
杨辉华, 张天宇, 李灵巧, 等. 基于MobileNet的移动端城管案件目标识别算法. 计算机应用, 2019, 39(8): 2475-2479. DOI:10.11772/j.issn.1001-9081.2019010232 |
[8] |
李隽, 王伟. 遗传算法优化神经网络在图像目标识别中的应用研究. 现代电子技术, 2017, 40(20): 111-113. DOI:10.16652/j.issn.1004-373x.2017.20.031 |
[9] |
张叶, 胡玉兰, 片兆宇. 基于局部空间冗余视觉信息抑制的目标识别算法研究. 微型机与应用, 2016, 35(1): 42-44, 48. DOI:10.3969/j.issn.1674-7720.2016.01.013 |
[10] |
单琳娜. 基于运动目标的图像识别及追踪技术应用研究. 佳木斯大学学报(自然科学版), 2018, 36(6): 880-882. |
[11] |
王婷婷, 潘祥. 基于卷积神经网络的目标检测算法研究. 长春师范大学学报, 2020, 39(6): 42-48. |
[12] |
张艳艳, 娄莉, 梁硕. 基于改进光流算法的运动目标检测技术研究. 智能计算机与应用, 2018, 8(1): 55-58. DOI:10.3969/j.issn.2095-2163.2018.01.013 |