Fpar卡設(shè)計(jì)與快速識(shí)別定位方法
【專利摘要】本發(fā)明公開(kāi)了一種FPAR卡的設(shè)計(jì)與快速識(shí)別方法,設(shè)計(jì)方法是所述FPAR卡上設(shè)有多組同心圓/同心多邊形紋路,每一組同心圓/同心多邊形稱作一個(gè)定位點(diǎn),多組同心圓/同心多邊形組成識(shí)別紋樣,所述多組同心圓/同心多邊形排列后總的圖形呈中心對(duì)稱。快速識(shí)別定位方法包括下述步驟:S1、視頻輸入,將采集到的視頻源文件先分解成幀序列;S2、RGB/YUV預(yù)處理;S3、二值化處理,采用模糊濾鏡方法對(duì)圖像進(jìn)行二值分離;S4、采用填色法進(jìn)行圖像識(shí)別處理;S5、判定可能的定位點(diǎn);S6、通過(guò)成像畫(huà)面反推FPAR卡的法向量,以服務(wù)于后續(xù)的虛擬現(xiàn)實(shí)渲染;S7、確定整個(gè)FPAR卡在三維空間的位置;S8、渲染虛擬現(xiàn)實(shí)。本發(fā)明具備具有縮放優(yōu)勢(shì)、抖動(dòng)優(yōu)勢(shì)、模糊圖像識(shí)別優(yōu)勢(shì)、部分遮擋識(shí)別優(yōu)勢(shì)、旋轉(zhuǎn)優(yōu)勢(shì)、以及魯棒性強(qiáng)、可靠性強(qiáng),同時(shí)具備靜態(tài)準(zhǔn)確度高、識(shí)別速度快的優(yōu)點(diǎn)。
【專利說(shuō)明】
FPAR卡設(shè)計(jì)與快速識(shí)別定位方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及圖像處理的研究領(lǐng)域,特別涉及一種FPAR卡設(shè)計(jì)與快速識(shí)別定位方 法。
【背景技術(shù)】
[0002] 增強(qiáng)現(xiàn)實(shí)(Augmented Reality,簡(jiǎn)稱AR)技術(shù),它是一種將真實(shí)世界信息和虛擬世 界信息"無(wú)縫"集成的新技術(shù),是把原本在現(xiàn)實(shí)世界的一定時(shí)間空間范圍內(nèi)很難體驗(yàn)到的實(shí) 體信息(視覺(jué)信息,聲音,味道,觸覺(jué)等),通過(guò)電腦等科學(xué)技術(shù),模擬仿真后再疊加,將虛擬 信息應(yīng)用到真實(shí)世界,被人類感官所感知,從而達(dá)到超越現(xiàn)實(shí)的感官體驗(yàn)。真實(shí)的環(huán)境和虛 擬物體實(shí)時(shí)地疊加到了同一個(gè)畫(huà)面或空間同時(shí)存在。
[0003] 增強(qiáng)現(xiàn)實(shí)技術(shù)包含了多媒體、三維建模、實(shí)時(shí)視頻顯示及控制、多傳感器融合、實(shí) 時(shí)跟蹤及注冊(cè)、場(chǎng)景融合等新技術(shù)與手段。增強(qiáng)現(xiàn)實(shí)提供了在一般情況下,不同于人類可以 感知的信息。
[0004] FPAR(Fast Positioning Augmented Reality),F(xiàn)PAR是集快速定位與快速識(shí)別信 息于一體的AR卡。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種FPAR卡設(shè)計(jì)與快速 識(shí)別定位方法。
[0006] 為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
[0007] 本發(fā)明提供了一種FPAR卡的設(shè)計(jì)方法,所述FPAR卡上設(shè)有多組同心圓/同心多邊 形紋路,每一組同心圓/同心多邊形稱作一個(gè)定位點(diǎn),多組同心圓/同心多邊形組成識(shí)別紋 樣,所述多組同心圓/同心多邊形排列后總的圖形呈中心對(duì)稱。
[0008] 作為優(yōu)選的技術(shù)方案,所述FPAR卡上設(shè)有5組同心圓/同心多邊形紋路,每組定位 點(diǎn)的紋路形狀相同,其中4組同心圓/同心多邊形排列在矩形卡片的四角,第五組同心圓/同 心多邊形定在卡片的長(zhǎng)邊的中央位置或處在能夠識(shí)別FPAR卡的不對(duì)稱位置上;每組組同 心圓/同心多邊形相鄰兩圈邊緣的縮放比例是
[0009] 本發(fā)明還提供了一種FPAR卡的快速識(shí)別定位方法,包括下述步驟:
[0010] S1、視頻輸入,將采集到的視頻源文件先分解成幀序列;
[0011] S2、RGB/YUV預(yù)處理,提取到的幀可能是是RGB或YUV格式,當(dāng)提取到的為RGB格式 時(shí),快速識(shí)別方法是只取紅色或者綠色通道,而將其余通道丟棄,當(dāng)提取到的為YUV格式時(shí), 則只要Y通道,丟棄U、V通道;
[0012] S3、二值化處理,對(duì)圖像進(jìn)行二值分離;
[0013] S4、采用模糊濾鏡方法進(jìn)行圖像識(shí)別處理;使用正倒序兩重IIR濾波器,其中正向 為Pq = P〇,其它Pn = WQ*pn+Wl*Pn-l+W2*Pn-2,相似地,逆向的形式為Qlen-l = Plen-1,其余Qn = W〇*Pn +Wl*Qn+1+W2*Qn+2,其中下標(biāo)越界的部分使用鉗位的方式處理,即取其最近鄰合法下標(biāo),以這 樣的形式使用IIR濾波器對(duì)高斯模糊進(jìn)行仿真;
[0014] S5、判定可能的定位點(diǎn),
[0015] S6、獲取FPAR卡的三維法向量,通過(guò)成像畫(huà)面反推FPAR卡的法向量,以服務(wù)于后續(xù) 的虛擬現(xiàn)實(shí)渲染;
[0016] S7、通過(guò)比對(duì)和偏差修正,確定各個(gè)定位點(diǎn)的三維位置,從而確定整個(gè)FPAR卡在三 維空間的位置;
[0017] S8、渲染虛擬現(xiàn)實(shí),虛擬地將一張平面圖片貼在三維FPAR卡上,算出圖片貼在FPAR 卡上后,每個(gè)對(duì)應(yīng)點(diǎn)的顏色應(yīng)該顯示在成像平面上的那個(gè)位置。
[0018] 作為優(yōu)選的技術(shù)方案,所述步驟S3中,借助模糊濾鏡來(lái)實(shí)現(xiàn)二值化處理,其具體 為:
[0019]將圖像拷貝兩個(gè)副本,記為副本1和副本2;
[0020]若視頻中有較明顯噪點(diǎn)則副本1進(jìn)行極其微量的高斯模糊,其中〇〈 = 3px;
[0021] 副本2進(jìn)行半徑較大的高斯模糊,半徑是圖像對(duì)角線的1/30到1/10;
[0022] 建立一個(gè)空白點(diǎn)陣圖像,大小與前兩副本一致,記為M,將對(duì)應(yīng)位置副本1比副本2 亮的地方設(shè)為1,否則設(shè)為〇,則M為結(jié)果。
[0023]作為優(yōu)選的技術(shù)方案,所述步驟S4中,進(jìn)行圖像處理的具體方法為:
[0024] S41、由模擬高斯模糊的IIR濾波器決定W〇、wl、w2這三個(gè)浮點(diǎn)值,而P和p均為0-255 之間的數(shù)值,其中P為浮點(diǎn),P為整數(shù);故將部分P和P與w的乘積結(jié)果進(jìn)行預(yù)存儲(chǔ),做成一張 表,以備查用;
[0025] S42、采用一種近似的辦法列出一張較小的預(yù)計(jì)算乘法表;
[0026] 近似計(jì)算公式是押《4'轉(zhuǎn)=¥[?']4抑=1'匕],其中¥和1'為數(shù)組存儲(chǔ)了預(yù)先 計(jì)算的乘積結(jié)果,P'為單精度浮點(diǎn)數(shù)P截?cái)?6比特尾數(shù)后的結(jié)果。
[0027]作為優(yōu)選的技術(shù)方案,所述步驟S4中,采用整數(shù)加法來(lái)代替浮點(diǎn)加法運(yùn)算,在IIR 正序方向,由于計(jì)算中包含小數(shù)部分,故使用了整數(shù)計(jì)算來(lái)模擬定點(diǎn)小數(shù)計(jì)算,用16位短整 型進(jìn)行整數(shù)計(jì)算,其中整數(shù)和小數(shù)部分各占8位,p*〇*256 = (p<<8)*〇 ? [p*0*256] = Q ' [p] ;P*? ? [p*? ] ? Q [p7 ],這時(shí)實(shí)際上正序的IIR的計(jì)算公式是Pn= ?〇*(pn〈〈8) + ? APn-1+? 2*Pn-2,Pn為整數(shù),計(jì)算結(jié)果是原公式的約256倍,計(jì)算時(shí),可利用Q表簡(jiǎn)化乘法運(yùn) 算,上式變成Pn= Q ' [Pn]+Q [Pn-1]+Q [Pn-2];
[0028]正序數(shù)值的放大問(wèn)題可以先不處理,待倒序計(jì)算完成后直接使用右移8位即可修 復(fù),倒序與正序使用的表一致,只是計(jì)算公式略有差異,為Qn= l*Qn+l+?2*Qn+2,此 處的乘法同樣可以通過(guò)查Q表解決,表達(dá)式為Qn= Q [Pn]+Q [Qn-1]+Q [Qn-2],則Rn = Qn>>8 為所求。
[0029] 作為優(yōu)選的技術(shù)方案,步驟S5具體為:
[0030] S5.1、檢查M的每一個(gè)像素,如果當(dāng)前像素是0或1,則用數(shù)值2,進(jìn)行4連通或8連通 填充,并統(tǒng)計(jì)本次填充的最大寬度和高度,還有填充的面積;
[0031] S 5.2、對(duì)填充區(qū)域進(jìn)行限制;即若從(x,y)點(diǎn)開(kāi)始填充,設(shè)定最大填充區(qū)域u,則左 邊界為x-u,右邊界為x+u,上邊界為y-u,下邊界為y+u;這樣可以限制總的填充面積不超過(guò) 4u 2,從而減輕內(nèi)存負(fù)擔(dān);
[0032] S5.3、選定可能的定位點(diǎn)位置,可限定當(dāng)長(zhǎng)寬比例在1:4到4:1之間均為合法,另外 由于定位點(diǎn)的設(shè)計(jì)是分形圖,所以無(wú)論是哪一層紋樣,其填充率都是一致的,且填充率在 0.436附近;只有符合上述要求的點(diǎn)才計(jì)入表格L;
[0033] S5.4、排除誤檢點(diǎn),對(duì)表格中的項(xiàng)進(jìn)行比對(duì)分析,如果某些框是獨(dú)立的,或者不和 其它任何框同心,則可以認(rèn)為是誤檢;將表格L中各組同心的選框進(jìn)行合并,記錄其平均中 心位置和分?jǐn)?shù)存儲(chǔ)至表H,其中分?jǐn)?shù)需要考慮涉及到本組各個(gè)框的同心度,長(zhǎng)寬比一致性, 框重疊數(shù)和各選框填充率,越符合要求,分?jǐn)?shù)越高,反之越低;
[0034] S5.5、從定位點(diǎn)到FPAR卡紋樣識(shí)別,采用排列組合的方法,枚舉所有的定位點(diǎn)并代 入計(jì)算公式,以測(cè)試何種對(duì)應(yīng)方式最為合理。
[0035] 作為優(yōu)選的技術(shù)方案,步驟S5.4中,對(duì)于定位點(diǎn)識(shí)別來(lái)說(shuō),為避免誤檢,一般要至 少2層。
[0036]作為優(yōu)選的技術(shù)方案,步驟S5具體為:各定位點(diǎn)的判定具體為:
[0037] (1)先判斷凸多邊形 [0038]判斷凸多邊形方法如下:
[0039] b.排除線段有交叉選項(xiàng),判斷乘積同號(hào);
[0040] 將a,b,c,d,和e看做三維空間的點(diǎn),其中z軸=0,則計(jì)算 K x 菸x 2 x石,萏x3的值,這些值是否與軸同號(hào),且不妨可均設(shè)為正號(hào);
[00411 (2)綜合評(píng)判;
[0042]由于各定位點(diǎn)通過(guò)圖像識(shí)別,操作時(shí),不是直接評(píng)價(jià)是否符合要求,而是評(píng)價(jià)與規(guī) 則要求的貼合度是多少;
[0043] (3)優(yōu)化決策;
[0044]當(dāng)運(yùn)算能力許可時(shí),可以將H中的所有點(diǎn)任挑5個(gè)進(jìn)行全排列,代入上面的規(guī)則進(jìn) 行驗(yàn)證,若H中的候選項(xiàng)目太多,全排列是一個(gè)天文數(shù)字,為了減輕運(yùn)算量,可以取H中分?jǐn)?shù) 較高的前n個(gè)點(diǎn)進(jìn)行全排列代入測(cè)試。
[0045]作為優(yōu)選的技術(shù)方案,步驟S7具體為:使用drawTriangles的方法,不完全計(jì)算 FPAR卡上的所有點(diǎn)的顏色,而是做一個(gè)稀疏的矩陣網(wǎng)格,然后將這個(gè)網(wǎng)格映射到成像平面 上網(wǎng)格的孔的位置用三角形碎片的變換來(lái)進(jìn)行模擬。
[0046]本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)和有益效果:
[0047] 1、本發(fā)明具備縮放優(yōu)勢(shì);
[0048] FPAR卡的紋樣是分形結(jié)構(gòu),去掉最外圈黑圈后,把內(nèi)圈黑圈放大,將得到原圖;反 色印刷不影響識(shí)別效果。這樣的紋樣具有縮放優(yōu)勢(shì)。當(dāng)攝像頭捕獲到的圖像分辨率較低或 者FPAR卡距離較遠(yuǎn)時(shí),較大的外圈依然能被識(shí)別;當(dāng)鏡頭分辨率很高或者FPAR卡距離較近 時(shí),外圈的面積過(guò)大,可能超出鏡頭之外,不易于識(shí)別,此時(shí)可以忽略外圈,只識(shí)別面積較小 的內(nèi)圈。
[0049] 2、本發(fā)明具備抖動(dòng)及模糊圖像識(shí)別優(yōu)勢(shì);
[0050]由于有鏡頭和景物的抖動(dòng),攝像頭拍攝到的影像,不可能總是清晰的,在很多情況 下得到的圖像往往會(huì)產(chǎn)生運(yùn)動(dòng)模糊。較粗較大的外圈,能有助于從模糊的圖像中識(shí)別出定 位點(diǎn)。
[0051 ] 3、靜態(tài)精準(zhǔn)度;
[0052]當(dāng)拍攝到清晰的FPAR卡時(shí),不單是外圈,連定位點(diǎn)中心的小圈也能分析清楚,這有 助于得到準(zhǔn)確度更高的識(shí)別結(jié)果。
[0053] 4、旋轉(zhuǎn)優(yōu)勢(shì);
[0054]由于同心圓/同心多邊形設(shè)計(jì),所以無(wú)論如何旋轉(zhuǎn),定位點(diǎn)的形狀都一樣。這樣不 受旋轉(zhuǎn)及角度的影。
[0055] 5、部分遮擋識(shí)別優(yōu)勢(shì);
[0056] 只要每個(gè)定位點(diǎn)可見(jiàn)的區(qū)域不少于兩個(gè)同心圓/同心多邊形即可。
[0057] 6、魯棒性強(qiáng)、可靠性強(qiáng);
[0058] 無(wú)論是光照不均勻、畫(huà)面噪點(diǎn)嚴(yán)重、卡片傾斜、旋轉(zhuǎn)嚴(yán)重、畫(huà)面較亮、較暗、模糊等 都能正常識(shí)別。
[0059] 7、識(shí)別速度快。
[0060]與同類技術(shù)相比,具有更快的識(shí)別與定位優(yōu)勢(shì)。
【附圖說(shuō)明】
[00611圖1是本發(fā)明FPAR卡的示意圖;
[0062]圖2是本發(fā)明FPAR卡的同心圓縮放比例示意圖;
[0063]圖3是較理想環(huán)境下的FPAR卡識(shí)別效果;
[0064] 圖4是半陰陽(yáng)環(huán)境下的FPAR卡識(shí)別效果圖;
[0065] 圖5是遮擋環(huán)境下的FPAR卡識(shí)別效果圖;
[0066] 圖6是傳統(tǒng)方法在對(duì)比度低、噪點(diǎn)多的環(huán)境的識(shí)別效果圖;
[0067]圖7是本發(fā)明處理FPAR卡的效果圖;
[0068]圖8是模糊狀態(tài)下的FPAR卡識(shí)別圖;
[0069]圖9是固定閾值的二值化處理圖;
[0070]圖10本發(fā)明的填色情況示意圖;
[0071]圖11是本發(fā)明填充后的所有框選結(jié)果;
[0072]圖12是紋樣的中心位置被重復(fù)框中的示意圖;
[0073]圖13是可能誤檢的圖樣不意圖;
[0074]圖14是構(gòu)造出的定位點(diǎn)誤檢圖樣;
[0075]圖15是麻將筒子的圖案可能導(dǎo)致誤檢的示意圖;
[0076]圖16區(qū)域限制法各步驟示意圖;
[0077]圖17是區(qū)域限制法的框選結(jié)果圖;
[0078] 圖18是不使用區(qū)域限制的框選結(jié)果圖;
[0079] 圖19是成像示意圖;
[0080] 圖20是FPAR卡平面圖;
[0081] 圖21是判斷線段交叉情況;
[0082]圖22是多解的成像不意圖;
[0083]圖23是多張F(tuán)PAR卡可疑定位點(diǎn)示意圖;
[0084]圖24是改進(jìn)版FPAR卡紋樣圖;
[0085] 圖25是多張F(tuán)PAR卡示意圖;
[0086] 圖26是帶開(kāi)口的FPAR卡示意圖;
[0087]圖27是帶方向的多張F(tuán)PAR卡識(shí)別示意圖;
[0088]圖28是三維圖像的FPAR卡多角度扭曲成像圖;
[0089]圖29是二維圖像成型不意圖;
[0090]圖30是以假亂真的實(shí)時(shí)渲染圖;
[0091]圖31是渲染截圖;
[0092]圖32是FPAR卡的渲染擴(kuò)展效果。
【具體實(shí)施方式】
[0093]下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不 限于此。
[0094] 實(shí)施例 [0095] 1.AR技術(shù)介紹
[0096] 增強(qiáng)現(xiàn)實(shí)(Augmented Reality,簡(jiǎn)稱AR)技術(shù),它是一種將真實(shí)世界信息和虛擬世 界信息"無(wú)縫"集成的新技術(shù),是把原本在現(xiàn)實(shí)世界的一定時(shí)間空間范圍內(nèi)很難體驗(yàn)到的實(shí) 體信息(視覺(jué)信息,聲音,味道,觸覺(jué)等),通過(guò)電腦等科學(xué)技術(shù),模擬仿真后再疊加,將虛擬 信息應(yīng)用到真實(shí)世界,被人類感官所感知,從而達(dá)到超越現(xiàn)實(shí)的感官體驗(yàn)。真實(shí)的環(huán)境和虛 擬物體實(shí)時(shí)地疊加到了同一個(gè)畫(huà)面或空間同時(shí)存在。
[0097]增強(qiáng)現(xiàn)實(shí)技術(shù)包含了多媒體、三維建模、實(shí)時(shí)視頻顯示及控制、多傳感器融合、實(shí) 時(shí)跟蹤及注冊(cè)、場(chǎng)景融合等新技術(shù)與手段。增強(qiáng)現(xiàn)實(shí)提供了在一般情況下,不同于人類可以 感知的信息。
[0098] FPAR(Fast Positioning Augmented Reality),F(xiàn)PAR是集快速定位與快速識(shí)別信 息于一體的AR卡。
[00"] 2.卡片圖樣介紹
[0100] 如圖1所示,本實(shí)施例的FPAR卡的設(shè)計(jì)方法過(guò)圖1所示的紋樣進(jìn)行視頻識(shí)別,紋樣 由5組同心圓/同心多邊形紋路組成,每一組同心圓/同心多邊形稱作一個(gè)定位點(diǎn),5組同心 圓/同心多邊形稱作識(shí)別紋樣。每組定位點(diǎn)的紋路形狀相同(實(shí)際上可以不同,但是為了設(shè) 計(jì)方便和更好的識(shí)別效果,做成了相同),其中4組同心圓/同心多邊形排列在矩形卡片的四 角,第五組同心圓/同心多邊形定在卡片的長(zhǎng)邊的中央位置,其圓心與相鄰兩個(gè)紋樣的圓心 對(duì)齊。(實(shí)際上所有同心圓/同心多邊形的位置不一定要這樣設(shè)置,也可以設(shè)置在其他地方, 唯一的要求只是它們排列后總的圖形不能近似于中心對(duì)稱的紋樣。設(shè)計(jì)時(shí)紋樣不能近似于 中心對(duì)稱,是為了后續(xù)三維識(shí)別時(shí)能正確識(shí)別旋轉(zhuǎn)角度。)上面的5組同心圓/同心多邊形的 紋樣排布設(shè)計(jì)原因是便于后面的計(jì)算。
[0101] 2.1.紋樣的打印/顯示要求
[0102] 在設(shè)計(jì)上,同心圓/同心多邊形的層數(shù)是無(wú)窮的,但實(shí)際上由于內(nèi)圈很小,所以可 以根據(jù)打印機(jī)或顯示器的打印和顯示精度來(lái)決定層數(shù),超出打印精度或顯示能力范圍的內(nèi) 圈條紋可以省略。為了準(zhǔn)確識(shí)別,一般要求至少要兩道黑紋。各圈邊緣的縮放比例是, 如圖2所示。
[0103] 3、圖像識(shí)別方法
[0104] 3.1、視頻輸入
[0105] 從攝像頭或者其他視頻源采集到的視頻,先分解成幀序列。依據(jù)機(jī)器的運(yùn)算能力 情況,可以每一幀都識(shí)別或者每隔幾幀提取一幀進(jìn)行識(shí)別。
[0106] 3.2、RGB/YUV 預(yù)處理
[0107]提取到的幀可能是RGB或YUV格式。
[0108]當(dāng)RGB格式時(shí),快速識(shí)別方法是只取紅色或者綠色通道,而將其余通道丟棄。由于 卡片是黑白的,所以這樣取得的通道依然能還原出卡片的灰度紋樣。由于很多視頻的壓縮 格式會(huì)將藍(lán)色通道的壓縮率調(diào)高,因而藍(lán)色通道的清晰度不高,所以不使用藍(lán)色通道;推薦 使用紅色綠色加權(quán)合成通道,這種通道精度較高,且運(yùn)算量適中。高精度的標(biāo)準(zhǔn)轉(zhuǎn)換是 0.299*R+0.587*G+0.114*B;快速轉(zhuǎn)換可以取 RGB 均值。
[0109 ]當(dāng)提取到Y(jié)UV格式時(shí),則只要Y通道,丟棄U,V通道。
[0110]通過(guò)這個(gè)步驟的處理,結(jié)果是將彩色圖像變成了灰度圖像。
[0111] 3.3、二值化處理
[0112] 對(duì)灰度圖像快速分析的最簡(jiǎn)單方法就是將其變成黑白圖像。一般的二值化處理即 設(shè)定一個(gè)閥值,亮度超過(guò)閥值即為1,低于閥值則為〇。在實(shí)際使用中,由于要在不同的光照 環(huán)境下識(shí)別紋樣,所以閥值難于預(yù)先確定。由于光照不均勻,往往找不到一個(gè)合適的閥值正 確地分離紋樣。所以本發(fā)明提出了一種動(dòng)態(tài)、柔性的方法,對(duì)圖樣進(jìn)行二值分離。
[0113] 本方法需要借助模糊濾鏡來(lái)實(shí)現(xiàn)(模糊濾鏡將在3.4中討論)。
[0114] 將圖像拷貝兩個(gè)副本,記為副本1和副本2。
[0115] 副本1進(jìn)行極其微量的高斯模糊(〇〈 = 3px),以消除視頻中的噪點(diǎn)。(如果要提高效 率,這步可以省略)。
[0116] 副本2進(jìn)行半徑較大的高斯模糊。半徑是圖像對(duì)角線的1/30到1/10(經(jīng)驗(yàn)值,按照 圖像長(zhǎng)寬比4:3來(lái)計(jì)算)。模糊半徑與鏡頭的能力,使用環(huán)境,甚至是FPAR卡打印材質(zhì)等都有 關(guān)系,可按照實(shí)際需要來(lái)設(shè)定。
[0117]建立一個(gè)空白點(diǎn)陣圖像,大小與前兩副本一致,記為M,將對(duì)應(yīng)位置副本1比副本2 亮的地方設(shè)為1,否則設(shè)為0,則M為結(jié)果。
[0118]例1:圖3的例子是在較為理想的環(huán)境下拍攝的。使用上文提到的方法進(jìn)行處理。由 圖3可見(jiàn),二值化處理的結(jié)果中,識(shí)別紋樣非常清晰,達(dá)到了理想的效果。
[0119] 例2:圖4是在半陰陽(yáng)狀態(tài)下的FPAR卡例子,卡片有一部分在陽(yáng)光底下,另一部分在 陰影底下,使用上文提到的方法進(jìn)行處理。從上面的二值化結(jié)果不難看出,即使原圖的FPAR 卡是陰陽(yáng)的,但二值化后的結(jié)果依然很理想,完全沒(méi)有受到陰陽(yáng)的影響。實(shí)際上,每一個(gè)步 驟的參數(shù)都是確定的,與例1效果完全相同。高斯模糊的量,和最后一步二值化的閾值都可 以預(yù)先確定,不會(huì)因陰陽(yáng)環(huán)境改變而變化。
[0120] 例3:為了展示本方法的優(yōu)點(diǎn),依然用與上面一樣的原圖,使用傳統(tǒng)的簡(jiǎn)單方法進(jìn) 行二值化。即設(shè)定閥值,亮度低于某個(gè)閥值時(shí)變成黑色,否則為白色。圖5中,a圖只有一個(gè)完 整的定位點(diǎn),其它定位點(diǎn)都被遮擋或部分遮擋;b圖右上角的定位點(diǎn)部分被遮擋;c圖則是右 下角的定位點(diǎn)看不到。識(shí)別時(shí),a圖將閥值設(shè)定較高,b圖將閥值設(shè)定在中間,c圖將閥值設(shè)定 得較高。經(jīng)實(shí)驗(yàn)證明,使用傳統(tǒng)方法,無(wú)論將閥值設(shè)定成多少,不易獲得較為滿意的結(jié)果。由 上面討論,簡(jiǎn)單二值化方法無(wú)法適應(yīng)這些復(fù)雜情況,并且閾值設(shè)定極其困難。由此可見(jiàn)本文 提出的算法明顯具有優(yōu)勢(shì)。
[0121] 例4:對(duì)比度低,噪點(diǎn)多的極端情況。由圖6,原本白色的地方,在處理后的卡片上 出現(xiàn)了過(guò)多的黑斑;原本黑色的地方,在處理后的卡片上有白色的顏色。并且無(wú)論如何調(diào)整 閾值都不能達(dá)到理想的效果。
[0122] 圖7列出了應(yīng)用本算法處理的結(jié)果,其中,最左邊的圖相當(dāng)于3.3中的副本1,進(jìn)行 了輕度的高斯模糊降噪,其他步驟與前兩個(gè)例子完全一致。從圖7(d)可以看出,識(shí)別紋樣中 黑圈飽滿,白圈干凈,識(shí)別紋樣所在的地方周邊幾乎沒(méi)有噪點(diǎn),這就較傳統(tǒng)閾值算法更利于 后期的識(shí)別。
[0123] 例5:照片模糊的情況.
[0124] FPAR卡紋樣設(shè)計(jì)具有抖動(dòng)優(yōu)勢(shì)。圖8的畫(huà)面是從一個(gè)動(dòng)態(tài)視頻中截取的,此時(shí)FPAR 卡有較大的晃動(dòng),因此產(chǎn)生了模糊畫(huà)面。通過(guò)本文方法進(jìn)行二值化處理后,最外圈的黑圈依 然可見(jiàn),因此得到的紋樣仍可以支持識(shí)別。
[0125] 而若用傳統(tǒng)方法識(shí)別FPAR卡的紋樣設(shè)計(jì),不結(jié)合使用本發(fā)明的方法進(jìn)行二值化處 理時(shí),則無(wú)法得到好的二值化結(jié)果。如圖9所示,從左到右閾值依次是從高到低。易見(jiàn)五幅圖 中沒(méi)有一幅圖的五個(gè)定位點(diǎn)能正確分析。由此可知FPAR紋樣設(shè)計(jì)和本發(fā)明的二值化處理需 要結(jié)合使用。若不使用FPAR紋樣設(shè)計(jì),只使用本發(fā)明的二值化處理方法,也無(wú)法得到好的識(shí) 別效果。
[0126] 3.4、模糊濾鏡
[0127] 3.4.1、基本方法
[0128] 下表列出了一些常用的圖像處理方法的優(yōu)缺點(diǎn)。
[0131] 3.4.2為移動(dòng)設(shè)備優(yōu)化的快速改進(jìn)
[0132] 對(duì)目前的主流的移動(dòng)設(shè)備而言,其運(yùn)算能力一般難以支持方法1和2??梢钥紤]使 用簡(jiǎn)單粗糙的方法3,和效果較好的方法4。由于方法4含有較多的浮點(diǎn)運(yùn)算,不利于移動(dòng)設(shè) 備的快速計(jì)算,所以可以對(duì)其進(jìn)行改進(jìn)以適應(yīng)移動(dòng)設(shè)備。
[0133] 根據(jù)文章 "IIR Gaussian Blur Filter Implementation usinglnte.應(yīng)Advanced Vector Extensions"和"Recursive Gaussian Derivative Filters" 中的描述,可以使用 正倒序兩重IIR濾波器,其中正向?yàn)镻〇 = PQ,其它Pn = WQ*pn+Wl*Pn-l+W2*Pn-2,相似地,逆向的 形式為Qlen-l = Plen-1,其余Qn = W0*Pn+Wl*Qn+l+W2*Qn+2。其中下標(biāo)越界的部分使用鉗位的方式 處理,即取其最近鄰合法下標(biāo)。以這樣的形式使用IIR濾波器對(duì)高斯模糊進(jìn)行仿真。其中P, P,Q,和W均為浮點(diǎn)。故每計(jì)算一個(gè)像素,至少需要進(jìn)行6次浮點(diǎn)乘法運(yùn)算。假設(shè)攝像頭獲得的 影像分辨率是640*480,每秒捕獲25幀,則每秒鐘需進(jìn)行浮點(diǎn)乘法運(yùn)算640*480*6*25 = 46080000次。這個(gè)運(yùn)算量對(duì)于移動(dòng)設(shè)備而言無(wú)疑是一個(gè)巨大開(kāi)銷。
[0134] 本發(fā)明提出一種方法,用整形查表,通過(guò)以空間換時(shí)間的方式,回避浮點(diǎn)運(yùn)算和乘 法運(yùn)算,得到與原浮點(diǎn)運(yùn)算方法近似的結(jié)果。
[01 35]首先,WQ,W1,W2這三個(gè)浮點(diǎn)值,由高斯模糊的半徑?jīng)Q定,一旦半徑確定,這三個(gè)值是 可以預(yù)先計(jì)算的。而P和P均為0-255之間的數(shù)值,其中P為浮點(diǎn),p為整數(shù)。故自然地可以考慮 將所有的P和P與w的乘積結(jié)果進(jìn)行預(yù)存儲(chǔ),做成一張表,以備查用,目的是回避浮點(diǎn)乘法運(yùn) 算。
[0136] 由于單精度浮點(diǎn)0-255之間的數(shù)值太多,要列出全部值且預(yù)先存儲(chǔ)起來(lái),內(nèi)存空間 占用極其龐大。所以本方面采用一種近似的辦法列出一張較小的預(yù)計(jì)算乘法表。
[0137] 當(dāng)前主流處理器均使用IEEE754浮點(diǎn)格式,其特點(diǎn)是一位符號(hào)后接若干位階碼,最 后是尾數(shù)。對(duì)32位單精度浮點(diǎn)數(shù)值而言,將尾數(shù)的后16位截?cái)嘀挥绊懫渚?,?duì)數(shù)值影響很 小。故記P'是P截?cái)嗄┪?6位后的數(shù)值,截?cái)嗪蟮臄?shù)據(jù)P'只剩下16位,共有65536種可能取 值,將這65536種可能取值與wo,wi,和W2分別進(jìn)行相乘,并存儲(chǔ)乘積結(jié)果,占用的內(nèi)存空間大 小不大,這為快速查表計(jì)算提供了可能。近似計(jì)算公式是P*w ? P'*W=W[P' ],p*w=W' [p' ], 其中W和W'為數(shù)組存儲(chǔ)了預(yù)先計(jì)算的乘積結(jié)果。
[0138] 考慮到IIR計(jì)算包含浮點(diǎn)加法運(yùn)算,由于浮點(diǎn)加法比整數(shù)加法運(yùn)算更耗時(shí)。本發(fā)明 采用整數(shù)加法來(lái)代替浮點(diǎn)加法運(yùn)算。注意本步驟是對(duì)上一段的改進(jìn),公式與前面將有細(xì)微 差異。以IIR正序方向?yàn)槔?,由于?jì)算中包含小數(shù)部分,故使用了整數(shù)計(jì)算來(lái)模擬定點(diǎn)小數(shù) 計(jì)算,用16位短整型進(jìn)行整數(shù)計(jì)算,其中整數(shù)和小數(shù)部分各占8位。p*? *256= (p<<8)*? ? [p*?*256]= V [p];P*〇 ? [p*0 ] ? Q IV ]。這時(shí)實(shí)際上正序的IIR的計(jì)算公式是Pn = W〇*(pn〈〈8)+〇 l*Pn-l+〇2*Pn-2,Pn為整數(shù),計(jì)算結(jié)果是原公式的約256倍。計(jì)算時(shí),可利用Q 表簡(jiǎn)化乘法運(yùn)算,上子變成Pn= Q '[Pn]+fUPn-l]+Q[Pn-2]。
[0139] 正序數(shù)值的放大問(wèn)題可以先不處理,待倒序計(jì)算完成后直接使用右移8位即可修 復(fù)。倒序與正序使用的表一致,只是計(jì)算公式略有差異。為Qn= l*Qn+l+?2*Qn+2。此 處的乘法同樣可以通過(guò)查Q表解決,表達(dá)式為Qn= Q [Pn]+Q [Qn-1]+Q [Qn-2]。則Rn = Qn>>8 為所求。
[0140] 至此,所有浮點(diǎn)運(yùn)算均以定點(diǎn)運(yùn)算替換,所有乘法都變成了直接查表取數(shù)。對(duì)移 動(dòng)設(shè)備的運(yùn)算效率有明顯的改善與提高。
[0141] *另外,可以使用降低識(shí)別層分辨率的方式使以下三種運(yùn)算步驟的運(yùn)算量減少:
[0142] 1)顏色轉(zhuǎn)換;2)高斯模糊;3)填色。
[0143] 由此顯著提高總體運(yùn)算的速度。例如原圖是640*480,但在轉(zhuǎn)換灰階這個(gè)步驟已經(jīng) 將其變成320*240,則后續(xù)步驟1),2),3)的運(yùn)算量減少至原來(lái)的1/4。在生成虛擬現(xiàn)實(shí)的結(jié) 果進(jìn)行貼圖合成時(shí),仍用640*480的分辨率。這樣令輸出畫(huà)面清晰度得以保持,區(qū)別僅僅在 于這會(huì)產(chǎn)生誤差為1像素以內(nèi)的貼圖位置誤差,一般用戶肉眼很難看出圖像的質(zhì)量差別。 [0 144] 3.5、判定可能定位點(diǎn)
[0145] 3.5.1、填充
[0146] 檢查M的每一個(gè)像素,如果當(dāng)前像素是0或1,則用數(shù)值2,進(jìn)行4連通或8連通填充。 并統(tǒng)計(jì)本次填充的最大寬度和高度,還有填充的面積,其中面積具體來(lái)說(shuō)就是像素?cái)?shù)量。如 果長(zhǎng)寬比介于1 : 4到4 : 1之間(這個(gè)是經(jīng)驗(yàn)值,具體可以調(diào)整),且填充率在
附近,則將此填充范圍的矩形外框位置和大小記錄到列表L中。
[0147] 3.5.2、填充區(qū)域限制法
[0148] 當(dāng)圖像很大,填充的面積可能會(huì)很大,填充的圖形可能會(huì)很復(fù)雜,對(duì)于傳統(tǒng)填充算 法而言,尤其是在移動(dòng)設(shè)備上,可能會(huì)發(fā)生堆棧上溢或占用內(nèi)存較大的情況。為了解決這種 問(wèn)題,可以對(duì)填充區(qū)域進(jìn)行限制,如設(shè)定左右上下邊界。即若從(X,y)點(diǎn)開(kāi)始填充,設(shè)定最大 填充區(qū)域u,則左邊界為X-U,右邊界為X+U,上邊界為y-u,下邊界為y+u。這樣可以限制總的 填充面積不超過(guò)4u 2,從而減輕內(nèi)存負(fù)擔(dān)。此方法稱為填充區(qū)域限制法。
[0149] 3.5.3填充操作的意義
[0150] 列表L中的內(nèi)容,由于具有以下一些特殊的特點(diǎn),所以可以選作可能的定位點(diǎn)位 置。
[0151] 首先,F(xiàn)PAR卡的定位點(diǎn)是正圓形,而且里面的每一圈都是一個(gè)圓,所以在理想的無(wú) 畸變無(wú)旋轉(zhuǎn)條件下,拍到的FPAR卡定位點(diǎn)也是正圓,此時(shí)使用填充法得到外框的長(zhǎng)寬比應(yīng) 該是1:1。
[0152] 但是由于FPAR卡可能會(huì)傾斜放置,所以在拍到的畫(huà)面中,定位點(diǎn)不一定是正圓形, 而有可能畸變呈現(xiàn)類似橢圓形,所以長(zhǎng)寬比不一定是1:1,而應(yīng)預(yù)留一定的畸變余地,按照 經(jīng)驗(yàn),這個(gè)比例閾值應(yīng)設(shè)置得比較寬松。例如可以限定當(dāng)長(zhǎng)寬比例在1:4到4:1之間均為合 法。
[0153] 另外,由于定位點(diǎn)的設(shè)計(jì)是分形圖,所以無(wú)論是哪一層紋樣,其填充率都是一致 的。應(yīng)該接近0.436。
[0154] 上面兩條是判定定位點(diǎn)的必要條件,故所有合法的定位點(diǎn)都會(huì)出現(xiàn)在L中,但是也 有一些誤檢點(diǎn),需要利用后面的方法來(lái)剔除。
[0155] 3.5.4、填充框選例子
[0156] 圖10-11給出了一個(gè)填充框選的例子。兩種斜線的區(qū)域?qū)嶋H上代表一樣的數(shù)值,只 是為了展示清楚而取得不同。"\\"斜線區(qū)域表示的是本步驟剛剛填入的區(qū)域,而7/"斜線 區(qū)域表示的是之前步驟曾經(jīng)填充過(guò)的區(qū)域。圖10中只列舉了部分步驟。
[0157] 3.5.5.同心框
[0158] 由于定位點(diǎn)是由同心圓/同心多邊形紋樣組成,所以在前面填色步驟的時(shí)候必然 會(huì)被覆蓋多次。所以如果畫(huà)面中某個(gè)位置是真正的定位點(diǎn),則這個(gè)位置所在的內(nèi)部同心圓/ 同心多邊形必定會(huì)被L中多次重復(fù)選中,參見(jiàn)圖12。
[0159] 通過(guò)利用這一規(guī)律,對(duì)L中的項(xiàng)進(jìn)行比對(duì)分析,如果某些框是獨(dú)立的,或者不和其 它任何框同心,則可以認(rèn)為是誤檢。以此可以排除掉大多數(shù)的誤檢點(diǎn)。將每一組同心框的 中心x,y坐標(biāo)記錄下來(lái),記為表H。如果畫(huà)面中存在可識(shí)別的完整紋樣,則H至少包含紋樣中 的5個(gè)定位點(diǎn)的信息,但有的時(shí)候由于誤檢,H中也有可能會(huì)存在超過(guò)5個(gè)可疑定位點(diǎn)的信 息,此時(shí)需要做進(jìn)一步的判斷,排除誤檢的定位點(diǎn)。
[0160] 此外,組成H中各個(gè)可能定位點(diǎn)的框的集合各有特點(diǎn),當(dāng)定位點(diǎn)超過(guò)5個(gè)時(shí),可以通 過(guò)綜合審查框組的同心度,長(zhǎng)寬比相似度和重?cái)?shù)來(lái)為每個(gè)可能定位點(diǎn)打分,一并記錄在H 中,以供后面使用。如果H中點(diǎn)數(shù)不足5個(gè),則判定畫(huà)面中不存在合法的FPAR卡識(shí)別紋樣。
[0161] 3.5.6.可能誤檢的情況
[0162] 上面描述的所有識(shí)別過(guò)程中,只給出了定位點(diǎn)識(shí)別的充分條件,不是必要條件。所 以實(shí)際上可能存在各種誤檢的定位點(diǎn)情況。如圖13所示,可能檢測(cè)出多于5個(gè)定位點(diǎn)。但是 經(jīng)過(guò)上面各種篩選和驗(yàn)證,一般仍能夠得到正確的結(jié)果。
[0163] 圖13列舉了一些可能導(dǎo)致誤檢的圖樣。圖14列舉了三種構(gòu)造的非圓形的可導(dǎo)致誤 檢的圖案;
[0164] 由于與定位點(diǎn)類似的圖案較多,所以在實(shí)際應(yīng)用中,定位點(diǎn)的誤檢是難免的。雖然 可以通過(guò)增加判定標(biāo)準(zhǔn)來(lái)改善定位點(diǎn)的誤判情況,但是將使得檢測(cè)過(guò)程異常復(fù)雜,因而需 要另尋方法。在實(shí)際應(yīng)用中,可能會(huì)同時(shí)出現(xiàn)多個(gè)誤檢點(diǎn),但誤檢點(diǎn)的排列方式與本發(fā)明 FPAR卡識(shí)別紋樣中定位點(diǎn)的排列方式一致的概率相當(dāng)微小。因而本發(fā)明給出的定位方法能 保證達(dá)到令人滿意的效果。
[0165] 如果刻意尋找,麻將筒子的圖案可能導(dǎo)致誤檢,如圖15所示。
[0166] 3.5.7.從定位點(diǎn)到FPAR卡紋樣識(shí)別
[0167]在3.5.4中,無(wú)論H點(diǎn)數(shù)超過(guò)5點(diǎn)還是剛好為5點(diǎn),都存在一個(gè)問(wèn)題:H中的每個(gè)定位 點(diǎn)如何對(duì)應(yīng)的FPAR卡識(shí)別紋樣中的定位點(diǎn)?此時(shí)需要采用排列組合方法,枚舉所有的對(duì)應(yīng) 并代入計(jì)算公式(在后面第4部分介紹),以測(cè)試何種對(duì)應(yīng)方式最為合理。
[0168] 3.5.8.填充區(qū)域限制法對(duì)識(shí)別效果的影響
[0169] 當(dāng)使用填充區(qū)域限制法時(shí),可能錯(cuò)誤識(shí)別一些定位點(diǎn)的最大外圈。但是由于紋樣 具有縮放特點(diǎn)[2.2.1],所以當(dāng)能正確識(shí)別內(nèi)層若干層紋樣時(shí),同樣會(huì)產(chǎn)生正確的識(shí)別結(jié) 果。
[0170] 在圖16中,由于使用了一個(gè)較小的填充邊界作為區(qū)域限制。填充邊界的形心與填 充種子的位置重合。使用區(qū)域限制法后,從結(jié)果圖看出(參見(jiàn)圖17),圖樣最外圈的黑色區(qū) 域被涂上了5種顏色,即被分割成了五個(gè)選框(步驟1,2,3,4,5所示),而次外圈的白色區(qū)域 也被分割成了三種顏色,即分成了三個(gè)選框(步驟6,7,8所示)。以上5+3共8個(gè)選框都是無(wú)效 的,但是從第二層黑圈起往內(nèi)各層,都能正確圈選完整,所以均有效。內(nèi)層黑白加起來(lái)共有5 層,已經(jīng)足以用于識(shí)別。
[0171] 圖18中顯示了不使用區(qū)域限制的框選情況,共7層環(huán),即能分析出完整7層紋樣,7 層均可以用于識(shí)別。
[0172] 對(duì)于定位點(diǎn)識(shí)別來(lái)說(shuō),為避免誤檢,一般要至少2層。雖然層數(shù)越多結(jié)果越精確,但 是往往層數(shù)到了三四層后已經(jīng)能達(dá)到像素級(jí)別的精度,在往上加意義不大,所以只要限制 區(qū)域后能識(shí)別出三層左右就能達(dá)到可以接受的效果。
[0173] 如果區(qū)域限制法的填充邊界設(shè)置得過(guò)窄,可能產(chǎn)生的影響有:
[0174] 1)框選層數(shù)過(guò)少導(dǎo)致識(shí)別失敗
[0175] 2)抗畫(huà)面抖動(dòng)能力削弱,試想像3.3中例5的情況,如果由于區(qū)域限制的原因而識(shí) 別不出最外層的黑色同心圓/同心多邊形,將直接導(dǎo)致整個(gè)紋樣識(shí)別失敗。
[0176] 4.二維-三維轉(zhuǎn)換法
[0177] 4.1.二維-三維轉(zhuǎn)換各標(biāo)號(hào)定義
[0178] 本發(fā)明的前提是假設(shè)攝像機(jī)鏡頭無(wú)畸變,如攝像機(jī)鏡頭存在枕形畸變或桶形畸 變,則應(yīng)先作校正,再應(yīng)用下面方法。
[0179] FPAR卡在實(shí)際的三維空間中,以任意旋轉(zhuǎn)角度擺放,其五個(gè)定位點(diǎn)分別記為 ABCDE,如圖19所示。FPAR卡被攝像頭拍攝到,得到二維影像的過(guò)程,可以看作是FPAR卡上各 點(diǎn)與〇點(diǎn)連接,再交于成像畫(huà)面。成像畫(huà)面中FPAR卡的各個(gè)定位點(diǎn)記為abcde。
[0180] 4.2.各定位點(diǎn)判定
[0181 ]由于FPAR卡上的各點(diǎn),哪一點(diǎn)對(duì)應(yīng)成像畫(huà)面中的a點(diǎn),哪一點(diǎn)對(duì)應(yīng)b點(diǎn),哪一點(diǎn)對(duì)應(yīng) c,d,e點(diǎn)等,都是未知的,況且H中可能包含誤檢點(diǎn),參見(jiàn)圖20。所以要做排序和剔除工作,在 FPAR卡上,a,b,c,d,和e點(diǎn)之間的位置關(guān)系有如下明顯特點(diǎn):
[0182] (1)多邊形abed應(yīng)為凸多邊形;
[0183] (2)Zbec應(yīng)該接近 18〇° ;
[0184] (3)e到b和c的距離應(yīng)該較為接近。
[0185] 具體判斷步驟如下:
[0186] (1)先判斷凸多邊形
[0187] 判斷凸多邊形方法如下:
[0188] c.排除線段有交叉選項(xiàng),參見(jiàn)圖21。
[0189] d.判斷乘積同號(hào)
[0190] 將a,b,c,d,和e看做三維空間的點(diǎn),其中z軸=0,則計(jì)算 3 x x x石,& 的值,這些值是否與軸同號(hào),且不妨可均設(shè)為正號(hào)。
[0191] (2)綜合評(píng)判
[0192] 由于各定位點(diǎn)通過(guò)圖像識(shí)別,所以上述2,3點(diǎn)規(guī)則的評(píng)判標(biāo)準(zhǔn)應(yīng)該柔性。因而操作 時(shí),不是直接評(píng)價(jià)是否符合要求,而是評(píng)價(jià)與規(guī)則要求的貼合度是多少。所以應(yīng)該綜合上述 3點(diǎn)規(guī)則,確定合理的評(píng)分標(biāo)準(zhǔn)。分?jǐn)?shù)越高,表示越符合要求。
[0193] (3)優(yōu)化決策
[0194] 當(dāng)運(yùn)算能力許可時(shí),可以將H中的所有點(diǎn)任挑5個(gè)進(jìn)行全排列,代入上面的規(guī)則進(jìn) 行驗(yàn)證,若H中的候選項(xiàng)目太多,全排列是一個(gè)天文數(shù)字,為了減輕運(yùn)算量,可以取H中分?jǐn)?shù) 較高的前n個(gè)點(diǎn)(n> = 5)進(jìn)行代入測(cè)試。
[0195] 經(jīng)過(guò)上面計(jì)算,就可能選出H中最合乎要求的5個(gè)點(diǎn),并且得到它們與abede各點(diǎn)的 對(duì)應(yīng)關(guān)系。
[0196] 4.3.獲取FPAR卡的三維法向量
[0197] 現(xiàn)在要通過(guò)成像畫(huà)面反推FPAR卡的法向量f,以服務(wù)于后續(xù)的虛擬現(xiàn)實(shí)渲染。為 此,過(guò)0點(diǎn)作輔助線1 i/VAD/YBC; 12//AB//DC;記0AB法向量為瓦,0CD法向量為K,0BC法向量 為斤OAD法向量為n;記FPAR卡的法向量為f:; 1 i的方向向量為的方向向量為I;。
[0198] 則有:
[0199] v; = OAx~BO Oa x ~bO;
[0200] i72* = 〇C x DO = Oc x dO;
[0201] ^ = OB xCO = ~Ob x cO:
[0202] % = ~OD xAO = Ody ad;
[0203]
[0204] f2 = % X wj;
[0205] 最終得到『 =
[0206] 其中X表示向量叉乘。
[0207] 若|方向很離譜,例如算出來(lái)的FPAR卡幾乎與視平面垂直,則需要將此結(jié)果剔除, 并返回4.2,重選其他排列組合。
[0208] 4.4. Z軸多解不影響分析
[0209] 如圖22所示,由二維成像畫(huà)面反推FPAR卡,因z軸位置未知,所以可能存在多解。即 近處的小FPAR卡看起來(lái)實(shí)際上和遠(yuǎn)處的大FPAR卡沒(méi)有差別。成像畫(huà)面在前在后只是縮放上 的差別。實(shí)際上,如果只是單眼視覺(jué),這個(gè)距離是無(wú)法測(cè)定的。但是這些區(qū)別只是縮放上的 區(qū)別,對(duì)后面的計(jì)算不造成影響。所以可以直接簡(jiǎn)單地設(shè)視點(diǎn)到成像畫(huà)面的距離是n,視點(diǎn) 到FPAR卡中心的距離是m,以便后續(xù)的計(jì)算。
[0210] 4.5.驗(yàn)證正確性
[0211] 按照4.4的距離假設(shè),和4.3的?,可以由平面的成像畫(huà)面中的abcde點(diǎn)的位置反推 出三維空間中FPAR卡上的AB⑶E點(diǎn)的三維位置。計(jì)算方式如下:
[0212] 由點(diǎn)法式,通過(guò)使用?知y和0到FPAR卡的距離,可以得出FPAR卡所在平面2的 方程是 lxX+lyy+lz(z-m) =0;
[0213] 射線0a,Ob,0c,0d,和0e與2的交點(diǎn)即為ABCDE所在的三維空間的位置。
[0214] 以厶點(diǎn)為例,記1:£1=12111/(]^\+]^丫+1辦);貝丨仏的坐標(biāo)為(1: £1*&\,1:£1*&丫,1:£1*&2)。同理可 求得B⑶E各點(diǎn)的坐標(biāo)。
[0215] 從上式易知,各點(diǎn)坐標(biāo)均有乘積m,所以不妨取m為一個(gè)非零定值,如取2,再取az = n = l。這樣所有點(diǎn)的坐標(biāo)都能算出具體的數(shù)值,以便于后續(xù)計(jì)算。
[0216] 通過(guò)對(duì)AB⑶E點(diǎn)的三維位置分析,判斷結(jié)果正確性。如果數(shù)值很離譜,例如ZABC與 空間直角相差甚遠(yuǎn),或者E點(diǎn)位置與BC中點(diǎn)位置相差甚遠(yuǎn),或者四個(gè)角上的定位點(diǎn)組成的矩 形的長(zhǎng)寬比與FPAR卡設(shè)計(jì)時(shí)相差甚遠(yuǎn),則判定此結(jié)果不正確,需要將此結(jié)果剔除,并返回 4.2重選其他可能的排列組合。
[0217] 步驟4.5,4.3,4.2是一組互相驗(yàn)證的關(guān)系,需要反復(fù)互推才能得到最好結(jié)果。
[0218]另外,還可以加入一些輔助的驗(yàn)證方法。例如,如果一個(gè)疑似定位點(diǎn)中各個(gè)框的長(zhǎng) 寬比例相差較大,則考慮這個(gè)定位點(diǎn)可能是誤檢點(diǎn)。同理,如果識(shí)別紋樣中一組定位點(diǎn)中各 個(gè)環(huán)的平均長(zhǎng)寬比不一致,則認(rèn)為這個(gè)識(shí)別紋樣可能不正確。實(shí)際上,定位點(diǎn)的期望長(zhǎng)寬比 是可以通過(guò)前面算出的FPAR卡的法向量計(jì)算出來(lái)的,如果計(jì)算值與實(shí)測(cè)值相差甚遠(yuǎn),也能 判定這個(gè)識(shí)別不正確。
[0219] 根據(jù)上面所有的綜合方法進(jìn)行識(shí)別,在圖像清晰且沒(méi)有不可抗干擾(例如畫(huà)面中 同時(shí)出現(xiàn)了兩張F(tuán)PAR卡)時(shí),得出的識(shí)別結(jié)果能達(dá)到接近100%正確。下面給出的例子中,背 景是報(bào)紙,報(bào)紙上紋樣復(fù)雜,干擾大,但也沒(méi)有影響識(shí)別結(jié)果。
[0220] 如果同一畫(huà)面中有多張F(tuán)PAR卡,則將會(huì)有很多定位點(diǎn)被同時(shí)檢出,但到底哪五個(gè) 定位點(diǎn)屬于同一組卻很難分辨。由于計(jì)算機(jī)最終感知到的不是一張圖片,而是一組可疑定 位點(diǎn),所以可能某張圖中的可疑定位點(diǎn)可能如圖23所示。
[0221] 像圖23這樣的分布情況,恐怕連肉眼都無(wú)法分辨出哪個(gè)是誤檢點(diǎn),哪個(gè)是真實(shí)點(diǎn), 哪幾個(gè)定位點(diǎn)組成一個(gè)FPAR卡紋樣。此時(shí),可對(duì)FPAR卡的紋樣作出改進(jìn),例如將同心圓改成 C字形。供參考的一種改進(jìn)方案如圖24所示:則多張F(tuán)PAR卡一起擺放后可能有如圖25的效 果。
[0222] 這種紋樣的定位點(diǎn)同樣能被本發(fā)明的算法所識(shí)別,只是它們比原來(lái)多了一個(gè)信 息,就是FPAR卡的方向?qū)傩?。拿最左邊的一張卡做例子,我們可以識(shí)另ijC形口的開(kāi)口方向,如 圖26所示。
[0223] 除了開(kāi)口方向,我們還可以通過(guò)檢測(cè)開(kāi)口的清晰度,角度等數(shù)值,來(lái)計(jì)算出這個(gè)開(kāi) 口方向的可信度。開(kāi)口方向和可信度兩重信息,我們可以直觀地用箭頭表示箭頭方向表示 最可能的開(kāi)口方向,箭頭大小表示可信度,參見(jiàn)圖27。
[0224] 上圖有了方向信息,相比起只有定位點(diǎn)位置的前一張圖來(lái)說(shuō),已經(jīng)很容易能一眼 看出哪些是真正定位點(diǎn),哪些定位點(diǎn)能組成一組成為FPAR紋樣??梢园凑杖缦略瓌t進(jìn)行判 定:
[0225] 帶方向的多FPAR卡識(shí)別方法:
[0226] 1)優(yōu)先考慮開(kāi)口方向可信度高的點(diǎn)為定位點(diǎn)。
[0227] 2)如果兩個(gè)定位點(diǎn)的方向相近,且與它們的連線的方向相近,則它們可能屬于同 一張F(tuán)PAR卡,且分別屬于B,E點(diǎn)。其中B點(diǎn)指向E點(diǎn)。
[0228] 3)如果從某個(gè)定位點(diǎn)出發(fā),通過(guò)每個(gè)點(diǎn)的所指方向?qū)ふ蚁乱稽c(diǎn),能較為近似地連 續(xù)找到5個(gè)定位點(diǎn),且最后一個(gè)定位點(diǎn)的方向可信度明顯低于前4點(diǎn),則這連續(xù)的5個(gè)定位點(diǎn) 很可能屬于同一張F(tuán)PAR卡的ABECD定位點(diǎn)。
[0229] 4)就近原則,如果某個(gè)定位點(diǎn)所指方向上有兩個(gè)其他定位點(diǎn),則優(yōu)先考慮與其較 近的一個(gè)屬于同一張F(tuán)PAR卡。
[0230] 實(shí)際使用時(shí),由于相機(jī)的畸變,F(xiàn)PAR卡的彎折,識(shí)別精度不夠,鏡頭失焦或抖動(dòng)造 成畫(huà)面模糊等原因,得出的向量結(jié)果可能會(huì)有誤差,所以前面所說(shuō)的方向指向,都是判定近 似度,而不是必須剛好一點(diǎn)不差地對(duì)準(zhǔn)。所以測(cè)定時(shí)也需要進(jìn)行一定的排列組合,以測(cè)試哪 種匹配是最合理的。不過(guò)通過(guò)上面4條規(guī)則,我們可以對(duì)列舉過(guò)程進(jìn)行大幅度剪枝,大大減 少試驗(yàn)次數(shù)。
[0231] 5.渲染虛擬現(xiàn)實(shí)
[0232] 實(shí)際的虛擬現(xiàn)實(shí)渲染,可以是在畫(huà)面中加入三維的立體,也可以僅僅是貼上貼圖。 [0233]圖28是一個(gè)三維圖像的FPAR卡多角度成像實(shí)現(xiàn)例子。
[0234]現(xiàn)在要將預(yù)設(shè)好的圖片進(jìn)行扭曲,然后填入畫(huà)面內(nèi)。為了增加實(shí)用性和真實(shí)感,填 入的照片需要將所有定位點(diǎn)遮蓋,并且不論FPAR卡如何擺放,照片看起來(lái)都要相對(duì)FPAR卡 靜止,看上去就像真的有一張照片貼在FPAR卡上。為了做到這一點(diǎn),關(guān)鍵步驟是要通過(guò)FPAR 卡的三維位置,推算出其每一點(diǎn)在成像畫(huà)面中的位置,參見(jiàn)圖28。這個(gè)計(jì)算過(guò)程與4.5中的 方法是一對(duì)逆運(yùn)算。
[0235] 虛擬地將一張平面圖片貼在三維FPAR卡上,算出圖片貼在FPAR卡上后,每個(gè)對(duì)應(yīng) 點(diǎn)的顏色應(yīng)該顯示在成像平面上的那個(gè)位置。
[0236] 實(shí)際操作需要從渲染成像平面出發(fā),查找FPAR卡上對(duì)應(yīng)點(diǎn)位置,這個(gè)計(jì)算較復(fù)雜, 邊界難以定出,運(yùn)算量也較大。所以需要使用其他簡(jiǎn)潔的方法來(lái)代替。最簡(jiǎn)單的方法是使用 drawTriangles的方法,不完全計(jì)算FPAR卡上的所有點(diǎn)的顏色,而是做一個(gè)稀疏的矩陣網(wǎng) 格,然后將這個(gè)網(wǎng)格映射到成像平面上。網(wǎng)格的孔的位置用三角形碎片的變換來(lái)進(jìn)行模擬。 一種三角形切片的方案如圖29所示。
[0237] drawTrianges或其異名等價(jià)方法受到各平臺(tái)的直接支持,如HTML5,0penGL,F(xiàn)LASH ActionScript3,cocos2D-x等,也受到顯卡快速運(yùn)算的支持。是通用且常規(guī)的演算方法。具 體可參考下面網(wǎng)址(FLASH ActionScript3版本的解釋)http: //help ? adobe ? com/zh_CN/ as3/dev/WS84753FlC-5ABE-40bl-A2E4-07D7349976C4.html〇
[0238] 為了增加真實(shí)感,當(dāng)FPAR卡處在不同光線環(huán)境下,應(yīng)調(diào)整貼圖的色調(diào),以讓其與 FPAR卡的色調(diào)吻合。FPAR卡上有很多沒(méi)有定位點(diǎn)的空位置,可以取這些位置的顏色對(duì)貼圖 進(jìn)行白平衡,亮度等調(diào)整,以讓其色澤貼合現(xiàn)實(shí)環(huán)境。
[0239] 最后補(bǔ)充下面渲染示例:
[0240]例6:準(zhǔn)備三張拍立得照片,一張仿照拍立得相片外形制作的FPAR卡,如圖30桌面 上圖片所示。
[0241] 圖30右邊平板電腦上為實(shí)時(shí)渲染效果,圖中FPAR卡已經(jīng)可以以假亂真,屏幕上看 到的就象是四張拍立得照片。圖31為渲染截圖效果。
[0242] 圖32展現(xiàn)FPAR卡的擴(kuò)展功能,圖中不僅把照片渲染在畫(huà)面中,還渲染上了手寫(xiě)的 "廣州2016",而"廣州2016"所在位置上并沒(méi)有相應(yīng)的識(shí)別紋樣。所以可以看出,渲染的區(qū)域 是可以擴(kuò)展的。另外值得一提的是,在實(shí)時(shí)渲染例子中,照片右上角都有一個(gè)角標(biāo),角標(biāo)的 位置甚至渲染在了相框外,這也體現(xiàn)了其渲染能力的擴(kuò)展性。
[0243] 上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的 限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡(jiǎn)化, 均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種FPAR卡的設(shè)計(jì)方法,其特征在于,所述FPAR卡上設(shè)有多組同心圓/同心多邊形紋 路,每一組同心圓/同心多邊形稱作一個(gè)定位點(diǎn),多組同心圓/同心多邊形組成識(shí)別紋樣,所 述多組同心圓/同心多邊形排列后總的圖形呈中心對(duì)稱。2. 跟進(jìn)權(quán)利要求1所述的FPAR卡的設(shè)計(jì)方法,其特征在于,所述FPAR卡上設(shè)有5組同心 圓/同心多邊形紋路,每組定位點(diǎn)的紋路形狀相同,其中4組同心圓/同心多邊形排列在矩形 卡片的四角,第五組同心圓/同心多邊形定在卡片的長(zhǎng)邊的中央位置或處在能夠識(shí)別FPAR 卡的不對(duì)稱位置上;每組組同心圓/同心多邊形相鄰兩圈邊緣的縮放比例是3. -種FPAR卡的快速識(shí)別定位方法,其特征在于,包括下述步驟: 51、 視頻輸入,將采集到的視頻源文件先分解成幀序列; 52、 RGB/YUV預(yù)處理,提取到的幀可能是是RGB或YUV格式,當(dāng)提取到的為RGB格式時(shí),快 速識(shí)別方法是只取紅色或者綠色通道,而將其余通道丟棄,當(dāng)提取到的為YUV格式時(shí),則只 要Y通道,丟棄U、V通道; 53、 二值化處理,對(duì)圖像進(jìn)行二值分離; 54、 采用模糊濾鏡方法進(jìn)行圖像識(shí)別處理;使用正倒序兩重IIR濾波器,其中正向?yàn)镻0 = PO,其它Pn = WQ*pn+Wl*Pn-l+W2*Pn-2,相似地,逆向的形式為Qlen-1 = Plen-1,其余Qn = WQ*Pn+Wl* Qn+1+W2*Qn+2,其中下標(biāo)越界的部分使用鉗位的方式處理,即取其最近鄰合法下標(biāo),以這樣的 形式使用IIR濾波器對(duì)高斯模糊進(jìn)行仿真; 55、 判定可能的定位點(diǎn), 56、 獲取FPAR卡的三維法向量,通過(guò)成像畫(huà)面反推FPAR卡的法向量,以服務(wù)于后續(xù)的虛 擬現(xiàn)實(shí)渲染; 57、 通過(guò)比對(duì)和偏差修正,確定各個(gè)定位點(diǎn)的三維位置,從而確定整個(gè)FPAR卡在三維空 間的位置; 58、 渲染虛擬現(xiàn)實(shí),虛擬地將一張平面圖片貼在三維FPAR卡上,算出圖片貼在FPAR卡上 后,每個(gè)對(duì)應(yīng)點(diǎn)的顏色應(yīng)該顯示在成像平面上的那個(gè)位置。4. 根據(jù)權(quán)利要求3所述的FPAR卡的快速識(shí)別定位方法,其特征在于,所述步驟S3中,借 助模糊濾鏡來(lái)實(shí)現(xiàn)二值化處理,其具體為: 將圖像拷貝兩個(gè)副本,記為副本1和副本2; 若視頻中有較明顯噪點(diǎn)則副本1進(jìn)行極其微量的高斯模糊,其中〇〈 = 3px; 副本2進(jìn)行半徑較大的高斯模糊,半徑是圖像對(duì)角線的1/30到1/10; 建立一個(gè)空白點(diǎn)陣圖像,大小與前兩副本一致,記為M,將對(duì)應(yīng)位置副本1比副本2亮的 地方設(shè)為1,否則設(shè)為〇,則M為結(jié)果。5. 根據(jù)權(quán)利要求3所述的FPAR卡的快速識(shí)別定位方法,其特征在于,所述步驟S4中,進(jìn) 行圖像處理的具體方法為: 541、 由模擬高斯模糊的IIR濾波器決定wO、wl、w2這三個(gè)浮點(diǎn)值,而P和p均為0-255之間 的數(shù)值,其中P為浮點(diǎn),P為整數(shù);故將部分P和P與w的乘積結(jié)果進(jìn)行預(yù)存儲(chǔ),做成一張表,以 備查用; 542、 采用一種近似的辦法列出一張較小的預(yù)計(jì)算乘法表; 近似計(jì)算公式是P*W ? P'*W=W[P' ],p*w=W' [P],其中W和W'為數(shù)組存儲(chǔ)了預(yù)先計(jì)算的 乘積結(jié)果,P'為單精度浮點(diǎn)數(shù)P截?cái)?6比特尾數(shù)后的結(jié)果。6. 根據(jù)權(quán)利要求3所述的FPAR卡的快速識(shí)別定位方法,其特征在于,所述步驟S4中,采 用整數(shù)加法來(lái)代替浮點(diǎn)加法運(yùn)算,在IIR正序方向,由于計(jì)算中包含小數(shù)部分,故使用了整 數(shù)計(jì)算來(lái)模擬定點(diǎn)小數(shù)計(jì)算,用16位短整型進(jìn)行整數(shù)計(jì)算,其中整數(shù)和小數(shù)部分各占8位, p * Oj * 256 = (p << 8) * 〇) ^ Lp * (i) * 256J = Ω [p]; P * ⑴。L.p * ⑴j,這時(shí)實(shí)際上正序的 IIR 的計(jì)算公式是Pn= ω 〇*(ρη< <8)+ω APn-:L+ω 2*Pn-2,pn為整數(shù),計(jì)算結(jié)果是原公式的約256 倍,計(jì)算時(shí),可利用Ω表簡(jiǎn)化乘法運(yùn)算,上式變成P n= Ω '[Ρη]+Ω [Ρ^Ι+Ω [Pn_2]; 正序數(shù)值的放大問(wèn)題可以先不處理,待倒序計(jì)算完成后直接使用右移8位即可修復(fù),倒 序與正序使用的表一致,只是計(jì)算公式略有差異,為Qn= ?。機(jī)+^^噸柯+"并^^+^此處的乘 法同樣可以通過(guò)查Ω表解決,表達(dá)式為Qn= Ω [Ρη] + Ω [Qn-d + Ω [Qn-2],則Rn = Qn>>8為所 求。7. 根據(jù)權(quán)利要求3所述的FPAR卡的快速識(shí)別定位方法,其特征在于,步驟S5具體為: 55.1、 檢查M的每一個(gè)像素,如果當(dāng)前像素是0或1,則用數(shù)值2,進(jìn)行4連通或8連通填充, 并統(tǒng)計(jì)本次填充的最大寬度和高度,還有填充的面積; 55.2、 對(duì)填充區(qū)域進(jìn)行限制;即若從(X,y)點(diǎn)開(kāi)始填充,設(shè)定最大填充區(qū)域u,則左邊界 為x-u,右邊界為x+u,上邊界為y-u,下邊界為y+u;這樣可以限制總的填充面積不超過(guò)4u 2, 從而減輕內(nèi)存負(fù)擔(dān); 55.3、 選定可能的定位點(diǎn)位置,可限定當(dāng)長(zhǎng)寬比例在1:4到4:1之間均為合法,另外由于 定位點(diǎn)的設(shè)計(jì)是分形圖,所以無(wú)論是哪一層紋樣,其填充率都是一致的,且填充率在0.436 附近;只有符合上述要求的點(diǎn)才計(jì)入表格L; 55.4、 排除誤檢點(diǎn),對(duì)表格中的項(xiàng)進(jìn)行比對(duì)分析,如果某些框是獨(dú)立的,或者不和其它 任何框同心,則可以認(rèn)為是誤檢;將表格L中各組同心的選框進(jìn)行合并,記錄其平均中心位 置和分?jǐn)?shù)存儲(chǔ)至表H,其中分?jǐn)?shù)需要考慮涉及到本組各個(gè)框的同心度,長(zhǎng)寬比一致性,框重 疊數(shù)和各選框填充率,越符合要求,分?jǐn)?shù)越高,反之越低; 55.5、 從定位點(diǎn)到FPAR卡紋樣識(shí)別,采用排列組合的方法,枚舉所有的定位點(diǎn)并代入計(jì) 算公式,以測(cè)試何種對(duì)應(yīng)方式最為合理。8. 根據(jù)權(quán)利要求7所述的FPAR卡的快速識(shí)別定位方法,其特征在于,步驟S5.4中,對(duì)于 定位點(diǎn)識(shí)別來(lái)說(shuō),為避免誤檢,一般要至少2層。9. 根據(jù)權(quán)利要求3所述的FPAR卡的快速識(shí)別定位方法,其特征在于,步驟S5具體為:各 定位點(diǎn)的判定具體為: (1) 先判斷凸多邊形 判斷凸多邊形方法如下: a.排除線段有交叉選項(xiàng),判斷乘積同號(hào); 將a,b,c,d,和e看做三維空間的點(diǎn),其中z軸=0,則計(jì)算萏X X X萏,5 X S 的值,這些值是否與軸同號(hào),且不妨可均設(shè)為正號(hào); (2) 綜合評(píng)判; 由于各定位點(diǎn)通過(guò)圖像識(shí)別,操作時(shí),不是直接評(píng)價(jià)是否符合要求,而是評(píng)價(jià)與規(guī)則要 求的貼合度是多少; (3) 優(yōu)化決策; 當(dāng)運(yùn)算能力許可時(shí),可以將H中的所有點(diǎn)任挑5個(gè)進(jìn)行全排列,代入上面的規(guī)則進(jìn)行驗(yàn) 證,若H中的候選項(xiàng)目太多,全排列是一個(gè)天文數(shù)字,為了減輕運(yùn)算量,可以取H中分?jǐn)?shù)較高 的前η個(gè)點(diǎn)進(jìn)行全排列代入測(cè)試。10.根據(jù)權(quán)利要求3所述的FPAR卡的快速識(shí)別定位方法,其特征在于,步驟S7具體為:使 用drawTriangles的方法,不完全計(jì)算FPAR卡上的所有點(diǎn)的顏色,而是做一個(gè)稀疏的矩陣網(wǎng) 格,然后將這個(gè)網(wǎng)格映射到成像平面上網(wǎng)格的孔的位置用三角形碎片的變換來(lái)進(jìn)行模擬。
【文檔編號(hào)】G06K19/06GK105894068SQ201610137618
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年3月10日
【發(fā)明人】滕少華, 霍穎翔, 滕璐瑤, 張巍
【申請(qǐng)人】廣東工業(yè)大學(xué)