技術(shù)宅
現(xiàn)在隨著AR技術(shù)的興起,越來(lái)越多的AR小應(yīng)用可以實(shí)現(xiàn)在手機(jī)上運(yùn)行和展示。這些AR應(yīng)用可以在用戶眼前展示栩栩如生的視頻場(chǎng)景,這種應(yīng)用的核心技術(shù)是AR的識(shí)別跟蹤技術(shù)。那么什么是AR識(shí)別跟蹤技術(shù)?它又是怎樣實(shí)現(xiàn)跟蹤的?
AR應(yīng)用 讓人身臨其境的魔幻程序
最近流行的AR游戲《Pokemon Go》讓很多人知道AR的魅力,而隨著AR技術(shù)的發(fā)展,這種借助手機(jī)實(shí)現(xiàn)的AR營(yíng)銷APP也越來(lái)越多。比如近日百度將人工智能引入AR技術(shù),與歐萊雅中國(guó)全新上市淳萃(Ultra DOUX)一起為消費(fèi)者帶來(lái)了一個(gè)既有虛擬又有現(xiàn)實(shí)的場(chǎng)景體現(xiàn)。消費(fèi)者只需要打開(kāi)手機(jī)百度APP掃描淳萃產(chǎn)品瓶身、明信片或身邊的公交站牌,即可在手機(jī)上看到美麗的櫻花雨、神奇的牛油果等淳萃自然元素,第一時(shí)間與美妙的自然環(huán)境進(jìn)行零距離接觸(圖1)。
這個(gè)顯示特效和《Pokemon Go》中的游戲場(chǎng)景很類似,是一種典型的AR特效在手機(jī)上的應(yīng)用。
它不同于傳統(tǒng)平面圖片展示,AR可以結(jié)合產(chǎn)品本身,在手機(jī)上呈現(xiàn)各種動(dòng)感元素。
AR場(chǎng)景幕后功臣——識(shí)別跟蹤技術(shù)
AR可以讓用戶在掃描特定的圖片、二維碼時(shí)展現(xiàn)相應(yīng)的視頻場(chǎng)景,那么這種特效是怎么實(shí)現(xiàn)的?我們以上述示例為例,先來(lái)了解一下AR程序運(yùn)行流程是怎么樣的。
首先用戶需要啟動(dòng)手機(jī)百度APP,開(kāi)啟手機(jī)攝像頭對(duì)準(zhǔn)特定的宣傳畫(huà)掃描,接著手機(jī)屏幕上就會(huì)出現(xiàn)和相應(yīng)產(chǎn)品對(duì)應(yīng)的自然元素組成的視頻。這個(gè)看似簡(jiǎn)單的視頻展現(xiàn),背后其實(shí)就是一個(gè)典型AR場(chǎng)景的再現(xiàn)。
對(duì)于這類AR效果的實(shí)現(xiàn),首先制作方要對(duì)掃描的實(shí)物進(jìn)行建模。如掃描的是某款品牌的化妝品,我們就需要先掃描該物品的3D模型,并對(duì)其進(jìn)行關(guān)鍵幀標(biāo)定,比如瓶蓋、瓶身某位置。然后根據(jù)這個(gè)化妝品成分元素分別準(zhǔn)備對(duì)應(yīng)的視頻數(shù)據(jù),如多汁的檸檬、漂浮的薄荷、開(kāi)放的橙花等這些動(dòng)態(tài)視頻數(shù)據(jù)(圖2)。
這樣當(dāng)用戶使用手機(jī)百度APP掃描淳萃產(chǎn)品瓶身(前面標(biāo)定的關(guān)鍵幀),系統(tǒng)就會(huì)去尋找AR場(chǎng)景中與之最接近的關(guān)鍵幀,根據(jù)關(guān)鍵幀上的特征點(diǎn)(如化妝品中的櫻花成分),然后利用特定的算法找到AR場(chǎng)景中對(duì)應(yīng)的視頻,并將其展現(xiàn)在用戶的手機(jī)畫(huà)面中(圖3)。
在這個(gè)AR應(yīng)用中技術(shù)核心就是識(shí)別跟蹤技術(shù),AR應(yīng)用首先要識(shí)別標(biāo)示物(如上述特定產(chǎn)品瓶身上的品牌標(biāo)記),然后進(jìn)行跟蹤(跟蹤用戶掃描到的產(chǎn)品標(biāo)記),接著就在用戶手機(jī)上展示對(duì)應(yīng)的視頻場(chǎng)景。
那么AR應(yīng)用是怎么對(duì)標(biāo)示物進(jìn)行識(shí)別?AR應(yīng)用是通過(guò)“特征點(diǎn)”進(jìn)行識(shí)別的,就象我們?cè)谌粘I钪幸嬲J(rèn)某個(gè)人,一般是通過(guò)某人臉上的特性標(biāo)記如眼睛大、額頭高、鼻梁長(zhǎng)來(lái)辨認(rèn)。不過(guò)圖像在電子設(shè)備中的狀態(tài)是一堆數(shù)字,AR應(yīng)用是通過(guò)什么來(lái)進(jìn)行識(shí)別?
對(duì)于圖像的識(shí)別一般有FAST、Harris、SIFT、SURF、MSER法等,以FAST特征點(diǎn)檢測(cè)法為例。電子識(shí)別設(shè)備(如電腦、手機(jī))要識(shí)別一張圖片,就需要先對(duì)圖片進(jìn)行特征點(diǎn)的標(biāo)記。FAST特征點(diǎn)檢測(cè)是首先在圖片上選取一個(gè)標(biāo)記點(diǎn),假設(shè)記為P點(diǎn),將其在圖片上的亮度值記為L(zhǎng)。然后設(shè)定一個(gè)閾值Y(用來(lái)表示亮度遞增或遞減),以P為圓心、3個(gè)像素長(zhǎng)度為半徑做一個(gè)圓,這個(gè)圓的邊界上有16個(gè)像素(圖4)。
如果測(cè)試后16個(gè)像素的像素值都比P+Q大(或都比P-Q?。?,那么就認(rèn)為P點(diǎn)就是一個(gè)特征點(diǎn),否則按此方法繼續(xù)查找符合條件的關(guān)鍵點(diǎn)。這樣通過(guò)標(biāo)記圖片上的關(guān)鍵點(diǎn),電子識(shí)別設(shè)備就可以“認(rèn)識(shí)”有特定的標(biāo)記點(diǎn)的圖片了。
當(dāng)然只知道檢測(cè)到特征點(diǎn)還不行,如果要判斷兩張圖片是否是同一張圖片,識(shí)別設(shè)備還要判斷兩張圖片的特征點(diǎn)是否一致。判斷的標(biāo)準(zhǔn)則是借助特征點(diǎn)描述因子,特征點(diǎn)描述因子是對(duì)特征點(diǎn)的描述,比如在日常生活中我們通常用身材相對(duì)高大、講話帶卷舌音這種語(yǔ)句來(lái)表述北方人的特征。同樣的對(duì)于電子識(shí)別設(shè)備來(lái)說(shuō),如果在比較兩張圖片時(shí),發(fā)現(xiàn)它們有同樣的特征描述(比如在某個(gè)相同區(qū)域如左上角有一個(gè)亮度一致的特征點(diǎn)),那么就會(huì)提取目標(biāo)圖和源圖進(jìn)行比對(duì)。如果幾個(gè)特征點(diǎn)都一致,那么就判斷這兩張圖片是特征一樣的圖片。
因?yàn)锳R視頻是由多幀圖片組成,在完成一幅圖片的比對(duì)后還要對(duì)視頻幀的其他圖片進(jìn)行跟蹤比對(duì)。特征跟蹤有兩種方式,一種是對(duì)視頻流中的每一幀圖像進(jìn)行特征點(diǎn)匹配;另一種則在第一幅圖像中,尋找可能的特征位置,然后在后續(xù)的圖像中搜索它們的對(duì)應(yīng)位置。這樣完成對(duì)識(shí)別圖片的跟蹤后,AR應(yīng)用就會(huì)在用戶的手機(jī)上顯現(xiàn)對(duì)應(yīng)的視頻畫(huà)面了。
回到上述的實(shí)例,手機(jī)百度AR應(yīng)用會(huì)先將淳萃產(chǎn)品瓶身圖片進(jìn)行特征點(diǎn)的識(shí)別,并存儲(chǔ)在應(yīng)用中。這樣當(dāng)用戶使用手機(jī)掃描到符合特征點(diǎn)的瓶身圖片,手機(jī)百度AR應(yīng)用會(huì)將當(dāng)前圖片和存儲(chǔ)的圖片進(jìn)行比對(duì),如果是一致的圖片,手機(jī)百度AR應(yīng)用就會(huì)將特定的視頻展示在用戶手機(jī)屏幕上。當(dāng)然AR應(yīng)用還會(huì)進(jìn)行跟蹤,如掃描不同的區(qū)域顯示不同的視頻,或者在掃描其他瓶身時(shí)快速識(shí)別并顯示預(yù)置的視頻到用戶手機(jī)上。