點(diǎn)擊上方 “小白學(xué)視覺 ”,選擇加" 星標(biāo) "或“ 置頂 ”
重磅干貨,第一時(shí)間送達(dá)
許多同學(xué)私信我,表達(dá)了他們初入研究生期間的迷茫,希望了解我研究生期間的成長路線。雖然說沒有適合每個(gè)人的方法,因?yàn)槊總€(gè)人的特點(diǎn)和所處的環(huán)境都不一樣,但有個(gè)參考總是好的,所以我在這悄悄把自己研究生三年的經(jīng)歷寫一下,前面可能會寫的詳細(xì)一點(diǎn),希望能對這些同學(xué)有所幫助。 大四上學(xué)期(2016.1~2016.3) 大三暑假的時(shí)候去QQ郵箱實(shí)習(xí),一直實(shí)習(xí)到了2015年12月,回到學(xué)校正是2016年的元旦,跟現(xiàn)在差不多的季節(jié),開始跟導(dǎo)師討論畢業(yè)設(shè)計(jì)的思路,并動(dòng)手實(shí)現(xiàn)。 主線任務(wù):畢設(shè) 畢業(yè)設(shè)計(jì)做的是一個(gè)多模態(tài)行人檢索系統(tǒng)里的Java后端,跟班里兩個(gè)同學(xué)做的前端和硬件采集端合為一個(gè)大的系統(tǒng)。導(dǎo)師剛評上副教授,帶的研究生只有兩個(gè)人(后來又多了一個(gè)計(jì)創(chuàng)的師弟),雖然還有很多本科生,但是對我們的指導(dǎo)時(shí)間很多,是那種實(shí)干型的導(dǎo)師,會一邊給你理思路一邊給你準(zhǔn)備資源。 拿到幾個(gè)大華的攝像頭、NVR和SDK之后,在B3五樓會議室里調(diào)C代碼讀寫數(shù)據(jù),并且從Servlet裸寫Java后端(雖然實(shí)習(xí)寫Android把Java寫得很熟了,但是當(dāng)時(shí)不熟悉Java后端框架,所以就直接Servlet)。寫了差不多兩個(gè)星期就寫完了。然后開始寫論文初稿,到一月底,畢設(shè)就基本完工,雖然后邊又各種調(diào)整,但基本的工作在這個(gè)時(shí)候都做完了。在這個(gè)Java后端里,把在QQ郵箱實(shí)習(xí)的時(shí)候熏陶的設(shè)計(jì)模式全都實(shí)踐了一把,感覺寫的挺優(yōu)雅,但是好像有點(diǎn)過度封裝,不過也還好,這個(gè)系統(tǒng)就一直沿用下來。 在后邊研究生幾年里這個(gè)系統(tǒng)又被部署到超算虛擬機(jī)上,經(jīng)過離線化等等變更。合作的兩個(gè)同學(xué)畢業(yè)后他們的Hadoop后端和JS前端,路由器硬件都變成我維護(hù)了(:з」∠) 不過因?yàn)闆]有特別大的改動(dòng)所以還能Hold得住,一直到現(xiàn)在還在運(yùn)行著。 支線任務(wù)1:自學(xué) 寫完之后就回家放寒假,因?yàn)橛写蟀褧r(shí)間,所以開始刷GitHub,熟悉Git,Markdown,Gitbook,期間翻譯了一個(gè)當(dāng)時(shí)Github上Star上萬的工程,大概講的是程序員的自我修養(yǎng)之類的東西,收貨了幾百個(gè)Star,后來因?yàn)樵卩]箱期間遇到的Webview問題沒徹底解決,心存執(zhí)念,又開始翻譯Chromium的文檔,因?yàn)楫?dāng)時(shí)國內(nèi)也沒有Chromium的中文文檔,所以就動(dòng)手翻譯,也從中學(xué)到了許多架構(gòu)設(shè)計(jì)方面的東西,雖然因?yàn)閮?nèi)容太多沒有最終翻譯完。 支線任務(wù)2:物資管理系統(tǒng) 畢設(shè)這套系統(tǒng)更偏向工程,還沒有一些計(jì)算機(jī)視覺的東西,當(dāng)時(shí)導(dǎo)師就跟我討論就想是不是可以往這方面發(fā)展做點(diǎn)研究,于是開始學(xué)Python,因?yàn)槲抑霸趯W(xué)校學(xué)工辦勤工助學(xué),實(shí)習(xí)的時(shí)候就跑路了,準(zhǔn)備大四下回去在掙一點(diǎn)生活費(fèi),畢竟獎(jiǎng)學(xué)金只夠?qū)W費(fèi),吃飯還是得自己想辦法(當(dāng)時(shí)沒想到導(dǎo)師每個(gè)月給我們發(fā)的錢完全夠吃飯了),所以就用Python+Django寫了一個(gè)物資管理系統(tǒng),當(dāng)做回歸的見面禮,順便也是試手Python。這套系統(tǒng)從2016年3月一直用到2018年12月,因?yàn)橹笪乙厴I(yè)不在學(xué)校,辦公室那邊的同學(xué)維護(hù)不了,所以及時(shí)過渡到了以前的Excel工作模式。我感覺這套系統(tǒng)做得還挺好看的,實(shí)踐了一把當(dāng)時(shí)比較推崇的Material Design。 支線任務(wù)3:羽毛球 每周1個(gè)半小時(shí)的羽毛球,一直打到現(xiàn)在,學(xué)校的體育館還是可以的。 大四下學(xué)期(2016.3~2016.9) 主線任務(wù)1:畢設(shè) 這學(xué)期主線任務(wù)還是改畢設(shè)啦,改格式很煩(:з」∠) 主線任務(wù)2:入門機(jī)器學(xué)習(xí) 導(dǎo)師之前其實(shí)也不做機(jī)器學(xué)習(xí),我也是自己摸索,當(dāng)時(shí)TensorFlow,Caffe各種框架百花齊放,因?yàn)橹白鯝ndroid比較喜歡Google,所以在TensorFlow還只是0.8版本的時(shí)候開始自學(xué),看的是Google在Udacity上發(fā)的教程,一邊學(xué)一邊整理筆記,放到GitHub上又刷了幾百個(gè)Star。差不多5月的時(shí)候,導(dǎo)師也開始跟我們討論當(dāng)前機(jī)器學(xué)習(xí)的一些進(jìn)展和研究方向,因?yàn)榘l(fā)現(xiàn)調(diào)參很麻煩,所以想做一個(gè)自動(dòng)調(diào)參的東西,用神經(jīng)網(wǎng)絡(luò)來給神經(jīng)網(wǎng)絡(luò)調(diào)參,然而當(dāng)時(shí)我只有CPU,整天在Acer筆記本上呼呼呼地跑實(shí)驗(yàn),一直到暑假快結(jié)束了實(shí)驗(yàn)效果也不好。后來發(fā)現(xiàn)Google用N多塊GPU做出了AutoML…后來差不多到研一導(dǎo)師才開始重視設(shè)備,所以這段時(shí)間更多的只是學(xué)TensorFlow和機(jī)器學(xué)習(xí)的一些基礎(chǔ)知識,也開始學(xué)會了做實(shí)驗(yàn),當(dāng)然因?yàn)闆]有設(shè)備這個(gè)方向在開學(xué)之后還是放棄了。 支線任務(wù)1:校園活動(dòng)管理系統(tǒng) 因?yàn)榛氐搅藢W(xué)工辦,受到當(dāng)時(shí)雙創(chuàng)的影響,被那邊的老師抓去組了一個(gè)小小的創(chuàng)業(yè)團(tuán)隊(duì),準(zhǔn)備寫一個(gè)校園活動(dòng)管理系統(tǒng)。所以大四下也花了一些時(shí)間在這件事情上,帶著不同學(xué)院的幾個(gè)同學(xué)一起做東西,又寫Python又寫JS,雖然最后也沒搞成,但還是挺有意思的一段時(shí)光,遇到許多不錯(cuò)的小伙伴。 支線任務(wù)2:博客 大概是到這個(gè)時(shí)候博客才開始放到Gitbook上,大多數(shù)是一些瑣碎的知識,后來也漸漸把論文解讀和一些工程實(shí)踐也放進(jìn)去,還在一直寫著。 研究生的課大部分沒什么卵用,我覺得我學(xué)到最大的技能就是讀論文,做PPT還有匯報(bào)…當(dāng)然還是有幾門有用的課的: 視覺計(jì)算:傳統(tǒng)圖像處理的各種套路
模式識別:機(jī)器學(xué)習(xí)基礎(chǔ)
最優(yōu)化計(jì)算:機(jī)器學(xué)習(xí)數(shù)學(xué)基礎(chǔ),還順便學(xué)了一波LaTeX
主線任務(wù)2:行人重識別入門,確定研究方向 遭遇了自動(dòng)調(diào)參任務(wù)的失敗之后,10月老師開始讓我調(diào)整方向,感覺導(dǎo)師在方向上的把握一直都很敏銳而正確。老師希望我還是關(guān)注回畢設(shè)做的視頻行人檢索任務(wù)上,于是開始看頂會上的各種行人重識別論文,不知道為啥當(dāng)時(shí)老師follow鄭宇大佬的工作,關(guān)注多模態(tài),所以我們整個(gè)實(shí)驗(yàn)室大方向是多模態(tài)數(shù)據(jù)融合,我是行人重識別這個(gè)小方向,在畢設(shè)的系統(tǒng)里,發(fā)現(xiàn)基于Wi-Fi的時(shí)空信息能夠有效篩選行人之后,也想在行人重識別數(shù)據(jù)集上做相關(guān)的研究。 一開始看論文其實(shí)沒什么經(jīng)驗(yàn),看到公式基本都覺得不懂,學(xué)了最優(yōu)化計(jì)算之后才感覺看懂了,此外還有一個(gè)機(jī)遇是老師帶著我們?nèi)チ艘惶四暇┐髮W(xué)參加MLA,聽了各路大佬的論文解讀和方向指引,期間也看了大量的論文,開始對機(jī)器學(xué)習(xí)這個(gè)領(lǐng)域有一個(gè)整體的把握,之后看論文就得心應(yīng)手了。 回到研究上,看論文之后再去調(diào)研數(shù)據(jù)集,才能知道從哪里下手。可視化是一個(gè)很重要的手段,一邊各種數(shù)據(jù)分析加可視化,一邊跟導(dǎo)師討論(老師經(jīng)常半夜十一二點(diǎn)跟我QQ討論進(jìn)展)我們才將目標(biāo)剝離為無監(jiān)督時(shí)空+視覺這個(gè)干凈的方向,差不多就到11月了;在這個(gè)學(xué)期主要是嘗試構(gòu)造時(shí)空模型,并想辦法和視覺模型做融合。當(dāng)時(shí)Re-id還沒有那么多方便的Baseline,我用的是鄭哲東的MATLAB baseline,用了MatConvNet這個(gè)框架,也是走了一點(diǎn)彎路,一邊準(zhǔn)備考試一邊做實(shí)驗(yàn),差不多到要寒假才把視覺模型的訓(xùn)練和測試都理順跑通。寒假期間開始把時(shí)空模型和視覺模型結(jié)合起來,有了一點(diǎn)初步成果,這部分是用Python寫的,所以這期間一直在Python和MATLAB之間反復(fù)橫跳。 這個(gè)期間拿著老師給的5W買了一臺三卡機(jī),三張TITANX,總算有顯卡可以用了…代碼也開始放到服務(wù)器上跑,這個(gè)方向設(shè)備真的還是很重要的,我覺得至少要有一張11G的卡吧… 支線任務(wù):PS 因?yàn)樵趯W(xué)工辦兼職,需要做一些海報(bào)之類的,本科的時(shí)候在學(xué)院的宣傳部做過,就扛起了學(xué)工辦所有的海報(bào)設(shè)計(jì)…雖然水平不高,但至少能用。
主線任務(wù):推進(jìn)實(shí)驗(yàn)進(jìn)展 放假回來還是繼續(xù)做多模態(tài)融合,思路還是從實(shí)驗(yàn)里找,各種可視化,摸索出可以建模噪音這樣的思路。差不多5月的時(shí)候?qū)嶒?yàn)基本能保證有效了,導(dǎo)師想投NIPS,開始寫了一點(diǎn)點(diǎn)論文初稿,但是因?yàn)闀r(shí)間太趕,實(shí)驗(yàn)還不完備,就拖著沒投,繼續(xù)完善實(shí)驗(yàn),進(jìn)一步想用Learning to Rank來改進(jìn)模型,從調(diào)研到選路線到推實(shí)驗(yàn)。期間因?yàn)橹Ь€任務(wù)1學(xué)了Keras,所以把代碼都改成了Keras實(shí)現(xiàn),代碼寫起來非常清爽,也都整合到Python里了,并且用各種技巧把視覺模型baseline復(fù)現(xiàn)到鄭哲東他們TOMM的水平,暑假也一直在調(diào)Learning to Rank,直到效果滿意。 支線任務(wù):百度寵物狗分類比賽 發(fā)現(xiàn)了這樣一個(gè)比賽,然后加了比賽群,聽各路大佬吹牛(里邊有很多大佬在知乎哈哈),學(xué)到了很多套路的東西,包括調(diào)參技巧,刷分技巧之類的。這些東西雖然不是必須的,但有了之后會事半功倍。同時(shí)也學(xué)了Keras,加了Keras群,先試水寵物狗分類,把Keras套路用回ReID。雖然這個(gè)比賽沒刷上去,但開闊了視野,我們不僅有實(shí)驗(yàn)室,同學(xué)這樣的來自學(xué)校的力量,還有來自社區(qū)的力量可以汲取。 主線任務(wù):CVPR論文 9月把實(shí)驗(yàn)都整理好,老師開始寫論文,我也一邊寫實(shí)驗(yàn)的部分,雖然后來基本上還是都被導(dǎo)師重寫了,畢竟老師寫起來確實(shí)比我寫的好很多。各種畫圖,各種修改。直到十月底投出去,老師還在學(xué)院樓睡了一晚,真的很辛苦。好像是到1月的時(shí)候CVPR review,然后寫Rebuttal,應(yīng)reviewer要求補(bǔ)了很多實(shí)驗(yàn)來rebuttal。過完春節(jié),某天好像聽說出結(jié)果了,然后發(fā)現(xiàn)已經(jīng)AC了。 支線任務(wù)1:樹莓派系統(tǒng) 因?yàn)槔蠋熛胍院蟀压ぷ髦攸c(diǎn)放在行人重識別上,所以需要搭一套實(shí)驗(yàn)平臺,包括采數(shù)據(jù)的終端和存數(shù)據(jù),檢索的后端。以前那套系統(tǒng)基于Hadoop太笨重了,所以我重新寫了一套系統(tǒng)。買了一堆樹莓派、攝像頭和無線網(wǎng)卡,在樹莓派上跑行人檢測,把數(shù)據(jù)存到MongoDB,用Spring boot來寫后端。感覺寫工程開始變得很容易,Spring boot也就簡單看了幾天視頻教程就用起來了。只要把一些難點(diǎn)攻克了,之后寫起來就很流暢。這個(gè)事情做了一個(gè)月,然后交給幾個(gè)大二的本科生接手了,但師弟們之前只學(xué)C++和數(shù)據(jù)結(jié)構(gòu)和算法,不太推得動(dòng),有爛尾的趨勢,估計(jì)我研三下還得把這個(gè)東西自己拿過來推進(jìn)。 支線任務(wù)2:動(dòng)物計(jì)數(shù)橫向 跟一個(gè)創(chuàng)業(yè)公司合作,做一個(gè)數(shù)牛的項(xiàng)目,主要還是用樹莓派和目標(biāo)檢測那堆東西,加一點(diǎn)物理知識做計(jì)數(shù),做出來效果還行。技術(shù)上難度不大,但是跟甲方討論還是一件挺費(fèi)時(shí)間的事情,需要及時(shí)推進(jìn)和協(xié)調(diào)。 支線任務(wù)3:目標(biāo)檢測 寒假期間看了目標(biāo)檢測方面的經(jīng)典論文,為下學(xué)期找實(shí)習(xí)做準(zhǔn)備,雖然我是做行人重識別,但是重點(diǎn)其實(shí)還是在多模態(tài)上,對計(jì)算機(jī)視覺方面的東西還是停留在課程里學(xué)的東西上,以及Re-id一些論文。其實(shí)應(yīng)該把分割和人臉方面的一些論文也都看一看的。
主線任務(wù)1:論文 首先是把CVPR的論文整理成camera ready,然后是繼續(xù)改進(jìn),想得到進(jìn)一步的提升去投期刊。試了很多技巧,感覺創(chuàng)新點(diǎn)夠了,但是效果還是沒太大提升,所以一直沒投出去。 主線任務(wù)2:實(shí)習(xí)面試 投了幾家公司的實(shí)習(xí),面試,一邊刷牛客網(wǎng)上的題,因?yàn)槲也皇菍I(yè)的ACMer,而且也有別的任務(wù)要做,沒法把題都刷完,所以刷題只是找找感覺,基礎(chǔ)知識也只是看藍(lán)皮書和西瓜書,大部分面試都是裸考。好在還是找到實(shí)習(xí)了,具體經(jīng)歷在知乎上答過:https://www.zhihu.com/question/272045026/answer/366665187 主線任務(wù)3:鵝廠實(shí)習(xí) 到AI Lab實(shí)習(xí)主要還是研究類的工作,感覺在這期間填補(bǔ)了之前在CV上欠缺的一些認(rèn)識,發(fā)現(xiàn)原來網(wǎng)絡(luò)結(jié)構(gòu)啥的可以玩出這么多的花。具體不便多說,保密哈。 主線任務(wù)4:秋招 2019秋招算法面經(jīng):https://zhuanlan.zhihu.com/p/42936891 支線任務(wù)1:實(shí)驗(yàn)室基礎(chǔ)設(shè)施建設(shè) 跟師弟一起搭了實(shí)驗(yàn)室的Git平臺,還有網(wǎng)站和博客,所以2018年在GitHub上提交的代碼可能少一點(diǎn)點(diǎn)。 主 線任務(wù)1:期刊論文 讀了18年的一些頂會論文,獲得了啟發(fā),找到有效的提升方法,現(xiàn)在實(shí)驗(yàn)做完了,效果很好,希望能在春節(jié)前把論文投出去。BTW,回來給實(shí)驗(yàn)室買了兩臺GPU服務(wù)器,實(shí)驗(yàn)室目前有3張TITANX和12張1080ti,還有若干1060,師弟們都轉(zhuǎn)Reid了,卡要多一點(diǎn)才夠用。 主線任務(wù)2:畢業(yè)論文 SCUT總能時(shí)不時(shí)坑你一把,去年論文是研三下才送審,今年就變成1月送審了,于是生死時(shí)速開始寫論文,現(xiàn)在寫好了,等導(dǎo)師給修改意見就準(zhǔn)備去查重送審了。
主線任務(wù)1:畢業(yè)論文 寒假的時(shí)候送審意見就回來了。做了一點(diǎn)點(diǎn)修改就可以準(zhǔn)備答辯手續(xù)了。因?yàn)閷W(xué)院當(dāng)時(shí)行政比較混亂,所以手續(xù)搞了挺久。期間做了答辯ppt,到答辯前一個(gè)星期講給導(dǎo)師聽,導(dǎo)師聽完之后說:“我覺得你這個(gè)只達(dá)到了碩士水平,沒有達(dá)到博士水平”。于是照著導(dǎo)師的意見做了修改,把ppt做得更加易懂,自己把整個(gè)ppt背了下來,試講了幾遍之后再跟導(dǎo)師試講。答辯的那天很早就到了B3,但我是最后一個(gè)答辯,一直等到中午,前面很多是一些在職的學(xué)生(真的很菜。。),于是到自己答辯的時(shí)候就木有什么壓力了,講完之后有個(gè)評委老師甚至很感興趣要代碼。宣布答辯結(jié)果之后,再適當(dāng)改一下論文,就等拿畢業(yè)證啦。 主線任務(wù)2:行人檢索系統(tǒng) 導(dǎo)師想做一個(gè)平臺來演示我們實(shí)驗(yàn)室所有的算法,于是Java后端,web前端,python深度學(xué)習(xí)后端,樹莓派采集端我都一個(gè)人寫了出來。現(xiàn)在還是一個(gè)比較簡單的版本,交給師弟們后續(xù)繼續(xù)擴(kuò)展。 支線任務(wù):熟悉無人機(jī) 因?yàn)橐肼毚蠼景l(fā)了一臺無人機(jī),所以沒事就帶著無人機(jī)到處拍。無人機(jī)還是很好玩的,畢竟造飛機(jī)是每個(gè)男孩的夢想嘛。 讀研期間有一個(gè)好的導(dǎo)師真的很幸運(yùn)
要盡快確定一個(gè)還有研究空間的方向,前期要多讀論文,多總結(jié),開闊視野
CV方向至少要有一塊卡,實(shí)驗(yàn)室沒有的話,盡量自己買一塊吧
確定方向之后多做實(shí)驗(yàn),多做分析,多跟他人尤其是導(dǎo)師溝通
工作的事情是水到渠成的,在學(xué)校能出成果最重要,盡量在研二上把論文投出去
現(xiàn)在環(huán)境比我們當(dāng)時(shí)好了很多,框架成熟,baseline開源代碼到處都有,大多數(shù)實(shí)驗(yàn)室也都意識到設(shè)備重要性,所以都有設(shè)備了,但是競爭也更激烈了,大家要加油呀
好消息,小白學(xué)視覺團(tuán)隊(duì)的知識星球開通啦,為了感謝大家的支持與厚愛,團(tuán)隊(duì)決定將價(jià)值149元的知識星球現(xiàn)時(shí)免費(fèi)加入。各位小伙伴們要抓住機(jī)會哦!
下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程 在「小白學(xué)視覺 」公眾號后臺回復(fù): 擴(kuò)展模塊中文教程 , 即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理 等二十多章內(nèi)容。下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講 在「小白學(xué)視覺 」 公眾號后臺回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目 , 即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計(jì)數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別 等31個(gè)視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺。 下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講 在「小白學(xué)視覺 」 公眾號后臺回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講 , 即可下載含有20 個(gè)基于OpenCV 實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目 ,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。 交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺 、傳感器、自動(dòng)駕駛、 計(jì)算攝影 、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽 等微信群(以后會逐漸細(xì)分), 請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過 。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿 在群內(nèi)發(fā)送廣告 ,否則會請出群,謝謝理解~