您的位置:首页 > 大数据 > 人工智能

【论文阅读】Detection of Airplanes on the Ground Using YOLO Neural Network

2019-05-30 15:58 1111 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_39228490/article/details/90481244

0.摘要

本文主要在从无人机和卫星从空中拍摄的照片中,探究使用艺术方法进行物体检测的算法的表现。主要研究了YOLO系列中YOLOv3和Tiny YOLOv3两种算法。用于物体检测的网络架构已经针对目标训练集进行过训练和适应。实验结论证明了他们有很高的检测能力和位置预测能力,以及具有实时处理速度的图形化处理单元。这个方法可以简单的用于地面上许多不同类的物体检测。

1.简介

无人机在人类活动的许多领域都扮演着重要的角色。无人机可以是远距离控制的飞行器(有一个地面飞行员控制),也可以通过一些飞行程序或者高级自动系统控制自动飞行。
无人机技术有包括低消耗、小规模、安全、依靠电力运行等一些优势,重要的是能否快速和按需获取图像。其中最重要的,他们是获取高分辨率远程遥感图片有力和有效的方法。近期快速发展的无人机技术带来了许多研究,最近无人机技术的快速发展导致许多研究提出了许多新的方法,用于无人机应用和图像分析相关领域,包括基础设施监视,火灾探测,植被监测,海洋表面监测,自然变化观测,灾害管理,交通监测等。他们中大多数可以视为对各种各样感兴趣的物体进行检测、识别、追踪。
本文中,我们考虑在城市区域自动运行的无人机上使用现代卷积神经网络架构进行目标检测和分类。本文给出了成功使用YOLO和Tiny YOLO架构,通过无人机对在地面上的飞机进行了实时检测。

2.现存的技术回顾

目标检测是计算机视觉中的基本任务之一,并且需要指出图像中的特征是否存在。当相应的特征检测到时,可以进一步判断出物体是否属于预先定义好的某些类,然后在检测得到的物体周围画上边框。
目标检测器基本分为三种:传统方法,两步方法,散步方法。传统检测器通过滑动窗口进行作用,每次在预定义的图像网格中应用分类器。最广为人知的方法是CNN和数字识别,由yanlecun提出;Viola和Jone人脸检测器及行人检测使用了定向梯度直方图的HOG方法。随着之后深度学习的发展,他们的表现更优于两步检测器。
更先进的方法使用候选区检测方法,首先过滤到图中不存在物体的北京区域,生成一组包含所有目标的稀疏候选区域,再在这些候选区域上目标检测器对物体进行分类。像这样的两步检测器是现在的主流。基于区域的卷积神经网络(R-CNN)在近几年获得的较大的改进和提升。
然而,另一种现代物体检测方式,称之为一步检测的方法,才是更接近人类识别物体方式的物体检测器。三种主要的方法以如下三个检测算法作为代表:SSD、YOLO、RetinaNet。大致上,他们的效率也和这个顺序相似。SSD平均检测精度大约低10~20%。YOLOv3有着类似两步检测器的检测效率,RetinaNet网络是迄今为止效率最高的艺术检测方法。然而,YOLOv3是他们中速度最快的,并且检测效率也可以接受。如下文所说,这一点对于自动无人机来说是一个很重要的因素。
回到无人机的操作,自动控制飞行程序可以被分为三个阶段。首先,原始数据在飞行中通过装配的传感器进行记录。接着,实时数据处理通过班上系统进行。最后一个阶段假定使用基于处理数据的自主决策方法。几个阶段都在毫秒级别的时间内处理完。其中最严格的部分在这儿就是第二个阶段,在此片上系统必须要支持被观测物体的实时检测和分类。
在这部分场景中,解决方法是使用基于CNN的单步检测器进行检测。值得一提的是,CNN网络一个强大的特点是他们天然的并行结构与GPU架构类似,因此可以使用GPU减少计算消耗。
随着GPU硬件发展的情形,GPU单元的价格和大小已经减少到可以接受的范围。这让设计一个应用于无人机的集成软件、硬件的轻量级、足够便宜、可以进行实时处理的模型。然而,在植入之前,CNN网络需要在更有力的环境中进行训练和测试。

