CN110612506B - 立体相机和手持对象的校准 - Google Patents

立体相机和手持对象的校准 Download PDF

Info

Publication number
CN110612506B
CN110612506B CN201880030926.1A CN201880030926A CN110612506B CN 110612506 B CN110612506 B CN 110612506B CN 201880030926 A CN201880030926 A CN 201880030926A CN 110612506 B CN110612506 B CN 110612506B
Authority
CN
China
Prior art keywords
handheld object
light
camera
hmd
handheld
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
Application number
CN201880030926.1A
Other languages
English (en)
Other versions
CN110612506A (zh
Inventor
M·E·萨姆普勒斯
A·O·巴兰
S·西尔特卡亚
V·乔瓦诺维克
F·潘杰维克
T·凯普科
R·J·里韦拉三世
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN110612506A publication Critical patent/CN110612506A/zh
Application granted granted Critical
Publication of CN110612506B publication Critical patent/CN110612506B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/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/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • 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/25Output arrangements for video game devices
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • 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
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V23/00Arrangement of electric circuit elements in or on lighting devices
    • F21V23/04Arrangement of electric circuit elements in or on lighting devices the elements being switches
    • F21V23/0442Arrangement of electric circuit elements in or on lighting devices the elements being switches activated by means of a sensor, e.g. motion or photodetectors
    • F21V23/0471Arrangement of electric circuit elements in or on lighting devices the elements being switches activated by means of a sensor, e.g. motion or photodetectors the sensor detecting the proximity, the presence or the movement of an object or a person
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • G01C19/56Turn-sensitive devices using vibrating masses, e.g. vibratory angular rate sensors based on Coriolis forces
    • G01C19/5776Signal processing not specific to any of the devices covered by groups G01C19/5607 - G01C19/5719
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/26Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J1/00Photometry, e.g. photographic exposure meter
    • G01J1/42Photometry, e.g. photographic exposure meter using electric radiation detectors
    • G01J1/44Electric circuits
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0308Detection arrangements using opto-electronic means comprising a plurality of distinctive and separately oriented light emitters or reflectors associated to the pointing device, e.g. remote cursor controller with distinct and separately oriented LEDs at the tip whose radiations are captured by a photo-detector associated to the screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0325Detection arrangements using opto-electronic means using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/285Analysis of motion using a sequence of stereo image pairs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/246Calibration of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/254Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B45/00Circuit arrangements for operating light-emitting diodes [LED]
    • H05B45/10Controlling the intensity of the light
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/105Controlling the light source in response to determined parameters
    • H05B47/11Controlling the light source in response to determined parameters by determining the brightness or colour temperature of ambient light
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/105Controlling the light source in response to determined parameters
    • H05B47/115Controlling the light source in response to determined parameters by determining the presence or movement of objects or living beings
    • H05B47/125Controlling the light source in response to determined parameters by determining the presence or movement of objects or living beings by using cameras
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/175Controlling the light source by remote control
    • H05B47/19Controlling the light source by remote control via wireless transmission
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0382Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10152Varying illumination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B20/00Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
    • Y02B20/40Control techniques providing energy savings, e.g. smart controller or presence detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Optics & Photonics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Heart & Thoracic Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Studio Devices (AREA)
  • User Interface Of Digital Computer (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

一个公开示例提供了一种头戴式设备,该头戴式设备包括立体相机布置、被配置为执行指令的逻辑设备、以及存储由逻辑设备可执行以执行以下操作的指令的存储设备:针对立体相机布置中的每个相机,接收相机的视场的图像数据,在图像数据中检测手持对象的光源,并且基于检测到的光源确定手持对象的姿势。这些指令可执行以基于针对立体相机布置中的每个相机确定的手持对象的姿势来校准立体相机布置。

Description

立体相机和手持对象的校准
背景技术
可以经由来自诸如图像传感器和惯性传感器等各种传感器的数据来跟踪运动作为计算设备输入。
发明内容
一个公开示例提供了一种头戴式设备,该头戴式设备包括立体相机布置、被配置为执行指令的逻辑设备、以及包括由逻辑设备可执行以执行以下操作的指令的存储设备:针对立体相机布置中的每个相机,接收相机的视场的图像数据,在图像数据中检测手持对象的多个光源,并且基于检测到的多个光源确定手持对象的姿势。这些指令还可执行以基于针对立体相机布置中的每个相机确定的手持对象的姿势来校准立体相机布置。
提供本“发明内容”以便以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中指出的任何或所有缺点的实现。
附图说明
图1示出了其中可穿戴设备和手持对象的姿势可以被跟踪作为计算设备输入的示例使用场景。
图2示出了对手持对象进行成像的示例可穿戴设备。
图3示出了示例手持对象的视图。
图4示出了用于经由可穿戴设备跟踪手持对象的示例计算系统架构。
图5示出了可操作以相对于真实世界坐标得出手持对象和HMD的姿势的示例处理系统。
图6示出了图示估计手持对象的姿势的示例方法的流程图。
图7示出了在手持对象和主机计算设备上的IMU数据的处理的示例。
图8示出了示例手持对象跟踪曝光。
图9示出了示例光脉冲减轻策略。
图10示出了另一示例光脉冲减轻策略。
图11示出了对于30Hz和60Hz闪烁分量的根据距闪烁源的距离的相对闪烁幅度的图。
图12示意性地示出了基于根据相对于相机的定向的手持对象上的光源的可见度来调节光源亮度的示例方法。
图13示出了图示调节光源亮度的示例方法的流程图。
图14A-14B示出了用于光学时间同步的示例二进制搜索方法。
图15示出了用于光学时间同步的示例PLL状态机的框图。
图16示意性地示出了用于PLL状态机的示例扫描状态下的光脉冲。
图17示意性地示出了用于PLL状态机的示例粗略同步状态下的光脉冲。
图18示出了图示用于在PLL调节状态下确定时间偏移的示例方法的图。
图19示意性地示出了用于在PLL状态机的PLL调节状态下使用的示例光脉冲方案。
图20示出了描绘用于在PLL调节状态下计算时间偏移的示例方法的图。
图21示意性地示出了另一示例PLL状态机。
图22示意性地示出了示例光脉冲周期和示例曝光序列。
图23示意性地示出了经由光脉冲调制来执行光学时间同步的示例方法。
图24示出了经由主动偏移搜索来执行光学时间同步的示例方法的示意图。
图25示出了图示确定对立体相机布置的校准的示例方法的流程图。
图26示出了图示确定对手持对象的校准的示例方法的流程图。
图27是示出示例计算系统的框图。
具体实施方式
本申请公开了与包括头戴式显示设备(HMD)的计算系统有关的示例,HMD与手持控制器和/或其他手持外围设备(例如,作为游戏系统的部分)对接。为了使游戏体验更加身临其境,当用户移动设备穿越空间时,可以跟踪HMD和手持控制器的姿势以提供输入以控制HMD的用户界面。除了游戏之外,这种姿势跟踪还可以用于其他计算设备交互。
所公开的示例可以利用HMD上的诸如立体相机布置等相机来跟踪诸如游戏控制器等手持对象。这避免了使用放置在周围环境中其他地方的外部光源和/或相机跟踪手持控制器,而外部光源和/或相机在使用前必须在使用环境中进行设置。图1示出了示例场景100,其中由用户104佩戴的HMD 102显示虚拟和/或增强现实图像。HMD 102上的一个或多个面向外部的相机可以获取周围环境以及由用户102保持的手持对象106的图像数据(例如,可见光图像数据)。例如,图2示出了使用立体相机成像系统(由第一相机204和第二相机206指示)对手持对象202成像的示例HMD 200。
术语“手持对象”在本文中用于包括可以如本文所述用手握持的可跟踪光源108的对象,并且表示该对象可以是手持的,而无论该对象当前是否处于握在手中的状态。
手持对象106被描绘为例如用于视频游戏系统的控制器。在一些示例中,手持对象106可以包括板载处理器、存储系统和通信系统。在其他示例中,手持对象可以不包括一个或多个这样的系统,但是可以包括光以辅助对手持对象的光学跟踪。手持对象106还可以包括一个或多个输入控件,诸如按钮、触发器、操纵杆、方向键、触摸屏等。手持对象106包括提供与手持对象106的位置和定向的变化有关的输出的惯性测量单元(IMU)(其可以包括加速度计、陀螺仪、磁力计和/或其他合适的传感器)。在一些示例中,HMD 102还可以包括IMU以帮助跟踪环境中的HMD姿势的变化。
手持对象还包括分布在手持对象的表面上的多个光源。图3示出了示例手持对象300,示例手持对象300具有沿着手持控制器300的环形结构的外部和内部分布的多个光源302。这些光源被配置为在由HMD的一个或多个相机获取的图像数据中形成光图案(“星座”),使得可以从捕获控制器的图像中确定手持对象的姿势。光源可以采用任何合适的形式,诸如经由HMD上的一个或多个可见光相机发射可见光以进行检测的发光二极管(LED)。也可以使用红外光源。在一些示例中,HMD上的(多个)相机可以被配置为滤波除了由LED发射的光之外的波长的光,以减小图像数据中的噪声水平。手持对象可以具有任何合适数目和布置的光源。
在一些示例中,HMD 102和手持对象106被配置为彼此直接通信,诸如经由利用蓝牙通信协议或其他合适的无线通信协议进行连接的无线网络。在其他示例中,可选的主机计算设备110可以与HMD102和手持对象106通信以从HMD 102和手持对象106接收数据(包括由HMD 102获取的图像数据和从手持对象106获取的IMU数据),处理这样的数据,并且向这些设备发送控制信号。图4示出了包括具有跟踪传感器的HMD 402、主机PC 404、左侧手持控制器406和右侧手持控制器408的示例计算系统架构400,其中每个控制器提供六个自由度。左侧手持控制器406和右侧手持控制器408中的每个被描绘为经由USB(通用串行总线)和蓝牙与主机PC 404通信。在该示例中,可以针对不同的上下文使用不同的协议。例如,USB连接可以用于工厂校准,而蓝牙可以在普通设备使用期间使用。类似地,主机PC 404可以经由任何合适的无线或有线通信协议与HMD 402和/或手持控制器406、408通信。示例被示出为HDMI(高清多媒体接口)和USB。如上所述,在一些示例中,主机PC 404是可选的,并且手持控制器406和408中的每个可以直接与HMD 402通信。应当理解,尽管本文中在手持控制器的上下文中进行公开,但是可以跟踪任何合适的手持或可移动对象,包括没有任何内部计算系统或IMU的对象,其中这样的对象包括可检测为图像数据中的星座的多个光源。同样地,图4所示的特定通信信道被呈现用于示例目的,并且任何其他合适的有线和/或无线通信信道可以用于HMD到主机通信、主机到手持控制器通信和/或HMD到控制器通信。
可以通过使用HMD 102上的一个或多个相机跟踪来自光源的光在手持对象106上的位置来估计手持对象106的相对于HMD的姿势(位置和定向)。来自手持对象106上的IMU的数据还可以通知跟踪,诸如何时可能从视线遮挡光源。然而,图像数据提供手持对象106相对于HMD 102的姿势,而IMU感测与其主体坐标系相对于惯性坐标系的位置和定向的变化成比例的力。
因此,为了将来自图像数据的光学姿势与IMU数据组合以提供手持对象106相对于世界的实际姿势,处理可以用于通过将光学数据映射到世界坐标来将IMU数据与光学数据“融合”。图5示出了示例处理系统500的框图,该示例处理系统500可以用于从来自手持对象的IMU数据以及来自HMD的图像和/或IMU数据导出手持对象和HMD相对于真实世界坐标的姿势。处理系统500可以经由任何合适的硬件来实现,包括但不限于HMD、手持对象、与HMD和/或手持对象通信的主机计算设备、或者分布在这些设备和/或其他设备中的多个设备之间。
在所示的系统500中,HMD经由位于HMD上的图像传感器接收捕获场景中的周围环境和(多个)手持对象的图像数据。用于跟踪周围环境的图像数据在本文中称为“环境跟踪曝光”,而用于跟踪(多个)手持对象的图像数据在本文中称为“手持对象跟踪曝光”。下面更详细地描述获取这些曝光的各种示例方法。
通过使用手持对象跟踪曝光来在视觉上跟踪每帧的手持对象的位置和定向,HMD的光学跟踪器502分析图像数据并且输出与手持对象(或每个手持对象,其中检测到多个手持对象)相对于HMD的姿势(“HMD→LED视觉姿势”503)有关的数据。可以在图像数据中标识光源,例如,通过对图像进行阈值化以找到粗略光源位置,并且然后将统计曲线(例如,高斯函数)拟合到阈值化的图像以在像素或子像素的基础上定位光源。一旦定位了图像数据中的光源,就可以使用任何合适的方法来确定手持对象的位置和定向,包括但不限于基于所确定的光源位置的核线拟合和刚体变换拟合。
通过使用环境跟踪曝光相对于背景环境在视觉上跟踪HMD,头部跟踪器系统504提供HMD相对于世界的姿势(505处的“世界→HMD姿势”)。可以使用任何合适的方法来执行环境特征跟踪。例如,可以通过以下方式来跟踪环境特征:对环境跟踪曝光执行图像识别,例如以标识诸如图像中的边缘等特征,并且然后跟踪环境曝光帧之间的特征位置的变化。
手持对象相对于HMD的光学姿势(503处的“HMD→LED视觉姿势”)和HMD相对于世界的光学姿势(505处的“世界→HMD姿势”)用于确定手持对象相对于世界的姿势。这样确定的姿势在本文中也称为“视觉姿势”。该姿势可以以如下形式提供:表示与先前确定相比的姿势的变化的数据,如506处所示(“世界→LED视觉变化”),或者任何其他合适的形式。该数据经由关于手持对象的光源和IMU的非固有校准数据(在508处示出为“LED→IMU非固有特性”)来调节以在510处产生“世界→IMU视觉姿势”。
关于均在视觉上从HMD的角度观察到的手持对象的姿势(503处的“HMD→LED视觉姿势”)和HMD的姿势(505处的“世界→HMD姿势”)的光学姿势数据进一步被提供给融合器514。融合器514获取光学姿势数据,并且将其与手持对象的所接收的IMU数据“融合”以提供手持对象相对于环境的实际姿势。
IMU数据是从手持对象上的IMU源516接收的。IMU数据可以表示六个自由度。由于加速度计和陀螺仪可能会具有随机误差,这些误差具有跨整个带宽的平坦频率响应,因此在518处可以使用低通滤波器(LPF)来通过去除可能不会用于操作的高频分量来减少这样的噪声。滤波可以在远程(例如,经由主机PC)或在本地执行,并且数据也可以被下采样。然后,可以经由先前为手持对象存储的固有校准数据520(示出为校准源522)来调节所得到的IMU数据。示例固有校准数据520包括关于立体相机偏移和相对相机位置的数据。这样的校准数据可以在系统使用期间更新,如下面更详细地描述的。所得到的“理想化IMU”数据524被提供给融合器514以与来自头部跟踪器系统和光学跟踪器的图像数据融合。
手持对象和HMD在单独的时钟域中操作,并且它们之间的通信信道可能会出现滞后和潜在的数据速率不一致。这样,为了帮助将IMU数据与时间上相对应的视觉跟踪姿势510相关,使用时域变换器527将手持对象的时域与HMD的时域对准。下面更详细地描述用于执行该对准的方法的示例。
关于何时测量光学姿势的时间信息525被提供给头部跟踪器系统504。在获取对应的HMD→LED视觉姿势时,头部跟踪器系统504可以给出最可能的世界→HMD姿势,使得关于何时评估HMD→LED视觉姿势503和世界→HMD姿势505的离散时刻足够重合。
由于输入到融合器的手持对象的视觉姿势数据是相对于外部环境的,并且由于来自手持对象的IMU数据相对于惯性坐标系在其主体坐标系中,所以融合器514可以融合这些数据并且输出手持对象相对于世界的姿势,在526处示出为“世界→LED姿势”。融合器514可以以任何合适的方式(诸如经由使用滤波器)融合这些数据。在一些示例中,可以使用多个卡尔曼滤波器,每个卡尔曼滤波器在离散的时间戳上对离散的数据进行操作,以帮助适应关于IMU数据和视觉姿势数据的时间的对应关系的不确定性。
“映射改变”过程512可以用于相对于世界内的不同跟踪特征跟踪头部姿势的改变,并且当跟踪特征改变时(例如,当用户在房间之间移动时)调节映射。“映射改变”可以通过使世界坐标重新基于新的世界坐标系或者通过将新的世界坐标映射回原始世界坐标系来执行。对映射的这种更新可以确保融合器514连续考虑HMD相对于世界的位置的持续变化。
由融合器输出的“世界→HMD姿势”526可以用于导出HMD与手持对象的关系,示出为“HMD→LED姿势”530。然后,由于融合器514而产生的“HMD→LED姿势”数据530可以作为反馈发送到光学跟踪器502用于运动预测目的,以帮助基于HMD运动和手持对象姿势来预测下一帧中的控制器的预期姿势。姿势数据还可以在532处发布并且发送到姿势管理器534。
图6示出了图示估计手持对象的姿势的示例方法600的流程图。方法600可以例如由HMD的光学跟踪器(诸如图5的光学跟踪器502)执行,并且可以针对立体相机对中的每个相机单独执行。方法600最初包括在602处执行光源检测和子像素细化。如上所述,可以在从相机获取的图像数据的手持对象跟踪曝光中检测手持对象上的光源。在每个手持对象跟踪曝光中,可以检测到多个光源。每个光源点可以覆盖多个像素。相对较大的光点大小可能会在姿势估计中引入不确定性。这样,可以执行子像素细化以确定图像中的每个光源的最可能的子像素位置。
在604处,针对检测到的每个光源,确定该光源在图像中的像素位置,由像素坐标u、v表示。接下来,在606处,可以基于空间中的三维坐标系将每个二维u、v像素映射到对应的候选三维数据点x、y、z。在608处,计算设备可以基于这些光源对应关系生成针对手持对象的姿势的假定。在610处,计算设备可以确定在像素空间中最接近u、v像素坐标的四个检测以及在3D模型空间中最接近x、y、z的四个模型点。在614,对于大小为4(指的是四个最接近的检测点和模型点)的2D-3D对应关系的唯一组合(包括初始u、v和x、y、z坐标)(在612处),计算设备可以在u、v的所有可能的顺序中进行置换以细化与x、y、z的对应关系。然后在616处,过滤这些可能的顺序,并且在618处,进一步验证一旦将x、y、z投影到图像上,则u、v和x、y、z的定向将相同。在620处,计算设备求解4点姿势,该4点姿势是指通过评估大小为4的对应关系而获取的姿势(平移和旋转)。计算设备进一步预测更多可能的uv-xyz对应关系,并且细化这些预测。假定某个姿势,预测关于重新投影误差(2D检测点u、v以及相关联的3D点x、y、z的预测之间的误差)被阈值化。在622处,评估解以确定该求解姿势与观察数据充分匹配的可能性。如果姿势被确定为足够,则在624处,计算设备进一步用多相机图像数据细化姿势并且返回最终姿势作为解。例如,由于HMD可以具有多于一个相机,所以可以在HMD上针对每个相机求解姿势。执行这种细化,作为对从不同相机获取的多个姿势的后处理。在其他示例中,可以使用任何其他合适的姿势估计过程。
图7示出了图示在手持对象702上和向其发送IMU数据的另一计算设备704(诸如主机PC或HMD)上的IMU数据的示例处理的流程图。IMU源718是图5的IMU源516的示例。如上所述,来自手持对象702的原始IMU数据706使用低通滤波器708进行滤波,并且进行下采样以发送到另一计算设备704。经低通滤波的IMU数据710在主机计算设备704的手持对象人机接口设备(HID)712处接收,并且由记录器714和手持对象核心716进一步处理以产生作为IMU源718提供的数据。
如上所述,使用HMD上的一个或多个可见光相机,手持对象可以使用可见光LED来提供姿势估计。在一个示例中,手持对象可以具有32个可见光LED的布置,这些可见光LED可以被主动地照明以用于设备跟踪。此外,在一些示例中,可以利用两个手持对象。在这样的示例中,用于两个手持对象的光源布置可以是相同的,或者可以是不同的并且是非对称的,以支持在两个手持对象在图像帧中均可见时区分由每个控制器产生的光图案。例如,可见光源和可见光相机的使用可以帮助避免与可能使用红外光的外来设备的干扰。此外,可见光LED的使用可以允许用于对周围环境进行成像以跟踪HMD姿势的相同的可见光传感器被用于跟踪LED星座。
如上所述,来自HMD的图像数据可以用于跟踪手持对象相对于HMD的姿势和HMD相对于周围环境的姿势。然而,不同的图像数据特性对于这些功能可能是有利的。例如,HMD姿势使用HMD的内向外可见光相机传感器(例如,布置为立体相机系统)来估计,这些传感器跟踪在环境的图像中检测到的特征,这些传感器可以经由环境光对环境成像。因此,为了获取足够详细的图像以进行HMD姿势跟踪,使用相对较高的相机增益和较长的曝光设置(在某些示例中为毫秒量级)以获取可以从中提取足够的环境特征的图像可能会有所帮助。
另一方面,手持对象姿势通过跟踪手持对象上的多个光源输出的光来确定。由于与用于HMD跟踪图像的环境光相比,光源可能具有相对较高的强度,因此可以使用较短的相机曝光(在某些示例中为几十到数百微秒量级)来相对于背景环境检测光源。在这样的图像中,可以在较短的曝光图像中将光源检测为相对于大部分为黑色的背景的亮点。
鉴于这些因素,使用相同的光学设置(例如,积分时间、增益)获取头部姿势和手持对象姿势估计数据可能导致捕获环境的足够背景特征,但是在光源区域中没有足够的对比度,或者以对比度可接受但在图像的背景区域中的细节不足的方式捕获光源区域。一种可能的解决方案是为每种跟踪功能在HMD上使用不同的专用相机(或多个相机的不同布置),其中一个相机或相机布置采用较短曝光较低增益的图像进行光源跟踪,而另一相机或相机布置需要采用更长曝光更高增益的图像以进行环境跟踪。然而,将这种专用相机布置用于环境和手持对象成像可能会增加系统成本、功耗和热量输出。
因此,在一些示例中,通过将来自图像感测系统的数据分离成单独的虚拟相机流,可以将相同的图像感测系统(例如,相机或立体相机布置)用于两种跟踪功能。例如,图像感测系统可以被配置为交织用于环境跟踪的长曝光帧和用于手持对象跟踪的短曝光帧以形成曝光序列,其中曝光序列是环境跟踪曝光和手持对象跟踪曝光的重复图案。在一些示例中,与曝光序列中的头部跟踪相比,图像感测系统还可以用于获取用于手持对象跟踪的更多帧。例如,由于手持对象可以以比HMD更快的速率改变姿势,因此与头部跟踪相比获取用于手持对象跟踪的更多帧可以有助于保持图像观察之间的跟踪保真度。
在一些示例中,获取环境跟踪曝光包括为手持对象跟踪曝光利用更长的曝光时间和更高的增益中的一个或多个。在一个更具体的示例中,可以使用120Hz帧频率相机作为HMD中的共享相机传感器。在这样的系统中,一个示例曝光序列可以包括比率为1:1的长和短曝光时间,其中一个60Hz长(背景)曝光之后是60Hz短(手持对象光源)曝光。另一示例曝光序列包括比率为1:2的30Hz长曝光与随后的两次60Hz短曝光。在其他示例序列中,可以使用比率为1:3的一次长曝光与随后的三次短曝光,或者使用比率为2:3(例如,一次长曝光,随后是一次短曝光,随后是一次长曝光,随后是两次短曝光)。在其他示例中,可以使用任何其他合适的曝光序列。
图8示出了在短曝光期间由共享相机传感器生成的用于手持对象跟踪的示例图像800,其中手持对象的光源星座被检测为相对于深色背景804的照明点802。任何合适的特征检测方法可以用于检测手持对象的光源星座。作为一个示例,图像800首先被阈值化以定位可能由手持对象的多个光源引起的亮点。然后可以拟合分布(高斯分布或其他合适的分布函数)以定位每个候选亮点的像素中心。这种拟合也可以用于拒绝与手持对象的多个光源的预期轮廓不匹配的候选亮点。基于在图像800中检测到的每个光源的位置,可以标识手持对象的姿势,如下面更详细地描述的。
在一些示例中,当获取环境和手持对象跟踪曝光两者时,与手持对象相关联的光源可以被连续供电。然而,在这样的示例中,由手持对象的多个光源发射的光可能会干扰与跟踪HMD的姿势(例如,环境跟踪曝光)相对应的相机帧,并且还可能导致高功耗。
因此,在其他示例中,可以选择性地控制手持对象上的多个光源,以在与手持对象跟踪相对应的曝光期间以较高的积分强度进行脉冲,而在与环境跟踪相对应的曝光期间以较低的积分强度进行脉冲。在一些示例中,可以控制光源以在手持对象跟踪曝光期间使光源脉冲接通,而在环境跟踪曝光期间使光源脉冲断开。在任一示例中,对光源进行脉冲可以有助于改善用于HMD姿势跟踪的背景环境的图像的质量,降低手持对象光源的用户感知亮度,并且延长电池寿命。
然而,当手持对象的光源以较低的脉冲频率被脉冲时,可以感知到明显的闪烁。这样,在以可以感知到闪烁的(多个)帧速率获取环境跟踪曝光和/或手持对象跟踪曝光的情况下,可以采用各种策略来降低这种脉冲调制的可感知性。这种策略可以基于诸如光脉冲频率、光强度、以及由成像感测系统获取的环境和手持对象图像的质量等因素来确定。例如,关于频率,当脉冲频率低于眼睛的刷新速度时,人眼可以感知到光源脉冲。因此,例如,使用90Hz或更高频率的光脉冲可以帮助降低光源调制的可感知性。
图9示出了图示在一个示例脉冲减轻策略中根据时间的光脉冲902和图像获取曝光904、906的图。在该示例中,手持对象的多个光源以统一的90Hz频率脉冲三毫秒。在该示例中,持续时间为100-400微秒的手持对象跟踪曝光904与两个顺序的光脉冲902的中心对准,并且较长的33毫秒环境跟踪曝光906用于获取背景环境图像。由于调制率足够高,这种脉冲在人眼中可以以均匀强度的光出现。
在图9的示例中,一些环境跟踪曝光获取时段906与光源照明时段902重叠。为了避免这种重叠,可以使用光源的较短较亮的脉冲来在手持对象跟踪框架904中对手持对象进行成像。较短较亮的光脉冲可能会导致更难以将手持对象跟踪曝光904与由手持对象光源输出的光脉冲902同步,这是例如由于控制指令在控制设备(主机或HMD)与手持对象之间传播所需要的时间的不确定性。
因此,为了允许足够宽度的光脉冲以用于更确定性的相机/光脉冲同步,同时在环境跟踪曝光期间避免光源的照明,光脉冲序列可以利用以各种图案布置的光脉冲,该光脉冲被配置为具有足够相似的整体积分强度以保持均匀的感知亮度。图10示出了图示用于减少光脉冲调制的可感知性的另一示例策略的根据时间的光脉冲1002和图像获取帧1004、1006的图。在该示例中,使用平坦和倾斜的光脉冲1002的组合。如下面更详细地描述的,倾斜光脉冲的使用可以支持图像感测系统与手持对象之间的时钟同步。
在一些示例中,手持对象可以发射一个或多个光脉冲簇,其中每个光脉冲簇包括曝光光脉冲和抗闪烁光脉冲。图10示出了除了用于手持对象跟踪曝光的光脉冲1002之外为了形成光脉冲簇1010而引入的抗闪烁光脉冲1008。每个抗闪烁光脉冲1008可以包括持续时间和强度,该持续时间和强度导致包含抗闪烁光脉冲1008的光脉冲簇1010的“质心”以期望的频率间隔被定位并且具有基本等于光脉冲1002或以其他频率间隔定位的光脉冲簇1010的总积分强度(例如,该簇中的所有脉冲的曲线下方的面积)。在该示例中,在时间1、2、14和25毫秒处引入的抗闪烁光脉冲1008形成三个光脉冲簇1010,它们的质心分别为1.5、12.5、23.5毫秒,使得质心大约相隔11毫秒(例如,90Hz的光脉冲)。在该示例中,光脉冲簇1010被配置为使得对于每个光脉冲簇1010,积分强度相等。在该示例中,多个光源以90Hz脉冲,但是随着时间,对于人眼可能呈现为均匀地明亮。
抗闪烁脉冲1008可以具有任何合适的一个或多个持续时间和强度。与使用较长的强度较小的抗闪烁脉冲1008相比,使用较短较亮的抗闪烁脉冲1008可以允许抗闪烁脉冲1008在时间上与环境跟踪曝光1006相距更远,并且从而提供更大空间以适应HMD的时钟与手持对象的时钟之间的同步的不确定性。
在HMD与手持对象之间的时间同步不太精确和/或期望对于较高的感知光强度利用较长的抗闪烁脉冲1008的情况下,抗闪烁脉冲1008与环境曝光1006之间的重叠风险可能会增加。为了避免这种重叠,可以移位抗闪烁脉冲1008的时间。抗闪烁脉冲1008的这种时移可能使抗闪烁质量降低到一定程度,但是仍然可以在可接受的范围内以防止感知闪烁。图11示出了根据距闪烁源(例如,手持对象)的距离的相对闪烁幅度的图,其中对于30Hz和60Hz闪烁分量两者,随着HMD与手持对象之间的距离增加,抗闪烁质量降低。在该示例中,HMD与手持对象之间的距离的增加会增加时间同步不确定性,并且围绕手持对象跟踪曝光的光脉冲的长度可能会变长以进行补偿。因此,围绕手持对象跟踪曝光的较宽光脉冲可能会减少用于容纳抗闪烁光脉冲的空间。在图11中,施加极限1102以指示对于30Hz闪烁分量保持未察觉的光脉冲调制的示例范围,并且施加极限1104以指示对于60Hz闪烁分量保持未察觉的光脉冲调制的示例范围。
为了确定HMD的姿势,在图像数据中标识手持对象上的个体光源。然后可以使用关于手持对象的HMD的刚体变换或其他合适的方法来确定相对于手持对象姿势的HMD姿势。为了使单个手持对象上的星座中的光源彼此消除歧义,在一些示例中,可以使用“透视n点”(PnP)方法,其中所获取的图像可以与参考三维(3D)模型中的点关联以变换为图像中相对应的二维(2D)点。PnP方法可以例如与RANSAC方法、穷举搜索方法和/或其他合适的方法结合使用以假定图像观察与3D模型中的点之间的关联。成本函数可以评估这些假定并且确定哪些关联最准确,以最终获取数据关联并且基于数据关联来获取手持对象的最可能姿势。在一些示例中,来自先前姿势估计的姿势预测也可以用于辅助数据关联。从HMD和手持对象的IMU导出的引力信息也可以用于帮助降低数据关联的复杂性。
在一些示例中,可以调制手持对象上的光源发射的光以帮助进一步告知搜索算法。作为示例,可以控制手持对象以关闭其一个或多个光源,以指定时间间隔打开一个或多个光源,将其一个或多个光源的强度调节到较低强度,并且将剩余光源调节到较高强度,和/或执行可以帮助消除歧义的任何其他合适的(多种)调制。
在使用左手手持对象和右手手持对象两者的场景中,可以将左手光源星座与右手光源星座区分开。同样,在可以同时看到相邻用户的手持对象和用户的手持对象的情况下,可以将相邻用户的手持对象产生的星座与用户的手持对象区分开。
在涉及两个或更多个手持对象的场景中,例如,在多个手持对象相距足够远以区分簇(例如,至少相隔阈值距离)的情况下,可以通过在每个手持对象周围定义边界框或者单独聚类来自每个手持对象的光源星座来区分每个手持对象。例如,该阈值距离可以经由聚类算法来预先确定,在该聚类算法中,彼此在阈值距离内的光源可以被确定为位于同一手持控制器上。在难以通过聚类分离由多个手持对象产生的星座的情况下,可以例如通过发射光源的独特图案和/或子图案来区分每个手持对象,以提供具有无歧义的数据关联的精确姿势估计。例如,左侧手持对象和右侧手持对象可以被配置为发射非对称的星座图案,并且它们的独特图案可以用于区分左与右。这样,可以使用合适的搜索算法来有效地搜索独特图案的空间并且生成高度可能的姿势。例如,可能的姿势可以使用非线性优化技术来细化以创建准确的姿势估计。
作为控制用于消除歧义的图案发射的方法的示例,可以控制或配置一个手持对象以发射比另一手持对象更高强度的光,可以控制或配置一个手持对象以在某些帧中关闭其光源,和/或可以控制或配置左侧手持对象和右侧手持对象以便以不同的帧频率发射光。此外,运动预测可以用于帮助确定这种光源调制何时可能有用(例如,手持对象何时彼此靠近或接近),以及替代地何时可以使用聚类(何时手持对象适当地彼此远离和/或不接近)。
此外,在一些示例中,光源亮度可以用作深度提示以帮助跨多个手持对象来对光源消除歧义。例如,如下面更详细地描述的,可以基于手持对象距HMD的距离来改变手持对象上的光源的强度。这样,如果检测到光源的第一子集比光源的第二子集更亮,则可以表明第一子集与距相机更远的第一手持对象相关联,并且第二子集与更近的第二手持对象相关联。
来自光星座图案的任何其他合适的信息可以用来帮助消除歧义和姿势标识。例如,光源亮度可以根据占空比、角度时间、温度和/或图像中的位置被建模,并且然后可以用来拒绝某些姿势(例如,这些光源不能如此明亮并且处于该姿势)或者标识可能的姿势。光源亮度也可以用作如以上关于PnP方法所述的生成模型中的误差项的一部分。
在又一些示例中,相对于由手持对象的板载IMU提供的重力矢量的绝对定向信息或定向可以用于修剪由PnP方法产生的候选光源对应关系。例如,来自外来设备的光源可能碰巧具有相同的星座,但是当由IMU指示的设备定向与先前的估计姿势不匹配或相距太远时,可以将其滤除。在一些示例中,如果这些光源不能由主机计算设备或HMD控制,则也可以确定光源星座来自外来设备。
此外,一旦某些光源星座被识别为来自外来设备,则系统可以偏移HMD相机曝光的时间相位以避免检测外来设备的光源星座。可以对光源进行脉冲以使其与相机曝光对准,并且在时间上偏移以使得脉冲与来自外来设备的脉冲交织。
此外,在一些示例中,可以使用经训练的机器学习模型来对光源星座进行歧义消除。例如,当手持对象非常接近时,这样的模型可以用于对来自左侧手持对象和右侧手持对象的光源进行歧义消除,和/或这样的模型可以直接用于预测手持对象的姿势。
如上所述,在一些示例中,可以基于手持对象相对于HMD的姿势来动态地调节每个光源的强度。例如,手持对象距HMD的距离越远,可能需要越亮的光源来保持信号质量,因为捕获在图像中的光源会随着距离的增加呈二次方下降。另一方面,如果光源太亮,较短的距离可能会引起光源使像素强度饱和。此外,图像中的光源强度也随着照明角度的增加而降低,这是由于例如手持对象相对于HMD旋转,因为每个光源在照明锥内发射光。另外,与图像中心相比,镜头渐晕会在周边导致图像亮度降低。
因此,可以基于手持设备相对于HMD上的相机的移动来动态地调节手持设备上的光源的强度以帮助保持适当均匀的图像响应。在一个示例中,确定如何调节每个光源的强度的方法可以包括:第一启动阶段,其中从最低强度到最高强度执行亮度扫描,直到星座姿势和光源对应关系可以在一个或多个帧中被成功估计。接下来,在第二跟踪阶段,一旦在一个帧中确定了光源对应关系,如果与光源相对应的像素强度超过饱和阈值(例如,图像的数字(DN)大于200),则可以将对应光源的光源亮度降低选定量,诸如设置的分数量。相反,如果像素强度被确定为低于亮度阈值(例如,小于55DN)并且因此太暗,则可以将对应光源的光源亮度提高设置的分数量。可以通过向每个光源施加更少或更多的电流来控制光源亮度。
图像亮度响应可以根据诸如光源占空比、角度、时间/温度和图像中的位置等因素被建模。此外,如在处理期间从融合器获取的运动预测数据可以用于估计未来帧中的手持对象的预测姿势,并且基于预测运动的大小和/或方向相应地控制每个光源的光源亮度。例如,如果HMD的预测运动相对较慢,则强度可以减小或增加得更慢,而如果HMD的预测运动相对较快,则强度可以减小或增大得更快。
光源亮度的动态调节还可以用于节能。如上所述,光源可以位于手持对象周围的位置。这可以帮助确保多个光源在任何时间对于HMD相机可见。但是,由于某些光源在某些帧中可能不可见并且因此不能用于跟踪,因此这些光源在这些帧期间可以动态地变暗和/或关闭以节省功率。例如,关于手持对象的姿势和HMD的姿势的信息可以用于确定在任何图像帧中哪些光源可以可见或不可见。
在一些情况下,快速改变每个光源的亮度(包括打开和关闭光源)可能是不希望的,因为这可能会分散用户(在增强现实场景中)和在附近的其他人的注意力。因此,在一些示例中,光源可以逐渐变暗以减少振动效果。此外,还可以基于光源变得对相机可见或不可见的接近程度(例如,基于运动预测)来控制光源的亮度。这可以帮助防止强度的突然大幅度变化。在一些示例中,IMU数据也可以用于通知运动预测。
图12示意性地示出了基于手持对象1204上的光源1202在相对于相机1206改变定向时的可见性来调节光源亮度的示例方法1200。在该示例中,应当理解,为了简化,示出了仅一个光源并且手持对象用圆圈表示,但是通常将存在多个光源。在1208处,光源1202可以直接面对相机1206。在这种定向下,最高强度的光被引导向相机,因此,光源可以被设置为相对较低的强度(其可以是距相机的距离的函数),诸如50%(在光源的动态范围的中间)。在1210处,旋转手持对象,使得光源1202距离相机1206更远和/或与相机1206成更大的角度。由于光源和相机之间的视线现在位于光源的角度强度分布的较低强度区域中,因此强度可以增加到75%。在1212处,光源902已经旋转到相机1206仍然可见但是几乎在视线之外的位置。因此,该角度处的光以更低的强度发射。因此,输出可以增加到动态范围的100%。在1214处,光源1202已经开始旋转到视线之外,并且因此,亮度降低,例如回到50%的强度。随着手持对象1204进一步旋转并且光源1202变得完全不可见,例如在相对相机1206的180度处,光源1202可以完全关闭或调暗到适当的低强度。
图13示出了图示调节手持对象上的光源亮度的示例方法1300的流程图。方法1300可以例如通过经由逻辑设备在诸如HMD或可选的主机PC等任何合适的计算设备上执行指令来执行。方法1300包括:在1302处,从图像传感器(例如,HMD上的立体相机布置)接收图像数据;以及,在1304处,检测手持对象上的多个可见光源中的一组光源。方法1300还包括:在1306处,向手持设备发送控制信号以调制多个可见光源中的一个或多个光源的亮度。控制信号可以基于任何合适的输入。例如,在1308处,控制信号可以基于在图像数据中检测到的光源特性,诸如图像数据中的一个或多个光源的表观亮度,在1310处,控制信号可以基于从立体图像数据确定的手持对象距HMD的距离,在1312处,控制信号可以基于手持对象相对于HMD的定向,和/或在1314处,控制信号可以基于手持对象在图像传感器的视场中的角度位置。
在一些示例中,基于先前的姿势估计的姿势预测可以用于帮助确定光源调节何时有用,例如,用于对多个手持对象进行歧义消除。姿势预测还可以用于帮助确定如何调制单个手持对象上的个体光源。因此,在1316处,控制信号可以基于运动预测数据。例如,逻辑设备可以确定光源的下一预测位置是距HMD的图像传感器更远还是更近。作为示例,如果光源的下一预测位置更远,则光源可以变亮,或者如果光源的下一预测位置更近,则光源可以变暗。
在1318处,可以将控制信号配置为通过指示手持对象改变施加到每个光源的功率的占空比来调制光源的亮度。如上所述,逻辑设备可以指示手持对象以足够的速率改变占空比以使人眼看不见任何闪烁。在一些示例中,在1320处,逻辑设备可以指示手持对象向所有光源施加相同的亮度变化。在其他示例中,逻辑设备可以指示手持对象向两个或更多个光源施加不同的亮度。不同的亮度可以基于任何合适的因素来选择。例如,在1322处,不同的亮度可以基于两个或更多个光源在手持设备上的位置的差异,使得更直接朝向图像传感器的光源的亮度低于不太直接朝向光源的光源的亮度。在又一其他示例中,在1324处,诸如当光源的子集的定向离开图像传感器的视线时,可以关闭光源的子集,同时可以照亮其他光源。
由于网络通信往返时间不确定性和其他因素,HMD时钟域和手持对象时钟域有时可能不同步。例如,在某些系统中,HMD可以为来自HMD传感器的数据(例如,IMU和图像数据)分配时间戳,并且手持对象可以为来自手持对象传感器的数据(例如,IMU数据)分配时间戳,而在其他系统中,主机计算机可以向其从HMD和手持对象两者接收的数据应用时间戳。在任一示例中,时间不确定性可能由包括例如以下项的因素引起:蓝牙上的数据行进时间、USB上的数据行进时间、HMD处的数据发送延迟、手持对象处的数据发送延迟以及主机PC处的数据识别延迟。HMD和手持对象的时钟域之间的这种时间不确定性可能导致环境跟踪曝光和手持对象跟踪曝光相对于手持对象的光脉冲的定时不正确。时间不确定性也可能导致融合数据不正确。因此,各种光学时间同步方法可以用于使HMD和手持对象的时钟域同步。
图14A至14B示意性地示出了光学同步HMD和手持对象的时钟域的方法的第一示例。图14A-14B的示例在本文中可以称为二进制搜索过程1400。二进制搜索过程1400可以通过确定不确定性间隔持续时间来初始化,例如,通过计算主机PC与手持控制器之间的空中往返时间(例如,蓝牙)、主机PC与HMD之间的有线往返时间(例如,USB)、或基于所使用的系统配置以任何其他合适的方式。
一旦理解了不确定性间隔持续时间,就可以通过以下方式执行二进制搜索过程1400:首先在时间间隔1404的第一部分1402期间脉冲接通手持对象的一个或多个光源,并且然后在时间间隔1404的第二部分1406期间脉冲断开一个或多个光源。在该时间间隔1404期间,为环境跟踪和手持对象跟踪而共享的HMD图像感测系统在时间间隔1404内进行手持对象跟踪曝光1408,并且确定一个或多个光源是否在手持对象跟踪曝光1408中打开或关闭。如果在曝光1408中未检测到一个或多个光源的光脉冲1410,则确定图像感测系统与光源脉冲频率异相,并且在时间间隔1404的不同部分中进行另一手持对象跟踪曝光。同样,当手持对象跟踪曝光1408在时间间隔1404的与光脉冲1410相同的部分中时,可以省略另一次曝光的获取。
在任一情况下,在确定时间间隔1404的哪一部分包含手持对象跟踪曝光1408之后,光脉冲1410的宽度减小为第一部分的第一子间隔(在一些示例中为一半),并且对于缩短的光脉冲1412重复该过程。可以迭代地执行该过程,直到达到目标光脉冲宽度。如图14B所示,可以使不确定性间隔的每个部分与不确定性间隔的(多个)其他部分重叠曝光时间以确保不确定性间隔之一照亮整个手持对象跟踪曝光。在图14B的示例中,光脉冲1410a的持续时间基本上是不确定性间隔±3200μs的一半,而光脉冲1410b的持续时间基本上是不确定性间隔±3200μs的另一半。这两个光脉冲1410a-1410b的持续时间重叠图像曝光时间,使得光脉冲照亮所获取的手持对象跟踪曝光中的至少一个(图像0,图像1)。在将光脉冲1410a定位在图像0中之后,在该示例中,不确定性间隔被分成一半,为±1600μs,并且迭代地执行减小光脉冲宽度的该过程,直到实现目标光脉冲宽度1420。
HMD与手持对象之间的光学时间同步还可以使用锁相环(PLL)状态机来实现。简要地,可以通过基于在倾斜向上脉冲和倾斜向下脉冲期间获取的手持对象跟踪曝光中检测到的光脉冲的相对强度移位光脉冲和/或图像获取的时间来使光脉冲和图像感测同步。
图15示出描绘了适用于对准HMD图像感测系统曝光和手持对象光脉冲的相位的PLL状态机1500的示例的框图。示例PLL状态机1500在以下状态之间循环:扫描1502、粗略同步1504、PLL调节1506以及可选的HID时间1508,并且光脉冲被倾斜以使得一个光脉冲以第一强度开始并且在选择的持续时间内增加到第二强度,并且另一光脉冲随着时间从第一强度减小到第二强度。
扫描状态1502可以基于任何合适的触发条件来开始,诸如初始化和在阈值持续时间(例如,通过时间或帧数测量的)内在(多个)手持对象跟踪曝光中无法检测到光源。图16中示意性地示出了扫描状态1502的一个示例,其中在曝光序列1604上的光脉冲周期1602的时间位置可以在时间上前后移动,以便在曝光序列1604的至少一个手持对象跟踪曝光1608期间检测光脉冲1606。在图16的示例中,曝光序列1604包括一个环境跟踪曝光1610,然后是两个手持对象跟踪曝光1608,并且光脉冲周期1602包括具有倾斜向上强度的第一光脉冲1606和具有倾斜向下强度的第二光脉冲1612。应当理解,在其他示例中,可以使用任何合适的曝光序列和光脉冲周期。
在一些示例中,光源亮度在扫描状态1502期间保持在恒定水平,而在其他示例中,光源亮度在扫描状态1502期间变化。在一些示例中,可以在扫描状态1502期间实现递归搜索或二进制搜索,以使光脉冲1606与手持对象跟踪曝光1608更快地收敛。
当在一个或多个手持对象跟踪曝光中,诸如在扫描状态下每两个连续的手持对象跟踪曝光之一中,检测到由光源脉冲生成的光星座时,可以启动粗略同步状态1504(其示例在图17中示意性地示出)。一旦在第一手持对象跟踪曝光1704中可检测到第一光脉冲1702,则在粗略同步状态1504的一个或多个光脉冲周期1706a-1706c中,调节光脉冲周期中的第一光脉冲1702与第二光脉冲1708之间的相对时间以使第二光脉冲1708与第二手持对象跟踪曝光1710重叠。在一些示例中,粗略同步状态1504可以继续,例如,直到在两个连续的手持对象跟踪曝光中检测到来自光脉冲的光星座,如图17中通过光脉冲周期1706c的光脉冲与曝光序列1712的连续的手持对象跟踪曝光重叠所示。一旦在曝光序列的两个手持对象跟踪曝光中检测到两个光脉冲,PLL状态机1500就可以转变到PLL调节状态1506。在一些示例中,来自光脉冲的光星座在手持对象跟踪曝光中可以变得不可检测,并且PLL状态机1500可以转变到扫描状态1502。
在某些情况下,由于光源亮度降低,在手持对象跟踪曝光中可能无法检测到光星座。因此,在一些示例中,在这种情况下,光源亮度可以在粗略同步状态1504下随时间改变,这可以帮助检测来自光脉冲的光星座并且可以限制粗略同步状态1504的持续时间。
例如,当在两个连续的手持对象跟踪曝光中检测到光星座时,PLL状态机1500可以转变到PLL调节状态1506。一旦在两个手持对象跟踪曝光(或更一般地,在所有手持对象跟踪曝光中,其中每个周期使用多于或少于两个曝光)中检测到光星座,PLL调节状态1506就可以基于在每次曝光中检测到的光脉冲的相对强度来区分手持对象跟踪曝光。例如,对于具有倾斜向上或倾斜向下强度的光脉冲,基于曝光与其重叠的倾斜光脉冲的部分,手持对象跟踪曝光可能显得更亮或更暗。一旦区分了在倾斜向上和倾斜向下期间获取的手持对象跟踪曝光,就可以基于倾斜向上图像帧和倾斜向下图像帧之间的强度差来确定每个光脉冲周期中的光脉冲与手持对象跟踪曝光之间的时间偏移。在一些示例中,可以调节(多个)曝光序列的时间和/或由手持对象发出的光脉冲的时间以校正所确定的时间偏移。
图18示出了用于在PLL调节状态1506期间计算手持对象跟踪曝光1802与倾斜光脉冲的中心1804之间的时间偏移的误差e的示例方法。图像感测系统获取其中检测到由多个光源发射的倾斜光脉冲的一系列手持对象跟踪曝光。在倾斜向上光脉冲1806和倾斜向下光脉冲1808中的每个期间获取手持对象跟踪曝光1802之后,比较每个图像中的光源的强度。当手持对象跟踪曝光1802的中心与倾斜向上光脉冲1806和倾斜向下光脉冲1808的中心1804重叠时,光源强度在所获取的图像中可能显得均匀(或在阈值均匀性内),这表明手持对象的光脉冲序列和曝光序列已经正确同步。同样,这些图像之间的强度差异表明曝光和光脉冲不同步。在图18的示例中,每个倾斜光脉冲的中心1804从手持对象跟踪曝光1802的中心偏移,并且在倾斜向上光脉冲1806期间获取的图像将比在倾斜向下光脉冲1808期间获取的图像显得更暗。图像强度e的差异指示时间偏移的误差。
通过应用与观察到的图像强度误差e有关的校正量Δ,可以采用负反馈回路来最小化时间偏移的误差。在一些示例中,在手持对象与HMD之间的关系为Δ=Kp*e的情况下,可以使用比例控制器。由于正在同步的两个设备之间的时钟偏移漂移,在使用这种比例控制器时可能会出现稳态误差。在一些示例中,经由比例积分控制器引入诸如由Δ=Kp*e+∫(Ki*e)dt给出的积分分量可以帮助减轻稳态误差。系数Kp和Ki将针对特定系统进行设计,并且取决于光脉冲斜坡的斜率和系统中存在的噪声量。噪声源可能包括与光强度估计、手部或头部移动和环境照明有关的误差。在其他示例中,可以使用任何其他合适的控制系统来最小化通过反馈回路的偏移误差。
PLL调节状态1506用于保持对准,直到多个光源变得不可检测。然而,如果在PLL调节状态1506期间在手持对象跟踪曝光中不再检测到来自光脉冲的光星座,则PLL状态机1500可以改变为扫描状态1502或其他合适的状态以重新建立同步。
诸如由环境光和手持对象相对于HMD的运动产生的图像数据噪声可能会影响对时钟域之间的时间不确定性的测量。为了帮助减少噪声对PLL调节状态1506的影响,在一些示例中,可以在两个连续的手持对象跟踪帧上使用两个倾斜的光脉冲来确定对时间不确定性的绝对测量。此外,在一些示例中,可以在倾斜向上脉冲与倾斜向下脉冲之间使用恒定光强度的第三光脉冲。图19示意性地示出了包括位于倾斜向上光脉冲1904与倾斜向下光脉冲1906之间的恒定强度光脉冲1902的示例光脉冲序列。这种恒定强度光脉冲1902可以具有已知强度,并且因此用于校正环境光和其他噪声源。恒定强度光脉冲1902还可以帮助基于其相对于恒定强度光脉冲1902的已知相对位置来区分上斜坡1904和下斜坡1906。在其他示例中,可以在倾斜脉冲之间使用两个或更多个恒定强度光脉冲。
图20示出了用于在连续的手持对象跟踪曝光2004a-b上的两个倾斜光脉冲2002a-b之间使用恒定强度光脉冲来在PLL调节状态1506下计算时间偏移tC的示例方法的图形描述,其中恒定强度脉冲用于归一化从倾斜光脉冲2002a-b接收的信号的强度。在该示例中,可以确定偏移的时间和方向。下面在等式(1)中给出用于确定时间偏移tC的示例计算。偏移计算可以用于减小光源脉冲斜坡的宽度,这可以帮助节省功率并且减小可见光源的感知亮度。
Figure BDA0002266671190000241
其中tC是光脉冲与手持对象跟踪曝光之间的时间偏移,l0是手持对象跟踪曝光的中心与第一倾斜光脉冲相交的位置,l1是另一手持对象跟踪曝光的中心与第二倾斜光脉冲相交的位置,t0是每个倾斜光脉冲开始的时间,而t1是每个倾斜光脉冲结束的时间。
动态亮度调节也可以在PLL调节状态1506期间使用。对于动态亮度,对于成像星座中每个检测到的光源,在两个连续的手持对象跟踪帧上对中值幅度进行平均。然后,平均幅度可以用于修改占空比以便以期望的光源幅度为目标。
在一些示例中,可以使用可选的HID时间状态1508来确定PLL状态机1500是转变到扫描状态1502还是粗略同步状态1504。该状态是指如上所述通过计算主机PC与手持对象之间的空中往返时间(例如,蓝牙)、主机PC与HMD之间的有线往返时间(例如,USB)、或基于系统配置以任何其他合适的方式来使HMD与手持对象时钟域同步。如果该过程在时间偏移不确定性方面提供足够小的上限(例如,+/-3ms),则可以使用HID时间状态1508来跳过扫描状态1502,并且可以改为转变到粗略同步状态1504。
图21示出了PLL状态机2100的另一示例。PLL状态机2100在扫描状态2102、粗略同步状态2104、PLL调节状态2106和估计同步状态2108之间循环。示例PLL状态机2100的扫描状态、粗略同步状态和PLL调节状态可以如上面针对示例PLL状态机1500所述地操作。
当在PLL调节状态2106期间在(多个)手持对象跟踪曝光中变得无法检测到(多个)光脉冲时,PLL状态机2100在恢复到扫描状态2102之前的持续时间内在估计同步状态2108下估计手持对象时钟域与HMD时钟域之间的漂移。在一些示例中,可以针对阈值时间段估计时钟域之间的漂移。如果在估计同步状态2108期间在手持对象跟踪曝光中检测到光脉冲,则PLL状态机2100可以返回到PLL调节状态2106以重新调节HMD和手持对象的时钟域之间的相对时间。另一方面,如果在估计同步状态2108的持续时间内保持未检测到光源,则PLL状态机2100可以返回到扫描状态2102以重新建立同步。
图22示出了另一示例光脉冲周期2202和曝光序列2204。在该示例中,曝光序列2204包括两个较短的手持对象跟踪曝光2206a-b,随后是较长的环境跟踪曝光2208。光脉冲周期2202包括被定时以照亮第一手持对象跟踪曝光2206a的倾斜向上光脉冲2210、被定时以照亮第二手持对象跟踪曝光2206b的倾斜向下光脉冲2212、以及可选的抗闪烁光脉冲2214。例如,抗闪烁光脉冲2214可以对于扫描状态、PLL调节状态和估计同步状态中的一种或多种状态被包括在光脉冲周期中。如图22所示,抗闪烁光脉冲2214可以在时间上与环境跟踪曝光2208重叠,并且因此可以在与HMD姿势确定相对应的图像帧中稍微可见,但是可以被定时以使得强度不会不适当地干扰HMD姿势确定过程。在一些示例中,当在光脉冲周期中的光脉冲之间调节相对时间时,可以在粗略同步状态期间省略抗闪烁脉冲2214。
使HMD时钟和/或主机时钟与手持对象时钟同步的另一示例方法包括在手持对象相对于HMD运动(或基于先前和/或当前运动而被预测为运动)时调制手持对象上的光源,并且将捕获调制的图像与预期图像进行比较。基于捕获图像和期望图像(诸如检测到的光图案与期望的光图案)之间的差异,可以确定时钟之间的时间差。
在这样的过程中,将HMD相机曝光设置为比用于估计单个手持对象姿势的时间更长的时段。在曝光时段期间,手持设备上的一个或多个光源被脉冲多次以在手持对象跟踪曝光中生成可检测图案。HMD将图案指定给手持对象,或者由主机计算机向HMD通知图案,并且因此HMD可以将检测图案与预期图案进行比较。在任一情况下,图案都被预先传送到手持对象,以使得HMD和手持对象基于关于所选择的图案的姿势不确定性来在合适的时间内同步。图案检测可以由HMD的一个相机或多个相机执行。
手持对象还可以用单个光源或一组光源来执行图案。用一个光源执行图案可以提高帧中的跟踪信息的鲁棒性,而用多个光源执行图案可以提高时间估计的鲁棒性。图案和动作可以在统计估计帧中随时间组成。
图23示意性地示出了这种方法的示例。在该示例中,用于捕获光源调制的图像的相机的手持对象跟踪曝光时间设置为400微秒,其比用于估计手持对象的单个姿势的曝光时间长。在图23的光脉冲图形2302中,在400微秒曝光时间期间,光源以较高的强度脉冲3次(在光脉冲图案2302中用“H”表示),然后以较低的强度脉冲3次(在光脉冲图案2302中用“L”表示)。
在使HMD的(多个)相机和手持对象的光脉冲周期同步的情况下,所有光脉冲在图像中可见,如图23中通过手持对象跟踪曝光2304所示。该图像可以指示HMD与手持对象之间的同步在用于适当姿势确定的期望公差内。另一方面,在一个或多个更高强度的光脉冲未成像的情况下,如手持对象跟踪曝光2306所示,则手持对象时钟的前进速度快于主机时钟(在使用主机计算设备的情况下)和/或HMD时钟。同样,如果在捕获的图像中(诸如在手持对象跟踪曝光2308中)缺少一个或多个较低强度的光脉冲,则取决于所使用的系统配置,手持对象时钟的前进速度将慢于主机时钟和/或HMD时钟。此外,缺少的高强度点或低强度点的数量可以指示要进行多少调节以在期望公差内建立同步。
使手持对象时钟与HMD和/或主机设备时钟同步的又一示例方法包括获取多个手持对象跟踪曝光,其中将每次曝光中的多个光源的亮度相对于曝光时间调节不同的不确定性时间,并且基于所获取的每个手持对象跟踪曝光的亮度来确定手持对象和HMD的时钟域之间的时间偏移。在一些示例中,确定时间偏移可以包括对图像结果进行统计分析以确定哪些不确定性时间产生最高强度。这样的方法在本文中可以被称为主动偏移搜索。
作为主动偏移搜索的一个示例,固定手持对象跟踪曝光可以与相似持续时间的照明脉冲一起使用。在该示例中,如果HMD与手持对象之间的时间同步的不确定性为+/-50微秒,则可以捕获多个图像,其中照明脉冲在时间上有意地向前或向后偏移基于这种不确定性而选择的量。与时钟漂移相一致的时间偏移可以被观察为更亮的图像。类似地,在与时钟漂移相反的方向上的时间偏移可以导致图像变暗或无法观察。
图24示意性地示出了用于创建用于时钟同步的统计估计框架的手持对象跟踪曝光2402的序列和用于一系列手持对象跟踪曝光2402的照明偏移2404。在该示例中,在累积缓冲器2406中估计-50微秒的时间同步。虽然在该图中未示出,但是手持对象跟踪曝光可以与光脉冲宽度持续相同的持续时间,并且可以以偏移=0为中心。该方法包括执行光脉冲时间的一系列向前和向后移位以确定在所得到的手持对象跟踪曝光中的最大强度响应的时间偏移,并且该时间偏移可以表示时钟被适当地同步的偏移。
如上所述,可以使用诸如刚体变换或核线拟合等方法来确定相对于HMD姿势的手持对象姿势。然而,随着时间,用于获取图像数据以进行姿势估计的HMD的图像感测系统可能会受到干扰。作为示例,HMD可能表现出来自使用的热变化、来自环境因素、跌落和振动的热变化,所有这些都可能导致设备发生机械和光学变形。这种变形可能使经由刚性旋转变换、核线拟合或其他拟合模型拟合检测到的光星座图案更加困难。诸如立体相机布置等多相机系统中的相机可以相对于彼此移动(例如,旋转和平移),并且还可以相对于IMU移动(如果存在)。相机镜头也可以相对于图像传感器移动和变形。所有这些变形和干扰都可能影响跟踪质量。
因此,本文中描述与在使用期间校准HMD的立体相机布置有关的示例。所描述的校准方法可以在普通设备使用期间执行,例如作为后台处理,并且因此在执行时可能不影响用户体验。尽管在普通使用期间在校准的上下文中进行描述,但是应当理解,所公开的示例也可以用于初始校准(例如,工厂校准)。
一种可能的校准方法可以包括:经由立体相机布置对环境特征进行成像,比较环境特征在对应的左相机图像和右相机图像中的位置,并且基于图像中的环境特征与特征的预期相对位置的观察到的偏移进行校准。例如,该过程可以通过以下方式来执行:确定每个图像中的多个特征点,经由三角测量确定图像之一中的每个特征点的三维位置,并且然后通过沿着扭曲的核线搜索图像来在另一图像中搜索伴随像素。当立体相机布置中的相机在校准中时,伴随像素将沿着核线放置(检测到的每个特征点具有自己的对应的核线)。同样,当相机不在校准中时,伴随像素将与其他相机的(多个)核线偏移。诸如卡尔曼滤波器、滑动窗口束调节和/或递归高斯-牛顿滤波器等优化功能可以用于优化该拟合,并且从而确定对立体相机布置的校准。
在使用环境特征来校准HMD相机系统的情况下,优化可以利用附加变量来补偿未知的三维场景中的特征点的真实深度。这些附加变量可能会增加计算时间,并且给优化算法增加不确定性。此外,当通过三角测量确定像素的位置时,优化算法可能无法充分地区分多相机布置中的相机之间的基线分离变化。
因此,当在HMD的视场中可以检测到一个或多个手持对象时,可以将手持对象上的光源用作校准的特征点。由于HMD知道手持对象和光源的几何形状,因此所得到的优化可能会受到更多限制,并且因此收敛速度会更快。这样的校准方法还可以帮助确定立体相机布置的基线分离变化。
图25示出了用于校准HMD上的立体相机布置的示例方法2500。方法2500可以经由计算机可读指令的执行在诸如HMD或主机计算机等计算设备上执行。在2502处,方法2500包括对于立体相机布置中的每个相机,接收相机的视场的图像数据。在一些示例中,图像数据可以包括比率为1:1的手持对象跟踪曝光和环境跟踪曝光的序列。在其他示例中,图像数据可以包括比环境跟踪曝光更多数目的手持对象跟踪曝光、或者比手持对象跟踪曝光更多数目的环境跟踪曝光,这取决于是否需要对任一类型的曝光都要求较高的帧频率。
在2504处,方法2500包括,对于立体相机布置中的每个相机,在图像数据中检测手持对象的多个光源。可以使用任何合适的特征检测方法来检测多个光源。作为示例,在各种示例中,在手持对象跟踪曝光期间获取的图像可以被阈值化以在图像中定位候选亮点,并且可以使分布(例如,高斯)拟合每个候选亮点以在像素或子像素分辨率上定位每个候选亮点的像素中心。
基于检测到的多个光源,方法2500包括:在2506处,对于每个相机,确定手持对象的姿势(例如,通过用唯一标识符标记手持对象的每个光源来表示)。可以使用任何合适的方法来确定姿势。例如,如2508所示,确定手持对象的姿势可以包括经由刚体变换将观察到的光图案拟合到模型光图案。由于HMD和手持对象每个可以具有初始校准,因此HMD可以期望检测手持对象的模型光图案。这样,统计分析可以分析模型光图案与在多个手持对象跟踪曝光上观察到的观察到的光图案之间的变化以确定校准的误差。作为另一示例,确定手持对象的姿势可以包括沿着核线搜索,如2510所示。图像中检测到的对应点或像素与其在核线上的预期位置之间的偏移可以提供校准误差的指示。
方法2500还包括:在2512处,基于为立体相机布置中的每个相机确定的手持对象的姿势来校准立体相机布置。校准立体相机布置可以包括:在2514处,校准立体相机布置的每个相机的一个或多个固有相机特性。示例固有相机特性包括镜头畸变、焦距和主点。校准立体相机布置还可以包括:在2516处,校准立体相机布置中的每个相机的一个或多个非固有相机特性。示例非固有相机特性包括一个相机相对于另一相机的旋转和平移(例如,图像感测系统中的相机之间的变换)。固有和非固有相机特性可以在优化算法中建模为数学函数。可以将数学测试应用于这些数学函数,诸如在递归优化框架中或在束调节中,以确定每个函数在校准中还是不在校准中。该确定可以包括使用相机观察中的误差的数值函数来预测固有和非固有相机特性的每个参数的误差有多少。每个校准参数的误差可以指示姿势确定的误差,并且因此HMD可以基于已更新的校准参数来计算姿势。在一些示例中,单次曝光可能不足以说明所有可能的校准参数,因此可以在递归优化器中使用该数学框架。
可以以任何合适的频率执行校准过程。在一些示例中,校准可以每分钟发生6-10次,或者甚至超过每分钟10次。在其他示例中,可以不太频繁地执行校准。此外,由于已知光源位置以及由此检测到的手持对象的星座图案,因此即使相机不具有手持对象的重叠视线,也可以执行校准,只要手持对象的一部分至少有时在每个相机的视线中。
在一些示例中,可以通过相对于手持对象的HMD姿势的知识来预测惯性观察。通过配置有HMD的一个或多个相机对手持对象姿势的多次观察可以随时间给出估计以细化IMU数据的解释(例如,重新校准IMU)。在另一示例中,手持对象可以是静止的。在又一示例中,HMD和控制器都可以移动,并且可以执行优化,该优化可以共同优化相对于HMD的手持对象姿势、相对于静止环境的HMD姿势和IMU参数集。
手持对象还可能随着时间而受到干扰,从而影响跟踪质量。作为示例,手持对象可能表现出来自使用和/或环境因素的热变化,或者可能经历跌落和振动,所有这些都可能引起手持对象的机械和光学变形。由于旋转和平移,手持对象上的光源也可以相对于彼此和/或相对于手持对象的IMU移动。此外,光源的透镜会降低HMD精度并且降低使用舒适度。另外,由于精确组装的公差可能很小,所以工厂工艺可能会引入组装工件。由于手持对象的估计校准参数变化,即使使用初始工厂校准,跟踪质量也可能下降。
这样,可以实现各种方法来重新校准手持对象的校准参数。示例性校准参数包括与光源非固有特性(例如,每个光源相对于其他光源在手持对象上的位置)、IMU非固有特性(例如,IMU相对于光源星座的位置)和IMU固有特性(例如,陀螺仪的偏置、加速度计的偏置、混合矩阵等)有关的参数。
在一个示例中,可以使用数学函数对手持对象的相机观察进行建模。校准的自然函数可能需要准确了解光源图案和光方向的法向矢量定向。可以对这些函数执行适当的测试,以确定它们是否不在校准中或在校准中。类似地,可以基于在静止的世界锁定坐标系中的手持对象姿势的知识来预测惯性观察。通过HMD相机对手持对象姿势的多次观察与世界中的HMD姿势相结合可以在多个时间点给出估计,从而可以细化IMU数据的解释方式,从而可以重新校准IMU。在静止的HMD的情况下,世界中的HMD姿势可以是身份变换,也可以由HMD跟踪系统(内向外或外向内)来计算。例如,如果IMU始终报告与光学观察值不匹配的数据,则可以根据需要调节校准参数以校正IMU偏差并且使IMU输出与手持对象的光学确定姿势保持一致。
校准的自然函数可能需要准确了解光源星座和光方向的法向矢量定向。辅助函数可以是照明水平的光源场。例如,知道50度的照明角度可以指示50%的照明水平。
随着HMD进行一系列观察,HMD可以确定替代参数可以使观察更有可能。例如,在将手持对象跌落并且在手持对象上的光源位置上发生变形之后,HMD可以观察到与模型光图案不同的光图案,并且可以重新计算星座位置并且更新手持对象的一个或多个校准参数。HMD上的跟踪系统可以使用光源位置、法线、照明场和IMU参数的新估计来细化未来的跟踪和姿势估计。
图26示出了用于经由包括立体相机布置的HMD来确定对手持对象的校准的示例方法2600。方法2600可以诸如经由HMD的处理器或主机计算机经由存储在计算设备上的指令的执行来在计算设备上执行。方法2600包括:在2602处,从立体相机布置的第一相机从第一相机的角度接收第一图像数据,以及在2604处,从立体相机布置的第二相机收从第二相机的角度接第二图像数据。第一图像数据和第二图像数据可以由第一相机和第二相机同时获取,并且可以包括任何合适的曝光序列和(多个)帧速率。
在2606处,方法2600包括在第一图像数据和第二图像数据中检测手持对象的多个光源。可以使用任何合适的特征检测方法来检测多个光源,包括但不限于上述方法(例如,阈值化、分布拟合、子像素细化等)。方法2600还包括:在2608处,确定检测到的多个光源中的每个光源的三维位置。确定三维位置可以包括例如经由立体成像技术确定每个光源的三维位置,并且然后将所确定的位置与模型位置进行比较。作为另一示例,确定三维位置可以包括利用刚体变换以将观察到的光图案拟合到三维模型。在任一情况下,可以确定观察到的图案不能以适当低的误差拟合到模型图案,这表明需要进行校准。
因此,在2610处,方法2600包括基于所确定的每个三维位置来确定对手持对象的校准。在一些示例中,确定校准包括利用卡尔曼滤波器、滑动窗口束调节和/或递归高斯-牛顿滤波器中的一种或多种来更新关于每个个体光源的位置信息(例如,旋转和/或定向信息)。在这样的示例中,在多个手持对象跟踪曝光上观察到的光图案可以用于为手持对象的光源经历的位移建立鲁棒的估计。
在2612处,方法2600可以包括从手持对象的IMU接收手持对象的感测定向。在一些示例中,如IMU指示的随时间的手持对象的感测定向可以用于帮助确定手持对象的定向的变化,并且从而确定手持对象的姿势的变化。方法2600可以包括:在2614处,基于感测定向来确定对IMU的校准。如上所述,IMU和光源可以相对于彼此旋转和/或平移。因此,确定对IMU的校准可以包括:在2616处,确定对IMU的位置和旋转中的一个或多个的校准。
在一些示例中,可以同时执行确定对立体相机布置的校准和确定对手持对象的校准。在这样的示例中,优化框架(例如,上述卡尔曼滤波器和/或其他算法)可以用于同时求解两种类型的校准的校准参数,并且因此可以简化每个设备的更新校准参数。在其他示例中,可以单独确定校准。在其他示例中,可以以交替方式一起求解参数,其中用于一个校准过程的变量影响另一校准过程。
本文中描述的方法和过程可以与一个或多个计算设备(诸如头戴式设备或主机计算机)的计算系统绑定。具体地,这样的方法和过程可以被实现为计算机应用程序或服务、应用程序编程接口(API)、库和/或其他计算机程序产品。
图27示意性地示出了可以实施上述方法和过程中的一个或多个的计算系统2700的非限制性实施例。计算系统2700以简化形式示出。计算系统2700可以采取一个或多个个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)和/或其他计算设备的形式,诸如头戴式显示设备102、手持对象106和主机计算设备108。
计算系统2700包括逻辑子系统2702和存储子系统2704。计算系统2700可以可选地包括显示子系统2706、输入子系统2708、通信子系统2710和/或未在图27中示出的其他组件。
逻辑子系统2702包括被配置为执行指令的一个或多个物理设备。例如,逻辑子系统2702可以被配置为执行作为一个或多个应用、服务、程序、例程、库、对象、组件、数据结构或其他逻辑构造的部分的指令。可以实现这样的指令以执行任务,实现数据类型,变换一个或多个组件的状态,实现技术效果,或者以其他方式实现期望结果。
逻辑子系统2702可以包括被配置为执行软件指令的一个或多个处理器。另外地或替代地,逻辑子系统2702可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件逻辑机。逻辑子系统2702的处理器可以是单核或多核的,并且在其上执行的指令可以被配置用于顺序、并行和/或分布式处理。逻辑子系统2702的个体组件可选地可以分布在两个或更多个分离的设备之间,这些设备可以位于远程和/或被配置用于协作处理。逻辑子系统2702的各方面可以由以云计算配置而配置的远程可访问的联网计算设备虚拟化和执行。
存储子系统2704包括被配置为保存可以由逻辑子系统2702执行以实现本文中描述的方法和过程的指令的一个或多个物理设备。当实现这样的方法和过程时,存储子系统2704的状态可以被变换,例如以保存不同的数据。
存储子系统2704可以包括可移除和/或内置设备。存储子系统2704可以包括光学存储器(例如,CD、DVD、HD-DVD、蓝光光盘等)、半导体存储器(例如,RAM、EPROM、EEPROM等)和/或磁存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)。存储子系统2704可以包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址和/或内容可寻址设备。
应当理解,存储子系统2704包括一个或多个物理设备。然而,替代地,本文中描述的指令的各方面可以由物理设备未在有限的持续时间内保持的通信介质(例如,电磁信号、光信号等)传播。
逻辑子系统2706和存储子系统2704的各方面可以集成在一起成为一个或多个硬件逻辑组件。例如,这样的硬件逻辑组件可以包括现场可编程门阵列(FPGA)、程序和应用专用的集成电路(PASIC/ASIC)、程序和应用专用的标准产品(PSSP/ASSP)、片上系统(SOC)和复杂可编程逻辑器件(CPLD)。
当被包括时,显示子系统2706可以用于呈现由存储子系统2704保存的数据的视觉表示。该视觉表示可以采用图形用户界面(GUI)的形式。当本文中描述的方法和过程改变由存储机器保存的数据,并且因此变换存储机器的状态时,显示子系统2706的状态可以同样变换以可视地表示基础数据的变化。显示子系统2706可以包括实际上利用任何类型的技术的一个或多个显示设备。这样的显示设备可以在共享的外壳中与逻辑子系统2702和/或存储子系统2704组合,或者这样的显示设备可以是外围显示设备。
当被包括时,输入子系统2708可以包括一个或多个用户输入设备或与之对接,诸如键盘、鼠标、触摸屏或游戏控制器。在一些实施例中,输入子系统可以包括所选择的自然用户输入(NUI)组件或与之对接。这样的组件可以是集成的或外围的,并且输入动作的转导和/或处理可以在板上或在板外进行。示例NUI组件可以包括用于声音和/或语音识别的麦克风;用于机器视觉和/或姿势识别的红外、彩色、立体和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速度计和/或陀螺仪;以及用于评估大脑活动的电场感测组件。
当被包括时,通信子系统2710可以被配置为将计算系统2700与一个或多个其他计算设备通信地耦合。通信子系统2710可以包括与一种或多种不同的通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可以被配置用于经由无线电话网络或者有线或无线局域网或广域网的通信。在一些实施例中,通信子系统可以允许计算系统2700经由诸如因特网等网络向其他设备发送消息和/或从其他设备接收消息。
另一示例提供了一种头戴式设备,该头戴式设备包括立体相机布置、被配置为执行指令的逻辑设备、以及包括由逻辑设备可执行以执行以下操作的指令的存储设备:针对立体相机布置中的每个相机,接收相机的视场的图像数据,在图像数据中检测手持对象的多个光源,并且基于检测到的多个光源,确定手持对象的姿势;以及基于针对立体相机布置中的每个相机确定的手持对象的姿势,校准立体相机布置。在这样的示例中,这些指令可以另外地或替代地可执行以在头戴式设备的运动和手持对象的运动中的一个或多个运动期间校准立体相机布置。在这样的示例中,这些指令可以另外地或替代地可执行以校准立体相机布置的每个相机的固有特性,固有特性包括透镜畸变、焦距和主点中的一个或多个。在这样的示例中,这些指令可以另外地或替代地可执行以校准立体相机布置的每个相机的非固有特性,非固有特性包括旋转和平移中的一个或多个。在这样的示例中,这些指令可以另外地或替代地可执行以通过经由刚体变换将观察到的光图案拟合到模型光图案来确定姿势。在这样的示例中,这些指令可以另外地或替代地可执行以通过针对在从第一相机接收的图像数据中检测到的每个光源沿着核线在从第二相机接收的图像数据中搜索伴随像素来确定姿势,伴随像素与在从第一相机接收的图像数据中检测到的光源相对应。在这样的示例中,这些指令可以另外地或替代地可执行以利用卡尔曼滤波器、滑动窗口束调节和递归高斯-牛顿滤波器中的一种或多种来校准立体相机布置。在这样的示例中,这些指令可以另外地或替代地可执行以在每分钟6至10次之间校准立体相机布置。
另一示例提供了一种用于经由包括立体相机布置的头戴式设备确定对手持对象的校准的方法,该方法包括:从立体相机布置的第一相机接收从第一相机的角度的第一图像数据,从立体相机布置的第二相机接收从第二相机的角度的第二图像数据,在第一图像数据和第二图像数据中检测手持对象的多个光源,确定检测到的多个光源中的每个光源的三维位置;以及基于所确定的每个三维位置确定对手持对象的校准。在这样的示例中,该方法可以另外地或替代地包括:从手持对象的惯性测量单元(IMU)接收手持对象的感测定向,以及基于感测定向确定对IMU的校准。在这样的示例中,确定对IMU的校准可以另外地或替代地包括确定对IMU的位置和旋转的校准。在这样的示例中,确定对手持对象的校准可以另外地或替代地包括经由卡尔曼滤波器、滑动窗口束调节和递归高斯-牛顿滤波器中的一种或多种来确定校准参数。在这样的示例中,确定每个光源的三维位置可以另外地或替代地包括经由刚体变换将观察到的光图案拟合到模型光图案。
另一示例提供了一种头戴式设备,该头戴式设备包括立体相机布置、被配置为执行指令的逻辑设备、以及包括由逻辑设备可执行以执行以下操作的指令的存储设备:针对立体相机布置中的每个相机,从相机的角度接收周围环境的图像数据,经由图像数据检测相机的视场中的手持对象的多个特征点,确定检测到的每个特征点的位置,并且基于所确定的每个特征点的位置从相机的角度确定手持对象的姿势,基于为每个相机确定的手持对象的姿势来更新立体相机布置的一个或多个校准参数,基于为立体相机布置的每个相机确定的每个特征点的位置来确定每个特征点的三维位置,并且基于所确定的每个特征点的三维位置来更新手持对象的一个或多个校准参数。在这样的示例中,这些指令可以另外地或替代地可执行以在头戴式设备和手持对象的使用期间作为后台过程接收图像数据。在这样的示例中,这些指令可以另外地或替代地可执行以从手持对象的惯性测量单元(IMU)接收手持对象的感测定向,并且基于感测定向确定对IMU的平移和旋转中的一个或多个的校准。在这样的示例中,立体相机布置的一个或多个校准参数可以另外地或替代地包括固有相机特性和非固有相机特性中的一个或多个。在这样的示例中,这些指令可以另外地或替代地可执行以通过以下中的一种或多种方式来确定手持对象的姿势:经由刚体变换将观察到的特征点图案拟合到模型特征点图案,以及针对在从立体相机布置的第一相机接收的图像数据中检测到的每个特征点,沿着核线在从立体相机布置的第二相机接收的图像数据中搜索伴随特征点,该伴随特征点与在从第一相机接收的图像数据中检测到的特征点相对应。在这样的示例中,这些指令可以另外地或替代地可执行以更新立体相机布置的一个或多个校准参数并且同时更新手持对象的一个或多个校准参数。在这样的示例中,这些指令可以另外地或替代地可执行以经由卡尔曼滤波器、滑动窗口束调节和递归高斯-牛顿滤波器中的一种或多种来更新立体相机布置和手持对象中的一个或多个的一个或多个校准参数。应当理解,本文中描述的配置和/或方法本质上是示例性的,并且这些具体的实施例或示例不应当被认为是限制性的,因为很多变型是可能的。本文中描述的具体例程或方法可以代表任何数目的处理策略中的一个或多个。这样,所示出和/或描述的各种动作可以按照所示出和/或描述的顺序执行,以其他顺序执行,并行执行,或者省略。同样,可以改变上述处理的顺序。
本公开的主题包括本文中公开的各种过程、系统和配置以及其他特征、功能、动作和/或特性以及其任何和所有等同方案的所有新颖和非显而易见的组合和子组合。

Claims (8)

1.一种头戴式设备,包括:
立体相机布置;
逻辑设备,被配置为执行指令;以及
存储设备,包括由所述逻辑设备可执行以执行以下操作的指令:
针对所述立体相机布置中的每个相机,
接收所述相机的视场的图像数据,
在所述图像数据中检测手持对象的多个光源,所述多个光源包括所述手持对象的光源的子集,并且其中所述手持对象的所述光源被脉冲,使得所述手持对象发射一个或多个光脉冲簇,其中每个光脉冲簇除了包括光脉冲之外还包括抗闪烁光脉冲,其中每个抗闪烁光脉冲包括持续时间和强度,所述持续时间和强度导致光脉冲簇的质心以期望的频率间隔被定位,并且其中每个簇的总积分强度被配置为等于以其他频率间隔定位的一个或多个光脉冲簇;以及
基于检测到的所述多个光源,确定所述手持对象的姿势;以及
基于针对所述立体相机布置中的每个相机确定的所述手持对象的所述姿势,校准所述立体相机布置。
2.根据权利要求1所述的头戴式设备,其中所述指令可执行以在所述头戴式设备的运动和所述手持对象的运动中的一个或多个运动期间校准所述立体相机布置。
3.根据权利要求1所述的头戴式设备,其中所述指令可执行以校准所述立体相机布置的每个相机的固有特性,所述固有特性包括透镜畸变、焦距和主点中的一个或多个。
4.根据权利要求1所述的头戴式设备,其中所述指令可执行以校准所述立体相机布置的每个相机的非固有特性,所述非固有特性包括旋转和平移中的一个或多个。
5.根据权利要求1所述的头戴式设备,其中所述指令可执行以通过经由刚体变换将观察到的光图案拟合到模型光图案来确定所述姿势。
6.根据权利要求1所述的头戴式设备,其中所述指令可执行以通过针对在从第一相机接收的所述图像数据中检测到的每个光源沿着核线在从第二相机接收的所述图像数据中搜索伴随像素来确定所述姿势,所述伴随像素与在从所述第一相机接收的所述图像数据中检测到的所述光源相对应。
7.根据权利要求1所述的头戴式设备,其中所述指令可执行以利用卡尔曼滤波器、滑动窗口束调节和递归高斯-牛顿滤波器中的一种或多种来校准所述立体相机布置。
8.根据权利要求1所述的头戴式设备,其中所述指令可执行以在每分钟6至10次之间校准所述立体相机布置。
CN201880030926.1A 2017-05-09 2018-04-21 立体相机和手持对象的校准 Active CN110612506B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762503673P 2017-05-09 2017-05-09
US62/503,673 2017-05-09
US15/826,575 2017-11-29
US15/826,575 US10503247B2 (en) 2017-05-09 2017-11-29 Calibration of stereo cameras and handheld object
PCT/US2018/028721 WO2018208465A1 (en) 2017-05-09 2018-04-21 Calibration of stereo cameras and handheld object

Publications (2)

Publication Number Publication Date
CN110612506A CN110612506A (zh) 2019-12-24
CN110612506B true CN110612506B (zh) 2022-11-15

Family

ID=64096095

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880030864.4A Active CN110622107B (zh) 2017-05-09 2018-04-21 跟踪可穿戴设备和手持对象姿势
CN201880030926.1A Active CN110612506B (zh) 2017-05-09 2018-04-21 立体相机和手持对象的校准

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201880030864.4A Active CN110622107B (zh) 2017-05-09 2018-04-21 跟踪可穿戴设备和手持对象姿势

Country Status (4)

Country Link
US (5) US10705598B2 (zh)
EP (3) EP3622371B1 (zh)
CN (2) CN110622107B (zh)
WO (4) WO2018208465A1 (zh)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10509469B2 (en) 2016-04-21 2019-12-17 Finch Technologies Ltd. Devices for controlling computers based on motions and positions of hands
US20190284871A1 (en) * 2016-04-28 2019-09-19 The Regents Of The University Of California Glare sensor that identifies potential glare sources in digital images and computes their coordinates to help control dynamic window and skylight systems
US10664993B1 (en) 2017-03-13 2020-05-26 Occipital, Inc. System for determining a pose of an object
US10726574B2 (en) * 2017-04-11 2020-07-28 Dolby Laboratories Licensing Corporation Passive multi-wearable-devices tracking
DE102017206923B4 (de) * 2017-04-25 2020-12-31 Robert Bosch Gmbh Steuerung einer gerichteten Lichtquelle
TWI626469B (zh) * 2017-04-27 2018-06-11 宏碁股份有限公司 頭戴式顯示器及其控制方法
US10705113B2 (en) 2017-04-28 2020-07-07 Finch Technologies Ltd. Calibration of inertial measurement units attached to arms of a user to generate inputs for computer systems
TWI646449B (zh) * 2017-05-12 2019-01-01 華碩電腦股份有限公司 三維定位系統與方法
US10379613B2 (en) 2017-05-16 2019-08-13 Finch Technologies Ltd. Tracking arm movements to generate inputs for computer systems
US10540778B2 (en) * 2017-06-30 2020-01-21 Intel Corporation System for determining anatomical feature orientation
US10223805B1 (en) * 2017-08-07 2019-03-05 Facebook Technologies, Llc Coded tracking for head-mounted displays
US10152141B1 (en) * 2017-08-18 2018-12-11 Osterhout Group, Inc. Controller movement tracking with light emitters
TWI642903B (zh) * 2017-10-13 2018-12-01 緯創資通股份有限公司 用於頭戴式顯示裝置的定位方法、定位器以及定位系統
US11568568B1 (en) * 2017-10-31 2023-01-31 Edge 3 Technologies Calibration for multi-camera and multisensory systems
US11016116B2 (en) * 2018-01-11 2021-05-25 Finch Technologies Ltd. Correction of accumulated errors in inertial measurement units attached to a user
US10845601B1 (en) * 2018-02-07 2020-11-24 Apple Inc. AR/VR controller with event camera
CA3059064C (en) * 2018-03-07 2022-01-04 Magic Leap, Inc. Visual tracking of peripheral devices
US11042226B2 (en) * 2018-04-02 2021-06-22 Microsoft Technology Licensing, Llc Constellation-based augmentation of mouse form-factor for virtual reality applications
US11474593B2 (en) 2018-05-07 2022-10-18 Finch Technologies Ltd. Tracking user movements to control a skeleton model in a computer system
US10416755B1 (en) 2018-06-01 2019-09-17 Finch Technologies Ltd. Motion predictions of overlapping kinematic chains of a skeleton model used to control a computer system
KR102551686B1 (ko) * 2018-05-29 2023-07-05 삼성전자주식회사 외부 전자 장치의 위치 및 움직임에 기반하여 외부 전자 장치와 관련된 객체를 표시하는 전자 장치 및 방법
US11009941B2 (en) * 2018-07-25 2021-05-18 Finch Technologies Ltd. Calibration of measurement units in alignment with a skeleton model to control a computer system
KR102559203B1 (ko) * 2018-10-01 2023-07-25 삼성전자주식회사 포즈 정보를 출력하는 방법 및 장치
WO2020101891A1 (en) 2018-11-12 2020-05-22 Magic Leap, Inc. Depth based dynamic vision sensor
US11287526B2 (en) * 2018-11-21 2022-03-29 Microsoft Technology Licensing, Llc Locating spatialized sounds nodes for echolocation using unsupervised machine learning
ES2927281T3 (es) 2018-11-21 2022-11-03 Ericsson Telefon Ab L M Calibración de dispositivos electrónicos móviles conectados a cascos que se llevan puestos por los usuarios
JP7202156B2 (ja) * 2018-11-30 2023-01-11 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、位置姿勢取得用デバイス、およびデバイス情報取得方法
US11347303B2 (en) 2018-11-30 2022-05-31 Sony Interactive Entertainment Inc. Systems and methods for determining movement of a controller with respect to an HMD
EP3899642A1 (en) 2018-12-20 2021-10-27 Snap Inc. Flexible eyewear device with dual cameras for generating stereoscopic images
US10802282B2 (en) 2018-12-21 2020-10-13 Microsoft Technology Licensing, Llc Controlling light source intensities on optically trackable object
CN113454518A (zh) * 2018-12-21 2021-09-28 奇跃公司 多相机交叉现实设备
US20200234467A1 (en) * 2019-01-18 2020-07-23 Nec Laboratories America, Inc. Camera self-calibration network
JP7353773B2 (ja) * 2019-03-18 2023-10-02 株式会社ソニー・インタラクティブエンタテインメント 複数のマーカを備えたデバイス
CN114080800A (zh) 2019-06-25 2022-02-22 美国斯耐普公司 利用双摄像头进行连续摄像头捕捉
US11178384B2 (en) * 2019-07-10 2021-11-16 Nintendo Co., Ltd. Information processing system, storage medium, information processing apparatus and information processing method
US11488320B2 (en) 2019-07-31 2022-11-01 Samsung Electronics Co., Ltd. Pose estimation method, pose estimation apparatus, and training method for pose estimation
US10809797B1 (en) 2019-08-07 2020-10-20 Finch Technologies Ltd. Calibration of multiple sensor modules related to an orientation of a user of the sensor modules
US11568562B1 (en) * 2019-08-16 2023-01-31 Meta Platforms Technologies, Llc Self-tracked controller
US10848920B1 (en) 2019-09-17 2020-11-24 Microsoft Technology Licensing, Llc Generation of precise geospatial coordinates
US11175729B2 (en) 2019-09-19 2021-11-16 Finch Technologies Ltd. Orientation determination based on both images and inertial measurement units
US10976863B1 (en) 2019-09-19 2021-04-13 Finch Technologies Ltd. Calibration of inertial measurement units in alignment with a skeleton model to control a computer system based on determination of orientation of an inertial measurement unit from an image of a portion of a user
US10997949B2 (en) * 2019-10-04 2021-05-04 Facebook Technologies, Llc Time synchronization between artificial reality devices
CN110837295A (zh) * 2019-10-17 2020-02-25 重庆爱奇艺智能科技有限公司 一种手持控制设备及其追踪定位的方法、设备与系统
GB2588773A (en) * 2019-11-05 2021-05-12 Pss Belgium Nv Head tracking system
US10965931B1 (en) 2019-12-06 2021-03-30 Snap Inc. Sensor misalignment compensation
US11176647B2 (en) 2019-12-11 2021-11-16 Toyota Motor Engineering And Manufacturing North America, Inc. Image and object detection enhancement based on lighting profiles
EP3836085A1 (en) 2019-12-13 2021-06-16 Sony Corporation Multi-view three-dimensional positioning
US11156843B2 (en) * 2020-01-10 2021-10-26 Facebook Technologies, Llc End-to-end artificial reality calibration testing
US20230296408A1 (en) * 2020-03-26 2023-09-21 Creaform Inc. Method and system for maintaining accuracy of a photogrammetry system
CN111614915B (zh) * 2020-05-13 2021-07-30 深圳市欢创科技有限公司 一种空间定位方法、装置、系统和头戴式设备
US11567528B2 (en) 2020-05-19 2023-01-31 Microsoft Technology Licensing, Llc LED synchronization for virtual and augmented reality devices
AU2021280384A1 (en) * 2020-05-29 2023-01-05 Sony Interactive Entertainment Inc. Input device
CN111752386A (zh) * 2020-06-05 2020-10-09 深圳市欢创科技有限公司 一种空间定位方法、系统及头戴式设备
WO2021244187A1 (en) * 2020-06-05 2021-12-09 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for tracking head mounted display device and head mounted display system
KR20210157708A (ko) * 2020-06-22 2021-12-29 삼성전자주식회사 밝기 조절 방법 및 hmd 장치
JP2022003730A (ja) * 2020-06-23 2022-01-11 キヤノン株式会社 撮像方法、撮像システム、製造システム、および物品の製造方法
IT202000018673A1 (it) * 2020-07-30 2022-01-30 Ledworks Srl Metodo per determinare la posizione tridimensionale di una pluralità di dispositivi di illuminazione
US20220067949A1 (en) * 2020-08-25 2022-03-03 Htc Corporation Object tracking method and object tracking device
US11422619B2 (en) * 2020-09-01 2022-08-23 Htc Corporation Tracking method and tracking system
CN112286343A (zh) * 2020-09-16 2021-01-29 青岛小鸟看看科技有限公司 定位追踪方法、平台及头戴显示系统
CN112203076B (zh) * 2020-09-16 2022-07-29 青岛小鸟看看科技有限公司 Vr系统中多摄像头曝光中心点的对齐方法、系统
US11232594B1 (en) * 2020-10-23 2022-01-25 Tobii Ab Iterative point indexing
CN112437213A (zh) * 2020-10-28 2021-03-02 青岛小鸟看看科技有限公司 图像采集方法、手柄设备、头戴设备及头戴系统
CN112451962B (zh) * 2020-11-09 2022-11-29 青岛小鸟看看科技有限公司 一种手柄控制追踪器
CN112527102B (zh) * 2020-11-16 2022-11-08 青岛小鸟看看科技有限公司 头戴式一体机系统及其6DoF追踪方法和装置
JP2023554001A (ja) * 2020-12-14 2023-12-26 マジック リープ, インコーポレイテッド エピポーラ制約を使用したバンドル調節
CN112822480B (zh) * 2020-12-31 2022-05-17 青岛小鸟看看科技有限公司 Vr系统及其定位追踪方法
US11845001B2 (en) * 2021-01-14 2023-12-19 Htc Corporation Calibration system and method for handheld controller
TW202231321A (zh) * 2021-02-03 2022-08-16 宏達國際電子股份有限公司 追蹤系統
CN113225870B (zh) * 2021-03-29 2023-12-22 青岛小鸟看看科技有限公司 Vr设备定位方法及vr设备
CN113318435A (zh) * 2021-04-27 2021-08-31 青岛小鸟看看科技有限公司 手柄控制追踪器的控制方法、装置及头戴式显示设备
US11863992B2 (en) * 2021-05-05 2024-01-02 Texas Instruments Incorporated Methods and apparatus to synchronize devices
WO2022246388A1 (en) * 2021-05-18 2022-11-24 Snap Inc. Intrinsic parameters estimation in visual tracking systems
US11688101B2 (en) 2021-05-18 2023-06-27 Snap Inc. Intrinsic parameters estimation in visual tracking systems
US11762465B2 (en) * 2021-07-23 2023-09-19 Htc Corporation Wireless position tracking device, display system and wearable device
WO2023039452A1 (en) * 2021-09-08 2023-03-16 Magic Leap, Inc. Camera calibration using depth sensor data
CN113612991A (zh) * 2021-09-15 2021-11-05 深圳市丘钛微电子科技有限公司 一种补光型摄像机的亮度均匀性检测方法及装置
WO2023129274A2 (en) * 2021-11-03 2023-07-06 Cubic Corporation Head relative weapon orientation via optical process
WO2023230085A1 (en) * 2022-05-24 2023-11-30 Magic Leap, Inc. Wearable system with controller localization using headset cameras and controller fiducials
US11995226B2 (en) * 2022-06-10 2024-05-28 Sony Interactive Entertainment Inc. Dynamic vision sensor tracking based on light source occlusion
CN115082520A (zh) * 2022-06-14 2022-09-20 歌尔股份有限公司 定位追踪方法、装置、终端设备及计算机可读存储介质
US20240069651A1 (en) * 2022-08-30 2024-02-29 Htc Corporation Virtual reality tracker and tracker correction position method
US11947122B1 (en) * 2022-12-08 2024-04-02 Varjo Technologies Oy Tracking system and method incorporating selective control of light sources of controller
US11947736B1 (en) * 2022-12-21 2024-04-02 Varjo Technologies Oy Utilising focussing of light sources in image for controller tracking
CN117180720B (zh) * 2023-11-07 2024-01-05 成都孚谦科技有限公司 一种基于体感追踪器技术的虚拟动作游戏交互系统及方法
CN117197143B (zh) * 2023-11-08 2024-02-02 深圳市聪讯智能科技有限公司 基于图像特征的环境亮度智能检测方法
CN117440554B (zh) * 2023-12-20 2024-04-02 深圳市正远科技有限公司 基于数字化实现led光源的场景建模方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202153796U (zh) * 2011-07-06 2012-02-29 上海渠瀚实业有限公司 应用于电子警察系统的led视频同步补光光源控制器
CN103261912A (zh) * 2010-07-29 2013-08-21 威凯托陵科有限公司 用于测量对象的距离和/或强度特性的设备和方法

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557981A (en) 1993-05-25 1996-09-24 Tamco Limited One-piece gearshift lever with cold formed end
US5577981A (en) * 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
US20050105772A1 (en) 1998-08-10 2005-05-19 Nestor Voronka Optical body tracker
US20020105484A1 (en) 2000-09-25 2002-08-08 Nassir Navab System and method for calibrating a monocular optical see-through head-mounted display system for augmented reality
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
KR101016974B1 (ko) * 2003-01-15 2011-02-28 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 비디오 이미지 표현 방법 및 프로젝터
US8323106B2 (en) 2008-05-30 2012-12-04 Sony Computer Entertainment America Llc Determination of controller three-dimensional location using image analysis and ultrasonic communication
JP2006090756A (ja) * 2004-09-21 2006-04-06 Victor Co Of Japan Ltd カメラキャリブレーション装置
US8224024B2 (en) * 2005-10-04 2012-07-17 InterSense, LLC Tracking objects with markers
US20080158396A1 (en) * 2006-08-07 2008-07-03 Transchip, Inc. Image Signal Processor For CMOS Image Sensors
US20100259471A1 (en) * 2007-11-16 2010-10-14 Nikon Corporation Control device, head-mount display device, program, and control method
US9031809B1 (en) 2010-07-14 2015-05-12 Sri International Method and apparatus for generating three-dimensional pose using multi-modal sensor fusion
US9470778B2 (en) * 2011-03-29 2016-10-18 Microsoft Technology Licensing, Llc Learning from high quality depth measurements
WO2012149548A2 (en) 2011-04-29 2012-11-01 The Johns Hopkins University System and method for tracking and navigation
US8926162B2 (en) * 2012-07-24 2015-01-06 Shenzhen China Star Optoelectronics Technology Co., Ltd Backlight module and liquid display devices with the same
US9851787B2 (en) 2012-11-29 2017-12-26 Microsoft Technology Licensing, Llc Display resource management
AU2014204252B2 (en) * 2013-01-03 2017-12-14 Meta View, Inc. Extramissive spatial imaging digital eye glass for virtual or augmediated vision
US9788714B2 (en) * 2014-07-08 2017-10-17 Iarmourholdings, Inc. Systems and methods using virtual reality or augmented reality environments for the measurement and/or improvement of human vestibulo-ocular performance
US9251701B2 (en) 2013-02-14 2016-02-02 Microsoft Technology Licensing, Llc Control device with passive reflector
US9692954B2 (en) 2013-03-28 2017-06-27 General Electric Company Methods and devices for adjusting brightness of a light source
US9367136B2 (en) * 2013-04-12 2016-06-14 Microsoft Technology Licensing, Llc Holographic object feedback
US9208566B2 (en) 2013-08-09 2015-12-08 Microsoft Technology Licensing, Llc Speckle sensing for motion tracking
US9264702B2 (en) * 2013-08-19 2016-02-16 Qualcomm Incorporated Automatic calibration of scene camera for optical see-through head mounted display
US9648300B2 (en) * 2014-05-23 2017-05-09 Leap Motion, Inc. Calibration of multi-camera devices using reflections thereof
US9634997B2 (en) * 2014-07-10 2017-04-25 Storycloud Incorporated Automatic generation and registration of alter-ego web service accounts
US10055018B2 (en) * 2014-08-22 2018-08-21 Sony Interactive Entertainment Inc. Glove interface object with thumb-index controller
US9804257B2 (en) 2014-11-13 2017-10-31 WorldViz LLC Methods and systems for an immersive virtual reality system using multiple active markers
US9851786B2 (en) 2014-12-10 2017-12-26 Sixense Entertainment, Inc. System and method for assisting a user in remaining in a selected area while the user is in a virtual reality environment
US9560345B2 (en) * 2014-12-19 2017-01-31 Disney Enterprises, Inc. Camera calibration
CN104898276A (zh) * 2014-12-26 2015-09-09 成都理想境界科技有限公司 头戴式显示装置
US10456685B2 (en) 2015-04-14 2019-10-29 Nintendo Co., Ltd. Identifying and tracking objects via lighting patterns
KR101725478B1 (ko) * 2015-05-21 2017-04-11 주식회사 맥스트 3d 점군 인식 기반의 증강 현실 출력 방법과 이를 수행하기 위한 장치 및 시스템
US10532277B2 (en) 2015-06-11 2020-01-14 Facebook Technologies, Llc Hand-held controllers with light-emitting diodes synchronized to an external camera
US10083544B2 (en) 2015-07-07 2018-09-25 Google Llc System for tracking a handheld device in virtual reality
US20170070731A1 (en) * 2015-09-04 2017-03-09 Apple Inc. Single And Multi-Camera Calibration
US9831972B2 (en) * 2015-12-23 2017-11-28 Board Of Regents, The University Of Texas System Synchronization of clocks and sensors via exponential-based TDR and communication of exponential-null pulse sequences
US9977494B2 (en) 2015-12-30 2018-05-22 Oculus Vr, Llc Tracking constellation assembly for use in a virtual reality system
US10908694B2 (en) * 2016-02-01 2021-02-02 Microsoft Technology Licensing, Llc Object motion tracking with remote device
US10440240B2 (en) 2016-09-30 2019-10-08 Sony Interactive Entertainment Inc. Systems and methods for reducing an effect of occlusion of a tracker by people

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103261912A (zh) * 2010-07-29 2013-08-21 威凯托陵科有限公司 用于测量对象的距离和/或强度特性的设备和方法
CN202153796U (zh) * 2011-07-06 2012-02-29 上海渠瀚实业有限公司 应用于电子警察系统的led视频同步补光光源控制器

Also Published As

Publication number Publication date
CN110612506A (zh) 2019-12-24
CN110622107A (zh) 2019-12-27
US20180329516A1 (en) 2018-11-15
US10719125B2 (en) 2020-07-21
US20180329484A1 (en) 2018-11-15
WO2018208465A1 (en) 2018-11-15
US10496157B2 (en) 2019-12-03
US20180330521A1 (en) 2018-11-15
EP3622371A1 (en) 2020-03-18
US10503247B2 (en) 2019-12-10
US20200333878A1 (en) 2020-10-22
US11314321B2 (en) 2022-04-26
US10705598B2 (en) 2020-07-07
EP3622372B1 (en) 2023-05-10
EP3622371B1 (en) 2023-10-25
EP3622372A1 (en) 2020-03-18
EP3622373B1 (en) 2021-06-16
WO2018208470A1 (en) 2018-11-15
US20180329517A1 (en) 2018-11-15
WO2018208463A1 (en) 2018-11-15
CN110622107B (zh) 2022-07-08
WO2018208462A1 (en) 2018-11-15
EP3622373A1 (en) 2020-03-18

Similar Documents

Publication Publication Date Title
CN110612506B (zh) 立体相机和手持对象的校准
US10740924B2 (en) Tracking pose of handheld object
CN107408314B (zh) 混合现实系统
KR102365730B1 (ko) 인터랙티브 콘텐츠 제어 장치 및 방법
US9148637B2 (en) Face detection and tracking
US9484005B2 (en) Trimming content for projection onto a target
US20180315364A1 (en) Information Processing Apparatus and Image Generation Method
US11221489B2 (en) Controlling light source intensities on optically trackable object
JP2018523142A (ja) 取込まれた像のパススルー表示
CN114730093A (zh) 在头戴式显示器(hmd)和主机计算机之间划分渲染
US20140313294A1 (en) Display panel and method of detecting 3d geometry of object
EA032105B1 (ru) Способ и система для отображения трехмерных объектов
CN112805755B (zh) 信息处理装置、信息处理方法和记录介质
US11483470B2 (en) Control apparatus, control method, and recording medium
US11030817B2 (en) Display system and method of using environment map to generate extended-reality images
EP4113251A1 (en) Calibration method of a system comprising an eye tracking device and a computing device comprising one or multiple screens

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