计算机视觉研究院 | 智慧工地:2PCNet,昼夜无监督域自适应目标检测(附原代码)

本文来源公众号“计算机视觉研究院”,仅用于学术分享,侵权删,干货满满。

原文链接:智慧工地:2PCNet,昼夜无监督域自适应目标检测(附原代码)

由于缺乏夜间图像注释,夜间目标检测是一个具有挑战性的问题。尽管有几种领域自适应方法,但实现高精度结果仍然是一个问题。

01 前景概要

在使用公认的师生框架的方法中,特别是对于小规模和低光物体,仍然可以观察到假阳性误差传播。我们提出了一种两阶段一致性无监督领域自适应网络2PCNet来解决这些问题。该网络在第一阶段使用来自教师的高置信度边界框预测,并将其附加到学生的区域建议中,供教师在第二阶段重新评估,从而产生高置信度和低置信度伪标签的组合。夜间图像和伪标签在用作学生的输入之前被缩小,从而提供更强的小规模伪标签。为了解决图像中弱光区域和其他夜间相关属性引起的错误,我们提出了一种称为NightAug的夜间特定增强管道。该管道涉及将随机增强(如眩光、模糊和噪声)应用于日间图像。在公开数据集上的实验表明,我们的方法比最先进的方法和直接在目标数据上训练的监督模型获得了20%的优越结果。

02 背景&动机

夜间目标检测在许多应用中都是至关重要的。然而,通过监督方法对注释数据的要求是不切实际的,因为带有注释的夜间数据很少,并且监督方法通常容易过度拟合训练数据。除其他原因外,这种稀缺性是由于光线条件差,使得夜间图像难以注释。因此,不假设注释可用性的方法更有优势。领域自适应(DA)是解决这一问题的有效方法,它允许使用现成的注释源日间数据集。

为了解决这个问题,我们提出了2PCNet,一种用于夜间目标检测的两阶段一致性无监督域自适应网络。我们的2PCNet将在第一阶段预测的高度自信的伪标签的边界框与学生的区域建议网络(RPN)提出的区域合并在一起。然后,教师在第二阶段使用合并后的提议来生成一组新的伪标签。这提供了高置信度和低置信度伪标签的组合。然后将这些伪标签与学生生成的预测进行匹配。然后,我们可以利用加权一致性损失来确保无监督损失的更高权重基于更强的伪标签,但允许较弱的伪标签影响训练。

配备了这种两阶段策略,我们解决了小规模对象的错误问题。我们设计了一种学生缩放技术,故意缩小学生的夜间图像及其伪标签。为了生成准确的伪标签,教师的图像保持在其全尺寸。这导致更容易预测的较大对象的伪标签被缩小到较小的对象,从而提高学生的小规模表现。夜间图像存在日间场景中未发现的多种复杂情况,如黑暗区域、眩光、突出的噪声、突出的模糊、不平衡的照明等。所有这些都造成了问题,因为接受日间图像训练的学生更倾向于日间域的特征。为了缓解这个问题,我们提出了NightAug,一组随机的夜间特定增强。NightAug包括在白天的图像中添加模拟夜间条件的人造眩光、噪音、模糊等。通过NightAug,我们能够减少学生网络对源数据的偏见,而不会导致对抗性学习或计算密集型翻译。总体而言,使用2PCNet,我们可以在图1中看到我们的结果在质量上的改进。

03 新框架设计

我们的2PCNet的体系结构如下图所示。我们的2PCNet由一个学生和一个教师网络组成。该学生是一个多域网络,在标记的白天图像(用NightAug增强)和未标记的夜间图像上进行训练。老师专注于夜间图像,为学生生成伪标签,是学生的指数移动平均值(EMA)。

在初始预训练阶段之后,教师开始产生伪标签,这允许学生初始化特征提取器和检测器。在2PCNet的第一阶段的每次迭代中,教师从夜间图像中产生伪标签。通过置信阈值对这些伪标签进行过滤。这是为了确保只给学生高置信度的伪标签。然后将来自伪标签的边界框与学生的RPN生成的区域建议相结合。合并后的区域建议然后用于从学生的RoI网络生成预测。在第二阶段,教师使用相同的合并区域建议来生成一组匹配的伪标签,其中每个伪标签都有从学生那里获得的相应预测。

Two-Phase Consistency

由于日间源图像和夜间目标图像之间存在较大的域间隙,教师无法生成高质量的伪标签。这种情况通常发生在整个场景中,但特别是对于具有强烈夜间特征的区域,例如弱光、眩光、不均匀照明等。教师只为与白天有更多相似性的区域生成自信的伪标签,因为它偏向于白天域。这种偏差给使用硬阈值来过滤分类交叉熵损失的伪标签的方法带来了问题。剩下的伪标签只包含具有日间属性的简单样本。因此,学生不会从较难(例如较暗)的区域学习。

由于对难样本(即具有高水平夜间属性的区域)的了解最少,教师开始预测高度自信但不正确的伪标签。当老师向学生提供这些不正确的伪标签时,一个粘性循环开始了,老师反过来用不正确的知识更新。因此,错误通过训练继续传播。在我们的案例中,这些误差明显发生在黑暗/眩光区域和小尺度物体中。为了解决错误传播的问题,我们设计了一种两阶段的方法,将高置信度的伪标签与其不太置信度的对应标签结合在一起。这种组合允许自信标签的高精度,并将不太自信标签的额外知识提炼到学生身上。

(从左到右,从上到下)GT边界框,教师预测的具有非极大抑制(NMS)和阈值(Bp)的边界框,由Bp指导的学生预测的边界框(Bstudent),以及教师预测的一致性损失的边界框。

Student-Scaling

为了确保不会忘记先前标度的知识,应用了标度因子的高斯函数。高斯函数的范数是从调度值中获得的。为了防止由于伪标签太小而产生额外的噪声,将去除面积低于阈值的标签。

NightAug

夜间图像有一系列日间场景中没有的复杂情况。这导致了师生框架中的一个问题,即学生会偏向于源领域。以前的方法试图解决这个问题,但要么需要计算密集型翻译,要么在框架中添加额外的领域分类器,这使训练变得复杂。我们提出了NightAug,一种夜间特定的增强管道,它是计算光,不需要训练。NightAug由一系列增强组成,目的是引导白天图像的特征与夜间图像的特征相似。

NightAug:原始图像(左上)和随机增强的图像:高斯模糊、伽马校正、亮度、对比度、眩光、高斯噪声和随机剪切

每个增强都有一个应用的概率,增强的强度是随机的。然后可以用原始图像的随机区域替换增强图像的随机区。该区域替换的概率随着每次迭代而降低。

04 实验及项目落地

Faster RCNN、Adaptive Teacher(AT)和我们的方法在SHIFT数据集上的定性结果,最右边是真实值。我们可以观察到,由于缺乏域自适应,Faster RCNN无法检测对象,而与我们的方法相比,AT有大量的小误报边界框,我们提出的方法与GT非常相似。

目前在很多城市为了赶工,有许多工地都是夜晚进行作业,为了作业过程中的安全施工以及非员工潜入等问题,某建筑企业采用了AI技术进行安全生产和管理。

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

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

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

相关文章

【优先级队列PriorityQueue】

目录 1,优先级队列 1.1 概念 2,优先级队列的模拟实现 2.1 堆的概念 2.2 堆的存储方式 2.3 堆的创建 2.3.1 堆的向下调整(大根堆) 2.3.2 建堆的时间复杂度​编辑 2.4 堆的插入与删除 2.4.1 堆的插入 2.4.2 堆的删除 3&a…

Github Actions 构建Vue3 + Vite项目

本篇文章以自己创建的项目为例,用Github Actions构建。 Github地址:https://github.com/ling08140814/myCarousel 访问地址:https://ling08140814.github.io/myCarousel/ 具体步骤: 1、创建一个Vue3的项目,并完成代…

Sentinel-1 Level 1数据处理的详细算法定义(二)

《Sentinel-1 Level 1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level 1处理算法和方程,以便生成Level 1产品。这些算法适用于Sentinel-1的Stripmap、Interferometric Wide-swath (IW)、Extra-wide-swath (EW)和Wave模式。 今天介绍的内容如下&…

澳大利亚TikTok直播为什么需要海外直播专线?

近年来,许多卖家为了解决澳大利亚TikTok直播中的卡顿和高延迟问题,纷纷选择使用海外直播专线。这种专线服务是一种高效、低延迟的数据传输解决方案,专为需要高质量网络连接的场合设计。 与公共互联网相比,海外直播专线提供更稳定、…

基于深度学习的电影推荐系统

1 项目介绍 1.1 研究目的和意义 在电子商务日益繁荣的今天,精准预测商品销售数据成为商家提升运营效率、优化库存管理以及制定营销策略的关键。为此,开发了一个基于深度学习的商品销售数据预测系统,该系统利用Python编程语言与Django框架&a…

ubuntu使用kubeadm搭建k8s集群

一、卸载k8s kubeadm reset -f modprobe -r ipip lsmod rm -rf ~/.kube/ rm -rf /etc/kubernetes/ rm -rf /etc/systemd/system/kubelet.service.d rm -rf /etc/systemd/system/kubelet.service rm -rf /usr/bin/kube* rm -rf /etc/cni rm -rf /opt/cni rm -rf /var/lib/etcd …

