最近闲来无事,老潘以一名普通算法工程师的角度,结合自身以及周围人的情况,理性也感性地分析一下极市平台前些天发布的2020年度中国计算机视觉人才调研报告

以下的“计算机视觉人才”简称“人才”,感觉说人才有点怪怪的感觉?自己也算人才么?老潘只不过是一个普普通通的算法工程师罢了(逃)。

这个报告一共分为几个方面,用大白话讲一下就是:

  • 计算机人才哪个城市最多,哪个专业最多、都喜欢发些什么论文、喜欢什么编程语言、深度学习框架、工作地点等等
  • 作为计算机人才,我们应该学习什么才能不被社会所淘汰,如何提升自己
  • 计算机人才也会有烦恼,不论是在学校还是在公司...

..都是你想知道的。

再次声明,该报告是由极市平台、中国图像图形学学会以及Deloitte联合发布。以下图片内容来源于报告,未做任何修改。一共34页的报告PDF,感兴趣的,公众号回复“000”即可。

哎呀,废话不多说,开始分析(吐槽)吧。

第一节 人才现状?

先看下人才分布?

调研人才分布中硕士和本科占比80%挺正常,硕士做算法工程的更多,博士做算法研究的更多。一般在互联网公司中,大部分都是硕士做算法工程师,来的实习生也都是硕士研究生,当然也有少许的本科生,特别优秀的本科生应该也是可以做算法工程师这个岗位的。

研究生相比本科生的优势可能是:

  • 学位,以及多学了几年知识?
  • 但最重要的是在研究生阶段你有实验室,实验室如果老师资源够好经费足够,是可以做一些其他人没有条件去做的事情。

回想起当年本科生的时候,大家都是凑钱参加比赛,所有设备都是队员们惨兮兮地从生活费中一点一点扣,买个主控板都要精打细算。拿不到好奖项(奖金)的时候也常常入不敷出

不过那会大家都很开心,毕竟是真正的热爱,当年熬夜通宵的日子现在也一去不复返了。

本科生与研究生做项目的区别还有一个:本科生没有约束,作比赛更多的是凭着兴趣,是主动;研究生有导师管着,大部分学生做项目是导师要求,是被动。态度决定一切,兴趣才是不断学习的动力。

哦对了,报告中一句话值得推敲:"在具备相关经验的群体中,其算法经验略多于工程经验"。

好好打工程基础吧!

看一下地域分布

来自北京的人才无需质疑数量肯定是第一,原因很简单,北京相应的人工智能企业最多,互联网氛围最好,大家当然都来北京了。接下来是深圳,深圳是创业之都,机具创业热情,硬件公司也多一些,机器人和AI结合的企业一抓一大把。最出名的算是大疆了。

好的企业都被一线二线城市瓜分了,那其他地方呢..

老潘也面临着残酷的事实:我这个专业这个技术方向,回老家实在找不到工作啊。

专业分布

再看一下专业分布。

学计算机专业的就是好呀,计算机相关专业在找工作上是有一定的优势,毕竟人家底子好一些。但是大家不要灰心,现在是自学的时代,网上好资源一搜一大把,只要你肯下功夫学习,不一定比专业搞计算机的差。

专业(相差太大的专业,例如田园设计等,这个难度可能会大些)和你在上学阶段学什么关系并不是很大,关键还是看自己。

趁着在学校,多找些组织,找些资料,赶紧学习吧!

研究领域

果然目标检测的人最多。

目标检测最好入门,资料最多,变种最多,代码最多...特别适合充当毕业生的毕设项目选题。不过如果是找算法开发相关的工作,只会目标检测是远远不够的

老潘在前年找工作的时候主打的也是目标检测,当时在实习时候已经聊好了一个公司leader,答应说秋招的时候会再面试一下(就过)。但是秋招的时候那位leader不好意思地跟我说,他们公司目标检测相关任务开发这一块的人已经比较多了,他们更想要招有3D生成或者GAN项目经验的求职者。总而言之就是一句话:

你很优秀,但是不适合我们。

不过不同公司的需求是不一样的,目标检测这个方向对于大部分公司来说,仍然是需求量比较大的。

时代在发展,AI也在不停进步,你要问我现在CV领域哪儿还不卷?

我也不知道啊~

发表论文分布

发论文最好发的是什么话题?当然也是目标检测了。

不得不吐槽一下,不管是anchor-base还是anchor-free的检测框架,改一下脑袋(head)改一下颈部(neck)改一下身体(backbone)就可以水一篇论文了。什么?不会改?那就改一下数据集吧~同样的框架,换个场景,又是一条好汉。

喜欢的编程语言

还是老潘之前说过的,AI行业最流行的语言就是Python和C++

不论是最火的深度学习框架Pytorch和Tensorflow,还是比较流行的模型加速推理框架TensorRT和TVM。都会提供Python接口来实现与用户的交互,提供API供用户使用,但实际内核代码都是使用C++编写的。原因很简单,为了保证性能以及方便地使用各种加速库(MKL、cuDNN)。另外,C++中的各种特性也比较适合团队协作开发大型项目,感兴趣的可以阅读相关源码,亲自感受下其牛逼之处。

对Pytorch源码感兴趣的可以看:

还有很多这里暂时不介绍了,有兴趣可以关注老潘,时不时会分析一哈框架。

喜欢的深度学习框架

以下内容很真实..国产的深度学习框架使用率7%不到(今年应该超过7%了,paddlepaddle很好用),还是Pytorch和Tensorflow的天下。

PS:感觉Darknet应该是靠yolov3火起来的,而且后继有人不断更新...纯C语言开箱即用对工业界简直不要太好。Caffe2挺可惜。MXNet小而美。

老潘理性分析一哈。对于学生来说,框架的易用性社区完善度很重要(说白了就是遇到不会的问题,百度的时候资料多不多)。还有刚开始入门的小白,会听别人说什么什么好什么好,跟风使用;但对于公司来说,基本就是根据实际需求选择使用框架,例如这个模型只有Tensorflow的开源版本,有咩有Pytorch的,灭有?复现太耗时间,直接上手Tensorflow吧~毕竟是以业务来驱动的,产出就是第一目标,反之亦然。

目前情况来看,Pytorch不论在学生还是公司占有率优势很大。老潘3年前开始使用Pytorch进行深度学习研究,那会还是0.2版本,对比当时的TensorFlow,简直就像蚂蚁和大象。但短短2、3年时间,蚂蚁已经长大了。

公司更倾向于Pytorch的原因也很简单:

  • 多种模型Pytorch实现最多(例如CenterNet、FCOS)
  • 多种整合好的训练框架基于Pytorch(mmdet、detectron2)
  • Pytorch训练好的模型部署起来也比较方便(各类推理框架对于Pytorch的支持更多一些,例如TensorRT)
  • 更多数不清的理由(例如debug方便、对新手友好等等)

当然TensorFlow也是有优点的,TensorFlow-server很多公司在使用,虽然也有一部分是历史原因,但是其稳定性和可靠性仍然比大部分的server要强。

PS:推荐一个可以媲美TensorFlow-Server的服务器推理框架——triton-inference-server,前身是TensorRT-server,现已开源,可以部署各种框架模型进去(TensorRT、Pytorch、TensorFlow、Onnxruntime等),老潘研究过一段时间,苦于没有时间分享,感兴趣的可以交流一波~

什么?上述框架满足不了你?你要手撸一个框架自己搞(严重怀疑你是来炫技的)?在学生时代是可以花点时间,模仿其他大型框架写一个小的框架练练手,这里推荐几个项目来瞧一瞧学一学:

一般来说,框架同时具备训练和推理功能。但训练部分写起来挺难,如果是只写推理功能的话,又简单一些。很多框架只有推理功能,感兴趣的可以参考一哈,简单列了一些(并不全):

  • NCNN
  • MNN
  • TVM

如果是硬件公司(很多这样的硬件创业公司)使用自己的芯片,也会有相应的AI底层算法工程师去搭建类似于TensorRT这样的产品,写op,操控内存接口,最终产出类似于TensorRT这样的动态链接库,暴露出API供上层调用。

总之,框架这东西还是用的舒服比较好,我嘛,就喜欢用Pytorch

薪资情况

大部分互联网公司搞算法的薪资比搞开发的可能会高一些,但其实也相差不了多少(真的相差不了多少)。

大部分算法工程师也会干开发的活,只是附带算法这个属性罢了。只有真正的算法研究员才是真正研究算法理论退出新算法的。

对于硬件公司来说(vivo、oppo这类),算法工程师和开发工程师薪资并无区别(硕士校招)。都是有好几档,看各自水平定级。但是会有些研究性质的岗位只要求博士参与,这也就是博士与硕士的差距。

对于硕士研究生来说,算法和开发相差并没有想象中那么大,也不存在所谓的鄙视链。

行业分布

行业分布还是比较中肯的,人工智能领域与深度学习密切相关。大部分互联网公司也有很多深度学习的业务线存在,例如快手、抖音等各种AI玩法,都是与深度学习关系很深的项目。

还有电商的以图搜图、虚拟试妆;教育领域的视频教学中的课程互动、拍照搜题、智能阅卷等等。都是现在很平常融入生活中的AI场景,也可以说,AI无处不在了。

借一下报告中的内容:

自2018年起,全球计算机视觉技术不断成熟,开源生态、技术社区、人工智能开放平台的建立也使得算法的开发与应用门槛显著下降。德勤在《全球人工智能发展白皮书》中指出,由深度学习驱动的计算机视觉在某些领域已经超越人类,特别是在人脸识别、图像分类等任务中。同时,在我国,计算机视觉技术的应用拥有庞大的市场空间与丰富的场景数据,因而当技术成熟度达到产业要求时,不少垂直行业,尤其是行业中的头部企业,选择了在组织内部搭建计算机视觉团队,打造行业专属的计算视视觉算法产品或相关功能。

第二节 人才的个人期望与规划

人才能有什么规划?无非就是想不断提升自己的技术水平薪资水平罢了。

城市意愿

还是北上广深,老潘作为一名算法工程师,因为北京的互联网机会多,就毫不犹豫去了北京。其实对于任何打工者来说,哪的工作机会多当然就去哪儿了,在老家空有一身本领,但找不到合适的工作是最无奈的。

当然也与城市发展以及公司薪资多少有关系,大城市发的钱比较多,但是房租贵,小城市发的钱比较少,但是房租便宜。究竟去哪儿好,还是看自己

提升自己

不得不说,程序员这个职业为何适合年轻人,有一点原因就是新技术来的很快,我们需要不停地根据业务需求学习新的知识,最好是能够快速上手。年轻人嘛,不会的东西学学就会了。

上图已经表达的很清楚了,大部分的程序员都是靠自学。自学是个主动的过程,自己寻找资料自己决定下一步该学什么。虽然有点累但是学习效率很惊人。

个人认为网上的付费视频可以看,但不是必要的,视频只是辅助作用。而且被动学习有时候会让自己产生感觉学习了不少的幻觉,老潘提醒一哈,如果只是光看视频不进行实战(完成一些课后作业啥的),学了不多久就会忘得。

遇到问题就百度或者google一下就好了,大部分的技术文章出自以下这些平台,这些平台是很好交流技术的地方:

  • 知乎
  • CSDN
  • 掘金
  • 博客园
  • 开源中国
  • 腾讯云社区
  • 等等

