深度学习能看到的比你更多,亚像素物体计数方法介绍

小白学视觉

共 2735字,需浏览 6分钟

 ·

2022-05-16 08:13

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

作者:Andrés Camilo Rodríguez

编译:ronghuaiyang

转载自:AI公园

导读

通过低分辨率卫星图像,对亚像素物体进行计数,误差<5%。

椰子树预测

我们可以使用深度学习模型在亚像素尺度上对物体进行计数吗?深度学习已经成功地在好几个任务上实现了自动化,我们想要停掉使用人工操作的任务,但是哪些任务对于人类来说是困难的呢?

这是一颗来自欧洲航天局的免费卫星Sentinel-2,拍摄的是加州维克多斯维尔的一个停车场。你能看出图像中有汽车吗?肉眼能数得清吗?

我们开发了这样一个模型:对空间中肉眼看不到的物体计数

为什么不直接使用高分辨率图像?

对于这项任务,使用高分辨率图像时非常直接的,但获取此类图像的相关成本很大。此外,利用Sentinel-2图像,我们可以每5天在世界各地获得一幅新的图像。

左:模型的密集预测(总共4100辆车),右:高分辨率卫星图像(总共4300辆车)

从停车场获取同样的低分辨率卫星图像,我们可以将其输入到我们的模型中,并预测每像素中的汽车数量,图像中总共有4100辆汽车。通过查看高分辨率参考数据,模型的估计误差在5%以内。对于一个模糊的输入图像来说还不错!

我们如何去数亚像素尺度下的目标?

对于亚像素尺度的物体,很难估计物体的确切位置,这就是为什么我们将该任务转换为回归任务,输出为在某个像素内估计的物体密度的连续数字。

这一思想常用于人群计数任务中,在这些任务中,图像中的某些人出现的尺度非常小,无法正确定位。与许多机器学习问题一样,挑战在于获取高质量的参考数据来训练模型。由于我们的目标是亚像素尺度的,我们首先使用高分辨率卫星图像,在那里我们可以清楚地看到目标。在每个感兴趣的区域,我们首先标记一个小区域,并在高分辨率图像上使用自动目标探测器来获取世界各地的160万个目标的位置。

在下面的图中,左边的红色边框表示自动检测的结果。为了进行比例比较,黄色的框表示10m×10m在Sentinel-2上的大小。下一步是将此信息转换为每个黄色边框内感兴趣目标的计数。结果在右边。

Sentinel-2 像素尺度和每个像素的密度计数

因为我们是在一个比原始高分辨率图像小得多的尺度上工作的,而原始高分辨率图像的数据就是从那里获得的。这种尺度的变化会在训练时造成问题。

为了获得10m x10m像素尺度的参考数据,我们使用一个高斯核来做模糊,σ= K /𝜋。其中K是高分辨率和低分辨率的尺度比例。

因为我们也有兴趣获得与感兴趣目标不同的地区的干净计数,如空地或天然森林。除了密度预测任务,我们还训练了一个语义任务,将每个像素分类为是否包含任何感兴趣的目标或背景。为此,我们对参考计数进行阈值设置,以获得一个2值映射。我们根据经验观察到,这有助于减少非密度区域的噪音。

现在我们已经准备好了训练模型的数据。该模型的体系结构由6个ResNet块组成,每个任务后面跟着独立的流,语义分割任务和密度预测任务。

模型结构

为什么不使用更大的预训练模型?

对于大量的计算机视觉任务,迁移学习在很大程度上是有益的。这种实践包括重用大型模型,这些模型曾用于解决大型数据集(通常是ImageNet)上的图像分类问题。我们可以获得更好的性能,因为ImageNet中使用的训练有素的滤波器可以帮助识别图像中的其他类型的物体,使新任务更容易解决。

然而,ImageNet中的物体通常由图像中的几千个像素组成。这种大的尺度差异减少了迁移学习对亚像素任务的好处。此外,这类模型减少了图像的特征图的空间维数,这是为了(1)在大范围内生成更高层次的特征以学习上下文,(2)减少模型的整体尺寸。

我们走另一个方向:我们在整个网络中保持特征映射的相同空间维度以允许输入图像的全部细节进入预测输出。这有利于细节level和网络的整体性能的提升。看下面的例子,与流行的语义分割架构的DeepLab-V2的比较。

预测椰子树的计数,和DeepLab-2的对比

哪些物体可以被计数?

为了对亚像素目标计数,我们主要依靠两个方面:

  1. 目标应该与训练数据集中的模式相似:停车场,或者或多或少和树的模式类似。
  2. 对于树木来说,特定物种的光谱特征有助于模型区分不同物种。

考虑到这些方面,我们用不同尺度的物体测试了我们的方法。我们测试方法的最小目标是汽车,占像素的十分之一。另一方面,我们测试了三种不同类型的树木,棕榈油树,椰子树和橄榄油树。它们都有不同的植被模式和特定的光谱特征。

目标类型评估

结果

下面是一些椰子和棕榈油树的预测密度图的例子。请注意,虽然一些高密度的预测是不正确的,总体计数仍然在一个小的误差范围内。

椰子树:上图GT:88.5k,下图:预测84.6k(-4.3%)

棕榈油树:上图GT:143.1k,下图:预测137.1k(-4.2%)

总结

我们展示了如何开发一个模型来解决亚像素尺度上的目标计数,该方法依赖于树木的光谱特征和目标的种植模式。该方法仅依靠Sentinel-2图像,可以应用于大尺度分析,甚至是农作物随时间的演变。


END

英文原文:https://medium.com/ecovisioneth/a-deep-learning-model-can-see-far-better-than-you-f689779eadf

下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报