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

相关文章

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

分辨率三兄弟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