算法工程师的核心竞争力是什么?

2022-11-02 10:39:44·  来源:智能汽车设计  作者:Mr.Jian  
 
作者Mr.Jian 国内某知名智能驾驶服务商图像算法工程师从我经历了吉利-博越L的视觉感知量产落地,谈一谈自己的感悟。总结算法工程师的核心竞争点:1.对数据的深入理解2.深入分析与解决当前问题3.扩展模型功能4.创新的问题建模思想5.渴望追求极致的效果1. 对数

作者Mr.Jian 国内某知名智能驾驶服务商图像算法工程师



从我经历了吉利-博越L的视觉感知量产落地,谈一谈自己的感悟。



总结算法工程师的核心竞争点:


1.对数据的深入理解


2.深入分析与解决当前问题


3.扩展模型功能


4.创新的问题建模思想


5.渴望追求极致的效果




1. 对数据的深入理解


这部分是在数据层面。在实际量产项目中,我们并没有现成的数据,必须从0构建适合当前量产要求的高质量数据集,不同算法工程师的区分度就在于,a. 能不能制定出完善的标注规则,b. 能不能从百万量级的路采数据中,挖掘出真正对模型有价值的那些数据。


对于a,制定出完善的标注规则,为代码解析数据提供精确的信息,来创建高质量的Dataset,为模型的训练效果上限提供关键的支撑。


对于b,并不是路采的数据越多越好,对模型的训练就越有益。在实际训练模型时,当数据量增大到一定量级时,模型性能的提升几乎很微妙。所以,我们需要去挖掘那些真正有价值的数据,丢弃那些低效数据,让模型用最少且最有价值的数据,来达到量产的要求。




2. 深入分析与解决当前问题


这是在实际问题层面。一个模型要想达到量产要求,必然要经过无数次的测试,这些测试目的就是让模型暴露出短板,并记录下这些问题。那么面对这些近在眼前的待解决问题,依据待解决问题的优先级,能不能高效解决它。


你能不能分析这些问题,定位出这些问题产生的真正原因是什么,这背后其实要求你对模型训练及推理过程了如指掌,并且对模型本身的细节有着自己深入的理解。定位出了问题所在,能不能解决它?


比如对60米之内的中大目标,预测的bbox坐标不稳定,有较大的抖动问题,导致测距不稳定,怎么解决?对公交站、房屋顶等特定背景误检,怎么解决?大于100m的车辆车型分类出现跳动怎么解决?等等。

在你用A方法解决某个问题时,需要同时考虑A方法带来的正面影响,以及负面影响,需要你进行全面的评估,给出确切的结论。如果负面影响对模型的整体性能以及对应的驾驶功能不影响,那么这个改进是有效的。


除此之外,还要对用户使用的功能有足够的了解,比如在做变更车道、上下匝道这些功能时,对你所做的检测有什么要求?近距离保证不漏检、不误检,中远距离的检测要求高precision等等。




3. 扩展模型功能


这部分是模型层面,也是最能体现算法工程师区分度的其中一项。现在优秀的开源代码框架非常多,很容易就能在自己的数据集中跑出一个不错的效果出来。但是在实际量产项目中,开源代码可能只能帮助我们完成一部分功能。很多情况下,我们需要根据实际功能需求,在已有的模型中扩展相应的功能。


比如,实际需求是要根据车轮接地点来对横向车辆测距,那么我们不仅要让检测模型预测目标的bbox和cls,还要让模型预测车轮的接地点坐标和类别,能不能在现有数据集下,拓展模型的这些功能,且不影响原来的功能。

又或者,在低算力的环境限制下,用2D检测模型预测伪3D框,来代替3D检测模型。

所以,扩展模型功能,需要你对模型背后的思想有着深入理解,并且代码实现能够很好的work。上面的例子,就需要你深入理解检测模型背后的回归思想以及分类思想,并且整体的训练思想等等。




4. 创新的问题建模思想


这部分也是模型层面,相比于上面第3点,创新的问题建模思想更难。比如在低算力的条件下,想把车道线检测的分割模型,转变成检测模型,并且和现有的目标检测模型整合起来,来缓解模型前向推理时的计算压力。


这个时候,需要你根据当前数据集提供的gt信息,并且参考学术界的一些方法,来思考出一些可行方案,适配当前的量产项目。这需要你在模型技术上的探索有足够深入,并且具有一定的技术广度,方法转变为代码实现的能力足够扎实。




5. 渴望追求极致的效果


这部分是功能层面。在量产级项目中,如果一个功能在实际使用中让用户体验感不好,那么这个功能是失败的。

比如在车辆拨杆变道这个功能上,如果能够在预定的3s内,甚至更短的时间内,“丝滑”的完成变道这个功能,并且完成率接近1,是OK的。

作为算法工程师,我们需要从功能端,去逆推回自己所做的事情对这个功能的影响,进而了解对自己模型的要求,多少米内一定不能出现误检、漏检,并且预测bbox一定要稳定,在达成具体要求后,问问自己能不能再做的更好些?


这或许和自己本身的性格也有关系,有些算法工程师完成要求后,就放下来了,这本身完全没问题。有些算法工程师会再进一步思考,把模型做到极致,在量产级的模型方面,体现出“工匠精神”,我觉得这是有意义的“卷”。

分享到:
 
反对 1 举报 0 收藏 0 评论 0
沪ICP备11026620号