计算机视觉——DiffYOLO 改进YOLO与扩散模型的抗噪声目标检测

devtools/2024/10/21 9:17:07/

概述

物体检测技术在图像处理和计算机视觉中发挥着重要作用。其中,YOLO 系列等型号因其高性能和高效率而备受关注。然而,在现实生活中,并非所有数据都是高质量的。在低质量数据集中,更难准确检测物体。为了解决这个问题,人们正在探索新的方法。例如,本文提出了一个名为 DiffYOLO 的框架。这可以提高低质量数据集上物体检测的准确性。

介绍

近年来,YOLO 被广泛应用于自动驾驶和医学图像处理等多个领域的物体检测任务中。例如,Alice Freudevaux 等人从卫星图像中检测车辆,Sudipto Paul 等人在核磁共振图像上识别脑肿瘤,Ethan Gruby 等人自动检测面部地标。然而,包括 YOLO 在内的物体检测模型仍然难以准确检测嘈杂图像中的物体。在高质量数据上训练出来的模型在噪声测试集上可能表现不佳。因此,本文提出了一个名为 DiffYOLO 的框架,旨在改进在高质量数据上训练的现有模型,提高它们在噪声测试集上的性能。该框架从预先训练好的扩散模型中提取特征,并将其纳入现有的目标检测模型,以提高它们对噪声的免疫力。实验结果表明,所提出的方法提高了在噪声图像中的性能。该方法有望以更少的资源实现更高的准确率,而无需自行训练模型。

相关研究

物体检测

物体检测是计算机视觉的基本任务之一,目前已经有许多方法可供参考。例如,有两步法(如 R-CNN 和快速 RCNN),也有一步法(如 YOLO);自 YOLOv1 以来,YOLO 更好、更快的模型不断涌现,如 YOLOx 和 PP-YOLOE。本文使用 YOLOv5 来提高噪声环境下的性能。

扩散模型

扩散模型旨在清除数据中的随机噪音。与以往的模型不同,扩散模型采用逐步实现目标的方法,每一步都使用深度学习来去除噪声。研究表明,扩散模型可以使其他模型更能抵御噪声。

抗噪

预先训练的模型很容易获得,但实际的目标检测需要清晰的图像。例如,在发送工业现场的图像时,传输过程中的问题、雾和阴暗天气都会造成噪音。因此,NoisyNet 和 IA-YOLO 模型等方法可以处理噪声。

建议方法

普通 YOLO 模型(YOLOv5)发现,图像噪声会影响物体检测。例如,很难检测到雨雾中的物体。因此,我们提出了一种新思路,以便在噪声环境中准确检测物体。

第一步是解释如何去除噪点。添加噪点前有一个准备过程,去除噪点后有一个后处理过程。这是一种清洁图像的方法,包括添加噪点的过程和去除噪点的过程。

接下来,利用(Dhariwal 和 Nichol,2021 年)提出的想法,提取图像特征。这包括找到图像的重要部分。这样就能生成具有特殊抗噪能力的图像。

最后,具有这种特殊能力的图像被用来训练普通的 YOLO 模型。这样,即使在嘈杂的图像中,普通模型也能准确检测到物体。使用这种方法,模型无需再次训练。这不仅节省了时间,还能在更多情况下使用。

试验

尝试并测试查找 PCB(印刷电路板)缺陷的方法,并将其与常规方法进行比较。

数据集

数据集 DeepPCB 包含 1500 张实际照片。其中包含印刷电路板中的常见故障(如断线、金属触点)。在本实验中,高质量照片被用来训练模型,并用不同类型的噪声进行测试。

实验结果

在实践中,为了有效地训练模型,某些特征被禁用。本文采用的方法不是生成特征,而是预先存储这些特征,并根据需要将其加载到模型中。

下表列出了检测结果。(a) Yolov5 模型的检测结果 (b) DiffYolo 模型的检测结果。

