喜报我院学子参加泰迪杯全国数据挖掘竞赛获得一等奖
Posted 嘉大数院团学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了喜报我院学子参加泰迪杯全国数据挖掘竞赛获得一等奖相关的知识,希望对你有一定的参考价值。
近日,2020年泰迪杯全国数据挖掘竞赛成绩公布,由嘉应学院数学学院的李云青、黄洪锐和雷兆杰三位同学(黄可坤老师指导)组成的队伍获得了全国一等奖(评奖比例低于2%)。他们完成的论文是《基于深度学习的电力巡检智能缺陷检测》,具体介绍如下文。
备注:泰迪杯数据挖掘竞赛是中国高校大数据教育创新联盟及泰迪杯数据挖掘挑战赛组织委员会主办,广东泰迪智能科技股份有限公司承办,广东省工业与应用数学学会、人民邮电出版社等协办的面向全国在校研究生和大学生的科技活动。本届竞赛于2020年3月1日正式开始,至2020年5月8日截止提交作品,历时两个半月,共计有来自全国300多所高校3044支队伍报名参赛。
基于深度学习的电力巡检智能缺陷检测
指导老师:黄可坤
随着我国经济的高速发展,对电力输电网设备等基础设施的安全运营也提出了更高的要求。
架空线路巡检作为保障输配电网正常运行的重要手段之一,一直以来都面临着网线分布广、设施布置复杂,巡线作业强度大、周期长,部分区域自然环境复杂恶劣等问题。传统的电网巡查方式是通过人工进行巡检的,但是该方法会存在许多问题,如:劳动强度大,工作效率低,在危险地段会危及到巡查工人的生命安危,人工录入数据量大,而且录入过程容易出错等等。
因此,在这次泰迪挑战赛中。我们使用无人机拍摄绝缘子图片,利用深度学习神经网络将自爆绝缘子自动识别检测出。
我们对所给图像分别进行放大、缩小、旋转、改变色彩和饱和度等变换,以扩充得到了 19 倍的图像集,并以固定的子块大小对每张图片进行切割分块, 得到 4 万多个子块作为训练样本。
我们在金字塔场景解析网络PSPNet用 20K 张图片 预训练的模型的基础上,我们用自己的子块图像及其二值掩模作为输入在一台具有 TitianXp GPU 的机器上进行训练。因为绝缘子的区域面积相对整幅图像比较小,我们还提出来了一种新 损失函数,对绝缘子区域的损失进行了加权,能更完整地提取绝缘子区域。我们的模型对训练样本能达到99%的分类精度,对未知的测试样本能达到98%的分类精度,对绝缘子区域的分类精度更高。原图的标准掩模图像与其相应预测结果掩模图像的 Dice 系数的平均值为0.8474。
提取了绝缘子所在区域的二值掩模之后,我们找出了每个连通区域,并提出了一种基于主成分的旋转和裁剪算法,把每串绝缘子单独切分成一个独立的图像,去掉一些噪音,并且旋转到水平方向,规范化为相同的尺寸128 × 2048。
把每串绝缘子的规范化图像及其自爆点区域作为YOLO网络模型的输入进行训练,由于图像样本非常单一,我们利用K-means聚类算法设计了并指定了几种锚框,网络模型就能够以非常高的精度定位自爆点的位置,其IOU的平均值为0.8749。
我们对已知原图增强,增加图片的多样性,从而为训练模型提供更多的数据。通过增强我们将原有的数据翻了19倍,大体的增强类型有如下四种:图像缩放;图像翻转;图像旋转;色彩变换。
◇旋转后的图像◇
◇色彩变换后的图像◇
由于PSPNet的输入大小为713*713,所以我们继续对增强后的图片切块,使得每块图像都是713*713的大小。如果某个子块到图片边界不够713个像素,则补0填充。我们一共得到了4万多个子块图像及其掩模,作为PSPNet的输入进行训练。
◇分割后的图像◇
当然,我们不能把全部样本都用于训练,为了评估训练得到的神经网络的性能,我们把原来的40张高分辨率图像划分训练集和测试集。数据预处理流程如下图所示。
利用数据预处理得到的子块图像及其掩模,我们使用金字塔场景解析网络PSPNet进行语义分割。
对于本题的绝缘子语义分割,因为绝缘子的区域面积相对整幅图像比较小,而且只有一个类别,PSPNet原始的基于交叉熵的损失函数不能很好地提取绝缘子区域,即为了取得包括背景在内的识别率,可能会把一部分绝缘子区域误认为是背景。为了处理这个问题,我们提出来了一种新损失函数,对绝缘子区域的损失进行了加权,能更完整地提取绝缘子区域。PSPNet的网络结构图如下。
网络模型训练过程中的具体参数设置,如下表所示。
原始的PSPNet使用的是普通的交叉熵函数:
由于绝缘子的区域面积相对整幅图像比较小,即像素点绝大部分都是背景,所以交叉熵函数不能很好地描述绝缘子分割这种很不均衡的两类问题。为了处理这个问题,我们提出了一种新的损失函数:
也就是说对绝缘子区域的识别精度进行了加权,当lambda趋于0时,将更加关注绝缘子区域。
根据训练统计出的数据,我们绘制出 PSPNet 网络的训练过程参数的变化情况,如下图所示。
PSPNet网络的训练过程参数的变化情况图
我们可以看到,损失函数loss随着训练迭代次数的增加,损失慢慢变小;准确率softmax_accuracy随着训练迭代次数的增加,准确慢慢接近1。因此可以说明该方法的效果好。
测试样本的预测效果图
为了进一步得到更好地预测效果,我们将预测出的分割图像进行消除噪音。
原预测掩模图(左)以及过滤噪音后的掩模图(右)
为了进一步说明基于PSPNet方法的绝缘子串珠分割的有效性,我们将采用 Dice[1] 系数进行评价,即评价指标:
本文使用基于原图的标准掩模图像与其相应预测结果掩模图像的两个样本,计算两个样本的相似度,其Dice系数的平均值为0.8474。因此我们可以看出本文的绝缘子图像分割算法的效果非常好。
绝缘子区域规范化
提取了绝缘子所在区域的二值掩模之后,我们找出了每个连通区域,并提出了一种基于主成分的旋转和裁剪算法,把每串绝缘子单独切分成一个独立的图像,去掉一些噪音,并且旋转到水平方向,规范化为相同的尺寸。具体步骤如下:
直接利用python中的sklearn中的模块获得每个连通区域,每个连通区域用不同的颜色进行了划分。右图为用种子填充算法找到的连通区域。
对每一个连通区域,可能包含1个或2个并排的绝缘子串,我们找到其坐标集合,然后计算其协方差矩阵的特征向量,即为该坐标集合的主要方向和次要方向。右图为坐标点的主成分分析示意图。
把坐标集合中的点在两个特征向量投影变换。在新坐标系下,求得PCA1上的坐标之差的最大值作为长度l,PCA2上的坐标之差的最大值作为高度h。因为绝缘子串是长条的,如果l/h<3,我们认为是噪音,则忽略该连通区域。另外,我们通过直方图来判断是否是两个并排的绝缘子构成的连通区域。最后,裁剪出来的绝缘子的高度规范化为128个像素,长度按比例伸缩。然后把长规范化2048个像素,如果不够2048,则两边补0。
两串并排的一个连通区域投影点的直方图
一些绝缘子规范化后的图像
对于自爆点的定位,我们采用的是YOLO V3模型。
我们把每串绝缘子的规范化图像及其自爆点区域作为YOLO网络模型的输入进行训练,由于图像样本非常单一,我们利用K-means算法那设计了并指定了几种锚框,网络模型就能够以非常高的精度定位自爆点的位置。YOLO网络结构图以及其卷积结构与残差组成图。
我们为了方便YOLO 对每串绝缘子的规范化图像的数据获取,我们在规范化每张图片的同时获取到每张规范化的图片路径和其对应坐标,并存放到一个train.txt的文本文件中。其训练所用的绝缘子规范化图像及其自爆点坐标的部分数据及anchor数据如下表。
我们迭代了80次,每一次的batch为50。其训练过程如下表。
由图可以看出该模型对数据处理收敛的非常快,最终loss与val_loss达到了比较小的值,效果很好。
(4)通过训练好的模型预测绝缘子的坐标
将同样规范化的绝缘子图片通过已经训练好的模型进行预测,得到很好的预测效果(蓝色框为示例绝缘子自爆点位置框,红色框为自爆点预测效果框)。
我们根据对每张图片规范化的过程记录下来,最后再将每张规范化的图片按照规范化的逆过程执行即可还原到原坐标。
我们将采用 IOU系数对绝缘子自爆区域的准确性进行评价,IOU定位为:
我们直接采用规范化图片后的标准坐标及预测规范化图片后得到的坐标进行IOU评估,IOU的平均值为0.8749。效果非常好。
在PSPNet和YOLO网络模型的基础上,本文设计了一套基于深度学习与主成分分析的绝缘子自爆故障检测的智能算法。本文的主要创新性有以下三点:
提出来了一种新损失函数对PSPNet进行训练,对绝缘子区域的损失进行了加权,能更完整地提取绝缘子区域。
提出了一种基于主成分的旋转和裁剪算法,把每串绝缘子单独切分成一个独立的图像。
在YOLO网络的基础上设计并生成了训练数据和锚框数据,能够很好地针对绝缘子自爆点定位这一问题的特点。
实验表明,本文的方法能够在不同光照条件、不同拍摄角度以及复杂背景噪声干扰下的航拍图像中实现绝缘子串的识别与分割,且处理时间短、精度高、鲁棒性强。
点击文末左下方“阅读原文”即可查看论文
编辑:李云青|黄洪锐
审核人:黄可坤|罗丽叶
以上是关于喜报我院学子参加泰迪杯全国数据挖掘竞赛获得一等奖的主要内容,如果未能解决你的问题,请参考以下文章
喜报丨威职学子荣获“HTML5交互融媒体内容设计与制作”省赛二等奖!
第十届“泰迪杯”数据挖掘挑战赛B题:电力系统负荷预测分析 31页省一等奖论文及代码