仇建民 耿施健 王 超 沈 慧 闫 娜 蔡宇杰
中国电信股份有限公司江苏分公司
随着5G基础设施建设的全面铺开,运营商投资安装了大量的5G AAU设备,施工人员水平层次不齐,会出现5G AAU电源线接续不规范的现象。不规范的场景主要有两类:(1)线缆的屏蔽层被破坏,包括被剥得太多或者部分破坏;(2)接头有明显的的铜线裸露。
AAU电源线接续规范检验是工程验收的必备环节,传统方法通过人工在施工现场或者现场传回施工照片后再人工判断,效率不高,且随着现场管理质量规范的严格化,工程采集照片的数量增长迅速,人工审核的方式效率越来越低。本文引入图像识别等人工智能技术,实现5G AAU设备接续规范的自动判断,提升现场照片的审核效率,实现验收标准化,促进施工质量的提升,提升验收效率。
如今,基于深度学习的目标检测算法在各个领域都有广泛的应用,比如深度学习算法帮助分拣机器人实现目标的智能定位;在设备检测领域可以准确判断焊接点的异常;在电缆设备的异常监测中,目标检测算法可以协助定位地下隧道电缆设备异常状态。基于深度学习的计算机视觉技术取得了长足的进步,覆盖生活的方方面面。通用的目标监测算法,如YOLO研究已经较为充分,但是针对通信工程施工工艺检测,因不同专业的场景要求各异,现有的通用AI能力无法满足生产需要,亟需针对专业场景的目标检测方法。
本文将人工智能技术引入通信工程施工工艺检测领域,通过计算机智能识别相关质量要素,解决海量现场照片人工审核的工作量大问题,实现工程质量管理的数字化、智能化。深度学习的效果需要大量的数据支撑算法,但是目前通信工程施工领域中5G AAU设备续接异常的公开数据集较少,缺少数据支撑。本文收集了各市分公司1 890张5G AAU设备接续图片,构造出5G AAU设备接续规范数据集(AAU-ECSD),再用YOLOv5和MobileNetv2 进行迁移学习和fine-turning,实现了自动判断无线设备电源线接续合规性。
目前通信领域5G AAU设备接续规范异常的公开数据集较少,本文通过各分公司现场拍照采集了1 890张5G AAU设备接续图片,区分不同的场景、不同的电源接线类型、不同的角度、不同的光线、不同的背景等,构造了5G AAU设备接续规范数据集(AAU-ECSD)。
通过Imglabel工具,对1 890张样本分别打标签,区分head(接头)和line(线)。以MSS-00001.jpg为例,通过打标签,得到1 890张照片对应的xml文件。此数据集和标签用于后续目标检测模型的训练与验证。对已经区分的head和line,编写代码将所有图片的head和line单独裁剪为xxx_head.jpg与xxx_line.jpg,并再进行二次打标,标记为hege与buhege。
至此,已经构造了5G AAU电源接续场景的目标检测数据集(head、line)和图像分类数据集(hege、buhege)。此AAU-ECSD数据集将用于后续目标检测和分类模型的训练与验证。
为实现5G AAU电源线接续规范性自动识别,最基础的方法是直接使用CNN(Convolutional Neural Networks,卷积神经网络)对图像进行分类判断,判断是否合规,但是由于背景复杂、设备不规范等多种干扰因素,整体分类效果不佳。
本文先基于目标检测技术YOLOv5,设计了面向5G AAU设备的YOLO目标检测算法,检测出5G AAU的head(接头)和line(线);再通过构造5G AAU-ECSD(Equipment Connection Specification Data,设备接续规范数据集),设计了一种鲁棒性更好、准确率更高的基于YOLOv5和Mobilenetv2迁移学习的5G AAU设备电源线接续规范性自动识别方法。总体框架目标检测+分类流程如图1所示,输入5G AAU电源线接续图,将判断5G AAU电源线接续是否合规的步骤拆分为两步:首先利用面向5G AAU设备的YOLO目标检测算法,检测出5G AAU的head(接头)和line(线);再通过基于MobileNetv2的5G AAU电源接续异常分类算法,分别判断head和line是否合规,如果head和line中有一个不合规,则整体不合规;否则视为合规。
图1 目标检测+分类流程
此方法的优势主要在于通过目标检测,缩小并锁定图片中待分析的区域,极大地减少了照片的背景干扰等因素,确保最终判断的场景是围绕图片中有效的head和line。
面向5G AAU设备的YOLO目标检测算法采用YOLO系列的最新版本YOLOv5作为基础,调整YOLO的标签模型,使用5G AAU设备接续规范数据集中的标签按照9∶1比例生成训练集和验证集进行训练,修改YOLO模型中的分类函数,运行后提取标签中的分类及anchor box(锚框),用于后续训练,并定义分类数量及具体类别名。
再通过迁移学习,选用训练时间最短的YOLOv5s作为预训练模型,对修改的YOLO模型中生成的各类文件,分别修改相应的参数,包括weights、cfg、data等。考虑到GPU显存只有6G,设置相应参数,避免GPU内存溢出。迭代次数epochs设置为100,开始训练。最终获取最佳模型参数。
参考MobileNetv2网络结构,创建基于MobileNetv2的5G AAU电源接续异常分类模型,引入残差结构,先升维再降维,增强梯度的传播,显著减少推理期间所需的内存占用。
再通过迁移学习,使用预训练好的模型mobilenet_v2进行训练,考虑到GPU显存只有6G,设置相应参数,避免GPU内存溢出。迭代次数epochs设置为100,开始训练。最终获取最佳模型参数。
综上所述,本文提出的基于Yolov5和Mobilenetv2迁移学习的5G AAU设备电源线接续规范性自动识别方法,具体的求解过程如表1所示。
表1 基于YOLOv5和Mobilenetv2迁移学习的算法
(1)硬件环境
CPU为i7处 理 器,16核;GPU为NVIDIA FeForce RTX 3060。
(2)软件环境
IDE编程环境:Visual Studio Code;Python版本3.7;深度学习框架Pytorch版本1.7.0;CUDA版本11.0。
5G AAU设备接续规范数据集(AAU-ECSD),包含区分不同场景、不同电源接线类型、不同角度、不同光线、不同背景的1 890张5G AAU设备接续图片,已经全部通过Imglabel标注好标签。
(1)根据数据集创建训练文件
将5G AAU设备接续规范数据集(AAU-ECSD)中的1 890张照片和标签文件(xml),分别放入ImageSets和Annotations文件夹,编写make_txt.py,运行后提取出xml中的标签信息,并按照9∶1比例生成训练集和验证集。
编写voc_label.py,修改classes = ['head',’line’],运行后提取出标签中的分类及anchor box(锚框),用于后续训练。
以MSS-00001.jpg为例,运行voc_label.py后生成的label文件内容为:
0 0.3 3 1 8 4 5 2 3 8 0 9 5 2 3 8 1 0.5 2 5 5 4 5 6 3 4 9 2 0 6 3 4 9 0.646494708994709 0.2976190476190476
1 0.33928571428571425 0.8307291666666666 0.2718253968253968 0.33754960317460314
其中0、1分别代表head、line。
(2)配置yaml文件
生成自定义的yaml文件head-line.yaml,参考前面第1步生成的路径,定义训练集、验证集、测试集的路径,并定义分类数量及具体类别名。
(3)修改models模型文件
models有4个模型,选用训练时间最短的YOLOv5s作为预训练模型,故修改yolov5s.yaml文件,将其中的class改为2。
(4)迁移学习-使用预训练模型运行train.py
运行时按照前面生成的各类文件分别修改相应的参数,包括weights、cfg、data,其中YOLO.pt为YOLOv5预训练好的模型参数。考虑到GPU显存只有6G,设置batch-size=4避免GPU内存溢出。修改迭代次数epochs训练后保存最佳模型。
(5)使用最佳模型在测试集上进行检测验证
运行detect.py,这里的参数必须要加--save-crop,作用是YOLOv5将识别出的head和line进行单独裁剪并分别保存为head、line图片,将作为后续分类环节的输入。
通过交叉验证检查189张图片的检测结果,目标检测的准确率为95%,IDE运行结果是单张图片的检测时间不到0.1 s。
图1 展示了部分5G AAU设备的目标检测结果,第一行是5G AAU设备原图,第二行是面向5G AAU设备的YOLOv5目标检测算法的检测图,第三行和第四行分别是目标检测算法后保存的5G AAU设备的head和line。从图1可见,head和line均完整识别。
图1 目标检测结果示例
(1)创建模型
参考MobileNetv2网络结构,编写model_mobilenet.py,包括卷积层、池化层、线性激活层、反向传播等结构。
(2)迁移学习-使用预训练模型进行训练
编写class_train.py,修改num_classes=2,加载预训练好的模型mobilenet_v2.pth,设置epochs=100,batch-size=16,开始训练,并保存最佳模型。
(3)使用最佳模型在测试集上进行预测验证
编写class_predict.py,加载最佳模型,通过交叉验证将前文4.3(5)章节save-crop生成的结果进行预测。共计180张5G AAU设备接续原图,由于部分图片只含有5G AAU设备头,生成head和line共计332张,分类准确的head和line为305张,准确率达92%,IDE运行结果,可以看到单张图片的检测时间不到0.2 s。
如图2所示,本文展示出12幅基于不同类别、不同状态的5G AAU设备接续状态识别的实验示例图,分别如图中各列的情况,第一行是5G AAU设备的原图,第二行是面向5G AAU设备的YOLO目标检测算法的结果,第三行是YOLO检测算法检测出来的5G AAU设备的head,第四行是5G AAU设备的line,第五行是基于MobileNetv2的5G AAU设备head的异常检测状态,第六行是5G AAU设备line的异常检测状态。本文提出的5G AAU设备电源线接续规范性自动识别算法可以清楚地检测5G AAU设备电源线接续的规范性。
图2 5G AAU设备电源线接续规范head、line是否合规分类示例
本文针对5G AAU设备电源线接续规范识别场景,创新性的使用目标检测+分类两步动作:使用YOLOv5进行目标检测,检测出head和line,再通过MobileNetv2进行图像分类,分别判断head和line是否合规,成功实现5G AAU设备电源线接续规范的自动识别。通过迁移学习,在现有成熟的模型基础上进行fine-turning,极大地减少了样本的采集量和训练时间。最终模型的综合准确率达到90%以上,且单张照片的检测时间合计不超过1 s,性能和准确率均达预期目标。
本文的主要贡献:第一,收集了1 890张5G AAU设备接续的图片,构建了5G AAU设备接续规范数据集(AAU-ECSD)。第二,将人工智能技术引入通信工程施工工艺检测领域,提出的基于YOLOv5和Mobilenetv2迁移学习的5G AAU设备接续异常检测方法,提高了通信工程验收照片的审核效率,促进了工程质量管理的数字化、智能化。第三,通过引入本团队手工标注的5G AAU设备接续规范数据集,验证了通过迁移学习,只需要在少量的数据集上进行模型fine-turning,便可完成通用目标检测算法向通信工程施工领域的场景迁移。同时,后续工作中将尝试优化预处理过程,改善网络结构,进一步提升检测效果,并将该方法推广至通信工程施工工艺检测的其他场景。