基于CNN-SVM的“团雾”检测方法研究
作者: 俞浩 张雅丽
摘要:“团雾”是一种突发性强、能见度极低的恶劣气象现象,常见于高速公路路段。通过研究"团雾"检测方法,可以有效进行预警,减少由“团雾”引发的交通事故,并为自动驾驶技术提供关键的环境感知技术支持。因此,本研究提出了一种基于卷积神经网络(CNN) 和支持向量机(SVM) 的“团雾”检测方法。该方法保留了CNN在特征提取方面的优势,同时引入了SVM在分类任务上的强大性能,用SVM替代SoftMax分类器进行“团雾”图像的分类。通过对准确率、精确率、召回率和F1值的综合评估,验证了本研究改进的算法在高速公路“团雾”检测性能上有显著提升,为智慧警务提供了有价值的借鉴,并更好地应用于公安实战中。
关键词:高速公路“团雾”;“团雾”检测方法;卷积神经网络;支持向量机;智慧警务
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2025)08-0001-04
开放科学(资源服务) 标识码(OSID) :
0 引言
随着我国高速公路交通网络的不断建设和发展,车辆行驶安全问题日益突出。深入研究“团雾”检测方法,对于提升国家智能交通系统的安全性和运行效率具有重要意义。
“团雾”检测技术受到了国内外学者的广泛关注。在深度学习技术的推动下,国内研究者金小飞[1]深入研究了智慧高速公路场景中的“团雾”检测技术。他们运用卷积神经网络(CNN) 对雾天公路视频图像进行雾浓度级别的精准分类,创新性地结合了ResNet50和VGG16卷积网络,并引入自适应模块,显著提升了模型的收敛速度和识别精度,实现了对五个级别能见度的稳定识别,准确率均超过0.8。
王琦[2]等人提出了一种基于时间序列图像处理技术的“团雾”检测方法。他们从大量视频监控数据中提取信息,运用高斯混合模型获取背景序列图像,通过观察图像的对比度、灰度值及边缘特性,研究“团雾”产生时背景像素的变化趋势,并将这些特性值与能见度匹配,构建基于背景像素序列的能见度模型,比较相邻摄像头的数据以确定“团雾”的存在。
刘建磊[3]等人提出了一种利用彩色视频图像对比度模型和支持向量机区分“团雾”的检测算法。常荣[4]等人则提出了一种利用混合特征向量矩和SoftMax分类器对“团雾”图像进行分类的算法,通过优化训练后的分类器,实现对“团雾”图像的精准分类。
在国际上,早期研究已开始关注利用固定目标物的视频图像进行能见度检测。例如,李静[5]等人通过分析目标物亮度与距离的关系,成功实现了能见度的检测。KIM Y H[6]等人利用数码全景摄像机拍摄的时间序列图像,检测最远目标物以估算气象能见度。Li LI L L[7]等人提出了一种用于图像“团雾”检测的浅层卷积神经网络,详细设计了网络的框架和各组成部分。
1 卷积神经网络
卷积神经网络(Convolutional Neural Network, CNN) 在深度学习领域占据了重要地位。CNN的局部连接和权重共享等特性,使其具备平移、缩放和旋转等不变性,从而大大减少了模型的参数量[8-10]。本研究利用CNN构建“团雾”检测识别系统,这对于“团雾”检测具有重大意义。CNN的优势主要体现在以下几个方面:
1) 无须复杂预处理。CNN可直接对原始输入数据进行表征学习,无需进行去噪等预处理步骤。
2) 多层次特征提取。CNN能够从低级到高级提取特征,实现目标的全面表示。
3) 参数共享与稀疏连接。卷积核参数共享和层间连接的稀疏性大大降低了模型参数量,减少了过拟合风险。
4) 端到端学习。CNN采用“端到端”学习方式,输入数据信息后,根据任务需求直接输出预测结果。
1.1 卷积层
卷积层的核心功能在于多维特征信息的精准提取。每个卷积层由多个神经元组成,每个神经元与前一层中相邻的多个神经元相互连接,形成所谓的“感受野”。感受野的大小由卷积核的尺寸决定。卷积核在输入图像上有序地滑动,有效捕捉局部信息。卷积层的关键参数包括卷积核大小、步长和填充层数,这些参数的优化配置对提升模型性能至关重要。
1.2 激活函数
激活函数是非线性映射层的关键组成部分。其引入显著增强了网络的非线性建模能力,使网络能够表达更复杂的映射关系,从而提升网络的表征能力。
1.3 池化层
池化层的主要功能是简化卷积层输出的特征信息。在保持原有重要特征信息空间不变性的基础上,池化层实现了特征数量的显著减少,进而有效减少了网络参数量。池化操作使模型更关注于特征的存在性而非具体位置,赋予特征一定的不变性。图1展示了池化操作的整个流程,池化层内无参数。
在图1中,对于一个4×4的特征图,采用2×2的滤波器,步长(stride) 为2,无填充(padding) 进行池化操作。最大池化选择2×2区域内的最大激活值;均值池化则计算每个2×2区域内神经元激活值的平均值。通常,滤波器大小为2×2,步长为2。
1.4 全连接层
全连接层(fully-connected layer) 通常出现在模型的后几层,充当“分类器”的角色。全连接层存在一些局限性:1) 输入尺寸固定。全连接层要求输入图像的尺寸固定。2) 参数量大。随着网络深度增加,全连接层的参数数量急剧增加,容易导致过拟合并增加计算成本。3) 空间结构破坏。全连接层直接将三维特征图拉平处理,破坏了特征的原始空间结构。
为克服这些不足,全连接层可由1×1的卷积操作替代,以保留特征的原始空间结构。同时,全局平均池化(Global Average Pooling, GAP) 也是一种有效的替代方案,它支持任意大小的图像输入,参数量少,有助于避免过拟合并减少计算量。
1.5 输出层
输出层与最后一层全连接层紧密相连,通常采用归一化指数函数(softmax function) 或逻辑函数来输出分类标签,因此也被称为softmax层。
2 基于CNN-SVM的“团雾”检测方法
2.1 支持向量机(SVM) 分类器
支持向量机(SVM) 是一种强大的监督学习算法,广泛应用于分类和回归分析任务中。在“团雾”图像检测领域,SVM通过训练能够检测图像中的关键特征,实现“团雾”与“非团雾”图像的准确区分。
1) 特征提取。在应用SVM进行“团雾”图像检测之前,特征提取是关键的预处理步骤。此步骤涉及从“团雾”图像中提取能够表征其独特属性的关键特征,例如颜色直方图、纹理特征和形状描述符。通过提取这些特征,可以显著提高SVM模型对“团雾”图像的识别准确性。
2) 核技巧。SVM的核技巧是一种高级技术,允许算法在高维空间中自动寻找最优超平面,而无需显式地将输入特征映射到高维空间。根据不同任务需求和数据特性,选择合适的核函数可以优化SVM模型的性能。
3) 模型训练与验证。为了训练一个性能优良的SVM模型,需要使用带有标签的“团雾”与“非团雾”图像数据集。通过这些数据集,SVM可以学习如何根据图像特征进行分类。训练完成后,通过交叉验证等方法评估模型的泛化能力,确保模型在实际应用中的实用性。
2.2 卷积神经网络模型设计
为了有效检测“团雾”图像,本文设计了一个专门的卷积神经网络(CNN) 模型。该模型旨在捕捉图像中的局部特征,并逐层构建更为复杂和抽象的特征表示。
1) 网络架构。CNN作为深度学习模型,特别适用于处理图像数据。设计一个适用于“团雾”图像检测的CNN模型,需要考虑如何有效地捕捉局部特征,并通过多层次的网络结构构建高级特征表示。
2) 卷积层。卷积层负责提取图像中的局部特征。通过使用多个卷积核,网络可以学习到不同的特征,如边缘、纹理等。这些特征是后续分类任务的基础。
3) 池化层。池化操作通常紧跟在卷积层之后,用于降低特征的空间维度,从而减少计算量。同时,池化使特征检测更加鲁棒,增强模型的泛化能力。
4) 全连接层。在网络的深层,卷积层的输出被展平并通过全连接层,生成用于分类的高维特征向量。全连接层将学习到的特征映射到样本标记空间。
5) 激活函数。如ReLU(Rectified Linear Unit) 激活函数,能够在网络中引入非线性,使模型能够学习更复杂的特征。ReLU激活函数的使用能够赋予网络一定的稀疏性,减少参数间的相互影响,有助于缓解过拟合现象。
6) 损失函数与优化器。选择合适的损失函数和优化算法(如Adam) 对于网络的训练至关重要。损失函数用于衡量预测误差,优化器则用于最小化损失,提高网络的性能。
7) 数据增强。为了提高模型的泛化能力,采用数据增强技术,如旋转、缩放和裁剪,丰富训练数据的多样性,防止模型过拟合。
8) 模型调优。通过调整网络的深度、卷积核的数量和大小、池化层的策略等,进行模型调优,以达到最佳的识别效果。
9) 性能评估。使用测试集评估CNN模型的性能,关注精确率、准确率、召回率和F1分数等指标,确保模型在实际应用中的有效性。
2.3 基于CNN-SVM的“团雾”图像检测与分类流程
本研究所构建的CNN-SVM网络结构如图2所示。其中,C1和C2代表卷积层,P1和P2代表池化操作,FC代表全连接操作。
基于CNN-SVM的“团雾”图像检测与分类流程如下。
1) 数据输入。将“团雾”图像数据有效传输至系统输入层,为后续处理奠定基础。
2) 特征提取与转换。图像数据通过设计精良的CNN进行深度处理,利用卷积和池化操作精准提取关键特征。随后,这些特征通过全连接层高效转换,映射为一维数据格式,便于后续分类器处理。
3) SVM分类器输入。将全连接层输出的一维数据无缝对接至支持向量机(SVM) 分类器,利用SVM强大的分类能力进行进一步分析。
4) 分类结果输出。经过SVM分类器的精准计算与判定,最终得出“团雾”图像的分类结果,实现高效、准确的图像检测与分类流程。
3 实验设计
3.1 数据集
目前尚无公开的“团雾”图像可供使用,因此,本研究的数据主要来源于视频提取及网络爬取“团雾”图像。为确保数据质量,采用了人工筛选的方式,将不符合条件的图像剔除,获得了“团雾”天气图像和正常天气图像各250张,共计500张图像。图3展示了本实验数据集中部分“团雾”天气图像。为了确保数据的统一性和标准化,所有图像均被调整为30×30像素,并以JPG格式存储,其中训练集350张(“团雾”175张,正常天气175张) ,测试集150张(“团雾”75张,正常天气75张) 。
3.2 实验环境
本实验的操作系统为 Ubuntu 16.04,GPU为NVIDIA GTX 2080Ti * 1,CPU为Inter(R) Xeon(R) E5-2620 v4,内存 9 GB,Python 版本 3.7.0,深度学习框架TensorFlow 2.4.1,辅助库NumPy 1.19.5、OpenCV 4.5.1、 scikit-learn 0.24.1。
3.3 实验性能评价指标
为了精准地对“团雾”图像进行分类,利用CNN技术提取“团雾”的关键特征,随后借助SVM进行精确的分类。准确率、精确率、召回率和F1值都是衡量模型性能的重要标准。根据具体的应用场景和需求,可以选择适合的指标来评估模型的性能,以便更好地优化模型并提高其实用性。