TWI797042B - 姿態校正的方法和主機 - Google Patents
姿態校正的方法和主機 Download PDFInfo
- Publication number
- TWI797042B TWI797042B TW111128900A TW111128900A TWI797042B TW I797042 B TWI797042 B TW I797042B TW 111128900 A TW111128900 A TW 111128900A TW 111128900 A TW111128900 A TW 111128900A TW I797042 B TWI797042 B TW I797042B
- Authority
- TW
- Taiwan
- Prior art keywords
- host
- relative position
- posture
- image
- determining
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012937 correction Methods 0.000 title claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 25
- 230000000875 corresponding effect Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 6
- 238000009825 accumulation Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 101100042371 Caenorhabditis elegans set-3 gene Proteins 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0093—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0141—Head-up displays characterised by optical features characterised by the informative content of the display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Packaging Of Special Articles (AREA)
- Studio Devices (AREA)
Abstract
本發明的實施例提供一種姿態校正的方法和一種主機。所述方法包含:取得第一影像;反應於判定第一影像中存在至少一個參考物件中的第一參考物件,判定主機與第一參考物件之間的第一相對位置;基於第一相對位置取得第一參考姿態;以及基於第一參考姿態校正主機的姿態。
Description
本發明是有關於一種追蹤機制,且特別是有關於一種姿態校正的方法和一種主機。
在機器人定位中,估計姿態和提供準確姿態是最重要的事情。然而,在長時間追蹤機器人的姿態之後很容易發生姿態偏移。此外,姿態偏移誤差將會隨著時間推移而積累。
參見圖1A和圖1B,其展示追蹤誤差積累的不同情境。在圖1A中,假設待追蹤物件(例如,頭戴式顯示器(head-mounted display,HMD))沿著實際路徑移動,且所估計路徑為待追蹤物件自身估計的路徑。
如從圖1A中可見,在待追蹤物件開始移動時,所估計路徑接近於實際路徑,這意味著姿態偏移的問題較小。
然而,隨著待追蹤物件移動得更遠,所估計路徑逐漸從實際路徑偏移,這表示姿態偏移誤差將會隨著時間推移而積累。在圖1B的情境中出現相同情境。
有鑑於此,本發明提供一種姿態校正的方法和一種主機,其可用於解決上述技術問題。
本發明的實施例提供一種適用於主機的姿態校正的方法,包含:取得第一影像;反應於判定第一影像中存在至少一個參考物件中的第一參考物件,判定主機與第一參考物件之間的第一相對位置;基於第一相對位置取得第一參考姿態;以及基於第一參考姿態校正主機的姿態。
本發明的實施例提供一種主機,包含儲存電路和處理器。儲存電路儲存程式碼。處理器耦接到非暫時性儲存電路且存取程式碼以執行以下操作:取得第一影像;反應於判定第一影像中存在至少一個參考物件中的第一參考物件,判定主機與所述第一參考物件之間的第一相對位置;基於第一相對位置取得第一參考姿態;以及基於第一參考姿態校正主機的姿態。
參見圖2,其繪示根據本發明的實施例的主機的示意圖。在各種實施例中,主機200可為任何電子裝置,例如智慧裝置和/或電腦裝置。在一些實施例中,主機200可為實境系統(例如,VR系統、擴增實境(augmented reality,AR)系統、混合實境(mixed reality,MR)系統等)的HMD。在一些實施例中,主機200可為給使用者/佩戴者提供視覺內容(例如,VR內容)以供觀看的(獨立)HMD,但本發明不限於此。在其它實施例中,主機200可為自動化導引車輛或其它自動機器人,但本發明不限於此。
在圖中2,主機200包含儲存電路202和處理器204。儲存電路202為以下中的一個或組合:靜態或移動隨機存取記憶體(random access memory,RAM)、唯讀記憶體(read-only memory,ROM)、快閃記憶體、硬碟或任何其它類似裝置,且儲存電路202記錄可由處理器204執行的程式碼和/或多個模組。
處理器204可與儲存電路202耦接,且處理器204可為例如通用處理器、專用處理器、常規處理器、數位訊號處理器(digital signal processor,DSP)、多個微處理器、與DSP核心相關聯的一或多個微處理器、控制器、微控制器、專用積體電路(Application Specific Integrated Circuit,ASIC)、現場可程式設計閘陣列(Field Programmable Gate Array,FPGA)電路、任何其它類型的積體電路(integrated circuit,IC)、狀態機等。
在一些實施例中,主機200可配置成執行追蹤功能(例如由內而外追蹤和/或由外而內追蹤)以追蹤主機200的姿態。在一些實施例中,主機200可裝設有一或多個相機(例如,前置相機)以用於擷取主機200所定位的環境的影像。在一個實施例中,主機200可透過執行例如同時定位與地圖構建(simultaneous localization and mapping,SLAM)而基於所擷取影像來追蹤主機200的姿態。在一些實施例中,主機200的姿態的特徵可在於主機200在一或多個自由度(degree of freedom,DOF)(例如主機200的所謂的6DOF)上的一或多個分量,但本發明不限於此。
在本發明的實施例中,處理器204存取儲存在儲存電路202中的模組和/或程式碼以實施本發明中所提供的姿態校正的方法,這將在下文中進一步論述。
參見圖3,其繪示根據本發明的實施例的姿態校正的方法的流程圖。這一實施例的方法可由圖2中的主機200執行,且下文將用圖2中所繪示的組件來描述圖3中的每一步驟的細節。另外,為了更好地解釋本發明概念,圖4將用作實例,其中圖4繪示根據本發明的實施例的應用情境的示意圖。
在圖4中,假設主機200(例如,HMD)在特定場域499中移動,且當在特定場域499中四處移動時,主機200可擷取影像。
在步驟S310中,處理器204取得第一影像IM1,所述第一影像IM1可為由主機200擷取的影像中的一個。
在一個實施例中,處理器204判定第一影像IM1中是否存在一或多個參考物件。在本發明的實施例中,參考物件可以是特定裝設在特定場域499的環境中的一些物件,作為姿態校正的參考。在各種實施例中,參考物件的外觀可不同或相同。
在圖4的情境中,第一參考物件410可以是可實施為以特定圖案印刷的物件的參考物件中的一個。在其它實施例中,參考物件可以是由設計者預定的任何物件(例如,傢俱、(電子)裝置、裝飾品、器具等),但本發明不限於此。在一些實施例中,參考物件的位置和定向在特定場域499中是固定的。
在一個實施例中,對於參考物件中的每一個,可事先(例如,在特定場域499的建置階段時)構建對應查找表。舉例來說,可將對應於參考物件(稱為特定參考物件)中的一個的查找表示例性地繪示為下表1。
表1
資料組合 | 參考相對位置 | 參考區域 | 預定姿態 | |
距離 | 角度 | |||
1 | 50公分 | 0度 | 100像素 | 姿態1 |
2 | 100公分 | 30度 | 50像素 | 姿態2 |
3 | 150公分 | 60度 | 25像素 | 姿態3 |
… | … | … | … | … |
如以上可見,表1包含多個資料組合,且每一資料組合包含參考相對位置、參考區域和參考預定姿態。在本發明的實施例中,每一資料組合的參考相對位置的特徵可在於參考裝置與特定參考物件之間的距離和參考裝置相對於特定參考物件的角度。另外,當參考裝置與特定參考物件之間的相對位置匹配對應參考相對位置時,每一資料組合的參考區域為特定參考物件在參考裝置所擷取的影像中佔據的區域。
在一個實施例中,參考裝置可為用於測量每一資料組合的參考區域和預定姿態的另一HMD。舉例來說,在構建特定參考物件的查找表的資料組合1期間,參考裝置可設置成處於對應參考相對位置(即,與特定參考物件間隔50公分且相對於特定參考物件具有0度的角度)且擷取特定參考物件的影像。在這種情況下,參考裝置的當前姿態可記錄為姿態1,且特定參考物件在所擷取影像中佔據的區域可記錄為資料組合1的參考區域(例如,100像素)。
舉例來說,在構建特定參考物件的查找表的資料組合2期間,參考裝置可設置成處於對應參考相對位置(即,與特定參考物件間隔100公分且相對於特定參考物件具有30度的角度)且擷取特定參考物件的影像。在這種情況下,參考裝置的當前姿態可記錄為姿態2,且特定參考物件在所擷取影像中佔據的區域可記錄為資料組合2的參考區域(例如,50像素)。舉另一例來說,在構建特定參考物件的查找表的資料組合3期間,參考裝置可設置成處於對應參考相對位置(即,與特定參考物件間隔150公分且相對於特定參考物件具有60度的角度)且擷取特定參考物件的影像。在這種情況下,參考裝置的當前姿態可記錄為姿態3,且特定參考物件在所擷取影像中佔據的區域可記錄為資料組合3的參考區域(例如,25像素)。表1中的其它資料組合可基於類似原理來構建/測量/產生。
對於參考物件中的每一個,可基於以上教示事先構建對應查找表,且第一參考物件410亦同。
在一個實施例中,在取得第一影像IM1之後,處理器204可判定第一影像IM1中是否存在參考物件中的任一個。在圖4的情境中,假設判定第一影像IM1中存在第一參考物件410,且因此處理器204可繼續進行步驟S320。
在步驟S320中,反應於判定第一影像IM1中存在第一參考物件410,處理器204判定主機200與第一參考物件410之間的第一相對位置RL1。
在圖4中,主機200與第一參考物件410之間的第一相對位置RL1表徵為主機200與第一參考物件410之間的第一距離D1和主機200相對於第一參考物件410的第一角度A1。
在步驟S330中,處理器204基於第一相對位置RL1取得第一參考姿態。在一個實施例中,處理器204取得對應於第一參考物件410的第一查找表,其中第一查找表包含多個第一資料組合,且每一第一資料組合包含第一參考相對位置、第一參考區域和第一預定姿態。
為了更好地理解本發明的概念,將假設表1是對應於第一參考物件410的第一查找表。在這種情況下,第一資料組合可分別對應於資料組合1、資料組合2、資料組合3等。
接下來,處理器204基於第一相對位置RL1而從第一資料組合取得第一特定資料組合,其中第一特定資料組合的第一參考相對位置對應於第一相對位置RL1。
舉例來說,若處理器204判定第一距離D1為50公分且第一角度A1為0度,則處理器204可判定表1中的資料組合1為第一特定資料組合。舉另一例來說,若處理器204判定第一距離D1為100公分且第一角度A1為30度,則處理器204可判定表1中的資料組合2為第一特定資料組合。舉又一例來說,若處理器204判定第一距離D1為150公分且第一角度A1為60度,則處理器204可判定表1中的資料組合3為第一特定資料組合,但本發明不限於此。
隨後,處理器204將第一特定資料組合的第一預定姿態判定為第一參考姿態。舉例來說,若處理器204判定表1中的資料組合1為第一特定資料組合,則處理器204可將表1中的姿態1(即,資料組合1的預定姿態)對應地判定為第一參考姿態。舉另一例來說,若處理器204判定表1中的資料組合2為第一特定資料組合,則處理器204可將表1中的姿態2(即,資料組合2的預定姿態)對應地判定為第一參考姿態。舉又一例來說,若處理器204判定表1中的資料組合3為第一特定資料組合,則處理器204可將表1中的姿態3(即,資料組合3的預定姿態)對應地判定為第一參考姿態,但本發明不限於此。
在步驟S340中,處理器204基於第一參考姿態校正主機200的姿態。在一個實施例中,處理器204取得主機200的姿態與第一參考姿態之間的至少一個差,且補償主機200的姿態至少一個差。
在一個實施例中,至少一個差表徵為主機200的姿態與第一參考姿態之間的至少一個DOF上的至少一個分量差。
舉例來說,若主機200的姿態的6DOF由(x-a、y-b、z-c、φ-d、θ-e、ψ-f)表示且第一參考姿態的6DOF由(x、y、z、φ、θ、ψ)表示,則處理器204可判定主機200的姿態與第一參考姿態之間的差為(a、b、c、d、e、f)。在這種情況下,處理器204可經由補償主機200的姿態(a、b、c、d、e、f)來校正主機200的姿態,使得主機200的所補償/校正姿態變為(x、y、z、φ、θ、ψ),但本發明不限於此。
因此,當在所擷取影像中偵測到參考物件時,本發明的實施例可校正主機200的姿態。在這種情況下,當主機200在特定場域499中四處移動時,可不時地校正主機200的姿態,且因此可減緩上文所提及的姿態偏移誤差積累的問題。
在一些實施例中,主機200移動的特定場域499中可分佈有多個相同/不同的參考物件,且參考物件中的每一個可設計有對應查找表。在這種情況下,每當主機200在所擷取影像中偵測到一個參考物件時,主機200可取得主機200與這一參考物件之間的相對位置且因此取得這一參考物件的查找表中的對應預定姿態。一旦取得對應於主機200與這一參考物件之間的相對位置的預定姿態(例如,第一參考姿態),主機200就可基於這一預定姿態校正主機200的姿態。
在一個實施例中,處理器204可進一步判定是否需要校正主機200的姿態。參見圖5A,其繪示根據圖3的姿態校正的方法的流程圖。
在圖5A中,在處理器204執行步驟S310和步驟S320之後,處理器204可執行步驟S510以基於第一相對位置RL1判定是否需要校正主機200的姿態。若是,則處理器204可繼續進行如上文所教示的步驟S330和步驟S340。若否,則處理器204可繼續進行步驟S520以不校正主機200的姿態。
參見圖5B,其繪示根據圖5A的判定是否需要校正主機的姿態的流程圖。為了更好地理解,將再次使用圖4中的情境作為實例。
在步驟S511中,處理器204取得對應於第一參考物件410的第一查找表(例如,表1)。在步驟S512中,處理器204基於第一相對位置RL1而從第一資料組合取得第一特定資料組合。步驟S511和步驟S512的細節可參考以上實施例,本文中將不再重複所述實施例。
為了促進以下論述,將假設資料組合1為在步驟S512中取得的第一特定資料組合,但本發明不限於此。在這種情況下,根據表1,第一特定資料組合的第一參考區域將為100像素。
在步驟S513中,處理器204判定第一影像IM1中對應於第一參考物件410的第一區域。在一個實施例中,第一影像IM1中對應於第一參考物件410的第一區域為第一參考物件410在第一影像IM1中佔據的區域。在圖4中,假設第一影像IM1中的第一參考物件410的寬度和高度為W和H,則處理器204可判定第一區域為W×H像素。舉例來說,若W和H均為10像素,則處理器204可判定第一區域為100像素。
在其它實施例中,第一參考物件410在第一影像IM1中佔據的區域可為不規則形狀,且處理器204可因此對第一參考物件410在第一影像IM1中佔據的區域中的像素進行計數以取得第一區域,但本發明不限於此。
在步驟S514中,處理器204判定第一區域是否對應於第一特定資料組合的第一參考區域。若否,則處理器204可繼續進行步驟S515以判定需要校正主機200的姿態;若是,則處理器204可繼續進行步驟S516以判定不需要校正主機200的姿態。
在一個實施例中,處理器204可判定第一區域是否等於第一參考區域。若是,則處理器204可判定第一區域對應於第一參考區域,否則處理器204可判定第一區域不對應於第一參考區域。
舉例來說,若第一區域為100像素,則處理器204可判定第一區域對應於第一參考區域,這是因為第一區域等於所考慮的第一參考區域(即,100像素)。舉另一例來說,若第一區域不為是100像素,則處理器204可判定第一區域不對應於第一參考區域,這是因為第一區域不等於所考慮的第一參考區域(即,100像素),但本發明不限於此。
在另一實施例中,處理器204可判定第一區域與第一參考區域之間的區域差大於閾值。若否,則處理器204可判定第一區域對應於第一參考區域,否則處理器204可判定第一區域不對應於第一參考區域。
舉例來說,若第一區域為96像素且閾值為5像素,則處理器204可判定第一區域對應於第一參考區域,這是因為第一區域與所考慮的第一參考區域(即,100像素)之間的區域差(即,4像素)不大於閾值。舉另一例來說,若第一區域為94像素且閾值為5像素,則處理器204可判定第一區域不對應於第一參考區域,因為第一區域與所考慮的第一參考區域(即,100像素)之間的區域差(即,6像素)大於閾值,但本發明不限於此。
在步驟S515之後,處理器204可執行步驟S330和步驟S340,且步驟S330和步驟S340的細節可參考以上教示。
另一方面,在步驟S516之後,處理器204可繼續進行步驟S520以不校正主機200的姿態。
在一個實施例中,處理器204可判定由相機擷取的影像中的每一個中是否存在參考物件中的任一個。
在其它實施例中,處理器204可判定選擇性地偵測影像中是否存在參考物件。
舉例來說,在處理/分析第一影像IM1之後,處理器204可判定時間差且因此取得第二影像,其中第二影像比第一影像晚時間差被擷取。亦即,若在時序點T1處擷取第一影像IM1,則處理器204可判定在時序點T2處擷取的影像為第二影像,其中時序點T2比時序點T1晚了時間差。
在第二影像的情況下,處理器204可判定第二影像是否包含參考物件。
在一個實施例中,反應於判定在第一影像IM1與第二影像之間擷取至少一個影像,處理器204可不判定第一影像IM1與第二影像之間的每一影像中是否存在參考物件。亦即,處理器204可跳過對在第一影像IM1與第二影像之間擷取的影像中的參考物件的偵測。因此,可減少主機200的計算資源。
在各種實施例中,可以不同方式判定第一影像IM1與第二影像之間的時間差。
在一個實施例中,可判定第一影像IM1與第二影像之間的時間差為固定的。亦即,處理器204可週期性地執行對參考物件的偵測。舉例來說,處理器204可判定第一影像IM1、第二影像、第三影像、第四影像等中的每一個中是否存在參考物件,其中分別在時序點T3和時序點T4處擷取第三影像和第四影像。時序點T3與時序點T2之間的時間差和時序點T4與時序點T3之間的時間差同時序點T2與時序點T1之間的時間差相同。
在一個實施例中,處理器204可基於參考物件在主機200移動的特定場域499中的分佈而判定第一影像IM1與第二影像之間的時間差。
舉例來說,若參考物件稀疏地分佈於特定場域499中,則處理器204可判定時間差為較大值,這是因為不大可能在時間上接近的影像中偵測到參考物件。另一方面,若參考物件密集地分佈於特定場域499中,則處理器204可判定時間差為較小值,這是因為有可能在時間上接近的影像中偵測到參考物件。
從另一角度看,第一影像IM1與第二影像之間的時間差可與特定場域499中的參考物件之間的(平均)距離正相關。
在一個實施例中,處理器204可基於主機200在主機200移動的特定場域499中的移動速度而判定第一影像IM1與第二影像之間的時間差。
舉例來說,若主機200在特定場域499中緩慢地移動,則處理器204可判定時間差為較大值,這是因為不大可能在時間上接近的影像中偵測到參考物件。另一方面,若主機200在特定場域499中快速地移動,則處理器204可判定時間差為較小值,這是因為有可能在時間上接近的影像中偵測到參考物件。
從另一角度看,第一影像IM1與第二影像之間的時間差可與主機200在特定場域499中的移動速度負相關。
在一個實施例中,處理器204可基於主機200的預測移動軌跡而判定第一影像IM1與第二影像之間的時間差。確切地說,可基於歷史移動軌跡預測主機200的移動軌跡,且當主機200的預測移動軌跡接近特定場域499中的參考物件中的一些時,處理器204可判定時間差為較小值,這是因為可在以下影像中偵測到參考物件。
另一方面,當主機200的預測移動軌跡遠離特定場域499中的參考物件中的任一個時,處理器204可判定時間差為較大值,這是因為不大可能在以下影像中偵測到參考物件,但本發明不限於此。
在一個實施例中,反應於判定第一參考物件410也存在於第二影像中,處理器204可判定主機200與第一參考物件410之間的第一相對位置RL1。隨後,處理器204隨後執行步驟S330和步驟S340,且其細節可參考以上實施例。
在其它實施例中,反應於判定第二影像中存在其它參考物件,處理器204可因此基於以上教示來校正主機200的姿態。
在第一影像IM1中存在兩個或大於兩個參考物件的一些實施例中,處理器204可基於參考物件中的任一個判定校正主機200的姿態。在下文中將提供詳細論述。
參見圖6,其繪示根據本發明的實施例的姿態校正的方法的流程圖。為了更好地理解,圖7將用作實例,其中圖7為根據本發明的實施例的應用情境的示意圖。
在實施例中,在處理器204執行步驟S310到步驟S330之後,處理器204可在執行步驟S340之前進一步判定第一影像IM1中是否還存在其它參考物件。
在步驟S610中,反應於判定第一影像IM1中還存在第二參考物件420,處理器204判定主機200與第二參考物件420之間的第二相對位置RL2。
在圖7中,主機200與第二參考物件420之間的第二相對位置RL2表徵為主機200與第二參考物件420之間的第二距離D2和主機200相對於第二參考物件420的第二角度A2。
在步驟S620中,處理器204基於第二相對位置RL2取得第二參考姿態。在一個實施例中,處理器204取得對應於第二參考物件420的第二查找表。如上文所提及,每一參考物件可具有事先構建的對應查找表,且第二查找表可理解為第二參考物件420的對應查找表。在實施例中,第二查找表包含多個第二資料組合,且每一第二資料組合包括第二參考相對位置、第二參考區域和第二預定姿態,其中第二查找表的形式可類似於表1。為了更好地理解,表1將用作第二查找表的實例,但本發明不限於此。
接下來,處理器204基於第二相對位置RL2而從第二資料組合取得第二特定資料組合,其中第二特定資料組合的第二參考相對位置對應於第二相對位置。
舉例來說,若處理器204判定第二距離D2為50公分且第二角度A2為0度,則處理器204可判定表1中的資料組合1為第二特定資料組合。舉另一例來說,若處理器204判定第二距離D2為100公分且第二角度A2為30度,則處理器204可判定表1中的資料組合2為第二特定資料組合。舉又一例來說,若處理器204判定第二距離D2為150公分且第二角度A2為60度,則處理器204可判定表1中的資料組合3為第二特定資料組合,但本發明不限於此。
隨後,處理器204將第二資料組合的第二預定姿態判定為第二參考姿態。舉例來說,若處理器204判定表1中的資料組合1為第二特定資料組合,則處理器204可將表1中的姿態1(即,資料組合1的預定姿態)對應地判定為第二參考姿態。舉另一例來說,若處理器204判定表1中的資料組合2為第二特定資料組合,則處理器204可將表1中的姿態2(即,資料組合2的預定姿態)對應地判定為第二參考姿態。舉又一例來說,若處理器204判定表1中的資料組合3為第二特定資料組合,則處理器204可將表1中的姿態3(即,資料組合3的預定姿態)對應地判定為第二參考姿態,但本發明不限於此。
在步驟S630中,處理器204基於第一相對位置RL1和第二相對位置RL2而判定使用第一參考姿態或第二參考姿態來校正主機200的姿態。
在一個實施例中,處理器204可判定第一距離D1是否小於第二距離D2。反應於判定第一距離D1小於第二距離D2,處理器204判定使用第一參考姿態來校正主機200的姿態。另一方面,反應於判定第一距離D1不小於第二距離D2,處理器204判定使用第二參考姿態來校正主機200的姿態。
在另一實施例中,處理器204可判定第一影像IM1中對應於第二參考物件420的第二區域,其中第一影像IM1中對應於第二參考物件420的第二區域為第二參考物件420在第一影像IM1中佔據的區域。接下來,處理器204可判定第一區域是否大於第二區域。在一個實施例中,反應於判定第一區域大於第二區域,處理器204判定使用第一參考姿態來校正主機200的姿態。另一方面,反應於判定第一區域不大於第二區域,處理器204判定使用第二參考姿態來校正主機200的姿態。
在圖6中,在判定使用第一參考姿態來校正主機200的姿態之後,處理器204執行步驟S640以基於第一參考姿態來校正主機200的姿態且忽略第二參考姿態。基於第一參考姿態校正主機200的姿態的細節可參考以上實施例,本文中將不再重複所述實施例。
另一方面,在判定使用第二參考姿態來校正主機200的姿態之後,處理器204執行步驟S650以基於第二參考姿態來校正主機的姿態且忽略第一參考姿態。基於第二參考姿態校正主機200的姿態的細節類似於基於第一參考姿態校正主機200的姿態的方式,且因此本文中將不再重複其細節。
參見圖8,其繪示根據本發明的實施例的應用情境。在圖中8,假設主機200沿著實際路徑移動。在主機200從點0移動到點1的過程期間,可逐漸積累主機200的姿態的姿態偏移誤差,使得主機200的所估計路徑從實際路徑逐漸偏離。然而,當主機200到達點1且判定在所擷取影像中偵測到參考物件811時,可基於參考物件811校正主機200的姿態,使得可將主機200的所估計路徑校正成在點1處擬合實際路徑。
在主機200從點1移動到點2的過程期間,可逐漸積累主機200的姿態的姿態偏移誤差,使得主機200的所估計路徑從實際路徑逐漸偏離。然而,當主機200到達點2且判定在所擷取影像中偵測到參考物件812時,可基於參考物件812校正主機200的姿態,使得可將主機200的所估計路徑校正成在點2處擬合實際路徑。
在主機200從點2移動到點3的過程期間,可逐漸積累主機200的姿態的姿態偏移誤差,使得主機200的所估計路徑從實際路徑逐漸偏離。然而,當主機200到達點3且判定在所擷取影像中偵測到參考物件813時,可基於參考物件813校正主機200的姿態,使得可將主機200的所估計路徑校正成在點3處擬合實際路徑。
在主機200從點3移動到點4的過程期間,可逐漸積累主機200的姿態的姿態偏移誤差,使得主機200的所估計路徑從實際路徑逐漸偏離。然而,當主機200到達點4且判定在所擷取影像中偵測到參考物件814時,可基於參考物件814校正主機200的姿態,使得可將主機200的所估計路徑校正成在點4處擬合實際路徑。
綜上所述,當在所擷取影像中偵測到參考物件時,本發明的實施例可校正主機的姿態。在這種情況下,當主機在特定場域中四處移動時,可不時地校正主機的姿態,且因此可減輕上文所提及的姿態偏移誤差積累的問題。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
200:主機
202:儲存電路
204:處理器
410:第一參考物件
420:第二參考物件
499:特定場域
811, 812, 813, 814:參考物件
A1:第一角度
A2:第二角度
D1:第一距離
D2:第二距離
H:高度
IM1:第一影像
RL1:第一相對位置
RL2:第二相對位置
S310, S320, S330, S340, S510, S511, S512, S513, S514, S515, S516, S520, S610, S620, S630, S640, S650:步驟
W:寬度
圖1A和圖1B展示追蹤誤差積累的不同情境。
圖2繪示根據本發明的實施例的主機的示意圖。
圖3繪示根據本發明的實施例的姿態校正的方法的流程圖。
圖4繪示根據本發明的實施例的應用情境的示意圖。
圖5A繪示根據圖3的姿態校正的方法的流程圖。
圖5B繪示根據圖5A的判定是否需要校正主機的姿態的流程圖。
圖6繪示根據本發明的實施例的姿態校正的方法的流程圖。
圖7為根據本發明的實施例的應用情境的示意圖。
圖8繪示根據本發明的實施例的應用情境。
S310,S320,S330,S340:步驟
Claims (19)
- 一種姿態校正的方法,適用於主機,包括:取得第一影像;反應於判定所述第一影像中存在至少一個參考物件中的第一參考物件,判定所述主機與所述第一參考物件之間的第一相對位置;基於所述第一相對位置取得第一參考姿態,包括:取得對應於所述第一參考物件的第一查找表,其中所述第一查找表包括多個第一資料組合,且各所述第一資料組合包括第一參考相對位置和第一預定姿態;基於所述第一相對位置而從所述第一資料組合取得第一特定資料組合,其中所述第一特定資料組合的所述第一參考相對位置對應於所述第一相對位置;以及將所述第一特定資料組合的所述第一預定姿態判定為所述第一參考姿態;以及基於所述第一參考姿態校正所述主機的姿態。
- 如請求項1所述的姿態校正的方法,其中所述主機與所述第一參考物件之間的所述第一相對位置表徵為所述主機與所述第一參考物件之間的第一距離和所述主機相對於所述第一參考物件的第一角度。
- 如請求項1所述的姿態校正的方法,其中在基於所述第一相對位置取得所述第一參考姿態的所述步驟之前,所述方法更包括:基於所述第一相對位置而判定是否需要校正所述主機的所述姿態;反應於判定需要校正所述主機的所述姿態,基於所述第一相對位置取得所述第一參考姿態且基於所述第一參考姿態校正所述主機的所述姿態;以及反應於判定不需要校正所述主機的所述姿態,不校正所述主機的所述姿態。
- 如請求項3所述的姿態校正的方法,其中基於所述第一相對位置而判定是否需要校正所述主機的所述姿態的所述步驟包括:取得對應於所述第一參考物件的第一查找表,其中所述第一查找表包括多個第一資料組合,且各所述第一資料組合包括第一參考相對位置、第一參考區域和第一預定姿態;基於所述第一相對位置而從所述第一資料組合取得第一特定資料組合,其中所述第一特定資料組合的所述第一參考相對位置對應於所述第一相對位置;判定所述第一影像中對應於所述第一參考物件的第一區域;反應於判定所述第一區域不對應於所述第一特定資料組合的所述第一參考區域,判定需要校正所述主機的所述姿態;以及 反應於判定所述第一區域對應於所述第一特定資料組合的所述第一參考區域,判定不需要校正所述主機的所述姿態。
- 如請求項4所述的姿態校正的方法,其中所述第一影像中對應於所述第一參考物件的所述第一區域為所述第一參考物件在所述第一影像中佔據的區域。
- 如請求項1所述的姿態校正的方法,更包括:判定時間差且因此取得第二影像,其中所述第二影像比所述第一影像晚所述時間差被擷取;判定所述第二影像是否包括所述至少一個參考物件。
- 如請求項6所述的姿態校正的方法,更包括:反應於判定在所述第一影像與所述第二影像之間擷取至少一個影像,不判定所述第一影像與所述第二影像之間的各所述影像中是否存在所述至少一個參考物件。
- 如請求項6所述的姿態校正的方法,其中所述第一影像與所述第二影像之間的所述時間差為固定的。
- 如請求項6所述的姿態校正的方法,包括:基於所述至少一個參考物件在所述主機移動的特定場域中的分佈而判定所述第一影像與所述第二影像之間的所述時間差。
- 如請求項6所述的姿態校正的方法,包括:基於所述主機在所述主機移動的特定場域中的移動速度而判定所述第一影像與所述第二影像之間的所述時間差。
- 如請求項6所述的姿態校正的方法,包括:基於所述主機的預測移動軌跡而判定所述第一影像與所述第二影像之間的所述時間差。
- 如請求項6所述的姿態校正的方法,更包括:反應於判定所述第二影像中存在至少一個參考物件中的所述第一參考物件,判定所述主機與所述第一參考物件之間的所述第一相對位置;基於所述第一相對位置取得所述第一參考姿態;以及基於所述第一參考姿態校正所述主機的所述姿態。
- 如請求項1所述的姿態校正的方法,其中在基於所述第一參考姿態校正所述主機的所述姿態的所述步驟之前,所述方法更包括:反應於判定所述第一影像中還存在至少一個參考物件中的第二參考物件,判定所述主機與所述第二參考物件之間的第二相對位置;基於所述第二相對位置取得第二參考姿態;基於所述第一相對位置和所述第二相對位置而判定使用所述第一參考姿態或所述第二參考姿態來校正所述主機的所述姿態;反應於判定使用所述第一參考姿態來校正所述主機的所述姿態,基於所述第一參考姿態來校正所述主機的所述姿態且忽略所述第二參考姿態;以及反應於判定使用所述第二參考姿態來校正所述主機的所述姿 態,基於所述第二參考姿態來校正所述主機的所述姿態且忽略所述第一參考姿態。
- 如請求項13所述的姿態校正的方法,其中所述第一相對位置包括所述第一參考物件與所述主機之間的第一距離,所述第二相對位置包括所述第二參考物件與所述主機之間的第二距離,且基於所述第一相對位置和所述第二相對位置而判定使用所述第一參考姿態或所述第二參考姿態來校正所述主機的所述姿態的所述步驟包括:反應於判定所述第一距離小於所述第二距離,判定使用所述第一參考姿態來校正所述主機的姿態;以及反應於判定所述第一距離不小於所述第二距離,判定使用所述第二參考姿態來校正所述主機的所述姿態。
- 如請求項13所述的姿態校正的方法,其中基於所述第一相對位置和所述第二相對位置而判定使用所述第一參考姿態或所述第二參考姿態來校正所述主機的所述姿態的所述步驟包括:判定所述第一影像中對應於所述第一參考物件的第一區域和對應於所述第二參考物件的第二區域;反應於判定所述第一區域大於所述第二區域,判定使用所述第一參考姿態來校正所述主機的所述姿態;以及反應於判定所述第一區域不大於所述第二區域,判定使用所述第二參考姿態來校正所述主機的所述姿態。
- 如請求項13所述的姿態校正的方法,其中基於所述第二相對位置取得所述第二參考姿態的所述步驟包括:取得對應於所述第二參考物件的第二查找表,其中所述第二查找表包括多個第二資料組合,且各所述第二資料組合包括第二參考相對位置、第二參考區域和第二預定姿態;基於所述第二相對位置而從所述第二資料組合取得第二特定資料組合,其中所述第二特定資料組合的所述第二參考相對位置對應於所述第二相對位置;以及將所述第二資料組合的所述第二預定姿態判定為所述第二參考姿態。
- 如請求項1所述的姿態校正的方法,其中基於所述第一參考姿態校正所述主機的所述姿態的所述步驟包括:取得所述主機的所述姿態與所述第一參考姿態之間的至少一個差;以及補償所述主機的所述姿態所述至少一個差。
- 如請求項17所述的姿態校正的方法,其中所述至少一個差表徵為所述主機的所述姿態與所述第一參考姿態之間的至少一個自由度上的至少一個分量差。
- 一種主機,包括:儲存電路,儲存程式碼;以及處理器,連接到所述儲存電路且存取所述程式碼以執行以下操作: 取得第一影像;反應於判定所述第一影像中存在至少一個參考物件中的第一參考物件,判定所述主機與所述第一參考物件之間的第一相對位置;基於所述第一相對位置取得第一參考姿態,包括:取得對應於所述第一參考物件的第一查找表,其中所述第一查找表包括多個第一資料組合,且各所述第一資料組合包括第一參考相對位置和第一預定姿態;基於所述第一相對位置而從所述第一資料組合取得第一特定資料組合,其中所述第一特定資料組合的所述第一參考相對位置對應於所述第一相對位置;以及將所述第一特定資料組合的所述第一預定姿態判定為所述第一參考姿態;以及基於所述第一參考姿態校正所述主機的姿態。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/824,906 | 2022-05-26 | ||
US17/824,906 US20240005553A1 (en) | 2022-05-26 | 2022-05-26 | Method for pose correction and host |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI797042B true TWI797042B (zh) | 2023-03-21 |
TW202347260A TW202347260A (zh) | 2023-12-01 |
Family
ID=86692559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111128900A TWI797042B (zh) | 2022-05-26 | 2022-08-02 | 姿態校正的方法和主機 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240005553A1 (zh) |
CN (1) | CN117170351A (zh) |
TW (1) | TWI797042B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160260251A1 (en) * | 2015-03-06 | 2016-09-08 | Sony Computer Entertainment Inc. | Tracking System for Head Mounted Display |
CN109410303A (zh) * | 2017-08-15 | 2019-03-01 | 想象技术有限公司 | 用于头戴式显示器的低延迟失真单元 |
TW201915445A (zh) * | 2017-10-13 | 2019-04-16 | 緯創資通股份有限公司 | 用於頭戴式顯示裝置的定位方法、定位器以及定位系統 |
TW202020628A (zh) * | 2018-11-28 | 2020-06-01 | 宏碁股份有限公司 | 追蹤定位系統及其掃描裝置、頭戴式顯示器、運算裝置的定位與校正方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7336752B2 (ja) * | 2018-12-28 | 2023-09-01 | パナソニックIpマネジメント株式会社 | 測位装置及び移動体 |
US11748954B2 (en) * | 2020-06-01 | 2023-09-05 | Snap Inc. | Tracking an augmented reality device |
KR20220122287A (ko) * | 2021-02-26 | 2022-09-02 | 삼성전자주식회사 | 증강 현실 제공 장치의 포즈 결정 방법 및 장치 |
-
2022
- 2022-05-26 US US17/824,906 patent/US20240005553A1/en active Pending
- 2022-08-02 TW TW111128900A patent/TWI797042B/zh active
- 2022-08-17 CN CN202210985268.XA patent/CN117170351A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160260251A1 (en) * | 2015-03-06 | 2016-09-08 | Sony Computer Entertainment Inc. | Tracking System for Head Mounted Display |
CN109410303A (zh) * | 2017-08-15 | 2019-03-01 | 想象技术有限公司 | 用于头戴式显示器的低延迟失真单元 |
TW201915445A (zh) * | 2017-10-13 | 2019-04-16 | 緯創資通股份有限公司 | 用於頭戴式顯示裝置的定位方法、定位器以及定位系統 |
TW202020628A (zh) * | 2018-11-28 | 2020-06-01 | 宏碁股份有限公司 | 追蹤定位系統及其掃描裝置、頭戴式顯示器、運算裝置的定位與校正方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202347260A (zh) | 2023-12-01 |
US20240005553A1 (en) | 2024-01-04 |
CN117170351A (zh) | 2023-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6735592B2 (ja) | 画像処理装置及びその制御方法、画像処理システム | |
US8619144B1 (en) | Automatic camera calibration | |
US9208395B2 (en) | Position and orientation measurement apparatus, position and orientation measurement method, and storage medium | |
CN108111828B (zh) | 投影设备校正方法、装置及投影设备 | |
TW201923706A (zh) | 用以於環境中校正視覺系統的方法和系統 | |
US10438412B2 (en) | Techniques to facilitate accurate real and virtual object positioning in displayed scenes | |
JP2015158461A (ja) | 姿勢推定装置、姿勢推定方法及び姿勢推定用コンピュータプログラム | |
Nowicki | Spatiotemporal calibration of camera and 3D laser scanner | |
CN113052907B (zh) | 一种动态环境移动机器人的定位方法 | |
JP2019168862A5 (zh) | ||
US11346663B2 (en) | Stereo camera | |
US10386930B2 (en) | Depth determining method and depth determining device of operating body | |
US9091821B2 (en) | Device and method of focusing on points of objects | |
JP6922348B2 (ja) | 情報処理装置、方法、及びプログラム | |
TWI797042B (zh) | 姿態校正的方法和主機 | |
US20100262290A1 (en) | Data matching apparatus, data matching method and mobile robot | |
KR101222009B1 (ko) | 프로젝터와 에피폴라 기하학을 기반으로 한 카메라의 렌즈 왜곡 보정 시스템과 그 방법 | |
US10726528B2 (en) | Image processing apparatus and image processing method for image picked up by two cameras | |
US11625836B2 (en) | Trajectory calculation device, trajectory calculating method, and trajectory calculating program | |
US20200351488A1 (en) | Three-dimensional information acquisition system using pitching practice, and method for calculating camera parameters | |
TW202319889A (zh) | 用於偵測手勢的方法和系統,以及電腦可讀儲存媒體 | |
JP2012068842A (ja) | 動きベクトル検出装置、動きベクトル検出方法、および、動きベクトル検出プログラム | |
JP7491398B2 (ja) | マップ生成装置、マップ生成方法、及びプログラム | |
TWI469089B (zh) | 影像判斷方法以及物件座標計算裝置 | |
US20160353036A1 (en) | Image processing method and image processing apparatus |