技術宅
現在隨著AR技術的興起,越來越多的AR小應用可以實現在手機上運行和展示。這些AR應用可以在用戶眼前展示栩栩如生的視頻場景,這種應用的核心技術是AR的識別跟蹤技術。那么什么是AR識別跟蹤技術?它又是怎樣實現跟蹤的?
AR應用 讓人身臨其境的魔幻程序
最近流行的AR游戲《Pokemon Go》讓很多人知道AR的魅力,而隨著AR技術的發展,這種借助手機實現的AR營銷APP也越來越多。比如近日百度將人工智能引入AR技術,與歐萊雅中國全新上市淳萃(Ultra DOUX)一起為消費者帶來了一個既有虛擬又有現實的場景體現。消費者只需要打開手機百度APP掃描淳萃產品瓶身、明信片或身邊的公交站牌,即可在手機上看到美麗的櫻花雨、神奇的牛油果等淳萃自然元素,第一時間與美妙的自然環境進行零距離接觸(圖1)。

這個顯示特效和《Pokemon Go》中的游戲場景很類似,是一種典型的AR特效在手機上的應用。
它不同于傳統平面圖片展示,AR可以結合產品本身,在手機上呈現各種動感元素。
AR場景幕后功臣——識別跟蹤技術
AR可以讓用戶在掃描特定的圖片、二維碼時展現相應的視頻場景,那么這種特效是怎么實現的?我們以上述示例為例,先來了解一下AR程序運行流程是怎么樣的。
首先用戶需要啟動手機百度APP,開啟手機攝像頭對準特定的宣傳畫掃描,接著手機屏幕上就會出現和相應產品對應的自然元素組成的視頻。這個看似簡單的視頻展現,背后其實就是一個典型AR場景的再現。
對于這類AR效果的實現,首先制作方要對掃描的實物進行建模。如掃描的是某款品牌的化妝品,我們就需要先掃描該物品的3D模型,并對其進行關鍵幀標定,比如瓶蓋、瓶身某位置。然后根據這個化妝品成分元素分別準備對應的視頻數據,如多汁的檸檬、漂浮的薄荷、開放的橙花等這些動態視頻數據(圖2)。
這樣當用戶使用手機百度APP掃描淳萃產品瓶身(前面標定的關鍵幀),系統就會去尋找AR場景中與之最接近的關鍵幀,根據關鍵幀上的特征點(如化妝品中的櫻花成分),然后利用特定的算法找到AR場景中對應的視頻,并將其展現在用戶的手機畫面中(圖3)。
在這個AR應用中技術核心就是識別跟蹤技術,AR應用首先要識別標示物(如上述特定產品瓶身上的品牌標記),然后進行跟蹤(跟蹤用戶掃描到的產品標記),接著就在用戶手機上展示對應的視頻場景。

那么AR應用是怎么對標示物進行識別?AR應用是通過“特征點”進行識別的,就象我們在日常生活中要辨認某個人,一般是通過某人臉上的特性標記如眼睛大、額頭高、鼻梁長來辨認。不過圖像在電子設備中的狀態是一堆數字,AR應用是通過什么來進行識別?
對于圖像的識別一般有FAST、Harris、SIFT、SURF、MSER法等,以FAST特征點檢測法為例。電子識別設備(如電腦、手機)要識別一張圖片,就需要先對圖片進行特征點的標記。FAST特征點檢測是首先在圖片上選取一個標記點,假設記為P點,將其在圖片上的亮度值記為L。然后設定一個閾值Y(用來表示亮度遞增或遞減),以P為圓心、3個像素長度為半徑做一個圓,這個圓的邊界上有16個像素(圖4)。

如果測試后16個像素的像素值都比P+Q大(或都比P-Q?。敲淳驼J為P點就是一個特征點,否則按此方法繼續查找符合條件的關鍵點。這樣通過標記圖片上的關鍵點,電子識別設備就可以“認識”有特定的標記點的圖片了。
當然只知道檢測到特征點還不行,如果要判斷兩張圖片是否是同一張圖片,識別設備還要判斷兩張圖片的特征點是否一致。判斷的標準則是借助特征點描述因子,特征點描述因子是對特征點的描述,比如在日常生活中我們通常用身材相對高大、講話帶卷舌音這種語句來表述北方人的特征。同樣的對于電子識別設備來說,如果在比較兩張圖片時,發現它們有同樣的特征描述(比如在某個相同區域如左上角有一個亮度一致的特征點),那么就會提取目標圖和源圖進行比對。如果幾個特征點都一致,那么就判斷這兩張圖片是特征一樣的圖片。
因為AR視頻是由多幀圖片組成,在完成一幅圖片的比對后還要對視頻幀的其他圖片進行跟蹤比對。特征跟蹤有兩種方式,一種是對視頻流中的每一幀圖像進行特征點匹配;另一種則在第一幅圖像中,尋找可能的特征位置,然后在后續的圖像中搜索它們的對應位置。這樣完成對識別圖片的跟蹤后,AR應用就會在用戶的手機上顯現對應的視頻畫面了。
回到上述的實例,手機百度AR應用會先將淳萃產品瓶身圖片進行特征點的識別,并存儲在應用中。這樣當用戶使用手機掃描到符合特征點的瓶身圖片,手機百度AR應用會將當前圖片和存儲的圖片進行比對,如果是一致的圖片,手機百度AR應用就會將特定的視頻展示在用戶手機屏幕上。當然AR應用還會進行跟蹤,如掃描不同的區域顯示不同的視頻,或者在掃描其他瓶身時快速識別并顯示預置的視頻到用戶手機上。