3.YOLOv3网络结构

本文涉及的开源CNN算法使用C和CUDA编写,采用Darknet框架编译在一个开源平台上,本文使用YOLOv3第三代论文中的TinyYOLOv3加强版。
作为一个单步检测方法,YOLOv3最主要的优点使用单个神经网络检测整个图像。YOLO基于图片直接进行预测,而不是两步方法那样,先选候选区域,再对候选区域进行预测。各种尺度输入的图片会自动重新调整到416416的大小,因此,我们每次使用一个4164163的张量进行训练。实际上,该大小可以再一定范围内变化,如稍后给出的描述,那些特定值给出具有单个中心单元的奇数个单元的输出特征图。
网络使用Darknet-53作为基层网络,它是一个53层的特征提取深度神经网络。结构如表1所示。Faster或者Tiny YOLO 则简化了基础网络,使用了更少的层提取特征,结构如表2所示。


处理过程中,图片被等分为一定大小的小格。对于416416输入的图片来自说,小格的大小是13*13.每个小格负责一定数量的覆盖该小格的物体边框预测。
对每个边框的预测包括一下信息:边框中心的坐标,边框长,边框宽,接着可以通过预测计算小格在图片中真实的位置。
除了坐标之外,预测也对边框中包含的物体及其可能性进行预测。
除此之外,YOLOv3对不同尺度的物体检测尤其是对小物体的检测性能更佳。Tiny YOLOv3也是如此,但只有两个尺度。最终,重复的检测通过非极大值抑制消除。

4.CNN网络训练

尽管许多YOLO网络已经在知名的数据集上训练过了,但是CNN还是需要为了特定的目标进行进一步的训练。一些因任务而不同的参数如batch size,学习率,衰减,迭代次数,检测门限等等都需要进一步调优。epochs的数量也需要根据经验进一步调整。epoch指网络对所有的数据集进行一次训练。在批量训练中,输入数据按批送入网络,每次根据学习率不同更新权重。学习率即学习的速率。
我们的网络针对单个物体‘飞机’进行训练。所以我们得到的第一个输出的尺度应该是131318。
初步分析表明,用无人机拍摄的飞机图片和通常有很多物体的基础数据集是不同的。举个例子,许多PASVCAL VOC的数据集中的图片是从前面或者旁边拍摄的,而无人机的视角是从上往下。这这使得在一般数据集上训练的网络和从卫星或者从无人机上获取的数据进行训练得到的结果有明显差异。至于在网络训练过程中的数据增强,如下所示:1.随机缩放原始图像大小的变化高达60%,色调、饱和度和图像曝光在色调中分别随机分配0.1,1.5,1.5代表在HSV中的饱和度值模型。
图像大多来源于互联网和一些低空操作无人机的拍摄,如图例所示:

图片包含了许多类型的飞机,飞机的形状、颜色、尺度、分辨率、饱和度等差别很大。例如,选则图片以可以识别为前提。图像的质量由高清到全高清不等,飞机大约在10~100个像素左右。大部分图片包含1个以上的飞机,有时因为飞机过紧密会导致边框重叠。只有一些图片因为未标记而被剔除。剩下的只有一个飞机。所有的图片为日间拍摄。图片质量也由非常清晰到有噪声和失真。训练集包含204张图片,里面共有1245张图片。
在图片标记中使用了YOLO标记开源工具。训练使用了以下参数:batch size 64, momentum = 0.5, decay = 0.0005, base learning rate = 0.001,maximum iteration = 50000。学习率按如下规则改变,0 - 39999使用100%,40000 - 44999使用10%,44999 - 49999使用1%。

4.实验结果

希望对大家有帮助~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