ADAS感知摄像头的分辨率与帧率选择分析

2024-02-02 18:36

本文主要是介绍ADAS感知摄像头的分辨率与帧率选择分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说明:可以作为对智能驾驶爱好者对摄像头参数理解或者从业工程人员对设计硬件选型参考

前言

在当前智能驾驶中,基于摄像头的 ADAS 因其应用、更高的可靠性和对新要求的适应性而被广泛采用。

ADAS 摄像头通常部署在汽车的前部、侧面和后部,提供驾驶和停车辅助。

前置摄像头系统最常安装在汽车的前部,后视镜后面。

后置摄像头安装在靠近车牌的后侧,而侧面摄像头安装在汽车两侧靠近镜子的位置

《了解布置位置可以点击视觉为王-小鹏以及特斯拉的自动驾驶方案》。
本文介绍了汽车摄像头系统的分辨率(以 Mpixel 为单位)和帧速率 (fps) 选择的见解,重点是单
目前置摄像头,当然也可以用于后/侧摄像头选择参考。
ADAS 前置摄像头 (FC) 系统从现实世界中捕获并识别感兴趣的对象(例如行人、汽车和两轮车)。
如 下 图 所 示 , ADAS FC 系 统 由 摄 像 头 模 块 ( 镜 头 和 传 感 器 ) 组 成 , 用 于 将 场 景 捕 获 为 一 系 列 图 像(即视频),然后在嵌入式处理器芯片上进行分析以识别感兴趣的对象。

ADAS 前视视像头的关键功能是识别感兴趣的对象以及与汽车的距离,并在正确的时间应用紧急休
息以避免碰撞。

这些目标必须在给定解决方案的高精度检测、低成本、低功耗和小尺寸的严格限制下
实现。

该解决方案必须能够在夜间或弱光驾驶等不同场景下工作。
整体解决方案中的三个参与者相互交互以实现 ADAS 系统的目标

1. 现实世界:

这包括汽车和可能成为潜在事故目标的感兴趣对象(例如行人、车辆、两轮车等)。
2. 摄 像 头 模 块 :

由 镜 头 和 传 感 器 组 件 组 成 。 它 以 固 定 间 隔 (fps) 将 现 实 世 界 捕 获 为 图 像 像 素 ( 分 辨率)。
3. 算法:

它通常会找到感兴趣的对象(例如行人)并在可能的碰撞情况下提醒驾驶员。由于行人目标
可 能 存 在 于 未 知 距 离 , 它 通 常 在 一 系 列 具 有 固 定 行 人 模 型 尺 寸 ( 例 如 64×32 像 素 ) 的 缩 小 图 像(称为图像金字塔)中搜索给定的行人。使用属性(称为从像素中提取的特征)而不是实际像素来执 行 搜 索 , 以 获 得 更 好 的 鲁 棒 性 。 一 旦 找 到 匹 配 的 行 人 , 就 会 计 算 到 行 人 的 距 离 和 碰 撞 时 间(TTC)。

这些算法属于计算机视觉 (CV) 和机器学习 (ML) 领域,并在嵌入式 SoC(片上系统)上运行。

下图显示了三个参与者以及实现 ADAS 系统目标的各种参数

1. 揭秘分辨率

通常,成像传感器的 Mpixel (MP) 决定了可以检测和识别给定对象的最远距离。下图显示了多种配
置下与行人的距离与 Mpixel 的典型关系

上图中的曲线假设现实世界中行人的高度为 1.5m,图像传感器的物理尺寸为 1/3”(标准OF值计算
方 法 是 其 实 际 对 角 线 长 度 1/3 英 寸 大 概 就 是 6mm ) 。

基 本 配 置 对 应 于 给 定 镜 头 的 450 FOV ( 视场)和行人高度,在捕获的图像中为 64 像素。如图 3 所示,1MP 到行人的最大距离为 34 m,8MP 增加到 101m。

对于汽车图像传感器,目前使用 1 MP,在不久的将来会增加到 2 MP,并在较长时间内达到 8 MP。

MP 增加到 101m。对于汽车图像传感器,目前使用 1 MP,在不久的将来会增加到 2 MP,并在较
长时间内达到 8 MP。


表 I 总结了增加 Mpixel(0.3 MP 到 8 MP)和最远行人距离(24m 到 101m)的影响以及假设
和可能的权衡。随着分辨率的提高,它带来了下一组问题,例如低光性能差和计算/功率要求高。
对于给定的分辨率(例如 2MP),有多种方法可以增加最远行人距离,

