论文阅读<Contrastive Learning-based Robust Object Detection under Smoky Conditions>

news2025/4/24 13:11:03

论文链接:https://openaccess.thecvf.com/content/CVPR2022W/UG2/papers/Wu_Contrastive_Learning-Based_Robust_Object_Detection_Under_Smoky_Conditions_CVPRW_2022_paper.pdf

Abstract

        目标检测是指有效地找出图像中感兴趣的目标,然后准确地确定它们的类别和位置。近年来,许多优秀的方法被开发出来,以提供强大的检测能力。然而,在恶劣天气如烟熏条件下,它们的性能可能会显著降低。在这篇论文基于对比下学习提出了一个鲁棒的烟雾图像目标检测算法。提出的算法由两个模块组成,对比学习模块(Contrast learning module)和目标的预测框(object bounding box prediction module)。第一个模块通过最大化同一烟雾图像的不同增强视图之间的一致性来学习表示向量,然后把这些特征送入第二个模块以生成bounding box。此外还提出了一个新颖的仿射数据增强方法。在A2I2 - Haze数据集上进行了大量的的实验,该数据集是第一个与航空和地面图像对齐的实时烟雾测量的真实雾霾数据集。该数据集也是CVPR 2022第5届UG2 +挑战赛中唯一用于训练和测试的数据集。与最先进的方法相比,评估结果表明了我们提出的目标检测器的优越性。

Intruduction

        对比学习属于辨别性特征表示的范畴(discriminative representation learning),通过不同样本之间的比较学习来学习一种表示,这种对比通过在相似的图像对和不相似的图像对中实现。通过对它们的比较,可以有效地实现"相似"样本的表示在嵌入空间中被紧密地映射在一起,而"不相似"样本的表示在嵌入空间中被远离的对比学习目标。对比学习有一个明显的优势,它可以忽略输入的表面现象,同时能够学习和提取它们的内部一致性。

Method

        提出的算法流程如下图所示,主要包括量模块,第一个是Constrast learning module,致力于捕获每个相同烟雾图像的不同增强版本之间的内在一致特征,从而能够学习到它们的一致表示。第二个模块是Object bounding box prediction module,把学习到的表示向量和原来的图像一起作为输入来预测每个目标的bounding box。

3.1 Constrast learning module

        图2是对比学习模块的结构,该模块包含三个部分:Data  Augmentation、Encoder Network、Projection Head(和SimCLR类似)。

        在Data  Augmentation中,对给定的烟雾图像,采用两种图像增强方法,分别是图像灰度化和随机亮度增强来生成其相关的增强视图,记为I_{i}I_{j},记为一对正样本。在Encoder Network中,使用ResNet50提取特征获得h_{i}h_{j}。 在Projection Head中,使用两个简单的MLP把h_{i}h_{j}映射到更抽象的特征。

        使用以下损失函数优化对比学习,其中一批 N 个示例被随机采样以构建 2N 个增强图像。z_{i}z_{j}是增强后的图像,sim(u,v)=u^{T}v/||u||||v||表示L2归一化后的y和v的点乘,\tau表示一个温度参数。

L_{cont}=\frac{1}{2N}\sum_{k=1}^{N}[l(2k-1,2k)+l(2k,2k-1)]

l(i,j)=-log\frac{sim(z_{i},z_{j})/\tau }{\sum_{k=1}^{2N}exp(sim(z_{i},z_{j})/\tau)}

3.2 Object boudning box prediction module

        这个模块包括四个部分:pre-processing,backbone,neck和head。在pre-processing部分,使用Transposed convolution改变输入特征h_{i}h_{j}f_{i}f_{j},然后和输入图像I一起输入到YOLOV5s

3.3 Data Augmentation

        在本文中,考虑到拍摄图像中存在无人机视角变化,我们还提出了一种新颖的仿射数据增强方法。首先,我们拍摄一些内容相似但拍摄角度不同、拍摄距离不同的照片。然后,利用透视变换计算每对相似图像之间的单应矩阵。之后,我们对测试数据集的每个图像执行这些单应矩阵,创建新的转换图像。最后,这些变换后的图像与原始训练数据一起用于网络的训练。

Experiments

4.1 Baselines

        对CenterNet、YOLOv5和参与CVPR2022挑战的12种优秀方法进行对比。用于训练和测试的数据集是 A2I2-Haze [32],它是 CVPR 2022 第五届 UG2+ 挑战赛 Haze 中目标检测赛道中采用的唯一数据集。A2I2Haze 是第一个具有原位烟雾测量的真实雾霾数据集与空中和地面图像对齐。该数据集不仅包含从 12 个视频剪辑而来的总共 177 个配对的模糊/干净帧图像,还包含从相同来源收集的用于训练的 240 个带注释的干净图像,以及用于测试的 60 个其他烟雾图像。此外,我们还采用了所提出的数据增强方法。对这些测试图像进​​行仿射变换,产生384张不同角度、不同距离的变换图像,作为训练数据的补充

