CVer想知道的都在這裡了,一起分析下《中國計算機視覺人才調研報告》吧!

老潘部落格發表於2021-02-24

最近閒來無事,老潘以一名普通演算法工程師的角度,結合自身以及周圍人的情況,理性也感性地分析一下極市平臺前些天釋出的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的原因也很簡單:

  • 多種模型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部落格」。
老潘也會整理一些自己的私藏,希望能幫助到大家,點選神祕傳送門獲取。

相關文章