CN110895676A - 动态对象跟踪 - Google Patents
动态对象跟踪 Download PDFInfo
- Publication number
- CN110895676A CN110895676A CN201910856583.0A CN201910856583A CN110895676A CN 110895676 A CN110895676 A CN 110895676A CN 201910856583 A CN201910856583 A CN 201910856583A CN 110895676 A CN110895676 A CN 110895676A
- Authority
- CN
- China
- Prior art keywords
- image
- early
- features
- late
- environmental
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments 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/01—Head-up displays
- G02B27/017—Head mounted
-
- 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
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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
- 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
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/001—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
- G09G3/003—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
-
- 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/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Optics & Photonics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
动态对象跟踪。一种使用移动摄像头来确定并显示环境中的对象的移动的方法,该方法包括以下步骤:识别位于后期图像中的环境中的后期环境特征、位于早期图像中的环境中的早期环境特征、以及位于早期图像中的对象上的早期对象特征。方法还包括以下步骤:使用早期对象特征和所确定的摄像头移动,估计后期图像中的对象特征。方法还包括以下步骤:在后期图像中定位匹配的对象特征,所述匹配的对象特征为后期图像中处于与所估计的对象特征相同位置处的实际对象特征。方法还包括以下步骤:如果匹配的对象特征的数量不超过阈值,则确定对象在早期图像与后期图像之间已经移动。
Description
技术领域
本公开总体涉及图像数据流中的对象检测和姿态估计的领域,更具体地涉及包括图像数据流中的对象检测和姿态估计的增强现实系统。
背景技术
增强现实(AR)已经随着计算机技术的进步而变得越来越常见。AR的一般定义是捕捉真实世界场景并使用软件添加人工(虚拟)元素。这可以增强真实世界的用户感知或向用户提供娱乐。
对象跟踪在许多AR实施方案中是重要的。这意味着软件维持与真实世界对象在摄像头视场内的位置有关的当前信息。由此,真实世界对象可以“之后是”所显示的人工对象,诸如计算机图形增强或信息泡(如由用户感知的)。换言之,如果真实世界对象移动或用户的视野相对于真实世界对象移动,则人工对象将相对于真实世界对象保持在相同位置中,和/或将基于真实世界对象的移动和/或新位置确定人工对象的内容。位置跟踪在许多AR实施方案中也是重要的。这意味着虚拟对象将停留在场景中的一个位置中,而不管用户的移动如何。
用于实施AR的一个平台是智能电话或平板电脑。摄像头、显示器以及处理器在同一装置上的存在允许软件将人工元素容易地添加到由摄像头捕捉的生动场景。而且,软件利用运动传感器和定位器(例如,加速度计和GPS)在这些装置上的存在来更佳地实施AR。
另一平台是头戴式显示器(HMD),HMD可以实施提供更丰富AR体验的AR。这些系统通常为棱镜被放置在眼睛前面的眼镜。用户直接借助眼镜来观看场景。棱镜允许人工图像叠加在如由用户感知的场景上。同时HMD使用摄像头从场景采集数据。
发明内容
对象跟踪在摄像头和被跟踪对象这两者移动时变得更困难。软件可能难以区分对象运动与摄像头运动,并且实现高度准确对象跟踪可能不是在每一个场景中都是可以的。
部分为了克服这些难题,本公开的实施方式包括一种使用移动摄像头来确定并显示环境中的对象的移动的方法。方法包括以下步骤:从由摄像头捕捉的图像流获取环境的早期图像和后期图像。方法还包括以下步骤:识别位于后期图像中的环境中的后期环境特征、位于早期图像中的环境中的早期环境特征、以及位于早期图像中的对象上的早期对象特征。方法还包括以下步骤:使用早期环境特征与后期环境特征之间的位置差异,确定从早期图像到后期图像的摄像头移动。方法还包括以下步骤:使用早期对象特征和所确定的摄像头移动,估计后期图像中的对象特征。方法还包括以下步骤:在后期图像中定位匹配的对象特征,该匹配的对象特征为后期图像中处于与所估计的对象特征相同位置处的实际对象特征。方法还包括以下步骤:如果匹配的对象特征的数量不超过阈值,则确定对象在早期图像与后期图像之间已经移动。方法还包括以下步骤:如果匹配的对象特征的数量超过阈值,则确定对象在早期图像与后期图像之间没有移动。方法还包括以下步骤:如果对象已经移动,则显示通知。
本公开的实施方式还包括一种非暂时计算机可读介质,该非暂时计算机可读介质具体实施使得一个或更多个处理器执行方法的指令。方法包括以下步骤:从由摄像头捕捉的图像流获取环境的早期图像和后期图像。方法还包括以下步骤:识别位于后期图像中的环境中的后期环境特征、位于早期图像中的环境中的早期环境特征、以及位于早期图像中的对象上的早期对象特征。方法还包括以下步骤:使用早期环境特征与后期环境特征之间的位置差异,确定从早期图像到后期图像的摄像头移动。方法还包括以下步骤:使用早期对象特征和所确定的摄像头移动,估计后期图像中的对象特征。方法还包括以下步骤:在后期图像中定位匹配的对象特征,该匹配的对象特征为后期图像中处于与所估计的对象特征相同位置处的实际对象特征。方法还包括以下步骤:如果匹配的对象特征的数量不超过阈值,则确定对象在早期图像与后期图像之间已经移动。方法还包括以下步骤:如果匹配的对象特征的数量超过阈值,则确定对象在早期图像与后期图像之间没有移动。方法还包括以下步骤:如果对象已经移动,则指示显示器显示通知。
这种实施方式的优点可以包括,可以关于环境和对象这两者跟踪摄像头姿态。由此,可以使用移动摄像头来检测并跟踪移动对象。
在一些实施方式中,如果对象已经移动,则方法还包括以下步骤:使用后期图像中的实际对象特征和早期对象特征,确定后期图像中的对象的姿态;以及基于所确定的对象的姿态,更新所显示的对象的位置。
这种实施方式的优点可以包括,系统可以从环境跟踪恢复到传统对象跟踪,这可以具有跟踪移动对象的更佳性能。
在一些实施方式中,方法还包括以下步骤:如果对象离开摄像头的视场:如果对象重新进入视场,则将对象重新定位在图像流中的图像中。
这种实施方式的优点可以包括,如果感兴趣的对象临时离开视场,则可以快速重新获取该对象。
在一些实施方式中,方法还包括以下步骤:通过将在存储器中存储的对象特征定位在图像流中的图像中,在获取早期图像之前确定对象的姿态。在这种实施方式中,在识别早期对象特征和早期环境特征时,使用对象的姿态来区分早期对象特征与早期环境特征。
这种实施方式的优点可以包括,在对象是静态的时候,确定对象姿态,这引起更高的准确度。而且,它可以促进识别对象特征。
在一些实施方式中,通过区分图像流中的图像中的环境特征与对象特征来识别早期环境特征和早期对象特征,并且方法还包括以下步骤:通过在区分环境特征与对象特征之后获得另外对象特征,生成对象特征的集合。
这种实施方式的优点可以包括,生成更多对象特征,这可以通过增加用于确定移动的对象特征的数量来提高方法的准确度。
在一些实施方式中,后期图像是图像流中的当前图像,并且早期图像是从存储器获取的。
这种实施方式的优点可以包括,方法实时发生,以跟踪摄像头和对象姿态。
在一些实施方式中,摄像头和显示器是头戴式显示器、智能电话以及平板电脑中的一种的部件。
这种实施方式的优点可以包括,方法用于容易可用的装置上,该装置包括可以用于执行方法的步骤的部件。
本公开的实施方式还包括一种头戴式显示器,该头戴式显示器确定并显示环境中的对象的移动。头戴式显示器包括摄像头,该摄像头捕捉环境的图像流,该图像流包括早期图像(第一时间时的图像)和后期图像(比第一时间晚的第二时间时的图像)。头戴式显示器还包括处理器,该处理器被配置为识别位于后期图像中的环境中的后期环境特征、位于早期图像中的环境中的早期环境特征、以及位于早期图像中的对象上的早期对象特征。处理器还被配置为:使用早期环境特征与后期环境特征之间的位置差异,确定从早期图像到后期图像的摄像头移动。处理器还被配置为:使用早期对象特征和所确定的摄像头移动,估计后期图像中的对象特征。处理器还被配置为:在后期图像中定位匹配的对象特征,该匹配的对象特征为后期图像中处于与所估计的对象特征相同位置处的实际对象特征。处理器还被配置为:如果匹配的对象特征的数量不超过阈值,则确定对象在早期图像与后期图像之间已经移动。处理器还被配置为:如果匹配的对象特征的数量超过阈值,则确定对象在早期图像与后期图像之间没有移动。头戴式显示器还包括显示器,如果对象已经移动,则显示器显示通知。
在一些实施方式中,处理器还被配置为,如果对象已经移动:使用后期图像中的实际对象特征和早期对象特征,确定后期图像中的对象的姿态;并且基于所确定的对象的姿态,更新所显示的对象的位置。
在一些实施方式中,处理器器还被配置为,如果对象离开摄像头的视场:如果对象重新进入视场,则将对象重新定位在图像流中的图像中。
在一些实施方式中,处理器器还被配置为,通过将在存储器中存储的对象特征定位在图像流中的图像中,在获取早期图像之前确定对象的姿态。在这种实施方式中,在识别早期对象特征和早期环境特征时,使用对象的姿态来区分早期对象特征与早期环境特征。
在一些实施方式中,处理器通过区分图像流中的图像中的环境特征与对象特征来识别早期环境特征和早期对象特征,并且还被配置为通过在区分环境特征与对象特征之后获得另外对象特征,生成对象特征的集合。
在一些实施方式中,头戴式显示器还包括存储器,后期图像是图像流中的当前图像,并且早期图像是从存储器获取的。
附图说明
将参照附图描述本公开,附图中,同样的附图标记引用同样的要素。
图1是例示了示例HMD的示意构造的图。
图2是例示了图1所示的HMD的功能构造的框图。
图3是根据一个实施方式的方法的流程图。
图4A是根据一个实施方式的所捕捉的环境的早期图像。
图4B是根据一个实施方式的所捕捉的环境的后期图像。
图4C是根据一个实施方式的所捕捉的环境的后期图像。
图5是根据一个实施方式的方法的流程图。
图6是根据一个实施方式的方法的流程图。
图7是根据一个实施方式的方法的流程图。
图8是根据一个实施方式的方法的流程图。
图9A是与图4A的图像对应的所显示图像。
图9B是与图4B的图像对应的所显示图像。
图9C是与图4C的图像对应的所显示图像。
图10是根据一个实施方式的系统的框图。
具体实施方式
图1示出了HMD 100的示意构造。HMD 100是头戴式显示装置(头戴式显示器)。HMD100为透光式。即,HMD 100可以使得用户感受虚拟图像,并且同时使得用户直接视觉识别外部场景。
HMD 100包括可戴在用户头部上的穿戴带90、显示图像的显示部20以及控制显示部20的控制部10。显示部20在显示部20戴在用户头部上的状态下使得用户感受虚拟图像。使得用户感受虚拟图像的显示部20还被称为“显示AR”。用户所感受的虚拟图像还被称为AR图像。
穿戴带90包括由树脂制成的穿戴基部91、由耦接到穿戴基部91的布制成的带92、摄像头60、以及IMU(惯性测量单元)71。穿戴基部91具有沿着人的额区的形式弯曲的形状。带92被戴在用户的头部周围。
摄像头60起成像器的作用。摄像头60能够对外部场景成像,并且布置在穿戴基部91的中心部分中。换言之,摄像头60在穿戴带90戴在用户头部上的状态下布置在与用户前额的中心对应的位置中。因此,摄像头60对是沿用户的视线方向在外部的真实场景的外部场景成像,并且在用户将穿戴带90戴在头部上的状态下获取所捕捉图像,该图像是由摄像头60捕捉的图像。
摄像头60包括:摄像头底座61,该摄像头底座相对于穿戴基部91旋转;和镜头62,该镜头的相对位置相对于摄像头底座61固定。摄像头底座61被布置为能够在穿戴带90戴在用户头部上时沿着箭头CS1旋转,该箭头指示在包括用户的中心轴的平面中包括的轴线的预定范围。因此,是摄像头60的光轴的、镜头62的光轴的方向可以在箭头CS1的范围内改变。镜头62对根据定心在光轴上的变焦变化的范围成像。
IMU 71是检测加速度的惯性传感器。IMU 71除了可以检测加速度之外,还可以检测角速度和地磁。IMU 71被并入穿戴基部91中。因此,IMU 71检测穿戴带90和摄像头基部61的加速度、角速度、以及地磁。
IMU 71与穿戴基部91的相对位置固定。因此,摄像头60相对于IMU 71可移动。进一步地,显示部20与穿戴基部91的相对位置固定。因此,摄像头60与显示部20的相对位置可移动。在一些其他实施方式中,摄像头60和IMU 71可以设置在显示部20中,使得它们相对于显示部20固定。已经由校准获得的、摄像头60、IMU 71以及显示部20之间的、由旋转和平移矩阵表示的空间关系存储在控制部10中的存储区域或装置中。
显示部20耦接到穿戴带90的穿戴基部91。显示部20为眼镜式的。显示部20包括右保持件21、右显示驱动器22、左保持件23、左显示驱动器24、右光学图像显示器26以及左光学图像显示器28。
右光学图像显示器26和左光学图像显示器28在用户戴显示部20时位于用户的右眼和左眼的前面。右光学图像显示器26的一端和左光学图像显示器28的一端在当用户戴显示部20时与用户前额的中间对应的位置中连接到彼此。
右保持件21具有从端部ER沿大致水平方向延伸并且在中途倾斜向上倾斜的形状,该端部是右光学图像显示器26的另一端。右保持件21连接端部ER和在穿戴基部91的右侧上的耦接部93。
类似地,左保持件23具有从端部EL沿大致水平方向延伸并且在中途倾斜向上倾斜的形状,该端部是左光学图像显示器28的另一端。左保持件23连接端部EL和在穿戴基部91的左侧上的耦接部(图中未示出)。
右保持件21和左保持件23由左和右耦接部93耦接到穿戴基部91,以将右光学图像显示器26和左光学图像显示器28定位在用户眼睛的前面。注意,耦接部93将右保持件21和左保持件23耦接为能够在任意旋转位置中旋转并且能够固定。因此,显示部20被设置为能够相对于穿戴基部92旋转。
右保持件21是被设置为在用户戴显示部20时从是右光学图像显示器26的另一端的端部ER延伸到与用户的颞区对应的位置的构件。
类似地,左保持件23是被设置为在用户戴显示部20时从是左光学图像显示器28的另一端的端部EL延伸到与用户的颞区对应的位置的构件。右显示驱动器22和左显示驱动器24在用户戴显示部20时布置在与用户头部相对的侧上。
显示驱动器22和24包括液晶显示器241和242(下文中,还被称为“LCD 241和242”)以及以下说明的投影光学系统251和252。以下详细说明显示驱动器22和24的构造。
光学图像显示器26和28包括以下说明的导光板261和262以及调光板。导光板261和262由透光树脂材料等形成,并且将从显示驱动器22和24输出的图像光引导到用户的眼睛。
调光板是薄板状光学元件,并且被布置为覆盖在用户眼睛侧的相对侧上的、显示部20的前侧。通过调节调光板的透光率,可以调节进入用户眼睛的外部光量,并且调节虚拟图像的可见度。
显示部20还包括连接部40,该连接部用于将显示部20连接到控制部10。连接部40包括连接到控制部10的主体线缆48、右线缆42、左线缆44以及耦接构件46。
右线缆42和左线缆44是从主体线缆48分出的两根线缆。显示部20和控制部10经由连接部40执行各种信号的传输。作为右线缆42、左线缆44以及主体线缆48,例如,可以采用金属电缆或光纤。
控制部10是用于控制HMD 100的装置。控制部10包括操作部135,该操作部包括静电跟踪垫和可以被按压的多个按钮。操作部135布置在控制部10的表面上。
图2是在功能上示出了HMD 100的构造的框图。如图2所示,控制部10包括ROM 121、RAM 122、电源130、操作部135、CPU 140(本文有时还被称为处理器140)、接口180以及发送器51(Tx 51)和发送器52(Tx 52)。
电源130向HMD 100的部供电。各种计算机程序存储在ROM 121中。CPU 140在RAM122中展开在ROM 121中存储的计算机程序,以执行计算机程序。计算机程序包括用于实现以下说明的跟踪处理和AR显示处理的计算机程序。
CPU 140将在ROM 121中存储的计算机程序在RAM 122中展开或加载到RAM 122中,以起操作系统150(OS 150)、显示控制部190、声音处理部170、图像处理部160以及处理部167的作用。
显示控制部190生成用于控制右显示驱动器22和左显示驱动器24的控制信号。显示控制部190由右显示驱动器22和左显示驱动器24分别控制图像光的生成和发射。
显示控制部190经由发送器51和52分别向右LCD控制部211和左LCD控制部212发送控制信号。显示控制部190分别向右背光源(BL)控制部201和左背光源控制部202发送控制信号。
图像处理部160获取在内容中包括的图像信号,并且经由发送器51和52向显示部20的接收器53和54发送所获取的图像信号。声音处理部170获取在内容中包括的声音信号,放大所获取的声音信号,并且将声音信号供应到连接到耦接构件46的右耳机32中的扬声器(图中未示出)和连接到该耦接构件的左耳机34中的扬声器(图中未示出)。
处理部167与时间关联地从摄像头60获取所捕捉的图像。时间在该实施方式中可以或可以不是基于标准时间。处理部167例如根据单应矩阵来计算对象(真实对象)的姿态。对象的姿态意指摄像头60与对象之间的空间关系(旋转关系)。处理部167使用所计算的空间关系和由IMU 71检测的加速度等的检测值来计算旋转矩阵,该旋转矩阵用于将固定到摄像头60的坐标系转换成固定到IMU 71的坐标系。处理部167的功能是用于以下说明的跟踪处理和AR显示处理。
接口180是用于将是内容供应源的各种外部装置OA连接到控制部10的输入/输出接口。外部装置OA的示例包括内部存储有AR场景的存储装置、个人计算机(PC)、蜂窝电话终端以及游戏终端。作为接口180,例如,可以使用USB接口、微USB接口以及用于存储卡的接口。
显示部20包括右显示驱动器22、左显示驱动器24、起右光学图像显示器26的作用的右导光板261、以及起左光学图像显示器28的作用的左导光板262。右和左导光板261和262是透过来自真实场景的光的光学透视元件。
右显示驱动器22包括接收器53(Rx 53)、右背光源控制部201和右背光源221、右LCD控制部211和右LCD 241、以及右投影光学系统251。右背光源控制部201和右背光源221起光源的作用。
右LCD控制部211和右LCD 241起显示元件的作用。上述的显示元件和光学透视元件允许用户视觉地感知AR图像,该图像被显示元件显示为叠加在真实场景上。注意,在其他实施方式中,代替以上说明的构造,右显示驱动器22可以包括诸如有机EL显示元件的自发射显示元件,或者可以包括在视网膜上扫描来自激光二极管的光束的扫描式显示元件。这同样适用于左显示驱动器24。
接收器53起用于控制部10与显示部20之间的串行传输的接收器的作用。右背光源控制部201基于输入控制信号驱动右背光源221。右背光源221是诸如LED或电致发光(EL)元件的发光体。右LCD控制部211基于从图像处理部160和显示控制部190发送的控制信号驱动右LCD 241。右LCD 241是上面多个像素以矩阵形状排列的透射式液晶面板。
右投影光学系统251由准直透镜来构造,该准直透镜将从右LCD 241发射的图像光转换成平行状态的光束。起右光学图像显示器26的作用的右导光板261在沿着预定光路反射图像光的同时将从右投影光学系统251输出的图像光引导到用户的右眼RE。注意,左显示驱动器24具有与右显示驱动器22的构造相同的构造,并且与用户的左眼LE对应。因此,省略左显示驱动器24的说明。
关于图1和图2的上面描述说明了HMD的一个实施方式。然而,以下所公开软件应用于的装置可以为除了HMD之外的成像装置。例如,装置可以为没有显示图像的功能的成像装置。另选地,装置可以是智能电话或平板电脑。
使用HMD或具有摄像头和显示器的另一装置(诸如智能电话或平板电脑),可以使用对象检测和姿态估计(ODPE)过程来实现对象跟踪。对象跟踪用于实施许多AR功能,诸如跟随真实世界对象的对话框。对于这种功能,应实时知道对象相对于摄像头/显示器的位置。在许多情况下,ODPE涉及使用对象的CAD模型和从摄像头的图像流获得的对象的图像,来识别对象。一旦检测到对象,则估计与摄像头的相对位置(或姿态),并且执行对象跟踪。凭借ODPE,用于对象跟踪的姿态通常是对象相对于摄像头的姿态。然而,如下面将看到的,可以开发坐标系,从而相对于世界参照系(或全局坐标系)跟踪摄像头姿态和对象姿态。
在本文描述的实施方式中,使用除了ODPE之外的方法,该方法可以被称为同时定位与地图创建(SLAM)。凭借SLAM,确定相对于环境的摄像头姿态。由此,已知摄像头在世界参照系中的位置。这促进摄像头姿态的准确跟踪,即使随着摄像头移动穿过环境。SLAM通过以下方式来工作:获取环境中的被跟踪特征,然后随着在图像流中时间进展,测量特征点的移动量。该移动量可以用于计算摄像头的运动,并且相对于世界参照系更新摄像头姿态。
虽然SLAM允许准确跟踪摄像头姿态,但使用SLAM跟踪移动对象是较复杂的。该难题部分由使用移动摄像头来跟踪移动对象的挑战(即,区分摄像头移动与对象移动的难度)引起。然而,相对于世界参照系准确跟踪对象和摄像头这两者可以使用本文描述的方法来实现。
在基于SLAM的摄像头姿态跟踪(例如,视觉SLAM)中,环境被认为是静态的,或者它的至少大部分应是静态的(根据实施方式)。视觉SLAM的目的是跟踪环境中的特征以相对于环境估计摄像头姿态。然而,如果环境的大部分开始移动,则跟踪可能失败。因此,环境中的移动对象通常被认为是外点,并且视觉SLAM算法不跟踪它们。虽然在涉及深度数据的SLAM解决方案中,存在一些框架来检测并跟踪移动对象,但关于视觉SLAM中的移动对象检测和跟踪,几乎没有进行什么工作。
另一方面,ODPE已经用于AR应用软件中。根据本文的一些方法,ODPE用于初始化对象姿态确定,并且SLAM随后用于跟踪。这具有两个潜在优点:为SLAM提供真实比例,并且可以使用SLAM在随后摄像头图像中跟踪对象姿态1040。
图10所示的系统1000与视觉SLAM 1080一起工作,来用SLAM跟踪1086检测并跟踪移动对象。通常,视觉SLAM构建地图1010并随着时间的过去跟踪该地图,以估计摄像头姿态。跟踪系统1000将地图1010划分成两段:一段属于环境1030,另一段属于对象1020。为了支持对移动对象的跟踪,系统1000首先确定对象是否存在于最后一次被看到的地方,假若估计摄像头沿该方向看;否则,系统执行针对在属于对象的段中存在的特征的专用检测和跟踪过程。
当第一图像输入到系统1000时,系统从ODPE模块1060开始,该模块使用训练数据1050进行对象检测,并且提供对象的初始姿态和对象地图1020,该对象地图是属于对象上的特征点的3D点的集合。由该系统提供的同一对象地图1020还充当第一环境地图1030。用ODPE姿态和地图初始化SLAM系统1080的优点在于在该初始地图中的点是按照真实世界的比例(假定训练是按比例),因此由SLAM系统进行的随后跟踪将按比例。
在初始化之后,当作为由摄像头在比第一时间接收的前期图像晚的时间接收的图像的后期图像400’被输入到SLAM系统时,跟踪模块1082提取特征,并且尝试将其与早期图像中的特征匹配,匹配可以在每个特征周围的特定大小的窗口中进行,或者使用视觉词袋方案进行。如果对象仍然在视场中,则系统1000可以找到匹配。在该后期图像400’中,真实匹配将是仅与对象上的特征的匹配。
系统1000应识别对象是否移动,因为如果对象移动,而系统认为其不移动,那么由地图更新过程1088更新至地图1010将是错误的。
为了发现对象是否移动,系统1000使用上面在后期图像400’中确定的匹配来计算对象的姿态。此时,系统1000具有两个对象姿态:一个对象姿态来自第一图像(早期图像),另一对象姿态来自后期图像400’。使用这两个姿态,系统1000可以计算两个摄像头姿态之间的基线(假设对象不移动且仅摄像头移动)。然后使用该基线和对极几何(epipolargeometry)(即,基于所捕捉图像的核点),系统1000对于第一图像400中的不属于对象的各特征计算后期图像400’中的核线(例如,图4B中的线416)(这意味着忽视后期图像400’中的姿态计算所使用的匹配),并且沿着该线搜索这些特征中的每一个,以找到匹配。如果对象不移动且仅摄像头移动,那么系统1000找到许多匹配;否则,将仅找到很少甚至没有匹配。使用与匹配的该数量有关的阈值,系统1000决定对象在后期图像400’中是否已经移动。
如果在上述步骤中确定对象移动,则知道了对象姿态,然而,将不存在任何已知世界姿态1042(或世界参照图像中的摄像头姿态),因为系统1000已经从观察移动对象开始。
如果确定对象是静态的,那么映射过程1084使用对极几何来创建用于在两个图像中匹配的特征的新地图点。在该步骤中创建的新点也可以属于环境。
图3是这种实施方式的流程图。第一步骤从由摄像头捕捉的图像流获取环境的早期图像和后期图像(S302)。在该步骤中,摄像头60获取图像流,该图像流包括早期图像和后期图像。在一些实施方式中,后期图像是图像流中的当前图像,早期图像是从存储器(例如,ROM 121、RAM 122)获取的。在多个实施方式中,早期图像和后期图像包括环境和对象。
图4A示出了早期图像400的一个实施方式,并且图4B和图4C示出了环境402和对象404的后期图像400’的实施方式。
在获取早期图像400和后期图像400’之后,下一步骤是区分对象特征408、408’与环境特征406、406’。这可以通过使用对象404的计算机模型(即,3D CAD模型)来实现。对象404的CAD模型可以包括不同姿态的对象特征408、408’的特征点。在一些实施方式中,3DCAD模型可以不包括也可以用作特征的纹理特征。计算机通过以下方式使用例如ODPE来识别早期图像400中的对象姿态(3D姿态):第一、寻求3D模型的最接近的视图,第二、通过在视图处渲染3D模型获得2D特征点的集合,并且第三、细化视图或模型姿态,这样,基于图像帧中的对象特征与3D模型坐标系中的3D点之间的对应关系,使重新投影误差最小化。CAD模型还可以提供与被跟踪对象404的尺寸和形状有关的信息,该信息还可以用于在图像中定位属于对象404的特征点。在其被定位并已知时,可以将对象特征408、408’的特征点与其他环境特征406、406’进行区分。通过将对象特征408、408’的特征点与环境特征406、406’的特征点进行区分,处理器将环境402的内部地图划分成对象部分和环境部分。
在软件或处理器可以区分对象特征与环境特征时,识别位于后期图像400’中的环境402中的后期环境特征406’、位于早期图像400中的环境402中的早期环境特征406、以及位于早期图像400中的对象404上的早期对象特征408(S304)。该步骤通过处理器或软件分析图像400、400’来执行。特征406、406’、408如上所述并通过定位高对比度区域、使用CAD模型、使用边缘分析或使用训练数据来识别。在一些实施方式中,环境中和对象上的特征点基于可以依照由摄像头和软件跟踪的容易性来选择。
在识别了特征406、406’、408之后,下一步骤是使用早期环境特征406与后期环境特征406’之间的位置差异416来确定从早期图像400到后期图像400’的摄像头移动。如在比较图4A与图4B和图4C时可以看到的,从早期图像400到后期图像400’摄像头已经移动,这引起视点(摄像头姿态)的变化。摄像头的移动可以源于位置从早期环境特征406到后期环境特征406’的变化(由箭头416示出)。
根据环境特征的位置变化416,得到摄像头移动。换言之,摄像头移动将与位置变化416具有可预测的数学关系,诸如3D-3D刚体变换和3D-2D投影的组合,由此,可以根据位置变化416计算。在基于环境特征的位置变化416确定摄像头移动之后,下一步骤是使用早期对象特征408和所确定的摄像头移动,来估计后期图像400’中的对象特征408’。该所确定的摄像头移动用于生成对对象特征408的移动的估计,该移动由图4B中的箭头418示出。基于所估计的移动418,计算对象特征428的所估计位置。所估计的对象特征428处于处理器单独基于摄像头移动估计418的期望对象特征408已经移动到的位置。换言之,如果对象404没有移动,则所估计的对象特征428将与后期图像400’中的实际对象特征408’对齐。
下一步骤是在后期图像400’中,定位匹配的对象特征438,其为后期图像400’中处于与所估计的对象特征428相同的位置处的实际对象特征408’的(S310)。换言之,处理器生成所估计的对象特征,并且尝试将对象特征408’定位在后期图像400’中的这些位置处。如果特征是对齐的,则被认为是匹配的对象特征438。
图4B示出了对象404在早期图像400与后期图像400’之间已经移动的实施方式。相反,图4C示出了对象404没有移动的实施方式。因此,在图4B中没有匹配的对象特征438,因为所估计的对象特征428处于与后期对象特征408’不同的位置中。在多个实施方式中,存在多于一个对象特征408、408’、所估计的对象特征428以及匹配的对象特征438。在图4A至图4C的示例性实施方式中,示出了仅一个对象特征。
下一步骤是:如果匹配的对象特征438的数量不超过阈值,则确定对象404在早期图像400与后期图像400’之间已经移动(S312)。另外步骤是:如果匹配的对象特征的数量超过阈值,则确定对象在早期图像与后期图像之间没有移动(S314)。
在这种情况下,如果阈值为零,则处理器将确定对象在图4B中已经移动,因为匹配的对象特征438的数量为零(因此,不超过零)。相反,处理器将确定对象在图4C中已经移动,因为匹配的对象特征438的数量在图4C中为一而超过零。因此,处理器使用所计算的摄像头运动来寻找期望位置处的对象特征,如果它未能在期望位置处定位足够对象特征,则处理器确定对象已经移动。
图4A和图4B示出了对象404展示从一个物理位置到另一个的平移运动的实施方式。在其他实施方式中,对象仅旋转或不完全移出其自己在早期图像400内的覆盖区。在这些实施方式中,可以应用关于是否已经发生移动的相同分析。例如,如果对象恰好绕着对象特征408的特征点中的一个特征点枢转,则在后期图像400’中可能存在该对象点的匹配特征。然而,其他对象点将不匹配。由此,可以调节阈值,以调节准确度/算法对对象移动的灵敏度。
如果对象在时间“t-1”是静态的(在早期图像400中)但在早期图像400中也可见,则已知其姿态和属于对象的特征以及环境。然而,如果对象在时间“t”在后期图像400’中开始移动(后期图像400’),则应确定姿态以及摄像头相对于世界的姿态。当将时间“t”的图像传递到SLAM 1080中的“跟踪”模块1086时,该模块提取特征并找到与地图1010中的特征的匹配。在找到匹配之后,跟踪模块估计摄像头在世界参照图像中的姿态。然后,将该姿态和匹配传递到SLAM 1080的“对象检测和跟踪”模块1082。
“对象检测和跟踪”模块1082具有与对象特征408在早期图像400中的位置有关的信息,使用来自最近姿态和当前姿态的姿态差异418,该模块尝试找到对象特征408并将其从早期图像400匹配到后期图像400’。如果对象404未移动,那么该匹配过程将给出显著匹配,否则将存在很少甚至没有匹配。如果匹配少于特定阈值,则该模块1082采用例如卡纳德-卢卡斯-托马西(KLT)算法来进行3D对象跟踪,而不是依赖于针对对象姿态的SLAM跟踪。具体地在这种情况下,KLT算法建立这些连续图像帧之间关于对象特征的2D点对应关系。模块1082已经具有在存储器中存储的、与(i)与早期图像帧中的对象特征408对应的3D模型坐标系中的3D点(及其3D坐标值)和(ii)与早期图像帧对应的对象姿态(3D姿态)有关的信息。在形成了2D点对应关系时,模块1082通过使用由所建立对应关系找到的后期图像帧中的3D点和2D点使重新投影误差最小化,来得到后期图像帧中的新对象姿态(新3D姿态)。
下一步骤是:如果对象已经移动,则显示通知(S316)。在该步骤中,对象的移动使用显示器(诸如显示器20)以某种方式指示给例如用户。图9A至图9C示出了与图4A至图4C的所捕捉图像对应的、早期显示的图像900和后期显示的图像900’。在图9A至图9C所示的实施方式中,如果正在跟踪对象404并且在与对象位置对应的、显示器上的位置处显示虚拟图像908,则虚拟图像908可以响应于对象404的移动而移动。
如可以在图9A至图9C中看到的,虚拟图像908从图9A向图9B移动和从图9A向图9C移动。在图9C中,虚拟图像908基于摄像头运动416改变位置。然而,在图9B中,虚拟图像908基于对象运动移动,使得虚拟图像908保持在与后期显示的图像900’中的对象404相同的相对位置中。
在一些实施方式中,执行从SLAM切换到用于移动对象的对象跟踪和在对象停止移动时切换到SLAM。在关注对象404被检测为移动时使用与上述相同的技术,系统1000切换到对象检测和跟踪模块1082,并且SLAM 1080重设其地图并且不处理任何另外图像。对象检测和跟踪模块1082使用KLT跟踪来跟踪对象。如果相对于世界参照系的姿态在特定时段内未变化,则这识别出对象已经达到停止,并且正常的SLAM处理使用来自对象检测和跟踪模块1082的最近姿态再次开始。
图5中示出了这种跟踪方法的示例,该方法包括以下步骤:使用早期对象特征408和后期图像400’中的实际对象特征408’,确定后期图像400’中的对象404的姿态(S500)。该实施方式中的下一步骤是基于所确定的对象404的姿态更新所显示对象908的位置(S502)。这可以通过确定从对象特征408到408’的移动并将所显示的对象908移动对应量来实现。在一些实施方式中,在确定了对象404已经移动时,中断使用SLAM算法进行对象跟踪,而使用ODPE跟踪来进行对象跟踪。换言之,通过查找对象特征408、408’及其相对位置,针对对象移动直接分析图像流中的图像。软件使用该信息来确定视场内的对象404的移动。在该实施方式中,在确定了对象移动时,则将不再跟踪摄像头60和环境402的移动。
所显示的通知还可以采取除了所显示对话框之外的形式,并且这些形式可以被设计以提高AR系统的交互性。例如,如果已知真实世界遥控车移动(如由本文描述的方法确定的),则可以显示虚拟排烟或前照灯。另一方面,如果已知车未移动,则不显示烟和灯。这种实施方案可以提高对用户的娱乐价值。另选地,如果用户正在观看真实世界交通,则可以在移动车辆上选择性地显示警告标记,使得提高安全性。在其他实施方式中,可以向用户显示指示真实世界对象正在移动或不移动的其他形式的通知。
在一些实施方式中,在执行S300之前确定对象404(相对于摄像头或世界参照图像)的姿态。图6中示出了一个这种实施方式。图6示出了在获取早期图像400和后期图像400’之前,处理器通过在图像流中的图像中定位在存储器中存储的对象特征408,确定对象404的姿态(S600)。在这种实施方式中,摄像头60生成包括定期拍摄的图像的图像流。如之前描述的,使用例如ODPE和对象的CAD模型来确定对象404的姿态。在知道了对象姿态时,则该信息可以用于区分早期图像400中的早期对象特征408与早期环境特征406。
在图7的实施方式中,在S304中识别了对象特征408之后,采集另外的对象特征408(S700)。这被进行以增加被跟踪的对象特征408的数量,以总体提高对象移动的确定和对象跟踪的准确度。这可以在对象404的CAD模型或训练数据的辅助下实现,它们辅助处理器识别对象404上的关键点(或特征)。对象特征408可以是高对比度的区域、边缘、容易识别的区域、或对于对象跟踪以其他方式期望的区域。
对象检测和跟踪模块1082的一个其他任务是,如果SLAM跟踪工作良好而对象404丢失(潜在地已经移出视场),则该模块尝试使用最后一次的特征和可用的地图信息在随后图像中检测对象404。在图8的实施方式中,对象404离开摄像头60的视场。这可能由于摄像头运动416、对象运动、或这两者而发生。在步骤S800中,如果对象404重新进入摄像头60的视场,则处理器将对象重新定位在图像流中的图像中。这可以使用ODPE、CAD模型、和/或训练数据或已更新3D对象地图来实现。例如,来自CAD模型的特征可以保存在存储器中,并且在对象404重新进入摄像头的视场时,该特征可以用于识别对象404。在对象404位于视场中时,图3的方法可以重新开始。
一些实施方式提供一种包含程序指令(即,软件)的非暂时存储介质(例如,ROM121、RAM 122),这些程序指令在由计算机处理器(例如,CPU 140或处理部167)执行时,执行本文描述的方法。
虽然已经参照本文的实施方式描述了本发明,但这些实施方式不限制本发明的范围。对这些实施方式的修改或不同实施方式可以落在本发明的范围内。
Claims (20)
1.一种使用移动摄像头来确定并显示环境中的对象的移动的方法,该方法包括以下步骤:
从由所述摄像头捕捉的图像流获取所述环境的早期图像和后期图像;
识别位于所述后期图像中的所述环境中的后期环境特征、位于所述早期图像中的所述环境中的早期环境特征、以及位于所述早期图像中的所述对象上的早期对象特征;
使用所述早期环境特征与所述后期环境特征之间的位置差异,确定从所述早期图像到所述后期图像的摄像头移动;
使用所述早期对象特征和所确定的所述摄像头移动,估计所述后期图像中的对象特征;
在所述后期图像中定位匹配的对象特征,所述匹配的对象特征为所述后期图像中处于与所估计的所述对象特征相同位置处的实际对象特征;
如果匹配的对象特征的数量不超过阈值,则确定所述对象在所述早期图像与所述后期图像之间已经移动;
如果匹配的对象特征的所述数量超过所述阈值,则确定所述对象在所述早期图像与所述后期图像之间没有移动;以及
如果所述对象已经移动,则显示通知。
2.根据权利要求1所述的方法,所述方法还包括以下步骤,如果所述对象已经移动:
使用所述后期图像中的所述实际对象特征和所述早期对象特征,确定所述后期图像中的所述对象的姿态;以及
基于所确定的所述对象的姿态,更新所显示的对象的位置。
3.根据权利要求1所述的方法,所述方法还包括以下步骤,如果所述对象离开所述摄像头的视场:
如果所述对象重新进入所述视场,则将所述对象重新定位在所述图像流中的图像中。
4.根据权利要求1所述的方法,所述方法还包括以下步骤:
通过将在存储器中存储的对象特征定位在所述图像流中的图像中,在获取所述早期图像之前确定所述对象的姿态,
其中,在识别早期对象特征和早期环境特征时,使用所述对象的所述姿态来区分所述早期对象特征与所述早期环境特征。
5.根据权利要求1所述的方法,其中,通过区分所述图像流中的图像中的环境特征与对象特征来识别所述早期环境特征和早期对象特征,该方法还包括以下步骤:
通过在区分环境特征与对象特征之后获得另外对象特征,生成对象特征的集合。
6.根据权利要求1所述的方法,其中,所述后期图像是所述图像流中的当前图像,并且所述早期图像是从存储器获取的。
7.根据权利要求1所述的方法,其中,所述摄像头和显示器是头戴式显示器、智能电话以及平板电脑中的一种的部件。
8.一种头戴式显示器,该头戴式显示器确定并显示环境中的对象的移动,该头戴式显示器包括:
摄像头,该摄像头捕捉所述环境的图像流,该图像流包括早期图像和后期图像;
处理器,该处理器被配置为:
识别位于所述后期图像中的所述环境中的后期环境特征、位于所述早期图像中的所述环境中的早期环境特征、以及位于所述早期图像中的所述对象上的早期对象特征;
使用所述早期环境特征与所述后期环境特征之间的位置差异,确定从所述早期图像到所述后期图像的摄像头移动;
使用所述早期对象特征和所确定的所述摄像头移动,估计所述后期图像中的对象特征;
在所述后期图像中定位匹配的对象特征,所述匹配的对象特征为所述后期图像中处于与所估计的所述对象特征相同位置处的实际对象特征;
如果匹配的对象特征的数量不超过阈值,则确定所述对象在所述早期图像与所述后期图像之间已经移动;并且
如果匹配的对象特征的所述数量超过所述阈值,则确定所述对象在所述早期图像与所述后期图像之间没有移动;以及
显示器,如果所述对象已经移动,则该显示器显示通知。
9.根据权利要求8所述的头戴式显示器,其中,所述处理器还被配置为,如果所述对象已经移动:
使用所述后期图像中的所述实际对象特征和所述早期对象特征,确定所述后期图像中的所述对象的姿态;并且
基于所确定的所述对象的姿态,更新所显示的对象的位置。
10.根据权利要求8所述的头戴式显示器,其中,所述处理器器还被配置为,如果所述对象离开所述摄像头的视场:
如果所述对象重新进入所述视场,则将所述对象重新定位在所述图像流中的图像中。
11.根据权利要求8所述的头戴式显示器,其中,所述处理器还被配置为:
通过将在存储器中存储的对象特征定位在所述图像流中的图像中,在获取所述早期图像之前确定所述对象的姿态,
其中,在识别早期对象特征和早期环境特征时,使用所述对象的所述姿态来区分所述早期对象特征与所述早期环境特征。
12.根据权利要求8所述的头戴式显示器,其中,所述处理器:
通过区分所述图像流中的图像中的环境特征与对象特征来识别所述早期环境特征和早期对象特征,并且
所述处理器还被配置为通过在区分环境特征与对象特征之后获得另外对象特征,生成对象特征的集合。
13.根据权利要求8所述的头戴式显示器,所述头戴式显示器还包括:
存储器,
其中,所述后期图像是所述图像流中的当前图像,并且所述早期图像是从所述存储器获取的。
14.一种非暂时计算机可读介质,该非暂时计算机可读介质具体实施使得一个或更多个处理器执行方法的指令,该方法包括以下步骤:
从由摄像头捕捉的图像流获取环境的早期图像和后期图像;
识别位于所述后期图像中的所述环境中的后期环境特征、位于所述早期图像中的所述环境中的早期环境特征、以及位于所述早期图像中的所述对象上的早期对象特征;
使用所述早期环境特征与所述后期环境特征之间的位置差异,确定从所述早期图像到所述后期图像的摄像头移动;
使用所述早期对象特征和所确定的摄像头移动,估计所述后期图像中的对象特征;
在所述后期图像中定位匹配的对象特征,所述匹配的对象特征为所述后期图像中处于与所估计的所述对象特征相同位置处的实际对象特征;
如果匹配的对象特征的数量不超过阈值,则确定所述对象在所述早期图像与所述后期图像之间已经移动;
如果匹配的对象特征的所述数量超过所述阈值,则确定所述对象在所述早期图像与所述后期图像之间没有移动;以及
如果所述对象已经移动,则指示显示器显示通知。
15.根据权利要求14所述的非暂时计算机可读介质,其中,所述方法还包括以下步骤,如果所述对象已经移动:
使用所述后期图像中的所述实际对象特征和所述早期对象特征,确定所述后期图像中的所述对象的姿态;以及
基于所确定的所述对象的姿态,更新所显示的对象的位置。
16.根据权利要求14所述的非暂时计算机可读介质,其中,所述方法还包括以下步骤,如果所述对象离开所述摄像头的视场:
如果所述对象重新进入所述视场,则将所述对象重新定位在所述图像流中的图像中。
17.根据权利要求14所述的非暂时计算机可读介质,其中,所述方法还包括以下步骤:
通过将在存储器中存储的对象特征定位在所述图像流中的图像中,在获取所述早期图像之前确定所述对象的姿态,
其中,在所述识别早期对象特征和早期环境特征时,使用所述对象的所述姿态来区分所述早期对象特征与所述早期环境特征。
18.根据权利要求14所述的非暂时计算机可读介质,其中,通过区分所述图像流中的图像中的环境特征与对象特征来识别所述早期环境特征和早期对象特征,并且所述方法还包括以下步骤:
通过在区分环境特征与对象特征之后获得另外对象特征,生成对象特征的集合。
19.根据权利要求14所述的非暂时计算机可读介质,其中,所述后期图像是所述图像流中的当前图像,并且所述早期图像是从存储器获取的。
20.根据权利要求14所述的非暂时计算机可读介质,其中,所述摄像头和显示器是头戴式显示器、智能电话以及平板电脑中的一种的部件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/130,317 | 2018-09-13 | ||
US16/130,317 US10719944B2 (en) | 2018-09-13 | 2018-09-13 | Dynamic object tracking |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110895676A true CN110895676A (zh) | 2020-03-20 |
CN110895676B CN110895676B (zh) | 2023-08-25 |
Family
ID=69772997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910856583.0A Active CN110895676B (zh) | 2018-09-13 | 2019-09-11 | 动态对象跟踪 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10719944B2 (zh) |
CN (1) | CN110895676B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10854012B1 (en) * | 2019-05-29 | 2020-12-01 | Dell Products, L.P. | Concealing loss of distributed simultaneous localization and mapping (SLAM) data in edge cloud architectures |
US11315274B2 (en) * | 2019-09-20 | 2022-04-26 | Google Llc | Depth determination for images captured with a moving camera and representing moving features |
US11582409B2 (en) * | 2020-06-29 | 2023-02-14 | Snap Inc. | Visual-inertial tracking using rolling shutter cameras |
KR102473804B1 (ko) * | 2020-10-16 | 2022-12-05 | 이노뎁 주식회사 | 영상관제 시스템에서 카메라 영상내 관제 지점의 지도 매핑 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005210428A (ja) * | 2004-01-22 | 2005-08-04 | Seiko Epson Corp | 画像処理装置および画像処理方法 |
CN1711516A (zh) * | 2002-11-07 | 2005-12-21 | 奥林巴斯株式会社 | 运动检测装置 |
CN103268480A (zh) * | 2013-05-30 | 2013-08-28 | 重庆大学 | 一种视觉跟踪系统及方法 |
CN105761245A (zh) * | 2016-01-29 | 2016-07-13 | 速感科技(北京)有限公司 | 一种基于视觉特征点的自动跟踪方法及装置 |
CN107256532A (zh) * | 2012-10-24 | 2017-10-17 | 株式会社摩如富 | 图像处理装置、图像处理方法以及记录介质 |
US20180082430A1 (en) * | 2016-09-21 | 2018-03-22 | Verizon Patent And Licensing Inc. | Feature tracking and dynamic feature addition in an augmented reality environment |
CN108334099A (zh) * | 2018-01-26 | 2018-07-27 | 上海深视信息科技有限公司 | 一种高效的无人机人体跟踪方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5067850B2 (ja) * | 2007-08-02 | 2012-11-07 | キヤノン株式会社 | システム、頭部装着型表示装置、その制御方法 |
JP5402293B2 (ja) * | 2009-06-22 | 2014-01-29 | ソニー株式会社 | 頭部装着型ディスプレイ、及び、頭部装着型ディスプレイにおける画像表示方法 |
US9268406B2 (en) * | 2011-09-30 | 2016-02-23 | Microsoft Technology Licensing, Llc | Virtual spectator experience with a personal audio/visual apparatus |
US9183676B2 (en) * | 2012-04-27 | 2015-11-10 | Microsoft Technology Licensing, Llc | Displaying a collision between real and virtual objects |
JP5737796B2 (ja) * | 2013-03-29 | 2015-06-17 | 国立大学法人東京工業大学 | 内視鏡操作システムおよび内視鏡操作プログラム |
KR102138520B1 (ko) * | 2013-11-11 | 2020-08-11 | 엘지전자 주식회사 | 헤드 마운트 디스플레이 및 제어 방법 |
US10203762B2 (en) * | 2014-03-11 | 2019-02-12 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
KR102227087B1 (ko) * | 2014-07-08 | 2021-03-12 | 엘지전자 주식회사 | 글래스 타입 단말기 및 그것의 제어방법 |
US9696795B2 (en) * | 2015-02-13 | 2017-07-04 | Leap Motion, Inc. | Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments |
US10429923B1 (en) * | 2015-02-13 | 2019-10-01 | Ultrahaptics IP Two Limited | Interaction engine for creating a realistic experience in virtual reality/augmented reality environments |
JP6346131B2 (ja) * | 2015-09-07 | 2018-06-20 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置および画像生成方法 |
US9824500B2 (en) * | 2016-03-16 | 2017-11-21 | Microsoft Technology Licensing, Llc | Virtual object pathing |
US10380763B2 (en) * | 2016-11-16 | 2019-08-13 | Seiko Epson Corporation | Hybrid corner and edge-based tracking |
KR20180113109A (ko) * | 2017-04-05 | 2018-10-15 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 화면 표시 방법 |
US10365710B2 (en) * | 2017-06-23 | 2019-07-30 | Seiko Epson Corporation | Head-mounted display device configured to display a visual element at a location derived from sensor data and perform calibration |
-
2018
- 2018-09-13 US US16/130,317 patent/US10719944B2/en active Active
-
2019
- 2019-09-11 CN CN201910856583.0A patent/CN110895676B/zh active Active
-
2020
- 2020-06-17 US US16/903,549 patent/US11024040B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1711516A (zh) * | 2002-11-07 | 2005-12-21 | 奥林巴斯株式会社 | 运动检测装置 |
JP2005210428A (ja) * | 2004-01-22 | 2005-08-04 | Seiko Epson Corp | 画像処理装置および画像処理方法 |
CN107256532A (zh) * | 2012-10-24 | 2017-10-17 | 株式会社摩如富 | 图像处理装置、图像处理方法以及记录介质 |
CN103268480A (zh) * | 2013-05-30 | 2013-08-28 | 重庆大学 | 一种视觉跟踪系统及方法 |
CN105761245A (zh) * | 2016-01-29 | 2016-07-13 | 速感科技(北京)有限公司 | 一种基于视觉特征点的自动跟踪方法及装置 |
US20180082430A1 (en) * | 2016-09-21 | 2018-03-22 | Verizon Patent And Licensing Inc. | Feature tracking and dynamic feature addition in an augmented reality environment |
CN108334099A (zh) * | 2018-01-26 | 2018-07-27 | 上海深视信息科技有限公司 | 一种高效的无人机人体跟踪方法 |
Non-Patent Citations (3)
Title |
---|
SUNGMIN KIM ET AL.: "Tracking 3D Human Body using Particle Filter in Moving Monocular Camera", 《18TH INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION (ICPR\"06)》 * |
步青: "无人机视觉智能控制相关技术研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
贾宁: "基于双目视觉的家庭机器人的目标识别与检测", 《现代电子技术》 * |
Also Published As
Publication number | Publication date |
---|---|
US10719944B2 (en) | 2020-07-21 |
US20200320720A1 (en) | 2020-10-08 |
US20200090344A1 (en) | 2020-03-19 |
CN110895676B (zh) | 2023-08-25 |
US11024040B2 (en) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3469458B1 (en) | Six dof mixed reality input by fusing inertial handheld controller with hand tracking | |
CN110647237B (zh) | 在人工现实环境中基于手势的内容共享 | |
US10521026B2 (en) | Passive optical and inertial tracking in slim form-factor | |
CN110895676B (zh) | 动态对象跟踪 | |
US11127380B2 (en) | Content stabilization for head-mounted displays | |
US9563981B2 (en) | Information processing apparatus, information processing method, and program | |
US10634918B2 (en) | Internal edge verification | |
US10304253B2 (en) | Computer program, object tracking method, and display device | |
US10878285B2 (en) | Methods and systems for shape based training for an object detection algorithm | |
US10628964B2 (en) | Methods and devices for extended reality device training data creation | |
US10755434B2 (en) | Low feature object detection and pose estimation for image data streams | |
US20200341284A1 (en) | Information processing apparatus, information processing method, and recording medium | |
CN110895433B (zh) | 用于增强现实中用户交互的方法和装置 | |
US11694345B2 (en) | Moving object tracking using object and scene trackers | |
US10642349B2 (en) | Information processing apparatus | |
WO2022240933A1 (en) | Depth-from- stereo bending correction | |
US11442543B1 (en) | Electronic devices with monocular gaze estimation capabilities | |
US20240029302A1 (en) | Depth-from-stereo bending correction using visual inertial odometry features |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |