朴实无华的数据增强然后训练一下应用在电网异物检测领域,好像有自己的数据集就能发文了

news2024/11/14 20:52:30

RCNN-based foreign object detection for securing power transmission lines (RCNN4SPTL)

Abstract

  • 本文提出了一种新的深度学习网络——RCNN4SPTL (RCNN -based Foreign Object Detection for Securing Power Transmission lines),该网络适用于检测输电线路上的异物。RCNN4SPTL使用RPN (Region Proposal Network)来生成区域提议的纵横比,以匹配外来物体的大小。RCNN4SPTL使用端到端训练来提高性能。实验结果表明,与原来的Faster RCNN相比,RCNN4SPTL显著提高了检测速度和识别精度

  • 论文地址:RCNN-based foreign object detection for securing power transmission lines (RCNN4SPTL) - ScienceDirect

Introduction

  • 维护输电线路的安全至关重要。在输电线路上悬挂的风筝、气球、塑料薄膜等异物会损害高压电力的分配,对输电线路下的行人和车辆构成威胁。因此,为了及时清除异物,检测异物是至关重要的。

  • 目前,检测异物的方法主要有两种:人工线路检测和无人机检测。由于输电线路通常要经过山川、公路、桥梁等复杂的地理环境,人工巡检存在很大的安全隐患。人工检测也存在效率低、效果差的问题。无人机巡检采用摄像机对高压输电线路进行巡检。尽管基于无人机的检测不受地理环境的影响,但仍然需要大量的人力来确定无人机返回的图像和视频上是否有异物

  • 已有图像形态学检测异物的研究,如图像中传输线的提取方法。基于图像形态学的检测的一般过程如下。首先,采用高斯滤波器、中值滤波器或双边滤波器去噪;然后应用Otsu(最大类间方差)对图像的背景和前景进行分割;最后利用霍夫变换提取输电线路,识别异物。由于地理背景的差异和各种天气条件的影响,很难对所有图像选择合适的灰度阈值。

  • 近年来,深度学习技术发展迅速,将目标检测和分类技术提升到一个新的水平。该神经网络对几何变换和光照具有较强的适应性。它可以根据输入的图像自动生成特征描述。Ren等人提出了RCNN,它是深度学习中基于区域提议的目标检测的先驱。对于生成区域建议的算法,有:Li等提出的选择性搜索。出现了一系列的RCNN变体:SPP Net、Fast RCNN和Faster RCNN。RCNN的速度和性能都比其他网络好。然而,在现阶段,faster RCNN被用于检测行人、水果等常见物体,没有人试图将其应用于检测外来物体。由于这类物体没有固定的形状,Fast RCNN很难提取有用的特征,增加了训练和识别的难度

  • 本文提出了一种基于Faster RCNN的新型神经网络模型RCNN4SPTL,用于输电线路上的异物识别。RCNN4SPTL模型可以自动提取输电线路上异物的各种相关特征,进而进行异物检测。与其他方法相比,该模型大大减少了人为干扰,提高了工作效率。

RCNN4SPTL design and implementation

The RCNN4SPTL model

  • 下图给出了RCNN4SPTL模型的整体视图。它由三部分组成。第一部分是共享卷积神经网络部分(SPTL-Net),提取图像特征生成图像特征映射;第二部分是区域提议生成网络(RPN)。它的输入是图像特征映射,输出是不同大小和比例的候选区域。最后是分类回归网络。它的输入是特征映射和目标区域建议。第三部分生成区域建议对应的固定维的特征向量,然后进行图像分类和定位。最后,RCNN4SPTL给出了目标的类别和位置。

    • 在这里插入图片描述

    • The RCNN4SPTL model

