室內場景的功能性建模方法
【專利摘要】本發(fā)明提供一種室內場景的功能性建模方法,包括:(1)提取深度攝像機的位姿,融入到ICP算法中,并依此對三維表面進行實時配準重建;(2)進行分割聚類,得到場景的語義分割;(3)提取面積大于預設閾值的點云集合;(4)判斷是否有垂直于地面的點云集合;(5)提取把手;(6)拉開所述把手,記錄打開、關閉過程及內部結構,進行功能性標注;(7)判斷是否有平行于地面的點云集合;(8)進行歐幾里得聚類,分割得到多個單獨的物體;(9)移走單獨的物體,記錄被遮擋的部分,進行功能性標注;(10)進行匯總,得到室內場景的功能性模型。本發(fā)明在帶有標注處進行功能性操作,極大的提升了用戶的交互體驗。
【專利說明】室內場景的功能性建模方法
【技術領域】
[0001]本發(fā)明涉及三維建模,尤其涉及一種室內場景的功能性建模方法。
【背景技術】
[0002]在計算機中真實再現(xiàn)客觀環(huán)境的數(shù)字化信息,可以方便地處理和分析環(huán)境信息,三維場景信息的數(shù)字化表示使得現(xiàn)實場景可以在不同視角下充分展現(xiàn)細節(jié)部分。近年來,多種三維測量設備的迅速發(fā)展也為三維場景重構提供了更多的實現(xiàn)手段。
[0003]傳統(tǒng)的針對室內場景進行三維建模的方法主要有兩種:一種是將場景數(shù)據(jù)獲取裝置,如深度攝像機、激光雷達、雙目視覺相機等固定在移動機器人的某一部位,再由移動機器人在室內環(huán)境中導航完成掃描工作;另外一種是由人直接拿著掃描儀等場景數(shù)據(jù)獲取裝置,對待掃描的環(huán)境進行捕捉,從而生成三維環(huán)境的模型。
[0004]現(xiàn)有技術的主要缺點有:
[0005](I)現(xiàn)有的針對室內場景進行三維建模的方法受到室內環(huán)境中相對比較雜亂、遮擋嚴重等因素影響,難以獲取較完整的3D模型,且一般只對室內場景中物體的表面進行重建,無法對物體內部(如柜子內部)進行重建;
[0006](2)現(xiàn)有的對室內場景進行三維建模的方法和技術沒有實現(xiàn)對場景的功能性重建,現(xiàn)有方法的重建均丟失了場景中有意義物體的功能信息。如對于一個衣柜來說,傳統(tǒng)建模方法只是重建了它的表面幾何信息,最多給它賦予“衣柜”這一標簽,卻并沒有告訴這個衣柜的柜門是可以打開的以及以什么樣的方式打開,而衣柜柜門可以打開這是一個非常重要的功能;
[0007]因此,研發(fā)一種能重建出室內場景中物體功能性信息的方法,將此類重建出的模型提供給用戶用于室內場景漫游、交互、設計等,大大提高用戶與重建得到的功能性場景之間的交互體驗就成了未來室內場景重建的發(fā)展方向之一。
【發(fā)明內容】
[0008]有鑒于此,我們提供一種室內場景的功能性建模方法,用于提升用戶的交互體驗。
[0009]本發(fā)明的種室內場景的功能性建模方法,通過機器人和深度攝像機進行取景和分析,包括如下步驟:(I)提取深度攝像機的位姿,融入到擴展迭代最近點(ICP)算法中,并依此對三維表面進行實時配準重建,獲得室內場景三維表面重建;(2)對所述室內三維表面重建進行分割聚類,每一類都是一個點云集合,得到場景的語義分割;(3)排除墻面、屋頂和地板,提取面積大于預設閾值的點云集合;(4)判斷步驟(3)中是否有垂直于地面的點云集合;(5)提取把手;(6)機器人拉開所述把手,記錄打開、關閉過程及內部結構,并進行功能性標注;(7)判斷步驟(3)中是否有平行于地面的點云集合;(8)進行歐幾里得聚類,分割得到多個單獨的物體;(9)移走單獨的物體,記錄被遮擋的部分,并進行功能性標注;
[10]對步驟(I)、(2)、(6)、(9)進行匯總,得到室內場景的功能性模型。
[0010]優(yōu)選地,在步驟(I)中,由所述機器人抓握所述深度攝像機,并提供所述深度攝像機的位姿,用以初始化所述ICP算法的初值。
[0011]優(yōu)選地,在步驟(2)中,通過區(qū)域增長分割算法進行語義分割,根據(jù)平滑約束將距離小于閾值的點合并在一起,并輸出一系列的點云類,每一類都是一個點云集合。
[0012]優(yōu)選地,在步驟(2)中,還可以通過輔助程序進行手工交互的分割。
[0013]優(yōu)選地,在步驟(5)中,結合稀疏幾何結構以及表面反射性來確定把手,對垂直于地面的點云集合中的每一點選取鄰域,并在鄰域中計算曲率,并對于曲率上升幅度大于閾值的點就視為把手。
[0014]優(yōu)選地,在步驟(7)中,對于平行于地面的點云集合的平面特征,采取隨機抽樣一致性(Random Sample Consensus, RANSAC)算法集。
[0015]本發(fā)明通過對室內場景進行三維表面重建、語義建模、及功能性標注,得到室內場景的功能性模型,可以打開柜門或抽屜、擺放及移走桌上物體,極大的提升了用戶的交互體驗。
【專利附圖】
【附圖說明】
[0016]圖1是本發(fā)明中室內場景的功能性建模方法的流程示意圖。
[0017]圖2是本發(fā)明中室內場景的功能性建模系統(tǒng)的結構示意圖。
【具體實施方式】
[0018]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清晰,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所標注的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0019]發(fā)明思想概述:首先通過機器人和深度攝像進行三維表面重建;第二,進行語義建模;第三,進行功能性標注;第四,綜合形成的室內場景的功能性建模。具體的實施方法及系統(tǒng),請分別參照實施例1與實施例2。
[0020]實施例1
[0021]請參閱圖1,所示為本發(fā)明中室內場景的功能性建模方法的流程示意圖。
[0022]在步驟SlOl中,首先通過機器人和深度攝像進行三維表面重建,即,提取深度攝像機的位姿,融入到擴展迭代最近點的算法中,并依此對三維表面進行實時配準重建。
[0023]具體而言,在這一步中,核心是我們將深度攝像機的位姿變化信息融入到擴展迭代最近點(ICP)算法中,利用此方法對三維表面進行實時配準重建。ICP算法廣泛應用于三維點云數(shù)據(jù)的配準以及基于自由形態(tài)曲面的配準。ICP算法的核心就是將數(shù)據(jù)配準問題轉換為求解數(shù)據(jù)集合間距離函數(shù)最小化的精確解問題。將場景數(shù)據(jù)點云間的歐式距離作為衡量標準,滿足歐式距離最小的匹配對作為ICP算法的輸入量。場景間的數(shù)據(jù)可以看作是多個坐標系間的旋轉平移運動,這樣我們每做一次旋轉平移運動就會更新一次數(shù)據(jù),通過反復迭代變換矩陣更新輸入數(shù)據(jù)以最小化場景數(shù)據(jù)間的便宜誤差函數(shù),不斷更新迭代,直到誤差滿足一定的精度要求。經(jīng)典的ICP算法是主要是進行點對點的匹配,而后來發(fā)展起來的擴展ICP算法則是利用點到面的距離進行配準。為了能夠實現(xiàn)對三維數(shù)據(jù)持續(xù)融合,我們在這里使用剛性點對面的ICP算法,該ICP算法的目的是決定數(shù)據(jù)幀與幀之間的變化(包括旋轉和平移變換)。傳統(tǒng)的ICP算法中,第t幀的結果是利用第t-1幀的轉化矩陣來初始化的,當t-1幀到t幀的運動變化較小時,這一初始化的方法沒有太大問題,但是一旦前一幀的轉化矩陣出現(xiàn)不準確的情況或者第t幀沒有明顯的特征,ICP算法就很可能會得到一個較差的局部解而且收斂得很慢。但是因為機器人系統(tǒng)能實時準確獲取其抓取器末端(即抓握深度攝像機的位置)的位姿變化,即前一時間點與后一時間點之間的剛體變換,所以我們用機器人提供的位姿變化信息來初始化ICP算法的初值,這樣就能保證ICP算法的準確性,減少ICP算法的迭代次數(shù),提高了重建速度和效率的同時大大保證了重建結果的準確性。
[0024]在步驟S102中,進行語義建模,即,對室內場景三維表面重建進行分割聚類,得到場景的語義分割。
[0025]在這一步驟中,我們利用區(qū)域增長分割算法來對表面重建得到的結果進行語義分害I],該算法根據(jù)平滑約束將足夠近的點合并在一起,最后的輸出就是一系列的點云類,每一類都是一個點云集合,該集合被視為是同一塊平滑表面,該算法主要是比較點之間法向量的角度。該算法的工作流程包括以下步驟:
[0026](I)根據(jù)三維點的曲率值對它們進行排序,之所以要這樣做的原因是區(qū)域增長是從最小曲率值的點開始的,擁有最小曲率值得點位于較平的區(qū)域;
[0027](2)算法選取最小曲率值的點將排過序的點云形成一個集合,稱之為種子點;
[0028](3)對于種子點集合中的每一個點,算法尋找它的鄰近點,主要是比較每一個鄰近點和當前種子點的法向量夾角,如果該夾角低于設定的閾值則將該鄰近點加到種子點所在的區(qū)域;
[0029](4)對每一個鄰近點計算曲率;
[0030](5)如果曲率低于設定的閾值,那這一鄰近點就加入種子點集合中,并將當前的種子點從集合中移除;
[0031](6)直到種子點集合為空,這就說明該區(qū)域已經(jīng)增長完畢,應該進行另外一個區(qū)域的增長。
[0032]如果分割的結果不夠理想,本系統(tǒng)也允許用戶進行手工交互式分割。
[0033]接下來,進行功能性標注,涉及的步驟包括S103至S109,根據(jù)分割的結果,依據(jù)兩個原則一針對“擁有較大面積垂直于地面的三維點云的物體(非墻面),即柜子”進行“把手提取”分析和針對“擁有較大面積平行于地面的三維點云數(shù)據(jù)的物體(非屋頂),即桌子”進行“平面提取”分析。
[0034]在步驟S103中,首先排除墻面、屋頂和地板,然后提取面積大于預設閾值的點云
口 O
[0035]室內場景常見的擺設家具基本是固定的,主要有立柜、桌子、沙發(fā)、茶幾、椅子、電腦等組成。其中預設閾值可以設置為略小于茶幾、桌面、或立柜的標準面積,即可提取出上述物體。
[0036]在步驟S104中,判斷是否有垂直于地面的點云集合,目的是提取立柜等收納作用的家具。
[0037]在步驟S105中,我們對符合這些條件的三維點云進行“把手”提取。
[0038]該提取算法主要結合稀疏幾何結構以及表面反射性(強度)在立柜中尋找把手,對立柜的三維點云中的每一點選取鄰域,并在鄰域我們計算曲率,得到大部分點的曲率接近于O (因為這些點都在一個平面上),而對于曲率陡然上升的點就很可能是“把手”。
[0039]在步驟S106中,機器人拉開把手,記錄打開、關閉過程及內部結構,并進行功能性標注。
[0040]具體而言,得到把手位置后,利用機器人右手的末端抓取器對把手進行操作(打開,關閉),并用左手抓握深度攝像機記錄下打開、關閉的過程,再將深度攝像機伸入打開的柜門、抽屜中進行掃描。
[0041]在步驟S107中,判斷是否有平行于地面的點云集合,目的是提取桌面。
[0042]對于桌子的平面特征,我們則采取隨機抽樣一致性(Random Sample Consensus,RANSAC)算法,該算法是一種從點集中抽取平面特征的穩(wěn)健估計方法,其主要思想是:從觀測值中隨機抽取滿足計算需要的樣本,通過擬合剔除局外點(outliers),構建由局內點(inliers)組成的子集。
[0043]本文采用RANSAC與ICP相結合的方法來提取激光點云中的局部平面特征,其具體步驟如下:
[0044]I)從點云中隨機選擇一個點P_l,利用P_1和它的兩個鄰域點P_2、P_3確定一個平面π,該平面的法向量記為η —;
[0045]2)對于數(shù)據(jù)集中的所有點X,若滿足式I (χ-Ρ_1).ιΤ |〈 ε,則判斷其屬于局內點;
[0046]3)若局內點的數(shù)量達到某一閾值(根據(jù)實驗的具體情況設定),則進一步采用迭代最近點算法進行優(yōu)化:所有局內點構成模型集Μ,它們在平面π上的投影構成數(shù)據(jù)集D,通過一定代數(shù)的迭代達到ICP誤差函數(shù)的最小化。利用求得的坐標轉換系數(shù)(R,t),完成對局內點的平面擬合;
[0047]將上述局內點從原數(shù)據(jù)集中剔除掉,對剩余的點集重復步驟1-3,直至完成對點云中全部數(shù)據(jù)的計算。經(jīng)過上述步驟完成了對全部激光數(shù)據(jù)的局部平面擬合,接下來還需將相鄰的局部平面合并成一個完整的平面。兩個局部平面的合并需要滿足以下條件:①兩平面間的夾角小于某一閾值;②兩平面間的距離小于某一閾值。于是得到了桌子的平面所在。
[0048]在步驟S108中,得到桌子平面后,再對桌子上的點云進行歐幾里得聚類(Euclidean Cluster Extraction),分割得到多個單獨的物體,這些物體就是在這個桌子上可任意移動的物體。
[0049]在步驟S109中,移走單獨的物體,記錄被遮擋的部分,并進行功能性標注。
[0050]由于室內場景的復雜性、雜亂性,有時為獲得某一物體的完整模型,機器人可以先移走桌面上的遮擋物體,再對被遮擋物體進行掃描,以期獲得盡可能完整的場景模型。
[0051]在步驟SllO中,重構帶功能性標注的室內場景的功能性模型,所述功能性標注處可以進行交互操作。
[0052]實施例2
[0053]請參閱圖2,是本發(fā)明中室內場景的功能性建模系統(tǒng)的結構示意圖。
[0054]該室內場景的功能性重建的系統(tǒng),主要由雙臂移動機器人10和深度攝像機20組成。
[0055]雙臂移動機器人10擁有兩條7自由度的手臂且各配有一個二指抓取器,其底盤為可全向移動平臺,能在室內環(huán)境中自由移動。為了讓機器人10牢牢抓住深度攝像機20,我們利用3D打印機設計制造了一個和深度攝像機底座適配的且易被機器人10抓取器握住的連接件,深度攝像機20就固定在這一連接件上。
[0056]其相互之間的協(xié)作關系如下:
[0057](I)室內場景功能性數(shù)據(jù)的獲取,利用雙臂移動機器人拿著深度攝像機在室內場景中移動獲取場景的功能性信息;
[0058](2)控制器根據(jù)機器人末端抓取器的位姿變化,同時對獲取到的功能性數(shù)據(jù)進行配準,使獲取到的數(shù)據(jù)成為一個完整的整體;
[0059](3)控制器對得到的整體功能性模型數(shù)據(jù)進行預分割,得到一個個物體的功能性點云;并且確定天花板、地面、墻等基準室內環(huán)境組成部分的點云;
[0060](4)控制器針對擁有較大面積垂直于地面的功能性點云的物體(非墻面),進行“把手提取”分析;得到把手所在后,機器人左手抓握深度攝像機,記錄機器人右手的開關柜門動作,得到柜門打開和關閉的一系列點云數(shù)據(jù),利用此連續(xù)幀點云數(shù)據(jù)重建柜門、抽屜等室內可操作物體的開、閉狀態(tài)。
[0061](5)控制器針對擁有較大面積平行于地面的三維點云數(shù)據(jù)的物體進行平面提取,再對平面以上的點云進行歐幾里得聚類,分割得到多個單獨的物體。為獲得某一物體的完整模型,機器人可以先移動遮擋物體,再對被遮擋物體進行掃描。
[0062](6)控制器得到一個帶有功能標注(柜門、抽屜可打開關閉、桌面的物體可打開擺放移除)的三維室內場景模型,用戶可直接操作移動該模型中帶有功能標注的物體。
[0063]其中,控制器30可以為單獨的設備,如由一臺電腦進行人為協(xié)助,也可以設置在機器人10中,全程自動完成。
[0064]有益效果:
[0065]1.因為機器人系統(tǒng)能實時獲取掃描儀的位姿變化,所以本發(fā)明和傳統(tǒng)方法相比可以更快速、更高效、更魯棒地重建室內場景(物體表面);
[0066]2.本發(fā)明能獲取現(xiàn)有技術常常忽視的室內場景物體內部的功能性信息,并將其重建結果和物體外部表面進行結合,得到一個內外部就有重建結果的完整功能性模型;
[0067]3.本發(fā)明還能記錄室內場景中可操作移動物體的運動狀態(tài)(而這是現(xiàn)有技術沒有涉及的),并對可以移動、操作的物體進行功能性標注,最終得到一個功能性重建的室內模型。
[0068]以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本【技術領域】的普通技術人員,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。
【權利要求】
1.一種室內場景的功能性建模方法,通過機器人和深度攝像機進行取景和分析,其特征在于,包括如下步驟: (1)提取深度攝像機的位姿,融入到擴展迭代最近點(ICP)算法中,并依此對三維表面進行實時配準重建,獲得室內場景三維表面重建; (2)對所述室內三維表面重建進行分割聚類,每一類都是一個點云集合,得到場景的語義分割; (3)排除墻面、屋頂和地板,提取面積大于預設閾值的點云集合; (4)判斷步驟(3)中是否有垂直于地面的點云集合,如果沒有,則跳到步驟(7),如果有,則執(zhí)行步驟(5); (5)提取把手; (6)機器人拉開所述把手,記錄打開、關閉過程及內部結構,并進行功能性標注; (7)判斷步驟(3)中是否有平行于地面的點云集合,如果沒有,則跳到步驟(10),如果有,則執(zhí)行步驟(8); (8)進行歐幾里得聚類,分割得到多個單獨的物體; (9)移走單獨的物體,記錄被遮擋的部分,并進行功能性標注;及 (10)對步驟(I)、(2)、(6)、(9)進行匯總,得到室內場景的功能性模型。
2.如權利要求1所述的室內場景的功能性建模方法,其特征在于,在步驟⑴中,由所述機器人抓握所述深度攝像機,并提供所述深度攝像機的位姿,用以初始化所述ICP算法的初值。
3.如權利要求1所述的室內場景的功能性建模方法,其特征在于,在步驟(2)中,通過區(qū)域增長分割算法進行語義分割,根據(jù)平滑約束將距離小于閾值的點合并在一起,并輸出一系列的點云類,每一類都是一個點云集合。
4.如權利要求3所述的室內場景的功能性建模方法,其特征在于,在步驟⑵中,還可以通過輔助程序進行手工交互的分割。
5.如權利要求1所述的室內場景的功能性建模方法,其特征在于,在步驟(5)中,結合稀疏幾何結構以及表面反射性來確定所述把手。
6.如權利要求5所述的室內場景的功能性建模方法,其特征在于,在步驟(5)中,對垂直于地面的點云集合中的每一點選取鄰域,并在鄰域中計算曲率,并對于曲率上升幅度大于閾值的點就視為把手。
7.如權利要求1所述的室內場景的功能性建模方法,其特征在于,在步驟(7)中,對于所述平行于地面的點云集合的平面特征,采取隨機抽樣一致性(Random SampleConsensus, RANSAC)算法集。
【文檔編號】G06T17/00GK103914875SQ201410154913
【公開日】2014年7月9日 申請日期:2014年4月17日 優(yōu)先權日:2014年4月17日
【發(fā)明者】黃惠, 龍品辛 申請人:中國科學院深圳先進技術研究院