如何将深度学习应用于无人机图像的目标检测

栏目: 数据库 · 发布时间: 5年前

内容简介:本文为 AI 研习社编译的技术博客,原标题 :How to easily do Object Detection on Drone Imagery using Deep learning

如何将深度学习应用于无人机图像的目标检测

本文为 AI 研习社编译的技术博客,原标题 :

How to easily do Object Detection on Drone Imagery using Deep learning

作者 |  Gaurav Kaila

翻译 | zackary、Disillusion、刘刘1126

校对 | 酱番梨        整理 | 菠萝妹

原文链接:

https://medium.com/nanonets/how-we-flew-a-drone-to-monitor-construction-projects-in-africa-using-deep-learning-b792f5c9c471

如何将深度学习应用于无人机图像的目标检测

本文全面概述了基于深度学习的对无人机航拍图像进行物体检测的方法。我们还介绍了一个应用示例:利用无人机监测一个非洲住房项目的建设进度。

第一部分:我们刚发布了Nano Drone APIs!

如何将深度学习应用于无人机图像的目标检测

您是否知道无人机及其相关功能将在2023年成为一项价值500亿美元的产业? 截至今天,无人机被用于农业,建筑,公共安全和安全等领域,同时也被其他领域迅速采用。随着基于深度学习的计算机视觉为这些无人机“提供动力”,行业专家们预测无人机将在以前难以想象的应用场景中被前所未有地广泛使用。

我们将探索一些应用以及伴随着它们的挑战,这些应用基于深度学习完成了基于无人机的自动化监测。

在最后,我们将展示一个使用Nanonets机器学习框架对非洲住房项目进行远程监测的案例。

    第一部分:航拍图像——简要背景

人们总是对从高处俯瞰世界着迷,从高耸的大楼上、从瞭望塔上、从堡垒,还征服了最高的山峰。为了能捕捉这样的瞬间并且和全世界分享,人们竭尽全力,借助梯子、高楼、风筝、气球、飞机和火箭,挑战地心引力。

如何将深度学习应用于无人机图像的目标检测 1906年,从风筝上拍摄的旧金山全景(来源:国会图书馆)

如今,即使是普通大众也可以使用能够飞到2公里高处的无人机。这些无人机配有高分辨率的摄像头,能够捕捉高质量的图像,用于各种分析。

如何将深度学习应用于无人机图像的目标检测

农田的航拍图像

    第二部分:无人机及其工业应用

随着无人机的普及,我们看到很多摄影师和业余爱好者的日常爱好和活动,他们使用无人机进行一些创造性项目,诸如捕捉南非的不平等现象,或者拍摄足以让伍迪艾伦(Woody Allen)都感到骄傲的纽约奇景。

虽然这一切看起来很轻巧,但是价值500亿美元的无人机产业核心在于工业应用。

在这里我们探讨一二:

能源:太阳能发电厂的检测

太阳能发电厂的日常检测和维护是一项艰巨的任务。传统的人工检测方式只能支持每三个月/次的检测频率。由于环境恶劣,太阳能电池板可能会有缺陷。损坏的太阳能电池板部件降低了功率输出效率。

如何将深度学习应用于无人机图像的目标检测

左图:太阳能电池板的原始热图像  

右图:因特尔自动化系统检测的缺陷定位和分类

农业:植物早期病害的检测

伦敦帝国理工学院(Imperial College London)的研究人员在无人机上安装多光谱相机,这些相机将使用特殊的过滤器从选定的电磁光谱区域捕捉反射光。有病害的植物通常会显示出一种有别于健康植物“光谱特征”。

如何将深度学习应用于无人机图像的目标检测

带有病原和营养不足的植物叶片的光谱图像

公共安全:鲨鱼侦测

对一大片土地/水域的俯视图进行分析,可以获取大量关于治安和公共安全方面的信息。其中一个例子就是在澳大利亚沿海水域发现鲨鱼。澳大利亚西太平洋集团开发了一种基于深度学习的目标探测系统来侦测水中的鲨鱼。

除此之外,还有各种各样的航拍图像应用程序,比如土木工程(桥梁日常检查,电线监测和交通调查),石油和天然气(近海石油和天然气平台、钻井设备的检查),公共安全(机动车事故、核事故、建筑火灾、船舶碰撞、飞机和火车事故)及治安(交通监测、边境监测、海岸监测、敌对游行示威及暴动控制)。

    第三部分:获取和处理工业级无人机图像

