基于CNN算法与无人机技术的临边护栏识别方法探索
2021-04-12王子豪周建亮周颖绮陈博华徐欣燕朱宏斌
王子豪 周建亮 周颖绮 陈博华 徐欣燕 朱宏斌
(1.中国矿业大学 国际学院,徐州 221116; 2.中国矿业大学 力学与土木工程学院,徐州 221116)
引言
随着改革开放进程的不断推进,国家经济快速发展,城镇化水平持续上升,建筑工程项目不断增多[1],生产安全事故起数也随之大幅增加。根据中华人民共和国住房和城乡建设部的统计数据显示,2018年1月至11月全国共发生房屋市政工程生产安全事故698起、死亡800人,比2017年同期事故起数增加55起、死亡人数增加47人,分别上升8.55%和6.24%[2]。其中,由高空坠落造成的安全事故占建筑业安全事故的48.2%[3]。因此,防范高空坠落事故的发生对于改善建筑行业的安全现状具有重要意义。高空坠落事故致因通常从人的不安全行为、物的不安全状态、环境因素三个方面进行分析[3],相较于人和环境因素而言,物的不安全状态的监管更具有可实施性,更有助于预防高空坠落事故的发生。在物的不安全状态中,临边防护是最为基础的部分,构建完善的建筑防护栏杆系统是预防建筑施工现场高空坠落事故频发的重要和有效的措施之一,可以有效降低事故发生率,减少伤亡人数,消除安全隐患。
对于防护护栏的监测,如果采用传统的人工监管方式,存在人力耗费、工作效率低下、数据缺乏客观性及说服力等缺点。与此同时,数据只能用于后期追责,做不到前期预防和防治[4]。如今,信息化发展逐渐成为时代主流,信息技术领域与其他领域的结合具有高效便捷且准确率高的特点[5]。针对目前国内研究相对较少的建筑施工现场临边护栏识别问题,本文通过无人机定期采集施工现场的图像,建立基于深度学习算法的图像识别模型,实现临边防护安全状况的快速分类,将有助于现场实时性能数据的采集和记录,并对采集到的图像数据进行及时的判断反馈,缩短发现不安全因素的时间,为项目管理和工程信息化管理提供数据支持,从而能够更有效地解决施工安全监测问题及进行风险规避。
1 研究背景
1.1 图像识别算法分类与选择
在人工智能技术不断发展的时代背景下,图像识别作为人工智能的一个重要方面,在各个领域得到了广泛应用。目前,较为成熟的图像识别算法主要分为三类:
一是基于手工提取局部特征的传统图像识别算法,如定向分布直方图、光流直方图(HOF)、运动边界直方图(MBH)等。传统图像识别算法将提取到的图像特征作为一组词汇,总结出各个词在图像中的出现频率,并使用频率直方图作为图像的特征表示。在建筑工程领域,传统图像识别算法中的定向分布直方图(HOG)曾被用来识别建筑工人与安全帽图像[6]; 光流直方图(HOF)、运动边界直方图(MBH)曾用于建筑工人动作识别[7]。
二是基于卷积神经网络(Convolutional Neural Networks,CNN)的分类目标识别算法。卷积神经网络是一类包含卷积计算的具有深度结构的前馈神经网络,其核心为卷积层,层参数由内核和滤波器组成。著名的CNN网络AlexNet曾在2012年的比赛中拿到冠军,从那以后,相继提出了很多网络(如GoogleNet、MobileNet、VGGNet等)。在建筑领域,CNN曾被用于屋顶检测[8]。
三是基于区域的目标检测算法,如Faster RCNN、YOLO等。Faster RCNN将目标检测实现模块(候选区域生成、特征提取、目标分类、位置精修)统一到一个深度网络框架之中,完全实现端到端的目标检测,检测准确率较高,但是速度相对较慢; 相比基于区域的方法,YOLO算法对边界框进行直接预测,可提高对目标的检测速度,但目标位置过于粗糙,准确率有所降低。在建筑领域,Faster RCNN和算法曾用于工人安全帽的识别[7]。
针对临边护栏的识别,能否识别护栏的完整性是图像识别的主要目标。对于传统的图像识别算法对模型的输入有严格的约束,包括尺寸,通道数及像素精度,而由于工地现场的复杂性,难以对临边护栏建立一个准确而复杂的特征模型,传统图像识别算法受到较大限制。对于基于区域的目标检测图像识别方法,由于临边护栏在图像中常常没有完整的分隔界限,常常无法准确找到其边界框,Faster RCNN等算法准确率会大幅降低。基于卷积神经网络的分类目标识别算法,通过使用具有不同结构的CNN网络模型,可以将一张图像的特征提取到不同的精度级别和多维空间中,经模型训练可准确提取到图像特征,从而实现临边护栏识别。因此,本文将采用卷积神经网络CNN算法对图像中临边护栏进行识别,构建一种针对建筑施工现场临边护栏的检测模型。针对CNN算法中常用的AlexNet、GoogleNet等5种主流模型,对现场采集的图像数据进行训练集验证,评估与比较该5种模型在临边护栏图像的识别性能。
1.2 无人机图像采集技术
无人机是由地面人员通过无线电遥控设备系统进行操控的不载人飞行器,以机载遥感设备如高分辨率相机、轻型光学相机等作为获取图像信息的方式,通过计算机对图像信息进行处理,可大量收集、存储、传回目标图像与视频信息。无人机体积小、机动灵活、使用成本低,适于近地面、高精度作业。
与建筑领域长期采用的人工巡检作业相比,使用无人机图像采集技术劳动强度更低、速度更快,尤其是其大大提高了信息采集的空间自由度,不仅不受到地面人员、交通条件的限制,也没有大型载人平台高度的限制,可以从零至数百米的不同距离、高度、角度上对建筑目标进行各种类型的信息采集作业,完成原来无法想象的高难度作业项目[9]。
本文实验中选用的无人机型号为大疆Mavic2专业版,该机配备有高分辨率摄像头、GPS定位系统,飞行控制系统等,降低了飞行操控难度,且能够获取较高精度的图片及视频; 同时为实现摄像机多视角拍摄的目的,无人机飞行过程中采取倾斜摄影的图像获取方式[10]。飞行中预设飞行速度为5m/s, 飞行高度为80m, 倾斜角度为-60°,完整的飞行耗时15m34s,拍摄大量施工现场临边护栏图像,用于后期模型的训练及测试。
1.3 问题的提出
针对无人机采集的施工现场图像,尽管卷积神经网络CNN算法相对于传统图像识别算法和基于区域的目标检测算法较为适用,但卷积神经网络具有多种算法模型,如AlexNet、MobileNet、ResNet、VGGNet和GoogleNet等均为CNN的主流算法,这些算法都可针对图像对象进行识别,哪种算法更适合与施工现场的临边护栏图像识别,其效果和效率是否能满足项目现场图像搜集速度与处理能力的需求,这将是本研究重点探究的问题。本文评估比较的五类卷积神经网络CNN主流算法的相关主要参数对比如表1所示,其中,
(1)AlexNet算法:相比传统深度学习模型,该算法使用线性整流函数(ReLu)作为激活函数克服了在学习网络较深时易发生的梯度弥散问题,同时在训练时使用Dropout结构随机忽略一部分神经元,以避免模型过拟合,除此之外,相比传统的CPU运行训练,AlexNet允许使用GPU进行加速,可显著提升训练速度。
(2)MobileNet算法:该算法具有轻量化的结构特点,在CPU中也能够达到理想的速度要求。该模型使用深度可分离卷积技术大幅度减少了参数量和计算量,同时由于加入了宽度因子和分辨率因子两个简单的全局超参数,允许研究人员依据约束条件选择合适大小的模型,并根据实际的需求来控制识别速度或识别准确率。
(3)ResNet算法:该算法在学习网络中融入了高速路神经网络(Highway Network)的结构,解决了传统的卷积网络或者全连接网络在学习过程中存在的信息丢失、损耗甚至梯度爆炸等导致较深网络无法完成训练的问题。
(4)VGGNet算法:该算法得益于其较小的间隔和卷积尺寸,以及在特定的层使用预训练得到的数据进行参数初始化的先天优势,可以增加网络深度来保证学习更复杂的模式,而且代价还更小。
表1 五种CNN网络主流算法的主要参数对比
(5)GoogleNet算法:该算法在深度和宽度方面均进行了改进,加入的可产生稠密数据的稀疏网络结构,不仅能强化其运算能力,同时抑制了训练时对计算资源的过度消耗,使得其相比于AlexNet,VGGNet等,深度、参数均较少,对应的性能却更加优越。
据此,本文在以往研究的基础上,提出一种基于CNN的临边护栏识别技术,使用5种主流卷积神经网络算法进行模型训练,并对5种算法的性能指标进行评估与比较,选出适用于护栏识别的最优算法。最后,通过检验试验对无人机拍摄施工现场临边护栏视频所截取图像进行识别与检测,以验证结论的准确性,弥补以往研究的不足。
2 研究方法与关键技术
2.1 基本流程
本文基于多种深度学习网络模型算法对施工现场图像中临边护栏进行识别。首先使用大疆无人机在施工现场采集一定数量的临边护栏图像作为训练集与测试集,因为采集到的图像数量比较少,并且无法直接输入深度学习模型,所以需要对图像进行相应预处理,使其满足识别要求; 然后使用AlexNet、MobileNet、GoogleNet、ResNet和VGGNet共5种卷积神经网络,根据模型训练和测试结果微调其网络参数,最终实现图像分类,之后对这5种网络性能进行对比分析,最终选出最优网络。本文的主要研究过程包括数据集采集与预处理、超参数确定、模型训练及比较和模型检验等步骤,其研究流程如图1所示。
2.2 CNN网络架构
卷积神经网络基本架构包括输入层、一系列中间层和输出层,其基本结构如图2所示:
(1)输入层
在使用CNN网络进行图像识别时,输入为一张宽为W1,高为H1,深度为D1的图片,表示为W1*H1*D1。在这里,深度为图像存储每个像素所用位数。通常输入图片大小为227×227×3或×224×224×3。
图1 临边护栏识别流程框图
(2)卷积层
卷积层由若干卷积核组成。卷积可以提取输入的不同特征,浅层卷积层只能提取一些低级的特征如角、线型和边缘等,深层的网络可以从低级特征中迭代提取更复杂的特征。图3为临边护栏经浅层卷积提取出的部分特征图。
图2 卷积神经网络基本架构示意图
图3 临边护栏经浅层卷积后提取出的部分特征图
(3)激活层
激活层可通过非线性环节来加强模型的拟合能力,突出图像的特征,有利于实现后续的特征识别,也有效解决了梯度消失而造成神经网络的收敛速度过慢的问题[11]。常见的激活函数有Sigmond,Tanh,Relu。依据不同的模型选择不同的激活函数。
(4)池化层
在卷积后使用池化操作来降低图像矩阵的维度,并且保持大部分重要信息。池化有最大值池化(Max Pooling)和平均值池化(Average Pooling)。最大值池化是将图像平均分割,每个分割块取最大值; 平均值池化则是取每个分割块的平均值。采用池化并不会影响识别结果,且可有效保留图像特征信息,极大提升训练效率。
(5)全连接层
全连接层中每个神经元与前一层的所有神经元进行全连接,可以进行数据降维,并整合卷积层中具有类别区分性的局部信息,起到分类器的作用。
2.3 超参数
在训练CNN模型之前通常需要设定一系列的超参数,包括优化算法、学习率(Learning Rate)及批样本大小(Batch Size)。本研究中所有的CNN模型皆使用基于动量的随机梯度下降算法(SGDM)实现并行化。随机梯度下降算法指每一次迭代计算最小批次的梯度,然后对参数进行更新,原理见公式所示。
gt=f(ωt)
ηt=α·mt/I
ωt+1=ωt-ηt
其中,ωt为待优化参数,α为学习率,mt为动量,I为冲量。SGDM在此基础上引入了一阶动量。
mt=β·mt-1+(1-β)·gt
式中,β取为经验值0.9,意味着t时刻的下降方向,不仅由当前点的梯度方向决定,而且由此前累积的下降方向决定。一阶动量是各个时刻梯度方向的指数移动平均值,能够在相关方向加速随机梯度下降(SGD),抑制振荡,从而加快收敛。学习率的大小会显著影响权重更新速度,学习率过高会使损失函数震荡,使模型不稳定; 学习率过低则会导致模型收敛过慢,影响训练效率。批样本为单次训练所选取样本数,其大小会影响梯度下降方向,从而模型的优化程度和速度。
2.4 模型评估指标
在评估模型检测的可靠性时,单纯的准确率(accuracy)并不能全面、有效地衡量模型效果,在样本不均衡的情况下,通常可引入精确率(precision)、召回率(recall)、F1值(F1-score)、ROC曲线及AUC等指标来综合评价模型优劣。根据正负样本的真实值与预测值定义FP(False Positive)、FN(False Negative)、TP(True Positive)及TN(True Negative)四个参数。FP为实际是负样本而模型判定为正样本,FN为实际是正样本而模型判定为负样本,TP为实际是正样本模型判定也是正样本,TN为实际是负样本模型判定也是负样本。参数表示见表2。
表2 TP、FN、FP、TN参数定义
由此可得精确率(precision)、召回率(recall)、F1值(F1-score)的表达式:
ROC曲线(Receiver Operating Characteristic)的横坐标为敏感性(False Positive Rate),纵坐标为精确性(True Positive Rate),其计算公式如下:
该曲线可以直观反映模型在选取不同阈值时敏感性和精确性的趋势走向,其形状不随正负样本的分布改变而改变,因此该评估指标能降低不同测试集带来的干扰,能更加客观综合地衡量模型本身的性能。AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积,AUC值越高,则模型性能越好。
3 护栏识别试验与实证
3.1 数据集采集及预处理
目前,由于没有一个完整的关于施工现场临边护栏的数据集,需要自行构建数据集。本文使用大疆无人机在施工现场拍摄到736张图像,其中包括408张护栏正样本(图片中有完整的护栏),328张非护栏负样本(图片中无护栏或无完整护栏)。将图像输入模型前需进行一定的预处理,步骤如下:
(1)数据增强。将每幅图像均经过平移、旋转、加噪、切割等处理,得到新的样本图像,以增加实验样本数量、提升模型的泛化能力及鲁棒性。
(2)调整图像尺寸。通过matlab中的imresize函数将照片统一为固定大小。
(3)归一化图像。在训练前所有图片均减去训练集图片的像素平均值,以达到消除公共部分,凸显个体特征的目的。
经过一系列操作,原始数据集数据量被扩充到3 600幅(正样本2 000张,负样本1 600张),并且无重复图像,预处理后的图像示例如图4、图5所示。本研究将训练集和验证集的比例设置为4:1。
图4 正样本示例
图5 负样本示例
3.2 超参数确定
超参数的最优值需通过多次实验进行确定。图6示出了AlexNet网络在学习率取值为0.000 1、0.000 5、0.001、0.005时训练邻边护栏识别模型的损失曲线。从曲线可以看出,学习率取0.001时训练效果最佳; 学习率取值为0.000 1和0.000 5时收敛速度过慢,训练效率变低; 学习率取值为0.005损失曲线有波动性,且损失值偏高,模型识别性能有所下降。批样本大小取128时梯度下降最为准确,再增加时训练效率及模型性能也无明显变化。其他4种网络使用相同方法确定超参数,最佳数值如表3所示:
表3 超参数设置
3.3 模型训练及比较
在Windows 10操作系统、3.20GHz双核处理器CPU、8GB内存平台上使用matlab2019搭建深度学习框架进行试验。
图7 5种CNN网络准确率曲线
表4 5种CNN网络识别性能对比
图7展示了AlexNet、GoogleNet、MobileNet、ResNet及VGGNet 共5种CNN网络使用迁移学习进行训练的验证准确率曲线。表4则分别从准确率(accuracy)、训练时间、精确度(precision)、回召率(recall)及F1值(F1-score)方面对比了5种卷积神经网络网络的识别效果。从曲线可以看出,5种CNN网络皆可有效实现护栏识别,准确率都达到了93%以上,但其收敛速度各有所不同。在训练初期AlexNet、MobileNet、ResNet三种网络收敛速度较快,在第一代(Epoch)时即可达到高准确率(>90%),并逐渐趋于平稳; VGGNet网络收敛速度较慢且波动性较大,模型稳定性较差。在准确率方面,MobileNet模型的识别准确率最高,达到98.51%,VGGNet和ResNet的准确率次之,比MobileNet低0.14%及0.28%。准确率最低的是AlexNet网络,只有94.44%。针对临边护栏识别,要尽可能提高对缺失护栏的识出率,故对精确度(precision)要求较高。在此种模型中,精确度最高的是MobileNet网络,故其识别特性最适合于临边护栏检测; VGGNet虽准确率很高,但其精确度值明显下降,故其识别特性与临边护栏识别适应性较差。在训练时间方面,VGGNet显著慢于其他网络,训练时间达3倍以上。综上各方面,MobileNet模型为最佳临边护栏识别模型。
图8 CNN网络ROC曲线对比
图8和表5分别示出了5种卷积神经网络模型的ROC曲线及AUC值,根据表中数据可看出MobileNet模型的AUC值最高,达到0.989 0,证明此种模型识别性能最佳,与前文结论一致。
表5 CNN网络AUC值对比
3.4 模型检验
通过检验试验验证模型比对结果及模型在施工现场实际应用的有效性。在某施工现场使用大疆无人机拍摄一段20mins的视频流,并针对视屏流按照1s/帧的速度进行截取,共获得1 200张检验样本。从中随机抽取800张照片(444张正样本,356张负样本)进行预处理后代入训练好的卷积神经网络模型中,并统计其识别结果。其检验识别结果见表6。ROC曲线见图9。
图9 CNN网络验证试验ROC曲线对比
表6 CNN网络验证试验识别性能对比
由模型检验实验结果可知,5种卷积神经网络模型皆可针对施工现场无人机采集视频流图像进行识别与检测,准确率都达到90%以上,识别结果如图10、图11所示。其中识别效果部分与模型训练结果部分基本一致,准确率及AUC值最高的是MobileNet,为97.75%和97.39%,识别效果最佳。VGGNet准确率有所下降,比ResNet低0.75%,精确率值显著降低,再次证明与临边护栏检测适应性较差。此检验验证五种模型中MobileNet模型最适合临边护栏识别,可有效满足施工现场实时安全检测要求。可促进施工现场安全管理,大幅降低由于临边护栏缺失带来的高空坠落等事故风险,从源头上消除不安全隐患。
4 结论
本研究针对施工现场临边护栏的识别检测问题,搭建5种卷积神经网络训练检测模型,并对模型识别性能进行对比与分析。主要结论如下:
图10 识别为安全图像示例
图11 识别为不安全图像示例
(1)使用深度学习框架搭建卷积神经网络模型,通过3 600张由大疆无人机在施工现场采集的图像构建数据集进行训练与测试。5种模型识别安全检测中临边护栏的准确率皆达到90%以上,验证了该方法可有效用于现场临边护栏安全检测,有助于消除施工现场不安全隐患,提升建筑业的安全管理水平。
(2)通过对5种CNN模型进行对比分析,可知针对临边护栏识别,MobileNet模型的识别效果最佳,识别准确率达98.51%,精确度达99.01%,回召率达98.28%,AUC值为0.989 0。该模型能够对图像中临边护栏缺失隐患取得良好的识别效果,具有实际应用价值。
(3)将深度学习卷积神经网络技术与无人机技术两种新兴技术相结合,提出针对施工现场临边护栏不安全隐患识别的解决方案。未来此技术可应用于其他施工现场不安全因素识别,实现施工现场安全监管的自动化与智能化。