基于深度学习的OBD端口占用状态自动识别算法
苏东, 余宁梅    
西安理工大学 自动化与信息工程学院, 西安 710048
摘要

针对光分路器(OBD)端口占用状态不能自动采集的问题,提出了一种改进型YOLOv3算法.增加第4个上采样特征图,提升高分辨率下密集小物体检测敏感度;针对端口固定高宽比特征,利用k-means聚类算法重新确定目标候选框个数和高宽比;提出软非极大值抑制算法,缓解端口靠近且被遮挡情况下引起的漏检、误检;针对4种疑难生产场景下的端口占用状态完成检测.实验结果表明,改进后的YOLOv3准确率达90.12%,相比原YOLOv3提升了5.17%.改进后的算法对于端口类物体具有更高的检测准确率.

关键词: 光分路器     YOLOv3     聚类算法     软非极大值抑制     特征图    
中图分类号:TN913.7 文献标志码:A 文章编号:1007-5321(2019)06-0049-09 DOI:10.13190/j.jbupt.2019-180
Research on Automatic Recognition Algorithm of OBD Port Occupancy State Based on Deep Learning
SU Dong, YU Ning-mei    
School of Automation and Information Engineering, Xi'an University of Technology, Xi'an 710048, China
Abstract

Because that optical branching device (OBD) port occupancy state can not be automatically acquired, an improved YOLOv3 algorithm was proposed. Firstly, by adding the fourth upsampling feature map, the detection sensitivity of dense small objects at high resolution is increased. Secondly, for characteristics of the fixed height-width ratio of port, the k-means clustering algorithm is used to re-determine the number of target candidate boxes and the height-width ratio. Thirdly, the soft non-maximum suppression algorithm is proposed to alleviate the missed detection and false detection caused by the proximity and occlusion of the port. Finally, four difficult production scenario in the port occupancy state is detected to verify the performance of the improved YOLOv3 algorithm. Experiments show that the accuracy of the improved YOLOv3 is 90.12%, 5.17% higher than the original YOLOv3. In conclusion, the improved algorithm has higher detection accuracy for port-like objects.

Key words: optical branching device     YOLOv3     clustering algorithm     soft non-maximum suppression     feature map    

光分路器(OBD, optical branching device)是固定宽带接入网中用于对光进行分波与合波的器件,通常作为末端接入设备使用,每个OBD端口可接入一个宽带客户,所以端口数量通常作为承载宽带客户规模的关键网络指标.如图 1所示,OBD是一种基于石英基板的集成波导无源光功率分配器件,基于目前的技术能力无法像有源器件一样通过系统对端口占用状态进行远程自动采集,所以运营商只能依靠维护人员现场核查、系统记录的方式进行OBD端口资源管理.通过对某省主流宽带运营商的调研发现,随着宽带客户的不断增长和竞争的不断加剧,宽带客户由于更换运营商、乔迁等原因导致OBD端口变更比例约30%,端口资源的人工同步更新周期长,且成本高,造成端口资源准确率长期在70%左右,不准确的端口无法重新投入使用而成为巨额的沉默成本. 2018年10月23日市场研究公司Point Topic在德国柏林举办的宽带世界论坛(BBWF, broadband world forum)上公布了最新宽带运营数据.全球固定宽带在同年3季度达10.8亿,使用OBD接入的光宽带客户数达6.8亿.依据运营商50%的平均端口配置比例,全球已建成13.6亿OBD端口,结合上层网络建设成本单端口造价约80美金.目前人工资源管理准确率仅有70%,将有约4亿个不准确端口无法投入使用,沉默成本约320亿美金.因此,利用目标检测来实现OBD占用状态自动识别,替代人工现场采集,进而实现端口资源管理自动化,对于固定宽带运营降本增效有着十分重要的意义.

图 1 OBD图像
1 研究背景及相关工作