为了全面捕捉地形和景观,航拍图像的获取过程可以分为两个步骤。

  1. 摄影测量:在无人机飞行过程中,为了确保图象重叠,需要每隔一段时间拍摄几张图像。这一步很重要,这样才能测量成像物体间的距离。广义上讲,这一过程被称为摄影测量学。对于需要用于数据分析和制图的图像,还需要相应的元数据进行图像拼接。这些元数据由无人机上的微型计算机自动嵌入。

  2. 图像拼接:一旦数据采集完成后,第二步是将单个航拍图像合并成一张有用的地图,通常使用一种专门的摄影测量技术将图像快速拼接在一起。这种特殊的摄影测量技术被称为从运动信息中恢复三维场景结构(Sfm)。Sfm软件从不同角度将同一场景的图像进行比较、匹配,并测量每幅图象中物体间的角度后,拼接在一起。在这个步骤里,可能需要参考图象的地理信息,以便将位置信息附加到每个图象上。

完成图像拼接后,生成的图像可用于上述提到各种应用分析中。

    第四部分:人工智能遇上无人机

高分辨率航空影像在全球范围内越来越常见,它包含大量可与维护、土地开发、疾病控制、缺陷定位、监测、等应用相关联的信息。不幸的是,这些数据通常是高度非结构化的,因此即便有密集的人工分析,从中大规模提取有意义的见解还是充满挑战性。

例如,城市用地的分类通常是根据训练有素的专业人员的测量。所以这项任务是劳动密集型的、不频繁的、缓慢的和昂贵的。因此,这些数据大多只在那些拥有收集和管理这些数据所需的资源和远见的发达国家和大城市中才有。

自动分析航空影像的另一个动机是预测有关地区变化的迫切需要。例如,在大型公众集会(如音乐会、足球比赛、抗议活动等)上,经常需要进行群众计数和群众行为。传统上,会有专人来分析从闭路电视摄像头直接传送到指挥中心的图像。正如你想象的那样,这种方法存在几个问题,例如在检测事件时人为的延迟或错误,以及标准的静态闭路电视(CCTV)缺乏足够的视图。

以下是使用航空影像时经常遇到的一些挑战。

航空影像自动化的挑战与限制

当自动分析无人机图像时,有几个挑战需要克服。下面列出了其中的一些,并

给出了有前景的解决方案:

  1. 对物体的平视和小视:当前的计算机视觉算法和数据集是用以人为中心通过水平拍摄的近距离物体照片的实验室设置而设计和评估的。对于垂直拍摄的无人机图像,感兴趣的对象相对较小且特征较少,主要表现为平面和矩形。如,从无人机上拍摄的建筑物图像只显示屋顶,而建筑物的地面图像将具有门、窗和墙等特征。

  2. 数据标注困难:按照上述观点,即使我们可以获得大量的图像,我们仍需对其进行标注。这是一项手工任务,需要精确性和准确性,因为“输入垃圾意味着输出垃圾”。 除了手动完成之外,没有什么神奇方法来解决标签问题。在Nanonet,我们根据需要提供 可以为你标记数据的注释器。

  3. 图像尺寸大:无人机图像尺寸很大,大多数情况下分辨率超过3000px X 3000px。这增加了处理此类图像时的计算复杂度。为了克服这一问题,我们将预处理方法应用于航空成像,以便使它们为我们的模型训练阶段做好准备。这包括以不同的分辨率、角度和姿势裁剪图像,以使我们的训练不受这些变化的影响。

  4. 对象重叠:分割图像的问题之一是同一个对象可能出现在两张不同的图像中。这会导致重复检测和计数错误。此外,在检测过程中,某些彼此非常接近的对象也可能具有重叠的边框。克服这个问题的方法之一是通过滑动窗口向上采样,以寻找小的、密集的对象。

    第五部分:Nanonets案例研究:非洲建筑项目远程自动化检视  

务实大师(Pragmatic Master),一家南非机器人即服务(robotics-as-a-service )公司与Nanonets合作对非洲一个住房建设项目进展进行远程自动化监控。

这些项目通常因为误报而产生拖延和盗窃,这可能通过频繁的无人机飞行测绘和记录来解决

我们的目标是通过探测以下基础设施来捕捉房屋在不同阶段的建造进度:

  1. 地基(开始)

  2. 墙面板(正在进行)

  3. 屋顶(部分完成)

  4. 护墙(收尾)

  5. 热水器(可以搬入)

如何将深度学习应用于无人机图像的目标检测

Pragmatic Master之所以选择Nanonet作为深度学习的提供者是因为Nanonet易于使用的web平台和即插即用的APIs。

使用Nanonet API的端到端流程非常简单,只需四个步骤。

如何将深度学习应用于无人机图像的目标检测 End-to-end flow of the Nanonets API

1.上传图片:从无人机获取的图片可以直接上传到我们的上传页面。在当前的案例研究中,我们总共获得了1442张低空拍摄的建筑工地照片。上传图片的例子会在下方给出。

