基于深度圖分割與代理幾何體的虛實碰撞交互方法及裝置的制造方法
【技術領域】
[0001] 本申請屬于計算機應用技術中的增強現實領域,具體地說,涉及一種基于深度圖 像對真實的場景進行分割以及通過構建代理幾何體模擬虛擬物體與真實物體碰撞交互的 系統及方法。
【背景技術】
[0002] 增強現實(Augmented Reality,簡稱AR)是指將計算機生成的場景、虛擬物體或 系統提示信息疊加到真實場景中,從而實現對現實的增強。增強現實系統將真實世界信 息與虛擬信息進行了有機結合,兩種信息互補、疊加,強化了人們對真實世界的認知和感 知.在認知訓練、交互場景模擬、游戲、娛樂、廣告宣傳等許多領域都有重要應用價值,成為 近年來研究和應用的熱點。增強現實的三個特點是虛實結合、實時交互和三維注冊。其中 三維注冊一直是增強現實系統要解決的首要問題,即對相機進行有效標定,實現三維虛擬 空間與相機空間的配準,從而可將三維虛擬物體放入相機畫面的指定位置。近年來,增強現 實中大量的研究集中在這個問題上并取得了一定突破。但三維注冊問題僅僅解決的是虛實 信息的疊加,尚無法實現虛實物體間的復雜交互(如碰撞等交互行為)。如果在增強現實 系統中能夠實現虛實物體間的實時碰撞交互,那將能更好地體現"虛實結合"這一特點,使 用戶產生更強的沉浸感,具有廣闊的應用價值。
[0003] 近年來,以Kinect為代表的廉價的三維深度獲取設備獲得了很大發展。這種設備 不僅能獲得場景的視覺信息,還能感知場景的深度信息,從而在很多方面具有重要的研究 與應用價值,如室內或大規模場景的三維重建,機器人的自主定位與目標識別,手勢識別與 跟蹤,人體部位的識別分析,基于深度視頻或深度圖像的快速摳圖等。
[0004] Kinect通過深度傳感器能夠得到關于周圍環境的三維深度信息,這種信息被稱為 深度圖像。深度圖像中的像素值記錄了攝影機與像素所對應的場景中點的距離。
[0005] 與彩色圖像相比,深度圖像能直接反映物體表面的三維特征,且不受光照、陰影和 色度等因素的影響,因此在場景信息分析中具有獨特的優勢,近年來受到計算機視覺領域 的重點關注。許多研究者利用深度圖像來進行場景的分割。本發明根據這種深度信息對場 景進行分析,分割出場景中的一個個獨立物體,并由此構建真實物體的代理幾何體。
[0006] 深度圖像的分割過程就是把已知的深度圖像根據某種圖像特征劃分成幾個具有 相關特性信息的區域的過程。其方法大量借鑒了傳統圖像分割的算法思想,如基于邊緣提 取的分割方法,基于區域生長的分割方法和基于聚類的分割方法等。
[0007] 首先,基于邊緣提取的方法運算效率較高,但往往不能得到單像素寬度的完整邊 緣,還需要后續進行邊緣細化和封閉連接才能完成區域分割;基于聚類的分割方法通常首 先設定一種對像素具有較好分割特性的特征向量,然后在特征向量空間中通過聚類方法完 成分割;在基于邊緣的分割方法中沒有考慮到像素之間的連通性,而區域生長則是在考慮 區域連通性的情況下來進行圖像分割。
[0008] 基于以上幾種分割技術存在的缺陷,本發明采取了優化的區域生長分割算法。區 域生長法可以形成連續封閉的邊緣,其實質就是把找到具有相似特性且相近的像素點劃為 一個區域,形成多個區域后再根據一定的條件判定進行區域合并最后達到劃分為一組具有 一致性的區域。對于一般的沒有復雜表面細節的場景而言,法向的變化都比較平緩,不易出 現過分割的問題且比較適于利用連通性進行區域生長分割,因此本發明中選取法向作為生 長法則,采用了基于法向和連通性的區域生長分割方法。此外,本發明還采取了大平面區域 識別及區域融合策略來進一步優化分割結果。
[0009] -般來說,目前AR系統中進行虛實物體碰撞檢測的方法主要是采用對真實物體 進行3D重構的方法,即構建出真實物體的虛擬幾何體,這樣就把AR環境下的碰撞檢測問題 降維為VR下的碰撞檢測問題了。而VR下的碰撞檢測問題已經有比較成熟的解決方法。但 依據視頻數據對真實物體進行識別和3D重構并非易事,而若想達到實時碰撞交互的程度 更為困難。目前已有采用膚色檢測、特征點檢測等手段來識別手掌,并構建虛擬平面來代替 手掌,實現手掌(真實物體)與虛擬球體的碰撞交互。該方法可以達到實時的效率,但僅限 于對非常特定的物體(如手掌)與虛擬球體間的碰撞交互;也有將真實物體簡化為用平面 來表達,將虛擬物體以包圍球體來表達,實現虛實物體間的快速碰撞交互,但其真實物體需 要用戶預先提供先驗知識來輔助進行虛擬平面的構建。
[0010] 本申請基于視覺相機數據或Kinect深度數據,實現虛擬物體與場景中隨意擺放 的真實物體進行實時的自由碰撞交互,提出了一種實現AR系統中虛擬物體與場景真實物 體碰撞交互的有效方法。
【發明內容】
[0011] 有鑒于此,本申提出一套利用深度圖像的法向信息以及鄰域點間的連通條件對深 度圖像表示的場景進行有效分割的算法,并提供一種利用代理幾何體來實現虛、實物體碰 撞交互的增強現實系統的實現方法,具體實現方法如下:
[0012] 獲取當前真實場景的深度圖像和彩色圖像,并調整深度相機和彩色相機的標定參 數將所述深度圖像和所述彩色圖像對齊;
[0013] 根據所述彩色圖像對所述深度圖像進行預處理;
[0014] 求得所述預處理后的所述深度圖像中每個像素點的法向量;
[0015] 取深度圖像中的任意像素點為種子點,根據所述法向量的平行度閾值以及鄰域像 素點間的連通條件依次判斷所述鄰域像素點與所述種子點是否為同一區域從而進行區域 生長分割,其中,所述平行度閾值是判斷度量法向量是否相似的閾值,所述連通是指:如果 某像素點與其鄰域像素點在空間位置上小于某個閾值,即認為這兩個像素點在空間上是 "連通的",否則是"不連通的"。
[0016] 根據所述同一區域生長分割的結果從所述深度圖像中提取出所述當前真實場景 中的大平面區域區域;
[0017] 對所述深度圖像中去除所述大平面區域區域之外的所有剩余像素點形成的點云 進行融合操作,得到各個主要物體區域;
[0018] 對所述大平面區域區域構建代理平面;
[0019] 對所述融合操作得到的所述各個主要物體區域建代理包圍盒;
[0020] 將所述代理平面和所述代理包圍盒疊加到真實物體上,并為所述代理平面和所述 代理包圍盒添加物理屬性,從而實現虛擬物體與真實物體的碰撞。
[0021 ]與現有技術相比,本申請提出了 一種在增強現實系統中能實現虛實物體碰撞交互 功能的解決方法,相對于傳統的增強現實系統,本申請能夠提供更為逼真的虛實交互,在增 強現實相關的應用領域將具有很好的應用價值。
[0022] 傳統方法中,為進行虛實交互,需要重建場景物體,而本申請并不需要細致地重建 場景物體,僅僅通過簡單的點云分割、構建虛擬包圍盒的方式就可以達到不錯的虛實交互 效果。
【附圖說明】
[0023] 此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申 請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
[0024] 圖1是本申請實施例一的技術流程圖;
[0025] 圖2是本申請實施例二的技術流程圖;
[0026] 圖3是本申請實施例三的技術流程圖;
[0027] 圖4是本申請實施例四的技術流程圖;
[0028] 圖5是本申請實施例尚斯圖像形狀識別不意圖;
[0029] 圖6是本申請實施例兩個區域的位置關系示意圖;
[0030] 圖7是本申請實施例五的技術流程圖;
[0031] 圖8是本申請實施例六的裝置結構圖。
【具體實施方式】
[0032] 以下將配合附圖及實施例來詳細說明本申請的實施方式,藉此對本申請如何應用 技術手段來解決技術問題并達成技術功效的實現過程能充分理解并據以實施。
[0033] 實施例一
[0034] 如圖1所示,本申請基于深度圖像的場景分割進一步包括如下步驟:
[0035] 步驟101 :獲取當前真實場景的深度圖像和彩色圖像,并調整深度相機和彩色相 機的標定參數將所述深度圖像和所述彩色圖像對齊;
[0036] 本實施例中,米用Kinect獲取當前真實場景的彩色圖像彳目息和深度圖像彳目息。 Kinect是微軟研發的一款用于體感交互的設備,它通過一種紅外攝像頭可以獲取所拍攝場 景的深度信息,從而可以完成對人體動作的識別跟蹤,實現體感互動。Kinect在出廠時已經 進行了深度相機和彩色相機的預標定,提供了兩個相機的內外參數,由此可以很容易實現 深度圖像與彩色圖像的標定及對齊處理。本實施例中對"Kinect相機標定"模塊將不再進 行詳述。
[0037] 步驟102 :