目标检测技术在计算机视觉领域有着广泛的应用,比如在交通检测、医疗等行业都有着举足轻重的价值.目标检测技术主要分为传统图像识别方法和基于深度学习的方法两大类.传统图像识别的方法依赖人为设计目标特征,如方向梯度直方图(HOG, histogram of oriented gradient)[1]、尺度不变特征变换(SIFT, scale-invariant feature transform)[2]等.然后利用设计的特征来训练分类器进行目标检测,如支持向量机(SVM, support vector machine)、朴素贝利叶、决策树、极限学习机(ELM, extreme learning machine)等[3].但人为设计的特征泛化性差,运算复杂度高,限制了实际应用.而基于深度学习的方法需要预先建立一个图像训练库作为学习模型,并利用卷积神经网络从图像像素中学习目标特征,通过特征训练获得检测模型,实现目标检测的目的.基于深度学习的方法不需要人为设计特征,只需针对不同检测场景来训练相应模型,其在检测精度以及泛用性都比传统图像识别方法更优.

基于深度学习的目标检测方法中可分为one-stage[4]算法和two-stage[5]算法. one-stage算法也称作端到端算法,算法直接产生物体的类别概率和位置坐标值,代表算法如YOLO[6]系列和SSD[7]等. two-stage算法将检测划分为2个阶段,首先产生候选区域,然后对候选区域分类,代表算法是R-CNN系列,如R-CNN[8]、Fast R-CNN[9]、Faster R-CNN[10]等.目标检测模型的主要性能指标是检测准确度和速度,对于准确度,目标检测要考虑物体的定位准确性,而不单单是分类准确度.一般情况下,two-stage算法在准确度上有优势,而one-stage算法在速度上有优势.由于one-stage算法在速度上更有优势,所以更具备工程化的优势. YOLO系列中的YOLO对相互靠近甚至重叠的物体以及小物体检测效果并不好,且泛化能力偏弱.而针对上述问题,YOLO系列的改进算法YOLOv2[11]和YOLOv3[12]先后被提出.在速度和准确率上综合表现最好的YOLOv3目前在密集鱼群检测、莲蓬密集种植等密集小物体领域的应用效果提升明显.

将OBD端口定位、状态识别转化为目标检测任务,基于YOLOv3算法针对OBD特点进行了相应改进.主要是增加第4个上采样特征图优化了跨尺度预测结构,通过聚类分析得到初始目标候选框个数与高宽比维度,提出了软非极大值抑制算法过滤候选框.在实验阶段采用迁移学习思想在COCO(common objects in context)数据集完成网络粗调,建立OBD专用数据集并采用数据增强完成数据集扩充,进一步完成网络精调,期间采用动态调整策略提升学习速率.最后基于测试库开展对比实验,证实了改进后算法的有效性与可靠性.

2 基于深度学习的OBD端口检测算法

OBD是固定宽带网络中应用最多的设备. OBD端口检测是指对OBD图片的端口进行定位并给出端口的占用状态.通过引入图像识别技术对OBD的端口进行检测,可以解决运营商对OBD端口资源管理,实现自动化的技术瓶颈. OBD端口检测是一个典型的目标检测问题.

2.1 算法选择

OBD端口检测的难点主要包括:1)检测环境的复杂性,OBD一般存放在机房以及机箱中,杂乱的尾纤与标签导致的遮挡、灰尘导致的异色老化、机房光线不足导致的拍摄光照不足等问题使OBD端口变得难以检测;2)OBD端口自身较小,且排列密集,目标框之间容易重叠,造成漏检、误检概率较大;3)OBD端口与其连接的尾纤插头种类繁多,造成结构、颜色不统一、不规则等,间接增加了检测的难度;4)在实际生产场景下,当维护人员进行OBD端口占用状态的图像采集时,需要实时查看检测结果来确定是否调整拍摄角度或者调整拍摄参数,所以对算法检测速度要求较高.

针对以上特性,YOLOv3与RCNN、SSD等算法相比,在检测准确率与检测速度的均衡性上优势明显,所以OBD的目标检测问题选用YOLOv3更适合.

2.2 算法优化

YOLOv3的基础网络Darknet-53结构如图 2所示,其主要是由一系列的1×1、3×3卷积层组成.其中每个卷积层后都会连接一个Batch Normalization层和一个LeakyReLU层.常用的输入图像尺寸是312×312、416×416及608×608均为32的倍数.

图 2 YOLOv3的网络结构

