TWI660156B - 追蹤系統及方法 - Google Patents

追蹤系統及方法 Download PDF

Info

Publication number
TWI660156B
TWI660156B TW107114729A TW107114729A TWI660156B TW I660156 B TWI660156 B TW I660156B TW 107114729 A TW107114729 A TW 107114729A TW 107114729 A TW107114729 A TW 107114729A TW I660156 B TWI660156 B TW I660156B
Authority
TW
Taiwan
Prior art keywords
electronic device
map
points
feature points
feature
Prior art date
Application number
TW107114729A
Other languages
English (en)
Other versions
TW201839356A (zh
Inventor
陳遠東
葉星巧
吳柏逸
丁珩
蔡昆均
Original Assignee
宏達國際電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 宏達國際電子股份有限公司 filed Critical 宏達國際電子股份有限公司
Publication of TW201839356A publication Critical patent/TW201839356A/zh
Application granted granted Critical
Publication of TWI660156B publication Critical patent/TWI660156B/zh

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0072Transmission between mobile stations, e.g. anti-collision systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/009Transmission of differential positioning data to mobile
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

一種追蹤系統及其方法,追蹤方法包含:第一電子裝置擷取物理環境的複數個第一影像;從第一影像中提取複數個第一特徵點;根據提取出的第一特徵點產生複數個地圖點;第一電子裝置根據地圖點建立物理環境的地圖;第二電子裝置擷取物理環境的第二影像;從第二影像中提取複數個第二特徵點,並傳送第二特徵點至第一電子裝置;以及第一電子裝置根據地圖以及接收到的第二特徵點估計第二電子裝置的姿勢。

Description

追蹤系統及方法
本案是有關於一種追蹤系統及方法,且特別是有關於在此追蹤系統中,如何藉由具有地圖的一強力裝置來定位另一裝置以及改善地圖。
電子裝置利用同步定位與地圖構建(simultaneous localization and mapping,SLAM)技術來建立未知環境(例如:物理環境)的地圖,同時藉由所建立的地圖在未知環境內追蹤自己的位置。然而,電子裝置需要大量運算資源來實現SLAM技術。因此,如果電子裝置不具有足夠的計算資源,將無法利用SLAM技術追蹤自己的位置。
依據本揭示文件之第一實施態樣,其揭示一種追蹤系統,追蹤系統包含第一電子裝置以及第二電子裝置。第一電子裝置位於物理環境,其包含第一相機單元、第一處理器以及第一通訊單元。第一處理器與第一相機單元以及第一 通訊單元電性耦接。第一相機單元用以擷取物理環境的複數個第一影像。第一處理器用以從第一影像中提取複數個第一特徵點,根據提取出的第一特徵點產生複數個地圖點,並根據地圖點建立物理環境的地圖。第二電子裝置位於物理環境,其包含第二相機單元、第二處理器以及第二通訊單元。第二處理器與第二相機單元以及第二通訊單元電性耦接。第二相機單元用以擷取物理環境的第二影像。第二處理器用以從第二影像中提取複數個第二特徵點。第二通訊單元用以傳送第二特徵點至第一電子裝置。其中,第一通訊單元用以接收第二特徵點,第一處理器更用以根據地圖以及接收到的第二特徵點估計第二電子裝置的姿勢(pose)。第二電子裝置的姿勢包含第二電子裝置的位置及方向(orientation)兩者至少其一。
依據本揭示文件之第二實施態樣,其揭示一種追蹤方法,追蹤方法包含:第一電子裝置擷取物理環境的複數個第一影像;第一電子裝置從第一影像中提取複數個第一特徵點,根據提取出的第一特徵點產生複數個地圖點,並根據地圖點建立物理環境的地圖;第二電子裝置擷取物理環境的第二影像;第二電子裝置從第二影像中提取複數個第二特徵點,並傳送第二特徵點至第一電子裝置;第一電子裝置接收第二特徵點,並根據地圖以及接收到的第二特徵點估計第二電子裝置的姿勢;其中第二電子裝置的姿勢包含第二電子裝置的位置及方向兩者至少其一。
依據本揭示文件之第三實施態樣,其揭示一種追 蹤系統,追蹤系統包含第一電子裝置以及第二電子裝置。第一電子裝置位於物理環境,其包含第一相機單元、第一處理器以及第一通訊單元。第一處理器與第一相機單元以及第一通訊單元電性耦接。第一相機單元用以擷取物理環境的複數個第一影像。第一處理器用以從第一影像中提取複數個第一特徵點,根據提取出的第一特徵點產生複數個地圖點,並根據地圖點建立物理環境的地圖。第二電子裝置位於物理環境,其包含第二相機單元、第二處理器以及第二通訊單元。第二處理器與第二相機單元以及第二通訊單元電性耦接。第二相機單元用以擷取物理環境的第二影像。第二處理器用以從第二影像中提取複數個第二特徵點。第二通訊單元用以傳送第二特徵點至第一電子裝置。其中,第一處理器更用以比較第二特徵點與地圖點,以判斷第二特徵點與地圖點之間是否有匹配,並根據比較結果更新地圖。
根據上述實施態樣,追蹤系統中的第一電子裝置能夠計算第二電子裝置的位置,並根據第一電子裝置收集的第一特徵點和第二電子裝置收集的第二特徵點建立地圖。在某些實施態樣中,第二電子裝置用以收集物理環境中的第二特徵點,並且第二電子裝置能夠提供第二特徵點以改善由第一電子裝置建立的地圖。第二電子裝置可依據第一電子裝置所建立的地圖來定位自身的位置。因此,第二電子裝置不需要具有強大的運算能力來靠自己建立地圖。因此,追蹤系統允許具有較差運算資源的裝置利用SLAM技術,來定位自己的位置。
須注意的是,前文的一般性敘述以及後續的詳細說明皆以例子來進行,其僅是為申請專利範圍所陳述的本發明提供進一步的解說。
100‧‧‧定位系統
110、120‧‧‧電子裝置
111、121‧‧‧相機單元
112、122‧‧‧處理器
113、123‧‧‧通訊單元
124‧‧‧慣性測量單元
200‧‧‧追蹤方法
F1、F2、F3‧‧‧影像
OBJ1、OBJ2、OBJ3‧‧‧物體
F1P1、F1P2、F1P3、F1P4、F1P5、F2P1、F2P2、F2P3、F2P4、F2P5、F2P6、F3P1、F3P2、F3P3、F3P4、F3P5、F3P6、F3P7‧‧‧特徵點
GM‧‧‧地圖
MP1、MP2、MP3、MP4、MP5、MP6、MP7、MP8、MP9、MP10、MP11、MP12、MP13、MP14‧‧‧地圖點
d1、d2、d3、d4、d5‧‧‧距離
P1(x,y,z)、MP1(x1,y1,z1)、MP2(x2,y2,z2)、MP3(x3,y3,z3)、MP4(x4,y4,z4)、MP5(x5,y5,z5)‧‧‧座標
S210~S260、S610~S660、S651、S652A、S653A、S654‧‧‧步驟
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:第1圖係根據本案之一實施例所繪示之一種追蹤系統的方塊圖;第2圖係根據本案之一實施例所繪示之追蹤方法的流程圖;第3圖係繪示電子裝置在物理環境中的視野的示意圖;第4A圖係繪示影像特徵點的示意圖;第4B圖係繪示地圖中的地圖點的示意圖;第5A圖係繪示影像特徵點的示意圖;第5B圖係繪示特徵點及地圖點間的映射關係的示意圖;第5C圖係繪示地圖中的地圖點的示意圖;第6A圖係根據本案之一實施例所繪示之追蹤方法的流程圖;第6B圖係根據本案之另一實施例所繪示之第6A圖的部分流程圖;第7A圖係繪示影像特徵點的示意圖;第7B圖係繪示特徵點及地圖點間的映射關係的示意 圖;以及第7C圖係繪示地圖中的地圖點的示意圖。
以下將參照本案的不同實施例以及附帶的圖式進行詳細說明。說明書文中及圖式中係盡可能地使用相同的圖號來指涉相同或類似的部分。
請參閱第1圖。第1圖係根據本案之一些實施例所繪示之一種追蹤系統100的方塊圖。如第1圖所繪示,追蹤系統100包含電子裝置110及120。電子裝置110及120位於一物理環境中。於一實施例中,電子裝置110可以實作為頭戴式裝置(head-mounted device,HMD),電子裝置120可以實作為與電子裝置110進行通訊的控制裝置、智慧型手機或頭戴式裝置。於一實施例中,電子裝置120相較於電子裝置110具有較少的運算資源(例如,具有較低操作頻率的處理單元、有限的記憶體等)。
電子裝置110包含相機單元111、處理器112以及通訊單元113。處理器112電性連接至相機單元111以及通訊單元113。電子裝置120包含相機單元121、處理器122、通訊單元123以及慣性測量單元(Inertial measurement unit,IMU)124。處理器122電性連接至相機單元121、通訊單元123以及慣性測量單元124。處理器112及122可以實作為圖形處理器(graphics processor)、中央處理單元(CPU)、控制電路及/或圖形處理單元。於一些實施例中, 相機單元111可包含位於頭戴式裝置前側的一相機元件,相機單元121可包含位於控制裝置、智慧型手機或頭戴式裝置上的一相機元件。於一些實施例中,相機單元111及121可包含一雙攝相機模組及/或一深度相機。於一些實施例中,通訊單元113及123可包含一WiFi收發信機、WiFi-Direct收發信機、藍芽收發信機、BLE收發信機、Zigbee收發信機、及/或任何適用的無線通訊收發信機。
請繼續參閱第2圖。第2圖係根據本案之一實施例所繪示之追蹤方法200的流程圖。於此實施例中,追蹤方法200可用以建立物理環境的三維地圖,以及計算或估計電子裝置110及120的姿勢(pose)。在本發明中,電子裝置110及120的姿勢包含電子裝置110及120的位置,或電子裝置110及120的方向(orientation),或電子裝置110及120的位置及方向兩者皆有包含。
請一併參閱第1圖及第2圖。如第2圖之實施例所示,追蹤方法200首先執行步驟S210,以利用電子裝置110隨時間擷取物理環境的複數個影像F1。請再參考第3圖,第3圖係繪示電子裝置110及120在物理環境中的視野的示意圖。如第3圖所示的例子,電子裝置110的相機單元111係用以隨時間擷取物理環境中的影像F1。影像F1可以從不同的相機姿態擷取,而為了簡潔起見,第3圖僅示出一張影像。
接著,追蹤方法200執行步驟S220,以利用電子裝置110建立物理環境的地圖。在建立地圖之前,處理器 112從影像F1提取多個特徵點。請參考第4A圖,第4A圖係繪示影像F1之特徵點的示意圖(為了簡潔起見,在此僅以一張影像作為示例)。於前述的實施例中,處理器112根據相機單元111擷取的影像F1,提取物體OBJ1的特徵點F1P1、F1P2、F1P3、F1P4及F1P5。特徵點F1P1、F1P2、F1P3、F1P4及F1P5皆包含描述符(descriptor)及特徵點F1P1、F1P2、F1P3、F1P4及F1P5在影像F1中的二維(2D)座標。一般而言,特徵點的描述符可以表示例如角落(corner)、斑點(blob)、邊緣(edge)、直線(line)、紋理(texture)、顏色等特徵。於此實施例中,如果物體OBJ1具有綠色的網狀紋理,由影像F1提取的特徵點F1P1、F1P2、F1P3、F1P4及F1P5也會具有網狀紋理與綠色的描述符。在另一實施例中,特徵點也可以稱作地標(landmark)。
請參考第4B圖,第4B圖係繪示地圖GM中的地圖點的示意圖。於前述實施例中,處理器112提取出特徵點F1P1、F1P2、F1P3、F1P4及F1P5,並根據特徵點F1P1、F1P2、F1P3、F1P4及F1P5創造地圖點MP1、MP2、MP3、MP4及MP5,接著將地圖點MP1、MP2、MP3、MP4及MP5加入至地圖GM。於一些實施例中,地圖點MP1、MP2、MP3、MP4及MP5具有特徵點F1P1、F1P2、F1P3、F1P4及F1P5的資料(如描述符以及二維座標)以及三維(3D)座標。此處特徵點的描述符也是對應地圖點的一描述符,其用以指示出特徵點的特徵。如第4B圖所示,電子裝置110的三維座標表示為P1(x,y,z),其在某一時點(例如,當電子裝 置110啟動時)可被設為地圖GM的座標系統的原點(0,0,0),亦即x=y=z=0。相對於原點,地圖點MP1的座標為(x1,y1,z1),地圖點MP2的座標為(x2,y2,z2),地圖點MP3的座標為(x3,y3,z3),地圖點MP4的座標為(x4,y4,z4)以及地圖點MP5的座標為(x5,y5,z5)。以下以地圖點MP1為例,描述如何決定地圖點MP1的座標(x1,y1,z1)。假設電子裝置110於原點時擷取到影像F1,x1及y1的值可以根據特徵點F1P1的二維座標得知,詳細的計算方法是習知技術,在此不多作贅述。再者,z1的值可以由地圖點MP1與電子裝置110間的距離d1推導得知,例如z1可等於距離d1。因此,經由上述的方法就可以得出x1、y1及z1的值。以類似的方式,地圖點MP2、MP3、MP4及MP5的三維座標也可以被得知。於一實施例中,距離d1、d2、d3、d4及d5可經由相機單元111中包含的深度相機(圖未示)得知。舉例來說,當相機單元111擷取到影像F1時,深度相機可以同時擷取影像以提供特徵點F1P1-F1P5的深度資訊,其可被用來估計距離d1-d5。於另一實施例中,距離d1-d5可根據視差得知。在此情況中,可根據相機單元111在不同時點的位移(例如,水平位移)來計算出視差,舉例而言,於一時點相機單元111擷取X物體及Y物體的影像,於另一時點相機單元111移動至另一位置(例如,水平移動)並擷取X物體及Y物體的另一張影像,因此兩張影像的X物體具有第一移動差距,兩張影像的Y物體具有第二移動差距。如果X物體相較於Y物體較靠近相機單元111,第一移動差距就會大於第二移動 差距,因此,相機單元111與X物體的距離以及相機單元111與Y物體的距離就可被計算得出。因此如果X物體包含特徵點F1P1且Y物體包含特徵點F1P2,距離d1及d2即可得知,距離d3-d5也可以利用類似方式計算得知。於一些實施例中,如果當電子設備110處於另一姿勢(例如,另一位置和/或方向)而非於原點時擷取影像F1,則以上述方式(亦即深度相機或視差)所決定的三維座標應當被轉換,使得它們可以被用來作為地圖點的三維座標。此種轉換是反映出從原點到另一姿勢的移動,其屬於習知技術因此在此不再贅述。
接著,追蹤方法200執行步驟S230及步驟S240以利用電子裝置120擷取物理環境的影像F2,提取影像F2的複數個特徵點,並傳送該些特徵點至電子裝置110。接著請參考第5A圖,其係繪示影像F2之特徵點的示意圖。如第5A圖所示,處理器122用以從相機單元121擷取的影像F2中提取物體OBJ1的特徵點F2P1、F2P2以及物體OBJ2的特徵點F2P3、F2P4、F2P5、F2P6。通訊單元123用以傳送特徵點F2P1、F2P2、F2P3、F2P4、F2P5及F2P6至通訊單元113。
接著,追蹤方法200執行步驟S250以利用通訊單元113接收影像F2的特徵點,並執行步驟S260以利用處理器112根據地圖GM以及影像F2的特徵點,來估計電子裝置120的姿勢(即位置及/或方向)。請參考第5B圖,其係繪示特徵點及地圖點間的映射關係的示意圖。於一實施例中,當估計電子裝置120的姿勢時,處理器112首先比較接收到 的影像F2的特徵點F2P1、F2P2、F2P3、F2P4、F2P5及F2P6與地圖GM中的地圖點MP1-MP5,以判斷是否有匹配,接著根據比較結果,處理器112執行追蹤演算法以估計電子裝置120的姿勢。在此提及的追蹤演算法是任何可應用的追蹤演算法,其藉由使用類似於下面提到的匹配地圖點來追蹤物體的姿態。如第5B圖所示,特徵點F2P1及F2P2的描述符具有綠色的網狀紋理以及角落,特徵點F2P3及F2P4的描述符具有棕色的點狀紋理以及角落,特徵點F2P5及F2P6的描述符具有棕色的點狀紋理以及直線。特徵點F2P1與地圖點MP1具有相似的描述符(亦即網狀紋理以及角落),因此,處理器112將判定特徵點F2P1匹配地圖點MP1。基於類似的理由,由於特徵點F2P2和地圖點MP5具有相似的描述符,處理器112將判定特徵點F2P2匹配地圖點MP5。
於一實施例中,當處理器112將特徵點F2P1及F2P2匹配至地圖點MP1及MP5時,特徵點F2P1及F2P2會被加入至地圖點MP1及MP5,以更新或改善地圖GM。一般而言,地圖GM會藉由匹配到的特徵點被不斷地更新,而這些匹配特徵點係從相機單元111及121所擷取的影像中提取。
於一實施例中,地圖點MP1包含兩個描述符以及兩個時間標記,其中一個描述符從特徵點F1P1獲得,而F1P1具有對應影像F1的第一時間標記(例如,2018041903040018);另一個描述符從特徵點F2P1獲得,而F2P1具有對應影像F2的第二時間標記(例如, 2018041903040023)。第一時間標記及第二時間標記是分別根據特徵點F1P1及F2P1的影像被擷取的時點所產生。當有更多來自不同影像的特徵點匹配到相同的地圖點時,地圖中地圖點的描述符將更精確並且更接近物理環境的當前狀態。舉例而言,特徵點F2P1的描述符可包含不同特徵或甚至是比特徵點F1P1更多的特徵,這也反映了在不同時間標記下對應地圖點的不同狀態。
於另一實施例中,地圖點MP1包含特定數量的描述符(例如,N個描述符)以及最近N個時間標記。在此狀況中,當有多於N個描述符匹配到相同的地圖點時,最新的描述符將替換同一地圖點中最早的描述符。
於一實施例中,儘管特徵點F2P3、F2P4、F2P5及F2P6與任何地圖點MP1-MP5都不匹配,但他們仍然可以轉換成如第5C圖所示的地圖點MP6、MP7、MP8及MP9。轉換的方法類似於前述第4B圖所示的實施例,舉例而言,如果電子裝置120的相機單元121包含深度相機,電子裝置120可以將影像F2的特徵點F2P3-F2P6連同它們的深度資訊一起傳送給電子裝置110,深度資訊可以用來決定特徵點F2P3-F2P6與電子裝置120之間的距離。接著可根據計算出的距離、特徵點F2P3-F2P6的二維座標以及步驟S260中估計的電子裝置120的對應姿勢,將特徵點F2P3-F2P6轉換成地圖點MP6-MP9。於另一個例子中,特徵點F2P3-F2P6(包含描述符、二維座標、時間標記等)可以與在步驟S260中估計出的電子裝置120的對應姿勢一起儲存至地圖GM中,以等待之後被轉換成地圖點MP6-MP9。具體來說,如果之後電子裝置110在另一新影像中取得匹配到特徵點F2P3-F2P6其中之一(如F2P3)的新特徵點(圖未示),也取得電子裝置110或120的對應姿勢(取決於擷取到新影像的裝置是電子裝置110還是120),則可以根據特徵點F2P3及新影像中的新特徵點以及其相對應的姿勢,將特徵點F2P3轉換成地圖點MP6。此轉換方式是習知技術在此不再贅述。
請再繼續參考第6A圖及第6B圖,第6A圖係根據本案之一實施例所繪示之追蹤方法的流程圖,第6B圖係根據本案之另一實施例所繪示之第6A圖的部分流程圖。如第6A圖所示,步驟S610至步驟S650與步驟S210至步驟S250相似。兩者的差異在於相機單元121擷取的影像不同。請再參考第7A圖至第7C圖,第7A圖係繪示影像F3特徵點的示意圖,第7B圖係繪示特徵點及地圖點間的映射關係的示意圖,第7C圖係繪示地圖GM中的地圖點的示意圖。
當相機單元121擷取影像F3並傳送至處理器122時,處理器122根據影像F3提取物體OBJ2的特徵點F3P1、F3P2、F3P3,以及物體OBJ3的特徵點F3P4、F3P5、F3P6、F3P7。通訊單元123則傳送特徵點F3P1、F3P2、F3P3、F3P4、F3P5、F3P6及F3P7至通訊單元113。
根據前述的實施例,處理器112判斷特徵點F3P1-F3P7是否匹配地圖點MP1-MP9中任何一個。如第7B圖所示,特徵點F3P1及F3P2的描述符具有棕色的點狀紋理以及直線,特徵點F3P3的描述符具有棕色的點狀紋理以及角落,特徵點F3P4、F3P5的描述符具有藍色的加號狀(即“+”)紋理以及角落,特徵點F3P6、F3P7的描述符具有藍色的加號狀紋理以及邊緣。因此,特徵點F3P1被判定與地圖點MP8匹配,特徵點F3P2被判定與地圖點MP9匹配。
接著,追蹤方法600進一步執行步驟S651以判斷影像F3的特徵點匹配到地圖點的數量是否大於一門檻值。於一實施例中,如第7B圖所示,當處理器112將特徵點F3P1及F3P2與地圖點MP8及MP9匹配時,會將特徵點F3P1及F3P2加入至地圖點MP8及MP9,以改善地圖GM(例如,加入關於地圖點MP8及MP9的新描述符以及時間標記)。於步驟S651中,處理器112計算影像F3的特徵點匹配到地圖點的數量。於第7B圖中,影像F3的特徵點匹配到地圖點的數量為二(即特徵點F3P1及F3P2)。如果門檻值設定為一,亦即小於匹配到的特徵點的數量,則處理器112進一步執行步驟S660,以根據匹配到的地圖點(即MP8及MP9)估計電子裝置120的姿勢。門檻值的大小取決於所使用的追蹤演算法,而本發明並不限於任何特定的追蹤演算法。因此,在此門檻值為一僅只是示例性的,本發明的範圍不限於此。
接著,如果門檻值(影像中與地圖點匹配的特徵點數量)為四,影像F3的特徵點匹配到地圖點的數量就不大於門檻值,因此電子裝置110進一步執行步驟S652A,以傳送一指示符(indicator)至電子裝置120,接著電子裝置120執行步驟S653A,回應從電子裝置110接收到的指示符,而根據慣性測量的資料來估計自己的姿勢。當影像F3的特徵點匹配到地圖點的數量不大於門檻值時,指示符指示出未能估計電子裝置120的姿勢。指示符係用以告訴電子裝置120自行估計自身的姿勢,因此,處理器122即根據慣性測量的資料來估計電子裝置120的姿勢。慣性測量的資料係由慣性測量單元124所產生。慣性測量單元124可提供電子裝置120進一步的手勢或移動資料,並且處理器122可以根據慣性測量單元124的資料來估計姿勢。因此,即使沒有更強大的電子裝置的幫助,電子裝置120仍然可以追蹤自己的姿勢。
接著,追蹤方法600進一步執行步驟S654,以利用通訊單元123傳送電子裝置120的估計姿勢至電子裝置110。因此,當電子裝置110未能藉由電子裝置120所發送的特徵點來進行追蹤時,電子裝置110仍然可以追蹤電子裝置120的姿勢。當影像F3的品質由於例如電子裝置120的快速移動而不夠好時,可能會發生匹配的特徵點不足的情況。儘管僅利用慣性測量的資料來估計姿勢的準確度可能有限,但其可以避免電子裝置120失去追蹤,特別是在影像品質的問題是暫時的情況下。
於一實施例中,如第7B圖所示,儘管特徵點F3P3、F3P4、F3P5、F3P6及F3P7並未匹配到地圖點MP1-MP9任何一者,但他們仍然可以被轉換成如第7C圖所示的地圖點MP10、MP11、MP12、MP13及MP14。轉換方法類似於前述如第4B圖所示的實施例。舉例而言,如果電子 裝置120的相機單元121包含深度相機,電子裝置120可以將影像F3的特徵點F3P3-F3P7及其深度資訊一起傳送至電子裝置110,深度資訊可以用來決定特徵點F3P3-F3P7與電子裝置120之間的距離。接著,可根據計算出的距離、特徵點F3P3-F3P7的二維座標以及在步驟S660中所估計出(或在步驟S654中從電子裝置120接收到)的電子裝置120的對應姿勢,將特徵點F3P3-F3P7轉換成地圖點MP10-MP14。於另一個例子中,特徵點F3P3-F3P7(包含描述符、二維座標、時間標記等)可以連同在步驟S660中所估計出(或在步驟S654中從電子裝置120接收到)的電子裝置120的對應姿勢一起儲存至地圖GM中,等待之後被轉換成地圖點MP10-MP14。具體來說,如果之後電子裝置110在另一新影像中取得匹配到特徵點F3P3-F3P7其中之一(如F3P3)的新特徵點(圖未示),也取得電子裝置110或120的對應姿勢(取決於擷取到新影像的裝置是電子裝置110還是120),則可以根據特徵點F3P3及新影像的新特徵點及其相對應的姿勢,將特徵點F3P3轉換成地圖點MP10,此轉換方式是習知技術在此不再贅述。
於一些實施例中,在追蹤方法200及600中,電子裝置120並不會從影像F2及F3中提取特徵點來傳至電子裝置110,而是傳送完整的或壓縮過的影像F2及F3至電子裝置110,電子裝置110可以從接收到的完整或壓縮過的影像中提取特徵點。追蹤方法200及600的其他步驟則保持不變。
另外,上述例示包含依序的示範步驟,但該些步驟不必依所顯示的順序被執行。以不同順序執行該些步驟皆在本揭示內容的考量範圍內。在本揭示內容之實施例的精神與範圍內,可視情況增加、取代、變更順序及/或省略該些步驟。
雖然本案已以實施方式揭示如上,然其並非用以限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (21)

  1. 一種追蹤系統,包含:一第一電子裝置,位於一物理環境,該第一電子裝置包含:一第一相機單元,用以擷取該物理環境的複數個第一影像;一第一處理器,與該第一相機單元耦接,並用以從該些第一影像中提取複數個第一特徵點,根據提取出的該些第一特徵點產生複數個地圖點,並根據該些地圖點建立該物理環境的一地圖;以及一第一通訊單元,與該第一處理器耦接;以及一第二電子裝置,位於該物理環境,該第二電子裝置包含:一第二相機單元,用以擷取該物理環境的一第二影像;一第二處理器,與該第二相機單元耦接,用以從該第二影像中提取複數個第二特徵點;以及一第二通訊單元,與該第二處理器耦接,用以傳送該些第二特徵點至該第一電子裝置;其中,該第一通訊單元用以接收該些第二特徵點,該第一處理器更用以根據該地圖以及接收到的該些第二特徵點估計該第二電子裝置的一姿勢(pose);其中,該第二電子裝置的該姿勢包含該第二電子裝置的一位置及一方向(orientation)兩者至少其一。
  2. 如請求項1所述的追蹤系統,其中該第一通訊單元傳送估計的該第二電子裝置的該姿勢至該第二電子裝置。
  3. 如請求項1所述的追蹤系統,其中當該些第二特徵點匹配到該些地圖點的數量大於一門檻值時,該第一處理器估計該第二電子裝置的該姿勢。
  4. 如請求項3所述的追蹤系統,其中該第一處理器根據匹配到該些第二特徵點的該些地圖點估計該第二電子裝置的該姿勢。
  5. 如請求項3所述的追蹤系統,其中每一該些地圖點包含一第一描述符,該第一描述符指示出對應的地圖點的至少一個特徵,以及每一該些第二特徵點包含一第二描述符,該第二描述符指示出對應的第二特徵點的至少一個特徵,其中該第一處理器根據該第一描述符及該第二描述符判斷該些第二特徵點的其中之一與該些地圖點的其中之一之間是否匹配。
  6. 如請求項5所述的追蹤系統,其中該第二特徵點更包含對應該第二描述符的一時間標記,該第一處理器藉由將與一第一地圖點匹配的第二特徵點的該第二描述符及該時間標記加入該第一地圖點,來更新該地圖。
  7. 如請求項1所述的追蹤系統,其中當該些第二特徵點匹配到該些地圖點的數量不大於一門檻值時,該第一電子裝置傳送指示未能估計該第二電子裝置的該姿勢的一指示符至該第二電子裝置。
  8. 如請求項7所述的追蹤系統,其中該第二電子裝置更包含一慣性測量單元,該慣性測量單元用以產生慣性測量的資料,並且該第二處理器用以回應接收到的該指示符而根據該慣性測量的資料來估計該第二電子裝置的該姿勢。
  9. 如請求項8所述的追蹤系統,其中該第二電子裝置傳送該第二電子裝置的該估計姿勢至該第一電子裝置。
  10. 如請求項9所述的追蹤系統,其中該第一處理器藉由將接收到的該第二電子裝置的該估計姿勢及沒有匹配到任一該些地圖點的該第二特徵點加入該地圖,來更新該地圖。
  11. 一種追蹤方法,包含:一第一電子裝置擷取一物理環境的複數個第一影像;該第一電子裝置從該些第一影像中提取複數個第一特徵點,根據提取出的該些第一特徵點產生複數個地圖點,並根據該些地圖點建立該物理環境的一地圖;一第二電子裝置擷取該物理環境的一第二影像;該第二電子裝置從該第二影像中提取複數個第二特徵點,並傳送該些第二特徵點至該第一電子裝置;以及該第一電子裝置接收該些第二特徵點,並根據該地圖以及接收到的該些第二特徵點估計該第二電子裝置的一姿勢;其中,該第二電子裝置的該姿勢包含該第二電子裝置的一位置及一方向兩者至少其一。
  12. 如請求項11所述的追蹤方法,更包含:該第一電子裝置傳送估計的該第二電子裝置的該姿勢至該第二電子裝置。
  13. 如請求項11所述的追蹤方法,更包含:當該些第二特徵點匹配到該些地圖點的數量大於一門檻值時,該第一電子裝置估計該第二電子裝置的該姿勢。
  14. 如請求項13所述的追蹤方法,其中該第二電子裝置的該姿勢係根據匹配到該些第二特徵點的該些地圖點來估計。
  15. 如請求項11所述的追蹤方法,更包含:當該些第二特徵點匹配到該些地圖點的數量不大於一門檻值時,該第一電子裝置傳送一指示符至該第二電子裝置;其中,該指示符指示未能估計該第二電子裝置的該姿勢。
  16. 如請求項15所述的追蹤方法,其中該第二電子裝置更包含一慣性測量單元,該慣性測量單元用以產生慣性測量的資料,其中該追蹤方法更包含:該第二電子裝置回應接收到的該指示符而根據慣性測量的資料來估計該第二電子裝置的該姿勢。
  17. 如請求項16所述的追蹤方法,更包含:該第二電子裝置傳送該第二電子裝置的該估計姿勢至該第一電子裝置。
  18. 一種追蹤系統,包含:一第一電子裝置,位於一物理環境,該第一電子裝置包含:一第一相機單元,用以擷取該物理環境的複數個第一影像;一第一處理器,與該第一相機單元耦接,並用以從該些第一影像中提取複數個第一特徵點,根據提取出的該些第一特徵點產生複數個地圖點,並根據該些地圖點建立該物理環境的一地圖;以及一第一通訊單元,與該第一處理器耦接;以及一第二電子裝置,位於該物理環境,該第二電子裝置包含:一第二相機單元,用以擷取該物理環境的一第二影像;一第二處理器,與該第二相機單元耦接,用以從該第二影像中提取複數個第二特徵點;以及一第二通訊單元,與該第二處理器耦接,用以傳送該些第二特徵點至該第一電子裝置;其中,該第一通訊單元用以接收該些第二特徵點,該第一處理器更用以比較該些第二特徵點與該些地圖點,以判斷該些第二特徵點與該些地圖點之間是否有匹配,並根據該比較結果更新該地圖。
  19. 如請求項18所述的追蹤系統,其中每一該些地圖點包含一第一描述符,該第一描述符指示出對應的地圖點的至少一個特徵,以及每一該些第二特徵點包含一第二描述符,該第二描述符指示出對應的第二特徵點的至少一個特徵,其中該第一處理器根據該第一描述符及該第二描述符,判斷該第二特徵點與該地圖點之間是否匹配。
  20. 如請求項19所述的追蹤系統,其中該第二特徵點更包含對應該第二描述符的一時間標記,該第一處理器藉由將與一第一地圖點匹配的第二特徵點的該第二描述符及該時間標記加入該第一地圖點,來更新該地圖。
  21. 如請求項18所述的追蹤系統,其中該第一處理器根據匹配到該些第二特徵點的該些地圖點來估計該第二電子裝置的一姿勢,並藉由將該第二電子裝置的該估計姿勢以及沒有匹配到任一該些地圖點的該些第二特徵點加入該地圖,來更新該地圖。
TW107114729A 2017-04-28 2018-04-30 追蹤系統及方法 TWI660156B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762491269P 2017-04-28 2017-04-28
US201762491268P 2017-04-28 2017-04-28
US62/491,268 2017-04-28
US62/491,269 2017-04-28

Publications (2)

Publication Number Publication Date
TW201839356A TW201839356A (zh) 2018-11-01
TWI660156B true TWI660156B (zh) 2019-05-21

Family

ID=63916258

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107114729A TWI660156B (zh) 2017-04-28 2018-04-30 追蹤系統及方法

Country Status (3)

Country Link
US (1) US10600206B2 (zh)
CN (1) CN108801243B (zh)
TW (1) TWI660156B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209353B (zh) * 2018-11-21 2024-06-14 驭势科技(北京)有限公司 一种视觉定位地图加载方法、装置、系统和存储介质
US11178531B2 (en) 2019-03-26 2021-11-16 International Business Machines Corporation Link devices using their relative positions
US11182647B2 (en) * 2019-10-16 2021-11-23 Facebook Technologies, Llc. Distributed sensor module for tracking
CN111798489B (zh) * 2020-06-29 2024-03-08 北京三快在线科技有限公司 一种特征点跟踪方法、设备、介质及无人设备
CN111983635B (zh) * 2020-08-17 2022-03-29 浙江商汤科技开发有限公司 位姿确定方法及装置、电子设备和存储介质
CN117130064A (zh) * 2022-05-20 2023-11-28 华为技术有限公司 一种地磁信号采集方法及其相关装置
TWI826118B (zh) * 2022-11-15 2023-12-11 宏碁股份有限公司 提供裸視3d內容的系統及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333700A (zh) * 1998-11-20 2002-01-30 詹姆斯·A·阿曼 多目标跟踪系统
US20150103183A1 (en) * 2013-10-10 2015-04-16 Nvidia Corporation Method and apparatus for device orientation tracking using a visual gyroscope
TWI492188B (zh) * 2008-12-25 2015-07-11 Univ Nat Chiao Tung 利用多攝影機自動偵測與追蹤多目標的方法及系統
TWI496114B (zh) * 2012-11-23 2015-08-11 Univ Nat Taiwan 影像追蹤裝置及其影像追蹤方法
US9269003B2 (en) * 2013-04-30 2016-02-23 Qualcomm Incorporated Diminished and mediated reality effects from reconstruction

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224029B2 (en) * 2008-03-03 2012-07-17 Videoiq, Inc. Object matching for tracking, indexing, and search
US9497443B1 (en) * 2011-08-30 2016-11-15 The United States Of America As Represented By The Secretary Of The Navy 3-D environment mapping systems and methods of dynamically mapping a 3-D environment
US9378431B2 (en) * 2011-11-18 2016-06-28 Metaio Gmbh Method of matching image features with reference features and integrated circuit therefor
US8531519B1 (en) 2012-09-06 2013-09-10 Google Inc. Automatic multi-device localization and collaboration using cameras
CN105869136A (zh) * 2015-01-22 2016-08-17 北京雷动云合智能技术有限公司 一种基于多摄像机的协作式视觉slam方法
JP6651537B2 (ja) * 2015-02-18 2020-02-19 シーメンス・ヘルスケア・ダイアグノスティックス・インコーポレーテッドSiemens Healthcare Diagnostics Inc. 視覚システムのための画像ベースチューブスロット円検出
US20160260250A1 (en) * 2015-03-05 2016-09-08 Dejan Jovanovic Method and system for 3d capture based on structure from motion with pose detection tool
JP6464934B2 (ja) * 2015-06-11 2019-02-06 富士通株式会社 カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム
CN105953798B (zh) * 2016-04-19 2018-09-18 深圳市神州云海智能科技有限公司 移动机器人的位姿确定方法和设备
CN106161934A (zh) * 2016-07-14 2016-11-23 小绿草股份有限公司 影像追踪装置及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333700A (zh) * 1998-11-20 2002-01-30 詹姆斯·A·阿曼 多目标跟踪系统
TWI492188B (zh) * 2008-12-25 2015-07-11 Univ Nat Chiao Tung 利用多攝影機自動偵測與追蹤多目標的方法及系統
TWI496114B (zh) * 2012-11-23 2015-08-11 Univ Nat Taiwan 影像追蹤裝置及其影像追蹤方法
US9269003B2 (en) * 2013-04-30 2016-02-23 Qualcomm Incorporated Diminished and mediated reality effects from reconstruction
US20150103183A1 (en) * 2013-10-10 2015-04-16 Nvidia Corporation Method and apparatus for device orientation tracking using a visual gyroscope

Also Published As

Publication number Publication date
US20180315211A1 (en) 2018-11-01
TW201839356A (zh) 2018-11-01
US10600206B2 (en) 2020-03-24
CN108801243A (zh) 2018-11-13
CN108801243B (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
TWI660156B (zh) 追蹤系統及方法
US10572736B2 (en) Image processing apparatus, image processing system, method for image processing, and computer program
WO2015037178A1 (ja) 姿勢推定方法及びロボット
CN108932734B (zh) 单目图像的深度恢复方法及装置、计算机设备
CN113256718B (zh) 定位方法和装置、设备及存储介质
CN107808395B (zh) 一种基于slam的室内定位方法
US20170316612A1 (en) Authoring device and authoring method
US11488354B2 (en) Information processing apparatus and information processing method
CN111459269B (zh) 一种增强现实显示方法、系统及计算机可读存储介质
WO2022247548A1 (zh) 定位方法和装置、电子设备及存储介质
CN109155055B (zh) 关注区域图像生成装置
CN108537214A (zh) 一种室内语义地图的自动化构建方法
US20200164508A1 (en) System and Method for Probabilistic Multi-Robot Positioning
US10600202B2 (en) Information processing device and method, and program
KR20180015961A (ko) 이미지를 기반으로 한 객체 위치 추정 방법 및 장치
CN115773759A (zh) 自主移动机器人的室内定位方法、装置、设备及存储介质
CN112509058A (zh) 外参的计算方法、装置、电子设备和存储介质
US20220198743A1 (en) Method for generating location information, related apparatus and computer program product
CN113610702B (zh) 一种建图方法、装置、电子设备及存储介质
Kim et al. Recursive estimation of motion and a scene model with a two-camera system of divergent view
US20170213373A1 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
JP2018173882A (ja) 情報処理装置、方法、及びプログラム
EP3396594B1 (en) Tracking system and method thereof
US20220414919A1 (en) Method and apparatus for depth-aided visual inertial odometry
KR20200057929A (ko) 캘리브레이트된 카메라들에 의해 캡쳐된 스테레오 영상들의 렉티피케이션 방법과 컴퓨터 프로그램