基于PaddlePaddle实现高尔夫球场的遥感检测(人工智能应用案例)

原文链接:https://www.paddlepaddle.org.cn/support/news?action=detail&id=2103

1 . 背景及意义

随着高尔夫球运动在我国的兴起,关于高尔夫球场大量占用土地资源、污染环境、耗水量大且公益性差的争议越来越多。国家从2004年开始制定一系列相关政策文件来控制高尔夫球场过度投资,2017年国家部委联合公布的高尔夫球场清理整治结果表明,我国高尔夫球场为683家。开展高尔夫球场用地监测,对发现新增高尔夫球场、核查清理整治效果具有重要意义。

高尔夫球场用地监测的核心问题在于球场检测。高尔夫球场用地量少面广,球场用地监测需要高频次、全覆盖数据支持。随着我国遥感技术的发展,大量的国产高分辨率光学遥感影像为场检测提供了有力数据支持。近年来,以卷积神经网络(Convolutional Neural Network, CNN)为代表的深度学习模型在遥感图像理解中得到广泛应用,具体到目标检测领域,基于区域建议的Faster R-CNN是当前主流算法框架之一。使用PaddlePaddle将Faster R-CNN应用于高尔夫球场遥感检测,并针对目标——高尔夫球场和数据——遥感影像开展优化,可为高尔夫球场检测与提供半自动化技术手段。

2 . 影像获取与处理
2.1 数据获取
标准高尔夫设施是指3杆洞、4杆洞的9洞或18洞等拥有传统长度和杆数的球场,其中9洞高尔夫球场面积在200亩以上,18洞高尔夫球场达900亩以上。标准球场一般包括会所区、球道区与管理区3个部分。

遥感影像数据收集前,应确定数据源、空间、时间、季节、质量要求等要素。

(1)数据源

数据源选择应遵循的原则为:在保证标准高尔夫球场检测精度的前提下有更大的幅宽。考虑到球场在8m分辨率多光谱中清晰可见,且高分一号A/B/C/D和高分六号均具可获取8m多光谱影像,因此本应用选择高分一号PMS多光谱影像开展球场检测。

(2)空间范围

以中国大陆地区为空间范围开展影像收集。

(3)时间范围

根据高尔夫球场数量2014年顶峰、2015年开始减少的情况,以2014年为主、其他年份影像为辅开展影像收集。

(4)季节

高尔夫球场受植被物候影响较大,考虑到我国南北差异,以省级行政区为单位,每个省级行政区内影像至少覆盖该地区春季、秋季两个时相,并以部分冬季数据作为补充数据。

(5)质量要求

影像尽量保证无云、无雾、无霾,目标地物形状清晰可见。

根据以上原则,共收集 2013-2017年409景高分一号PMS多光谱影像,其中2013年42景,2014年248景,2015年52景,2016年64景,2017年3景,影像可覆盖中国大陆地区高尔夫球场。不同背景中高尔夫球场影像如图1所示。
在这里插入图片描述
在这里插入图片描述

2.2 影像处理
(1)影像预处理

影像预处理的目的是消除卫星传感器、大气或者地形等造成的影像辐射与几何误差。本应用中预处理主要为正射校正。同时,为保证高尔夫球场面积统计准确性,选取Albers等积圆锥投影。

(2)球场标注

对影像中的高尔夫球场进行标注产生目标真值框,即利用目视解译勾绘高尔夫球场边界范围。标注时包含了每景影像内所有的高尔夫球场,同时保证了球场完整性。球场标注情况如图2所示(绿色框表示标注的高尔夫球场外接矩形)。
在这里插入图片描述

(3)影像裁剪

包括波段裁剪和空间裁剪。波段裁剪方面,高尔夫球场以植被为主体(约占70%),植被在近红外波段具有高反射特征,因此保留影像绿、红与近红外波段而形成3波段影像数据。空间裁剪方面,以球场为中心,在影像与目标地物边界的控制下,裁切出包含目标地物的1200×1200影像块。此外,通过最优线性拉伸生成8位影像数据。高尔夫球场训练影像裁切示意图如图3所示。
在这里插入图片描述

(4)样本增强