当然也有很多优秀的个人博客,这里就不一一列举了。不要脸地宣传一下自己的博客(逃):

工作岗位选择?

算法工程师还是最香的,适合算法与工程兼备的童鞋。

高校老师和高效研究生适合喜欢搞研究、喜欢探索新方向的童鞋。

AI产品经理和AI项目经理据老潘所知门槛较高,大厂一般都会要求有实习经验的童鞋。

研究兴趣变化

报告指出:

在计算机视觉技术发展过程中,随着前沿理论的不断突破、产业应用的趋势变化,计算机视觉领域的人才 研究方向也在相应作出调整。本次报告对在职人员希望未来研究的领域进行了调研,结果发现:目标检测、图像分割、文本理解、目标跟踪仍为计算机视觉人才未来研究的重点方向,同时医学影像处理识别的研究兴趣排名由第 7 位上升到第 5 位,这可能与新冠疫情后医疗领域计算机视觉相关需求骤增有关。

目标检测目前还是很热门的研究方向,毕竟刚需在那里摆着。老潘建议,学生阶段,最好还是多方向、多尝试尝试不同方向的算法,不要把苹果放一个篮子里。

第三节 社会对人才的述求

硕士级别是算法工程师的敲门砖,那是因为之前本科的时候很少有深度学习的项目,大部分只是ACM或者大学生电子设计大赛这样子的。和人工智能关系不是很大。

现在条件好了,深度学习也普及了,大部分高校也开设了相关的课程。我的表弟他们在本科阶段已经参与一些老师的项目,开始训练yolov3模型部署在TX2上去参加一些比赛,和研究生做的并没有本质上区别,这都是5年前想都不敢想的。

现在是全民普及AI的时代,AI已经无处不在了。

技术要求

很真实,企业对人才的要求实际只有一个

  • 能帮我解决问题!

但是解决问题也没有实际那么简单,需要很扎实的基础和较强的学习能力才行。

在企业不同于在学校,企业要求的不可能是demo级别的玩具,更多的是稳定可靠、精度达到要求且可以上线,缺一不可,看似简单,但实际困难重重。与高校场景完全不同,所以建议大家在高校中尽量多参加一些实际的项目,要有反馈,千万不要自嗨

PS:作为算法工程师,往往都是有压力的!拖大家的福,老潘的头发还是很浓密...

其他需求岗位

只有一点要提醒的,不是只有岗位名称包含CV、图像、AI等的才与深度学习有关系。随着深度学习的不断普及,上到算法层,中到软件层,下到硬件层,每个层都有与AI、与计算机视觉相关的岗位。

岗位名称五花八门,这里只说一句,名称是一方面,点进去看岗位介绍最靠谱!

关于算法岗位分布与特点老潘之后抽空会汇总一波。

第四节 人才的培养与发展

虽然说我们大部分人是靠自学,感觉有台电脑就可以。但是对于深度学习这个烧钱的方向来说,有设备有机器是最好的,这里列一下我们学习可能需要的设备:

  • 显卡(深度学习训练必备),关于显卡的选择,可以看下我之前的一篇文章给你一份配置清单:机器学习、深度学习电脑显卡配置指南,虽然是之前的,但是仍有参考意义。
  • 推理卡(如果你不搞训练只搞部署),类似于英伟达的TX2、Xavier系列、jetson nano系列,或者树莓派系列。这类板卡适合搞一些工程项目,类似于部署落地

关于部署落地,老潘有话想说:

实验室没有资源的但是又想参与的,可以自己掏钱买显卡(这里简单提一下,可以买2月26日发布的3060-12G显卡,官方建议价2499,性能和之前的1080ti差不多,如果有条件可以抢到,这款卡很适合做深度学习),也可以白嫖一些GPU资源(例如kaggle):

放心吧,只要你真心想入坑深度学习,GPU资源什么的不是大问题,可以通过各种方式解决,关键还是要有热情和兴趣。毕竟深度学习这条路,注定不会一帆风顺。

