昨晚和一朋友 J通话了许久,主要聊了聊各自的工作及目前的状态,J在某司做SLAM相关的工作,可以理解为AR,机器人,自动驾驶的方向之一,也是目前主流的趋势。
说起与J的相识,也算是抱团取暖时候认识的,毕业后找工作的过程中,也许J是从知乎上看到的,或者某处转发看到的,也好像是某次留言互动的,我们就互相加了微信,从一开始到现在,有一年半的时间了,虽然没有见过面,但中间也是断断续续的交流了一些问题与想法,算是互相聊的来的那种。
J入职一年多些,做着slam相关的研究和产品落地,从我们的聊天对话里,各自了解到不同公司的开发流程。下面就来说说公司里做slam是一种怎么的过程及体验。
无论AR,机器人,自动驾驶,或许是同一套模板。
- 1. 研发人员会先跑通一个开源框架,我们耳熟能详的svo,vins,loam等,选其中之一进行算法移植,产品落地。
- 2. 开源框架应用的过程中肯定会存在各种bug及环境适应性,针对环境及需求修复相关bug或者增加新的feature。
- 3. bug和feature修复完毕,一个开源框架才算真正应用到产品,也就是我们说的,第一步跑通了代码。此时,应用但手机硬件cpu或者车载硬件工控机上,软件或测试人员会提出功耗及内存,性能的问题,比如功耗过大导致产品过热,内存过大导致运行卡顿,性能较慢导致启动时间过长等。
- 4. slam研究人员针对功耗,性能,内存的问题进行相关优化,前端主要考虑cv匹配的加速,后端主要考虑求解器的重构,或者求解库的改写,或者自行实现一个求解器。
- 5. 待以上步骤完成后,可以实现一个简单的产品demo,要求不高的话就可以拿这个给三方提供解决方案了。当然,出售之前需要测试各种环境的适配性,对不适配的环境也要重新进行改写,直到达到标准的稳定运行程度。
- 6. 后期产品迭代及预研下一代产品,slam研究员会考虑不同框架的结合,拿出各自的优点进行组合,比如orb和vins,svo和orb的结合,结合的目的当然是创造更好的用户体验。
- 7. slam算法工程师也会打破开源框架的约束,从头开始实习一个新的框架,一步一步往新框架里面添加idea及feature,或者发个论文,写个专利都可。
每个公司的运行模式及人员安排不同,或许更有差异,有的公司slam算法直接对接三方需求,有的算法与三方中间隔着一层本公司的软件集成,各有各的考虑。
算法直接对外,解决问题的效率自然提升。
算法对接集成,集成对接三方,主要考虑内部算法的隐私性。
毕竟,一个公司,活着,主要靠算法挣钱,尤其是初创企业。
与J的沟通中,一致认为,今年自动驾驶突然火起来了,小米,360,字节加入造车,传言oppo也在加速造车的步伐,各大厂对slam的需求愈加火爆,薪资也很open。
也是跳槽的好时机,这个时机也不知会持续多久。
从去年自动驾驶要凉,到今年异常爆发,或许是科技的趋势,也可能是时代的召唤,像是站在了风口,猪也能飞了起来,这也是为什么各大厂开始抢占一席之地的原因吧。
时间真快,从J与我毕业到现在,各自在公司做着各自的事情,已经过去快一年半时间了。回想起去年在知乎发的一个热帖,征集了大多数slam求职者的心声
到今天,不知道还有多少人在坚持,或者在slam岗位。
当初的放弃,你后悔了嘛?
如今的坚持,你有什么感想呢?
欢迎下方留言,转给给多相关职业的人,相关研究的学弟学妹。
对他们,或多或少都是一种参考,一点辅助性意见吧。
我是小阳哥
希望用身边的人,身边的事儿
让我们少走点弯路,一点点就好了