4.2 Implementation details

        我们首先使用训练数据单独更新对比学习模块的权重。完成此训练过程后,构建的表示向量与原始图像一起用作对象边界框预测模块的输入来训练其网络。完成所有这些任务后,我们提出的目标检测器的训练就真正完成了。

        所提出的目标检测器在 NVIDIA GeForce RTX3080 GPU 上进行训练和测试。在对比学习模块的训练过程中,batch size和patch size分别设置为8和512×512,采用随机梯度下降(SGD)优化器,学习率初始化为0.05并降低90总共 300 个 epoch 中的 150、200 和 250 个 epoch 的百分比。此外,为了训练对象边界框预测模块,我们将批量大小和补丁大小分别设置为32和512×512。热身是在训练前进行的。学习率初始化为0.01,然后在总共500个epoch的训练中采用Cosine学习率下降策略。

4.3 Quantitative evaluation

        表 1 给出了 SOTA 方法和我们提出的检测器产生的物体检测的数值结果。对于那些挑战者,CVPR 2022只公布了他们的AP50结果,如表1所示。从表中的结果可以看出,由于YOLOv5和CenterNet都没有采取适应烟雾条件的措施,所以它们的性能都较差。尽管 12 名挑战参与者中的每一位都在 AP50 中获得了高分,但我们提出的算法仍然在所有评估方法中获得了针对目标检测的最佳平均预测结果。

4.4 Quanlitative evaluation

        图4是定性分析的结果,提出的方法是最接近于Ground Truth的。

4.5 Ablation Study

        通过直接从图 1 的框架中删除模块 1,在目标检测中使用对比学习机制。此外,还通过避免在训练中使用那些转换后的数据来评估所提出的数据增强的有效性。为了阐明它们的效果,我们将我们提出的方法与以下两个基线进行比较:1)基线1:我们仅使用增强训练数据训练模块2。 2)基线2:我们仅使用原始训练数据来训练我们提出的方法。表 2 比较了他们在消融研究中的物体检测结果。从表2的结果可以看出,对比学习可以学习物体的内部一致性,从而进一步准确地确定目标位置。此外,我们提出的数据增强方法很大程度上改善了目标检测的 AP 结果。

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

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

相关文章

ssrf之gopher协议的使用和配置,以及需要注意的细节

gopher协议 目录 gopher协议 (1)安装一个cn (2)使用Gopher协议发送一个请求,环境为:nc起一个监听,curl发送gopher请求 (3)使用curl发送http请求,命令为 …

【MATLAB】PSO粒子群优化LSTM(PSO_LSTM)的时间序列预测

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 PSO粒子群优化LSTM(PSO-LSTM)是一种将粒子群优化算法(PSO)与长短期记忆神经网络(LSTM)相结合的混合模型。该算法通过…

Kubernetes技术与架构-集群管理

Kubernetes技术与架构提供支撑工具支持集群的规划、安装、创建以及管理。 数字证书 用户可以使用easyrsa、openssl、cfssl工具生成数字证书,在kubernetes集群的api server中部署数字证书用于访问鉴权 资源管理 如上所示,定义一个服务类service用于负…

计算机视觉技术-目标检测数据集

目标检测领域没有像MNIST和Fashion-MNIST那样的小数据集。 为了快速测试目标检测模型,我们收集并标记了一个小型数据集。 首先,我们拍摄了一组香蕉的照片,并生成了1000张不同角度和大小的香蕉图像。 然后,我们在一些背景图片的随机…

【计算机网络】第五,六章摘要重点

1.运输层协议概述 运输层提供的是进程之间的通信 2. 3.套接字指的是什么 ip地址端口号 4.每一条TCP语句唯一地被通信两端连接的两个端点 5.TCP传输如何实现 以字节为单位的滑动窗口 超时重传 选择确认 6.TCP流量控制和拥塞控制的区别 流量控制:点对点通信…

android 13.0 Launcher3长按app弹窗设置为圆角背景功能实现一

1.前言 在13.0的系统ROM定制化开发中,在进行一些Launcher3的定制化开发中,在使用app的弹窗的功能时,会弹出应用信息和微件之类的内容,所以在定制需求中,需要默认设置为圆角背景,接下来就来分析下相关功能的实现 如图: 2.Launcher3长按app弹窗设置为圆角背景功能实现的核…

如何高效查询文件:Linux 下的多种方法详解

