自动驾驶之夜间检测调研

本文综述了低光照图像增强技术的发展现状,介绍了ExDark数据集的特点及其对低光照条件的细分,并讨论了传统方法与深度学习方法在该领域的应用。涵盖了监督学习、强化学习、无监督学习等多种学习策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)]

针对这一问题,推荐深入研究《VHDL实现的交通灯控制系统设计与仿真》一文。该资料详细阐述了VHDL在实现交通灯控制系统中的应用,特别在24小时计时和时间段自动调整功能上的设计思路和实现方法。 参考资源链接:[ VHDL实现的交通灯控制系统设计与仿真](https://wenku.csdn.net/doc/6401ad0bcce7214c316ee16c) 首先,系统设计应包括一个24小时的计时器模块,这通常通过一个模为24的计数器实现,该计数器累计一个天的时间。再结合一个模为60的计数器,分别表示小时和分钟。在VHDL代码中,你需要定义一个信号来跟踪当前时间,并使用一个状态机来管理不同的时间段。 其次,交通灯状态的调整可以通过定义不同的时间段及其对应的绿灯时间来实现。例如,在白天高峰时段,直行绿灯时间可能设置为90秒,而在夜间非高峰时段可能减少至60秒。这些时间参数应根据实际交通流量调研得出,并在VHDL代码中以常量或配置项的形式定义。 在VHDL中,你需要创建多个进程或函数来处理不同功能模块,如时钟模块、交通灯控制模块和故障处理模块。每个模块都应该有清晰的接口和逻辑,以保证系统整体的可读性和可维护性。例如,交通灯控制模块可能会在接收到特定时间信号后,通过状态机改变输出信号,从而切换不同方向的交通灯状态。 此外,为了确保系统的健壮性,故障检测模块同样重要。当检测到系统故障时,该模块应触发故障状态,通过状态机逻辑使所有黄灯闪烁,以提示驾驶员和行人。 最后,模块仿真应作为设计流程的一部分,通过仿真软件如ModelSim验证交通灯控制逻辑的正确性。这包括测试不同时间段内交通灯状态的切换,以及故障状态下的黄灯闪烁逻辑。 阅读《VHDL实现的交通灯控制系统设计与仿真》将有助于你全面理解系统设计和模块实现的细节,从时钟模块的设计到交通灯逻辑的编写,再到故障处理策略的制定。此外,这份资源还能为你提供实际的仿真结果,以验证设计的有效性。通过这份资料的学习,你将能够掌握构建一个功能完备的VHDL交通灯控制系统的必备知识和技巧。 参考资源链接:[ VHDL实现的交通灯控制系统设计与仿真](https://wenku.csdn.net/doc/6401ad0bcce7214c316ee16c)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值