2. 山东鲁软数字科技有限公司, 济南 250001;
3. 国网山东省电力公司 青岛市黄岛区供电公司, 青岛 266500;
4. 解放军 9144 部队, 青岛 266102
2. Shandong Luneng Software Technology Co. Ltd., Jinan 250001, China;
3. Qingdao Huangdao District Power Supply Company, State Grid Shandong Electric Power Company, Qingdao 266500, China;
4. No. 9144 Troops of PLA, Qingdao 266102, China
电力系统对于国家安全有重要的意义, 而输电塔作为承载电力运输线路的载体, 输电铁塔是输电线路中最重要的基础设施之一, 起到支持高压或超高压架空输电线路中导线和避雷线的作用, 在整个电力系统中有着不可替代的作用[1]. 由于输电塔组成复杂, 存在许多类似于螺母的小部件, 传统的依靠人工巡检的巡检方式存在很大的弊端. 这种方式需要巡检人员近距离查看输电塔各部位, 并且由于人眼具有疲劳性的特点, 这种方式是不安全且效率不高的[2]. 由于输电塔一般建设在野外等人迹较少的地方, 并且各个地区对于输电塔的巡检图像数据比较少, 由于图像数据标注价值高, 并且涉及到地区数据隐私问题, 因此各地区不愿意分享本地数据.
在大多数情况下, 数据是以孤岛的形式存在的, 由于隐私安全、手续复杂等问题, 即使是在同一个公司的不同部门之间, 实现数据整合也面临着重重阻力, 在现实中将分散在各地的数据进行整合几乎是不可能的, 或者说耗费巨大. 同时, 数据隐私保护已经成为全世界关注的趋势, 给人工智能技术发展带来巨大挑战.
传统数据处理方法是的各方收集数据后, 再汇集到一起进行处理、清洗并建模. 但随着对隐私安全问题的重视, 各项保护数据安全的法律法规也逐渐完善, 如果数据离开收集方就可能会危害数据隐私从而出现隐私安全问题.
联邦学习是一种加密的分布式机器学习技术, 参与的各方可以在不上传底层数据的前提下共建模型. 它可以实现各个地方、各个企业的私有数据不出本地, 而通过加密机制下的参数交换方式, 使各个机构在不交换数据的情况下进行协作, 从而提升机器学习的效果.
为了有效地解决巡检效率不高和数据隐私的问题, 本文采用联邦学习与深度学习相结合的方法, 利用深度学习处理无人机巡检图像[3, 4]来进行输电塔螺母销钉缺失检测, 用联邦学习来保证数据隐私的问题, 参与训练的各方不需要将私有数据上传到一处进行整合处理, 用私有的数据各自训练, 从而在保证数据隐私的情况下获得一个高质量的融合模型[5], 不仅有效的提高了数据质量, 也极大地数据节约了整合成本.
1 引言 1.1 联邦学习目前, 数据安全问题已经成为热议的话题, 自从Facebook数据泄露之后, 重视数据隐私和安全已经成为了世界性的趋势. 为了解决数据隐私和数据孤岛的问题, 联邦学习变得越来越重要[6]. 2017年, 谷歌首次引入了联邦学习系统, 在数据保留在本地的情况下, 多个参与者共同训练, 该系统允许用户形成一个联合体训练得到一个集中模型, 而用户数据则安全地存储在本地, 这就解决了数据隐私问题[7]. 香港科技大学杨强教授和微众银行 (WeBank) 进一步提出了联邦迁移学习(federated transfer learning, FTL)[8], FTL 将 FL 的概念加以推广, 在不损害用户隐私的情况下进行知识共享, 以实现在任何数据分布、任何实体上均可以进行协同建模、以学习全局模型. Konečný等人通过修改神经网络和卷积神经网络, 结合联邦学习在MNIST数据集上取得了优异的效果[9]. Zhu等人利用简单的卷积神经网络训练隐私场景的文字识别, 利用4个卷积层和2个全连接层来训练, 经过梯度计算和参数更新更新最终的联邦学习, 最后联邦学习表现出优于基线模型的成绩[10]. Zhang等人将联邦学习与分类相结合, 将多个分类算法融入到联邦学习, 在检测COVID-19肺部医学数据方面取得了十分好的效果[11].
1.2 图像分类作为计算机视觉领域的基础任务, 图像分类是目标检测、语义分割的重要支撑, 其目标是将不同的图像划分到不同的类别, 并实现最小的分类误差[12].
传统的图像分类研究中, 多数为基于图像特征的分类[13], 即根据不同类别图像的差异, 利用图像处理算法提取经过定性或定量表达的特征, 之后对这些特征进行数学方面的统计分析或使用分类器输出分类结果. 传统的分类算法在特征提取方面, 主要包括纹理、颜色、形状等底层视觉特征, 尺度不变特征变换[14]、局部二值模式[15]、方向梯度直方图[16]等局部不变性特征, 这些人工设计特征缺乏良好的泛化性能, 且依赖于设计者的先验知识和对分类任务的认知理解. 目前, 海量、高维的数据也使得人工设计特征的难度呈指数级增加.
深度学习[17]相较于传统的图像分类方法, 不需要对目标图像进行人工特征描述和提取, 而是通过神经网络自主地从训练样本中学习特征, 提取出更高维、抽象的特征, 并且这些特征与分类器关系紧密, 很好地解决了人工提取特征和分类器选择的难题.
1.3 目标检测自从Hinton团队利用AlexNet[18] 在ImageNet[19]取得成功之后, CNN成为计算机视觉方向的重要工具. Girshick 等人首先将CNN应用于目标检测中, 在区域候选的生成算法中, 提出了选择性搜索(selective search)[20]等经典算法, 继而出现了RCNN的一系列变形: SPP Net[21]、Fast RCNN[22]、Faster RCNN[23]. Fast RCNN以及Faster RCNN的出现加快了RCNN用作目标检测的效率, 同时Faster RCNN 也是第一个能够端到端训练, 并且速度近乎达到实时的检测器. 2017年Ren等人[23]提出了RPN, 生成多尺度区域, 结合Faster RCNN实现了当时最先进的结果. 目前Faster RCNN算法性能仍然十分出色, 目标检测虽然已经取得了相当大的成功, 但是仍然离不开大量数据的支持, 特别是大量已标注好的数据. 然而现实场景中数据往往存在数量少、标注难、数据涉及隐私的问题, 达不到实际需求. 数据十分珍贵.
2 基于联邦学习的螺母销钉缺失检测算法本文提出的基于联邦学习的螺母销钉缺失检测算法的整体框架图如图1所示, 各节点利用本地用于检测的训练数据训练基于Faster RCNN的目标检测模型, 每训练完成一轮, 会将训练好的本地模型上传到中心节点融合, 中心节点在收到所有的局部模型后进行模型融合处理, 形成新的融合模型再下发到各训练节点, 各训练节点收到融合模型后, 在融合模型的基础上继续下一轮的迭代训练. 最后中心节点得到一个基于Faster RCNN的融合模型. 再利用本地用于分类的训练数据训练基于GoogLeNet[24]的分类模型, 上传中心节点进行融合, 最后中心节点得到一个基于GoogLeNet的融合模型. 将图像输入到ResNet50[25]中, 生成特征图, 同时RPN结构会按照预设的比例生成anchor作为初始检测框 , 在RPN层后链接一层全连接层来区分前景和后景并且对候选框进行修正. RPN 将生成的 anchor投影到特征图上得到对应的特征矩阵, 将每个特征矩阵通过 ROI pooling层缩放到统一的 7×7 大小展平, 最后通过全连接层预测检测结果, 将结果输入到分类融合模型中获得最终螺母分类结果.
2.1 联邦学习模型融合策略在训练过程中, 不同机器的数据大小, 机器效能, 训练速度会有差异, 有的节点训练速度比较快, 有的节点训练速度比较慢. 目前普遍的方法有同步通信和异步通信, 在同步通信的方式中, 中心节点需要收到所有训练节点上传的模型后, 才能进行融合推动下一轮训练, 导致整个进程受集群里最慢的节点的影响. 在异步通信中, 每个节点完成本地训练之后就把局部模型推送到全局模型上去, 并继续本地的训练过程, 而不去等待其他的节点. 在本文中各节点本地数据设置的总数差距不是很大, 因此在本文中采用的是同步通信方式, 中心节点收到所有训练节点上传的本地模型经过融合后下发各训练节点继续下一轮训练. 在融合过程中, 采用模型参数加权平均的方式进行模型参数融合, 就是将不同局部模型进行参数平均. 这种方式的训练过程如图2所示.
2.2 特征提取网络设计
如图3所示, 本文采用ResNet50作为特征提取网络, 相对于原始的VGG16网络, ResNet50用更多的网络层数来挖掘更深层的特征, 采用残差连接使得深度模型的训练比较容易, 克服由于网络深度加深而产生的学习效率变低与准确率无法有效提升的问题其中残差块如图4所示, 在残差网络单元中包含了跨层连接, 图中的曲线可以将输入直接跨层传递, 进行了同等映射, 之后与经过卷积操作的结果相加. 假设输入图像为 x, 输出为H(x), 中间经过卷积之后的输出为F(x)的非线性函数, 那最终的输出为H(x)= F(x)+x, 网络也就转化为求残差函数F(x)=H(x)–x, 这样残差函数要比F(x) = H(x)更加容易优化. ResNet包含49个卷积层和一个全连接层, 首先对输入数据进行卷积、正则化、激活函数和最大池化的计算, 之后包含4个残差块, 最后通过全连接层进行分类任务. 网络的输入为 224×224×3, 经过卷积计算, 输出为 7×7×2048, 池化层会将其转化成一个特征向量, 最后分类器会对这个特征向量进行计算并输出类别概率.
2.3 RPN候选区域大小及比例的设计
RPN的目标是代替selective search实现候选框的提取, 而网络不可能自动生成任意大小的候选框, 因此anchor的主要意义就在于根据特征图在原图片上划分出很多大小、宽高比不相同的矩形框, RPN会对这些框进行分类和回归, 经过微调后选取一些包含前景的类别框以及包含背景的负类别框, 送入之后的网络结构参与训练.在原始的RPN网络中每个点的anchor存在3种规模以及3种比例, 因此原始RPN每个点会生成9个anchor, 本实验中通过分析原始数据可以看出, 数据中的螺母面积占图像比例及其小, 不到百分之一, 并且拍摄角度有正面和侧面, 因此本实验中将scale设置为4、8、16、32, anchor的长宽比例设置为: 1:1, 1:2, 2:1, 即每个点拥有12个anchor.
2.4 损失函数设计Faster RCNN包括两个损失: RPN网络损失和RCNN网络损失, 每个损失又包括分类损失和回归损失, 所以需要定义一个多任务损失函数, 包括Softmax classification loss和bounding box regression loss. 分类损失使用的是交叉熵, 回归损失使用的是smooth L1 loss. 损失函数如式(1)定义:
$ {{L}}(\left\{ {{p_i}} \right\}, \left\{ {{t_i}} \right\}) = \frac{1}{{{N_{cls}}}}{\sum\nolimits_i^{} L _{cls}}({p_i}, p_i^*) + \lambda \frac{1}{{{N_{reg}}}}\sum\nolimits_i {p_i^*} {L_{reg}}\left( {{t_i}, t_i^*} \right) $ | (1) |
其中, i为anchor 的索引, pi 为第i个anchor预测为目标的概率, pi
$ {L_{c{\text{ls}}}}({p_i}, p_i^*) = - {\rm{log}}[p_i^*{p_i} + (1 - p_i^*)(1 - {p_i})] $ | (2) |
Lreg(·)为修正参数的损失函数, 表达式为式(3):
$ {L_{r{{eg}}}}({t_i}, t_i^*) = \sum\nolimits_{_{i \in [x, y, w, h]}} {smoot{h_{L1}}{\text{ }}({t_i} - t_i^*)} $ | (3) |
其中, smoothL1(·)为式(4)所示:
$ smoot{h_{L1}}(x) = \left\{ {\begin{array}{*{20}{c}} {0.5{x^2}},&{|x| < 1} \\ {|x| - 0.5},&{|x| \geqslant 1} \end{array}} \right. $ | (4) |
tx, ty, tw, th计算如式(5)–式(8)所示:
$ {t_x} = (x - {x_a})/{w_a} $ | (5) |
$ {t_y} = (y - {y_a})/{h_a} $ | (6) |
$ {t_w} = \log (w/{w_a}) $ | (7) |
$ {t_{_h}} = \log (h/{h_a}) $ | (8) |
其中, x, y, w, h是预测框中心的坐标和宽高, xa, ya, wa, ha是anchor中心点的坐标和宽高.
tx*, ty*, tw*, th*是真实标注框中心的坐标和宽高, 计算公式如式(9)–式(12)所示:
$ t_x^* = ({x^*} - {x_a})/{w_a} $ | (9) |
$ t_y^* = ({y^*} - {y_a})/{h_a} $ | (10) |
$ t_w^* = {\rm{log}}({w^*}/{w_a}) $ | (11) |
$ t_h^* = {\rm{log}}({h^*}/{h_a}) $ | (12) |
实验将各节点数据按9:1的比例进行划分, 将节点数据的1/10加入到整体测试集中用于模型评估, 剩下的部分作为节点训练集. 各节点使用本地区无人机采集到的数据进行训练, 每一轮训练完成后将本地模型参数发送给中心节点, 中心节点采用加权平均的融合策略, 将收到的模型融合后下发到各训练节点, 训练节点收到融合模型后继续在融合模型的基础上进行下一轮训练.
3.1 实验环境本次实验采用4个训练节点和1个中心节点的配置. 环境配置如表1所示.
3.2 实验数据
实验数据如图5所示, 分别在多个地方利用无人机拍摄输电塔数据, 经筛选共得到有效数据1 236张.
每个节点经过裁剪得后本地螺母分类数据, 分为两类: 螺母有销钉和螺母无销钉. 数据如图6所示.
3.3 数据预处理训练集规模对模型性能有明显的影响, 训练集数量越多, 训练出来的模型性能就越好. 因此本文通过图像缩放、图像旋转以及添加噪声来对数据集进行扩充.从而提升模型的鲁棒性. 经过扩充后的各节点数据集如表2所示.
经过预处理后的图像如图7所示. 图7(a)为无人机拍摄得到的原始数据与预处理后的数据, 图7(b)为裁剪后螺母原始数据与预处理后的数据. 其中第一行为原始数据, 第二行为预处理后数据, 使用的预处理技术有缩放操作、图像反转、高斯模糊.
3.4 实验步骤
本实验首先通过检测任务对螺母进行检测, 将结果输入到分类网络中进行分类任务, 最终判断螺母上销钉是否存在. 根据实验的要求对各节点的本地训练集进行了人工标注和处理, 然后把训练集进行有限次的迭代训练, 在本文中将迭代次数设置为20, 每迭代一次上传至中心节点进行模型融合后再下发至训练节点进行下一轮迭代. 最后在中心节点使用测试集在融合模型上进行测试, 分析融合训练出的模型与各节点本地模型的性能对比.各节点使用相同的超参数设置, 其中batchsize为16, epoch为20, 初始学习率为0.01, 学习率调整策略选择等间隔调整学习率的方法, 学习率衰减的gamma值为0.1.
3.5 实验结果与分析在本实验中, 我们对检测任务采用mAP指标进行评估mAP为各类别准确率和召回率曲线下的面积的平均值, 在分类任务上采用准确率进行评估.
各节点局部模型与中心融合模型在迭代20次后的准确率曲线如图8所示: 每个节点用各自的训练集进行训练, 这些训练集各不相同, 训练完成一轮后会上传到中心节点进行模型融合, 因此融合后的模型是各训练节点模型参数的集合, 所以融合模型具有比较不错的泛化性, 在训练曲线中可以看出在训练20轮的过程中, 在第13轮训练模型的准确率基本达到平稳.
可以看出经过中心节点融合后的模型兼容性更好, 因此对于测试集来说具有更高的mAP. 由于没有对各节点进行数据非独立同分布划分, 因此各节点数据集分布情况还是存在一定的相似性.
图9为各节点在训练过程中的损失收敛曲线.
分类任务的局部模型与融合模型在迭代20次后的准确率曲线如图10所示.
通过曲线可以看出融合模型相对于各节点局部模型准确率存在提升, 约在2%–4%之间, 由于本地数据与中心节点的数据比较相似, 因此在准确率上的提升不明显.
融合模型与本地局部模型的准确率与召回率如表3所示.
4 结论与展望
本文将联邦学习与目标检测和图像分类任务相结合, 在保证数据隐私的情况下进行同步训练, 根据螺母销钉形状特点, 重新设计Faster RCNN中anchor比例, 最后经过有限次的迭代训练与融合得到最优的融合模型. 实验结果表明, 融合模型相对于局部模型在检测和分类任务上均存在一定程度的提升, 融合模型具有更好的兼容性, 说明将联邦学习用于目标检测和分类任务是可行的, 可以有效的解决数据隐私情况下的联合训练, 得到一个兼容性更好, 性能更高的模型.
在本文中, 数据的相似性比较大, 没有对本地数据进行非独立同分布设计, 导致分类任务最后的提升效果不明显, 因此在后续工作中会对数据进行非独立同分布设计, 使各节点数据差异性较大, 这样最后融合模型效果会比较明显, 同时由于各节点数据较少, 解下来会对数据进行扩充, 通过数据增强的方式扩充实验数据.
[1] |
宋璇坤, 韩柳, 鞠黄培, 等. 中国智能电网技术发展实践综述. 电力建设, 2016, 37(7): 1-11. DOI:10.3969/j.issn.1000-7229.2016.07.001 |
[2] |
彭向阳, 陈驰, 饶章权, 等. 基于无人机多传感器数据采集的电力线路安全巡检及智能诊断. 高电压技术, 2015, 41(1): 159-166. |
[3] |
付昱玮, 李字明, 姜洪. 无人机巡线的发展和应用研究. 黑龙江科技信息, 2014(3): 25-27. |
[4] |
王万国, 张晶晶, 韩军, 等. 基于无人机图像的输电线断股与异物缺陷检测方法. 计算机应用, 2015, 35(8): 2404-2408. DOI:10.11772/j.issn.1001-9081.2015.08.2404 |
[5] |
杨强. AI与数据隐私保护: 联邦学习的破解之道. 信息安全研究, 2019, 5(11): 961-965. DOI:10.3969/j.issn.2096-1057.2019.11.003 |
[6] |
王健宗, 孔令炜, 黄章成, 等. 联邦学习算法综述. 大数据, 2020, 6(6): 64-82. |
[7] |
McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data. Proceedings of the 20th International Conference on Artificial Intelligence and Statistics. Fort Lauderdale: PMLR, 2017. 1273–1282.
|
[8] |
Liu Y, Kang Y, Xing CP, et al. Secure federated transfer learning. arxiv: 1812.03337, 2018.
|
[9] |
Konečný J, McMahan HB, Yu FX, et al. Federated learning: Strategies for improving communication efficiency. arXiv: 1610.05492, 2016.
|
[10] |
Zhu XH, Wang JZ, Hong ZH, et al. Federated learning of unsegmented Chinese text recognition model. Proceedings of the 2019 IEEE 31st International Conference on Tools with Artificial Intelligence. Portland: IEEE, 2019. 1341–1345.
|
[11] |
Zhang WS, Zhou T, Lu QH, et al. Dynamic fusion based federated learning for COVID-19 detection. arXiv: 2009.10401, 2020.
|
[12] |
周飞燕, 金林鹏, 董军. 卷积神经网络研究综述. 计算机学报, 2017, 40(6): 1229-1251. DOI:10.11897/SP.J.1016.2017.01229 |
[13] |
黄凯奇, 任伟强, 谭铁牛. 图像物体分类与检测算法综述. 计算机学报, 2014, 37(6): 1225-1240. |
[14] |
曾接贤, 余永龙. 双边滤波与暗通道结合的图像保边去雾算法. 中国图象图形学报, 2017, 22(2): 147-153. DOI:10.11834/jig.20170201 |
[15] |
Ye HM, Yan SL, Huang PL. 2D Otsu image segmentation based on cellular genetic algorithm. Proceedings of the 2017 IEEE 9th International Conference on Communication Software and Networks. Guangzhou: IEEE, 2017. 1313–1316.
|
[16] |
Cha YJ, You K, Choi W. Vision-based detection of loosened bolts using the Hough transform and support vector machines. Automation in Construction, 2016, 71: 181-188. DOI:10.1016/j.autcon.2016.06.008 |
[17] |
张军阳, 王慧丽, 郭阳, 等. 深度学习相关研究综述. 计算机应用研究, 2018, 35(7): 1921-1928, 1936. DOI:10.3969/j.issn.1001-3695.2018.07.001 |
[18] |
Krizhevsky A, Sutskever I, Hinton GE. Imagenet classification with deep convolutional neural networks. Proceedings of the 26th Annual Conference on Neural Information Processing Systems 2012. Lake Tahoe: NIPS, 2012. 1106–1114.
|
[19] |
Deng J, Dong W, Socher R, et al. ImageNet: A large-scale hierarchical image database. Proceedings of 2009 IEEE Conference on Computer Vision and Pattern Recognition. Miami: IEEE, 2009. 248–255.
|
[20] |
Girshick RB, Donahue J, Darrell T, Malik J. Rich feature hierarchies for accurate object detection and semantic segmentation. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014. 580–587
|
[21] |
Purkait P, Zhao C, Zach C. SPP-Net: Deep absolute pose regression with synthetic views. arXiv: 1712.03452, 2017.
|
[22] |
Qian RQ, Liu QY, Yue Y, et al. Road surface traffic sign detection with hybrid region proposal and fast R-CNN. Proceedings of the 2016 12th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery. Changsha: IEEE, 2016. 555–559.
|
[23] |
Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6): 1137–1149.
|
[24] |
Szegedy C, Liu W, Jia YQ, et al. Going deeper with convolutions. Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2015. 1–9.
|
[25] |
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 770–778.
|