从计算机视觉算法实训走向落地尝试
極市平臺(tái)視覺AI工程項(xiàng)目實(shí)訓(xùn)周是個(gè)怎樣的流程?參加實(shí)訓(xùn)周的同學(xué)又有怎樣的經(jīng)歷體驗(yàn)?我們邀請(qǐng)了9月實(shí)訓(xùn)周打榜昵稱為ysc的同學(xué)分享自己的實(shí)訓(xùn)周經(jīng)驗(yàn)。
ysc同學(xué)在實(shí)訓(xùn)周期間完成多個(gè)實(shí)訓(xùn)項(xiàng)目的實(shí)戰(zhàn),均取得了優(yōu)異的成績,并受邀進(jìn)行拉橫幅識(shí)別的項(xiàng)目落地封裝,現(xiàn)在也在與極市平臺(tái)官方算法工程師火熱地打交道,為算法合作落地努力中!
下邊一起來看下他的實(shí)訓(xùn)周經(jīng)驗(yàn)分享吧!9月份我參加了極市平臺(tái)舉辦的計(jì)算機(jī)視覺算法實(shí)訓(xùn)周,期間完成多個(gè)實(shí)訓(xùn)項(xiàng)目的實(shí)戰(zhàn),均取得了不錯(cuò)的成績,并受邀進(jìn)行拉橫幅識(shí)別的項(xiàng)目落地封裝,現(xiàn)在也在與極市平臺(tái)官方算法工程師一起為算法合作落地努力中!
一、我是怎么參加極市平臺(tái)實(shí)訓(xùn)周的?
本人菜鳥碩士一名,本科畢設(shè)的時(shí)候接觸過目標(biāo)檢測(cè)和跟蹤相關(guān)的內(nèi)容,比較感興趣,后來碩士期間就繼續(xù)從事視覺相關(guān)的研究。和實(shí)驗(yàn)室?guī)熜至奶斓臅r(shí)候,師兄給我推了極市平臺(tái)公眾號(hào),并表示公眾號(hào)上經(jīng)常發(fā)布各種和視覺相關(guān)的推文,可以參考學(xué)習(xí)。某天我看到了公眾號(hào)上關(guān)于實(shí)訓(xùn)周的推文,看到有導(dǎo)師帶隊(duì),打榜還有獎(jiǎng)勵(lì),覺得是一個(gè)非常不錯(cuò)的機(jī)會(huì),于是報(bào)名參加了。
二、實(shí)訓(xùn)周的流程與內(nèi)容
實(shí)訓(xùn)周的流程其實(shí)并不復(fù)雜,在平臺(tái)上注冊(cè)賬號(hào),然后選擇自己感興趣的項(xiàng)目報(bào)名打榜。在剛注冊(cè)賬號(hào)的時(shí)候,有新手項(xiàng)目給大家熟悉平臺(tái),熟悉模型建立,訓(xùn)練,測(cè)試和封裝的整個(gè)過程,極市平臺(tái)上也有很多優(yōu)秀的大佬分享整個(gè)流程及自己的代碼,非常的nice!實(shí)訓(xùn)周期間有老師一直在群里回答學(xué)生的各種問題,幫助學(xué)生解決各種報(bào)錯(cuò)和bug,也會(huì)有集體培訓(xùn),帶同學(xué)們過一遍整個(gè)流程,感覺跟著老師走,完成整個(gè)過程拿到分?jǐn)?shù)并不難。
三、打榜思路和策略
我打榜的項(xiàng)目是火焰識(shí)別,有幸也是打到了榜一,接下來將圍繞該項(xiàng)目展開具體描述。
3.1 算法目標(biāo)
監(jiān)控區(qū)域內(nèi)有紅色火焰/火苗產(chǎn)生,算法需要識(shí)別出來,提高執(zhí)法效率,減少損失。識(shí)別場(chǎng)景是街道,環(huán)境要求是白天,或光線充足。
3.2 數(shù)據(jù)分析
數(shù)據(jù)集圖片是jpg格式,標(biāo)注格式是voc的,如果使用yolo系列模型,需要自己將格式轉(zhuǎn)為yolo的訓(xùn)練格式,網(wǎng)上有很多代碼教程。訓(xùn)練集和測(cè)試集的數(shù)量個(gè)人感覺足夠大了,如果感覺不夠,可以采取角度變化,光線變化的方式來增大數(shù)據(jù)集進(jìn)行訓(xùn)練。
因?yàn)槲冶救藢?duì)yolo系列比較熟悉,因此最先想到是使用yolo模型,yolov5系列是我感覺體積比較小,速度比較快的模型,因?yàn)閥olov6/7并不太熟悉,所以我選擇了yolov5模型,其次,因?yàn)槟P蜏y(cè)試不僅有精度得分,還有性能分:
因此我首先確定是選用yolov5s模型,首攻精度,又不失速度。
3.3 訓(xùn)練策略
訓(xùn)練過程中,我一般預(yù)設(shè)的訓(xùn)練周期都是300epoch,作為一個(gè)基準(zhǔn),如果過擬合了就減少,精度不高就再加;
其次,訓(xùn)練的batch_size在允許的范圍內(nèi)建議越大越好,越大,模型過擬合的可能性就越小,我試過32和64,都是可以運(yùn)行的;
再細(xì)節(jié)的訓(xùn)練的話,就是可以freeze微調(diào)某一部分了,這個(gè)比較考驗(yàn)個(gè)人能力,如果有能力可以使用;
TensorRT幾乎是必須了。TensorRT是Nvidia為了加速基于GPU訓(xùn)練模型的推理而設(shè)計(jì),能有效加速模型的推理部署。且精度基本不會(huì)受到影響;
優(yōu)化器的選擇也有很多,模型默認(rèn)使用的是SGD,因?yàn)樵谖矣?xùn)練過程中模型精度還不錯(cuò),就沒有進(jìn)行修改,也可以嘗試用其他優(yōu)化器。
3.4 關(guān)于SDK封裝
最開始火焰識(shí)別的封裝是在打榜到達(dá)0.7分以后開始的,我使用的是官方提供的demo,配合著官方的視頻講解,修改對(duì)應(yīng)的部分就行,沒有什么難度。
后邊我又報(bào)名了其它項(xiàng)目,拉橫幅識(shí)別項(xiàng)目因?yàn)榕琶叭?#xff0c;被邀請(qǐng)參加封裝。這個(gè)項(xiàng)目有意思的地方在于,返回的并不是識(shí)別框中心點(diǎn)的坐標(biāo)和高度寬度,而是識(shí)別框四個(gè)頂點(diǎn)的坐標(biāo),這個(gè)是需要我們注意的,在模型測(cè)試和封裝過程中,都要進(jìn)行相應(yīng)的修改,看懂代碼報(bào)警的邏輯,如果憑借自己知識(shí)經(jīng)驗(yàn)和搜索引擎搜索學(xué)習(xí)了仍然不懂也沒關(guān)系,平臺(tái)有專門負(fù)責(zé)封裝的技術(shù)人員會(huì)解答你的相關(guān)問題。
四、實(shí)訓(xùn)周小結(jié)
本次實(shí)訓(xùn)周我順利通過了,并獲得了相應(yīng)的實(shí)訓(xùn)周證書。后邊平臺(tái)熟悉了,我報(bào)名了很多榜,有三個(gè)拿到了模型榜第一名,感覺還是挺不容易的。整個(gè)過程中,平臺(tái)的工作人員很和藹,回答問題很及時(shí),導(dǎo)師也是非常的負(fù)責(zé),基本上發(fā)問題到群里,很快就有回復(fù)。部署第一個(gè)項(xiàng)目是最難的,因?yàn)闀?huì)遇到各種bug,但是跑通的那一刻是真的快樂!!后續(xù)就是提高精度的折磨過程了,總之整個(gè)實(shí)訓(xùn)周還是學(xué)到了很多的東西,后續(xù)能參加封裝的課程也是非常開心,希望能夠進(jìn)一步提高自己的實(shí)力,讓自己越來越強(qiáng)。
總結(jié)
以上是生活随笔為你收集整理的从计算机视觉算法实训走向落地尝试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。