CN102449641A - 用于对象跟踪的颜色校准 - Google Patents

用于对象跟踪的颜色校准 Download PDF

Info

Publication number
CN102449641A
CN102449641A CN2010800240043A CN201080024004A CN102449641A CN 102449641 A CN102449641 A CN 102449641A CN 2010800240043 A CN2010800240043 A CN 2010800240043A CN 201080024004 A CN201080024004 A CN 201080024004A CN 102449641 A CN102449641 A CN 102449641A
Authority
CN
China
Prior art keywords
color
colors
image
optical sensor
images
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
CN2010800240043A
Other languages
English (en)
Inventor
A.米海罗夫
R.L.马克斯
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of CN102449641A publication Critical patent/CN102449641A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/22Setup operations, e.g. calibration, key configuration or button assignment
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/74Circuits for processing colour signals for obtaining special effects
    • H04N9/75Chroma key
    • 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/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/843Special adaptations for executing a specific game genre or game mode involving concurrently two or more players on the same game device, e.g. requiring the use of a plurality of controllers or of a specific view of game data for each player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1018Calibration; Key and button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1043Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being characterized by constructional details
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • A63F2300/1093Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/301Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device using an additional display connected to the game console, e.g. on the controller
    • 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/10024Color image

Abstract

为了校准跟踪系统,计算设备在光学传感器拍摄的一个或多个图像中定位对象。计算设备确定包括在图像中的环境颜色,环境颜色是在一个或多个图像中不由对象发射的颜色。计算设备确定如下一个或多个可跟踪颜色,如果由所述对象呈现,则将使计算设备能够跟踪对象。

Description

用于对象跟踪的颜色校准
相关申请
本专利申请根据35 U.S.C. §119(e)要求在2009年5月30日提交的美国临时申请第61/217,393号的优先权,其内容通过引用合并于此。
技术领域
本发明总体上涉及校准跟踪系统,更具体地,涉及校准跟踪系统观察到的对象颜色。
背景技术
计算机游戏业界中增长的趋势是开发增加用户和游戏系统之间的交互的游戏。一种实现较丰富的交互体验的方式是使用由游戏系统跟踪其移动以便跟踪游戏者的移动并且使用这些移动作为游戏的输入的游戏控制器。一般说来,姿势输入指的是使诸如计算系统、视频游戏控制台、智能工具等的电子设备对由摄像机或跟踪对象的其他光学传感器捕获的某些姿势做出反应。
为了产生用户的位置和运动的可靠的测量,需要校准游戏系统。每次使用游戏系统时,这种校准通常是必要的。在传统系统中,控制器不改变颜色,也不基于控制器的颜色来跟踪控制器的位置。传统的游戏系统中的校准也不包括校准控制器的颜色。
附图说明
通过参考结合附图进行的下面的描述可以最佳地理解本发明,在附图中:
图1图示了根据本发明的一个实施例的跟踪系统的透视图;
图2A图示了根据本发明的一个实施例的具有球部分的游戏控制器;
图2B图示了根据本发明的另一实施例的具有球部分的另一游戏控制器;
图3图示了根据本发明的一个实施例的布置在用户上的多个运动捕获球;
图4图示了根据本发明的一个实施例的跟踪系统的框图;
图5示出了根据本发明的一个实施例的多游戏者环境的示意图;
图6A图示了校准跟踪系统的方法的一个实施例的流程图;
图6B图示了校准跟踪系统的方法的另一实施例的流程图;
图7A图示了校准跟踪系统的方法的又一实施例的流程图;
图7B图示了校准跟踪系统的方法的再一实施例的流程图;
图8A图示了部分地重新校准跟踪系统的方法的一个实施例的流程图;
图8B图示了在改变光学传感器的曝光设置时重新校准跟踪系统的方法的一个实施例的流程图;
图8C图示了映射对象颜色变化和/或光学传感器渐晕的方法的一个实施例的流程图;
图9A-9E图示了在执行校准和/或颜色重置之后实现的校准结果;
图10图示了根据本发明的一个实施例的可用于确定控制器位置的硬件和用户接口;以及
图11图示了根据本发明的一个实施例的可用于处理指令的附加硬件。
具体实施方式
这里详细描述了一种用于校准在游戏系统或其他计算设备中使用的跟踪系统的方法和装置。在一个实施例中,为了校准跟踪系统,计算设备在光学传感器拍摄的一个或多个图像中定位对象。计算设备确定图像中包括的环境颜色。环境颜色是一个或多个图像中的不是由对象发射的颜色。计算设备然后确定一个或多个可跟踪颜色,如果由对象呈现(assume),则其将使计算设备能够跟踪对象。
在一个实施例中,定位对象包括使对象依次呈现多个预定义的颜色。一个或多个图像可以包括针对多个预定义的颜色中的每个颜色的单独图像。然后可以将在不同图像中具有不同颜色的像素组识别为对象。在一个实施例中,为了确定环境颜色,处理设备使对象不发射光,并且在对象不发射光时拍摄图像中的一个。然后可以从来自对象发射光时拍摄的图像的对象的颜色减去对象不发射光时拍摄的图像中的对象的颜色以识别对象输出的真实颜色。计算设备然后可以使用真实颜色输出信息和环境颜色信息来确定哪些颜色是可跟踪颜色。这可以在实际上没有使对象呈现测试颜色的情况下执行,以确定哪些是可跟踪颜色。
在下面的描述中,阐述了许多细节。然而,对于本领域的技术人员显然的是,本发明可以在没有这些特定细节的情况下实施。在一些实例中,以框图形式示出而非详细示出公知的结构和设备,以便于避免使本发明不清楚。
下面的详细描述的一些部分在针对计算机存储器中的数据位的操作的算法和符号表示方面呈现。这些算法描述和表示是数据处理领域中的技术人员用于最有效地将其工作实质传达给本领域其他技术人员的手段。算法在这里并且通常被构思为导致期望的结果的自洽的步骤序列。这些步骤是需要物理量的物理操纵的步骤。通常,尽管不是必须的,这些量采取能够被存储、传送、组合、比较并且以其他形式操纵的电或磁信号的的形式。已证实,主要出于通常使用的原因,将这些信号称为位、值、元素、符号、字符、术语、数字等有时是便利的。
然而,应当知道,所有这些和相似的术语将与适当的物理量相关联,并且仅是应用于这些量的方便标志。除非特别阐述,否则如根据以下讨论而是明显的,应认识到,在贯穿说明书,利用诸如“定位”、“确定”、“跟踪”、“识别”、“排除”等的术语的讨论指的是计算机系统或者相似的电子计算设备的动作和处理,其操纵计算机系统的寄存器和存储器中的被表示为物理(例如,电子)量的数据并且将该数据变换为计算机系统存储器或寄存器或者其他这样的信息存储设备中的相似地被表示为物理量的其他数据。
本发明还涉及一种用于执行这里的操作的装置。该装置可以被特殊构想用于所需的目的,或者其可以包括由计算机中存储的计算机程序有选择地激活或者重新配置的通用计算机。在一个实施例中,用于执行这里的操作的装置包括游戏控制台(例如,Sony Playstation®、Nintendo Wii®、Microsoft Xbox®等)。计算机程序可以存储在计算机可读存储介质中,诸如但不限于,任何类型的盘,包括软盘、光盘(例如,紧凑盘只读存储器(CD-ROM)、数字视频盘(DVD)、Blu-Ray Discs™等)、以及磁光盘、只读存储器(ROM)、随机访问存储器(RAM)、EPROM、EEPROM、磁或光卡、或者用于存储电子指令的任何类型的合适介质。
图1图示了根据本发明的一个实施例的跟踪系统100的透视图。跟踪系统100包括光学传感器105、由光学传感器105跟踪的对象110、以及处理由光学传感器105和由对象接收的数据的计算设备115。在一个实施例中,跟踪系统100是游戏系统的部件。替代地,跟踪系统100可以是运动捕获系统或其他计算系统的部件。
光学传感器105是测量对象110在二维或三维空间中相对于光学传感器105的位置的传感器。光学传感器105拍摄的位置数据(例如,图像)处于可由图像平面和与图像平面正交的向量限定的光学传感器105的参考帧150中。参考帧在这里被限定为其中测量对象的位置、取向和其他性质的坐标系统。术语参考帧和坐标系统在本申请通篇中可互换地使用。
如所示出的,光学传感器105位于电视机120上面,具有相对于地板150的负斜度(pitch)145。斜度145是作为光学传感器105的图像平面中光学传感器的参考帧150的水平轴和垂直于重力135的平面之间的角度。
在一个实施例中,光学传感器105是标准的摄像机。在此类实施例中,光学传感器105可以基于识别对象110的大小的预定义的信息和/或基于识别光学传感器105的视场(FOV)125的预定义的信息来捕获深度信息(光学传感器105和对象110之间的距离130)。视场125是由光学传感器105成像的给定场景的角度范围(angular extent)。视场限定了由相机透镜引起的图像的失真(例如,变焦量)。随着对象110从光学传感器105移动得更远(就是说,随着距离130增加),如光学传感器105捕获的对象110的图像变得较小。因此,如果光学传感器105的视场125已知,则基于跟踪对象110的图像大小(例如,按像素测量)与跟踪对象110的已知实际大小的比,可以确定对象110至光学传感器105的距离130。
在另一实施例中,光学传感器105是Z相机(能够捕获具有深度信息的视频的单透镜摄像机)或者立体相机(可以捕获三维图像的具有2个或更多透镜的摄像机)。在此类实施例中,光学传感器105可以在没有预先配置有识别对象110的大小的信息的情况下捕获深度信息。
对象110是包括诸如红色-绿色-蓝色发光二极管(RGB LED)的多颜色光发射器的电子设备。多颜色光发射器可以被制造为发射具有变化的色调和亮度的光。在一个实施例中,对象110是手持电子设备或者手持电子设备的一部分,该手持电子设备诸如游戏控制器,如图2A和2B中所示。在另一实施例中,对象110是运动捕获((运动捕获)mocap)球,如图2C中所示。对象110可以具有任意形状,诸如正方形、球形、三角形或者更复杂的形状。在一个实施例中,对象110具有球形形状。
图2A图示了根据本发明的一个实施例的具有球部分205的游戏控制器200。图2B图示了根据本发明的另一实施例的具有球部分215的另一游戏控制器210。在某些实施例中,球部分205和215对应于图1的对象110。
在一个实施例中,球部分205、215可以被点亮为呈现许多不同的颜色。在一个实施例中,诸如RGB LED的多颜色光发射器布置在球部分205、215内部。尽管图示了球形球部分,但是球部分205、215可以具有用于视觉跟踪目的的其他形状,诸如部分球形、不完美球形、伸长球(如美式足球或橄榄球中使用的球)、类立方体形等等。在一个实施例中,球部分205、215的直径是4 cm。然而,其他较大或较小的尺寸也是可能的。较大的尺寸有助于视觉识别。例如,具有5 cm直径的球较之4 cm球可以多提供约55%的像素用于图像识别。
图3图示了根据本发明的一个实施例的布置在用户325上的多个运动捕获球320。运动捕获球320是用户325佩戴在每个关节附近以使得光学传感器能够基于运动捕获球320之间的位置或角度来捕获并且识别用户的运动的标记。在一个实施例中,运动捕获球320附接到运动捕获套件。在一个实施例中,每个运动捕获球320包括多颜色光发射器。响应于接收到的命令,每个运动捕获球320可以呈现所分配的颜色。在一个实施例中,所有运动捕获球被分配相同颜色(例如,特定的绿色阴影)。替代地,不同的运动捕获球可以被分配不同的颜色,其可以是相同颜色的不同阴影、不同的原色等等。
返回图1,对象110和/或光学传感器105通过有线和/或无线连接与计算设备115连接。有线连接的示例包括经由IEEE 1394(火线)线缆、以太网线缆和通用串行总线(USB)线缆等进行的连接。无线连接的示例包括无线保真(WiFi™)连接、Bluetooth®连接、Zigbee®连接等。在图示实施例中,光学传感器105经由有线连接与计算设备115连接。
计算设备115可以是视频游戏控制台、个人计算机、游戏亭或其他计算装置。计算设备115可以执行游戏或者可以响应来自对象110的用户输入的其他应用。对象110被跟踪,并且对象110的运动提供用户输入。
诸如房间照明、各种颜色的背景对象的存在、用户着装、天时等的环境条件影响可跟踪的颜色。此外,诸如亮度和色调的颜色性质可以在对象之间变化。此外,单个对象的颜色可以跨对象的表面变化。因此,在跟踪系统100可以使用对象颜色准确地跟踪对象110之前,需要校准跟踪系统100。校准跟踪系统100包括确定哪些颜色是可跟踪颜色。可跟踪颜色是如下颜色,如果该颜色被对象110呈现,则将使得对象能够被跟踪。在一个实施例中,如果颜色不包括在光学传感器105的视场125中(或者光学传感器105的视场125中包括的该颜色小于阈值量),则该颜色是可跟踪颜色。校准跟踪系统100还可以包括当球正在发射某些颜色时确定将寻找哪些颜色。例如,如果对象110正在发射红色光,则计算设备115可以寻找范围从橘色到深红色的颜色。颜色校准还可以包括确定环境照明条件(例如,环境颜色)并且对其进行补偿。在下文中参考图6A-9E更详细地讨论了颜色较准。
图4图示了根据本发明的一个实施例的跟踪系统400的框图。跟踪系统400包括与光学传感器405物理连接的计算设备415。在一个实施例中,计算设备415还与光学传感器405跟踪的对象410无线连接。应当注意,计算设备415可以与光学传感器405无线连接和/或与对象410物理连接。在一个实施例中,跟踪系统400对应于图1的跟踪系统100。
对象410包括多颜色光发射器420。在一个实施例中,多颜色光发射器420是RGB LED。替代地,多颜色光发射器420可以包括单独的红色LED、绿色LED和蓝色LED。多颜色光发射器420还可以包括其他类型的有色光源,其优选地可以发射全范围的颜色。
光学传感器405可以是摄像机、Z相机、立体相机或者能够捕获图像的其他设备。随着对象410的移动,光学传感器405捕获包括对象410的图像。光学传感器405将图像向计算设备415传送图像。在一个实施例中,在获得图像数据时,光学传感器405实时地将图像数据流式传送到计算设备415。
计算设备415可以是视频游戏控制台、个人计算机、游戏亭等。计算设备415包括通过寻找捕获图像中包括的特定颜色来跟踪对象410的对象跟踪器440。对象跟踪器440可以进一步使用特定颜色执行边缘分析,并且根据边缘分析确定对象410的形状。在使用边缘分析以及颜色跟踪时,对象跟踪器440可以具有增加的准确性和精度。
在一个实施例中,当光学传感器405拍摄图像并且对象跟踪器440跟踪对象410时,对象410的改变的位置被用作针对计算设备415的输入以控制游戏、计算机应用等。例如,对象410的改变的位置可以用于控制第一视角或第三视角游戏中的角色,在屏幕上移动鼠标光标等。在另一实施例中,从对象410接收到的惯性数据被用作针对计算设备415的输入。替代地,惯性数据可以与光学传感器405获得的位置数据组合以提供用于计算设备415的精确的和准确的输入。
在一个实施例中,计算设备415包括校准逻辑432,其基于对象410和其余接收到的图像(例如,背景对象引起的环境颜色、环境照明等)的颜色数据来校准跟踪系统400。校准逻辑432可以是一个或多个硬件逻辑电路。替代地,校准逻辑可以是由处理设备执行的逻辑(例如,单元处理器、中央处理设备或者其他处理设备)。校准逻辑432还可以包括硬件逻辑电路和由处理设备执行的软件逻辑的组合。
在一个实施例中,校准逻辑432包括对象定位器436,其进行校准期间的对象410在何处的初始确定。在对象通过颜色(例如,原色)序列循环时,校准逻辑432可以使光学传感器拍摄多个图像。对象定位器436可以确定图像中的哪些像素在图像之间变化(例如,当对象410是绿色时这些像素是绿色,当对象410是蓝色时这些像素是蓝色,并且当对象410是红色时这些像素是红色)。对象定位器436然后可以将这些像素识别为表示对象。
一旦对象410已由对象定位器436定位在图像中,颜色评估器438确定图像中包括的环境颜色(不是由对象410引起的颜色,诸如背景颜色)。颜色评估器438还确定什么颜色在被对象410呈现时容易被跟踪(例如,如果由多颜色光发射器420发射),以及什么颜色将难于或者不可能被准确跟踪。颜色评估器438可以通过从检测到的由室内照明引起的对象颜色(环境颜色贡献)分离出由对象发射的检测对象颜色(对象发射的颜色)来确定可跟踪颜色的集合。颜色评估器438然后可以计算针对多种不同的颜色可能性的阈值集合,并且确定背景图像是否包括落在这些颜色阈值内的颜色。
一旦颜色评估器438确定可跟踪颜色的集合,则其可以将可跟踪颜色添加到可以存储在存储器中的可跟踪颜色数据结构442。在一个实施例中,颜色评估器438确定针对光学传感器405的特定曝光设置的可跟踪颜色的集合。颜色评估器438可以确定针对特定曝光设置下的可跟踪颜色的色调设置以及强度设置。在一个实施例中,如果光学传感器的曝光设置改变,则颜色评估器438重新计算可跟踪颜色并且更新可跟踪颜色数据结构442。在下文中参考图6A-9E更详细地讨论了颜色校准。
图5示出了根据一个实施例的多游戏者环境500的示意图,其中使用视觉信息确定游戏者持有的不同控制器的位置。在多游戏者环境500中,光学传感器508获得游戏场地518的图像,并且分析图像以获得球附接控制器C1、C2、C4和C5的位置(例如,基于背景颜色和球附接控制器的颜色)。通过分析捕获图像中的各个球的形状和大小可以估计距离dz1、dz2、dz4和dz5
在玩游戏之前,针对每个球附接控制器C1、C2、C4和C5执行校准。即使对于所有控制器而言室内照明和颜色条件可能大致相同,但是在一个实施例中,仍应针对每个控制器单独地执行校准(尽管每个控制器的校准可以同时发生)。这种单独的校准可以针对例如每个控制器中包括的多颜色光发射器(例如,RGB LED)中的变化以及每个控制器位置处的室内照明的差异而进行调整。例如,控制器C1和控制器C2在令其发射蓝色光时,可以发射略微不同的蓝色的色调和/或强度。单独的校准可以考虑此类变化。
在一个实施例中,其中将使用的每个控制器的简档已由计算设备502保存,每个控制器的单独的校准不是必需的。在这样的实施例中,可以仅使用单个控制器执行单个校准,并且可以基于被执行校准的控制器的简档与其他控制器的简档之间的差异来修改校准结果。例如,如果计算设备502知道控制器C5生成比C4浅的绿色阴影,则可以由C4执行颜色较准,并且可以修改颜色较准以应用于控制器C5
一旦控制器已被校准,则计算设备502可以使控制器(或者部分控制器)基于计算设备502上正在运行的游戏中出现的事物呈现可允许的(可跟踪的)颜色。例如,如果游戏者B在游戏中尝试抛出水咒(water spell),则控制器C4可以呈现蓝色。计算设备502通过寻找取决于引导控制器呈现的颜色的某个颜色或者颜色集合来跟踪控制器。注意,不同的控制器在玩游戏期间可以呈现不同的颜色。计算设备使用获得的坐标和距离分别产生屏幕504中的游戏者、化身(avatar)512a和512b的表示。用于良好的图像识别的典型距离是约10英尺(3m)。使用视觉识别的一个优势在于,在不必改变控制器的情况下可以将图像捕获和图像识别的改进包括在系统中。
图6A图示了校准跟踪系统的方法600的一个实施例的流程图。该方法可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(诸如处理设备上运行的指令)或者它们的组合。在一个实施例中,方法600由图1的计算设备115执行。
参考图6A,在框602中,计算设备发起可以呈现多种颜色的对象的颜色较准。在一个实施例中,每次在计算设备115上启动游戏或其他应用时发起颜色较准。替代地,每次在不活跃时段之后检测到跟踪对象的移动时可以发起颜色较准。替代地,可以在接收到校准信号时发起颜色较准。当用户按压跟踪对象中包括的特定按钮或者按钮序列时,可以由跟踪对象生成校准信号。颜色较准也可以连续执行。
在一个实施例中,计算设备在发起颜色较准时向对象发送使对象呈现(发射)预定颜色的命令。在另一实施例中,计算设备向对象发送使对象呈现颜色(例如,原色)系列的命令。在另一实施例中,要求用户在颜色较准期间使对象保持在指定位置。例如,可以在屏幕中的特定位置处显示圆形。可以要求用户移动对象直至对象在屏幕中的图像与该圆形对齐(line up)。
在框605,光学传感器拍摄一个或多个图像。如果拍摄多个图像,则可以在对象发射不同颜色时拍摄每个图像。例如,可以使对象依次地发射红色、绿色和蓝色的原色。可以在对象发射红色、绿色和蓝色时拍摄单独的图像。由于任何颜色是红色、绿色和蓝色的线性组合,因此一旦这些颜色被特征化,则可以确定所有颜色的校准信息。还可以在对象不发射任何颜色的光时拍摄一个或多个图像。在一个实施例中,以光学传感器的最小或低曝光设置来拍摄图像。较低的曝光设置减少了颜色饱和和运动模糊。光学传感器将图像发送到计算设备。在一个实施例中,计算设备接收光学传感器的二维参考帧中的图像。
在框610中,计算设备将对象定位在图像(或多个图像)中。在一个实施例中,计算设备在图像中搜索对象呈现的预定颜色。图像中的与预定颜色对应的像素(或者预定颜色的略微变化)被确定为对象。例如,洋红色是图像中不常出现的相对罕见的颜色。可以使对象转变为洋红色,并且计算设备可以在光学传感器拍摄的图像中寻找洋红色像素。在另一实施例中,计算设备假设对象处于指定位置。
在框615中,计算设备确定图像的环境颜色。在一个实施例中,环境颜色包括不与对象对应的图像像素中包括的所有颜色。在一个实施例中,计算设备生成图像的颜色直方图,并且从直方图中减去与对象对应的图像的像素。剩余的颜色表示图像的背景中包括的所有环境颜色。在一个实施例中,确定环境颜色包括当对象不发射任何光时识别表示对象的像素的颜色(其在框610中被识别)。这些颜色被确定为对象反射的环境颜色。
在框630中,计算设备确定什么颜色可用于对象(哪些颜色是可跟踪颜色)。可跟踪颜色是如下颜色,如果对象呈现这些颜色,则将易于区别于环境颜色(例如,由背景对象和环境照明引起的颜色)。计算设备可以检测色调和强度的小变化。因此,其可以能够容易地在相同颜色的不同阴影(例如,在浅蓝和深蓝之间)之间进行区分。计算设备还可以容易地在不同的颜色(例如,不同的原色)之间进行区分。可用颜色使对象能够被光学传感器和计算设备准确地跟踪。在一个实施例中,确定可用颜色包括通过颜色序列的循环,并且验证使用那些颜色将对象从背景区分处理的有多容易。这可以基于先前获得的图像以计算地执行。因此,可以不需要对象呈现任何测试颜色来确定那些颜色是否是可跟踪颜色。一旦确定了可用颜色,则该方法结束。
图6B图示了校准跟踪系统的方法686的另一实施例的流程图。该方法可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(诸如处理设备上运行的指令)或者它们的组合。在一个实施例中,方法686由图1的计算设备115执行。
参考图6B,在框687中,计算设备发起可以呈现多种颜色的对象的颜色较准。在框688,计算设备指示对象呈现(发射)指定颜色或不发射颜色。在一个实施例中,计算设备引导对象发射原色。可以指示对象以指定亮度水平发射指定颜色。在框689,光学传感器捕获包括该对象的场景的数字图像。光学传感器可以以预定的曝光设置拍摄数字图像。
光学传感器具有帧速率,并且对于每个帧捕获单独的图像。在一个实施例中,光学传感器具有60帧每秒的帧速率,在该情况下每个帧包括光学传感器在六十分之一秒内观察到的所有事物。如果对象在帧中间改变颜色,则帧将包括对象的两种颜色,并且将是不准确的。在一个实施例中,计算设备具有与光学传感器的时钟不同步的时钟。因此,在一个实施例中,使对象在至少三个帧(例如,所拍摄的三个图像)中呈现指定颜色以确保拍摄到其中对象在整个帧中具有指定颜色(或者没有颜色)的图像。因此,将存在至少一个其中对象颜色保持恒定的帧。
在另一实施例中,光学传感器的时钟可以与计算设备的时钟时间同步。因此,光学传感器的帧速率和当使对象呈现特定颜色的时间之间的定时可以由计算设备管理。因此,计算设备可以对对象的颜色定时,使得它们与光学传感器的帧对准,并且可以确保直至帧结束对象将不会改变颜色。在该实施例中,可以使对象在少至一个帧(例如,单个图像)中呈现每个采样颜色。如果光学传感器的时钟与计算设备的时钟时间同步,则较之人眼能够看到的情况,可以更快地拍摄所有图像。此外,即使对象移动时,如果其移动得不快,仍可以执行颜色较准。
当使对象呈现指定颜色时,对象的不同部分可以以不同方式与背景环境(例如,环境照明)交互。因此,对象的不同部分可以表现为具有不同的颜色。换言之,对象经常被观察为颜色集合而非单种颜色。此外,由于对不同颜色采样,因此跨越对象的颜色分布不同。例如,当对象闪现红色时,对象的范围可能是从橘色到亮红色。当对象闪现蓝色时,对象可能是从中等蓝色到深蓝色的窄颜色范围。
在框690,计算设备确定是否需要拍摄更多图像。在一个实施例中,计算设备使对象依次发射多种颜色。可以针对使对象呈现的每种颜色重复框688和689。在一个实施例中,使对象呈现每种原色(红色、绿色和蓝色)。在一个实施例中,还使对象不发射颜色,并且在对象不发射颜色时(例如,在其多颜色光发射器关闭时)拍摄该对象的一个或多个图像。
在框691,计算设备使用使对象发射不同颜色时拍摄的图像以在图像中定位对象。对于每个图像,可以识别图像中的与在拍摄图像时使对象呈现的颜色对应的像素。对于使对象发射红色时拍摄的图像,可以识别红色像素;对于使对象发射绿色时拍摄的图像,可以识别绿色像素;并且对于使对象发射蓝色时拍摄的图像,可以识别蓝色像素。这些在红色图像中是红色的、在绿色图像中是绿色的并且在蓝色图像中是蓝色的像素可以被识别为表示对象的像素,因此定位图像。
在一个实施例中,在拍摄图像时,对象应该大致静止。大致静止可以被定义为如下运动,该运动引起小于像素阈值数量的图像中位置的差异。因而,在框692,计算设备确定在拍摄图像时,对象是否正在移动。在一个实施例中,对象包括一个或多个惯性传感器,诸如加速计、磁力计和/或陀螺仪。如果惯性传感器在成像期间报告移动,则计算设备可以确定对象正在移动。此外,计算设备可以知道对象的形状。如果对象在成像期间正在移动,则对象的形状与期望对象在图像中所表现的相比可能表现为挤压(squeez)。例如,如果对象是球,则对于图像中的对象将存在1比1的高宽比。如果对象不具有1比1的高宽比(表现为挤压),则计算设备可以确定对象在成像期间正在移动。如果对象在成像期间正在移动,则方法返回到框688。如果对象在成像期间大致静止,则方法继续到框693。
将不是由对象发射的光引起的所有颜色视为环境颜色。在一个实施例中,当对象没有在发射光时,其不具有其本身的颜色。因此,将对象没有发射任何光时拍摄的图像用于确定环境颜色。对象可能基于其处于其中的照明环境而表现为具有颜色。可以通过分析在对象没有发射任何颜色(例如,对象关闭)时拍摄的图像来确定照明环境添加的颜色。由于对象的位置已知,计算设备可以确定环境的照明条件而不是对象引起的图像中对象的颜色。
在一个实施例中,基于照明环境,对象的某些部分可以具有室内照明高度影响的颜色,而对象的其他部分可以较少受到影响。在一个实施例中,计算设备识别不可靠的(例如,受到高度影响的)对象的那些部分,并且不尝试使用来自于那些部分的像素来进行跟踪或校准。例如,基于未点亮(unlit)对象(在不发射任何有色光时的对象),计算设备可以确定对象的上半部是饱和的白色。因此,对于所有颜色,将不考虑对象的上半部用于跟踪或校准。
在框693,计算设备确定对对象颜色的环境颜色贡献。在对象不发射任何光时,对应于对象的像素的任何颜色由环境颜色引起(例如,由环境照明引起)。该相同的环境颜色包括在所有其他图像的对象中。因此,计算设备可以从在其中对象正在发射光的其他图像中观察到的对象颜色中减去环境颜色,以确定对象发射的实际颜色。
在框694,计算设备从在对象发射不同颜色时拍摄的每个图像中包括的对象颜色中减去环境颜色贡献。剩余的值表示对象发射的实际颜色。
对象发射的颜色与光学传感器观察到的颜色不同。例如,当对象发射最大红色、并且没有绿色或蓝色时,光学传感器可以测量0.7红色、0.2蓝色和0.1绿色。对于使对象呈现的每个颜色(例如,原色中的每个),从光学传感器观察到的颜色值减去环境颜色。将得到的颜色值记录为对象针对特定原色设置发射的颜色。因此,确定归因于对象发射的有色光的实际颜色。环境颜色和对象颜色因此可以分离。
在一个实施例中,对象发射的颜色值中的每个是表示图像中对象的所有像素的平均。替代地,可以使用表示对象的像素的中值来计算对象发射的颜色值。在一个实施例中,将边缘检测用于识别对象的边缘,并且在确定对象发射的颜色中(例如,在计算表示对象的像素的平均或中值中)不使用位于对象边缘的像素。
在一个实施例中,通过将环境颜色与对象颜色分离,对象颜色值呈现不可知的曝光和增益。因此,可以在任何时间处改变光学传感器的曝光设置而不引入对完全重做颜色校准的需要。此外,通过独立地确定对象颜色和环境颜色,计算设备可以使用该信息来预测对象在对象的不同色调和亮度设置时以及在光学传感器的不同曝光和增益设置时将看起来怎样(对象将具有什么颜色)。曝光和增益是线性的,因此,使曝光加倍将使环境颜色和对象发射的颜色两者的颜色贡献加倍。
在框695,计算设备确定可跟踪颜色。在一个实施例中,计算设备针对多个不同颜色设置颜色值阈值。该颜色值阈值表示针对对象的特定颜色设置将与对象相关联的颜色集合。对于每个颜色值阈值,计算设备确定将落在颜色值阈值之内的背景(环境颜色)中的像素数量。如果在特定颜色设置时多于落入颜色值阈值内的最大像素量,则该颜色设置不能用于进行跟踪(不是可跟踪颜色)。在一个实施例中,如果在处于颜色值阈值之内的图像中找到多于20个像素,则与那些颜色阈值相关联的颜色设置不是可跟踪颜色。将不与场景冲突的颜色(不包括在环境颜色中的颜色,或在环境颜色中几乎不具有像素的颜色)确定为可跟踪颜色。这可能是纯统计计算。
在一个实施例中,将在对象不发射颜色时拍摄的图像用于针对与潜在颜色相关联的颜色阈值进行比较。替代地,如果屏蔽了对应于对象的像素,则可以使用在对象发射颜色时拍摄的图像之一。结果可以是标识在图像中有多少具有每个颜色的像素(针对该颜色在阈值值之内)的矩阵。该信息可以作为包括非可跟踪颜色的间隙的色调条输出。
在一个实施例中,针对360个不同颜色设置检查颜色值阈值。可以以光学传感器的特定增益设置和曝光设置检查每个颜色设置。使用的颜色阈值取决于使用的颜色空间。例如,如果使用YUV颜色空间,则设置UV阈值(表示为颜色设置的矩形)。另一方面,如果使用RGB颜色空间,则设置RGB阈值(表示为颜色值的锥形、圆形或球形)。
光学传感器具有针对每个原色的饱和度点(例如,红色饱和度、蓝色饱和度和绿色饱和度)。相对于其余场景将对象保持为非常亮是最佳的。因此,设置搜索用于识别可跟踪颜色的颜色,使得环境颜色加对象发射的颜色针对三个原色中的一个或两个在饱和度点附近。所有颜色都是最多两个原色的组合。因此,所有搜索的颜色包括最多三个原色中两个的强度值的某些组合。在一个实施例中,饱和度点是255个计数,并且设置一个或两个原色的强度,使得对象发射的颜色加环境颜色等于235个计数。
对象颜色可以由以下等式描述:
(对象颜色)*(曝光)+(环境颜色)*(曝光)=总颜色。因而,通过分离出对象发射的颜色和环境颜色,可以在通过调整对象发射的颜色来调整曝光时控制总颜色。
在一个实施例中,颜色阈值允许30%的颜色变化。因此,变化小于目标颜色的30%的任何颜色包括在特定的可跟踪颜色中。在另一实施例中,在每个颜色阈值中允许较小的颜色变化或较大的颜色变化。削减对于单个颜色设置允许的变化的优势在于可以使用更多颜色。
在一个实施例中,在确定可跟踪颜色的集合之前模糊图像。模糊可以通过由周围像素的某些组合(例如,平均)替换像素的颜色值来执行。这可以防止可能由光学传感器的卡住(stuck)像素(例如,总是检测为绿色的像素)引起的问题。这也可以防止波纹图案(如果背景对象具有高对比边缘,则其否则可能发生)。
考虑以下示例。假设图像背景包括黄色的墙、绿色的植物和红色的沙发。在该情况中,图像中的很多(例如,很多像素)可以包括黄色、绿色和红色的某些阴影。当例如使对象呈现红色的特定阴影时,则对象中的很多可以被观察到具有与沙发相同或类似的颜色。因此,可能很难在图像中的对象和沙发之间进行区别。为了防止不能准确跟踪对象的情况,不应使对象呈现颜色、使得其被观察到具有因为沙发而包括在背景中的红色的那些阴影。类似地,不应使对象因为墙和植物而呈现绿色或黄色的某些阴影。
在框696,计算设备确定是否存在足够可用的颜色。在一个实施例中,如果存在至少与存在的对象一样多的可跟踪颜色,则存在足够可用的颜色。因此,每个对象可以呈现不同颜色,并且可以独立被跟踪。替代地,可以存在可跟踪颜色阈值(例如,15个颜色),并且如果可跟踪颜色的数量在阈值之下,则可能不存在足够的可跟踪颜色。在一个实施例中,如果不存在足够的可跟踪颜色,则方法继续到框697。在另一实施例中,如果不存在足够的可跟踪颜色,则方法继续到框699。如果存在足够的可跟踪颜色,则方法前进到框698。
在框697,计算设备指示用户改变环境。在一个实施例中,计算设备可以确定光学传感器测量的氛围光的量。如果氛围光太高,则颜色可能饱和,这使得跟踪困难并且减少可跟踪颜色的量。因而,如果氛围光高,则计算设备可以指示用户关闭灯和/或闭合遮挡/窗帘。
在一个实施例中,如果背景包括太多的不同颜色,则可能不存在足够的可用颜色。具有很多不同颜色的公共背景对象是发射对象,诸如电视、熔岩灯、氖灯(neon sign)、圣诞树灯等。如果不存在足够的可用颜色,则可以指示用户关闭任何背景电视、熔岩灯等。背景也可以简单地包括很多不同有色对象,这使得限制了可跟踪颜色的可用性。在一个实施例中,向用户显示图像,该图像高亮显示被防止使用特定颜色的背景对象。可以使这些背景对象脉动,可以在使用灰阶显示其余图像时来以颜色显示这些背景图像,可以利用指向它们的箭头来显示这些背景图像等。可以通知用户如果任何识别的对象移出背景则使附加颜色可用。一旦用户改变背景(例如,通过移动对象、关闭发射对象、闭合遮蔽等),方法就返回到框688。
在框699,计算设备放松用于确定哪些颜色是可跟踪颜色的一个或多个要求。在一个实施例中,放松要求包括增加允许落在颜色阈值内的背景图像中的最大像素量。例如,针对可跟踪颜色允许的最大像素计数可以增加到40个像素、60个像素等。这可以减少跟踪质量,但是增加可用可跟踪颜色的数量。
在框698,计算设备向对象分配特定可跟踪颜色并且开始跟踪。分配给对象的颜色可以基于活跃的游戏或其他应用。在一个实施例中,计算设备向游戏或应用通知可用的可跟踪颜色,并且游戏/应用可以动态地选择任何可跟踪颜色。替代地,可以识别将提供最佳跟踪的颜色,并且可以使对象呈现该颜色。在一个实施例中,将提供最佳跟踪的颜色是与任何环境颜色最不同的颜色。在一个实施例中,计算设备动态地改变对象的颜色以确保对象具有最容易跟踪的颜色。在一个实施例中,计算设备将在处于特定颜色区域内的颜色之间自动地改变对象。例如,如果对象是红颜色,则对象将在可跟踪红色之间自动地切换以维持最佳的跟踪颜色。此外,如果在任何点处丢失对象的位置,则可以使对象发射一个新的可跟踪颜色。
在一个实施例中,其中光学传感器的时钟不与计算设备的时钟时间同步,校准花费约四分之一秒。在另一实施例中,校准花费少于四分之一秒(例如,16分之一秒)。例如可以在使用时间同步时钟时执行此类快速校准。
图7A图示了校准跟踪系统的方法750的又一实施例的流程图。该方法可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(诸如处理设备上运行的指令)或者它们的组合。在一个实施例中,方法750由图1的计算设备115执行。
参考图7A,在框755,计算设备发起对可以呈现多个颜色的对象的颜色校准。在框760,光学传感器拍摄第一图像。在禁用对象的多颜色光发射器时拍摄第一图像。光学传感器向计算设备发送图像。
在框765,计算设备确定图像的背景颜色。在一个实施例中,在对象不发射任何有色光时其不具有任何颜色。因而,图像中的所有颜色都来自于背景。
在框770,计算设备使得对象呈现不在背景中的颜色。例如,如果背景是蓝色的,则可以使对象发射红色光。在框775,光学传感器拍摄第二图像,并且向计算设备发送第二图像。在框780,计算设备通过在图像中识别对应于对象正在发射的颜色(或颜色的略微变化)的像素来在图像中定位图像。
在框785,计算设备确定什么颜色可用于对象。在一个实施例中,确定可用颜色包括通过颜色序列来循环对象,并且使用那些颜色来验证将对象从背景区分出来的容易程度。
一旦确定了可用颜色,则方法结束。
图7B图示了校准跟踪系统的方法786的又一实施例的流程图。该方法可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(诸如处理设备上运行的指令)或者它们的组合。在一个实施例中,方法786由图1的计算设备115执行。
参考图7B,在框787,计算设备发起对可以呈现多个颜色的对象的颜色校准。在一个实施例中,发起颜色校准包括使对象暂时呈现一个或多个颜色,以通过颜色序列循环、重复打开和关闭、或执行使得容易识别光学传感器拍摄的一个或多个图像中的对象的另外的一个或多个动作。
在框788,计算设备确定一个或多个图像中的对象位置。对象怎样定位取决于在发起颜色校准时采取的一个或多个什么动作。例如,如果对象呈现特定颜色,则定位对象包括在图像中识别对应于该特定颜色的那些像素。如果对象循环的开和关,则可以将以类似方式在图像之间改变的像素组识别为表示对象。也可以使用用于定位对象的其他技术。
在框789,使对象呈现预定义颜色。在对象已经呈现预定义颜色时,拍摄光学传感器视场中每个事物的一个或多个图像。
在框790,计算设备确定在对象呈现预定义颜色时观察到的对象的颜色集合。通过由光学传感器拍摄一个或多个图像并且分析对于已知用于表示对象的像素的颜色来进行该确定。计算设备针对预定颜色设置颜色值阈值,使得表示对象的所有像素符合颜色阈值。
在框791,计算设备确定是否存在仍需要采样的任何附加的预定义颜色。如果存在剩余的附加预定义颜色,则方法针对剩余颜色重复框789和790。如果不存在附加的预定义颜色,则方法继续到框792。在一个实施例中,预定义颜色包括三个原色(例如,红色、绿色和蓝色)。在另一实施例中,预定义颜色包括三个原色和三个间色(secondary color)(例如,黄色、青绿色和洋红色)。替代地,预定义颜色可以包括三个原色和多于三个的间色,或三个原色、三个间色和一个或多个附加色(例如,三重色)。
在框792,计算设备使用采样颜色来对如果对象呈现其他颜色则将由光学传感器观察到的附加颜色集合进行插值。例如,如果在对象是红色时识别了观察到的颜色的第一集合,并且在对象是绿色时识别了观察到的颜色的第二集合,则如果对象将呈现黄颜色则可以对第三颜色集合进行插值。可以基于不同颜色色调和/或强度之间的已知关系来对附加颜色进行插值。对于每个经插值的颜色集合,确定颜色阈值。采样的颜色越多,则插值变得越准确。
在框793,对于每个预定义颜色和对象可能呈现的每个其他颜色,计算设备确定与(测量的或插值的)颜色集合相关联的阈值量是否包括在图像的背景中。
在框794,计算设备排除那些预定义颜色和使光学传感器观察到包括在背景的很多中的颜色的其他颜色(例如,超过阈值的颜色)。排除意味着计算设备将不引导(或否则允许)对象呈现这些颜色。排除可以是从可用的可跟踪颜色的列表或表格中排除。通常,更多的颜色将在暗照明条件(例如,当背景主要是黑的时)中可用。方法继而结束。
应该注意,在一个实施例中的计算设备可以在几乎对于人眼不可察觉的颜色阴影之间进行区别。因此,即使利用绿色的不同阴影填充背景,通常仍将存在对象可以呈现的某些绿色阴影,并且仍旧可被跟踪。
一旦已经发生校准,就可以通过在图像内搜索具有特定颜色集合的像素组来跟踪对象。在一个实施例中,可以在跟踪期间执行边缘变换,以验证对象的形状。如果对象的形状不如期望的那样,则可以执行再校准。
方法600、686、750和786实现的校准通常将保持准确,只要照明条件保持恒定并且背景图像不改变。然而,如果室内照明改变(例如,由于太阳下山,或如果灯被打开或关闭),或如果背景改变(例如,如果新人现在在光学传感器的视野中),则校准可能不再准确。这可能使得很难跟踪对象。
在一个实施例中,在禁用光学传感器的伽马提升(gamma boost)设置时执行方法600、686、750和786。在其他实施例中,光学传感器拍摄的图像是原始图像。
偶尔,照明条件可以根据对象的位置而改变。例如,可以在初始执行校准时在天窗下持有对象,并且在跟踪对象时可以周期性地从天窗移走对象。在此类情况中,计算设备可以执行针对对象的多个校准,并且基于在图像中的何处检测到对象来确定哪个校准应用于对象。例如,可以在聚光灯中进行第一校准,并且可以在聚光灯之外进行第二校准。当在聚光灯中移动对象时,可以使用第一校准设置,并且当将对象移出聚光灯时,可以使用第二校准设置。
图8A图示了执行跟踪系统的部分再校准的方法850的一个实施例的流程图。该方法可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(诸如处理设备上运行的指令)或者它们的组合。在一个实施例中,方法850由图1的计算设备115执行。
参考图8A,在框855,计算设备发起部分再校准。在一个实施例中,部分再校准包括颜色重置或颜色更新。在一个实施例中,周期性地执行部分再校准(例如,每分钟、每30秒等)。在另一实施例中,连续地执行部分再校准。在另一实施例中,在接收用户输入时执行部分再校准。替代地,在对象的位置成为不确定的任何时候可以执行部分再校准。在一个实施例中,当光学传感器的曝光设置改变时执行部分再校准。在一个实施例中,在跟踪失败时执行部分再校准。其他动作也可以触发颜色重置。
在一个实施例中,如果检测到环境照明或背景改变,则可以执行部分再校准。例如,如果某些人将打开绿灯,则颜色校准将关闭。曾经是红色的事物现在将是红绿色,因此,处理设备正在寻找的颜色不再是对象的颜色。在一个实施例中,计算设备可以准确地预测使对象呈现特定颜色(包括对象发射的颜色和环境颜色贡献)时对象应输出什么颜色。如果检测到的对象颜色从所预测的改变,则计算设备可以检测到环境的照明条件已经改变。此外,计算设备可以存储在初始校准期间拍摄的图像(例如,在对象不发射任何颜色时拍摄的图像)。该图像可以周期性地与当前图像比较以确定背景是否已经改变。
在框860,处理设备使对象不发射颜色(例如,关闭多颜色光发射器)。在框865,光学传感器在对象不发射任何颜色时拍摄图像。在框870,处理设备使对象发射之前使用的颜色。在框875,光学传感器可以拍摄另一图像。因此,部分再校准可以包括在丢失对象位置时频闪(strobing)比三个颜色少的颜色(例如,仅一个颜色)。例如,可以使对象快速关闭和打开当前分配的可跟踪颜色的发射。
在框880,处理设备可以通过在两个拍摄图像之间识别已经改变的像素来定位对象。在框885,处理设备重新确定可跟踪颜色。重新确定可跟踪颜色包括再检查每个颜色,其可以是处理器密集任务。因而,在一个实施例中,存储图像用于执行该检查,并且框885在帧的跨度上执行。通过仅确定颜色的一部分是否是可跟踪颜色的每帧,处理器性能可以不降级。例如,如果需要检查360个颜色,并且每帧检查单个颜色(每帧持续1/60秒),则可以在6秒中检查所有颜色。
方法850的一个或多个框可以省略,这取决于将执行的部分再校准的类型和/或基于发起部分再校准的触发。例如,在一个实施例中,不执行框860-880。在此类实施例中,处理设备可以通过屏蔽对象的已知位置并且使用剩余的环境颜色来更新可跟踪颜色而连续地再计算可跟踪颜色。在另一示例中,如果在对象的位置仍旧是确定性程度很高地已知时执行部分再校准,则可以不执行框880。
图8B图示了在改变光学传感器的曝光设置时再校准跟踪系统的方法887的一个实施例的流程图。该方法可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(诸如处理设备上运行的指令)或者它们的组合。在一个实施例中,方法887由图1的计算设备115执行。
参考图8B,在框888,计算设备改变光学传感器的曝光设置。可以响应于选择新图像质量值或手工选择新曝光设置的游戏来改变曝光设置。使用增加的现实性(其显示游戏者的图像以及虚拟对象)的游戏通常需要比不使用增加的现实性的游戏长的曝光。较长的曝光提供较好的图像质量。
如果游戏不使用增加的现实性,通常使用低曝光设置。该低曝光设置减少颜色饱和度、增加跟踪质量并且减少运动模糊。利用较低曝光设置,环境颜色暗淡,并且对象相对地亮。曝光设置越高,则对象与环境颜色相比越暗淡。因此,对象发射的颜色亮度与环境亮度的比与曝光设置成反比。
在一个实施例中,将跟踪质量值用于确定曝光设置。如果跟踪质量设置为高,则曝光设置低,并且如果跟踪质量设置为低,则曝光设置高。游戏也可以设置最大曝光设置。曝光和增益(传感器增益)两者都线性改变。例如,100曝光和2增益与200曝光和1增益是相同的。增加的增益以噪声为代价提供更亮的图像。增加的曝光以运动模糊和跟踪质量为代价提供更亮的图像。最大曝光设置确定将通过曝光设置实现多少图像亮度,并且通过增益设置将实现多少。在一个实施例中,游戏可以在任何时间动态地改变这些设置。
在框889,处理设备使对象不发射颜色,并且在框890,光学传感器拍摄图像。然后,在框891,处理设备再计算可用的可跟踪颜色。在光学传感器中,每个像素可以具有0到255个计数(在8位光学传感器中)。替代地,如果使用高动态范围光学传感器(例如,16位光学传感器),则光学传感器的每个像素可以具有更多的计数。如果像素达到255个计数,则像素成为饱和的。通常使对象以如下强度发射颜色,当向环境颜色添加时,该强度将处于略微小于饱和度值的亮度(例如,在235)。这提供了缓冲器,只要对象移动通过具有较亮和较暗区域的房间、对象颜色不饱和或仅有一点饱和。
当像素成为饱和的时,颜色可能变得更亮,但是该增加的亮度将不通过像素被识别。如果一个颜色是饱和的,则颜色之间的差异改变(改变色调)。此外,对象的形状可以随着饱和的发生而改变,因为边缘检测算法可能不再适当地工作。因此,当增加曝光时,处理设备可能不能够使用之前计算的可跟踪颜色找到对象。因而,在一个实施例中,在曝光改变的任何时候确定新的可跟踪颜色。
图8C图示了映射对象的颜色变化和/或光学传感器的渐晕(vignette)的方法892的一个实施例的流程图。该方法可以由处理逻辑执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(诸如处理设备上运行的指令)或者它们的组合。在一个实施例中,方法892由图1的计算设备115执行。在一个实施例中,在房间是暗的时执行方法892。
参考图8C,在框893,计算设备引导用户在特定区域(例如,在光学传感器的视场的中央)持有对象。计算设备还引导用户沿着多个轴旋转对象。在框894,当对象旋转时光学传感器拍摄图像。
对象可能不具有针对任何颜色的颜色均匀性。例如,当使对象呈现红色时,对象的一侧可能比另一侧更红,并且当使对象呈现蓝色时,对象的一侧可能比另一侧更蓝(更亮的蓝)。例如,跨对象的表面可能存在15%的颜色变化。
可以使用诸如加速计、陀螺仪和磁力计之类的惯性传感器来跟踪对象的朝向。因此,在对象旋转时,可以识别在任何给定时刻的确切朝向。在一个实施例中,针对对象的多个朝向确定不同的亮度值。这些亮度水平和角度可以在框895处用于生成对象颜色变化的映射。可以针对每个原色生成单独的映射。
因此,在对象移动和旋转时,计算设备可以使用颜色映射来确定检测的颜色改变是由于环境照明的改变,还是由于对象本身的颜色变化。对于特定对象的映射可以不随时间改变。因此,可以存储映射,并且在对象跟踪期间稍后使用该映射。
光学传感器通常具有渐晕,其引起光学传感器的视场周边相比于光学传感器的视场中央处的图像亮度的减少。然而,每个光学传感器经历的确切渐晕是不同的。因而,在框896,处理设备引导用户以运动模式移动对象。当对象通过该模式移动时,在框897,光学传感器拍摄对象的图像。该模式可以是如下的模式,其中对象围绕光学传感器的视场的周边移动,并且其中对象移动到光学传感器的视场中央。
在框898,记录光学传感器的渐晕。使用在光学传感器的视场的不同区域处的对象亮度的差异来识别渐晕发生的位置和那些位置处的渐晕量级。由于已经计算了归因于对象朝向的颜色亮度的变化,可以在计算渐晕之前减去此类变化。光学传感器的渐晕将不改变,因此,可以存储渐晕映射。在跟踪期间,处理设备可以根据在图像中何处检测到对象来针对渐晕进行调整。
在一个实施例中,方法892应该在暗的房间中执行以确保颜色变化不是由环境照明引起的。通过执行方法892,处理设备可以使用更严厉的颜色阈值,其可以提供可跟踪颜色的更大可用性。在一个实施例中,基于对象颜色映射的不同朝向的颜色极值的联合(union),设置用于选择可跟踪颜色的颜色阈值。
图9A-9E图示了在执行方法600、686、750、786、850、887和892中的一个或多个之后实现的校准结果。
图9A包括校准结果900,该校准结果900包括图像902、颜色图906和对象颜色设置914。在暗的房间中拍摄图像902,并且图像902包括对象904。由于在暗的房间中拍摄图像,所以图像的其余部分(背景)是黑的。如图所示,对象904是红色圆或球。
颜色图906是U-V颜色空间中的二维图,并且包括针对使对象呈现的每个颜色的数据点912(例如,针对每个原色的数据点)。每个数据点912表示当对象被引导呈现预定义颜色时其颜色的采样。在一个实施例中,每个数据点912表示当使对象呈现预定义颜色时观察到的颜色集合的平均。替代地,每个数据点912可以表示观察到的颜色集合的中值颜色。在另一实施例中,每个数据点912表示对象被引导呈现的颜色。
多颜色六边形908表示每个可能颜色的理论理想(例如,完美的饱和度、完美的亮度、完美的色调)。从图906的原点延伸到六边形908的线910的角度表示对象904的当前颜色。颜色饱和度被表示为到原点的距离。沿六边形908的任何点是两个原色的组合。如图所示,线指向表示真红色的六边形908的转角(corner)。对象颜色设置914也示出了当前对对象利用颜色坐标R=1、G=0、B=0进行编程,其中R是红色,G是绿色并且B是蓝色。该颜色设置在U-V颜色空间中表示为U=-0.17、V=0.50。尽管在此使用U-V颜色空间,但是其他颜色空间也是可能的。例如,也可以使用RGB颜色空间。
图9B包括校准结果901,该校准结果901反映了具有更新颜色图907的图9A的校准结果900,该更新颜色图907还示出当前颜色数据(例如,光学传感器实时地收集的)。更新的颜色图907包括来自于对象904的像素的直方图915。更新的颜色图907还包括阈值914和916的两个集合。阈值914的集合(示出为红色框)表示包括在对象呈现真红色时对象的颜色集合的上限和下限U与V颜色值。因此,当执行校准时,确定没有对象的像素在第一U值之上或在第二U值之下,并且没有像素在第一V值之上或第二V值之下。这些上限和下限值形成了U-V空间中的矩形,如阈值914的集合所示。阈值916的第二集合(示出为黄色框)表示包括当前对象颜色集合的上限和下限U与V颜色值。如果校准成功,则阈值914和916的两个集合应重叠。
图9C包括校准结果930,该校准结果930反映了具有更新颜色图909的图9B的校准结果901,该更新颜色图909示出在成像场景中已经打开灯之后的当前颜色数据。如图所示,新图像903现在包括背景,该背景包括各种红色的阴影。
更新颜色图909包括来自于对象904的像素的新直方图917。如图所示,阈值914的集合未改变,其中阈值914的集合表示在执行校准时建立的阈值。然而,通过向成像场景引入光,光学传感器观察的对象颜色已经改变。因此,阈值922的新集合(示出为黄色框)表示上限和下限U与V颜色值,该上限和下限U与V颜色值当前包括已经引入光的现在对象的颜色集合。在没有针对室内光进行调整的情况中,系统期望对象具有之前校准的颜色。然而,通过添加室内光,对象的颜色和亮度已经改变。因而,不再使用校准的值来定位图像中的对象的某些像素。
图9D包括系统已经经历部分再校准之后的新校准结果932。如图所示,图像903未从图9C的图像903改变。然而,示出了更新颜色图935。在该更新颜色图935中,由于图像未改变,所以示出了包括对象所有像素所需的当前阈值922的相同集合。然而,在颜色重置之后,使用新的UV阈值937的集合。
图9E包括校准结果940,该校准结果940包括图像942、颜色图954、对象颜色设置958、全颜色谱950和可用颜色的谱970。图像942包括对象944和多个背景物品946。背景物品946是绿色物品。在示出的校准结果940中,将对象的当前颜色设置为绿色的阴影,由线956和948示出。由于绿色的背景物品,绿色颜色空间的大部分不可用(不是可跟踪颜色)。这可以通过将全颜色谱950与可用颜色的谱970进行比较而看到。
由于对象944当前被设置为绿色阴影,所以可能很难将对象944从绿色的背景物品中区别出来。注意,仍旧存在可用的某些绿色阴影,在可用颜色的谱970中示出。例如,蓝-绿的阴影是可用的,黄-绿的阴影也如此。
图10图示了根据本发明一个实施例的可以用于确定控制器位置的硬件和用户接口。图10示意性地图示了可以兼容用于实现根据本发明一个实施例的三维控制器定位系统的Sony®Playstation 3®娱乐设备、控制台的总体系统架构。为系统单元1400提供可连接至系统单元1400的各种外围设备。系统单元1400包括:单元处理器(Cell processor)1428;Rambus®动态随机访问存储器(XDRAM)单元1426;具有专用视频随机访问存储器(VRAM)单元1432的现实合成器图形单元1430;以及I/O桥1434。系统单元1400还包括Blu Ray®Disk BD-ROM®光盘读取器1440,用于从通过I/O桥1434可访问的盘1440a和可移除槽插入(slot-in)硬盘驱动器(HDD)1436进行读取。可选地,系统单元1400还包括存储卡读取器1438,用于读取紧凑闪存卡、Memory Stick®存储卡等,类似地可通过I/O桥1434对其进行访问。
I/O桥1434还连接至多个通用串行总线(USB)2.0端口1424;千兆比特以太网端口1422;IEEE 802.11b/g无线网络(Wi-Fi)端口1420;以及Bluetooth®无线链路端口1418,其能够支持高达七个蓝牙连接。
在操作中,I/O桥1434处理所有无线、USB和以太网数据,包括来自于一个或多个游戏控制器1402-1403的数据。例如,当用户正在玩游戏时,I/O桥1434经由蓝牙链路从游戏控制器1402-1403接收数据,并且将其引导到单元处理器1428,其相应地更新游戏的当前状态。
无线、USB和以太网端口还为除了游戏控制器1402-1403之外的其他外围设备提供连接性,其他外围设备诸如:遥控器1404;键盘1406;鼠标1408;便携式娱乐设备1410,诸如Sony Playstation Portable®娱乐设备;摄像机1412,诸如EyeToy®摄像机;麦克风头戴式耳机1414;以及麦克风1415。此类外围设备原则上因此可以无线地连接至系统单元1400;例如,便携式娱乐设备1410可以经由Wi-Fi ad-hoc连接通信,而麦克风头戴式耳机1414可以经由蓝牙链路通信。
这些接口的提供意味着Playstation 3设备也潜在地与其他外围设备兼容,其他外围设备诸如数字视频记录器(DVR)、机顶盒、数字相机、便携式媒体播放器、IP语音电话、移动电话、打印机和扫描仪。
此外,旧有存储卡读取器1416可以经由USB端口1424连接至系统单元,这支持对Playstation®或Playstation 2®设备使用种类的存储卡1448的读取。
游戏控制器1402-1403可操作用于经由蓝牙链路与系统单元1400无线通信,或连接至USB端口,从而还提供为游戏控制器1402-1403的电池充电的功率。游戏控制器1402-1403还可以包括存储器、处理器、存储卡读取器、永久存储器(诸如闪存)、光发射器(诸如LED或红外灯)、用于超声通信的麦克风和扬声器、声室(acoustic chamber)、数字相机、内部时钟、可识别形状(诸如面对游戏控制台的球形部分)以及使用协议(诸如Bluetooth®、WiFiTM)的无线通信等。
游戏控制器1402是设计与双手一起使用的控制器,并且游戏控制器1403是具有球附接的单手控制器,如图2A-2B中之前描述的。除了一个或多个模拟操纵杆和传统控制按钮之外,游戏控制器易于进行三维位置确定。因此,除了或代替传统按钮或操纵杆命令之外,游戏控制器的用户的姿势和移动可以被转译为对游戏的输入。可选地,其他支持无线的外围设备(诸如PlaystationTM便携式设备)可以用作控制器。在PlaystationTM便携式设备的情况中,可以在设备的屏幕上提供附加游戏或控制信息(例如,控制指令或生命的数量)。也可以使用其他替代或补充控制设备,诸如跳舞毯(未示出)、运动捕获球(未示出)、光枪(未示出)、方向盘和踏板(未示出)或定制(bespoke)控制器,诸如用于迅速响应测验游戏的单个或若干大按钮(也未示出)。
遥控器1404还可操作用于经由蓝牙链路与系统单元1400无线通信。遥控器1404包括适于Blu RayTMDisk BD-ROM读取器1440的操作和盘内容导航的控制。
Blu RayTMDiskBD-ROM读取器1440可操作用于读取除了传统预记录和可记录CD之外的与Playstation和PlayStation 2设备兼容的CD-ROM以及所谓的超级音频CD。读取器1440还可操作用于读取除传统预记录和可记录DVD之外的与Playstation 2和PlayStation 3设备兼容的DVD-ROM。读取器1440还可操作用于读取与Playstation 3设备兼容的BD-ROM以及传统的预记录和可记录的蓝光盘。
系统单元1400可操作用于通过音频和视频连接器向显示和声音输出设备1442(诸如具有显示器1444和一个或多个扬声器1446的监视器或电视机)提供经由现实合成器图形单元1430由Playstation 3设备生成或解码的音频和视频。音频连接器1450可以包括传统模拟和数字输出,而视频连接器1452可以不同地包括分量视频、S视频、合成视频和一个或多个高清晰度多媒体接口(HDMI)输出。因而,视频输出可以是诸如PAL或NTSC的格式,或是720p、1080i或1080p高清晰度。
单元处理器1428执行音频处理(生成、解码等)。Playstation 3设备的操作系统支持Dolby® 5.1环绕声、Dolby® Theartre Surround(DTS)并且对来自于Blu-Ray®盘的7.1环绕声解码。
在一个实施例中,摄像机1412包括单电荷耦合器件(CCD)、LED指示器以及基于硬件的实时数据压缩和编码装置,使得压缩的视频数据可以以用于由系统单元1400解码的适当的格式传输,适当的格式诸如基于图像内的MPEG(运动图片专家组)标准。摄像机LED指示器被布置为响应于来自于系统单元1400的适当控制数据进行照明,例如以表示不利的照明条件。摄像机1412的实施例可以不同地经由USB、蓝牙或Wi-Fi通信端口连接至系统单元1400。摄像机的实施例可以包括一个或多个关联的麦克风并且还能够传输音频数据。在摄像机的实施例中,CCD可以具有适合高清晰度视频捕获的分辨率。在使用中,摄像机捕获的图像例如可以合并在游戏内或被解释为游戏控制输入。在另一实施例中,摄像机是适合检测红外光的红外摄像机。
通常,为了经由系统单元1400的一个通信端口与诸如摄像机或遥控器之类的外围设备发生成功的数据通信,应该提供诸如设备驱动的合适的软件。除了说技术人员将认识到在描述的本实施例中可能需要设备驱动或类似软件接口之外,设备驱动技术是公知的并且在此将不详细描述。
图11图示了根据本发明一个实施例的可以用于处理指令的附加硬件。图11图示了根据本发明一个实施例的单元处理器1500的组件,其可以对应于图10的单元处理器1428。图11的单元处理器1500具有包括四个基本组件的架构:包括存储器控制器1560和双总线接口控制器1570A、B的外部输入和输出结构;称作功率处理元件的主处理器1550;称作协同处理元件(SPE)的八个协处理器1510A-H;以及称作元件互连总线的连接上述组件的循环数据总线1580。单元处理器的总浮点性能与Playstation 2设备的情感引擎的6.2 GFLOP相比是218 GFLOPS。
功率处理元件(PPE)1550基于以3.2 GHz内部时钟运行的双向同时多线程Power 1470兼容PowerPC核心(PPU)1555。其包括512 kB 2级(L2)高速缓存和32 kB 1级(L1)高速缓存。PPE 1550能够每个时钟周期八个单位置操作,转译为3.2 GHz的25.6 GFLOP。PPE 1550的主要作用是充当用于协同处理元件1510A-H的控制器,其处理大部分计算工作量。在操作中,PPE 1550维持工作队列,调度用于协同处理元件1510A-H的工作并监视它们的进度。因此,每个协同处理元件1510A-H运行内核,该内核的作用是获取工作、执行它并且将其与PPE 1550同步。
每个协同处理元件(SPE)1510A-H包括各自的协同处理单元(SPU)1520A-H、以及各自的存储器流控制器(MFC)1540A-H,其继而包括各自的动态存储器访问控制器(DMAC)1542A-H、各自的存储器管理单元(MMU)1544A-H和总线接口(未示出)。每个SPU 1520 A-H是3.2 GHz时钟的RISC处理器并且包括256 kB本地RAM 1530 A-H,原则上可扩展到4GB。每个SPE给出单精度性能的理论上的25.6 GFLOPS。SPU可以在单个时钟周期中在4个单精度浮点部件上操作4个32位数字、8个16位整数、或16个8位整数操作。在相同时钟周期中,其还可以执行存储器操作。SPU 1520A-H不直接访问系统存储器XDRAM 1426;SPU 1520A-H形成的64位地址被传送给MFC 1540A-H,其指示其DMA控制器1542A-H经由元件互连总线1580和存储器控制器1560来访问存储器。
元件互连总线(EIB)1580是连接上述处理器元件(即,PPE 1550、存储器控制器1560、双总线接口1570A、B和8个SPE 1510A-H,总计12个参与者)的、单元处理器1500内部的逻辑循环通信总线。参与者可以以每时钟周期8字节的速率同时读取并且写入总线。如上所述,每个SPE 1510A-H包括用于调度较长读或写序列的DMAC 1542A-H。EIB包括四个通道,两个中的每个是顺时针和逆时针方向。因而,对于十二个参与者,任何两个参与者之间的最长的步骤数据流在合适方向上是六个步骤。因此,在通过参与者之间的仲裁的全利用的情况中,理论上12个时隙的峰值瞬时EIB带宽是每时钟96B。这等同于3.2 GHz时钟速率的理论峰值带宽307.2 GB/s(每秒千兆字节)。
存储器控制器1560包括由Rambus公司开发的XDRAM接口1562。该存储器控制器与具有25.6 GB/s的理论峰值带宽的Rambus XDRAM对接。
双总线接口1570A、B包括Rambus FlexIO®系统接口1572A、B。将接口组织为12个通道,每个是8位宽,五个路径入站并且七个路径出站。这经由控制器1570A在单元处理器与I/O桥之间并且经由控制器1570B在单元处理器与现实模拟器图像单元之间提供理论峰值带宽62.4 GB/s(36.4 GB/s出站、26 GB/s入站)。
应该理解,上述描述旨在示范而不是限制。在阅读并且理解上述描述时,对本领域技术人员而言,很多其他实施例将清楚。尽管已经参考具体示例性实施例描述了本发明,但是将认识到,本发明不限于描述的实施例,而是可以利用所附权利要求书的精神和范围内的修改和变更来实现。因而,将以示范的意义而不是限制的意义来考虑说明书和附图。因此,本发明的范围应该参考所附权利要求书连同命名为此类权利要求书的等同物的完全范围来确定。

Claims (31)

1.一种用于校准跟踪系统的方法,包括:
由执行校准逻辑的计算设备在光学传感器拍摄的一个或多个图像中定位对象;
由计算设备确定包括在所述一个或多个图像中的环境颜色,所述环境颜色是在所述一个或多个图像中不由所述对象发射的颜色;以及
确定如下的一个或多个可跟踪颜色,如果由所述对象呈现,则将使所述计算设备能够跟踪所述对象。
2.根据权利要求1所述的方法,其中如果小于包括在所述环境颜色中的颜色的阈值量,则颜色是可跟踪颜色。
3.根据权利要求1所述的方法,其中在所述一个或多个图像中定位所述对象包括:
使得所述对象依次呈现多个预定义颜色,其中所述一个或多个图像包括针对所述多个预定义颜色中每个的单独图像;以及
在所述一个或多个图像中的每个中识别具有不同颜色的像素的组。
4.根据权利要求3所述的方法,还包括:
对于每个预定义颜色,确定由所述光学传感器观察到的所述对象的关联颜色集合;以及
如果所述对象呈现其他颜色,则预测将由所述光学传感器观察到的附加颜色集合。
5.根据权利要求4所述的方法,还包括:
使得所述对象呈现特定颜色;以及
通过识别在后续图像中的何处观察到与所述特定颜色相关联的特定颜色集合来跟踪所述对象。
6.根据权利要求5所述的方法,还包括:
无法成功跟踪所述对象;以及
使得所述对象呈现新的特定颜色。
7.根据权利要求3所述的方法,其中所述多个预定义颜色包括三个原色。
8.根据权利要求3所述的方法,其中所述光学传感器具有帧速率,所述方法还包括:
使得所述对象在所述光学传感器的至少三个帧中呈现所述多个预定义颜色中的每个。
9.根据权利要求3所述的方法,其中所述光学传感器具有帧速率,并且其中所述光学传感器的帧是与所述计算设备的时钟时间同步的,所述方法还包括:
使得所述对象在少于三个帧中呈现多个预定颜色中的每个。
10.根据权利要求1所述的方法,其中确定所述环境颜色包括:
使得所述对象不发射光,其中所述一个或多个图像包括在所述对象不发射光时拍摄的图像;以及
从在所述对象不发射光时拍摄的图像识别所述对象的颜色,其表示所述对象反射的环境颜色。
11.根据权利要求10所述的方法,还包括:
从在所述对象发射预定义颜色的光时拍摄的一个或多个图像中的所述对象的颜色减去在所述对象不发射光时拍摄的图像中的所述对象的颜色以识别所述对象发射的真实颜色。
12.根据权利要求1所述的方法,还包括:
基于暂时使得所述对象不发射光并且在所述对象不发射光时拍摄图像来周期性地更新所述环境颜色;以及
重新确定所述一个或多个可跟踪颜色。
13.根据权利要求1所述的方法,还包括:
检测所述光学传感器的曝光设置的改变;以及
调整所述对象的亮度。
14.根据权利要求1所述的方法,还包括:
确定所述跟踪系统的跟踪质量将是次优的;
如果所述环境光超过阈值,则向所述计算设备的用户通知以关闭灯或闭合遮蔽;以及
如果少于可跟踪颜色的阈值数量,则向所述用户标识正在引起颜色冲突的、包括在所述一个或多个图像中的附加对象。
15.一种计算装置,包括:
光学传感器,用于拍摄一个或多个图像;以及
处理设备,用于执行用于校准逻辑的指令,其中所述指令使得所述处理设备在所述一个或多个图像中定位对象、确定包括在所述一个或多个图像中的环境颜色、所述环境颜色是所述一个或多个图像中不由所述对象发射的颜色、以及确定如下的一个或多个可跟踪颜色,如果由所述对象呈现,则将使所述处理设备能够跟踪所述对象。
16.根据权利要求15所述的计算装置,其中如果小于包括在所述环境颜色中的颜色的阈值量,则颜色是可跟踪颜色。
17.根据权利要求15所述的计算装置,其中在所述一个或多个图像中定位所述对象包括:
使得所述对象依次呈现多个预定义颜色,其中所述一个或多个图像包括针对所述多个预定义颜色中每个的单独图像;以及
在所述一个或多个图像中的每个中识别具有不同颜色的像素的组。
18.根据权利要求17所述的计算装置,其中所述指令使得所述处理设备:
对于每个预定义颜色,确定由所述光学传感器观察到的所述对象的关联颜色集合;以及
如果所述对象呈现其他颜色,则预测将由所述光学传感器观察到的附加颜色集合。
19.根据权利要求18所述的计算装置,其中所述指令使得所述处理设备:
使得所述对象呈现特定颜色;以及
通过识别在后续图像中的何处观察到与所述特定颜色相关联的特定颜色集合来跟踪所述对象。
20.根据权利要求19所述的计算装置,其中所述指令使得所述处理设备:
指示所述对象在所述处理设备无法成功跟踪所述对象时呈现新的特定颜色。
21.根据权利要求17所述的计算装置,其中所述多个预定义颜色包括三个原色。
22.根据权利要求17所述的计算装置,其中所述光学传感器具有帧速率,所述指令使得所述处理设备:
指示所述对象在所述光学传感器的至少三个帧中呈现所述多个预定义颜色中的每个。
23.根据权利要求17所述的计算装置,其中所述光学传感器具有帧速率,并且其中所述光学传感器的帧是与计算设备的时钟时间同步的,所述指令使得所述处理设备:
指示所述对象在少于三个帧中呈现多个预定颜色中的每个。
24.根据权利要求15所述的计算装置,其中确定所述环境颜色包括:
使得所述对象不发射光,其中所述一个或多个图像包括在所述对象不发射光时拍摄的图像;以及
从在所述对象不发射光时拍摄的图像识别所述对象的颜色,其表示所述对象反射的环境颜色。
25.根据权利要求24所述的计算装置,其中所述指令使得所述处理设备:
从在所述对象发射预定义颜色的光时拍摄的一个或多个图像中的所述对象的颜色减去在所述对象不发射光时拍摄的图像中的所述对象的颜色以识别所述对象发射的真实颜色。
26.根据权利要求15所述的计算装置,其中所述指令使得所述处理设备:
基于暂时使得所述对象不发射光并且在所述对象不发射光时拍摄图像来周期性地更新所述环境颜色;以及
重新确定所述一个或多个可跟踪颜色。
27.根据权利要求15所述的计算装置,其中所述指令使得所述处理设备:
检测所述光学传感器的曝光设置的改变;以及
调整所述对象的亮度。
28.根据权利要求15所述的计算装置,其中所述指令使得所述处理设备:
确定所述跟踪系统的跟踪质量将是次优的;
如果所述环境光超过阈值,则向计算设备的用户通知以关闭灯或闭合遮蔽;以及
如果少于可跟踪颜色的阈值数量,则向所述用户标识正在引起颜色冲突的、包括在所述一个或多个图像中的附加对象。
29.一种包括指令的计算机可读存储介质,当所述指令由处理设备执行时使得所述处理设备执行方法,所述方法包括:
由执行校准逻辑的计算设备在光学传感器拍摄的一个或多个图像中定位对象;
由计算设备确定包括在所述一个或多个图像中的环境颜色,所述环境颜色是在所述一个或多个图像中不由所述对象发射的颜色;以及
确定如下的一个或多个可跟踪颜色,如果由所述对象呈现,则将使所述计算设备能够跟踪所述对象。
30.根据权利要求29所述的计算机可读存储介质,其中在所述一个或多个图像中定位所述对象包括:
使得所述对象依次呈现多个预定义颜色,其中所述一个或多个图像包括针对所述多个预定义颜色中每个的单独图像;以及
在所述一个或多个图像中的每个中识别具有不同颜色的像素的组。
31.根据权利要求29所述的计算机可读存储介质,其中确定所述环境颜色包括:
使得所述对象不发射光,其中所述一个或多个图像包括在所述对象不发射光时拍摄的图像;以及
从在所述对象不发射光时拍摄的图像识别所述对象的颜色,其表示所述对象反射的环境颜色。
CN2010800240043A 2009-05-30 2010-05-28 用于对象跟踪的颜色校准 Pending CN102449641A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US21739309P 2009-05-30 2009-05-30
US61/217393 2009-05-30
US12/789389 2010-05-27
US12/789,389 US20100303297A1 (en) 2009-05-30 2010-05-27 Color calibration for object tracking
PCT/US2010/036699 WO2010141378A1 (en) 2009-05-30 2010-05-28 Color calibration for object tracking

Publications (1)

Publication Number Publication Date
CN102449641A true CN102449641A (zh) 2012-05-09

Family

ID=43220267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800240043A Pending CN102449641A (zh) 2009-05-30 2010-05-28 用于对象跟踪的颜色校准

Country Status (5)

Country Link
US (1) US20100303297A1 (zh)
EP (1) EP2435957B1 (zh)
JP (1) JP2012529112A (zh)
CN (1) CN102449641A (zh)
WO (1) WO2010141378A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104134070A (zh) * 2013-05-03 2014-11-05 仁宝电脑工业股份有限公司 交互式对象追踪系统及其交互式对象与追踪方法
CN108205808A (zh) * 2016-12-19 2018-06-26 宏达国际电子股份有限公司 物件追踪装置方法、装置及非暂态计算机可读取记录媒体
CN110461427A (zh) * 2017-03-31 2019-11-15 索尼互动娱乐股份有限公司 变焦设备和相关方法
CN111034185A (zh) * 2017-08-23 2020-04-17 索尼公司 视频处理装置、视频处理方法、程序和远程通信系统
CN112654841A (zh) * 2018-07-06 2021-04-13 云海智行股份有限公司 用于校准架置在设备上的传感器的系统、方法和装置
CN114115517A (zh) * 2020-08-25 2022-03-01 宏达国际电子股份有限公司 对象跟踪方法和对象跟踪装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5101677B2 (ja) * 2010-09-14 2012-12-19 株式会社ソニー・コンピュータエンタテインメント 情報処理システム
US10486064B2 (en) 2011-11-23 2019-11-26 Sony Interactive Entertainment America Llc Sharing buffered gameplay in response to an input request
US10960300B2 (en) 2011-11-23 2021-03-30 Sony Interactive Entertainment LLC Sharing user-initiated recorded gameplay with buffered gameplay
US10525347B2 (en) 2012-03-13 2020-01-07 Sony Interactive Entertainment America Llc System and method for capturing and sharing console gaming data
US9116555B2 (en) 2011-11-23 2015-08-25 Sony Computer Entertainment America Llc Gaming controller
JP5148004B1 (ja) * 2012-04-26 2013-02-20 株式会社三菱東京Ufj銀行 情報処理装置、電子機器およびプログラム
US10150028B2 (en) * 2012-06-04 2018-12-11 Sony Interactive Entertainment Inc. Managing controller pairing in a multiplayer game
US9182813B2 (en) 2012-08-10 2015-11-10 Ulsee Inc. Image-based object tracking system in 3D space using controller having multiple color clusters
JP6178066B2 (ja) * 2012-11-06 2017-08-09 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
US9317136B2 (en) * 2013-01-10 2016-04-19 UL See Inc. Image-based object tracking system and image-based object tracking method
JP2015088096A (ja) * 2013-11-01 2015-05-07 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
KR101398968B1 (ko) 2014-03-04 2014-06-27 엘아이지넥스원 주식회사 적외선 탐색기 성능 시험 방법
CN104461009B (zh) * 2014-12-22 2018-01-09 百度在线网络技术(北京)有限公司 物体的测量方法和智能设备
WO2016198556A1 (en) 2015-06-09 2016-12-15 Feeney Liam A visual tracking system and method
EP4254035A3 (en) * 2016-10-12 2023-12-06 Samsung Electronics Co., Ltd. Method, apparatus, and recording medium for processing image
US10467456B2 (en) * 2017-04-17 2019-11-05 Htc Corporation Tracking system for tracking an object based on silhouette
US10338695B1 (en) * 2017-07-26 2019-07-02 Ming Chuan University Augmented reality edugaming interaction method
TWI637363B (zh) * 2017-07-26 2018-10-01 銘傳大學 擴增實境之人機互動系統
WO2019207728A1 (ja) * 2018-04-26 2019-10-31 株式会社ソニー・インタラクティブエンタテインメント 画像提示装置、画像提示方法、記録媒体及びプログラム
US10973106B2 (en) * 2018-12-10 2021-04-06 Electronic Theatre Controls, Inc. Systems and methods of directing a lighting fixture in a venue
CN111833403A (zh) * 2020-07-27 2020-10-27 闪耀现实(无锡)科技有限公司 用于空间定位的方法和装置
JP2022135263A (ja) * 2021-03-05 2022-09-15 シャープ株式会社 画像処理装置、画像処理プログラムおよび画像処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020037770A1 (en) * 1998-08-10 2002-03-28 Paul George V. Real-time head tracking system for computer games and other applications
US20070127775A1 (en) * 2002-01-08 2007-06-07 Samsung Electronics Co., Ltd. Method and apparatus for color-based object tracking in video sequences
US7395966B2 (en) * 2003-05-14 2008-07-08 Parelec Israel Ltd. Tracking system using optical tags

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843568A (en) * 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US4787051A (en) * 1986-05-16 1988-11-22 Tektronix, Inc. Inertial mouse system
GB2218237B (en) * 1986-06-30 1991-01-16 Wang Laboratories Inductively-powered data storage card
GB2193021B (en) * 1986-07-24 1990-07-25 Stanley Electric Co Ltd Optical identification card system
US5128671A (en) * 1990-04-12 1992-07-07 Ltv Aerospace And Defense Company Control device having multiple degrees of freedom
JPH06301475A (ja) * 1993-04-14 1994-10-28 Casio Comput Co Ltd 位置検出装置
US5423554A (en) * 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
US5528265A (en) * 1994-07-18 1996-06-18 Harrison; Simon J. Orientation-operated cursor control device
JP3579096B2 (ja) * 1994-09-27 2004-10-20 株式会社日立製作所 表示装置
SE504846C2 (sv) * 1994-09-28 1997-05-12 Jan G Faeger Styrutrustning med ett rörligt styrorgan
JP3257585B2 (ja) * 1996-03-29 2002-02-18 株式会社ビジュアルサイエンス研究所 空間マウスを用いた映像化装置
US20010008561A1 (en) * 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US6766036B1 (en) * 1999-07-08 2004-07-20 Timothy R. Pryor Camera based man machine interfaces
US6375572B1 (en) * 1999-10-04 2002-04-23 Nintendo Co., Ltd. Portable game apparatus with acceleration sensor and information storage medium storing a game progam
US20020085097A1 (en) * 2000-12-22 2002-07-04 Colmenarez Antonio J. Computer vision-based wireless pointing system
US7623115B2 (en) * 2002-07-27 2009-11-24 Sony Computer Entertainment Inc. Method and apparatus for light input device
US7627139B2 (en) * 2002-07-27 2009-12-01 Sony Computer Entertainment Inc. Computer image and audio processing of intensity and input devices for interfacing with a computer program
US20040212589A1 (en) * 2003-04-24 2004-10-28 Hall Deirdre M. System and method for fusing and displaying multiple degree of freedom positional input data from multiple input sources
US8287373B2 (en) * 2008-12-05 2012-10-16 Sony Computer Entertainment Inc. Control device for communicating visual information
JP2006185109A (ja) * 2004-12-27 2006-07-13 Hitachi Ltd 画像計測装置及び画像計測方法
US20060238347A1 (en) * 2005-04-22 2006-10-26 W.R. Parkinson, Co., Inc. Object tracking system
EP1722460B1 (de) * 2005-05-11 2008-03-26 VDO Automotive AG Elektrische Maschine mit vorgespanntem Kugellager und Verfahren zur Herstellung derselben
US7364306B2 (en) * 2005-06-20 2008-04-29 Digital Display Innovations, Llc Field sequential light source modulation for a digital display system
US20080026838A1 (en) * 2005-08-22 2008-01-31 Dunstan James E Multi-player non-role-playing virtual world games: method for two-way interaction between participants and multi-player virtual world games
JP5116679B2 (ja) * 2005-09-15 2013-01-09 株式会社ソニー・コンピュータエンタテインメント 強度のコンピュータ画像および音声処理、ならびにコンピュータプログラムとインタフェースするための入力装置
EP1946203A2 (en) * 2005-10-26 2008-07-23 Sony Computer Entertainment America, Inc. System and method for interfacing with a computer program
EP2126675B1 (en) * 2007-03-29 2010-10-13 Cam-Trax Technologies Ltd System and method for tracking an electronic device
US8111290B2 (en) * 2008-06-06 2012-02-07 Microsoft Corporation Radiometric calibration using temporal irradiance mixtures
US7884721B2 (en) * 2008-08-25 2011-02-08 James Edward Gibson Devices for identifying and tracking wireless microphones

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020037770A1 (en) * 1998-08-10 2002-03-28 Paul George V. Real-time head tracking system for computer games and other applications
US20070127775A1 (en) * 2002-01-08 2007-06-07 Samsung Electronics Co., Ltd. Method and apparatus for color-based object tracking in video sequences
US7395966B2 (en) * 2003-05-14 2008-07-08 Parelec Israel Ltd. Tracking system using optical tags

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104134070A (zh) * 2013-05-03 2014-11-05 仁宝电脑工业股份有限公司 交互式对象追踪系统及其交互式对象与追踪方法
CN104134070B (zh) * 2013-05-03 2018-05-29 仁宝电脑工业股份有限公司 交互式对象追踪系统及其交互式对象与追踪方法
CN108205808A (zh) * 2016-12-19 2018-06-26 宏达国际电子股份有限公司 物件追踪装置方法、装置及非暂态计算机可读取记录媒体
CN110461427A (zh) * 2017-03-31 2019-11-15 索尼互动娱乐股份有限公司 变焦设备和相关方法
CN110461427B (zh) * 2017-03-31 2023-04-04 索尼互动娱乐股份有限公司 变焦设备和相关方法
CN111034185A (zh) * 2017-08-23 2020-04-17 索尼公司 视频处理装置、视频处理方法、程序和远程通信系统
CN112654841A (zh) * 2018-07-06 2021-04-13 云海智行股份有限公司 用于校准架置在设备上的传感器的系统、方法和装置
CN114115517A (zh) * 2020-08-25 2022-03-01 宏达国际电子股份有限公司 对象跟踪方法和对象跟踪装置
CN114115517B (zh) * 2020-08-25 2024-04-02 宏达国际电子股份有限公司 对象跟踪方法和对象跟踪装置