SPTL-Net

  • RCNN4SPTL采用SPTL-Net,使用更小的卷积核来提高特征提取的质量,在不影响检测性能的情况下减少神经元数量,提高训练和检测速度

  • SPTL-Net如下图所示。它有八层。前五层是卷积层,后三层是全连接层。第一个卷积层有96个大小为5 × 5 × 3的卷积核,以223 × 223 × 3过滤输入图像。卷积核的步长为两个像素。较小的卷积核有利于特征融合和精细特征提取。第二个卷积层有256个大小为5 x 5 x 96的卷积核,对第一层的池化结果进行卷积。第三个卷积层使用384个大小为3 x 3 x 256的卷积核进行相同的操作。第四层和第五层卷积层相互连接,它们之间没有池化层。第一个完全连接的层有4096个神经元。第二层完全连接层的神经元数量为1048个。

    • 在这里插入图片描述

    • SPTL-Net model

  • 卷积和池化操作分别使用公式(1)和(2)执行

    • o u t p u t s i z e = i m p u t s i z e − k e r n e l S i z e + 2 ∗ p a d d i n g s t r i d e + 1 o u t p u t s i z e = i n p u t s i z e − k e r n e l S i z e s t r i d e + 1 output_{size}=\frac{imput_{size}-kernelSize+2*padding}{stride}+1\\ output_{size}=\frac{input_{size}-kernelSize}{stride}+1 outputsize=strideimputsizekernelSize+2padding+1outputsize=strideinputsizekernelSize+1

    • 其中outputsize为输出图像的大小,inputsize为输入图像的大小,kernel size为卷积核的大小,pad为填充像素的大小,stride为步长。

Adjust the size and proportion of region proposals

  • RPN是一种卷积神经网络,它使用SPTL-Net生成的特征图作为输入,生成不同大小和纵横比的矩形区域建议。RPN首先使用一个3 × 3的滑动窗口在特征图上滑动;它将穿过窗口的地图上的每个位置投影到一个256维的特征向量上,然后将每个向量输入到接下来的两个完全连接的层中。带分类函数的全连接层产生2 x 9 = 18个分数,每个候选框对应两个分数,分别表示候选框中包含和不包含给定对象的可能性。带回归函数的全连通层产生4 x 9 = 36个校正参数。RPN使用这些参数对区域建议进行校正,每个候选区域对应四个校正参数。锚点(当前滑动窗口的中心)以原始图像为中心,产生具有三种尺度和三种纵横比的区域建议。RPN利用九个候选矩形区域来适应目标。三种尺寸分别为 12 8 2 、 25 6 2 、 51 2 2 128^2、256^2、512^2 128225625122,宽高比分别为1:1、1:2、2:1。

  • RPN为每个候选区域生成4个校正参数tx、ty、tw和th,并使用这4个参数对区域建议进行校正。式(3)~(6)为修正公式:

    • x = w a t x + x a , ( 3 ) y = h a t y + y a , ( 4 ) w = w a t w , ( 5 ) h = h a t h , ( 6 ) x=w_at_x+x_a,(3)\\ y=h_at_y+y_a,(4)\\ w=w_a^{t_w},(5)\\ h=h_a^{t_h},(6) x=watx+xa,(3)y=haty+ya,(4)w=watw,(5)h=hath,(6)

    • 其中,x、y为中心点的x、y坐标,w、h为校正后的候选区域的宽度、高度。Xa和ya表示候选区域中心点的横坐标和纵坐标,wa和ha表示校正前候选区域的宽度和高度。

  • RCNN4SPTL针对输电线路上异物的形状特征,调整区域建议的宽高比。因此RCNN4SPTL将1:1,1:2,2:1的纵横比改为1:1,2:1,3:1,因为在图像中,挂在传输线上的气球大多又细又长。RPN损失函数将候选框的分类分数与校正参数相结合。式(7)定义了损失函数。

    • L ( { p i } , { t i } ) = 1 N c l s ∑ i L c l s ( p i , p i ∗ ) + λ 1 N r e g ∑ i p i ∗ L r e g ( t i , t i ∗ ) L(\{p_i\},\{t_i\})=\frac{1}{N_{cls}}\sum_iL_{cls}(p_i,p_i^*) +\lambda\frac1{N_{reg}}\sum_ip^*_iL_{reg}(t_i,t_i^*) L({pi},{ti})=Ncls1iLcls(pi,pi)+λNreg1ipiLreg(ti,ti)

    • 其中I为区域建议的序列号, p i p_i pi为目标在第i个候选区域的预测置信度。 p i ∗ = 1 p^∗_i = 1 pi=1 表示第 i 个候选区域包含该对象, p i ∗ = 0 p^∗_i = 0 pi=0 表示第i个候选框不包含该对象。 t i t_i ti 是候选区域的预测校正参数, t i ∗ t ^*_ i ti 是对应于实区域的区域建议的校正参数。 N c l s N_{cls} Ncls N r e g N_{reg} Nreg 对公式(7)中的两个子项进行了规范化。用于控制两个子项的相对重要性。Lcls()为预测置信度的损失函数,如下式所示:

    • L c l s ( p i , p i ∗ ) = − l o g ( p i p i ∗ ) L_{cls}(p_i,p^*_i)=-log(p_ip^*_i) Lcls(pi,pi)=log(pipi)

    • Lreg()是修改后参数的损失函数:

    • L r e g ( t i , t i ∗ ) = ∑ i ∈ { x , y , w , h } s m o o t h L 1 ( t i − t i ∗ ) L_{reg}(t_i,t^*_i)=\sum_{i\in\{x,y,w,h\}}smooth_{L_1}(t_i-t^*_i) Lreg(ti,ti)=i{x,y,w,h}smoothL1(titi)

    • 其中smoothL1()如式:

    • s m o o t h L 1 ( x ) = 0.5 x 2 , ∣ x ∣ ≤ 1 ;    ∣ x ∣ − 0.5 , ∣ x ∣ > 1 smooth_{L_1}(x)=0.5x^2,|x|\leq1;~~|x|-0.5,|x|>1 smoothL1(x)=0.5x2,x1;  x0.5,x>1

    • 计算 t x ∗ , t y ∗ , t w ∗ t^∗_x, t^∗_y, t^∗_w tx,ty,tw t h ∗ t^∗_h th 的公式分别为:

    • t x ∗ = x 8 − x a w a t y ∗ = y ∗ − y a h a t w ∗ = l o g ( w 8 w a ) t h ∗ = l o g ( h ∗ h a ) t^*_x=\frac{x^8-x_a}{w_a}\\ t^*_y=\frac{y^*-y_a}{h_a}\\ t^*_w=log(\frac{w^8}{w_a})\\ t^*_h=log(\frac{h^*}{h_a}) tx=wax8xaty=hayyatw=log(waw8)th=log(hah)

    • 其中x *和y *表示实区域中心点的横坐标和纵坐标,w *和h *表示实区域的宽度和高度。 x a , y a , w a , h a x_a, y_a, w_a, h_a xa,ya,wa,ha 分别表示候选区域对应的坐标。

End-to-end joint training

  • Fast RCNN采用交替训练。首先在ImageNet上对模型进行预训练,初始化共享卷积网络,然后训练RPN。接下来,在ImageNet上使用预训练模型初始化共享卷积网络,并训练分类回归网络。然后确定训练好的共享卷积网络和分类回归网络部分参数,开始训练RPN网络。最后,Faster RCNN使用前一步训练的参数初始化整个网络,共享卷积网络和RPNs参数保持不变,并训练分类回归网络

  • 我们可以看到,交替训练意味着特征共享实际上是一种伪共享,这降低了网络的性能。因此RCNN4SPTL采用端到端联合训练,将RPN和分类回归网络作为一个整体,同时进行训练。

  • 首先,利用ImageNet预训练模型初始化分类回归网络和共享卷积神经网络的前两层全连接层;RCNN4SPTL使用均值为0,标准差为0.01的高斯分布随机初始化其他层,并执行端到端微调。在本次训练中,RPN与分类回归网络共同训练共享卷积神经网络,使RCNN4SPTL能够同时学习所需的特征。这种训练可以提高性能,得到更好的模型。

Image Preprocessing

  • 训练集的规模影响模型的性能。训练集越大,深度学习模型的检测效果越好。因此我们需要增加训练样本的大小。RCNN4SPTL采用图像预处理步骤:图像翻转、缩放和旋转来扩展训练集。这项研究使用了左右翻转;将所有图像缩放到400*400像素。RCNN4SPTL分别逆时针旋转图像20度、100度和220度,使RCNN4SPTL不变性。下图显示了一些预处理图像的示例。下图 (a)为原始图像,下图 (b)为预处理图像,分别进行图像翻转翻转、20度旋转、缩放操作。

    • 在这里插入图片描述

    • 预处理图像

Evaluation

  • 为了评估我们方法的有效性,我们使用以下硬件进行模型训练:NVIDIA GeForce GTX 1080TI with Intel i7 @2.40GHz x 6(6核)和16GB RAM。

Dataset

  • 在这个实验中有5000个训练样本图像。其中,有2000部电影,1000个薄膜和2000个风筝。测试数据集有500个图像,包括200个薄膜、100个气球和200个风筝。示例数据集如下图所示。对训练集进行人工标记和处理。我们对RCNN4SPTL的超参数进行微调,然后将训练集输入到网络中进行有限次数的迭代训练。最后,我们利用测试集来测试训练模型的性能,并在下一节中展示结果。

    • 在这里插入图片描述

    • 数据集示例

