水下目标检测(低光照目标检测)方法-发表在Patter Recognition,代码已开源

本文主要是介绍水下目标检测(低光照目标检测)方法-发表在Patter Recognition,代码已开源,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里写自定义目录标题

  • 前言
  • 动机
  • 贡献
  • Overview
  • 一些实验结果
    • 数据集
    • 主要实验结果
    • 实验结果展示
  • 总结

前言

Hi,各位读者,好久不见!现在我已经从北大博士毕业,成为一名小青椒啦!工作还是需要宣传的。今天想分享我在水下目标检测的工作:《A gated cross-domain collaborative network for underwater object detection》,发表在中科院一区期刊《Pattern Recognition》,代码已经开源:Github
欢迎大家引用我的工作,也欢迎学术合作👏

动机

水下目标检测(Underwater Object Detection,UOD)与通用目标检测(Generic Object Detection,GOD)之间最大的区别在于不同的检测环境。水下图像不可避免地受到能见度差、光线折射、吸收和散射等影响。尽管有研究通过水下图像增强(Underwater Image Enhancement, UIE)技术改善图像质量以提高目标检测性能,但也有研究显示,仅依赖图像增强可能不足以提升检测效果,有时甚至会导致性能的显著下降。这主要是因为图像增强技术虽然能在视觉上改善图像,但机器对场景的理解与人眼存在本质差异,仅通过调整颜色、亮度和对比度并不能充分提供目标检测所需的信息。而且,图像增强的过程不可避免地移除或改变图像中的关键细节,引入噪声或伪影。针对这一问题,有研究者探索了结合水下视觉增强和目标检测的策略,这些策略主要分为预处理方式和多任务学习方式。如图(a)所示,在预处理方式中,水下图像增强方法作为预处理步骤来生成增强图像,然后在生成的增强图像上进行目标检测。然而,由于水下图像增强方法可能引入噪声或伪影,检测算法的性能无法显著提高。而在多任务学习策略中,视觉恢复和目标检测被视为一个联合优化的多任务学习问题,以引导图像增强朝着检测有利的方向进行,如图(b)所示。然而,这些研究方法需要匹配的模糊和清晰图像对进行训练,这在实际应用中难以获得。(辛辛苦苦画的图,如有需要,务必引用!!!)
辛辛苦苦画的图,如有需要,务必引用
与先前的方法不同,本文提出了一种基于门控跨域协作网络的水下目标检测方法(A gated cross-domain collaborative network for underwater object detection,GCC-Net),将来自水下图像增强模型生成的增强图像领域和原始图像领域的特征进行交互和融合,如图(c)所示。受水下图像增强模型工作的启发,增强图像可以提高可见性质量。本文工作受到以下问题的启发:为什么这些视觉上更清晰的增强图像会降低水下目标检测的性能?这可能是因为图像增强过程丢失了一些用于目标检测的有用的原始信息。因此,本文提出的方法尝试整合来自原始域和增强域的特征。由于增强图像可以提高水下图像的视觉质量,提供更清晰、更可辨识的对象边界,这有助于解决水下目标检测中遇到的低对比度和弱光照问题。另一方面,原始图像保留了场景的自然特征,并提供了关于对象的清晰纹理信息。增强图像域和原始图像域都为水下目标检测提供独特而有价值的信息,因此探索原始图像和增强图像之间的交互和融合对于准确识别水下对象将是有益的。

贡献

本文工作的主要贡献可以总结如下:
(1)提出一种实时的水下图像增强方法:该方法用于生成增强图像,可以改善低光区域的水下对象的可见性,同时从原始图像和增强图像域中学习特征有助于在弱光条件下识别水下对象。
(2)提出一种跨域特征交互模块:它通过同时处理原始图像和增强图像,在一个统一的框架中实现两个域信息的相互作用和融合,旨在解决水下环境中的低可见性和对比度问题。
(3)提出一种门控特征融合机制:用于自适应地控制跨域信息的融合比率,以此减少由水下增强模型产生的不可靠结果带来的负面影响。
(辛辛苦苦画的图,如有需要,务必引用!!!)
在这里插入图片描述

Overview

本文提出的弱光照目标检测方法整体框架如图2所示,该方法主要由四个组件组成:(1)使用在线图像增强模型water-MSR生成清晰的增强图像;(2)跨域特征交互(Cross-domain Feature Interaction,CFI)模块以促进增强图像和原始图像之间的特征交互并探索互补信息;(3)门控特征融合(Gated Feature Fusion,GFF)模块以控制跨域信息的融合比率;(4)使用检测头输出结果。

方法细节请看我的论文原文。

一些实验结果

数据集

本方法在公认的四个水下目标检测数据集DUO、Brackish、TrashCan和 WPBB上进行实验,以验证弱光照目标检测方法的性能。

主要实验结果

在这里插入图片描述

实验结果展示

在这里插入图片描述

总结

本文提出了一种端到端的门控跨域协作网络(GCC-Net),旨在解决目标检测任务在弱光照环境下遇到的低对比度和可见性差等挑战。通过将图像增强技术与目标检测框架相结合,本方法在原始图像域与清晰图像域之间建立了一种交互和融合的机制。该机制包含三大核心模块:在线图像增强模型(waterMSR)、跨域特征交互(CFI)模块以及门控特征融合(GFF)模块。通过提出的CFI模块,模型不仅能利用增强图像中的显著目标信息,还能够捕捉原始图像所特有的自然场景属性和细节纹理。CFI模块在提高图像视觉质量的同时,维持了真实场景的属性,在弱光照环境中能更精确地检测和定位目标。本章还引入了门控特征融合(GFF)模块,优化了增强特征与原始特征间的信息交流,确保了两类特征的有效融合,避免了任何一方特征对最终结果的过度影响。

欢迎引用!!!也欢迎和我交流弱光照目标检测的工作

这篇关于水下目标检测(低光照目标检测)方法-发表在Patter Recognition,代码已开源的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1117358

相关文章

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模