近年来驾驶辅助系统和自动驾驶是研究和产业界的热点问题。日本也在2016年通过立法允许电子图像系统替代传统后视镜。

在目前交通系统中,LED照明因为效率高、稳定性好对于汽车和道路标志带来了诸多改善,但同时也为基于视觉的驾驶辅助系统(如交通标志辨识、自动煞车以及夜视功能)带来了种种挑战。

LED 交通信号灯以及LED车灯的flicker消除,是当前ADAS以及自动驾驶领域对图像传感器一个重要需求。这一篇文章我们就谈一谈LED flicker。

LED flicker是指因为LED 闪烁在图像传感器上产生伪影的现象,但是从人眼的感知LED却是常亮的。

LED照明是采用脉冲调制驱动PWM(Pulse Width Modulation),简单来说LED并不是常亮,而是以一定频率在闪烁。但由于视觉的flicker fusion threshold的原因,频率高于90Hz人眼一般就不会察觉到闪烁。但是对于camera系统来说,户外通常会设置较短曝光时间(尤其是HDR场景),这样就有可能拍摄到的LED亮度明暗变化的情况。

举个例子。大街上的红绿灯,此时红灯对人眼来说是亮的,需要停下来了。但是驾驶辅助系统接收的信号却未必如此。如下图所示,在第N帧的时候,LED on和sensor曝光时间刚好同步,所以生成的图像红灯是亮的。在N+1帧的时候,由于sensor曝光时间和LED美颜同步,所以生成的图像红灯是黑的。但是对咱们人眼来说这个红灯是常亮的。

当sensor的曝光时间小于LED光源调制信号‘空’时长,会出现帧和帧之间灯光时亮时灭的现象。

再举个例子。帧和帧之间灯光虽然没有关/开,但是灯的强度会在帧之间变化。如下图所示,N帧的曝光刚好抓到两个LED亮的周期,所以灯光比较亮。下一帧只抓到一个,所以暗。

当sensor的曝光时间大于LED光源调制信号‘空’时长,会出现帧和帧之间灯光时亮时暗的现象。

再举个例子。当我们用rolling shutter sensor的时候,会出现banding现象。Rolling shutter是逐行曝光,再遇到LED频闪,就可能出现LED灯banding的情况。

另外现在sensor常用的多帧HDR模式,由于短曝光的时间限制,也会引入一些LED flicker的现象,如下图,短曝光的部分就会出现flicker的情况。

LED flicker给自动驾驶带来的挑战相信大家都很容易想到。那么有没有什么好的方法来解决这个问题呢?

从上面公式来看,保持LED 频闪与sensor曝光同步,并且曝光时间配合LED调制信号周期,是解决问题的关键。这是一个理想化的解决方案。现实世界是:世界各地LED规格不一,这就导致了sensor厂和自动驾驶厂商也不能统一去优化。

那有没有其他解决办法呢?答案很遗憾,虽然sensor厂做了一些努力去减小,但是目前这些方法都没有完全根除这个问题。

目前常用的一个方法是,sensor本身实现大动态范围(HDR),这样可以有更大曝光时间裕度,保证曝光时间内尽可能抓到若干个LED on周期。Sony、Onsemi现在都是这个思路。这是Sony IMX390的一个官方宣传。

(注: 欧盟已经制定并执行了包含交通信号灯flicker要求的标准EN12966,所以现在的sensor厂商很多都是在基于这一标准在设计flickering mitigation的解决方案)

—–本文转载自微信公众号《大话成像》,知乎专栏《all in camera》

