CN110785775B - 用于光学跟踪的系统和方法 - Google Patents
用于光学跟踪的系统和方法 Download PDFInfo
- Publication number
- CN110785775B CN110785775B CN201880042318.2A CN201880042318A CN110785775B CN 110785775 B CN110785775 B CN 110785775B CN 201880042318 A CN201880042318 A CN 201880042318A CN 110785775 B CN110785775 B CN 110785775B
- Authority
- CN
- China
- Prior art keywords
- tracking
- identified
- environment
- volatility
- level
- 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.)
- Active
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000015654 memory Effects 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 26
- 238000002310 reflectometry Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims 2
- 238000000638 solvent extraction Methods 0.000 claims 2
- 230000008569 process Effects 0.000 description 38
- 238000012545 processing Methods 0.000 description 27
- 230000033001 locomotion Effects 0.000 description 11
- 238000013507 mapping Methods 0.000 description 11
- 238000013473 artificial intelligence Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 150000002739 metals Chemical class 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000002567 electromyography Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 230000000241 respiratory effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
- G01P15/18—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration in two or more dimensions
-
- 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
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- 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/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- 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
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
提供了一种用于光学跟踪的方法、电子设备和非暂时性计算机可读介质。所述方法包括从接收到的图像数据中识别环境中的至少一个对象。所述方法还包括为识别的对象分配易变性等级。另外,所述方法包括确定与识别的对象相关联的一个或多个跟踪点。所述方法还包括基于为识别的对象分配的易变性等级来确定与识别的对象相关联的一个或多个跟踪点中的每个跟踪点的优先级等级。所述方法还包括基于优先级等级选择一个或多个跟踪点以进行光学跟踪。
Description
技术领域
本公开总体上涉及图像处理。更具体地,本公开涉及基于对象识别的光学跟踪和为跟踪点分配优先级。
背景技术
计算机视觉是计算机智能的一大进步,因为它提供了许多新功能。例如,通过光学跟踪,计算机可以确定其在环境中相对于其他对象的当前位置。计算系统可以处理来自一个或多个相机的输入,并建立环境模型。当相机在整个环境中移动时,计算系统可以知道它的位置以及去过的地方。光学跟踪允许计算系统在确定其在未知周围环境内位置的同时构建该周围环境的地图。
附图说明
为了更全面地理解本公开及其优点,现在结合附图参考以下描述,其中相同的附图标记表示相同的部件:
图1示出了根据本公开实施例的示例通信系统;
图2示出了根据本公开的实施例的电子设备;
图3示出了根据本公开的实施例的环境的示例框图;
图4A示出了根据本公开实施例的用于光学跟踪的示例环境;
图4B示出了根据本公开的实施例的描绘图4A的各个方面的示例表;
图5示出了根据本公开实施例的用于光学跟踪的示例方法;
图6A、图6B和图6C示出了根据本公开的实施例的用于光学跟踪的示例子处理;以及
图7示出了根据本公开的实施例的示例反馈处理。
最佳实施方式
本公开提供了用于光学跟踪的系统和方法的实施例。
在第一实施例中,提供了一种用于光学跟踪的方法。该方法包括从接收到的图像数据中识别环境中的至少一个对象。该方法还将易变性等级分配给所识别的对象。该方法还确定与所识别的对象相关联的一个或多个跟踪点,并且基于为所识别的对象分配的易变性等级来确定与所识别的对象相关联的一个或多个跟踪点中的每个跟踪点的优先级。该方法还包括基于优先级等级选择一个或多个跟踪点以进行光学跟踪。
在第二实施例中,提供了一种电子设备。该电子设备包括至少一个处理器。所述至少一个处理器耦接到通信接口,并且被配置为从接收到的图像数据中识别环境中的至少一个对象。至少一个处理器还被配置为向所识别的对象分配易变性等级。至少一个处理器还被配置为确定与所识别的对象相关联的一个或多个跟踪点。至少一个处理器还被配置为基于为所识别的对象分配的易变性等级来确定与所识别的对象相关联的一个或多个跟踪点中的每个跟踪点的优先级等级。至少一个处理器还被配置为基于优先级等级来选择一个或多个跟踪点以进行光学跟踪。
在第三实施例中,提供了一种具有计算机程序的非暂时性计算机可读介质。该计算机程序包括在被执行时使至少一个处理器进行一下操作的程序代码:从接收到的图像数据中识别环境中的至少一个对象;、为所识别的对象分配易变性等级;确定与所识别的对象相关联的一个或多个跟踪点;基于为所识别的对象分配的易变性等级,确定与所识别的对象相关联的一个或多个跟踪点中的每个跟踪点的优先级等级;以及基于优先级等级选择一个或多个跟踪点以进行光学跟踪。
具体实施方式
根据以下附图、描述和权利要求,其他技术特征对于本领域技术人员而言将是清楚的。
在进行下面的详细描述之前,阐明在整个专利文件中使用的某些单词和短语的定义可能是有利的。术语“耦接”及其派生词是指两个或多个元件之间的任何直接或间接通信,无论这些元件是否彼此物理接触。术语“发送”、“接收”和“通信”及其派生词涵盖直接和间接通信。术语“包括”和“包含”及其派生词是指包括但不限于。术语“或”是包含性的,意味着和/或。短语“与...相关联”及其派生词意指包括其、被包括在其中、与之互连、包含其、被包含在其中、与之连接、与之耦接、与之通信、与之协作、与之交错、与之并置、与之近似、与之结合或具有其、具有其性质、具有或与之有关系,等等。术语“控制器”是指控制至少一个操作的任何设备、系统或其一部分。这样的控制器可以以硬件或硬件和软件和/或固件的组合来实现。与任何特定控制器关联的功能可以是本地或远程的集中式或分布式。短语“至少一个”当与项目列表一起使用时,意味着可以使用一个或多个所列项目的不同组合,并且可能只需要列表中的一个项目。例如,“A、B和C中的至少一个”包括以下组合中的任何一个:A、B、C,A和B,A和C,B和C以及A和B和C。
此外,下面描述的各种功能可以由一个或多个计算机程序实现或支持,每个计算机程序由计算机可读程序代码形成并体现在计算机可读介质中。术语“应用”和“程序”是指一个或多个计算机程序、软件组件、指令集、处理、功能、对象、类、实例、相关数据或其一部分,并适于在合适的计算机可读程序代码中实施。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任何类型的介质,例如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、光盘(CD)、数字视频光盘(DVD)或任何其他类型的存储器。“非暂时性”计算机可读介质不包括传输暂时性电或其他信号的有线、无线、光学或其他通信链路。非暂时性计算机可读介质包括可永久存储数据的介质以及可存储数据并随后被覆盖的介质,例如可重写光盘或可擦除存储器设备。
贯穿本专利文件提供了其他某些单词和短语的定义。本领域普通技术人员应该理解,在很多情况下,即使不是大多数情况,这种定义也适用于这种定义的单词和短语的先前以及将来的使用。
以下讨论的图1至图7以及用于描述本专利文件中的本公开的原理的各种实施例仅是示例性的,并且不应以任何方式解释为限制本公开的范围。本领域技术人员将理解,本公开的原理可以在任何适当布置的光学跟踪系统或设备中实现。
根据本公开的实施例,光学跟踪是使用相机随时间定位对象的处理。光学跟踪可以(i)在相机保持静止的同时跟踪在整个环境中移动的对象,(ii)在相机在环境中移动时跟踪环境中的对象,(iii)两者的结合,等等。例如,光学跟踪处理可以在相机保持静止(或几乎静止)的同时,跟踪在整个环境中移动的一个或多个对象。这样的处理对于计算系统学习和预测对象的未来运动模式很有用。此外,此类处理对于选择相机要聚焦的特定对象很有用。当相机本身在整个环境中移动时,光学跟踪处理可以跟踪一个或多个对象。这样的处理对于计算系统学习以前未知的环境很有用。本领域技术人员将理解光学跟踪可能有用的很多场景。
光学跟踪可以利用各种技术,例如同时定位和映射(SLAM)。通常,SLAM允许计算系统在确定其在未知周围环境内位置的同时构建该周围环境的地图。SLAM解决方案能够处理来自与电子设备耦接的单个相机的输入,以随着相机的移动不断建立环境模型。SLAM系统可以同时跟踪设备相对于学习环境的位置和方位(姿势)。在各种实施例中,SLAM系统基于电子设备的移动来跟踪电子设备和/或建立环境的地图。
SLAM系统可以包括视觉SLAM(VSLAM)、机载协同视觉同时定位和制图(C-VSLAM)、无约束SLAM(USLAM)等。其他SLAM系统可以结合六个自由度(6DOF),例如常规相机运动。另外,SLAM系统的跟踪和映射方面可以同时和/或异步执行。
SLAM系统构建的环境可以包括多个方面,例如三维(3D)功能。SLAM系统构建的环境可以通过计算机视觉(CV)和/或人工智能(AI)利用对象识别技术来确定对象的身份或类别。对象识别提供了在光学跟踪环境中发现的已识别/已分类对象的各种特征。
光学跟踪通常通过捕获并理解对象在环境中的移动位置以及相机相对于环境中的对象的位置,来用于虚拟现实或增强现实中。
光学跟踪系统可以依赖于跟踪环境中的视觉对象。光学跟踪系统将一个或多个非有形跟踪点与具有一个或多个目标对象的对象相关联。例如,当相机移动时,它针对每个跟踪点比较新位置或姿势。如果将环境中具有一个或多个跟踪点的对象从环境中移除,则会丢失跟踪点。如果环境中的具有一个或多个跟踪点的对象从其原始位置移动,则光学跟踪系统的位置可以基于移动的对象的新位置。在跟踪环境时,此类方案可能会造成混淆或提供错误。
因此,本公开的实施例包括在本公开的范围内,对跟踪环境中的对象并在相机在环境中移动时知道其位置会是有用的。本公开的实施例通过利用对象识别处理对环境内的各种对象进行识别和/或分类,从而提供了许多优点。但是,通过识别对象,光学跟踪系统可以确定对象的性质,例如对象是否可能移动或保持静止。基于对对象的性质(即,移动的可能性)的确定,光学跟踪系统可以为环境内的跟踪点分配优先级以提供改进的跟踪。
本公开的实施例还包括在本公开的范围内,如本文所使用的对环境的光学跟踪不限于个人使用(在住宅中或在室外环境中),而是可以将这样的设备装设于并用于各种位置,例如在虚拟现实和增强现实耳机、游戏系统中,以及用于各种行业,例如教育、汽车、电信、零售、医疗保健、政府、商业视频制作等。
本公开的实施例认识并考虑到图像处理和SLAM的领域,使得本公开示出和描述的特征的许多不同变型是可能的。本领域技术人员将理解,可以在没有下面描述的一些具体细节的情况下实践本公开的实施例,并且确实将看到可以实践许多其他变型和实施例。
图1示出了根据本公开的示例系统100。图1所示的系统100的实施例仅用于说明。在不脱离本公开的范围的情况下,可以使用系统100的其他实施例。
如图1所示,系统100包括网络102,网络102可促进系统100中各个组件之间的通信。例如,网络102可以传送Internet协议(IP)数据包、帧中继帧、异步传输模式(ATM)信元或网络地址之间的其他信息。网络102包括一个或多个局域网(LAN)、城域网(MAN)、广域网(WAN)、诸如互联网之类的全球网络的全部或一部分、或位于一个或多个位置的一个或多个任何其他通信系统。
网络102促进各种服务器104与各种客户端设备106-116之间的通信。服务器104可以代表一个或多个服务器。每个服务器104包括可以为一个或多个客户端设备提供计算服务的任何合适的计算设备或处理设备。每个服务器104可以例如包括一个或多个处理设备,存储指令和数据的一个或多个存储器,以及促进通过网络102进行通信的一个或多个网络接口。
每个客户端设备106-116表示通过网络102与至少一个服务器或其他一个或多个其他计算设备交互的任何合适的计算设备或处理设备。在该示例中,客户端设备106-116包括台式计算机106、移动电话或移动设备108(即智能手机)、个人数字助理(PDA)110、膝上型计算机112、平板计算机114和相机116。但是,系统100中可以使用任何其他或附加的客户端设备。
在系统100的各种实施例中,客户端设备106-116直接或间接与网络102通信。例如,一个或多个客户端设备106116可以经由一个或多个基站(未示出)(例如蜂窝网络基站或eNodeB)与网络102通信。此外,一个或多个客户端设备106-116可以经由一个或多个无线接入点(未示出)(诸如IEEE 802.11无线接入点)与网络102通信。注意,这些仅用于说明,并且每个客户端设备可以直接与网络102通信,或者经由任何合适的中间设备或网络与网络102间接通信。例如,相机116可以直接或间接地与服务器104通信。对于另一个示例,相机116可以通过有线连接与台式计算机106通信,而无需访问网络102。
在某些实施例中,相机116安全且有效地将信息发送到另一设备,例如服务器104或任何其他客户端设备106-114。相机116能够捕获并记录在规则或不规则间隔期间拍摄的图像。例如,相机116能够以规则的预定时间间隔记录图像,诸如每5毫秒一张图像,每5小时一张图像,在给定时间段内随机时间拍摄的十张图像等等。注意,列出的时间仅出于示例性目的,并且可以使用其他时间段。相机116捕获并记录在不规则间隔期间拍摄的图像。例如,当跟踪环境时,相机116可以根据需要或基于随机生成的序列来记录图片。
尽管图1示出了系统100的一个示例,但是可以对图1进行各种改变。例如,系统100可以以任何合适的布置包括任意数量的每个组件。通常,计算和通信系统具有各种各样的配置,并且图1不将本公开的范围限制为任何特定的配置。尽管图1示出了可以使用该专利文件中公开的各种特征的一个操作环境,但是这些特征可以用于任何其他合适的系统中。
图2示出了根据本公开的实施例的计算系统中的电子设备。图2中所示的电子设备200的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例。电子设备200可以具有多种配置,并且图2不将本公开的范围限制为电子设备的任何特定实现。在某些实施例中,图1的设备104-114中的一个或多个可以包括与电子设备200相同的配置。
在某些实施例中,电子设备200可以采取不同的形式,并且本公开不限于任何特定的形式。例如,电子设备200可以是可与数据传送应用(例如内容的捕获和光学跟踪)一起使用的移动通信设备,例如,移动站、头戴式显示器、订户站、无线终端、智能电话、移动设备(类似于图1的移动设备108)、台式计算机(类似于图1的台式计算机106)、平板电脑(类似于图1的平板计算机114)、相机(类似于图1的相机116)等。如下文更详细描述的,电子设备200可以代表一个或多个跟踪系统或一个或多个图像处理设备。在某些实施例中,电子设备200可以提供用于对象易变性的查找表。在某些实施例中,电子设备200可以通过各种CV和/或AI处理提供对象识别。
在图2所示的示例中,电子设备200包括天线205、通信单元210、发射(TX)处理电路215、麦克风220和接收(RX)处理电路225。通信单元210可以包括例如,RF收发器、收发器或/>收发器等。电子设备200还包括扬声器230、处理器240、输入/输出(I/O)接口245、输入250、显示器255、存储器260和传感器265。存储器260包括操作系统(OS)261和一个或多个应用262。通信单元210可以包括其他通信接口,例如ZIGBEE、红外等。
通信单元210从天线205接收来自网络102(例如, 蜂窝、5G、LTE、LTE-A、WiMAX或任何其他类型的无线网络)的接入点(例如,基站、/>路由器、设备)的输入RF信号,诸如/>或/>信号。通信单元210可以将输入的RF信号下变频以生成中频或基带信号。中频或基带信号被发送到RX处理电路225,并通过对基带或中频信号进行滤波、解码和/或数字化来生成处理后的基带信号。RX处理电路225将处理后的基带信号传输到扬声器230(例如用于语音数据)或处理器240以进行进一步处理(例如用于网页浏览数据和/或图像处理)。
TX处理电路系统215从麦克风220接收模拟或数字语音数据,或者从处理器240接收其他输出基带数据(例如Web数据、电子邮件或交互式视频游戏数据)。TX处理电路系统215对输出基带数据进行编码、复用和/或数字化以生成处理后的基带或中频信号。通信单元210从TX处理电路215接收输出的经处理的基带或中频信号,并将该基带或中频信号上变频为经由天线205发送的RF信号。
处理器240可以包括一个或多个处理器或其他处理设备,并且执行存储在存储器260中的OS 261,以便控制电子设备200的整体操作。例如,处理器240可以根据众所周知的原理控制通信单元210、RX处理电路225和TX处理电路215对前向信道信号的接收和反向信道信号的发送。处理器240还能够控制光学跟踪或SLAM以跟踪环境中的一个或多个对象或其组合。处理器240还能够执行驻留在存储器260中的其他应用262,例如用于图像处理、对象识别和光学跟踪的一个或多个应用。在一些实施例中,处理器240包括至少一个微处理器或微控制器。处理器240执行可以存储在存储器260中的指令。处理器240可以以任何适当的布置包括任何适当数量和类型的处理器或其他设备。处理器240的示例类型包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路。
处理器240还能够执行驻留在存储器260中的其他处理和程序,例如通过提供图像捕获和处理来接收、存储和及时指令的操作。处理器240可以根据执行处理的需要将数据移入或移出存储器260。在一些实施例中,处理器240被配置为基于OS 261或响应于从eNB或运营商接收到的信号来执行多个应用262。在一些实施例中,处理器240被配置为基于电子设备200的图像处理执行多个应用262。处理器240还耦接至I/O接口245,其为客户端设备106-116提供了连接到其他设备(例如膝上型计算机和手持计算机)的能力。I/O接口245是这些附件和处理器240之间的通信路径。
处理器240还耦接至输入250和显示器255。电子设备200的操作员可以使用输入250将数据或输入或其组合输入到电子设备200中。输入250可以是键盘、触摸屏、鼠标、轨迹球或能够充当用户界面以允许用户与电子设备200交互的其他设备。例如,输入250可以包括触摸面板、(数字)笔传感器、键或超声波输入设备。通过向处理器240提供附加输入,输入250可以与传感器265和/或相机相关联。在某些实施例中,传感器265包括惯性传感器(例如,加速度计、陀螺仪和磁力计)、光学传感器、运动传感器、相机、压力传感器、心率传感器、高度计、呼吸传感器(例如麦克风220)等。触摸面板可以以电容性方案、压敏方案、红外方案或超声方案中的至少一种方案来识别触摸输入。输入250还可包括控制电路。在电容性方案中,输入250能够识别触摸或接近。显示器255可以是液晶显示器、发光二极管(LED)显示器、光学LED(OLED)、有源矩阵OLED(AMOLED)或能够呈现例如来自网站、视频、游戏和图像等的文本和/或图形的其他显示器。
存储器260耦接到处理器240。存储器260的一部分可以包括随机存取存储器(RAM),并且存储器260的另一部分可以包括闪存或其他只读存储器(ROM)。存储器260可以包括持久性存储装置(未示出),该持久性存储装置表示能够存储和促进信息(例如临时或永久的数据、程序代码和/或其他合适信息)的检索的任何结构。存储器260可以包含支持数据的长期存储的一个或多个组件或设备,例如只读存储器、硬盘驱动器、闪存或光盘。存储器260还可以包含从一个或多个图像捕获设备(例如传感器265)接收的图像数据263。图像数据263可以包含单个图像或电影。图像数据263可以包含与每个图像中的对象相关联的跟踪点。
电子设备200还包括一个或多个传感器265,其可以计量物理量或检测电子设备200的激活状态并将计量或检测到的信息转换成电信号。例如,传感器265可以包括用于触摸输入的一个或多个按钮(例如在头戴式耳机或电子设备200上)、相机、手势传感器、陀螺仪或陀螺仪传感器、气压传感器、磁性传感器或磁力计、加速度传感器或加速度计、握力传感器、接近传感器、颜色传感器、生物计量传感器、温度/湿度传感器、照度传感器、紫外线(UV)传感器、肌电图(EMG)传感器、脑电图(EEG)传感器、心电图(ECG)传感器、IR传感器、超声传感器、虹膜传感器、指纹传感器等。传感器265还包括控制电路,用于控制其中包括的至少一个传感器。传感器265可以用于确定电子设备200的方位和朝向以及地理位置。这些传感器265中的任何一个可以设置在电子设备200内,设置在被配置为保持电子设备200的耳机内,或者在耳机和电子设备200两者内(例如在电子设备200包括耳机的实施例中)。
尽管图2示出了电子设备200的一个示例,但是可以对图2进行各种改变。例如,可以将图2中的各种组件进行组合、进一步细分或省略,并且可以根据特定需要添加其他组件。作为特定示例,处理器240可以被划分为多个处理器,诸如一个或多个中央处理器(CPU)和一个或多个图形处理器(GPU)。此外,尽管图2示出了被配置为移动电话、平板电脑或智能电话的电子设备200,但是电子设备200可以被配置为作为其他类型的移动或固定设备进行操作。
图3示出了根据本公开的实施例的环境300的示例框图。框图仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例或说明。
在图3所示的示例中,环境300包括相机310,其可以像图1的相机116那样配置。环境300还包括动态跟踪设备320,其可以类似于图1的服务器104、图1的客户端设备106-114或图2的电子设备200来配置。环境300通过网络305互连,网络305可以与图1的网络102相同或相似,或者可以包括独立设备。环境300还包括位置330内的多个对象335A至335n。对象335A、对象335B和对象335n表示可以在位置330内跟踪的任意数量的对象。环境300还包括通过网络305与动态跟踪设备320互连的远程服务器(未示出)。
在某些实施例中,网络305类似于图1的网络102。在某些实施例中,网络305是具有较小地理范围的计算机网络。地理范围较小的计算机网络的范围大小可以从近距离通信(NFC)到局域网(LAN)。地理范围较小的计算机网络可能没有与互联网或其他远程网络的连接。在某些实施例中,网络305包括较大的联网环境。例如,网络305可以用于移动设备自身之间的通信(个人间通信)或用于连接到更高级别的网络(例如互联网)。在某些实施例中,网络305表示由一个或多个网络互连的计算机的“云”,其中网络305是利用集群计算机和组件以在被访问时充当无缝资源的单个池的计算系统。
在某些实施例中,网络305将相机310与动态跟踪设备320连接。网络305还能够在动态跟踪设备320与附加服务器和设备(未示出)之间提供通信介质。例如,网络305可以连接到包含对象易变性分数的查找表在内的信息库(即数据库)。在某些实施例中,网络305与一个或多个CV系统连接,以帮助确定一个或多个对象的身份。在某些实施例中,网络305与一个或多个AI系统连接,以帮助确定一个或多个对象的身份。在某些实施例中,网络305与一个或多个对象识别系统连接,以帮助确定一个或多个对象的身份。
环境300描绘位置330。位置330代表非特定区域。位置330的示例包括任何位置,例如教育环境、住宅、办公大楼、零售商店、商业建筑物、工业建筑物等。位置330包含多个对象,即对象335A、对象335B至对象335n。对象335A、335B至335n(合称为对象335A-n)表示位置330中可以被物理地移动、与之交互和/或被操纵的任何数量的物理对象。每个对象(对象335A-n)可以是物理对象。对象335A-n的示例范围包括位置330的结构组件(例如墙壁、门、支撑柱等)、机械、汽车、悬挂在墙上的图片、计算机系统、书籍、家具、电器、人类、动物等。与位置330和对象335A-n相关联的描述并非旨在进行限制,而是仅出于示例性和说明性目的而被提供。位置330由一个或多个相机(例如相机310)查看。
相机310能够查看环境并将信息转换成数字形式。相机310包括能够感测在其观看半径内的位置或运动或两者的传感器。在某些实施例中,相机310包括彩色相机、视频相机、深度相机、运动传感器、雷达等中的一个或多个。在图3所示的示例中,相机310位于位置330中,但是本领域技术人员可以理解,相机310可以位于任何位置。在某些实施例中,相机310不限于单个设备。也就是说,相机310可以包括可以感测位置330内的位置或移动或两者的任何数量的设备。
在某些实施例中,相机310是类似于红绿蓝相机的基于帧的相机。在某些实施例中,相机310是互补金属氧化物半导体(CMOS)、电荷耦接器件(CCD)、红外(IR)、紫外线(UV)、深度传感器相机(即,RBG-D)、基于事件的相机、或其他类型的图像传感器。不论相机类型如何,相机310能够生成图像序列并将图像发送到动态跟踪设备320。
在某些实施例中,相机310是监视相机。在某些实施例中,相机310被附着到头戴式显示器。例如,当用户在诸如位置330之类的环境中移动时,相机310能够捕获所记录的图像并将其发送到动态跟踪设备。头戴式显示器可以用于显示增强现实、虚拟现实、混合现实等。头戴式显示器可以包括内部和外部传感器,例如陀螺仪、加速度计、或图2的一个或多个传感器265的组合。在某些实施例中,相机310附着到以下设备之一:移动机器人,自动化、自治设备,个人计算机或任何计算设备等。在某些实施例中,相机310附着有动态跟踪设备320。
动态跟踪设备320以有线方式直接与相机310通信,或者例如通过网络305经由无线通信间接与相机310通信。动态跟踪设备320通过网络305与其他服务器和设备(未示出)通信。在某些实施例中,动态跟踪设备320是类似于图1的客户端设备106-116的独立设备。在某些实施例中,动态跟踪设备320是较大设备的组件。动态跟踪设备320检测、跟踪和记录与环境(例如位置330)中的一个或多个物理对象相关联的数据。动态跟踪设备320包括对象识别引擎322、光学跟踪优先级(OTP)程序324和信息库326。
对象识别引擎322识别图像或视频序列中的对象。对象识别引擎322包括识别数字图像或视频中的特定对象的处理。对象识别引擎322在诸如位置330之类的环境中识别并分割对象335A-n。可以通过对象识别引擎322使用各种AI和/或CV技术来识别和分割每个对象335A-n。在某些实施例中,对象识别引擎322基于已知对象与图像中的对象的匹配进行分析。在某些实施例中,对象识别引擎322基于机器学习进行分析以不断学习来识别新对象。在某些实施例中,对象识别引擎322解析从相机310接收的图像以识别图像内的对象。对象识别引擎322能够识别被其他对象部分遮挡的对象。
在图3所示的示例中,对象识别引擎322布置在动态跟踪设备320的内部。在某些实施例中,对象识别引擎322在动态跟踪设备320的外部。例如,动态跟踪设备能够通过网络305访问对象识别引擎322。
在某些实施例中,对象识别引擎322被预编程为识别某些对象。在某些实施例中,对象识别引擎322包括任何必要的CV或AI以识别、分类或识别环境中的对象,例如对象335A-n。对象识别引擎322利用多个传感器来确定对象的各种特征以便识别它们。例如,对象识别能够识别与每个对象相关联的对象的近似大小、颜色和/或音频。
在某些实施例中,一旦识别出对象,对象识别引擎322就将对象的身份提供给OTP程序324。在某些实施例中,一旦识别出对象,对象识别引擎322就将对象的身份以及关于该对象的信息提供给OTP程序324。关于对象的信息包括与对象相关联的易变性分数。
OTP程序324基于对象识别和与每个识别出的对象相关联的易变性来对光学跟踪系统的跟踪点分配优先级。在某些实施例中,OTP程序324利用类似于SLAM的定位和映射系统或光学跟踪系统。在某些实施例中,OTP程序324是类似于用于光学跟踪的SLAM解决方案的定位和映射系统的独立组件。
在光学跟踪处理中,类似于SLAM,对象位置和映射是基于相机与环境中的对象和结构的接近程度。当相机稍微移动或环境中的对象移动时,所得图像与环境的原始图像不同。然后,光学跟踪比较两个图像,检测差异并能够确定对象移动了多少。例如,如果相机沿任意方向移动,则靠近相机的对象比较远的对象具有更大的位移。相反,距离相机较远的对象比距离相机较远的对象具有更大的位移。因此,通过反复拍照并比较其中的对象,光学跟踪可以确定(i)对象在三维空间中的位置,以及(ii)相机相对于三维空间的位置。
光学跟踪系统使用与房间中的对象关联的多个跟踪点,以在相机在整个房间中移动时匹配每个跟踪点。例如,单个对象可能没有跟踪点,因此光学跟踪系统不跟踪其相对于特定对象的位置。在另一示例中,单个对象可以在其表面上仅具有单个跟踪点,从而光学跟踪系统跟踪其相对于该对象上的一个点的位置。在另一个示例中,单个对象可以在其表面上具有多个跟踪点,从而光学跟踪系统可以跟踪其相对于该对象上的每个跟踪点的位置。
使用类似于SLAM的位置和映射系统的光学跟踪系统可以在环境中提供位置。例如,在位置330的映射上,如果对象335A-n不移动,则光学跟踪系统下次查看位置330时,光学跟踪系统知道它在哪里。例如,光学跟踪系统可以利用与之前相同的跟踪点来确定其在位置330内的位置。当在两个光学跟踪进程之间该位置中的对象开始移动时,光学跟踪问题开始出现。例如,如果对象335A具有与之关联的跟踪点并被移动,则光学跟踪系统将丢失原始跟踪点,并可能需要找到新的跟踪点。如果光学跟踪系统能够参考足够的其他跟踪点,则不会出现重大问题。对于另一个示例,如果对象335A具有与其相关联的跟踪点,并且对象335A被稍微移动,则光学跟踪系统仍可以基于原始跟踪点进行计算,即使它不在其原始位置也是如此。由于系统可能不会立即知道所确定的对象335A的位置是错误的,因此这种计算可能会产生误差。
本公开的实施例提供了某些对象规则地移动而其他对象很少移动的情况。因此,OTP程序324为光学跟踪系统分配跟踪点的优先级,以便提供不太可能移动从而对位置330的位置和映射产生负面影响的跟踪点。例如,基于对象识别,确定对象是否稳定(不太可能移动),OTP程序324对与对象关联的任何跟踪点分配优先级。相反,基于对象识别,确定对象是易变的(即,不稳定并且可能移动),OTP程序324降低与该对象相关联的任何跟踪点的优先级。
在某些实施例中,OTP程序324从对象识别引擎322接收所识别的对象,以确定环境中哪些对象可能移动。在某些实施例中,OTP程序324向在位置330内检测和识别的每个单独对象分配易变性分数。易变性分数表示对象将要移动的可能性。分数可以用从可能移动到不太可能移动的标度来表示。在一个实施例中,标度可以具有与其相关联的数字,例如1-10,其中1为不太可能移动而10为很可能移动。在另一个实施例中标度可以具有与之相关标尺的字母,即字母A-Z,其中“A”为不太可能移动而“Z”为很可能移动。在另一个实施例中,标度可以由颜色表示。本领域技术人员将理解,如本文中所使用的术语易变性分数表示对象移动的可能性,并且可以由各种标度来表示。
基于对象的易变性分数,OTP程序324为光学跟踪系统分配跟踪点的优先级。对于另一个示例,OTP程序324对每个对象进行分类,以确定环境中哪些对象可能移动。例如,OTP程序324可以将每个对象分配给特定类别。类别可以是通用的,或可以针对每种类型的环境量身定制。示例类别可以包括:(i)人,(ii)家具-易变的(即椅子),(iii)家具-非易变的(即桌子),(iv)机械等。注意,该列表仅用于说明,并且可以使用其他示例。每个类别都可以具有与其相关联的易变性分数。此后,基于分配给对象的类别,为每个对象分配通用易变性分数。例如,因为人通常会移动,所以人可以具有较高的易变性分数,而很少移动的某些机械可以具有较低的易变性分数。易变性分数与类别中的每个单个对象相关联。基于对象易变性分数,OTP程序324为光学跟踪系统分配跟踪点的优先级。
通常,易变性分数是指对象的性质及其在一段时间内移动的可能性。例如,计算机监视器很少移动,但是显示可能会不断变化。因此,计算机监视器底座和显示器框架的易变性分数可能较低,而显示本身的易变性分数却较高。作为另一示例,墙上的相框不太可能移动,因此易变性分数很低。再例如,椅子可能会移动,因此具有较高的易变性分数。分配易变性分数将在下文参考图4A和4B更详细地讨论。
OTP程序324可以从对象识别引擎322接收在位置330内检测到的对象的列表。在某些实施例中,该列表包括与每个单独的对象相关联的单独的易变性分数。在某些实施例中,OTP程序324将每个对象分类为具有与每个类别相关联的通用易变性分数的类别。在某些实施例中,OTP程序324知道与每个单独体对象相关联的易变性分数。在某些实施例中,OTP程序324访问信息存储库326以查找与每个单独对象相关联的易变性分数。
可以使用本领域中已知的任何体系结构来实现信息存储库326,例如关系数据库、面向对象的数据库或一个或多个表、或其组合。信息存储库326存储数据以帮助对象识别引擎322识别对象,并帮助OTP程序324确定和/或分配与大范围的对象相关联的易变性分数。信息存储库326可以包含对象识别引擎322或OTP程序324可以访问的查找表、数据库、图表、曲线图、函数、方程式等。尽管在动态跟踪设备320中进行了描述,但信息存储库326可以位于服务器或远程服务器,或者利用群集的计算机和组件充当无缝资源的单个池的一个或多个计算机互连的计算机“云”,并可通过网络305由动态跟踪设备320访问。
在某些实施例中,信息存储库326包含查找表,该查找表包含对于不同类型的对象的易变性分数分配。OTP程序324访问信息存储库326,以为每个识别的对象和在位置中识别的每个新对象分配易变性分数。
在某些实施例中,OTP程序324基于对象的位置易变性或移动的可能性对识别出的对象进行分类。例如,一旦识别出对象,则OTP程序324对对象进行分类,并为每个对象分配总体易变性分数或为各个对象分配单独的易变性分数。
在某些实施例中,当对象具有与之相关联的至少一个跟踪点时,OTP程序324向对象分配易变性分数。在某些实施例中,当对象具有与之相关联的一定数量的跟踪点时,OTP程序324向对象分配易变性分数。
基于分配有易变性分数的对象,OTP程序324为与每个对象相关联的每个跟踪点确定优先级等级。每个跟踪点的优先级等级基于与每个对象关联的易变性分数。例如,与具有高易变性的对象相关联的跟踪点被赋予比与具有低易变性的对象相关联的跟踪点更低的优先级。例如,如果一个对象的易变性分数为7,则与该对象相关联的每个跟踪点的易变性分数为7。优先级分数基于分析每个跟踪点的易变性分数,然后将跟踪点排序以识别易变性较小的跟踪点。在某些实施例中,高易变性分数通常产生低优先级分数。例如,在OTP程序324为高易变性对象分配低优先级时,与该对象关联的任何跟踪点都被赋予低优先级。相反,在OTP程序324为低易变性的对象分配高优先级时,与该对象相关联的任何跟踪点都被赋予高优先级。
在某些实施例中,OTP程序324为每个跟踪点的优先级等级排序。此后,OTP程序324将跟踪点发送到光学跟踪系统。通过发送优先的跟踪点,由于与每个跟踪点相关联的对象非易变,OTP程序324提供由稳定跟踪点构成的优选列表。类似地,通过发送优先的跟踪点,由于与每个跟踪点相关联的对象很可能移动因而产生较差跟踪点,OTP程序324提供由易变跟踪点构成的非优选列表。
在某些实施例中,OTP程序324包括反馈子系统(未显示)。在某些实施例中,反馈子系统是动态跟踪设备320的独立组件。该反馈子系统允许OTP程序324更新该位置内的一个或多个对象的易变性分数。例如,如果被赋予低易变性分数的对象开始移动,则OTP程序324可以增加与该对象相关联的易变性分数。类似地,如果被赋予高易变性分数的对象很少移动,则OTP程序324可以降低与该对象相关联的易变性分数。此后,OTP程序324将新的优先级值分配给一个或多个跟踪点。
在某些实施例中,反馈子系统局部地更新易变性分数,即,仅影响光学跟踪的位置内的对象的易变性分数。在某些实施例中,反馈子系统普遍地更新包含不限于光学跟踪的位置的对象的易变性分数在内的信息存储库上的易变性分数。例如,当易变性分数未知时,OTP程序324能够访问包含查找表的通用信息库。在某些实施例中,OTP程序324更新信息存储库326内的查找表以指示特定对象的新的易变性分数。参考图7进一步详细讨论反馈处理。
注意,由对象识别引擎322识别的每个对象可能没有与之关联的跟踪点。类似地,在某些示例中,由对象识别引擎322识别的每个对象可以具有为其分配的易变性分数。在某些实施例中,当由对象识别引擎322识别的每个对象与至少一个跟踪点相关联时,该对象具有为其分配的易变性分数。注意,并不是由对象识别引擎322识别的每个对象都具有优先级等级。例如,如果所识别的对象没有与之关联的跟踪点,则该对象将没有优先级等级。在某些实施例中,如果识别出与跟踪点相关联的对象并为其分配了易变性分数,则每个跟踪点将具有优先级等级。在某些实施例中,大多数跟踪点将具有优先级等级。在某些实施例中,与单个对象相关联的跟踪点被分配该对象的易变性分数。
在某些实施例中,利用OTP程序324的光学跟踪系统可以检测对象的反射率值。反射率值与对象反射或吸收环境光的能力相关。高反射率值通常与有光泽的、闪亮的、经抛光的对象等相关联。低反射率值通常与暗淡的、无光的、未抛光的对象等相关联。例如,镜子或经抛光的金属通常具有高反射率。如果反射率值高于阈值,则OTP程序324可以丢弃与该对象相关联的每个跟踪点。例如,一旦识别出具有高反射率值的对象,例如镜子或玻璃,则OTP程序324可以丢弃与镜子相关联的任何跟踪点,因为在镜子反射中检测到的任何对象都不是对象的真实位置,并且可能在跟踪环境时导致错误。在某些实施例中,利用对象识别引擎的光学跟踪系统在将提供优选跟踪点位置的位置中识别对象。例如,一旦识别出具有低易变性分数的对象,则OTP程序324可以建议跟踪系统生成与该对象相关联的一个或多个跟踪点。
在某些实施例中,利用OTP程序324的光学跟踪系统识别对象是否移动。此后,光学跟踪系统确定对象已移动到的位置。这种确定可以利用对象识别引擎322的一个方面。通过识别位置330中的对象335A-335n,例如当对象335A在位置330内移动时,OTP程序324(或光学跟踪系统)可以识别对象335A的新位置。
在某些实施例中,利用OTP程序324的光学跟踪系统识别半遮挡的对象。在某些实施例中,利用OTP程序324的光学跟踪系统识别被移动的对象半遮挡的对象。因此,通过将对象识别引擎322合并到光学跟踪环境中,可以减少用于定位跟踪点的误报。
图4A示出了根据本公开的实施例的用于光学跟踪的示例环境。图4B示出了根据本公开的实施例的描绘了图4A的各个方面的示例表。图4A和4B所示的环境400和表405的实施例仅用于说明目的。例如,图4A和图4B示出了图3的动态跟踪设备320如何为跟踪点分配优先级。该实施例可以用于使用表405的不同实施例和数据的任何其他合适的环境400。
在图4A所示的示例中,环境400是示例办公环境的图像。环境400包括分散在环境400周围的多个跟踪点410、415、420、425、430、435、440和445。每个跟踪点是由光学跟踪系统生成的。
图4B示出了表405,其包含关于每个跟踪点的信息。例如,在表405的列450中描绘了图4A的每个跟踪点410、415、420、425、430、435、440和445。本领域技术人员可以理解,图3的对象识别引擎322能够识别图像400中的其他对象,但是,出于说明目的,仅讨沦与跟踪点相关联的对象。
环境400包括可以在位于办公室环境中的计算机桌上找到的各种各样的对象。对象识别引擎322在表405的列460中识别与跟踪点相关联的每个对象。例如,(i)跟踪点410在计算机监视器的显示部分上;(ii)跟踪点415在计算机监视器的框架上;(iii)跟踪点420在计算机鼠标上;(iv)跟踪点425在鼠标垫上;(v)跟踪点430在计算机键盘上;(vi)跟踪点435在一对耳机上;(vii)跟踪点440在计算机扩展坞上;(viii)跟踪点445在电源板上。对象识别引擎322能够识别每个对象,并区分对象的可能表现出不同易变性分数的部分(例如,跟踪点410处的监视器显示和跟踪点415处的监视器框架)。
OTP程序324在图3的信息存储库326中查找与每个对象相关联的易变性分数。如表405的列470所示,易变性分数在1到10的范围内,其中1代表低易变性,10代表高易变性。例如,由于计算机监视器的显示随着计算机功能的不断变化,所以跟踪点410的易变性分数为10(高易变性)。因为监视器的框架很少移动或改变,所以跟踪点415的易变性分数为2(低易变性)。由于计算机鼠标作为用户在计算机上的输入方法而经常移动,所以跟踪点420的易变性分数为10(高易变性)。因为即使鼠标(跟踪点420)可能但移动鼠标垫也很少移动,所以跟踪点425的易变性分数为2(低易变性)。因为键盘通常保持在同一位置,所以跟踪点430的易变性分数为3(低易变性)。由于经常使用耳机,并且使用后很少将其放在确定的位置,所以跟踪点435的易变性分数为8(高易变性)。由于扩展坞一旦设置很少移动或改变,所以跟踪点440的易变性分数为2(低易变性)。最终,由于电源板很少移动或改变,所以跟踪点445的易变性分数为1(低易变性)。
OTP程序324基于与跟踪点相关联的每个对象的易变性分数来确定每个跟踪点的优先级等级。在某些实施例中,OTP程序324基于易变性等级对对象进行排序,然后为每个跟踪点分配优先级值。在某些实施例中,OTP程序324基于每个对象的相对易变性为每个跟踪点分配优先级值。表405的列480列出了每个对象的优先级等级,范围为1-5,其中1为低优先级,5为高优先级跟踪点。因此,当光学跟踪系统尝试跟踪图像400的办公环境时,光学跟踪系统可以丢弃优先级低的跟踪点,例如跟踪点410、420和435。在某些实施例中,光学跟踪系统会将更多的权重放在优先级较高的跟踪点上,诸如跟踪点415、425、440和445。在某些实施例中,光学跟踪系统丢弃具有低优先级的跟踪点并创建新的跟踪点。如果已经识别出对象,则OTP程序324将每个跟踪点的更新的优先级值通知光学跟踪系统。如果尚未识别对象,则对象识别引擎322识别对象。在某些实施例中,如果对象识别引擎322不能识别对象,则与该对象相关联的跟踪点被分配未知等级、被丢弃、或被分配通用易变性分数等。
图5示出了根据本公开实施例的用于光学跟踪的示例处理。尽管该流程图描绘了一系列顺序的步骤,除非明确说明,否则不应从该顺序中推断有关执行的特定顺序、步骤或其部分的除同时或叠加方式以外的顺序执行,或者推断仅描绘步骤的执行而不涉及介入或中间步骤。为了便于说明,相对于图1的系统100和图3的环境300描述了方法500。但是,方法500可以与任何其他合适的系统一起使用。
在框510中,动态跟踪设备320从一个或多个相机接收图像数据。光学跟踪系统例如通过SLAM系统等启动并开始检测对象和映射位置。OTP程序324启动解析图像数据以搜索对象。
在框520中,动态跟踪设备320检测并识别图像数据内的对象。例如,OTP程序324或对象识别引擎322在场景中搜索对象。可以通过AI或CV技术(例如机器学习和神经网络)来辅助搜索。在检测到场景内的对象时,对象识别引擎322确定对象的身份。在某些实施例中,对象识别引擎322确定对象的类别。对象识别引擎322访问本地或远程服务器以识别对象。对象识别引擎322在本地存储对象的身份。
在某些实施例中,动态跟踪设备320可以检测每个识别出的对象的反射率值。如果反射率值低于阈值,则处理继续至框530。如果反射率值高于阈值,则动态跟踪设备320可以丢弃与所识别的对象相关联的每个跟踪点。在一个实施例中,反射率阈值基于动态跟踪设备320是否可以检测从对象反射的对象,例如镜子或经抛光的金属,因为这样的反射可能提供不正确的跟踪点。
在框530中,动态跟踪设备320将易变性分数分配给每个对象。分配给每个对象的易变性分数可以基于对象的身份或对象可能移动的可能性、或其组合。易变性分数可以位于本地信息存储库中,也可以位于远程服务器上。动态跟踪设备320将每个对象的易变性分数保存在本地信息存储库中。
在某些实施例中,如果不能识别对象,则将默认或预定易变性分配给每个未识别对象。在某些实施例中,动态跟踪设备320基于关于对象导出的信息来预测对象的易变性。例如,基于对象的形状和位置,可以导出易变性分数。类似地,动态跟踪设备320分析环境并基于在该环境内检测到的其他对象确定近似易变性。对于另一个示例,动态跟踪设备320基于对象的记录历史来确定未识别对象的易变性分数。例如,如果动态跟踪设备320通过先前的图像数据查看对象,并确定对象在一段时间内未曾移动,则将低易变性分配给未曾移动的对象。然而,如果动态跟踪设备320识别出对象在整个环境中曾移动,则将高易变性分数分配给曾移动的对象。
在框540中,动态跟踪设备320确定每个跟踪点的优先级值。光学跟踪系统例如通过SLAM系统等并通过创建跟踪点来启动并开始检测对象和映射位置。每个跟踪点都可以与位置中的对象相关联。位置内的对象可能具有多于一个跟踪点。定位和映射系统与OTP程序324通信,并共享每个跟踪点的位置。然后OTP程序324识别与至少一个跟踪点相关联的每个对象。例如,在针对每个跟踪点启动诸如SLAM之类的定位和映射系统后,OTP程序324识别与之关联的对象。例如,OTP程序324确定与每个跟踪点有关的对象。一旦识别出对象,OTP程序324就将易变性分数分配给每个跟踪点。分配给每个跟踪点的易变性分数基于与每个跟踪点关联的对象的易变性分数。例如,如果跟踪点在墙壁上,则由于墙壁不会移动,所以墙壁的易变性分数可能为零,因此分配给该跟踪点的易变性分数也为零。类似地,如果跟踪点位于桌子上的咖啡杯上,则因为咖啡杯可能会移动所以咖啡杯可能具有较高的易变性分数,因此也为该跟踪点分配高易变性分数。类似地,如果咖啡杯具有与咖啡杯相关联的多于一个跟踪点,则每个跟踪点都被赋予相同的高易变性分数。
然后,在将易变性分数分配给每个跟踪点之后,动态跟踪设备320确定每个跟踪点的优先级顺序。例如,跟踪点优先级基于与跟踪点相关联的对象的易变性。如果诸如由于对象可能移动而导致跟踪点的易变性分数高,则动态跟踪设备320为该跟踪点分配低优先级值。类似地,如果例如因为如果对象不太可能移动所以跟踪点的易变性分数较低,则动态跟踪设备320为该跟踪点分配高优先级值。在某些实施例中,动态跟踪设备320基于线性方法分配优先级值。例如,每个跟踪点优先级值与易变性分数具有1∶1的相关性。对于每个跟踪点,易变性分数和优先级值之间存在直接关联。动态跟踪设备320向具有低易变性的每个跟踪点分配的优先级值与具有高易变性分数的跟踪点的优先级值相比高几倍。在某些实施例中,动态跟踪设备320基于指数方法分配优先级值。动态跟踪设备320向具有低易变性的每个跟踪点分配的优先级值成指数级高于具有高易变性分数的跟踪点的优先级值。在某些实施例中,动态跟踪设备320基于加权优先级方法分配优先级值。例如,与低易变性对象相关联的跟踪点的优先级值可以具有比与中低易变性对象相关联的跟踪点的优先级值更大的权重。类似地,与高易变性对象相关联的跟踪点的优先级值可以具有比与高中易变性对象相关联的跟踪点的优先级值更大的权重。与具有中低易变性分数的对象相关联的跟踪点相比,动态跟踪设备320向与具有非常低的易变性分数的对象相关联的跟踪点分配明显更高的优先级。类似地,与具有高中易变性分数的对象相关联的跟踪点相比,将明显更低的优先级赋予与具有高易变性分数的对象相关联的跟踪点。基于与跟踪点相关联的对象的易变性分数,本领域技术人员将理解各种各样的方法来向每个跟踪点分配优先级值。
在框550中,动态跟踪设备320指示光学跟踪系统使用具有较高优先级的跟踪点而不是具有较低优先级的跟踪点。通过使光学跟踪系统的易变性基于与不太可能移动的对象相关联的跟踪点,由于跟踪点不会丢失,因此光学跟踪系统能够产生较少的错误和误算。例如,如果丢失了跟踪点(例如当与跟踪点关联的对象移动时),则光学跟踪系统可能必须创建新的跟踪点并基于新的跟踪点执行位置计算。类似地,如果跟踪点略微移动(例如当与跟踪点相关联的对象略微移动但保留在总体区域中时),则光学跟踪系统可能无法识别出跟踪点已位移,因此将来的任何定位和映射处理都可能会终止并可能导致错误。
在某些实施例中,光学跟踪系统搜索具有低优先级的对象,即,可能移动的对象,以便识别出特定对象已经在环境中从位置A移到了位置B。在某些实施例中,如果跟踪点的某个阈值具有低优先级值,即与跟踪点相关联的对象是高易变的,则光学跟踪系统搜索新的跟踪点。
图6A-图6C示出了根据本公开实施例的用于光学跟踪的示例子处理。尽管该流程图描绘了一系列顺序的步骤,除非明确说明,否则不应从该顺序中推断有关执行的特定顺序、步骤或其部分的除同时或叠加方式以外的顺序执行,或者推断仅描绘步骤的执行而不涉及介入或中间步骤。为了便于说明,相对于图1的系统100和图3的环境300描述了处理600A、600B和600C。然而,处理600A、600B和600C可以与任何其他合适的系统一起使用。
图6A、6B和6C示出了相似的子处理,它们在所示的开始位置上不同。例如,图6A示出了处理600A,其描绘了与图5类似的流程,即,该处理开始于学习新的环境并为跟踪点分配优先级。图6B示出了处理600B,其描绘了响应于在已知环境中检测到新对象而为跟踪点分配优先级的处理。图6C示出了处理600C,该处理是响应于在已知环境中识别新的跟踪点而向跟踪点分配优先级的处理。
在框605中,动态跟踪设备320从一个或多个相机接收图像数据。动态跟踪设备320在场景中搜索对象。例如,OTP程序324开始解析图像数据以搜索对象。
在框620中,在检测到图像数据内的对象时,动态跟踪设备320识别并确定对象类别或身份。对象类别可由通常对象(例如椅子)表示,而对象的身份可以是椅子的类型。例如,动态跟踪设备320在场景中搜索对象。可以通过AI或CV技术(例如机器学习和神经网络)辅助搜索。在检测到场景内的对象时,对象识别引擎322确定对象的身份。在某些实施例中,对象识别引擎322确定对象的类别。如果可用,则对象识别引擎322访问本地或远程服务器以识别对象。
在框630中,动态跟踪设备320将易变性分数分配给每个识别出的对象。分配给每个对象的易变性分数可以基于对象的身份或对象可能移动的可能性、或其组合。易变性分数可以存储在本地信息存储库中,也可以存储在远程服务器上。动态跟踪设备320还将每个对象的易变性分数保存在本地信息存储库中。
在框640中,光学跟踪系统(即动态跟踪设备320)启动并创建环境中的跟踪点。在框650A中,动态跟踪设备320识别与跟踪点相关联的相关对象。对于每个框630,该信息可以位于查找表中。一旦识别出对象和对象的易变性分数,动态跟踪设备320就将易变性分数分配给每个跟踪点。如果与跟踪点相关联的对象是未知的,则可以为跟踪点分配预定的易变性分数或跳过该跟踪点。
在框660A中,动态跟踪设备320基于对象的易变性来确定每个跟踪点的优先级值。例如,如果由于与跟踪点相关联的对象不太可能移动而易变性低,则在框670,该处理为跟踪点设置高优先级值。如果由于与跟踪点相关联的对象可能移动而易变性高,则在框675中,动态跟踪设备320为跟踪点设置低优先级值。动态跟踪设备320针对每个跟踪点重复框660A。在框660A中,动态跟踪设备320在分配优先级值时单独处理每个跟踪点,或者查看所有跟踪点的总数和相关联的易变性分数以分配优先级值的范围。
在框680中,动态跟踪设备320基于与每个跟踪点相关联的优先级级别对跟踪点进行排序。排序的跟踪点存储在信息存储库中。此后,在框690中,该处理指示光学跟踪解决方案使用优先的跟踪点。
除了在框610处开始之外,处理600B类似于处理600A。图6A和图6B的框620、630、640和670-690基本相同,因此,为简洁起见,先前在上文提及的步骤细节将被省略。
在框610中,动态跟踪设备320检测环境中的新对象。在某些实施例中,当相机被移动到新位置并且当前能够查看先前被遮挡的对象时,检测到该对象。在某些实施例中,当对象通过诸如人的外力而被移入环境时,检测到该对象。在某些实施例中,对象是新识别出的,并且对象识别引擎322无法在先识别该对象。在发现新对象时,动态跟踪设备320如前所述继续框620、630和640。
在框650B中,动态跟踪设备320识别与新发现的对象相关联的每个跟踪点。如果没有跟踪点与新对象相关联,则动态跟踪设备320在处理600A下结束或继续。如果至少一个跟踪点与新对象相关联,则动态跟踪设备320将与新对象相关联的易变性分数分配给每个跟踪点。
在某些实施例中,在框660B中,动态跟踪设备320确定与新对象相关联的每个跟踪点的优先级。在某些实施例中,动态跟踪设备320基于新跟踪点的添加来对环境内所有跟踪点的优先级进行重新分配优先级。在向跟踪点分配优先级之后,动态跟踪设备320如前所述继续步骤670、675、680和690。
处理600C类似于处理600A。框610至640在图6C中变色,因为在处理600C的描述中不针对这些框。还应注意,图6A和图6C的框670-690是基本相同的,因此,为简洁起见,在此省略先前上文提到的步骤的细节。
在框615中,动态跟踪设备320识别环境内的新跟踪点。新跟踪点可以由光学跟踪系统创建。
在框650C中,对于新跟踪点,动态跟踪设备320确定与跟踪点相关联的对象。如果对象已知,则动态跟踪设备320为该跟踪点分配与对象相关联的易变性分数。如果对象未知,则动态跟踪设备320通过对象识别来确定对象的身份或类别或这两者。在识别出对象并获取与对象相关联的易变性分数之后,动态跟踪设备320向新跟踪点分配与该对象的易变性分数匹配的易变性分数。如果无法识别对象,则向该跟踪点分配默认易变性。在某些实施例中,动态跟踪设备320基于关于对象导出的信息来预测对象的易变性。例如,基于对象的形状和位置,导出易变性分数。类似地,动态跟踪设备320分析环境并基于在该环境内检测到的其他对象确定近似易变性。
在框660C中,动态跟踪设备320确定每个新跟踪点的优先级。在某些实施例中,动态跟踪设备320基于添加了新跟踪点来对环境内所有跟踪点的优先级重新分配优先级。在向跟踪点分配优先级之后,动态跟踪设备320如前所述继续执行块670、675、680和690
图7示出了根据本公开的实施例的示例反馈处理。尽管该流程图描绘了一系列顺序的步骤,除非明确说明,否则不应从该顺序中推断有关执行的特定顺序、步骤或其部分的除同时或叠加方式以外的顺序执行,或者推断仅描绘步骤的执行而不涉及介入或中间步骤。为了便于说明,相对于图1的系统100和图3的环境300描述了反馈处理700。然而,方法500可以与任何其他合适的系统一起使用。
在反馈处理700中,光学跟踪系统重新评估每个所识别的对象的易变性。在某些实施例中,动态跟踪设备320定期检查和重新评估对象是否已经移动,并调整与该对象相关联的易变性分数。动态跟踪设备320随机地重新评估和检查每个对象,或者动态跟踪设备320可以具有轮询每个对象的时间表。在更新易变性分数时,动态跟踪设备320更新由服务器维护的更大的数据库。在更新易变性分数时,动态跟踪设备320将对象与特定类型的环境(例如办公室、教室、商业建筑、祭祀建筑等)相关联。例如,对象在一种类型的环境中通常可能具有较低的易变性分数,但是在第二种环境中,该对象可以具有较高的易变性分数。在某些实施例中,通过反馈处理700,光学跟踪系统能够获知环境内未知或未识别对象的易变性。
在框710中,动态跟踪设备320检测并识别环境中的对象。在本文中,术语“已识别”表示单个对象在环境中的其他对象之间是可区分的。还需要知道对象的实际身份。
在一段时间内,在框720中,动态跟踪设备320确定对象是否已在环境中移动。如果在框720中,动态跟踪设备320确定所识别的对象未曾移动,则在框730中,动态跟踪设备320降低易变性分数。如果动态跟踪设备320在框720中确定所识别的对象曾移动,则在框735中,动态跟踪设备320增加易变性分数。在框740中,动态跟踪设备320更新所识别的对象的易变性分数。在某些实施例中,一旦在反馈处理700中更新了易变性分数,动态跟踪设备320就返回到方法500,并且例如在框540中向跟踪点重新分配优先级。
尽管图5、图6A-图6C和图7示出了向光学跟踪的跟踪点分配优先级的处理的示例,但是可以对图5、图6A-图6C或图7进行各种改变。例如,尽管被示出为一系列步骤,但是每个图中的各种步骤可能重叠、并行发生、以不同顺序发生或发生多次。在另一个示例中,步骤可以被省略或被其他步骤代替。例如,图5的框510和520可以被组合成一个框,或者框510可以被省略。类似地,图5的框550可以仅将跟踪点优先级的通知提供给光学跟踪。在另一个示例中,图7可以被合并到图5或图6A-图6C中的任何一个中。
尽管附图示出了用户设备的不同示例,但是可以对附图进行各种改变。例如,电子设备可以以任意适当的布置包括任意数量的每个组件。通常,附图不将本公开的范围限制为任何特定配置。此外,尽管附图示出了可以使用本公开中公开的各种电子设备特征的操作环境,这些特征可以在任何其他合适的系统中使用。
尽管已经利用示例性实施例描述了本公开,但是可以向本领域技术人员提出各种改变和修改。本公开旨在涵盖落入所附权利要求的范围内的这种改变和修改。
Claims (15)
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.根据权利要求8所述的电子设备,所述存储器还包括使所述至少一个处理器执行以下操作的指令:
导出与所述环境中的每个对象相关联的反射率值;
当导出的对象的反射率值高于阈值时,丢弃与所述对象相关联的一个或多个跟踪点;以及
更新所确定的与所述环境中的所述至少一个对象相关联的一个或多个跟踪点中的每个跟踪点的优先级等级。
15.一种包括程序代码的非暂时性计算机可读介质,所述程序代码在由至少一个处理器执行时使所述至少一个处理器执行根据权利要求1至7中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762529833P | 2017-07-07 | 2017-07-07 | |
US62/529,833 | 2017-07-07 | ||
US15/805,750 | 2017-11-07 | ||
US15/805,750 US10304207B2 (en) | 2017-07-07 | 2017-11-07 | System and method for optical tracking |
PCT/KR2018/000892 WO2019009486A1 (en) | 2017-07-07 | 2018-01-19 | OPTICAL MONITORING SYSTEM AND METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110785775A CN110785775A (zh) | 2020-02-11 |
CN110785775B true CN110785775B (zh) | 2023-12-01 |
Family
ID=64902810
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880042318.2A Active CN110785775B (zh) | 2017-07-07 | 2018-01-19 | 用于光学跟踪的系统和方法 |
CN201880044568.XA Active CN110832546B (zh) | 2017-07-07 | 2018-07-06 | 用于设备追踪的系统和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880044568.XA Active CN110832546B (zh) | 2017-07-07 | 2018-07-06 | 用于设备追踪的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10304207B2 (zh) |
EP (2) | EP3635627B1 (zh) |
CN (2) | CN110785775B (zh) |
WO (2) | WO2019009486A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10304207B2 (en) * | 2017-07-07 | 2019-05-28 | Samsung Electronics Co., Ltd. | System and method for optical tracking |
CN111831240B (zh) * | 2019-04-17 | 2022-02-22 | 北京小米移动软件有限公司 | 终端屏幕的显示控制方法、装置及存储介质 |
US11334174B2 (en) | 2019-07-18 | 2022-05-17 | Eyal Shlomot | Universal pointing and interacting device |
US11130063B2 (en) * | 2020-02-03 | 2021-09-28 | Ready 2 Perform Technology LLC | Gaming system for sports-based biomechanical feedback |
EP3904907A1 (en) * | 2020-04-29 | 2021-11-03 | Aptiv Technologies Limited | Methods and systems for tracking an object |
CN111752386A (zh) * | 2020-06-05 | 2020-10-09 | 深圳市欢创科技有限公司 | 一种空间定位方法、系统及头戴式设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05303624A (ja) * | 1992-02-06 | 1993-11-16 | Fujitsu Ltd | 画像追尾装置 |
JP2003090878A (ja) * | 2001-09-18 | 2003-03-28 | Mitsubishi Electric Corp | 目標相関装置 |
WO2008008046A1 (en) * | 2006-07-11 | 2008-01-17 | Agency For Science, Technology And Research | Method and system for multi-object tracking |
CN101142593A (zh) * | 2005-03-17 | 2008-03-12 | 英国电讯有限公司 | 跟踪视频序列中的目标的方法 |
CN101401426A (zh) * | 2006-03-15 | 2009-04-01 | 欧姆龙株式会社 | 跟踪装置、跟踪方法、跟踪装置的控制程序以及计算机可读取的记录媒体 |
JP2011196940A (ja) * | 2010-03-23 | 2011-10-06 | Mitsubishi Electric Corp | 追尾装置 |
CN102356398A (zh) * | 2009-02-02 | 2012-02-15 | 视力移动技术有限公司 | 用于视频流中的对象识别和跟踪的系统和方法 |
CN102542789A (zh) * | 2010-12-28 | 2012-07-04 | 财团法人工业技术研究院 | 行车路径重建方法、系统及计算机程序产品 |
CN102598057A (zh) * | 2009-08-23 | 2012-07-18 | Iad信息自动化及数据处理有限公司 | 自动对象识别、然后根据对象形状进行对象跟踪的方法和系统 |
CN102930558A (zh) * | 2012-10-18 | 2013-02-13 | 中国电子科技集团公司第二十八研究所 | 一种多特征融合的红外图像目标实时跟踪方法 |
CN103886585A (zh) * | 2014-02-18 | 2014-06-25 | 浙江大学 | 一种基于排序学习的视频跟踪方法 |
CN105279773A (zh) * | 2015-10-27 | 2016-01-27 | 杭州电子科技大学 | 一种基于tld框架的改进型视频跟踪优化方法 |
CN106651901A (zh) * | 2015-07-24 | 2017-05-10 | 株式会社理光 | 对象跟踪方法和设备 |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728404B1 (en) | 1991-09-12 | 2004-04-27 | Fuji Photo Film Co., Ltd. | Method for recognizing object images and learning method for neural networks |
US7821422B2 (en) | 2003-08-18 | 2010-10-26 | Light Vision Systems, Inc. | Traffic light signal system using radar-based target detection and tracking |
WO2006086398A2 (en) * | 2005-02-10 | 2006-08-17 | Pinc Solutions | Position-tracking system |
US7840031B2 (en) | 2007-01-12 | 2010-11-23 | International Business Machines Corporation | Tracking a range of body movement based on 3D captured image streams of a user |
KR101187901B1 (ko) * | 2007-07-03 | 2012-10-05 | 삼성테크윈 주식회사 | 지능형 감시 시스템 및 그의 제어방법 |
US8229163B2 (en) | 2007-08-22 | 2012-07-24 | American Gnc Corporation | 4D GIS based virtual reality for moving target prediction |
EP2043045B1 (de) | 2007-09-20 | 2011-09-07 | Delphi Technologies, Inc. | Verfahren zur Objektverfolgung |
US8027029B2 (en) * | 2007-11-07 | 2011-09-27 | Magna Electronics Inc. | Object detection and tracking system |
US8253801B2 (en) * | 2008-12-17 | 2012-08-28 | Sony Computer Entertainment Inc. | Correcting angle error in a tracking system |
US8761434B2 (en) * | 2008-12-17 | 2014-06-24 | Sony Computer Entertainment Inc. | Tracking system calibration by reconciling inertial data with computed acceleration of a tracked object in the three-dimensional coordinate system |
DK2389095T3 (da) | 2009-01-26 | 2014-11-17 | Tobii Technology Ab | Detektering af blikpunkt hjulpet af optiske referencesignaler |
JP4709943B2 (ja) * | 2009-02-19 | 2011-06-29 | パナソニック株式会社 | 物体位置推定システム、物体位置推定装置、物体位置推定方法、及び物体位置推定プログラム |
US20100208063A1 (en) | 2009-02-19 | 2010-08-19 | Panasonic Corporation | System and methods for improving accuracy and robustness of abnormal behavior detection |
EP2419881B1 (en) * | 2009-04-15 | 2016-03-30 | Toyota Jidosha Kabushiki Kaisha | Object detection device |
US8953029B2 (en) | 2009-05-08 | 2015-02-10 | Sony Computer Entertainment America Llc | Portable device interaction via motion sensitive controller |
KR101651568B1 (ko) | 2009-10-27 | 2016-09-06 | 삼성전자주식회사 | 3차원 공간 인터페이스 장치 및 방법 |
JP5591613B2 (ja) | 2010-07-27 | 2014-09-17 | 株式会社小糸製作所 | 車両検出装置 |
JP5434861B2 (ja) | 2010-09-17 | 2014-03-05 | 株式会社デンソー | 移動体検出装置及びプログラム |
US20120129544A1 (en) * | 2010-11-19 | 2012-05-24 | Illume Software, Inc. | Systems and methods for selectively invoking positioning systems for mobile device control applications using accelerometer measurements |
US10330491B2 (en) * | 2011-10-10 | 2019-06-25 | Texas Instruments Incorporated | Robust step detection using low cost MEMS accelerometer in mobile applications, and processing methods, apparatus and systems |
JP5978592B2 (ja) | 2011-10-26 | 2016-08-24 | ソニー株式会社 | ヘッド・マウント・ディスプレイ及び表示制御方法 |
ITFI20110266A1 (it) | 2011-12-09 | 2013-06-10 | Selex Galileo Spa | "sistema di mira" |
US9230171B2 (en) | 2012-01-06 | 2016-01-05 | Google Inc. | Object outlining to initiate a visual search |
WO2013170362A1 (en) * | 2012-05-14 | 2013-11-21 | In Situ Media Corporation | Method and system of identifying non-distinctive images/objects in a digital video and tracking such images/objects using temporal and spatial queues |
JP5944781B2 (ja) | 2012-07-31 | 2016-07-05 | 株式会社デンソーアイティーラボラトリ | 移動体認識システム、移動体認識プログラム、及び移動体認識方法 |
US9443414B2 (en) * | 2012-08-07 | 2016-09-13 | Microsoft Technology Licensing, Llc | Object tracking |
JP6066676B2 (ja) | 2012-11-06 | 2017-01-25 | 株式会社ソニー・インタラクティブエンタテインメント | ヘッドマウントディスプレイおよび映像提示システム |
US9292936B2 (en) * | 2013-01-09 | 2016-03-22 | Omiimii Ltd. | Method and apparatus for determining location |
KR20140102443A (ko) | 2013-02-14 | 2014-08-22 | 삼성전자주식회사 | 카메라를 이용한 물체 추적 방법 및 이를 위한 카메라 시스템 |
SG11201507077PA (en) * | 2013-03-08 | 2015-10-29 | Denso Corp | Apparatus and method of monitoring moving objects |
US9866900B2 (en) * | 2013-03-12 | 2018-01-09 | The Nielsen Company (Us), Llc | Methods, apparatus and articles of manufacture to detect shapes |
US9401048B2 (en) | 2013-03-15 | 2016-07-26 | Qualcomm Incorporated | Methods and apparatus for augmented reality target detection |
CN103278177B (zh) | 2013-04-27 | 2015-07-01 | 中国人民解放军国防科学技术大学 | 基于摄像组网测量的惯性测量组合标定方法 |
US10254855B2 (en) * | 2013-06-04 | 2019-04-09 | Wen-Chieh Geoffrey Lee | High resolution and high sensitivity three-dimensional (3D) cursor maneuvering device |
US9479709B2 (en) * | 2013-10-10 | 2016-10-25 | Nvidia Corporation | Method and apparatus for long term image exposure with image stabilization on a mobile device |
WO2015080696A1 (en) * | 2013-11-26 | 2015-06-04 | Rinand Solutions Llc | Self-calibration of force sensors and inertial compensation |
US9524580B2 (en) | 2014-01-06 | 2016-12-20 | Oculus Vr, Llc | Calibration of virtual reality systems |
CA2944725C (en) * | 2014-04-04 | 2022-11-08 | Jiajun Liu | Position tracking method and apparatus |
US9652031B1 (en) * | 2014-06-17 | 2017-05-16 | Amazon Technologies, Inc. | Trust shifting for user position detection |
KR101638550B1 (ko) | 2014-06-25 | 2016-07-12 | 경북대학교 산학협력단 | 혼합현실을 이용한 가상현실 시스템 및 그 구현방법 |
JP6331785B2 (ja) | 2014-07-08 | 2018-05-30 | 日本電気株式会社 | 物体追跡装置、物体追跡方法および物体追跡プログラム |
JP2016045874A (ja) | 2014-08-26 | 2016-04-04 | ソニー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US20160196268A1 (en) * | 2015-01-07 | 2016-07-07 | International Business Machines Corporation | Prioritizing video surveillance media |
WO2016126672A1 (en) | 2015-02-02 | 2016-08-11 | Brian Mullins | Head mounted display calibration |
US20160255271A1 (en) | 2015-02-27 | 2016-09-01 | International Business Machines Corporation | Interactive surveillance overlay |
US10191553B2 (en) * | 2015-03-12 | 2019-01-29 | Dell Products, L.P. | User interaction with information handling systems using physical objects |
JP6122459B2 (ja) | 2015-03-31 | 2017-04-26 | 株式会社コロプラ | ポジショントラッキング領域表示システム、及び方法 |
JP6481520B2 (ja) | 2015-06-05 | 2019-03-13 | トヨタ自動車株式会社 | 車両の衝突回避支援装置 |
US10146414B2 (en) | 2015-06-09 | 2018-12-04 | Pearson Education, Inc. | Augmented physical and virtual manipulatives |
US10191561B2 (en) | 2015-06-15 | 2019-01-29 | Facebook Technologies, Llc | Tracking controllers of a virtual reality system |
US20170153760A1 (en) * | 2015-12-01 | 2017-06-01 | Apple Inc. | Gain-based error tracking for force sensing |
US20170186291A1 (en) * | 2015-12-24 | 2017-06-29 | Jakub Wenus | Techniques for object acquisition and tracking |
JP6074525B1 (ja) | 2016-02-12 | 2017-02-01 | 株式会社コロプラ | 仮想空間における視界領域調整方法、およびプログラム |
US10078377B2 (en) * | 2016-06-09 | 2018-09-18 | Microsoft Technology Licensing, Llc | Six DOF mixed reality input by fusing inertial handheld controller with hand tracking |
US20180338120A1 (en) * | 2017-05-22 | 2018-11-22 | Amazon Technologies, Inc. | Intelligent event summary, notifications, and video presentation for audio/video recording and communication devices |
US10304207B2 (en) * | 2017-07-07 | 2019-05-28 | Samsung Electronics Co., Ltd. | System and method for optical tracking |
US10839257B2 (en) * | 2017-08-30 | 2020-11-17 | Qualcomm Incorporated | Prioritizing objects for object recognition |
-
2017
- 2017-11-07 US US15/805,750 patent/US10304207B2/en active Active
- 2017-12-26 US US15/854,620 patent/US10565724B2/en active Active
-
2018
- 2018-01-19 WO PCT/KR2018/000892 patent/WO2019009486A1/en unknown
- 2018-01-19 CN CN201880042318.2A patent/CN110785775B/zh active Active
- 2018-01-19 EP EP18827734.7A patent/EP3635627B1/en active Active
- 2018-07-06 WO PCT/KR2018/007719 patent/WO2019009676A1/en unknown
- 2018-07-06 EP EP18827748.7A patent/EP3635685B1/en active Active
- 2018-07-06 CN CN201880044568.XA patent/CN110832546B/zh active Active
-
2019
- 2019-04-23 US US16/392,563 patent/US11062474B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05303624A (ja) * | 1992-02-06 | 1993-11-16 | Fujitsu Ltd | 画像追尾装置 |
JP2003090878A (ja) * | 2001-09-18 | 2003-03-28 | Mitsubishi Electric Corp | 目標相関装置 |
CN101142593A (zh) * | 2005-03-17 | 2008-03-12 | 英国电讯有限公司 | 跟踪视频序列中的目标的方法 |
CN101401426A (zh) * | 2006-03-15 | 2009-04-01 | 欧姆龙株式会社 | 跟踪装置、跟踪方法、跟踪装置的控制程序以及计算机可读取的记录媒体 |
WO2008008046A1 (en) * | 2006-07-11 | 2008-01-17 | Agency For Science, Technology And Research | Method and system for multi-object tracking |
CN102356398A (zh) * | 2009-02-02 | 2012-02-15 | 视力移动技术有限公司 | 用于视频流中的对象识别和跟踪的系统和方法 |
CN102598057A (zh) * | 2009-08-23 | 2012-07-18 | Iad信息自动化及数据处理有限公司 | 自动对象识别、然后根据对象形状进行对象跟踪的方法和系统 |
JP2011196940A (ja) * | 2010-03-23 | 2011-10-06 | Mitsubishi Electric Corp | 追尾装置 |
CN102542789A (zh) * | 2010-12-28 | 2012-07-04 | 财团法人工业技术研究院 | 行车路径重建方法、系统及计算机程序产品 |
CN102930558A (zh) * | 2012-10-18 | 2013-02-13 | 中国电子科技集团公司第二十八研究所 | 一种多特征融合的红外图像目标实时跟踪方法 |
CN103886585A (zh) * | 2014-02-18 | 2014-06-25 | 浙江大学 | 一种基于排序学习的视频跟踪方法 |
CN106651901A (zh) * | 2015-07-24 | 2017-05-10 | 株式会社理光 | 对象跟踪方法和设备 |
CN105279773A (zh) * | 2015-10-27 | 2016-01-27 | 杭州电子科技大学 | 一种基于tld框架的改进型视频跟踪优化方法 |
Non-Patent Citations (2)
Title |
---|
Self-Deployment Algorithm of Mobile Sensor Network based on Connection Priority Criteria;Junji Takahashi等;《 2007 International Symposium on Micro-NanoMechatronics and Human Science》;564-569页 * |
刘先省,周林,赵雅靓,王红哲.基于目标优先级加权的一种传感器管理算法.河南大学学报(自然科学版).2003,(第04期),45-48. * |
Also Published As
Publication number | Publication date |
---|---|
EP3635627A1 (en) | 2020-04-15 |
EP3635627B1 (en) | 2023-04-19 |
US10304207B2 (en) | 2019-05-28 |
CN110832546A (zh) | 2020-02-21 |
US20190012803A1 (en) | 2019-01-10 |
US10565724B2 (en) | 2020-02-18 |
CN110832546B (zh) | 2024-03-08 |
US20190251704A1 (en) | 2019-08-15 |
EP3635627A4 (en) | 2020-06-03 |
US20190012792A1 (en) | 2019-01-10 |
WO2019009676A1 (en) | 2019-01-10 |
EP3635685A4 (en) | 2020-06-03 |
EP3635685B1 (en) | 2022-12-07 |
CN110785775A (zh) | 2020-02-11 |
WO2019009486A1 (en) | 2019-01-10 |
EP3635685A1 (en) | 2020-04-15 |
US11062474B2 (en) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110785775B (zh) | 用于光学跟踪的系统和方法 | |
US20190057299A1 (en) | System for building a map and subsequent localization | |
US10650040B2 (en) | Object recognition of feature-sparse or texture-limited subject matter | |
CN108234918B (zh) | 具有隐私意识的室内无人机的勘探和通讯架构方法和系统 | |
US20240039752A1 (en) | FACILITATING PORTABLE, REUSABLE, AND SHARABLE INTERNET OF THINGS (IoT)-BASED SERVICES AND RESOURCES | |
US9928605B2 (en) | Real-time cascaded object recognition | |
US11087167B2 (en) | First-person camera based visual context aware system | |
KR102643027B1 (ko) | 전자 장치, 그의 제어 방법 | |
US10027883B1 (en) | Primary user selection for head tracking | |
US8918208B1 (en) | Projection of interactive map data | |
EP3598770A1 (en) | Electronic device for determining emotion of user and method for controlling same | |
US9751212B1 (en) | Adapting object handover from robot to human using perceptual affordances | |
US11074451B2 (en) | Environment-based application presentation | |
US9671873B2 (en) | Device interaction with spatially aware gestures | |
US20200171667A1 (en) | Vision-based robot control system | |
US9477302B2 (en) | System and method for programing devices within world space volumes | |
US20230215181A1 (en) | Trigger Regions | |
KR20240032779A (ko) | 전자 장치, 그의 제어 방법 | |
US20220277162A1 (en) | Optical person recognition techniques for social distancing | |
US20200264769A1 (en) | System, method and devices for touch, user and object sensing for iot experiences | |
Rosa et al. | Semantic place understanding for human–robot coexistence—toward intelligent workplaces | |
US9507429B1 (en) | Obscure cameras as input | |
US11743574B2 (en) | System and method for AI enhanced shutter button user interface | |
Town | Multi-sensory and multi-modal fusion for sentient computing | |
US10025308B1 (en) | System and method to obtain and use attribute data |
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 |