本發(fā)明涉及人工智能及計算機視覺技術(shù)領(lǐng)域,尤其涉及一種實現(xiàn)增強現(xiàn)實的方法、服務(wù)器、終端及系統(tǒng)。
背景技術(shù):
同時定位與地圖創(chuàng)建(simultaneouslocalizationandmapping,slam),是一項應(yīng)用于在未知環(huán)境中自主地圖創(chuàng)建與自身定位相結(jié)合的技術(shù),是當前自主導航領(lǐng)域的研究熱點,目標是解決在進入未知環(huán)境后,如何感知周圍環(huán)境并構(gòu)建增量式地圖,同時進行自身定位的問題,目前主要應(yīng)用于無人駕駛、機器人及場景三維重建等技術(shù)方向。
增強現(xiàn)實技術(shù)(augmentedreality,ar)借助計算機圖形技術(shù)和可視化技術(shù)生成現(xiàn)實環(huán)境中不存在的虛擬對象,并通過圖像識別定位技術(shù)將虛擬對象準確地融合到真實環(huán)境中,借助顯示設(shè)備將虛擬對象與真實環(huán)境融為一體,并呈現(xiàn)給使用者真實的感觀體驗。增強現(xiàn)實技術(shù)要解決的首要技術(shù)難題是如何將虛擬對象準確地融合到真實世界中,也就是要使虛擬對象以正確的角度姿態(tài)出現(xiàn)在真實場景的正確位置上,從而產(chǎn)生強烈的視覺真實感。
現(xiàn)有技術(shù)中,目前較為常見的是基于平面模板的增強現(xiàn)實技術(shù)方案,通過對紋理特征豐富的平面模板進行訓練,確定虛擬對象的顯示位置。但是,受平面模板的限制,該技術(shù)方案對非平面物體及紋理特征偏少的物體的適用性較差。因此,如何在不同類型的真實場景中準確地確定虛擬對象的位置,實現(xiàn)虛擬對象在真實場景中的疊加融合,是增強現(xiàn)實技術(shù)發(fā)展中亟待解決的技術(shù)問題之一。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種實現(xiàn)增強現(xiàn)實的方法、服務(wù)器、終端及系統(tǒng),將增強現(xiàn)實技術(shù)和同時定位與地圖創(chuàng)建技術(shù)相結(jié)合,通過離線場景地圖構(gòu)建與在線初始化,實現(xiàn)虛擬對象在真實場景中的融合顯示。
有鑒于此,本發(fā)明一方面提供一種實現(xiàn)增強現(xiàn)實的方法,包括以下步驟:實時采集環(huán)境場景的圖像;提取所述環(huán)境場景圖像中的圖像特征;根據(jù)所述圖 像特征,對所述環(huán)境場景進行初始化定位,建立所述環(huán)境場景的局部地圖;對所述環(huán)境場景圖像中的圖像幀進行跟蹤;根據(jù)待顯示的虛擬對象的位姿,在所述環(huán)境場景圖像的當前幀圖像中顯示所述虛擬對象。
優(yōu)選地,所述實時采集環(huán)境場景的圖像的步驟之前,還包括:獲取所述環(huán)境場景的視頻圖像;根據(jù)所述環(huán)境場景視頻圖像,對所述環(huán)境場景進行三維場景重建;根據(jù)所述環(huán)境場景視頻圖像,構(gòu)建所述環(huán)境場景的圖像檢索數(shù)據(jù)庫;根據(jù)所述環(huán)境場景視頻圖像,預(yù)設(shè)所述待顯示的虛擬對象在所述環(huán)境場景中的位姿。
優(yōu)選地,所述根據(jù)所述環(huán)境場景視頻圖像,對所述環(huán)境場景進行三維場景重建的步驟,具體為:對所述環(huán)境場景視頻圖像中的圖像幀進行圖像特征提??;根據(jù)所述圖像特征對所述環(huán)境場景視頻圖像進行幀間圖像配準,計算所述圖像幀之間的相對位姿;在所述環(huán)境場景視頻圖像中選定離線初始幀,根據(jù)所述離線初始幀建立所述環(huán)境場景的世界坐標系,確定所述環(huán)境場景中的3d點的坐標;根據(jù)所述環(huán)境場景視頻圖像中的離線初始幀確定所述環(huán)境場景視頻圖像中的離線關(guān)鍵幀;根據(jù)所述環(huán)境場景視頻圖像中的離線初始幀與當前幀之間所有離線關(guān)鍵幀的位姿及3d點坐標構(gòu)建位姿圖,對所述位姿圖進行優(yōu)化,更新所述位姿及3d點坐標。
優(yōu)選地,所述根據(jù)所述環(huán)境場景視頻圖像,構(gòu)建所述環(huán)境場景的圖像檢索數(shù)據(jù)庫的步驟,具體為:根據(jù)所述環(huán)境場景視頻圖像中的離線初始幀及離線關(guān)鍵幀中的圖像特征,建立搜索樹或者詞袋。
優(yōu)選地,所述實現(xiàn)增強現(xiàn)實的方法,還包括:根據(jù)所述環(huán)境場景的位置信息,獲取所述環(huán)境場景的圖像檢索數(shù)據(jù)庫。
優(yōu)選地,所述根據(jù)所述圖像特征,對所述環(huán)境場景進行初始化定位,建立所述環(huán)境場景的局部地圖的步驟,具體為:對當前幀圖像中的圖像特征進行解析,在所述圖像檢索數(shù)據(jù)庫中檢索符合預(yù)設(shè)條件的離線關(guān)鍵幀;根據(jù)所述當前幀圖像與所述離線關(guān)鍵幀圖像的相對位姿,進行所述環(huán)境場景的初始化定位;根據(jù)所述當前幀圖像中符合預(yù)設(shè)條件的3d點,建立所述環(huán)境場景的局部地圖。
優(yōu)選地,所述根據(jù)所述圖像特征,對所述環(huán)境場景進行初始化定位,建立所述環(huán)境場景的局部地圖的步驟,還包括:將所述當前幀、所述符合預(yù)設(shè)條件的離線關(guān)鍵幀及所述當前幀中的3d點加入所述環(huán)境場景的局部地圖。
優(yōu)選地,所述對所述環(huán)境場景圖像中的圖像幀進行跟蹤的步驟,具體為:根據(jù)所述環(huán)境場景圖像的上一幀圖像,檢測所述環(huán)境場景圖像的當前幀圖像中與所述上一幀圖像匹配的圖像特征;判斷所述匹配的圖像特征數(shù)是否大于預(yù)設(shè)閾值;若所述匹配的圖像特征數(shù)大于預(yù)設(shè)閾值,則根據(jù)所述環(huán)境場景圖像的上一幀圖像的位姿及3d點坐標確定所述環(huán)境場景圖像的當前幀圖像的位姿及3d點坐標;若所述匹配的圖像特征數(shù)小于預(yù)設(shè)閾值,則在所述環(huán)境場景的圖像檢索數(shù)據(jù)庫中檢索與所述環(huán)境場景圖像的當前幀圖像匹配的離線關(guān)鍵幀圖像,根據(jù)所述離線關(guān)鍵幀圖像的位姿及3d點坐標,確定所述環(huán)境場景圖像的當前幀圖像的位姿及3d點坐標。
優(yōu)選地,所述對所述環(huán)境場景圖像中的圖像幀進行跟蹤的步驟,還包括:判斷所述當前幀的位姿是否滿足預(yù)設(shè)條件,若是,則將所述當前幀加入所述環(huán)境場景的局部地圖及所述環(huán)境場景的圖像檢索數(shù)據(jù)庫;根據(jù)所述環(huán)境場景的局部地圖中的所有圖像幀的位姿及3d點坐標構(gòu)建位姿圖,對所述位姿圖進行優(yōu)化,更新所述圖像幀的位姿及3d點坐標。
優(yōu)選地,所述對所述環(huán)境場景圖像中的圖像幀進行跟蹤的步驟,還包括:對加入所述環(huán)境場景的圖像檢索數(shù)據(jù)庫的圖像幀進行回環(huán)檢測,若檢測到回環(huán),則更新所述環(huán)境場景的圖像檢索數(shù)據(jù)庫。
優(yōu)選地,所述根據(jù)待顯示的虛擬對象的位姿,在所述環(huán)境場景圖像的當前幀圖像中顯示所述虛擬對象的步驟,具體為:獲取待顯示的虛擬對象的位姿,根據(jù)所述環(huán)境場景圖像的當前幀與所述待顯示的虛擬對象之間的相對位姿,在所述環(huán)境場景圖像的當前幀圖像中顯示所述虛擬對象。
本發(fā)明另一方面提供一種實現(xiàn)增強現(xiàn)實的服務(wù)器,包括:視頻獲取模塊:用于獲取環(huán)境場景的視頻圖像;場景重建模塊:用于根據(jù)視頻獲取模塊獲取的環(huán)境場景視頻圖像,對環(huán)境場景進行三維場景重建;數(shù)據(jù)庫構(gòu)建模塊:用于根據(jù)視頻獲取模塊獲取的環(huán)境場景視頻圖像,構(gòu)建環(huán)境場景的圖像檢索數(shù)據(jù)庫。
優(yōu)選地,所述場景重建模塊包括:特征提取單元:用于對環(huán)境場景視頻圖像中的每一幀圖像進行圖像特征提?。晃蛔擞嬎銌卧河糜诟鶕?jù)特征提取單元提取到的圖像特征對環(huán)境場景視頻圖像進行幀間圖像配準,計算所述圖像幀之間的相對位姿;坐標建立單元,用于在環(huán)境場景視頻圖像中選定離線初始幀,根據(jù)所述離線初始幀建立環(huán)境場景的世界坐標系,確定所述環(huán)境場景中的3d點 的坐標;關(guān)鍵幀選取單元:用于根據(jù)環(huán)境場景視頻圖像中的離線初始幀確定環(huán)境場景視頻圖像中的離線關(guān)鍵幀;位姿圖構(gòu)建單元:用于根據(jù)環(huán)境場景視頻圖像中的初始幀與當前幀之間所有關(guān)鍵幀的位姿及3d點坐標構(gòu)建位姿圖,以及對所述位姿圖進行優(yōu)化,更新所述位姿及3d點坐標。
優(yōu)選地,所述數(shù)據(jù)庫構(gòu)建模塊還用于根據(jù)環(huán)境場景視頻圖像中的離線初始幀及離線關(guān)鍵幀中的圖像特征,建立搜索樹或者詞袋。
優(yōu)選地,還包括:位姿設(shè)定模塊:用于設(shè)定待顯示的虛擬對象在環(huán)境場景中的位姿。
優(yōu)選地,還包括:檢索模塊:用于接收終端發(fā)送的獲取環(huán)境場景的圖像檢索數(shù)據(jù)庫的請求,以及將所述請求中對應(yīng)的環(huán)境場景的圖像檢索數(shù)據(jù)庫發(fā)送至終端。
本發(fā)明同時提供一種實現(xiàn)增強現(xiàn)實的終端,包括:圖像采集模塊:用于實時采集環(huán)境場景的圖像;特征提取模塊:用于提取圖像采集模塊采集的環(huán)境場景圖像中的圖像特征;地圖創(chuàng)建模塊:用于根據(jù)特征提取模塊提取的圖像特征,對所述環(huán)境場景圖像進行初始化定位,建立所述環(huán)境場景的局部地圖;圖像跟蹤模塊:用于對圖像采集模塊采集的環(huán)境場景圖像中的圖像幀進行跟蹤;數(shù)據(jù)獲取模塊:用于獲取待顯示的虛擬對象的位姿;顯示模塊:用于根據(jù)數(shù)據(jù)獲取模塊獲取的待顯示的虛擬對象的位姿,在所述環(huán)境場景圖像的當前幀圖像中顯示所述虛擬對象。
優(yōu)選地,所述實現(xiàn)增強現(xiàn)實的終端,還包括:定位模塊:用于確定所述環(huán)境場景的位置信息,以及數(shù)據(jù)獲取模塊還用于根據(jù)環(huán)境場景的位置信息,獲取環(huán)境場景的圖像檢索數(shù)據(jù)庫。
優(yōu)選地,所述地圖創(chuàng)建模塊包括:圖像解析單元:用于對當前幀圖像中的圖像特征進行解析,在所述圖像檢索數(shù)據(jù)庫中檢索符合預(yù)設(shè)條件的離線關(guān)鍵幀;初始定位單元:用于根據(jù)所述當前幀圖像與所述離線關(guān)鍵幀圖像的相對位姿,進行所述環(huán)境場景的初始化定位;地圖建立單元:根據(jù)所述當前幀圖像中符合預(yù)設(shè)條件的3d點,建立所述環(huán)境場景的局部地圖。
優(yōu)選地,所述圖像跟蹤模塊包括:檢測單元:用于根據(jù)環(huán)境場景圖像的上一幀圖像,檢測環(huán)境場景圖像的當前幀圖像中與上一幀圖像匹配的圖像特征;判斷單元:用于判斷所述匹配的圖像特征數(shù)是否大于預(yù)設(shè)閾值;位姿計算單元: 用于當判斷單元判斷所述匹配的圖像特征數(shù)大于預(yù)設(shè)閾值時,根據(jù)環(huán)境場景圖像的上一幀圖像的位姿及3d點坐標,計算所述環(huán)境場景視頻圖像的當前幀圖像的位姿及3d點坐標。
優(yōu)選地,所述數(shù)據(jù)獲取模塊,還用于當判斷單元判斷所述匹配的圖像特征數(shù)小于預(yù)設(shè)閾值時,在所述環(huán)境場景的圖像檢索數(shù)據(jù)庫中檢索與所述環(huán)境場景圖像的當前幀圖像匹配的離線關(guān)鍵幀圖像;以及,所述位姿計算單元,還用于根據(jù)數(shù)據(jù)獲取模塊檢索到的離線關(guān)鍵幀的位姿及3d點坐標,計算環(huán)境場景圖像的當前幀圖像的位姿及3d點坐標。
優(yōu)選地,所述位姿計算單元,還用于計算環(huán)境場景圖像的當前幀圖像與待顯示的虛擬對象之間的相對位姿;以及,所述顯示模塊,還用于根據(jù)位姿計算單元計算得到的環(huán)境場景圖像的當前幀圖像與待顯示的虛擬對象之間的相對位姿,在環(huán)境場景圖像的當前幀圖像中顯示所述虛擬對象。
本發(fā)明還提供一種實現(xiàn)增強現(xiàn)實的系統(tǒng),包括上述的實現(xiàn)增強現(xiàn)實的服務(wù)器,以及上述的實現(xiàn)增強現(xiàn)實的終端。
本發(fā)明實現(xiàn)增強現(xiàn)實的方法、服務(wù)器、終端及系統(tǒng),通過實時采集環(huán)境場景圖像,根據(jù)環(huán)境場景圖像中的圖像特征進行圖像跟蹤,確定待顯示的虛擬對象與環(huán)境場景的相對位姿,在環(huán)境場景圖像中顯示虛擬對象。實現(xiàn)在無模板的情況下對環(huán)境場景或目標對象進行虛擬對象的圖像疊加顯示,有效地降低了現(xiàn)有的增強現(xiàn)實技術(shù)對平面模板的依賴,提高了虛擬對象與真實環(huán)境場景的實時配準的準確性,顯著地增強了虛擬對象疊加到環(huán)境場景圖像中的協(xié)調(diào)性與一致性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖:
圖1示出了本發(fā)明第一實施例的實現(xiàn)增強現(xiàn)實的方法的流程示意圖;
圖2示出了本發(fā)明第二實施例的實現(xiàn)增強現(xiàn)實的服務(wù)器的結(jié)構(gòu)示意圖;
圖3示出了本發(fā)明第二實施例的實現(xiàn)增強現(xiàn)實的服務(wù)器的場景重建模塊的 結(jié)構(gòu)示意圖;
圖4示出了本發(fā)明第三實施例的實現(xiàn)增強現(xiàn)實的終端的結(jié)構(gòu)示意圖;
圖5示出了本發(fā)明第三實施例的實現(xiàn)增強現(xiàn)實的終端的地圖創(chuàng)建模塊的結(jié)構(gòu)示意圖;
圖6示出了本發(fā)明第三實施例的實現(xiàn)增強現(xiàn)實的終端的圖像跟蹤模塊的結(jié)構(gòu)示意圖;
圖7示出了本發(fā)明第四實施例的實現(xiàn)增強現(xiàn)實的系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
為了能夠更清楚地理解本發(fā)明的目的、特征和優(yōu)點,下面結(jié)合附圖和具體實施方式對本發(fā)明做進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互結(jié)合。
在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,這僅僅是本發(fā)明的一些實施例,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。
實施例一
本發(fā)明實施例的實現(xiàn)增強現(xiàn)實的方法,如圖1所示,主要包括以下步驟:步驟s101,實時采集環(huán)境場景的圖像;步驟s102,提取環(huán)境場景圖像中的圖像特征;步驟s103,根據(jù)圖像特征,對環(huán)境場景進行初始化定位,建立環(huán)境場景的局部地圖;步驟s104,對環(huán)境場景圖像中的圖像幀進行跟蹤;步驟s105,根據(jù)待顯示的虛擬對象的位姿,在環(huán)境場景圖像的當前幀圖像中顯示虛擬對象。
在該技術(shù)方案中,通過對環(huán)境場景進行實時圖像采集,提取環(huán)境場景實時圖像中的圖像特征,例如orb(orientedbrief)特征,根據(jù)提取到的圖像特征,進行環(huán)境場景的初始化定位,建立環(huán)境場景的局部地圖,同時對實時采集的環(huán)境場景圖像的圖像幀進行圖像跟蹤,確定圖像幀的位姿及圖像幀中3d點的位置坐標,根據(jù)待顯示的虛擬對象的位姿,在環(huán)境場景圖像的當前幀圖像中顯示虛擬對象。
在上述技術(shù)方案中,優(yōu)選地,所述步驟s101之前,還包括:獲取環(huán)境場景的視頻圖像;根據(jù)環(huán)境場景視頻圖像,對環(huán)境場景進行三維場景重建;根據(jù)環(huán)境場景視頻圖像,構(gòu)建環(huán)境場景的圖像檢索數(shù)據(jù)庫;根據(jù)環(huán)境場景的視頻圖像, 預(yù)設(shè)待顯示的虛擬對象在環(huán)境場景中的位姿。
在該技術(shù)方案中,通過預(yù)先拍攝所述環(huán)境場景的視頻圖像,記錄環(huán)境場景中的圖像細節(jié),根據(jù)所述環(huán)境場景的視頻圖像,對所述環(huán)境場景進行三維重建。具體地,對環(huán)境場景視頻圖像中的每一幀圖像進行圖像特征提取,根據(jù)提取到的圖像特征進行環(huán)境場景視頻圖像的幀間圖像配準,確定圖像幀之間的相對位姿。其中,幀間圖像配準根據(jù)兩圖像幀中的圖像特征,采用基于特征匹配或直接方法,得到一組2d點對,根據(jù)該組2d點對通過五點法計算得到該兩圖像幀之間的相對位姿。
在上述技術(shù)方案中,進一步地,在環(huán)境場景視頻圖像中選定離線初始幀,根據(jù)所述離線初始幀建立所述環(huán)境場景的世界坐標系,確定所述環(huán)境場景中的3d點的坐標。同時,根據(jù)環(huán)境場景視頻圖像中的離線初始幀確定環(huán)境場景視頻圖像中的離線關(guān)鍵幀,根據(jù)環(huán)境場景視頻圖像中的離線初始幀與當前幀之間所有的離線關(guān)鍵幀的位姿及3d點坐標構(gòu)建位姿圖,并對所述位姿圖進行優(yōu)化,更新所述位姿及3d點坐標。具體地,根據(jù)環(huán)境場景視頻圖像中的離線初始幀,解析環(huán)境場景視頻圖像中所述離線初始幀之后的圖像幀,若所述離線初始幀圖像中的3d點在所述當前幀圖像中的復現(xiàn)率小于預(yù)設(shè)的閾值,則確定所述當前幀為所述環(huán)境場景視頻圖像的一個離線關(guān)鍵幀。繼續(xù)解析環(huán)境場景視頻圖像中所述離線關(guān)鍵幀之后的圖像幀,若所述離線關(guān)鍵幀圖像中的3d點在所述當前幀圖像中的復現(xiàn)率小于預(yù)設(shè)的閾值,則確定所述當前幀為所述環(huán)境場景視頻圖像的下一個離線關(guān)鍵幀。以此類推,完成對所述環(huán)境場景視頻圖像中所有圖像幀的解析,得到所述環(huán)境場景視頻圖像中的全部離線關(guān)鍵幀。進一步地,將所述環(huán)境場景視頻圖像解析為連續(xù)的圖像幀序列,通過對環(huán)境場景的視頻圖像中的圖像幀進行順序配準,得到一組圖像幀的位姿序列以及與每一圖像幀中的2d點對應(yīng)的3d點的坐標,完成對位姿圖的構(gòu)建。通過環(huán)形閉合檢測,修正累計誤差。同時,通過位姿及約束條件對位姿圖進行優(yōu)化,修正環(huán)境場景視頻圖像中每一圖像幀的位姿數(shù)據(jù)。
在上述技術(shù)方案中,進一步地,根據(jù)所述環(huán)境場景視頻圖像中的離線初始幀及離線關(guān)鍵幀中的圖像特征,建立搜索樹或者詞袋。
在上述技術(shù)方案中,優(yōu)選地,根據(jù)環(huán)境場景的位置信息,獲取環(huán)境場景對應(yīng)的圖像檢索數(shù)據(jù)庫。具體地,當進入某一環(huán)境場景時,可以根據(jù)該環(huán)境場景 的地點名稱、gps信息等位置信息標簽,獲取該環(huán)境場景對應(yīng)的圖像檢索數(shù)據(jù)庫。
在上述技術(shù)方案中,步驟s103具體為:對當前幀圖像中的圖像特征進行解析,在所述圖像檢索數(shù)據(jù)庫中檢索符合預(yù)設(shè)條件的離線關(guān)鍵幀;根據(jù)所述當前幀圖像與所述離線關(guān)鍵幀圖像的相對位姿,進行所述環(huán)境場景的初始化定位;根據(jù)所述當前幀圖像中符合預(yù)設(shè)條件的3d點,建立所述環(huán)境場景的局部地圖。
在該技術(shù)方案中,實時采集當前環(huán)境場景的圖像,解析當前幀圖像中的圖像特征,例如orb特征。根據(jù)該圖像特征,在預(yù)先獲取的圖像檢索數(shù)據(jù)庫中檢索符合預(yù)設(shè)條件的離線關(guān)鍵幀。具體地,對實時采集的環(huán)境場景圖像中的當前幀進行圖像特征提取,提取當前幀圖像的orb特征,對當前幀圖像的orb特征進行降維得到用于圖像檢索的檢索標簽,通過該檢索標簽在預(yù)先獲取的與所述環(huán)境場景對應(yīng)的圖像檢索數(shù)據(jù)庫中進行初步檢索,得到一組候選的離線關(guān)鍵幀。環(huán)境場景圖像的當前幀通過與候選的離線關(guān)鍵幀進行圖像特征配準,確定候選的離線關(guān)鍵幀中與環(huán)境場景圖像的當前幀圖像匹配度最高的離線關(guān)鍵幀,計算環(huán)境場景圖像的當前幀與所述匹配度最高的離線關(guān)鍵幀的相對位姿,建立所述環(huán)境場景的坐標系,完成環(huán)境場景的初始化定位,并將所述環(huán)境場景圖像的當前幀標記為初始關(guān)鍵幀。根據(jù)環(huán)境場景圖像的當前幀圖像中可見的3d點,建立環(huán)境場景的局部地圖。同樣地,也可以直接獲取預(yù)先建立的所述環(huán)境場景的離線地圖,將環(huán)境場景圖像的當前幀在所述環(huán)境場景的離線地圖中進行匹配計算相對位姿,建立所述環(huán)境場景的坐標系,完成環(huán)境場景的初始化定位,建立環(huán)境場景的局部地圖,此處不再贅述。
在上述技術(shù)方案中,進一步地,將與所述環(huán)境場景圖像的當前幀匹配度最高的離線關(guān)鍵幀、所述環(huán)境場景圖像的初始關(guān)鍵幀及所述初始關(guān)鍵幀中的3d點加入所述環(huán)境場景的局部地圖。
在上述技術(shù)方案中,步驟s104具體為:根據(jù)環(huán)境場景圖像的上一幀圖像,檢測所述環(huán)境場景圖像的當前幀圖像中與所述上一幀圖像匹配的圖像特征;判斷所述匹配的圖像特征數(shù)是否大于預(yù)設(shè)閾值;若所述匹配的圖像特征數(shù)大于預(yù)設(shè)閾值,則根據(jù)所述環(huán)境場景圖像的上一幀圖像的位姿及3d點坐標確定所述環(huán)境場景圖像的當前幀圖像的位姿及3d點坐標;若所述匹配的圖像特征數(shù)小于預(yù)設(shè)閾值,則在所述環(huán)境場景的圖像檢索數(shù)據(jù)庫中檢索與所述環(huán)境場景圖像的當 前幀圖像匹配的離線關(guān)鍵幀圖像,根據(jù)所述離線關(guān)鍵幀圖像的位姿及3d點坐標,確定所述環(huán)境場景圖像的當前幀圖像的位姿及3d點坐標。
在該技術(shù)方案中,進一步地,判斷所述環(huán)境場景圖像的當前幀圖像的位姿是否滿足預(yù)設(shè)條件,若是,則將所述當前幀圖像加入所述環(huán)境場景的局部地圖及所述環(huán)境場景對應(yīng)的圖像檢索數(shù)據(jù)庫。具體地,根據(jù)環(huán)境場景圖像的初始關(guān)鍵幀,解析所述環(huán)境場景圖像初始關(guān)鍵幀之后的圖像幀,若判斷所述初始關(guān)鍵幀圖像中的3d點在所述當前幀圖像中的復現(xiàn)率小于預(yù)設(shè)的閾值,則確定所述當前幀為所述環(huán)境場景圖像的一個關(guān)鍵幀,將所述當前幀圖像加入所述環(huán)境場景的局部地圖及所述環(huán)境場景對應(yīng)的圖像檢索數(shù)據(jù)庫中。繼續(xù)解析所述環(huán)境場景圖像的關(guān)鍵幀之后的圖像幀,若判斷所述關(guān)鍵幀圖像中的3d點在所述當前幀圖像中的復現(xiàn)率小于預(yù)設(shè)的閾值,則確定所述當前幀為所述環(huán)境場景圖像的另一個關(guān)鍵幀,將所述當前幀圖像加入所述環(huán)境場景的局部地圖及所述環(huán)境場景對應(yīng)的圖像檢索數(shù)據(jù)庫中。根據(jù)所述環(huán)境場景的局部地圖中的所有關(guān)鍵幀的位姿及3d點坐標構(gòu)建位姿圖,對所述位姿圖進行優(yōu)化,更新所述環(huán)境場景的局部地圖中的關(guān)鍵幀的位姿及3d點坐標。
在上述技術(shù)方案中,進一步地,對加入所述環(huán)境場景的圖像檢索數(shù)據(jù)庫的圖像幀進行回環(huán)檢測,若檢測到回環(huán),則更新所述環(huán)境場景的圖像檢索數(shù)據(jù)庫中的關(guān)鍵幀位姿及3d點坐標,從而修正累積誤差。
在上述技術(shù)方案中,步驟s105具體為:根據(jù)所述環(huán)境場景圖像的當前幀與所述待顯示的虛擬對象之間的相對位姿,在所述環(huán)境場景圖像的當前幀圖像中顯示所述虛擬對象。具體地,獲取預(yù)設(shè)的待顯示的虛擬對象的位姿,根據(jù)所述環(huán)境場景圖像的當前幀的位姿,計算所述環(huán)境場景圖像的當前幀與所述待顯示的虛擬對象之間的相對位姿,根據(jù)所述相對位姿,在所述環(huán)境場景圖像的當前幀圖像中顯示所述待顯示的虛擬對象。
實施例二
本發(fā)明實施例的實現(xiàn)增強現(xiàn)實的服務(wù)器200,如圖2所示,包括:視頻獲取模塊201:用于獲取環(huán)境場景的視頻圖像;場景重建模塊202:用于根據(jù)視頻獲取模塊201獲取的環(huán)境場景視頻圖像,對所述環(huán)境場景進行三維場景重建;數(shù)據(jù)庫構(gòu)建模塊203:用于根據(jù)視頻獲取模塊201獲取的環(huán)境場景視頻圖像,構(gòu)建所述環(huán)境場景的圖像檢索數(shù)據(jù)庫。
在該技術(shù)方案中,視頻獲取模塊201拍攝或者獲取預(yù)先拍攝的環(huán)境場景的視頻圖像,記錄環(huán)境場景中的圖像細節(jié)。場景重建模塊202根據(jù)視頻獲取模塊201獲取的環(huán)境場景的視頻圖像,對環(huán)境場景進行三維重建。數(shù)據(jù)庫構(gòu)建模塊203根據(jù)視頻獲取模塊201獲取的環(huán)境場景視頻圖像,構(gòu)建環(huán)境場景的圖像檢索數(shù)據(jù)庫,用于進行環(huán)境場景圖像檢索。
在上述技術(shù)方案中,優(yōu)選地,場景重建模塊202,如圖3所示,包括:特征提取單元2021:用于對所述環(huán)境場景視頻圖像中的圖像幀進行圖像特征提取;位姿計算單元2022:用于根據(jù)特征提取單元2021提取到的圖像特征對所述環(huán)境場景視頻圖像進行幀間圖像配準,計算所述圖像幀之間的相對位姿;坐標建立單元2023,用于在所述環(huán)境場景視頻圖像中選定離線初始幀,根據(jù)所述離線初始幀建立所述環(huán)境場景的世界坐標系,確定所述環(huán)境場景中的3d點的坐標;關(guān)鍵幀選取單元2024:用于根據(jù)所述環(huán)境場景視頻圖像中的離線初始幀確定所述環(huán)境場景視頻圖像中的離線關(guān)鍵幀;位姿圖構(gòu)建單元2025:用于根據(jù)所述環(huán)境場景視頻圖像中的離線初始幀與當前幀之間所有離線關(guān)鍵幀的位姿及3d點坐標構(gòu)建位姿圖,以及對所述位姿圖進行優(yōu)化,更新所述位姿及3d點坐標。具體地,特征提取單元2021對環(huán)境場景視頻圖像中的每一圖像幀進行圖像特征提取,位姿計算單元2022根據(jù)特征提取單元2021提取到的圖像特征進行環(huán)境場景視頻圖像幀間圖像配準,確定圖像幀之間的相對位姿。其中,幀間圖像配準根據(jù)兩圖像幀中的圖像特征,采用基于特征匹配或直接方法,得到一組2d點對,根據(jù)該組2d點對通過五點法計算得到該兩圖像幀之間的相對位姿。坐標建立單元2023在環(huán)境場景視頻圖像中選定離線初始幀,根據(jù)所述離線初始幀建立所述環(huán)境場景的世界坐標系,確定所述環(huán)境場景中的3d點的坐標。關(guān)鍵幀選取單元2024根據(jù)環(huán)境場景視頻圖像的離線初始幀,解析所述環(huán)境場景視頻圖像的離線初始幀之后的圖像幀,若所述離線初始幀圖像中的3d點在所述當前幀圖像中的復現(xiàn)率小于預(yù)設(shè)的閾值,則確定所述當前幀為所述環(huán)境場景視頻圖像的一個離線關(guān)鍵幀。繼續(xù)解析所述環(huán)境場景視頻圖像的離線關(guān)鍵幀之后的圖像幀,若所述離線關(guān)鍵幀圖像中的3d點在所述當前幀圖像中的復現(xiàn)率小于預(yù)設(shè)的閾值,則確定所述當前幀為所述環(huán)境場景視頻圖像的下一個離線關(guān)鍵幀。以此類推,完成對所述環(huán)境場景視頻圖像的所有圖像幀的解析,得到所述環(huán)境場景視頻圖像中的全部離線關(guān)鍵幀。位姿圖構(gòu)建單元2025根據(jù)位姿計算單元2022通過對環(huán) 境場景的視頻圖像進行圖像幀順序配準,得到的一組圖像幀的位姿序列以及與每一圖像幀的2d點對應(yīng)的3d點的坐標,完成對位姿圖的構(gòu)建。通過環(huán)形閉合檢測,修正累計誤差。同時,通過位姿及約束條件對位姿圖進行優(yōu)化,修正環(huán)境場景視頻圖像中每一圖像幀的位姿數(shù)據(jù)。
在上述技術(shù)方案中,優(yōu)選地,數(shù)據(jù)庫構(gòu)建模塊203,根據(jù)所述環(huán)境場景視頻圖像中的離線初始幀及離線關(guān)鍵幀中的圖像特征,建立搜索樹或者詞袋。
在上述技術(shù)方案中,優(yōu)選地,實現(xiàn)增強現(xiàn)實的服務(wù)器200,還包括:位姿設(shè)定模塊204:用于設(shè)定待顯示的虛擬對象在環(huán)境場景中的位姿。
在上述技術(shù)方案中,優(yōu)選地,實現(xiàn)增強現(xiàn)實的服務(wù)器200,還包括:檢索模塊205:用于接收終端發(fā)送的獲取環(huán)境場景的圖像檢索數(shù)據(jù)庫的請求,以及將所述請求中對應(yīng)的環(huán)境場景的圖像檢索數(shù)據(jù)庫發(fā)送至所述終端。具體地,所述服務(wù)器存儲一個或多個環(huán)境場景的圖像檢索數(shù)據(jù)庫,服務(wù)器接收終端發(fā)送的獲取環(huán)境場景的圖像檢索數(shù)據(jù)庫的請求,所述請求中包括終端所在環(huán)境場景的位置標簽,例如所述環(huán)境場景的地點名稱、gps信息等,檢索模塊205根據(jù)所述環(huán)境場景的位置標簽檢索對應(yīng)的環(huán)境場景的圖像檢索數(shù)據(jù)庫,將所述環(huán)境場景的圖像檢索數(shù)據(jù)庫發(fā)送至所述終端。
實施例三
本發(fā)明實施例的實現(xiàn)增強現(xiàn)實的終端300,如圖4所示,包括:圖像采集模塊301:用于實時采集環(huán)境場景的圖像;特征提取模塊302:用于提取圖像采集模塊301采集的環(huán)境場景圖像中的圖像特征;地圖創(chuàng)建模塊303:用于根據(jù)特征提取模塊302提取的圖像特征,對環(huán)境場景進行初始化定位,建立環(huán)境場景的局部地圖;圖像跟蹤模塊304:用于對圖像采集模塊301采集的環(huán)境場景圖像中的圖像幀進行跟蹤;數(shù)據(jù)獲取模塊305:用于獲取待顯示的虛擬對象的位姿;顯示模塊306:用于根據(jù)數(shù)據(jù)獲取模塊305獲取的待顯示的虛擬對象的位姿,在環(huán)境場景圖像的當前幀圖像中顯示所述虛擬對象。
在該技術(shù)方案中,圖像采集模塊301對環(huán)境場景進行實時圖像采集,特征提取模塊302提取圖像采集模塊301采集的環(huán)境場景的實時圖像中的圖像特征提取,例如orb特征,地圖創(chuàng)建模塊303根據(jù)特征提取模塊302提取的圖像特征,對環(huán)境場景圖像進行初始化定位,建立環(huán)境場景的局部地圖,圖像跟蹤模塊304根據(jù)特征提取模塊302提取的圖像特征對環(huán)境場景圖像中的圖像幀進行 圖像跟蹤,確定圖像幀的位姿及圖像幀中3d點的位置坐標,數(shù)據(jù)獲取模塊305獲取待顯示的虛擬對象的位姿,顯示模塊306根據(jù)數(shù)據(jù)獲取模塊305獲取的待顯示的虛擬對象的位姿,在環(huán)境場景圖像的當前幀圖像中顯示虛擬對象。
在上述技術(shù)方案中,優(yōu)選地,實現(xiàn)增強現(xiàn)實的終端300還包括定位模塊307,定位模塊307根據(jù)實現(xiàn)增強現(xiàn)實的終端300所在的環(huán)境場景的地點名稱、gps信息等位置標簽,獲取實現(xiàn)增強現(xiàn)實的服務(wù)器200中所述環(huán)境場景對應(yīng)的圖像檢索數(shù)據(jù)庫。
在上述技術(shù)方案中,優(yōu)選地,地圖創(chuàng)建模塊303,如圖5所示,包括:圖像解析單元3031:用于對當前幀圖像中的圖像特征進行解析,在圖像檢索數(shù)據(jù)庫中檢索符合預(yù)設(shè)條件的離線關(guān)鍵幀;初始定位單元3032:用于根據(jù)所述當前幀圖像與所述離線關(guān)鍵幀圖像的相對位姿,進行所述環(huán)境場景的初始化定位;地圖建立單元3033:根據(jù)當前幀圖像中符合預(yù)設(shè)條件的3d點,建立所述環(huán)境場景的局部地圖。
在該技術(shù)方案中,圖像解析單元3031根據(jù)圖像采集模塊301實時采集的當前環(huán)境場景的圖像,解析當前幀圖像中的圖像特征,例如orb特征。根據(jù)該圖像特征,在預(yù)先獲取的環(huán)境場景的圖像檢索數(shù)據(jù)庫中檢索符合預(yù)設(shè)條件的離線關(guān)鍵幀。具體地,對實時采集的環(huán)境場景圖像中的當前幀圖像進行圖像特征提取,提取當前幀圖像的orb特征,對當前幀圖像的orb特征進行降維得到用于圖像檢索的檢索標簽,通過該檢索標簽在預(yù)先獲取的與所述環(huán)境場景對應(yīng)的圖像檢索數(shù)據(jù)庫中進行初步檢索,得到一組候選的離線關(guān)鍵幀。環(huán)境場景圖像的當前幀圖像通過與候選的離線關(guān)鍵幀進行圖像特征配準,確定候選的離線關(guān)鍵幀中與環(huán)境場景圖像的當前幀圖像匹配度最高的離線關(guān)鍵幀。初始定位單元3032計算環(huán)境場景圖像的當前幀與所述匹配度最高的離線關(guān)鍵幀的相對位姿,建立所述環(huán)境場景的坐標系,完成環(huán)境場景的初始化定位,并將所述環(huán)境場景圖像的當前幀標記為初始關(guān)鍵幀。地圖建立單元3033根據(jù)環(huán)境場景圖像的當前幀圖像中可見的3d點,建立初始的局部地圖。以及,將所述環(huán)境場景圖像的當前幀匹配度最高的離線關(guān)鍵幀、所述環(huán)境場景圖像的初始關(guān)鍵幀及所述初始關(guān)鍵幀中的3d點加入所述環(huán)境場景的局部地圖。
在上述技術(shù)方案中,優(yōu)選地,圖像跟蹤模塊304,如圖6所示,包括:檢測單元3041:用于根據(jù)環(huán)境場景圖像的上一幀圖像,檢測環(huán)境場景圖像的當前幀 圖像中與所述上一幀圖像匹配的圖像特征;判斷單元3042:用于判斷匹配的圖像特征數(shù)是否大于預(yù)設(shè)閾值;位姿計算單元3043:用于當判斷單元3042判斷匹配的圖像特征數(shù)大于預(yù)設(shè)閾值時,根據(jù)環(huán)境場景圖像的上一幀圖像的位姿及3d點坐標,計算環(huán)境場景圖像的當前幀圖像的位姿及3d點坐標。
在上述技術(shù)方案中,優(yōu)選地,數(shù)據(jù)獲取模塊305,還用于,當判斷單元3042判斷匹配的圖像特征數(shù)小于預(yù)設(shè)閾值時,在所述環(huán)境場景的圖像檢索數(shù)據(jù)庫中檢索與所述環(huán)境場景圖像的當前幀圖像匹配的離線關(guān)鍵幀圖像;以及,位姿計算單元3043,根據(jù)數(shù)據(jù)獲取模塊305檢索到的所述離線關(guān)鍵幀的位姿及3d點坐標,計算環(huán)境場景圖像的當前幀圖像的位姿及3d點坐標。
在上述技術(shù)方案中,優(yōu)選地,位姿計算單元3043,還用于,計算環(huán)境場景圖像的當前幀圖像與待顯示的虛擬對象之間的相對位姿;以及,顯示模塊306,還用于,根據(jù)位姿計算單元3043計算得到的環(huán)境場景圖像的當前幀圖像與待顯示的虛擬對象之間的相對位姿,在環(huán)境場景圖像的當前幀圖像中顯示虛擬對象。
實施例四
本發(fā)明實施例的實現(xiàn)增強現(xiàn)實的系統(tǒng)400,如圖7所示,包括:至少一個實現(xiàn)增強現(xiàn)實的服務(wù)器200,以及至少一個實現(xiàn)增強現(xiàn)實的終端300。
根據(jù)本發(fā)明實施例的實現(xiàn)增強現(xiàn)實的方法、服務(wù)器、終端及系統(tǒng),通過實時采集環(huán)境場景圖像,根據(jù)環(huán)境場景圖像中的圖像特征進行圖像跟蹤,確定待顯示的虛擬對象與環(huán)境場景的相對位姿,在環(huán)境場景圖像中顯示虛擬對象。實現(xiàn)在無模板的情況下對環(huán)境場景或目標對象進行虛擬對象的圖像疊加顯示,有效地降低了現(xiàn)有的增強現(xiàn)實技術(shù)對平面模板的依賴,提高了虛擬對象與真實環(huán)境場景的實時配準的準確性,顯著地增強了虛擬對象疊加到環(huán)境場景圖像中的協(xié)調(diào)性與一致性。
再次聲明,本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子而已。
本發(fā)明并不局限于前述的具體實施方式。本發(fā)明可以擴展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或 任何新的組合。