自动驾驶之夜间检测调研

2024-01-24 19:50

本文主要是介绍自动驾驶之夜间检测调研,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. ExDark

第一个 公开 特定的提供 natural low-light images for object的数据集

7363张 low-light images,
12 classes

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VK2Wz60U-1670641306011)(:/bbcf37f6b5974f919c036fd4eee77238)]

Low-light image enhancement:

  • IVC database. general image enhancement而非特指low-light. 黑夜是人工合成的,可以找到原图像
  • See-in-the-Dark dataset (SID): 5094个短曝光(low-light)图像对应到424张长曝光图像(bright)
  • LOw light paired dataset (LOL): 500对图像

都含有一对图!!!
但是 SID和LOL都不能展示真实的夜晚灯光环境.
为了保证图像能对应上,使用特定相机并且不含有动态目标(例如cars,people等).

Low-light denoising
是low-light enhancement的一个子集, 但是这些图都是人工合成的,加入Poisson或者Gaussian噪声到合成的黑夜图像中.

Low-light surveillance
热相机和红外相机一般在夜晚监控中使用. 主要集中在人脸识别、行人检测。
数据集有OTCVBS,LSI和LDHF.

ExDark数据集

对low-light condition进行细划分, 例如一天中的黄昏(twilight)还是夜晚(nighttime),位置(indoor,outdoor)、光源可见度、光源类型(太阳、人造光).

  • 12类别: Bicycle, Boat, Bottle, Bus, Car, Cat, Chair, Cup, Dog, Motorbike, People, and Table.

  • 数据收集:网上下载,关键词(dark, low-light,nighttime); 公开数据集(PADCAL VOC, ImageNet和COCO);电影中提取;手动拍摄

  • 标注: 手动标注
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H5f7eTZ3-1670641306012)(:/313977abd4c0435f9edab51919a1b6ee)]

  • 十种灯光类型:

    • Low: 光线最暗,几乎看不清细节
    • Ambient: 灯光weak, 光源没有捕捉进来
    • Object: 目标较亮但是周围环境很暗,光源没有捕捉进来
    • Single: 只能看到一个光源
    • Weak: multiple visible但是weak光源
    • Strong:multiple visible但是相对亮的光源
    • Screen: 户内图像,可见亮的屏幕
    • Window: 户内图像,以窗户为亮光源.
    • Shadow:户外图像,户外光源,目标在阴影处
    • Twilight:户外,黄昏. 黎明到太阳升起; 微暗到太阳落下.
      在这里插入图片描述
      在这里插入图片描述

2. 增强 Survey

  • 传统方法:

    • Histogram Equalization-based methods
    • Retinex model-based methods: 例如将一张图解耦为一个reflection部分和一个illumination部分, reflection部分即为增强的结果.
      缺点: 多光源时会丢失细节和颜色;噪声被忽略了;找到这样一个prior或regularization比较困难;运行时间长.
  • DL方法:更高精度、更加鲁棒、速度更好

    • 方法包括:监督学习、强化学习、无监督学习、Zero-shot learning和半监督学习.
      在这里插入图片描述

学习策略

  • 监督学习:分为end-to-end, deep
    Retinex-based 和realistic data-driven methods.
    • end-to-end: LLNet, MBLLEN,EEMEFN,LPNet,DSLR,

    • Retinex-based: 利用物理可解释的Retinex理论.
      将illuminance部分和reflectance部分分开增强. 例如Retinex-Net,lightweight LightenNet,而DeepUPE学习从Image到illumination的映射;KinD,KinD++

    • 数据集: SID, DIV(视频),SMOID(视频),SIDGAN(视频)

  • 强化学习:DeepExposure,即首先根据曝光切分为sub-image, 局部曝光是强化学习学到的,奖惩函数类似于对抗学习. 再将局部曝光修整图像,获取不同曝光下的图像.
  • 无监督学习: 有监督的学习受限于泛化能力. 无监督学习EnligthenGAN,采用一个attention-guided U-Net作为生成器,使用global-local discriminators来使得增强结果跟自然光线相似.
  • Zero-Shot Learning:直接从test data中学习增强,例如ExCNet, 首先拟合测试集一个最优的S曲线,然后根据S曲线,使用Guided filter划分为base layer和datail layer, 根据S曲线调整base layer,最后使用Weber contrast来融合detailed layer和调整后的base layer.;还有RRDNet,将图像分为illumination, reflectance和noise; RetinexDIP使用NN进行Retinex分解,然后增强low-light image; Zero-DCE/zero-DCE++将光线增强视为一个image-specific curve estimation,输入一个low-light图像输出一个伪high-order曲线.
  • Semi-Supervised Learning:DRBN,首先恢复一个linear band representation,以监督的方式,然后通过无监督学习到的linear transformation进行增强.

网络技巧

  • 网络结构: 常见U-Net, pyramid network和multi-stage network.
  • Deep Model和Retinex Theory结合.
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 损失函数:

    • Reconstruction Loss(重构损失): L2倾向于乘法较大的错误,但是对较小错误容忍度高;L1损失保留颜色和luminance较好但是忽略了局部结构;SSIM保留了结构和纹理
    • Perceptual Loss: 和gt在feature map空间中的相似度. 特征提取网络为从一个在ImageNet训练的VGG16.
    • Smoothness Loss:移除结果中的噪音或保留相邻像素点的关系
    • 对抗损失:生成的图被辨别的损失
    • Exposure Loss: 不需要匹配的图,直接衡量曝光度的损失
    • 训练集:
      在这里插入图片描述

    LOL: 500对 低光照和正常光照的图
    SCIE: 589个户内/户外的场景,每个场景有3-18个不同曝光的图,因此有4413个多曝光的图. 选取589张高质量的图.分辨率在3000x2000和6000x4000
    MIT-Adobe FiveK: 5000张图
    SID:5094张短曝光的图,每个有个对应的长曝光的图
    VE-LOL:2500对,1000对是合成的,1500对是真实的
    DRV:202个原始的视频,每个对应一段长曝光的gt. 16-18fps/ 3672x5496
    SMOID:179对序列,每个200帧

    • 测试集:
      BBD-100K:视频,10000个视频,使用在晚上拍的用来做测试集
      ExDARK:
      DARK FACE: 6,000张晚上拍的人脸
  • 作者提出新的数据集: LLIV-Phone,120视频,45,148个图像,18张手机类型,

在这里插入图片描述
在这里插入图片描述

结果展示

方法对比
在这里插入图片描述

在1080ti上测速,输入1200x900x3,32张求平均
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6lRd3DNk-1670641306018)(:/d7085b61dec34013978b36ba3901ac3c)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QIwAr9Gl-1670641306019)(:/caa512055ab945799c41474832a3724e)]

这篇关于自动驾驶之夜间检测调研的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

IDEA如何让控制台自动换行

《IDEA如何让控制台自动换行》本文介绍了如何在IDEA中设置控制台自动换行,具体步骤为:File-Settings-Editor-General-Console,然后勾选Usesoftwrapsin... 目录IDEA如何让控制台自http://www.chinasem.cn动换行操作流http://www

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur