Skip to content

用于自动目标检测的机器学习训练

原文链接: https://www.nv5geospatialsoftware.com/Learn/Blogs/Blog-Details/machine-learning-training-for-automatic-target-detection

19928 评价这篇文章:

4.7

用于自动目标检测的机器学习训练

匿名作者 2017年2月22日,星期三

这篇博客更深入地探讨了用于执行自动目标检测的机器学习训练过程。自动目标检测的样本最近在 机器学习:自动化遥感分析以获得竞争优势网络研讨会 上展示。

机器学习(ML)应用,从对象识别和字幕生成,到自动语言翻译和无人驾驶汽车,在过去几年里急剧增加。这主要得益于计算能力(使用GPU)的提升、存储成本的降低、训练数据更广泛的可用性,以及机器学习模型新训练技术的开发。

在过去五年中,Harris Corporation 投资了数百万美元,致力于应用机器学习解决客户使用遥感数据面临的挑战。为了回应对机器学习如何利用地理空间数据解决其问题日益增长的兴趣,我开始培训一些同事如何构建一个机器学习模型,以在二维俯视图像上执行自动特征检测。这次培训对于我们的解决方案工程师(SEs)至关重要,使他们能够为客户定制解决方案原型,和/或将机器学习与我们其他强大的图像分析软件(如 ENVI/IDL)集成。

图 1:从左至右,Jeff McKissick、Zach Norman、Pedro Rodriguez、Rebecca Lasica 和 Dan Platt 在 Harris 科罗拉多州布鲁姆菲尔德办公室大厅的合影。

对于这次特定的自动目标检测培训,我选择构建一个机器学习分类器来识别巴西圣保罗市一个子集图像中的所有斑马线(人行横道)。圣保罗以其街道拥堵和对行人极不友好的街道而臭名昭著,常常缺乏斑马线标识。这个应用展示了城市官员如何利用机器学习自动找到城市中的所有斑马线,用于城市规划。例如,通过了解斑马线的位置,可以确定缺失斑马线的数量,并准确估算为增加行人安全性所需的人力和材料成本。

在短短几个小时内,每位学员使用一个仅有 4GB RAM 和 2 个 CPU 的小型红帽虚拟机,我们就完成了从收集训练数据、构建机器学习模型到最终对所选栅格数据子集进行分类的整个过程。

对于栅格数据集,我们使用了来自 DigitalGlobe 公司(0.3米地面采样距离,4波段(红、绿、蓝、近红外),WorldView-3)的巴西圣保罗的高分辨率卫星图像。为了收集训练数据(正样本和负样本),我们使用了一个自定义的 ENVI 扩展工具来切取 35x35 像素的样本,并进行数据增强,如下方 图 2 所示。

图 2:用于收集训练数据的“从点切取”ENVI 扩展工具

对于数据增强,我们简单地将每个图像切块旋转 90 度(4 次旋转)。由于时间关系,我们只选择了 100 个正样本和 200 个负样本,经过数据增强后,我们得到了 1,200 个训练切块(400 个正样本,800 个负样本)。从 1,200 个训练切块中,10% 用于验证,20% 用于测试,70% 用于实际的机器学习模型训练。如下方 图 3 所示的热力图,这个基于有限训练数据集(1,200 个样本 × 70% 训练 = 840 个训练样本)产生的机器学习分类器表现非常糟糕,因为其中包含许多假阴性(漏检)和一些假阳性(误检)。

图 3:使用 100 个正样本和 200 个负样本,并进行 4 次旋转的机器学习分类器的热力图

为了突出我们机器学习技术的真正潜力,我决定使用更大的训练数据集来训练斑马线分类器。为此,我将训练数据增加了 5 倍,因此,新的训练集不是只有 100 个正样本和 200 个负样本,而是有 500 个正样本和 1,000 个负样本。我还将每个图像切块旋转 10 度(36 次旋转),而不是仅仅每 90 度(4 次旋转),这将总图像样本增加到 54,000 个。下方的 表 1 总结了两种情况下使用的数据集特征。

表 1:数据集特征

数据集 正样本 负样本 旋转次数 总样本数 训练样本数 (70%)
小数据集 100 200 4 1,200 840
大数据集 500 1,000 36 54,000 37,800

下一步是确定完成一个训练周期(epoch)所需的迭代次数(小批量更新次数)。一个训练周期是指对训练数据集进行一次完整的训练循环。计算每个训练周期的迭代次数,我们使用以下公式:

 其中,

TS = 训练样本数,且 BS = 批处理大小

很难规定训练新模型所需的最小训练周期数,因为它会因问题的难度、数据质量、选择的网络架构等而异。作为起点,我从 42 个训练周期开始,并使用以下公式计算总迭代次数:

所需的训练周期数可以通过观察训练过程中验证准确率随迭代次数增加的变化来确定。这个验证准确率可以用 IDL 绘制成接收者操作特征曲线(ROC 曲线),如下方 图 4 所示:

图 4:10k、20k 和 30k 次迭代的 ROC 曲线

ROC 曲线的 X 轴是 假阳性率,Y 轴是 真阳性率。这意味着图的左上角代表“理想”的机器学习分类器,其假阳性率为零,真阳性率为一。从上面的 图 4 可以看出,斑马线分类器的准确率随着迭代次数的增加而提高。在 30,000 次迭代(约 126 个训练周期)时,ROC 曲线表明训练已经足够,总体准确率(ACC)达到了 98.84%。下面的 图 5图 6 分别展示了 30k 次迭代的分类器在密集城市场景和高速公路场景中的结果。事实证明,这个斑马线分类器对干扰物(如其他类似的街道标记)和遮挡(如阴影中部分隐藏的斑马线)具有非常强的鲁棒性。我请您挑战一下在 图 5图 6 的“之前”(左侧)场景中手动找到斑马线。稍后您可以在使用机器学习分析的“之后”(右侧)场景中验证您的答案。您能想象手动识别圣保罗市所有斑马线的情景吗?

图 5: 城市场景,斑马线检测前后对比

图 6: 高速公路场景,斑马线检测前后对比

自动目标检测是我们最基本的机器学习解决方案之一,通常涉及在大型数据集中搜索特定特征,因此适用于许多现实世界的挑战。随着“大数据”的激增,这类解决方案变得更加重要,研究表明,所有生成的数据中只有 0.5% 曾被使用或分析过 (1)。显然,当公司能够自动分析这些激增的数据时,每个行业的未来商业优势将会显现。机器学习的目的不是取代行业专业人士,而是将一些繁琐的任务卸载给计算机,使他们能够将专业知识集中在分析上,而不是在大型数据集中“缓慢爬行”搜索特定特征。机器学习还可以 24/7 运行,并且对可用计算资源具有高度可扩展性。

我想强调,在 Harris 公司,我们不仅仅是提供软件光盘,更是提供端到端的解决方案,以回答特定行业问题。回答诸如“有多少电线杆需要维护?”、“风力发电场的哪些叶片有损坏?”或“我附近的道路状况如何?”等问题。所有这些都是我们能够为客户准确回答的问题。

如果您想了解更多关于我们如何实施机器学习解决其他现实世界问题的信息,请观看我和我的同事 Will Rorrer 在 2017 年 1 月主办的网络研讨会:机器学习:自动化遥感分析以获得竞争优势

点击此处下载本文的适合打印的 PDF 版本 这里

如有其他问题,请联系我们的软件销售经理:

Kevin Wells

Kevin.wells@harris.com

办公室:303-413-3954

参考文献:

(1)    https://www.technologyreview.com/s/530371/big-data-creating-the-power-to-move-heaven-and-earth/

First Valley Shadow Detection Using SAR Imagery for Road Maintenance