智能驾驶开发的几个问题
1. 当前市场上的摄像头产品经常存在近距离静止目标不识别和输出的车道线方程系数动态波动较大,请问导致该问题的原因您觉得是什么,该如何来解决?
近距离检测问题
1)FOV视场角太小
2)帧率太低
3)增加样本数据
波动问题
1)深度学习网络模型太小,增加车道线网络模型层数,修改每层卷积核的个数。
2)增加不同场景训练样本数据。
3)增加车道线检测跟踪。
4)修改曲线拟合特征点的帅选方法。
5)修改和矫正摄像头标定参数。
A)摄像机外参:决定摄像机坐标与世界坐标系之间相对位置关系。
其中Pw为世界坐标,Pc是摄像机坐标,他们之间关系为Pc = RPw + T
式中,T= (Tx,Ty,Tz),是平移向量,R = R(α,β,γ)是旋转矩阵,分别是绕摄像机坐标系z轴旋转角度为γ,绕y轴旋转角度为β,绕x轴旋转角度为α。6个参数组成(α,β,γ,Tx,Ty,Tz)为摄像机外参。
B)摄像机内参:确定摄像机从三维空间到二维图像的投影关系。
摄像机模型为6个参数(f,κ,Sx,Sy,Cx,Cy);远心摄像机模型为5个参数(f,Sx,Sy,Cx,Cy)。
线阵摄像机为9个参数(f,κ,Sx,Sy,Cx,Cy,width.highth)。
其中,f为焦距;
κ表示径向畸变量级,如果κ为负值,畸变为桶型畸变,如果为正值,那畸变为枕型畸变。Sx,Sy是缩放比例因子。对摄像机来讲,表示图像传感器上水平和垂直方向上相邻像素之间的距离;对于远心摄像机模型,表示像素在世界坐标系中的尺寸。Cx,Cy是图像的主点。对摄像机来讲,这个点是投影中心在成像平面上的垂直投影,同时也是径向畸变的中心。对于远心摄像机模型,只表示畸变的中心。Vx,Vy,Vz:线阵摄像机必须与被拍摄物体之间有相对移动才能拍摄到一幅有用的图像。这是运动向量。
sx和sy是相邻像元的水平和垂直距离。
2.项目开发前期如何选择合适算力的嵌入式平台?项目中后期如何针对嵌入式平台进行算法的性能优化?
平台选择
1)车规级(安全性)
2)算力大小
3)开发周期(SOC/FPGA/ASIC/AMBA/2X等)
4)功耗(芯片的适应温度也有严格要求。工业级芯片的工作温度范围是-40摄氏度至85摄氏度,而车规级芯片工作温度范围是-40摄氏度至125摄氏度。按照温度适应能力以及可靠性分为四类:商业级(0~70摄氏度)、工业级(-40~85摄氏度)、车规级(-40~120摄氏度)、军工级(-55~150摄氏度))
5)功能模块(感知/控制/决策等)。
性能优化
1)软件硬件是一个整体,共同优化。
2)ARM,DSP和DPU上各自优化,引入neon指令等。
3)网络模型轻量化。
模型轻量化的一些方法:
卷积核分解:使用1xN和NX1卷积核代替NXN卷积核;
使用深度压缩deep compression方法:网络剪枝、量化、哈弗曼编码;
奇异值分解;
硬件加速器;
低精度浮点数保存;
小模型的好处有哪些:
在分布式训练中,与服务器通信需求小;
参数少,从云端下载模型的数据量小;
更适合在FPGA等内存首先的嵌入式、移动端设备上部署;
4)统一输入输出和软硬件接口参数。
5)公用模块统一调用。
6)多线程调度。
7)增加跟踪模算法。
3. 针对某一摄像头产品的开发,项目的开发性能目标和达成路径该如何制定的?针对摄像头图像识别结果,如何评测其性能指标达成情况?
达成目标
1)需求明确。
2)项目开发计划,时间节点把握。
3)适当留有时间,防止突发事件干扰,造成项目延期。
4)统一软件架构,统一输入输出和软硬件接口。
5)执行严格调试和测试计划。
测试计划
1)用科学的指标,比如mAP来量化性能指标。
2)现场场景测试,GPU和嵌入式测试同步。
3)与整车厂各个相关功能模块长期联调和现场测试。
4.主机厂是否需要进行图像处理等相关算法产品的自主开发,相比采用供应商成熟产品有哪些优劣?
优劣
1) 主机厂有自主算法,提高主机厂的核心竞争力。
2) 内部算法,方便车厂测试,优化,修改,更新。
3) 增加人力物力成本开销。
若是自主开发,如何赶超当前市面成熟产品?有哪些具体措施?
如何赶超
1) 引进优秀人才,提高核心竞争力。
2) 自主开发也要坚持对外交流与合作。
3) 用最先进的方法开发。比如,深度学习代替传统算法;开发自动驾驶与辅助驾驶相结合。
4) 充分利用服务器,云计算等高效设备。
5) 采购先进的软/硬件开发工具和测试工具。