亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于TensorFlow 的商品陳列貨架目標(biāo)檢測算法研究與實(shí)現(xiàn)

        2019-04-03 01:38:58廖珈藝張新陽代娛樂
        現(xiàn)代計算機(jī) 2019年35期
        關(guān)鍵詞:分類特征區(qū)域

        廖珈藝,張新陽,代娛樂

        (成都理工大學(xué),成都610059)

        0 引言

        目標(biāo)檢測是一種基于圖像特征的計算機(jī)視覺算法。它結(jié)合了目標(biāo)識別和定位。它在智能交通系統(tǒng)、智能監(jiān)控系統(tǒng)、軍事目標(biāo)檢測、醫(yī)療導(dǎo)航等領(lǐng)域有著廣泛的應(yīng)用價值[1]。深度學(xué)習(xí)等人工智能方法已經(jīng)廣泛地應(yīng)用于生活的方方面面[14]。

        傳統(tǒng)的目標(biāo)檢測中,多尺度形變部件模型是出類拔萃的,多尺度形變部件模型在行人檢測、人臉檢測等檢測中得到了很不錯的效果,可是其結(jié)構(gòu)比較復(fù)雜,檢測的速度相對較慢,因此也出現(xiàn)了很多改進(jìn)的方法。

        TensorFlow 是一款人工智能學(xué)習(xí)系統(tǒng)。Tensor 意為張量,即N 維數(shù)組,F(xiàn)low 意為流,代表著基于數(shù)據(jù)流圖的計算[6]。TensorFlow 是用C++實(shí)現(xiàn),用Python 封裝,在未來將提供更多的編程語言接口。

        1 基于候選區(qū)域提取的目標(biāo)檢測模型——Faster R-CNN

        Faster R-CNN 在一個網(wǎng)絡(luò)中將圖片特征抽取、提取候選區(qū)域、邊框回歸和分類整合在一起,目標(biāo)檢測的總體性能有了很大的提高,在速度上尤為明顯[11]。圖1為Faster R-CNN 整體的網(wǎng)絡(luò)結(jié)構(gòu),下面將從Faster R-CNN 的四個部分介紹該模型。

        圖1 Faster R-CNN模型整體結(jié)構(gòu)

        1.1 卷積神經(jīng)網(wǎng)絡(luò)部分

        Faster R-CNN 中使用的卷積神經(jīng)網(wǎng)絡(luò)VGG16,其中是由13 個卷積層,13 個ReLU 層,4 個池化層組成。所有的卷積層卷積核大小都為3×3,填充大小都為1,即在卷積運(yùn)算之前填充一圈0,所有的池化層窗口大小都為2×2,步長都為2。類似的,網(wǎng)絡(luò)中的池化層的窗口大小和步長都為2,這樣每個經(jīng)過池化層的輸入矩陣其輸出大小的寬和高都為原來的一半。因此,一個M×N 大小的矩陣經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)部分大小固定變?yōu)椋∕/16)×(N/16),這樣生成的特征圖容易與原圖對照起來,為后邊的步驟提供了便利。

        1.2 區(qū)域生成網(wǎng)絡(luò)部分

        區(qū)域生成網(wǎng)絡(luò)部分有兩條線,先介紹第一條線。

        首先產(chǎn)生預(yù)選窗口。選取預(yù)選窗口的方法本質(zhì)上是用不同尺度大小的窗口遍歷最后一層卷積層的特征圖。以1000×600 的輸入圖片大小為例,先人為給出一個基準(zhǔn)窗大小,再給出三種倍數(shù)8、16、32 和0.5、1、2 三種長寬比,這樣能夠得到9 種尺度的預(yù)選窗口。經(jīng)過所有卷積層后,寬和高變?yōu)樵瓉淼?/16,最后得出的特征圖大小約為60×40,在特征圖上進(jìn)行滑窗,在每一個點(diǎn)上都構(gòu)造這9 種預(yù)選窗口并映射回原圖。在特征圖上每一個像素構(gòu)造的預(yù)選窗口如圖2,映射回原圖的預(yù)選窗口如圖3。

        圖2 特征圖每個像素構(gòu)造的預(yù)選窗口

        圖3 映射回原圖的預(yù)選窗口

        預(yù)選窗口產(chǎn)生之后,送入Softmax 判斷是前景還是背景。如圖4,在進(jìn)入Softmax 之前,先進(jìn)行了一個輸出為特征圖個數(shù)為18 的1×1 卷積,對應(yīng)了特征圖的每一個像素都有9 個預(yù)選窗口,每一個預(yù)選窗口都有前景和背景兩種可能。進(jìn)入Softmax 的兩個reshape 操作都是為了程序?qū)崿F(xiàn)時數(shù)據(jù)結(jié)構(gòu)存儲的需要而設(shè)置的。

        綜上,區(qū)域生成網(wǎng)絡(luò)用判斷為前景的預(yù)選窗口作為候選區(qū)域。下面進(jìn)行邊框回歸。如圖5,綠色框?yàn)榭煽诳蓸返恼_標(biāo)注框,藍(lán)色框?yàn)樘崛〕龅暮蜻x區(qū)域。

        即便藍(lán)色框最后的分類為可口可樂,也會因?yàn)槎ㄎ徊粶?zhǔn)確而被判定為沒有正確檢測。所以需要對候選區(qū)域進(jìn)行邊框回歸來讓它接近標(biāo)注框,這就是區(qū)域生產(chǎn)網(wǎng)絡(luò)的第二條線完成的任務(wù)。

        圖4 Softmax判斷是前景/背景

        對于窗口一般用4 維向量(x,y,w,h)來表示,(x,y)表示窗口的中心坐標(biāo),(w,h)表示窗口的寬和高。用A表示候選區(qū)域,G 表示標(biāo)注的真實(shí)區(qū)域,需要找到一種關(guān)系,使得原始的候選區(qū)域A 經(jīng)過映射后得到一個接近標(biāo)注區(qū)域G 的回歸區(qū)域G' 。即給定候選區(qū)域A=(Ax,Ay,Aw,Ah),標(biāo)注區(qū)域G=(Gx,Gy,Gw,Gh),尋找一種映射關(guān)系F,使:

        其中(Gx',Gy',Gw',Gh')≈(Gx,Gy,Gw,Gh)。

        圖5 邊框回歸示意圖

        對于尋找映射關(guān)系F 有式(2)到式(5)的思路,即先平移,再縮放。需要學(xué)習(xí)的參數(shù)是dx( A) 、dy( A )、dw(A)、dh(A)這四個變換。

        設(shè)置平移量因子(tx,ty)和尺度因子(tw,th),具體計算方法根據(jù)式(6)與式(7)。

        其中,帶有下標(biāo)a 表示候選區(qū)域,帶有上標(biāo)*表示真實(shí)標(biāo)注值。

        線性回歸就是給定特征向量X,學(xué)習(xí)一組權(quán)重向量W,使得得到的輸出值與真實(shí)值Y 非常接近,即Y=WX。針對這個問題,輸入是經(jīng)過卷積的特征圖,定義為φ,同時還有訓(xùn)練傳入的真實(shí)標(biāo)注,輸出是dx( A) 、dy( A) 、dw(A)、dh(A)這四種變換。因此目標(biāo)函數(shù)可以表示為式(8)。

        為了讓預(yù)測值盡量接近真實(shí)值,設(shè)計式(9)的損失函數(shù):

        函數(shù)優(yōu)化的目標(biāo):

        考慮到以上的回歸模型的設(shè)計,區(qū)域生成網(wǎng)絡(luò)部分的第二條線只有一個輸出特征圖個數(shù)為36 的1×1卷積層,如圖6。36 對應(yīng)了特征圖上每個像素的9 個預(yù)選窗口,每個窗口都有dx( A) 、dy( A) 、dw(A)、dh(A)這四個變換量。

        圖6 區(qū)域生成網(wǎng)絡(luò)部分的兩條線

        至此,區(qū)域生成網(wǎng)絡(luò)部分結(jié)束。總結(jié)一下,區(qū)域生成網(wǎng)絡(luò)負(fù)責(zé)綜合所有dx( A )、dy( A) 、dw(A)、dh(A)變換量和前景預(yù)選窗口,計算出較為精確的候選區(qū)域,送入模型的后續(xù)部分。

        1.3 ROI Pooling層

        對于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò),如VGG 和AlexNet,網(wǎng)絡(luò)的輸入和輸出尺寸必須是固定的。如果需要輸入網(wǎng)絡(luò)的圖片和規(guī)定大小不一致,有兩種傳統(tǒng)的解決方法:裁剪和縮放,如圖7。但是縮放會改變原始圖像的形狀,裁剪會損失一定的信息。

        圖7 縮放成指定大小

        區(qū)域生成網(wǎng)絡(luò)計算出的候選區(qū)域正是一系列大小和形狀都不相同的矩形區(qū)域,F(xiàn)aster R-CNN 采用了ROI Pooling 的方法將它們統(tǒng)一成同樣的大小。將每一個候選區(qū)域都映射回卷積神經(jīng)網(wǎng)絡(luò)的最后一層特征圖,將它們對應(yīng)的特征圖水平和數(shù)值都分成7 份,并且對分割后的都做最大值池化,因此大小不同候選區(qū)域最后的輸出都是7×7。

        簡而言之,ROI Pooling 層的作用就是將大小不同的候選區(qū)域統(tǒng)一成相同大小,以便輸入到模型的后續(xù)部分。

        1.4 獲得精準(zhǔn)檢測框及分類

        模型的最后一部分利用已經(jīng)獲得的7×7 大小的候選區(qū)域特征圖,通過一個全連接層和Softmax 計算候選區(qū)域的分類,同時再次利用區(qū)域產(chǎn)生網(wǎng)絡(luò)部分的邊框回歸計算出更加精準(zhǔn)的檢測框,模型這一部分的結(jié)構(gòu)如圖8。至此,模型便得出了目標(biāo)的位置即分類。

        圖8 模型末端結(jié)構(gòu)

        2 基于無需候選區(qū)域提取的目標(biāo)檢測模型——SSD

        基于候選區(qū)域提取的目標(biāo)檢測的Faster R-CNN雖然具有比較高的準(zhǔn)確率,但是由于計算量過大,很難達(dá)到實(shí)時計算所要求的速度。為了解決這一問題,出現(xiàn)了一系列無需候選區(qū)域提取的目標(biāo)檢測模型,其中SSD[12]能夠在精度接近Faster R-CNN 模型的前提下大大提升目標(biāo)檢測速度。

        2.1 先驗(yàn)框

        與Faster R-CNN 類似,SSD 也基于卷積神經(jīng)網(wǎng)絡(luò),首先也要產(chǎn)生類似預(yù)選窗口的先驗(yàn)框,不同的是SSD在不止一層的特征圖上產(chǎn)生先驗(yàn)框,如圖9。卷積神經(jīng)網(wǎng)絡(luò)中,在不同層的若干特征圖中的每個像素設(shè)置不同寬高比和大小的先驗(yàn)框。

        圖9 SSD模型的先驗(yàn)框

        先驗(yàn)框按照如下規(guī)則產(chǎn)生:

        (1)確定在哪幾層特征圖上產(chǎn)生先驗(yàn)框,以及先驗(yàn)框的大小和寬高比。一般來說,在越深的層先驗(yàn)框的尺寸應(yīng)設(shè)置的更大,于是按照式(11)決定每層特征圖先驗(yàn)框的最大和最小尺寸。

        其中,m 為要產(chǎn)生先驗(yàn)框的特征圖的總層數(shù)加1,smin與smax為設(shè)定好的先驗(yàn)框的基準(zhǔn)最大值和最小值,第n 層特征圖對應(yīng)的最小尺寸為sn,最大尺寸為sn+1。寬高比的設(shè)置例如(1,1/2,1/3,2,3),記為ri。

        (2)如圖10,以特征圖上每個像素為中心,生成一系列同心的先驗(yàn)框。對于第n 層特征圖,正方形先驗(yàn)框的最小邊長為sn,最大邊長為。每設(shè)置一個寬高比,若寬高比不等于1,會生成兩個調(diào)換寬高的長方形,寬高為:和。

        圖10 先驗(yàn)框大小示意圖

        由于后續(xù)的結(jié)構(gòu)不產(chǎn)生候選區(qū)域,針對每個先驗(yàn)框不僅要得出位置偏移量,還要計算出屬于各個類別的概率向量,相當(dāng)于將Faster R-CNN 的邊框回歸與分類預(yù)測合并在一起。相應(yīng)的,損失函數(shù)是邊框回歸損失與分類置信度損失的加權(quán)和。

        2.2 多尺度特征圖檢測

        圖11 SSD結(jié)構(gòu)圖

        SSD 模型用卷積神經(jīng)網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò),如VGG16,將特征提取層添加到基礎(chǔ)網(wǎng)絡(luò)之后。如圖11,黃色框?yàn)樘砑拥奶卣魈崛印L卣魈崛拥某叽缰饾u減小,得到多尺度檢測的預(yù)測值。先驗(yàn)框不僅在后添加特征提取層上生成,也要在基礎(chǔ)網(wǎng)絡(luò)的最后兩層生成。通過組合不同先驗(yàn)框的預(yù)測結(jié)果覆蓋各種位置和尺寸的對象。例如圖9 中,由于4×4 的特征圖與8×8的特征圖具有不同的先驗(yàn)框尺寸,對象可能被匹配到前者的先驗(yàn)框,而匹配不到后者的先驗(yàn)框中。

        2.3 獲得目標(biāo)位置和分類

        設(shè)先驗(yàn)框共有k 個,目標(biāo)分類共c 類。對于所有的先驗(yàn)框,需要得出其相對于正確標(biāo)注的(x,y,w,h)這4個偏移量以及屬于每個分類的概率。因此,對于m×n大小的 特征圖,共產(chǎn)生(c+4)?k?m?n 個輸出。這些輸出結(jié)果即包含了計算出的所有目標(biāo)的位置和概率,但是部分輸出結(jié)果由于分類結(jié)果的置信度不高而不準(zhǔn)確。所以需要綜合分析這些輸出結(jié)果,通過設(shè)置閾值、非極大值抑制等方法得出最終的檢測結(jié)果。至此SSD 目標(biāo)檢測模型結(jié)束。

        3 實(shí)驗(yàn)與分析

        3.1 數(shù)據(jù)采集和處理

        本文的實(shí)驗(yàn)數(shù)據(jù)選取了商品陳列貨架的圖片數(shù)據(jù),所有的數(shù)據(jù)均來源于百度圖片的數(shù)據(jù)爬取,由于數(shù)據(jù)來源不足,采用了共計6 個分類857 張圖片,從中隨機(jī)選取20%作為測試集合,其余作為訓(xùn)練集。

        3.2 算法流程

        如圖12 與圖13 分別是Faster R-CNN 與SSD 兩種目標(biāo)檢測算法的流程圖,兩種算法的結(jié)構(gòu)大體上一致,都先通過基礎(chǔ)卷積神經(jīng)網(wǎng)絡(luò)獲得圖片的特征圖,F(xiàn)aster R-CNN 通過候選區(qū)域提取和兩次邊框回歸得到精準(zhǔn)的檢測框,而SSD 在不同尺度的特征圖上產(chǎn)生先驗(yàn)框,只進(jìn)行一次邊框回歸獲得最后的檢測框。最后,需要通過非極大值抑制的方法過濾掉效果較差的檢測框。

        圖12 Faster R-CNN目標(biāo)檢測算法流程圖

        圖13 SSD目標(biāo)檢測算法流程圖

        3.3 實(shí)驗(yàn)結(jié)果

        (1)Faster R-CNN 實(shí)驗(yàn)結(jié)果

        表1 Faster R-CNN 模型訓(xùn)練參數(shù)

        圖14 Faster R-CNN訓(xùn)練曲線

        表1 為訓(xùn)練Faster R-CNN 模型時設(shè)置的參數(shù),圖14 為訓(xùn)練曲線,橫坐標(biāo)代表迭代次數(shù),縱坐標(biāo)代表損失函數(shù)值。通過觀察,損失函數(shù)值在迭代次數(shù)為12000次后趨于平穩(wěn),即訓(xùn)練過程收斂。保存模型,使用測試集進(jìn)行測試,結(jié)果如表2 所示,每張圖片的檢測速度平均為118 毫秒,圖15 為部分圖片檢測效果圖。

        表2 Faster R-CNN 模型測試結(jié)果

        圖15 Faster R-CNN檢測效果圖

        (2)SSD 實(shí)驗(yàn)結(jié)果

        表3 為訓(xùn)練SSD 模型時設(shè)置的參數(shù),圖16 為訓(xùn)練曲線,橫坐標(biāo)代表迭代次數(shù),縱坐標(biāo)代表損失函數(shù)值。通過觀察,損失函數(shù)值在迭代次數(shù)為8000 次后趨于平穩(wěn),即訓(xùn)練過程收斂。保存模型,使用測試集進(jìn)行測試,結(jié)果如表4 所示,每張圖片的檢測速度平均為62毫秒,圖17 為部分圖片檢測效果圖。

        表3 SSD 模型訓(xùn)練參數(shù)

        圖16 SSD訓(xùn)練曲線

        表4 SSD 模型測試結(jié)果

        圖17 SSD檢測效果圖

        (3)算法效果對比

        在性能方面,SSD 的檢測單張圖片的耗時約為Faster R-CNN 的一半;在精度方面,通過對比表3 與表4,在各個分類上,F(xiàn)aster R-CNN 的檢測準(zhǔn)確率均略高于SSD。對比分類之間的準(zhǔn)確率,商品“王老吉”和“雪碧”的準(zhǔn)確率與其他分類相差較大,通過查看測試集數(shù)據(jù)的檢測框推測原因。如圖18,綠色框是檢測框,商品“王老吉”與“加多寶”外觀相似度較大,且訓(xùn)練數(shù)據(jù)集中沒有商品“加多寶”的數(shù)據(jù),所以當(dāng)圖片中同時出現(xiàn)上述兩種商品時會很難區(qū)分。如圖19,左側(cè)為商品“雪碧”的300ml 型號,右側(cè)為商品“雪碧”的500ml 型號,黑色框代表正確的標(biāo)注框,淺藍(lán)色框代表檢測框。由于數(shù)據(jù)不足,訓(xùn)練集中為將“雪碧”的各型號混合,此類數(shù)據(jù)之間本身存在一定差異,因此準(zhǔn)確率較低。

        圖18 相似商品

        圖19 不同型號商品

        4 結(jié)語

        本文介紹并實(shí)現(xiàn)了兩種目標(biāo)檢測算法,最后通過對測試結(jié)果對比出兩種算法的優(yōu)缺點(diǎn)和共同的不足之處。實(shí)驗(yàn)證明,F(xiàn)aster R-CNN 和SSD 兩種目標(biāo)檢測算法,前者的速度慢于后者但準(zhǔn)確率高于后者,對于常規(guī)的商品圖片,目標(biāo)檢測算法的準(zhǔn)確率能達(dá)到90%以上,但是對于肉眼能夠識別的遮擋商品以及外觀非常相似的商品,目標(biāo)檢測算法的表現(xiàn)較差。因此如果要達(dá)到生產(chǎn)需要的標(biāo)準(zhǔn)還需要作更多的改進(jìn),例如對遮擋商品進(jìn)行檢測和推理、對相似商品二次分類等。

        猜你喜歡
        分類特征區(qū)域
        分類算一算
        如何表達(dá)“特征”
        不忠誠的四個特征
        分類討論求坐標(biāo)
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        抓住特征巧觀察
        關(guān)于四色猜想
        分區(qū)域
        基于嚴(yán)重區(qū)域的多PCC點(diǎn)暫降頻次估計
        電測與儀表(2015年5期)2015-04-09 11:30:52
        精品国产粉嫩内射白浆内射双马尾| 国产不卡视频一区二区在线观看| 成人偷拍自拍在线视频| 国产av专区一区二区三区| 亚洲高清视频在线播放| 日日噜噜夜夜狠狠久久av| 国内人妖一区二区在线播放| 亚洲天堂av在线网站| 免费人成在线观看视频高潮| 九九久久精品无码专区| 国产免费一级高清淫日本片| 无码丰满熟妇浪潮一区二区av| 日韩精品一区二区三区影音视频| 亚洲精品国产精品乱码视色| 亚洲综合色无码| 中文字幕乱码一区av久久不卡| 五十路熟女一区二区三区| 产国语一级特黄aa大片| 无码av专区丝袜专区| 91盗摄偷拍一区二区三区| 无码av专区丝袜专区| 少妇无码av无码专区线| 国产精品99久久精品爆乳| 91在线无码精品秘 入口九色十| 亚洲av高清一区二区三区| 日本无遮挡真人祼交视频| 亚洲av日韩专区在线观看| 国产精品多人P群无码| 免费一级黄色大片久久久| 少妇裸淫交视频免费看| 亚洲av日韩一区二区| 国产精品久久久久久亚洲av| 亚洲线精品一区二区三区八戒| 国产熟女露脸大叫高潮| 免费视频无打码一区二区三区| 成人无码α片在线观看不卡| 窝窝影院午夜看片| 特黄三级一区二区三区| 日本啪啪视频一区二区| 久久久久成人精品无码中文字幕| 中文字幕av无码一区二区三区|