在学校与在公司的烦恼

在学校的烦恼能有啥哦?老潘认为在学校还是很舒服的...想学什么学什么,想做什么做什么。

不过肯定会有一些不满足于现状的学弟学妹们,想要突破一下自己,找点事情做。这个时候如果导师不给力,还是要靠自己的,主动找点事情做吧~

有疑问也可以与我交流。

关于研究生导师和人工智能公司的发展瓶颈(烦恼),就不是我们所考虑的了,看看就行啦!

关于课程

基本高校的课程如下,课程基本是起到引导入门的作用。渴望学习的我们,更多的是希望自己找自己感兴趣喜欢的课程去学习。

课程资源限于篇幅,可以看看这篇:

正如报告中所说:

短期内在高校开设细分领域的课程仍有不小的挑战:

  • 一方面,计算机视觉细分领域广泛,学生兴趣较为分散,细分领域课程可能无法满足全部学生需要;
  • 另一方面,由于本领域技术迭代速度极快,且部分领域的学习需要多样化产业实际案例的支持,课程开设难度较大。

所以大部分的高校课程都是以打基础为主,非常适合刚入门的童鞋,老潘只想说一句:好好珍惜在学校的美好时光,认真学习吧,不要浪费时间~

最后

时间总是过的很快,还记得那会刚入门深度学习的时候,看吴恩达和李宏毅的课看的津津有味,虽然啥也不懂。转眼间3年过去,现在已经全民AI了,虽然偶尔会迷茫,但已经踏入深度学习的老潘依然会坚持走下去,不论是以何种形式。

希望大家能够和我一起坚持下去吧~

文中提到的一些分享资源在这里

撩我

  • 如果你与我志同道合于此,老潘很愿意与你交流;
  • 如果你喜欢老潘的内容,欢迎关注和支持。

想知道老潘是如何学习踩坑的(PS:想与我交流问题)来公众号「oldpan博客」找我~

老潘也会整理一些自己的收藏,希望能帮助到大家,来神秘传送门看看吧~

撩我吧

  • 如果你与我志同道合于此,老潘很愿意与你交流;
  • 如果你喜欢老潘的内容,欢迎关注和支持。
  • 如果你喜欢我的文章,希望点赞 收藏 评论 三连一下~

想知道老潘是如何学习踩坑的,想与我交流问题~请关注公众号「oldpan博客」。

老潘也会整理一些自己的私藏,希望能帮助到大家,点击神秘传送门获取。

CVer想知道的都在这里了,一起分析下《中国计算机视觉人才调研报告》吧!的更多相关文章

  1. 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!

    看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...

  2. 关于MySQL慢日志,你想知道的都在这

    关于MySQL慢日志,你想知道的都在这 https://mp.weixin.qq.com/s/Ifbq0Dk13SO3WVghqWVUbA 作者介绍邹鹏,现任职于腾讯云数据库团队,负责腾讯云数据库My ...

  3. CYDIA装了个插件,想删除怎么都删除,电脑如何删除插件?

    http://bbs.weiphone.com/read-htm-tid-3670917.html 装了个插件,想删除怎么都删除不掉不要跟我说在CYDIA里面删除.,在CYDIA里点击该插件就会闪退C ...

  4. Swift具体解释之三----------函数(你想知道的都在这里)

    函数(你想知道的都在这里) 注:本文为作者自己总结.过于基础的就不再赘述 ,都是亲自測试的结果.如有错误或者遗漏的地方.欢迎指正.一起学习. 1. 函数的简单定义和调用 简单的无參函数就不再赘述 , ...

  5. 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(上) 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(下)

    微信.QQ.新浪微博等第三方登录,你想知道的都在这了(上):https://www.jianshu.com/p/133d84042483 微信.QQ.新浪微博等第三方登录,你想知道的都在这了(下):h ...

  6. python学习之路------你想要的都在这里了

    python学习之路------你想要的都在这里了 (根据自己的学习进度后期不断更新哟!!!) 一.python基础 1.python基础--python基本知识.七大数据类型等 2.python基础 ...

  7. KMP算法,你想知道的都在这里!

    简洁 我相信很多人都听说过KMP算法(PS:在上数据结构的时候,这个算法自始至终都没想明白) 大家也知道KMP算法是用来寻找目标子串的算法,但是都没有真正搞懂KMP.之前,我也是如此,我疑惑的有: N ...

  8. 【高热FAQ】关于智慧康养物联网加速器 ,你想知道的都在这

    摘要:从软硬件解决方案.设备接入到资源扶持,一文梳理智慧康养物联网加速器中ISV最关心的问题. 本文分享自华为云社区<[高热FAQ]关于智慧康养物联网加速器 ,你想知道的都在这>,作者:技 ...

  9. 关于takin-data,你想知道的都在这里(一)启动命令篇

    通过docker部署体验takin的小伙伴都应该知道,在安装部署手册中有提到:在启动surge-deploy任务前,需要将启动命令中的ip参数替换为docker容器所在宿主机的ip,很多小伙伴都在这里 ...

随机推荐

  1. hadoop的Namenode HA原理详解

    为什么要Namenode HA? 1. NameNode High Availability即高可用. 2. NameNode 很重要,挂掉会导致存储停止服务,无法进行数据的读写,基于此NameNod ...

  2. 深信服上网行为管理配置跨三层MAC识别

    1.在认证高级选项里点击新增 如果PC的IP和MAC存在于多个三层交换机,则需新增多个. 点击上图"查看服务器信息"测试能否从交换机获取PC的IP和MAC,有返回结果则能正常获取, ...

  3. 32.vsftpd服务程序--匿名开放模式

    1.vsftpd服务程序 vsftpd 作为更加安全的文件传输的服务程序,允许用户以三种认证模式登录到FTP 服务器上. 匿名开放模式:是一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到F ...

  4. 2. Linux常用系统工作命令

    1.echo:在终端输出字符串或变量提取后的值.echo [字符串 | $变量] 举例:[root@Centos~]# echo $SHELL /bin/bash 2.date:显示及设置系统的时间或 ...

  5. 织梦dedecms用户注册时笔名去掉的方法

    修改目的:用户注册时不用输入笔名,实现系统自动同步用户名和用户笔名. 负责织梦dedecms用户注册的php文件是member/reg_new.php ,不难发现,用户注册时的用户名$userid,和 ...

  6. ApiTesting全链路自动化测试框架 - 初版发布(一)

    简介 此框架是基于Python+Pytest+Requests+Allure+Yaml+Json实现全链路接口自动化测试. 主要流程:解析接口数据包 ->生成接口基础配置(yml) ->生 ...

  7. docker部署 springboot 多模块项目+vue

    之前学习了docker,今天就来试试将这个项目打包成docker镜像并通过运行一个镜像来运行项目.这里使用的项目是el-admin.是一个开源的springboot后端管理框架(前端vue),有兴趣的 ...

  8. 如何使用命令将文件夹中的文件名(包括路径)写入到txt文件中

    在cmd中使用 cd /d 路径,进入当前文件夹中 使用 dir /s /b > 0.txt 如图:

  9. 2019 沈阳网络赛 D Fish eating fruit ( 树形DP)

    题目传送门 题意:求一颗树中所有点对(a,b)的路径长度,路径长度按照模3之后的值进行分类,最后分别求每一类的和 分析:树形DP \(dp[i][j]\) 表示以 i 为根的子树中,所有子节点到 i ...

  10. [USACO12FEB]Symmetry

    传送门: https://www.luogu.com.cn/problem/P3046 https://ac.nowcoder.com/acm/contest/6306/G 题意 给定n个不同的点,求 ...