鄧虛睿 賈蒙磊
摘要:利用搭載雙目攝像機與GPS設(shè)備,提出了一種基于深度學(xué)習(xí)與雙目立體視覺的物體管理方案。首先用智能眼睛拍攝照片,并利用GPS獲取智能眼睛所在的位置,然后利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)中的FAST-RCNN對拍攝照片進行物體識別,獲取照片中的物體,再利用雙目立體視覺技術(shù)中的SGBM算法,獲取照片中的物體相對與攝像機的坐標(biāo)。利用拍攝者的GPS與物體相對拍攝者的坐標(biāo),就可以獲取物體的坐標(biāo),從而獲取物品的位置,實現(xiàn)管理物體的功能。
關(guān)鍵詞:深度學(xué)習(xí) FAST-RCNN;雙目立體視覺技術(shù);SGBM
中圖分類號:P315.69????????? 文獻標(biāo)識碼:B
1 引言
在工業(yè)市場,常用RFID技術(shù)解決物體識別的難題[1]。
RFID是利用非接觸的雙向通信來達到識別效果并交換數(shù)據(jù)的通信技術(shù)[2]。RFID由標(biāo)簽、讀取器、天線組成。標(biāo)簽標(biāo)識物體,讀取器讀取標(biāo)簽信息,天線負(fù)責(zé)標(biāo)簽與讀取器之間的數(shù)據(jù)轉(zhuǎn)移[3]。然而,在物體管理方面卻需要進行給物體嵌入RFID芯片,標(biāo)識物體的位置信息,利用讀寫器對RFID內(nèi)的信息進行查詢與修改。嵌入芯片與修改芯片內(nèi)的信息是一個十分繁雜的過程[4],中間產(chǎn)生了大量的人力成本。
信息爆炸時代如何對信息進行處理已經(jīng)成為了時代難題。數(shù)據(jù)處理的需求與計算機硬件設(shè)備的改善,促進了人工智能的發(fā)展。隨著人工智能的發(fā)展,大量的勞動力將會被人工智能取代。現(xiàn)在,計算機圖形學(xué)與深度學(xué)習(xí)正在快速發(fā)展,然而這些技術(shù)在現(xiàn)實中的應(yīng)用卻十分有限,構(gòu)建使用這些技術(shù)的系統(tǒng)能有效地解決一些難以解決的問題?;赗FID技術(shù)的物體管理系統(tǒng),會產(chǎn)生巨大的人力開銷。利用當(dāng)下流行的深度學(xué)習(xí)技術(shù)與雙目立體視覺技術(shù)能有效地模擬人類的視覺,同時結(jié)合GPS定位技術(shù),會給物體識別帶來全新的解決方案。
深度學(xué)習(xí)是機器學(xué)習(xí)研究的新領(lǐng)域。它的動機是建立模擬人腦學(xué)習(xí)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),比如圖像、聲音和文本[5]。本文將使用深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)算法(CNN)來解決物體管理中的物體識別問題。
雙目立體視覺是計算機圖形學(xué)的一個重要分支。它使用視差的原理利用兩個相同的成像裝置在不同位置拍攝相同的畫面,并且通過計算點的位置偏差,來得到物體的三維坐標(biāo)數(shù)據(jù)[6]。本文將采用雙目立體視覺技術(shù)解決物體管理中的坐標(biāo)問題。
利用物體識別來獲取照片中的物體信息,再用雙目立體視覺技術(shù)獲取照片中物體相對與拍攝位置的坐標(biāo)信息。根據(jù)拍攝位置的GPS信息與相對拍攝位置的坐標(biāo)信息,即可獲取照片中的物體的坐標(biāo)。
本文將深度學(xué)習(xí)與雙目立體視覺結(jié)合在一起,建立一個管理物品的模型,用于管理物體的坐標(biāo)信息。
2 基于卷積神經(jīng)網(wǎng)絡(luò)的物體識別
2.1 卷積神經(jīng)網(wǎng)絡(luò)
在物體管理系統(tǒng)中,圖像識別是個極其重要的部分,利用圖像識別,能識別出攝像頭、拍攝的物體的種類。同時,結(jié)合尺度不變特征變換算法,可以區(qū)分出拍攝圖片中的不同的物體。利用這些技術(shù),能實現(xiàn)對每個物體個體的標(biāo)記。
卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)中一個極具代表性的網(wǎng)絡(luò)結(jié)構(gòu),它的應(yīng)用十分廣泛,尤其是在計算機視覺領(lǐng)域取得了很大的成功。CNN在圖像識別中相較于其他算法的優(yōu)點在于,避免了對前期圖像復(fù)雜的預(yù)處理過程,CNN可以直接利用原始像素,用很少的預(yù)處理識別出物體的特性。
Krizhevsky等人在2012年提出了經(jīng)典的CNN結(jié)構(gòu)—AlexNet,該網(wǎng)絡(luò)在圖像識別任務(wù)上有著良好的表現(xiàn)[7]。AlexNet取得成功后,研究人員進一步提出了其他的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)ZFNet、VGGNet、GoogleNet和ResNet[8]。至此,卷積神經(jīng)網(wǎng)絡(luò)能很好地處理了物體識別的問題。
由于物體管理對物體識別的精確度要求較高,本文選用了卷積神經(jīng)網(wǎng)絡(luò)中物體識別效果較好的FAST-RCNN來進行圖像識別。
2.2 FAST-RCNN的設(shè)計與實現(xiàn)
(1) FAST-RCNN結(jié)構(gòu)
FAST-RCNN網(wǎng)絡(luò)由卷積層、降采樣層、ROIPooling層、全連接層與損失層組成[9],如圖1所示。
(2) 訓(xùn)練樣本
訓(xùn)練過程中每個mini-batch包含2張圖和128個region proposal(即ROI),其中大約25%的ROI和ground truth的IOU大于0.5,只通過隨機水平翻轉(zhuǎn)進行數(shù)據(jù)增強。
在數(shù)據(jù)集上,選擇了圖片盡可能大的數(shù)據(jù)集,以確保物體識別的種類更廣泛,同時選擇了ImageNet作為數(shù)據(jù)集。
ImageNet是一個有超過1400萬個圖像覆蓋了超過20,000種類的數(shù)據(jù)集,被廣泛地應(yīng)用于深度學(xué)習(xí)圖像領(lǐng)域的研究[10]。
(3) 損失函數(shù)
本文采用多融合損失(融合回歸損失和分類損失),分類的Loss采用Log Loss(即對真實分類的概率取負(fù)Log,輸出K+1維),回歸的Loss使用與RCNN一致的SmoothL1Loss。
總的損失函數(shù)如下:
分類損失函數(shù)如下:
回歸損失函數(shù)如下:
其中有:
(4) ROIPooling
由于region proposal的尺度不同,同時需要使提取出來的特征向量維度相同,于是需要一種特殊的方法來解決。ROIPooling就是用來解決這個問題的。思路如下:
將region proposal劃分為H X W大小的網(wǎng)絡(luò);
對每個網(wǎng)絡(luò)做MAXPooling可能;
將所有的輸出結(jié)合起來形成大小為HXW的特征映射。
(5) 全連接層
卷積層計算一整張的圖片,而全連接層需要對每個region proposal作用一次,所以全連接層的計算量會非常大,使用奇異值分解(SVD)進行數(shù)據(jù)降維,來簡化全連接層計算。
3 基于雙目立體視覺的坐標(biāo)定位
3.1 雙目立體視覺
雙目立體視覺是基于人眼視差原理的計算機圖形學(xué)的一個分支。它把在雙攝像頭上獲取的圖像經(jīng)過各種處理,以獲得照片中的點相對于雙目攝像機的三維幾何信息[11]。
對于空間物體表面的一點,如果從雙目攝像頭同時觀察P,并能確定在左攝像頭圖像中的點pl與右攝像機圖像上的點pr是空間同一點p的圖像點,在得知左右攝像頭的三維坐標(biāo)后,P的三維坐標(biāo)可以被計算出來。雙目立體視覺系統(tǒng)包括相機標(biāo)定、立體校正、立體匹配和三維重建四個過程。
相機標(biāo)定利用空間中的點的三維位置和它在圖像中的對應(yīng)點的相互關(guān)系,建立了相機成像的幾何模型,從而獲取該雙目攝相機的幾何模型參數(shù)。
立體矯正能將左右圖像去除畸變,將兩幅圖像極線對齊,以方便后續(xù)操作。
立體匹配可以找到在不同視點圖像中匹配到的對應(yīng)點,由此獲得視差圖。
在獲取了視差圖后,就可以用三維重建技術(shù)可以確定物體在圖像中的位置信息,同時能確定物體的種類,從而得到相片中的物體相對于相機的三維坐標(biāo)。
本文使用Semi-Global Block Matching算法進行立體匹配過程。
3.2 Semi-Global Block Matching 算法的實現(xiàn)
(1) Semi-Global Block Matching介紹
Semi-Global Block Matching是一種被廣泛應(yīng)用于計算視差的算法。
SGMB通過選取每個點的視差,組成一個視差圖,同時根據(jù)視差圖,設(shè)置一個和該圖相關(guān)的能量函數(shù),使能量函數(shù)最小化到收斂,從而求解出每個像素最優(yōu)的視差[12]。
(2) 能量函數(shù)的設(shè)置
E[D]表示視差圖D的能量函數(shù);p,q代表圖像中的像素;Nq表示q的相鄰像素。
C(p,Dp)指當(dāng)p像素點視差值為Dp時,該像素點的Cost。P1、P2是懲罰系數(shù),相差為1的像素用P1,視差值相差大于1的像素用P2。
I[.]函數(shù)中的參數(shù),如果是真則I[.]值為1;如果為假,則I[.]值為0。
(3) 算法優(yōu)化
使用上述函數(shù)來查找二維圖像的最優(yōu)解是NP-hard問題時,耗時巨大,所以將問題分解成多個一維問題,以減少復(fù)雜度。與此同時,使用動態(tài)規(guī)劃來解決每個一維問題。一個像素具有8個相鄰的元件,因此它可以被分解成8個一維問題。
(4) 算法實現(xiàn)
每個像素p的視差只與像素p左邊的像素相關(guān),因此得出了下面的公式:
其中,r為p左邊的相鄰像素,r的方向為p的方向;Lr(p,d)表示沿著r的方向,像素p的視差為d時,最小的Cost值。
這個Cost為下列四種Cost值中的最小值:
1) 左邊像素的視差為d時,Cost的最小值;
2) 左邊像素的視差為d-1時,Cost的最小值與懲罰系數(shù)P1之和;
3) 左邊像素的視差為d+1時,Cost的最小值與懲罰系數(shù)P1之和;
4) 左邊像素的視差為其他時,Cost的最小值與懲罰系數(shù)P2之和。
另外,由于Lr(p, d)是隨像素的右移不停地增長,故像素p的Cost值需要減去前一個像素不同視差值時最小的Cost。這能防止Lr(p, d)數(shù)值溢出,讓它維持在一個較小的數(shù)值。
C(p, d)的計算很簡單,由兩個公式計算:
定義p移動d個像素之后的像素為q。p和q之間,經(jīng)過半個像素插值后,C(p, d)的值為兩個像素點灰度差值的最小值或兩個像素RGB差值的最小值。
上面的計算僅僅表示從左到右的最小Cost值,然而這樣的Cost值不夠全面。因為一個像素有8個鄰域,要從8個方向分別計算Cost值。
然后把8個方向上的Cost值累加,累加值最小的視差值則作為最終視差值。視差圖即為每個像素都進行該操作后的結(jié)果,具體公式表達如下:
4 實驗結(jié)果分析與討論
4.1 Fast-RCNN的物體識別結(jié)果和分析
(1)訓(xùn)練結(jié)果
將ImageNet數(shù)據(jù)集訓(xùn)練完成后,將被測樣品輸入到訓(xùn)練好的FAST-RCNN神經(jīng)網(wǎng)絡(luò)模型中,得到預(yù)測結(jié)果,具體的結(jié)果如表1所示。
由表1可知,F(xiàn)ast-RCNN模型在識別物體的效果上,表現(xiàn)得良好。在生活中常見的物品中,識別率能達到80%左右的效果。
(2)迭代次數(shù)對實驗誤差的影響
選用之前介紹的方法計算Loss,在訓(xùn)練的過程中調(diào)整迭代次數(shù),防止迭代次數(shù)過多導(dǎo)致過擬合與迭代次數(shù)過少而產(chǎn)生的欠擬合,其中的Loss變化如圖2所示。
可以看出隨著迭代次數(shù)的增加,F(xiàn)AST-RCNN的Loss一直在減小,直到趨于穩(wěn)定。隨著Loss的減少,模型的準(zhǔn)確度也在不斷的提高,當(dāng)?shù)螖?shù)到30000之后,Loss幾乎沒有明顯變化,說明此時的神經(jīng)網(wǎng)絡(luò)權(quán)值與閾值已經(jīng)穩(wěn)定。接下來的實驗可以將迭代次數(shù)設(shè)置為30000次,以進行后續(xù)的實驗。
(3)mAP性能評估指標(biāo)
物體識別模型要想應(yīng)用在實際環(huán)境中,必須要擁有良好的性能?,F(xiàn)在常用均值平均精度(mAP),來衡量模型的性能,mAP值越高,模型的性能越好[13]。
Mean Average Precision,即平均AP值,是對多個驗證集個體求平均AP值。AP值為Average Precision,即對Precision取平均。
[5]?胡越,羅東陽,花奎,等.關(guān)于深度學(xué)習(xí)的綜述與討論[J].智能系統(tǒng)學(xué)報,2019,14(1):1-19.
[6]?黃鵬程,江劍宇,楊波.雙目立體視覺的研究現(xiàn)狀及進展[J].光學(xué)儀器,2018,40(4):81-86.
[7]?Gu S, Lu D, Yue Y, et al. A new deep learning method based on AlexNet model and SSD model for tennis ball recognition[C].IEEE International Workshop on Computational Intelligence & Applications. 2017.
[8]?楊真真,匡楠,范露,等.基于卷積神經(jīng)網(wǎng)絡(luò)的圖像分類算法綜述[J].信號處理,2018,34(12):1474-1489.
[9]?Girshick R. Fast R-CNN[C].IEEE International Conference on Computer Vision. 2015.
[10]?Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C].International Conference on Neural Information Processing Systems. 2012.
[11]?陳小華,袁衛(wèi).基于雙目立體視覺的目標(biāo)定位[J].自動化技術(shù)與應(yīng)用,2017,36(12):102-105.
[12]?Humenberger M, Engelke T, Kubinger W. A census-based stereo vision algorithm using modified Semi-Global Matching and plane fitting to improve matching quality[C].IEEE Computer Society Conference on Computer Vision & Pattern Recognition-workshops. 2010.
[13]?Yue Y, Finley T, Radlinski F, etal. A support vector method for optimizing average precision[C].International Acm Sigir Conference on Research & Development in Information Retrieval. 2007.
[14]?朱小美,張官進,朱楠.基于MATLAB的布爾莎模型七參數(shù)解算實現(xiàn)[J].北京測繪,2015,(5):61-65.
[15]?Yan T W, Garcia-Molina H. SIFT: a tool for wide-area information dissemination[C].Usenix Technical Conference. 1995.