李衛(wèi)
摘 要:近年來(lái),計(jì)算機(jī)視覺技術(shù)在海洋水產(chǎn)養(yǎng)殖領(lǐng)域中不斷發(fā)展并且使用率也越來(lái)越高,這其中魚類圖片的檢索在魚類種群研究和魚類行為分析中發(fā)揮了不可或缺的作用,隨著在海洋水產(chǎn)養(yǎng)殖領(lǐng)域中計(jì)算機(jī)視覺技術(shù)的不斷發(fā)展,魚類成像在魚類資源和行為分析任務(wù)中發(fā)揮了重要任務(wù)。開發(fā)本系統(tǒng)的目的便是為了幫助用戶更好,更簡(jiǎn)便地使用各類識(shí)別算法,并且可以對(duì)識(shí)別結(jié)果進(jìn)行對(duì)比。
關(guān)鍵詞:計(jì)算機(jī)視覺技術(shù);紅鰭東方鲀識(shí)別;計(jì)數(shù)系統(tǒng)的研究
1 研究?jī)?nèi)容
面向生產(chǎn)的紅鰭東方鲀識(shí)別與計(jì)數(shù)系統(tǒng)是參考現(xiàn)有系統(tǒng)改進(jìn)而來(lái),但迫于時(shí)間壓力和精力有限,系統(tǒng)設(shè)計(jì)中只嵌入了YOLO與MCNN兩種識(shí)別算法,目前有選擇圖片,上傳圖片,添加參數(shù),顯示結(jié)果等功能。
服務(wù)器與瀏覽器的通信方式中包含多種方式,通常我們會(huì)使用HTTP網(wǎng)絡(luò)請(qǐng)求的方式來(lái)進(jìn)行數(shù)據(jù)的管理,通過(guò)Restful的方式實(shí)現(xiàn)一個(gè)和多個(gè)請(qǐng)求。通過(guò)自己制定請(qǐng)求規(guī)則來(lái)解決前后端數(shù)據(jù)的一致性的問(wèn)題。
在系統(tǒng)的研發(fā)時(shí),通過(guò)之前軟件工程的思想,將整個(gè)軟件開發(fā)流程中可行性研究,需求分析,軟件設(shè)計(jì),編碼實(shí)現(xiàn)到最終的功能測(cè)試,每個(gè)環(huán)節(jié)都作了充分的了解與調(diào)研,獲得極為有價(jià)值的經(jīng)驗(yàn)。并且學(xué)會(huì)了調(diào)試等諸多開發(fā)技巧,如斷點(diǎn)、輸出等功能。
2 開發(fā)工具介紹
2.1? Eclipse
Eclipse的插件機(jī)制是輕型軟件組件化架構(gòu)。,Eclipse使用插件來(lái)提供所有的附加功能,例如支持Java以外的其他語(yǔ)言。目前已有的但還未安裝到Eclipse中的插件已經(jīng)能夠支持C/C++(CDT)、Perl、Ruby,Python、telnet和數(shù)據(jù)庫(kù)開發(fā)。插件架構(gòu)能夠支持將任意的擴(kuò)展加入到 現(xiàn)有環(huán)境中現(xiàn)有的插件已經(jīng)可以滿足本系統(tǒng)的開發(fā)。
2.2? Pycharm
Pycharm不僅是一款python集成開發(fā)環(huán)境同時(shí)也支持前端開發(fā),作為一款集成開發(fā)環(huán)境其具有的功能也十分全面。Pycharm作為本系統(tǒng)的開發(fā)軟件,省去了安裝python插件的步驟,只需要安裝框架后便可以進(jìn)行開發(fā)。
3 相關(guān)算法介紹
近幾年來(lái),目標(biāo)檢測(cè)算法取得了很大的突破。比較流行的算法可以分為兩類,一類是基于Region Proposal的R-CNN系算法(R-CNN,F(xiàn)ast R-CNN, Faster R-CNN),它們是two-stage的,需要先使用啟發(fā)式方法(selective search)或者CNN網(wǎng)絡(luò)(RPN)產(chǎn)生Region Proposal,然后再在Region Proposal上做分類與回歸。而另一類是Yolo,SSD這類one-stage算法,其僅僅使用一個(gè)CNN網(wǎng)絡(luò)直接預(yù)測(cè)不同目標(biāo)的類別與位置。第一類方法是準(zhǔn)確度高一些,但是速度慢,而第二類算法是速度快,但是準(zhǔn)確性要低一些。本文首先介紹的是Yolo1算法,其全稱是You Only Look Once: Unified, Real-Time Object Detection,You Only Look Once說(shuō)的是只需要一次CNN運(yùn)算,Unified指的是這是一個(gè)統(tǒng)一的框架,提供end-to-end的預(yù)測(cè),而Real-Time體現(xiàn)是Yolo算法速度快,可以達(dá)到實(shí)時(shí)。Yolo-v1的性能是差于后來(lái)的SSD算法的,但是Yolo后來(lái)也繼續(xù)進(jìn)行改進(jìn),產(chǎn)生了Yolo9000算法,和Yolov3。
公共場(chǎng)合中通過(guò)攝像機(jī)實(shí)現(xiàn)人數(shù)計(jì)數(shù)具有重要的研究?jī)r(jià)值。比如: 候車大廳中人群計(jì)數(shù)的結(jié)果,可優(yōu)化公共交通的調(diào)度。公共場(chǎng)合中采用攝像機(jī)實(shí)現(xiàn)人群計(jì)數(shù)在智能安防領(lǐng)域具有重要價(jià)值。因此, 人群計(jì)數(shù)(Crowd Counting)或者人群密度估計(jì)(Crowd Density Estimation)是計(jì)算機(jī)視覺和智能視頻監(jiān)控領(lǐng)域的重要研究?jī)?nèi)容。人群計(jì)數(shù)的通常的方法大致可以分為三種:
3.1 行人檢測(cè) : 這種方法比較直接,在人群較稀疏的場(chǎng)景中,通過(guò)檢測(cè)視頻中的每一個(gè)行人,進(jìn)而得到人群計(jì)數(shù)的結(jié)果,一般是用基于外觀和運(yùn)動(dòng)特征的boosting,貝葉斯模型為基礎(chǔ)的分割,或集成的自頂向下和自底向上的處理,這種方法在人群擁擠情況下不大奏效,需要運(yùn)用到基于部件模型(如DPM)的檢測(cè)器來(lái)克服人群擁擠遮擋的問(wèn)題。
3.2 視覺特征軌跡聚類:對(duì)于視頻監(jiān)控,一般用KLT跟蹤器和聚類的方法,通過(guò)軌跡聚類得到的數(shù)目來(lái)估計(jì)人數(shù)。
3.3 基于特征的回歸: 建立圖像特征和圖像人數(shù)的回歸模型, 通過(guò)測(cè)量圖像特征從而估計(jì)場(chǎng)景中的人數(shù)。由于擁擠情況下采用直接法容易受到遮擋等難點(diǎn)問(wèn)題的影響,而間接法從人群的整體特征出發(fā),具有大規(guī)模人群計(jì)數(shù)的能力。
當(dāng)前階段人群計(jì)數(shù)的主要問(wèn)題有以下幾點(diǎn):
在大多數(shù)現(xiàn)有的工作中,前景分割是必不可少的,但前景分割是項(xiàng)艱巨任務(wù);人群的密度和分布會(huì)有顯著變化,需要一種有效的特征來(lái)針對(duì)圖像中人群規(guī)??赡苡酗@著變化的情況。
基于以上問(wèn)題,《Single-Image Crowd Counting via Multi-Column Convolutional Neural Network》這篇文章的作者提出了一個(gè)基于CNN的新框架用于任意單幅圖像上的人群計(jì)數(shù)。MCNN包含了三列具有不同濾波器大小的卷積神經(jīng)網(wǎng)絡(luò)。所做貢獻(xiàn)如下:
3.4 多列架構(gòu)的原因是:三列對(duì)應(yīng)于不同大小的感受野(大,中,?。姑總€(gè)列卷積神經(jīng)網(wǎng)絡(luò)的功能對(duì)由于透視或不同的圖像分辨率造成的人/頭大小變化是自適應(yīng)的。
3.5 用一個(gè)1*1濾波器的卷積層代替了完全連接的層,因此模型的輸入圖像可以是任意大小的,避免了失真。網(wǎng)絡(luò)的直接輸出是一個(gè)人群密度估計(jì)圖,從中可以得到的整體計(jì)數(shù)。
3.6 收集了一個(gè)新的數(shù)據(jù)集用于人群計(jì)數(shù)方法的評(píng)價(jià)。比現(xiàn)有的數(shù)據(jù)集包含更復(fù)雜的情況,能更好地測(cè)試方法性能。
4 主體架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
在開始正式編程之前首先要完成系統(tǒng)的主體架構(gòu)設(shè)計(jì),這樣編程才會(huì)更有目的性,達(dá)到的效果才會(huì)更加準(zhǔn)確,由于現(xiàn)有的兩種算法Yolo與MCNN使用了python語(yǔ)言,因此后端編程使用了flask框架,前端則使用了jQuery框架,他們共有的特點(diǎn)就是簡(jiǎn)潔,輕量,既可以很好地完成系統(tǒng)設(shè)計(jì),又不會(huì)有太多冗雜的功能。
總結(jié)
該系統(tǒng)的開發(fā)宗旨是將多種識(shí)別算法集成在一個(gè)系統(tǒng)當(dāng)中,有些類似于Eclipse的“萬(wàn)物皆插件”的宗旨,本系統(tǒng)主要分為選擇圖片,上傳圖片,生產(chǎn)參數(shù)列表,原始圖像顯示和識(shí)別結(jié)果顯示這五大模塊,實(shí)現(xiàn)對(duì)圖像的識(shí)別與結(jié)果輸出。
(克拉瑪依職業(yè)技術(shù)學(xué)院信息工程系,新疆 克拉瑪依 834000)