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

        ?

        基于全卷積神經(jīng)網(wǎng)絡的屏幕區(qū)域定位算法

        2019-06-17 09:28:54付澤偉
        計算機應用與軟件 2019年6期
        關(guān)鍵詞:區(qū)域檢測

        付澤偉 金 城

        (復旦大學計算機科學技術(shù)學院 上海 201203)

        0 引 言

        隨著科技的進步手機等便攜設備的計算能力不斷增強,擁有攝像頭的移動設備也越來越普及,應用這些設備可以很方便地進行拍照和攝像。人們經(jīng)常需要利用手機等便攜設備記錄屏幕中播放的視頻信息,但是在拍攝到屏幕的同時不可避免地會拍攝到屏幕外的背景,這些背景對后續(xù)的視頻處理會帶來很大的干擾。

        定位屏幕區(qū)域的目標是在圖片或視頻中,找出屏幕邊緣的四條直線,如圖1所示。

        圖1 輸入圖片(左)屏幕區(qū)域(右)

        實際上想要準確地找到屏幕邊緣的四條直線很困難,傳統(tǒng)方法先用canny邊緣檢測算法得到視頻中物體的邊緣,然后用HoughLine直線檢測算法從邊緣中檢測直線,但是傳統(tǒng)方法只能在背景簡單的情況下使用。真實的場景下,屏幕外的背景復雜,屏幕區(qū)域的邊緣本來應該是由四條直線組成,但是傳統(tǒng)方法找到的邊緣直線經(jīng)常是多條長短不一的直線并且直線間也存在寬窄不等的間隙。此外,傳統(tǒng)方法也面臨著屏幕區(qū)域外的背景和屏幕區(qū)域內(nèi)的圖像中的直線干擾等問題。因此,本文對傳統(tǒng)方法的兩個關(guān)鍵步驟進行了改進。

        (1) 改進了屏幕區(qū)域邊緣檢測方法。傳統(tǒng)的canny邊緣檢測算法需要設置很多的閾值參數(shù),這些參數(shù)要根據(jù)實驗效果人為設定,一旦參數(shù)過多,就很難根據(jù)經(jīng)驗設定,另外這些參數(shù)只對特定的情形有很好的效果。而深度學習具有表征能力強,不需要人為設定參數(shù),自動獲得特征等優(yōu)點。因此,采用了基于全卷積神經(jīng)網(wǎng)絡的屏幕區(qū)域邊緣檢測方法,獲得了很好的檢測效果。

        (2) 提出一種新的屏幕區(qū)域邊緣定位算法。傳統(tǒng)的輪廓檢測算法只能定位閉合輪廓的邊緣,適應性有限。此外由于有大量的干擾,傳統(tǒng)方法定位屏幕區(qū)域的邊緣很困難。因此,本文提出一種利用全卷積神經(jīng)網(wǎng)絡產(chǎn)生的屏幕區(qū)域邊緣圖像和屏幕區(qū)域位置圖像來定位屏幕輪廓的算法,這種算法具有效率高,抗干擾能力強,算法簡單等特點。

        1 相關(guān)工作

        本方法實現(xiàn)的一個關(guān)鍵步驟就是檢測到屏幕的邊緣,邊緣檢測算法的研究歷史很悠久,也是計算機視覺的基本研究課題之一。早期的方法是基于sobel算子的邊緣檢測方法[1],以及被廣泛采用的canny檢測算法[2]。基于信息論的算法有g(shù)Pb分割算法[4]、pb算法[5]。有的算法依賴人類設計的特征,比如,BEL算法[6]、Multi-scale[7]和StrucutredEdge[8]。文獻[20]依靠視頻前后幀的關(guān)系定位屏幕范圍,取得了很好的效果。還有很多很多基于卷積神經(jīng)網(wǎng)絡CNN(Convolutional Neural Network)的邊緣檢測算法,比如,N4-Fields[9], DeepEdge[10],F(xiàn)astmask[11],SGN[12]。文獻[16-19]進行圖像的語音分割。有的采用全卷積神經(jīng)網(wǎng)絡,例如,HED[13]、RCF[14]、CASENet[15]、Mask r-cnn[21]。這些方法把卷積層的輸出接入一個side output 層,side output層由一個1×1的卷積層,一個deconv層和一個softmax層組成,每層side-output進行融合,由于利用了多尺度的信息,因此取得了很好的效果。

        2 屏幕區(qū)域邊緣檢測網(wǎng)絡

        屏幕區(qū)域的邊緣檢測和基于深度學習的邊緣檢測有很多的不同,最主要的區(qū)別是:(1) 基于深度學習的邊緣檢測目標是得到通用物體的邊緣(多種物體的邊緣),而屏幕的邊緣檢測只要得到屏幕區(qū)域的邊緣圖像即可(只有屏幕區(qū)域的邊緣),因此需要神經(jīng)網(wǎng)絡排除其他物體的邊緣。(2) 雖然神經(jīng)網(wǎng)絡能夠排除大部分其他物體的邊緣,但是還是存在部分干擾。如圖2所示,fusion-output是神經(jīng)網(wǎng)絡輸出的屏幕區(qū)域邊緣圖像,其中存少量其他物體的邊緣,因此只用fusion-output無法得到正確結(jié)果,我們需要神經(jīng)網(wǎng)絡輸出屏幕區(qū)域的位置信息幫助定位(也就是side-outout 5)。

        原圖 神經(jīng)網(wǎng)絡輸出的fusion-output 神經(jīng)網(wǎng)絡輸出的side-outout 5圖2 屏幕區(qū)域邊緣圖像

        2.1 網(wǎng)絡結(jié)構(gòu)

        網(wǎng)絡通過修改VGG-16而來,VGG-16網(wǎng)絡由13個卷積層,和3個全連接層組成,VGG-16網(wǎng)絡不但在分類問題中表現(xiàn)優(yōu)異,而且容易應用到其他場景[15],比如物體檢測和圖像分類。本文的網(wǎng)絡對VGG-16的修改主要有:

        (1) 移動設備性能差,而VGG-16是一個通用的神經(jīng)網(wǎng)絡框架,VGG-16模型對于移動設備來說太大了,而屏幕邊緣檢測只需要網(wǎng)絡能檢測屏幕區(qū)域到邊緣的直線即可,因此減少VGG-16每一層卷積核的數(shù)量對屏幕區(qū)域邊緣檢測也不會造成太大影響。在實驗部分也測試了不同卷積核的數(shù)量對最終結(jié)果的影響以及運行速度,而本文最終采用的網(wǎng)絡結(jié)構(gòu)如圖3所示。

        圖3 本文采用的網(wǎng)絡結(jié)構(gòu)

        (2) 去掉了VGG-16的第五個max-pool層,和后面的全連接層。主要原因是,加入max-pool 5層會使輸出的side-output大小縮小為原來的1/32,經(jīng)過32× deconv層后,會使得精度大大降低,對結(jié)果不利。

        (3) 在Conv1-2、Conv2-2、Conv3-3、Conv4-3、Conv5-3五層后面接了一個1×1-1的卷積層進行降維,這等于對所有卷積核輸出的結(jié)果做加權(quán)求和,同時權(quán)重由網(wǎng)絡學習得到。之后接一個deconv層,對feature map進行上采樣,使得feature map和原圖一樣大。

        (4) 所有5個上采樣得到的結(jié)果進行concat,之后用一個1×1-1的卷積層進行特征圖的融合,最后使用一個sigmoid輸出屏幕區(qū)域邊緣圖像(圖3的fusion-output所示)。這里1×1-1的卷積的參數(shù)可以自動學習,也可以人工指定,本文中采用人工指定的方式,具體值在2.2中說明。

        (5) 在Conv5-3之后的deconv層連接一個sigmoid layer輸出屏幕區(qū)域位置圖像(如圖3的side-output 5),side-output 5得到的屏幕區(qū)域邊緣位置不夠精細,但是作為高層的輸出比fusion-output少了很多干擾,因此可以當作屏幕區(qū)域位置圖像使用。

        2.2 損失函數(shù)設計

        (1)

        式中:

        (2)

        下式表示各層第j個像素點融合為fusion-output的第j個像素點的值時各層的權(quán)重,其中w1=w2=w3=w4=0.2,w5=0.28。

        (3)

        (4)

        (5)

        式(6)是最終的損失函數(shù),該損失函數(shù)刪去了HED[13]中損失函數(shù)的低層部分,保留了side-output 5。在實驗部分解釋了原因和實驗結(jié)果。

        L(W)=L(side 5)(X(side 5);W)+L(fusion)(X(fusion);W)

        (6)

        2.3 訓練數(shù)據(jù)

        本文采用部分真實場景的圖片和部分合成圖片的方式自制數(shù)據(jù)集。合成的圖片主要采用了不同的背景,和不同的前景圖片合成,其中前景圖片加上平移、旋轉(zhuǎn)、透視變換。背景圖片進行隨機的裁剪,合成的圖片還進行了反轉(zhuǎn)操作來擴充數(shù)據(jù)集,這種自制數(shù)據(jù)總計有10萬幅,手工標注的真實場景數(shù)據(jù)總計2 000幅。另外有500幅真實場景的圖片作為測試集。

        3 屏幕區(qū)域邊緣定位算法

        主要利用fusion-output和side-output 5得到屏幕區(qū)域的邊緣。整體流程如圖4所示。

        圖4 邊緣定位算法整體流程圖

        (1) 屏幕區(qū)域邊緣直線檢測 先對Fusion-output生成的單通道圖進行閾值化,大于閾值t的點的像素值為255,小于t的點的像素值為0,其中的閾值t是Fusion-output中像素點的值大于30的點的均值,設閾值化后的圖像為Ft,然后用Hough直線檢測算法在Ft中檢測直線,但是同一條直線,也會被檢測為很多長短不一,有重疊、有間隙的直線,因此需要對檢測到的直線進行合并。

        合并方法:

        ① 對檢測到的直線根據(jù)長度進行排序。

        ② 找到最長的直線,刪除所有比這條直線短且和這條直線重合的直線(重合判斷方法在下文詳述)。

        ③ 重復步驟①和②,直到最后一條直線為止。

        ④ 記錄邊緣直線集合SI。

        判斷重合方法:

        ① 計算較短直線兩個端點到長直線的距離,記為L1和L2。

        ② 設定兩個長度閾值ps和pm(pm>ps,在本文中pm=10,ps=5)。

        ③ 如果L1>pm或L2>pm,判斷為不重合;如果L1

        說明:只用一個閾值來區(qū)分兩條直線是否為同一條直線會帶來問題。因為fusion-output屏幕區(qū)域內(nèi)外邊緣之間有寬有窄,如果長度閾值取得較大,直線合并效果好,但是在屏幕內(nèi)外邊緣距離較窄的情況下,容易把內(nèi)外邊緣也錯誤合并;如果閾值取得較小,直線合并效果差,產(chǎn)生的干擾多。因此采用兩個直線閾值,可以獲得很好的內(nèi)外邊緣直線。

        (2) 產(chǎn)生候選框 圖5顯示了產(chǎn)生候選框集合的流程。在圖片中選取一個點t(本文中設置t點為屏幕中心點),稱之為目標點,SI集合中選兩條直線la和lb, 直線la和lb的交點為pi,選取la的一個端點為pa,選取lb的一個端點為pb,交點pi到pa的向量稱為pipa,pi到pb的向量稱為pipb,pi到目標點t稱為向量pit,計算滿足公式pit=a·pipa+b·pipb,a>0且b>0的端點pa和pb。如果有多個端點滿足要求,則取到交點pi長度最大的端點。記錄pi、pa和pb,作為一個角結(jié)構(gòu)。依次對SI集合中剩余的直線進行處理。

        圖5 產(chǎn)生候選框集合的流程

        從前面得到的角結(jié)構(gòu)中,取兩個不含相同直線的角結(jié)構(gòu),為pi1、pb1、pa1和pi2、pb2、pa2,其中pb1和pb2位于點pi1和pi2組成的直線一邊,pa1和pa2位于直線一邊,如圖5所示。計算等式pi1pi2=a1·pi1pb1+b1·pi1pa1,pi2pi1=a2·pi2pb2+b2·pi2pa2,若a1、b1、a2、b2都大于0,則這兩個角結(jié)構(gòu)可以組成一個候選框,如圖5最后一步所示。計算pi1pb1和pi2pb2的交點以及pi1pa1和pi2pa2的交點,得到四邊形的另外兩個交點,保存四個交點,得到候選框,重復對所有角結(jié)構(gòu)進行計算。最終所有的候選框總算包圍著目標點t。

        (3) 候選框評分方法 我們主要用fusion-output和side-output 5對候選框打分,式(7)計算四邊形一條邊的得分,其中點(xi,yi)位于直線Line(i)上,pj(xi,yi)是點(xi,yi)在圖像j中的像素值(本文中,j為fusion-output或side-output 5),|line(i)|是直線Line(i)上點集的個數(shù)。式(8)計算一個候選框的得分,Line(i)為候選框Rect(q)的邊緣線。

        (7)

        (8)

        首先在side-output 5對候選框進行打分,即對所有候選框計算M(q,j)j=side-output5,最高得分乘0.9為閾值a,排除得分小于閾值a的候選框,之后對剩余的候選框在fusion-output中打分,對剩余的候選框計算M(q,j)j=fusion-output,得分最高者為最終結(jié)果。

        之所以采用這種方案是因為,fusion-output中屏幕邊緣較為精細,但是錯誤很多,side-output 5的邊緣粗,但是能準確反映邊框的大概位置,如果候選框只用fusion-output計算評分,可能會出現(xiàn)畫中畫的侯選框得分最高。產(chǎn)生這種問題的原因是,fusion-output是由各層side-output融合而成,低層錯誤的邊緣可能會融合成像素值很大的錯誤邊緣,導致最終的評分錯誤。因此我們先用side-output 5得到一些位置準確,但是可能包含一些由屏幕區(qū)域內(nèi)邊緣和外邊緣組成候選框。之后用fusion-output評分,因為內(nèi)邊緣和外邊緣組成候選框會穿過屏幕邊框的部分,而屏幕的邊框部分的像素值很低,導致評分降低,只有那些連成一個整體的全是由屏幕內(nèi)邊緣組成或全由屏幕外邊緣組成的候選框,才會在fusion-output中得到很高的評分,之后選取評分最高的那個。因此最終結(jié)果要么是屏幕區(qū)域內(nèi)邊框組成的邊緣,或者是屏幕區(qū)域外邊框組成的邊緣。

        4 實 驗

        我們利用了TensorFlow來實現(xiàn)網(wǎng)絡,先在網(wǎng)絡最后的卷積層后加上Maxpool-5層、全連接層、soft-max層并用ImageNet數(shù)據(jù)集對網(wǎng)絡進行物體檢測訓練,然后用預訓練好的參數(shù)初始化我們的網(wǎng)絡,side-output1-5中的1×1conv采用期望為0、方差為0.01的高斯分布來初始化,bias=0。Fusion-output中的1×1convd用來融合各層的結(jié)果,其中ai為side-outputi(i為1~5)對應的參數(shù),其中a1=a2=a3=a4=0.2,a5=0.28,不參與訓練。deconv-layer用 bilinear初始化。網(wǎng)絡剩余的超參數(shù)為:minibatch size=10,learning rate=1e-6,每訓練10 k次除以10,momentum=0.9,weight decay=0.000 2,所有參數(shù)的訓練在1塊NVIDIA TITAN X GPU上完成。

        4.1 不同的網(wǎng)絡大小

        我們測試了不同的卷積核個數(shù)對fusion-output和side-output 5的影響,表1顯示了三種網(wǎng)絡的結(jié)構(gòu),每種網(wǎng)絡都以VGG-16模型為基礎,只是改變了卷積核的個數(shù)。使用同樣的屏幕區(qū)域邊緣定位算法計算最終的結(jié)果。

        表1 三種不同的網(wǎng)絡大小

        經(jīng)過測試表2顯示了在一臺iphone8手機上三種網(wǎng)絡的計算性能。

        表2 三種網(wǎng)絡的性能

        圖6顯示了三幅不同的輸入圖在三種不同網(wǎng)絡結(jié)構(gòu)中得到的結(jié)果,圖片1在三種模型的最終結(jié)果中,都把屏幕區(qū)域的左邊緣標記為外邊框,右邊緣標記為內(nèi)邊框,我認為產(chǎn)生這種結(jié)果的原因是,左-內(nèi)邊框和右-外邊框都不明顯,導致fusion-output中對應的像素值較低,最終候選框在fusion-output上得分較低,因此我們的算法會優(yōu)先選擇邊緣清晰的邊框。圖片2在三種模型的最終結(jié)果中下邊緣都不對,產(chǎn)生這種結(jié)果的原因是本文中目標點t設定為屏幕中間,導致目標點t在下邊緣的下面,而邊框的要求是必須包圍目標點t,因此導致錯誤。圖片3是不含有屏幕區(qū)域的圖像,Model-A不能準確地區(qū)分,但是Model-B,Model-C的side-output 5、fusion-output都不會產(chǎn)生明顯的響應,可以區(qū)分這種不含屏幕的干擾。

        圖6 三種不同網(wǎng)絡的結(jié)果

        4.2 不同的loss 函數(shù)

        在HED[13]邊緣檢測方法中,loss的計算公式如下:

        (9)

        我們測試了Model-B網(wǎng)絡采用HED-loss和式(6)的輸出,如圖7所示。

        HED網(wǎng)絡是一種通用的邊緣檢測方法,通過讓低層的side-output參與loss的計算,可以讓低層產(chǎn)生的更精細的結(jié)果參與最后的融合,得到非常好的邊緣檢測效果。但是,我們需要的只是檢測到屏幕的邊緣,如果讓低層也參與loss計算,最后的結(jié)果會因為低層的影響而產(chǎn)生很多干擾。而且,不同層檢測到的邊緣的粗細程度也不一樣,如果簡單地加以融合,HED-loss產(chǎn)生的fusion-output屏幕邊緣較粗,很容易無法區(qū)分屏幕內(nèi)外邊框的邊緣。而我們的loss邊緣精細,且干擾更少。

        4.3 相關(guān)方法對比實驗

        為了證明算法的有效性,我們將屏幕區(qū)域定位算法(Model-B)和三種基于特征點的目標跟蹤算法進行對比。三種目標跟蹤算法為:CamShift[22],Online Boosting(Boosting)[23],Multiple Instance Learning(MIL)[24]

        具體來說,我們手動標記視頻幀的屏幕區(qū)域,采用圖像檢索的評價標準,正確率=(計算結(jié)果中是屏幕區(qū)域的像素個數(shù))/(計算結(jié)果中總的像素個數(shù)),召回率=(計算結(jié)果中是屏幕區(qū)域的像素個數(shù))/(屏幕區(qū)域中總的像素個數(shù))。我們將所有視頻幀的平均結(jié)果作為最終結(jié)果記錄于表3中。結(jié)果表明,由于深度學習的應用,本方法速度較其他三種慢,但是準確率、召回率和F-score都有明顯提高,此外,我們的方法相比其他三種不需要設定大量的參數(shù),使用簡單。

        表3 不同方法在屏幕檢測上的性能對比

        5 結(jié) 語

        本文提出了一種新的基于深度學習的定位屏幕輪廓的方法,利用深度學習極強的表達能力,產(chǎn)生好的邊緣圖像和位置圖像,并用屏幕輪廓定位算法定位屏幕輪廓。實驗表明,我們的方法在面對非屏幕的矩形物體的干擾下,也能產(chǎn)生很好的效果,即使圖像背景復雜,邊緣干擾嚴重,也能成功獲得很好的結(jié)果。本方法計算速度快,擴展性強,可以用同樣的框架檢測其他形狀的物體,擁有廣泛的應用前景。

        猜你喜歡
        區(qū)域檢測
        永久基本農(nóng)田集中區(qū)域“禁廢”
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        分割區(qū)域
        “幾何圖形”檢測題
        “角”檢測題
        小波變換在PCB缺陷檢測中的應用
        關(guān)于四色猜想
        分區(qū)域
        91国内偷拍精品对白| 国产亚洲精久久久久久无码77777| 国产成人拍精品免费视频| 福利一区二区三区视频在线| 一级一片内射视频网址| 日本爽快片100色毛片| 亚洲中久无码永久在线观看同| 久久精品国产屋| 男人天堂插插综合搜索| 久久精品国产99国产精偷| 国产乱妇乱子在线视频| 国产精品色内内在线播放| 日本精品少妇一区二区| 国产狂喷水潮免费网站www| 亚洲国产成人久久综合电影| 欧美xxxx新一区二区三区| 在线免费观看毛视频亚洲精品| 国产亚州精品女人久久久久久 | 免费在线亚洲视频观看| 又黄又爽又无遮挡免费的网站| 久久精品人妻一区二区三区| 无码伊人66久久大杳蕉网站谷歌| 白白色视频这里只有精品| 国产精品无码v在线观看| 亚洲精品国产综合一线久久| 蜜臀av人妻一区二区三区| 久久精品亚洲熟女av蜜謦 | 欧美性高清另类videosex| 国产无遮挡又黄又爽又色| 无码吃奶揉捏奶头高潮视频| 亚洲国产综合精品中久| 欧洲vat一区二区三区| 国产免费一级高清淫日本片| 日本av第一区第二区| 国产精品免费看久久久无码| 天堂√最新版中文在线天堂 | 一本色道久久综合亚洲精品不| 欧美亚洲日本国产综合在线美利坚| 伊人久久综合影院首页| 中文字幕久久熟女人妻av免费| 性欧美丰满熟妇xxxx性久久久|