Experimental results and analysis

  • 下表显示了测试结果的准确率和召回率。实验结果表明,RCNN4SPTL在检测速度、准确率和查全率方面具有较好的检测性能。

    • 在这里插入图片描述

    • 性能比较

  • 在检测传输线上的异物的情况下,RCNN4SPTL比原来的Faster RCNN更适合检测异物。下图显示了RCNN4SPTL和Faster RCNN在检测气球、风筝和电影方面的结果。测试图片均来自真实场景(怀疑)。

  • 下图 (a)列出了使用RCNN4SPTL的检测结果,下图 (b)给出了使用Faster RCNN的检测结果。结果表明,RCNN4SPTL识别外来物体具有较高的置信度。

    • 在这里插入图片描述

    • RCNN4SPTL和Faster RCNN的目标检测结果

Conclusion

  • 及时检测和清除输电线路上的异物具有重要意义。在本研究中,我们首先使用特定的图像增强技术:图像翻转、缩放和旋转来扩展数据集。然后,根据输电线路异物的形状特征,提出了RCNN4SPTL网络,该网络对共享卷积网络和区域大小比例建议进行了优化。最后,我们使用20000次迭代的端到端联合训练来训练RCNN4SPTL。实验结果表明,RCNN4SPTL比传统的Faster RCNN更适合于对传输线上异物的准确识别。该cnn4sptl具有更快的检测速度,更好的识别性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/908389.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个炫酷的头像悬停效果 2

基于上次翻译的 🔥🔥一个炫酷的头像悬停效果 收获了不少同学的喜欢,原作者近期进行了优化升级。本文将升级后的核心实现过程进行梳理讲解,如果没看过第一期的推荐先看看第一期的实现过程。升级后的效果如下图所示。 gif动画效果如…

0008Java程序设计-JSP学生成绩管理系统设计与实现

摘 要目录系统实现开发环境 摘 要 随着网络的不断发展,一个好的成绩查询系统,不仅便于学生查询成绩、查询个人信息,而且有利于管理员对学生成绩的统一管理,考试之后学生能及时的对个人信息进行查看,减少了老师和学生之…

高性能MySQL实战(一):表结构 | 京东物流技术团队

最近因需求改动新增了一些数据库表,但是在定义表结构时,具体列属性的选择有些不知其所以然,索引的添加也有遗漏和不规范的地方,所以我打算为创建一个高性能表的过程以实战的形式写一个专题,以此来学习和巩固这些知识。…

09强化学习

强化学习有关词汇 state:对Environment的完整描述 action: 给定环境中所有有效操作的集合,通常称为动作空间 agent:执行action的模型 Environment:代理之外的所有部分。agent可以直接或间接的与之交互的一切,Agent执行操作时,Environment…

BarCodeWiz ActiveX Control Crack

BarCodeWiz ActiveX Control Crack BarcodeWiz ActiveX Control–只需单击按钮即可将所有基本条形码类型添加到Microsoft Office中。在Microsoft Word中,创建单独的条形码、标签页或合并文档。在Microsoft Excel中,选择单元格范围并自动将每个单元格转换…

css的常见伪元素使用

1.first-line 元素首行设置特殊样式。 效果演示&#xff1a; <div class"top"><p>可以使用 "first-line" 伪元素向文本的首行设置特殊样式。<br> 换行内容 </p></div> .top p::first-line {color: red;} 2.first-lette…

每日一题——判断是不是平衡二叉树

题目 输入一棵节点数为 n 二叉树&#xff0c;判断该二叉树是否是平衡二叉树。 在这里&#xff0c;我们只需要考虑其平衡性&#xff0c;不需要考虑其是不是排序二叉树 平衡二叉树&#xff08;Balanced Binary Tree&#xff09;&#xff0c;具有以下性质&#xff1a;它是一棵空树…

华为OD机试真题 Java 实现【通过软盘拷贝文件】【2023 B卷 200分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》…

C++的对象与类的含义

C是一门面向对象的编程语言&#xff0c;理解C需要掌握类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;这两个概念。 C 中的类&#xff08;Class&#xff09;可以看做C语言中结构体&#xff08;Struct&#xff09;的升级版。结构体是一种构造类型&#x…

SQL 盲注

