牟 郁,郭 瑩
(沈陽工業(yè)大學信息科學與工程學院, 沈陽110870)
隨著人工智能技術(shù)的發(fā)展,新型、自然、便捷的人機交互方式已經(jīng)成為當今各行業(yè)交互方式的新趨勢。手語作為表達信息的一種方式,是聾啞人與外界交流的最主要途徑。手語分為手勢語和手指語。手勢語是用手的指示,動作,位置和朝向,配合面部表情或體態(tài)語言,按照一定語法規(guī)則來表達特定意思的交際工具;手指語是用手指代替拼音,組成一定的漢字,表達聾人思想,是聽覺障礙者學習發(fā)音、口語、識字的極有用處的輔助工具。手指語在一定程度上充實了手勢語的表達內(nèi)容,使手勢語由原來單純地表達實詞發(fā)展成表達虛詞,為實詞表達數(shù)量的增加起到了推動作用,從而使手勢語與有聲語言之間的內(nèi)在聯(lián)系更加密切。
傳統(tǒng)手語識別方法普遍存在背景干擾嚴重、特征提取不完整及識別準確率低的缺點[1]。由于用戶個體操作的不規(guī)范性,也會對識別造成一定的影響。為減輕此類影響,對其展開深入研究。在手語樣本的采集方面,把識別方法分為基于設(shè)備和基于視覺兩種,本研究采用后者?;谝曈X的方法通過攝像設(shè)備采集手語信息,與基于設(shè)備的方法相比,操作更加簡易,局限性更少,價格也更便宜,便于大量推廣?;谝曈X的手語識別研究正處于蓬勃發(fā)展階段,存在著許多有價值的研究客題,對于構(gòu)建更加友好的人機交互界面很有意義。
基于視覺的手語識別是指用攝像設(shè)備采集包含手語信息的圖像序列,通過提取、分析手語中的HOG 特征,經(jīng)由計算機通過一定的模式識別技術(shù)對手語進行識別。模式識別又通常稱作模式分類,從處理問題的性質(zhì)和解決問題的方法等角度來看,可分為有監(jiān)督的分類和無監(jiān)督的分類兩種[2]。有監(jiān)督的分類和無監(jiān)督的分類差別主要在于各實驗樣本所屬的樣本是否預(yù)先已知。
近年來,高維數(shù)據(jù)的稀疏表示成為機器學習和計算機視覺研究領(lǐng)域的熱點之一[3]。目前許多較好的分類系統(tǒng)往往都會選用稀疏表示作為其關(guān)鍵模塊[4]。稀疏表示分類(SRC)的應(yīng)用是將表征對象主要的或本質(zhì)的特征構(gòu)造稀疏向量,這些特征具有類間的強區(qū)分性。然后利用稀疏表示方法得到這些特征的值,并根據(jù)稀疏向量與某類標準值的距離,或稀疏向量間的距離判別來完成分類過程[5]。
本研究嘗試使用的方法即是將手語樣本轉(zhuǎn)化表示為稀疏信號,再用一組過完備基將輸入信號線性表達出來,這樣展開系數(shù)可以在滿足一定的稀疏度條件下,獲取對原始信號的良好近似。
采集的手語樣本通過HOG 特征提取之后可用一個高維向量來表示。高維特征空間通常是首選,這樣能夠更好地代表識別事件。但是,通過增加特征尺寸,所需訓練樣本的數(shù)量將呈指數(shù)增長。稀疏編碼是一種可以使用較少訓練樣本和參數(shù)來表示高維空間中數(shù)據(jù)的學習方法。基于稀疏編碼的分類方法歸因于通過去除冗余視覺特征,高維信號可以在低維流形中由其類別的代表性樣本稀疏地表示。稀疏表示現(xiàn)已廣泛應(yīng)用于圖像分析中的各種應(yīng)用,包括視頻事件檢測,動作識別,視頻編碼,擁擠中的異常事件檢測場景和語義檢測[6]。稀疏表示涉及了兩個優(yōu)化子問題:字典學習和稀疏編碼。
尋找字典的過程被稱為字典學習,其目標是學習到一個最優(yōu)的超完備字典,使用盡可能少的原子、以最小的誤差來稀疏地表示給定的原始信號。字典學習主要可分為無監(jiān)督和有監(jiān)督兩種。
2.2.1 無監(jiān)督字典學習
字典學習可通過下式來定義為優(yōu)化問題:
其中,L= [l1,l2,...,lN]∈RK×N表示為訓練樣本的N維輸入信號;是重構(gòu)誤差;X= [x1,x2,...,xN]∈RM×N是L 的稀疏編碼;|·|||F是F 范數(shù),定義為;||·||0代表l0范數(shù),表示向量的稀疏性;而D= [d1,d2,...,dh]∈RK×N是由M 列組成的超完備字典,其被成為原子。式中的最小化方程式中的能量可以通過K-SVD 迭代算法有效地實現(xiàn)。
通過求解稀疏編碼這個過程,將輸入信號li的稀疏表示xi計算為學習字典D 的幾個原子的線性組合。使用正交匹配追蹤(OMP)算法進行優(yōu)化,如下式:
具有l(wèi)0范數(shù)正則化的式(2)是一個非凸和NPhard 問題。此等式還有另一種選擇是使用l1范數(shù)而不是選擇l0范數(shù),這樣會強制稀疏性:
其中,λ是平衡重建誤差相對于稀疏項的相對重要性的正則化參數(shù)。通過優(yōu)化,可以將具有l(wèi)1范數(shù)正則化的稀疏編碼表示為以下優(yōu)化問題:
2.2.2 監(jiān)督字典學習
無監(jiān)督的字典學習并不利用訓練樣本中的類信息。受監(jiān)督的字典學習方法利用訓練樣本中的類信息,可用于學習判別字典以產(chǎn)生更好的分類精度和性能[7]。受監(jiān)督字典學習可以分為三類。第一類是每個類學習一個特定類的字典,以提高類之間的判別力。但因為分類器的性能由大字典保證,所以這種方法帶來較沉重的計算負擔。
第二類是先通過無監(jiān)督的方式來計算大字典,然后使用目標函數(shù)從該字典中選擇或合并原子并學習緊湊的共享字典。為了提高緊湊字典的判別力,這些方法中的目標函數(shù)是根據(jù)不同的標準設(shè)計的。這些方法的主要缺點是構(gòu)造的緊湊字典與初始字典的相似性。
第三類方法是將一個判別項并入詞典學習的目標函數(shù)中。在此種方法中,作為判別項的分類器參數(shù)是在字典學習階段期間學習的; 這些方法的例子包括判別性K-SVD(D-KSVD),標簽一致性KSVD(LC-KSVD)和Fisher 判別詞典學習(FDDL)[8]。該類別中的方法具有兩個缺點:目標函數(shù)是復(fù)雜且非凸的; 調(diào)整目標函數(shù)的參數(shù)是耗時且困難的。
本研究采用LC-KSVD 算法進行運算,以提高手語識別的準確性。
D-KSVD 和LC-KSVD 算法的核心思想是在優(yōu)化問題中統(tǒng)一判別式項和字典學習。D-KSVD 優(yōu)化問題的公式如下:
為了提高字典對稀疏編碼的判別能力,目標函數(shù)(5)通過LC-KSCD1 和LC-KSVD2 方法得到增強。LC-KSVD2 優(yōu)化問題適于用下式表示:
在優(yōu)化問題上,執(zhí)行字典和分類器參數(shù)學習是目前比較尖端的想法,但是也會出現(xiàn)使優(yōu)化問題變得更加復(fù)雜和非凸[9],此時可通過對提取的HOG 局部特征進行加權(quán)來解決這個問題。
本研究中提出的手語識別方法主要包括四個部分:圖像分割、特征提取、字典學習以及分類識別。具體過程如圖1 所示。
圖1 新方法的手語識別過程
圖像分割一般是指通過簡化或調(diào)整圖像的表示形式來使圖像變得利于理解和分析,它常常被用于定位某張圖像中的物體定位以及邊界劃分。進一步準確的理解就是圖像分割在給圖像中的每一個像素點添加標簽,通過這一操作使得那些具有相同標簽的像素點有了共同的特征,從而達到了定位物體的目的。圖像分割的方法一般包括閾值分割、膚色分割、區(qū)域提取等。按照要分割的圖像類型可分為:灰度圖像分割、彩色圖像分割和紋理圖像分割[10]等。具體的實施方案根據(jù)圖像的特征有所不同,此處選取基于閾值分割的方法來進行圖像的分割。
分別采用閾值分割方法對樣本集中的“l(fā)”、“n”和“y”手語圖像進行圖像分割并對比,實驗結(jié)果如圖2 所示。結(jié)果表明手語圖像采用基于閾值分割方法(閾值選取0.5)可以提取比較完整的手區(qū)域。
圖2 手語字母原始圖像閾值分割效果
對預(yù)處理過后得到的手語輪廓再進行特征信息提取。通過映射(變換),將高維的特征向量轉(zhuǎn)化為低維。對于手語的特征選擇是從最原始的特征中挑選出一些最具代表性、分類性能好的特征來達到降低特征空間維數(shù)的目的[11]。目前比較主流的圖像特征提取方法有三種:HOG、SIFT、LBP。
特征提取指的是一種利用計算機來提取圖像信息進而決定每個圖像的點是否屬于一個圖像特征的概念。特征提取的結(jié)果是把圖像上的點分為不同的屬于孤立的點、連續(xù)的曲線或者連續(xù)的區(qū)域子集。大多數(shù)計算機圖像算法均使用特征提取當作其初級計算步驟,因此發(fā)展出了大量的特征提取算法,其提取的特征各式各樣,計算復(fù)雜性以及可重復(fù)性也不盡相同。
SIFT 算法通過求取圖像中的局部性特征及其有關(guān)尺度空間和方向的描述子得到,優(yōu)點是具有尺度不變性、旋轉(zhuǎn)不變性、對視角變化和噪聲具有一定程度的穩(wěn)定性以及特征維度?。蝗秉c是實時性不高、模糊圖像的特征點較少以及對邊緣光滑的目標無法準確提取特征[12]。LBP 算法計算較為簡便,運算速度快,但缺點是方向信息有所欠缺。HOG 算法的基本思想為:研究目標的局部特征能夠被其歸一化方向梯度分布所識別,此外HOG 特征不需要精確了解相對應(yīng)的梯度信息與邊緣位置信息[13]。在此,將預(yù)處理之后的圖像進行HOG 特征提取處理,得到圖像相對應(yīng)的描述特征符。
HOG 算法的原理為:先將圖像分割,分割后每個小區(qū)域之間連通,稱為細胞單元(cell)。針對每個細胞單元,先求出其像素點的梯度和圖像的邊緣方向直方圖,再對這些直方圖進行采集,最后進行組合得出特征向量[14]。HOG 算法的主要實現(xiàn)步驟如下:
1) 標準化Gamma 空間和顏色空間
減少光照因素方面的影響,對需要檢測的目標對象圖像進行歸一化處理。分析圖像的紋理強度得知,局部表層的曝光存在更大比重,故此算法可以在很大程度上降低圖像局部的陰影和光照變化。因為顏色對算法的作用較小,故通過Gamma 校正法,歸一化輸入圖像的顏色空間。此方法通過調(diào)節(jié)圖像的對比度,來減弱圖像的局部光照和陰影變化,可有效地降低噪音的干擾。
2) 計算圖像梯度
對于目標對象成功獲取其輪廓信息,需要使光照產(chǎn)生的干擾減弱,并計算各像素的梯度,包括大小和方向。在橫、縱坐標的方向分別計算圖像的梯度,并計算其梯度方向值。通過求導的算法,可以完成輪廓的捕獲,并獲取手影和紋理的信息,從而使光照產(chǎn)生的影響減弱[15]。
3) 構(gòu)建梯度方向直方圖
為提供給局部圖像區(qū)域一個編碼,需要對各細胞單元進行梯度方向直方圖的構(gòu)建,對于圖像中目標外觀的弱敏感性,此方法能夠有效實現(xiàn)。首先對圖像進行劃分,形成若干個小單元格即cell。實驗中分割縮放后得到的圖像大小是128×64 像素,且各個cell 均設(shè)為8×8 個像素,即窗口的搜索步長為8,所以得到了沒有重疊的16×8 個cell;然后利用9 個bin 的直方圖對此像素的梯度信息進行統(tǒng)計,如圖3所示??梢钥吹?,cell 的梯度方向被分為360°的9 個方向塊。
圖3 劃分成9 個梯度方向的cell
4) 歸一化梯度直方圖
當局部光照和對比產(chǎn)生變化時,梯度強度會在很大范圍內(nèi)變化,故需對梯度強度進行歸一化。因為每8×8 個像素組成的cell 能夠提取9 個梯度方向直方圖,而實驗中取每2×2 個cell 組成一個block,故每個block 中包括了9×4 個梯度特征。歸一化的操作可以進一步地壓縮光照、陰影和邊緣,增加信息的準確程度。
5) 收集HOG 特征
每2×2 個cell 組成了1 個block。相鄰block 之間存在重疊,所以有15x15 個block。對于目標圖像范圍內(nèi)所有block 的HOG,串聯(lián)其特征描述,可得出該目標圖像的HOG 特征描述符,亦即可供分類使用的最終特征向量,它包含15×15×9×4=8100 個HOG 特征。HOG 特征提取過程如圖4 所示。
圖4 HOG 特征提取過程
基于稀疏表示的圖像識別方法是近年來模式識別領(lǐng)域的研究熱點[16]。字典學習則是基于稀疏表示圖像識別方法中的核心問題。計算待識別信號的稀疏編碼和對識別信號進行分類是字典學習在基于稀疏表示的分類中起到的兩個最關(guān)鍵的作用[17]。為了得到理想的字典,同時提高通過學習得到的字典的判別能力,在字典學習的過程中,將具有判別性的正則項應(yīng)用于編碼系數(shù),從而使得來自同一類的相似訓練樣本具有相似的編碼系數(shù)。對于給定的任一測試樣本,將學習到的字典用于計算該測試樣本的編碼系數(shù),并根據(jù)計算得到的編碼系數(shù)以及重構(gòu)誤差,進而完成對測試樣本的分類識別。
可以使用稀疏表示來移除冗余的視覺特征并將原始特征映射到較低維度的空間[18]。稀疏表示的性能會極大影響學習字典。在此提出了一種改進的利用輸入樣本數(shù)據(jù)的監(jiān)督標簽和判別性信息來學習判別和重建字典的方法。與標簽一致性K-SVD 方法一樣,為了提高線性分類器的性能并獲得有區(qū)別的稀疏碼,可以在重建字典學習過程中改進比較判別性稀疏編碼和經(jīng)過處理的字典原子項的方法。重建和判別詞典學習的目標函數(shù)表述如下:
使用與D-KSVD 和LC-KSVD 方法相同的策略,上述目標函數(shù)可以改寫為:
算法中的參數(shù)Te和W 需要進行初始化,通過使用稀疏編碼矩陣X、判別性稀疏編碼Q 以及類標簽矩陣H 按照下式進行計算:
經(jīng)過字典學習后可獲得參數(shù)D= [d1,d2,...,dN],和,進而可以按照下式進行計算處理來得到可以用于識別的參數(shù)以及
然后將待測試的手指語樣本li輸入,根據(jù)下式進行對應(yīng)的稀疏編碼xi的計算:
其中,fe∈RM為類標簽向量。
使用適當?shù)臄?shù)據(jù)集作為基于學習算法的訓練、測試及比較的基準是至關(guān)重要的。然而國際上公開可用于手語識別檢測的數(shù)據(jù)集中的圖像樣本存在不清晰以及每類手指語樣本數(shù)量不統(tǒng)一等問題,例如美國Thomas Moeslund 采集的手語數(shù)據(jù)集。為克服這一問題,實驗采用自制手語數(shù)據(jù)集,該數(shù)據(jù)庫包含了國際手語字母表中使用的不同靜態(tài)符號(A~Y,不包括J)的24 類手語,其中每類字母樣本分別為100張圖片,共2400 張圖片。通過使用高清相機拍攝照片來采集手語圖片,像素為1600 萬,分辨率為1920×1080,每個樣本信號都是在深色背景前執(zhí)行的,并且用戶的手臂被一塊類似黑色布的物體覆蓋。如圖5 所示為實驗中采集到的一部分手語數(shù)據(jù)集。
圖5 自制手語數(shù)據(jù)集實例
每個樣本在平行于圖像平面的平面中以各種比例、平移和旋轉(zhuǎn)執(zhí)行,保存為JPG 格式的彩色圖像。采用的實驗環(huán)境為64 位的Windows 10 操作系統(tǒng),電腦配置為Dell 的x64 處理器,內(nèi)存為4GB;實驗的研究平臺為R2016b 版本的MATLAB 平臺。
為了調(diào)查參數(shù)對采用的手語數(shù)據(jù)集的影響,在實驗中分別隨機選擇了每類手語類型60%的樣本,用于培訓擬議框架的不同部分,并保留其他40%分別用于測試。在應(yīng)用本方法于所提供的數(shù)據(jù)集之前,研究了字典大小和稀疏因子的影響。通過交替調(diào)整其中一個參數(shù),同時修復(fù)其他參數(shù)來進行測試。
5.2.1 字典大小的影響
影響分類準確度和計算時間的主要參數(shù)之一是字典大小。為分析字典尺寸大小對識別算法性能的影響,指定稀疏因子T=10,選取不同字典尺寸K,觀察相應(yīng)的LC-KSVD 算法識別率,結(jié)果如表1 所示。
表1 不同字典尺寸下LC-KSVD 算法識別率T=10
從表中數(shù)據(jù)可知,識別率隨著字典尺寸增大有相應(yīng)的提高趨勢,但是并不是字典尺寸越大,識別率就越高,所以選取適當?shù)淖值涑叽缫矘O為關(guān)鍵。當字典尺寸較小時也可以獲得較高的識別率,這是字典學習與稀疏編碼結(jié)合的優(yōu)勢所在。一般情況下,用于訓練字典和稀疏編碼的分類性能和計算時間會隨著字典大小增加而增加。因此,當字典大小較小且分類性能較高時,構(gòu)建的冗余字典較小,計算的時間復(fù)雜度也較小,更利于手語識別的實時性,現(xiàn)實的效果較為理想。
5.2.2 稀疏因子的影響
為分析稀疏因子T 對識別率結(jié)果的影響,指定字典尺寸K=700,觀察稀疏因子T 取不同值時的識別率,結(jié)果如表2 所示。
表2 LCD 屏幕位置顯示實例K=700
為驗證LC-KSVD 算法的識別性能,針對手語數(shù)據(jù)集中的24 類手語,按照60%為訓練樣本、40%為測試樣本的比例選取并進行測試,當稀疏因子T=20 時,在選取不同字典尺寸K 的情況下,將本方法與K-SVD、D-KSVD 以及LC-KSVD 進行比較,來驗證改進的LC-KSVD 算法的識別性能,展示各類算法識別率以及識別時間的差異。各算法中選取的參數(shù)均相同,以體現(xiàn)公正性。
各類算法的識別率以及識別時間的對比結(jié)果如圖6 所示。
圖6 三種算法的識別率及識別時間對比
由圖6 可以看出,在基于稀疏編碼的手語識別算法中,LC-KSVD 算法保持了較高的識別率,其主要原因是在字典學習過程中對判別性稀疏編碼與經(jīng)過處理的字典原子項進行聯(lián)系與結(jié)合,進而獲得了更強的判別能力。通過觀察可以看出LC-KSVD 的識別時間要短于其他算法。識別時間表達的是在測試階段使用的時間,這是因為求解稀疏編碼以及將稀疏編碼送入分類器所用的這段時間是字典學習在離線階段完成的,這樣經(jīng)過LC-KSVD 算法學習得到的字典原子數(shù)量會驟減,以此提升了手語的識別速度,所以LC-KSVD 的整體效果明顯優(yōu)于其他算法,實驗采用的方法實現(xiàn)了最佳性能。
LC-KSVD 算法和SRC 算法的識別結(jié)果對比如表3 所示。
表3 LC-KSVD 與SRC 算法對比
可見,LC-KSVD 的整體效果明顯優(yōu)于SRC 算法,這是因為SRC 算法是直接對原始沒有經(jīng)過字典學習的冗余字典進行識別,雖然也可以取得比較高的識別率,但是卻要花費較長的識別時間。
為進一步評估LC-KSVD 算法的識別性能,在同樣的參數(shù)條件下,將LC-KSVD 算法與CART 分類回歸樹算法及KNN 算法進行比較來驗證新方法的有效性。表4 給出了LC-KSVD 算法(K=700,T=20)與CART 分類回歸樹算法及KNN 算法的手語識別率以及識別時間的對比結(jié)果。
表4 LC-KSVD 與CART 分類回歸樹及KNN 算法對比
從表中可以看出,LC-KSVD 算法明顯優(yōu)于這兩種對比算法,保持了較高的識別率且識別時間較短,主要原因在于LC-KSVD 算法通過字典學習后可以有效地對手語的變化進行建模。
針對傳統(tǒng)的基于視覺的手語識別中存在的復(fù)雜的特征提取、魯棒性不強等問題,采用HOG 的方法進行特征提取,進而完成的一種基于稀疏編碼的手語識別方法。該方法對已經(jīng)進行預(yù)處理的圖像進行特征提取,避免了因光照、噪聲等因素而受影響的問題,使得到的描述特征信息包含更加有用的信息,進而提高分類識別的正確率。該方法利用LC-KSVD字典學習算法來得到一個既具有表示能力,又具有判別能力的過完備字典,將手語的分類識別問題轉(zhuǎn)換成在該過完備字典上的稀疏表示分類問題,同時滿足了實時性以及降低計算成本的要求。在選用的自行采集的24 類手語數(shù)據(jù)集上進行了測試,實驗結(jié)果驗證了所提出的識別方法的實際有效性。