Also Published As

Publication number Publication date
EP2435957A4 (en) 2017-03-15
JP2012529112A (ja) 2012-11-15
EP2435957B1 (en) 2021-07-28
EP2435957A1 (en) 2012-04-04
US20100303297A1 (en) 2010-12-02
WO2010141378A1 (en) 2010-12-09

Similar Documents

Publication Publication Date Title
CN102449641A (zh) 用于对象跟踪的颜色校准
CN102257456B (zh) 校正跟踪系统中的角度误差
JP5972966B2 (ja) 投影された参照パターンによるオブジェクト追跡
CN102576257B (zh) 基站移动检测和补偿
CN102257830B (zh) 具有最少用户输入的跟踪系统校准
US8933968B2 (en) Entertainment device, system, and method
CN102163324B (zh) 深度图像的去混叠
RU2555220C2 (ru) Управление виртуальными портами
US8393964B2 (en) Base station for position location
CN102265240A (zh) 确定球体联结控制器的位置和运动
US20100144436A1 (en) Control Device for Communicating Visual Information
JP2007029478A (ja) 位置検出システム
EP2669868B1 (en) Apparatus and method for augmenting a video image
CN103748893A (zh) 显示器作为照片或视频的照明
US10942619B2 (en) Interactive reality activity augmentation
US11756371B1 (en) Systems, methods, and media for implementing internet-based wagering
CN102203695A (zh) 用于传送视觉信息的控制设备
CN103272385A (zh) 带有可配置的操作模式的游戏输入装置
KR101395237B1 (ko) 이미지 내 형상의 블루밍 보상
US9089775B1 (en) Interactive game system and methods for a television audience member to mimic physical movements occurring in television broadcast content
JP7315489B2 (ja) 周辺機器追跡システムおよび方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120509