卷积神经网络是数据饥渴型模型,需要大规模样本进行训练,当训练数据较少时可通过裁剪、旋转、改变对比度、加噪声等方法扩充数据集样本的数量,对提高模型检测性能和泛化能力有着重要的作用。高尔夫球场数据增强主要采用的是多长宽比裁剪和多尺寸旋转两种方法,数据增强效果如图4所示。
在这里插入图片描述

利用上述增强算法,共形成662张裁切训练影像,经过多长宽比裁剪得到9000张小影像,然后再进行多角度旋转得到86963张小影像,最后训练集总共增广得到96625张小影像及对应标注文件(VOC2007格式)。

3 . 高尔夫球场检测方法
3.1 Faster R-CNN
Faster R-CNN可以看作特征提取网络、Fast R-CNN和区域建议网络(Region Proposal Network, RPN)的组合。

(1)特征提取网络VGG16

特征提取网络选择常用的VGG16,VGG16由牛津大学于2014年提出,该网络由5组卷积层、2个全连接层和1个全连接分类层构成,基本结构如图5所示。VGG16共有13个卷积层、3个全连接层,故称为VGG16。

在这里插入图片描述

(2)Fast R-CNN

Faster R-CNN结合了R-CNN与Fast R-CNN的优势,使用RPN直接预测建议框,把目标检测中特征提取、候选框生成、分类、预测框回归这四个基本步骤统一到一个网络框架中。候选区域生成由RPN完成,特征提取由VGG16完成,分类与预测框回归依旧沿用了Fast R-CNN,Fast R-CNN基本结构如图6所示。

在这里插入图片描述

(3)区域建议网络RPN

用RPN代替Fast R-CNN中的Selective Search是Faster R-CNN的核心内容,RPN的结构如图7所示。在RPN设计中,Faster R-CNN在特征图上采用滑动窗口,在这些滑动窗口中利用anchor产生建议区域,并且考虑到对应不同尺寸的物体,anchor共有9种不同的类型(如图8所示)。这些窗口经过卷积形成256维的向量,最终通过分类挑选出300个得分最高的窗口作为建议框。RPN卷积与Fast R-CNN权值共享,目标检测的速度被大幅度提升。

在这里插入图片描述
在这里插入图片描述

(4)训练与检测基本过程

Faster R-CNN训练与检测的基本过程如下:①将原始整张图像输入网络利用VGG16进行特征提取;②利用RPN生成建议框,每张图像都生成300个建议框;③把这些建议框映射到特征提取最后一层卷积的特征图上;④通过RoI池化层使每个RoI生成固定尺寸的特征图;⑤利用Softmax Loss和Smooth L1 Loss对分类概率和边框回归进行联合训练;⑥测试时,用边框回归值校正原建议框,最终生成预测窗口。实际工程应用中,可选择分阶段训练方法,也可选择速度更快的端到端训练方法。

3.2 anchor参数优化
对Faster R-CNN进行参数优化,可使其能更加有效地应用于高尔夫球场检测。RPN中的anchor是9个不同尺度不同长宽比的矩形框,这些矩形框进入RPN的两条路线,一条路线利用softmax判断矩形框属于目标还是背景,另一条路线利用外接框回归修正矩形框的位置。原生Faster R-CNN模型anchor的尺度为1282、2562、5122,长宽比为1:1、1:2、2:1。RPN网络生成的anchor数量与种类很大程度上影响着检测精度,anchor与检测目标越接近,检测精度越高。

对标准高尔夫球场的面积特征、长宽比特征进行统计(如图9所示),统计结果为anchor尺寸与长宽比设置提供依据。由图9可以可知高尔夫球场规模差距巨大,标准高尔夫球场面积集中在75000个像元以下,最大值为237573个像元,最小值为640个像元;同时,球场长宽比集中在0.2-2.0之间,最大值为4.38,最小值为0.19,说明球场形状多变,没有规则的外形特征。
在这里插入图片描述

基于统计结果,原生Faster R-CNN所采用的默认最小尺度为1282的anchor对球场检测而言过大,因此增加了642尺度。如图10所示,左右两张图中绿色框分别是anchor尺度为1282和642对应的候选框,默认的最小尺度1282得到的正例框中包含了大量背景,而642的anchor对应正例框则与真实球场吻合较好。
在这里插入图片描述
考虑到部分滨河高尔夫球场形状狭长,默认的anchor长宽比不足以覆盖整个高尔夫球场样本空间,因此在anchor默认长宽比的基础上增加了1:3、1:4、1:5、3:1、4:1、5:1多种比例。如图11所示,左右两张图中绿色框分别是anchor长宽比为1:2和1:5时得到的正例框,1:2长宽比并不能完全覆盖高尔夫球场,而1:5长宽比则可以包含整个高尔夫球场。
在这里插入图片描述

