WO2023176210A1 - 情報処理装置、情報処理方法および情報処理プログラム - Google Patents
情報処理装置、情報処理方法および情報処理プログラム Download PDFInfo
- Publication number
- WO2023176210A1 WO2023176210A1 PCT/JP2023/004169 JP2023004169W WO2023176210A1 WO 2023176210 A1 WO2023176210 A1 WO 2023176210A1 JP 2023004169 W JP2023004169 W JP 2023004169W WO 2023176210 A1 WO2023176210 A1 WO 2023176210A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- information processing
- processing device
- inertial
- camera
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/0059—Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence
- A61B5/0077—Devices for viewing the surface of the body, e.g. camera, magnifying lens
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Measuring devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor or mobility of a limb
- A61B5/1116—Determining posture transitions
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Measuring devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor or mobility of a limb
- A61B5/1126—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor or mobility of a limb using a particular sensing technique
- A61B5/1128—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor or mobility of a limb using a particular sensing technique using image analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—Two-dimensional [2D] image generation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/292—Multi-camera tracking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/77—Determining position or orientation of objects or cameras using statistical methods
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2562/00—Details of sensors; Constructional details of sensor housings or probes; Accessories for sensors
- A61B2562/02—Details of sensors specially adapted for in-vivo measurements
- A61B2562/0219—Inertial sensors, e.g. accelerometers, gyroscopes, tilt switches
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Definitions
- the present disclosure relates to an information processing device, an information processing method, and an information processing program related to motion capture processing.
- motion capture technology has been actively developed for acquiring movement information indicating user movements.
- the acquired motion information is used, for example, for motion guidance in sports and rehabilitation, or for applications such as VR (Virtual Reality) or AR (Augmented Reality).
- VR Virtual Reality
- AR Augmented Reality
- an avatar video imitating the user's movements is generated using the acquired motion information, and the avatar video is distributed.
- Patent Document 1 discloses a motion capture technology realized by an inertial sensor method using an inertial navigation system (INS).
- INS inertial navigation system
- Patent Document 1 is a technology for obtaining position information using an inertial sensor method with higher accuracy, but it is possible to find a technology that can further improve accuracy by using in combination with or in place of the technology in Patent Document 1. desirable.
- the present disclosure proposes an information processing device, an information processing method, and an information processing program that can improve the accuracy of motion capture.
- an information processing device includes a first acquisition unit that acquires inertial information accompanying the movement of a moving body from an inertial sensor attached to the moving body; a second acquisition unit that acquires first image information obtained by capturing the moving body from a camera; and first posture information of the moving body obtained based on the inertial information acquired by the first acquisition unit. and a calculation unit that calculates third attitude information based on the second attitude information of the moving object obtained based on the first image information acquired by the second acquisition unit.
- FIG. 2 is a diagram showing an overview of information processing according to an embodiment.
- 1 is a diagram showing the configuration of an information processing system according to an embodiment.
- FIG. 1 is a diagram showing the configuration of an information processing device according to an embodiment.
- FIG. 7 is a diagram showing a specific example of generation of inertial skeleton data according to the embodiment.
- FIG. 3 is a diagram (1) showing an example of generation of corrected skeleton data.
- FIG. 3 is a diagram (2) showing an example of generation of corrected skeleton data.
- FIG. 3 is a diagram (3) illustrating an example of generation of corrected skeleton data.
- FIG. 1 is a diagram (1) showing an outline of a correction algorithm.
- FIG. 2 is a diagram (2) showing an outline of a correction algorithm.
- FIG. 3 is a flowchart showing an overview of the overall procedure when performing motion capture according to the embodiment.
- FIG. 2 is a diagram for explaining calibration processing between an inertial motion capture system and a camera motion capture system.
- 7 is a flowchart showing a calibration processing procedure according to the embodiment.
- 7 is a flowchart showing a capture processing procedure according to the embodiment.
- 7 is a flowchart showing a processing procedure for reliability estimation according to the embodiment.
- FIG. 7 is a diagram illustrating an overview of information processing according to a first modification. It is a diagram showing an example of the configuration of a system that executes information processing according to a first modification.
- FIG. 7 is a diagram showing an overview of information processing according to a second modification.
- FIG. 7 is a diagram showing an overview of information processing according to a third modification. It is a figure showing an outline of information processing concerning a 4th modification.
- 12 is a flowchart showing the procedure of information processing according to a fifth modification. It is a figure showing the example of composition of the system which performs information processing concerning the 6th modification. It is a figure showing use case 1 of a 7th modification.
- FIG. 12 is a diagram showing use case 2 of a seventh modification. It is a figure which shows the use case 3 of a 7th modification. It is a figure showing use case 4 of a 7th modification. It is a figure which shows the use case 5 of a 7th modification. It is a figure which shows the use case 6 of a 7th modification.
- FIG. 1 is a hardware configuration diagram showing an example of a computer that implements the functions of an information processing device.
- Embodiment 1-1 Overview of information processing according to embodiment 1-2.
- Other embodiments Effects of the information processing device according to the present disclosure 4.
- Hardware configuration example when using external devices 1-5-7.
- Hardware configuration example when using external devices 1-5-7.
- Hardware configuration example when using external devices 1-5-7.
- FIG. 1 is a diagram showing an overview of information processing according to an embodiment.
- Information processing regarding visualization of the motion of a moving body according to the embodiment is executed by the information processing apparatus 100 shown in FIG.
- the information processing apparatus 100 according to the embodiment executes information processing related to so-called motion capture, which measures the movement (motion) of a moving body such as a human being and visualizes the motion based on the measured data.
- skeleton data expressed by a skeleton structure indicating the structure of the body is used to visualize information on the movement of a moving body such as a human or an animal.
- the skeleton data includes information about parts and bones, which are line segments connecting parts.
- the parts in the skeleton structure correspond to, for example, end parts of the body, joint parts, and the like.
- the bones in the skeleton structure may correspond to, for example, human bones, the positions and numbers of the bones do not necessarily have to match the actual human skeleton.
- the positions of parts in the skeleton data can be obtained using various motion capture techniques.
- various motion capture techniques For example, there are camera-based technologies that attach markers to various parts of the body and use an external camera to obtain the position of the markers, and techniques that attach motion sensors to body parts and use sensor data acquired by the motion sensors.
- sensor-based technology that acquires position information of a motion sensor based on the motion sensor.
- time-series data of skeleton data is used to improve form in sports, and is used in applications such as VR or AR.
- time-series data of skeleton data is used to generate an avatar video that imitates the user's movements, and the avatar video is distributed.
- the information processing device 100 executes information processing using six sensor devices 10A to 10F attached to each joint of the user 14.
- the information processing device 100 is realized by, for example, a tablet terminal, a smartphone, or the like.
- the sensor devices 10A to 10F are inertial sensors that acquire sensor data according to the movement of each joint of the user 14, etc.
- the information processing device 100 receives sensor data from the sensor devices 10A to 10F, and generates inertial skeleton data 20 of the user 14 using the received sensor data. Further, in parallel with acquiring the inertial skeleton data 20, the information processing device 100 images the external appearance of the user 14 using a camera included in the information processing device 100 or an external camera, and acquires the optical skeleton data 20 of the user 14. generate.
- the information processing device 100 combines the inertial skeleton data 20 and the optical skeleton data 22 to generate corrected skeleton data 24. Specifically, the information processing device 100 generates corrected skeleton data 24 by performing correction processing on the inertial skeleton data 20 based on information in the optical skeleton data 22. That is, the information processing device 100 does not use the inertial skeleton data 20 or the optical skeleton data 22 alone, but mutually corrects the information based on two different types of acquired posture information, and uses the corrected skeleton data 24. generate. Thereby, the information processing device 100 can acquire the corrected skeleton data 24 which is motion capture data with higher precision than when using the inertial skeleton data 20 or the optical skeleton data 22 alone.
- the information processing device 100 performs correction on the joints of the common parts of the structures.
- the information processing device 100 mainly corrects terminal joints (arms, ankles, heads) and intermediate joints (elbows, shoulders, knees).
- the terminal joint here refers to the joint at the end of the skeleton data output value, unlike the actual terminal joint of the human body (for example, a finger), but depending on the type of inertial sensor or camera used, it may include the palm or the top of the foot. It may also be a terminal joint.
- the end joints 240 and 242 in the corrected skeleton data 24 are to be corrected.
- Inertial motion capture using sensor devices 10A to 10F has the advantage that it can be used anywhere regardless of the environment, but it also requires improved absolute position accuracy and problems with errors that may occur during long-term use. There is a need to reduce accumulation. Furthermore, with optical motion capture, depending on the posture of the user 14, the joints may be out of the imaging range, making it difficult to continue accurately capturing the movements of the user 14. Therefore, the information processing device 100 improves the precision of motion capture by correcting the inertial skeleton data 20 obtained by inertial motion capture with the optical skeleton data 22 obtained by camera photography.
- data obtained by inertial motion capture has the disadvantage that errors increase over time, but according to the information processing device 100, such errors are corrected based on data obtained from a camera, so high accuracy can be maintained for a long time. This makes it possible to continue executing motion capture.
- FIG. 2 is a diagram showing the configuration of the information processing system 1 according to the embodiment.
- the information processing system 1 includes six sensor devices 10A to 10F, an information processing device 100, a distribution server 30, and a viewing user terminal 40.
- the information processing device 100, the distribution server 30, and the viewing user terminal 40 are connected via the network 12.
- the network 12 is a wired or wireless transmission path for information transmitted from devices connected to the network 12.
- the network 12 may include public line networks such as the Internet, telephone lines, and satellite communication networks, various LANs (Local Area Networks) including Ethernet (registered trademark), WANs (Wide Area Networks), and the like.
- the network 12 may include a dedicated line network such as an IP-VPN (Internet Protocol-Virtual Private Network).
- the user 14 shown in FIG. 2 is a user who distributes an avatar video using the information processing device 100. Users 15 and 17 are viewing users who view the avatar video.
- the sensor devices 10A to 10F include inertial sensors (IMUs (Inertial Measurement Units)) such as acceleration sensors that obtain acceleration and gyro sensors (angular velocity sensors) that obtain angular velocity.
- IMUs Inertial Measurement Units
- the sensor devices 10A to 10F may include sensors such as a geomagnetic sensor, an ultrasonic sensor, and an atmospheric pressure sensor.
- sensors such as a geomagnetic sensor, an ultrasonic sensor, and an atmospheric pressure sensor.
- the sensor device 10 be attached to a reference joint part of the body (for example, the waist or the head) or near the extremity of the body (wrist, ankle, head, etc.).
- a sensor device 10A is attached to the user's waist
- a sensor device 10B and a sensor device 10E are attached to the wrist
- a sensor device 10C and a sensor device 10D are attached to the ankle
- a sensor device is attached to the head. 10F is installed.
- the part of the body to which the sensor device 10 is attached may also be referred to as the attachment part.
- the number of sensor devices 10 and the mounting positions are not limited to the example shown in FIG. 2, and the number of sensor devices 10 mounted on the user 14 may be larger or smaller.
- Such a sensor device 10 acquires the acceleration or angular velocity of the attachment site as sensor data, and transmits the sensor data to the information processing device 100.
- the information processing device 100 is an example of an information processing device used by the user 14.
- the information processing device 100 generates corrected skeleton data 24 based on inertial skeleton data 20 generated based on inertial sensor data and optical skeleton data 22 generated based on imaging data by a camera.
- the information processing device 100 acquires mounting part information indicating the position and posture of each mounting part based on sensor data, and based on the mounting part information, the information processing apparatus 100 acquires mounting part information indicating the position and posture of each mounting part in the skeleton structure. Inertial skeleton data 20 containing information is generated.
- the information processing device 100 has one or more cameras, such as an RGB camera or a ToF (ranging sensor), inside or outside, and acquires image information capturing the posture of the user 14 by imaging.
- the information processing device 100 generates optical skeleton data 22 of the user 14 from the obtained image information.
- image information may include not only pixel data that constitutes an image, but also metadata such as the date and time when the image was acquired and camera parameters.
- the information processing device 100 combines the inertial skeleton data 20 and the optical skeleton data 22 to generate corrected skeleton data 24.
- the skeleton data is an example of posture information indicating the movement of the user 14 (that is, the posture at each predetermined time period).
- posture information indicating the movement of the user 14 (that is, the posture at each predetermined time period).
- skeleton data at a predetermined point in time may be referred to as a pose.
- time-series data of poses at n consecutive points in time may be referred to as motion.
- the information processing device 100 may apply the corrected skeleton data 24 to a virtual object (avatar) used for distribution, and generate an avatar video with movements corresponding to the corrected skeleton data 24.
- avatar virtual object
- the information processing device 100 transmits the generated avatar video to the distribution server 30 and requests the distribution server 30 to distribute the avatar video.
- the information processing device 100 may be an information processing device such as a notebook PC (Personal Computer), a desktop PC, or a server. Further, the information processing device 100 may be configured such that some functions are performed by a smartphone and other functions are performed by an information processing device such as a notebook PC connected via a network.
- a notebook PC Personal Computer
- the information processing device 100 may be configured such that some functions are performed by a smartphone and other functions are performed by an information processing device such as a notebook PC connected via a network.
- the distribution server 30 distributes the avatar video to the viewing user terminal 40 based on a request from the information processing device 100.
- the distribution server 30 may be provided by the same business as the information processing device 100, or may be provided by another business. If a different business operator than the one that provides the information processing device 100 operates the distribution server 30, the information processing device 100 can provide the distribution server 30 that provides the distribution service specified by the user 14 with the information it maintains. Request distribution of avatar video. That is, although only one distribution server 30 is shown in FIG. 2, there may be as many distribution servers 30 as there are providers providing distribution services.
- the viewing user terminal 40 is an information processing device used by viewing users (for example, the users 15 and 17 shown in FIG. 2).
- the viewing user terminal 40 has a display unit that displays various screens, an operation unit that detects operations by the viewing user, and a control unit that controls the overall operation of the viewing user terminal 40.
- the viewing user terminal 40 requests the distribution server 30 to distribute the avatar video of the user 14 based on the operation of the viewing user, and displays the avatar video distributed from the distribution server 30.
- a smartphone is shown as the viewing user terminal 40 in FIG. 2, the viewing user terminal 40 may be another information processing device such as a notebook PC or a desktop PC.
- FIG. 3 is a diagram showing the configuration of the information processing device 100 according to the embodiment.
- the information processing apparatus 100 according to the first embodiment of the present disclosure includes an operation section 110, a display section 120, a communication section 130, a camera 140, a storage section 150, and a control section 160. and.
- the operation unit 110 is configured to be operated by a user to input instructions or information to the information processing device 100.
- the display unit 120 displays various display screens. For example, the display unit 120 displays a display screen including an avatar image generated by the control unit 160.
- the communication unit 130 transmits the avatar video generated by the control unit 160 to the distribution server 30 via the network 12.
- the camera 140 images the user 14 and sends the imaged data to the control unit 160.
- the camera 140 includes an RGB camera and a ToF (ranging sensor). Further, the camera 140 may be one or a plurality of cameras. Further, the camera 140 may be installed inside the information processing device 100 or may be provided outside and send image information to the control unit 160 via the communication unit 130.
- the storage unit 150 stores data used for information processing by the information processing device 100.
- the storage unit 150 stores avatar information including image information including body parts such as the avatar's head, clothes, and accessories.
- the avatar information may include related information indicating the relevance of image information of each part of the avatar, or may be composed of only one part.
- control unit 160 may cause a program (for example, an information processing program according to the present disclosure) stored inside the information processing device 100 to be transferred to a RAM (Random Access Memory) by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. ) etc. as the work area.
- control unit 160 is a controller, and may be realized by, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
- the control unit 160 controls the overall operation of the information processing device 100.
- the control unit 160 according to the first embodiment of the present disclosure generates inertial skeleton data 20 of the user 14 based on sensor data received from the sensor device 10. Further, the control unit 160 generates optical skeleton data 22 using the image information acquired from the camera 140. Further, the control unit 160 corrects the inertial skeleton data 20 based on the optical skeleton data 22 to generate corrected skeleton data 24. Then, the control unit 160 generates an avatar image having the posture indicated by the corrected skeleton data 24.
- These functions of the control section 160 are realized by the acquisition section 161, the calculation section 166, and the display control section 168 shown in FIG.
- the acquisition unit 161 includes an inertial data acquisition unit 162 that acquires inertial data received from the sensor device 10 and an optical data acquisition unit 163 that acquires image information from the camera 140.
- the inertial data acquisition unit 162 acquires inertial information associated with the movement of a moving object from an inertial sensor (sensor device 10) attached to the moving object. Specifically, the inertial data acquisition unit 162 acquires sensor data indicating the acceleration or angular velocity of the attachment site from the sensor device 10 .
- the optical data acquisition unit 163 acquires image information of a moving object from the camera 140. Specifically, the optical data acquisition unit 163 controls the camera 140 to acquire image information of a moving object (such as the user 14) to be imaged.
- the calculation unit 166 includes first posture information of the moving body obtained based on the inertial information acquired by the inertial data acquisition unit 162 and first posture information of the moving body obtained based on the image information acquired by the optical data acquisition unit 163.
- Third attitude information is calculated based on the second attitude information.
- the calculation unit 166 calculates the third posture information based on the inertial skeleton data 20 of the user 14 generated based on the inertial information and the optical skeleton data 22 generated based on the image information.
- Calculate corrected skeleton data 24 That is, the calculation unit 166 calculates posture information corresponding to the corrected skeleton data 24 from the inertial skeleton data 20 and the optical skeleton data 22, and generates the corrected skeleton data 24 indicating the movement of the moving object.
- the information processing device 100 performs preprocessing (calibration) to make the coordinate systems of the inertial information and the optical information correspond. That is, the calculation unit 166 performs calibration to calculate predetermined parameters so that the size and joint information of the user 14 obtained from the inertial data match the size and joint information of the user 14 obtained from the image information. Then, based on the calibration results, corrected skeleton data 24 is calculated. Details of such calibration will be described later.
- the calculation unit 166 acquires attachment site information indicating the position and posture of each attachment site from the inertial data acquisition section 162, and calculates position information and posture information of each site in the skeleton structure based on the attachment site information. Then, inertial formula skeleton data 20 reflecting the calculation results is generated.
- the calculation unit 166 calculates position information and posture information of the joints and bones between the joints of the person in the image using the skeleton estimation technology based on the image information acquired by the optical data acquisition unit 163. Optical skeleton data 22 reflecting the results is generated.
- the calculation unit 166 calculates posture information related to the corrected skeleton data 24 based on the inertial skeleton data 20 and the optical skeleton data 22. For example, the calculation unit 166 generates the corrected skeleton data 24 by performing a correction process on the basic inertial skeleton data 20 based on the information of the optical skeleton data 22.
- the display control unit 168 controls the display of objects in conjunction with the movement of the moving body, based on the posture information calculated by the calculation unit 166. Specifically, the display control unit 168 controls the display of the avatar based on the corrected skeleton data 24 calculated by the calculation unit 166 and the avatar information stored in the storage unit 150. Specifically, the display control unit 168 generates avatar image information (including a video) by applying the corrected skeleton data 24 to the avatar information, and displays the generated avatar. Note that, like this process, a process of applying posture information to a virtual object such as an avatar to give it movement is sometimes referred to as "retargeting.”
- the display control unit 168 may use the background in the image information when generating the optical skeleton data as the background in the avatar image. That is, the display control unit 168 may display the avatar superimposed on the image information acquired by the camera 140.
- FIG. 4 is a diagram showing a specific example of generation of inertial skeleton data 20 according to the embodiment.
- the information processing device 100 acquires mounting part information 500 including position information and posture information of the mounting parts on which the sensor devices 10A to 10F are mounted, based on the sensor data.
- the information processing device 100 acquires inertial skeleton data 510 including position information and posture information of each part in the skeleton structure, as shown in the right diagram of FIG. 4, based on the attachment part information 500.
- the inertial skeleton data 510 includes not only information on the attached site 511 corresponding to the sensor device 10A and the attached site 514 corresponding to the sensor device 10B, but also information on the non-attached site 513. This is realized by the information processing device 100 supplementing the skeleton between the wearing part and the non-wearing part based on the human skeleton information, and reflecting the supplemented information in the inertial skeleton data 510.
- the inertial skeleton data 510 may include bone information (position information, posture information, etc.) in addition to body part information.
- the inertial skeleton data 510 may include information about the bone 512 between the attached part 514 and the non-attached part 513. That is, the information processing apparatus 100 can also specify bone information between parts based on the position information and posture information of the parts in the skeleton structure. For such processing, the technique described in the above-mentioned Patent Document 1 may be used.
- FIG. 5 is a diagram (1) showing an example of generation of corrected skeleton data.
- the information processing device 100 acquires data output from sensor devices 10A to 10F attached to the user 14 via communication such as Bluetooth (registered trademark), and creates an inertial skeleton based on the acquired sensor data. Generate data 540. Furthermore, the information processing device 100 generates optical skeleton data 560 based on image information of the user 14 captured by a camera included in the information processing device 100.
- the information processing device 100 can generate optical skeleton data 560 that includes position information 561 that is the absolute position of the left hand.
- the information processing device 100 corrects the inertial skeleton data 20 by applying the left wrist joint position information 561 of the optical skeleton data 22 to the left wrist joint position information 541 of the inertial skeleton data 540.
- the information processing device 100 Through the correction process, the information processing device 100 generates corrected skeleton data 570 in which the position information 571 of the left wrist joint is corrected. In this way, the information processing device 100 corrects the inertial skeleton data 540 by utilizing the advantages of the optical skeleton data 560 that provides accurate absolute position information of the end joints, thereby creating a highly accurate corrected skeleton. Data 570 can be generated.
- FIG. 6 is a diagram (2) showing an example of generation of corrected skeleton data.
- the position of the end joint cannot be properly imaged because a part of the body is hidden behind another part (referred to as self occlusion).
- self occlusion a part of the body is hidden behind another part.
- the following is an example of the generation process.
- the information processing device 100 acquires sensor data from the sensor devices 10A to 10F attached to the user 14, and generates inertial skeleton data 590. Since the inertial skeleton data 590 is generated based on data acquired by the sensor device 10 attached to a part of the body, deviations may occur at the ends. In the example of FIG. 6, a position 591 of the left hand end of the user 14 in the inertial skeleton data 590 has a deviation from the actual left hand end of the user 14.
- the information processing device 100 generates optical skeleton data 610 based on the image 600 captured by the camera of the user 14.
- the left hand end position 611 of the user 14 is reflected relatively accurately.
- the left elbow which is the elbow joint of the user 14
- the optical skeleton data 610 lacks some information corresponding to the user's 14 elbow joint.
- the information processing device 100 corrects the inertial skeleton data 590 based on the position information of the left hand end position 611 in the optical skeleton data 610, and uses the corrected result to correct the position of the left elbow. Recalculate using a method such as IK (Inverse Kinematics).
- the information processing device 100 then generates corrected skeleton data 620 that reflects the recalculated results.
- the corrected skeleton data 620 includes a left hand end position 621 that accurately reflects the position acquired by the optical skeleton data 610, and the position of the left elbow is also recalculated based on the left hand end position 621, so that the user 14 The position accurately reflects the movement of the
- the information processing device 100 can generate highly accurate corrected skeleton data 620 by combining it with the inertial skeleton data 590. can.
- FIG. 7 is a diagram (3) showing an example of generation of corrected skeleton data.
- FIG. 7 illustrates a generation process when the position of the end joint is not properly imaged because a part of the body is out of the field of view when the user 14 is imaged.
- the information processing device 100 acquires sensor data from the sensor devices 10A to 10F attached to the user 14, and generates inertial skeleton data 640. Since the inertial skeleton data 640 is generated based on data acquired by the sensor device 10 attached to a part of the body, deviations may occur in the skeletal data between the sensors. In the example of FIG. 7, the right elbow position 641 of the user 14 in the inertial skeleton data 640 is deviated from the actual position of the right elbow of the user 14.
- the information processing device 100 generates optical skeleton data 660 based on the image 650 captured by the camera of the user 14. Since the optical skeleton data 660 estimates the skeleton based on the image 650 that actually captures the user 14, the right elbow position 661 of the user 14 is reflected relatively accurately compared to the inertial skeleton data 640. There is. On the other hand, since the user's 14 right-hand end is out of the view angle, the optical skeleton data 660 lacks some information corresponding to the user's 14 right-hand end.
- the information processing device 100 corrects the inertial skeleton data 640 based on the position information of the right elbow position 661 in the optical skeleton data 660, and uses the corrected result to correct the position of the right hand end. Recalculate.
- the information processing device 100 then generates corrected skeleton data 670 that reflects the recalculated results.
- the corrected skeleton data 670 includes a right elbow position 672 that accurately reflects the position obtained by the optical skeleton data 660, and a right hand end position 671 that is recalculated based on the right elbow position 672 also reflects the movement of the user 14. The position will be accurately reflected.
- FIG. 8 is a diagram (1) showing an overview of the correction algorithm.
- the information processing device 100 estimates the reliability of each piece of position information in the image information that is the source of the optical skeleton data, and corrects the position of the position information to be corrected in the skeleton data (for example, end joints and intermediate joints). Determine whether or not. For example, when the reliability is lower than a predetermined threshold, the information processing apparatus 100 does not perform correction using optical skeleton data regarding position information to be corrected for inertial skeleton data. On the other hand, when the reliability is higher than a predetermined threshold, the information processing device 100 generates corrected skeleton data using the position information obtained from the optical skeleton data, giving priority to the inertial skeleton data. Note that various known techniques can be applied to the reliability estimation process, which indicates how reliable each position is when an image of a person is captured by a camera.
- the information processing device 100 selects the right elbow position 691, the right foot end position 692, the left foot end position 693, the left hand end position 694, the left elbow position 695, the right Estimate the confidence level of each of the end positions 696.
- the information processing device 100 may estimate each piece of positional information by itself, or may obtain the reliability of each piece of positional information estimated by another device and use the obtained numerical value.
- the information processing device 100 estimates relatively high reliability for the right elbow position 691, right foot end position 692, left foot end position 693, and left elbow position 695, which are clearly included in the camera's view angle.
- the information processing apparatus 100 estimates a relatively low reliability for the left hand end position 694, which is partially out of the field of view of the camera.
- the information processing apparatus 100 determines that the reliability is 0 for the right hand end position 696 that is completely outside the camera's field of view.
- the information processing device 100 uses the position information to correct the right elbow position 691, right foot end position 692, left foot end position 693, and left elbow position 695, which are estimated with relatively high reliability. Processing is performed to calculate posture information and generate corrected skeleton data. At this time, the information processing apparatus 100 may correct the position information using the estimated reliability as a correction coefficient. Furthermore, when there is a difference in reliability between the end joint and the middle joint, the information processing device 100 may correct the reliability by first applying the higher one.
- the information processing device 100 does not use the left hand end position 694 and the right hand end position 696, which have low reliability, in the correction process, but uses position information calculated based on the position information acquired by the sensor device 10, for example. Then, corrected skeleton data is generated.
- FIG. 8 shows an example in which corrected skeleton data is generated based on positional information of each part of the user 14 captured by a camera.
- FIG. 9 is a diagram (2) showing an overview of the correction algorithm.
- the information processing device 100 estimates relatively high reliability for the right foot end position 703, left foot end position 704, and left elbow position 705 in the image 700.
- the information processing apparatus 100 estimates a relatively low reliability for the left hand end position 702.
- the information processing apparatus 100 determines that the reliability is 0 for the right hand end position 701 that is completely outside the camera's view angle.
- optical skeleton data 710 shown in FIG. 9 shows skeleton data generated based on the reliability in the image 700.
- optical skeleton data 710 may be generated significantly different from the movement of user 14 in image 700.
- the reliability estimation process and the process of generating skeleton data based on the reliability are not performed using only the instantaneous image captured by the camera, but are performed using the user 14's next image in chronological order. This is because information from which movements are estimated is used.
- the movement of the user 14 immediately before the image 700 is captured (for example, the movement of the user 14 corresponding to the image 690 in FIG. 8) has an influence.
- the information processing apparatus 100 incorrectly estimates the reliability value and generates skeleton data along the left elbow position 695 in FIG. 8 .
- the information processing device 100 refers to the results of the inertial data acquired by the sensor device 10, and if the position of the left elbow in the skeleton data and the position of the left elbow estimated from the inertial data differ by a predetermined distance or more, It is determined that correction processing based on image 700 is not performed. That is, the information processing apparatus 100 can perform appropriate correction processing by removing exceptional values obtained from the image 700 using posture information obtained from inertial skeleton data.
- the information processing device 100 regards other parts of the body as an arm even if the left elbow is hidden, and automatically generates skeleton data based on the appearance of the user 14. There are cases where the skeleton is estimated and skeleton data is generated. However, when skeleton data is generated based on such information, the difference with the inertial skeleton data is observed to be much larger than usual, so the information processing device 100 treats this left elbow position as an outlier. Can be excluded.
- the calculation unit 166 of the information processing device 100 generates corrected skeleton data by estimating the reliability regarding the optical skeleton data and performing correction according to the reliability. That is, the information processing device 100 can improve the accuracy of the generated skeleton data by generating corrected skeleton data while mutually compensating for any discrepancies that occur in either the inertial skeleton data or the optical skeleton data.
- FIGS. 10 to 13 a processing procedure by the information processing system 1 including the information processing device 100 will be described using FIGS. 10 to 13.
- a processing procedure by the information processing system 1 including the information processing device 100 will be described using FIGS. 10 to 13.
- an inertial motion capture system a series of functional configurations for the information processing device 100 to obtain inertial skeleton data based on the inertial data acquired from the sensor device 10
- a series of functional configurations for obtaining optical skeleton data based on image information (optical data) acquired by the information processing device 100 from a camera may be referred to as a camera-based motion capture system.
- FIG. 10 is a flowchart outlining the overall procedure when performing motion capture according to the embodiment. Specifically, FIG. 10 shows the flow of the overall procedure when the information processing device 100 executes motion capture of the user 14 using an inertial motion capture system and a camera motion capture system.
- the information processing device 100 performs calibration to align the coordinate systems of the inertial motion capture system and the camera motion capture system (step S11). Details of the calibration will be described later.
- the information processing device 100 starts capturing (step S12). Specifically, the information processing device 100 uses an inertial motion capture system to generate inertial skeleton data using inertial data acquired from the sensor device 10 worn by the user 14. Furthermore, the information processing device 100 starts photographing the user 14 using the camera 140, and generates optical skeleton data based on the acquired image information.
- the information processing device 100 then corrects the movement of the user 14 based on the image information acquired from the camera 140 while continuing to track the movement of the user 14 based on the inertial data (step S13). For example, the information processing apparatus 100 performs such correction for each frame rate of the camera 140.
- the information processing device 100 outputs the tracking results (step S14). Specifically, the information processing apparatus 100 calculates corrected posture information (that is, corrected skeleton data) at predetermined intervals corresponding to the frame rate, and outputs the calculated posture information.
- corrected posture information that is, corrected skeleton data
- the information processing device 100 determines whether or not the capture for the user 14 has been completed (step S15). If the capture has not ended (step S15; No), the information processing device 100 continues the capture (step S12). On the other hand, if the capture has ended (step S15; Yes), the information processing device 100 ends the entire process.
- FIG. 11 is a diagram for explaining calibration processing between an inertial motion capture system and a camera motion capture system.
- Inertial skeleton data obtained by an inertial motion capture system and optical skeleton data obtained by a camera motion capture system have different sizes and coordinate systems, so they cannot be used for correction processing as is. For this reason, the information processing apparatus 100 performs calibration to align both coordinate systems prior to the correction process.
- the information processing device 100 calculates predetermined parameters as calibration so that the sizes and joint information of the inertial skeleton data and the optical skeleton data match. For example, the information processing device 100 calculates an axis transformation matrix between a camera motion capture system and an inertial motion capture system. Note that when depth information cannot be acquired as a function of the camera, the information processing device 100 may calculate inter-joint distances to be used as scale (size) standards in both systems instead of the axis transformation matrix. .
- the information processing device 100 images the user 14 at the start of the inertial capture system. For example, the information processing device 100 captures an image of the user 14 in an upright posture (generally referred to as "N pose" or the like).
- N pose an upright posture
- the coordinate system of the inertial system is the back direction of the user 14 (the z-axis of the coordinate axes shown in FIG. 11) and the front direction of the user 14 (the y-axis of the coordinate axes), so the information processing device 100
- the coordinate system of the camera is adjusted according to the operation by the operator.
- the information processing apparatus 100 matches a distance 720 from the head to the waist of the user 14, which is a reference scale, with a distance 721 corresponding to the distance 720 on the image.
- the information processing apparatus 100 can make the sizes and coordinate systems of both systems the same by calculating an axis transformation matrix that is a parameter for making the reference scales of the systems the same between the systems.
- the information processing device 100 aligns the information between both systems by applying the calculated axis transformation matrix. be able to.
- the information processing device 100 uses the distance between joints (for example, from the head to the waist of the user 14) as the reference information for the scale.
- the bone estimation results can be adjusted by using the joint distance information as a scale factor.
- the information processing device 100 can perform correction processing, avatar generation processing, etc. in real time.
- the information processing device 100 may use image information to determine whether or not the calibration has been performed accurately when performing the calibration. The success or failure of the calibration can be confirmed by, for example, the user 14 being photographed by the camera taking a step toward the camera. At this time, the information processing apparatus 100 performs determination based on image information. Specifically, the information processing device 100 observes that the right hand position 722 of the user 14, which should not originally move, has moved, as shown in the right diagram of FIG.
- the information processing device 100 may issue a warning to the user 14 to request the user 14 to try again, for example, because the calibration is not successful.
- FIG. 12 is a flowchart showing a calibration processing procedure according to the embodiment.
- the information processing device 100 observes N poses of the capture target (user 14) (step S21). Specifically, the information processing device 100 images the user 14 taking the N pose.
- the information processing device 100 determines whether the main joints have been estimated by the camera 140 (step S22). Specifically, the information processing device 100 determines whether posture information corresponding to the optical skeleton data can be estimated based on the image information acquired by the camera 140. Note that the main joints correspond to, for example, the waist and head positions of the user 14.
- step S22 the information processing device 100 captures images again by the camera 140, and adjusts the camera parameters and angle of view so that the main joints can be estimated. .
- the information processing device 100 requests the target to move (step S23). For example, the information processing device 100 requests the user 14 to walk one step forward toward the camera 140.
- the information processing device 100 determines whether inertial data associated with the movement can be acquired without problems and whether there is any abnormality in the estimation of the main joints by the camera 140 (step S24).
- step S24 If there is a problem in acquiring inertial data associated with motion, or if there is an abnormality in main joint estimation by the camera 140 (step S24; No), the information processing device 100 controls the camera to prevent abnormalities from occurring in the estimation process, etc. After adjusting the parameters and angle of view, the target is requested to perform the action again.
- the information processing device 100 uses the acquired inertial data and the main joint estimation by the camera. With reference to the estimation, a coordinate transformation matrix and a scale factor are calculated from the relative position information of both main joints (step S25). With this process, the calibration is completed.
- FIG. 13 is a flowchart showing a capture processing procedure according to the embodiment.
- the information processing device 100 starts capturing the target using the sensor device 10 and the camera 140 (step S31). Then, the information processing device 100 acquires data for one frame to be processed in accordance with the frame rate of imaging by the camera 140 (step S32).
- the information processing device 100 estimates the reliability of the portion to be corrected among the image information acquired by the camera 140 (step S33).
- the locations to be corrected include the distal end and middle joint of the user 14, as shown in FIG. 8 and the like.
- the information processing device 100 determines whether the reliability estimated for a certain correction target exceeds a predetermined threshold (step S34). If the reliability does not exceed the predetermined threshold (step S34; No), the information processing device 100 determines that the correction target has some kind of problem, does not use it as a correction target, and performs processing on the next frame. conduct. Although not shown in FIG. 13, the information processing apparatus 100 repeats the determination as to whether or not the reliability exceeds the threshold value for the number of times to be corrected.
- step S34 If the reliability exceeds a predetermined threshold (step S34; Yes), the information processing device 100 selects the candidate as a correction target, and further determines whether the correction target has the highest reliability among the correction targets for the same limb. It is determined whether or not (step S35). For a correction target that does not have the highest reliability (step S35; No), the information processing apparatus 100 does not use that correction target, but uses another correction target that has the highest reliability.
- the information processing device 100 When the correction target with the highest reliability is selected among the same limbs, the information processing device 100 performs a correction process on the correction target using the reliability as a coefficient, and recalculates the joint position information of the limb (step S36). Thereby, the information processing device 100 can correct the joint positions of the user 14 estimated based on the inertial data to relatively accurate positions captured by the camera 140.
- the information processing apparatus 100 performs correction using not only the correction target with the highest reliability, but also multiple correction targets. Correction may be performed using a target.
- the information processing device 100 feeds back the recalculated joint positions to the inertial motion capture system (step S37). That is, the information processing device 100 calculates posture information (ie, corrected skeleton data) obtained as a result of the feedback.
- posture information ie, corrected skeleton data
- the information processing device 100 outputs corrected skeleton data that is the calculated tracking result (step S38).
- FIG. 14 is a flowchart showing a processing procedure for reliability estimation according to the embodiment.
- the information processing device 100 attempts to estimate reliability based on image information captured by the camera 140 (step S41).
- the information processing device 100 determines whether the joint to be processed can be estimated by the camera (step S42). For example, the information processing device 100 determines whether a joint to be processed does not fit within the angle of view of the camera 140 or is hidden due to self-occlusion.
- step S42 If the joint to be processed cannot be estimated by the camera (step S42; No), the information processing device 100 sets the reliability of the joint to be processed to 0 because the joint is not identified by the camera image in the first place. It is determined that (step S43).
- the information processing device 100 determines whether the distance to the adjacent joint is not unnatural (step S44).
- the unnatural distance between adjacent joints refers to, for example, when the joints to be processed are observed at positions exceeding a predetermined threshold value when compared with the immediately previous frame in the time series or during calibration.
- the joint position corresponding to the optical skeleton data 710 in FIG. 9 is a situation in which the joint position is estimated as an unnatural position.
- step S45 it is determined whether the image information captured by the camera 140 corresponds to a scene for which camera estimation is difficult.
- Scenes in which camera estimation is difficult are situations in which it is determined that it is difficult to capture the target based on the camera's ability, such as when the target is moving very fast, or the target is too close or far from the camera. means.
- the information processing device 100 may obtain information indicating that it is difficult to capture an image from the processing unit of the camera, and may make the determination in step S45 based on the obtained information, or may make the determination by itself. .
- the camera may transmit to the information processing device 100 that the moving object may not be properly imaged, based on the environmental information when the moving object was imaged.
- cameras have problems such as the fact that there is a lot of noise in the imaging environment (including many objects that are detected as noise, such as rain and snow), that face detection and joint detection for moving objects are not successful, and that the focal length If the target cannot be clearly identified, it is determined that the environmental information at the time of image capture is inappropriate. Then, the camera transmits to the information processing apparatus 100, together with the image information, a message indicating that the environmental information at the time of capturing the image is not appropriate. When the information processing apparatus 100 acquires such information, it determines that the scene corresponds to a scene for which camera estimation is difficult.
- the information processing device 100 may detect a scene in which camera estimation is difficult. It is determined that That is, the information processing device 100 is not good at camera estimation based on the reliability of skeletal information of a moving object obtained from image information (for example, an index value indicating whether optical skeleton data has been appropriately generated). It may be determined that the scene was
- step S45 If it is determined that the scene is not a scene for which camera estimation is difficult (step S45; Yes), the information processing device 100 determines whether there is a discrepancy exceeding a predetermined value between the results of the inertial capture system and the joint positions estimated by the camera. (Step S46).
- step S46 If there is no deviation from the results of the inertial capture system (step S46; Yes), the information processing device 100 outputs the reliability estimated in step S41 as is (step S48).
- step S46 if the information processing device 100 deviates from the result of the inertial capture system (step S46; No), or if it is determined that the distance to the adjacent joint is unnatural (step S44; No), or if the camera estimation is If it is determined that the scene is a difficult scene (step S45; No), the information processing device 100 lowers the reliability according to each condition (step S47).
- These calculation methods for reducing reliability are arbitrary, and may be performed based on parameters set in advance for each condition, or depending on the degree of the condition (for example, Parameters may be defined in advance, and reliability may be lowered depending on the degree of unnaturalness (for example, using appropriate parameters).
- the information processing device 100 performs the processing shown in FIG. 14 on all processing targets included in one frame, and calculates reliability. The information processing apparatus 100 then determines whether or not to perform the correction process and which correction target to perform the correction on based on the calculated degree of estimation.
- FIG. 15 is a diagram showing an overview of information processing according to the first modification.
- the information processing device 100 photographs the user 14, the information processing according to the embodiment is performed in real time, and at the same time as photographing the user 14, the captured information is applied to the avatar.
- the user 14 wears the sensor devices 10A to 10F.
- the information processing device 100 acquires sensor data from the sensor devices 10A to 10F, and generates inertial skeleton data of the user 14 using an inertial motion capture system. Furthermore, the information processing device 100 images the user 14 with the camera 140 and generates optical skeleton data using the optical motion capture system. Then, the information processing device 100 performs the above-described correction processing and generates corrected skeleton data. Furthermore, the information processing apparatus 100 outputs the avatar to a display screen or the like by retargeting the generated corrected skeleton data to the avatar in real time.
- the information processing device 100 displays a display screen 725 with a captured image 726.
- the display screen 725 includes a photographed image 726 showing how the user 14 is imaged, and skeletal information 727 that is displayed superimposed on the user 14 in the photographed image 726.
- the display screen 725 also includes an avatar 728 to which the skeleton information 727 has been retargeted.
- the content creator who images the user 14 can apply the user's 14 movement to the avatar 728 in real time, and can also visually confirm the situation.
- FIG. 15 shows an example in which the information processing device 100 generates correction skeleton data based on information of the rear camera
- the information processing device 100 generates correction skeleton data based on the camera provided on the display screen 725 side. Skeleton data 24 may also be generated.
- the user 14 can simultaneously photograph himself and see how his movements are applied to the avatar 728 in real time.
- the information processing device 100 allows the content creator to simultaneously check his or her movements and simultaneously distribute the avatar 728 to other users, thereby improving the mobility and operability of the content creator. I can do it.
- FIG. 16 shows an example of the configuration of a system when performing information processing according to the first modification.
- FIG. 16 is a diagram illustrating a configuration example of a system that executes information processing according to the first modification.
- the information processing device 100 acquires sensor data from the sensor devices 10A to 10F and image information from the camera 140 included in the device, and generates corrected skeleton data through the information processing described above. .
- the information processing device 100 may display the avatar 728 to which the corrected skeleton data is applied on the display unit 120 included in the information processing device 100. Further, the information processing device 100 may distribute image information, video data, etc. including the avatar 728 to the external device 740 via the network. External device 740 displays avatar 728 on display 741.
- FIG. 17 is a diagram showing an overview of information processing according to the second modification.
- the information processing device 100 acquires image information from the camera 745 that images the user 14, and also acquires inertial data from the sensor device 10 worn by the user 14.
- the information processing device 100 generates corrected skeleton data based on the movement of the user 14, and uses it as data for synthesis (step S51).
- the camera 745 captures an image that will become the background for synthesizing an avatar by applying the posture information of the user 14 in the future, without the user 14 present.
- the background data captured by the camera 745 is input to the information processing device 100 or a computer that is an information processing device for performing composition processing. Then, the information processing device 100 or the computer generates background data for synthesizing the avatar based on the imaging data acquired from the camera 745 (step S52).
- the background data may be the imaging data itself obtained from the camera 745, or may be subjected to some processing.
- the information processing device 100 or the computer applies the corrected skeleton data to the avatar 747, reproduces the movement of the user 14 on the avatar 747, and generates a composite video 746 by applying the background data to the avatar 747.
- the optical data acquisition unit 163 of the information processing device 100 acquires image information including the background image from a camera 745 that is different from the camera 140 included in the information processing device 100.
- the display control unit 168 of the information processing device 100 displays the avatar superimposed on the background image included in the image information.
- the information processing device 100 or the computer may perform post-process processing that retargets the avatar 747 after capture, instead of real-time processing that retargets the avatar 747 at the same time as capture.
- the information processing device 100 or the computer can realize high resolution and high frame rate video regardless of computational resources.
- the virtual camera position at the time of rendering of the avatar 747 is matched with the actual camera position (in the example of FIG. 17, the shooting position of the camera 745).
- the positional relationship between the reference point of the motion capture system and the actual camera position matches in terms of virtual positional relationship, which is advantageous for the rendering of the avatar 747. Note that even in this case, there will be a difference in camera view angle parameters, so the scales of both will be changed manually.
- FIG. 18 shows an example of the configuration of a system when performing information processing according to the second modification.
- FIG. 18 is a diagram illustrating a configuration example of a system that executes information processing according to the second modification.
- the post-processing process may be executed in cooperation between the information processing device 100 and the computer 751.
- the information processing device 100 acquires sensor data from each of the sensor devices 10A to 10F, and stores them in the storage unit as a capture result log 750.
- the camera 745 holds video data 749 that captures images of the user 14 and the background according to operations by the operator.
- the computer 751 generates and holds a corrected capture result 752 based on the capture result log 750 obtained from the information processing device 100 and the video data 749 obtained from the camera 745.
- the post-correction capture result 752 may be rephrased as corrected skeleton data generated by post-processing. Further, the computer 751 may generate an avatar distribution video or the like by combining an avatar video obtained by applying the corrected capture result 752 to the avatar 747 and background data of the video data 749.
- the information processing device 100 can, for example, create an AR (AR) that superimposes only the avatar on the real background.
- AR AR
- Avatar images can be provided as Augmented Reality) content.
- the computer 751 is assumed to be a server device or the like that is expected to have a higher calculation capacity than the information processing device 100 because calculation processing is performed in post-processing processing, but such processing is , may be executed only by the information processing device 100.
- FIG. 19 is a diagram showing an overview of information processing according to the third modification.
- attitude information is calculated based on information obtained by a camera
- information processing that reflects ground contact information etc. in attitude information, which is difficult with inertial data alone, is performed. I will explain about it.
- the information processing device 100 captures an image of the user 14 using the camera 140, thereby acquiring not only skeletal information but also, for example, ground contact information at the foot end position 755 of the user 14. Specifically, the information processing device 100 performs a process of detecting whether the foot end position 755 has touched the ground based on the image information acquired by the camera 140.
- the information processing device 100 determines that the foot end position 755 has touched the ground, the information processing device 100 reflects the ground contact information in the posture information to be calculated. Normally, when inertial data is used, the ground contact at the end position of the user 14 is estimated from the inertial data obtained from the ankle or the like, so there is a concern that the accuracy of ground contact detection may be lowered. However, if the data is an image of the user 14, it is possible to detect that the foot end position 755 has touched the ground with higher accuracy than estimation based on inertial data.
- the display control unit 168 of the information processing device 100 detects that at least a portion of the user 14 has touched an arbitrary object such as the ground based on the image information
- the display control unit 168 of the information processing device 100 controls the display of the avatar according to the detection. Take control.
- the information processing device 100 can detect insufficient accuracy in ground contact detection, such as the avatar's feet sinking into the ground or floating off the ground, which are likely to occur when displaying an avatar that reflects the movement of the user 14. It is possible to prevent display processing problems associated with this. Note that various known techniques may be applied to the process of recalculating attitude information upon ground contact.
- the information processing device 100 may perform ground contact (contact) detection with a part other than the foot to generate more accurate corrected skeleton data.
- the information processing device 100 aligns and sets the position of the object in the virtual space and the position of the object in the real space based on the image captured by the camera.
- the information processing apparatus 100 controls the display so that the avatar has touched the associated object in the virtual space.
- the information processing apparatus 100 aligns the desk in the virtual space with the desk in the real space included in the image information captured by the camera 140, and displays the desk in the virtual space together with the avatar.
- the information processing device 100 detects that the user 14 has touched the real desk, the information processing device 100 provides posture information indicating that the avatar has touched the desk displayed in the virtual space, so that the avatar touches the desk.
- the information processing apparatus 100 may display an effect based on the contact on the AR display when it is detected that the user has touched a real object.
- the effect display based on contact may be displayed at or near the position of contact, or may be displayed on the entire screen.
- the information processing device 100 tracks the hands, fingers and face (expression) of the user 14 from the camera image, and controls the display of the avatar by combining it with the inertial skeleton data 20. You can also do In this case, the information processing device 100 uses the image information from the camera 140 for finger tracking and face tracking, which is difficult to obtain with an inertial motion capture system.
- the display control unit 168 of the information processing device 100 detects facial expression information of a moving object (for example, detects the face of the user 14) based on the image information captured by the camera 140, the camera 745, etc., and displays the detection result. Based on this, the display of avatars may be controlled. Further, the display control unit 168 detects hand and finger information of a moving object (for example, detects the end of the hand or fingers of the user 14) based on the image information captured by the camera 140, the camera 745, etc., and based on the detection result. , the display of avatars may be controlled. Note that the above tracking may be performed based not only on the detection result by the camera 140 but also on information acquired from another device.
- the information processing device 100 tracks the hand and fingers of the user 14 by capturing the movement (gesture) of a moving object in time series based on information detected from an inertial sensor attached to the end (fingertip) of the moving object. It can be carried out. Further, the information processing device 100 can track the facial expressions of the user 14 by capturing facial movements (expressions) of a moving body in chronological order using, for example, a sensor that detects movements of the facial muscles of a moving body. I can do it. That is, the tracking process described above is not limited to the method of photographing a moving object with a camera. Further, the information processing device 100 performs tracking by combining a plurality of devices, such as using information acquired by the sensor device as described above for tracking, and using image information acquired by a camera as auxiliary information for tracking. It's okay.
- the information processing device 100 uses inertial skeleton data generated based on information acquired from an inertial sensor attached to the user 14 and face or hand data generated based on image information of the user 14 acquired from a camera. In combination with posture information, posture information used for avatar display is generated.
- the information processing device 100 can perform avatar expression that more accurately reflects the movements of the real user 14.
- the information processing device 100 may use the camera image for either tracking of hands and fingers or for tracking the face (expression), or may use the camera image for both. Further, the information processing apparatus 100 may use the camera image to correct the inertial skeleton data, and may also use the camera image to track the face and fingers, and perform avatar display control by combining them.
- FIG. 20 is a diagram showing an overview of information processing according to the fourth modification.
- the information processing apparatus 100 can apply the motion capture according to the embodiment not only to one user (moving object) but also to a plurality of users.
- the information processing device 100 acquires inertial data from sensor devices worn by a plurality of users, a user 762 and a user 764.
- the information processing apparatus 100 then generates inertial skeleton data 766 and inertial skeleton data 768 based on the inertial data corresponding to each user.
- the information processing device 100 acquires image information by capturing images of a plurality of users, ie, the user 762 and the user 764, using a camera provided in the information processing device 100.
- the information processing device 100 generates optical skeleton data 770 and optical skeleton data 772 corresponding to the user 762 and the user 764 based on the image information.
- the information processing device 100 obtains first posture information (inertial skeleton data) of each of the plurality of different moving objects obtained based on inertial information, and second posture information of each of the plurality of moving objects obtained from image information obtained by photographing the plurality of moving objects.
- the respective degrees of similarity with posture information (optical skeleton data) are determined.
- the information processing device 100 determines the degree of similarity between the inertial skeleton data and the optical skeleton data in order to determine which user the optical skeleton data included in the image information corresponds to. Each determination is made to identify which inertial skeleton data and optical skeleton data correspond to each other.
- the information processing apparatus 100 then executes the information processing according to the embodiment based on the identified results, and generates corrected skeleton data for each user.
- the above similarity determination can be performed by using known techniques, such as a method of comparing various information such as the shape and scale of the skeleton, and the orientation of the body and calculating the similarity.
- the information processing device 100 determines the degree of similarity between the inertial skeleton data and the optical skeleton data, and identifies users to whom each piece of data is associated based on the degree of similarity. Even when entering a corner, the information processing according to the embodiment can be executed without any problem.
- FIG. 21 is a flowchart showing the procedure of information processing according to the fifth modification.
- the fifth modification example shows a process performed by the information processing apparatus 100 when assuming a situation in which the camera is not a fixed camera but moves after calibration.
- the information processing device 100 updates the calibration parameters according to the movement of the camera based on the self-position estimation process (SLAM (Simultaneous Localization and Mapping) etc.) executed by the camera. . Specifically, the information processing device 100 updates the scale factor based on the amount of movement in the depth direction and the amount of posture change due to rotation (pitch or yaw) estimated by the camera.
- SAM Simultaneous Localization and Mapping
- the information processing device 100 updates the coordinate transformation matrix from the amount of vertical and horizontal movement and the amount of posture change in roll. Therefore, the information processing apparatus 100 can realize the information processing according to the embodiment without any problem even when imaging is performed with a camera that is not a fixed camera.
- the information processing device 100 first holds the parameters acquired during calibration (step S61).
- the information processing device 100 determines whether the camera has moved (step S62). For example, when the information processing device 100 is capturing an image with a camera included in the device, the information processing device 100 determines whether the camera has moved based on information indicating that the device has moved (acceleration sensor, position information, etc.). Determine. Further, when using an external camera, the information processing device 100 receives information indicating that the external camera has moved (acceleration sensor, position information, etc.) through communication from the external camera, and based on the received information, the information processing device 100 Determine whether or not the has moved.
- step S62 If the camera does not move (step S62; No), there is no need to update the parameters during calibration, and the information processing device 100 applies the parameters during calibration as they are (step S63).
- the information processing device 100 acquires the frame (image information) captured by the camera (step S64), and then estimates the self-position and orientation of the camera (step S65). ). For example, the information processing device 100 receives various data from a camera based on the above-mentioned SLAM, and estimates the self-position and orientation of the camera based on the received information.
- the information processing device 100 derives the amount of movement in the depth direction and the amount of change in pitch and yaw posture of the camera from the self-position and posture information of the camera, and updates the scale factor (step S66).
- the information processing device 100 derives the amount of vertical and horizontal movement and the amount of change in posture of the roll in the camera, and updates the coordinate transformation matrix (step S67).
- the information processing device 100 applies the parameters updated in step S66 and step S67 (step S68). After that, the information processing device 100 determines whether or not the capture is finished (step S69). If the capture has not been completed (step S69; No), the information processing device 100 performs the information processing according to the embodiment by applying the updated parameters to the next frame, and further performs the information processing according to the embodiment based on the self-position information of the camera, etc. , the camera parameters are updated repeatedly. On the other hand, when the capture ends (step S69; Yes), the information processing apparatus 100 also ends the parameter update process.
- the calculation unit 166 of the information processing device 100 recalculates the parameters in calibration based on the camera position and orientation information estimated based on the image information, and creates a correction skeleton based on the results of the recalculation. Data may also be calculated.
- the self-position estimation of the camera is not limited to this technique.
- the information processing device 100 may be able to capture the position information of the camera by, for example, adding a marker to the camera and measuring it with an external camera.
- FIG. 22 is a diagram illustrating a configuration example of a system that executes information processing according to the sixth modification.
- a sixth modification example shows an example in which the information processing apparatus 100 uses a glove 302 and an external camera 304 as devices for capturing the user's movements.
- the glove 302 is, for example, a sensor device having a function of recognizing the posture of the wearer's fingers.
- the information processing device 100 includes a background data acquisition unit 300.
- the background data acquisition unit 300 acquires image information from the external camera 304 to be used as a background when displaying an avatar.
- the information processing device 100 may generate skeleton data based on the finger posture information acquired from the glove 302, and perform avatar display control. Further, the information processing apparatus 100 may control the display of the avatar using image information acquired from the external camera 304 as the background of the avatar.
- the information processing apparatus 100 is capable of performing information processing according to the embodiment using not only the sensor apparatus 10 but also various devices capable of acquiring posture information.
- the corrected skeleton data generated by the information processing device 100 is applied to display control of an avatar, and the distribution server 30 distributes the avatar to viewing users.
- the process of applying (retargeting) the corrected skeleton data to the avatar and the process of distributing the retargeted avatar may be performed by various entities. That is, in the seventh modification, after the information processing device 100 executes motion capture, the process from when the information processing device 100 executes motion capture until the captured data is used by the user (so-called post processing such as distribution to the user) shows. More specifically, aspects of the seventh modification can be exemplified as use cases 1 to 6 shown in FIGS. 23 to 28. Below, use cases 1 to 6 will be explained in order.
- FIG. 23 is a diagram showing use case 1 of the seventh modification.
- the information processing device 100 includes a motion capture unit 780 and a distribution application 782.
- the distribution application 782 is software that executes distribution processing in use case 1. That is, use case 1 shows an example in which the information processing device 100 is responsible for utilizing and distributing data obtained by motion capture.
- the motion capture unit 780 corresponds to the control unit 160 in the embodiment described above. That is, the motion capture unit 780 generates corrected skeleton data using inertial skeleton data generated based on the acquired sensor data and optical skeleton data generated based on camera image information.
- the distribution application 782 is responsible for the process of distributing the avatar image generated based on the motion capture data (corrected skeleton data) acquired by the motion capture unit 780. As shown in FIG. 23, the distribution application 782 includes an acquisition section 791, a retargeting section 784, and a distribution section 786.
- the acquisition unit 791 acquires motion capture data, which is data for imparting motion to the avatar, from the motion capture unit 780.
- the motion capture data may be the corrected skeleton data itself, or may be posture information generated based on the corrected skeleton data and based on various existing formats.
- the retargeting unit 784 reapplies (retargets) the motion capture data acquired by the acquisition unit 791 from the user 14 whose motion was captured to another character or the like. For example, the retargeting unit 784 applies motion capture data obtained by capturing the movements of the user 14 to an avatar on virtual content such as VR.
- the distribution unit 786 distributes the avatar image generated by the retargeting unit 784 via the network 12 and distribution server 30. Note that the information processing device 100 may directly distribute the avatar image to the user 15 without using the distribution server 30.
- the information processing device 100 includes the distribution application 782 that executes retargeting processing and distribution processing. That is, in use case 1, the information processing apparatus 100 includes a retargeting unit 784 that applies the pose information calculated by the calculation unit 166 to virtual content (such as an avatar), and a virtual content to which the pose information is applied by the retargeting unit 784. It further includes a distribution unit 786 that distributes content to users.
- the distribution application 782 executes retargeting processing and distribution processing. That is, in use case 1, the information processing apparatus 100 includes a retargeting unit 784 that applies the pose information calculated by the calculation unit 166 to virtual content (such as an avatar), and a virtual content to which the pose information is applied by the retargeting unit 784. It further includes a distribution unit 786 that distributes content to users.
- the distributor can perform motion capture and subsequent avatar image generation and distribution by using only the information processing device 100. That is, according to the configuration of use case 1, the distributor can distribute an avatar that has undergone highly accurate motion capture to a user with a simple configuration such as a single smartphone.
- FIG. 24 is a diagram showing use case 2 of the seventh modification.
- the distribution application 782A is designed by the developer 16, and the information processing device 100 shows an example in which the distribution application 782A designed by the developer 16 is incorporated into its own device.
- the distribution application 782A further includes a conversion unit 792, as compared to the example of FIG.
- the conversion unit 792 is, for example, a processing unit that is incorporated into the distribution application 782A as a plug-in for using the motion capture data generated by the motion capture unit 780 in the distribution application 782A. That is, use case 2 is an example in which the information processing device 100 provides the developer 16 with a function for using motion capture data as a plug-in, and performs distribution using the distribution application 782A in which such a function is incorporated. shows.
- the conversion unit 792 acquires various data from the acquisition unit 791 and converts the data into a format that can be handled by the distribution application 782A. For example, the conversion unit 792 receives the corrected skeleton data from the acquisition unit 791 and converts the corrected skeleton data into a form that can be retargeted by the retargeting unit 784. The retargeting unit 784 retargets the corrected skeleton data converted by the converting unit 792 to an avatar or the like. The distribution unit 786 distributes the retargeted avatar to the user 15.
- the information processing device 100 includes the conversion unit 792 that converts the corrected skeleton data into a format readable by the display control unit 168 so that the corrected skeleton data can be retargeted to the avatar and display controlled.
- the distributor using the information processing device 100 does not need to develop the distribution application 782A on his own device, but can add the function as a plug-in to the distribution application 782A developed by the external developer 16.
- the information processing device 100 can perform avatar distribution on its own device by applying the information processing according to the embodiment even if the software used for distribution is developed externally.
- FIG. 25 is a diagram showing use case 3 of the seventh modification.
- the information processing device 100 does not directly distribute the avatar, but provides the motion capture data generated by the information processing device 100 to the data usage device 800, which is another device that uses it, and the data usage device 800 An example of distributing avatars is shown below.
- the data usage device 800 is, for example, a server device operated by a different company from the information processing device 100, or a cloud server placed on the cloud.
- the data utilization device 800 has a distribution application 810 for acquiring corrected skeleton data via the network 12, retargeting the acquired data to an avatar, and distributing the retargeted avatar. That is, in use case 3, the functions of the retargeting unit 784 and the distribution unit 786 that were executed by the information processing device 100 in use case 1 are executed on software (distribution application 810) included in the data usage device 800. shows. Note that the acquisition unit 812 related to the distribution application 810 executes the same process as the acquisition unit 791 shown in FIG. 23.
- the retargeting unit 814 related to the distribution application 810 executes the same process as the retargeting unit 784 shown in FIG. 23.
- the distribution unit 816 related to the distribution application 810 executes the same processing as the distribution unit 786 shown in FIG. 23.
- the information processing device 100 transmits the corrected skeleton data generated by the motion capture unit 780 to the data utilization device 800 via the communication unit 130.
- the data utilization device 800 includes a retargeting unit 784 that applies posture information calculated by the calculation unit 166 of the information processing device 100 to virtual content (such as an avatar), and a virtual content to which the posture information is applied by the retargeting unit 784.
- a distribution unit 786 is provided to distribute the information to the user.
- the communication unit 130 of the information processing device 100 provides the corrected skeleton data to another device (data utilization device 800) that performs display control of the avatar linked to the movement of the user 14 based on the corrected skeleton data.
- data utilization device 800 another device that performs display control of the avatar linked to the movement of the user 14 based on the corrected skeleton data.
- part of the functions of the information processing device 100 can be executed by the data usage device 800. Therefore, in the system configuration of use case 3, even if the information processing device 100 is a device such as a smartphone that does not have high processing capacity, the processing load can be shared with the data usage device 800, so the information processing according to the embodiment can be executed smoothly.
- FIG. 26 is a diagram showing use case 4 of the seventh modification.
- an external developer 16 creates a communication application 794 for the information processing device 100 to send corrected skeleton data to the data usage device 800 and a distribution application 810 for the data usage device 800 to use for distribution.
- a communication application 794 for the information processing device 100 to send corrected skeleton data to the data usage device 800
- a distribution application 810 for the data usage device 800 to use for distribution.
- the information processing device 100 provides the conversion unit 792 as a plug-in executed by the communication application 794.
- the conversion unit 792 acquires corrected skeleton data from the motion capture unit 780 during processing within the communication application 794, and converts the acquired data into a format that can be handled by the communication application 794.
- the communication unit 130 transmits the corrected skeleton data converted by the conversion unit 792 to the data utilization device 800.
- the information processing device 100 can use the corrected skeleton data generated by the device itself without any problem.
- FIG. 27 is a diagram showing use case 5 of the seventh modification.
- Use case 5 shows a situation where the data usage device 800 is operated by an external developer 16.
- the information processing device 100 provides a plug-in that is incorporated into the conversion application 820 developed by the developer 16.
- a plug-in executes a process of transmitting a request to obtain corrected skeleton data to the information processing apparatus 100 or a process of obtaining corrected skeleton data from the information processing apparatus 100.
- the communication unit 130 of the information processing device 100 transmits the correction skeleton data to the conversion application 820.
- the acquisition unit 822 related to the conversion application 820 acquires the corrected skeleton data transmitted by the communication unit 130.
- the conversion unit 824 converts the acquired corrected skeleton data into a format that can be handled by the retargeting unit 826.
- the retargeting unit 826 applies the converted corrected skeleton data to the avatar.
- the distribution unit 828 distributes the retargeted avatar image to the distribution server 30 and the user 15.
- the conversion application 820 since the conversion application 820 is responsible for applying the corrected skeleton data to the avatar, the information processing device 100 uses a plug-in etc. to perform the correction without retargeting or distributing it on its own device. By simply providing the skeleton data to an external device, it is possible to provide the user 15 with an avatar image generated with high precision.
- FIG. 28 is a diagram showing use case 6 of the seventh modification.
- Use case 6 shows an example in which the conversion application 830 related to the data usage device 800 is responsible only for data conversion, and the retargeting unit 836 and the distribution unit 838 are configured as different software. Note that use case 6 also shows a situation in which the data usage device 800 is operated by an external developer 16.
- the information processing device 100 provides a plug-in that is incorporated into the conversion application 830 developed by the developer 16.
- the acquisition unit 832 related to the conversion application 830 acquires the corrected skeleton data transmitted by the communication unit 130.
- the conversion unit 834 converts the acquired corrected skeleton data into a format that can be handled by the retargeting unit 836.
- the retargeting unit 784 applies the converted corrected skeleton data to the avatar.
- the distribution unit 838 distributes the retargeted avatar image to the distribution server 30 and the user 15.
- the information processing device 100 can generate highly accurate avatars by simply providing corrected skeleton data from the device itself to an external device using a plug-in, etc., regardless of the software configuration of the data usage device 800.
- the image may be provided to the user 15.
- each component of each device shown in the drawings is functionally conceptual, and does not necessarily need to be physically configured as shown in the drawings.
- the specific form of distributing and integrating each device is not limited to what is shown in the diagram, and all or part of the devices can be functionally or physically distributed or integrated in arbitrary units depending on various loads and usage conditions. Can be integrated and configured.
- the information processing device (the information processing device 100 in the embodiment) according to the present disclosure includes a first acquisition unit (the inertial data acquisition unit 162 in the embodiment) and a second acquisition unit (the optical data acquisition unit 162 in the embodiment).
- the calculation unit includes a formula data acquisition unit 163) and a calculation unit (calculation unit 166 in the embodiment).
- the first acquisition unit acquires inertial information associated with the movement of the moving object from an inertial sensor attached to the moving object (for example, the user 14).
- the second acquisition unit acquires first image information of a moving object from a first camera (for example, camera 140).
- the calculation unit calculates first posture information of the moving object (for example, inertial skeleton data 20) obtained based on the inertial information acquired by the first acquisition unit, and the first image acquired by the second acquisition unit.
- Third posture information (for example, corrected skeleton data 24) is calculated based on the second posture information (for example, optical skeleton data 22) of the moving object obtained based on the information.
- the calculation unit calculates the third attitude information by correcting the first attitude information based on the second attitude information.
- the calculation unit estimates the reliability regarding the second posture information and performs correction according to the reliability. For example, the calculation unit estimates the reliability according to the environmental information when the first camera images the moving object or the reliability of the second posture information of the moving object obtained from the first image information. .
- the information processing device calculates corrected skeleton data by correcting inertial skeleton data obtained by inertial motion capture with optical skeleton data obtained by camera photography.
- improve motion capture accuracy For example, data obtained from inertial motion capture has the disadvantage that errors increase over time, but according to information processing equipment, such errors are corrected based on data from the camera, so high accuracy can be maintained for a long time. It is now possible to continue executing motion capture.
- the information processing device further includes a display control unit (display control unit 168 in the embodiment) that performs display control of the object in conjunction with the movement of the moving body based on the third posture information.
- a display control unit display control unit 168 in the embodiment
- the display control unit displays an object (for example, an avatar displayed as virtual content) superimposed on the first image information.
- an object for example, an avatar displayed as virtual content
- the information processing device displays the object based on the corrected skeleton data, so it is possible to perform display control that accurately reflects the movement of the moving object.
- the second acquisition unit acquires second image information including a background image from a second camera different from the first camera.
- the display control unit displays the object in a superimposed manner on the background image included in the second image information.
- the display control unit detects that at least a portion of the moving body has contacted the target object based on the first image information, the display control unit controls the display of the object in accordance with the detection.
- the information processing device acquires image information from the camera and performs various processes, it is possible to display various avatars and the like using background images that cannot be acquired using inertial data alone.
- the calculation unit also includes pre-processing (pre-processing) for calculating predetermined parameters so that the size and joint information of the moving body obtained from the inertial information match the size and joint information of the moving body obtained from the first image information. calibration) and calculate the third posture information based on the preprocessing.
- pre-processing for calculating predetermined parameters so that the size and joint information of the moving body obtained from the inertial information match the size and joint information of the moving body obtained from the first image information. calibration
- the calculation unit recalculates predetermined parameters in preprocessing based on the position and orientation information of the first camera estimated based on the first image information, and calculates a third parameter based on the result of the recalculation. Posture information may also be calculated.
- the information processing device can accurately perform correction processing using mutual data.
- the display control unit detects facial expression information of the moving object based on the first image information or the second image information, and controls the display of the object based on the detection result.
- the display control unit may detect hand and finger information of a moving object based on the first image information or the second image information, and may control the display of the object based on the detection result.
- the information processing device can track the facial expressions (face) and fingers of a moving object, and reflect the tracking results in motion capture, making it possible to calculate posture information that accurately reflects the movement of the moving object.
- Avatar display can be performed.
- the first acquisition unit acquires a plurality of pieces of inertial information associated with the movement of each moving body from inertial sensors attached to a plurality of different moving bodies.
- the second acquisition unit acquires third image information (captured images shown in FIG. 20 in the example) obtained by simultaneously capturing images of a plurality of different moving objects.
- the calculation unit calculates the information from first posture information of each of a plurality of different moving objects obtained based on inertial information (inertial skeleton data 766 and inertial skeleton data 768 shown in FIG. 20 in the embodiment) and third image information.
- the degree of similarity with the second posture information in the example, optical skeleton data 770 and optical skeleton data 772 shown in FIG.
- the calculation unit specifies the second posture information corresponding to the first posture information of the plurality of different moving objects based on the determined similarity, and then determines the third posture information of each of the plurality of different moving objects. Calculate information.
- the information processing device can correct the skeleton data of multiple users without any problems by determining the degree of similarity between each inertial skeleton data and optical skeleton data. It can be carried out.
- the information processing device also provides the third posture information to another device (such as the data usage device 800 in the embodiment) that performs display control of an object linked to the movement of the moving body based on the third posture information. It may further include a communication unit (communication unit 130 in the embodiment).
- the information processing device can share the data processing load or have other devices handle only the distribution process. Thereby, the information processing device can appropriately utilize corrected skeleton data having high accuracy even if the information processing device does not have high computing power or is unable to perform distribution processing.
- FIG. 29 is a hardware configuration diagram showing an example of a computer 1000 that implements the functions of the information processing device 100.
- Computer 1000 has CPU 1100, RAM 1200, ROM (Read Only Memory) 1300, HDD (Hard Disk Drive) 1400, communication interface 1500, and input/output interface 1600. Each part of computer 1000 is connected by bus 1050.
- the CPU 1100 operates based on a program stored in the ROM 1300 or the HDD 1400 and controls each part. For example, the CPU 1100 loads programs stored in the ROM 1300 or HDD 1400 into the RAM 1200, and executes processes corresponding to various programs.
- the ROM 1300 stores boot programs such as BIOS (Basic Input Output System) that are executed by the CPU 1100 when the computer 1000 is started, programs that depend on the hardware of the computer 1000, and the like.
- BIOS Basic Input Output System
- the HDD 1400 is a computer-readable recording medium that non-temporarily records programs executed by the CPU 1100 and data used by the programs.
- HDD 1400 is a recording medium that records a display program according to the present disclosure, which is an example of program data 1450.
- the communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (for example, the Internet).
- CPU 1100 receives data from other devices or transmits data generated by CPU 1100 to other devices via communication interface 1500.
- the input/output interface 1600 is an interface for connecting the input/output device 1650 and the computer 1000.
- the CPU 1100 receives data from an input device such as a keyboard or a mouse via the input/output interface 1600. Further, the CPU 1100 transmits data to an output device such as a display, speaker, or printer via an input/output interface 1600.
- the input/output interface 1600 may function as a media interface that reads programs and the like recorded on a predetermined recording medium.
- Media includes, for example, optical recording media such as DVD (Digital Versatile Disc) and PD (Phase change rewritable disk), magneto-optical recording media such as MO (Magneto-Optical disk), tape media, magnetic recording media, semiconductor memory, etc. It is.
- the CPU 1100 of the computer 1000 realizes the functions of the control unit 160 and the like by executing a display program loaded onto the RAM 1200.
- the HDD 1400 stores an information processing program according to the present disclosure and data in the storage unit 150. Note that although the CPU 1100 reads and executes the program data 1450 from the HDD 1400, as another example, these programs may be obtained from another device via the external network 1550.
- the present technology can also have the following configuration.
- a first acquisition unit that acquires inertial information associated with the movement of the moving object from an inertial sensor attached to the moving object; a second acquisition unit that acquires first image information of the moving object from a first camera; the first attitude information of the moving object obtained based on the inertial information obtained by the first obtaining section; and the first posture information obtained based on the first image information obtained by the second obtaining section.
- a calculation unit that calculates third posture information based on the second posture information of the moving object;
- An information processing device comprising: (2) The calculation unit is calculating third attitude information by correcting the first attitude information based on the second attitude information; The information processing device according to (1) above.
- the calculation unit is estimating reliability regarding the second attitude information and performing the correction according to the reliability;
- the calculation unit is estimating the reliability according to environmental information when the first camera images the moving object or second posture information of the moving object obtained from the first image information;
- a display control unit that performs display control of an object linked to the movement of the moving body based on the third posture information;
- the display control section includes: displaying the object superimposed on the first image information;
- the second acquisition unit includes: acquiring second image information including a background image from a second camera different from the first camera; The information processing device according to (5) or (6) above.
- the display control section includes: displaying the object superimposed on the background image included in the second image information; The information processing device according to (7) above.
- the display control section includes: If it is detected based on the first image information that at least a part of the moving object has contacted a target object, controlling the display of the object in response to the detection; The information processing device according to any one of (5) to (8) above.
- the calculation unit is performing preprocessing to calculate predetermined parameters so that the size and joint information of the moving body obtained from the inertial information match the size and joint information of the moving body obtained from the first image information; calculating the third posture information based on the preprocessing; The information processing device according to any one of (1) to (9) above.
- the calculation unit is The predetermined parameters in the preprocessing are recalculated based on the position and orientation information of the first camera estimated based on the first image information, and the third orientation is determined based on the result of the recalculation. calculate information, The information processing device according to (10) above.
- the display control section includes: detecting facial expression information of the moving object based on the first image information or the second image information, and controlling display of the object based on the detection result; The information processing device according to any one of (7) to (9) above.
- the display control section includes: detecting hand and finger information of the moving object based on the first image information or the second image information, and controlling display of the object based on the detection result; The information processing device according to any one of (7) to (9) or (12) above.
- the first acquisition unit includes: acquiring a plurality of pieces of inertial information associated with the movement of each moving body from inertial sensors attached to a plurality of different moving bodies;
- the second acquisition unit includes: obtaining third image information obtained by simultaneously capturing images of the plurality of different moving objects;
- the calculation unit is similarity between the first posture information of each of the plurality of different moving objects obtained based on the inertial information and the second posture information of each of the plurality of different moving objects obtained from the third image information; is determined, and based on the determined similarity, the second posture information corresponding to the first posture information of the plurality of different moving objects is specified, and the second posture information of each of the plurality of different moving objects is determined. Calculate the posture information of 3.
- the information processing device according to any one of (1) to (13) above.
- a communication unit that provides the third posture information to another device that performs display control of an object linked to the movement of the moving body based on the third posture information;
- the information processing device according to any one of (1) to (14) above, further comprising: (16)
- the computer is Obtaining inertial information accompanying the movement of the moving object from an inertial sensor attached to the moving object; acquiring first image information capturing the moving object from a first camera; calculating third posture information based on first posture information of the moving body obtained based on the inertial information and second posture information of the moving body obtained based on the first image information; Information processing methods that include things.
- a first acquisition unit that acquires inertial information associated with the movement of the moving object from an inertial sensor attached to the moving object
- a second acquisition unit that acquires first image information of the moving object from a first camera
- the first attitude information of the moving object obtained based on the inertial information obtained by the first obtaining section
- a calculation unit that calculates third posture information based on the second posture information of the moving object
- An information processing program that causes an information processing device to function as an information processing device.
- Sensor device 30 Distribution server 100 Information processing device 110 Operation unit 120 Display unit 130 Communication unit 140 Camera 150 Storage unit 160 Control unit 161 Acquisition unit 162 Inertial data acquisition unit 163 Optical data acquisition unit 166 Calculation unit 168 Display control unit 800 Data Equipment used
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Public Health (AREA)
- Animal Behavior & Ethology (AREA)
- Veterinary Medicine (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Dentistry (AREA)
- Physiology (AREA)
- Oral & Maxillofacial Surgery (AREA)
- General Engineering & Computer Science (AREA)
- Radiology & Medical Imaging (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Human Computer Interaction (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- User Interface Of Digital Computer (AREA)
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024507576A JPWO2023176210A1 (https=) | 2022-03-16 | 2023-02-08 | |
| EP23770171.9A EP4495888A4 (en) | 2022-03-16 | 2023-02-08 | INFORMATION PROCESSING DEVICE, METHOD AND PROGRAM |
| US18/838,242 US20250147576A1 (en) | 2022-03-16 | 2023-02-08 | Information processing apparatus, information processing method, and information processing program |
| CN202380018158.9A CN118575198A (zh) | 2022-03-16 | 2023-02-08 | 信息处理设备、信息处理方法和信息处理程序 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022041155 | 2022-03-16 | ||
| JP2022-041155 | 2022-03-16 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023176210A1 true WO2023176210A1 (ja) | 2023-09-21 |
Family
ID=88022834
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2023/004169 Ceased WO2023176210A1 (ja) | 2022-03-16 | 2023-02-08 | 情報処理装置、情報処理方法および情報処理プログラム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20250147576A1 (https=) |
| EP (1) | EP4495888A4 (https=) |
| JP (1) | JPWO2023176210A1 (https=) |
| CN (1) | CN118575198A (https=) |
| WO (1) | WO2023176210A1 (https=) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7565122B1 (ja) | 2024-02-14 | 2024-10-10 | アナザーボール ピーティーイー.エルティーディー. | コンピュータプログラム、システム、サーバ装置、サーバ装置の制御方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003106812A (ja) * | 2001-06-21 | 2003-04-09 | Sega Corp | 画像情報処理方法、その方法を利用したシステム及びプログラム |
| WO2019203188A1 (ja) | 2018-04-17 | 2019-10-24 | ソニー株式会社 | プログラム、情報処理装置、及び情報処理方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9142024B2 (en) * | 2008-12-31 | 2015-09-22 | Lucasfilm Entertainment Company Ltd. | Visual and physical motion sensing for three-dimensional motion capture |
| US10139914B2 (en) * | 2013-09-13 | 2018-11-27 | Nod, Inc. | Methods and apparatus for using the human body as an input device |
| JP2020187623A (ja) * | 2019-05-16 | 2020-11-19 | 株式会社ソニー・インタラクティブエンタテインメント | 姿勢推定システム、姿勢推定装置、誤差補正方法及び誤差補正プログラム |
-
2023
- 2023-02-08 CN CN202380018158.9A patent/CN118575198A/zh active Pending
- 2023-02-08 EP EP23770171.9A patent/EP4495888A4/en active Pending
- 2023-02-08 US US18/838,242 patent/US20250147576A1/en active Pending
- 2023-02-08 JP JP2024507576A patent/JPWO2023176210A1/ja active Pending
- 2023-02-08 WO PCT/JP2023/004169 patent/WO2023176210A1/ja not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003106812A (ja) * | 2001-06-21 | 2003-04-09 | Sega Corp | 画像情報処理方法、その方法を利用したシステム及びプログラム |
| WO2019203188A1 (ja) | 2018-04-17 | 2019-10-24 | ソニー株式会社 | プログラム、情報処理装置、及び情報処理方法 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4495888A4 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7565122B1 (ja) | 2024-02-14 | 2024-10-10 | アナザーボール ピーティーイー.エルティーディー. | コンピュータプログラム、システム、サーバ装置、サーバ装置の制御方法 |
| JP2025124468A (ja) * | 2024-02-14 | 2025-08-26 | アナザーボール ピーティーイー.エルティーディー. | コンピュータプログラム、システム、サーバ装置、サーバ装置の制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118575198A (zh) | 2024-08-30 |
| JPWO2023176210A1 (https=) | 2023-09-21 |
| EP4495888A4 (en) | 2025-07-09 |
| US20250147576A1 (en) | 2025-05-08 |
| EP4495888A1 (en) | 2025-01-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110728739B (zh) | 一种基于视频流的虚拟人控制与交互方法 | |
| CN108564643B (zh) | 基于ue引擎的表演捕捉系统 | |
| JP2023501079A (ja) | 共有人工現実環境における同じ場所での姿勢推定 | |
| US11721056B2 (en) | Motion model refinement based on contact analysis and optimization | |
| KR20220156873A (ko) | 다수의 포즈 추정 엔진을 사용한 손의 마커리스 모션 캡쳐 | |
| CN112102451B (zh) | 一种基于普通摄像头的无穿戴虚拟直播方法及设备 | |
| CN109781104B (zh) | 运动姿态确定及定位方法、装置、计算机设备及介质 | |
| US20130069939A1 (en) | Character image processing apparatus and method for footskate cleanup in real time animation | |
| US20220410000A1 (en) | Skeleton model updating apparatus, skeleton model updating method, and program | |
| KR20220062461A (ko) | 객체 동작 기반의 애니메이션을 생성하는 장치 및 방법 | |
| KR20230112636A (ko) | 정보 처리 장치, 정보 처리 방법 및 프로그램 | |
| CN113658249B (zh) | 虚拟现实场景的渲染方法、装置、设备和存储介质 | |
| Wu et al. | Real-time estimation of missing markers for reconstruction of human motion | |
| US20220138982A1 (en) | Information processing apparatus, information processing method, and program | |
| WO2023176210A1 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
| CN113592898A (zh) | 一种动作捕捉中缺失标记重建方法 | |
| Schönauer et al. | Wide area motion tracking using consumer hardware | |
| JP2018128739A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム、及び記憶媒体 | |
| De Rosario et al. | Correction of joint angles from Kinect for balance exercising and assessment | |
| CN112712545B (zh) | 人体部分跟踪方法和人体部分跟踪系统 | |
| Xiang et al. | Comparing real-time human motion capture system using inertial sensors with microsoft kinect | |
| JPWO2023176210A5 (https=) | ||
| US20200226787A1 (en) | Information processing apparatus, information processing method, and program | |
| CN115761074A (zh) | 动画数据处理方法、装置、电子设备及介质 | |
| Zhou et al. | Optical motion capture application based on Unity3D and MediaPipe |
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: 23770171 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202380018158.9 Country of ref document: CN |
|
| ENP | Entry into the national phase |
Ref document number: 2024507576 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18838242 Country of ref document: US |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202427069863 Country of ref document: IN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023770171 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2023770171 Country of ref document: EP Effective date: 20241016 |
|
| WWP | Wipo information: published in national office |
Ref document number: 202427069863 Country of ref document: IN |
|
| WWP | Wipo information: published in national office |
Ref document number: 18838242 Country of ref document: US |