汽车
最新课程
- 在机器人应用中利用毫米波技术
- 利用 TI 毫米波传感器的移动机器人应用
- 利用 TI 毫米波传感器的工业机器人应用
- CCS 和 C2000Ware 入门
- 介绍热门功率半导体
- 数字电源控制介绍
- Processor SDK
- 为您的设计找到合适的模拟电源控制器
- 高效 DCDC 转换器噪音和干扰抑制(上)
- 高效 DCDC 转换器噪音和干扰抑制(下)
热门课程
ADAS-车用全景解决方案 - TID3X -2
目前下面来介绍一下
TDA3 环视全景的一个解决方案
目前 TDA3 是目前功耗最低
成本最低的一个 3D 全景的解决方案
TDA3 做 3D 全景的几个优势非常明显
首先是对成本和性价比
要求非常高的一些低端
面向于低端市场的一些应用
首先 TDA3x 里面
没有 A 系列的 ARM A 系列的处理器
只有 M 系列处理器
可以认为它的整个系统的架构
和单片机是相似的
另一方面的话
不同频率不同核心数量的选择
可以在 TDA3 里面
也可以分为中高低端三个层次
此外低功耗的一个芯片能力
对散热和整个系统硬件结构
降低了很多很多需求
最后由于 TDA3 中不仅是带有
ARM 的 M 系列处理器
还有 TI 最擅长的DSP处理器EVE处理器
他们都会提供他们最擅长的一些
图像相关的计算
最终实现一个目标检测和车道线检测
运动物体识别等等
额外的图像处理能力
取决于你对额外处理能力的需求
你可以选择 TDA3 系列频率更高
或者说频率更低的一些处理器
快速上手也是一个非常重要的一点
我们目前结合多个第三方
提供了多种平台的一个设计
就像图上所示
TDA3 处理器只有15毫米乘以15毫米
整个板卡的设计将会非常紧凑
右下角是我们的一个第三方设计的一个
环视全景的一个评估平台
这是一个非常小的一个滑板车
在滑板车上附带有四路摄像头
同时接入到 TDA3 中
实现一个 3D 全景
这个滑板车
我们目前是可以在网上订购到的
它具有以下几个特点
首先是它的工业设计
它有防水外壳
可以具体安装到车机上
另一方面的话
它也可以对接不同型号
不同电压的摄像头
此外整个这个参考设计是
使用汽车级元器件进行设计
可以快速的在实车上安装
并且进行测试和调试
而且最重要的是这一套系统
可以再由 VisionSDK 原生支持
不需要做任何的
软件上的一些调整即可运行
下面我们对比一下传统的 GPU 全景
和 TDA3 没有 GPU 的
全景的一个系统框图
首先这里是一个传统 GPU 全景
通常是将摄像头经过 ISP 处理之后
转化成 YUV 格式
通过芯片同轴线
或者说 LVDS 传输到芯片中
由 ARM 的 CortexA 系列的
处理器控制 GPU
进行一些图像的渲染
车模的渲染
最终输出到显示去
可以看到涉及到
ARM 的 A 系列处理器之后
整个系统的发热量
和复杂度有非常高的提升
接下来的话我们看一下 TDA3
全景的一个 BOM 最优的设计
我们将选用输出为 raw data 的传感器
将 raw data 通过 ser 芯片
传输到 TI 提供的四合一的 ser 芯片
也就是 FPD Link 96 系列
然后由 CSI 接口接入到 TDA3 中
有 TDA3 中的 ISP
进行一个分时的一个 ISP 的
raw data 的一个处理
将处理后的结果交由硬件加速器
由硬件加速器
做更进一步的 3D 全景效果
由硬件加速器做完的全景效果
最后会由 DSP 进行贴图
最终输出到屏幕上
也就是说剩余的像 Cortex M4
和 EVE 还有其他剩余的计算资源
都可以用来做其他的一些
图像处理算法
目前我们对 raw sensor 的支持是这样
我们目前已经支持
少数几款车厂和 TIER1 最主流的芯片
在之后的一段时间内
我们将会陆陆续续支持
所有的目前市场上最主流的芯片
最主流的 sensor
下面我们将会挨个看一下
就是目前3D全景和2D全景中
对全景系统的一些
常见系统的一些缺点
而 TDA3 是怎么克服这些缺点
首先是对亮度均衡
有的供应商把亮度均衡作为他们
算法的一个优势之一
而 TDA3 的话
整个系统由于 ISP 使用了
统一的 ISP 进行分时处理
我们的寄存器和包括像曝光时间
或者说是一些白平衡的一些参数
这些参数都是汇集在同一个地方
汇集到同一个地方的好处就是
我可以做相同时间的曝光
这样的话就完全不会出现
两两摄像头之间出现白平衡
或者说是亮度的一个差异
从根本上解决了亮度均衡的一个问题
这也是目前 TDA3 ISP
最明显的一个优势
如果说你仍然是采用
四个分立的 ISP 在摄像头中
他们的曝光时间是完全不可控的
另外你也很难说能够控制四路
图像是在同一时间进行曝光
这个是分立 ISP 可能会带来的问题
而采用统一的 ISP 处理
通过 FPD Link 可以实现
硬件上的信号电平的控制的曝光
以及四路镜头完全相同的曝光时间
可以保证整个系统的亮度的完全均衡
接下来的话是宽动态
有的人可能就会有疑问
就是如果说你采用相同的曝光
那么如果某一路特别亮
某一路特别暗怎么办
这就是 ISP 解决的第二个问题
内置的 ISP
因为收取的是 raw data 的 sensor
所以说可以在芯片中做
非常复杂的宽动态的计算
对这个宽动态的计算
可以保证在相同曝光时间
各个摄像头它对
它的曝光水平是一致的
可以保证相同过渡区域的亮度是一致
但是在高亮区域
将会做一个宽动态的一个处理
在黑暗的区域也会做一个提升的处理
这样既不会显得整个图像有突兀
这样既不会显得整个图像有突兀
也能够充分发挥 ISP 里面宽动态的特性
另一个挑战就是对车模质量的一个挑战
有很多车厂包括客户最终端的消费者
他们对车模的质量有非常高的要求
人们总是不喜欢坐在车里
看到一个像塑料玩具车
一样的车模在旋转
这样的话给人一种不安全感
包括车厂也会要求在 openGL 渲染的时候
需要把光照以及车门 车窗 车轮
包括车内的一些景象
进行一个非常精细化的设计
而这样的设计对 GPU 的负荷提升非常高
在 TDA3 整个3D全景过程中
我们将不会用 GPU
或者说 openGL 来做这件事情
所有的车模我们都会在 PC 机端
离线进行计算
计算完成之后由 DSP 贴图实现
这样的话可以将在 PC 上
我们实现一个非常非常复杂的一个车模
贴至我们现有的一个3D全景中
这样的话可以百分之百回避掉
GPU 它对三角形个数
对光照反射以及像复杂纹理
或者说其它一些定制化的需求
那么如何不使用 GPU 来实现一个3D全景
这个是 TI 目前最领先的一个技术
也是充分发挥了芯片中每一个硬件的功能
在 ISP 的设计之初
我们对鱼眼的畸变
或者说对普通镜头的一个镜头的畸变
有一个硬件的一个畸变矫正加速器
而这个加速器它的输入是一个网格
也就是说你告诉它
它的畸变应该怎么样纠正
它将会把输入的图像
进行一个正确的纠正
然而如果我们对 3D 全景
有一个深度的认识之后
你会发现输入的图像
是一个鱼眼畸变的图像
你需要做的是一个将鱼眼展平的过程
展平之后
你需要再将展平的图像
进行一个透视变换
透视变换之后
再将透视变换的图像
进行一个碗形的变换
形成一个 3D 的碗形
所以说我们跨过这么多步
直接将鱼眼图变换为 3D 的碗形
这也是硬件加速器所支持的一个操作
这样的话
我们将四张输入的鱼眼图像
分别变换成对应的碗的形状
由 DSP 分别贴至他所应该处的位置
并且由 DSP 来处理
他们之间的过渡区域
这些系数都将由 PC 进行计算
计算生成之后存入 DSP 中
也就是说就像这个流程图一样
我们将镜头畸变参数存入 Flash 中
在系统启动过程中
我们会将 Flash 中的这些参数
解压缩到内存中 DDR 中
将这些查找表依次传递给畸变矫正模块
由这个模块进行一个
对鱼眼图像的一个反畸变
并且进行一个碗形的一个变换
最终由 DSP 将车模
以及各个四路之间的一个过渡
最终贴图形成一个3D全景
这一套流程是目前其他车
其他芯片或者说是目前
常见 GPU 方案中所难以见到的
也就是说我们充分发挥了
单片机中一个非常高效的硬件模块
由这个模块来鱼眼变换
做碗形变换 做 GPU 所需要做的事情
下面这些图片是我们
在实际车辆上
和实际的玩具车上
进行的一些测试的抓图
左上角是一个非常常见的一个
车机的一个 UI 界面
我们可以通过点击右侧的
摄像头的标志来切换各个视角
左上角是一个
后视摄像头的一个展平输出
这个展平输出也是由
那个畸变矫正模块输出的
也就是说畸变模块
可以分时的将四路图像转成碗形畸变
也可以将鱼眼图像转成展平图像
也可以将展平图像转成俯视图像
然后右面是我们对
目前一些车模的进行一些图像的抓取
我们可以在 PC 上
做一些非常复杂的模型
非常复杂的光照
这些都可以在 PC 上进行实现
最后由 DSP 进行一个贴图
最右侧我们可以通过在
PC 上修改车模的颜色
比如说我需要转向灯
打开转向灯或者说打开车门
或者说轮胎转动
这些操作都可以在 PC 上实现
然后下面我们可以看到
有一些非常复杂的功能
这些功能也是我们在和第三方
或者说是在和我们的客户
进行一些合作的截图
一个是对动态碗的一个变换
比如说我们在距离左右侧
或者说前后侧的车辆
或者说障碍物的距离
在全景中会看出一个非常
奇特的一个现象
而这个现象是由于碗的设计
和实际的空间位置不匹配导致的
如果说我们可以通过超声波方式
测量到周围的距离
这样的话我们动态的调整碗的形状
就可以实现真实的一个 3D全景
接下来的话我们也可以通过
超声波或者说毫米波的方式
融合车机传来的一些参数
在全景图像中进行绘图
更进一步的
我们和一些客户已经合作
作出了一些像 停车辅助
停车线识别的这些功能
-
未学习 汽车车身控制模块1
-
未学习 汽车车身控制模块2
-
未学习 汽车车身控制模块3
-
未学习 汽车车身控制模块4
-
未学习 电动汽车模拟引擎声音系统设计1
-
未学习 电动汽车模拟引擎声音系统设计2
-
未学习 电动汽车模拟引擎声音系统设计3
-
未学习 ADAS-车用全景解决方案 - TID3X -1
-
未学习 ADAS-车用全景解决方案 - TID3X -2
-
未学习 ADAS-车用全景解决方案 - TID3X -3
-
未学习 ADAS-车用全景解决方案 - TID3X -4
-
未学习 ADAS 主流系统架构介绍与设计挑战-1
-
未学习 ADAS 主流系统架构介绍与设计挑战-2
-
未学习 ADAS 主流系统架构介绍与设计挑战-3
-
未学习 ADAS 主流系统架构介绍与设计挑战-4
-
未学习 ADAS-车用全景解决方案 - TDA2E17
-
未学习 车身照明系统设计