◆劉柏森 侯力心
基于YOLOV2卷積神經(jīng)網(wǎng)絡(luò)的雙目視覺系統(tǒng)設(shè)計
◆劉柏森 侯力心通訊作者
(黑龍江工程學(xué)院電氣與信息學(xué)院 黑龍江 150001)
基于卷積神經(jīng)網(wǎng)絡(luò)的雙目視覺系統(tǒng)設(shè)計主要包括兩個功能:對于特定物體的識別和對距離的測量。通過雙路攝像頭模擬人眼采集圖像信息,采用相機標(biāo)定和特征點提取構(gòu)建被測物的視差圖,利用SGBM算法進行圖像匹配,經(jīng)過坐標(biāo)系轉(zhuǎn)換得到物體的世界坐標(biāo),使用回調(diào)函數(shù)計算物體位置,構(gòu)建物體三維模型;搭建YOLOV2卷積神經(jīng)網(wǎng)絡(luò)模型,利用ImageNet數(shù)據(jù)庫進行訓(xùn)練,采用雙目圖像處理技術(shù)進行識別。經(jīng)測試雙目視覺系統(tǒng)在訓(xùn)練量很少的情況下可以實現(xiàn)對4種不同類型的物體進行識別,識別率非常高,測距精度滿足實際應(yīng)用。
雙目視覺;物體識別;卷積神經(jīng)網(wǎng)絡(luò);立體匹配
人類主要通過對視覺感知系統(tǒng)的外部觀察和視覺學(xué)習(xí)活動來準(zhǔn)確性地感知自然界和我們現(xiàn)實生活中的環(huán)境世界,人類從外部生態(tài)環(huán)境中直接獲得的外部視覺信息中,大約80%的內(nèi)部信息都是來自視覺感知系統(tǒng)。隨著我們現(xiàn)代科學(xué)技術(shù)的不斷進步,圖像識別技術(shù)、數(shù)字圖像處理、人工智能等諸多學(xué)科的應(yīng)用得到大力發(fā)展,使得人們利用計算機技術(shù)模擬各種人眼視覺成為一種可能。由于這項技術(shù)還沒有全面普及到日常生活中,而且市場上的相關(guān)產(chǎn)品良莠不齊,專業(yè)產(chǎn)品價格昂貴,且功能單一,普通產(chǎn)品精度較低。因此需要設(shè)計一種精度較高、價格低廉的雙目視覺設(shè)備?;诖吮尘?,本文提出一種將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到雙目視覺系統(tǒng)的設(shè)計方法,該系統(tǒng)由iTOP-4412作為硬件平臺、深度學(xué)習(xí)作為核心算法,通過雙攝像頭對特定環(huán)境中物體的圖像進行了采集,實現(xiàn)特定環(huán)境中物體的圖像識別及距離的測量。識別物體種類大于三種,距離測量小于四米。
本系統(tǒng)的硬件電路設(shè)計主要包括攝像頭采集部分設(shè)計、處理系統(tǒng)部分的設(shè)計兩個部分。其中,攝像頭采集部分主要是OV5640芯片的使用及介紹;處理系統(tǒng)部分主要是Exynos4412芯片的外圍電路設(shè)計。
采用OV5640完成圖像采集工作,通過MCU與寄存器系統(tǒng)相關(guān)的配置指令并在完成系統(tǒng)初始的變化后對寄存器進行系統(tǒng)配置,OV5640初始化工作完成;傳感器保持RESET引腳為高電平,取消了傳感器通信控制芯片的時鐘信號復(fù)位。XCLK是一個用于控制驅(qū)動整個電路的傳感器芯片的內(nèi)部時鐘復(fù)位信號,用外部時鐘控制器進行控制;PCLK是OV5640輸出數(shù)據(jù)時的同步信號。通過數(shù)字感光圖像矩陣控制元件直接自動采集光學(xué)電信號,將光學(xué)電信號的數(shù)字圖像信息轉(zhuǎn)化后成為數(shù)字電信號,經(jīng)過各種數(shù)字化圖像處理后把這些數(shù)字圖像的各種電信號信息存儲到一起,從而形成由一個個數(shù)字像素點陣來表示的數(shù)字圖像。根據(jù)圖像寄存器的要求和配置,對圖像處理數(shù)據(jù)做一些復(fù)雜的圖像采集和處理的運算。然后對圖像格式進行轉(zhuǎn)換和壓縮,VCM處理單元會通過圖像分析實現(xiàn)自動對焦功能。將已經(jīng)轉(zhuǎn)換為對應(yīng)的電信號的圖像信號傳送至核心計算模塊,通過MCU控制,計算并通過DVP接口輸出數(shù)字圖像。電路圖如圖1所示。
圖1 OV5640電路圖
iTOP-4412核心板配備了三星設(shè)計生產(chǎn)的Exynos4412四核核心處理器,主頻為1.4GHz,內(nèi)置8GB存儲空間。Exynos 4412四核處理器集成Mali-400MP圖形處理器,這顆圖形處理器主頻由此前的266MHz提升至400MHz,會比現(xiàn)有的雙核機型整體性能提升60%,圖像處理提升 50%,并且集成了多個通信接口、轉(zhuǎn)換器和功能外設(shè)等,硬件資源豐富。而在軟件資源上,相對開源化,能夠更加方便地控制處理器同外部信號進行通信和處理。
硬件系統(tǒng)總體框架基于Exynos 4412芯片,擁有豐富外部設(shè)備,其中有2個攝像頭,攝像頭采用OV5640芯片,連接芯片的CAM接口;LCD控制端口通過CLK端口通過Type Filter傳遞到LCD,像素通過LCD_R、LCD_G、LCD_G傳遞到LCD完成LCD的硬件連接。
本系統(tǒng)的設(shè)計主要是采用狀態(tài)機的設(shè)計思想,基于一種嵌入式系統(tǒng)的跨平臺處理器來直接完成系統(tǒng)的編程。軟件系統(tǒng)包括相機標(biāo)定、SGBM立體匹配算法和YOLOV2物體識別框架搭建。
雙目視覺系統(tǒng)的攝像頭標(biāo)定是指被測物體的成像點在成像平面的坐標(biāo)與世界空間坐標(biāo)的映射關(guān)系。常見的單攝像頭位置進行標(biāo)定的方法一共有五種,在經(jīng)過對比之后選擇直接線性變換對兩個攝像頭的位置進行了標(biāo)定,當(dāng)左右兩個攝像機固定位置之后,分別對兩個攝像頭的位置進行了標(biāo)定,得到兩個攝像頭的內(nèi)、外兩個參數(shù)。
系統(tǒng)的設(shè)計關(guān)鍵在于如何提高圖像特征點匹配的算法準(zhǔn)確度和特征點匹配的時間,SGBM算法視差效果好匹配速度快,因此本設(shè)計選擇了SGBM算法來實現(xiàn)立體匹配功能。SGBM算法主要就是采用較高計算水平的一個sobel算子,對多個圖像信號進行了圖像預(yù)處理,這一點可以說被用于大幅降低進行預(yù)計數(shù)運算的成本代價。代價計算由兩部分組成,經(jīng)過預(yù)處理得到的圖像的梯度信息和原圖像經(jīng)過基于采樣的方法得到的SAD代價。OpenCV中的SGBM后處理包括唯一性檢測、亞像素插值和左右一致性檢測。插值公式如下所示。
算法技術(shù)路線如圖2所示:
圖2 SGBM算法實現(xiàn)結(jié)構(gòu)圖
本文物體識別分為兩個任務(wù),一個是找場景中訓(xùn)練的物體,并且用矩形框框出物體在圖像的區(qū)域,另一個任務(wù)是識別框出的物體的類別。這個過程也可以稱為物體檢測。由于YOLOV2的代碼運行速度快且無須很大的運行空間,所以我們需要采用基于YOLO卷積神經(jīng)網(wǎng)絡(luò)來完成圖像識別。YOLOV2網(wǎng)絡(luò)模型如圖3所示
圖3 YOLOV2網(wǎng)絡(luò)模型結(jié)構(gòu)
YOLO首先將整個圖像中物體特征均勻的劃分成大小為7x7的卷積神經(jīng)網(wǎng)格,每個網(wǎng)格作為錨框分別產(chǎn)生b個輸入檢測框。然后將輸入特征映射到卷積神經(jīng)網(wǎng)絡(luò)中,得到相應(yīng)的特征區(qū)域圖后,將特征數(shù)據(jù)送回卷積網(wǎng)絡(luò),然后采用全連接層,將每個特征區(qū)域的輸入特征值分別映射得到相同大小的物體特征區(qū)域圖,對每個輸入檢測框的特征類別和每個檢測框的特征值進行回歸。YOLO網(wǎng)絡(luò)的目標(biāo)置信度反映了檢測框?qū)W(wǎng)絡(luò)檢測計算出來的網(wǎng)絡(luò)和目標(biāo)的置信度,計算公式的定義如下所示。
YOLOv2的訓(xùn)練主要包括三個階段。第一階段就是先在ImageNet分類數(shù)據(jù)集上預(yù)訓(xùn)練Darknet-19,此時模型輸入為224*224,共訓(xùn)練160個epochs。然后第二階段將網(wǎng)絡(luò)的輸入調(diào)整為448*448,繼續(xù)在ImageNet數(shù)據(jù)集上finetune分類模型,訓(xùn)練10個epochs,此時分類模型的top-1準(zhǔn)確度為76.5%,而top-5準(zhǔn)確度為93.3%。第三個階段就是修改Darknet-19分類模型為檢測模型,并在檢測數(shù)據(jù)集上繼續(xù)運行finetune網(wǎng)絡(luò)。
物體識別的準(zhǔn)確率和識別精度是本項目的關(guān)鍵,因此,對物體識別的結(jié)果進行測試,以驗證識別準(zhǔn)確率和距離精度算法的性能。
測試選取對生活中常見的物體進行訓(xùn)練,在ImageNet中選取了100條左右的訓(xùn)練數(shù)據(jù),在不同場景下采用雙目視覺系統(tǒng)對物體進行識別,觀察識別物體種類的準(zhǔn)確率和距離判斷的精度是否符合要求。
測試結(jié)果表明,對于非運動物體種類的識別,準(zhǔn)確率幾乎高達百分之百,運動速度過快會導(dǎo)致攝像頭采集模塊來不及將數(shù)據(jù)有效傳輸?shù)教幚砥?,識別效果不夠準(zhǔn)確。對于距離判斷來說,只要能識別出物體種類,誤差不超過百分之五。
測試過程統(tǒng)計結(jié)果如表1所示。
表1 測試結(jié)果數(shù)據(jù)統(tǒng)計
雙目視覺系統(tǒng)通過模仿人類的視覺系統(tǒng)來同時獲取被測物體的兩幅深度特征信息,使我們的觀察者可以從圖像中獲得圖像的深度信息,建立圖像的三維視圖。使用YOLO V2卷積神經(jīng)網(wǎng)絡(luò)對我們觀察得到的被測物體圖像特征進行處理,進行準(zhǔn)確的定位和特征分類。本設(shè)計較完美地完成了初期預(yù)想功能要求,并且在設(shè)計指標(biāo)上有了新的突破?;谏疃葘W(xué)習(xí)設(shè)計雙目視覺系統(tǒng)是一種新的思路,可以直接采用他人的訓(xùn)練成果,這樣的識別速度會更快。
[1]MilanSonka,VaclavHlavac,RogerBoyle.圖像處理,分析與機器視覺[M].清華大學(xué)出版社,2015.
[2]張鈞,張宏,劉小茂,曾紹群.雙目立體視覺中物點定位的一種快速算法[J].信息與控制,2009,38(05):563-570.
[3]江宛諭.基于深度學(xué)習(xí)的物體檢測分割[J].電子世界,2018(15):19-20+23.
[4]蔣帥. 基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識別[D].吉林大學(xué),2017.
[5]邱鵬,鄧秀慧,霍瑛.復(fù)雜環(huán)境中一種基于深度學(xué)習(xí)的異常檢測方法[J].科學(xué)技術(shù)與工程,2018,18(10):231-234.
[6]王宇寧,龐智恒,袁德明.基于YOLO算法的車輛實時檢測[J].武漢理工大學(xué)學(xué)報,2016,38(10):41-46.
[7]侯賓,張文志,戴源成,田洪強.基于OpenCV的目標(biāo)物體顏色及輪廓的識別方法[J].現(xiàn)代電子技術(shù),2014,37(24): 76-79+83..
[8]戴舒,汪慧蘭,許晨晨,劉丹,張保俊.基于YOLO算法的行人檢測方法[J].無線電通信技術(shù),2020,46(03):360-365.
[9]高宏偉.計算機雙目立體視覺技術(shù).電子工業(yè)出版社[M],2012.
[10]Zhanchao Huang,Jianlin Wang,Xuesong Fu,Tao Yu,Yongqi Guo,Rutong Wang. DC-SPP-YOLO: Dense connection and spatial pyramid pooling based YOLO for object detection[J]. Information Sciences,2020,522.
黑龍江省博士后科研啟動金(LBH-Q18110);黑龍江省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃(201911802003)