基於標記物擴增實境下的遮擋處理
全文
(2) 誌謝. 讀研究所轉眼就過三年了,雖然不能準時畢業,但多虧了許多人的 幫助,最終如願完成了這個學位。 感謝李忠謀老師,一步步引領我投入研究,在我陷入瓶頸時,李老 師總能提供我寶貴的意見,讓我能繼續完成我的研究。多虧有老師的 教導,今天我才有機會打這篇誌謝。 感謝養育我長大的爸媽,雖然在我人生規劃上他們並不總是認同 我,但他們仍毫無保留的付出,讓我能無後顧之憂的成長茁壯。 我親愛的女朋友一直是我最強而有力的後盾,不管是在我得意或煩 惱的時候,總是陪在我身邊,陪伴我走完這段辛苦的研究所之路。 感謝實驗室的各位,不定時的湊出橋牌團或飲料外送團,紓解苦悶 的研究生活。特別感謝哲雋、恩萱和維琳,在我口試的前一天給我寶 貴的建議,讓我及時修正我的錯誤,才能在口試時驚險過關。也感謝 陳佳宜同學,極度強力的 Proposal 與畢業流程拯救者。感謝張雅婷源 源不絕的點心跟故事,還有找我去 Intel 面試,雖然沒上哭哭。 給未來有可能翻這篇論文的學弟妹,如果你只是來看格式的,趁你 還有時間趕快去學 LaTex,完美拯救你的論文,Github 上都有台大已 經整理好的格式,當別人在算索引要打幾個.. 的時候你已經印出來膠 裝了;如果是相關領域,想要參考前人的學弟妹,真心勸你趕快換主 題,如果要做出富有價值的研究,一個研究生的兩年真的是不夠。. i.
(3) 摘要. 本研究提出了基於標記物的遮檔處理演算法,藉由深度攝影機取 得真實環境的幾何資訊,以達成對虛擬物件的遮檔處理。現有的遮擋 處理研究中,少有針對處理時間的優化,但在擴增實境應用中,每秒 幀數(Frames per Second,FPS)至少需到達 30FPS,才能提供良好的 使用體驗,因此遮檔處理除了考量畫面的精細程度外,也要考慮處理 時間。本研究提出了針對處理速度優化的演算法,動態地計算需處理 的範圍,並盡量減少需運算的像素數。實驗的部分可以得知,藉由動 態遮檔處理範圍,遮檔處理的運算時間降至原本的四分之一,最終在 RealSense SR 300 上可以達成每秒三十幀的速度,與此相機原生的每秒 幀數相同。 由於本研究無針對原始深度影像進行優化,為確保其可用性,亦測 量原始深度影像中雜訊像素的寬度,從實驗結果得知,在物體距離鏡 頭 50 至 70 公分時,雜訊的像素寬度從 30pixels 逐漸降低至 10pixels, 證明在一定距離使用時,雜訊並不會嚴重地影響遮檔處理的結果。 關鍵字: 擴增實境、遮擋問題、深度影像、影像處理. ii.
(4) Abstract. This paper presents a occlusion handling algorithm on marker-based augmented reality system, which obtains the geometric information of real environment by depth camera to achieve occlusion handling of the virtual object. In the existing occlusion handling research, there is less attention to processing time, but in augmented reality applications, frames per sescnod(FPS) need to reach at least 30 FPS to provide a good experience. This paper proposes an algorithm for processing speed o ㄣ timization, which sets range of processing dynamically.According to experiments, the processing time of occlusion processing is reduced by three quarters, and reach 30 FPS as well as FPS of RealSense SR300. This paper doesn’t refine raw depth image,To ensure its usability, the width of noise pixels in raw depth images is measured,according to the experimental results, when the object is 50 to 70 cm away from the lens, the pixel width of the noise is gradually reduced from 30 pixels to 10 pixels, which proves that the noise does not seriously affect the result of the occlusion processing when used at a certain distance. Keywords: Augmented Reality, Occlusion Problem, Depth Image, Image Process. iii.
(5) 目錄 誌謝. i. 摘要. ii. Abstract. iii. 緒論. 1. 1. 2. 1.1. 研究動機 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2. 研究目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2. 1.3. 研究範圍與限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.4. 論文章節架構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 文獻探討 2.1. 2.2. 3. 5. 遮擋處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 2.1.1. 基於二維輪廓的遮擋處理 . . . . . . . . . . . . . . . . . . . .. 5. 2.1.2. 基於三維輪廓的遮擋處理 . . . . . . . . . . . . . . . . . . . .. 7. 2.1.3. 基於深度資訊的遮擋處理 . . . . . . . . . . . . . . . . . . . .. 8. 基於標記物的擴增實境系統 . . . . . . . . . . . . . . . . . . . . . . .. 8. 2.2.1. ARToolKit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 2.2.2. Vuforia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11. 2.2.3. ArUco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11. 研究方法. 13. 3.1. 研究目標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13. 3.2. 系統流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13. 3.3. 相機校正 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 14. 3.4. 影像資訊獲取 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15. iv.
(6) 4. 5. 3.4.1. 彩色、深度影像取得 . . . . . . . . . . . . . . . . . . . . . . .. 15. 3.4.2. 標記物辨識 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15. 3.4.3. 標記物姿態計算 . . . . . . . . . . . . . . . . . . . . . . . . . .. 15. 3.5. Offscreen 渲染 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 18. 3.6. 遮擋處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 20. 3.6.1. 動態遮擋處理範圍 . . . . . . . . . . . . . . . . . . . . . . . .. 21. 3.6.2. 計算具遮擋處理的合成圖 . . . . . . . . . . . . . . . . . . . .. 21. 實驗設計. 24. 4.1. 程式開發環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24. 4.2. 執行時間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24. 4.3. 驗證動態遮擋處理範圍的效果 . . . . . . . . . . . . . . . . . . . . . .. 25. 4.4. 多個標記物下的使用情境 . . . . . . . . . . . . . . . . . . . . . . . . .. 26. 4.5. 以點雲進行遮擋處理 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 27. 4.6. 比較其他方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 28. 4.7. 驗證原始深度影像的雜訊程度 . . . . . . . . . . . . . . . . . . . . . .. 29. 結論及未來研究. 33. 5.1. 結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. 5.2. 應用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. 5.3. 未來研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. References. 34. v.
(7) 圖目錄 1.1. 遮擋處理前後的比較 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2. 1.2. 遮擋處理範例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.3. 物體過近時的雜訊情形 . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 2.1. Tian 等人的演算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6. 2.2. Garrido 等人的演算法 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 2.3. Edge snapping-based 的遮擋處理 . . . . . . . . . . . . . . . . . . . . .. 9. 2.4. Occlusion Matting 流程圖 . . . . . . . . . . . . . . . . . . . . . . . . .. 10. 2.5. ARToolKit 介紹 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11. 2.6. Vuforia 介紹 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12. 2.7. ArUco 的遮擋處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12. 3.1. 系統流程圖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 14. 3.2. 相機校正過程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 3.3. 從相機取得之原始彩色、深度影像 . . . . . . . . . . . . . . . . . . .. 17. 3.4. 本研究所使用之 ArUco 標記物 . . . . . . . . . . . . . . . . . . . . . .. 17. 3.5. ArUco 標記物偵測 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 18. 3.6. P3P 問題。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 19. 3.7. 標記物姿態計算後的結果圖 . . . . . . . . . . . . . . . . . . . . . . .. 20. 3.8. Offscreen 渲染圖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 20. 3.9. 動態遮擋處理範圍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 21. 3.10 定界框計算方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 22. 3.11 使用 Coloraug 以及 Colorrraw 的情況 . . . . . . . . . . . . . . . . . .. 22. 3.12 遮擋處理的完成圖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 23. 多個標記物的使用情境。 . . . . . . . . . . . . . . . . . . . . . . . . .. 26. 4.1. vi.
(8) 4.2. 由點雲進行遮擋處理 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 27. 4.3. 物體距離與雜訊寬度的比較 . . . . . . . . . . . . . . . . . . . . . . .. 30. 4.4. 驗證物體不同距離下的雜訊程度 . . . . . . . . . . . . . . . . . . . . .. 31. 4.4. 驗證物體不同距離下的雜訊程度(續) . . . . . . . . . . . . . . . . .. 32. vii.
(9) 表目錄 4.1. 實驗環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24. 4.2. 執行時間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 25. 4.3. 動態遮擋處理範圍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 25. 4.4. 點雲執行時間(無動態處理範圍) . . . . . . . . . . . . . . . . . . .. 28. 4.5. 點雲執行時間(有動態處理範圍) . . . . . . . . . . . . . . . . . . .. 28. 4.6. 與其他研究的運算時間進行比較 . . . . . . . . . . . . . . . . . . . . .. 29. 4.7. 雜訊與有效像素的數量研究 . . . . . . . . . . . . . . . . . . . . . . .. 30. viii.
(10) 1. 緒論 1.1. 研究動機 隨著電腦硬體的運算能力不斷提升,許多圖像處理以及電腦視覺的演算法都. 能夠達到即時運算的速度,擴增實境(Augmented Reality)的應用也因此日益興 盛,許多方便開發者製作擴增實境的軟體開發套件(Software Development Kit)如 ARToolKit (Hirokazu, 2016)、Vuforia (Voforia, 2017) 也漸漸普及。然而在擴增實境 中,所渲染(rendereing)出來的虛擬物件和真實物體之間無可避免地會面臨到遮 擋問題(Occlusion Problem)。如圖 1.1,所謂的遮擋問題是指在影像處理(Image Processing)領域中,後製渲染出來的物體或圖像,由於缺乏其在現實世界中的幾 何資訊,導致畫面中經由渲染而來的虛擬物體總是處於畫面最上方,無法被真實 物體所遮擋。此問題顯著影響了擴增實境系統的真實性與可用性。以現今常用到 擴增實境技術的器械操作、維修為例,當虛擬物件總是置於圖像最上層而無法提 供正確的幾何資訊時,使用者的視線、操作以及真實性都會受到影響。 為解決遮擋問題,學者們提出許多基於不同技術上的實現方法,當中容易實 現且效果良好的方法為使用深度攝影機來取得畫面中的深度資訊,並將該資訊用 在判斷真實與虛擬物體之間的幾何關係上。隨著深度攝影機的硬體進步,從以前 如 Microsoft Kinect 體積龐大、難以攜帶使用且精準度較低的深度影像捕捉裝置, 乃至現在有精準度更高的 Microsoft Kinect V2;也有體積縮小許多、能夠搭載於平 板、筆電上的 Intel Realsense。這使開發能夠處理遮擋問題的擴增實境系統變得可 行。 在過往的文獻中,少有與標記物配合的研究。多半預先設定好虛擬物件在畫 面中的位置,同時保持相機固定不動,僅有欲遮擋虛擬物件的現實物體會有位置 變化。在這種假設下,雖不用擔心需偵測的標記物遭到其他現實物體遮擋,但此 種方法在鏡頭或虛擬物體需要移動的情境中,將無法對應到移動後的情況,使得 實用性遭到侷限。因此本研究中提出以標記物代表虛擬物體位置的方法,並提供. 1.
(11) 圖 1.1: 遮擋處理前後的比較,藉由得知現實場景的深度資訊,可以對渲染出來的 虛擬物件進行遮擋處理。左圖為遮擋處理後的影像,右圖為未進行遮擋處理的影 像,從圖中可以得知,若無法遮擋在現實物體後的虛擬物件,會對真實性帶來影 響。 擴增實境應用中所需的功能,使用者不用預先設定虛擬物件在畫面中的位置,同 時在視角或標記物被改變位置時亦可獲得正確的結果。 在擴增實境應用中,為提供使用者流暢的體驗,需要達成至少每秒 30 幀的速 度。然而當演算法須處理深度數據時,往往因計算量龐大,導致演算法速度低落, 難以在擴增實境系統的渲染畫面上中達到足夠的每秒幀數(Frame per Second, FPS),本研究中的演算法將針對此部分進行處理,在效能與效果上取得平衡,模 組化的演算法中亦提供可調教的參數,讓不同級別的電腦皆能調整到最適合的執 行情況。. 1.2. 研究目的 如第一小節所述,加入遮擋處理後的擴增實境,可以提高其真實性及可用性,. 但一般基於標記物的擴增實境少有提供遮擋處理之相關功能;另一方面,遮擋處 理的研究通常將虛擬物件固定於畫面某處,而無法應用於畫面場景改變,或鏡頭 移動的使用情境中。本研究目的為在基於標記物的擴增實境上,加入遮擋處理的 功能,使得遮擋處理能夠應用於更廣泛的使用情境中(如圖 1.2)。 在彩色二維影像中,無法得知物體之間的幾何關係,本研究中藉由深度資訊 得知攝影機至物體間的距離,並計算虛擬、真實物體間的遮擋關係,進而解決遮 擋問題。由於深度影像倚賴紅外線的發射與接收,在此過程中被照射物體的材 質、物體距離攝影機過遠,導致紅外線散班分布不足、光線影響等等問題皆會導. 2.
(12) 圖 1.2: 遮擋處理範例,透過深度攝影機得知畫面中真實物體的遠近,並與虛擬物 件比較,正確地渲染出符合幾何關係的虛擬物件。左圖為渲染出來的彩色圖像, 右圖正確處理遮擋的深度幾何資訊 致深度影像雜訊的產生;除此之外,由於現有技術無法將彩色及深度攝影機的鏡 頭放置於同一個位置,且相機的內部參數也有所不同,因此兩者所取得的影像間 會有些微的偏差。這些情況在渲染虛擬物體之前都需要經過處理,以提供修正偏 差之後的深度資訊。 過往的遮擋處理研究中,較少提及其演算法的處理時間,然而對於擴增實境 而言,系統的處理時間會影響使用者的體驗,因此本研究希望能藉由多種優化策 略,降低處理時間,以提升畫面的每秒幀數。. 1.3. 研究範圍與限制 在現有標記物追蹤的方法中,須事先取得相機內部參數,如焦距、鏡頭變形;. 以及外部參數,如相機的擺放方向、位置等等,此步驟稱為相機校正(camera calibration),藉由此方法取得的參數,得以用來計算畫面中 Marker 的姿態 (pose)。 本研究之演算法同樣需要預先進行相機校正。 考量到深度攝影機之特性,本研究須滿足以下情況,以獲得最佳結果: (1) 在 相似照明條件下的環境,避免大幅度的陰影變化、或使 Marker 上產生反光的強烈 照明。(2)根據實驗結果,原始深度影像所能偵測的最遠距離約 80 公分,而深度 影像的雜訊隨著物體距離鏡頭越遠而越低。在本研究中,物體距離鏡頭五十至七 十公分時最為適當。過近的物體會有相當嚴重的雜訊,如圖1.3. 3.
(13) 圖 1.3: 物體過近時的雜訊情形,圖中的罐子距離鏡頭二十公分遠。當物體距離 過近時可以看見在物體的左右兩邊出現嚴重的雜訊,此情況會隨著距離漸遠而減 輕。. 1.4. 論文章節架構 本研究章節共分成五章,第二章為文獻探討,包含現有技術與近年研究中的. 遮擋處理方法,以及介紹基於標記物的擴增實境系統開發工具;第三章為研究方 法,包含整個研究的整體架構、流程以及演算法等等;第四章則為實驗規劃,包 含實驗環境、實驗目的、以及結果的比較與評估。最後則為研究的總結,分析本 研究的結果與可用性等等。以及參考文獻的部分。. 4.
(14) 2. 文獻探討 本章節中,首先探討常見的遮擋處理方法,接著簡介基於標記物的擴增實境 系統。. 遮擋處理. 2.1. 本研究和其他基於標記物的擴增實境系統最大不同之處,為針對虛擬物件以 及真實物體之間的幾何關係進行遮擋處理,這是現今擴增軟體開發工具尚無具備 的部分。而現今的遮擋處理大致上可以分為三種,基於二維輪廓、基於三維輪廓, 以及基於深度資訊。. 2.1.1. 基於二維輪廓的遮擋處理. 由於二維影像無法得知物體之間的幾何資訊,因此此種方式大部分皆假設虛 擬物件及真實物體之間有固定的遮擋關係。Tian, Guan, and Wang (2010) 提出了能 夠藉由使用者互動來標記並追蹤真實物體輪廓的演算法,真實物體的輪廓在開始 追蹤時被初始化,並不斷追蹤真實物體輪廓以推斷遮擋情況。並利用機器學習 (Machine Learning)為基礎的快速邊緣偵測方法(Fast corner detection method)來 追蹤特徵,並結合邊緣特徵偵測和 ARToolKit 的標記物辨識、渲染虛擬物體,合 成出經過遮擋處理後的影像,如圖 2.1。 Garrido-Jurado, Muñoz-Salinas, Madrid-Cuevas, and Marín-Jiménez (2014) 則是使 用遠大於虛擬物件大小的一組標記物板(Marker Board),藉由判斷有哪些 Marker 被遮擋,以得知哪些部分需要進行遮擋處理。如圖 2.2。由於有多個 Marker 可供 偵測,因此這種方法的好處有(1)即使部分 Marker 無法被偵測,仍不影響整體 (2)有多個角落點(corner point)可供計算標記物姿態(Marker Pose),可以有效 降低噪點或 n 點透視結果不精確的影響。同時此研究中還提出對於偵測 Marker ID 而言,藍綠色的 Marker 會比黑白的 Marker 有更好的效果,但在計算避免頂點抖. 5.
(15) 圖 2.1: Tian et al. (2010) 的演算法。圖 (b) 為邊緣偵測方法的成果。圖 (c) 到圖 (j) 為該演算法在不同角度下的遮擋處理表現。 動(Vertex Jitter)時仍是黑白的 Marker 表現較為優秀。 基於二維輪廓的遮擋處理,特色是不需任何先備資訊,也不需要特殊的設 備。然而其最大的限制便是其僅能假設前景的真實物體一定較虛擬物件近,導致 在畫面移動、或虛擬物件應遮住真實物體時,由於缺乏對真實物體的幾何資訊, 因此仍錯誤地將虛擬物體遮擋起來。在某些研究中,使用了遠大於虛擬物件的標 記物板來處理遮擋問題,然而過大的標記物板卻也會降低畫面的真實性。. 6.
(16) 圖 2.2: Garrido-Jurado et al. (2014) 的演算法。其由一組 Marker 組成,藉由計算哪 些 Marker 被遮擋來得知應遮擋處理的部分。上方兩張圖為其標記物偵測與遮擋計 算情況。圖 (a) 為輸入圖片,圖 (b) 為標記物計算情況,以確認標記物 ID 並計算 整張標記物版的姿態(Pose),圖 (c) 為渲染出虛擬物件的影像,圖 (d) 則為加入遮 擋處理後的畫面。. 2.1.2. 基於三維輪廓的遮擋處理. 和基於二維輪廓的方法相反,此種方式使用三維資訊。其使用 SLAM (DurrantWhyte & Bailey, 2006) 等方法建立真實場景的三維模型,並在建立的 3D 場景模型 中測試虛擬物件的遮擋情況再渲染虛擬物件,Klein and Drummond (2004) 的研究 中假設使用者有一個預先建立好的三維模型,Ong, Teh, and Tan (1998) 使用運動 估計結構(Structure-from-Motion)來建構場景大致的模型,且可以經由多次掃描 來取得現實場景的精密三維模型;Newcombe et al. (2011) 提出的方法中則是使用 Kinect 來掃描並建立模型。 基於三維輪廓的方法,不需假設虛擬物體皆被遮擋。且若量測精確,可以建 立出完整的現實場景模型,除了遮擋處理外還可以使虛擬物件和現實場景做出更 多互動,如碰撞、放置虛擬物件於現實物體上等。缺點是仰賴於先備真實場景模 型,繁複的步驟使其不便於使用,且無法處理現實場景的變化。. 7.
(17) 2.1.3. 基於深度資訊的遮擋處理. 基於深度資訊的方法則不仰賴二維輪廓偵測或是預先建立好的 3D 模型,而 是動態地更新畫面中的深度資訊,因此這種方法比起上述兩種方式,可以更好地 處理動態遮擋的問題。取得深度資訊的方法可以透過雙鏡頭進行運算 (Schmidt, Niemann, & Vogt, 2002; Wloka & Anderson, 1995),或是直接使用深度攝影機來取得 深度資訊。由於現在深度感測器的普及與進步,已有許多消費級別的深度感測器 問世,因此現今的研究多半已深度感測器作為深度資料的來源。其優點是能實時 取得現實場景的深度資訊,不需預先建立模型、亦不需假設虛擬物體遭套遮擋。 然而,深度攝影機的深度測量有著解析度較低、物體邊界的嚴重雜訊等問題,若 是不針對原始深度資訊進行處理而直接應用在系統中,將會受到視覺偽像(visual artifacts)的影響。因此,現在也有針對處理原始深度影像的研究。 Du, Chen, Ye, and Ren (2016) 提出了基於邊緣咬合(Edge snapping-based)的遮 擋處理,其將深度攝影機組合於 Google glass 上,並減少深度影像常見的邊緣雜 訊,最後將遮擋處理後的虛擬物件於 Google glass 上呈現,提供更真實的觀看體 驗。如圖2.3 Hebborn, Höhner, and Müller (2017) 將擴增實境領域中的遮擋問題,視為分辨 出前後景的影像問題。其藉由原始的深度圖產生初始的 Trimap,經過與彩色圖像 的比對,膨脹 (Dilate)Trimap 中的未知區域(Unknown Region);再將明確的前、 後景顏色傳播(Propagate)至未知區域中,最後同時參考 Color Cost 與 Propagation Cost,最小化目標函式以取得畫面的前後景位置,如圖 2.4 。. 2.2. 基於標記物的擴增實境系統 軟體開發工具(SDK)提供開發者便利的開發工具,減少研究底層技術的. 時間,並讓開發者得以聚焦在實現自己的創意上。在擴增實境技術蓬勃發展之 後,許多 SDK 相繼被開發出來,也有研究詳細比較各 SDK 之間的差異與優缺點 (Amin & Govilkar, 2015)。然而 AR 技術更迭快速,雖該研究已納入大多數常見的 SDK,但時至今日已有多款 SDK 專案已關閉、或被收購,同時亦有新興的 SDK 如 ARCore、ARKit 被提出。本章節中將簡略介紹現今常見的 SDK,並討論其尚 8.
(18) 圖 2.3: Edge snapping-based 的遮擋處理 (Du et al., 2016) ,其在 Google glass 上進 行成像。圖 (a) 以及圖 (d) 分別為無遮檔和有遮檔的結果圖;圖(b)、(e) 為進行遮 檔處理後需渲染出來的虛擬物件影像;圖 (c)、(f) 為將虛擬物件設為半透明後與現 實場景結合的結果。 可改進的部分。. 2.2.1. ARToolKit. ARToolKit 為歷史悠久的開源資源庫(Library),1999 年釋出第一版,最新版 本為 2016 年 3 月推出的 5.3.2 版。同時也是最先將擴增實境技術應用在行動裝置 上的資源庫之一,其於 2005 年時將其應用在 Nokia 的 Symbian 手機系統上,在 2008 年時在 iPhone 3G 上執行,2010 年開放給 Android 系統使用等等。 其 SDK 的突出的地方是可以用任何方形的圖形作為標記物如圖2.5。以及提 供容易使用的相機校正(Camera Calibration)程式碼,並支援多種格式的影片輸 入,也支持不同的色彩編碼如 RGB、YUV 等等。 作 為 一 款 開 源 的 擴 增 實 境 資 源 庫, 亦 有 許 多 擴 增 實 境 SDK 是 建 立 在 ARToolKit 的架構上修改而成,例如使用 Java Softaware library 的 AndAR、使用 Flash 的 FLARManger、以及用於 Silverlight 的 SLARToolkit 等等。ARToolkit 對於 擴增實境的開發有相當大的貢獻。. 9.
(19) 圖 2.4: Occlusion Matting 流程圖 (Hebborn et al., 2017) ,步驟 (A) 中先渲染出虛擬 物件並提取其深度緩衝器,步驟 (B) 中藉由使用步驟 (A) 所取得的深度緩衝器以 及相機取得的深度影像,產生對應的 Trimap,圖中白色的部分代表後景,黑色代 表前景,紅色則是不需考慮的部分。步驟 (C) 中在彩色影像中各自膨脹前景和後 景的區域。步驟 (D) 產生 Alpha Estimation,最後步驟 (E) 合成遮檔處理後的影像。. 10.
(20) 圖 2.5: ARToolKit 介紹,其特點是可以用任何方形的圖形作為標記物,如圖中的 正方形圖形。. 2.2.2. Vuforia. 由高通所開發的 Vuforia,第一版發行於 2011 年 4 月,在 2015 年時被 PTC 收 購,最新版為 2017 年 12 月推出的 Vuforia 7。Vuforia 提供基於電腦視覺的影像辨 識技術,有許多相較於其他 SDK 而言更強大、多樣化的技術。其目標管理系統 (Target Management System)和常見儲存於裝置端的方法不同,開發者也可以將偵 測的目標儲存於雲端,減少在裝置上佔用的空間;除了 2D 平面的標記物外,也 支援長方體、圓柱體、文字等目標,同時也提供基於 GPS 的 Markerless 功能。 基於電腦視覺的圖像偵測提供穩健的執行結果,有以下特點:(1)高速的目 標偵測,並可以同時偵測五個目標。(2)在光照情況較差時仍可以有效追蹤標記 物,甚至在 Marker 有部分被遮擋時也可以辨識出標記物。(3)提供額外的擴展追 蹤(Extended Tracking)功能,在 Marker 離開畫面時,仍然渲染虛擬物件於正確 的幾何位置上,如圖2.6。. 2.2.3. ArUco. ArUco 為輕量級的開源擴增實境資源庫,基於 OpenCV 的架構使 ArUco 能夠 跨平台實現擴增實境的功能,除了可以支援 ArToolKit、ARTag 等常見的標記物 外,ArUco 同時也開發了自己的 ArUco 標記物,讓使用者能夠自己定義、產生標 11.
(21) 圖 2.6: Vuforia 介紹,Vuforia 中最具特色的功能是擴展追蹤功能,其在標記物離 開畫面後仍可正常顯示渲染出來的虛擬物件。. 圖 2.7: ArUco 的遮擋處理 (Garrido-Jurado et al., 2014)。左上的圖為輸入的原始影 像;右上的圖為標記物版的姿態偵測;左下的圖為遮檔處理的遮罩,白色的部分 代表需渲染虛擬物件的部分,黑色則是被遮檔的部分。右下為遮檔處理後的完成 圖。 記物,除此之外也能用一組特定的 ArUco 標記物來進行相機校正。 ArUco 簡化了偵測與取得標記物姿態的方法,使用者只需要少量程式碼便可 以達到在畫面中辨識並繪出標記物三軸的效果。得益於修改過的演算法,使得 ArUco 是所有資源庫之中辨識標記物最快速的一個。除了常見的擴增實境功能 外,同時提供了集成 OpenGL 與物件導向圖形渲染引擎(Object-Oriented Graphics Rendering Engine,OGRE)的功能,在取得標記物的參數後可以將對應到標記物 ID 的虛擬物件渲染到畫面上。基於標記物板(Marker Board)的偵測更可以在基 於 2D 畫面的基礎上實現遮擋處理的效果(如圖2.7)。. 12.
(22) 3. 研究方法 本研究除常見擴增實境功能外,藉由深度攝影機取得真實世界的幾何資訊, 計算虛擬物件以及真實物體之間的相對關係,並對虛擬物件進行遮擋處理,增加 擴增實境應用之真實性以及實用性。 本章節分為五個小節,3.1 節說明本研究之研究目標,3.2 節為本研究系統流 程 7,3.3 節為相機校正,3.4 節為影像資訊獲取,3.5 節為 offscreen 渲染,最後 3.6 節則為遮擋處理。. 3.1. 研究目標 本研究目標為在基於標記物的擴增實境系統下,能夠對虛擬物件進行遮擋處. 理。擁有常見擴增實境之功能,如標示物辨識、以及渲染虛擬物件,並額外加上 深度資訊的處理與應用以處理遮擋問題,提高畫面之真實性與可用性。. 3.2. 系統流程 圖 3.1為本研究之系統流程圖。首先是進行相機校正,取得相機的內部參數,. 以利之後計算標記物的姿態,這個步驟只要執行一次取得數據,之後都能夠沿用 此數據進行計算。 第二個步驟是影像資訊獲取,從深度攝影機取得原始的彩色影像 Colorraw 、 深度影像 Depthraw ,並在彩色影像中辨識有效的標記物,並計算其 ID 和姿態。 第三個步驟是 offscreen 渲染,從原始彩色影像中辨識標記物並計算其姿態 後,將其對應的虛擬物件在 GPU 內渲染,並將其彩色、深度緩衝器的影像複製出 來,作為擴增彩色影像 Coloraug 以及擴增深度影像 Depthaug 。 第四個步驟則是進行遮擋處理,利用先前取得的原始彩色、深度影像,以及 擴增彩色、深度影像。藉由比較深度影像的值,能夠得知每個像素應該由原始彩 色影像 Colorraw 的值或是由擴增彩色影像 Coloraug 的值呈現。當中應用了動態 13.
(23) 圖 3.1: 系統流程圖。相機校正中取得相機的內部參數以及畸變參數;在影像資訊 獲取的部分取得標記物的 ID 和姿態,以及原始彩色影像 Colorraw 和原始深度影像 Dpethraw 。offscreen 渲染中,將對應標記物 ID 的虛擬物件於 GPU 內渲染,並從 GPU 中複製對應的彩色、深度緩衝器,取得有虛擬物件的擴增彩色影像 Coloraug 和擴增深度影像 Depthaug 。遮檔處理中藉由比較兩張深度影像的資訊,並刪除資 訊中的雜訊、不需要的部分等,取得彩色影像最後應呈現出來的像素值,最後將 影像輸出至畫面上。 處理範圍的演算法,不對整張圖片進行計算,而是藉由計算虛擬物件的定界框 (bounding box),找出畫面中特定的區塊,並只在其中進行運算。當區塊內的影像 處理完畢後,將該區塊的影像複寫至 Colorraw 中,便能取得具遮擋處理的彩色影 像,並將其輸出至畫面上。詳細的方法在後面小節中詳述。. 3.3. 相機校正 為了在標記物的姿態推估(Pose estimation)中取得正確的參數,相機必須經. 過一次相機校正,取得正確的內部參數。將取得的參數儲存下來後便可以重複使 用,不需於每次程式執行時都進行一次相機校正。本研究以 ArUco 函式庫中的相 機校正功能取得相機參數。相機校正中通常需要一張特別的棋盤圖像,並用需要 校正的相機拍攝數張在不同角度下的棋盤影像,之後將圖像輸入至校正程序中, 14.
(24) 使校正程序得以從畫面中每個方形區塊的四角(Corner)計算出該相機的參數, 本研究使用六張影像進行校正,校正程序的過程如圖3.2。. 影像資訊獲取. 3.4. 此步驟中將儲存相機的彩色、深度影像,並從彩色影像中尋找是否有 Marker 存在,若有偵測到 Marker,再藉由相機校正所取得的內外部參數,推估出每個 Marker 的姿態參數。. 3.4.1. 彩色、深度影像取得. 為了之後合成具遮擋處理的彩色影像,從相機得到彩色影像以及深度影像時, 需儲存其影像作為原始彩色影像 Colorraw 、原始深度影像 Depthraw ,如圖3.3。. 3.4.2. 標記物辨識. 在取得相機的原始彩色影像後,接著需要找到畫面中的標記物。本研究使用 輕量化函式庫 ArUco,以及其 Aruco Marker,如圖3.4。在程式初始化時首先定義 標記物的邊(N*N),在處理時首先將彩色影像利用局部調適闕值(local adaptive thresholding)找出物體的邊緣,接著進行輪廓提取(contour extraction)取得畫面 中矩形的部分,最後對取得的部分進行 homography 變形,將變形的矩形還原為正 方形,再利用一開始定義標記物之邊長 N 來對標記物內部進行分割,分割後便可 得到標記物的編號,如圖 3.5。. 3.4.3. 標記物姿態計算. 在確定標記物是否有效後,下一個步驟需要藉由解決 N 點透視 (Perspective n Point) 問題來得到 Marker 的旋轉、平移矩陣。Gao, Hou, Tang, and Cheng (2003) 提 出 了 經 典 的 P3P(Perspective 3 point) 方 法, 如 圖 3.6, 設 P 點 為 相 機 的 投 影 中 心, 點 A、B、C 為 三 維 世 界 點, 並 對 應 到 二 維 影 像 中 的 u、v、w。 令 x = |P A|、y = |P B|、z = |P C|,α = ̸ BP C、β = ̸ AP C、γ = ̸ AP B,p = 2 cos α、 q = 2 cos β、r = 2 cos γ,a′ = |BC|、b′ = |AC|、c′ = |AB|。根據餘弦定理,可以 15.
(25) 圖 3.2: 取得相機校正參數的過程,本研究使用六張不同角度的標記物板影像,將 影像輸入至程序中後可取得使用相機的內部參數及形變參數(Distortion Coefficient) 。. 16.
(26) 圖 3.3: 從相機取得之原始彩色、深度影像,左圖為原始彩色影像 Colorraw ,右圖 為原始深度影像 Depthraw 。. 圖 3.4: 本研究所使用之 ArUco 標記物 得到聯立方程式如下: x2 + y2 − xyr − c′2 = 0 x2 + z2 − xzq − b′2 = 0 y2 + z2 − yzp − a′2 = 0. (3.1). 為得知相機投影中心到各點的距離,其中 x、y、z 是我們想要求得的部分。求得 x、y、z 後,可以用已知的二維、三維點,計算出二三維之間轉換的旋轉和平移 矩陣: sPc = K[R|T ]pw. 17. (3.2).
(27) 圖 3.5: ArUco Marker 偵測 (Garrido-Jurado et al., 2014) 。圖 (a) 中綠色的方框代表執 行輪廓偵測後找到的區塊,圖 (b) 為對區塊中進行 homography 後取得的正方形影 像,最後圖 (c) 為對標記物內部分割後並二值化後取得的 ID。右圖為本研究中取 得 ID 並顯示於畫面上的結果。 [. ]T. 其中 Pw = x y z 1. [. ]T. 為世界座標系中的點,Pc = u v 1. 是對應的圖片座. 標系中的點,K 為相機的內部參數,R 和 T 為想要求得的相機三維旋轉與平移矩 陣,上述方程式展開如下: x u fx γ u0 r11 r12 r13 t1 y s v = 0 fy v0 r21 r22 r23 t2 z 1 0 0 1 r31 r32 r33 t3 1. (3.3). 以 P3P 方法計算時,會得到多組解,為消除歧異性 (ambiguity),通常會加入 第四點進行運算,取得標記物姿態後的結果如圖3.7。. 3.5. Offscreen 渲染 從彩色影像取得標記物的 ID、姿態之後,在 GPU 中初步渲染有虛擬物件的. 影像,而不將其輸出至畫面上。在渲染結束後,從彩色緩衝器中複製擴增彩色影 18.
(28) 圖 3.6: P3P 問題 (Gao et al., 2003)。其中的點 A、B、C,線 a’、b’、c’,角度 α、 β、γ 皆已知,為得知物件的旋轉、平移向量,目標是求得虛線 x、y、z 的長度。. 19.
(29) 圖 3.7: 標記物姿態計算後的結果圖,在計算出標記物的旋轉、平移矩陣後,可以 在畫面中繪出其標記物的三軸方向。. 圖 3.8: Offscreen 渲染圖,初步渲染後取得未經遮擋處理的彩色影像,以及對應的 深度緩衝資訊。左圖為彩色緩衝器、右圖為深度緩衝器。 像 Coloraug 以及其深度影像 Depthaug ,如圖3.8。. 3.6. 遮擋處理 渲染虛擬物件後,藉由讀取 GPU 中的緩衝器,取得有渲染虛擬物體的彩色、. 深度影像,再與原先攝影機所取得的原始彩色、深度影像相比較,並藉由虛擬物 件的定界框,降低需要計算的範圍,合成具遮擋處理的圖像。. 20.
(30) 圖 3.9: 動態遮擋處理範圍,左圖為原來的渲染圖,右圖為計算出來須進行遮擋處 理的範圍(以黑色方塊表示)。. 3.6.1. 動態遮擋處理範圍. 在計算真實環境與虛擬物件的幾何關係時,若將整個畫面的深度資訊納入考 量,將會顯著增加計算時間。因此本研究提出了動態遮擋處理範圍的方法,將深 度資訊的計算範圍限制在有虛擬物件存在的區塊,捨棄掉不需要計算的部分,進 而增進演算法速度。如圖3.9。 為得知緩衝器中,虛擬物件所對應到平面上的區塊,需計算虛擬物件的定 界框(Bounding box)。首先求得在三維空間中三軸上的 xmin 、xmax 、ymin 、ymax 、 zmin 、zmax ,經由這些數據得到虛擬物件定界框的八個頂點,再分別將八個頂點投 影至平面空間中。取得這八個點中可以圍出最大四邊形的四個點。為方便計算, 這裡將處理範圍設為正方形,邊長為四邊形中最長的邊長,正方形中心為四邊形 的中點,如圖 3.10。. 3.6.2. 計算具遮擋處理的合成圖. 為提升速度,首先將原始彩色影像複製到緩衝器中,並計算有哪些區域需要 複寫上 Coloraug 的像素值,有三種情況需要使用 Coloraug 的像素值:(1)由於深 度攝影機有一定的距離限制,若是背景超出深度攝影機可以取得的範圍,其深度 值回傳值為 0,發生此種情況時代表距離過遠。(2)Depthraw 與 Depthaug 的值都 正常,經由比較之後得知 Depthaug 較近。兩種情況對應如圖3.11。. 21.
(31) 圖 3.10: 定界框計算方法,首先將三維空間中的點投影至平面上,並找到擁有最 大 x、最小 x、最大 y、最小 y 的四個點,並計算 x 和 y 的距離,選擇較長的距離, 如左圖;接著以四個點的中點為中心、xy 中最大的距離為邊長,框出的正方形便 是取得的遮擋處理範圍,如右圖。. 圖 3.11: 使用 Coloraug 以及 Colorrraw 的情況。紅色區域代表深度攝影機沒有回傳 值,故使用 Colorraw ,藍色區域則代表經由比較之後 Depthaug 的值比 Depthraw 小,即代表虛擬物件較靠近鏡頭,同樣需使用 Colorraw 。剩餘白色區域則是直接 使用原始彩色影像 Colorraw 的部分。. 22.
(32) 圖 3.12: 遮擋處理的完成圖。 總結之後,圖中每個點 (x, y) 確認顏色來自哪張圖的方法如下: Coloraug (x, y), Color (x, y), Colorsyn (x, y) =. aug. if Depthraw (x, y) = 0 if Depthraw (x, y) > 210. Coloraug (x, y), if Depthraw (x, y) > Depthaug (x, y) Colorraw (x, y), otherwise. (3.4). 其 中 Colorsyn (x, y) 代 表 合 成 圖 的 像 素 值,Coloraug (x, y) 為 渲 染 虛 擬 物 體 後 的 影 像,Colorraw (x, y) 則 是 攝 影 機 取 得 的 原 始 影 像;Depthaug (x, y) 和 Depthraw (x, y) 則分別為對應 Coloraug (x, y) 以及 Colorraw (x, y) 的深度影像。完成 遮擋處理後的影像如圖3.12。. 23.
(33) 4. 實驗設計 在本章共分為六節,4.1 節為實驗環境介紹,4.2 節中實驗不同距離對遮擋處 理的影響,4.3 節驗證不同角度對遮擋處理的影響,4.4 節比較加入優化程序後對 系統效能的影響,4.5 節紀錄各功能的處理時間,4.6 節為計算點雲數量對運算速 度的影響。. 4.1. 程式開發環境 本研究之實驗在 C++ 與 Swift 上開發,其中以 C++ 的 OpenCV 與 libRealsense. 分別進行影像處理和擷取深度攝影機之彩色、深度影像。並在 Swift 上以 Scenekit 進行遮擋、渲染虛擬物件。 而本研究所使用的硬體設備,電腦為 2013 年末 iMac 21.5 吋,深度攝影機為 Intel RealSense Camera SR300,詳細硬體配置如表4.1所示。. 4.2. 執行時間 本研究演算法著重於標記物處理及遮擋處理,為驗證本研究的方法,實驗中. 記錄一萬幀的處理時間,並將其平均。在處理標記物的部分,辨識與計算標記物 的姿態耗時約 0.069 毫秒,放置虛擬物件共約 0.211 毫秒;遮擋處理中,獲取緩衝 器資訊需耗時 0.192 毫秒,合成遮擋圖則需 7.3 毫秒左右,整理後的表格如表4.2。 表 4.1: 實驗環境 實驗平台 OS CPU 顯示卡 RAM 攝影機 彩色影像解析度 深度影像解析度. macOS High Sierra 10.13.4 Intel i5 2.7GHz 四核心 Intel Iris Pro 1536MB DDR3 8G Intel RealSense SR300 1920*1080 @ 30FPS 480*360 @ 30FPS 24.
(34) 表 4.2: 執行時間 總處理時間 辨識標記物並計算姿態 標記物處理 放置虛擬物件 從 Buffer 獲取資訊 遮擋處理 比較並合成遮擋圖. 33.017ms 0.069ms 0.211ms 共 7.989ms 0.192ms 7.306ms. 表 4.3: 動態遮擋處理範圍 總處理時間 辨識標記物並計算姿態 標記物處理 放置虛擬物件 從 Buffer 獲取資訊 遮擋處理 比較並合成遮擋圖 總時間. 動態範圍 33.017ms 0.069ms 0.211ms 0.192ms 7.306ms 7.989ms. 全畫面 55.706ms 0.072ms 0.234ms 0.204ms 31.920ms 32.43ms. 驗證動態遮擋處理範圍的效果. 4.3. 如第三章提到,在大部分的情況中,對整張畫面進行處理會浪費許多不必要 的時間。此小節中會驗證動態遮擋處理對於運算時間的改善。在標記物處理的部 分中,應用動態處理範圍後辨識及計算標記物所需的時間為 0.069 毫秒,輸入整 張畫面則需 0.072 毫秒,放置虛擬物件的部分兩者則無明顯差異,皆在 0.07 毫秒 左右。 遮檔處理的部分,由於都是從 buffer 複製整張畫面,因此使用的時間差異不 大,都在 0.2 毫秒左右,比較並合成遮檔圖的部分則有顯著的差異,應用動態處 理範圍後的處理時間為 7.306 毫秒,而不採用動態處理範圍的時間則為 31.92 毫 秒,處理時間為動態處理範圍的 4.4 倍。總處理時間而言,採用動態處理範圍後 的時間為 7.989 毫秒,不採用動態處理範圍則為 32.43 毫秒,仍有約四倍的差異。 如表4.3。. 25.
(35) (a). (b). (c). (d). (e). (f). 圖 4.1: 多個標記物的使用情境。. 4.4. 多個標記物下的使用情境 為驗證本研究的可用性,除了針對單一標記物的實驗外,也模擬了兩個標記. 物下的使用情境。本小節中除了原先使用的標記物外,另外加入了另一組標記物 以及其對應的虛擬物件,如圖4.1所示, 從圖中可見,在真實物體在兩個虛擬物件之前時,可以正確地處理遮擋,同 樣也能夠對應真實物體介於兩個虛擬物件之間的情形。而兩個標記物時雖然增加 了動態遮擋處理需處理的範圍,但仍能保持 30FPS 的處理速度。. 26.
(36) 圖 4.2: 由點雲進行遮擋處理,上半部的影像為遮擋處理後的彩色影像,下半部為 其對應的深度影像。. 4.5. 以點雲進行遮擋處理 Newcombe et al. (2011) 的方法中,使用深度攝影機多次掃描現實場景,將現. 實物體的三維模型以點雲(point cloud)的方式儲存下來,並用於之後的遮檔處理 上。除了多次掃描建立現實場景的模型外,也可以不建立完整的場景模型,而是 利用當前的深度資訊,隨著每一幀建立目前畫面的模型。以點雲進行處理的特點 是不需要額外儲存原始的攝影機影像,也不需待虛擬物件被渲染出來後再進行合 成影像。而是直接在三維緩衝器中,同時將虛擬物件與點雲模型的三維物件放入, 視角中比點雲模型遠的虛擬物件自然會受到遮擋。此種方法的優點是在緩衝器中 有完整的現實深度資訊,缺點是每一幀都需要繪製大量的點雲,且由於點雲數量 無法固定,也較難優化其效能。 如圖4.2,上半部為彩色影像,下半部為其對應的深度影像,在動態遮擋處理 範圍內的現實深度資訊都會被完整地寫入,並每幀更新。. 27.
(37) 表 4.4: 點雲執行時間(無動態處理範圍). 標記物處理 遮擋處理. 辨識標記物並計算姿態 放置虛擬物件 計算深度值的 3D 點 比較並合成遮擋圖. 處理時間 0.073ms 0.243ms 共 67.106ms 65.599ms 1.101ms. 表 4.5: 點雲執行時間(有動態處理範圍). 標記物處理 遮擋處理. 辨識標記物並計算姿態 放置虛擬物件 計算深度值的 3D 點 比較並合成遮擋圖. 處理時間 0.073ms 0.243ms 共 17.805ms 17.092ms 0.397ms. 表4.4為無加入動態處理範圍的執行時間,在點雲的處理中,標記物處理的步 驟和先前的方法相同,因此處理時間也相差無幾,辨識及計算標記物的時間為 0.073 毫秒,放置虛擬物件的時間為 0.243 毫秒。然而在遮擋處理的部分,由於需 將每個像素的深度資訊轉換為三維座標的點,導致浪費大量的時間,無法達到穩 定的幀數,計算深度值 3D 點所需要的時間為 65.599 毫秒,比較並合成遮檔圖的 執行時間則為 1.101 毫秒,總共約 67 毫秒。 在加入動態範圍處理後,需計算的三維座標點大量減少,此部分的處理時間 降低至 17.092 毫秒,比較並合成遮檔圖的時間也隨著處理範圍變小而減少,變為 0.397 毫秒左右,整體的處理時間約為 18 毫秒,如表4.5。. 4.6. 比較其他方法 由於多數的遮擋處理研究並無著重於速度上的改良,其實驗結果亦無呈現其. 演算法的運算時間。而Tian et al. (2010) 和Du et al. (2016) 的實驗結果中有測量其演 算法的運算時間,在此小節中會把本研究的演算法運算時間和這兩者進行比較。 如表4.6,在解析度的部分,本研究與Du et al. (2016) 採用 640x480 的解析度, 而Tian et al. (2010) 則是使用較小的 320x240。進行遮擋處理所需的時間,本研究 為 8 毫秒、Tian et al. (2010) 為 53 毫秒、Du et al. (2016) 則為 31 毫秒。除此之外, 由於? 的方法需經由使用者設定遮擋虛擬物件的真實物體,得設定一次所要追蹤 真實物體,其耗時 213 毫秒。從結果可以看出本研究在效能的部分優於其他演算. 28.
(38) 表 4.6: 與其他研究的運算時間進行比較 本研究方法 解析度 640x480 指定遮擋現實物體(一次) 無 遮擋處理 8 毫秒. Tian et al. (2010) 320x240 213 毫秒 53 毫秒. Du et al. (2016) 640x480 無 31 毫秒. 法,約四到八倍的速度提升。. 4.7. 驗證原始深度影像的雜訊程度 對於未經優化的深度影像,其在物體邊緣的雜訊程度,與物體到鏡頭的距離. 有關。本研究為確保原始深度影像對於遮擋處理的可用性,將針對物體在不同距 離下的雜訊程度進行驗證,得知未經處理的原始深度影像是否能在遮擋處理時提 供良好的效果。 本章節實驗將攝影機限制於可取得背景深度值的場景中,藉此確保所有取 得的雜訊皆是來自於前景物體的邊緣。實驗所用的彩色與深度影像解析度皆為 640x480,其中將彩色影像與深度影像對齊。實驗場景的背景距離攝影機為 85 公 分,約為深度攝影機可以取得深度值的最遠距離;前景物體的距離為三十公分至 七十公分,每十公分進行一次測量。每次量測記錄一百幀,並計算出平均的雜訊 像素點數量。實驗的彩色、深度圖如圖4.4。 實驗數據僅計算有效的測量像素,包含物體以及物體周圍產生的雜訊,圖片 邊緣的雜訊皆被去除,實驗結果數據以像素為單位呈現,記錄不同距離下有效 像素、雜訊像素的數量,以及具有前景物體像素的有效列數,並計算出每一列 中雜訊像素的寬度。在三十公分時,雜訊像素的寬度為 56pixels,四十公分時為 45pixels,五十公分時為 35pixels,到六十公分時為 20pixels,最後七十公分時降 低到僅有 9pixels%。物體距離與雜訊寬度之間的關係如圖4.3所示。從結果可以看 出,雜訊量隨著距離越遠而逐漸下降,但隨著距離增加,則會碰上相機無法取得 深度值的問題,因此約在五十到七十公分時,可以得到較好的遮擋處理結果。數 據整理如表4.7所示。. 29.
(39) 圖 4.3: 物體距離與雜訊寬度的比較。從圖表中可以看出,當物體距離相機 30 公分 遠時,雜訊寬度為 56pixels,其雜訊寬度隨著距離變遠而逐漸降低,當物體距離 鏡頭 70 公分時,雜訊寬度降低為 9pixels。. 表 4.7: 雜訊與有效像素的數量研究 物體與鏡頭的距離 三十公分 四十公分 五十公分 六十公分 七十公分. 雜訊像素 25077 18552 13730 7163 3041. 有效像素 164340 133680 112325 85068 60170. 30. 有效列數 450 416 393 362 330. 雜訊寬度 (pixel) 56 45 35 20 9.
(40) (a) 距離 30 公分的彩色影像. (b) 距離 30 公分的深度影像. (c) 距離 40 公分的彩色影像. (d) 距離 40 公分的深度影像. (e) 距離 50 公分的彩色影像. (f) 距離 50 公分的深度影像. 圖 4.4: 驗證物體不同距離下的雜訊程度,圖 (b)(d)(f) 中,在物體周圍黑色的部分 為原始深度攝影機的雜訊,其雜訊程度隨著距離變遠而逐漸變小。. 31.
(41) (g) 距離 60 公分的彩色影像. (h) 距離 60 公分的深度影像. (i) 距離 70 公分的彩色影像. (j) 距離 70 公分的深度影像. 圖 4.4: 驗證物體不同距離下的雜訊程度(續),圖 (h)(j) 中,在物體周圍黑色的部 分為原始深度攝影機的雜訊,其雜訊程度隨著距離變遠而逐漸變小。. 32.
(42) 5. 結論及未來研究 5.1. 結論 本研究提出了一個基於標記物的擴增實境系統,在原有的功能下提供了遮擋. 處理,使畫面的真實度更進一步。和常見的標記物擴增實境系統相比,本實驗更 進一步地支援遮擋處理,並在提供額外的功能下仍有 30 幀的畫面更新率。而與其 他遮擋處理的研究相比,其他研究多半固定虛擬物件的位置,而本研究考量到虛 擬物件需要移動的情境,採用標記物進行虛擬物件的定位,讓使用者可以任意更 動虛擬物件的位置。除此之外,本研究提出了動態遮擋處理範圍,其可以省略不 需處理的深度影像,並提供了換算二維邊界盒的算法。最後,與其他遮擋處理的 演算法相比,本研究的運算速度明顯優於其他方法,讓畫面受益於遮擋處理而提 升真實度的同時,仍保有 30 幀的每秒更新率。在遮擋品質的部分,從實驗結果也 可以看出,即便沒有對原始深度影像進行優化,在保持一定距離時仍然能有不錯 的表現。. 5.2. 應用 由於本研究為基於標記物的擴增實境,因此可以廣泛用於各種情境中,如擴. 增實境遊戲開發、家具擺設系統、校園導覽等。. 5.3. 未來研究 本研究的方法降低了遮擋處理在擴增實境中的處理時間,然而在原始深度影. 像未經處理的情況下,畫面中虛擬物件與現實物體的邊緣仍會有少量的錯誤產 生。加入對原始深度影像的增強有助於提升畫面的真實性,且現今少有兼顧每秒 幀數與原始深度影像增強的研究,故應研究如何在不顯著影響處理時間的情況下, 加入對原始深度影像的增強。 33.
(43) 參考文獻 Amin, D., & Govilkar, S. (2015). Comparative study of augmented reality sdk’s. International Journal on Computational Science & Applications, 5(1), 11–26. Du, C., Chen, Y.-L., Ye, M., & Ren, L. (2016). Edge snapping-based depth enhancement for dynamic occlusion handling in augmented reality. In Mixed and augmented reality (ismar), 2016 ieee international symposium on (pp. 54–62). Durrant-Whyte, H., & Bailey, T. (2006). Simultaneous localization and mapping: part i. IEEE robotics & automation magazine, 13(2), 99–110. Gao, X.-S., Hou, X.-R., Tang, J., & Cheng, H.-F. (2003). Complete solution classification for the perspective-three-point problem. IEEE transactions on pattern analysis and machine intelligence, 25(8), 930–943. Garrido-Jurado, S., Muñoz-Salinas, R., Madrid-Cuevas, F. J., & Marín-Jiménez, M. J. (2014). Automatic generation and detection of highly reliable fiducial markers under occlusion. Pattern Recognition, 47(6), 2280–2292. Hebborn, A. K., Höhner, N., & Müller, S. (2017). Occlusion matting: Realistic occlusion handling for augmented reality applications. In Mixed and augmented reality (ismar), 2017 ieee international symposium on (pp. 62–71). Hirokazu, K. (2016). ARToolKit. Retrieved from https://artoolkit.org/. (https://. artoolkit.org/) Klein, G., & Drummond, T. (2004). Sensor fusion and occlusion refinement for tabletbased ar. In Proceedings of the 3rd ieee/acm international symposium on mixed and augmented reality (pp. 38–47). Newcombe, R. A., Izadi, S., Hilliges, O., Molyneaux, D., Kim, D., Davison, A. J., … Fitzgibbon, A. (2011). Kinectfusion: Real-time dense surface mapping and tracking. In Mixed and augmented reality (ismar), 2011 10th ieee international symposium on (pp. 127–136).. 34.
(44) Ong, K. C., Teh, H. C., & Tan, T. S. (1998). Resolving occlusion in image sequence made easy. The Visual Computer, 14(4), 153–165. Schmidt, J., Niemann, H., & Vogt, S. (2002). Dense disparity maps in real-time with an application to augmented reality. In Applications of computer vision, 2002.(wacv 2002). proceedings. sixth ieee workshop on (pp. 225–230). Tian, Y., Guan, T., & Wang, C. (2010). Real-time occlusion handling in augmented reality based on an object tracking approach. Sensors, 10(4), 2885–2900. Voforia. (2017). Vuforia. Retrieved from https://www.vuforia.com/ (https://www .vuforia.com/) Wloka, M. M., & Anderson, B. G. (1995). Resolving occlusion in augmented reality. In Proceedings of the 1995 symposium on interactive 3d graphics (pp. 5–12).. 35.
(45)
Outline
相關文件
computational & mathematical thinking by task-based teaching as a means to provide an interactive environment for learners to achieve the learning outcomes; and (ii) how
Centre for Learning Sciences and Technologies (CLST) The Chinese University of Hong Kong..
Augmented reality (AR) is a live direct or indirect view of a physical, real-world environment whose elements are augmented (or supplemented) by computer-generated sensory input
In this chapter, we have presented two task rescheduling techniques, which are based on QoS guided Min-Min algorithm, aim to reduce the makespan of grid applications in batch
For obtaining the real information what the benefits of a KMS provides, this study evaluated the benefits of the Proposal Preparation Assistant (PPA) system in a KMS from a case
The purpose of this paper is to achieve the recognition of guide routes by the neural network, which integrates the approaches of color space conversion, image binary,
This study hopes to confirm the training effect of training courses, raise the understanding and cognition of people on local environment, achieve the result of declaring
The main objective of this system is to design a virtual reality learning system for operation practice of total station instrument, and to make learning this skill easier.. Students