本以為需要在大賽結(jié)束后向主辦方打聽(tīng)龍澤升的聯(lián)系方式。因有一些其它的采訪任務(wù),我錯(cuò)過(guò)了這個(gè)小伙子的比賽。然而在頒獎(jiǎng)儀式當(dāng)天,他就坐在我的左邊。這讓我對(duì)龍澤升有了更多了解。
龍澤升,短發(fā)寸頭,個(gè)子挺高,戴副眼鏡,似乎不善言談。也許這就是我們印象中“理工男”的標(biāo)配。簡(jiǎn)單介紹之后,彼此添加了聯(lián)系方式,從而讓我有了更多了解龍澤升及其團(tuán)隊(duì)的機(jī)會(huì)。用龍澤升的話說(shuō),這次“實(shí)海域目標(biāo)識(shí)別算法賽”在一定程度上圓了他“揚(yáng)帆起航”的夢(mèng)想,而“海上爭(zhēng)鋒正當(dāng)時(shí)”。
“2020年八月底的一個(gè)上午,我還在想自己第一篇科技類(lèi)論文怎么投,突然接到老師發(fā)來(lái)的一則消息,‘今年的中國(guó)智能船艇挑戰(zhàn)賽要開(kāi)始了,B組是實(shí)海域目標(biāo)識(shí)別算法賽,正好是你的研究方向,你來(lái)當(dāng)隊(duì)長(zhǎng),帶著師弟和師妹們參賽’。說(shuō)實(shí)話,收到消息后,我有點(diǎn)慌?!饼垵缮貞浀溃骸爱?dāng)時(shí),我好像馬上就退出了微信界面——因?yàn)楫?dāng)時(shí)我還沒(méi)有進(jìn)‘研二’,論文都還沒(méi)投過(guò),在這種全國(guó)性的大賽面前,對(duì)自己能力不夠自信是正常的事情?!?/p>
年近四十的我,自然很懂龍澤升的顧慮和擔(dān)心。顧慮的,是萬(wàn)一被淘汰又耽誤了學(xué)弟和學(xué)妹的時(shí)間,擔(dān)心的,是怕老師失望。沉默一些時(shí)候,龍澤升的確對(duì)此認(rèn)同,但他又強(qiáng)調(diào)了一個(gè)小伙子應(yīng)有的擔(dān)當(dāng):“雖然有些不自信,但我認(rèn)為應(yīng)該參賽,為學(xué)校和老師的肯定,也為隊(duì)友和我個(gè)人的經(jīng)驗(yàn)及榮譽(yù)?!?/p>
“一個(gè)好漢三個(gè)幫?!饼垵缮f(shuō),之后,他迅速地展開(kāi)行動(dòng),首先拉了幾個(gè)得力的師弟、學(xué)弟,然后分析B組(實(shí)海域目標(biāo)識(shí)別算法賽)的任務(wù)和要求,制定出了一個(gè)初步的算法迭代計(jì)劃。“B組初賽在線上進(jìn)行,主辦方提供多段船載攝像頭在實(shí)際海域中拍攝的視頻,參賽選手需通過(guò)設(shè)計(jì)算法,識(shí)別視頻中的Barrier和Coast,并用檢測(cè)框框出。隨著大數(shù)據(jù)技術(shù)的火熱,目前,目標(biāo)識(shí)別領(lǐng)域的主流方法均是基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),即通過(guò)大量已標(biāo)注的數(shù)據(jù)對(duì)用于目標(biāo)識(shí)別任務(wù)的神經(jīng)網(wǎng)絡(luò)進(jìn)行監(jiān)督訓(xùn)練,從而獲得一個(gè)算法模型。由于此次賽題較難,我們選擇了Faster RCNN算法,并在Pytorch平臺(tái)上實(shí)現(xiàn)。為了不斷優(yōu)化算法,我們決定使用特征金字塔、隨機(jī)翻轉(zhuǎn)、軟極大值抑制(Soft-NMS)、學(xué)習(xí)率預(yù)熱等技術(shù),通過(guò)消融實(shí)驗(yàn)(Ablation Experiment)確定其作用。
由于龍澤升嚴(yán)格按照初步的比賽方案執(zhí)行,模型效果最好,在初賽的最初兩周,他們獲得了意料之外的好成績(jī)。然而就在9月20日,龍澤升團(tuán)隊(duì)的比分被競(jìng)爭(zhēng)對(duì)手反超了。“我和我的隊(duì)友都很好勝,被人超過(guò)雖在意料之中,但還是很不甘心?!备岧垵缮y受的是,當(dāng)時(shí),他們的初步算法迭代方案已經(jīng)走完,暫時(shí)沒(méi)有更多提高模型效果的方法了?!皬哪撤N程度上來(lái)說(shuō),算法走完意味著賽程的結(jié)束,如果沒(méi)有更優(yōu)方案,我們可能就‘到此為止’了。”
當(dāng)然,如果龍澤升及其團(tuán)隊(duì)“到此為止”的話,也就沒(méi)有這篇文字了。
“隨后,我上網(wǎng)找了很多相關(guān)比賽冠軍隊(duì)伍的參賽方案,突擊閱讀了多篇新論文,制定了新的算法迭代方案?!饼垵缮f(shuō),F(xiàn)aster RCNN是在2015年面世的一套算法,而我們的更新方案最后采用2018年提出的Cascade RCNN算法,并在香港中文大學(xué)和商湯科技(Sense Time,一家致力于計(jì)算機(jī)視覺(jué)和深度學(xué)習(xí)原創(chuàng)技術(shù)的創(chuàng)新型科技公司)推出的MMDetection平臺(tái)上得以實(shí)現(xiàn)。迭代改進(jìn)的技術(shù)除了具備前述算法外,還新增了多尺度訓(xùn)練、混合精度、可變卷積、在線難例挖掘(OHEM)、聚類(lèi)決定先驗(yàn)框設(shè)置等技術(shù),并還針對(duì)實(shí)海域視頻特點(diǎn)等特點(diǎn),設(shè)計(jì)了熱力圖導(dǎo)向的泊松復(fù)制方法,“首先對(duì)目標(biāo)通過(guò)背景差異度計(jì)算熱力圖,以熱力值高于閾值的區(qū)域作為目標(biāo)區(qū)域,采用泊松融合方法將目標(biāo)隨機(jī)復(fù)制至目標(biāo)區(qū)域?!蓖ㄟ^(guò)新的算法迭代優(yōu)化方案,龍澤升團(tuán)隊(duì)在比賽中的分?jǐn)?shù)不斷提升,最終拿回第一。
智能船配備的智能傳感器
2020年10月24日,龍澤升代表其團(tuán)隊(duì)站在了決賽答辯席上。答辯中,龍澤升仔細(xì)講述了兩個(gè)月來(lái)團(tuán)隊(duì)在數(shù)據(jù)處理、模型優(yōu)化、訓(xùn)練及后處理等三方面的工作,最終,獲得了很多評(píng)委和選手作的認(rèn)可,獲得B組一等獎(jiǎng)。
賽后,我問(wèn)到龍澤升的感想,他用了一組排比:“獲獎(jiǎng)后,我回想了很多。想起了最初的不自信,想起了和隊(duì)友分析、討論模型時(shí)展開(kāi)的頭腦風(fēng)暴,想起了被超越后瘋狂查找替代方案和論文時(shí)的焦急。同時(shí),我也收獲了很多,獲得了站在領(lǐng)獎(jiǎng)臺(tái)上的滿(mǎn)滿(mǎn)成就感,以及和參賽選手坦誠(chéng)交流后的更多想法和經(jīng)驗(yàn)。這次比賽,讓我對(duì)實(shí)海域目標(biāo)識(shí)別算法有了更多更加深刻的認(rèn)識(shí),也激發(fā)了我對(duì)船舶智能化發(fā)展的熱愛(ài)。”
當(dāng)然,他最后雖未說(shuō),但我也能明顯感覺(jué)到還有一種“理工男”不愿過(guò)分表達(dá)的感激——對(duì)老師,對(duì)隊(duì)友。
基準(zhǔn)模型
模型改進(jìn)
后續(xù)改進(jìn)方向
1、考慮使用圖像增強(qiáng)技術(shù)(例如GAN),對(duì)模糊的水面圖像進(jìn)行去模糊處理;
2、考慮采用模型剪枝等輕量化技術(shù),提高模型的檢測(cè)實(shí)時(shí)性;
3、標(biāo)注圖像的成本太高,考慮使用弱監(jiān)督/半監(jiān)督技術(shù);
4、考慮工程化應(yīng)用,將模型轉(zhuǎn)化成TensorRT格式,將算法應(yīng)用于實(shí)船。