WO2020218182A1 - 情報処理装置およびデバイス情報導出方法 - Google Patents
情報処理装置およびデバイス情報導出方法 Download PDFInfo
- Publication number
- WO2020218182A1 WO2020218182A1 PCT/JP2020/016854 JP2020016854W WO2020218182A1 WO 2020218182 A1 WO2020218182 A1 WO 2020218182A1 JP 2020016854 W JP2020016854 W JP 2020016854W WO 2020218182 A1 WO2020218182 A1 WO 2020218182A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- marker
- marker image
- input device
- unit
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/211—Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/212—Input 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/25—Output arrangements for video game devices
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing 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/428—Processing 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5255—Changing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0093—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
Definitions
- the present invention relates to a technique for deriving position information and posture information of a device.
- Patent Document 1 acquires a frame image of the front of a game device, estimates the position information and attitude information of the game controller in real space from the position of the LED image of the game controller in the frame image, and estimates the position information and the position information. / Or disclose a game device that reflects attitude information in the processing of a game application.
- the information processing device links the movements of the player character and the game object in the game space with changes in the position and posture of the device to be tracked, thereby realizing intuitive operation by the user.
- a plurality of lit markers are attached to the device in order to estimate the position and orientation of the device.
- the information processing device identifies the coordinates of a plurality of marker images included in the captured image of the device, and compares the coordinates with the three-dimensional coordinates of the plurality of markers in the three-dimensional model of the device to obtain the position of the device and the position of the device in the real space. Estimate the posture.
- the captured image contains marker images of a plurality of devices, the number of marker images in the captured image increases according to the number of devices, so that the amount of calculation of the estimation process increases.
- an object of the present invention is to provide a technique for reducing the amount of calculation required for estimating the position and orientation of a plurality of devices.
- the device may be an input device having an operation button, but may be simply a device to be tracked without an operation member.
- the information processing apparatus includes a captured image acquisition unit that acquires images captured by a first device having a plurality of markers and a second device having a plurality of markers. It is provided with an estimation processing unit that estimates the position information and attitude information of the first device and the position information and attitude information of the second device based on the marker image coordinates in the captured image. The estimation processing unit derives the position information and attitude information of the first device, and then derives the position information and attitude information of the second device based on the remaining marker image coordinates excluding the marker image coordinates of the first device. ..
- Another aspect of the device information derivation method of the present invention is based on a step of acquiring an image of a first device having a plurality of markers and a second device having a plurality of markers, and a marker image coordinate in the captured image.
- FIG. 1 shows a configuration example of the information processing system 1 in the embodiment.
- the information processing system 1 includes an information processing device 10, a recording device 11, a head-mounted display (HMD) 100, an input device 16 operated by a user's fingers, and an output device 15 that outputs images and sounds.
- the output device 15 may be a television.
- the information processing device 10 is connected to an external network 2 such as the Internet via an access point (AP) 17.
- the AP 17 has the functions of a wireless access point and a router, and the information processing device 10 may be connected to the AP 17 by a cable or by a known wireless communication protocol.
- the recording device 11 records applications such as system software and game software.
- the information processing device 10 may download the game software from the content server to the recording device 11 via the network 2.
- the information processing device 10 executes game software and supplies image data and audio data of the game to the HMD 100.
- the information processing device 10 and the HMD 100 may be connected by a known wireless communication protocol, or may be connected by a cable.
- the HMD100 is a display device that displays an image on a display panel located in front of the user when the user wears it on the head.
- the HMD 100 separately displays an image for the left eye on the display panel for the left eye and an image for the right eye on the display panel for the right eye. These images constitute parallax images viewed from the left and right viewpoints, and realize stereoscopic vision. Since the user sees the display panel through the optical lens, the information processing device 10 supplies the parallax image data corrected for the optical distortion caused by the lens to the HMD 100.
- the output device 15 is not necessary for the user wearing the HMD 100, but by preparing the output device 15, another user can see the display image of the output device 15.
- the information processing device 10 may display the same image as the image viewed by the user wearing the HMD 100 on the output device 15, but may display another image. For example, when a user wearing an HMD and another user play a game together, the output device 15 may display a game image from the character viewpoint of the other user.
- the information processing device 10 and the input device 16 may be connected by a known wireless communication protocol, or may be connected by a cable.
- the input device 16 includes a plurality of operation members such as operation buttons, and the user operates the operation members with his / her fingers while grasping the input device 16.
- the input device 16 is used as a game controller.
- the input device 16 includes an attitude sensor including a 3-axis acceleration sensor and a 3-axis gyro sensor, and transmits sensor data to the information processing device 10 at a predetermined cycle (for example, 1600 Hz).
- the operation information of the operation member of the input device 16 are treated as operation information and reflected in the movement of the player character in the virtual three-dimensional space.
- the operation information of the operation member may be used as information for moving the player character
- the operation information such as the position, posture, and movement of the input device 16 may be used as information for moving the arm of the player character.
- the movement of the input device 16 is reflected in the movement of the player character holding the weapon, so that the user's intuitive operation is realized and the immersive feeling in the game is enhanced.
- the input device 16 In order to track the position and orientation of the input device 16, the input device 16 is provided with a plurality of markers (light emitting units) that can be photographed by the image pickup device 14 mounted on the HMD 100.
- the information processing device 10 analyzes the image taken by the input device 16 to estimate the position information and the posture information of the input device 16 in the real space, and provides the estimated position information and the posture information to the game.
- the HMD 100 is equipped with a plurality of imaging devices 14.
- the plurality of imaging devices 14 are attached to different positions on the front surface of the HMD 100 in different postures so that the entire imaging range obtained by adding the respective imaging ranges includes the entire field of view of the user.
- the image pickup device 14 may be an image sensor capable of acquiring images of a plurality of markers of the input device 16.
- the imaging device 14 has a visible light sensor used in a general digital video camera such as a CCD (Charge Coupled Device) sensor or a CMOS (Complementary Metal Oxide Semiconductor) sensor.
- the imaging device 14 has an invisible light sensor.
- the plurality of image pickup devices 14 photograph the front of the user at a predetermined cycle (for example, 60 frames / second) at synchronized timings, and transmit the image data obtained by photographing the input device 16 to the information processing device 10.
- the information processing device 10 specifies the positions of a plurality of marker images of the input device 16 included in the captured image. Although one input device 16 may be imaged by a plurality of image pickup devices 14 at the same timing, since the mounting position and mounting posture of the image pickup device 14 are known, the information processing device 10 synthesizes a plurality of captured images. Then, the position of the marker image is specified.
- the three-dimensional shape of the input device 16 and the position coordinates of the plurality of markers arranged on the surface thereof are known, and the information processing device 10 has the position coordinates of the input device 16 based on the distribution of the marker images in the captured image. And estimate the posture.
- the position coordinates of the input device 16 may be position coordinates in a three-dimensional space with the reference position as the origin, and the reference position may be position coordinates (latitude, longitude) set before the start of the game.
- the information processing device 10 can also estimate the position coordinates and the posture of the input device 16 by using the sensor data detected by the posture sensor of the input device 16. Therefore, the information processing device 10 of the embodiment may perform the tracking process of the input device 16 with high accuracy by using the estimation result based on the captured image captured by the image pickup device 14 and the estimation result based on the sensor data.
- FIG. 2 shows an example of the appearance shape of the HMD100.
- the HMD 100 is composed of an output mechanism unit 102 and a mounting mechanism unit 104.
- the mounting mechanism unit 104 includes a mounting band 106 that goes around the head and fixes the HMD 100 to the head when the user wears it.
- the wearing band 106 has a material or structure whose length can be adjusted according to the user's head circumference.
- the output mechanism 102 includes a housing 108 having a shape that covers the left and right eyes when the HMD 100 is worn by the user, and internally includes a display panel that faces the eyes when worn.
- the display panel may be a liquid crystal panel, an organic EL panel, or the like.
- Inside the housing 108 a pair of left and right optical lenses, which are located between the display panel and the user's eyes and expand the viewing angle of the user, are further provided.
- the HMD 100 may further include a speaker or earphone at a position corresponding to the user's ear, and may be configured to be connected to external headphones.
- a plurality of image pickup devices 14a, 14b, 14c, 14d are provided on the front outer surface of the housing 108.
- the image pickup device 14a is attached to the upper right corner of the front outer surface so that the camera optical axis faces diagonally upward to the right
- the image pickup device 14b is mounted so that the camera optical axis points diagonally upward to the left with reference to the user's line of sight.
- Attached to the upper left corner of the front outer surface the image pickup device 14c is attached to the lower right corner of the front side outer surface so that the camera optical axis faces diagonally downward to the right
- the image pickup device 14d is attached to the camera optical axis to face diagonally downward to the left. It is attached to the lower left corner of the front outer surface.
- the HMD 100 transmits the sensor data detected by the attitude sensor and the image data captured by the imaging device 14 to the information processing device 10, and also receives the game image data and the game audio data generated by the information processing device 10.
- FIG. 3 shows a functional block of HMD100.
- the control unit 120 is a main processor that processes and outputs various data such as image data, audio data, and sensor data, as well as instructions.
- the storage unit 122 temporarily stores data, instructions, and the like processed by the control unit 120.
- the attitude sensor 124 acquires sensor data regarding the movement of the HMD 100.
- the attitude sensor 124 includes at least a 3-axis acceleration sensor and a 3-axis gyro sensor.
- the posture sensor 124 detects the value (sensor data) of each axis component at a predetermined cycle (for example, 1600 Hz).
- the communication control unit 128 transmits the data output from the control unit 120 to the external information processing device 10 via a network adapter or an antenna by wired or wireless communication. Further, the communication control unit 128 receives data from the information processing device 10 and outputs the data to the control unit 120.
- control unit 120 When the control unit 120 receives the game image data and the game audio data from the information processing device 10, the control unit 120 supplies the game image data and the game audio data to the display panel 130 for display, and supplies the game image data and the game audio data to the audio output unit 132 for audio output.
- the display panel 130 is composed of a left-eye display panel 130a and a right-eye display panel 130b, and a pair of parallax images are displayed on each display panel.
- the control unit 120 causes the communication control unit 128 to transmit the sensor data from the attitude sensor 124, the voice data from the microphone 126, and the captured image data from the image pickup device 14 to the information processing device 10.
- FIG. 4 shows the external shape of the input device 16.
- FIG. 4A shows the front shape of the input device 16, and
- FIG. 4B shows the back shape of the input device 16.
- the input device 16 includes a case body 20, a plurality of operating members 22a, 22b, 22c, 22d (hereinafter, referred to as “operating member 22" unless otherwise specified) operated by the user, and light outside the case body 20.
- a plurality of markers 30a to 30t (hereinafter, referred to as “marker 30” when not particularly distinguished) are provided.
- the operation member 22 is arranged on the head of the case body 20, and includes an analog stick for tilting operation, a push-type button, a trigger button for inputting a pull amount, and the like.
- the case body 20 has a grip portion 21 and a curved portion 23 that connects the case body head and the case body bottom, and the user passes a finger from the index finger to the little finger between the grip portion 21 and the curved portion 23.
- the grip portion 21 is gripped.
- the user operates the operating members 22a, 22b, and 22c with the thumb and the operating member 22d with the index finger while gripping the grip portion 21.
- the markers 30h, 30i, and 30j are provided on the grip portion 21, but are arranged at positions that are not hidden by the hand even when the user grips the grip portion 21.
- the marker 30 is a light emitting portion that emits light to the outside of the case body 20, and includes a resin portion that diffuses and emits light from a light source such as an LED (Light Emitting Diode) element on the surface of the case body 20. ..
- the marker 30 is photographed by the imaging device 14 and used for estimating the position and orientation of the input device 16. Since the image pickup device 14 shoots the input device 16 at a predetermined cycle (for example, 60 frames / second), the marker 30 emits light in synchronization with the periodic shooting timing of the image pickup device 14, and the image pickup device 14 does not emit light. It is preferable to turn off the light during the exposure period to suppress unnecessary power consumption.
- FIG. 5 shows a part of an image of the input device 16. This image is a photographed image of the input device 16 held by the right hand, and includes images of a plurality of markers 30 that emit light.
- the communication control unit 128 transmits the image data captured by the image pickup device 14 to the information processing device 10 at a predetermined cycle.
- FIG. 6 shows a functional block of the input device 16.
- the control unit 50 receives the operation information input to the operation member 22, and also receives the sensor data acquired by the attitude sensor 52.
- the attitude sensor 52 acquires sensor data regarding the movement of the input device 16 and includes at least a 3-axis acceleration sensor and a 3-axis gyro sensor.
- the posture sensor 52 detects the value (sensor data) of each axis component at a predetermined cycle (for example, 1600 Hz).
- the control unit 50 supplies the received operation information and sensor data to the communication control unit 54.
- the communication control unit 54 transmits the operation information and the sensor data output from the control unit 50 to the information processing device 10 via a network adapter or an antenna by wired or wireless communication. Further, the communication control unit 54 acquires a light emission instruction from the information processing device 10.
- the input device 16 includes a plurality of light sources 58 for lighting the plurality of markers 30.
- the light source 58 may be an LED element that emits light in a predetermined color.
- the control unit 50 causes the light source 58 to emit light and lights the marker 30 based on the light emission instruction acquired from the information processing device 10.
- FIG. 7 shows a functional block of the information processing device 10.
- the information processing device 10 includes a processing unit 200 and a communication unit 202, and the processing unit 200 includes an acquisition unit 210, an estimation processing unit 220, a game execution unit 230, and a marker information holding unit 240.
- the communication unit 202 receives the operation information and the sensor data transmitted from the input device 16 and supplies the operation information and the sensor data to the acquisition unit 210. Further, the communication unit 202 receives the captured image data and the sensor data transmitted from the HMD 100 and supplies the captured image data and the sensor data to the acquisition unit 210.
- the acquisition unit 210 has a captured image acquisition unit 212, a sensor data acquisition unit 214, and an operation information acquisition unit 216.
- the estimation processing unit 220 has a marker image coordinate identification unit 222, a marker image coordinate extraction unit 224, a position / orientation derivation unit 226, and a position determination unit 228, and has a position of the input device 16 based on the coordinates of the marker image in the captured image. Estimate information and attitude information.
- the estimation processing unit 220 supplies the position information and the posture information of the input device 16 to the game execution unit 230.
- the captured image acquisition unit 212 acquires an image captured by the input device 16 provided with the plurality of markers 30 and supplies the captured image to the estimation processing unit 220.
- the sensor data acquisition unit 214 acquires sensor data transmitted from the input device 16 and the HMD 100, and supplies the sensor data to the estimation processing unit 220.
- the operation information acquisition unit 216 acquires the operation information transmitted from the input device 16 and supplies it to the game execution unit 230.
- the game execution unit 230 advances the game based on the operation information and the position / orientation information of the input device 16.
- the marker image coordinate identification unit 222 specifies two-dimensional coordinates (hereinafter, also referred to as “marker image coordinates”) representing the image of the marker 30 included in the captured image.
- the marker image coordinate specifying unit 222 may specify a pixel region having a brightness value equal to or higher than a predetermined value, calculate the barycentric coordinates of the pixel region, and use the marker image coordinates as the marker image coordinates.
- the marker image coordinate specifying unit 222 ignores the pixel region having a shape and size that cannot be formed as a marker image, and calculates the coordinates of the center of gravity of the pixel region having a shape and size estimated to be a marker image. Is preferable.
- a method of solving a PNP (Perspective n-Point) problem is known as a method of estimating the position and orientation of an image pickup device that captures an image of an object whose three-dimensional shape and size are known.
- the marker image coordinate extraction unit 224 extracts N (N is an integer of 3 or more) two-dimensional marker image coordinates in the captured image
- the position / orientation derivation unit 226 is extracted by the marker image coordinate extraction unit 224.
- the position information and attitude information of the input device 16 are derived from the coordinates of the N marker images and the three-dimensional coordinates of the N markers in the three-dimensional model of the input device 16.
- the position / orientation deriving unit 226 estimates the position and orientation of the imaging device 14 using the following (Equation 1), and derives the position information and attitude information in the three-dimensional space of the input device 16 based on the estimation result. ..
- (u, v) is the marker image coordinates in the captured image
- (X, Y, Z) is the three-dimensional space of the marker 30 when the three-dimensional model of the input device 16 is in the reference position and the reference posture.
- the three-dimensional model has exactly the same shape and size as the input device 16, and the markers are arranged at the same positions.
- the marker information holding unit 240 holds the three-dimensional coordinates of each marker in the three-dimensional model in the reference position and the reference posture
- the position / orientation deriving unit 226 holds the three-dimensional coordinates of each marker from the marker information holding unit 240. Read to get (X, Y, Z).
- (F x , fy ) is the focal length of the image pickup apparatus 14, and (c x , cy ) is the principal point of the image, both of which are internal parameters of the image pickup apparatus 14.
- the matrix having r 11 to r 33 and t 1 to t 3 as elements is a rotation / parallel traveling sequence.
- (Equation 1) in (u, v), (f x, f y), (c x, c y), (X, Y, Z) are known, the position and orientation derivation unit 226, N pieces of the marker By solving the equations for 30, the rotation / parallel traveling matrix common to them is obtained.
- the position / orientation deriving unit 226 derives the position information and the attitude information of the input device 16 based on the angle and the translation amount represented by this matrix.
- the process of estimating the position / orientation of the input device 16 is performed by solving the P3P problem. Therefore, the position / orientation derivation unit 226 has three marker image coordinates and three in the three-dimensional model of the input device 16. The position and orientation of the input device 16 are derived using the three-dimensional marker coordinates of.
- the user holds the input device 16 in both hands and plays a game. Therefore, the captured image includes an image of the marker 30 of the input device 16 held by the user with the right hand and an image of the marker 30 of the input device 16 held by the user with the left hand.
- FIG. 8 shows an example of images taken by two input devices 16.
- This captured image includes an image of the marker 30 of the input device 16 held by the right hand and an image of the marker 30 of the input device 16 held by the left hand.
- FIG. 8 shows a black-and-white inverted photographed image, and the marker image is represented by a black region.
- the input device 16 gripped by the right hand is referred to as an “input device 16a”
- the input device 16 gripped by the left hand is referred to as an “input device 16b”.
- FIG. 9 is a flowchart of estimation processing by the estimation processing unit 220.
- the marker image coordinate identification unit 222 specifies the coordinates of a plurality of marker images included in the captured image (S12). ..
- the specified plurality of marker image coordinates include both one representing the marker position of the input device 16a and one representing the marker position of the input device 16b.
- FIG. 10 shows a state in which the marker image coordinate specifying unit 222 specifies the coordinates of a plurality of marker images included in the captured image.
- the marker image coordinate identification unit 222 specifies the marker image coordinates P1 to P15.
- the estimation processing unit 220 first estimates the position information and attitude information of either the input device 16a or the input device 16b, and then estimates the position information and attitude information of the other. At the time of initial tracking, the estimation processing unit 220 may first perform the position / orientation estimation processing of the input device 16a for the right hand (S14).
- the marker image coordinate extraction unit 224 extracts any three marker image coordinates from the marker image coordinates P1 to P15.
- the marker information holding unit 240 holds the three-dimensional coordinates of each marker in the three-dimensional model of the right-hand input device 16a and the left-hand input device 16b in the reference position and the reference posture.
- the position / orientation deriving unit 226 reads the three-dimensional coordinates of the marker in the three-dimensional model of the input device 16a for the right hand from the marker information holding unit 240, and solves the P3P problem using Equation 1.
- the position / orientation deriving unit 226 specifies the rotation / parallel traveling matrix common to the three extracted marker image coordinates
- the position / orientation deriving unit 226 can specify the marker image coordinates of the input device 16a other than the extracted three marker image coordinates.
- the position / orientation deriving unit 226 calculates the reprojection error using the marker image coordinates other than the extracted three.
- the marker image coordinate extraction unit 224 extracts a predetermined number of combinations of three marker image coordinates from the marker image coordinates P1 to P15, and the position / orientation derivation unit 226 extracts each of the extracted three marker image coordinates.
- the rotation / parallel traveling matrix is specified for the combination of, and the reprojection error of each is calculated.
- the position / orientation deriving unit 226 identifies the rotation / parallel traveling matrix that is the minimum reprojection error from a predetermined number of reprojection errors, and derives the position information and the attitude information of the input device 16a.
- the position / orientation deriving unit 226 specifies the rotation / parallel traveling matrix, so that the marker image coordinate group of the input device 16a is determined (S16).
- the marker image coordinate group of the input device 16a is the marker image coordinates P1 to P7.
- the position / orientation deriving unit 226 of the input device 16b is based on the remaining marker image coordinates P8 to P15 excluding the marker image coordinates P1 to P7 of the input device 16a. Derivation of position information and attitude information.
- the estimation processing unit 220 finishes the position / orientation estimation process of the right-hand input device 16a, and then executes the position / orientation estimation process of the left-hand input device 16b (S18).
- the marker image coordinate extraction unit 224 extracts any three marker image coordinates from the remaining marker image coordinates P8 to P15 excluding the marker image coordinates P1 to P7 of the input device 16a.
- the position / orientation deriving unit 226 reads the three-dimensional coordinates of the marker in the three-dimensional model of the input device 16b for the left hand from the marker information holding unit 240, and solves the P3P problem using Equation 1.
- the position / orientation deriving unit 226 When the position / orientation deriving unit 226 specifies the rotation / parallel traveling matrix common to the three extracted marker image coordinates, the position / orientation deriving unit 226 can specify the marker image coordinates of the input device 16b other than the extracted three marker image coordinates. The position / orientation deriving unit 226 calculates the reprojection error using the marker image coordinates other than the extracted three. When calculating the reprojection error, the position / orientation deriving unit 226 does not use the marker image coordinates P1 to P7.
- the marker image coordinate extraction unit 224 extracts a predetermined number of combinations of three marker image coordinates from the marker image coordinates P8 to P15, and the position / orientation derivation unit 226 extracts each of the extracted three marker image coordinates.
- the rotation / parallel traveling matrix is specified for the combination of, and the reprojection error of each is calculated.
- the position / orientation deriving unit 226 identifies the rotation / parallel traveling matrix that is the minimum reprojection error from a predetermined number of reprojection errors, and derives the position information and the attitude information of the input device 16b.
- the estimation processing unit 220 supplies the position information and the posture information of the input device 16a and the input device 16b to the game execution unit 230.
- the position / orientation deriving unit 226 excludes the marker image coordinates P1 to P7 from the candidates and derives the position information and the attitude information of the input device 16b, so that the amount of calculation can be reduced.
- the position determination unit 228 determines which of the input device 16a and the input device 16b is closer to the image pickup device 14 (S20). ). In this example, the position determination unit 228 determines that the left-hand input device 16b is closer to the image pickup device 14 than the right-hand input device 16a.
- the position / orientation estimation process is performed in the imaging cycle of the captured image (N in S22).
- the estimation processing unit 220 relatively from the image pickup device 14.
- the position information and attitude information of the input device 16b located at a close position are derived before the position information and attitude information of the input device 16a located at a position relatively far from the image pickup device 14. That is, in S14, the estimation processing unit 220 inputs the position information and the posture information of the input device 16b determined to be relatively close to the image pickup device 14 based on the estimation processing result using the previously captured image, to the input device 16a. Derived before.
- the input device 16a located at a position relatively far from the image pickup device 14 may be hidden from the image pickup device 14 by the input device 16b located at a relatively close position, but the reverse is not true. Therefore, the input device 16b is expected to estimate the position information and the attitude information with high accuracy, and the estimation processing unit 220 performs the estimation processing of the position information and the attitude information of the input device 16b located near the image pickup device 14. , The estimation process of the input device 16a is performed before the estimation process.
- the estimation processing unit 220 executes the position / orientation estimation process of the right-hand input device 16a after the position / orientation estimation process of the left-hand input device 16b is completed (S18).
- the marker image coordinate extraction unit 224 extracts any three marker image coordinates from the remaining marker image coordinates P1 to P7 excluding the marker image coordinates P8 to P15 of the input device 16b.
- the position / orientation derivation unit 226 reads the three-dimensional coordinates of the marker in the three-dimensional model of the input device 16a for the right hand from the marker information holding unit 240, solves the P3P problem using Equation 1, and positions and the attitude of the input device 16a. Derive information.
- the position / orientation estimation process by the estimation processing unit 220 also ends (Y in S22).
- the present invention has been described above based on examples.
- the above embodiment is an example, and it is understood by those skilled in the art that various modifications are possible for each of these components and combinations of each processing process, and that such modifications are also within the scope of the present invention. ..
- the information processing device 10 performed the estimation process, but the HMD 100 may be provided with the function of the information processing device 10 and the HMD 100 may perform the estimation process.
- the arrangement of the plurality of markers 30 in the input device 16 provided with the operating member 22 has been described, but the device to be tracked does not necessarily have to include the operating member 22.
- the position / orientation estimation process when the two input devices 16 are photographed has been described, but the position / orientation estimation process when three or more tracking target devices are photographed is also realized in the same manner.
- the imaging device 14 is attached to the HMD 100, but the imaging device 14 may be attached to a position other than the HMD 100 as long as it can capture a marker image.
- the present invention can be used in the technical field of deriving the position information and posture information of the device.
- 1 ... Information processing system, 10 ... Information processing device, 14 ... Imaging device, 16 ... Input device, 30 ... Marker, 200 ... Processing unit, 202 ... Communication unit, 210 ... acquisition unit, 212 ... captured image acquisition unit, 214 ... sensor data acquisition unit, 216 ... operation information acquisition unit, 220 ... estimation processing unit, 222 ... marker image coordinate identification Unit, 224 ... Marker image coordinate extraction unit, 226 ... Position / orientation derivation unit, 228 ... Position determination unit, 230 ... Game execution unit, 240 ... Marker information holding unit.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Heart & Thoracic Surgery (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
撮影画像取得部212は、複数のマーカを備えた第1デバイスおよび複数のマーカを備えた第2デバイスを撮影した画像を取得する。推定処理部220は、撮影画像におけるマーカ像座標にもとづいて、第1デバイスの位置情報および姿勢情報を導出した後、第1デバイスのマーカ像座標を除いた残りのマーカ像座標にもとづいて、第2デバイスの位置情報および姿勢情報を導出する。
Description
本発明は、デバイスの位置情報および姿勢情報を導出する技術に関する。
特許文献1は、ゲーム装置の前方を撮影したフレーム画像を取得して、フレーム画像におけるゲームコントローラのLED像の位置から実空間におけるゲームコントローラの位置情報および姿勢情報を推定し、推定した位置情報および/または姿勢情報をゲームアプリケーションの処理に反映するゲーム装置を開示する。
近年、デバイスの位置や姿勢をトラッキングし、VR空間の3Dモデルに反映させる情報処理技術が普及している。情報処理装置が、ゲーム空間のプレイヤキャラクタやゲームオブジェクトの動きを、トラッキング対象となるデバイスの位置や姿勢の変化に連動させることで、ユーザによる直観的な操作が実現される。
デバイスの位置および姿勢を推定するために、デバイスには点灯する複数のマーカが取り付けられる。情報処理装置は、デバイスを撮影した画像に含まれる複数のマーカ像の座標を特定し、当該デバイスの3次元モデルにおける複数のマーカの3次元座標と照らし合わせることで、実空間におけるデバイスの位置および姿勢を推定する。撮影画像に複数のデバイスのマーカ像が含まれる場合、デバイスの数に応じて撮影画像内のマーカ像の数が増えることで、推定処理の計算量が増加する。
そこで本発明は、複数デバイスの位置および姿勢の推定演算に必要な計算量を削減するための技術を提供することを目的とする。なおデバイスは操作ボタンを有する入力デバイスであってよいが、操作部材を有しない単にトラッキングの対象となるデバイスであってよい。
上記課題を解決するために、本発明のある態様の情報処理装置は、複数のマーカを備えた第1デバイスおよび複数のマーカを備えた第2デバイスを撮影した画像を取得する撮影画像取得部と、撮影画像におけるマーカ像座標にもとづいて、第1デバイスの位置情報および姿勢情報と第2デバイスの位置情報および姿勢情報を推定する推定処理部とを備える。推定処理部は、第1デバイスの位置情報および姿勢情報を導出した後、第1デバイスのマーカ像座標を除いた残りのマーカ像座標にもとづいて、第2デバイスの位置情報および姿勢情報を導出する。
本発明の別の態様のデバイス情報導出方法は、複数のマーカを備えた第1デバイスおよび複数のマーカを備えた第2デバイスを撮影した画像を取得するステップと、撮影画像におけるマーカ像座標にもとづいて、第1デバイスの位置情報および姿勢情報を導出するステップと、第1デバイスのマーカ像座標を除いた残りのマーカ像座標にもとづいて、第2デバイスの位置情報および姿勢情報を導出するステップとを有する。
図1は、実施例における情報処理システム1の構成例を示す。情報処理システム1は情報処理装置10と、記録装置11と、ヘッドマウントディスプレイ(HMD)100と、ユーザが手指で操作する入力デバイス16と、画像および音声を出力する出力装置15とを備える。出力装置15はテレビであってよい。情報処理装置10は、アクセスポイント(AP)17を介して、インターネットなどの外部のネットワーク2に接続される。AP17は無線アクセスポイントおよびルータの機能を有し、情報処理装置10はAP17とケーブルで接続してもよく、既知の無線通信プロトコルで接続してもよい。
記録装置11は、システムソフトウェアや、ゲームソフトウェアなどのアプリケーションを記録する。情報処理装置10は、コンテンツサーバからネットワーク2経由で、ゲームソフトウェアを記録装置11にダウンロードしてよい。情報処理装置10はゲームソフトウェアを実行して、ゲームの画像データおよび音声データをHMD100に供給する。情報処理装置10とHMD100とは既知の無線通信プロトコルで接続されてもよく、またケーブルで接続されてもよい。
HMD100は、ユーザが頭部に装着することによりその眼前に位置する表示パネルに画像を表示する表示装置である。HMD100は、左目用表示パネルに左目用の画像を、右目用表示パネルに右目用の画像を、それぞれ別個に表示する。これらの画像は左右の視点から見た視差画像を構成し、立体視を実現する。ユーザは光学レンズを通して表示パネルを見るため、情報処理装置10は、レンズによる光学歪みを補正した視差画像データをHMD100に供給する。
HMD100を装着したユーザにとって出力装置15は必要ないが、出力装置15を用意することで、別のユーザが出力装置15の表示画像を見ることができる。情報処理装置10は、HMD100を装着したユーザが見ている画像と同じ画像を出力装置15に表示させてもよいが、別の画像を表示させてもよい。たとえばHMDを装着したユーザと、別のユーザとが一緒にゲームをプレイするような場合、出力装置15からは、当該別のユーザのキャラクタ視点からのゲーム画像が表示されてもよい。
情報処理装置10と入力デバイス16とは既知の無線通信プロトコルで接続されてよく、またケーブルで接続されてもよい。入力デバイス16は操作ボタンなどの複数の操作部材を備え、ユーザは入力デバイス16を把持しながら、手指で操作部材を操作する。情報処理装置10がゲームを実行する際、入力デバイス16はゲームコントローラとして利用される。入力デバイス16は、3軸の加速度センサおよび3軸のジャイロセンサを含む姿勢センサを備え、所定の周期(たとえば1600Hz)でセンサデータを情報処理装置10に送信する。
実施例のゲームは、入力デバイス16の操作部材の操作情報だけでなく、入力デバイス16の位置、姿勢、動きなどを操作情報として取り扱って、仮想3次元空間内におけるプレイヤキャラクタの動きに反映する。たとえば操作部材の操作情報は、プレイヤキャラクタを移動させるための情報として利用され、入力デバイス16の位置、姿勢、動きなどの操作情報は、プレイヤキャラクタの腕を動かすための情報として利用されてよい。ゲーム内の戦闘シーンにおいて、入力デバイス16の動きが、武器をもつプレイヤキャラクタの動きに反映されることで、ユーザの直観的な操作が実現され、ゲームへの没入感が高められる。
入力デバイス16の位置および姿勢をトラッキングするために、入力デバイス16には、HMD100に搭載された撮像装置14によって撮影可能な複数のマーカ(光出射部)が設けられる。情報処理装置10は、入力デバイス16を撮影した画像を解析して、実空間における入力デバイス16の位置情報および姿勢情報を推定し、推定した位置情報および姿勢情報をゲームに提供する。
HMD100には、複数の撮像装置14が搭載される。複数の撮像装置14は、それぞれの撮影範囲を足し合わせた全体の撮影範囲がユーザの視野の全てを含むように、HMD100の前面の異なる位置に異なる姿勢で取り付けられる。撮像装置14は、入力デバイス16の複数のマーカの像を取得できる画像センサであればよい。たとえばマーカが可視光を出射する場合、撮像装置14はCCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサなど、一般的なデジタルビデオカメラで利用されている可視光センサを有する。マーカが非可視光を出射する場合、撮像装置14は非可視光センサを有する。複数の撮像装置14は同期したタイミングで、ユーザの前方を所定の周期(たとえば60フレーム/秒)で撮影し、入力デバイス16を撮影した画像データを情報処理装置10に送信する。
情報処理装置10は、撮影画像に含まれる入力デバイス16の複数のマーカ像の位置を特定する。なお1つの入力デバイス16が同じタイミングで複数の撮像装置14に撮影されることもあるが、撮像装置14の取付位置および取付姿勢は既知であるため、情報処理装置10は複数の撮影画像を合成して、マーカ像の位置を特定する。
入力デバイス16の3次元形状と、その表面に配置された複数のマーカの位置座標は既知であり、情報処理装置10は、撮影画像内のマーカ像の分布にもとづいて、入力デバイス16の位置座標および姿勢を推定する。入力デバイス16の位置座標は、基準位置を原点とした3次元空間における位置座標であってよく、基準位置はゲーム開始前に設定した位置座標(緯度、経度)であってよい。
なお情報処理装置10は、入力デバイス16の姿勢センサが検出したセンサデータを用いることでも、入力デバイス16の位置座標および姿勢を推定できる。そこで実施例の情報処理装置10は、撮像装置14で撮影した撮影画像にもとづく推定結果と、センサデータにもとづく推定結果を用いて、高精度に入力デバイス16のトラッキング処理を実施してよい。
図2は、HMD100の外観形状の例を示す。HMD100は、出力機構部102および装着機構部104から構成される。装着機構部104は、ユーザが被ることにより頭部を一周してHMD100を頭部に固定する装着バンド106を含む。装着バンド106はユーザの頭囲に合わせて長さの調節が可能な素材または構造をもつ。
出力機構部102は、HMD100をユーザが装着した状態において左右の目を覆う形状の筐体108を含み、内部には装着時に目に正対する表示パネルを備える。表示パネルは液晶パネルや有機ELパネルなどであってよい。筐体108内部にはさらに、表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する左右一対の光学レンズが備えられる。HMD100はさらに、ユーザの耳に対応する位置にスピーカーやイヤホンを備えてよく、外付けのヘッドホンが接続されるように構成されてもよい。
筐体108の前方側外面には、複数の撮像装置14a、14b、14c、14dが備えられる。ユーザの視線方向を基準として、撮像装置14aは、カメラ光軸が右斜め上を向くように前方側外面の右上隅に取り付けられ、撮像装置14bは、カメラ光軸が左斜め上を向くように前方側外面の左上隅に取り付けられ、撮像装置14cは、カメラ光軸が右斜め下を向くように前方側外面の右下隅に取り付けられ、撮像装置14dは、カメラ光軸が左斜め下を向くように前方側外面の左下隅に取り付けられる。このように複数の撮像装置14が設置されることで、それぞれの撮影範囲を足し合わせた全体の撮影範囲がユーザの視野の全てを含む。このユーザの視野は、3次元仮想空間におけるユーザの視野であってよい。
HMD100は、姿勢センサが検出したセンサデータおよび撮像装置14が撮影した画像データを情報処理装置10に送信し、また情報処理装置10で生成されたゲーム画像データおよびゲーム音声データを受信する。
図3は、HMD100の機能ブロックを示す。制御部120は、画像データ、音声データ、センサデータなどの各種データや、命令を処理して出力するメインプロセッサである。記憶部122は、制御部120が処理するデータや命令などを一時的に記憶する。姿勢センサ124は、HMD100の動きに関するセンサデータを取得する。姿勢センサ124は、少なくとも3軸の加速度センサおよび3軸のジャイロセンサを含む。姿勢センサ124は、所定の周期(たとえば1600Hz)で各軸成分の値(センサデータ)を検出する。
通信制御部128は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、制御部120から出力されるデータを外部の情報処理装置10に送信する。また通信制御部128は、情報処理装置10からデータを受信し、制御部120に出力する。
制御部120は、ゲーム画像データやゲーム音声データを情報処理装置10から受け取ると、表示パネル130に供給して表示させ、また音声出力部132に供給して音声出力させる。表示パネル130は、左目用表示パネル130aと右目用表示パネル130bから構成され、各表示パネルに一対の視差画像が表示される。また制御部120は、姿勢センサ124からのセンサデータ、マイク126からの音声データ、撮像装置14からの撮影画像データを、通信制御部128から情報処理装置10に送信させる。
図4は、入力デバイス16の外観形状を示す。図4(a)は、入力デバイス16の正面形状を示し、図4(b)は、入力デバイス16の背面形状を示す。入力デバイス16は、ケース体20と、ユーザが操作する複数の操作部材22a、22b、22c、22d(以下、特に区別しない場合は「操作部材22」と呼ぶ)と、ケース体20の外部に光を出射する複数のマーカ30a~30t(以下、特に区別しない場合には「マーカ30」と呼ぶ)とを備える。操作部材22は、ケース体20の頭部に配置され、傾動操作するアナログスティック、押下式ボタン、引き量を入力するトリガーボタンなどを含む。
ケース体20は、把持部21と、ケース体頭部とケース体底部とを連結する湾曲部23を有し、ユーザは人差し指から小指までの指を把持部21と湾曲部23の間に通し、把持部21を把持する。ユーザは把持部21を把持した状態で、操作部材22a、22b、22cを親指で操作し、操作部材22dを人差し指で操作する。マーカ30h、30i、30jは把持部21に設けられるが、ユーザが把持部21を把持した状態であっても、手によって隠れない位置に配置される。1以上のマーカ30を把持部21に設けることで、位置および姿勢の推定精度を高められる。
マーカ30は、ケース体20の外部に光を出射する光出射部であり、ケース体20の表面において、LED(Light Emitting Diode)素子などの光源からの光を外部に拡散出射する樹脂部を含む。マーカ30は撮像装置14により撮影されて、入力デバイス16の位置および姿勢の推定処理に利用される。撮像装置14は所定の周期(たとえば60フレーム/秒)で入力デバイス16を撮影するため、マーカ30は、撮像装置14の周期的な撮影タイミングに同期して光を出射し、撮像装置14による非露光期間には消灯して無用な電力消費を抑えることが好ましい。
図5は、入力デバイス16を撮影した画像の一部の例を示す。この画像は、右手で把持された入力デバイス16の撮影画像であり、光を出射する複数のマーカ30の像が含まれる。HMD100において、通信制御部128は、撮像装置14が撮影した画像データを所定の周期で情報処理装置10に送信する。
図6は、入力デバイス16の機能ブロックを示す。制御部50は、操作部材22に入力された操作情報を受け付け、また姿勢センサ52により取得されたセンサデータを受け付ける。姿勢センサ52は、入力デバイス16の動きに関するセンサデータを取得し、少なくとも3軸の加速度センサおよび3軸のジャイロセンサを含む。姿勢センサ52は、所定の周期(たとえば1600Hz)で各軸成分の値(センサデータ)を検出する。制御部50は、受け付けた操作情報およびセンサデータを通信制御部54に供給する。通信制御部54は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、制御部50から出力される操作情報およびセンサデータを情報処理装置10に送信する。また通信制御部54は、情報処理装置10から発光指示を取得する。
入力デバイス16は、複数のマーカ30を点灯するための複数の光源58を備える。光源58は、所定の色で発光するLED素子であってよい。制御部50は、情報処理装置10から取得した発光指示にもとづいて光源58を発光させ、マーカ30を点灯させる。
図7は、情報処理装置10の機能ブロックを示す。情報処理装置10は、処理部200および通信部202を備え、処理部200は、取得部210、推定処理部220、ゲーム実行部230およびマーカ情報保持部240を有する。通信部202は、入力デバイス16から送信される操作情報およびセンサデータを受信し、取得部210に供給する。また通信部202は、HMD100から送信される撮影画像データおよびセンサデータを受信し、取得部210に供給する。
取得部210は、撮影画像取得部212、センサデータ取得部214および操作情報取得部216を有する。推定処理部220は、マーカ像座標特定部222、マーカ像座標抽出部224、位置姿勢導出部226および位置判定部228を有して、撮影画像におけるマーカ像の座標にもとづいて入力デバイス16の位置情報および姿勢情報を推定する。推定処理部220は、入力デバイス16の位置情報および姿勢情報をゲーム実行部230に供給する。
これらの構成はハードウエア的には、任意のプロセッサ、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである
撮影画像取得部212は、複数のマーカ30を備えた入力デバイス16を撮影した画像を取得し、推定処理部220に供給する。センサデータ取得部214は、入力デバイス16およびHMD100から送信されるセンサデータを取得し、推定処理部220に供給する。操作情報取得部216は、入力デバイス16から送信される操作情報を取得し、ゲーム実行部230に供給する。ゲーム実行部230は、操作情報および入力デバイス16の位置姿勢情報にもとづいて、ゲームを進行する。
マーカ像座標特定部222は、撮影画像に含まれるマーカ30の像を代表する2次元座標(以下、「マーカ像座標」とも呼ぶ)を特定する。マーカ像座標特定部222は、所定値以上の輝度値をもつ画素の領域を特定し、その画素領域の重心座標を算出して、マーカ像座標としてよい。このときマーカ像座標特定部222は、マーカ像としてはあり得ない形状および大きさの画素領域を無視し、マーカ像であることが推定される形状および大きさの画素領域の重心座標を算出することが好ましい。
3次元の形状および大きさが既知である物体の撮影画像から、それを撮影した撮像装置の位置および姿勢を推定する手法として、PNP(Perspective n-Point)問題を解く方法が知られている。実施例でマーカ像座標抽出部224は、撮影画像におけるN(Nは3以上の整数)個の2次元マーカ像座標を抽出し、位置姿勢導出部226は、マーカ像座標抽出部224により抽出されたN個のマーカ像座標と、入力デバイス16の3次元モデルにおけるN個のマーカの3次元座標から、入力デバイス16の位置情報および姿勢情報を導出する。位置姿勢導出部226は、以下の(式1)を用いて撮像装置14の位置および姿勢を推定し、その推定結果をもとに入力デバイス16の3次元空間の位置情報および姿勢情報を導出する。
ここで(u,v)は撮影画像におけるマーカ像座標であり、(X,Y,Z)は、入力デバイス16の3次元モデルが基準位置および基準姿勢にあるときのマーカ30の3次元空間での位置座標である。なお3次元モデルは、入力デバイス16と完全に同一の形状および大きさをもち、マーカを同一位置に配置したモデルである。マーカ情報保持部240は、基準位置および基準姿勢にある3次元モデルにおける各マーカの3次元座標を保持しており、位置姿勢導出部226は、マーカ情報保持部240から各マーカの3次元座標を読み出して、(X,Y,Z)を取得する。
(fx、fy)は撮像装置14の焦点距離、(cx、cy)は画像主点であり、いずれも撮像装置14の内部パラメータである。r11~r33、t1~t3を要素とする行列は、回転・並進行列である。(式1)において(u,v)、(fx、fy)、(cx、cy)、(X,Y,Z)は既知であり、位置姿勢導出部226は、N個のマーカ30について方程式を解くことにより、それらに共通の回転・並進行列を求める。位置姿勢導出部226は、この行列によって表される角度および並進量に基づいて、入力デバイス16の位置情報および姿勢情報を導出する。実施例では、入力デバイス16の位置姿勢を推定する処理をP3P問題を解くことで実施し、したがって位置姿勢導出部226は、3個のマーカ像座標と、入力デバイス16の3次元モデルにおける3個の3次元マーカ座標を用いて、入力デバイス16の位置および姿勢を導出する。
実施例の情報処理システム1において、ユーザは両手に入力デバイス16を把持して、ゲームをプレイする。そのため撮影画像には、ユーザが右手で把持した入力デバイス16のマーカ30の像と、ユーザが左手で把持した入力デバイス16のマーカ30の像とが含まれる。
図8は、2つの入力デバイス16を撮影した画像の例を示す。この撮影画像には、右手で把持された入力デバイス16のマーカ30の像と、左手で把持された入力デバイス16のマーカ30の像とが含まれる。なお便宜上、図8には白黒反転した撮影画像を示し、マーカ像を黒領域で表現している。以下、右手で把持された入力デバイス16を「入力デバイス16a」、左手で把持された入力デバイス16を「入力デバイス16b」と呼ぶ。
図9は、推定処理部220による推定処理のフローチャートである。撮影画像取得部212が、2つの入力デバイス16a、16bを撮影した画像を取得すると(S10)、マーカ像座標特定部222が、撮影画像に含まれる複数のマーカ像の座標を特定する(S12)。特定された複数のマーカ像座標には、入力デバイス16aのマーカ位置を表現するものと、入力デバイス16bのマーカ位置を表現するものの双方が含まれる。
図10は、マーカ像座標特定部222が撮影画像に含まれる複数のマーカ像の座標を特定した状態を示す。この例でマーカ像座標特定部222は、マーカ像座標P1~P15を特定している。
推定処理部220は、先に入力デバイス16aまたは入力デバイス16bのいずれか一方の位置情報および姿勢情報を推定し、その後、他方の位置情報および姿勢情報を推定する。初期トラッキング時、推定処理部220は、先に右手用の入力デバイス16aの位置姿勢推定処理を実施してよい(S14)。マーカ像座標抽出部224は、マーカ像座標P1~P15から任意の3個のマーカ像座標を抽出する。
マーカ情報保持部240は、基準位置および基準姿勢にある右手用入力デバイス16aおよび左手用入力デバイス16bの3次元モデルにおける各マーカの3次元座標を保持している。位置姿勢導出部226は、マーカ情報保持部240から右手用の入力デバイス16aの3次元モデルにおけるマーカの3次元座標を読み出し、式1を用いてP3P問題を解く。位置姿勢導出部226は、抽出された3個のマーカ像座標に共通する回転・並進行列を特定すると、抽出した3個のマーカ像座標以外の入力デバイス16aのマーカ像座標を特定できる。位置姿勢導出部226は、抽出された3個以外のマーカ像座標を用いて再投影誤差を算出する。
S14では、マーカ像座標抽出部224が、マーカ像座標P1~P15から3個のマーカ像座標の組合せを所定数抽出し、位置姿勢導出部226が、抽出された3個のマーカ像座標のそれぞれの組合せに対して回転・並進行列を特定し、それぞれの再投影誤差を算出する。その後、位置姿勢導出部226は、所定数の再投影誤差の中から最小の再投影誤差となる回転・並進行列を特定して、入力デバイス16aの位置情報および姿勢情報を導出する。
位置姿勢導出部226が回転・並進行列を特定することで、入力デバイス16aのマーカ像座標群が確定される(S16)。図10に示す例で、入力デバイス16aのマーカ像座標群は、マーカ像座標P1~P7である。位置姿勢導出部226は、入力デバイス16aの位置情報および姿勢情報を導出した後、入力デバイス16aのマーカ像座標P1~P7を除いた残りのマーカ像座標P8~P15にもとづいて、入力デバイス16bの位置情報および姿勢情報を導出する。
推定処理部220は、右手用の入力デバイス16aの位置姿勢推定処理を終了した後、左手用の入力デバイス16bの位置姿勢推定処理を実施する(S18)。マーカ像座標抽出部224は、入力デバイス16aのマーカ像座標P1~P7を除外した残りのマーカ像座標P8~P15から任意の3個のマーカ像座標を抽出する。位置姿勢導出部226は、マーカ情報保持部240から左手用の入力デバイス16bの3次元モデルにおけるマーカの3次元座標を読み出し、式1を用いてP3P問題を解く。位置姿勢導出部226は、抽出された3個のマーカ像座標に共通する回転・並進行列を特定すると、抽出した3個のマーカ像座標以外の入力デバイス16bのマーカ像座標を特定できる。位置姿勢導出部226は、抽出された3個以外のマーカ像座標を用いて再投影誤差を算出する。なお再投影誤差の算出時に、位置姿勢導出部226が、マーカ像座標P1~P7を用いることはない。
S18では、マーカ像座標抽出部224が、マーカ像座標P8~P15から3個のマーカ像座標の組合せを所定数抽出し、位置姿勢導出部226が、抽出された3個のマーカ像座標のそれぞれの組合せに対して回転・並進行列を特定し、それぞれの再投影誤差を算出する。その後、位置姿勢導出部226は、所定数の再投影誤差の中から最小の再投影誤差となる回転・並進行列を特定して、入力デバイス16bの位置情報および姿勢情報を導出する。推定処理部220は、入力デバイス16aおよび入力デバイス16bの位置情報および姿勢情報をゲーム実行部230に供給する。
以上のように、S18では位置姿勢導出部226が、マーカ像座標P1~P7を候補から除外して、入力デバイス16bの位置情報および姿勢情報を導出することで、計算量を削減できる。
位置姿勢導出部226が、入力デバイス16aおよび入力デバイス16bの位置情報および姿勢情報を推定すると、位置判定部228は、入力デバイス16aおよび入力デバイス16bのいずれが撮像装置14に近いか判定する(S20)。この例で位置判定部228は、左手用の入力デバイス16bが右手用の入力デバイス16aよりも撮像装置14に近いことを判定する。
位置姿勢推定処理は、撮影画像の撮像周期で実施される(S22のN)。入力デバイス16aおよび入力デバイス16bの位置情報および姿勢情報が導出された後、撮影画像取得部212が、新たな撮影画像を取得すると(S10)、推定処理部220は、撮像装置14から相対的に近い位置にある入力デバイス16bの位置情報および姿勢情報を、撮像装置14から相対的に遠い位置にある入力デバイス16aの位置情報および姿勢情報よりも先に導出する。つまりS14において、推定処理部220は、前回の撮影画像を用いた推定処理結果により撮像装置14に相対的に近い位置にあると判断された入力デバイス16bの位置情報および姿勢情報を、入力デバイス16aよりも先に導出する。
撮像装置14から相対的に遠い位置にある入力デバイス16aは、相対的に近い位置にある入力デバイス16bによって撮像装置14から隠されることはあっても、その逆はない。そのため入力デバイス16bは、高精度に位置情報および姿勢情報を推定されることが見込まれ、推定処理部220は、撮像装置14に近い位置にある入力デバイス16bの位置情報および姿勢情報の推定処理を、入力デバイス16aの推定処理よりも先に実施する。
推定処理部220は、左手用の入力デバイス16bの位置姿勢推定処理が終了した後、右手用の入力デバイス16aの位置姿勢推定処理を実施する(S18)。マーカ像座標抽出部224は、入力デバイス16bのマーカ像座標P8~P15を除外した残りのマーカ像座標P1~P7から任意の3個のマーカ像座標を抽出する。位置姿勢導出部226は、マーカ情報保持部240から右手用の入力デバイス16aの3次元モデルにおけるマーカの3次元座標を読み出し、式1を用いてP3P問題を解き、入力デバイス16aの位置情報および姿勢情報を導出する。ゲーム実行部230がゲームを終了すると、推定処理部220による位置姿勢推定処理も終了する(S22のY)。
以上、本発明を実施例をもとに説明した。上記実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例では推定処理を情報処理装置10が実施したが、情報処理装置10の機能がHMD100に設けられて、HMD100が推定処理を実施してもよい。
実施例では、操作部材22を備えた入力デバイス16における複数マーカ30の配置について説明したが、トラッキングの対象となるデバイスは、必ずしも操作部材22を備えていなくてよい。実施例では、2つの入力デバイス16が撮影された場合の位置姿勢推定処理について説明したが、3つ以上のトラッキング対象となるデバイスが撮影された場合の位置姿勢推定処理も同様に実現される。また実施例では撮像装置14がHMD100に取り付けられているが、撮像装置14は、マーカ像を撮影できればよく、HMD100以外の別の位置に取り付けられてもよい。
本発明は、デバイスの位置情報および姿勢情報を導出する技術分野で利用できる。
1・・・情報処理システム、10・・・情報処理装置、14・・・撮像装置、16・・・入力デバイス、30・・・マーカ、200・・・処理部、202・・・通信部、210・・・取得部、212・・・撮影画像取得部、214・・・センサデータ取得部、216・・・操作情報取得部、220・・・推定処理部、222・・・マーカ像座標特定部、224・・・マーカ像座標抽出部、226・・・位置姿勢導出部、228・・・位置判定部、230・・・ゲーム実行部、240・・・マーカ情報保持部。
Claims (6)
- 複数のマーカを備えた第1デバイスおよび複数のマーカを備えた第2デバイスを撮影した画像を取得する撮影画像取得部と、
撮影画像におけるマーカ像座標にもとづいて、前記第1デバイスの位置情報および姿勢情報と、前記第2デバイスの位置情報および姿勢情報を推定する推定処理部と、を備え、
前記推定処理部は、
前記第1デバイスの位置情報および姿勢情報を導出した後、前記第1デバイスのマーカ像座標を除いた残りのマーカ像座標にもとづいて、前記第2デバイスの位置情報および姿勢情報を導出する、
ことを特徴とする情報処理装置。 - 前記推定処理部は、撮像装置から相対的に近い位置にある前記第1デバイスの位置情報および姿勢情報を、撮像装置から相対的に遠い位置にある前記第2デバイスの位置情報および姿勢情報よりも先に導出する、
ことを特徴とする請求項1に記載の情報処理装置。 - 前記推定処理部は、前回の撮影画像を用いた推定処理結果により撮像装置に相対的に近い位置にあると判断された前記第1デバイスの位置情報および姿勢情報を先に導出する、
ことを特徴とする請求項2に記載の情報処理装置。 - 前記推定処理部は、
撮影画像におけるN(Nは3以上の整数)個のマーカ像座標を抽出する抽出部と、
抽出されたN個のマーカ像座標を用いて、前記第1デバイスの位置情報および姿勢情報を導出する位置姿勢導出部と、を有し、
前記位置姿勢導出部が前記第1デバイスの位置情報および姿勢情報を導出した後、前記抽出部は、前記第1デバイスのマーカ像座標を除いた残りのマーカ像座標からN個のマーカ像座標を抽出し、
前記位置姿勢導出部は、残りのマーカ像座標から抽出されたN個のマーカ像座標を用いて、前記第2デバイスの位置情報および姿勢情報を導出する、
ことを特徴とする請求項1から3のいずれかに記載の情報処理装置。 - 複数のマーカを備えた第1デバイスおよび複数のマーカを備えた第2デバイスを撮影した画像を取得するステップと、
撮影画像におけるマーカ像座標にもとづいて、前記第1デバイスの位置情報および姿勢情報を導出するステップと、
前記第1デバイスのマーカ像座標を除いた残りのマーカ像座標にもとづいて、前記第2デバイスの位置情報および姿勢情報を導出するステップと、
を有するデバイス情報導出方法。 - コンピュータに、
複数のマーカを備えた第1デバイスおよび複数のマーカを備えた第2デバイスを撮影した画像を取得する機能と、
撮影画像におけるマーカ像座標にもとづいて、前記第1デバイスの位置情報および姿勢情報を導出する機能と、
前記第1デバイスのマーカ像座標を除いた残りのマーカ像座標にもとづいて、前記第2デバイスの位置情報および姿勢情報を導出する機能と、
を実現させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/440,869 US11794095B2 (en) | 2019-04-24 | 2020-04-17 | Information processing apparatus and device information derivation method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-083059 | 2019-04-24 | ||
JP2019083059A JP7288792B2 (ja) | 2019-04-24 | 2019-04-24 | 情報処理装置およびデバイス情報導出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020218182A1 true WO2020218182A1 (ja) | 2020-10-29 |
Family
ID=72942554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/016854 WO2020218182A1 (ja) | 2019-04-24 | 2020-04-17 | 情報処理装置およびデバイス情報導出方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11794095B2 (ja) |
JP (1) | JP7288792B2 (ja) |
WO (1) | WO2020218182A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022072083A (ja) | 2020-10-29 | 2022-05-17 | Ntn株式会社 | 転がり軸受 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007296248A (ja) * | 2006-05-02 | 2007-11-15 | Sony Computer Entertainment Inc | ゲーム装置 |
WO2011145180A1 (ja) * | 2010-05-18 | 2011-11-24 | 富士通株式会社 | ポインタ情報処理装置、ポインタ情報処理プログラムおよび会議システム |
WO2016157807A1 (ja) * | 2015-03-27 | 2016-10-06 | セイコーエプソン株式会社 | インタラクティブプロジェクター,インタラクティブプロジェクションシステム,およびインタラクティブプロジェクターの制御方法 |
JP2018032102A (ja) * | 2016-08-22 | 2018-03-01 | 株式会社コロプラ | 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体 |
JP2019061528A (ja) * | 2017-09-27 | 2019-04-18 | 株式会社Cygames | プログラム、情報処理方法、情報処理システム、頭部装着型表示装置、情報処理装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5714108U (ja) | 1980-06-28 | 1982-01-25 | ||
JP2005135425A (ja) | 1998-02-16 | 2005-05-26 | Sony Computer Entertainment Inc | 携帯用電子機器の保護ケース |
JP5089060B2 (ja) | 2006-03-14 | 2012-12-05 | 株式会社ソニー・コンピュータエンタテインメント | エンタテインメントシステムおよびゲームコントローラ |
JP4443531B2 (ja) | 2006-04-11 | 2010-03-31 | 株式会社ソニー・コンピュータエンタテインメント | エンタテインメントシステムおよび処理装置 |
US20110183751A1 (en) | 2008-01-22 | 2011-07-28 | Hiromu Ueshima | Imaging device, online game system, operation object, input method, image analysis device, image analysis method, and recording medium |
EP2354896B1 (en) | 2008-11-14 | 2016-12-21 | Sony Interactive Entertainment Inc. | Operating device and information processing apparatus |
US9517407B2 (en) | 2012-04-20 | 2016-12-13 | Nintendo Co., Ltd. | Game system and game controller |
WO2015079715A1 (ja) | 2013-11-30 | 2015-06-04 | 株式会社五藤光学研究所 | 恒星投映筒 |
US9649558B2 (en) | 2014-03-14 | 2017-05-16 | Sony Interactive Entertainment Inc. | Gaming device with rotatably placed cameras |
JP6355978B2 (ja) | 2014-06-09 | 2018-07-11 | 株式会社バンダイナムコエンターテインメント | プログラムおよび画像生成装置 |
US9746921B2 (en) | 2014-12-31 | 2017-08-29 | Sony Interactive Entertainment Inc. | Signal generation and detector systems and methods for determining positions of fingers of a user |
JP6650739B2 (ja) | 2015-11-30 | 2020-02-19 | 株式会社ソニー・インタラクティブエンタテインメント | 発光デバイス調整装置および駆動電流調整方法 |
JP6917701B2 (ja) * | 2016-11-30 | 2021-08-11 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
JP7081599B2 (ja) | 2017-07-27 | 2022-06-07 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US10529074B2 (en) | 2017-09-28 | 2020-01-07 | Samsung Electronics Co., Ltd. | Camera pose and plane estimation using active markers and a dynamic vision sensor |
JP6853156B2 (ja) * | 2017-09-29 | 2021-03-31 | 株式会社日立製作所 | 姿勢推定システム、姿勢推定装置、及び距離画像カメラ |
-
2019
- 2019-04-24 JP JP2019083059A patent/JP7288792B2/ja active Active
-
2020
- 2020-04-17 US US17/440,869 patent/US11794095B2/en active Active
- 2020-04-17 WO PCT/JP2020/016854 patent/WO2020218182A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007296248A (ja) * | 2006-05-02 | 2007-11-15 | Sony Computer Entertainment Inc | ゲーム装置 |
WO2011145180A1 (ja) * | 2010-05-18 | 2011-11-24 | 富士通株式会社 | ポインタ情報処理装置、ポインタ情報処理プログラムおよび会議システム |
WO2016157807A1 (ja) * | 2015-03-27 | 2016-10-06 | セイコーエプソン株式会社 | インタラクティブプロジェクター,インタラクティブプロジェクションシステム,およびインタラクティブプロジェクターの制御方法 |
JP2018032102A (ja) * | 2016-08-22 | 2018-03-01 | 株式会社コロプラ | 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体 |
JP2019061528A (ja) * | 2017-09-27 | 2019-04-18 | 株式会社Cygames | プログラム、情報処理方法、情報処理システム、頭部装着型表示装置、情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20220161127A1 (en) | 2022-05-26 |
US11794095B2 (en) | 2023-10-24 |
JP2020181321A (ja) | 2020-11-05 |
JP7288792B2 (ja) | 2023-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7248490B2 (ja) | 情報処理装置、デバイスの位置および姿勢の推定方法 | |
CN108292489B (zh) | 信息处理装置和图像生成方法 | |
WO2020209088A1 (ja) | 複数のマーカを備えたデバイス | |
WO2017094606A1 (ja) | 表示制御装置及び表示制御方法 | |
US20240198211A1 (en) | Device including plurality of markers | |
US11232588B2 (en) | Information processing apparatus and device information derivation method | |
JP2017208707A (ja) | 情報処理装置、情報処理システム、撮像装置、ヘッドマウントディスプレイ、および情報処理方法 | |
WO2020218182A1 (ja) | 情報処理装置およびデバイス情報導出方法 | |
JP6768933B2 (ja) | 情報処理装置、情報処理システム、および画像処理方法 | |
US20240257391A1 (en) | Information processing apparatus and device information derivation method | |
WO2020213363A1 (ja) | 複数のマーカを備えたデバイス | |
WO2023157338A1 (ja) | 情報処理装置およびデバイス位置推定方法 | |
WO2023157499A1 (ja) | 情報処理装置およびデバイス位置推定方法 | |
WO2023157498A1 (ja) | 情報処理装置、デバイス速度推定方法およびデバイス位置推定方法 | |
WO2023153093A1 (ja) | 情報処理装置および代表座標導出方法 | |
WO2023153094A1 (ja) | 情報処理装置および代表座標導出方法 | |
WO2023238678A1 (ja) | 情報処理装置、コントローラ表示方法およびコンピュータプログラム | |
JP6705929B2 (ja) | 表示制御装置及び表示制御方法 | |
WO2022255058A1 (ja) | 情報処理装置および画像生成方法 | |
US20210141450A1 (en) | System and method for producing images based on gaze direction and field of view | |
JP2024031113A (ja) | 情報処理装置および画像生成方法 | |
JP2021007231A (ja) | 情報処理装置、情報処理システム、および画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20796101 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20796101 Country of ref document: EP Kind code of ref document: A1 |