实际生产环境中普遍存在标签、尾纤等物体遮挡,连续多端口占用或连续多端口空闲的疑难场景,经常会造成漏检、误检.同时端口图像具有的高分辨率下小物体密集排列的特点,进一步增大了漏检、误检概率.因此,对YOLOv3算法进行了四尺度特征融合、目标候选框维度聚类、软非极大值抑制(SoftNMS, soft non-maximum suppression)[13]过滤边界框三方面改进,具体算法流程如图 3所示.

图 3 改进型YOLOv3算法流程
2.3 跨尺度预测优化

YOLOv3通过结合3个不同尺度下的特征图进行检测,如图 4所示.实际生产场景中输入图像多为1 088×1 280,甚至更大,在检测阶段会结合32×32、16×16以及8×8的特征图来对目标进行检测.尽管已经采用3个尺度的特征图来进行目标检测,但特征图的尺寸(32、16、8)相比于原图尺寸1 088×1 280已大大减少,高分辨率的特征在这3个尺度下已经得不到较好地体现.针对OBD图像高分辨率下小物体密集排列导致的检测准确率降低的问题,提出增加第4个尺度64×64的上采样特征图来进行检测.相对于原来3个尺度的特征图,4个尺度的特征图能更好地保留高分辨率下的特征,尤其对于小目标的敏感度提升比较明显.

图 4 优化后的YOLOv3的网络结构
2.4 目标候选框维度聚类

YOLOv3默认的目标候选框数量、高宽比维度是通过VOC 20类与COCO 80类数据集聚类获得,对通用领域的物体比较适用,但对OBD端口这类小目标密集排列的专用领域的物体并不适用.通过OBD图像分析发现,端口自身的高宽比为固定值且不会受到拍摄角度、多样化场景的影响,针对该特征可利用k均值聚类算法(k-means)基于训练数据集进行聚类,重新获得适应于OBD端口预测的最优目标候选框个数、高宽.聚类分析使用交并比(IOU, intersection over union),即候选框与真实框交集与并集的比值,从而减小候选框产生的误差,距离函数如:

$ d{\rm{( box, centroid ) = 1 - IOU(box, centroid)}} $ (1)

聚类的目标函数如:

$ S=\min \sum\limits_{i=0}^{k}[1-\operatorname{IOU}(\mathrm{box}-\operatorname{truth})] $ (2)

其中:k为anchor个数,box为候选框,truth为目标真实框.如图 5所示,当k大于9时,目标函数变化曲线逐步趋于平缓,所以选择k值为9,即anchor个数为9.

图 5 聚类误差变化曲线

同时可以获得候选框的高、宽聚类结果,当k为9时如表 1所示.

表 1 OBD候选框参数
2.5 基于软非极大值抑制算法的边界框过滤

当出现2个被检测的物体较为靠近、被遮挡的情况下,使用非极大值抑制算法容易过滤掉分数较低的边界框,容易导致漏检情况.然而,非极大值抑制算法中的阈值若设置过小会导致漏检,设置过大会发生误检.因此,提出了软非极大值抑制算法来解决上述问题.

软非极大值抑制算法如图 6所示. 3个输入BSNt分别表示初始的边界框集合、边界框对应的分数集合以及非极大值抑制的阈值.集合D用于存放最终的检测框,在集合B非空的前提下,搜索分数集合S中数值最大的数,假设其下标为m,那么bm就是对应的边界框存入M集合,然后将MD集合合并,并从B集合中去除M集合,再循环集合B中的每个边界框.若是非极大值抑制算法,当集合B中的边界框bi和集合M的IOU值大于阈值Nt时,就从集合B和集合S中去除该边界框.可以看出,非极大值抑制算法采用了较为简单的方式对边界框的评分进行s评分,重评分函数如式(3)所示:

