徐 琨,趙啟雯,徐 源,柳有權
(長安大學信息工程學院,陜西 西安 710021)
筆式交互是Post-WIMP(Post-Window Icon Menu Pointing)時代人機交互的研究重點。早期的筆式交互需要數位板及配套電子筆[1],額外的硬件增加了用戶成本,不僅影響了用戶體驗,也限制了使用場景。目前主流的筆式交互方法是在紙張上設計特定背景圖案或者使用特定標簽卡片。這種方式降低了硬件成本,改善了用戶體驗,但強化了對紙張的要求[2]。文獻[3]提出了基于普通紙筆的投影交互方法,該方法僅需要普通紙筆就可以與計算機進行交互,交互信息的采集和交互效果的呈現分別由攝像頭和投影儀完成,在幾乎不增加成本的情況下,能夠為用戶提供自然、舒適和高效的交互體驗[3]。
如何對紙張進行快速、有效的檢測是普通紙筆交互方式首先要解決的一個難點問題。在復雜桌面場景中,紙張邊緣是相對穩定的顯著特征。本文采用邊緣檢測方法獲得A4紙或者信紙等普通紙張的邊緣,進而提取僅含有紙張的圖像,為普通紙筆交互提供了交互基礎。
早期的邊緣檢測方法大多依據圖像邊緣梯度的變化確定邊界,如Sobel算子[4]和Canny算子[5]。這類方法在簡單場景中效果較好,但當實際場景中存在背景、光照和其他非紙張邊緣等干擾因素時,難以保證紙張邊緣檢測的高魯棒性。直線分割檢測LSD(Line Segment Detector)方法[6]在梯度幅值和梯度角度特征基礎上采用聚類方法,在線性時間內可以得到亞像素級的邊緣檢測精度,但在檢測信紙時會受到紙張內部橫線、紙張上文字等非紙張邊緣的干擾。整體嵌套邊緣檢測HED(Holistically-Nested Edge Detection)網絡[7]使用多尺度和多層級特征,在側邊輸出層上進行深度監督,融合不同階段的特征,最終獲得邊緣圖,在BSDS500數據集[8]上測試,固定輪廓閾值ODS(Optimal Dataset Scale)達到了0.782,該方法是目前廣泛使用的一種邊緣檢測方法。
本文在上述工作的基礎上,同時考慮普通紙筆交互方式對紙張檢測實時性和魯棒性的要求,提出了一種基于邊緣檢測的快速紙張檢測方法。在邊緣檢測階段,提出了跨層多特征融合的快速紙張邊緣檢測方法,實現了對A4紙張這類無紋理或者信紙等弱紋理目標邊緣的快速、準確檢測。在紙張提取階段,提出了基于紙張邊緣結構約束的紙張提取方法,在各種復雜桌面背景及遮擋情況下,均可檢測出僅包含紙張的圖像。
HED網絡的主干網基于VGG16,參數量在14.7 MB左右,檢測速度較慢。在普通紙筆交互系統中測試,紙張邊緣檢測的幀速率僅約20 fps,難以滿足實時性要求。同時在復雜桌面環境中,紙張邊緣檢測結果魯棒性較差。
本文從提高邊緣檢測速度和增強網絡提取特征能力2方面對HED網絡的主干網和側邊輸出層進行改進,構建了跨層特征融合的快速紙張邊緣檢測網絡。網絡分為主干網、多特征深度監督模塊MDM(Multi-feature Deeply-supervised Module)、跨層特征融合模塊CFM(Cross-layer Fusion Module)3部分,其結構如圖1所示。其中,LB(Linear Bottleneck)表示線性瓶頸逆殘差塊,B-ECA(Bottleneck-Efficient Channel Attention)表示加入高效通道注意力機制的LB。
主干網共有7個階段,用于提取桌面紙張圖像的顯著性特征。Stage1和Stage2分別是一個5×5卷積層和一個3×3卷積層,Stage3~Stage7的第一層均為一個LB塊,之后是數量不等的B-ECA塊。
(1)LB塊。
LB塊在深度可分離卷積中加入了逆殘差結構和線性瓶頸結構,其結構如圖2所示。深度可分離卷積將傳統的卷積分解為空間維度的3×3逐層卷積和通道維度的1×1逐點卷積[9]。為了彌補逐層卷積僅能在低維空間提取特征的不足,線性瓶頸逆殘差塊在逐層卷積前添加1×1逐點卷積即擴展卷積層,將輸入樣本轉換成高維數據;再使用逐層卷積即深度卷積層在高維特征層中提取特征;最后經過1×1逐點卷積的投影卷積層壓縮通道維度。此外,線性瓶頸逆殘差塊還在投影卷積層使用Linear線性激活函數,避免在低維子空間使用ReLU激活函數易產生信息丟失或破壞的不足。逆殘差結構使網絡可以在更高的維度提取特征,并有效解決深度可分離卷積引起的梯度消失問題。
(2)B-ECA塊。
主干網不同通道的特征對于邊緣檢測的貢獻度不盡相同,圖3給出了HED網絡主干網第1階段通道3和通道7的特征映射圖。可以看出,通道3的特征圖排除了背景中圓形邊緣的干擾,而在通道7的特征圖中紙張區域的區分度降低。本文在主干網絡部分加入通道注意力機制,增加了模型對重要通道特征的關注程度,提高了邊緣檢測的準確率。
SE(Squeeze-and-Excitation)結構是一種常用的通道注意力機制的實現方法。其激勵操作使用一個全連接層和Sigmoid激活函數將全局均值池化GAP(Global Average Pooling)的輸出結果轉換為C個特征通道的特征權值[10]。在增大顯著特征權重的同時,也增加了網絡參數量,降低了檢測速度。高效通道注意力ECA(Efficient Channel Attention)將SE結構中的全連接跨通道的特征權重計算方法改為局部通道一維卷積權重計算方法,并自適應選擇一維卷積核尺寸,有效地減少了計算量,降低了復雜度[11]。SE結構和ECA結構如圖4所示,其中r表示維度減小比例。
本文將ECA結構添加至LB塊中的投影卷積層之前,構成B-ECA塊。在不顯著增加計算成本和參數量的前提下,在高維空間中加強重要特征通道在模型中的顯著度,抑制無效特征。本文提出的B-ECA塊結構如圖5所示。
HED網絡側邊輸出層只對每個階段的最后一個卷積輸出的特征進行融合,忽略了網絡各階段每個中間層獲得的豐富特征。本文在主干網Stage4~Stage7的每個層后均添加特征深度監督層,連接卷積核大小為1×1的卷積,然后按階段加和,再經過卷積核大小為1×1且輸出通道為1的卷積進行特征通道降維,獲得本階段的融合特征。多特征深度監督模塊可以同時保留主干網各層提取的邊緣整體信息和細節信息。
特征提取的高階段特征含有更多的語義信息,但丟失了邊緣的空間信息,紙張邊緣較粗;低階段特征包含更多的邊緣空間細節信息,但包含了桌面及紙張內部的紋理特征以及其他非邊緣干擾信息。圖6給出了本文主干網Stage2~Stage7多特征深度監督模塊的輸出特征圖。借鑒特征金字塔網絡中自上而下逐層融合的思想[12],本文將主干網絡高階段特征經過深度監督融合后,對其進行上采樣,并回傳給相鄰的較低階段,進行深度監督輸出加和。在高階段的整體邊緣信息的監督下,加強低階段邊緣的準確位置信息,避免邊緣模糊的問題。
本文提出的多樣本紙張數據集MPDS(Multi-sample Paper Data Set)中,每個樣本對應一幅真值邊緣圖,不存在邊緣爭議點。因此,本文使用無爭議點的加權交叉熵損失函數作為每個像素的損失函數,如式(1)所示:
(1)
(2)
(3)
其中,P(·)是標準Sigmoid激活函數;Xi表示圖像中第i個像素點的激活值;W表示網絡中的所有學習參數;yi表示真值圖中第i個像素點是邊緣點的概率;α和β是權系數;|Y+|和|Y-|分別表示正負樣本的數量;λ是用來平衡正負樣本數量的參數,這里設為1.5。
對于像素總數為N的圖像,總損失函數由階段輸出損失lstage和融合輸出損失lfuse組成,如式(4)所示:
(4)
為了在桌面背景下的紙張圖像中提取僅含有紙張的圖像,本文提出了基于紙張結構約束的紙張提取方法。采用改進的非極大值抑制NMS(Non-Maximum Suppression)細化算法對紙張邊緣概率灰度圖進行細化;然后進行二值化,并使用累積概率Hough直線檢測[13]得到邊緣直線表達式;利用紙張邊緣長度約束條件保留長度大于30的線段,剔除過短線段;再結合紙張邊緣的結構特征,提取紙張頂點,恢復被遮擋的紙張頂點;最后在紙張原圖像中進行透視變換,提取僅含有紙張的圖像。
邊緣檢測網絡輸出的是邊緣概率圖,還需要進行邊緣細化,以獲得更加精確的紙張邊緣。NMS細化算法由Canny提出,是常用的一種邊緣細化算法。為了避免邊緣斷裂、毛刺和雙邊緣問題,本文提出了一種改進的NMS邊緣細化算法。
NMS細化算法僅在0,π/4,π/2和π3/4共4個梯度方向上比較像素的梯度幅值,在邊緣方向發生較大改變的位置,易產生毛刺。本文采用插值方法估計出梯度分量方向上的灰度值。具體描述如下所示:
將像素點C在x和y方向上的梯度分量分別記為Gx和Gy,g1,g2,…,g8為C點的8個鄰域點。若|Gy|>|Gx|,且Gx和Gy符號相同,如圖7a所示,則梯度方向上非整數點d1和d2點的值由g1、g2、g7和g8點的值通過雙線性插值確定;若|Gy|>|Gx|,且Gx和Gy符號不同,如圖7b所示,則d1和d2點的值由g2、g3、g6和g7點的值通過雙線性插值確定。若|Gx|>|Gy|,也可通過C點的八鄰域像素值插值C點像素值。
邊緣概率圖灰度化后,邊緣及鄰域灰度值均接近255,真實邊緣位置像素點的梯度幅值很小,而邊緣外側像素的梯度幅值較大。使用梯度幅值進行NMS,易產生雙邊緣現象。為解決這一問題,本文對每一個像素點,將比較像素梯度幅值更改為比較灰度值,確定該點是否為極值點。同時在灰度值比較時保留灰度值大于250的所有像素,避免實際邊緣像素的漏檢。
使用一般式表示累計概率Hough直線檢測算法得到的線段,設O0(x0,y0)和O1(x1,y1),O2(x2,y2)和O3(x3,y3)分別為直線L1和L2上的2點,A1=y1-y0,B1=x0-x1,C1=x1y0-x0y1,A2=y3-y2,B2=x2-x3,C2=x3y2-x2y3,取m=A1×B2-A2×B1。若m為0,則L1和L2無交點;反之,直線L1和L2的交點P(x,y)的坐標如式(5)所示:
(5)
對于檢測出的直線兩兩進行交點計算,最終獲得紙張的4個頂點,并在遮擋情況下恢復出所有頂點。
本文利用式(6)將紙張原圖像投影到只含有紙張的投影圖像中,透視變換矩陣A根據紙張圖像中的4個頂點Pi(xi,yi)(i=1,2,3,4)和透視變換后對應頂點Mi(x′i,y′i)(i=1,2,3,4)確定。透視變換過程如圖8所示。
(6)
本文實驗均是在CPU為Intel(R)Core(TM)i7-8700,內存為16 GB,顯卡為NVIDIA GeForce GTX 1660 6 GB的硬件環境下,使用Python3.7完成的。
訓練過程的初始學習率為0.001,epoch為300,動量為0.9,衰減權重為0.000 8。網絡模型的訓練使用自適應矩估計Adam(Adaptive moment estimation)優化器。
邊緣檢測常用數據集包括BSDS500[8]、Pascal-VOC[14]等,這些數據集都是針對通用目標而構建的,目前還沒有公開的紙張邊緣數據集。本文面向普通紙筆交互系統,構建了桌面場景下的紙張數據集MPDS。在簡單桌面背景、復雜桌面背景、類直線物體干擾、不均勻光照和紙張被遮擋等多種桌面環境下,拍攝A4紙、信紙、彩色紙等多種紙張類型的空白與非空白紙張樣本。采用隨機翻轉、旋轉、添加噪聲以及亮度、對比度和飽和度調整等方式進行數據集擴展。目前MPDS共有1 500個樣本,樣本尺寸包括400×300和300×400 2種,以1∶4的比例隨機分配組成測試集和訓練集。
利用紙張的結構約束特性獲得真值,即標記者通過鼠標點擊圖像中紙張的4個頂點,調用OpenCV中鼠標事件的鼠標狀態獲取函數,獲得紙張邊緣的4個頂點位置,最終得到紙張邊緣真值圖,真值圖以.mat文件存儲。
本文從主觀觀察和客觀指標2方面來評估紙張邊緣檢測方法的性能。圖9給出了分別使用Canny算子[5]、Hough直線檢測[13]、LSD直線檢測[6]、RCF(Richer Convolutional Features for edge detection)[15]、HED[7]和本文方法在復雜桌面背景、類直線物體干擾、不均勻光照、手寫文字干擾等多種情況下的邊緣檢測結果。Canny算子和LSD方法在桌面背景復雜或有類直線干擾物的桌面場景中易發生誤檢,受噪聲干擾較大;Hough直線檢測方法相比前2種方法排除了一部分噪聲的干擾,但紙張邊緣存在漏檢;HED和RCF較前3種傳統邊緣檢測方法有更好的檢測效果,可以一定程度地排除信紙內部直線、類直線等干擾物的干擾,但輸出邊緣較粗且模糊,在不均勻光照條件下紙張邊緣漏檢嚴重。
本文使用參數量、固定輪廓閾值ODS、單圖像最佳閾值OIS(Optimal Image Scale)[16]和幀速率等指標評價邊緣檢測方法的性能,各方法性能指標如表1所示。傳統紙張邊緣檢測方法的ODS和OIS值較低,準確率過低。相對于HED網絡,本文方法的參數量減少了93.1%,ODS和OIS分別提高了8.1%和6.6%,幀速率從22.08 fps提高到了39.02 fps,在顯著提高檢測速度的同時,檢測精度也有了一定程度的提高。