【转载】自动驾驶应用中的LED FLICKER问题相关推荐

  1. vector can通信源码_CAN总线IMU在自动驾驶安全控制中的应用

    CAN(Controller Area Network)作为一种成熟可靠的车载设备通信标准,在过去30多年中几乎应用于所有的客车和重型车辆,通过低成本的物理层和稳定可靠的传输层可实现总线上的消息传输. ...

  2. 怎样才能在自动驾驶任务中高效地利用时间轴上的信息进行视频检测?

    目录 这篇论文究竟想解决什么样的问题? 我们要尊重时间轴上的因果关系 我们对实时性有要求 简单粗暴地只添加LSTM模块行不行? 我们简单地回顾一下LSTM的原理 LSTM的局限性 作者建议的模型是如何 ...

  3. 从自动驾驶事故中探索有效的性能提升及判责策略

    作者 | Jessie 出品 | 焉知  知圈 | 进"域控制器群"请加微13636581676,备注域 蔚来汽车去年那场自动驾驶撞车事故再一次刷新了人们对智能汽车的认知,事故的责 ...

  4. 自动驾驶系统中的坐标系

    自动驾驶系统中的坐标系 自动驾驶汽车一般由相机.激光雷达.IMU和RTK等传感器组成,相对应的主要有以下四个坐标系:LiDAR坐标系.相机坐标系.图像坐标系.世界坐标系,四个坐标系可以通过参数进行转化 ...

  5. 自动驾驶地图中的深度学习

    作者丨水管工张师傅@知乎 来源丨https://zhuanlan.zhihu.com/p/488024649 编辑丨3D视觉工坊 记录自己对刘兰个川大神文章的理解. 原文为:(貌似要翻墙) https ...

  6. CV:无人驾驶/自动驾驶汽车中涉及的软硬件技术(摄像头、雷达、激光雷达)、计算机视觉技术(检测、分类、跟踪、语义分割)的简介

    CV:无人驾驶/自动驾驶汽车中涉及的软硬件技术(摄像头.雷达.激光雷达).计算机视觉技术(检测.分类.跟踪.语义分割)的简介 目录 无人驾驶汽车中涉及的软硬件结合相关的技术 摄像头.雷达.激光雷达 影 ...

  7. 自动驾驶系统中视觉感知模块的安全测试

    本文由吴昊,王浩,苏醒,李明昊,许封元,仲盛联合创作 摘要 近年来,基于深度学习的视觉感知技术的发展极大地促进了车联网领域中自动驾驶的繁荣,然而自动驾驶系统的安全问题频出引发了人们对自动驾驶未来的担忧 ...

  8. 自动驾驶汽车中的激光雷达和摄像头传感器融合

    传感器融合是自动驾驶汽车的关键技术之一.这是自动驾驶汽车工程师都必须具备的技能.原因很简单:视觉传感器无处不在,无时无刻不在使用. 自动驾驶汽车通过4个关键技术工作:感知.定位.规划和控制. 传感器融 ...

  9. 浅论激光相控阵雷达在自动驾驶汽车中的应用

    浅论相控阵雷达在自动驾驶汽车中的应用 一.当前自动驾驶汽车传感器发展现状 1. 主要的传感器解决方案 1) 谷歌解决方案 2)特斯拉解决方案 2. 传统解决方案的优缺点 1)摄像头 2)机械扫描激光雷 ...

最新文章

  1. 小程序登录、用户信息相关接口调整说明
  2. 图解SQL面试题:经典50题
  3. 评审恩仇录——IDE也能做代码评审?
  4. java ajax翻页_分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解
  5. prettyJson V7.1 使用
  6. 安卓APP_ 控件(5)—— ProgressBar
  7. CentOS6.8下安装memcached并设置开机自启动
  8. Could not load TestContextBootstrapper [null]. Specify @BootstrapWith‘s ‘value‘ attribute...
  9. 揭秘微信朋友圈这种信息推流背后的系统设计
  10. php socket发数据打印,PHP向socket服务器收发数据的方法
  11. Kotlin — 所有知识体系
  12. ENVI去除NDVI/EVI异常值、NAN(not a number,无效值)、无穷大(inf)
  13. 磁珠 符号_如何理解电子元件磁珠?
  14. 带你认识Oracle索引类型(全面总结)
  15. 【windows】使用键盘代替鼠标的快捷键
  16. Newman定制报告
  17. 群雄当立,逐鹿分布(二)Paxos传说之败走拜占庭
  18. Qt5.9生成一个Adroid的apk应用实例
  19. lol8.18服务器不稳定,英雄联盟8.18客户端崩溃,玩家表示要退游,官方会给什么补偿?...
  20. java线程中yield()和join()的区别

热门文章

  1. OpenCV中的saturate操作(饱和操作)究竟是怎么回事?
  2. Incorrect datetime value
  3. 台球厅管理系统如何解决台球管理漏洞?
  4. 和我一起学 Three.js 【初级篇】:2. 掌握几何体
  5. Dreanmwear能做php模板吗,PHP 能做什么?
  6. C语言:批量初始化二维整型数组及二维整型数组作函数参数的重要知识点[C_006]
  7. 【前端学习记录1】HTML简介和开发工具
  8. 大厂人分享的办公软件盘点,哪一款是你常用的?
  9. fork()函数与vfork()函数的区别。
  10. 优雅的操作scrapy爬虫的开始和结束