2. 图像的标记:在任何监督机器学习流程中,标记图像可能是最困难和最耗时的步骤,但是在Nanonets,我们可以为你完成标记。我们有多年航空成像工作经验的内部专家。他们将精准及准确地注释你的图像,以进行更好的模型训练。对于Pragmatic Master的用例,我们标记了以下对象及其在所有图像中的总数。

  • 屋顶: 2299

  • 热水器: 6556

  • 墙面板: 1043

  • 护墙: 8730

如何将深度学习应用于无人机图像的目标检测

标记了热水器的图像

3. 模型训练:在Nanonets,我们同时采用迁移学习的原则对你的图像进行训练。这包括重新训练一个已经用大量的航空成像预训练过的模型。这有助于模型更容易在你的图像上识别微图像如边缘、线条和轮廓和关注更具体的宏观模式如房屋、树木、人类和汽车等。迁移学习也缩减了训练时间因为模型不需要进行大量的迭代也能有良好性能。

我们专有的深度学习软件能聪明地选择最佳的模型,并根据你的用例优化超参数。这涉及到使用高级搜索算法在多个模型和多维参数间进行搜索。

最难探测的对象是最小的对象,因为它们的分辨率较低。我们的模型训练策略被优化,以检测非常小的物体,如只有几个像素面积的热水器和护墙。

如何将深度学习应用于无人机图像的目标检测

检测到完整的房子

下面是每个类的平均精度,

屋顶:95.1%

热水器:88%

墙面板:92%

护墙:81%

注意:添加更多的图像可以提高平均精度。我们的API还支持在同一图像中检测多个对象,例如在一个图像中检测屋顶和护墙。

4. 测试与集成:在模型训练好后,你可以将Nanonet的API直接集成到您的系统中或者我们还提供一个镜像,其中包含你训练过的模型和推理代码。镜像可以方便地进行缩放,并提供容错推理系统。

最后一步,图像被拼接起来并使用与每幅图像相关联的GIS数据创建整个景观视图。

如何将深度学习应用于无人机图像的目标检测

预测的图像拼接在一起创造了整个景观视图

    第6部分:数据私隐 

客户信任是我们的首要。我们致力于在任何时候为你提供所有权和你内容的控制。我们提供了两个使用我们服务的套餐,

  1. 开发人员:你上传的用例图像可能被我们用来预训练我们的模型,我们可以进一步将其用于我们的其他应用程序。  

  2. 企业:你的数据就是你的!我们永远不会将你的数据用于任何模型的预训练。

在这两个套餐中,我们与我们的云合作伙伴Amazon Web Services合作,使用高度复杂的数据隐私和安全协议。你的数据集是匿名的,并且在预处理和训练过程中经过最少的人工干预。我们所有人都签署了保密协议(NDA),以保护你的数据不落入坏人之手。因为我们相信“你的数据就是你的!”,你可以要求我们在任何阶段从我们的服务器上删除你的数据。

如何将深度学习应用于无人机图像的目标检测

Nanonet是一种web服务,它使得使用深度学习变得容易。你可以用你自己的数据构建一个模型,以实现更高的准确性,并使用我们的APIs将其集成到你的应用程序中。

更多细节请访问:https://nanonets.com/drone

务实大师(Pragmatic Master)是一家南非机器人即服务公司,提供装配相机的无人机,以获取建筑、农业和采矿工地的图像。通过对这些图像的分析,让我们能跟踪进度、识别挑战、消除低效并提供场地的整体鸟瞰图。

想要继续查看该篇文章相关链接和参考文献?

长按链接点击打开或点击【 如何将深度学习应用于无人机图像的目标检测 】:

https://ai.yanxishe.com/page/TextTranslation/1295

AI研习社每日更新精彩内容,观看更多精彩内容:

Python 实现遗传算法

要找房,先用Python做个爬虫看看

新手必看:深度学习是什么?它的工作原理是什么?

Python高级技巧:用一行代码减少一半内存占用

等你来译: 雷锋网雷锋网 (公众号:雷锋网) 雷锋网

(Python)3D人脸处理工具face3d 

如何在大规模的数据库里中使用Dask

如何在神经NLP处理中引用语义结构 

让你的电脑拥有“视力”,用卷积神经网络就可以!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

超级IP

超级IP

吴声 / 中信出版集团 / 2016-7 / 49.00元

一切商业皆内容,一切内容皆IP! 从迪士尼、airbnb、YouTube、Instagram到微信、Papi酱、芈月传、鹿晗,IP浪潮席卷全球,这不仅仅是互联网领域的革命,更是未来商业的游戏新规则。 IP从泛娱乐形态快速渗透新商业生态全维度,正深化为不同行业共同的战略方法,甚至是一种全新的商业生存方式,即IP化生存。 超级IP的内核,是辨识度极高的可认同的商业符号,它意味着一种对......一起来看看 《超级IP》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换