Table 1 Performance indicators of various methods
本節進一步驗證了本文跨層特征融合的快速紙張邊緣檢測網絡各結構的有效性。將HED主干網中各階段加入LB塊的網絡記作HED-1,將在HED-1主干網中添加B-ECA塊的網絡記作HED-2,將HED-2中的側邊輸出改為MDM的網絡記作HED-3,在HED-3中加入CFM的網絡即為本文方法,各網絡的結構參數如表2所示。
圖10給出了相關實驗結果圖,通過對HED主干網和側邊輸出層2方面的改進,紙張檢測結果逐漸排除了復雜背景、類紙張邊緣和光照的干擾,本文網絡邊緣檢測結果最好,排除了各類噪聲的干擾,且在光照不均勻的情況下也有著較好的檢測結果,紙張邊緣清晰、完整。
表3給出了上述各網絡的性能指標值。可以看出,與HED網絡相比,HED-1將參數量降低至1.00 MB,幀速率則由22.08 fps提高到42.68 fps,同時檢測精度也有一定程度的提高;HED-2網絡將ODS和OIS指標分別提高至0.874和0.883,相比HED-1僅增加0.01 MB的參數量,檢測速度僅降低0.95 fps;HED-3進一步提高了檢測精度,與HED-2相比,ODS和OIS分別提高了1.4%和1.9%;本文提出的網絡檢測效果最好,實現了檢測精度和檢測速度的平衡。

Table 2 Parameters of each network

Table 3 Performance index comparison of different networks
圖11給出了各種桌面背景下的紙張提取實驗結果圖。可以看出,改進的NMS算法可以得到完整且光滑的細化邊緣。在復雜背景和光照不均勻情況下,本文的紙張提取方法均可以獲得完整的紙張圖像,如圖11e所示。
將HED邊緣檢測網絡應用于普通紙筆交互方式中的紙張檢測中,實時性和魯棒性難以滿足要求。針對上述不足,本文在HED網絡基礎上,提出了一種跨層特征融合的快速紙張邊緣檢測方法,在減少運算量的同時,提高了邊緣檢測精度。為了獲得只含有紙張的圖像,本文還提出了基于紙張結構約束的紙張圖像提取方法,該方法可以在復雜桌面背景、不均勻光照及遮擋等情況下,得到完整的紙張圖像,為后續基于紙張介質的交互提供交互基礎。