4 . 训练与检测
4.1 训练与检测策略
训练验证数据集为3波段8位影像,共计96625张1200×1200影像块(其中662张为原影像,95963张为样本增强数据),训练样本约为70%,验证样本约为30%。测试影像检测数据为3波段8位影像,共52景尺寸约为5000×5000的整景高分一号PMS多光谱影像,其中覆盖了津京冀地区全部的标准高尔夫球场。采用滑窗检测方式,滑窗大小为1200×1200,滑动步长为600。

该训练与检测任务选用PaddlePaddle作为深度学习框架,设置基础学习率为0.01,每5万次迭代学习率降低一个数量级,共迭代共进行18万次。编程语言为python2.7,软件环境为:Windows7 64位、VS2013、cuda8.0、cudnn5.1。硬件环境包括:Intel 8核CPU、NVIDIA GTX 1070 GPU、16G内存。

4.2 精度评价
精度评价方法包括主观与客观两种:主观评价以人眼视觉效果为原则,将球场检测结果与人机交互勾绘的真值框进行对比,判断目标预测框与真值框的吻合程度;客观评价从误检与漏检两个方面对目标检测效果进行定量评价,选择的指标包括recall(检测率)、precision、虚警率、F-Mearsure与mAP。

(1)主观评价

基于优化的Faster R-CNN模型用于整景测试影像的球场检测工作,部分检测结果如图12所示,图中绿色框表示模型检测形成的预测结果。

在这里插入图片描述
在这里插入图片描述

可以看出,优化的Faster R-CNN模型对不同时相、不同形态的球场均具有较好的检测效果,预测框与目视球场边界吻合良好。

(2)客观评价

对于二类分类问题,目标地物作为正样本,背景地物作为负样本,假设正样本共P个,负样本共N个,正负样本的对应关系如表1所示。

在这里插入图片描述
recall指检测正确的目标地物占所有真值样本的比例;precision指检测正确的目标地物占所有检测结果的比例;F-Measure综合召回率与预测率,可衡量检测总体精度。recall(检测率)、precision、虚警率、F-Measure计算公式如下:

在这里插入图片描述
mAP指标按照预测值置信度对预测结果降序排列,即选择不同的置信度阈值,AP为不同置信阈值下recall所对应的precision平均值,可表示为recall与precision曲线下的面积,mAP即为所有类别的AP平均值,本应用只有高尔夫球场一类目标,因此mAP与AP相等。依照基于VOC2007数据集目标检测精度评价的常用模式,选用11个不同的置信阈值,AP可用下式表示:

在这里插入图片描述
将原始Faster R-CNN与调参后的模型检测精度进行对比,结果如图13所示。图中检测方法1-4分别表示原Faster R-CNN(迭代9万次)、修改anchor参数(迭代9万次)、修改anchor参数与样本增强(迭代9万次)与修改anchor参数与样本增强(迭代18万次)的检测相关精度。从图中可以明显看出,原网络对的球场检测精度较低,优化的Faster R-CNN模型检测精度显著提高。
在这里插入图片描述
将不同置信阈值下获得的召回率与预测率绘成曲线,如图14所示。可以看出,随着网络模型的优化,曲线整体在y轴正方向不断提高,说明检测精度不断提高。并且曲线下降趋势有所减缓,曲线更为平直,表示在不同置信阈值下检测精度较为稳定。曲线与坐标轴围合的面积,即AP值不断提高。
在这里插入图片描述
(3)误差分析

本应用在高尔夫球场的检测方面虽取得了一定效果,但仍存在球场漏检与误检现象。总体而言,漏检现象较少,误检是影响其球场检测精度的主要因素。城区内的误检主要来自于与球场具有相似形态的城市绿地公园,部分建筑物也对球场检测造成一定干扰,山区球场影像中地形纹理导致的的误检较多,耕地也存在部分误检。高尔夫球场误检情况如图15所示。
在这里插入图片描述
在这里插入图片描述
5 . 总结
本应用以标准高尔夫球场为研究对象,综合考虑高尔夫球场特征及遥感卫星影像特点,基于高分一号8m多光谱影像构建了全国标准高尔夫球场遥感数据集,通过样本增强扩大样本规模,并基于优化的Faster R-CNN实现了对京津冀地区标准高尔夫球场的检测:

(1)全国标准高尔夫球场遥感数据集构建。该数据集共获取409景影像的 865个多时相球场样本,覆盖了全部中国大陆地区标准高尔夫球场。

(2)标准高尔夫球场检测Faster R-CNN模型。以原生Faster R-CNN为基础模型,通过样本增强扩大样本规模,基于样本统计结果优化anchor参数,实现了对标准高尔夫球场的自动检测。

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

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

相关文章

MATLAB库函数firls(最小二乘线性相位FIR滤波器设计)的C语言实现

firls函数功能 FILS设计了一种线性相位FIR滤波器,它可以最小化理想分段线性函数与滤波器在一组期望频带上的幅值响应之间的加权积分平方误差。 b = firls(n,f,a) b = firls(n,f,a,w) b = firls(n,f,a,ftype) b = firls(n,f,a,w,ftype)f是在0和1之间的范围内指定的频率点对的…

数电实验一-初识Multisim和Basys3

特别说明:该系列内容均是本人实验记录,无盗取侵权之嫌,仅供参考,请多动手实践! 一、实验目的 详见报告 二、实验仪器设备 详见报告 三、实验设计过程 使用Multisim为Basys3板卡创建一个PLD设计并进行验证。 1.创建P…

自动化学科前沿讲座作业 基于深度学习的工厂人员监测系统设计

1 背景及应用场景 在工业复杂生产环境下,作业人员的安全问题至关重要。大多数工业企业采用人眼观察视频的方式对作业人员位置进行判断,这种方式长时间会使管理者出现疲劳问题,效率非常低下,遇到安全问题也不能进行及时的处理。采用…

多重继承java_Java中的多重继承与组合vs继承

多重继承java有时我写了几篇有关Java 继承 , 接口和组成的文章。 在这篇文章中,我们将研究多重继承,然后了解组成优于继承的好处。 Java中的多重继承 多重继承是创建具有多个超类的单个类的能力。 与其他一些流行的面向对象的编程语言&#…

数电实验二-点亮一个数码管(Multisim和Basys3 )

特别说明:该系列内容均是本人实验记录,无盗取侵权之嫌,仅供参考,请多动手实践。 一、实验目的 详见报告 二、实验环境 详见报告 三、实验内容 (1)基本要求:以Basys3四位拨码开关SW3~SW0为输入…

倍福(Beckhoff)嵌入式控制器PLC

前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料) 摘要:与家喻户晓的西门子相比,倍福&am…

fftw-3.3.8库在linux下的的编译和配置

关注公号【逆向通信猿】更精彩!!! 运行环境 Ubuntu 14.04版本以上,64位系统 FFTW库的下载 首先在官网上下载fftw-3.3.8.tar.gz压缩包,解压。本人下载好的压缩包地址:https://download.csdn.net/download/wlwdecs_dn/12904577 FFTW库的生成 首先,将压缩包进行解压,…

Spring Security with Spring Boot 2.0:密码编码器

在上一篇文章中,我们使用了用户详细信息服务,以便提供一种基于给定用户名从函数加载数据的方法。 用户详细信息的实现可能由内存机制,sql / no-sql数据库等支持。 选项是无限的。 关于密码存储,我们必须注意的是密码哈希。 出…

循环自相关函数和谱相关密度(三)——实信号、复信号模型下的BPSK信号循环谱MATLAB仿真结果及代码

关注公号【逆向通信猿】,循环谱 说明:接上一节循环自相关函数和谱相关密度(二)——实信号、复信号模型下的BPSK信号循环谱推导 7.5 仿真结果 7.5.1 实BPSK信号 符号速率RB = 40,采样率Fs = 960,载波频率fc = 300,符号数N = 1000,矩形成形。

executor线程池框架_如何使用Java 5 Executor框架创建线程池

executor线程池框架Java 5以Executor框架的形式在Java中引入了线程池,它允许Java程序员将任务提交与任务执行分离。 如果要使用Java进行服务器端编程,则线程池是维护系统可伸缩性,鲁棒性和稳定性的重要概念。 对于那些不熟悉Java中的线程池或…

JavaFX技巧29:使布局忽略不可见的节点

在我仍在Swing中实现UI的时候,我曾经是MigLayout的忠实拥护者(“一个布局管理者来统治所有这些,对吗Mikael?”)。 我真正喜欢的功能之一是当组件不可见时可以定义不同的行为。 MigLayout允许我保留现在不可见的组件所占…

循环自相关函数和谱相关密度(五)——实信号、复信号模型下的QPSK信号循环谱MATLAB仿真结果及代码

关注公号【逆向通信猿】口令:循环谱 说明:接上一节循环自相关函数和谱相关密度(四)——实信号、复信号模型下的QPSK信号循环谱推导 8.4 仿真结果 8.4.1 实QPSK信号 符号速率RB = 40,采样率Fs = 960,载波频率fc = 300,符号数N = 1000,矩形成形,二倍载波频率为符号速…

C++判断是否为素数、求一个数的因数、质因数分解

判断一个数是否为素数 #include<iostream> #include<vector> #include<math.h> #include<algorithm>/*判断是否为素数*/ bool isprime(int n) {bool result;int k (int)sqrt((double)n); // 只需要循环到 √n 即可int i 0;for (i 2; i < k; i){…

第十一届蓝桥杯A组省赛填空试题 C: 蛇形填数(Java)

试题 C: 蛇形填数 本题总分&#xff1a;10 分 【问题描述】 如下图所示&#xff0c;小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。 容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列 的数是多少&#xff1f; 【答案提交】 这是一道结果填空的题&…

Collatz函数的C++递归实现

Collatz函数为(正)自然数定义如下&#xff1a;collatz(N)&#xff1a;如果n是偶数&#xff0c;则返回n/2&#xff0c;否则返回(n∗3)1 #include <iostream> int Collatz(int n) {if (n % 2 0)n / 2;elsen 3 * n 1;return n; }int main(int argc, char* argv[]) {if (…

AI+药物研发:人工智能赋能新药研发(人工智能应用案例)

首先&#xff0c;生物制药行业面临着两个挑战&#xff1a; 第一&#xff0c;新药研发周期很长且非常复杂&#xff1b; 第二&#xff0c;药物研发过程成本昂贵。在1950年的时候&#xff0c;十亿美元可以研发几十个药&#xff0c;到了2020年之后&#xff0c;十亿美元只能研发一个…

计算圆周率π的C++实现(任意精度)

π\piπ的计算公式 代码 #include <iostream> #include <corecrt_math_defines.h> #include <iomanip>double compute_pi(int N) //计算pi函数 {double dx 1.0 / N;double pi 0;for (int i 1; i < N; i){pi 2 * sqrt(1 - i * dx*i*dx); // 积分函数}…

第十一届蓝桥杯A组省赛填空试题 D: 七段码(Java)

试题 D: 七段码 本题总分&#xff1a;10 分 【问题描述】 小蓝要用七段码数码管来表示一种特殊的文字。 上图给出了七段码数码管的一个图示&#xff0c;数码管中一共有 7 段可以发光的二极管&#xff0c;分别标记为 a, b, c, d, e, f, g。 小蓝要选择一部分二极管&#xff0…

基于代价函数小波脊相位的MFSK信号符号速率估计MATLAB仿真及代码(2020.12.14更新)

算法来源 王勇, 王李福, 邹辉,等. 一种小波脊相位提取方法: 中国专利. 仿真结果 引言 当前,脊点的选取较准确也较经典的方法是Liu等提出的里程碑式的基于代价函数的小波脊相位提取方法(即代价函数脊法),其利用代价函数来抑制噪声的影响,并结合动态规划的思想进行脊线的…

AI+社区智能管理,赋能智慧城市人情共「智」(人工智能应用案例)

社区是城市的关键组成部分&#xff0c;社区治理是围绕社区场景下的人、地、物、情、事的管理与服务。 随着城市化的快速推进及人口流动的快速增加&#xff0c;传统社区治理在人员出入管控、安防巡逻、车辆停放管理等典型场景下都面临着人力不足、效率低下、响应不及时等诸多难…