本發(fā)明涉及機器人分布計算技術(shù)領(lǐng)域,具體涉及一種利用云計算作為后援支持,通過搭建混合云架構(gòu),實現(xiàn)基于云機器人語義地圖構(gòu)建的方法。
背景技術(shù):
機器人的感知數(shù)據(jù)來源可能包括視覺、力覺、觸覺、紅外、超聲、激光雷達等多個維度,機器人語義地圖構(gòu)建是指機器人基于這些感知數(shù)據(jù),認知和理解所處環(huán)境,核心關(guān)注如何對感知數(shù)據(jù)去粗取精、去偽存真,進而分析綜合,提煉出可供機器人自主決策所使用的高層次語義信息(如物體名稱和所處位置),具體表現(xiàn)為在幾何地圖上添加環(huán)境內(nèi)物體的標(biāo)簽。語義信息的獲取可通過射頻識別技術(shù)、聽覺技術(shù)、視覺技術(shù)等關(guān)鍵技術(shù)來實現(xiàn),目前大多數(shù)研究集中在后者,本發(fā)明也是基于視覺技術(shù)。機器人基于視覺的語義地圖構(gòu)建過程同時具備計算密集和知識密集的特點。具體可分為如下兩個并行執(zhí)行的環(huán)節(jié):(1)構(gòu)建幾何地圖,通常借助于機器人所攜帶的rgb-d(redgreenblue-depth)攝像頭、激光雷達等傳感器,采用同步定位與地圖構(gòu)建算法slam(simultaneouslocationandmapping),slam算法最早由smith、self和cheeseman于1988年提出,相關(guān)思想發(fā)表在論文《estimatinguncertainspatialrelationshipinrobotics》(機器人學(xué)中不確定空間關(guān)系的估計)中(smithr,selfm,cheesemanp.estimatinguncertainspatialrelationshipinrobotic[m]//autonomousrobotvehickes.springernewyork,1990:167~193.)。這類算法通常使用基于統(tǒng)計學(xué)的濾波算法或者圖像匹配技術(shù),通過多次迭代來進行計算求解,是典型的計算密集型任務(wù)。(2)添加物體標(biāo)簽信息,機器人實時感知的圖像中很可能包含多個物體,因此需要首先對圖像進行分割,再通過機器學(xué)習(xí)等方法對分割后圖像中的物體進行識別。該過程同樣涉及到大量的圖像運算,是典型的計算密集型任務(wù)。同時識別準(zhǔn)確率嚴重依賴于機器人預(yù)置的知識,這些知識通常以機器學(xué)習(xí)訓(xùn)練出的模型等形式存在,因此也是知識密集型任務(wù)。如果環(huán)境是開放動態(tài)、無法精確預(yù)測的,則機器人語義地圖的準(zhǔn)確度將面臨嚴峻挑戰(zhàn)。
云機器人利用云計算和大數(shù)據(jù)等后臺基礎(chǔ)設(shè)施,提升機器人在復(fù)雜環(huán)境下遂行任務(wù)的能力,因此可以給機器人語義地圖構(gòu)建這類計算和知識密集型任務(wù)帶來新的解決思路:(1)利用云端強大的計算資源進行地圖構(gòu)建,實現(xiàn)本地計算卸載。(2)更重要的是,利用云端豐富的經(jīng)驗知識,打破機器人本地知識的局限性,使機器人基于云端智慧實現(xiàn)知識擴展,對環(huán)境內(nèi)物體有較好的識別能力。機器人能夠利用的云包括私有云(privatecloud)和公有云(publiccloud):私有云是指為一個客戶單獨使用而構(gòu)建的云,因而可以提供對數(shù)據(jù)、安全性和服務(wù)質(zhì)量的最有效控制;公有云通常指第三方提供商為客戶提供的能夠使用的云,一般可通過互聯(lián)網(wǎng)使用,成本低廉甚至有些是免費的,公有云的核心屬性是共享資源服務(wù)。
目前,云機器人語義地圖構(gòu)建的主流方法一般是使用私有云,在私有云端為機器人提供物體知識庫,機器人將圖片上傳至私有云獲得物體識別類別標(biāo)簽,以解決機器人自身計算和知識資源的局限性,提高運行效率,縮短請求響應(yīng)時間。但是這種私有云端物體識別是基于物體個體匹配的,或物體識別算法的準(zhǔn)確率還比較低,而且知識仍需事先預(yù)置,并且無法識別陌生物體。也就是說,私有云雖資源可控、請求響應(yīng)時間可縮短,但其知識仍存在局限性。
如果使用互聯(lián)網(wǎng)基于大數(shù)據(jù)的公開物體識別云服務(wù)如cloudsight,將其應(yīng)用于語義地圖構(gòu)建的物體識別環(huán)節(jié),機器人就可以利用基于互聯(lián)網(wǎng)大數(shù)據(jù)的豐富知識,提高在復(fù)雜開放環(huán)境中的識別準(zhǔn)確率。cloudsight提供開放的api,用戶上傳圖片,cloudsight即可返回物體標(biāo)簽或?qū)ξ矬w的描述?;诨ヂ?lián)網(wǎng)海量圖片數(shù)據(jù)知識,cloudsight目前可以識別4千萬余種物品,而且即使對于較差光線條件和角度下拍攝的物品也有較好的識別結(jié)果。但此類互聯(lián)網(wǎng)公有云服務(wù)基于“besteffort”模型,性能不可控、請求響應(yīng)時間長,這對于許多機器人應(yīng)用是不可接受的,尤其是當(dāng)它們與物理世界直接交互時。也就是說,公有云雖具有互聯(lián)網(wǎng)大數(shù)據(jù)豐富知識,但資源不可控、請求響應(yīng)時間長。
綜上所述,基于私有云的方案在請求響應(yīng)時間上表現(xiàn)較好,能識別熟悉物體,但需要預(yù)先訓(xùn)練,且存在知識局限性,無法識別開放環(huán)境中的陌生物體;基于公有云的方案利用互聯(lián)網(wǎng)大數(shù)據(jù)知識對環(huán)境中的物體識別具有更廣泛的智能,可以在無需預(yù)先訓(xùn)練的情況下識別陌生物體,但識別延遲大,請求響應(yīng)時間長。基于以上分析可以發(fā)現(xiàn),在構(gòu)建機器人語義地圖時,機器人如何在開放環(huán)境中準(zhǔn)確識別陌生物體,并且盡可能縮短識別延遲時間,是語義地圖構(gòu)建方法需要解決的技術(shù)問題。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種基于云機器人混合云架構(gòu)的語義地圖構(gòu)建方法,利用公有云和私有云組合成的混合云,使得機器人可以利用云端來擴展識別能力,在提高物體識別的準(zhǔn)確率和縮短識別時間之間達到一個恰當(dāng)?shù)钠胶??;旌显浦腹性坪退接性频慕M合,它綜合二者的優(yōu)勢,并實現(xiàn)兩者之間的良好協(xié)調(diào)。
本發(fā)明的技術(shù)方案是搭建由機器人、私有云節(jié)點、公有云節(jié)點構(gòu)成的混合云環(huán)境,私有云節(jié)點基于ros(robotoperatingsystem)的消息機制獲得機器人拍攝的環(huán)境圖片數(shù)據(jù)和機器人里程計及位置數(shù)據(jù),基于里程計和機器人位置數(shù)據(jù)利用同步定位與建圖算法slam實時繪制環(huán)境幾何地圖。然后私有云節(jié)點基于機器人拍攝的環(huán)境圖片使用基于fasterr-cnn(fasterregionconvolutionalneuralnetwork)的物體識別模塊進行物體識別,將可能識別錯誤的物體上傳至公有云節(jié)點進行識別。最后私有云節(jié)點將公有云節(jié)點返回的物體類別識別標(biāo)簽與slam地圖進行映射,將物體類別識別標(biāo)簽標(biāo)在地圖的相應(yīng)位置完成語義地圖的構(gòu)建。
本發(fā)明包括以下步驟:
第一步,構(gòu)建機器人混合云環(huán)境,它由機器人計算節(jié)點和私有云節(jié)點、公有云節(jié)點構(gòu)成。機器人計算節(jié)點是可以運行軟件程序的機器人硬件設(shè)備(如無人機、無人車、人形機器人等),私有云節(jié)點是具有良好計算能力的資源可控的計算設(shè)備,可以運行計算密集型或者知識密集型的機器人應(yīng)用。公有云節(jié)點是存儲資源豐富、并能對外提供服務(wù)的計算設(shè)備。機器人計算節(jié)點、私有云節(jié)點通過網(wǎng)絡(luò)設(shè)備互連,私有云節(jié)點通過互聯(lián)網(wǎng)訪問公有云節(jié)點。
機器人計算節(jié)點上除了裝有操作系統(tǒng)ubuntu(例如14.04版本)、機器人中間件ros(例如indigo版本,由ros消息發(fā)布者、ros消息訂閱者以及ros通信協(xié)議等組成)外,還裝有感知數(shù)據(jù)采集模塊。
在ros中,消息傳遞采用的是基于主題(topic)的發(fā)布/訂閱機制,即消息按照主題進行分類,消息的發(fā)布者在某一主題上發(fā)布消息,所有訂閱了這個主題的消息訂閱者將收到該消息。一個ros主題名唯一標(biāo)識一類消息,ros主題名由字母、數(shù)字和“/”符號組成。
ros中包含多個軟件包,為機器人自主行動提供輔助支持。tf庫是ros中一系列軟件包的集合,它可以提供坐標(biāo)變換、方向計算功能。輸入當(dāng)前坐標(biāo)系在參考坐標(biāo)系中的描述,則tf庫可以把當(dāng)前坐標(biāo)系里任何一個點的坐標(biāo)變換成參考坐標(biāo)系里的坐標(biāo);輸入陀螺儀的歷史數(shù)據(jù)和當(dāng)前數(shù)據(jù),則tf庫可通過積分計算得到機器人當(dāng)前的方向。
ros中的rbx1包可以提供角度變換功能。機器人位姿信息中的方向使用四元數(shù)旋轉(zhuǎn)方式表示(四元數(shù)是一種高階復(fù)數(shù),由一個實數(shù)單位和三個虛數(shù)單位組成),計算物體在slam地圖上的位置時需要用到機器人的轉(zhuǎn)動角度(即按照一定的坐標(biāo)軸順序,每個軸旋轉(zhuǎn)一定角度),則要將四元數(shù)的方向表示方式變換到轉(zhuǎn)動角度的方向表示方式。四元數(shù)到轉(zhuǎn)動角度的方向表示方式變換是數(shù)學(xué)上的一個經(jīng)典轉(zhuǎn)換,相關(guān)數(shù)學(xué)算法最早在1843年由hamilton提出,在圖形、圖像學(xué)里常用于物體定位等。
機器人的位姿信息指機器人的位置和姿態(tài);里程信息指機器人走過的路程;深度信息指物體識別位置到機器人節(jié)點的攝像頭平面的距離。
感知數(shù)據(jù)采集模塊采集機器人的位姿信息、里程信息、深度信息和攝像頭拍攝的彩色環(huán)境圖片,并使用ros的消息發(fā)布/訂閱機制將這些數(shù)據(jù)發(fā)布給私有云節(jié)點上的感知數(shù)據(jù)接收模塊。
私有云節(jié)點上除了裝有操作系統(tǒng)ubuntu、機器人中間件ros外,還裝有感知數(shù)據(jù)接收模塊、slam建圖模塊、基于fasterr-cnn物體識別模塊、協(xié)同識別決策模塊、圖片上傳模塊和語義標(biāo)注模塊。
感知數(shù)據(jù)接收模塊使用ros的消息發(fā)布/訂閱機制從感知數(shù)據(jù)采集模塊訂閱位姿信息、里程信息、深度信息和彩色環(huán)境圖片。感知數(shù)據(jù)接收模塊接收到位姿信息、里程信息、深度信息和彩色環(huán)境圖片后,將位姿信息轉(zhuǎn)發(fā)給slam建圖模塊和語義標(biāo)注模塊,將里程信息發(fā)送給slam建圖模塊,將彩色環(huán)境圖片發(fā)送給基于fasterr-cnn物體識別模塊,將深度信息發(fā)送給語義標(biāo)注模塊。
slam建圖模塊利用從感知數(shù)據(jù)接收模塊接收的機器人位姿信息和里程信息,在完全沒有先驗知識的陌生環(huán)境中實時繪制環(huán)境slam地圖,并將slam地圖發(fā)送給語義標(biāo)注模塊。slam地圖指使用slam算法繪制的二維幾何地圖。
基于fasterr-cnn物體識別模塊利用從感知數(shù)據(jù)接收模塊接收的彩色環(huán)境圖片,基于fasterr-cnn模型對物體進行識別,得到彩色環(huán)境圖片中各物體位置、物體圖片、物體識別類別標(biāo)簽、物體圖片置信度得分。
fasterr-cnn模型是2015年由shaoqingren,kaiminghe,rossgirshick等人用卷積神經(jīng)網(wǎng)絡(luò)(cnn)實現(xiàn)的物體識別引擎(rens,hek,girshickr,etal.fasterr-cnn:towardsreal-timeobjectdetectionwithregionproposalnetworks(使用區(qū)域推薦網(wǎng)絡(luò)進行實時物體檢測)[c]//advancesinneuralinformationprocessingsystems.2015:91~99.)。利用卷積神經(jīng)網(wǎng)絡(luò)使用訓(xùn)練樣本集圖片對fasterr-cnn模型進行有監(jiān)督的訓(xùn)練,即對訓(xùn)練樣本集圖片進行特征提取和物體分割,用已知類別標(biāo)簽的樣本不斷調(diào)整fasterr-cnn的softmax分類器的參數(shù),使得經(jīng)過分類器計算后的輸出中的物體識別類別標(biāo)簽盡可能多地為訓(xùn)練樣本真實的類別標(biāo)簽,也就是調(diào)整分類器參數(shù)使得分類效果盡可能好。fasterr-cnn模型訓(xùn)練完成之后,對彩色圖片進行物體識別,得到物體位置、物體識別類別標(biāo)簽、物體置信度得分。物體位置指以物體左上角坐標(biāo)、物體的長度和寬度來描述物體在環(huán)境圖片中的位置。物體識別類別標(biāo)簽包括某種具體類別標(biāo)簽(如蘋果類、杯子類等)和除具體類別物體之外的其他物體類別標(biāo)簽?!捌渌矬w類”代表了“所有其他物體”,包含了多種多樣其他類型的物體,只能確定這些都是物體但卻無法表示其為具體某類物體的特征。置信度得分由fasterr-cnn的softmax分類器計算得出,表征了fasterr-cnn識別結(jié)果的可靠性大小。識別置信度得分在0和1之間,得分越大表示識別結(jié)果的可靠性越大。
基于fasterr-cnn物體識別模塊采用物體識別領(lǐng)域著名的pascalvoc2007數(shù)據(jù)集和互聯(lián)網(wǎng)上隨機下載的多幅包含各種物體的圖片(例如著名的圖片和視頻網(wǎng)站www.flickr.com上的物體圖片)對fasterr-cnn模型進行訓(xùn)練。pascalvoc的全稱是patternanalysis,statisticalmodellingandcomputationallearningvisualobjectclasseschanllenge,是該比賽為圖像中物體識別所提供的標(biāo)準(zhǔn)化數(shù)據(jù)集,其中以2007年比賽的數(shù)據(jù)集最為代表性,簡稱pascalvoc2007。
基于fasterr-cnn物體識別模塊對從感知數(shù)據(jù)接收模塊傳來的彩色環(huán)境圖片,采用fasterr-cnn模型對彩色環(huán)境圖片進行物體識別,輸出彩色環(huán)境圖片中各物體的物體識別位置、物體圖片、物體識別類別標(biāo)簽、物體置信度得分。其中物體識別類別標(biāo)簽和物體置信度得分由fasterr-cnn模型進行物體識別后得到。物體識別位置指以物體外框像素點坐標(biāo)位置來描述物體在環(huán)境圖片中的位置,取物體外框的中心點坐標(biāo)作為物體識別位置的坐標(biāo)。物體圖片指根據(jù)fasterr-cnn模型輸出的物體位置而分割出的圖片。基于fasterr-cnn物體識別模塊將識別結(jié)果(包括物體識別類別標(biāo)簽、置信度得分、物體識別位置、物體圖片)發(fā)送給協(xié)同識別決策模塊。
協(xié)同識別決策模塊根據(jù)置信度閾值判斷從基于fasterr-cnn物體識別模塊收到的識別結(jié)果是否正確,對是否需要上傳至公開云再次識別進行決策。置信度閾值由用戶設(shè)置,是使用pascalvoc2007數(shù)據(jù)集進行實驗而選擇的最優(yōu)值:置信度閾值的可選擇范圍為0~1,在選擇閾值時設(shè)置實驗步長為0.1,即從[0,0.1,0.2,……1]中選擇置信度閾值的最優(yōu)設(shè)置值。實驗發(fā)現(xiàn),當(dāng)置信度閾值設(shè)置為0.7時,協(xié)同識別決策模塊在識別準(zhǔn)確率的提升上效果最優(yōu),因此建議置信度閾值設(shè)置為0.7。
若識別結(jié)果中物體識別類別標(biāo)簽不是“其他物體類”且得分大于等于置信度閾值,協(xié)同識別決策模塊認為對該物體識別正確,將物體識別位置和物體識別類別標(biāo)簽發(fā)送給語義標(biāo)注模塊。對于下述兩種物體識別錯誤或無法識別的情況,協(xié)同識別決策模塊將物體圖片發(fā)送給圖片上傳模塊,由公有云再次進行識別,最后協(xié)同識別決策模塊將公有云返回的物體識別類別標(biāo)簽和物體識別位置發(fā)送給語義標(biāo)注模塊。兩種物體識別錯誤或無法識別的情況包括:1)若物體識別結(jié)果中置信度得分小于閾值,則認為基于fasterr-cnn物體識別模塊對此物體的識別結(jié)果置信度不夠高,即基于fasterr-cnn物體識別模塊對該物體識別錯誤;2)若該物體識別類別標(biāo)簽為“其他物體類”,則說明該物體所屬類別可能未經(jīng)訓(xùn)練,基于fasterr-cnn物體識別模塊難以將其分類為某一具體類別,即基于fasterr-cnn物體識別模塊無法對該物體所屬類別進行識別。
圖片上傳模塊從協(xié)同識別決策模塊接收協(xié)同識別決策模塊判斷為識別錯誤或無法識別的物體圖片,將這些物體圖片傳給公有云節(jié)點進行再次識別,并將公有云節(jié)點再次識別后得到的物體識別類別標(biāo)簽發(fā)送給協(xié)同識別決策模塊。
語義標(biāo)注模塊從slam建圖模塊接收slam地圖,從感知數(shù)據(jù)接收模塊接收位姿信息和深度信息,從協(xié)同識別決策模塊接收物體識別位置和物體識別類別標(biāo)簽,將其保存在“標(biāo)簽-位置”表中。語義標(biāo)注模塊通過“標(biāo)簽-位置”表,將物體識別類別標(biāo)簽標(biāo)注在slam地圖相應(yīng)位置,完成語義地圖的構(gòu)建,最后將語義地圖發(fā)布給機器人計算節(jié)點。語義地圖指添加了物體識別位置、物體識別類別標(biāo)簽的slam地圖,使得機器人和人能理解場景中各物體分布,是機器人實現(xiàn)自主行為能力的基礎(chǔ)。
公有云節(jié)點使用互聯(lián)網(wǎng)基于大數(shù)據(jù)的公開云服務(wù)cloudsight識別圖片上傳模塊接收的物體圖片,給出圖片中物體的識別標(biāo)簽。2014年,cloudsight公司開發(fā)了物體識別云服務(wù)cloudsight(https://www.cloudsightapi.com)。cloudsight提供開放的api,用戶上傳圖片,cloudsight即可返回物體識別類別標(biāo)簽或?qū)ξ矬w的描述。cloudsight提供了post方法和get方法。用戶首先需要獲得apikey,apikey是字符串密碼或數(shù)字證書,訪問應(yīng)用程序接口的憑據(jù);post方法是客戶機向云服務(wù)cloudsight上傳數(shù)據(jù)的方法;get方法是客戶機從云服務(wù)cloudsight上獲得數(shù)據(jù)的方法,可以用get方法從云服務(wù)cloudsight上獲取到用于身份和安全認證的令牌token,然后獲得物體圖片的識別結(jié)果類別標(biāo)簽。
第二步,私有云節(jié)點訂閱感知數(shù)據(jù)相關(guān)的ros消息;機器人計算節(jié)點感知環(huán)境,發(fā)布感知數(shù)據(jù)相關(guān)的ros消息并訂閱語義地圖相關(guān)的ros消息。具體步驟如下:
2.1私有云節(jié)點的感知數(shù)據(jù)接收模塊通過基于ros的發(fā)布/訂閱機制從機器人計算節(jié)點訂閱主題名為/tf的位姿信息、主題名為/odom的里程信息、主題名為/camera/depth/points的深度信息和/camera/rgb/image_raw的彩色環(huán)境圖片上的消息。
2.2基于fasterr-cnn物體識別模塊采用物體識別領(lǐng)域pascalvoc2007數(shù)據(jù)集和互聯(lián)網(wǎng)上隨機下載的多幅包含各種物體的圖片所構(gòu)成的“其它物體類”對fasterr-cnn模型進行訓(xùn)練。
2.3私有云節(jié)點的協(xié)同識別決策模塊從鍵盤接收置信度閾值。
2.4機器人計算節(jié)點上ros消息訂閱者訂閱/sem_map主題上的消息。
2.5機器人計算節(jié)點移動,通過硬件傳感器和加速度計、陀螺儀感知環(huán)境獲得數(shù)據(jù),并通過ros機制發(fā)布數(shù)據(jù)。具體步驟如下:
2.5.1感知數(shù)據(jù)采集模塊從距離傳感器獲得數(shù)據(jù),產(chǎn)生里程信息發(fā)布到/odom主題上;
2.5.2感知數(shù)據(jù)采集模塊從距離傳感器、加速度計、陀螺儀獲得機器人移動的距離、各時刻的加速度、陀螺儀角度。感知數(shù)據(jù)采集模塊獲得機器人的初始位置和計算移動時間,根據(jù)上述信息使用ros中tf庫進行計算得到機器人當(dāng)前在slam地圖上的位置坐標(biāo)(position)和方向(orientation)產(chǎn)生位姿信息,并發(fā)布到/tf主題上;
2.5.3感知數(shù)據(jù)采集模塊從視覺傳感器獲得數(shù)據(jù),視覺傳感器數(shù)據(jù)包括圖像中各像素點距離視覺傳感器的深度信息和rgb(redgreenblue)顏色值的彩色信息,后者即表現(xiàn)為拍攝到的彩色環(huán)境圖片。感知數(shù)據(jù)采集模塊根據(jù)視覺傳感器數(shù)據(jù)產(chǎn)生機器人距前方物體的深度信息和彩色環(huán)境圖片,并分別發(fā)布到/camera/depth/points和/camera/rgb/image_raw主題上。
第三步,私有云節(jié)點上的感知數(shù)據(jù)接收模塊獲取機器人計算節(jié)點的位姿信息和里程信息,并將機器人計算節(jié)點的位姿信息和里程信息發(fā)送給slam建圖模塊,slam建圖模塊建立slam地圖。具體步驟如下:
3.1私有云節(jié)點上的感知數(shù)據(jù)接收模塊使用ros消息機制接收到/tf主題和/odom主題上的消息,獲取機器人計算節(jié)點的位姿信息和里程信息,并將機器人計算節(jié)點的位姿信息和里程信息發(fā)送給slam建圖模塊,將機器人計算節(jié)點的位姿信息發(fā)送給語義標(biāo)注模塊。
3.2私有云節(jié)點的slam建圖模塊接收機器人計算節(jié)點的位姿信息和里程信息,利用同步定位與建圖算法slam繪制環(huán)境幾何地圖即slam地圖,并將slam地圖發(fā)送給語義標(biāo)注模塊。
第四步,私有云節(jié)點上的感知數(shù)據(jù)接收模塊獲取機器人計算節(jié)點的彩色環(huán)境圖片并將其發(fā)送給基于fasterr-cnn物體識別模塊,基于fasterr-cnn物體識別模塊進行物體識別后將識別結(jié)果發(fā)送給語義標(biāo)注模塊。具體步驟如下:
4.1感知數(shù)據(jù)接收模塊使用ros消息機制接收到/camera/rgb/image_raw主題上的消息,獲取機器人節(jié)點當(dāng)前拍攝的彩色環(huán)境圖片,并將其發(fā)送給基于fasterr-cnn物體識別模塊。
4.2基于fasterr-cnn物體識別模塊接收機器人計算節(jié)點的彩色環(huán)境圖片,進行物體識別,具體步驟如下:
4.2.1基于fasterr-cnn物體識別模塊從感知數(shù)據(jù)接收模塊接收彩色環(huán)境圖片。
4.2.2基于fasterr-cnn物體識別模塊使用fasterr-cnn模型進行圖片特征提取和物體分割,根據(jù)物體位置計算物體識別位置和從彩色環(huán)境圖片中截取物體圖片,并將物體識別位置、物體圖片、物體識別結(jié)果類別標(biāo)簽和識別置信度得分發(fā)送給協(xié)同識別決策模塊。具體步驟如下:
4.2.2.1fasterr-cnn模型對滑動窗口中的圖片進行特征提取,并判斷是否為一個物體。如果是,fasterr-cnn模型進行物體分割,并返回彩色環(huán)境圖片中物體位置、物體識別結(jié)果類別標(biāo)簽和對應(yīng)的識別置信度得分,執(zhí)行步驟4.2.2.2;否則執(zhí)行步驟5.5。
4.2.2.2基于fasterr-cnn物體識別模塊獲得fasterr-cnn模型返回彩色環(huán)境圖片中物體位置、物體識別結(jié)果類別標(biāo)簽和對應(yīng)的識別置信度得分,根據(jù)物體位置計算物體識別位置和從彩色環(huán)境圖片中截取物體圖片?;趂asterr-cnn物體識別模塊將物體識別位置、物體圖片、物體識別結(jié)果類別標(biāo)簽和識別置信度得分發(fā)送給協(xié)同識別決策模塊。
4.2.3協(xié)同識別決策模塊判斷物體識別是否正確。如果正確,協(xié)同識別決策模塊將結(jié)果發(fā)送給語義標(biāo)注模塊,執(zhí)行第五步;否則協(xié)同識別決策模塊將識別錯誤的物體發(fā)送給圖片上傳模塊,圖片上傳模塊進一步上傳至公有云節(jié)點。具體步驟如下:
4.2.3.1協(xié)同識別決策模塊從基于fasterr-cnn物體識別模塊接收物體圖片、物體識別位置、物體識別類別標(biāo)簽和識別置信度得分,進行判斷。若物體識別類別標(biāo)簽不是“其他物體類”且置信度得分大于等于置信度閾值,則協(xié)同識別決策模塊判定對該物體識別正確,執(zhí)行步驟4.2.3.4。
4.2.3.2若物體識別類別標(biāo)簽為“其他物體類”或識別置信度得分小于置信度閾值,則協(xié)同識別決策模塊判定對該物體識別錯誤,將該物體圖片發(fā)送給圖片上傳模塊。
4.2.3.3圖片上傳模塊使用公有云cloudsight對物體圖片進行再次識別,并將物體識別類別標(biāo)簽發(fā)送給協(xié)同識別決策模塊。具體步驟如下:
4.2.3.3.1圖片上傳模塊申請一個cloudsight的apikey。
4.2.3.3.2圖片上傳模塊利用http的post方法將物體圖片的地址url(資源描述符)和所申請的apikey上傳至https://api.cloudsightapi.com/image_requests發(fā)出請求。
4.2.3.3.3圖片上傳模塊利用http的get方法獲取到用于身份和安全認證的令牌token。
4.2.3.3.4圖片上傳模塊通過訪問https://api.cloudsightapi.com/image_responses/[token]獲得物體圖片的識別結(jié)果類別標(biāo)簽,并將物體識別類別標(biāo)簽發(fā)送給協(xié)同識別決策模塊。
4.2.3.4協(xié)同識別決策模塊接收到物體識別結(jié)果類別標(biāo)簽后,將物體識別類別標(biāo)簽和物體識別位置發(fā)送給語義標(biāo)注模塊。
第五步,私有云節(jié)點上的語義標(biāo)注模塊接收機器人計算節(jié)點的深度信息、位姿信息、物體識別類別標(biāo)簽和物體識別位置后,計算出物體在slam地圖上的位置坐標(biāo)后,將物體識別類別標(biāo)簽標(biāo)注在slam地圖相應(yīng)位置,完成語義地圖的構(gòu)建。具體步驟如下:
5.1感知數(shù)據(jù)接收模塊使用ros消息機制接收到/camera/depth/points主題上的消息,獲取機器人節(jié)點的深度信息,并將機器人節(jié)點的深度信息發(fā)送給語義標(biāo)注模塊。
5.2語義標(biāo)注模塊從感知數(shù)據(jù)接收模塊接收機器人節(jié)點的位姿信息,包括機器人的位置坐標(biāo)(x0,y0)(笛卡爾坐標(biāo)系)和表示3d姿態(tài)的方向γ。使用ros中的rbx1包,將機器人方向γ轉(zhuǎn)化為對應(yīng)的轉(zhuǎn)動角度β。
5.3語義標(biāo)注模塊從感知數(shù)據(jù)接收模塊接收機器人計算節(jié)點的深度信息,從協(xié)同識別決策模塊接收物體識別類別標(biāo)簽和物體識別位置(x2,y2),計算機器人節(jié)點到物體的視覺角度α和深度d。
視覺角度是通過結(jié)合物體識別位置和攝像頭的角度偵測范圍,按照三角函數(shù)比例對應(yīng)關(guān)系計算得到。設(shè)圖片水平像素值的一半為b,則圖片中物體中心距離圖片中心的水平像素值a為
a=|x2-b|
視覺傳感器的水平偵測角度范圍為θ(即以傳感器為中心,左右水平偵測角度范圍各θ/2),機器人到物體中心的視覺角度α為
α=tan-1((tan(θ/2))·a/b))
,通過結(jié)合機器人節(jié)點到物體的角度,按照三角函數(shù)關(guān)系計算得到機器人節(jié)點距離物體的深度。
設(shè)機器人節(jié)點獲得的深度信息為d,機器人節(jié)點距離物體的水平深度d為
d=d/cosα
5.4語義標(biāo)注模塊融合環(huán)境圖像中物體識別位置、機器人節(jié)點到物體的視覺角度和深度、機器人節(jié)點的位置坐標(biāo)和轉(zhuǎn)動角度,利用三角函數(shù)關(guān)系計算得到物體在slam地圖上的位置坐標(biāo),將物體結(jié)果類別標(biāo)簽標(biāo)注在slam地圖的相應(yīng)位置。利用三角函數(shù)關(guān)系計算物體在slam地圖上的位置的方法是:
設(shè)機器人的位置坐標(biāo)為(x0,y0),那么物體在slam地圖上的位置坐標(biāo)(x1,y1)為
對于攝像頭左側(cè)的物體而言:
對于攝像頭右側(cè)的物體而言:
5.5基于fasterr-cnn物體識別模塊判斷滑動窗口是否已經(jīng)到右下角,如果是,即彩色環(huán)境圖片已經(jīng)完成識別,執(zhí)行步驟5.6;否則將滑動窗口移到下一個位置,執(zhí)行步驟4.2.2.1。
5.6語義標(biāo)注模塊將語義地圖作為ros消息發(fā)布在/sem_map主題上。
第六步,機器人計算節(jié)點使用ros消息機制接收語義地圖相關(guān)的ros消息。具體步驟如下:
6.1ros消息訂閱者使用ros消息機制接收私有云節(jié)點的語義標(biāo)注模塊發(fā)布的/sem_map主題上的消息,獲得語義地圖。
6.2機器人判定是否收到用戶發(fā)出的“已完成整個環(huán)境的遍歷”的指令,若收到,轉(zhuǎn)第七步;若未收到,執(zhí)行步驟2.5。
第七步,結(jié)束。
采用本發(fā)明可以達到如下的有益效果:
(1)私有云與機器人協(xié)同構(gòu)建環(huán)境幾何地圖,利用云端強大的計算能力,減輕了機器人本地的計算負載。
(2)利用混合云架構(gòu)進行環(huán)境中物體的識別,可以在利用云端擴展機器人能力的同時,同時最小化請求響應(yīng)時間?;趨f(xié)同識別決策模塊,私有云熟悉的物體即可在私有云端進行識別,私有云的資源可控,請求響應(yīng)時間短;對于私有云有可能識別錯誤的物體,會篩選出來上傳至公有云進行再次識別,利用互聯(lián)網(wǎng)基于大數(shù)據(jù)的豐富知識為物體打標(biāo)簽,擴展機器人的識別認知能力,提高了物體識別的準(zhǔn)確率,使得在提高物體識別的準(zhǔn)確率和縮短識別時間之間達到一個恰當(dāng)?shù)钠胶狻?/p>
(3)基于數(shù)據(jù)融合實現(xiàn)“物體標(biāo)簽-地圖位置”的映射,完成語義地圖的構(gòu)建。融合不同空間維度的數(shù)據(jù)并進行計算,將物體標(biāo)簽標(biāo)注在地圖相應(yīng)位置,構(gòu)建語義地圖,展示機器人對環(huán)境理解的效果。
附圖說明
圖1是本發(fā)明第一步構(gòu)建的機器人混合云環(huán)境整體邏輯結(jié)構(gòu)圖。
圖2是本發(fā)明第一步構(gòu)建的機器人混合云環(huán)境上的軟件部署圖。
圖3是本發(fā)明整體流程圖。
圖4是本發(fā)明第四步和第五步中機器人計算節(jié)點、私有云節(jié)點和公有云節(jié)點協(xié)同建立語義地圖的流程圖。
圖5是本發(fā)明步驟5.3中機器人節(jié)點到物體的視覺角度和深度的計算示意圖。
圖6是本發(fā)明步驟5.4中物體在slam地圖上位置的計算示意圖。圖6(a)是物體在攝像頭左側(cè)的計算示意圖,圖6(b)是物體在攝像頭右側(cè)的計算示意圖。
具體實施方式
圖1是本發(fā)明第一步構(gòu)建的機器人混合云環(huán)境,它由機器人計算節(jié)點、私有云節(jié)點和公有云節(jié)點構(gòu)成。機器人計算節(jié)點是可以運行軟件程序的機器人硬件設(shè)備(如無人機、無人車、人形機器人等),私有云節(jié)點是具有良好計算能力的資源可控的計算設(shè)備,可以運行計算密集型或者知識密集型的機器人應(yīng)用。公有云節(jié)點是存儲資源豐富、并能對外提供服務(wù)的計算設(shè)備。機器人計算節(jié)點、私有云節(jié)點通過網(wǎng)絡(luò)設(shè)備互連,私有云通過互聯(lián)網(wǎng)訪問公有云。
圖2是本發(fā)明機器人計算節(jié)點和私有云節(jié)點上的軟件部署圖。機器人計算節(jié)點是可以在環(huán)境中移動、能夠運行軟件程序的機器人硬件設(shè)備,其上帶有攝像頭、激光雷達等傳感器,機器人計算節(jié)點和私有云節(jié)點都裝有操作系統(tǒng)ubuntu和機器人中間件ros。除此之外,機器人計算節(jié)點上還裝有感知數(shù)據(jù)采集模塊。私有云節(jié)點上還裝有感知數(shù)據(jù)接收模塊、slam建圖模塊、基于fasterr-cnn物體識別模塊、協(xié)同識別決策模塊、圖片上傳模塊和語義標(biāo)注模塊。公有云使用cloudsight物體識別云服務(wù)。
以下以輪式機器人turtlebot構(gòu)建語義地圖為例說明本發(fā)明的具體實施方式。該實例的turtlebot上配置有微軟視覺傳感器kinect,可以實時拍攝環(huán)境圖像和測距。私有云部署在服務(wù)器上,由于機器人和私有云存在知識的局限性,因此借助公有云基于互聯(lián)網(wǎng)大數(shù)據(jù)擴展機器人的識別認知能力,使得混合云可以在擴增物體識別認知能力的同時最小化請求響應(yīng)時間。
采用本發(fā)明的具體實施方式如圖3所示如下:
第一步,構(gòu)建機器人混合云系統(tǒng),它由turtlebot輪式機器人、服務(wù)器和基于大數(shù)據(jù)的公開云服務(wù)cloudsight組成,三者通過網(wǎng)絡(luò)設(shè)備互連。turtlebot輪式機器人裝有操作系統(tǒng)ubuntu14.04版本、機器人操作系統(tǒng)中間件rosindigo版本和感知數(shù)據(jù)模塊。服務(wù)器裝有操作系統(tǒng)ubuntu、機器人中間件ros、感知數(shù)據(jù)接收模塊、slam建圖模塊、基于fasterr-cnn物體識別模塊、協(xié)同識別決策模塊、圖片上傳模塊和語義標(biāo)注模塊。公有云使用cloudsight物體識別云服務(wù)(https://www.cloudsightapi.com)。
第二步,私有云節(jié)點訂閱感知數(shù)據(jù)相關(guān)的ros消息;turtlebot感知環(huán)境,發(fā)布感知數(shù)據(jù)相關(guān)的ros消息并訂閱語義地圖相關(guān)的ros消息。
2.1私有云節(jié)點的感知數(shù)據(jù)接收模塊通過基于ros的發(fā)布/訂閱機制從機器人計算節(jié)點訂閱主題名為/tf的位姿信息、主題名為/odom的里程信息、主題名為/camera/depth/points的深度信息和/camera/rgb/image_raw的彩色環(huán)境圖片上的消息。
2.2基于fasterr-cnn物體識別模塊采用物體識別領(lǐng)域pascalvoc2007數(shù)據(jù)集和互聯(lián)網(wǎng)上隨機下載的多幅包含各種物體的圖片所構(gòu)成的“其它物體類”對fasterr-cnn模型進行訓(xùn)練。
2.3私有云節(jié)點的協(xié)同識別決策模塊從鍵盤接收置信度閾值0.7。
2.4turtlebot上ros消息訂閱者訂閱/sem_map主題上的消息。
2.5turtlebot輪式機器人移動,通過硬件傳感器和加速度計、陀螺儀感知環(huán)境獲得數(shù)據(jù),并通過ros機制發(fā)布數(shù)據(jù)。具體步驟如下:
2.5.1感知數(shù)據(jù)采集模塊從距離傳感器獲得數(shù)據(jù),產(chǎn)生里程信息發(fā)布到/odom主題上;
2.5.2感知數(shù)據(jù)采集模塊從距離傳感器、加速度計、陀螺儀獲得turtlebot移動的距離、各時刻的加速度、陀螺儀角度。感知數(shù)據(jù)采集模塊獲得turtlebot的初始位置和計算移動時間,根據(jù)上述信息使用ros中tf庫進行計算得到機器人當(dāng)前在slam地圖上的位置坐標(biāo)和方向產(chǎn)生位姿信息,并發(fā)布到/tf主題上;
2.5.3感知數(shù)據(jù)采集模塊根據(jù)kinect視覺傳感器數(shù)據(jù)產(chǎn)生機器人距前方物體的深度信息和彩色環(huán)境圖片,并分別發(fā)布到/camera/depth/points和/camera/rgb/image_raw主題上。
第三步,私有云節(jié)點上的感知數(shù)據(jù)接收模塊獲取turtlebot輪式機器人的位姿信息和里程信息,并將機器人計算節(jié)點的位姿信息和里程信息發(fā)送給slam建圖模塊,slam建圖模塊建立slam地圖。具體步驟如下:
3.1私有云節(jié)點上的感知數(shù)據(jù)接收模塊使用ros消息機制接收到/tf主題和/odom主題上的消息,獲取機器人計算節(jié)點的位姿信息和里程信息,并將機器人計算節(jié)點的位姿信息和里程信息發(fā)送給slam建圖模塊,將機器人計算節(jié)點的位姿信息發(fā)送給語義標(biāo)注模塊。
3.2私有云節(jié)點的slam建圖模塊接收機器人計算節(jié)點的位姿信息和里程信息,利用同步定位與建圖算法slam繪制環(huán)境幾何地圖即slam地圖,并將slam地圖發(fā)送給語義標(biāo)注模塊。
第四步,私有云節(jié)點上的感知數(shù)據(jù)接收模塊獲取機器人計算節(jié)點的彩色環(huán)境圖片并將其發(fā)送給基于fasterr-cnn物體識別模塊,基于fasterr-cnn物體識別模塊進行物體識別后將識別結(jié)果發(fā)送給語義標(biāo)注模塊。具體步驟如下:
4.1感知數(shù)據(jù)接收模塊使用ros消息機制接收到/camera/rgb/image_raw主題上的消息,獲取機器人節(jié)點當(dāng)前拍攝的彩色環(huán)境圖片,并將其發(fā)送給基于fasterr-cnn物體識別模塊。
4.2基于fasterr-cnn物體識別模塊接收機器人計算節(jié)點的彩色環(huán)境圖片,進行物體識別,具體步驟如下:
4.2.1基于fasterr-cnn物體識別模塊從感知數(shù)據(jù)接收模塊接收彩色環(huán)境圖片。圖片中包括了機器人和椅子。
4.2.2基于fasterr-cnn物體識別模塊使用fasterr-cnn模型進行圖片特征提取和物體分割,根據(jù)物體位置計算物體識別位置和從彩色環(huán)境圖片中截取物體圖片,并將物體識別位置、物體圖片、物體識別結(jié)果類別標(biāo)簽和識別置信度得分發(fā)送給協(xié)同識別決策模塊。具體步驟如下:
4.2.2.1fasterr-cnn模型對滑動窗口中的圖片進行特征提取,并判斷是否為一個物體。判斷是一個物體后fasterr-cnn模型返回的彩色環(huán)境圖片中機器人的物體位置、物體識別結(jié)果類別標(biāo)簽和對應(yīng)的識別置信度得分。fasterr-cnn模型將機器人的物體識別結(jié)果類別標(biāo)簽設(shè)置為“person”,識別置信度得分為0.551。
4.2.2.2基于fasterr-cnn物體識別模塊獲得fasterr-cnn模型返回彩色環(huán)境圖片中物體位置、物體識別結(jié)果類別標(biāo)簽和對應(yīng)的識別置信度得分,根據(jù)物體位置計算物體識別位置和從彩色環(huán)境圖片中截取物體圖片?;趂asterr-cnn物體識別模塊將物體識別位置、物體圖片、物體識別結(jié)果類別標(biāo)簽和識別置信度得分發(fā)送給協(xié)同識別決策模塊。
4.2.3協(xié)同識別決策模塊判斷物體識別是否正確。如果正確,協(xié)同識別決策模塊將結(jié)果發(fā)送給語義標(biāo)注模塊,執(zhí)行第五步;否則協(xié)同識別決策模塊將識別錯誤的物體發(fā)送給圖片上傳模塊,圖片上傳模塊進一步上傳至公有云節(jié)點。具體步驟如下:
4.2.3.1協(xié)同識別決策模塊從基于fasterr-cnn物體識別模塊接收機器人的物體圖片、物體識別位置、物體識別類別標(biāo)簽和識別置信度得分,進行判斷。若物體識別類別標(biāo)簽不是“其他物體類”且置信度得分大于等于置信度閾值,則協(xié)同識別決策模塊判定對該物體識別正確,將物體識別位置和物體識別類別標(biāo)簽發(fā)送給語義標(biāo)注模塊,執(zhí)行第五步。
4.2.3.2由于機器人的識別置信度得分小于閾值0.7,協(xié)同識別決策模塊判定對該物體識別錯誤,將該物體圖片發(fā)送給圖片上傳模塊。
4.2.3.3圖片上傳模塊使用公有云cloudsight對物體圖片進行再次識別,并將物體識別類別標(biāo)簽發(fā)送給協(xié)同識別決策模塊。具體步驟如下:
4.2.3.3.1圖片上傳模塊申請一個cloudsight的apikey。
4.2.3.3.2圖片上傳模塊利用http的post方法將物體圖片的地址url(資源描述符)和所申請的apikey上傳至https://api.cloudsightapi.com/image_requests發(fā)出請求。
4.2.3.3.3圖片上傳模塊利用http的get方法獲取到用于身份和安全認證的令牌token。
4.2.3.3.4圖片上傳模塊通過訪問https://api.cloudsightapi.com/image_responses/[token]獲得物體圖片的識別結(jié)果類別標(biāo)簽為blueandwhiterobot,并將物體識別類別標(biāo)簽發(fā)送給協(xié)同識別決策模塊。
4.2.3.4協(xié)同識別決策模塊接收到物體識別結(jié)果類別標(biāo)簽后,將物體識別類別標(biāo)簽和物體識別位置發(fā)送給語義標(biāo)注模塊。
第五步,私有云節(jié)點上的語義標(biāo)注模塊接收機器人計算節(jié)點的深度信息、位姿信息、物體識別類別標(biāo)簽和物體識別位置后,計算出物體在slam地圖上的位置坐標(biāo)后,將物體識別類別標(biāo)簽標(biāo)注在slam地圖相應(yīng)位置,完成語義地圖的構(gòu)建。具體步驟如下:
5.1感知數(shù)據(jù)接收模塊使用ros消息機制接收到/camera/depth/points主題上的消息,獲取機器人節(jié)點的深度信息,并將機器人節(jié)點的深度信息發(fā)送給語義標(biāo)注模塊。
5.2語義標(biāo)注模塊從感知數(shù)據(jù)接收模塊接收機器人節(jié)點的位姿信息,包括機器人的位置坐標(biāo)(0.21,0.18)和表示3d姿態(tài)的方向[0.8128,0.3430,0.4073,0.2362]t。使用ros中的rbx1包,將機器人方向[0.8128,0.3430,0.4073,0.2362]t轉(zhuǎn)化為對應(yīng)的轉(zhuǎn)動角度50.02°。
5.3語義標(biāo)注模塊從感知數(shù)據(jù)接收模塊接收機器人計算節(jié)點的深度信息,從協(xié)同識別決策模塊接收物體識別類別標(biāo)簽和物體識別位置(391,105),計算機器人節(jié)點到物體的視覺角度和深度。
如圖5所示,在彩色環(huán)境圖片水平像素值的一半為250,機器人圖片中心距離圖片中心的水平像素值為141。
a=|391-250|
kinect視覺傳感器的水平偵測范圍為57度(即以傳感器為中心,左右各28.5度),則機器人到物體中心的視覺角度為
α=tan-1((tan(28.5°))·141/250))=17.03°
機器人節(jié)點距離物體深度為d,機器人節(jié)點獲得的深度信息為2.15米,機器人節(jié)點到物體的視覺角度為17.03°,那么機器人距離物體深度為
d=2.15/cos(17.03°)=2.25(米)
5.4語義標(biāo)注模塊融合環(huán)境圖像中物體識別位置、機器人節(jié)點到物體的視覺角度和深度、機器人節(jié)點的位置坐標(biāo)和轉(zhuǎn)動角度,利用三角函數(shù)關(guān)系計算得到物體在slam地圖上的位置坐標(biāo),將物體結(jié)果類別標(biāo)簽標(biāo)注在slam地圖的相應(yīng)位置。利用三角函數(shù)關(guān)系計算物體在slam地圖上的位置的步驟是:
通過上面5.2和5.3步驟得到機器人到物體的視覺角度α為17.03°,機器人距離物體的深度d為2.25米,機器人的轉(zhuǎn)動角度β為50.02°,機器人的位置坐標(biāo)為(0.21,0.18),該物體位于攝像頭右側(cè),如圖6(b)所示,物體在地圖上的位置坐標(biāo)(x1,y1)為
計算完成后,將物體結(jié)果類別標(biāo)簽(blueandwhiterobot)標(biāo)注在slam地圖坐標(biāo)為(2.10,1.41)的位置。
5.5fasterr-cnn模型判斷滑動窗口是否已經(jīng)到右下角,由于還沒有到右下角,即沒有完成彩色環(huán)境圖片中物體識別,fasterr-cnn模型將滑動窗口移到下一個位置,執(zhí)行步驟4.2.2.1,判斷是否為一個物體,如果不是物體,繼續(xù)移動滑動窗口,直到滑動窗口中是一個物體。繼續(xù)執(zhí)行步驟4.2.2.2識別下一個物體椅子,并將其標(biāo)注在slam地圖上。若滑動窗口已經(jīng)滑到右下角,則完成識別彩色環(huán)境圖片中物體(椅子和桌子)的識別,執(zhí)行步驟5.6。
5.6語義標(biāo)注模塊將語義地圖作為ros消息發(fā)布在/sem_map主題上。
第六步,機器人計算節(jié)點使用ros消息機制接收語義地圖相關(guān)的ros消息。具體步驟如下:
6.1turtlebot輪式機器人上的ros消息訂閱者使用ros消息機制接收私有云節(jié)點的語義標(biāo)注模塊發(fā)布的/sem_map主題上的消息,獲得語義地圖。
6.2機器人判定是否從用戶收到“已完成整個環(huán)境的遍歷”的指令,如果收到,轉(zhuǎn)第七步,否則執(zhí)行步驟2.5,turtlebot繼續(xù)移動,發(fā)布里程消息、位姿消息、深度消息、彩色環(huán)境圖片;混合云節(jié)點上的感知數(shù)據(jù)接收、基于fasterr-cnn物體識別、協(xié)同識別決策、語義標(biāo)注等模塊繼續(xù)接收消息、進行物體識別和標(biāo)注語義地圖,不斷地豐富語義地圖。
第七步,結(jié)束。