TWI745932B - 電腦視覺定位方法與裝置 - Google Patents
電腦視覺定位方法與裝置 Download PDFInfo
- Publication number
- TWI745932B TWI745932B TW109112770A TW109112770A TWI745932B TW I745932 B TWI745932 B TW I745932B TW 109112770 A TW109112770 A TW 109112770A TW 109112770 A TW109112770 A TW 109112770A TW I745932 B TWI745932 B TW I745932B
- Authority
- TW
- Taiwan
- Prior art keywords
- positioning
- corresponding positions
- computer vision
- inference
- area
- Prior art date
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本申請提供一種電腦視覺定位方法,包含:進行姿態與動態的偵測;取得在一地點拍攝的多張照片,其中該多張照片的每一張照片對應到不同的方位角,該方位角資訊是由該偵測步驟所提供;將該多張照片輸入到訓練完成的一深度神經網路模型進行推論,以得到每一張該照片是否相應到一定位區域內的一個位置;以及當該推論步驟得到該定位區域內的多個相應的位置時,根據該多個相應的位置進行定位。
Description
本發明係關於定位,特別係關於電腦視覺定位。
定位與導航是現代人日常生活當中經常使用電子產品執行的功能之一。現代的智慧型手機多半具有無線電導航的功能,例如有衛星信號定位晶片、行動電話通信晶片、區域無線網路通信晶片。藉由衛星發出的導航信號、無線基地台所發出的基地台編號、與/或區域無線網路基地台的無線服務名稱,可以利用無線電來進行導航。
但如果想要達到更高的精度,或是在接收不到無線電信號、抑或在無線電傳播多徑的地方進行定位時,就必須仰賴波長更短的紅外線或可見光波段的電腦影像來進行定位。在另一種情況下,使用者的移動電子設備可能非常輕薄,無法裝置上述的無線電接收晶片與天線。或者所在的環境與場所不允許使用者攜帶具有無線電通信功能的晶片,例如防護嚴密的軍營與工廠等,但卻又需要定位與導航的功能。
據此,亟需一種能夠在不需要無線電定位的電腦視覺定位機制,至少可以達到室內導航的精度,還能實現在移動電子設備以方便使用者的應用。
根據本申請的一實施例,提供一種電腦視覺定位方法,包
含:進行姿態與動態的偵測;取得在一地點拍攝的多張照片,其中該多張照片的每一張照片對應到不同的方位角,該方位角資訊是由該偵測步驟所提供;將該多張照片輸入到訓練完成的一深度神經網路模型進行推論,以得到每一張該照片是否相應到一定位區域內的一個位置;以及當該推論步驟得到該定位區域內的多個相應的位置時,根據該多個相應的位置進行定位。
根據本申請的一實施例,提供一種電腦視覺定位裝置,包含:一攝像模組,用於拍攝照片;一姿態與動態偵測模組,用於進行姿態與動態的偵測;以及一中央處理器模組,用於執行非揮發性記憶體當中存儲的程式碼,用於執行下列步驟:令該姿態與動態偵測模組進行姿態與動態的偵測;取得該攝像模組在一地點拍攝的多張照片,其中該多張照片的每一張照片對應到不同的方位角資訊,該方位角資訊是由該偵測步驟所提供;將該多張照片輸入到訓練完成的一深度神經網路模型進行推論,以得到每一張該照片是否相應到一定位區域內的一個位置;以及當該推論步驟得到該定位區域內的多個相應的位置時,根據該多個相應的位置進行定位。
根據本申請所提供的電腦視覺定位裝置與方法,可以提供一種能夠在不需要無線電定位的電腦視覺定位機制,可以達到室內導航的精度,還能實現在移動電子設備以方便使用者的應用。
100:定位區域
110:目標物
111:區域範圍
120:目標物
121:區域範圍
130:目標物
131:區域範圍
140:目標物
141:區域範圍
142:區域範圍
143:區域範圍
200:電腦視覺定位地圖準備方法
210~270:步驟
310:實際位置
320:區域範圍
330:連線
410:目標物
411:區域範圍
420:目標物
421:區域範圍
430:目標物
431:區域範圍
450:位置
460:位置範圍
470:三角形
500:電腦視覺定位裝置
510:攝像模組
520:姿態與動態偵測模組
530:顯示模組
540:網路模組
550:記憶體
560:推論模組
570:中央處理器模組
600:電腦視覺定位方法
610~690:步驟
710~760:步驟
810~830:步驟
910~930:步驟
圖1為根據本申請一實施例的電腦視覺定位地圖準備的一示意圖。
圖2為根據本申請一實施例的電腦視覺定位地圖準備方法的一流程示意圖。
圖3為根據本申請一實施例的電腦視覺定位方法的一示意圖。
圖4為根據本申請一實施例的電腦視覺定位方法之三角形定位步驟的一示意圖。
圖5為根據本申請一實施例的電腦視覺定位裝置的一方塊示意圖。
圖6為根據本申請一實施例的電腦視覺定位方法的一流程示意圖。
圖7為根據本申請一實施例的電腦視覺定位方法的校正步驟的一流程示意圖。
圖8為圖6所示步驟666的一實施例的一流程示意圖。
圖9為圖6所示步驟666的另一實施例的一流程示意圖。
本申請提供了一種電腦視覺定位裝置與其定位方法,可以實現在移動型的電子設備之上。在進行定位之前,該電腦視覺定位裝置需要先載入定位地圖相關的資料,才能在該定位地圖內進行電腦視覺定位。以下將要解說如何製作定位地圖資料。地圖資料可以簡稱為圖資。
請參考圖1所示,其根據本申請一實施例的電腦視覺定位地圖準備的一示意圖。圖1顯示一張定位區域100的俯瞰示意圖。如圖1所示,該定位區域100可以位在建築物的內部,特別是無線電波難以穿透的建築物。但本申請的定位區域100並不限定是在建築物之內,也可以在建築物之外,或是其他具有不同視覺特徵的區域。
在準備該定位地圖資料時,需要在該定位區域100內拍攝多張照片。在圖1所示的實施例當中,至少包含四個目標物110、120、130、
140。在定位區域100的四個目標物110~140,都可以對應到一組座標。本申請並不限定座標系的大小與其原點。但在一實施例當中,如果使用局部座標系的話,其原點或一特定點可以具有一個廣義座標系的座標,以便在局部和廣義座標系進行座標的轉換。上述的廣義座標系可以是多種衛星定位系統所使用的座標系其中之一。
定位區域100內的目標物可以是特定的某個物品,例如一隻蟠龍花瓶、一張樹頭藝術桌、一隻哥吉拉玩具模型。目標物可以是軸對稱、面對稱的物品,比方說是軸對稱的圓桌,或是面對稱的方桌。目標物也可以是完全不對稱的物品。定位區域100內的目標物可以是一個場景,例如是一個壁面、一個走廊、一個窗景。所謂的場景是一些物品的集合,具有固定的相對位置。
想要讓目標物被辨識,可以先在定位區域100內拍攝一或多張關於某目標物的照片,使得人工智慧的神經網路模型能夠學習到該目標物。當目標物是對稱的物品時,這些關於某目標物的照片形成的照片集,可以是在一個範圍當中向該目標物拍攝。舉例來說,當目標物是一隻蟠龍花瓶,則上述照片集當中的照片可以是在花瓶周遭兩公尺之內的區域範圍所拍攝。
當目標物是一隻哥吉拉玩具模型時,可以將該哥吉拉玩具模型視為兩個在相同位置的目標物面向。第一個目標物面向是從靠近頭端的位置所看到的哥吉拉玩具模型。第二個目標物面向是從靠近尾端的位置所看到的哥吉拉玩具模型。雖然是同一個真實目標物,但所對應的照片集不同,所辨識到目標物面向也可以不同。第一個目標物面向可以對應到靠近
頭端的第一個區域範圍。第二個目標物面向可以對應到靠近尾端的第二個區域範圍。
例如,在圖1所示的目標物140可以具有三個不同的面向。每一個面向對應到一個區域範圍。如目標物140對應到三個區域範圍141、142與143。本領域普通技術人員可以理解到,這三個面向與其對應的區域範圍可以是彼此不重疊的,也可以是重疊的。例如,區域範圍141與142是不重疊的。反之,區域範圍141與143就有部分範圍是重疊的。
目標物120與130,由於它們是軸對稱的,分別只有單一個面向,也只分別對應到區域範圍121與131。目標物110是一個壁面窗景,由於並沒有方法從反向來識別目標物110,因此目標物110也只有一個面向,對應到一個區域範圍111。
在圖1的實施例當中,只顯示六個區域範圍,然而本領域普通技術人員可以理解到,這是為了簡化說明的緣故。如果想要在該建築物的每一個房間或區域進行定位,至少需要在每一個房間或走道區域當中挑選一個目標物,為其拍攝一組照片集。舉例來說,圖1的目標物位置110是一個具有三面壁的空間當中,左右兩方的牆壁並沒有任何裝飾物品,難以辨識。而在上方的牆壁面有窗戶與裝置,適合用來作為電腦視覺辨識。所以定位地圖的準備人員可以在目標物位置110的地方,朝向北方拍攝一組照片集。該照片集所包含的照片可以是在區域範圍111當中拍攝。但本申請並不限定,對神經網絡模型進行訓練時的照片集當中的每一張照片,全部都是在該區域範圍當中拍攝。某個目標物未必需要對應到一個區域範圍。換言之,目標物的面向與區域範圍是可選的資料,但目標物必然對應到圖資
上的一個位置。
除此之外,圖1所示實施例的區域範圍111~143都是矩形。但本申請並不限定區域範圍必然是矩形,與某目標物相對應的區域範圍可以是圓形、橢圓形、扇形、多角形。可以是對稱,可以是不對稱。
再者,圖1所示實施例的區域範圍111~143都包含了其所對應目標物的位置。但本申請並不要求區域範圍必須要涵蓋到目標物的位置。舉例來說,當前述的蟠龍花瓶有兩個人高時,靠得太近反而無法辨識出來。可能需要離一公尺以上的距離,才能辨識出花瓶來。
每組照片集當中的各張照片的拍攝範圍、拍攝時間、焦距、對比、明暗、景深等各種參數可以是不同的。舉例來說,可以在晨昏、中午、晚上進行拍攝。目標物110場景中的窗戶就會呈現不同的景色,而且室內的光線變化也就有了差異。例如當目標物場景中的桌上有一個杯子。當在不同的時間拍攝照片,杯子所擺放的位置可能有所不同。甚至有可能出現多個杯子或沒有杯子的情況。而室內的檯燈燈光也可能有明暗的變化。
由於人類腦部可以濾除掉上述的變化,而認知到這些照片是在該目標物對應的區域範圍內所拍攝。但電腦要有相同程度的認知,必須靠較大的照片數量來進行學習。在本申請當中,未必是使用可見光波段的照片,可以使用包含部分或全部是不可見光的波段來拍攝照片,例如紅外線波段或紫外線波段等。也可以使用較窄的可見光波段來拍攝照片,例如黑白照片等。但拍攝照片的波段要能夠配合定位裝置上的攝像模組,使得兩者具有相同的波段。
當收集了多組照片集之後,或者再收集了額外的區域範圍之
後,就可以讓電腦進行視覺學習。請參考圖2所示,其為根據本申請一實施例的電腦視覺定位地圖準備方法200的一流程示意圖。圖2所示的流程示意圖可以是由普通計算機執行的程式碼,或者是具有硬體加速功能的特殊計算機執行的程式碼,以便增進人工智慧模組的學習速度。
本領域普通技術人員可以理解到,人工智慧模組有許多種類型,目前較為常用的是深度神經網路(Deep Neural Network,DNN)模型。而在深度神經網路模型當中,也有各式各樣的層數、連接方式、權重、每一層所使用的濾波器。本申請並不限定採用哪一種類型的深度神經網路模型,只要是能夠在監督式學習之後得到一定正確率以上的模型,都可以作為本申請所使用的深度神經網路模型。此外,本申請也可以不限定在深度神經網路模型以基礎的人工智慧模組。
步驟210:提供關於多個目標物的多個照片集。
步驟220:標記該多個目標物的位置,或者再額外標記該多個目標物對應的多個區域範圍。
步驟230:提供深度神經網路模型。
步驟240:根據做過標記的該多個照片集,對該深度神經網路模型進行監督式訓練。換言之,此監督式訓練的目的在於讓該深度神經網路模型可以學習到每一個照片集與其對應的位置與區域範圍之連結關係。
步驟250:對該深度神經網路模型進行測試。例如,用未標記的圖片輸入該深度神經網路模型進行推論,測試其推論結果是否與該圖片當中的目標物相符。可以反覆進行多項測試,以便測試其成功率。
步驟260:判斷成功率是否超過一預設值。當成功率高於該預設值時,流程走向步驟270。否則,流程走回步驟210,可能需要提供更多張的圖片,再深化學習。
步驟270:訓練完成。可以保存該深度神經網路模型,以便複製到電腦視覺定位裝置之上。
請參考圖3所示,其為根據本申請一實施例的電腦視覺定位方法的一示意圖。當使用者利用一電腦視覺定位裝置進入到定位區域100中進行定位時,例如在實際位置310的地方,可以對周遭環境進行水平360度的環景照相或錄影。該電腦視覺定位裝置也可以在相同或相近的位置,對著不同方位角拍攝多張照片。該電腦視覺定位裝置可以包含一姿態及動態偵測模組。舉例來說,該姿態及動態偵測模組可以包含微機電裝置實作的加速度計、角加速度計、磁力計、陀螺儀等裝置其中之一,或者是其任意組合。當該電腦視覺定位裝置開始進行環景照相時,可以透過該姿態及動態偵測模組所偵測到的數據知道該環景照片一開始所對應的方位角。
在一實施例當中,該電腦視覺定位裝置可以包含兩個或兩個以上的廣角攝像鏡頭,可以同時拍攝多張具有不同方位角的照片。
在圖3所示的實施例當中,該電腦視覺定位裝置在位置310所拍攝的多張具有對應方位角資訊的照片,被輸入到已經完成監督學習的深度神經網路模型來進行推論,用來判斷每一張照片是否能夠符合四個目標物110~140當中的一個目標物。
在使用位置310所拍攝的環景照片或具有不同方位角的多張照片比對到照片組111時,由於距離較遠,該深度神經網路模型無法推論出
照片組111。或者是說,和照片組111相比,其相符的信心程度並未超過門檻值。
當有兩張不同方位角的照片分別比對到目標物120與140時,該電腦視覺定位裝置可以從圖資找到目標物120與140的兩個位置。在一實施例當中,可以將這兩個目標物120與140的連線330當中,取出一個目前位置。舉例來說,目前位置可以在該目標物120與140的中間點。
在另一實施例當中,當目標物120與140具有額外的區域範圍121與143的資訊時,可以取出該區域範圍121與143的交集區域,亦即區域範圍320。可以認為目前位置是在該區域範圍320當中。
在更一實施例當中,可以進一步計算該連線330是否在該交集的區域範圍320當中。如果判斷結果為是的話,可以在區域範圍320當中的連線330當中取出一個目前位置。舉例來說,是在區域範圍320內的連線330當中,最靠近連線330之中點的一個點。
換言之,可以根據至少兩個符合的目標物所對應的位置,或者更根據目標物所對應的區域範圍,來找出目前位置或目前位置所在的區域範圍。
請參考圖4所示,其為為根據本申請一實施例的電腦視覺定位方法之三角形定位步驟的一示意圖。在使用位置450所拍攝的具有不同方位角的多張照片比對到目標物410~430時,其相符的信心程度分別超過門檻值。因此,該深度神經網路模型可以推論出位置430所拍攝的具有不同方位角的多張照片與位置410、420與430相關。位置410、420、430可以形成三角形470。
在一實施例中,假設當照片所相關的目標物的位置超過三個時,可以先挑選出信心程度或相符程度最高的三個。接著,再使用三個位置來取得一個三角形470。最後,可以利用該三角形來取得一個定位位置450。
在一實施例中,該定位位置450可以是三角形470的內心、外心、重心、垂心的其中之一。在一實施例中,該定位位置450可以與上述四心相關。舉例來說,可以是任兩個心的中間點。
在一實施例中,當目標物具有對應的區域範圍時,可以獲得三個位置範圍411、421與431。接著,計算這三個位置範圍的交集,亦即位置範圍460。
在一實施例中,可以再將交集的位置範圍460與三角形470進行交集,判斷目前位置是在交集所得到的區域範圍。
在一實施例中,假設當照片所相關的目標物的位置超過三個時,可以先劃分成多個三角形。接著,再計算每一個三角形的一個位置,例如前述的四心的其中之一,或是與四心相關的一個位置。最後,再根據每個三角形所對應的位置進行中間點的計算。舉例來說,當相關的位置為四個時,可以先劃分成兩個三角形。再計算兩個三角形的重心。最後再計算兩個重心的中間點。
當取得定位位置之後,可以在地圖資訊上計算某一符合的目標物相對於該定位位置的一地圖方位角。接著,可以根據找到該目標物的照片拍攝時的相位角與該地圖方位角相比,就能將拍照時的方位角視為該地圖方位角。
請參考圖5所示,其為根據本申請一實施例的電腦視覺定位裝置500的一方塊示意圖。在一實施例當中,該電腦視覺定位裝置500可以是行動裝置,特別是可穿戴裝置,方便使用者攜帶。雖然在圖5當中沒有示出,但該電腦視覺定位裝置500可以具有電池來供應電力。
電腦視覺定位裝置500可以包含一攝像模組510、一姿態與動態偵測模組520、一顯示模組530、一網路模組540、一記憶體550、一推論模組560與連接上述模組的一中央處理器模組570。該中央處理器模組570係用於控制該電腦視覺定位裝置500。該中央處理器模組570可以包含至少一個處理器核心,用於執行存儲在非揮發性記憶體當中的作業系統與應用程式,以便透過其餘的模組來實現本申請所提供的技術方案與特徵。本領域普通技術人員應當具有計算機結構與計算機組織的通常知識,可以理解並且實現上述的計算機架構。
該攝像模組510可以包含至少一個攝像鏡頭組,其包含光學元件、感光元件、濾波器、放大器、編碼器等元器件設備,用於將拍攝到的照片傳送至該中央處理器模組570,或是直接存入到記憶體550當中。
該姿態與動態偵測模組520可以包含微機電裝置實作的加速度計、角加速度計、磁力計、陀螺儀等裝置其中之一,或者是其任意組合。透過該姿態與動態偵測模組520,可以輸出六個自由度的訊息,例如俯仰軸、滾轉軸、偏行軸的角偏移量與角加速度、三個垂直軸的位移向量與加速度等訊息。根據上述六個自由度的訊息,該姿態與動態偵測模組520可以更計算出兩個連續時機點的角偏移量與位移量。據此,可以累積兩個以上時機點所測得的資訊,得到相對應的姿態與動態的改變量。
由於該攝像模組510與該姿態與動態偵測模組520是固定在該電腦視覺定位裝置500當中,所以該姿態與動態偵測模組520可以記錄拍照當時的方位角與位置。在該電腦視覺定位裝置500移動之後,可以得知相對於拍照地點的方位角的夾角,以及兩個位置之間的移動向量。但除非外界給予一初始的座標系位置與姿態,否則該姿態與動態偵測模組520只能算出兩個時機點的相對位置與相對方位角變化。
本領域普通技術人員可以理解到,上述相對應的姿態與動態的改變量可以由中央處理器模組570來計算,也可以由該姿態與動態偵測模組520來計算。本申請並不限定是由哪一個模組來計算。
顯示模組530可以用於顯示該攝像模組510所拍攝的照片,以及該作業系統與該應用程式所呈現的輸出畫面。在一實施例中,顯示模組530可以包含至少一個薄型顯示螢幕,例如各種液晶螢幕。在另一實施例中,顯示模組530可以包含穿透式的光學式頭戴顯示器。目前已知有六種波導型式的頭戴顯示器,本申請並不限定哪一種形式的顯示器。
可選的網路模組540可以包含無線通信模組,例如藍芽、區域無線網路或第四代、第五代、第六代行動通信網路模組。網路模組540可以用於下載與更新定位區域的資訊,也就是圖資。
記憶體550可以包含揮發性與非揮發性的儲存媒介,用於作為系統記憶體與長期儲存媒介。記憶體550可以存儲圖資與模型,分別供中央處理器模組570與推論模組560使用。
可選的推論模組560可以是軟體模組,也可以是硬體模組,或者是軟硬體配合的模組。推論模組560用於利用已經監督學習完成的深度
神經網路模型進行推論,以便判斷並找出輸入的照片與一組位置與/或方向是否相關,還可能輸出其相關的信心程度,其介於0~100%之間。使用硬體或軟硬體配合實施的推論模組760係用於加速運算。當中央處理器模組570所提供的運算量無法及時供應深度神經網路模型的推論計算時,可以使用硬體或軟硬體配合實施的推論模組560。當中央處理器模組570所提供的運算量足夠深度神經網路模型的推論時,可以不需要用到硬體或軟硬體配合實施的推論模組560。
請參考圖6所示,其為根據本申請一實施例的電腦視覺定位方法600的一流程示意圖。該電腦視覺定位方法600可以適用於圖5所示的電腦視覺定位裝置500。在一實施例中,該電腦視覺定位方法600可以是由中央處理器模組570所執行的程式。在圖6所示的實施例當中,如果沒有提到任兩個步驟之間的因果關係,則本申請不限定這兩個步驟之間的執行順序。
步驟610:開啟姿態動態偵測。
步驟620:取得具有方位角資訊的多張照片。這些照片可以具有不同的方位角,在同一地點同時或分時拍攝。
步驟630:推論每一張照片以得到相關資訊。可以利用中央處理器模組570或推論模組560,對每一張照片進行推論以得到相關資訊。這裡所指的相關資訊是照片中是否判斷某一個目標物。
步驟640:判斷是否得到多個目標物的資訊。判斷步驟640的推論結果當中,是否有至少一張照片可以對應到一個目標物,從圖資中獲得該目標物的位置,甚至是對應的區域範圍。當沒有兩張照片可以對應到目標物時,流程前進到可選的步驟650或回到步驟610。當至少有兩張照
片以對應到目標物時,可以進行到步驟660。
可選的步驟650:提示使用者移位。由於並未找到對應的位置,因此可以透過顯示模組530請使用者移位後再進行一次照相步驟620。
步驟660:判斷得到N個目標物的資訊?N為大於或等於2的正整數。當N為2的時候,流程進到步驟665。當N大於2的時候,流程進到步驟666。
步驟665:用該兩個目標物的位置來定位。或者是利用該兩個目標物的位置與其對應的兩個區域範圍來定位。在定位之後,可以利用一個目標物相對於定位位置的地圖方位角,來對應拍攝到該目標物的照片之方位角。就可以得知目前的方位角。本步驟可以參考先前關於圖3的說明,不在此詳述。接著,流程進到步驟670。
步驟666:用該N個目標物的位置來定位。或者是利用該N個目標物的位置與其對應的兩個區域範圍來定位。在定位之後,可以利用一個目標物相對於定位位置的地圖方位角,來對應拍攝到該目標物的照片之方位角。就可以得知目前的方位角。本步驟可以參考先前關於圖4所示的實施例說明。接著,流程進到步驟670。
步驟670:偵測動態以進行導航。由於已經得知步驟620進行時的位置與方位角,而且姿態與動態偵測模組720可偵測當前與步驟620進行時的位移向量與方位角的夾角,因此,可以在相關的地圖上進行定位與導航。接著,流程可以進到可選的步驟680或可選的步驟690。
可選的步驟680:顯示擴增實境物件。在一實施例當中,該地圖可以包含擴增實境的資訊。舉例來說,該地圖可以包含某處有某物的
訊息。因此,可以指引使用者如何走到該處並且發現該物。
在一實施例當中,該目標物可以對應到一虛擬寶物。判斷照片中具有該目標物時,可以認為得到該虛擬寶物。在另一實施例當中,當定位位置在對應到一虛擬寶物的某一區域內時,可以認為得到該虛擬寶物。該虛擬寶物可以用於兌換一實體的物品,或者是一種折扣券、招待券、兌換券或一種憑證。該虛擬寶物的數量可以具有限制。換言之,只有前幾名到達該區域或找到該目標物者,才能得到該虛擬寶物。可以利用網路模組540和一虛擬寶物的管理伺服器來登記取得名次、虛擬寶物、折扣券、招待券、兌換券等憑證。
可選的步驟690:校正定位。由於初次獲得的位置的精度上不理想,可以在獲得定位資訊之後,再進行後續的校正。
請參考圖7所示,為根據本申請一實施例的電腦視覺定位方法的校正步驟690的一流程示意圖。在圖7所示的實施例當中,如果沒有提到任兩個步驟之間的因果關係,則本申請不限定這兩個步驟之間的執行順序。
步驟710:取得一或多張照片。此步驟710和步驟620類似,但可以只取得一張照片。
步驟720:推論每一張照片以得到相關的資訊。由於步驟710的照片的拍攝位置與方位角是已知的,可以和地圖資訊上的目標物所對應的區域範圍進行比對。例如當拍攝的照片位於某一目標物對應的區域範圍時,可以先推論該照片是否對應到該目標物。如此一來,可能可以節省推論的時間。
步驟730:判斷是否得到至少一個目標物的資訊。當沒有得到任何一個目標物的資訊時,流程可以回到步驟710。否則,流程進到步驟740。
步驟740:判斷得到N個目標物的資訊。當N=1時,進行步驟751。當N=2時,進行步驟752。當N=3時,進行步驟753。
步驟751:用該目標物所對應的位置來定位。當只找到一個目標物時,可以判斷該目標物的位置與當前位置的距離是否合理。比方說,當兩個位置的距離在一誤差範圍內時,無須校正目前位置。當兩個位置的距離超過該誤差範圍時,可以計算兩者的中點做為新的位置。
步驟752:用該兩個目標物所對應的位置來定位。如步驟665,可以利用兩個目標物位置來找到一個新的位置。接著,可以判斷該新的位置與當前位置的距離是否合理。比方說,當兩個位置的距離在一誤差範圍內時,無須校正目前位置。當兩個位置的距離超過該誤差範圍時,可以計算兩者的中點做為新的位置。或者是用新的位置當作當前位置。
步驟753:用該N個目標物所對應的位置來定位。如步驟666,可以利用N個目標物位置來找到一個新的位置。接著,可以判斷該新的位置與當前位置的距離是否合理。比方說,當兩個位置的距離在一誤差範圍內時,無須校正目前位置。當兩個位置的距離超過該誤差範圍時,可以計算兩者的中點做為新的位置。或者是用新的位置當作當前位置。
步驟760:根據舊的定位資訊與新的定位資訊來更新定位資訊。
請參考圖8所示,其為圖6所示步驟666的一實施例的一流程
示意圖。在圖8所示的實施例當中,如果沒有提到任兩個步驟之間的因果關係,則本申請不限定這兩個步驟之間的執行順序。圖8所示的實施例,可以參考圖4的相關說明。
步驟810:根據四個以上相應的位置,組成相鄰的多個三角形。舉例來說,四個點可以組成相鄰的兩個三角形。五個點可以組成相鄰的三個三角形。
步驟820:計算每一個三角形的相關位置。如前所述,該相關位置可以和該三角形的重心、內心、外心、垂心的其中之一相關,也可以和任兩個或兩個以上的心相關。
步驟830:根據該多個相關位置得到一定位位置。在一實施例中,該定位位置的第一軸座標值可以是所有相關位置第一軸座標值的平均,該定位位置的第二軸座標值可以是所有相關位置第二軸座標值的平均。
請參考圖9所示,其為圖6所示步驟666的一實施例的一流程示意圖。在圖9所示的實施例當中,如果沒有提到任兩個步驟之間的因果關係,則本申請不限定這兩個步驟之間的執行順序。圖9所示的實施例,可以參考圖4的相關說明。
步驟910:根據四個以上相應的位置,選出三個信心程度最高的三個相應的位置。
步驟920:根據該三個相應的位置,組成一個三角形。
步驟930:計算該三角形的相關位置作為一定位位置。
根據本申請的一實施例,提供一種電腦視覺定位方法,包含:進行姿態與動態的偵測;取得在一地點拍攝的多張照片,其中該多張
照片的每一張照片對應到不同的方位角,該方位角資訊是由該偵測步驟所提供;將該多張照片輸入到訓練完成的一深度神經網路模型進行推論,以得到每一張該照片是否相應到一定位區域內的一個位置;以及當該推論步驟得到該定位區域內的多個相應的位置時,根據該多個相應的位置進行定位。
在一實施例中,當該推論步驟得到該定位區域內的兩個相應的位置時,更包含:根據該兩個相應的位置,得到通過該兩個相應的位置的一線段;以及根據該線段上的一定位位置以進行定位。
在一實施例中,當該推論步驟得到該定位區域內的三個相應的位置時,更包含:根據該三個相應的位置,組成一個三角形;以及根據該三角形,計算一定位位置以進行定位。
在一實施例中,如果神經網路模型可以提供推論信心程度時,當該推論步驟得到該定位區域內的四個以上相應的位置時,更包含:根據該四個以上相應的位置的推論信心程度,選出三個推論信心程度最高的相應的位置;根據該三個相應的位置,組成一個三角形;以及根據該三角形,計算一定位位置以進行定位。
在一實施例中,當該推論步驟得到該定位區域內的四個以上相應的位置時,更包含:根據該四個以上相應的位置,組成多個相鄰的三角形;計算每一個該三角形的相關位置;以及根據多個該相關位置,計算一定位位置以進行定位。
在一實施例中,為了在初次取得位置之後繼續校正,該電腦視覺定位方法更包含:取得在另一地點拍攝的一或多張第二照片;將該一
或多張第二照片輸入到該深度神經網路模型進行推論,以得到每一張該第二照片是否相應到該定位區域內的一個第二位置;當相關於該一或多張第二照片的推論步驟得到該定位區域內的一或多個相應的第二位置時,根據該一或多個相應的第二位置進行定位,取得一第二定位位置;以及根據該定位位置、該第二定位位置以及姿態與動態的偵測結果,決定校正後的一定位位置。
在一實施例中,該推論步驟更包含:將該多張照片或該第二照片輸入到該深度神經網路模型進行推論,以得到每一張照片或該第二照片是否相應到該定位區域內的一目標物;當該張照片相應到該目標物時,在地圖資訊中尋找該目標物相應的該位置;以及當該第二照片相應到該目標物時,在地圖資訊中尋找該目標物相應的該第二位置。
在一實施例中,為了支援以虛擬物件取得憑證的功能,該電腦視覺定位方法更包含:判斷該目標物是否對應到一虛擬物件;以及當該目標物對應到該虛擬物件時,透過網路向一伺服器進行登記以取得該虛擬物件的一憑證。
根據本申請的一實施例,提供一種電腦視覺定位裝置,包含:一攝像模組,用於拍攝照片;一姿態與動態偵測模組,用於進行姿態與動態的偵測;以及一中央處理器模組,用於執行非揮發性記憶體當中存儲的程式碼,用於執行下列步驟:令該姿態與動態偵測模組進行姿態與動態的偵測;取得該攝像模組在一地點拍攝的多張照片,其中該多張照片的每一張照片對應到不同的方位角資訊,該方位角資訊是由該偵測步驟所提供;將該多張照片輸入到訓練完成的一深度神經網路模型進行推論,以得
到每一張該照片是否相應到一定位區域內的一個位置;以及當該推論步驟得到該定位區域內的多個相應的位置時,根據該多個相應的位置進行定位。
在一實施例中,當該推論步驟得到該定位區域內的兩個相應的位置與方位角時,該中央處理器模組更用於:根據該兩個相應的位置,得到通過該兩個相應的位置的一線段;以及根據該線段上的一定位位置以進行定位。
在一實施例中,當該推論步驟得到該定位區域內的三個相應的位置時,該中央處理器模組更用於:根據該三個相應的位置,組成一個三角形;以及根據該三角形,計算一定位位置以進行定位。
在一實施例中,如果神經網路模型可以提供推論信心程度時,當該推論步驟得到該定位區域內的四個相應的位置時,該中央處理器模組更用於:根據該四個以上相應的位置的推論信心程度,選出三個推論信心程度最高的相應的位置;根據該三個相應的位置,組成一個三角形;以及根據該三角形,計算一定位位置以進行定位。
在一實施例中,當該推論步驟得到該定位區域內的四個以上相應的位置時,該中央處理器模組更用於:根據該四個以上相應的位置,組成多個相鄰的三角形;計算每一個該三角形的相關位置;以及根據多個該相關位置,計算一定位位置以進行定位。
在一實施例中,為了在初次取得位置之後繼續校正,該中央處理器模組更用於:取得該攝像模組在另一地點拍攝的一或多張第二照片;將該一或多張第二照片輸入到該深度神經網路模型進行推論,以得到每一張該第二照片是否相應到該定位區域內的一個第二位置;當相關於該
一或多張第二照片的推論步驟得到該定位區域內的一或多個相應的第二位置時,根據該一或多個相應的第二位置進行定位,取得一第二定位位置;以及根據該定位位置、該第二定位位置以及姿態與動態的偵測結果,決定校正後的一定位位置。
在一實施例中,該中央處理器模組更用於:將該多張照片或該第二照片輸入到該深度神經網路模型進行推論,以得到每一張照片或該第二照片是否相應到該定位區域內的一目標物;當該張照片相應到該目標物時,在地圖資訊中尋找該目標物相應的該位置;以及當該第二照片相應到該目標物時,在地圖資訊中尋找該目標物相應的該第二位置。
在一實施例中,為了支援以虛擬物件取得憑證的功能,電腦視覺定位裝置,更包含連接到一網路的一網路模組,其中該中央處理器模組更用於:判斷該目標物是否對應到一虛擬物件;以及當該目標物對應到該虛擬物件時,令該網路模組透過該網路向一伺服器進行登記以取得該虛擬物件的一憑證。
根據本申請所提供的電腦視覺定位裝置與方法,可以提供一種能夠在不需要無線電定位的電腦視覺定位機制,可以達到室內導航的精度,還能實現在移動電子設備以方便使用者的應用。
600:電腦視覺定位方法
610~690:步驟
Claims (8)
- 一種電腦視覺定位方法,包含:進行姿態與動態的偵測;取得在一地點拍攝的多張照片,其中該多張照片的每一張照片對應到不同的方位角,該方位角資訊是由該偵測步驟所提供;將該多張照片輸入到訓練完成的一深度神經網路模型進行推論,以得到每一張該照片是否相應到一定位區域內的一個位置;以及當該推論步驟得到該定位區域內的多個相應的位置時,根據該多個相應的位置進行定位,其中當該推論步驟得到該定位區域內的兩個相應的位置時,該電腦視覺定位方法更包含:根據該兩個相應的位置,得到通過該兩個相應的位置的一線段;以及根據該線段上的一定位位置以進行定位。
- 如請求項1所述的電腦視覺定位方法,其中當該推論步驟得到該定位區域內的三個相應的位置時,該電腦視覺定位方法更包含:根據該三個相應的位置,組成一個三角形;以及根據該三角形,計算另一定位位置以進行定位。
- 如請求項1所述的電腦視覺定位方法,其中當該推論步驟得到該定位區域內的四個以上相應的位置時,該電腦視覺定位方法更包含:根據該四個以上相應的位置的推論信心程度,選出三個推論信心程度最高的相應的位置; 根據該三個相應的位置,組成一個三角形;以及根據該三角形,計算另一定位位置以進行定位。
- 如請求項1所述的電腦視覺定位方法,其中當該推論步驟得到該定位區域內的四個以上相應的位置時,該電腦視覺定位方法更包含:根據該四個以上相應的位置,組成多個相鄰的三角形;計算每一個該三角形的相關位置;以及根據多個該相關位置,計算另一定位位置以進行定位。
- 一種電腦視覺定位裝置,包含:一攝像模組,用於拍攝照片;一姿態與動態偵測模組,用於進行姿態與動態的偵測;以及一中央處理器模組,用於執行非揮發性記憶體當中存儲的程式碼,用於執行下列步驟:令該姿態與動態偵測模組進行姿態與動態的偵測;取得該攝像模組在一地點拍攝的多張照片,其中該多張照片的每一張照片對應到不同的方位角資訊,該方位角資訊是由該偵測步驟所提供;將該多張照片輸入到訓練完成的一深度神經網路模型進行推論,以得到每一張該照片是否相應到一定位區域內的一個位置;以及當該推論步驟得到該定位區域內的多個相應的位置時,根據該多個相應的位置進行定位,其中當該推論步驟得到該定位區域內的兩個相應的位置與方位角時,根據該兩個相應的位置,得到通過該兩個相應的位置的 一線段;以及根據該線段上的一定位位置以進行定位。
- 如請求項5所述的電腦視覺定位裝置,其中該中央處理器模組,更用於執行下列步驟:當該推論步驟得到該定位區域內的三個相應的位置時,根據該三個相應的位置,組成一個三角形;以及根據該三角形,計算另一定位位置以進行定位。
- 如請求項5所述的電腦視覺定位裝置,其中該中央處理器模組,更用於執行下列步驟:當該推論步驟得到該定位區域內的四個相應的位置時,根據該四個以上相應的位置的推論信心程度,選出三個推論信心程度最高的相應的位置;根據該三個相應的位置,組成一個三角形;以及根據該三角形,計算另一定位位置以進行定位。
- 如請求項5所述的電腦視覺定位裝置,其中該中央處理器模組,更用於執行下列步驟:當該推論步驟得到該定位區域內的四個以上相應的位置時,根據該四個以上相應的位置,組成多個相鄰的三角形;計算每一個該三角形的相關位置;以及根據多個該相關位置,計算另一定位位置以進行定位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109112770A TWI745932B (zh) | 2020-04-14 | 2020-04-14 | 電腦視覺定位方法與裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109112770A TWI745932B (zh) | 2020-04-14 | 2020-04-14 | 電腦視覺定位方法與裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202138759A TW202138759A (zh) | 2021-10-16 |
TWI745932B true TWI745932B (zh) | 2021-11-11 |
Family
ID=79600942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109112770A TWI745932B (zh) | 2020-04-14 | 2020-04-14 | 電腦視覺定位方法與裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI745932B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200907826A (en) * | 2007-05-29 | 2009-02-16 | Cognex Corp | System and method for locating a three-dimensional object using machine vision |
CN105841687A (zh) * | 2015-01-14 | 2016-08-10 | 上海智乘网络科技有限公司 | 室内定位方法和系统 |
CN106643738A (zh) * | 2017-02-17 | 2017-05-10 | 深圳大学 | 一种室内定位系统与方法 |
TW201917407A (zh) * | 2017-10-20 | 2019-05-01 | 陳政諄 | 光室內定位方法及系統 |
CN110245611A (zh) * | 2019-06-14 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、计算机设备和存储介质 |
-
2020
- 2020-04-14 TW TW109112770A patent/TWI745932B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200907826A (en) * | 2007-05-29 | 2009-02-16 | Cognex Corp | System and method for locating a three-dimensional object using machine vision |
CN105841687A (zh) * | 2015-01-14 | 2016-08-10 | 上海智乘网络科技有限公司 | 室内定位方法和系统 |
CN106643738A (zh) * | 2017-02-17 | 2017-05-10 | 深圳大学 | 一种室内定位系统与方法 |
TW201917407A (zh) * | 2017-10-20 | 2019-05-01 | 陳政諄 | 光室內定位方法及系統 |
CN110245611A (zh) * | 2019-06-14 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TW202138759A (zh) | 2021-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11163997B2 (en) | Methods and apparatus for venue based augmented reality | |
KR20210046592A (ko) | 증강 현실 데이터 제시 방법, 장치, 기기 및 저장 매체 | |
CN104322052A (zh) | 用于实时混合或复合计算机生成的三维对象和电影摄影机馈送视频的系统 | |
CN110463165A (zh) | 信息处理装置、信息处理方法和记录介质 | |
CN103442436A (zh) | 一种室内定位终端、网络、系统及其方法 | |
CN109520500A (zh) | 一种基于终端拍摄图像匹配的精确定位及街景库采集方法 | |
WO2021093679A1 (zh) | 视觉定位方法和装置 | |
EP4105766A1 (en) | Image display method and apparatus, and computer device and storage medium | |
CN110858414A (zh) | 图像处理方法、装置、可读存储介质与增强现实系统 | |
CN108810473A (zh) | 一种在移动平台上实现gps映射摄像机画面坐标的方法及系统 | |
CN109561282A (zh) | 一种用于呈现地面行动辅助信息的方法与设备 | |
WO2022027596A1 (zh) | 可移动平台的控制方法、装置、计算机可读存储介质 | |
WO2022077296A1 (zh) | 三维重建方法、云台负载、可移动平台以及计算机可读存储介质 | |
CN108537214A (zh) | 一种室内语义地图的自动化构建方法 | |
JP2022097830A (ja) | 表示システム及びサーバ | |
JP5572053B2 (ja) | 方位推定装置およびプログラム | |
CN112150560A (zh) | 确定消失点的方法、装置及计算机存储介质 | |
CN113835352B (zh) | 一种智能设备控制方法、系统、电子设备及存储介质 | |
CN110119189A (zh) | Slam系统的初始化、ar控制方法、装置和系统 | |
CN116858215B (zh) | 一种ar导航地图生成方法及装置 | |
KR20150077607A (ko) | 증강현실을 이용한 공룡 유적지 체험 서비스 제공 시스템 및 그 방법 | |
WO2022040868A1 (zh) | 全景拍摄方法、电子设备及存储介质 | |
TWI745932B (zh) | 電腦視覺定位方法與裝置 | |
TWI746417B (zh) | 電腦視覺定位方法與裝置 | |
CN110162658A (zh) | 位置信息获取方法、装置、终端及存储介质 |