冀 婷
(西安石油大學,陜西 西安 710065)
由于語音識別、圖像理解、EMG信號提取等技術(shù)的發(fā)展,基于語音、手勢姿態(tài)的人機交互技術(shù)應用也在日益擴展,因此繁衍出更多的創(chuàng)新型人機交互技術(shù)[1]。人機交互技術(shù)是由視覺傳感器檢測并獲取目標的三維數(shù)據(jù),并將其通過計算機變成視覺實體,使圖形信息能夠被直觀地檢測和分析。傳統(tǒng)方法包括圖像信息檢測方法[2]、異常檢測法[3]。但是在當前技術(shù)下,存在一個關(guān)鍵的技術(shù)難題:感知三維數(shù)據(jù),也就是如何進行三維數(shù)據(jù)協(xié)同感知。在檢測中,如果過量采樣會造成數(shù)據(jù)堆疊,浪費計算機軟硬件資源,若采樣不足也將造成空間頻譜混疊致使檢測結(jié)果出現(xiàn)偏差,所以理想的采樣選取是非常必要的。
為了提升檢測效果,本文構(gòu)建一種基于人機交互的三維數(shù)據(jù)協(xié)同可視檢測仿真,將柵格化的三維數(shù)據(jù)通過簇分類、特征提取與決策函數(shù),對目標進行精準劃分與檢測,該法具備較好的檢測準確度和平穩(wěn)度。
該框架通過C/S結(jié)構(gòu)[4],由服務設(shè)備下達執(zhí)行命令,服務端保留目標數(shù)據(jù)和相關(guān)參數(shù),如增添新目標,服務設(shè)備將發(fā)送新的執(zhí)行命令;其中不僅含有操作命令,而且包含反饋命令。為縮短反饋時長,采取用戶群互通的交互方法。
服務設(shè)備主要是執(zhí)行保存和下達等指令。數(shù)據(jù)傳輸?shù)街鲗У姆斩撕髸4嬷练赵O(shè)備,然后再由該設(shè)備下達給各用戶端。
基于C/S結(jié)構(gòu)的服務設(shè)備和用戶端性能分類如圖1所示。
圖1 服務設(shè)備和用戶端性能分類圖
在三維數(shù)據(jù)協(xié)同可視檢測時,需要將二維數(shù)據(jù)重建實現(xiàn)三維建模,即三維建模[5]等于是每個二維數(shù)據(jù)的堆疊。三維建模流程圖表明,閾值檢測行為是在閾值數(shù)量設(shè)置好后才執(zhí)行的,也就是說,通過灰度直方圖檢測、目標邊緣灰度統(tǒng)計或固定閾值方法,能夠得出作為建?;A(chǔ)的邊界閾值數(shù)量。最后結(jié)合背景和材質(zhì),獲得三維數(shù)據(jù)圖像。當渲染結(jié)果不太理想時,可以通過調(diào)整需繪制的邊界數(shù)量或選擇不同閾值,來獲得令人滿意的結(jié)果。多數(shù)情況下,該構(gòu)建流程都可以使檢測目標生成較為理想的三維數(shù)據(jù)結(jié)果。
由于Kinect傳感器的傳輸頻率比較快,獲取與反饋數(shù)據(jù)信息時基本實現(xiàn)同步傳達,再加上三維數(shù)據(jù)協(xié)同模型采集的數(shù)據(jù)為點云數(shù)據(jù),所以協(xié)同感知環(huán)境下對目標三維數(shù)據(jù)的提取又迅速又精準,而且還能實時檢測。
雖然獲得的點云數(shù)據(jù)較為精確,但數(shù)據(jù)量又龐大又散亂,因此,要通過鄰域查詢等途徑重建數(shù)據(jù)信息。采取柵格法[6]將點云數(shù)據(jù)進行劃分,不僅可以提升鄰域查詢的效率,而且對數(shù)據(jù)篩選起著重要的作用。該法為一種普適又有效的分類方案,在實際操作中能夠快速對數(shù)據(jù)進行劃分處理。
柵格分類法的具體步驟為:獲取背景信息的點云數(shù)據(jù),所測范圍內(nèi)目標出現(xiàn)時,Kinect傳感器將同步采集到點云數(shù)據(jù)P,設(shè)定P點的最大三維數(shù)值是xmax,ymax,zmax;最小三維數(shù)值是xmin,ymin,zmin。所有極值的坐標交錯后形成極小長方體柵格,假設(shè)所測范圍的邊長為L,空間點云被分成的柵格數(shù)量為n,由柵格化公式推算得出柵格數(shù)量n的公式
(1)
把獲得的點云數(shù)據(jù)與柵格一一對應后,做差所得的結(jié)果就是該目標在點云空間內(nèi)的點云信息。通過將柵格分類點云數(shù)據(jù)減去背景原始數(shù)據(jù),獲取目標的點云信息,再以二維數(shù)據(jù)形式進行存儲,當各數(shù)據(jù)點保存到相應的柵格查詢數(shù)據(jù)庫時,對其下達鄰域查詢指令,指令執(zhí)行時從該點柵格開始查詢,如沒有查詢結(jié)果,則繼續(xù)查詢其周圍的柵格,從而減少對全部點云數(shù)據(jù)查詢的指令操作,簡化非鄰域點的運算,在一定程度上加快查詢速度。
通過柵格法采集可用的點云信息,得到基于Kinect傳感器的目標數(shù)據(jù),將其排列成目標的點云二維數(shù)值方陣,并假定該方陣是A1;根據(jù)旋轉(zhuǎn)矩陣[7]R和平移矩陣t推算成三維數(shù)值后,將得到的方陣假定為A,再利用模型和傳感器提取的點云數(shù)據(jù)得出目標的三維坐標數(shù)據(jù)。
為了使獲取的點云信息更為精準,在采集到經(jīng)柵格分類的點云數(shù)據(jù)后,需通過濾波算法做降噪處理。Kinect傳感器可以獲得所有點的三維點云信息(即各點的x、y、z數(shù)值),且模型提取的是目標在y軸上的全部數(shù)據(jù)信息。
由獲得的點云數(shù)據(jù)得出水平方向y的極值(即ymin、ymax)和垂直方向z的極值(即zmin、zmax),把兩對極值投影至yz坐標系上,設(shè)定O是三維數(shù)據(jù)協(xié)同模型坐標系的原點,y軸為x值等于0的點集合,也是該坐標系的正方向;其中,ymin、ymax、zmin和zmax的投影點分別是點A、B、C、D。由Kinect傳感器和模型協(xié)同得到的旋轉(zhuǎn)矩陣R和平移矩陣t,推算出點A、B、C、D的三維坐標數(shù)據(jù)。用點A舉例說明
(xA,yA,zA)=R(x1,y1,z)+t
(2)
創(chuàng)建被點O、A、B、C、D所構(gòu)成的多面體,求得成像角度的過程如圖2所示。
圖2 三角形構(gòu)建示意圖
從上圖中可以得知多面體的所有線段長,用線段AB舉例說明
(3)
多面體中含有三角形:ΔAOB、ΔAOC、ΔAOD、ΔBOC、ΔBOD、ΔCOD,用ΔAOB舉例說明,由三角形余弦定理可知
(4)
根據(jù)上式即可得到所有三角形中以點O為頂點的全部角度,通過對比得出最大角度,也就是三維數(shù)據(jù)協(xié)同模型的可視范圍,為提高目標數(shù)據(jù)信息采集的精準度奠定基礎(chǔ)。
在人機交互的條件下,如想獲取更多目標數(shù)據(jù)信息,那么要根據(jù)三維數(shù)據(jù)協(xié)同模型,將所測目標歸類劃分,進而對目標的細節(jié)所屬進行標識并實現(xiàn)可視檢測。
2.3.1 k-means分類法
分類法中較為簡潔有效的劃分方法為k-means算法[8],該算法具有普適性,其類別判定的標準為長度,原理是根據(jù)長度對目標進行劃分并組成有差異的簇,兩點間長度愈短,那么屬于相同類別的可能性愈大,從而獲得一個分類準則,即牢固又獨立的簇。
于某一存在空間里采集一組數(shù)據(jù){x1,…,xN},其被劃分成簇的數(shù)量為K,如果僅考慮歐幾里得空間方面,則應該把長度較短的點劃分成一個簇,而其它不同簇里的點,其長度應該較長。k-means算法的原理為提取K個分類中心μk(k=1,…,K),然后把全部數(shù)據(jù)分別劃分給與其之間長度最短的分類中心,以達到各點與其所屬分類中心之間長度的平方和為極小值的目的。
數(shù)據(jù)點xn用邏輯變量rnk∈{0,1}代替,針對分類k的劃分,當數(shù)據(jù)點xn劃分為第k類別時,那么rnk=1,反之,rnk=0。因此,對損失函數(shù)做出下列定義
(5)
上式,損失函數(shù)的分類標準是rnk,分類中心是μk。
當損失函數(shù)J為極小值時,求得全部數(shù)據(jù)點的分類標準{rnk}與分類中心{μk}。此時的k-means算法通過將不斷變化的原始數(shù)據(jù)遞推為新數(shù)據(jù)的過程,使重復反饋的rnk和μk得到持續(xù)的交替改良。具體步驟如下:
首先,獲取分類中心μk的初始數(shù)據(jù),推算出損失函數(shù)J為極小值時的數(shù)據(jù)點分類標準rnk,根據(jù)損失函數(shù)定義,已知xn與μk值,損失函數(shù)J為rnk的線性函數(shù),因為xn的數(shù)據(jù)點間毫無聯(lián)系,為了獲取各數(shù)據(jù)點n,把該數(shù)據(jù)點劃分到與其之間長度最短的分類中心內(nèi),如下式所示
(6)
根據(jù)上式得到的rnk,推算出損失函數(shù)J為極小值時的分類中心μk。已知rnk值,損失函數(shù)J為μk的二次函數(shù),當因變量J對自變量μk進行求導,導數(shù)值為0時,那么有
(7)
所以μk取值推導為如下公式
(8)
關(guān)于第K個類別,當rnk選定是1時,數(shù)值為其類別內(nèi)點的數(shù)量,所以μk為其類別內(nèi)點的均值。
重復反饋的過程,等空間內(nèi)所有的數(shù)據(jù)信息全部處理完全后才會停止,數(shù)據(jù)分類效果逐漸趨于理想化。
目標通過k-means算法分類處理后,其分割的各區(qū)域特征也要收集提取,通常采取的特征提取法為LBP特征提取、Haar特征提取等。本文主要利用LBP特征提取法來獲得處理后的目標特征。
2.3.2 LBP特征獲取
目標特征為該目標與其它目標之間存在的差異點或者目標自身具有的獨特特征。LBP算法[9](Local Binary Pattern,也叫局部二值模式)是用于對目標細節(jié)紋理特征進行分類的運算符,其具備不變性的優(yōu)勢,例如旋轉(zhuǎn)不變性、灰度不變性等,并展現(xiàn)出良好的分割效果,廣泛運用于相關(guān)領(lǐng)域。
LBP算法是在由3×3個網(wǎng)格組成的框架里進行運算,該框架中間的像素值是與周圍8個像素值做大小比較的基礎(chǔ)值(即閾值)。如果比較的像素值比閾值大,那么將該像素所在的網(wǎng)格標記成1;反之標記成0。然后得到8位二進制數(shù),也就是該框架中間像素點的LBP值,該值是紋理信息的展現(xiàn)。圖3為LBP特征提取法的示例圖。
圖3 LBP特征提取法的示例圖
LBP算法提取目標特征時,該目標的各像素點都會做像素值對比,并獲取其相應的LBP值。
2.3.3 SVM分類與檢測
支持向量機[10](support vector machines)為一種二分類模型,以在特征空間內(nèi)搜索一分類面來分割樣本為目標,以距離最大化為分割原則,最后轉(zhuǎn)變成一個基本的非線性分類器。該模型是利用特征劃分來獲得目標間隔,經(jīng)過多次的重復反饋獲得距離的極大值,其算法是對凸二次規(guī)劃問題進行解析的理想化算法。
支持向量機通常用于解析線性可分情況,解決間距過大的問題。然而,當數(shù)據(jù)處于線性不可分情況時,根據(jù)非線性映射算法,低維空間里的線性不可分數(shù)據(jù)被改成高維特征空間里的線性可分數(shù)據(jù),然后通過線性算法實現(xiàn)對數(shù)據(jù)非線性特征的進一步轉(zhuǎn)換,使其成為線性特征來進行解析。提出支持向量機的初始動機是要對兩類數(shù)據(jù)進行歸化,分類情況分為四種:二分類線性可分;二分類線性不可分;二分類非線性可分;二分類非線性不可分。
二分類線性可分情況下,通過線性可分SVM,按照已知數(shù)據(jù)(xi,yi),得到如下的歸化平面公式
WX+b=0
(9)
上式,特征縮放系數(shù)分別是W、b。
該歸化平面不僅能夠?qū)煞N數(shù)據(jù)進行精準地劃分,還可以滿足兩個類別內(nèi)數(shù)據(jù)間距最大化的條件。當上式中W和X代表維度矢量時,則線性判斷基本公式如下所示:
g(x)=Wx+b
(10)
由于歸化平面不是只有一個,所以要將幾何距離的極大值轉(zhuǎn)換成約束最優(yōu)化問題,得出
(11)
(12)
(13)
根據(jù)式(13)完成三維數(shù)據(jù)協(xié)同可視檢測,為檢驗本文方法的有效性及可行性,需進行仿真。
本文模型的開發(fā)平臺是基于Windows XP系統(tǒng)的Visual studio c++2017,計算機配置是Pentiun(R)Dual-Core CPU 2.62GHZ內(nèi)核,2.00GB內(nèi)存;模型框架是在wxWidgets庫下完成,通過Opengl與Glew對目標進行繪制與顯示,利用Vcglib庫對目標數(shù)據(jù)進行采集。三維數(shù)據(jù)采集界面如圖4所示。
圖4 數(shù)據(jù)采集界面
為驗證該模型檢測的準確度與穩(wěn)定性,對實驗對象采取相同環(huán)境下56個小時的重復檢測,抽取測量數(shù)據(jù)如表1所示。
表1 各方法檢測數(shù)據(jù)量對比(單位:bit)
如表1所示,相同時間內(nèi),所提檢測的數(shù)據(jù)量更高,說明所提方法檢測效率更高。
三種方法對三維數(shù)據(jù)進行可視化檢測時,不同輸出頻率代表波動不同,波動越小,說明三維數(shù)據(jù)檢測能耗越低,檢測效率越高。對三種方法的輸出頻率進行對比實驗,實驗結(jié)果如圖5所示。
圖5 不同方法輸出頻率對比圖
如圖5所示,文獻[2]方法、文獻[3]方法出數(shù)頻率較高,波動較大,而所提方法輸出頻率逐漸降低,波動較小,并且較為穩(wěn)定。說明所提方法具有明顯優(yōu)勢,實用價值較高。
為了進一步驗證檢測效果,對檢測結(jié)果偏差進行實驗對比,實驗結(jié)果如圖6所示。
圖6 三種方法檢測結(jié)果偏差折線圖
通過上圖可以更加直觀地看出,所提所提方法偏差更小,具備更優(yōu)化、更理想的精準度和穩(wěn)定性。
為了提升可視檢測應用領(lǐng)域廣泛性及檢測結(jié)果準確性,本文提出一種基于人機交互的三維數(shù)據(jù)協(xié)同可視檢測,將人機交互時采集的點云數(shù)據(jù)柵格化,通過對目標的特征提取、分類以及決策函數(shù),最終實現(xiàn)檢測的目的。所以,本文研究得出的方法具有良好的同步性與實時性,不僅檢測速度快,而且檢測的準確率、精度俱佳,穩(wěn)定性極好。