莊屹 陳瑋 尹鐘



摘 要:在與人交互情況下,針對物體識別系統通過反饋信息自動優化識別能力問題,提出一種結合梯度直方圖(HOG)特征提取和支持向量機(SVM)進行特定物體識別的方法。運用Tensorflow訓練語音識別模型反饋人機交互信息,使系統實現自優化。以手表類別作為識別對象,通過HOG特征描述對手表進行特征提取,通過二維主成分分析(2DPCA)和線性判別分析(LDA)對整體和局部特征進行降維,運用改進的空間金字塔匹配模型通過SVM對其分類,并運用非極大值抑制(NMS)確定區域,運用訓練的梅爾倒譜(MFCC)特征語音識別模型對反饋信息進行識別,最終整合信息優化識別系統。實驗表明,該系統對手表有較高的識別率,并能通過人機交流在較短時間內使系統實現自優化。
關鍵詞:物體識別;自優化系統;梯度直方圖;支持向量機;梅爾倒譜
DOI:10. 11907/rjdk. 182221
中圖分類號:TP301文獻標識碼:A文章編號:1672-7800(2019)003-0010-06
0 引言
隨著智能化的不斷普及,很多場合都可以用機器識別物體,物體識別系統正朝著愈發精確成熟的方向發展。物體識別關鍵在于特征提取和分類器設計,特征提取主要從全局特征提取和局部特征提取兩個方向入手。不同物體擁有不同性質的特征,在不同特征提取以及不同分類器下實現的識別效果也略有差距。對于一個投入使用的識別系統,由于其分類模型已經確定,其識別率也就確定下來,無法直接提高識別能力。目前,物體識別系統的主要分類器是運用卷積神經網絡(CNN)或者相對成熟的Tensorflow深度學習神經網絡進行訓練。基于神經網絡的模型訓練要擁有較高識別率,對樣本量有著極高要求,而在樣本量有限的情況下,神經網絡訓練下的模型識別效果相差很多,并且無法進行自優化操作。在2005年的CVPR(Internaltional Conference on Computer Vision and Pattern Recogintion 計算機視覺與模式識別國際會議)上,來自法國的研究人員Navneet Dalal & Bill Triggs[1]提出利用梯度直方圖(HOG)進行特征提取,利用線性支持向量機(SVM)作為分類器,從而實現行人檢測,但對于空間金字塔的匹配模型并沒有進行優化。本文提出一種改進的HOG特征提取和SVM進行物體識別,同時通過Tensorflow訓練自己的語音識別模型反饋人機交互信息,基于Python 3.6 環境編寫程序實現自優化識別。在加州學院256類圖像數據庫(“The Caltech-256 object category dataset”)以及ImageNet圖像數據庫基礎上進行實驗,結果表明該系統能實現自優化功能,提高了手表類別的識別能力。
1 改進的HOG特征提取與SVM分類
1.1 HOG特征提取及降維算法
1.1.1 HOG特征提取
一幅圖像可通過梯度或邊緣的方向密度分布很好地描述局部目標的表象和形狀(appearance and shape),梯度主要存在于邊緣[2]。如圖1所示,HOG特征提取步驟如下:
(1)灰度化。
(2)通過[γ]校正法對輸入圖像進行顏色空間的歸一化。
(3)計算圖像每個像素的梯度(大小、方向),以此捕獲輪廓信息。
(4)將圖像劃分成小像素點,并計算每個像素點的梯度直方圖(不同梯度的個數),即可形成像素點的圖像塊。
(5)將幾個像素點組成一個圖像塊,一個圖像塊內所有像素點的特征串聯起來便得到該圖像塊的HOG特征。
(6)聯結所有圖像塊的HOG特征得到全圖HOG特征,此即為最終可供分類使用的特征向量[3]。
1.1.2 LDA算法
LDA是一種用于監督學習的降維技術,其數據集的每個樣本都有類別輸出,這點和PCA不同。PCA是一種無監督降維技術,不考慮樣本類別輸出。數據以低維度進行投影,投影后希望每一種類別數據的投影點盡可能地接近,而不同類別的數據與類別中心之間的距離應盡可能大。本文主要運用二類LDA算法提取局部特征[4]。
1.1.3 2DPCA算法
2DPCA算法是一維PCA算法的改進優化。利用二維圖像矩陣直接構造一個協方差矩陣,選取最大的幾個特征值對應的特征向量為最佳投影軸,將原始圖像矩陣經過投影后提取主元分量,以達到數據降維和壓縮效果[5]。
1.2 空間金字塔匹配模型改進
1.2.1 圖像預處理
以手表圖像為例,為達到識別目的,首先要對訓練集中的圖像進行預處理。對手表圖像進行濾波去噪,確定手表的表盤位置并將圖像歸一化為128×128,步驟如下:①對圖像進行差分高斯濾波(DoG),用于消除圖像陰影以及高頻和低頻噪音干擾;②對圖像進行對比度均衡化與圖像增強,提高圖像清晰度;③對圖像霍夫變換進行圓形邊緣提取,確定最小外接矩形并截取得到手表表盤,如圖2所示。
對于任何圓, 假設中心像素點p[(x0,y0)]已知,圓半徑已知,將其旋轉360°,可通過極坐標方程得到每個點上的坐標。同樣,如果只是知道圖像上的像素點、 圓半徑,旋轉360°,則會有一個集中的交點。也就是說,圓的中心點處坐標值最強,這就是霍夫變換檢測圓的數學原理[7]。
1.2.2 改進的空間金字塔匹配
傳統的空間金字塔匹配模型一般在水平和數值方向進行相同劃分,即分割后的每個空間都是形如n×n的正方形區域[8],這樣得到的圖像結構信息在一定程度上是不連續的,使得表盤中的結構信息劃分成極小的碎片,影響最終識別效果。
為此對空間金字塔的劃分方案進行改進,如圖3所示,確定Level 0層(1×1),Level 1層(1×4)、(4×1),Level 2層(2×8)、(8×2),從而使其底層特征分布直方圖的統計特性不被破壞。傳統情況下,由于劃分的局部區域過小,所以得到的空間分布直方圖區分度不高。改進的匹配模型保留了較大范圍的特征分布,盡管不能在細節上提供更精確的信息,但是較大范圍的特征信息保證了一定的一致性和連續性,便于更好地完成識別工作,如圖4所示。
1.3 SVM分類器及非極大值抑制
1.3.1 SVM分類器訓練
支持向量機(Support Vector Machine,SVM)是Corinna Cortes & Vapnik等[9]于1995年首先提出的,對于小樣本、非線性及高維樣本問題表現出許多特有優勢。
SVM本身是一個線性分類器,最開始解決的是線性可分問題,然后拓展到非線性可分問題,甚至擴展到非線性函數中。解決線性不可分,主要方法是利用非線性映射,將低維空間內不可分的樣本映射成高緯空間線性可分樣本。然后如線性可分一般,計算一個超平面將樣本分成兩類,使兩邊分類的點盡可能遠離超平面,也就是保證虛線部分的點盡可能遠離即可,這些虛線上的點即為支撐向量。遠離超平面距離的概念有很多種,在SVM中主要使用幾何距離。幾何距離見式(10),即使SVM問題轉換成一定約束情況下式(11)中|W|最小[10]。
從Scene-15數據集選取1000張場景圖片進行128×128的歸一化操作作為初始負樣本,從加州理工學院256類圖像數據庫(“The Caltech-256 object category dataset”)中提取200張作為初始正樣本,分別對其進行HOG特征提取后導入SVM分類器進行訓練,見圖5。
1.3.2 非極大值抑制
非極大值抑制[11](Non-Maximum Suppression,NMS)是指對非最大值元素進行抑制,即搜索鄰域極大值。鄰域有維數和大小兩個參數,在目標檢測中用于提取分數最高的窗口[12]。經分類器分類后,每個窗口會有一個分數(score)。滑動窗口會導致很多窗口交叉或包含,這時用NMS選取鄰域里分數最高的(目標手表的概率最大)窗口,抑制那些分數低的窗口,如圖6所示。本系統分數大于0.8即認為識別出手表。
2 MFCC語音識別模型
2.1 聲音特征提取
聲音特征提取步驟:①獲取數據集中分好類的語音文件(wav)列表;②對文件列表進行隨機化;③取一定數量(batch_size)的語音文件作為一個批次(batch);④提取一個批次語音文件的梅爾倒譜(MFCC,Mel-Frequency Cepstral Coefficients)特征并進行歸一化處理;⑤根據文件名得到語音文件的類標。
MFCC梅爾倒譜系數是語音識別中最為常用的特征,步驟如下:①獲得語譜圖便于進行頻率分析;②將聲音信號輸入梅爾濾波器組;③取對數。人聲系統信號由基調信息與聲道信息卷積而成。在語譜圖FFT變換后,卷積變成了乘法,即[FFT(s)×FFT(v)]。取對數后,乘法變成了加法,即[log(FFT(s))+log(FFT(v))],把卷積信號轉換成加法信號[13];④DCT(離散余弦變換)又稱為“倒譜域”,倒譜域的低頻部分描繪了聲道信息,高頻部分描繪了基調信息。選擇DCT代替FFT,是因為DCT變換之后的值仍為實數,會更加方便[14]。
2.2 基于Tensorflow的神經網絡構建
在Tensorflow中,運用已經搭好的神經網絡進行訓練。LSTM(Long Short-Term Memory,長短期記憶網絡)作為一種時間遞歸神經網絡,適合處理和預測時間序列中間隔和延遲相對較長的重要事件[15],見圖7。
LSTM和卷積神經網絡(RNN)之間的區別在于算法中添加了“處理器”用于判斷信息有用與否,該處理器作用的結構稱為“判斷神經元”[16]。
一個判斷神經元存在三扇門,分別稱其為輸入門、遺忘門和輸出門。消息進入LSTM網絡,可根據規則判斷,留下符合算法認證的信息,不符的信息通過遺忘門被遺忘[17]。
2.3 Tensorflow訓練模型
根據反饋給機器的對錯(Yes or No)關鍵字信息判斷識別的圖像是正樣本還是負樣本。
2.3.1 No的情況
(1)如果圖像中有手表出現,但系統沒有識別出來,便將該圖像添加入正樣本數據集,提取HOG特征后重新進行圖像識別模型訓練。
(2)如果圖像中并無手表,系統錯判物體為手表,便將該圖像添加入負樣本數據集,提取HOG特征后,重新進行圖像識別模型訓練。
2.3.2 Yes的情況
系統識別正確,用戶反饋正確信息。
該系統利用TensorFlow和AIY團隊創建的語音命令數據集。成千上萬的用戶在AIY網站上傳了包含30個詞的65 000條語音數據,每條數據長度為1s。數據集為應用程序構建基本可用的語音樣本,包含“yes”、“no”等常用單詞[18]。導入Tensorflow的LSTM網絡訓練,設置為16個epoches,在訓練到18000步時,閾值收斂情況如圖8所示,圖中縱坐標即表示此時收斂的閾值,閾值越接近0代表此時分類效果越好[19]。
根據劃分的測試集進行標簽判斷,得到語音信息識別率分別為Yes(0.903 73)、No(0.931 09),均達到90%以上,且識別到的樣本置信平均分數為Yes(score=0.814 77)、No(score=0.841 39),信息識別準確率達到80%以上即認為識別到語音信息。
3 改進模型的自優化識別系統
3.1 系統方案
基于改進HOG+SVM與MFCC語音分類模型的自優化識別系統主要由模型訓練模塊、圖像識別模塊以及語音識別系統模塊3大部分組成,通過用戶界面進行關聯[20],系統結構如圖9所示。
3.2 系統流程
系統流程見圖10。
3.3 系統測試與結果分析
3.3.1 分類器實驗
實驗選用圖像來源于ImageNet手表集圖像素材。初始情況下,選用加州理工學院256類圖像數據庫(“The Caltech-256 object category dataset”)中的200張手表圖片作為初始正樣本,從Scene-15數據集中選取1000張場景圖片作為負樣本。將本文方法與其它方法進行比較,如表1所示。
從表1可以看出,在同等條件實驗中,3種分類器識別率相當。雖然初始識別率SVM并不是最佳的,但對于一個自由化系統,識別率會根據人機交互信息的不斷增多,其智能性也越來越高,所以每次優化時的訓練時間十分重要。而從訓練時間看,SVM的訓練時間明顯優于其它兩種方法[21]。綜合考慮,利用SVM進行物體分類識別效率最高。
3.3.2 系統實驗
系統自由化性能測試,同樣從ImageNet圖像素材中選取3組數據,每一組10幅圖像,分別為5個包含手表的圖像和5個不含手表的圖像,識別結果見表2。
從表2可以看出,系統的自優化性不斷增強。在第一組數據中加入帶有圓形物體的高干擾項,導致負樣本識別錯誤,而添加負樣本特征的分類器重新訓練后,可以看到高干擾項得到了明顯辨識。同時,由于正樣本數量的不斷增加,對手表圖像的識別率也在不斷提高。
圖11(a)是初始對某圖像的識別結果,圖11(b)是優化一段時間后再次對該圖像識別結果
圖11反映了系統運行過程。圖11(a)表示導入一張圖像后的識別結果,可以看出此時的置信分數并未達到0.8。添加正樣本特征優化模型經過一段時間優化后,再次對同一幅圖像進行識別,可以看到已經識別到了相應區域,區域的置信分數達到了0.858 1。
4 結語
本文提出一種改進的梯度直方圖(HOG)特征提取與支持向量機(SVM)進行物體識別,同時通過Tensorflow訓練MFCC特征語音識別模型,反饋人機交互信息進而使系統實現自優化,對傳統機器學習方法與深度學習方法相結合進行探索,以對優化空間金字塔模型進行深入研究。實驗表明,該系統具有良好的自優化功能,提高了手表類別的自動識別能力。基于此實驗結論,預測該系統能不斷提升識別能力。但隨著正樣本增加,模型的復雜程度及大小也隨之增加,優化時間也不斷延長,如何進一步簡化模型以及縮短優化時間是下一步研究方向。
參考文獻:
[1] DALALAND N, TRIGGS B. Histograms of oriented gradients for human detection[C]. IEEE Conference on Computer Vision and Pattern Recognition,2005:886-893.
[2] YAMAUCH Y,MATSUSHIMA C,YAMASHITA T. Relational hog feature with wild-card for object detection[C]. IEEE International Conference on Computer Vision Workshops,2011,21(5):1785-1792.
[3] RAFAEL C,GONZALEZ,RICHARD E WOODS. Digital image processing[M]. Third edition. New Jersey:Pearson Education,2008.
[4] XIE Y L. LDA and its application in face recognition[J]. Computer Engineering and Application,2010,46(19):189-192.
[5] VYTAUTAS PERLIBAKAS. Measures for PCA-based face recognition[J]. Pattern Recognition Letters,2004,25(6):711-724.
[6] YANG J,? LIU C. Horizontal and vertical 2DPCA-based discriminant analysis for face verification on a large-scale database[J]. IEEE Transactions on Information Forensics & Security,2007,2(4):781-792.
[7] 何揚名,戴曙光. 提高霍夫變換識別圓形物體準確率的算法[J].微計算機信息,2009(10):279-281.
[8] 胡正平,涂瀟蕾. 多方向上下文特征結合空間金字塔模型的場景分類[J].信號處理, 2011,27(10):1536-1542.
[9] 齊敏,李大健,赫重陽. 模式識別導論[M]. 北京:清華大學出版社,2009:98-101.
[10] 鄒沖,蔡敦波,劉瑩. 組合SVM分類器在行人檢測中的研究[C].計算機科學,2017,44(S1):188-191.
[11] NEUBECK A,GOOL L V. Efficient non-maximum suppression[C]. International Conference on Pattern Recognition.2006:850-855.
[12] 張強,張陳斌,陳宗海. 一種改進約束條件的簡化非極大值抑制[J].中國科學技術大學學報,2016(1):6-11.
[13] TIWARI V. MFCC and its applications in speaker recognition[J]. International Journal on Emerging Technologies Issn,2010(3)521-527.
[14] 陳瑤瑤,郝建華,張子博. 基于DCT變換的端到端語音加密算法[J].電子測量技術, 2015(8):140-143.
[15] 趙力. 語音信號處理[M]. 北京:機械工業出版社,2017:140-151.
[16] SUNDERMEYER M,SCHLüTER R,NEY INTERSPEECH H. LSTM neural networks for language Modeling[J]. INTERSPEECH,2012,31(43):601-608.
[17] GERS FA,SCHMIDHUBER JA,CUMMINS FA. Learning to forget: continual prediction with LSTM[J]. Neural Computation,2014,12(10):2451-2471.
[18] VARIANI E,BAGBY T,MCDERMOTT E. End-to-end training of acoustic models for large vocabulary continuous speech recognition with Tensorflow[J]. Interspeech,2017(6):1641-1645.
[19] 黃文堅,唐源. Tensorflow實戰[M]. 北京:電子工業出版社,2017:101-103.
[20] 左德承,張展,董劍. 面向事務處理的容錯計算機系統結構設計與實現[J].高技術通訊,2008,18(2):111-115.
[21] 曹貴寶. 隨機森林和卷積神經網絡在神經細胞圖像分割中的應用研究[J].山東大學學院,2014(1):123-153.
(責任編輯:杜能鋼)