兼容性报错--调整字符集解决

文章目录 错误解决办法Unicode 字符集(两个字节来表示一个字符)多字节字符集(一个字节来表示一个字符)如何选择字符集char与wchar_t的区别LPCSTR与LPCWSTR的区别 错误 解决办法 切换字符集类型 Unicode 字符集(两个字节来表示一个字符) 优点: 支持更多的字符集…

打开excel时弹出stdole32.tlb

问题描述 打开excel时弹出stdole32.tlb 如下图: 解决方法 打开 Microsoft Excel 并收到关于 stdole32.tlb 的错误提示时,通常意味着与 Excel 相关的某个组件或类型库可能已损坏或不兼容。 stdole32.tlb 是一个用于存储自动化对象定义的类型库&#x…

匈牙利汽车市场研究报告(2024版)

匈牙利加入欧盟后成为欧洲国家的汽车制造组装基地和大型跨国企业的零部件供应商,具有深厚的汽车工业基础。在欧债危机后,匈牙利政府提出“向东发展”战略,并将电动化作为汽车行业新的发展方向,通过一系列外资友好政策吸引中日韩等…

2,区块链、数字货币及其应用场景(react+区块链实战)

2,区块链、数字货币及其应用场景(react区块链实战) 一、什么是区块链?1 ibloackchain(1)安装ibloackchain(2)Blance查询余额(3)Mine挖矿(4&#x…

【学术会议征稿】第五届大数据、人工智能与物联网工程国际会议

第五届大数据、人工智能与物联网工程国际会议 2024 5th International Conference on Big Data, Artificial Intelligence and Internet of Things 第五届大数据、人工智能与物联网工程国际会议(ICBAIE 2024)定于2024年10月25-27号在中国深圳隆重举行。…

Java PKI Programmer‘s Guide

一、PKI程序员指南概述 PKI Programmer’s Guide Overview Java认证路径API由一系列类和接口组成,用于创建、构建和验证认证路径。这些路径也被称作认证链。实现可以通过基于提供者的接口插入。 这个API基于密码服务提供者架构,这在《Java密码架构参考指…

Milvus核心组件(1)

cluster 模式 上一篇其实已经说过 standalone 模式,其实集群模式大同小异,只是在不同机子间使用Kafka或者其他消息中间件保证数据及逻辑的一致性。 Log Broker,如Pulsar这样的系统,是专门设计来处理和管理日志数据的中间件。它主…

【IMU】 温度零偏标定

温度标定 IMU的零偏随着温度的变化而变化,在全温范围内形状各异,有些可能是单调的,有些可能出现拐点。 多项式误差温度标定 目的是对估计的参数进行温度补偿,获取不同温度时的参数值(零偏、尺度、正交)&…

程序员日志之DNF手游强化20攻略

目录 传送门正文日志1、概要2、炭的获取3、强化 传送门 SpringMVC的源码解析(精品) Spring6的源码解析(精品) SpringBoot3框架(精品) MyBatis框架(精品) MyBatis-Plus SpringDataJP…

QT案例-通过QCustomPlot库绘制Window系统CPU温度实时折线图

之前项目中涉及到了获取硬件信息内容,对CPU的温度监控有点兴趣,观察和百度发现鲁大师和驱动人生的CPU温度监控貌似是用驱动实现的,有点太高大上了,搞不懂。后面经过到处查找资料终于找到了Qt在Windows 环境下监控CPU等硬件温度/运…

2024年浙江省高考分数一分一段数据可视化

下图根据 2024 年浙江高考一分一段表绘制,可以看到,竞争最激烈的分数区间在620分到480分之间。 不过,浙江是考两次取最大,不是很有代表性。看看湖北的数据,580分到400分的区段都很卷。另外,从这个图也可以…

Java项目:基于SSM框架实现的中小型企业财务管理系统【ssm+B/S架构+源码+数据库+答辩PPT+开题报告+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的中小型企业财务管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单…

【方法】如何打开设置了密码的ZIP文件?

对于重要的ZIP文件,很多人会设置密码保护,那要如何打开设置了密码的ZIP文件呢?今天我们一起来看下,在记得密码和忘记密码的情况下,如何打开ZIP文件。 情况1: 如果知道ZIP文件原本设置的密码,我…

tessy 单元测试:小白入门指导手册

目录 1,创建单元测试工程目录 2,导入单元测试源文件 一:创建测试文件夹(最好和代码目录一一对应,方便查找) 二:选择测试环境 三:添加源文件 四:分析源文件 3,编写单元测试用例 一:设置函数参数的传输方向 二:添加单元测试用例 三:编辑单元测试用例数据 …