问题描述&#xff1a; 解决方案&#xff1a; 通过建立过滤器方法 添加拦截器&#xff1a; web.xml 文件配置拦截器 <filter><filter-name>sqlFilter</filter-name><filter-class>com.fh.filter.SqlFilter</filter-class></filter> pack…

【链表篇】速刷牛客TOP101 高效刷题指南

文章目录 1、BM1 反转链表2、BM2 链表内指定区间反转3、BM3 链表中的节点每k个一组翻转4、BM4 合并两个排序的链表5、BM5 合并k个已排序的链表6、BM6 判断链表中是否有环7、BM7 链表中环的入口结点8、BM8 链表中倒数最后k个结点9、BM9 删除链表的倒数第n个节点10、BM10 两个链表…

Redis中的有序集合及其底层跳表

前言 本文着重介绍Redis中的有序集合的底层实现中的跳表 有序集合 Sorted Set Redis中的Sorted Set 是一个有序的无重复值的集合&#xff0c;他底层是使用压缩列表和跳表实现的&#xff0c;和Java中的HashMap底层数据结构&#xff08;1.8&#xff09;链表红黑树异曲同工之妙…

派森 #P122. 峰值查找

描述 给定一个长度为n的列表nums&#xff0c;请你找到峰值并返回其索引。数组可能包含多个峰值&#xff0c;在这种情况下&#xff0c;返回任何一个所在位置即可。 &#xff08;1&#xff09;峰值元素是指其值严格大于左右相邻值的元素。严格大于即不能有等于&#xff1b; &…

ARM体系结构学习笔记:过程调用标准AAPC、 ARM32调用约定、ARM64调用约定

参数传递的本质: 将上层函数变量复制一份, 传给下层函数. 过程调用标准AAPC(Arm Architecture Procedure Call) 有了标准, 才能够进行C调用汇编或者汇编调用C ARM32调用约定 参数是不同位数传参情况, 额外的参数被caller进行入栈, callee进行出栈 寄存器传参 寄存器返回 汇编…

交叉编译相关知识

1、目标板与主机之间的连接&#xff1a; 目标板和主机之间通常可以使用串口、以太网接口、USB接口以及JTAG接口等连接方式。 (1)、串行通信&#xff1a; 串行通信接口常用的有9针串口&#xff08; DB9 &#xff09;和25针串口&#xff08;DB25&#xff09;&#xff0c;通信距…

IDEA创建Mybatis格式XML文件

设置位置&#xff1a;File | Settings | Editor | File and Code Templates 选择Files&#xff0c;点击号 Name中输入xml模板名&#xff08;名称自行决定&#xff09;&#xff0c;后缀名extension输入xml&#xff08;固定&#xff09; 内容处输入Mybatis的xml文件模板内容&…

数据结构 - 线性表的定义和基本操作

一、定义 线性表是具有相同特性的数据元素的一个有限序列。 线性表&#xff1a; 由n(n≥0)个数据元素&#xff08;结点&#xff09;组成的有限序列。线性表中数据元素是一对一的关系&#xff0c;每个结点最多有一个直接前驱&#xff0c;和一个直接后继 二、线性表的基本操作 …

【AI绘画--七夕篇】:七夕特别教程,使用SDXL绘制你的心上人(Stable Diffusion)(封神榜—妲己)

目录 前言0、介绍0-0、结果展示0-1、Stable Diffusion0-2、sdxl介绍 一、云端部署Stable Diffusion1-1、云端平台的优势 二、平台介绍三、注册账号并且开始炼制3-1、购买算力并创建工作空间3-2、启动工作空间3-3、应用市场一键安装3-4、使用Stable-Diffusion作图 四、有女朋友的…

cuda gdb调试

如果cudaDeviceEnablePeerAccess函数不支持或不起作用&#xff0c;您仍然可以尝试其他方法来实现GPU之间的数据交换和通信。以下是一些替代方法&#xff1a; 通过主机内存进行数据传输&#xff1a; 如果GPU之间的数据交换不是非常频繁&#xff0c;您可以将数据从一个GPU复制到…

【c语言】五子棋(EasyX图形库+背景音乐)

大家好&#xff0c;有没有觉得写了好多c语言代码&#xff0c;面对的都是黑框框控制台&#xff0c;当我们学习了基础的c语言知识&#xff0c;和EasyX图形库后&#xff0c;终于可以和黑框框saygoodbye,今天要分享给大家的是小游戏五子棋&#xff0c;跟着小张一起学习吧 EasyX图形…