增強現實處理方法、WEB模塊、終端和雲端伺服器與流程
2023-09-20 16:39:55
本發明實施例涉及一種通信技術領域,特別是一種增強現實處理方法、web模塊、終端和雲端伺服器。
背景技術:
增強現實技術(augmentedrealitytechnique,ar技術),它是一種將真實世界信息和虛擬世界信息「無縫」集成的新技術,是把原本在現實世界的一定時間空間範圍內很難體驗到的實體信息(視覺信息、聲音、味道或觸覺等),通過電腦等科學技術,模擬仿真後再疊加,將虛擬的信息應用到真實世界,真實的環境和虛擬的物體實時地疊加到了同一個畫面或空間同時存在,被人類感官所感知,從而達到超越現實的感官體驗。
增強現實技術包含了多媒體、三維建模、實時視頻顯示及控制、多傳感器融合、實時跟蹤及註冊、場景融合等新技術與新手段。由於增強現實是一種需要與用戶在線交互的實時計算技術,對帶寬和時延有著極高的要求。
增強現實具體實現過程簡述如下:首先,需要捕獲現實世界中的目標物體,並進行快速識別、提取特徵,其次,計算三維坐標信息。然後,需要根據計算得到的信息匹配圖像庫,最後,進行渲染,即將相應虛擬的物體在用戶界面疊加到現實場景中。其中的圖像捕獲、識別、計算和渲染涉及到大量複雜的矩陣運算,並且隨著圖像解析度和大小的增加,其計算複雜度也會增加。
由於實時性和計算複雜性的限制,現有技術中增強現實方法多數是基於專用設備(如計算機、頭盔等)來實現的:利用計算機或穿戴設備(如頭盔、手柄等)實現圖像採集、特徵提取、識別、計算和渲染等操作。雖然能提供較強的計算能力並滿足交互的實時性,用戶體驗較好,但由於設備龐大、不便攜,此外設備的價格還比較昂貴,現有技術中增強現實的方法太重量級,只適合於特定應用場景(如遊戲、固定場所中特定場景的體驗),因此,大大限制了增強現實技術的大規模普適化應用。
近幾年,隨著移動通信技術發展和智能移動終端處理能力的提高,智能終端逐漸成為了一種ar應用普適化的終端,基於智能移動終端的增強現實技術開始得到重視。
應當說明的是,現有技術中基於智能移動終端的增強現實應用多數是通過在智能終端安裝app(application,應用程式)的方式來實現,這種實現增強現實的過程中,圖像採集、特徵提取、識別、計算和渲染等操作均是通過app在終端本地完成,未下載app的用戶無法使用增強現實服務,可以理解的是,通過app來實現雖然可以充分利用終端計算能力,但前期開發需要設計、功能打碼、測試等流程,使得app可實現圖像捕獲、識別、計算和渲染等功能,導致前期開發成本高。此外,對於用戶來說也比較重量級,用戶一般情況下不願意為了單一的應用場合去專門下載並安裝一個app,單純的增強現實應用app推廣的難度很大,因此後期推廣成本很高,因此通過app來實現具有成本高昂的缺點。
目前,現有技術還沒有相應的方法來解決通過終端實現增強現實成本高的問題。
技術實現要素:
針對現有技術的缺陷,本發明實施例提供一種增強現實處理方法、web模塊、終端和雲端伺服器。
一方面,本發明實施例提供一種增強現實處理方法,包括:
在接收到用戶觸發的增強現實請求後,終端的web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像;
所述web模塊將所述圖像發送至雲端伺服器,以供雲端伺服器根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標;
所述web模塊接收所述坐標信息,根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
另一方面,本發明實施例還提供一種增強現實處理方法,包括:
雲端伺服器接收終端的web模塊發送的圖像,所述圖像是所述web模塊在接收到用戶觸發的增強現實請求後,web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像;
根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標;
將所述坐標信息發送至所述web模塊,以供所述web模塊根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
另一方面,本發明實施例還提供一種web模塊,包括存儲器、處理器以及存儲在存儲器上並可在處理器上運行的電腦程式,其特徵在於,所述處理器執行所述程序時實現如下方法。
在接收到用戶觸發的增強現實請求後,終端的web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像;
所述web模塊將所述圖像發送至雲端伺服器,以供雲端伺服器根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標;
所述web模塊接收所述坐標信息,根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
另一方面,本發明實施例還提供一種終端,所述終端包括上述web模塊。
另一方面,本發明實施例還提供一種計算機可讀存儲介質,其上存儲有電腦程式,所述程序被處理器執行時實現如下步驟:
在接收到用戶觸發的增強現實請求後,終端的web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像;
所述web模塊將所述圖像發送至雲端伺服器,以供雲端伺服器根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標;
所述web模塊接收所述坐標信息,根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
另一方面,本發明實施例還提供一種雲端伺服器,包括存儲器、處理器以及存儲在存儲器上並可在處理器上運行的電腦程式,所述處理器執行所述程序時實現如下步驟:
雲端伺服器接收終端的web模塊發送的圖像,所述圖像是所述web模塊在接收到用戶觸發的增強現實請求後,web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像;
根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標;
將所述坐標信息發送至所述web模塊,以供所述web模塊根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
由上述技術方案可知,本發明實施例提供的增強現實處理方法、web模塊、終端和雲端伺服器,所述方法通過所述web模塊採集圖像,並將採集的圖像發送至雲端伺服器,由雲端伺服器進行虛擬物的坐標信息獲取步驟,使得無需另下載一個app,充分利用終端已有的app與雲端伺服器進行交互,即可實現增強現實,由此可降低實現增強現實的成本。
附圖說明
圖1為本發明實施例提供的一種增強現實處理方法的流程示意圖;
圖2為本發明又一實施例提供的一種增強現實處理方法的流程示意圖;
圖3為本發明又一實施例提供的一種增強現實處理方法的流程示意圖;
圖4為本發明又一實施例提供的一種增強現實處理方法的流程示意圖;
圖5為本發明又一實施例提供的一種增強現實處理系統的結構示意圖;
圖6為本發明又一實施例提供的一種增強現實處理系統的結構示意圖;
圖7為本發明又一實施例提供的一種web模塊的結構示意圖;
圖8為本發明又一實施例提供的一種終端的結構示意圖;
圖9為本發明又一實施例提供的一種雲端伺服器的結構示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本發明實施例一部分實施例,而不是全部的實施例。
圖1示出了本發明實施例提供的一種增強現實處理方法的流程示意圖。
參照圖1,本發明實施例提供的方法具體包括以下步驟:
步驟11、在接收到用戶觸發的增強現實請求後,終端的web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像。
在本實施例中,由終端的web模塊進行增強現實的圖像採集。
可選地,所述web模塊是終端的web(worldwideweb,全球廣域網)部件,為用戶在網絡上查找和瀏覽信息提供了圖形化的、易於訪問的直觀界面,在終端中具有廣泛的應用,如瀏覽器具有web模塊,微信、微博、qq等都具有瀏覽器內核,同樣具有web模塊。
具體地,web模塊可為用戶呈現增強現實請求的按鈕,用戶訪問所述web模塊的網頁時,操作web模塊與終端進行交互,web模塊接收用戶觸發的增強現實請求,所述增強現實服務請求用於請求使用增強現實服務。
在本步驟中,在接收到所述增強現實請求後,web模塊進行圖像採集操作,具體為調用攝像頭進行拍攝,並由web模塊捕獲攝像頭拍攝的圖像,將所述圖像保存在web模塊中。
步驟12、所述web模塊將所述圖像發送至雲端伺服器,以供雲端伺服器根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標。
在本實施例中,所述web模塊可通過網絡與所述雲端伺服器進行交互,所述雲端伺服器是可進行增強現實計算的伺服器,且具有預設的虛擬物資料庫,其中存儲有對應所述圖像的虛擬物。
具體地,所述雲端伺服器接收所述web模塊發送的所述圖像,識別所述web模塊的標識是否與預先設定的增強現實服務列表中的web模塊的標識匹配,若匹配,自虛擬物資料庫中獲取對應所述圖像的虛擬物,採用現有技術中的算法,計算得到所述虛擬物在所述圖像中的形態的多個坐標。
步驟13、所述web模塊接收所述坐標信息,根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
在本步驟中,所述web模塊接收所述坐標信息,對所述虛擬物的形態進行渲染,將所述虛擬物疊加在所述圖像上,得到第一增強現實信息,並顯示得到的第一增強現實信息。
可以理解的是,絕大多數的終端均具有瀏覽器、微信、微博,也就是說,絕大多數的終端均具有所述web模塊,在本實施例中,通過所述web模塊進行圖像採集步驟,將採集的圖像發送至雲端伺服器,由雲端伺服器進行虛擬物的坐標獲取步驟,在本實施例中,由終端的web模塊與雲端伺服器交互共同實現增強現實,使得無需為實現增強現實另下載一個app,利用終端已有的app與雲端伺服器,即可實現增強現實。
在另一種實施方式中,所述方法步驟11之後,所述方法還包括:
所述web模塊對所述圖像進行預處理,所述預處理為以下至少一種:對所述圖像採樣、壓縮、提取特徵。
相應地,所述步驟12具體為,將預處理後的圖像發送至雲端伺服器。
考慮到帶寬的限制,由所述web模塊對所述圖像/視頻流進行預處理後再發送至雲端伺服器,可獲得相對較小的圖像/視頻流,從而可減小傳輸過程中的延時,以提高傳輸效率。
本實施例提供的增強現實處理方法,至少具有以下技術效果:
通過所述web模塊採集圖像,並將採集的圖像發送至雲端伺服器,由雲端伺服器進行虛擬物的坐標信息獲取步驟,使得無需另下載一個app,充分利用終端已有的app與雲端伺服器進行交互,即可實現增強現實,由此可降低實現增強現實的成本。
圖2示出了本發明又一實施例提供的一種增強現實處理方法的流程示意圖。
參照圖2,在上述實施例的基礎上,本實施例提供的增強現實處理方法。所述方法步驟11,web模塊捕獲攝像頭的方式可有多種,本實施例舉例說明其中一種。
步驟21、在接收到用戶觸發的增強現實請求後,web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的視頻流,所述視頻流包括多個有序的圖像。
可選地,web模塊調用攝像頭進行拍攝,捕獲攝像頭拍攝的視頻流,所述視頻流為包括多個有序的圖像的視頻。
步驟22、所述web模塊將所述視頻流發送至雲端伺服器,以供雲端伺服器根據所述第一張圖像,獲取對應所述第一張圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述第一張圖像中的形態的多個坐標。
步驟22與上述步驟12相似,所述web模塊將所述視頻流發送至雲端伺服器,雲端伺服器根據所述第一張圖像,獲取對應所述第一張圖像的虛擬物的坐標信息。
步驟23、所述web模塊接收所述坐標信息,根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述第一張圖像與所述虛擬物疊加得到的。
步驟23與上述步驟13相似,本實施例不再贅述。
步驟24、所述web模塊接收雲端伺服器發送的角度變換矩陣,所述角度變換矩陣用於指示所述虛擬物在所述圖像中的形態的角度變換,所述角度變換矩陣是雲端伺服器跟蹤所述真實物在連續兩張圖像中的坐標信息的變化來確定的,所述虛擬物是雲端伺服器判斷獲知所述圖像中具有與預設的真實物資料庫中真實物匹配的真實物,則根據所述真實物獲取得到的。
可選地,雲端伺服器對所述圖像進行檢測,判斷獲知所述圖像中是否具有與預設的真實物資料庫中真實物匹配的真實物,若有,則從預設的虛擬物資料庫中獲取對應所述真實物的所述虛擬物。
可選地,雲端伺服器對所述真實物的位置進行跟蹤,跟蹤可以使用kcf(kernerlizedcorrelationfilter,相關濾波器)等圖像處理的跟蹤算法,獲得所述真實物在第一張和第二張圖像中的坐標信息的變化,對跟蹤到的坐標信息的變化做相應的變換,求解變換矩陣可以使用仿射變換等求解方式,得到所述角度變換矩陣,並將角度變換矩陣發送至所述web模塊。
也就是說,圖像中真實物的位置發生變化,雲端伺服器獲取對應的虛擬物,使所述虛擬物的角度也會發生變化,所述虛擬物在所述圖像中的形態的角度變換可為虛擬物角度變化的方向和位置。
步驟25、所述web模塊根據所述角度變換矩陣,對所述虛擬物的形態進行渲染,得到第二增強現實信息,所述第二增強現實信息是由所述真實物與所述虛擬物疊加得到的。
可選地,所述web模塊根據所述角度變換矩陣,對所述虛擬物的形態進行渲染。
具體地,所述web模塊在渲染過程中在所述真實物的位置對所述虛擬物進行渲染,並進行角度變換,其中,渲染可以使用webgl(webgraphicslibrary,網絡圖形庫)相關技術,得到第二增強現實信息,使得所述虛擬物在所述視頻流中可進行角度變換。
可以理解的是,在用戶拍攝所述視頻流的過程中,攝像頭任何微小的移動都將導致視頻流的各圖像產生變化,雲端伺服器實時跟蹤所述真實物在連續圖像中的位置變化,實時根據位置變化計算得到相應的角度變換矩陣,使得所述虛擬物可根據所述真實物的變化而變化,實現更強大的增強現實效果。
若判斷獲知所述圖像中沒有與預設的真實物資料庫中真實物匹配的真實物,則所述雲端伺服器向所述web模塊返回反饋信息,以提示所述web模塊重新捕獲攝像頭拍攝的圖像。
舉例來說,所述圖像是餐桌上一瓶酒,所述雲端伺服器判斷獲知所述圖像完整呈現了酒廠的商標,則所述雲端伺服器獲取對應的所述商標的彩蛋,若預設彩蛋在酒瓶的瓶蓋的位置,獲取彩蛋在圖像的坐標信息,並發送至所述web模塊,使所述web模塊在所述圖像中瓶蓋的位置進行渲染,呈現所述彩蛋。
所述雲端伺服器判斷獲知所述圖像中沒有酒廠的商標,則所述雲端伺服器可根據所述虛擬物資料庫中存儲的反饋信息,獲取反饋信息在圖像的坐標信息,並發送至所述web模塊,使所述web模塊在所述圖像中瓶蓋的位置進行渲染,呈現所述反饋信息,所述反饋信息可以是提示用戶移動攝像頭的圖片。
在另一種實施方式中,所述方法步驟21之後,所述方法還包括:
所述web模塊對所述視頻流進行預處理,所述預處理為以下至少一種:對所述視頻流採樣、壓縮。
相應地,所述步驟22具體為,將預處理後的視頻流發送至雲端伺服器。
考慮到帶寬的限制,由所述web模塊對所述圖像/視頻流進行預處理後再發送至雲端伺服器,可獲得相對較小的圖像/視頻流,從而可減小傳輸過程中的延時,以提高傳輸效率。
本實施例提供增強現實處理方法,至少具有以下技術效果:
通過所述web模塊採集視頻流,並將採集的視頻流發送至雲端伺服器,由雲端伺服器對虛擬物進行實時的角度變換,使得所述web模塊顯示的所述虛擬物可進行角度變換,實現更強大的增強現實效果。
圖3示出了本發明又一實施例提供的一種增強現實處理方法的流程示意圖。
參照圖3,在上述實施例的基礎上,本實施例提供的增強現實處理方法。
所述方法包括:
步驟31、雲端伺服器接收終端的web模塊發送的圖像,所述圖像是所述web模塊在接收到用戶觸發的增強現實請求後,web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像。
在本實施例中,與上述步驟11相似,由終端的web模塊進行圖像採集,雲端伺服器接收終端的web模塊發送的圖像。
步驟32、根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標。
在本實施例中,與上述步驟12相似,所述雲端伺服器是可進行增強現實計算的伺服器,且具有預設的虛擬物資料庫,其中存儲有對應所述圖像的虛擬物。
具體地,所述雲端伺服器接收所述圖像,自虛擬物資料庫中獲取對應所述圖像的虛擬物,採用現有技術中的算法,計算得到所述虛擬物在所述圖像中的形態的多個坐標。
步驟33、將所述坐標信息發送至所述web模塊,以供所述web模塊根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
在本實施例中,與上述步驟13相似,所述雲伺服器將所述坐標信息發送至所述web模塊。
在另一種實施方式中,雲端伺服器根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
也就是說,渲染的步驟可由雲端伺服器完成,將獲得的第一增強現實信息發送至所述web模塊。將增強現實的渲染步驟由雲端伺服器完成,使得終端的web模塊可直接接收渲染後的增強現實信息,從而減少了終端的功能,可進一步節約終端的web模塊的成本。
本實施例提供增強現實處理方法,至少具有以下技術效果:
通過雲端伺服器接收web模塊採集的圖像,進行虛擬物的坐標信息獲取步驟,使得無需另下載一個app,充分利用終端已有的web模塊與雲端伺服器進行交互,即可實現終端的增強現實效果,由此可降低實現增強現實的成本。
圖4示出了本發明又一實施例提供的一種增強現實處理方法的流程示意圖。
參照圖4,在上述實施例的基礎上,本實施例提供的增強現實處理方法。所述方法步驟31,所述雲端伺服器接收終端的web模塊發送的圖像可有多種,本實施例舉例說明其中一種。
步驟41、雲端伺服器接收終端的web模塊發送的視頻流,所述視頻流是所述web在接收到用戶觸發的增強現實請求後,web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的視頻,所述視頻流包括多個有序的圖像。
可選地,web模塊調用攝像頭進行拍攝,捕獲攝像頭拍攝的視頻流,所述視頻流為包括多個有序的圖像的視頻。
步驟42、雲端伺服器根據所述第一張圖像,獲取對應所述第一張圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述第一張圖像中的形態的多個坐標。
步驟42與上述步驟32相似,雲端伺服器根據所述第一張圖像,獲取對應所述第一張圖像的虛擬物的坐標信息。
步驟43、將所述坐標信息發送至所述web模塊,以供所述web模塊根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
步驟43與上述步驟33相似,本實施例不再贅述。
步驟44、雲端伺服器判斷獲知所述圖像中具有與預設的真實物資料庫中真實物匹配的真實物,則根據所述真實物獲取對應的虛擬物,跟蹤所述真實物在連續兩圖像中的坐標信息的變化,來確定角度變換矩陣,所述角度變換矩陣用於指示所述虛擬物在所述圖像中的形態的角度變換。
可選地,雲端伺服器對所述真實物的位置進行跟蹤,跟蹤可以使用kcf(kernerlizedcorrelationfilter,相關濾波器)等圖像處理的跟蹤算法,獲得所述虛擬物在第一張和第二張圖像中的坐標信息的變化,對跟蹤到的坐標信息的變化做相應的變換,求解變換矩陣可以使用仿射變換等求解方式,得到所述角度變換矩陣,並將角度變換矩陣發送至所述web模塊。
步驟45、雲端伺服器將所述角度變換矩陣發送至所述web模塊,以供所述web模塊根據所述角度變換矩陣,對所述虛擬物的形態進行渲染,得到第二增強現實信息,所述第二增強現實信息是由所述真實物與所述虛擬物疊加得到的。
可選地,所述web模塊根據所述角度變換矩陣,對所述虛擬物的形態進行渲染。
具體地,所述web模塊在渲染過程中對所述虛擬物進行角度變換,其中,渲染可以使用webgl(webgraphicslibrary,網絡圖形庫)相關技術,得到第二增強現實信息,使得所述虛擬物在所述web模塊中可進行角度變換。
可以理解的是,在用戶拍攝所述視頻流的過程中,攝像頭任何微小的移動都將導致視頻流的各圖像產生變化,雲端伺服器實時跟蹤所述虛擬物在連續圖像中的位置變化,實時根據位置變化計算得到相應的角度變換矩陣,使得所述虛擬物可根據所述圖像的變化而變化,實現更強大的增強現實效果。
若判斷獲知所述圖像中沒有與預設的真實物資料庫中真實物匹配的真實物,則所述雲端伺服器獲取對應的反饋信息,並向所述web模塊返回反饋信息,以提示所述web模塊重新捕獲攝像頭拍攝的圖像。
舉例來說,所述圖像是餐桌上一瓶酒,所述雲端伺服器判斷獲知所述圖像完整呈現了酒廠的商標,則所述雲端伺服器獲取對應的所述商標的彩蛋,若預設彩蛋在酒瓶的瓶蓋的位置,獲取彩蛋在圖像的坐標信息,並發送至所述web模塊,使所述web模塊在所述圖像中瓶蓋的位置進行渲染,呈現所述彩蛋。所述雲端伺服器判斷獲知所述圖像中沒有酒廠的商標,則所述雲端伺服器可根據所述虛擬物資料庫中存儲的反饋信息,獲取反饋信息在圖像的坐標信息,並發送至所述web模塊,使所述web模塊在所述圖像中瓶蓋的位置進行渲染,呈現所述反饋信息,所述反饋信息可以是提示用戶移動攝像頭的圖片。
進一步地,所述雲端伺服器根據酒廠的商標在連續兩張圖像中的坐標信息的變化,來確定彩蛋的角度變換矩陣,所述角度變換矩陣用於指示彩蛋的變換角度和方向。
如用戶向上移動攝像頭,使得商標的位置向下移動,則角度變化矩陣指示所述彩蛋也向下移動;或者用戶向下傾斜攝像頭,使得商標的位置向上移動,則角度變化矩陣指示所述彩蛋也向上移動。
本實施例提供的增強現實處理方法,至少具有以下技術效果:
通過所述web模塊採集視頻流,並將採集的視頻流發送至雲端伺服器,由雲端伺服器對虛擬物進行實時的角度變換,使得所述web模塊顯示的所述虛擬物可進行角度變換,實現更強大的增強現實效果。
圖5示出了本發明又一實施例提供的一種增強現實處理系統的結構示意圖。
參閱圖5,在上述實施例的基礎上,本發明又一實施例提供的增強現實處理系統,可基於所述web模塊實現,終端中具有所述web模塊的app具有多種,本實施例以微信為例進行說明。
目前,隨著微信的大量普及,微信已經成為了移動網際網路的一個重要入口。企事業單位都通過微信公眾號(包括訂閱號、服務號、小程序等)來達到宣傳企業產品,實現和用戶互動交流的一個重要手段。對於用戶來說,不需要下載專門的app,只需掃描二維碼就可以快速地關注某個公眾號,因此,企事業單位可以利用微信公眾號來開展營銷和宣傳活動,吸引用戶來關注。然而現在的公眾號/服務號中還不支持基於增強現實技術的交互功能,企事業單位和用戶無法在微信公眾號中利用增強現實技術來開展一些廣告宣傳和線上線下的營銷互動服務。
微信公眾號中用戶訪問網址的行為是由web模塊支持的,基於web模塊實現增強現實服務的公眾號為本發明的定製化的微信公眾號。
增強現實伺服器即為雲端可提供增強現實服務的伺服器。
本發明增強現實處理系統包括定製化的微信公眾號,微信公眾號平臺和增強現實伺服器三個子系統。
所述定製化的微信公眾號子系統,是在原有通用微信公眾號的基礎上添加了增強現實功能的微信公眾號,其包括用戶ui,數據通信模塊,圖像採集模塊,圖像預處理模塊,3d渲染模塊五個子模塊。
所述用戶ui子模塊,用於和用戶交互,接收用戶的請求,反饋伺服器的響應。
所述數據通信子模塊,用於和增強現實伺服器進行數據通信。
所述圖像採集子模塊,用於調用終端的拍攝設備進行拍攝,並且捕獲拍攝到的圖像信息。
所述圖像預處理子模塊,用於對圖像採集子模塊捕獲的圖像進行採樣,壓縮,提取特徵等預處理。
所述3d渲染子模塊,用於對虛擬信息進行渲染。
所述微信公眾號平臺子系統包括用戶數據和開發者接口兩個子模塊。
所述用戶數據子模塊,通過微信內部通信接口,即時更新用戶信息。
所述開發者接口子模塊,用於獲取用戶的openid,地理位置等信息。
所述增強現實伺服器子系統,包括真實物資料庫,目標檢測模塊,物體跟蹤模塊,坐標變換計算模塊和數據通信模塊五個子模塊。
所述真實物資料庫子模塊,用於儲存真實物或者處理後的真實物信息,即為圖中標識物資料庫。
所述目標檢測子模塊,用於檢測微信公眾號傳來的圖像信息中是否有真實物資料庫中存在的真實物。
所述物體跟蹤子模塊,用於跟蹤真實物在增強現實伺服器接收到的圖像中坐標位置。
所述坐標變換計算模塊,用於根據所述真實物獲取預設的虛擬物資料庫中的虛擬物,並計算虛擬物在所述圖像中的角度變換矩陣。
所述數據通信子模塊,用於將虛擬物在增強現實伺服器中的位置坐標和角度變換矩陣發送給微信公眾號。
本發明增強現實處理系統,可實現上述方法實施例的方法,具體包括如下步驟:
步驟1:用戶ui接收到增強現實服務請求,通過微信內部連結將此請求發送給微信公眾號管理平臺。
步驟2:定製化的微信公眾號的數據通信模塊和增強現實伺服器的數據通信模塊建立連接,將增強現實服務請求發送增強現實伺服器。
步驟3:增強現實伺服器的數據通信模塊從微信公眾號管理平臺的開發者接口獲取用戶的openid,地理位置等信息。
步驟4:增強現實伺服器通過用戶的openid和地理位置判斷用戶是否有使用增強現實服務的權限。具體包括但不限於根據用戶的openid判斷用戶是否關注了公眾號,根據用戶的地理位置,判斷用戶是否在表示物的附近。如果用戶有使用的權限,則進入步驟5.
步驟5:增強現實伺服器和定製化的微信公眾號之間建立雙向連接。
步驟6:定製化的微信公眾號的圖像採集模塊申請調用終端攝像頭,如果用戶授權使用攝像頭,圖像採集模塊使用webrtc等技術調用終端攝像頭,並捕獲攝像頭拍攝到的視頻流。如果用戶禁止,則將此信息發送給增強現實伺服器。
步驟7:定製化的微信公眾號的圖像預處理模塊對視頻流的各圖像作採樣,壓縮,提取特徵等操作。採樣可以使用均值採樣等方式,壓縮可以將圖像轉換為壓縮率更高的格式,提取特徵可以採用sift(scale-invariantfeaturetransform,尺度不變特徵變換),surf(speededuprobustfeatures,加速匹配特徵),orb(orientedbrief,簡潔導向)等一系列圖像處理的方法。
步驟8:定製化的微信公眾號的數據通信模塊將預處理後的視頻流發送給增強現實伺服器。
步驟9:增強現實伺服器的目標檢測模塊在真實物資料庫中對接收到的圖像信息做檢測。檢測的方法可以用ransac等算法進行匹配。如果在所述圖像中檢測到匹配的真實物,則進入步驟10。
步驟10:增強現實伺服器的物體跟蹤模塊對真實物的位置進行跟蹤,跟蹤可以使用kcf等一些圖像處理的跟蹤算法,並將跟蹤得到的真實物的位置信息通過增強現實伺服器的數據通信模塊發送給定製化的微信公眾號。
步驟11:增強現實伺服器的坐標變換計算模塊獲取對應真實物的虛擬物,並對跟蹤到的信息做相應的變換,求解變換矩陣可以使用仿射變換等求解方式,並將得到的變換矩陣通過增強現實伺服器的數據通信模塊發送給公眾號。
步驟12:定製化的微信公眾號的3d渲染模塊根據接收到的真實物的位置,確定虛擬物的位置,根據變換矩陣確定虛擬物的姿態,進行渲染。渲染可以使用webgl相關技術。
圖6示出了本發明又一實施例提供的一種增強現實處理系統的結構示意圖。
參閱圖6,本發明又一實施例提供的增強現實處理系統,所述包括定製化的微信公眾號,微信公眾號伺服器和增強現實伺服器三個子系統。
所述定製化的微信公眾號子系統包括用戶ui,數據通信模塊,圖像採集模塊和顯示模塊等多個子模塊。
其中,所述用戶ui子模塊,所述數據通信子模塊,所述圖像採集子模塊與圖5中相同,所述系統還包括顯示子模塊,用於顯示增強顯示伺服器傳來的視頻或者圖像信息。
所述增強現實伺服器子系統,包括標識物資料庫,目標檢測模塊,物體跟蹤模塊,坐標變換計算模塊,3d渲染模塊和數據通信模塊六個子模塊。
其中,所述真實物資料庫子模塊,所述目標檢測子模塊,所述物體跟蹤子模塊與圖5中相同,所述系統還包括3d渲染子模塊,用於根據物體跟蹤子模塊得到的位置坐標和坐標變換計算模塊得到的坐標變換矩陣在接收到的圖像上進行3d渲染;所述數據通信子模塊,用於將已經渲染有3d虛擬信息的圖像發送給微信公眾號。
相應地,在上述步驟11之後,還包括:增強顯示伺服器的3d渲染模塊根據接收到的跟蹤信息確定虛擬物位置,根據變換矩陣確定虛擬物的姿態,在接收到的圖像的真實物的位置上進行3d渲染。
進一步地,增強現實伺服器的數據通信模塊將渲染有3d虛擬物的圖像發送給微信公眾號。
現有技術中增強現實服務的app,其增強現實服務的各步驟均是在本地完成,用戶需下載app才能實現增強現實服務。
在本實施例中,為了推動基於智能移動終端的增強現實技術的普適化推廣和應用,無需用戶專門下載安裝app,僅利用用戶的終端已安裝的具有web模塊的微信與雲端的增強現實伺服器交互即可實現增強現實服務,從而能夠降低開發app的成本,且在增強現實伺服器上進行增強現實計算,可減輕終端的負擔,可以理解的是,增強現實伺服器具有更強大的計算功能,計算速度更快。
本實施例提供的增強現實處理方法,至少具有以下技術效果:
通過利用用戶的終端已安裝的微信與雲端的增強現實伺服器交互即可實現增強現實服務,在實現低成本的增強現實服務的同時,又可加快計算流程,減輕終端的負擔。
圖7示出了本發明又一實施例提供的一種web模塊的結構示意圖。
參閱圖7,本發明又一實施例提供的一種web模塊,所述web模塊包括存儲器71、處理器72以及存儲在存儲器71上並可在處理器上運行的電腦程式。
所述處理器執行所述程序時實現如下步驟:
在接收到用戶觸發的增強現實請求後,調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像;
將所述圖像發送至雲端伺服器,以供雲端伺服器根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標;
接收所述坐標信息,根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
在另一種實施方式中,所述處理器執行所述程序時實現如下步驟:
調用攝像頭進行拍攝,並捕獲攝像頭拍攝的視頻流,所述視頻流包括多個有序的圖像,
相應地,將所述圖像發送至雲端伺服器,具體為:
將所述視頻流發送至雲端伺服器,以供雲端伺服器根據所述第一張圖像,獲取對應所述第一張圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述第一張圖像中的形態的多個坐標;
相應地,接收所述坐標信息之後,所述方法還包括:
接收雲端伺服器發送的角度變換矩陣,所述角度變換矩陣用於指示所述虛擬物在所述圖像中的形態的角度變換,所述角度變換矩陣是雲端伺服器跟蹤所述真實物在連續兩張圖像中的坐標信息的變化來確定的,所述虛擬物是雲端伺服器判斷獲知所述圖像中具有與預設的真實物資料庫中真實物匹配的真實物,則根據所述真實物獲取得到的;
根據所述角度變換矩陣,對所述虛擬物的形態進行渲染,得到第二增強現實信息,所述第二增強現實信息是由所述真實物與所述虛擬物疊加得到的。
在接收到用戶觸發的增強現實請求後,終端的web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像;
所述web模塊將所述圖像發送至雲端伺服器,以供雲端伺服器根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標;
所述web模塊接收所述坐標信息,根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
進一步地,在另一種實施方式中,所述處理器執行所述程序時實現如下步驟:
若所述web模塊捕獲攝像頭拍攝的圖像,所述方法還包括:所述web模塊對所述圖像進行預處理,所述預處理為以下至少一種:對所述圖像採樣、壓縮、提取特徵:
相應地,將所述圖像發送至雲端伺服器,具體為將預處理後的圖像發送至雲端伺服器;
若所述web模塊捕獲攝像頭拍攝的視頻流,所述方法還包:所述web模塊對所述視頻流進行預處理,所述預處理為以下至少一種:對所述視頻流採樣、壓縮:
相應地,將所述圖像發送至雲端伺服器,具體為將預處理後的視頻流發送至雲端伺服器。
本實施例提供的web模塊,可用於執行上述方法實施例的方法對應的程序,本實施不再贅述。
本實施例提供的web模塊,至少具有以下技術效果:
通過所述處理器執行所述程序時實現採集圖像,並將採集的圖像發送至雲端伺服器,由雲端伺服器進行虛擬物的坐標信息獲取步驟,使得無需另下載一個app,充分利用終端已有的app與雲端伺服器進行交互,即可實現增強現實,由此可降低實現增強現實的成本。
圖8示出了本發明又一實施例提供的一種終端的結構示意圖。
參閱圖8,發明又一實施例提供的終端,所述終端包括web模塊,所述web模塊包括存儲器71、處理器72以及存儲在存儲器71上並可在處理器上運行的電腦程式。
所述處理器執行所述程序時實現如下步驟:
在接收到用戶觸發的增強現實請求後,調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像;
將所述圖像發送至雲端伺服器,以供雲端伺服器根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標;
接收所述坐標信息,根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
在另一種實施方式中,所述處理器執行所述程序時實現如下步驟:
調用攝像頭進行拍攝,並捕獲攝像頭拍攝的視頻流,所述視頻流包括多個有序的圖像,
相應地,將所述圖像發送至雲端伺服器,具體為:
將所述視頻流發送至雲端伺服器,以供雲端伺服器根據所述第一張圖像,獲取對應所述第一張圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述第一張圖像中的形態的多個坐標;
相應地,接收所述坐標信息之後,所述方法還包括:
接收雲端伺服器發送的角度變換矩陣,所述角度變換矩陣用於指示所述虛擬物在所述圖像中的形態的角度變換,所述角度變換矩陣是雲端伺服器跟蹤所述真實物在連續兩張圖像中的坐標信息的變化來確定的,所述虛擬物是雲端伺服器判斷獲知所述圖像中具有與預設的真實物資料庫中真實物匹配的真實物,則根據所述真實物獲取得到的;
根據所述角度變換矩陣,對所述虛擬物的形態進行渲染,得到第二增強現實信息,所述第二增強現實信息是由所述真實物與所述虛擬物疊加得到的。
進一步地,在另一種實施方式中,所述處理器執行所述程序時實現如下步驟:
若所述web模塊捕獲攝像頭拍攝的圖像,所述方法還包括:所述web模塊對所述圖像進行預處理,所述預處理為以下至少一種:對所述圖像採樣、壓縮、提取特徵:
相應地,將所述圖像發送至雲端伺服器,具體為將預處理後的圖像發送至雲端伺服器;
若所述web模塊捕獲攝像頭拍攝的視頻流,所述方法還包:所述web模塊對所述視頻流進行預處理,所述預處理為以下至少一種:對所述視頻流採樣、壓縮:
相應地,將所述圖像發送至雲端伺服器,具體為將預處理後的視頻流發送至雲端伺服器。
本實施例提供的終端,可用於執行上述方法實施例的方法對應的程序,本實施不再贅述。
本實施例提供的終端,至少具有以下技術效果:
通過所述處理器執行所述程序時實現所述web模塊採集圖像,並將採集的圖像發送至雲端伺服器,由雲端伺服器進行虛擬物的坐標信息獲取步驟,使得無需另下載一個app,充分利用終端已有的app與雲端伺服器進行交互,即可實現增強現實,由此可降低實現增強現實的成本。
本發明又一實施例提供的一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有電腦程式,所述程序被處理器執行時實現如下步驟:
在接收到用戶觸發的增強現實請求後,終端的web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像;
所述web模塊將所述圖像發送至雲端伺服器,以供雲端伺服器根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標;
所述web模塊接收所述坐標信息,根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
在另一種實施方式中,所述程序被處理器執行時實現如下步驟:
所述web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的視頻流,所述視頻流包括多個有序的圖像,
相應地,所述web模塊將所述圖像發送至雲端伺服器,具體為:
所述web模塊將所述視頻流發送至雲端伺服器,以供雲端伺服器根據所述第一張圖像,獲取對應所述第一張圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述第一張圖像中的形態的多個坐標;
相應地,所述web模塊接收所述坐標信息之後,所述方法還包括:
所述web模塊接收雲端伺服器發送的角度變換矩陣,所述角度變換矩陣用於指示所述虛擬物在所述圖像中的形態的角度變換,所述角度變換矩陣是雲端伺服器跟蹤所述真實物在連續兩張圖像中的坐標信息的變化來確定的,所述虛擬物是雲端伺服器判斷獲知所述圖像中具有與預設的真實物資料庫中真實物匹配的真實物,則根據所述真實物獲取得到的;
所述web模塊根據所述角度變換矩陣,對所述虛擬物的形態進行渲染,得到第二增強現實信息,所述第二增強現實信息是由所述真實物與所述虛擬物疊加得到的。
在另一種實施方式中,所述程序被處理器執行時實現如下步驟:
若所述web模塊捕獲攝像頭拍攝的圖像,所述方法還包括:所述web模塊對所述圖像進行預處理,所述預處理為以下至少一種:對所述圖像採樣、壓縮、提取特徵:
相應地,所述web模塊將所述圖像發送至雲端伺服器,具體為將預處理後的圖像發送至雲端伺服器;
若所述web模塊捕獲攝像頭拍攝的視頻流,所述方法還包:所述web模塊對所述視頻流進行預處理,所述預處理為以下至少一種:對所述視頻流採樣、壓縮:
相應地,所述web模塊將所述圖像發送至雲端伺服器,具體為將預處理後的視頻流發送至雲端伺服器。
本實施例提供的計算機可讀存儲介質,所述程序被處理器執行時實現上述方法實施例的方法,本實施不再贅述。
本實施例提供的計算機可讀存儲介質,至少具有以下技術效果:
通過所述程序被處理器執行時採集圖像,並將採集的圖像發送至雲端伺服器,由雲端伺服器進行虛擬物的坐標信息獲取步驟,使得無需另下載一個app,充分利用終端已有的app與雲端伺服器進行交互,即可實現增強現實,由此可降低實現增強現實的成本。
圖9示出了本發明又一實施例提供的一種雲端伺服器的結構示意圖。
參閱圖9,發明又一實施例提供的一種雲端伺服器,所述雲端伺服器包括存儲器91、處理器92以及存儲在存儲器91上並可在處理器上運行的電腦程式。
所述處理器執行所述程序時實現如下步驟:
接收終端的web模塊發送的圖像,所述圖像是所述web模塊在接收到用戶觸發的增強現實請求後,web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的圖像;
根據所述圖像,獲取對應所述圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述圖像中的形態的多個坐標;
將所述坐標信息發送至所述web模塊,以供所述web模塊根據所述坐標信息,對所述虛擬物的形態進行渲染,得到第一增強現實信息,所述第一增強現實信息是由所述圖像與所述虛擬物疊加得到的。
在另一種實施方式中,所述處理器執行所述程序時實現如下步驟:
接收終端的web模塊發送的圖像,具體為:
接收終端的web模塊發送的視頻流,所述視頻流是所述web在接收到用戶觸發的增強現實請求後,web模塊調用攝像頭進行拍攝,並捕獲攝像頭拍攝的視頻,所述視頻流包括多個有序的圖像;
相應地,根據所述第一張圖像,獲取對應所述第一張圖像的虛擬物的坐標信息,所述坐標信息用於表示所述虛擬物在所述第一張圖像中的形態的多個坐標;
相應地,所述將所述坐標信息發送至所述web模塊之後,所述方法還包括:
判斷獲知所述圖像中具有與預設的真實物資料庫中真實物匹配的真實物,則根據所述真實物獲取對應的虛擬物,跟蹤所述真實物在連續兩圖像中的坐標信息的變化,來確定角度變換矩陣,所述角度變換矩陣用於指示所述虛擬物在所述圖像中的形態的角度變換;
將所述角度變換矩陣發送至所述web模塊,以供所述web模塊根據所述角度變換矩陣,對所述虛擬物的形態進行渲染,得到第二增強現實信息,所述第二增強現實信息是由所述真實與所述虛擬物疊加得到的。
進一步地,在另一種實施方式中,所述處理器執行所述程序時實現如下步驟:
若判斷獲知所述圖像中沒有與預設的真實物資料庫中真實物匹配的真實物,則獲取對應的反饋信息;
相應地,向所述web模塊返回反饋信息,以提示所述web模塊重新捕獲攝像頭拍攝的圖像。
本實施例提供的雲端伺服器,可用於執行上述方法實施例的方法對應的程序,本實施不再贅述。
本實施例提供的雲端伺服器,至少具有以下技術效果:
通過執行接收web模塊採集的圖像,進行虛擬物的坐標信息獲取步驟的程序,使得無需另下載一個app,充分利用終端已有的web模塊與雲端伺服器進行交互,即可實現終端的增強現實效果,由此可降低實現增強現實的成本。
最後應說明的是:以上實施例僅用以說明本發明實施例的技術方案,而非對其限制;儘管參照前述實施例對本發明實施例進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明實施例各實施例技術方案的精神和範圍。