$ s_{i}=\left\{\begin{array}{ll} s_{i}, & \operatorname{IOU}\left(M, b_{i}\right)<N_{t} \\ 0, & \operatorname{IOU}\left(M, b_{i}\right) \geqslant N_{t} \end{array}\right. $ (3)
图 6 软非极大值抑制算法流程

非极大值抑制算法通过目标边界框列表及其对应的置信度得分列表设定对应阈值,用阈值来删除重叠较大的边界框.

若是软非极大值抑制算法,对于B中的边界框bi同样先计算其和集合M的IOU,然后将该IOU值作为阈值函数的输入,最后和边界框bi的分数si相乘作为该边界框bi的最后分数.显然相对于非极大值抑制算法,软非极大值抑制算法对边框的重评分函数更为平滑.

软非极大值抑制算法中的平滑函数可以分为2种:一种是线性加权函数;另一种是高斯加权函数.这2种方法均是为了将非极大值抑制算法中的重评分函数进行平滑化.引入高斯加权函数,得到新的重评分函数如

$ s_{i}=s_{i} \mathrm{e}^{-\frac{ \mathrm{IOU}\left(M, b_{i}\right)^{2}}{\sigma}}, \forall b_{i} \notin D $ (4)

软非极大值算法引入高斯加权函数后,通过IOU值计算一个因子,该因子的计算函数区别于非极大值抑制算法中的不连续函数,该函数具有连续性.函数变化曲线如图 7所示,当采用图 7(a)中线性加权函数时,IOU未达阈值,该目标边界框分数为正常结果;当IOU达到阈值,则对该目标边界框分数置0.当采用图 7(b)中高斯加权函数时,目标边界框遵循IOU越大得分越低的原则.该因子与对应边界框分数乘积得到该边界框的最终分数,从而起到抑制多余边界框的作用.

图 7 2种加权函数的变化曲线
3 网络训练与实验 3.1 改进型YOLOv3训练策略

借鉴迁移学习[14-15]思想,第1步,基于COCO数据集[16]对改进型YOLOv3完成网络粗调.避免数据集过小导致过拟合现象,减小网络训练中陷入局部最优解的机会,检测准确率可提高3%左右.第2步,基于OBD数据集完成网络精调.为确保网络训练过程中损失函数曲线平稳收敛,采用动态调整学习速率的方法进行网络训练,学习速率调整为

$ \alpha=d \times \alpha $ (5)

其中:α表示学习速率,d表示衰减系数,0≤d≤1.具体做法为通过设置衰减系数,在一定次数的迭代之后动态更新学习速率.通过10万步完成训练,损失函数阈值最终为0.000 01,函数曲线稳定且收敛,效果较好.

3.2 超参数设置

实验使用的数据集是在施工现场采集到的图像数据,该批图像经过筛选,能覆盖90%以上的OBD施工场景,具有一定的代表性,数据集一共421张样本.深度神经网络需要大量数据训练才能保证结构的可靠性,为了提高网络的检测准确率,防止出现过拟合的现象,这里使用了数据增强来扩充训练集的规模.如表 2所示,用到的数据增强方法包括随机旋转、随机调整曝光度、饱和度.通过数据增强后的数据样本量达5 052张.

表 2 数据增强的超参数设置

为了保证训练过程能够平稳收敛,在训练时对学习速率进行动态调整,通过设置衰减系数,每经过一定的迭代次数后,动态更新学习速率,训练中在3.5万、4万步时分别进行了一次衰减.

改进型YOLOv3在训练过程中支持最小的图像尺寸320×320到最大的图像尺寸608×608为训练输入.网络使用中为了降低网络输出的差异,在预测阶段,均将图像调整为608×608作为输入. batch size是参考本实验平台硬件参数设定了每一步的输入为32个样本.在优化器的选择上,采用了Adam优化器[17].

3.3 实验配置与训练结果

实验软硬件配置如表 3所示.

表 3 软件硬件配置表

图 8为网络训练4.5万步的损失值收敛曲线.前期损失值曲线波动较大,从4万步开始收敛稳定,所以只截取了4.5万步,从整个损失函数变化曲线的收敛情况来看,网络训练效果还是比较理想.

图 8 改进型YOLOv3训练的损失变化曲线
4 实验结果 4.1 跨尺度预测优化前后性能对比

增加第4个尺度为64×64的特征图能更好地保留高分辨率下的特征,便于对高分辨率的特征进行捕捉,尤其是端口类的密集排列小物体检测效果提升明显.由表 4可知,mAP可提升2.98%.

表 4 跨尺度预测优化前后mAP比较
4.2 目标候选框维度聚类前后性能对比

输入新候选框以及原候选框的高、宽进行平均IOU计算,由表 5可知,新候选框的平均IOU相比原候选框的平均IOU提升了18.7%,可见新候选框对OBD端口适应性更好.

表 5 候选框方案对比
4.3 边界框过滤算法优化前后的性能对比

表 6可知,在不增加第4个上采样特征图的情况下使用软非极大值抑制算法过滤边界框,mAP提升0.58%.主要体现在对重叠目标检测性能的提升上,在样本中OBD出现大部分重叠端口属于低频情况,更多是部分重叠,因此对性能参数上的提升不是特别明显.在增加第4个上采样特征图的情况下使用软非极大值抑制算法过滤边界框,mAP相比原YOLOv3可提升5.17%.可以看出,四尺度融合特征图与软非极大值抑制同时使用的提升幅度相比2个优化点单独使用的性能提升累加值要高1.61%.说明算法优化点的联合改进对高分辨率下端口类小目标密集排列的情况效果更明显.

表 6 边界框预测算法优化前后mAP对比

对各个模型的验证集测试结果绘制ROC(receiver operating characteristic)曲线,以未占用端子作为负样本,占用端子作为正样本. ROC曲线给出的是当阈值变化时假阳率和真阳率的变化情况.左下角的点所对应的是将所有样例判为反例的情况,而右上角的点对应的则是将所有样例判为正例的情况.理想情况下,最佳分类器应该尽可能地处于左上角,这就意味着分类器在假阳率很低的同时获得了很高的真阳率.由图 9可见,4个模型分类器都能认定为较好的分类器,其曲线都处于图中左上角.改进的模型对OBD样本有更好的AUC(area under curve)值,即ROC曲线下的面积更大.是4个模型分类器中最好的分类器.

图 9 ROC曲线对比图
4.4 改进型YOLOv3的5折交叉验证分析

为了验证提出模型的可靠性和稳定性,对改进型YOLOv3进行了5折交叉验证分析.将全量样本平均分为5个子集,每个子集均做一次测试集,其余的作为训练集.交叉验证重复5次,实验结果如表 7所示.由验证数据可以看出,新模型具有较好的稳定性,在每个测试集获得的mAP数据相差不大.另外,通过交叉验证获得的平均mAP与对比实验中的mAP相差相吻合.

表 7 改进型YOLOv3的5折交叉验证数据对比
4.5 算法改进前后检测效果对比

改进后的算法有效地缓解了遮挡、连续多端口占用、连续多端口空闲等疑难场景下产生的误检、漏检问题.检测输出图像中蓝色方框表示空闲,红色方框表示占用.如图 10所示,图(a)中当左起第3端口到第7端口连续出现空闲端口密集排列时,左起第6端口被漏检,即无检测方框出现. 图 10(b)为改进后算法可正确检测的效果,即红色方框标注.可以看出,在未占用端口密集排列场景下,原YOLOv3方法容易导致漏检,而改进型YOLOv3能更好地检测到全部未占用端口.另外,得益于软非极大值抑制算法的优点,即使出现目标框之间部分重叠的情况,目标框也能更好地框住目标.

图 10 端口连续空闲下算法改进前后漏检纠正的检测效果

图 11所示,图(a)中当左起第2端口到第9端口连续出现占用端口密集排列时,左起第7端口被漏检,即无检测方框出现.图(b)为改进后算法可正确检测的效果,即红色方框标注.可以看出,图中检测的主要目标为占用端口,由于占用端口具有一定长度,若OBD安装带有小角度的倾斜,会导致目标框之间部分重叠的情况,改进后的YOLOv3能更好地处理目标框部分重叠的情况.

图 11 端口连续占用下算法改进前后漏检纠正的检测效果

图 12所示,图(a)为改进前检测效果,右起第2端口在白色标签遮挡情况误检为空闲状态,即蓝色方框标注.图(b)为改进后算法可正确检测出占用状态,即红色方框标注.如图 13所示,图(a)中左起第1端口在黄色尾纤遮挡情况下被漏检,即无检测方框出现.图(b)为改进后算法可正确检测左起1端口占用,即红色方框标注.可以看出,在遮挡场景下,改进后的YOLOv3对误检、漏检问题改善明显.

图 12 遮挡场景下算法改进前后误检纠正的检测效果

图 13 遮挡场景下算法改进前后漏检纠正的检测效果
5 结束语

针对OBD端口占用状态自动识别开展研究.通过对深度学习算法YOLOv3进行改进完成检测,主要改进点为增加第4个上采样特征图、目标候选框维度聚类、软非极大值抑制.改进后的YOLOv3算法在OBD端口占用状态自动识别测试中准确率高达90.12%,相比YOLOv3提升了5.17%.替代目前人工采集方式后固定宽带网络资源准确率可提升20.12%,若全球范围内推广应用可大幅节省成本,具有广泛的适用性.

参考文献
[1]
Llorca D F, Arroyo R, Sotelo M A. Vehicle logo recognition in traffic images using HOG features and SVM[C]//16th International IEEE Conference on Intelligent Transportation Systems (ITSC 2013). Hague: IEEE Press, 2013: 2229-2234.
[2]
Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110. DOI:10.1023/B:VISI.0000029664.99615.94
[3]
闫敬文, 陈宏达, 刘蕾. 高光谱图像分类的研究进展[J]. 光学精密工程, 2019, 27(3): 680-693.
Yan Jingwen, Chen Hongda, Liu Lei. Overview of hyperspectral image classification[J]. Optics and Precision Engineering, 2019, 27(3): 680-693.
[4]
Zhang X, Yang W, Tang X, et al. A fast learning method for accurate and robust lane detection using two-stage feature extraction with YOLO v3[J]. Sensors, 2018, 18(12): 4308-4320. DOI:10.3390/s18124308
[5]
Zhang J P, Zhang J M, Yu S. Hot anchors:a heuristic anchors sampling method in rcnn-based object detection[J]. Sensors, 2018, 18(10): 3415-3431. DOI:10.3390/s18103415
[6]
Redmon J, Divvala S, Girshick R, et al. You only look once: unified, real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas: IEEE Press, 2016: 779-788.
[7]
Liu W, Anguelov D, Erhan D, et al. Ssd: single shot multibox detector[C]//European Conference on Computer Vision. Amsterdam: Springer press, 2016: 21-37.
[8]
Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//2014 IEEE Conference on Computer Vision and Pattern Recognition. Ohio: IEEE Press, 2014: 580-587.
[9]
Girshick R. Fast R-CNN[C]//2015 IEEE International Conference on Computer Vision (ICCV).Chile: IEEE Press, 2015: 1440-1448.
[10]
Ren S, He K, Girshick R, et al. Faster r-cnn: towards real-time object detection with region proposal networks[C]//Advances in Neural Information Processing Systems. Montreal: MIT press, 2015: 91-99.
[11]
Joseph Redmon, Ali Farhadi. YOLO9000: better, faster, stronger[C]//2017 IEEE Computer Vision and Pattern Recognition (CVPR).Hawaii: IEEE Press, 2017: 6517-6525.
[12]
Joseph Redmon, Ali Farhadi. YOLOv3:an incremental improvement[J]. arXiv:Computer Vision and Pattern Recognition, 2018, 1804, 02767.
[13]
Bodla N, Singh B, Chellappa R, et al. Soft-NMS: improving object detection with one line of code[C]//2017 IEEE International Conference on Computer Vision (ICCV). Venice: IEEE Press, 2017: 5561-5569.
[14]
Ding J, Chen B, Liu H, et al. Convolutional neural network with data augmentation for SAR target recognition[J]. IEEE Geoscience and Remote Sensing Letters, 2016, 13(3): 364-368.
[15]
Pan S J, Yang Q. A survey on transfer learning[J]. IEEE Transactions on Knowledge and Data Engineering, 2010, 22(10): 1345-1359. DOI:10.1109/TKDE.2009.191
[16]
Lin T Y, Maire M, Belongie S, et al. Microsoft COCO:common objects in context[M]//Computer Vision-ECCV 2014. Zurich:Springer International Publishing, 2014:740-755.
[17]
Kingma D P, Ba J. Adam: a method for stochastic optimization[C]//International Conference for Learning Representations. California: arXiv preprint, 2014: 1412, 6980.