基于元胞自動機的增強現(xiàn)實標(biāo)記識別算法
增強現(xiàn)實系統(tǒng) 中標(biāo)記識別一直是增強現(xiàn)實系統(tǒng)的瓶頸,占用了系統(tǒng)處理的大部分時間,即使采用規(guī)則幾何形式的標(biāo)記,對于實時要求很高的增強現(xiàn)實系統(tǒng)而言,其識別算法的效果和實時性也是不理想的,因此提出了一種利用應(yīng)用元胞自動機模型,利用給定的演化規(guī)則,改進在增強現(xiàn)實系統(tǒng)中標(biāo)記識別的算法,并在ARTOOLKIT系統(tǒng)中做了具體實現(xiàn)。實驗結(jié)果表明,改進的算法的實時性和識別效果均有了很大的提高。
0 引? 言
增強現(xiàn)實技術(shù)(augmentedreality,AR),是隨著虛擬現(xiàn)實技術(shù)(virtual reality,VR)迅速發(fā)展和實際應(yīng)用需要而出現(xiàn)的一種將真實世界信息和虛擬世界信息“無縫”集成的新技術(shù)。增強現(xiàn)實系統(tǒng)是使用了增強現(xiàn)實技術(shù)的應(yīng)用系統(tǒng)。其重要特點的有:用戶擁有沉浸感,虛擬環(huán)境與實際環(huán)境融為一體,幾乎感覺不到真假融合所產(chǎn)生的不和諧;系統(tǒng)具有交互性,用戶可以通過交互設(shè)備直接與虛擬物體或虛擬環(huán)境進行交互:是在三維空間中增添定位虛擬物體,它的研究涉及系統(tǒng)結(jié)構(gòu)、人機接口、三維注冊、頭盔顯示等方面。利用標(biāo)記實現(xiàn)虛擬物體的精確注冊已經(jīng)是一種較成熟的技術(shù)了,并在室內(nèi)、室外到移動應(yīng)用等環(huán)境都得到了廣范應(yīng)用。其中標(biāo)記識別一直是增強現(xiàn)實系統(tǒng)的瓶頸,占用了系統(tǒng)處理的大部分時間,即使采用規(guī)則幾何形式的標(biāo)記,對于實時要求很高的增強現(xiàn)實系統(tǒng)而言其識別算法的結(jié)果和 實時性也 是不理想的。
元胞自動機(cellular automata,CA)是一時間和空間都離散的動力系統(tǒng)。散布在規(guī)則格網(wǎng)中的每一元胞(Cel1)取有限的離散狀態(tài),遵循 同樣的作用規(guī)則,依據(jù)確定的局部規(guī)則作同步更新。大量元胞通過簡單的相互作用而構(gòu)成動態(tài)系統(tǒng)的演化。不同于一般的動力學(xué)模型,元胞自動機不是由嚴格定義的物理方程或函數(shù)確定,而是用一系列模型構(gòu)造的規(guī)則構(gòu)成。凡是滿足這些規(guī)則的模型都可以算作是元胞自動機模型。因此,元胞自動機是一類模型的總稱,或者說是一個方法框架。其特點是時間、空間、狀態(tài)都離散,每個變量只取有限多個狀態(tài),且其狀態(tài)改變的規(guī)則在時間和空間上都是局部的。
1 傳統(tǒng)識別算法
視覺標(biāo)記的識別過程包括輸入圖像、輸出圖像標(biāo)記的包圍框和特征點的坐標(biāo)。這個過程的設(shè)計要求是具有較好的精度,滿足實時性要求,其中實時性要比精度更重要一些。標(biāo)記的識別中,一般可以利用的信息是標(biāo)記的邊緣信息、幾何信息、色度信息? 。如圖 1所示。首先將圖像轉(zhuǎn)化為二值圖像,然后利用 腐蝕 、邊框提取和 Hough變換等 技術(shù)獲得標(biāo)志包圍,再經(jīng)過種子填充和幾何限制等手段取得特征點集合。

2 采用CA模型的算法
CA識別算法如圖2所示,可見算法的效率高低取決于CA模 的設(shè)計。本文采用的CA模 犁如下:

2.1 元胞空間
假設(shè)元胞空間由二維 M*N個像素構(gòu)成。并假設(shè)是時間同步的。定義一幅M~N大小的二維圖像
![]()
式中:M,N分別表示圖像的高和寬。Aid')表示(? 點的狀態(tài)值(也即灰度值)。對于k值圖像,(? 在狀態(tài)集
取值。含有標(biāo)記的視頻圖像如圖3所示。

鄰居模式采用摩爾型。每個元胞構(gòu)成如下:每個元胞由4個分量構(gòu)成:GCell(c,p,e,v),其中C表示灰度,為簡單起見,先利用閥值進行了二值化,得到 0或 1。要注意在其過程中消除孤立點 ,不然會影 響識別效果 。P表示是 否是邊緣點,如 是邊緣點則為 1,否則為 0。e表示是否是邊 ,如是則為 1,否 則為0。v表示是否 為頂點 ,如是 則為 1,否 則為 0;i表示是否 為標(biāo)記內(nèi)部特征點,如是則為 1,否則為0。采用二值表示,簡化了操作。系統(tǒng)初始矩陣如下

根據(jù)式(1),c=(0,1,…, )其中開始點為隨機選擇的。實驗證明,隨機選擇的效果比固定選擇,如邊界的情況要好一些。算法采用定值型的邊界。保障演化運算不超過矩形空間。
2.2 演化規(guī)則
(1)先判斷是否是邊緣點。由邊緣定義可知,如果某一點狀態(tài)與其近鄰點中大部分點 的狀態(tài)相異 ,就是梯度變 化明顯,那這個點就可以認為是邊緣點,否則就認為是背景點,也就是非邊緣點?;诖死碚摚慈缦乱?guī)則來判斷邊緣點位置。
![]()
(2)判斷是否是邊? 的點,可 以有兩種判 斷方 法,從 圖 1可知,標(biāo)記是由一個固定寬度的正方形構(gòu)成的。設(shè)標(biāo)記的寬度為d,黑色標(biāo)記帶的寬度為n,則可用如下的規(guī)則判斷是否是正方形邊上 的點。即必須是邊緣點并且滿足連續(xù) x或 Y方向上n個都是邊緣點?;蛘邼M足連續(xù) x或 Y方向上 d個都是同等灰度的。如 式(4)和(5)表示


(3)判斷是否是頂點,如是頂點必須滿足是邊上的點并且滿足連續(xù) x或 Y方向上n個都是 同等灰度的。如式(6)所示

(4)內(nèi)部特征點必須滿足是邊緣點且不是邊點,如下
![]()
(5)系統(tǒng)結(jié)束條件是非常重要的,不然根據(jù)現(xiàn)在對 CA的研究,是很容易陷入混沌狀態(tài)的 。所以必須設(shè)置結(jié)束條件,根據(jù)應(yīng)用,結(jié)束條件是找到所有頂點并且特征點的數(shù) 目滿足特 征識別 的要求 。如下所示:
![]()
3 實驗結(jié)果
ARTOOLKIT是一種高效的AR開發(fā)平臺。其標(biāo)記識別采用傳統(tǒng)方法,作者利用這個平臺,改寫了標(biāo)記識別部分的算法,取得了較好的效果。在同一背景和相同PC及相機的情況下, 比較實驗結(jié)果如表 1、表 2,以及圖4、圖5所示??梢姴捎?CA模型的系統(tǒng)在識別效果很好的情況下實時性有了很大提高。



4 結(jié)束語
CA方法由于采用了二值運算,并且演化步驟有限,因此算法的效率是很高的,能夠較好的滿足AR系統(tǒng)實時處理的要求,可預(yù)留更多的時間給渲染程序。當(dāng)然,由于 CA在AR中的應(yīng)用才剛剛起步,CA算法應(yīng)該還可以應(yīng)用在AR系統(tǒng)的很多地面,如坐標(biāo)系變換、光照處理等,這些還有待進一步的研究。
電子發(fā)燒友App




















評論