总结如下
1. 在图像金字塔搜索过程中使用较小尺寸的行人模型:

这导致距离增加 2 倍(51m 到 101m),因为模型尺寸减少了 2 倍(第 4 行)。

通常,较小尺寸的行人模型会降低检测的准确性,并产生更多的误报。


2. 使用更小的模型尺寸和复杂的特征:

这会导致更高的距离和相似的检测精度(第 5 行)。

与从行人中 提 取 的 传 统 特 征 ( 例 如 Haar 、 HoG ) 相 比 , 复 杂 的 特 征 ( 例 如 Co-Hog 、 卷 积 神 经 网 络 -CNN)需要更高的计算能力(以及成本)。


3. 使用窄 FOV(即更高的焦距):

这意味着在现实世界中跨越较低的正面区域,从而产生更高的距离(51m 到 59m)(第 6 行)。在 FOV 的极端减少(例如,达到 250 FOV)将导致需要额外的传
感器来覆盖类似的正面区域。

在更高 MP(例如 8MP)的情况下,一种可能的折衷方案是使用更宽的 FOV 镜头来覆盖前方和交
叉路口。这消除了额外的传感器,从而降低了成本(第 10 行)。

2. 揭秘fps

通常,成像传感器的帧率决定了避免物体碰撞的最大停止距离。

下图显示了汽车的停车距离与停车距离的典型关系。

汽车速度的多种配置的帧速率

停车距离是在应用中断之前检测行人期间覆盖的距离和在中断期间覆盖的距离的相加。

图的假设是行人检测期间的七帧延迟,其中包括大约三帧的处理延迟和大约四帧的跟踪延迟,以提高检测质量。

另一 个 假 设 是 根 据 英 国 公 路 法 规 打 破 距 离 。

如 上 图 所 示 , 假 设 汽 车 速 度 为 80 Km/Hr , 停 车 距 离 从55m 减 少 到 45m , 因 为 帧 速 率 从 10fps 到 15fps ( 文 章 写 的 时 候 ) 再 到 30fps ( 现 在 基 本 都 在
30fps)。

表二显示了增加车速(30Km/Hr 到 250Km/Hr)和对停车距离(8m 到 390m)的影响以及各种
参数和假设。
对于给定的汽车速度(例如 80 Km/Hr),有多种方法可以减少刹车距离,如下所示。
1. 使 用 更 高 的 帧 速 率 :

随 着 帧 速 率 的 增 加 ( 10 到 30 fps ) , 这 会 降 低 延 迟 ( 750 毫 秒 到 284 毫
秒)。这也提高了对象(例如行人)跟踪的性能,但代价是更高的处理能力(第 4 行和第 5 行)。
2. 使用基于流和切片的架构:

这减少了延迟(750 毫秒到 210 毫秒),因为跨多个子组件的通信以较
小的粒度发生,例如行/子图片(第 6 行)。

这种复杂的系统需要更多的时间来开发,并且可能存在算法框架级别的依赖挑战。

3. 其它挑战


所以其实我们当前看到国内很多智能驾驶的方案都还在堆料阶段,而汽车行业其实本质是应用产业,用最优的成本达到可以拓展升级的配置才是最优的方案。

这些就值得我们主机厂产业应用人士思考的核心竞争力。
参考文章以及图片:
1. 原文-ADAS Front Camera: Demystifying Resolution and Frame-Rate - EE TIMES
2. 摄像头以及图像技术基础 pdf - Jon Chouinard pdf可下载

 

这篇关于ADAS感知摄像头的分辨率与帧率选择分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

分辨率三兄弟LPI、DPI 和 PPI有什么区别? 搞清分辨率的那些事儿

《分辨率三兄弟LPI、DPI和PPI有什么区别?搞清分辨率的那些事儿》分辨率这个东西,真的是让人又爱又恨,为了搞清楚它,我可是翻阅了不少资料,最后发现“小7的背包”的解释最让我茅塞顿开,于是,我... 在谈到分辨率时,我们经常会遇到三个相似的缩写:PPI、DPI 和 LPI。虽然它们看起来差不多,但实际应用

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Vue 调用摄像头扫描条码功能实现代码

《Vue调用摄像头扫描条码功能实现代码》本文介绍了如何使用Vue.js和jsQR库来实现调用摄像头并扫描条码的功能,通过安装依赖、获取摄像头视频流、解析条码等步骤,实现了从开始扫描到停止扫描的完整流... 目录实现步骤:代码实现1. 安装依赖2. vue 页面代码功能说明注意事项以下是一个基于 Vue.js

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入