CN112074705A - 光学惯性跟踪运动物体的方法和系统 - Google Patents

光学惯性跟踪运动物体的方法和系统 Download PDF

Info

Publication number
CN112074705A
CN112074705A CN201780098284.4A CN201780098284A CN112074705A CN 112074705 A CN112074705 A CN 112074705A CN 201780098284 A CN201780098284 A CN 201780098284A CN 112074705 A CN112074705 A CN 112074705A
Authority
CN
China
Prior art keywords
data
tracker
data processing
merged
processing device
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201780098284.4A
Other languages
English (en)
Inventor
彼得·维亚切斯拉沃维奇·塞沃斯托亚诺夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ALT LLC
Original Assignee
ALT LLC
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 ALT LLC filed Critical ALT LLC
Publication of CN112074705A publication Critical patent/CN112074705A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/98Accessories, i.e. detachable arrangements optional for the use of the video game device, e.g. grip supports of game controllers
    • 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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1656Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
    • 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/0018Transmission from mobile station to base station
    • G01S5/0036Transmission from mobile station to base station of measured values, i.e. measurement on mobile and position calculation on base station
    • 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
    • G01S5/163Determination of attitude
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • 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/10016Video; Image sequence
    • 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/10048Infrared image
    • 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/30204Marker
    • 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/30241Trajectory
    • 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)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Electromagnetism (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Studio Devices (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Position Input By Displaying (AREA)

Abstract

本发明涉及一种用于由内而外光学惯性跟踪可移动物体的方法和系统。所述方法包括以下步骤:(a)通过多个标记提供IR光的发射;(b)从物理上被连接到所述可移动物体的光学传感器读取图片,并通过第一数据处理装置在被读取的图片中检测满足预定条件的像素;(c)基于检测到的像素检测标记斑点,并通过所述第一数据处理装置确定所述标记斑点的参数;(d)通过所述第一数据处理装置从物理上被连接到所述可移动物体的至少一个惯性传感器读取数据;(e)通过所述第一数据处理装置生成包括所述标记斑点的参数和所述至少一个惯性传感器的数据的合并数据流,并通过第一通信装置向第二通信装置传输所述合并数据流;(f)通过所述第二通信装置接收所述合并数据流,并通过第二数据处理装置基于所述合并数据流确定在所述可移动物体的运动区域的坐标系中的跟踪器定位数据;(g)通过所述第二数据处理装置基于所述跟踪器定位数据来验证跟踪器运动路径的数学模型;(h)通过所述第二数据处理装置基于所述跟踪器运动路径的经验证的数学模型将所述跟踪器定位数据外推到外推层位上。

Description

光学惯性跟踪运动物体的方法和系统
技术领域
本发明涉及用于从内到外的光学惯性跟踪可移动物体的方法和系统,并且其可用于虚拟现实或增强现实系统、内部物流系统(包括工厂物流、仓库物流或商店物流)、机器人系统、无人移动物体和其他类型的工业、科学或训练系统。
背景技术
在虚拟现实(VR)系统或在增强现实(AR)系统中跟踪可移动对象意味着跟踪用于呈现向系统的用户显示的图像的可移动对象的位置和方向。
跟踪系统可以被配置为外部-内部跟踪系统或内部-外部跟踪系统,其中传感器或多个传感器位于被跟踪对象外部的区域中,并且参考点或多参考点位于所跟踪对象上,其中,一个或多个传感器位于被跟踪对象上,并且一个或一个多个参考点位于所述跟踪对象之外的区域中。
至于传感器类型,存在其中使用光学传感器(例如,在可见光或红外光范围中操作的相机)的光学跟踪,以及其中使用惯性传感器的惯性跟踪,例如陀螺仪和加速度计。此外,磁场传感器(磁力计)、海平面以上高度的传感器(高度计)和一些其它传感器类型也可用于跟踪系统中。
存在使用集中式定位系统的跟踪系统,其可以是本地或全球的、基于卫星的或陆地的系统。
意图用于游戏、娱乐和训练VR/AR系统的大多数跟踪系统是组合跟踪系统。特别地,光学惯性跟踪系统被广泛地使用,其基于光学传感器和惯性传感器的组合应用,其中传感器彼此互补并且相互补偿其缺点。
存在实现内部-外部光学-惯性跟踪方法的跟踪系统,其中视频摄像机位于可移动物体上,并且用作光学跟踪参考点的光学发光或回射标记以预定方式固定地安装在系统操作区域的场所或场所中。陀螺仪和加速度计也位于可移动物体上,并且从这些传感器获取的数据被用于确定被跟踪物体的位置、方向、速度和移动方向、加速度和其他参数,以及从摄像机获取到的数据。采用数据外插来预测上述参数,以便补偿算法相关和硬件相关延迟。
专利文献US9352230公开了一种外置式光学惯性跟踪系统,其中使用照相机、陀螺仪和加速度计数据,并且使用数据外插来预测可移动物体的参数。该系统的缺点是需要应用多个固定相机来覆盖整个操作区域,从而为游戏、娱乐和训练VR/AR系统提供足够的空间。在该文献中提到了实现内部-外部光学-惯性跟踪方法的可能性;然而,没有公开这种实现的技术细节。
专利文献US2017177937公开了一种从内到外的光学惯性跟踪系统,其中使用照相机、陀螺仪和加速度计数据,并且使用数据外推来预测可移动物体的参数。该系统不采用以预定方式安装在系统操作区域的场所或场所中并用作光学跟踪的参考点的标记。使用建筑或自然环境的特征点作为参考点增加了对系统计算能力的要求,并且当计算资源有限时,这种方法不可避免地导致系统操作速度的降低。
专利文献US2008300055公开了一种外置式光学惯性跟踪系统,其中使用相机、陀螺仪和加速度计数据,并且使用数据外推来预测可移动物体的参数。该系统的缺点是需要应用多个固定相机来覆盖整个操作区域,从而为游戏、娱乐和训练VR/AR系统提供足够的空间。在该文献中提到了实现从内到外的光学惯性跟踪方法的可能性,其中跟踪相机位于手镯中;然而,没有公开该实现选项的技术细节。
专利文献US2016232715公开了一种外置式光学惯性跟踪系统,其中使用照相机、陀螺仪和加速度计数据,并且使用数据外插来预测可移动物体的参数。该系统的缺点是需要应用多个固定相机来覆盖整个操作区域,从而为游戏、娱乐和训练VR/AR系统提供足够的空间。在该文献中提到了实现内部-外部光学 -惯性跟踪方法的可能性,其中跟踪相机位于移动设备中;然而,没有公开该实现选项的技术细节。
专利文献US2012105473公开了一种外内光学惯性跟踪系统,其中使用从位于头盔显示器中的照相机、陀螺仪和加速度计获取的数据,并且使用数据外推来预测可移动物体的参数。该系统不使用主动标记;该特征增加了对系统计算能力的要求,并且当计算资源受限时,该方法不可避免地导致系统操作速度的降低。
专利文献US2015029218公开了一种外内光学惯性跟踪系统,其中使用从位于头盔显示器中的照相机、陀螺仪和加速度计获取的数据,并且使用数据外推来预测可移动物体的参数。该系统不使用主动标记,因此对系统的计算能力的要求增加,并且当计算资源有限时,该方法不可避免地导致系统操作速度的降低。
专利文献WO2014210342公开了一种外置式光学惯性跟踪系统,其中使用从位于头盔显示器中的照相机、陀螺仪和加速度计获取的数据,并且使用数据外推来预测可移动物体的参数。该系统不使用主动标记;该特征增加了对系统计算能力的要求,并且当计算资源受限时,该方法不可避免地导致系统操作速度的降低。
专利文献US2014354515公开了一种外置式光学惯性跟踪系统,其中使用照相机、陀螺仪和加速度计数据,并且使用数据外推来预测可移动物体的参数。该系统的缺点是需要应用多个固定相机来覆盖整个操作区域,从而为游戏、娱乐和训练VR/AR系统提供足够的空间。在该文献中提到了实现内部-外部光学 -惯性跟踪方法的可能性,其中跟踪摄像机位于头盔安装的显示器中;然而,没有公开这种实现的技术细节。
专利文献US2017185171公开了一种外置式光学惯性跟踪系统,其中使用照相机、陀螺仪和加速度计数据,并且使用数据外插来预测可移动物体的参数。该系统的缺点是需要应用多个固定相机来覆盖整个操作区域,从而为游戏、娱乐和训练VR/AR系统提供足够的空间。在该文献中提到了实现内部-外部光学 -惯性跟踪方法的可能性,其中跟踪相机位于用户附近;然而,没有公开该实现选项的技术细节。
专利文献US2017018121公开了一种外置式光学惯性跟踪系统,其中使用照相机、陀螺仪和加速度计数据,并且使用数据外插来预测可移动物体的参数。该系统的缺点是需要应用多个固定相机来覆盖整个操作区域,从而为游戏、娱乐和训练VR/AR系统提供足够的空间。在该文献中提到了实现内部-外部光学-惯性跟踪方法的可能性,其中跟踪相机位于用户附近;然而,没有公开该实现选项的技术细节。
专利文献US2014062881公开了一种外内光学惯性跟踪系统,其中使用从位于头盔显示器中的照相机、陀螺仪和加速度计获取的数据,并且使用数据外推来预测可移动物体的参数。该系统不使用主动标记,因此对系统的计算能力的要求增加,并且当计算资源有限时,该方法不可避免地导致系统操作速度的降低。
非专利文献Hogue等[1]公开了一种从内到外的光学惯性跟踪系统,其中使用从位于头盔安装的显示器中的照相机、陀螺仪和加速度计获取的数据,并且使用数据外推来预测可移动物体的参数。通过激光束投影在墙壁上形成的图像被用作光学跟踪的参考点,而不是活动标记;该特征增加了对系统计算能力的要求,并且当计算资源有限时,该方法不可避免地导致系统操作速度的降低。
非专利文献Wormell等[2]公开了一种从内到外的光学惯性跟踪系统,其中使用从位于头盔显示器中的相机、陀螺仪和加速度计获取的数据,并且使用数据外推来预测可移动物体的参数。应用于墙壁的图像被用作光学跟踪的参考点,而不是活动标记;该特征增加了对系统计算能力的要求,并且当计算资源有限时,该方法不可避免地导致系统操作速度的降低。
非专利文献ATAC等[3,4]公开了一种从内到外的光学惯性跟踪系统,其中使用从位于头盔显示器中的相机、陀螺仪和加速度计获取的数据,并且使用数据外推来预测可移动物体的参数。应用于墙壁的条形码代替活动标记被用作光学跟踪的参考点;该特征增加了对系统计算能力的要求,并且当计算资源有限时,该方法不可避免地导致系统操作速度的降低。
在非专利文件pinz等[5]中讨论了用于实现移动AR系统的内部-外部光学跟踪和惯性跟踪的组合;然而,该讨论大多是理论上的。
在非专利文献You等[6]中讨论了在光学惯性跟踪系统中使用光学传感器数据来校正惯性传感器数据;然而,该讨论大多是理论上的。
非专利文献Miezal等[7]公开了一种用于使用位于相机的可视范围内的单个被动标记来跟踪用户头部的位置的由内而外的光学惯性跟踪系统;这种方法将该解决方案的应用限制为用户相对久坐的那些选项,因此其在游戏、娱乐和训练VR/AR系统中的实现是不方便的。
因此,需要一种在VR/AR系统中跟踪用户的快速、可靠、精确和相对便宜的方法,其中用户的肢体可能颠簸,并且用户的身体可能在相当宽的操作区域中快速移动,其大小可以从几平方米(在单用户系统中) 到几十平方米或者甚至到几百平方米的范围(在多用户系统)。
与跟踪可移动物体相关的类似任务与其他领域相关,特别是内部物流系统(包括工厂物流、仓库物流或商店物流)、机器人系统、无人驾驶车辆和其他类型的工业、科学或训练系统。
发明内容
本发明旨在解决在不同系统中快速、可靠、精确且相对便宜地跟踪可移动物体的问题,首先,在VR/AR 系统中,但不限于此。
该目的通过本发明的第一方面来实现,本发明是一种光学惯性跟踪可移动物体的方法,该方法包括以下步骤:
(a)通过多个标记提供IR光的发射;
(b)由第一数据处理设备从物理地连接到可移动物体的光学传感器读取图片,并在读取的图片中检测满足预定义条件的像素;
(c)基于检测到的像素检测标记斑点,并由第一数据处理设备确定标记斑点的参数;
(d)通过所述第一数据处理设备从物理上连接到所述可移动物体的至少一个惯性传感器读取数据;
(e)由所述第一数据处理设备生成包括所述标记斑点的参数和所述至少一个惯性传感器的数据的合并的数据流,并且由第一通信设备向第二通信设备发送所述合并的数据流;
(f)由所述第二通信设备接收所述合并的数据流,并由所述第二数据处理设备基于所述合并的数据流确定在所述可移动对象的运动区域的坐标系中的跟踪器定位数据;
(g)由所述第二数据处理设备基于所述跟踪器定位数据来验证跟踪器运动路径的数学模型;
(h)由所述第二数据处理设备基于所述跟踪器运动路径的经验证的数学模型将所述跟踪器定位数据外推到外推地平线上。
在该方法中,在步骤(b)中来自光学传感器的图片可以从光学传感器小于光学传感器整体框架尺寸的部分读取。
在该方法中,待读取的光学传感器部分可以是描迹窗。
在该方法中,步骤(b)中的预定义条件可以包括像素的亮度的阈值。
在该方法中,预定义条件可包括与像素的聚集有关的要求。
在该方法中,在步骤(b)中检测满足预定义条件的像素可以在结束从光学传感器读取图片之前开始。
在该方法中,步骤(b)可以由FPGA执行。
在该方法中,步骤(c)中的每个标记斑点的参数可以包括其中心在光学传感器的框架的坐标系中的坐标、有效半径和加权亮度。
在该方法中,可以以亚像素精度确定标记中心的坐标。
在该方法中,标记斑点的参数可以包括指示捕捉适当帧时的时间点的时间戳。
在该方法中,步骤(c)可以由微控制器执行。
在该方法中,步骤(d)中的惯性传感器可以是陀螺仪。
在该方法中,步骤(d)中的惯性传感器可以是加速度计。
在该方法中,在步骤(d)中从惯性传感器读取的数据可包括指示读取数据时的时间点的时间戳。
在该方法中,在步骤(e)中生成的合并数据流可以包括多个跟踪器的数据。
在该方法中,步骤(f)中的合并的数据流可以被划分为多个合并的数据流,其数目对应于跟踪器的数目。
在该方法中,第一数据处理设备和第一通信设备可位于跟踪器中,第二数据处理装置和第二通信设备可以位于主机中。
在该方法中,跟踪器可以与主机组合。
在该方法中,可以基于标记斑点的参数来执行标记的识别,以便在步骤(f)中确定跟踪器定位数据。
在该方法中,可以使用预定义的光学图案来执行标记的识别。
在该方法中,光学图案可以是线性光学图案。
在该方法中,线性光学图案可以包括对应于在一条线上对齐的三个标记的组的斑点,其中第一标记和第二标记之间的距离是第二标记和第三标记之间距离的两倍。
在该方法中,可以基于在步骤(f)中针对不同时间点确定的跟踪器定位数据来生成一组历史跟踪数据。
在该方法中,可以使用该组历史跟踪数据来执行步骤(g)中的跟踪器运动路径的数学模型的验证。
在该方法中,该组历史跟踪数据可以包括一组数据S,包括表征跟踪器的位置、取向和(可选地)运动参数的多维向量,以及包括一个或多个惯性传感器的数据的数据组L。
在该方法中,该组历史跟踪数据可以包括一组数据OF,其包括关于跟踪器的局部坐标系中的射线的信息,这些射线被引导到标记,在步骤(c)中检测到这些斑点。
在该方法中,在步骤(g)中对跟踪器运动路径的数学模型的验证可以包括计算穿过历史跟踪数据的整个深度的向后方向上的数据S,在历史的最早时间点上优化数据S,然后计算穿过该历史追踪数据的全部深度的正向上的优化数据S。
在该方法中,可以在历史跟踪数据的整个深度上在向后的方向上计算通过基于数据OF计算的标记坐标与预定的实际标记坐标的比较而确定的跟踪器定位误差的矢量E,并且可以执行历史最早时间点的数据 S的优化。使用跟踪器定位误差的矢量E。
在该方法中,基于数据OF计算的标记坐标可以是极坐标。
在该方法中,可以使用最小二乘的方法来执行在历史的最早期的数据S的优化。
在该方法中,可以使用Levenberg-Mar quardt算法来执行在历史的最早期的数据S的优化。
在该方法中,跟踪器定位误差的矢量E可以通过历史跟踪数据的整个深度在正向方向上计算,并且跟踪器运动路径的数学模型的验证可以通过将在正向上计算的跟踪仪定位误差矢量E与在反向方向上算出的跟踪器定位误差矢量E进行比较来执行。以及通过计算目标函数,该值用于判断跟踪器运动路径的数学模型的真实性。
在该方法中,目标函数可以是加权函数。
在该方法中,跟踪器运动路径的数学模型的验证结果可以是优化数据S,其确保了跟踪器定位的最小误差。
在该方法中,每次当在合并的数据流中接收到至少一个惯性传感器的新数据时,可以执行步骤(f)中的跟踪器定位数据的确定。
在该方法中,当在合并的数据流中接收到标记斑点的新参数时,可以每次执行步骤(g)中的跟踪器运动路径的数学模型的验证。
在该方法中,步骤(h)中的跟踪器定位数据的外插可通过定义外插层、定义外插基础、以及通过将跟踪器运动路径外插到外插层上来执行。
在该方法中,可基于从提供渲染3D场景的3D引擎接收的数据来定义外推层位。
该方法还可以包括基于外推的跟踪器定位数据来渲染3D场景并且将3D场景输出到VR/AR系统用户的头戴式显示器中的步骤。
本发明的这个目的也是通过本发明第二方面实现的,其是一种用于光学惯性跟踪可移动物体的系统,该系统包括:
-至少一个多个标记,包括IR发光标记;
-至少一个跟踪器,其物理地连接到所述可移动物体,包括光学传感器、至少一个惯性传感器、第一数据处理设备和第一通信设备,所述跟踪器被配置成由所述第一通讯设备从所述光学传感器读取图片,由所述第一资料处理设备检测在所读取的图片中满足预定条件的像素,由所述标记斑点,基于所检测到的像素,通过第一数据处理设备确定标记斑点的参数,由第一数据处理器设备读取来自至少一个惯性传感器的数据,由第二数据处理器生成合并的数据流,包括标记斑点参数和至少一个惯导数据,并由第一通信设备向主机发送合并的数据流;
-至少一个主机,其包括第二通信设备和第二数据处理设备,所述主机被配置为通过所述第二通信装置接收所述合并的数据流,通过所述合并的数据流基于所述整合的数据流来确定所述可移动物体的运动区域的坐标系中的跟踪器定位数据,基于所述跟踪器定位数据的跟踪器运动路径的数学模型,由所述第二数据处理设备基于所述跟踪器移动路径的经验证数学模型将所述跟踪器定位数据外推到外推地平线上。
在该系统中,第一数据处理设备可以被配置成从光学传感器的尺寸小于光学传感器整个帧尺寸的一部分读取图片。
在该系统中,待读取的光学传感器部分可以是描迹窗。
在该系统中,预定义条件可以包括像素的亮度的阈值。
在该系统中,预定义条件可以包括与像素的聚集有关的要求。
在该系统中,第一数据处理设备可以被配置为在完成从光学传感器读取图片之前开始检测满足预定义条件的像素。
在该系统中,第一数据处理设备可以包括FPGA,该FPGA被配置为从光学传感器读取图片并且在读取的图片中检测满足预定义条件的像素。
在该系统中,每个标记斑点的参数可以包括其中心在光学传感器的框架的坐标系中的坐标、有效半径和加权亮度。
在该系统中,第一数据处理装置可以被配置为以亚像素精度确定标记中心的坐标。
在该系统中,标记斑点的参数可以包括指示捕捉适当帧时的时间点的时间戳。
在该系统中,第一数据处理设备可以包括微控制器,该微控制器被配置为基于所检测的像素来检测标记斑点,并且确定标记斑点的参数。
在该系统中,惯性传感器可以是陀螺仪。
在该系统中,惯性传感器可以是加速度计。
在该系统中,从惯性传感器读取的数据可包括指示读取数据时的时间点的时间戳。
在该系统中,合并的数据流可以包括多个跟踪器的数据。
在该系统中,第二数据处理设备可以被配置为将经合并的数据流划分成多个经合并数据流,其数目对应于跟踪器的数目。
在该系统中,跟踪器可以与主机组合。
在该系统中,第二数据处理设备可以被配置成基于标记斑点的参数来识别标记,以便确定跟踪器定位数据。
在该系统中,第二数据处理设备可以被配置成使用预定义的光学图案来识别标记。
在该系统中,预定光学图案可以是线性光学图案。
在该系统中,线性光学图案可以包括对应于在一条线上对齐的三个标记的组的斑点,其中第一标记和第二标记之间的距离是第二标记和第三标记之间距离的两倍。
在该系统中,第二数据处理设备可以被配置成基于针对不同时间点确定的跟踪器定位数据来生成一组历史跟踪数据。
在该系统中,第二数据处理设备可以被配置成使用该组历史跟踪数据来验证跟踪器运动路径的数学模型。
在该系统中,该组历史跟踪数据可以包括一组数据S,包括表征位置、取向和(可选地)跟踪器运动参数的多维向量,以及包括一个或多个惯性传感器的数据的数据L,其中数据S和数据L可以对应于跟踪器运动路径的数学模型的参数。
在该系统中,该组历史跟踪数据可以包括一组数据OF,其包括关于跟踪器的本地坐标系统中的射线的信息,该射线被引导到检测到斑点的标记。
在该系统中,第二数据处理装置可以被配置为在历史跟踪数据的整个深度上在向后方向上计算数据S,在历史的最早期对数据S进行优化,然后在跟踪器运动路径的数学模型的验证期间在向前方向上通过历史追踪数据的全部深度计算优化数据S。
在该系统中,第二数据处理装置可以被配置成计算跟踪器定位误差的矢量E,并且在历史跟踪数据的最早时间点优化数据S,该矢量E是基于数据OF和预定的实际标记坐标在反向方向上基于所计算的标记坐标与所确定的,使用跟踪器定位误差的矢量E。
在该系统中,基于数据OF计算的标记坐标可以是极坐标。
在该系统中,可以使用最小二乘的方法来执行在历史的最早时间点的数据S的优化。
在该系统中,可以使用Levenberg-Mar quardt算法来执行在历史的最早时间点的数据S的优化。
在该系统中,第二数据处理设备可以被配置为计算穿过历史跟踪数据的整个深度的向前方向上的跟踪器定位误差的矢量E,通过比较沿正向计算的跟踪器定位误差矢量E和沿反向计算的跟踪器定位误差矢量 E,并通过计算目标函数来验证跟踪器运动路径的数学模型,该值用于判断跟踪器运动路径数学模型的真实性。
在该系统中,目标函数可以是加权函数。
在该系统中,跟踪器运动路径的数学模型的验证结果可以是优化数据S,其确保了跟踪器定位的最小误差。
在该系统中,第二数据处理设备可以被配置成每次当在合并的数据流中接收到至少一个惯性传感器的新数据时确定跟踪器定位数据。
在该系统中,第二数据处理设备可以被配置成每次当在合并的数据流中接收到标记斑点的新参数时验证跟踪器运动路径的数学模型。
在该系统中,第二数据处理设备可以被配置成定义外推层位和外推基底,并且将跟踪器运动路径外推到外推层位上。
在该系统中,可基于从被配置成渲染3D场景的3D引擎接收的数据来定义外推层位。
该系统还可以包括输出设备和至少一个头戴式显示器,该头戴式显示器被配置为向VR/AR系统用户呈现3D场景,其中可以执行对跟踪器定位数据的外插,以便基于外插的跟踪者定位数据进一步渲染3D场景并且将3D场景输出到VR/AR系统用户的头戴式显示器中。
本发明允许增加定位可移动物体的精度。此外,本发明允许容易地缩放跟踪区域。在VR/AR系统中,本发明允许增加跟踪用户运动的精确度,并且因此允许增加呈现给用户的3D场景的质量,特别地,其允许消除或减小显示3D场景相对于用户和/或其身体部位的运动的延迟到可感知性阈值,从而提供呈现效果并且避免用户中晕船(所谓的VR-晕船)的表现。
附图说明
图1示出了根据本发明的VR/AR系统的实现示例。
图2示出了根据本发明的VR/AR系统装置在用户的身体上的放置示例。
图3示出了根据本发明的跟踪器的框图。
图4示出了将传感器数据整理到合并数据流期间的事件的示意图。
图5示出了使用可更换单元将跟踪器安装在头戴式显示器上的示例。
图6示出了包括基础单元和可更换单元的跟踪器的示例。
图7示出了使用可更换单元将跟踪器安装在头戴式显示器上的另一示例。
图8示出了包括基础单元和可更换单元的跟踪器的另一示例。
图9示出了跟踪器的另一示例,该跟踪器包括呈游戏操纵器形式的基础单元和可更换单元。
图10A和图10B对应地示出了处于展开状态和盘绕状态的标记带。
图11示出了使用弹性截面地板垫(所谓的拼图地板垫)安装标记的示例。
图12示出了在地板上放置标记带的示例。
图13示出了在天花板上安装标记带的示例。
图14示出了将标记带放置在地板上的示例,其中虚拟世界边界是在距房间墙壁的安全距离处被限定的。
图15示出了根据本发明的主机的框图。
图16示出了根据本发明的例示VR/AR系统的运行概念的算法的流程图。
图17示出了根据本发明的例示VR/AR系统的启动过程的算法的流程图。
图18示出了例示在跟踪器中获取和处理数据的程序的算法的流程图。
图19示出了例示在主机中获取和处理数据的程序的算法的流程图。
图20示出了例示定位数据更新概念的示意图。
图21示出了多用户VR/AR系统中的阴影标记的示例。
图22示出了例示处理合并数据流的数据的程序的算法的流程图。
图23示出了例示验证跟踪器运动路径的数学模型的程序的算法的流程图。
图24示出了例示外推定位数据的程序的算法的流程图。
具体实施方式
下面通过在VR/AR系统中使用内部-外部光学惯性跟踪方法的示例来进一步解释本发明。
本发明提供了一种从内到外的光学惯性跟踪方法,其中,提供跟踪的设备(跟踪器)位于要跟踪的可移动物体上,而在由跟踪器捕获的图像中形成特定组合的光源(活动标记)固定地位于VR/AR系统的操作区域内。VR/AR系统可以包括一个或多个跟踪器,并且每个跟踪器允许独立于其他跟踪器来确定对应的可移动对象(或其一部分)的位置和取向。
由于光学和惯性类型的跟踪的组合,以高精度确定每个跟踪器的当前位置和取向,而在将图像输出到显示器的时刻对跟踪器的位置和方向的预测允许补偿由VR/AR系统中的处理和输出信息引起的延迟。该延迟(总延迟)包括几个分量,诸如跟踪延迟、3D场景渲染延迟和用于在显示器上表示3D场景的时间。
在现有的VR/AR系统中,估计跟踪延迟为1至20ms。3D场景渲染所需的时间由场景的大小和图形处理单元(GPU)的容量来确定,该时间的范围可以从大约8ms(以120Hz的帧渲染速率)到大约16ms(以帧渲染速率60Hz)。用于在屏幕上表现3D场景的时间被估计为等于帧持续时间,即,约11ms(在90Hz 的帧刷新速率)至约16ms(以60Hz的帧刷新速率)。因此,即使不考虑将图像发送到屏幕的时间,总延迟也可以是20至52ms。
根据本领域技术人员所做的一种估计,在VR/AR系统中基于观看者的平移运动的可接受的总图像响应延迟不应超过16至32ms,而在60Hz的帧刷新率下基于观看者头部旋转的总延迟应为2至18ms。而小于3ms的延迟被认为是几乎觉察不到的[8]。根据另一种估计,用户对延迟的感知的阈值是7到15ms[9]。
上述总延迟值对于没有预测观众位置的系统,以及对于具有预测观众的位置(即,对于涉及观众坐标的时间外插的系统)都是有效的。在后者中,考虑有效的总延迟,该总延迟是在开始确定观看者的位置的时刻与将图像输出到屏幕的时刻之间的时间跨度,同时考虑延迟的补偿。在这种情况下,虚拟现实系统质量的主要标准是观看者的位置预测的可信度。
本发明的一个特征是在将来在显示器上显示图像时预测观察者位置的高精度。应当指出的是,当观察者在空间中的位置和方向发生变化时,VR/AR系统中延迟补偿的存在本身并不能保证重建三维场景的准确性,因为观察者位置的预测是概率性的,因此是不确定性的另一个来源。通过使用外推算法来提供预测。外推算法的可交付物对输入数据的数量和质量非常敏感。特别地,以下参数影响外推精度:
(i)数据年龄;外推准确度随着数据年龄的增加而非线性和急剧下降;
(ii)用作外推基础的样本集大小;外推精度随着样本集大小的增加而增加;但是,当采样率固定时,样本集的大小超过某一临界值会导致外推精度下降,这是由于样本集开始时的早期数据老化所致;
(iii)数据噪声;外推精度随着数据噪声的增加而降低;
(iv)外推层位;外推精度随着外推层位范围的增加而非线性和急剧下降。
采用以下工程解决方案集合以确保本发明中的高外推精度:
-使用混合光学-惯性跟踪方法,由于从惯性传感器读取数据的高速率,这允许增加样本集的大小;
-使用有源标记,这可以减少光学数据的噪度,减少光学传感器的曝光时间,从而在产生光学数据时减少硬件延迟;
-可选在光学传感器中使用“跟踪窗口”,这允许在生成光学数据时进一步减少硬件延迟;
-自动实现跟踪器运动路径的数学模型,这允许在标记有阴影时提高跟踪精度,并在不损失预测数据可靠性的情况下扩大外推范围。
图1和图2示出了本发明的实施示例,其中VR/AR系统1包括头戴式显示器(HMD)5、位于HMD 5上的跟踪器10、也位于HMD5的中央设备(主机)6、跟踪器20、跟踪器30和包括活动标记40、41、42的标记条4。HMD5提供将由系统1生成的图像呈现给用户7,其中基于从跟踪器10、20、30获取的跟踪数据生成图像。呈现给用户的图像可以是虚拟现实3D图像或增强现实3D成像。由跟踪器10、20、30生成的跟踪数据包括关于跟踪器的空间位置的数据,并且因此关于用户7的相应身体部位的数据、关于跟踪器定向和它们的运动参数(即,方向、速度和加速度)的数据。该数据被存储在系统1中,并且被用于确定用户身体部位的当前位置、方向和运动参数(当适用时),以及用于预测它们在外推范围内的未来的位置,方向和移动参数。跟踪数据可由系统1基于用户7的物理和运动学模型来处理,从而在可应用时根据系统1 的目的和屏幕游戏或游戏提供用户身体位置(包括姿势、姿势等)的计算,其具有确保虚拟或增强现实的存在效果以及消除晕船迹象所需的周期性和准确性。
跟踪器10(图3)包括光学传感器101、陀螺仪102和加速度计103。光学传感器101的数据的特征在于确定设备的空间位置和取向所需的高精度,然而,从光学传感器获取数据的速率远小于从惯性传感器、陀螺仪和加速度计获取的数据速率。特别地,从光学传感器获取数据的通常速率是每秒60帧(在全帧操作时),并且当使用感兴趣区域(ROI)技术并且减小帧尺寸时(即,当使用跟踪窗口方法时)时,可以将其增加到每秒400帧。同时,从陀螺仪和加速度计获取数据的通常速率是大约每秒2000个样本。然而,如果仅使用陀螺仪和加速度计数据,则由于数据噪声和漂移,绝对定位误差非常快地累积。
应注意,在本发明的说明性实施例中,跟踪器包括两个惯性传感器,陀螺仪和加速度计。然而,在本发明的其它实施例中,惯性传感器的数目可以少于或多于两个,并且其操作原理也可以不同。
在本发明中,光学数据的精度与惯性传感器数据的高速率和低延迟相结合,这允许提供适合于实现与用户的位置、定向和移动参数相关的当前定位数据确定和未来定位数据预测的算法的合并的跟踪数据流,从而确保VR/AR系统的高能力。
来自整个光学传感器的图像传输需要跟踪器与主机之间的宽带宽信道,并且不可避免地涉及与图像传输相关的附加延迟。为了使与图像传输相关的跟踪数据处理的延迟最小化,在跟踪器中直接处理来自光学传感器的图像,计算在图像中检测到的标记斑点的坐标和尺寸值,并将其发送到主机。
跟踪器10包括用于处理跟踪数据的数据处理设备104。数据处理设备104提供所有传感器的同步、从光学传感器、陀螺仪和加速度计获取数据、处理光学传感器的数据以形成关于在帧中找到的标记的信息、生成包括陀螺仪和加速计数据和标记数据的合并的跟踪数据流。
数据处理设备104可以基于微控制器、数字信号处理器(DSP)、具有精简指令集的处理器(RISC)等来实现。在本发明的说明性实施例中,数据处理装置104是基于RISC-微控制器STM32F446 MEY6(STMicroelectronics,瑞士)来实现的。
数据处理设备104可以包括例如基于FPGA的光学传感器数据预处理设备108,其允许使用高速算法来并行处理图像线和搜索假定对应于图像中的标记的像素组。在这种情况下,在从光学传感器读取数据的步骤期间进行一遍图像处理,而不需要将整个帧存储在跟踪器的存储设备107中。该解决方案实质上减少了数据处理设备104中后续跟踪数据处理的计算复杂性,并且允许进一步减少VR/AR系统中的延迟。此外,该解决方案允许降低关于存储设备107的容量的要求。在本发明的说明性实施例中,基于fpga lcmxo3lft-2100e-5UWG49 CTR50(Lattice Semiconductor Corporation,USA)实现光学传感器数据预处理装置。
跟踪器10还包括用于在跟踪器10和主机6之间提供信息交换的通信设备106。以大约每秒2000至大约4000个样本的速率将合并的跟踪数据流从跟踪器10传输到主机6,其中加速度计数据和陀螺仪数据每个以大约2000个样本每秒的速率被更新,而光学传感器数据以大约60至400个样本/秒的速度被更新。根据VR/AR系统及其剧本或游戏的目的,控制信号从主机6传输到跟踪器10。通信信道可以是光学、有线或无线链路。例如,可以在系统1中使用WiFi、蓝牙等信道作为无线链路。在本发明的说明性实施例中,通信装置106提供基于USB接口的有线通信链路,所述USB接口具有6Mbps或更大的传输容量和1ms 或更小的时滞,以及2.4GHz无线链路,所述2.4GHz无线链路涉及确保1Mbps或以上的传输能力和0.4ms 或以下的时滞的专有数据交换协议。
跟踪器10还包括向跟踪器提供电力的电源105。电源105是本领域技术人员公知的普通装置,因此省略其详细描述。
将所有传感器布置在一个设备中提供传感器的同步。该架构方法允许对从每个传感器获取的数据使用精确的时间戳。另外,由于在光学传感器中捕获帧及其处理取决于曝光时间而花费一定时间,而曝光时间又取决于环境条件(具体地,操作区域的照明),因此在合并的数据流中提供捕获帧的开始时间点、关于处理帧的结束的通知以及新的光学数据到达。
图4示出了将传感器的数据包括到合并的数据流中的事件:
事件A是提供加速度计数据;
事件G是陀螺仪数据的提供;
事件FS是开始捕捉帧;
事件M是在处理光学帧之后提供的标记数据。
标记数据包括2D坐标(在光学传感器的坐标系中)和在图片中发现的每个标记斑点的大小。
每个传感器以适当的速率操作;因此,当合并的数据流包括一个传感器的连续数据(例如,加速度计数据或陀螺仪数据)时,情况是可能的,如图3所示。
在主机6中接收合并的数据流,其中基于标记数据执行跟踪器的空间位置和取向的3D坐标(在VR/AR 系统操作区域的坐标系中)及其运动参数(即,方向、速度和加速度)的计算。具有足够处理器性能的计算机或移动设备可以用作主机。例如,在VR/AR系统中执行渲染还输出到HMD 5的3D场景的设备可以用作主机。在一些情况下,具有足够计算性能的HMD 5本身可用作主机。此外,主机6的活动可以分布在多个设备上。特别地,跟踪器的空间位置、定向及其运动参数的3D坐标的计算可以由这些多个设备中的一个来执行,而将3D场景渲染并输出到HMD可由这些设备的另一个来完成;这些设备可以位于同一位置或者它们可以位于不同的地方并且通过已知的通信装置来链接。为此目的的应用对技术人员来说不是挑战,因此为了简洁起见,省略对这些装置的描述。
主机的所需性能取决于VR/AR系统的目的、用户数量、操作区域的大小、用户运动的动态特性等。在本发明的说明性实施例中,使用智能手机Galaxy S7(三星,韩国)作为主机。跟踪器可以在结构上与主机分离,并且可以独立于主机可用于用户,以便简化VR/AR系统并降低其成本。然而,跟踪器和主机的结构性聚集也是可能的,例如,在不假定使用第三方设备的那些VR/AR系统中。在此情况下,可使用内部通信接口(例如,I2C或更快速的通信接口,如USB或LVDS)来实施追踪器中的通信装置106及主机中的通讯装置61。此外,除了跟踪器和主机的结构聚合之外,还可以将跟踪器和该主机的数据处理设备聚合到单个数据处理装置中,这排除了使用通信设备来在数据处理器件之间进行数据传输的任何必要性。
跟踪器10可以根据模块化方法来布置。特别地,跟踪器10可以包括基本单元11,该基本单元包括光学传感器101、陀螺仪102、加速计103、数据处理设备104和提供有线或无线通信的通信设备106;并且它可以包括根据VR/AR系统的目的包括提供必要功能的附加设备的可更换单元。
图5示出了一个示例,其中跟踪器10包括基座单元11和可替换单元12,其形式为用于基座单元的安装垫,从而提供了将跟踪器10紧固到主机6的紧固以及它们之间通过连接器15的电连接。根据放置在地板上的标记条4的使用,跟踪器10的透镜向前和向下定向。显然,如果标记条带4以不同的方式设置,例如在天花板上、在桅杆上等,则跟踪器10可以不同地定向。
在图6中详细地示出了基座单元11和可更换单元12。使用既提供机械附接又提供电连接的磁体连接器14来实现基座单元11和可更换单元12之间的连接。
图7示出了一个示例,其中跟踪器10包括基本单元11和可更换单元13,其提供到主机6的机械附接和通过标准连接器的有线连接,其中主机可以是智能电话并且可以用作低端VR/AR系统中的HMD。图8详细地示出了基座单元11和可更换单元13。磁体连接器14与图7所示的磁体连接器类似。
跟踪器20和跟踪器30可以与跟踪器10相同,或者它们可以具有由相应用户的身体部位的不同运动方式引起的一些差异。特别地,与位于用户头部上的跟踪器10相比,附连到用户手中的游戏控制器的跟踪器20和30可能能够跟踪更快速和不稳定的运动。然而,跟踪系统操作的一般概念在任何选项中基本相同。
控制器22、32可以是用于教育或娱乐系统的游戏控制器或操纵器,并且可以包括用于这种设备的典型控制装置,例如按钮、按键、操纵杆、轨迹球等。根据跟踪器的模块化概念,控制器22和32可以被认为是基座单元21、31的可替换单元。从控制器22、32的控制装置到主机6的数据传输可以通过无线方法来执行,例如,使用与用于从跟踪器20、30传输合并的数据流相同的无线链路。图9示出了控制器22、 32与基本单元21、31之间的连接的示例,相应地,其可以使用与图7和图8中所示类似的磁体连接器来实现。
例如与相同用户相关的跟踪器10、20、30可以是一组跟踪器,其中经由无线链路提供它们之间的信息交换。特别地,从跟踪器20、30的数据可以经由无线链路被发送到主跟踪器10,并且还可以使用有线或无线链路将数据发送到主机6。这提供了灵活配置VR/AR系统的可能性,包括其由用户配置的可能性。配置灵活性包括定义与一个或另一个用户相关的跟踪器的组的可能性,这对于多用户VR/AR系统是特别重要的。同时,该架构解决方案需要更大容量的通信信道,将数据从从跟踪器(例如跟踪器20、30)通过主跟踪器(例如,跟踪器10)传送到主机6。显然,应当与所服务的跟踪器的数量成比例地提供通信信道容量。
标记条带4(图10A)包括由聚合物材料制成的窄柔性条形式的基部,该基部包括向有源标记40、41、 42提供电源的柔性导体。基底材料可以是编织或非编织材料。基部和导体的柔性确保了在存储和运输期间处于其回旋状态的标记条的紧凑尺寸(图10b);同时,这种布置确保了其足够的横向刚度(在其安装平面内)和标记之间的恒定距离,这对于提供稳定的光学图案是必要的。基于厚膜或薄膜技术,导体可以是金属的、金属化的、氧化物的、复合物的,以便以大约几瓦的功率消耗值提供安全电压的馈送。有源标记物40、41、42可以通过任何合适的方式紧固到基部,以便提供其到预定位置的可靠附接以及电源电压的馈送。在本发明的一个说明性实施例中,使用了扁平金属条导体,并且有源标记物40、41、42通过磁体连接器紧固到基座,所述磁体连接器提供将标识物快速地安装到基座上并从其上拆卸,同时当用户无意中接触标识物时,容易拆卸标识物保护标识物条带4免受损坏。电力从电源45经由电缆44和电连接器43 供应到标记40、41、42。
电源45可以是任何市电连接或离线电源,其提供所需的安全AC或DC电压(例如,5、6、12、24、36 或48V)。例如,通常用于给移动设备供电/充电的5VDC或12VDC电池(如Powerbank),或者当主电池放电时用于促进汽车发动机的启动的如增力器的12.6VDC电池可用作离线电源。如果在系统1中使用多个标志带4,则可以由单个电源以集中的方式提供电源,或者,当每个标志带4由单独的电源供电时,可以以分布式的方式来提供电源。对于永久商业VR/AR系统,尤其是当标记条4嵌入地板中或位于房间的墙壁或天花板上时,集中式电源可能是优选的。分布式电源对于移动业余VR/AR系统是优选的,尤其适合于户外使用。
电缆44和电连接器43可以是任何合适的类型。对技术人员来说,其选择是一项微不足道的任务,因此这一点被省略。
标记40、41、42中的每一个都是具有近半球形方向特性的IR LED发射器。通过一个或多个LED芯片的放置和定向以及例如基于菲涅耳透镜的光漫射器的使用来确保所需的方向特性。标记可以包括驱动器,该驱动器在宽的供电电压范围内提供LED发射器的操作能力。
以预定方式定位的标记40、41、42的组合形成光学图案,该光学图案的存在和空间位置由主机6基于在来自跟踪器10的合并数据流中可用的标记数据来检测。在从内到外的跟踪概念中,使用有源标记是优选的;与使用无源(回射)标记相比,这提供了许多优点。特别地,当使用有源标记时,不需要用于跟踪器的附加电源来照明无源标记;当跟踪器被放置在可移动物体上时,这特别重要。可用跟踪区域大小由标记的尺寸及其亮度限定。通过干线连接或离线电源为标记供电允许标记的发射功率成倍增加,从而扩展跟踪区域大小,而跟踪器本身的功耗不变。
光学图案可以是线性图案,其通过标记数据处理算法来检测。线性图案的特征在于标记之间的距离的预定比率。特别地,在本发明的一个实施例中,其中三个标记被布置成一条线并形成序列40-41-42,如图10A所示,标记40和41之间的距离是标记41和42之间距离的两倍。显然,只要在系统中保持光学图案的可靠识别,距离比可以是不同的。
可以通过增加标记条4的长度来缩放操作区域,同时保持距离比,并且标记的发光表面和它们的亮度足够大。这允许充分扩展操作区域,仍然提供高跟踪参数,只要保持光学传感器框架内的标记斑点的角度和亮度参数即可。
显然,光学图案可以是具有更多标记(例如,四个、五个等标记)的线性图案;光学图案也可以是非线性图案,即,标记可以不布置成直线。
除了上述增加操作面积的方法之外,还存在通过添加标记条而几乎无限缩放操作区域的可能性。在这种情况下,线性图案的组合被添加到整个跟踪画面,而不是单个标记的组合。因此,系统检测帧中预定义线性模式的存在,然后确定模式相对于彼此的布置。这允许定义线性模式的组合,以便确保跟踪系统基于线性模式图在跟踪系统的校准期间形成的、由操作区域内的跟踪系统对跟踪器位置的明确确定。该方法可以用于布置简单形状的操作区域并将其布置在一个房间中,或者可以分布在多个相邻房间中的复杂形状操作区域。
因此,本发明的优点之一是通过添加新的标记条来快速且容易地缩放跟踪区域。在标记位于可移动物体上的外部-内部光学跟踪系统中,应当采用额外的相机来扩展跟踪区域,这通常是复杂且昂贵的方式。在所要求保护的发明中,标记条的成本低并且其安装的劳动含量可忽略不计。
取决于剧本或游戏,标记条可以布置在房屋的地板、墙壁或天花板上。当标志带被布置在墙壁和天花板上,或者布置在地板和墙壁上时,组合的选项也是可能的。在本发明的永久实施例中,标记可以内置在地板、墙壁或天花板中。在类似于展示样品的本发明的可运输实施例中,标记可嵌入到作为展示安装组的一部分的分段可拆卸地板中。
作为替代,在本发明的可运输实施例中,可使用弹性分段地板垫(拼图地板垫,见图11)来布置标记条,当处于操作位置时,所述弹性分段地板垫彼此接合,从而确保布置操作区域的几何精度、其形状和尺寸稳定性,并因此便于VR/AR系统设置和调整。标记可以安装在地板垫的预定义点上。预定义点可以是接收标记的对应形状的孔,而未使用的孔可以用由与地垫本身相同的材料制成的塞子封闭。当采用集中式电源时,电源线可设置在地板垫的下方。供电线可以是平的条带形状,其设计消除了它们作为地板垫的工作表面上的不规则物的外观。将图中所示的标志带连接在一起。此外,也可以是组合式地板垫。
至于业余使用,其中快速安装和容易应用是关键因素,基于地板的选项可能是优选的,其中用户能够将标记条放置在地板上,将它们排列成近似矩形的形状并将它们连接到一个或多个电源(图12)。这种系统的安装通常不会超过几分钟。
至于商业用途,特别是虚拟现实公园,重要的是将标志带放置在用户够不到的地方,这样它们的动作不会改变操作区域的特征,如在校准期间所定义的和/或由系统设置参数所指定的那样。此外,商业VR/AR 系统通常是多用户系统,因此,当选择标记条的布置时,有利的是考虑用户在操作区域内移动期间由他们遮蔽标记的可能性。在这种情况下,可优选将标记条放置在墙壁或天花板上(见图13,天花板未示出)。应当注意,如果标记条布置在天花板上,则操作区域尺寸可以显著大于由标记条勾勒出的几何图形的尺寸。
为VR/AR系统的用户定义虚拟世界的边界可能是重要的,以便于他们避免与诸如墙壁、家具、家用物品等的真实世界物品的碰撞。所要求保护的本发明的优点在于,标记条可以定义虚拟空间的边界,特别是当被放置在地板或天花板上时,除了它们的主要目的是为跟踪器创建光学标记。在图14中,虚拟世界边界的定义由虚线示出,出于安全原因,这些边界被定义在离墙壁一定距离处。当用户接近虚拟世界边界时,VR/AR系统可以生成视觉或声学信号以警告用户真实世界项目的不安全接近。
主机6(图15)包括提供主机6与跟踪器10之间的数据交换的通信设备61、用于存储程序和数据的存储设备62、向主机硬件提供电力的电源63、向HMD 5提供图像输出的输出设备64、以及提供从跟踪器10 接收的处理数据的数据处理设备65。输出设备64可以包括通信设备,用于当主机6在结构上与HMD 5分离并且主机6位于彼此距离的位置时,将图像数据发送到HMD5。数据处理设备65包括提供定位数据的外插的外推单元66,以及提供要输出到HMD5的3D场景的展开的渲染单元67。
在本发明的另一实施例中,提供要输出到HMD 5的3D场景的展开的渲染单元67可以是主机6外部的设备的一部分,而不是主机6的一部分。具体地,渲染单元67的功能可以在单独的计算机中或者在头戴式显示器本身中实现,并且可以例如经由通信设备61将数据外推结果从主机6传输到这种计算机或者头戴式显示器。
主机6的通信装置61应与跟踪器10的通信设备106兼容,并且应满足与跟踪器10的通讯装置106 相同的要求。存储装置62、电源63和输出装置64是普通单元,它们是本领域技术人员公知的,因此省略其详细描述。
VR/AR系统1的一般操作概念由图16中的算法流程图说明。在步骤S1中,系统1准备运行。在步骤S2中,在跟踪器10中获取并处理跟踪数据。在步骤S3中,在主机6中接收并处理跟踪数据。在步骤S4中,由HMD 5表示3D场景。
通常,系统1在其操作区域中包括多个标记条4,而操作区域重新形成,并且台阶1包括若干步骤(图 17)。
步骤S11是定义操作区域的配置,在该步骤中,定义区域的形状和尺寸,其中将提供跟踪可移动物体。
在步骤S12中,生成标志带的布局,在该步骤中,针对在步骤S11中定义的操作区域,计算出放置标志带的选项或这些选项的数量,以提供对操作区域内的跟踪器位置的最可靠的确定。当操作区域具有复杂形状时,需要该步骤;当操作地区具有相当简单的形状时是可选的;当操作区具有简单形状但尺寸较大时,也需要此步骤,因此标记条布局的多种变型是可能的。一些特殊的软件可以用于生成标记条布局。
步骤S13是选择标记条布局,在该步骤中,在系统中已经存在的布局和在步骤12中生成的(一个或多个)标记条布局中选择标记条带布局。
步骤S14,生成标志带的实际布置图,在该步骤中,跟踪器将在操作区域内移动,直到系统根据所选布局检测到所有线性图案为止。应注意,当操作区域具有简单的形状时,在实际布置的几何形状与所选择的标记条布局之间不需要严格的一致性。例如,如果使用矩形形状,则标记条之间的角度不需要精确地为90°;这足以将标记条放置成大致类似于矩形的形状。在该步骤中,系统1通过根据所选择的布局匹配实际标记条布置和标记条的位置来执行自动校准过程。考虑到其安装的简单性,系统1的该特征是重要的,因为其确保根据用户的使用情况(包括室内和室外选项)来使用系统的高灵活性。
在具有固定配置的系统1中,可以通过排除形成新操作区域所需的动作来简化步骤S1。特别地,在固定系统和具有固定配置的移动系统中,例如,当配置由一组具有内置的活动标记40、41、42的拼图地板垫确定时,可以省略步骤S14中的自动校准过程,或者甚至可以省略整个步骤S14。
步骤S2包括多个步骤(图18)。
步骤S21是处理光学传感器的跟踪窗口;光学传感器地跟踪窗口是从光学传感器读取数据的区域,其可以根据帧中的标记斑点的位置在光学传感器帧内移动。使用跟踪窗口允许从光学传感器加速读取数据,并且因此减少了在产生光学数据期间的硬件延迟。特别地,使用跟踪窗口允许将光学数据读取速率从每秒60个样本增加到每秒400个样本。在与本发明人的早期专利申请相关的出版物WO2016108720A 1中公开了用于光学传感器的跟踪窗处理算法的示例,因此省略其详细描述。该步骤是可选的,即,当不需要使用跟踪窗口时,则读取数据的面积被设置为等于光学传感器的整个帧。
步骤S22、从读取区域内的光学传感器读取图片,数据通过高速数据传输标准LVDS(低电压差动信令) 从光学传感器传输到数据处理单元104,数据处理器104在读取的图片的每一行中检测亮度超过设定中设定的预定阈值的像素,此外,它识别这些像素的组,并将关于所识别的组的以下信息记录到交换缓冲器中:(a)开始的组的坐标;(b)组的大小(a长度);以及(c)表征该组的三个参数,即,组中的像素的亮度值之和、组中像素的亮度值之和乘以行中像素的线性坐标,以及组中像素亮度值的平方和。预定义的限制可应用于所识别的组的大小,例如,可预定义的是所述组必须包括至少三个亮像素,且仅可将与其中至少一个组已被识别的行相关的数据发送到交换缓冲器。取决于VR/AR系统的目的,交换缓冲器的信息内容可以不同于上面指出的内容,然而,它必须足以执行算法的进一步步骤。在本发明的说明性实施例中,步骤S22由fpga lcmxo3lf-2100e-5UWG49 CTR50执行。
步骤S23是检测标记的斑点并计算它们的参数,在每条线中分析亮像素组,该组数据是从交换缓冲器接收的,并且当前分析的线的亮像素的组与先前分析的行的亮像素组匹配,并且聚集相应的组以形成标记斑点。为每个检测到的标记斑点确定以下参数:(a)其中心在光学传感器框架的坐标系中的2D坐标,(b) 其有效半径和(c)加权亮度。可以用亚像素精度确定标记blob的中心坐标,并且标记blob的参数可以包括指示捕获对应帧的时间点的时间戳,并且在主机6中处理合并的数据流期间进一步使用该时间戳。取决于VR/AR系统的目的,标记斑点参数的内容可以与上述不同;然而,其必须足以执行算法的进一步步骤。在本发明的说明性实施例中,步骤S23由微控制器STM32F446 MEY6执行。
步骤S24是从陀螺仪和加速度计读取数据;在该步骤中,以预定义的速率从所述陀螺仪和加速计读取数据,该数据可以包括指示读取数据时的时间点的时间戳,并且在主机6中处理合并的数据流期间进一步使用该时间戳。惯性传感器的数据内容及其获取方法是本领域技术人员公知的,因此为了简洁起见,这里省略了它们。
步骤S25是生成合并数据流,在该步骤中,将在步骤S23中获取的数据与在步骤S24中获得的数据合并,以形成合并数据流,其示例在图4中示出。
步骤S26将合并后的数据流发送给主机6,以便进一步处理。
步骤S3包括多个步骤(图19)。
步骤S31:接收合并后的数据流,在该步骤中,主机6从跟踪器10接收合并数据流;如果跟踪器10、 20、30被集中到一组中,并且跟踪器20和30的数据通过跟踪器10被发送,则在这个步骤中:主机6还将通过跟踪器10接收到的合并后的数据流分成跟踪器10、跟踪器20和跟踪器30的单独合并数据流,这些数据流被彼此独立地进一步处理。
步骤S32是处理合并数据流;在该步骤中,主机6处理来自跟踪器10的合并数据流中包含的数据,并且确定在系统1的操作区域坐标系中的当前定位数据(位置坐标、取向以及可选的运动参数);参考图22 进一步详细阐述合并数据流处理算法。
步骤S33是验证跟踪器运动路径的数学模型;参考图23进一步详细阐述数学模型验证算法。
步骤S34是对定位数据进行外推;在该步骤中,在设定的外推范围内的某一未来时间点,确定跟踪器在系统1的操作区域坐标系中的预测位置和取向;参考图24进一步详细阐述外推算法。
步骤S35为3D场景渲染,在该步骤中,系统1基于每个跟踪器的当前和预测的位置和取向数据为每个用户7的每个眼睛形成3D场景。
根据VR/AR系统1的目的和用户数量,在步骤S35中可以由具有大计算能力的中央主机以集中的方式执行针对每个用户的3D场景渲染,然后可以将3D场景发送给相应的用户。或者每个用户的3D场景渲染可以由放置在用户身体上的本地主机(例如,在HMD 5中)以分散方式执行。一系列临时解决方案也是可能的,其中这些解决方案预期中央主机和本地主机两者的存在,并且在功能分布上以及相应地在中央主机与本地主机上的计算负载分布上有所不同。
在步骤S32中,确定当前定位数据,即,计算系统1的操作区域的坐标系中的坐标、方位以及可选地计算跟踪器运动参数。在系统1的操作期间,累积在预定义时间跨度内从所有传感器获取的一组历史跟踪数据。特别地,在四秒的时间跨度内,这对于大多数游戏应用来说是最佳的,历史数据包括传感器的大约17000个数据更新的信息。历史数据被存储在主机6的存储设备62中。历史数据允许在预定义的时间跨度内确定跟踪器和对应的用户身体部位在过去的运动路径,并在外推范围内预测其未来。
图20是示出定位数据更新概念的图。数据OF0是基于光学传感器数据获取的当前光学定位数据。数据L0是基于获取数据OF1之后的惯性传感器数据获取的当前惯性定位数据。数据OF1是基于光学传感器数据获取的先前光学定位数据。数据L1是基于数据OF0和数据OF1之间的惯性传感器数据获取的先前的惯性定位数据。数据OFn、OFn-1、OFn-2、...、OF2表示与预定义时间跨度相关的更老化的光学定位数据,并且数据Ln、Ln-1、Ln-2和L2表示对应的更陈旧的惯性定位数据。与预定义时间跨度相关的光学定位数据的集合以及与光学位置数据相对应的惯性定位数据共同形成一组历史跟踪数据。
数据OF包括关于每个跟踪器的局部坐标系中的射线的信息,其中射线被引导到标记斑点,标记斑点是在光学帧中检测到的特征点。特定的特征点对应于每条射线。在多用户VR/AR系统中,由每个跟踪器检测到的特征点的数量趋向于随时间变化,并且取决于跟踪器和标记条的相互位置以及用户对标记的阴影 (图21)。取决于光学传感器的操作模式,数据OF的更新速率可以在每秒60至400个样本的范围内。
数据L包括描述跟踪器在数据OF到达之间的时间间隔期间的运动的加速度计和陀螺仪数据序列。在从陀螺仪和加速度计接收到新数据时,更新当前数据集L0,并且假定陀螺仪数据和加速计数据中的每一个的非同步到达是大约2000个样本每秒,则数据L的更新率可以在每秒2000到4000个样本的范围内。应当注意的是,数据L的更新速率可以小于每秒2000个样本或大于每秒4000个样本,这取决于所使用的惯性传感器的类型;这是重要的,数据L更新速率显著高于数据OF更新速率。
一组跟踪器定位数据S是多维向量;在本发明的说明性实施例中,它包括全局3D向量形式的跟踪器坐标(在VR/AR系统的操作区域的坐标系统中)、全局四元数形式的跟踪仪定向(在VR/AR系统地操作区域中),全局3D向量形式的运动速度(在VR/AR系统的操作区域的坐标系统中)和本地3D向量形式的一个或多个惯性传感器的数据校正值(在跟踪器的坐标系中)。在本发明的说明性实施例中,该组跟踪器定位数据S包括13个参数,其中12个参数是独立的(描述跟踪器位置的四元数包括一个冗余参数)。在本发明的另一个实施例中,该组跟踪器定位数据S可以包括更多或更少的参数,特别地,除了跟踪器运动速度数据之外,在该组跟踪器定位数据S中可以省略跟踪器移动速度数据,或者该组跟踪仪定位数据S还可以包括跟踪器加速度数据。
通常,系统仅针对与最新光学帧相对应的时间点(即,基于光学数据,通过实现和验证的最实际位置) 存储跟踪器定位数据S的集合。通过与惯性数据L相对应的增量/减量的相加或相减来计算历史记录深度内的其他时间点的定位数据。
特别地,在正向通过期间,即当S在正时间轴方向上滚动时,通过使用数据Li+1校正数据Si+1来计算数据Si的历史值,其中i=0,n,并且通过相加坐标值来执行校正。在反向过程中,即当S在负的时间轴方向上滚动时,通过使用数据Li校正数据Si-1来计算数据Si的历史值,其中i=0,.n,并且通过减去坐标值来执行校正(图20)。换句话说,可针对当前时间点以及针对历史记录深度(通常约4秒)内的过去的任何时间点确定定位数据S的集合,其中确定的时间精度对应于惯性数据到达速率。
基于数据S和数据L,可以确定跟踪器在预定时间点的位置和定向(因此,跟踪器的运动路径)。换句话说,该组数据S和数据L构成了跟踪器运动路径的数学模型,其在来自任何传感器的新数据的任何到达时改变,并且其被用于通过外推算法预测在预定义的未来时间点的跟踪器位置。在新光学数据到达时执行与数据S相关的数学模型的验证(重新计算),而在新惯性数据到来时实现数据L的寄存器。如果新的光学数据在基于先前光学数据的验证过程完成之前到达,则下一个验证过程将在先前验证过程一完成就开始,并且在其中使用新到达光学数据。
在数学模型的验证期间,计算跟踪器运动路径与从光学数据已知的跟踪器位置的参考点的偏差。在优化运动路径之后(即,在数学模型实现之后),再次计算偏差。这些偏差的比较结果可以决定变更前的模型是否仍然是实际的,还是应该由变更后的模型代替。应当注意,给定数据S和数据L的集合的内容,仅优化矢量S就足以实现整个运动路径,并且可以基于惯性数据L使用增量/减量来计算运动路径的所有其他点。
基于所实现的数学模型,可以预测跟踪器在对应于外推层位的预定义的未来时间点的位置和取向。参考图23和图23进一步详细讨论数学模型验证和定位数据外推的算法。
图22示出了在步骤S32中处理合并数据流的算法的流程图。
算法的输入数据是在步骤S31中获取的、来自跟踪器的合并后的数据流的数据。
步骤S3201处理惯性传感器的数据,特别是陀螺仪和加速度计,并且该步骤导致将新的惯性数据添加到跟踪器的惯性数据L的寄存器中。当在步骤S3202中与合并的数据流一起到达指示捕获对应帧的时间点的时间戳时,在步骤S3 203中,当前惯性数据寄存器被关闭,并且来自当前的数据作为数据L1被记录到惯性数据的堆栈中,并且新的寄存器被打开以接收新的惯性数据,其中在步骤S3204中将对所述栈中的所述光学数据和惯性数据的枚举移回一步。
步骤S3205是通过应用用于校正数据S1的数据L1计算跟踪器的当前定位数据集,即数据S0。特别地,数据S1的坐标值与数据L1的增量值求和。
步骤S3206处理光学数据,该光学数据是在光学传感器框架的坐标系中检测到的标记斑点的2D坐标,其中执行标记识别,即,确定每个标记属于哪个标记带。基于与标记条相对应的光学图案来执行标记识别。特别地,在标记条带4(图10)中使用线性光学图案,其中标记40和41之间的距离是标记41和42 之间距离的两倍。在该跟踪器的坐标系中计算在跟踪器的数据中检测和识别的每个标记的方向(射线)。该方向可以在极坐标中确定。多条射线构成这个跟踪器的一组数据OF,它在步骤S3207中被记录为数据 OF0。
因此,步骤S32产生数据S0和数据OF0。
图23示出了在步骤S33中验证跟踪器运动路径的数学模型的算法的流程图。
步骤S3301使用包含在当前数据S0中的信息,基于指向跟踪器可见的标记的局部2D射线,生成全局 3D射线。为了进一步确定跟踪器位置误差矢量E,需要将在某一跟踪器的局部坐标中确定的3D射线变换为在VR/AR系统的全局坐标中所确定的3D射线。
步骤S3302计算跟踪器位置误差矢量E,该矢量是多维矢量并且包括与该组数据S0的每个分量相关的标记坐标的残差和残差的偏导数。通过将基于在步骤S3301中生成的3D射线计算出的标记坐标与从标记条的布局已知的标记坐标相比较,来确定标记坐标的残差。
步骤S3303是将计算出的当前矢量E记录到误差矢量E的堆栈中作为矢量E0。
步骤S3304在历史跟踪数据的整个深度上计算数据S和相应的误差向量E,其中数据S0值(即,在步骤S3203中接收的最近的值)被用作初始数据S值,并且通过应用相应的历史数据L值来计算历史数据的值,如上面针对后向通过情况所讨论的。换句话说,计算与数据OFI的时间点相对应的数据Si,还计算与数据OFIi的时间点i=0,.n对应的矢量Ei,并且向量Ei的值被记录到误差矢量E的堆栈中。
当到达历史的最早时间点时,在步骤S3305中优化该组定位数据Sn。优化可以通过最小二乘法来执行,例如,使用Levenberg-Mar quardt算法。显然,可替代地使用本领域技术人员公知的其它优化方法。用于优化的输入数据是在步骤S3304中计算的矢量E,而矢量E中包含的偏导数定义优化期间改变数据S 的方向。步骤S3305产生一组优化数据S′n。
步骤S3306计算正向方向上的数据S′,其中数据S"n个值(即,在步骤S3205中接收到的最老的值) 被用作初始数据S′值,并且通过应用相应的历史数据L值来计算历史数据S′值,如上面针对正向通过情况所讨论的。这一过程产生数据S′i,i=0,.n,这表示改变的跟踪器运动路径,以及向量E′i, i=0,n,其是针对S′i的新值计算的,这些新值被记录到误差向量E′的堆栈中。
步骤S3307是当将改变的数学模型与当前数学模型进行比较时,比较矢量E′和E的堆栈的矢量,以便确定是否减小了定位误差。该比较可以针对向量Ei和E′i的每个对(即,可以比较在向量堆栈E i 和E′i中包含的多维向量的对应分量)来进行,其中可以计算目标函数F=Fi(Ei-E′i),i=n=0,并且可以将其值与阈值ε进行比较。如果F>ε,则在步骤S3308中接受新的数据集S′0作为S0,即改变后的数学模型将被进一步用于VR/AR系统中,并且如果F≤ε,当前数据集S0保持为实际的,即,当前数学模型将进一步在VR/AR系统中使用;当前的数学模型被认为是实际的,直到接收到新的光学定位数据。
目标函数F可以是加权函数。特别地,目标函数可以考虑标记斑点的大小(较大的标记斑点提供较少噪声的数据,因此它们对加权函数的贡献可以更高)、标记斑点在光学传感器的阵列中的位置(位于靠近光学传感器几何中心的位置),特别是当光学传感器配备有广角鱼眼型透镜时,提供几何失真较少的数据,因此它们对加权函数的贡献可以更高),和/或数据年龄(与矢量E的历史分量相比,矢量E与当前时间点相关的分量可以更多地贡献于加权函数)。
因此,步骤S33产生提供最小跟踪器定位误差的优化数据S。
每次当在合并的数据流中接收到新的光学数据时,启动步骤S33算法。当这种情况发生时,通过FIFO 规则从堆栈中删除数据OF和数据L的最老的历史值,即,数据OE和数据L沿更近的定位数据的方向移位一步。
上述算法提供了以下优点:
(a)任何传感器数据的到达允许调整跟踪器的位置和方向,即,新光学数据的到来允许实现跟踪器运动路径的数学模型,并且新惯性数据的抵达确保光学数据到达之间的跟踪的高精度;
(b)高鲁棒性;即使到达了仅与一个标记有关的光学数据(这可能是由多用户系统中的用户的标记阴影引起的,并且这种数据不能直接用于定位跟踪器),该光学数据仍可用于实现数学模型。
VR/AR系统中跟踪器轨迹的更新数学模型的存在使您可以准确地预测将来某个时间点的跟踪器位置。使用外推算法可以完成此预测。图24示出了在步骤S34中执行的定位数据外插算法的流程图。该算法的输入数据是在步骤S33中获取的优化数据S和该组数据L。
步骤S3401是定义外推范围的步骤。根据来自呈现3D场景的3D引擎的请求来定义外推层位。3D引擎基于VR/AR系统的特定参数,即,其目的、用户数量、典型用户的动态、用户的移动方式、系统中的已知延迟等,请求用于与将3D场景输出到HMD的时间点相对应的特定未来时间点的定位数据。外推范围可以被设置为零,例如,当3D引擎不请求预测的定位数据时。外推层位范围也可以由在VR/AR系统设置中设置的限制来定义。发明人已经通过试验确定,如果惯性传感器更新速率是每秒4000个样本并且任何数据的最大年龄在4秒内,则外推层位范围不应超过30ms,以便维持对跟踪器位置和取向的高预测可信度。
步骤S3402是定义外推基,外推基是数据的历史深度L;外推算法使用该外推基来在不确定性跨度内 (即,在最新惯性数据的到达时间点与对应于外推界的时间点之间)开发预测的跟踪器运动路径。可在总跟踪历史内(例如,在约4秒内)设置外推基础。外推基础的大小可能取决于计算资源的可用性,在VR/AR 系统中跟踪的跟踪器的数量等。外推基础的大小还可能取决于计算资源的可用性,在VR/AR系统中跟踪的跟踪器的数量等。在某些情况下,数据S的优化允许保持可接受的外推法精度,即使最小外推法的基础具有一个或几个数据L的样本。应注意的是,外推基础可以动态地定义,即,它可以变化。取决于VR/AR 系统中的当前情况;对于不同的跟踪器,它也可能不同。步骤S3403是基于步骤S3402中定义的外插基,将运动路径外插到步骤S3401中限定的外插地平线上。换句话说,直到由从3D引擎接收的请求定义的未来时间点为止,完成运动路径。将最近的数据L0应用于数据S0,并且利用外推算法处理所获得的结果,以便计算跟踪器在外推层位上的物理坐标。
为了在步骤S3403中构造轨迹,取决于VR/AR系统的目的和其中可用的计算资源,可以使用本领域技术人员已知的各种外推算法-从线性到多项式,为简洁起见,省略其详细描述。同时,对于不同的跟踪器,外推算法可能不同,或者对于相同的外推算法,外推参数可能会不同。
因此,步骤S33的结果是跟踪器在工作区域空间中的预测位置和方位数据。
应当注意,与步骤S31、S32、S33、S34对应的每个处理是关于每个跟踪器的数据独立地执行的,即,这些处理是多流处理,并且在VR/AR系统中,流的数目可被跟踪器的数目整除。
还应注意的是,上述讨论涵盖了对于实现本发明的目的而言最重要的那些动作。对于本领域技术人员来说,显而易见的是,还应当进行其它动作以确保系统的操作,例如连接设备、其初始化、启动适当的软件、发送和接收指令和确认、辅助数据交换、同步等,并且为了简洁起见,这里省略了它们的描述。
还应当注意,上述讨论覆盖了对于实现本发明的目的而言最重要的那些装置部件。对于本领域技术人员显而易见的是,这些设备必须或可以包括其它部件或部分,以确保系统的操作,并且为了简洁起见,这里省略了它们的描述。
在说明书中提及并在附图中示出的装置及其部件、方法和它们的部分涉及本发明的一个或多个特定实施例,当它们参考数字标记被提及时,或者当它们在未提及数字标记时,它们涉及所有可应用的实施例。
在说明书、附图和权利要求中提到的设备及其部件构成组合的硬件/软件装置,其中一些设备的硬件可以不同,或者如果没有明确地陈述,则可以部分地或完全地与其他设备地硬件重合。一些设备的硬件可以位于其他设备的不同部分,如果没有明确地陈述。软件内容(模块)可以以存储设备中包含的计算机代码的形式来实现。
本文所提供的方法描述中的步骤序列是说明性的,并且其在本发明的一些实施例中可以是不同的,只要保持功能并且获得结果。
本发明的部分和特征可以组合在本发明不同实施例中,如果它们彼此不矛盾的话。以上所讨论的本发明的实施例仅作为说明提供,并且它们不旨在限制权利要求书中所限定的发明。与本发明的要点相对应的在设计、配置和操作模式上的所有和任何合理的修改、变更和等同替换都包括在本发明范围内。
还应注意的是,上述描述涉及使用用于在虚拟现实或增强现实系统中对可移动对象进行内部-外部光学-惯性跟踪的方法和/或系统,而该方法和或系统完全可应用于任何其他产业中,以解决确定可移动物体的位置和/或者取向及/或运动参数的问题。
特别地,上面讨论的工程解决方案可以有利地用于跟踪工厂物流、仓库物流或商店物流系统中的货物和操作者,跟踪教育或训练系统中参与者的运动,确定机器人系统中端点的位置和方向,处理包括无人飞行器在内的无人可移动物体,以及在其他系统中完成各种任务,包括那些当前存在的和将来可能出现的任务。
引用非专利文件
1.A.Hogue;M.R.Jenkin;R.S.Allison。用于全封闭VR显示器的光学惯性跟踪系统(2008)。DOI: 10.1109/CCCRV.2004.1301417(https://doi.org/10.1109/CCCRV.2004.1301417)
2.D.Wormell;E.Foxlin;P.Katzman。用于广域混合和增强现实系统的先进惯性-光学跟踪系统。第十届国际浸入式投影技术研讨会会议录(2007)。
3.Scorpion混合光学惯性跟踪器(Hobit)(2013年)。DOI:10.1117/12.2012194
(http://dx.doi.org/10.1117/12.2012194)
4.Robert ATAC;Scott Spink;Tom Calloway;Eric Foxlin.Scorpion混合光学惯性跟踪器(Hobit) 测试结果(2014)。DOI:10.1117/12.2050363(http://dx.doi.org/10.1117/12.2050363)
5.马库斯·布兰德纳、哈拉尔德·甘斯特、阿尔伯特·库塞吉、彼得·朗、米格尔·里博。《增强现实的混合追踪》(2002).OGAI Journal,21:1 17-24,2002.
6.尤雅;乌尔里希·诺伊曼;罗纳德·阿祖马。用于增强现实注册的混合惯性和视觉跟踪(1999).继续VR"99IEEE虚拟现实会议文集,第260页.
7.Markus Miezal;Gabriele Bleser;Didier Stricker;Johannes Tumler.迈向实用的移动座椅内外头部跟踪(2012年)。ISMAR 2012跟踪方法与应用研讨会(ISMAR-12),11月5日至8日,美国佐治亚州亚特兰大。
8.约翰·卡马克。延迟缓解策略。
(HTTPS://web.archive.org/web/20140719085135/http://www.altdev.co/2013/02/22/latency-缓解策略)
9.迈克尔·阿布拉什。延迟-AR和VR的正弦量。
(http://blogs.valvesoftware.com/abruis/latency-the-sin-qua-non-ar-and-vr).

Claims (77)

1.一种光学惯性跟踪可移动物体的方法,所述方法包括以下步骤:
(a)通过多个标记提供IR光的发射;
(b)从物理上被连接到所述可移动物体的光学传感器读取图片,并通过第一数据处理装置在被读取的图片中检测满足预定条件的像素;
(c)基于检测到的像素检测标记斑点,并通过所述第一数据处理装置确定所述标记斑点的参数;
(d)通过所述第一数据处理装置从物理上被连接到所述可移动物体的至少一个惯性传感器读取数据;
(e)通过所述第一数据处理装置生成包括所述标记斑点的参数和所述至少一个惯性传感器的数据的合并数据流,并通过第一通信装置向第二通信装置传输所述合并数据流;
(f)通过所述第二通信装置接收所述合并数据流,并通过第二数据处理装置基于所述合并数据流确定在所述可移动物体的运动区域的坐标系中的跟踪器定位数据;
(g)通过所述第二数据处理装置基于所述跟踪器定位数据来验证跟踪器运动路径的数学模型;
(h)通过所述第二数据处理装置基于所述跟踪器运动路径的经验证的数学模型将所述跟踪器定位数据外推到外推层位上。
2.根据权利要求1所述的方法,其特征在于,在步骤(b)中从所述光学传感器读取的所述图片是从所述光学传感器的一部分读取的,其尺寸小于所述光学传感器的整个帧尺寸。
3.根据权利要求2所述的方法,其特征在于,要读取的光学传感器部分是跟踪窗口。
4.根据权利要求1所述的方法,其特征在于,步骤(b)中的所述预定条件包括所述像素的亮度的阈值。
5.根据权利要求4所述的方法,其特征在于,所述预定条件包括与所述像素的聚合有关的要求。
6.根据权利要求1所述的方法,其特征在于,在结束从所述光学传感器读取所述图片之前,开始检测步骤(b)中满足所述预定条件的像素。
7.根据权利要求1所述的方法,其特征在于,所述步骤(b)由FPGA执行。
8.根据权利要求1所述的方法,其特征在于,步骤(c)中的每个所述标记斑点的参数包括所述标记斑点的中心在所述光学传感器的帧的坐标系中的坐标、有效半径和加权亮度。
9.根据权利要求8所述的方法,其特征在于,所述标记的中心的坐标以亚像素精度被确定。
10.根据权利要求8所述的方法,其特征在于,所述标记斑点的参数包括指示适当的帧被捕获时的时间点的时间戳。
11.根据权利要求1所述的方法,其特征在于,所述步骤(c)由微控制器执行。
12.根据权利要求1所述的方法,其特征在于,步骤(d)中的所述惯性传感器是陀螺仪。
13.根据权利要求1所述的方法,其特征在于,步骤(d)中的所述惯性传感器是加速度计。
14.根据权利要求1所述的方法,其特征在于,在步骤(d)中从所述惯性传感器读取的数据包括指示所述数据被读取时的时间点的时间戳。
15.根据权利要求1所述的方法,其特征在于,在步骤(e)中生成的所述合并数据流包括多个跟踪器的数据。
16.根据权利要求15所述的方法,其特征在于,步骤(f)中的所述合并数据流被分成多个合并数据流,所述合并数据流的数量对应于所述跟踪器的数量。
17.根据权利要求1所述的方法,其特征在于,所述第一数据处理装置和所述第一通信装置位于所述跟踪器中,并且所述第二数据处理装置和所述第二通信装置位于主机中。
18.根据权利要求17所述的方法,其特征在于,所述跟踪器与所述主机相结合。
19.根据权利要求1所述的方法,其特征在于,基于所述标记斑点的参数来识别所述标记,以便在步骤(f)中确定跟踪器定位数据。
20.根据权利要求19所述的方法,其特征在于,使用预定的光学图案来执行所述标记的识别。
21.根据权利要求20所述的方法,其特征在于,所述光学图案是线性光学图案。
22.根据权利要求21所述的方法,其特征在于,所述线性光学图案包括与一组对准成直线的三个标记相对应的斑点,其中,第一标记与第二标记之间的距离是所述第二标记与第三标记之间的距离的两倍。
23.根据权利要求1所述的方法,其特征在于,基于在步骤(f)中针对不同的时间点确定的所述跟踪器定位数据,生成一组历史跟踪数据。
24.根据权利要求23所述的方法,其特征在于,使用所述一组历史跟踪数据来执行步骤(g)中的对所述跟踪器运动路径的数学模型的验证。
25.根据权利要求24所述的方法,其特征在于,所述一组历史跟踪数据包括:一组数据S,所述一组数据S包括表征所述跟踪器的位置和定向的多维矢量;和一组数据L,所述一组数据L包括一个或多个惯性传感器的数据。
26.根据权利要求25所述的方法,其特征在于,所述一组历史跟踪数据包括一组数据OF,所述一组数据OF包括与所述跟踪器的局部坐标系中的射线有关的信息,所述射线指向所述标记,所述标记的斑点在步骤(c)中被检测。
27.根据权利要求26所述的方法,其特征在于,在步骤(g)中对所述跟踪器运动路径的数学模型的验证包括:沿所述历史跟踪数据的整个深度的向后方向计算所述数据S,在所述历史的最早时间点优化所述数据S,然后沿所述历史跟踪数据的整个深度的向前方向计算最优数据S。
28.根据权利要求27所述的方法,其特征在于,沿所述历史跟踪数据的整个深度的向后方向计算跟踪器定位误差的矢量E,所述跟踪器定位误差是通过将基于所述数据OF计算出的标记坐标与预定的实际标记坐标做比较来确定的;并且使用所述跟踪器定位误差的所述矢量E在所述历史的最早时间点执行对所述数据S的优化。
29.根据权利要求28所述的方法,其特征在于,基于所述数据OF计算出的所述标记坐标是极坐标。
30.根据权利要求28所述的方法,其特征在于,使用最小二乘法在所述历史的最早点执行对所述数据S的优化。
31.根据权利要求30所述的方法,其特征在于,使用Levenberg-Marquardt算法在所述历史的最早点执行对所述数据S的优化。
32.根据权利要求28所述的方法,其特征在于,沿所述历史跟踪数据的整个深度的向前方向计算所述跟踪器定位误差的所述矢量E,并且通过将沿所述向前方向计算出的所述跟踪器定位误差的所述矢量E和沿所述向后方向计算出的所述跟踪器定位误差的所述矢量E做比较并通过进一步计算目标函数来执行对所述跟踪器运动路径的数学模型的验证,所述目标函数的值用于判断所述跟踪器运动路径的数学模型的现实性。
33.根据权利要求32所述的方法,其特征在于,所述目标函数是权重函数。
34.根据权利要求32所述的方法,其特征在于,所述跟踪器运动路径的数学模型的验证产生优化的数据S,所述优化的数据S确保所述跟踪器定位的最小误差。
35.根据权利要求1所述的方法,其特征在于,每当在所述合并数据流中接收到所述至少一个惯性传感器的新数据时执行步骤(f)中对所述跟踪器定位数据的确定。
36.根据权利要求1所述的方法,其特征在于,每当在所述合并数据流中接收到所述标记斑点的新参数时执行步骤(g)中对所述跟踪器运动路径的数学模型的验证。
37.根据权利要求1所述的方法,其特征在于,通过限定外推层位、限定外推基础以及通过进一步将所述跟踪器运动路径外推到所述外推层位上来执行步骤(h)中对所述跟踪器定位数据的外推。
38.根据权利要求37所述的方法,其特征在于,基于从3D引擎接收到的数据来限定所述外推层位,所述3D引擎提供3D场景的渲染。
39.根据权利要求1所述的方法,其特征在于,还包括以下步骤:基于外推的所述跟踪器定位数据来渲染3D场景,并且还将所述3D场景输出到用户的VR/AR系统中的头戴式显示器中。
40.一种用于光学惯性跟踪可移动物体的系统,所述系统包括:
至少一个多个标记,所述至少一个多个标记包括IR发光标记;
至少一个跟踪器,所述至少一个跟踪器物理上被连接到所述可移动物体,所述至少一个跟踪器包括光学传感器、至少一个惯性传感器、第一数据处理装置和第一通信装置,其中,所述跟踪器被配置成:通过所述第一通信装置读取来自所述光学传感器的图片;通过所述第一数据处理装置检测在被读取的图片中满足预定条件的像素;基于检测到的像素通过所述第一数据处理装置检测标记斑点;通过所述第一数据处理装置确定所述标记斑点的参数;通过所述第一数据处理装置读取来自所述至少一个惯性传感器的数据;通过所述第一数据处理装置生成合并数据流,所述合并数据流包括所述标记斑点的参数和所述至少一个惯性传感器的数据;以及通过所述第一通信装置将所述合并数据流传输到主机;
至少一个主机,所述主机包括第二通信装置和第二数据处理装置,其中,所述主机被配置成:通过所述第二通信装置接收所述合并数据流;基于所述合并数据流通过所述第二数据处理装置确定所述可移动对象的运动区域的坐标系中的跟踪器定位数据;基于所述跟踪器定位数据通过所述第二数据处理装置验证跟踪器运动路径的数学模型;基于所述跟踪器运动路径的经验证的数学模型通过所述第二数据处理装置将所述跟踪器定位数据外推到外推层位上。
41.根据权利要求40所述的系统,其特征在于,所述第一数据处理装置被配置成从所述光学传感器的一部分读取所述图片,其尺寸小于所述光学传感器的整个帧尺寸。
42.根据权利要求41所述的系统,其特征在于,要读取的光学传感器部分是跟踪窗口。
43.根据权利要求40所述的系统,其特征在于,所述预定条件包括所述像素的亮度的阈值。
44.根据权利要求43所述的系统,其特征在于,所述预定条件包括与所述像素的聚合有关的要求。
45.根据权利要求40所述的系统,其特征在于,所述第一数据处理装置被配置成在完成从所述光学传感器读取所述图片之前开始检测满足所述预定条件的像素。
46.根据权利要求40所述的系统,其特征在于,所述第一数据处理装置包括FPGA,所述FPGA被配置成从所述光学传感器读取所述图片并检测被读取的图片中满足所述预定条件的像素。
47.根据权利要求40所述的系统,其特征在于,每个所述标记斑点的参数包括所述标记斑点的中心在所述光学传感器的帧的坐标系中的坐标、有效半径和加权亮度。
48.根据权利要求47所述的系统,其特征在于,所述第一数据处理装置被配置成以亚像素精度确定所述标记的中心的坐标。
49.根据权利要求47所述的系统,其特征在于,所述标记斑点的参数包括指示适当的帧被捕获时的时间点的时间戳。
50.根据权利要求40所述的系统,其特征在于,所述第一数据处理装置包括微控制器,所述微控制器被配置成基于检测到的像素来检测所述标记斑点并确定所述标记斑点的参数。
51.根据权利要求40所述的系统,其特征在于,所述惯性传感器是陀螺仪。
52.根据权利要求40所述的系统,其特征在于,所述惯性传感器是加速度计。
53.根据权利要求40所述的系统,其特征在于,从所述惯性传感器读取的数据包括指示所述数据被读取时的时间点的时间戳。
54.根据权利要求40所述的系统,其特征在于,所述合并数据流包括多个跟踪器的数据。
55.根据权利要求54所述的系统,其特征在于,所述第二数据处理装置被配置成将所述合并数据流分成多个合并数据流,所述合并数据流的数量对应于所述跟踪器的数量。
56.根据权利要求40所述的系统,其特征在于,所述跟踪器与所述主机相结合。
57.根据权利要求40所述的系统,其特征在于,所述第二数据处理装置被配置成基于所述标记斑点的参数来识别所述标记,以便确定所述跟踪器定位数据。
58.根据权利要求57所述的系统,其特征在于,所述第二数据处理装置被配置成使用预定的光学图案来识别所述标记。
59.根据权利要求58所述的系统,其特征在于,所述预定的光学图案是线性光学图案。
60.根据权利要求59所述的系统,其特征在于,所述线性光学图案包括与一组对准成直线的三个标记相对应的斑点,其中,第一标记与第二标记之间的距离是所述第二标记与第三标记之间的距离的两倍。
61.根据权利要求40所述的系统,其特征在于,所述第二数据处理装置被配置成基于针对不同时间点确定的所述跟踪器定位数据来生成一组历史跟踪数据。
62.根据权利要求61所述的系统,其特征在于,所述第二数据处理装置被配置成使用所述一组历史跟踪数据来验证所述跟踪器运动路径的数学模型。
63.根据权利要求62所述的系统,其特征在于,所述一组历史跟踪数据包括:一组数据S,所述一组数据S包括表征所述跟踪器的位置和定向的多维矢量;和一组数据L,所述一组数据L包括一个或多个惯性传感器的数据,其中,所述数据S和所述数据L对应于所述跟踪器运动路径的数学模型的参数。
64.根据权利要求63所述的系统,其特征在于,所述一组历史跟踪数据包括一组数据OF,所述一组数据OF包括与所述跟踪器的局部坐标系中的射线有关的信息,所述射线指向所述标记,所述标记的斑点被检测。
65.根据权利要求64所述的系统,其特征在于,所述第二数据处理装置被配置成:在验证所述跟踪器运动路径的数学模型期间,沿所述历史跟踪数据的整个深度的向后方向计算所述数据S,在所述历史的最早时间点优化所述数据S,然后沿所述历史跟踪数据的整个深度的向前方向计算最优数据S。
66.根据权利要求64所述的系统,其特征在于,所述第二数据处理装置被配置成:沿所述历史跟踪数据的整个深度的向后方向计算跟踪器定位误差的矢量E,所述跟踪器定位误差是通过将基于所述数据OF计算出的标记坐标与预定的实际标记坐标做比较来确定的;并且使用所述跟踪器定位误差的所述矢量E在所述历史的最早时间点优化所述数据S。
67.根据权利要求66所述的系统,其特征在于,基于所述数据OF计算出的所述标记坐标是极坐标。
68.根据权利要求66所述的系统,其特征在于,使用最小二乘法在所述历史的最早时间点执行对所述数据S的优化。
69.根据权利要求68所述的系统,其特征在于,使用Levenberg-Marquardt算法在所述历史的最早时间点执行对所述数据S的优化。
70.根据权利要求66所述的系统,其特征在于,所述第二数据处理装置被配置成:沿所述历史跟踪数据的整个深度的向前方向计算所述跟踪器定位误差的所述矢量E,并且通过将沿所述向前方向计算出的所述跟踪器定位误差的所述矢量E和沿所述向后方向计算出的所述跟踪器定位误差的所述矢量E做比较并通过进一步计算目标函数来验证所述跟踪器运动路径的数学模型,所述目标函数的值用于判断所述跟踪器运动路径的数学模型的现实性。
71.根据权利要求70所述的系统,其特征在于,所述目标函数是权重函数。
72.根据权利要求70所述的系统,其特征在于,所述跟踪器运动路径的数学模型的验证产生优化的数据S,所述优化的数据S确保所述跟踪器定位的最小误差。
73.根据权利要求40所述的系统,其特征在于,所述第二数据处理装置被配置成:每当在所述合并数据流中接收到所述至少一个惯性传感器的新数据时确定所述跟踪器定位数据。
74.根据权利要求40所述的系统,其特征在于,所述第二数据处理装置被配置成:每当在所述合并数据流中接收到所述标记斑点的新参数时验证所述跟踪器运动路径的数学模型。
75.根据权利要求40所述的系统,其特征在于,所述第二数据处理装置被配置成:限定外推层位和外推基础,以及将所述跟踪器运动路径外推到所述外推层位上。
76.根据权利要求75所述的系统,其特征在于,能够基于从3D引擎接收到的数据来限定所述外推层位,所述3D引擎被配置成渲染3D场景。
77.根据权利要求40所述的系统,其特征在于,还包括至少一个头戴式显示器,所述至少一个头戴式显示器被配置成:向VR/AR系统用户呈现3D场景,其中,所述跟踪器定位数据的外推被执行,以便基于外推的所述跟踪器定位数据进一步渲染所述3D场景,并且将所述3D场景输出到所述VR/AR系统用户的所述头戴式显示器中。
CN201780098284.4A 2017-12-18 2017-12-18 光学惯性跟踪运动物体的方法和系统 Pending CN112074705A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2017/058068 WO2019122950A1 (ru) 2017-12-18 2017-12-18 Способ и система для оптико-инерциального трекинга подвижного объекта

Publications (1)

Publication Number Publication Date
CN112074705A true CN112074705A (zh) 2020-12-11

Family

ID=66993175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780098284.4A Pending CN112074705A (zh) 2017-12-18 2017-12-18 光学惯性跟踪运动物体的方法和系统

Country Status (6)

Country Link
EP (1) EP3730899A4 (zh)
JP (1) JP2021509214A (zh)
CN (1) CN112074705A (zh)
RU (1) RU2758036C1 (zh)
SG (1) SG11202005776TA (zh)
WO (1) WO2019122950A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112729285B (zh) * 2020-12-22 2023-03-10 清华大学 基于多模态融合的定位方法及系统
CN113318435A (zh) 2021-04-27 2021-08-31 青岛小鸟看看科技有限公司 手柄控制追踪器的控制方法、装置及头戴式显示设备
JP7474726B2 (ja) 2021-05-14 2024-04-25 Kddi株式会社 計算機合成ホログラム生成装置及びプログラム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101536036A (zh) * 2005-09-26 2009-09-16 皇家飞利浦电子股份有限公司 用于跟踪物体或人的运动的方法和设备
WO2011128766A2 (en) * 2010-04-13 2011-10-20 Picard Frederic Methods and systems for object tracking
CN104658012A (zh) * 2015-03-05 2015-05-27 第二炮兵工程设计研究院 一种基于惯性与光学测量融合的运动捕捉方法
US20160252965A1 (en) * 2004-01-30 2016-09-01 Electronic Scripting Products, Inc. Computer Interface for Remotely Controlled Objects and Wearable Articles with Absolute Pose Detection Component
CN105953796A (zh) * 2016-05-23 2016-09-21 北京暴风魔镜科技有限公司 智能手机单目和imu融合的稳定运动跟踪方法和装置
US20170011555A1 (en) * 2015-07-06 2017-01-12 Seiko Epson Corporation Head-mounted display device and computer program
US20170274277A1 (en) * 2016-03-25 2017-09-28 Zero Latency PTY LTD System and method for determining orientation using tracking cameras and inertial measurements
CN107255476A (zh) * 2017-07-06 2017-10-17 青岛海通胜行智能科技有限公司 一种基于惯性数据和视觉特征的室内定位方法和装置
US20170300834A1 (en) * 2016-02-17 2017-10-19 Hitoshi Ishida Moving objects with automatic evaluation function
CN107341831A (zh) * 2017-07-06 2017-11-10 青岛海通胜行智能科技有限公司 一种imu辅助的视觉特征鲁棒跟踪方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003901528A0 (en) * 2003-03-31 2003-05-01 Seeing Machines Pty Ltd Eye tracking system and method
US9352230B1 (en) 2006-07-14 2016-05-31 Ailive Inc. Method and system for tracking motion-sensing device
US9317110B2 (en) 2007-05-29 2016-04-19 Cfph, Llc Game with hand motion control
US8964298B2 (en) * 2010-02-28 2015-02-24 Microsoft Corporation Video display modification based on sensor input for a see-through near-to-eye display
US9348141B2 (en) 2010-10-27 2016-05-24 Microsoft Technology Licensing, Llc Low-latency fusing of virtual and real content
JP2015531510A (ja) 2012-09-06 2015-11-02 インターフェイズ・コーポレーション 対話型表示システムにおける絶対的および相対的位置決めセンサ連携
US9063330B2 (en) 2013-05-30 2015-06-23 Oculus Vr, Llc Perception based predictive tracking for head mounted displays
US10905943B2 (en) * 2013-06-07 2021-02-02 Sony Interactive Entertainment LLC Systems and methods for reducing hops associated with a head mounted system
US9443355B2 (en) 2013-06-28 2016-09-13 Microsoft Technology Licensing, Llc Reprojection OLED display for augmented reality experiences
US9514571B2 (en) 2013-07-25 2016-12-06 Microsoft Technology Licensing, Llc Late stage reprojection
US9551873B2 (en) * 2014-05-30 2017-01-24 Sony Interactive Entertainment America Llc Head mounted device (HMD) system having interface with mobile computing device for rendering virtual reality content
US9824498B2 (en) * 2014-12-30 2017-11-21 Sony Interactive Entertainment Inc. Scanning display system in head-mounted display for virtual reality
SG11201705370QA (en) 2014-12-31 2017-08-30 Alt Ltd Liability Company Method and device for displaying three-dimensional objects
US20160232715A1 (en) 2015-02-10 2016-08-11 Fangwei Lee Virtual reality and augmented reality control with mobile devices
US9588598B2 (en) 2015-06-30 2017-03-07 Ariadne's Thread (Usa), Inc. Efficient orientation estimation system using magnetic, angular rate, and gravity sensors
US10089790B2 (en) 2015-06-30 2018-10-02 Ariadne's Thread (Usa), Inc. Predictive virtual reality display system with post rendering correction
US11010910B2 (en) 2015-12-18 2021-05-18 Iris Automation, Inc. Systems and methods for dynamic object tracking using a single camera mounted on a moving object

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160252965A1 (en) * 2004-01-30 2016-09-01 Electronic Scripting Products, Inc. Computer Interface for Remotely Controlled Objects and Wearable Articles with Absolute Pose Detection Component
CN101536036A (zh) * 2005-09-26 2009-09-16 皇家飞利浦电子股份有限公司 用于跟踪物体或人的运动的方法和设备
WO2011128766A2 (en) * 2010-04-13 2011-10-20 Picard Frederic Methods and systems for object tracking
CN104658012A (zh) * 2015-03-05 2015-05-27 第二炮兵工程设计研究院 一种基于惯性与光学测量融合的运动捕捉方法
US20170011555A1 (en) * 2015-07-06 2017-01-12 Seiko Epson Corporation Head-mounted display device and computer program
US20170300834A1 (en) * 2016-02-17 2017-10-19 Hitoshi Ishida Moving objects with automatic evaluation function
US20170274277A1 (en) * 2016-03-25 2017-09-28 Zero Latency PTY LTD System and method for determining orientation using tracking cameras and inertial measurements
CN105953796A (zh) * 2016-05-23 2016-09-21 北京暴风魔镜科技有限公司 智能手机单目和imu融合的稳定运动跟踪方法和装置
CN107255476A (zh) * 2017-07-06 2017-10-17 青岛海通胜行智能科技有限公司 一种基于惯性数据和视觉特征的室内定位方法和装置
CN107341831A (zh) * 2017-07-06 2017-11-10 青岛海通胜行智能科技有限公司 一种imu辅助的视觉特征鲁棒跟踪方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARY B. ALATISE等: "Pose Estimation of a Mobile Robot Based on Fusion of IMU Data and Vision Data Using an Extended Kalman Filter", SENSORS, 21 September 2017 (2017-09-21), pages 1 - 22 *

Also Published As

Publication number Publication date
JP2021509214A (ja) 2021-03-18
EP3730899A1 (en) 2020-10-28
RU2758036C1 (ru) 2021-10-25
SG11202005776TA (en) 2020-07-29
WO2019122950A1 (ru) 2019-06-27
EP3730899A4 (en) 2021-07-28

Similar Documents

Publication Publication Date Title
US10481679B2 (en) Method and system for optical-inertial tracking of a moving object
US11100649B2 (en) Fiducial marker patterns, their automatic detection in images, and applications thereof
CN108292489B (zh) 信息处理装置和图像生成方法
US7852315B2 (en) Camera and acceleration based interface for presentations
JP5790692B2 (ja) 情報処理装置、情報処理方法および記録媒体
JP2018511098A (ja) 複合現実システム
JP2020531965A (ja) 支援型の拡張現実
US20100201808A1 (en) Camera based motion sensing system
JP6609640B2 (ja) 電子デバイス上における環境マッピング用のフィーチャ・データの管理
US10380761B2 (en) Locating method, locator, and locating system for head-mounted display
CN112074705A (zh) 光学惯性跟踪运动物体的方法和系统
WO2020024909A1 (zh) 定位跟踪方法、终端设备及计算机可读取存储介质
TWI714054B (zh) 用於追蹤和渲染對應於實體對象的虛擬對象的追蹤系統以及用於其的操作方法
US10928927B2 (en) Video interactive system
RU2772407C1 (ru) Способ и система для оптико-инерциального трекинга подвижного объекта
US11451720B2 (en) System and method for displaying 3D tour comparison
US20220207832A1 (en) Method and apparatus for providing virtual contents in virtual space based on common coordinate system
US20230035962A1 (en) Space recognition system, space recognition method and information terminal
CN112789621A (zh) 检测垂直平面表面的方法和设备
JP2019140530A (ja) サーバ装置、表示装置、映像表示システム、及び映像表示方法
KR102453561B1 (ko) 가상 스튜디오의 복합 센서 기반 다중 추적 카메라 시스템의 동작 방법
WO2021177132A1 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
TWI814624B (zh) 環景影像的地標識別標註系統及其方法
US20230336944A1 (en) Location and space aware adaptive synchronization
WO2022185719A1 (ja) 情報処理装置、情報処理方法、及び、表示装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination