本發(fā)明是一種無人機室內結構化語義地圖構建與測量方法,屬于無人機。
背景技術:
1、在現(xiàn)有技術中,無人機的室內未知環(huán)境探索是無人機領域的一個重要研究方向。無人機的室內未知環(huán)境探索任務通常需要使用激光雷達構建室內環(huán)境地圖,并依據(jù)構建的地圖對室內環(huán)境進行尺寸測量,后續(xù)依據(jù)構建地圖與尺寸測量結果開展路徑規(guī)劃、目標跟蹤等工作。室內地圖構建與尺寸測量作為室內未知環(huán)境探索的基礎技術,受到廣泛關注。
2、傳統(tǒng)室內環(huán)境點云地圖逐漸無法滿足機器人智能化需求,其提供的信息通常僅包含場景幾何特征。相較而言,語義地圖包含場景中物體的語義信息,可以對環(huán)境進行一定理解,進而實現(xiàn)智能化人機交互。室內語義地圖構建一般包含兩部分:語義分割與地圖構建。語義分割部分通?;谀繕藱z測得到當前場景中物體的語義標簽,地圖構建部分則依據(jù)不同語義標簽,將不同物體加以區(qū)分并構建地圖。目前,深度學習語義分割方法依據(jù)輸入數(shù)據(jù)的不同組織形式,可以分為基于點的語義分割(pointnet算法)、基于體素的語義分割(pointpillars算法)、基于投影的語義分割。
3、目前語義地圖的構建通常基于上述語義分割算法得到的語義標簽,將場景中的不同物體依據(jù)語義標簽加以區(qū)分并構建地圖。然而,在包含多個房間的室內環(huán)境中,難以使用語義標簽分辨房間具體結構并將不同房間加以區(qū)分,無法直接測量對應房間的三維尺寸,現(xiàn)在急需一種無人機室內結構化語義地圖構建與測量方法來解決上述出現(xiàn)的問題。
技術實現(xiàn)思路
1、針對現(xiàn)有技術存在的不足,本發(fā)明目的是提供一種無人機室內結構化語義地圖構建與測量方法,以解決上述背景技術中提出的問題,本發(fā)明通過對激光雷達構建的點云地圖進行房間分割,將室內點云地圖分割為多個房間子地圖,可以清晰顯示各房間結構與相對位置關系?;跇嫿ǖ姆块g語義地圖,使用基于體素平面的區(qū)域增長算法提取各房間中的三種結構平面:地面、天花板、墻面,繼而自動計算房間三維尺寸,實現(xiàn)房間三維尺寸穩(wěn)定且精確的自動測量。
2、為了實現(xiàn)上述目的,本發(fā)明是通過如下的技術方案來實現(xiàn):一種無人機室內結構化語義地圖構建與測量方法,該方法包括以下步驟:
3、步驟s1:基于二維地圖的房間分割算法,采用三維激光雷達傳感器實時獲取周圍環(huán)境的點云信息構建三維點云地圖,將三維點云地圖投影到二維后,對其進行房間預分割,假設每個房間墻壁的最大缺口為房間進出口,設計一個圓形檢測窗口,使用檢測窗口遍歷二維地圖中的每個占據(jù)像素,統(tǒng)計每個占據(jù)像素周圍未占據(jù)像素個數(shù),當周圍沒有未占據(jù)像素,則將當前像素分類為初始分割的一部分,反之,將其分類為未分割部分;
4、圓形檢測窗口相對于方形檢測窗口可以避免在房間邊角處產生誤分割,圓形檢測窗口的直徑需要大于房間的最大缺口,否則會導致初始分割結果里的房間缺口閉合不完全,導致無法分割出各個房間,其中灰色部分為未占據(jù)像素,白色部分為房間內部占據(jù)像素,黑色部分為房間邊界占據(jù)像素,基于二維房間地圖預分割結果,需要閉合房間缺口以得到最終分割結果,二維房間地圖預分割大致確定房間位置后,首先根據(jù)預分割結果搜索房間周圍的墻壁,此時圓形搜索窗口的搜索半徑為預分割時搜索窗口的兩倍,以確??梢酝暾阉鞯椒块g附近墻壁,并提取墻壁骨架,由于缺口的存在,會有多個隔斷骨架的情況,假設當前房間存在兩個缺口,導致包圍墻壁分為兩段墻體骨架,則兩段骨架中各取一個像素,迭代計算兩個像素間距離,得到相距最近的兩個像素為:
5、,
6、其中,,為兩個骨架中像素的數(shù)量,,分別為兩個骨架上的像素點,為兩個骨架上距離最近的一組點;
7、步驟s2:基于體素平面的房間語義地圖構建,將點云地圖以體素為單位存儲,令體素為邊長的立方體,則體素坐標索引與點云坐標對應關系為:,
8、其中,,,為體素三軸坐標索引,,,為世界坐標系下點云坐標,為高斯函數(shù),表示不超過實數(shù)的最大整數(shù),即對取整;
9、提取房間平面結構后,體素平面并不包含其具體所屬結構信息,需要對結構平面進行分類,天花板、地面與墻面三種平面法向量各不相同,可以直接通過平面法向量方向加以判斷,采用的奇異值分解法計算出的平面法向量并不總是指向載體方向,需要統(tǒng)一將平面法向量方向修改為指向封閉房間內的一側,依據(jù)體素平面上一點到載體位置的方向向量與體素平面法向量夾角的大小進行判斷,將不符合標準的平面法向量方向取反,兩個方向向量夾角小于180°時,表示此平面法向量方向符合要求,將平面法向量方向取反,將平面法向量方向糾正后,依據(jù)法向量方向將平面分為天花板、地面與墻面三類:,
10、其中,,,分別為地面,天花板,墻面法向量,為單位向量且滿足,為角度閾值,法向量與的夾角小于的平面為地面,大于的平面為天花板,處于與之間的平面為墻面,將體素平面分類為天花板、地面與墻面后,結合房間分割結果,構建由天花板、地面與墻面子地圖構成的房間語義地圖;
11、步驟s3:基于體素的區(qū)域增長算法,采用基于體素的區(qū)域增長算法從房間語義地圖中提取出各房間地面、墻面、天花板三種平面,具體步驟如下:
12、(1)建立一個以球面坐標系表示的動態(tài)法線直方圖,用極坐標和方位角表示體素平面法向量,假設區(qū)域增長后的體素平面集合為,將其初始值置為空集;
13、(2)在直方圖中迭代檢索到體素平面法線的主要方向,提取出對應的體素平面集合,將其中具有最小mse的體素平面優(yōu)先作為種子體素進行區(qū)域增長;
14、(3)計算種子體素與相鄰體素的法向量夾角與兩體素平面間距離,如果其滿足以下條件,則判斷種子體素與相鄰體素共面:
15、和法向量夾角小于,如:,
16、其中,、分別為相鄰體素與種子體素的法向量;
17、中心點到距離小于動態(tài)距離閾值,其值的大小與兩個體素間距離正相關,如:,,
18、其中,、分別為體素和種子體素的中心點坐標,為一個角度閾值,為種子體素所擬合平面方程的截距,為一個比例系數(shù);
19、(4)將區(qū)域增長后的相鄰體素作為基準,對其相鄰體素進行區(qū)域增長,迭代檢測兩個體素是否共面,直至沒有符合條件的相鄰體素,輸出一個體素平面集合作為一次區(qū)域增長的結果;
20、(5)將體素平面集合從直方圖中刪除,尋找中剩余體素平面法線的主要方向,用于下一次迭代區(qū)域增長;
21、(6)使用平面協(xié)方差矩陣的第二大特征值與最小特征值比值評估區(qū)域增長后體素平面集合的平面性,若大于閾值,則標記當前集合為平面并加入增長后平面集合;
22、步驟s4:房間三維尺寸自動測量算法,基于構建的房間語義地圖,具體步驟如下:
23、(1)為法向量直方圖中統(tǒng)計得到的墻面集合,墻面面積大小與占據(jù)體素個數(shù)正相關,因此,將包含的墻面依據(jù)占據(jù)體素個數(shù)降序排列,
24、(2)提取中的最大墻面,按照中剩余墻面面積從大到小進行遍歷,計算當前墻面與的距離,如果大于距離閾值則認為兩個墻面距離較遠,符合要求,否則進行下一次循環(huán);
25、(3)將根據(jù)法向量方向投影到所在平面上得到;
26、(4)計算與的重疊面積大小,如果其大于面積閾值,則表示兩墻面相對且有一定重合,符合自動測量要求,將這對墻面作為標記墻面輸出,否則進行下一次循環(huán);
27、得到兩對標記墻面后,由于同一對標記墻面方向近似,墻面間距離用較小墻面中心點到較大墻面距離代替,分別計算得到兩對標記墻面間的距離,得到目標測量房間的長和寬,房間語義地圖中包含地面和天花板地圖,而房間的地面和天花板可能不完全平整,直接擬合全部體素平面測量誤差較大,因此,分別對地面、天花板地圖隨機選取種子點進行基于體素的區(qū)域增長,遍歷增長完所有體素平面后,提取出其中占據(jù)體素最多的增長結果作為房間的地面和天花板平面,同理,比較提取地面和天花板面積大小,將較小平面中心點到較大平面的距離作為兩個平面間的距離,即目標測量房間的高度,計算公式如下:,
28、其中,,分別為天花板與地面上一點,,分別為天花板與地面平面法向量,,分別為天花板與地面平面面積。
29、進一步地,在房間語義地圖中對每個房間閉合顯示,需要將房間出入口通過一定處理來進行封閉,即房間細分割,通過臨時構造一個比房間出入口更大的缺口,將骨架分為兩段,此時迭代檢測兩個骨架中最近的像素處即為房間出入口,需注意,構造的缺口需要在骨架的主要分支上,否則,搜索最近像素可能會檢測到附近的其它分支導致閉合錯誤缺口,因此,首先需要移除整個骨架中的其它分支,只留下主要分支,使用上述相同大小的圓形檢測窗口,遍歷整個骨架像素,移除其它分支的末端像素、結點像素以及檢測窗口內其它骨架像素,最后,找出兩端骨架中最近像素并連接,完成房間出入口閉合。
30、進一步地,在步驟s2中,建立體素點云地圖后,對同一體素內的點云進行局部平面擬合,計算點云協(xié)方差矩陣的最小特征值對應的特征向量,得到局部平面法向量,如果計算得到的平面均方根誤差足夠小,則將其分類為平面體素并進行后續(xù)分割操作,否則分類為非平面體素并從體素地圖中剔除。
31、本發(fā)明的有益效果:本發(fā)明的一種無人機室內結構化語義地圖構建與測量方法,本發(fā)明通過對激光雷達構建的點云地圖進行房間分割,將室內點云地圖分割為多個房間子地圖,可以清晰顯示各房間結構與相對位置關系?;跇嫿ǖ姆块g語義地圖,使用基于體素平面的區(qū)域增長算法提取各房間中的三種結構平面:地面、天花板、墻面,繼而自動計算房間三維尺寸,實現(xiàn)房間三維尺寸穩(wěn)定且精確的自動測量,能夠構建結構清晰的室內結構地圖且準確測量房間三維尺寸,有效提升無人機室內未知環(huán)境探索效率。