表 1:高质量数据集的检测结果

下表比较了两种模型在高质量数据集上的性能。

表 2:加西亚噪声下的检测结果

高斯噪声是随机添加到图像中的噪声,即从均值为 0 的高斯分布中随机添加到像素值中。这会导致整个图像出现轻微的模糊和细微的颜色变化。

表 3:使用椒盐噪声的检测结果

椒盐噪点是由图像中随机像素突然添加白色或黑色值造成的。这会导致亮点或暗点散布在图像中,从而降低图像的整体质量。

表 4:正噪声下的检测结果

在光线不足的条件下拍摄的图像中经常会出现 “占有噪声”。这种噪点是由遵循泊松分布的光强随机变化造成的。图像亮度的随机变化会降低图像质量。

每个表格都显示了模型在不同类型噪声和高质量数据集中的表现,通过比较结果,我们可以了解每个模型在不同情况下的表现。我们发现,当添加噪声时,模型的性能会下降,但 DiffYOLO 的性能优于基线。换句话说,某些方法可以使模型更能抵抗噪声。这种方法不仅能发现故障,还能提高模型本身的性能。

结论

本文提出了一种新方法来提高物体检测的准确性。实验结果表明,利用从这一特定模型中学到的信息,可以获得比通常更好的性能。这样就可以利用在高质量图像上训练的模型,在噪声环境中准确检测出物体。不过,人们也注意到,当使用模型的计算资源不足或数据容易变化时,这种方法就会受到限制。


http://www.ppmy.cn/devtools/2233.html

相关文章

C++ 数据结构 linux 【第一天】

1.命名空间 在C/C中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局作 用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字…

IP证书申请流程

目录 域名与IP的关系 SSL证书绑定域名还是绑定IP? IP证书支持免费申请吗? 如何申请IP地址证书 IP类型的SSL证书,又称之为IP SSL,这种SSL证书是专门用于公网IP地址验证的一种数字证书。 主要功能就是解决IP地址明文传输的安全…

[Linux][进程控制][进程程序替换]详细解读

目录 1.进程创建1.fork函数初识2.fork函数返回值3.写时拷贝4.fork之后,父子进程代码共享5.fork常规用法6.fork调用失败的原因 2.进程终止0.进程终止时,操作系统做了什么?1.进程退出场景2.进程常见退出方法4 _exit函数(系统接口)4.exit函数(库…

Spring Boot 连接 RabbitMQ

使用MQ Java获取MQ连接对象 SpringBoot Pom 文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocatio…

STM32F103ZE-中断

文章目录 122.12.22.32.42.52.62.6.12.6.2 33.13.23.34.14.3 56788.18.2 NVIC 管理所有中断EXTI 外部中断事件控制器 针对外部 可以看成NVIC 下属 1 中断和 中止&#xff08;不回去了&#xff09;不一样 搁一段时间就如果不用中断 用while&#xff08;&#xff09; 可能夹半天…

maven3.9的settings.xml 内容学习

settings.xml 文件介绍 settings.xml 是 Maven 的配置文件&#xff0c;它允许你自定义 Maven 的行为&#xff0c;比如设置仓库、代理、认证信息等。在 Maven 3.9 中&#xff0c;settings.xml 的结构和内容可能与之前的版本相似&#xff0c;但可能会有一些小的改进或变化。下面…

mvn spring-boot:run运行报错

[ERROR] No plugin found for prefix ‘spring-boot’ in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/itkey/.m2/repository), public (https://maven.aliyun.com/reposito…

Spring Boot 经典面试题(八)

1.SpringBoot微服务中如何实现 session 共享 在Spring Boot微服务中实现session共享可以通过不同的方式&#xff0c;取决于你的微服务架构和需求。下面列出了一些常见的方法&#xff1a; 使用Spring Session和Redis&#xff1a; 配置Spring Session来将session数据存储在Redis…