如何高效查询文件:Linux 下的多种方法详解 在日常工作中,我们经常需要查找文件,无论是寻找特定的代码文件、配置文件还是其他文档。Linux 提供了多种强大的命令和工具,通过巧妙地使用管道符,我们可以将这些命令组合起来…

2023年03月17日_微软和谷歌办公AI的感慨

2023年3月17日 最近这个科技圈的消息 有点爆炸的让人应接不暇了 各种大公司简直就是神仙打架 你从来没有见过这么密集的 这么高频的产品发布 昨天微软是发布了Office 365 Copilot 在里边提供了大量的AI的功能 然后谷歌呢也发布了这个Google Workspace AI 也是跟365 Cop…

学生数据可视化与分析工具 vue3+flask实现

目录 一、技术栈亮点 二、功能特点 三、应用场景 四、结语 学生数据可视化与分析工具介绍 在当今的教育领域,数据驱动的决策正变得越来越重要。为了满足学校、教师和学生对于数据深度洞察的需求,我们推出了一款基于Vue3和Flask编写的学生数据可视化…

利用idea+ jclasslib插件查看和分析 Java 类文件的字节码

jclasslib介绍 jclasslib 插件是一个用于 IntelliJ IDEA 的工具,它允许开发者在集成开发环境(IDE)内直接查看和分析 Java 类文件的字节码。这个插件尤其对于想要深入了解 Java 字节码、类加载机制、以及 Java 虚拟机(JVM&#xf…

[Angular] 笔记 22:ElementRef

chatgpt: ElementRef 是 Angular 中的一个类,它用于包装对 DOM 元素的引用。它允许开发者直接访问与 Angular 组件关联的宿主 DOM 元素。 当在 Angular 中需要直接操作 DOM 元素时,可以使用 ElementRef。通常情况下,最好避免直接操作 DOM&a…

性能优化-如何提高cache命中率

本文主要介绍性能优化领域常见的cache的命中率问题,旨在全面的介绍提高cache命中率的方法,以供大家编写出性能友好的代码,并且可以应对性能优化领域的面试问题。 🎬个人简介:一个全栈工程师的升级之路! &am…

Grafana监控数据可视化

Grafana 是一个可视化面板,有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持 Graphite、zabbix、InfluxDB、Prometheus、OpenTSDB、Elasticsearch 等作为数据源,比 Prometheus 自带的图表展示功能强大太多&am…

论文阅读——Slide-Transformer(cvpr2023)

Slide-Transformer: Hierarchical Vision Transformer with Local Self-Attention 一、分析 1、改进transformer的几个思路: (1)将全局感受野控制在较小区域,如:PVT,DAT,使用稀疏全局注意力来…

Mysql 容易忘的 sql 指令总结

目录 一、操作数据库的基本指令 二、查询语句的指令 1、基本查询语句 2、模糊查询 3、分支查询 4、 分组查询 5、分组查询 6、基本查询总结: 7、子查询 8、连接查询 三、MySQL中的常用函数 1、时间函数 2、字符串函数 3、聚合函数 4、运算函数 四、表…

使用element中el-cascader级联选择器实现省市区街道筛选(非动态加载)

<template><el-form ref"form" :model"form" label-width"80px"><el-form-item label"地址:" prop"addressList"><el-cascaderv-model"form.addressList":props"props":options&q…

NModbus-一个C#的Modbus协议库实现

NModbus-一个基于C#实现的Modbus通信协议库 最近在学习C#的时候&#xff0c;因为之前做过环保设备时使用C做过环保设备采集使用到了Modbus协议&#xff0c;当时看了一下基于C语言开发的libmodbus库。所以特意搜索看了一下C#下有什么Modbus协议库&#xff0c;在Github上面找了一…

代数结构与图论

文章目录 图的基本概念欧拉图与哈密顿图树平面图代数系统群与环格与布尔代数 图的基本概念 图的阶&#xff1a;图中的顶点数 &#xff0c;n 个顶点被称为 n 阶图零图&#xff1a;一条边都没有 平凡图&#xff1a;一阶零图基图&#xff1a;将有向图的各条有向边改成无向边所得到…

基于CNN神经网络的手写字符识别实验报告

作业要求 具体实验内容根据实际情况自拟&#xff0c;可以是传统的BP神经网络&#xff0c;Hopfield神经网络&#xff0c;也可以是深度学习相关内容。 数据集自选&#xff0c;可以是自建数据集&#xff0c;或MNIST&#xff0c;CIFAR10等公开数据集。 实验报告内容包括但不限于&am…

Gin 源码深度解析及实现

介绍 什么是 gin &#xff1f; 一个轻量级高性能 HTTP Web 框架。 Introduction | Gin Web Framework (gin-gonic.com) Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。 它具有类似 Martini 的 API&#xff0c;但性能比 Martini 快 40 倍。 为什么使用 gin &#xff1f; In…