当前位置:网站首页>自监督论文阅读笔记 Self-Supervised Deep Learning for Vehicle Detection in High-Resolution Satellite Imagery
自监督论文阅读笔记 Self-Supervised Deep Learning for Vehicle Detection in High-Resolution Satellite Imagery
2022-08-03 05:23:00 【YoooooL_】
本文中,展示了一个自监督的深度学习流程,它可以有效地学习 检测车辆,而无需使用任何预先标记的训练数据。该流程使用 形态学车辆检测算法 自动生成卷积神经网络 (CNN) 的训练集。本文使用 0.31 米的多光谱 Worldview-3 卫星图像 在沙特阿拉伯利雅得的一个 混合用途城市社区 测试了这种方法,该图像具有 八个可见光 和 近红外波长波段。该方法通过从 高精度、低召回率的形态模型生成平衡的训练样本 来训练神经网络 来识别一般的车辆特征,从而 利用 许多车辆检测问题固有的类别不平衡。这种方法建立在广泛适用的图像处理方法之上,经过适当调整,可能会适应各种卫星或航空来源的高分辨率。
计算机视觉的最新进展推动了城市应用遥感的快速增长。随着 高分辨率卫星和航空图像 的日益普及,车辆检测 在城市规划、资源管理、自然灾害监测和移动建模中变得越来越普遍。目前可用的最准确的目标提取方法 通常依赖于手动标记的数据 来训练完全监督的深度学习模型 [1]。生成合适的数据集 可能既耗时又昂贵,尤其是因为生成高质量的标签可能需要领域专业知识。
随着 可用图像的数量 和 多样性的 不断增长,为不同的感兴趣对象 创建大型手动注释数据集可能会给该领域的 研究人员 和 从业者 带来重大瓶颈。一些研究试图 限制注释数据的使用 [1] 来克服这些挑战。本文提出了一种 完全自监督的方法,该方法 利用 形态算法 和 深度学习 的组合 来 检测未标记卫星图像中的车辆。
形态学方法 和 图像处理算法 已显示出用于 自动目标检测 的有希望的能力。一些研究人员已经 使用形态学过程 [2] 在高分辨率卫星图像中检测车辆。最近,深度学习方法在车辆检测任务中表现出很高的准确性,最成功的深度学习方法 通常利用大规模的手动标记的数据集,例如Cars Overhead with Con-text(COWC) [3]。然而,这些数据集是 针对特定的图像规范 量身定制的,并且可能需要付出巨大的努力 才能 为替代来源 创建类似的训练数据集。
许多研究提出了多种方法来减少对注释的需求。一些方法使用半监督方法[4],可以用少量注释数据进行训练。一些研究采用了 弱监督方法 来限制人为干预,例如使用 主动学习 来生成真值映射 [5]。然而,在没有人工干预的情况下 从单个数据源 进行完全自监督的检测仍然有限。
在高分辨率卫星图像中检测车辆的自监督机器学习,该方法 使用基于形态学的车辆检测模型训练 CNN 以生成训练数据。由于在我们的数据集中观察到的类别不平衡(车辆通常占图像的 3% 以下),即使在召回率较低的情况下,深度学习方法也能够在提供高精度结果时,有效地学习检测车辆。当这些结果 用于生成平衡的训练样本时,精度很高时,假负样本 仅代表 非车辆类训练样本的一小部分。高精度 还确保 车辆类的训练样本中 包含很少的假正样本。在整个研究过程中,我们使用 0.31 米 Worldview 3 图像进行所有训练、测试和评估。
形态学车辆检测算法 使用 形态学梯度 来定义边缘 和flood filling洪水填充 以检测 多光谱图像中的 闭合形状。该方法 隔离了 类似于标准车辆尺寸 并且 与背景和较大对象不同的 小型连接组件。
本文通过 计算形态梯度 G 来检测边缘,由等式 (1) 定义,为图像 I 和内核 S 的膨胀和腐蚀之间的差异。该值表示内核内最大和最小像素强度之间的差异。
该方法首先使用 半径为 3 个像素的 圆形kernel 计算形态梯度。一旦检测到边缘,我们使用flood filling 洪水填充 [6] 来填充边缘内的所有孔。然后我们按区域(50 - 250 像素)过滤所有连接的组件,并再次采用形态梯度。在过滤低于亮度阈值的像素后,我们应用一系列形态关闭操作(使用 3、5 和 5 像素的圆盘)。为了获得最终结果,我们 对闭合图像进行 flood filling 泛洪填充操作,并对低于亮度阈值的像素进行掩码。
本文使用的 CNN 由一个相对较小的浅层网络架构组成。由于形态学方法只能达到中等精度,因此浅层网络结构更适合学习一般模式,而不会过度拟合固有的噪声训练数据。各层规格见表1。最终输出将每个图像分为三个可能的类别,分别代表预测的车辆、背景和其他对象。
模型的 输入是一个 16 × 16 像素的图像,具有八个光谱波段和四个处理波段。该模型使用这些特征将三个类别之一分配给中心像素。我们可以使用这种方法 通过扫描图像 并为感兴趣区域中的每个像素生成 16 × 16 的输入 来对更大的图像进行分类。虽然我们只关心车辆类的输出,但我们使用第三类(“其他对象”)来表示 可能的假正样本 并改善车辆和非车辆之间的决策边界。其他对象这一类 由形态检测算法的初始步骤检测到 但由于其几何特性而被过滤掉的对象组成。
为了生成训练数据,我们从图像中随机抽取像素而不进行替换。本文根据图像中心的像素子集为每个输入图像分配一个类。我们在包含三个类别(车辆、背景和其他对象)中每个类别的 10,000 个样本的平衡训练集上训练网络。我们通过 在下阈值和上阈值之间 标准化像素强度 来生成软类标签。下阈值 用于减少噪声 并 过滤掉大部分假正样本。我们分配上阈值主要是为了裁剪镜面反射的大梯度。
我们还包括从原始图像生成的四个处理波段。两个是形态算法的中间步骤 - 由 (1) 给出的平均形态梯度,以及由区域过滤器移除的 flood-filling 算法的结果(主要是大型物体,如建筑物)。此外,本文还包括 Huang 等人详述的形态建筑指数 (MBI) 和形态阴影指数 (MSI)。
本文将 车辆检测方法 应用于Saudi Arabia的 典型混合用途社区 同一位置的四张图像。本文从每张图像中随机选择了 200 辆汽车的样本,并用清晰度等级对它们进行了标记,以指示清晰、黑暗和低对比度的车辆。
通过测量 与 真的正样本 相对应的检测到的像素的百分比来计算精度。为了降低 对边界不匹配的 高度敏感性,本文从精确计算中排除了每辆车周围的一个小缓冲区。图 3 显示大部分 假正样本 位于车辆的 3 个像素(约 0.93 m)内。
本文使用 像素 和 目标召回 来评估模型检测车辆存在的能力。仅当 检测到的像素分数 (Af) 超过最小阈值 时,目标召回才会将每个手动标记的多边形指定为 真的正样本。除非另有说明,否则本文使用 Af > 0.5(至少 50% 像素检测)的最小阈值作为目标召回中的真的正样本。
当置信度超过 0.8 的阈值时,像素被归类为 车辆 的一部分。本文还在表 2 中计算了精度-召回 曲线下的面积 (AUC-PR) 和接收者操作特征 (AUC-ROC)。
当使用 0.5 的面积分数阈值 应用于测试图像时,该方法实现了 0.877 ± 0.028 的平均精度和 0.711 ± 0.071 的平均召回率。该模型目前通过 对形态车辆检测算法 使用相对较高的 θ = 30 阈值,来优先考虑精度而不是召回。较低的阈值可以 以牺牲精度为代价 提高召回率,这可能更适合特定应用,但通常会降低 F1 分数。
三个清晰度等级(清晰、低对比度和暗)显示每个物体检测到的面积分数存在显着差异。低对比度车辆的性能参差不齐,通常无法检测到深色车辆,这凸显了该方法的重大局限性。
图 5 显示了 每个车辆类别的相对频率 以及 检测到 Af > 0.5 的车辆的百分比。指定为清晰的车辆在所有图像中的表示有很多个,并且几乎总是在阈值之上检测到。假负样本 主要由深色和低对比度车辆造成,表明 对特定车辆颜色的方法存在重大限制。该方法只能检测到少量低对比度车辆,并在所有图像中漏掉了大部分深色车辆。
与 Zheng 等人 [2] 的基准方法相比,本文的方法可以在两张高速公路图像中 提供相当的精度和 显著提高的召回率。在本文的方法中,街区图像的 精度明显更高,这表明它对复杂场景中的噪声更加鲁棒。在这两种情况下,Af > 0(每辆车只需要一个像素)的目标召回率相当,但当需要更高的 Af 阈值时,本文的方法显着更高。
该方法可以对 与 周围环境 清晰区分的车辆实现高目标召回率。深色和低对比度车辆通常以低 Af 检测到,尽管它优于基于形态的基准方法。通过用少量手动标签补充训练集,该方法可以扩展到弱监督。
本文提出的方法 最适合 依赖 近似车辆密度 而不是 精确像素掩码的应用。它可以潜在地应用于估计交通拥堵、停车场占用和停车违规。
Conclusion:
随着各种高分辨率航空图像源的快速增长,无需重新训练手动标记的数据 即可轻松泛化的方法变得越来越有用。本文提出的自监督流程依赖于可泛化的形态学方法,这些方法可能通过适当的参数调整适用于其他高分辨率航空图像。需要进一步的研究来确定该方法在替代图像源上的准确性。本文提出的流程等车辆检测方法 可以为城市规划和交通分析提供有价值的信息。
边栏推荐
猜你喜欢
Makefile
玩转Markdown(2) —— 抽象语法树的提取与操纵
MySQL 安装报错的解决方法
jsp通过form表单提交数据到servlet报404
下拉框数据字典应用案例
Execute the mysql script file in the docker mysql container and solve the garbled characters
pta a.1003 的收获
Leetcode刷题——一些用层次遍历解决的问题(111. 二叉树的最小深度、104. 二叉树的最大深度、226. 翻转二叉树、剑指 Offer 27. 二叉树的镜像)
Sentinel初次使用Demo测试
Qlik Sense 临时处理表数据详解(Resident)
随机推荐
用iPhone前摄3D人像建模,Meta:我看行
【HQL】(二) 查询使用正则表达式做列选择
关于梯度下降法的一些优化方法
C# 数组之回溯法
Oracle 注释详解(--、/**/、rem)
【反弹shell与提权】
IPC通信 - 管道
ASP.NET MVC:自定义 Route
Ansible installation and deployment detailed process, basic operation of configuration inventory
滚动条 scrollbar 和scrollbar-thumb 样式
Qlik Sense 临时处理表数据详解(Resident)
进程间通信IPC - 信号量
图的最短路径的核心——松弛技术
Gradle插件与代理服务器导致Sync Project失败的问题
opencv透视变化
Oracle 日历表详解(含节假日)
Qlik Sense 字符串截取和拼接详解(Left、Right、&)
ansible的安装和部署详细过程,配置清单基本操作
中国生活服务O2O行业发展现状与市场规模预测报告2022~2028年
漫谈Map Reduce 参数优化