WO2023162223A1 - 学習プログラム、生成プログラム、学習方法および生成方法 - Google Patents
学習プログラム、生成プログラム、学習方法および生成方法 Download PDFInfo
- Publication number
- WO2023162223A1 WO2023162223A1 PCT/JP2022/008292 JP2022008292W WO2023162223A1 WO 2023162223 A1 WO2023162223 A1 WO 2023162223A1 JP 2022008292 W JP2022008292 W JP 2022008292W WO 2023162223 A1 WO2023162223 A1 WO 2023162223A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- model
- skeleton
- dimensional
- image data
- Prior art date
Links
- 238000012549 training Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims description 67
- 230000010365 information processing Effects 0.000 abstract description 53
- 238000009877 rendering Methods 0.000 abstract description 9
- 238000012545 processing Methods 0.000 description 47
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 13
- 239000003550 marker Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 210000003423 ankle Anatomy 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000036544 posture Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000037237 body shape Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
Definitions
- the present invention relates to learning programs and the like.
- 3D sensing technology has been established to detect the 3D skeletal coordinates of a person with an accuracy of ⁇ 1 cm from multiple 3D laser sensors. This 3D sensing technology is expected to be applied to a gymnastics scoring support system and expanded to other sports and other fields.
- a method using a 3D laser sensor is referred to as a laser method.
- the laser is irradiated approximately 2 million times per second, and the depth and information of each irradiation point, including the target person, are obtained based on the laser's travel time (Time of Flight: ToF).
- ToF Time of Flight
- 3D skeleton recognition is performed using an image system instead of a laser system.
- a CMOS (Complementary Metal Oxide Semiconductor) imager is used to obtain RGB (Red Green Blue) data of each pixel, and an inexpensive RGB camera can be used. Due to recent improvements in Deep Learning technology, the accuracy of 3D skeleton recognition is also improving.
- training data includes body images, 3D joint positions (or 2D joint positions), camera parameters.
- training data In general, if data with conditions not found in the training data is input to a trained skeleton recognition model, the skeleton may not be recognized correctly. For this reason, new training data are collected and combined with existing training data sets to retrain the skeleton recognition model as needed.
- the training data conditions include body posture, camera angle, appearance, and the like. Appearance indicates information about the appearance of the foreground and background.
- existing training datasets are referred to as "existing datasets.”
- a method of efficiently collecting training data under arbitrary conditions and reinforcing existing data sets can be considered, using a method of synthesizing virtual training data using a 3D body CG (Computer Graphics) model.
- a 3D body CG Computer Graphics
- FIG. 12 is a diagram showing an example of joint definitions of an existing data set and a 3D body CG model.
- the joint definition 5a of the existing data set is defined with 21 joints.
- the joint definition 5b of the 3D body CG model is defined with 24 joints.
- the user visually confirms the difference between the joint definition 5a and the joint definition 5b, and manually adjusts the number of joints and joint positions of the joint definition 5b so that the joint definition 5a and the joint definition 5b match.
- the joint definition 5c is created.
- the number of joints in the joint definition 5c is the same as the number of joints in the joint definition 5a (21 joints).
- the existing data set contains the position information of the markers attached to the surface of the person
- position information is used to automatically create a 3D body CG model that defines the joints corresponding to the existing data set. can be calculated with
- the positional information of the marker attached to the surface is referred to as marker positional information.
- FIG. 13 is a diagram for explaining an example of conventional technology.
- the existing data set includes image data 6a, 3D skeleton data 6b, and marker position information 6c.
- a 3D body CG model 7 can be obtained by executing 3D body CG model estimation using the marker position information using the marker position information 6c.
- the joint definition of the 3D body CG model 7 is similar to the joint definition of the existing data set.
- a pair of the 3D skeleton data 6b and the 3D body CG model 7 is obtained by using the conventional technique of FIG.
- a regression model for generating 3D skeleton data (3D joint information) can be generated from the 3D body CG model.
- 3D skeleton data can be generated from various 3D body CG models, so 3D joint positions used in training data under arbitrary conditions can be easily added.
- the adjustment result of the joint position inside the body which is difficult to specify from the body shape, depends on the individual, and the accuracy of the joint definition depends on the operator. Depends on skill. Moreover, when preparing a large number of 3D body CG models, it is not realistic to manually adjust the joint definition of each 3D body CG model.
- the existing data set contains marker position information
- a 3D body CG model corresponding to the joint definition of the existing data set is automatically generated by executing 3D body CG model estimation using the marker position information.
- the marker position information is not included.
- the present invention provides a learning program, generation program, learning method, and generation method capable of generating 3D skeletal data that conforms to the joint definition of an existing data set from any 3D body CG model. With the goal.
- the computer executes the following processes.
- a computer obtains a model of the object, which consists of three-dimensional surfaces.
- a computer generates image data in which a model of the object is rendered.
- the computer inputs the rendered image data to the first learner trained using the object image data of the training data as an explanatory variable and the three-dimensional skeleton data of the training data as an objective variable.
- the computer uses the identified three-dimensional skeleton data as the objective variable and the object model as the explanatory variable, and executes the learning of the second learner.
- 3D skeletal data that conforms to the joint definitions of existing datasets can be generated from any 3D body CG model.
- FIG. 1 is a diagram for explaining the processing of the information processing apparatus according to the embodiment.
- FIG. 2 is a diagram for explaining the effect of the information processing apparatus according to the embodiment.
- FIG. 3 is a functional block diagram showing the configuration of the information processing apparatus according to this embodiment.
- FIG. 4 is a diagram showing an example of the data structure of an existing data set.
- FIG. 5 is a diagram showing an example of a 3D body CG model.
- FIG. 6 is a diagram illustrating an example of the data structure of a regression data set;
- FIG. 7 is a diagram for explaining the first removal process.
- FIG. 8 is a diagram for explaining the second removal process.
- FIG. 9 is a flowchart (1) showing the processing procedure of the information processing apparatus according to the embodiment.
- FIG. 9 is a flowchart (1) showing the processing procedure of the information processing apparatus according to the embodiment.
- FIG. 10 is a flowchart (2) showing the processing procedure of the information processing apparatus according to the present embodiment.
- FIG. 11 is a diagram illustrating an example of a hardware configuration of a computer that implements functions similar to those of the information processing apparatus of the embodiment.
- FIG. 12 is a diagram showing an example of joint definitions of an existing data set and a 3D body CG model.
- FIG. 13 is a diagram for explaining an example of conventional technology.
- FIG. 1 is a diagram for explaining the processing of the information processing apparatus according to the embodiment.
- the information processing device uses the existing data set 50 to train the 3D skeleton recognizer M1 in advance.
- the existing dataset 50 includes a plurality of training data.
- training data includes image data, 3D skeleton data, and a set of camera parameters.
- Image data is image data of a person captured by a camera.
- 3D skeleton data is information composed of three-dimensional joint positions (coordinates of joints) of a person.
- a camera parameter is a parameter of a camera that captured an image (image data).
- the information processing device uses the image data included in the training data as input (explanatory variable) and the 3D skeleton data as output (correct label, objective variable) to train the 3D skeleton recognizer M1.
- the 3D skeleton recognizer M1 is a neural network or the like. In the following description, the trained 3D skeleton recognizer M1 is simply referred to as the 3D skeleton recognizer M1.
- 3D skeleton data is output.
- the information processing device acquires the 3D body CG model 10.
- the 3D body CG model 10 is a model of an object (person) composed of three-dimensional surfaces. For example, the surfaces forming the model of the object (person) are meshes.
- the information processing device generates synthetic image data 11 by rendering the 3D body CG model 10 .
- the information processing device infers 3D skeleton data 12 by inputting the synthesized image data 11 to the 3D skeleton recognizer M1.
- the information processing apparatus obtains a plurality of sets of the 3D body CG model 10 and the 3D skeleton data 12 by repeatedly executing such processing.
- the information processing device uses the 3D body CG model 10 as an input (explanatory variable) and the 3D skeleton data 12 as an output (correct label, objective variable) to train the regression model M2.
- the regression model M2 is a neural network or the like. By inputting an arbitrary 3D body CG model into the trained regression model M2, 3D skeleton data corresponding to the arbitrary 3D body CG model and conforming to the joint definition of the existing data set 50 is generated. can be generated.
- the information processing device adds 3D skeleton data inferred by inputting an arbitrary 3D body CG model into the trained regression model M2 to the existing data set 50.
- the information processing apparatus may generate paired image data based on an arbitrary 3D body CG model.
- the information processing device retrains the 3D skeleton recognizer M1 using the existing data set 50 to which the inferred 3D skeleton data is added.
- the information processing apparatus renders the 3D body CG model 10 to generate the synthetic image data 11, and inputs the synthetic image data 11 to the 3D skeleton recognizer M1. , infers the 3D skeleton data 12 .
- the information processing apparatus obtains a plurality of sets of the 3D body CG model 10 and the 3D skeleton data 12 by repeatedly executing such processing.
- rendering is a process of projecting the 3D body CG model 10 onto an image using image processing.
- the 3D body CG model 10 is converted into 2D image information by rendering.
- the information processing device also trains the regression model M2 with the 3D body CG model 10 as input and the 3D skeleton data 12 as output.
- 3D skeleton data corresponding to the arbitrary 3D body CG model and conforming to the joint definition of the existing data set 50 is generated. can be generated.
- 3D skeleton data that conforms to the joint definition of the existing data set 50 can be generated from any 3D body CG model.
- 3D skeletal data can be easily generated by inputting a 3D body CG model with conditions not included in the initial training data into the regression model M2.
- FIG. 2 is a diagram for explaining the effect of the information processing apparatus according to this embodiment.
- the 3D skeleton data 8a is data based on the joint definition of the existing data set.
- the 3D skeleton data 8b is 3D skeleton data of a 3D body CG model that does not use the regression model M2.
- the 3D skeleton data 8c is 3D skeleton data of the 3D body CG model estimated using the regression model M2.
- the 3D skeleton data 8c is 3D skeleton data that conforms to the joint definitions of the existing dataset 50, and such 3D skeleton data 8c is added to the existing dataset 50 to retrain the 3D skeleton recognizer M1. , the recognition accuracy of the 3D skeleton recognizer M1 can be improved.
- FIG. 3 is a functional block diagram showing the configuration of the information processing apparatus according to this embodiment.
- this information processing apparatus 100 has a communication section 110 , an input section 120 , a display section 130 , a storage section 140 and a control section 150 .
- the communication unit 110 executes data communication with an external device or the like via a network.
- the communication unit 110 receives the existing data set 50 and the like from an external device.
- the input unit 120 is an input device that receives operations from the user, and is realized by, for example, a keyboard, mouse, and the like.
- the display unit 130 is a display device for outputting the processing result of the control unit 150, and is realized by, for example, a liquid crystal monitor or a printer.
- the storage unit 140 is a storage device that stores various types of information, and is implemented by, for example, a semiconductor memory device such as RAM (Random Access Memory) or flash memory, or a storage device such as a hard disk or optical disk. .
- a semiconductor memory device such as RAM (Random Access Memory) or flash memory
- a storage device such as a hard disk or optical disk.
- the storage unit 140 has an existing data set 50, a 3D skeleton recognizer M1, a regression model M2, a 3D body CG model table 141, and a regression data set 142.
- the existing data set 50 has a plurality of training data used when training the 3D skeleton recognizer M1.
- FIG. 4 is a diagram showing an example of the data structure of an existing data set. As shown in FIG. 4, this existing data set 50 associates item numbers, image data, 3D skeleton data, and camera parameters.
- the item number is a number that identifies a record (training data) of the existing data set 50 .
- Image data is image data of a person photographed by a camera.
- 3D skeleton data is information composed of three-dimensional joint positions of a person.
- Camera parameters are the parameters of the camera that captured the image.
- the 3D skeleton recognizer M1 is a learning model that outputs 3D skeleton data when image data is input.
- the 3D skeleton recognizer M1 is a neural network or the like.
- the regression model M2 is a learning model that outputs 3D skeleton data when a 3D body CG model is input.
- the regression model M2 is a neural network or the like.
- the 3D body CG model table 141 has multiple 3D body CG models.
- FIG. 5 is a diagram showing an example of a 3D body CG model. As shown in FIG. 5, the 3D body CG model table 141 includes 3D body CG models mo1, mo2, mo3, mo4, mo5, mo6, and mo7 under various conditions. Although 3D body CG models mo1 to mo7 are shown as an example in FIG. 5, the present invention is not limited to this.
- the regression data set 142 stores multiple sets of 3D body CG models and 3D skeleton data.
- FIG. 6 is a diagram illustrating an example of the data structure of a regression data set; As shown in FIG. 6, this regression data set 142 associates item numbers, 3D body CG models, and 3D skeleton data.
- the item number is a number that identifies a record of the regression data set 142 .
- the 3D body CG model is, for example, data of the 3D body CG model described with reference to FIG. 3D skeletal data is 3D skeletal data obtained by inputting a 3D body CG model into the trained regression data set 142 .
- the control unit 150 executes various programs stored in the storage device inside the information processing apparatus 100 by a processor such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit) using a RAM or the like as a work area. Realized. Also, the control unit 150 may be implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
- a processor such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit) using a RAM or the like as a work area. Realized.
- the control unit 150 may be implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
- the control unit 150 has an acquisition unit 151 , a first learning execution unit 152 , an image generation unit 153 , an inference unit 154 , a second learning execution unit 155 , a skeleton generation unit 156 and an additional processing unit 157 .
- the acquisition unit 151 acquires various data from an external device or the like and stores the acquired data in the storage unit 140 .
- the acquisition unit 151 may acquire various data from the input unit 120 .
- the acquisition unit 151 acquires the existing data set 50 and stores the acquired existing data set 50 in the storage unit 140 .
- the acquisition unit 151 acquires data of the 3D body CG model and stores the acquired data of the 3D body CG model in the 3D body CG model table 141 .
- the first learning execution unit 152 uses training data stored in the existing data set 50 to train the 3D skeleton recognizer M1 (performs machine learning).
- the first learning execution unit 152 receives image data as training data and outputs 3D skeleton data to train the 3D skeleton recognizer M1.
- the first learning execution unit 152 trains the parameters of the 3D skeleton recognizer M1 based on the error backpropagation learning method or the like.
- the first learning execution unit 152 retrains the 3D skeleton recognizer M1 including the training data stored in the existing data set 50. .
- the image generation unit 153 acquires the data of the 3D body CG model from the 3D body CG model table 141 and executes rendering on the 3D body CG model to generate synthetic image data.
- the image generation unit 153 executes rendering from N viewpoints to generate a plurality of image data, and collects the plurality of image data to form composite image data.
- N corresponds to the number of image data (a natural number of 1 or more) to be input to the 3D skeleton recognizer M1, and is set in advance.
- the image generation unit 153 outputs to the inference unit 154 a set of the generated synthetic image data and the 3D body CG model to be rendered.
- the inference unit 154 infers 3D skeleton data by inputting the synthesized image data acquired from the image generation unit 153 to the trained 3D skeleton recognizer M1.
- the inference unit 154 associates the inferred 3D skeleton data with the data of the 3D body CG model corresponding to the synthesized image data, and registers them in the regression data set 142 .
- the inference unit 154 may determine whether each joint position in the 3D skeleton data is appropriate and exclude joints at inappropriate positions. For example, the inference unit 154 executes a first removal process or a second removal process described below. The inference unit 154 may execute either the first removal process or the second removal process, or may execute both removal processes.
- FIG. 7 is a diagram for explaining the first removal process.
- the inference unit 154 compares the 3D skeleton data 9a according to the joint definition of the existing data set 50 prepared in advance with the 3D skeleton data 9b generated by the skeleton generation unit 156 .
- the inference unit 154 removes the joint with the 3D skeleton data 9b when the distance between the joint with the 3D skeleton data 9a (for example, the ankle) and the joint with the 3D skeleton data 9b is equal to or greater than a threshold. The same applies to joints other than the ankle.
- FIG. 8 is a diagram for explaining the second removal process.
- the inference unit 154 compares the surface position of the 3D body CG model 20 corresponding to the joint definition of the existing data set 50 with the positions of the joints in the 3D skeleton data, and among the joints in the 3D skeleton data, the 3D body CG model Leave the joints that are inside 20 and remove the joints that are outside. In the example shown in FIG. 8, the inference unit 154 leaves the joints 21b existing inside the 3D body CG model 20 and removes the joints 21a existing outside.
- the image generation unit 153 and the inference unit 154 repeatedly perform the above processing on the data of each 3D body CG model stored in the 3D body CG model table 141, thereby generating 3D skeleton data and a 3D body CG model. are generated and stored in the regression data set 142 .
- the second learning execution unit 155 trains the regression model M2 based on the set (training data) of the 3D skeleton data and the 3D body CG model stored in the regression data set 142 . For example, the second learning executing unit 155 searches for parameters (values of the weights J i ) of the regression model M2 based on the objective function of Equation (1).
- N data is the number of training data for regression.
- the number of regression training data is the number of sets of 3D skeleton data and 3D body CG models stored in the regression data set 142 .
- N joint is the number of joints defined in the existing data set 50 .
- Equation (1) When “N vert ” is the number of 3D vertices of the 3D body CG model, in Equation (1), “V i ” is the i-th training data (a set of 3D skeleton data and 3D body CG model) , the vertex coordinate group of the 3D body CG model (3 ⁇ N vert matrix). “J i ” is the weight (N vert -dimensional vector) that linearly regresses the 3D coordinates of joint i from V i .
- Equation (1) “p i,j ” is the 3D coordinate of joint j in 3D skeleton data in the i-th training data (three-dimensional vector). " ⁇ ” is a weighting factor (scalar) for the normalization term.
- the second learning execution unit 155 optimizes Equation (1) using the non-negative least squares method to satisfy J j ⁇ 0, and can regress the 3D joints inside the vertex group Vi of the 3D body CG model.
- the second learning execution unit 155 assumes that only the group of vertices V i,j ⁇ V i in the local vicinity of the joint j affects the definition of the joint position, and performs “regression of p i,j from V i ,j ”. By doing so, it is possible to generate more stable 3D skeleton data. For example, the positions of irrelevant head vertices can be ignored when regressing ankle positions.
- the second learning execution unit 155 has explained the process of training the regression model M2 based on the objective function of formula (1). Training by a backpropagation learning method may be performed.
- the skeleton generation unit 156 and the addition processing unit 157 acquire data of an arbitrary 3D body CG model and generate training data to be added to the existing data set 50 after the training of the regression model M2 is completed.
- Data of an arbitrary 3D body CG model may be acquired from the input unit 120 or may be acquired from an external device.
- the skeleton generation unit 156 inputs the acquired 3D body CG model to the regression model M2 to generate 3D skeleton data.
- Skeleton generator 156 outputs an arbitrary 3D body CG model and the generated 3D skeleton data to additional processor 157 .
- the addition processing unit 157 adds the acquired 3D skeleton data to the existing data set 50 as training data.
- the addition processing unit 157 may perform rendering on an arbitrary 3D body CG model, generate image data paired with 3D skeleton data, and add it to the existing data set 50 . Also, camera parameters specified from an external device or the like may be added to the existing data set 50 together.
- the skeleton generation unit 156 and the addition processing unit 157 execute the above processing each time an arbitrary 3D body CG model is acquired, generate new training data, and add the training data to the existing data set 50.
- the first learning execution unit 152 retrains the 3D skeleton recognizer M1 including the training data stored in the existing data set 50. .
- FIG. 9 is a flowchart (1) showing the processing procedure of the information processing apparatus according to the embodiment.
- the first learning execution unit 152 of the information processing device 100 trains the 3D skeleton recognizer M1 based on the existing data set 50 (step S101).
- the acquisition unit 151 of the information processing device 100 acquires 3D body CG models in various postures and registers them in the 3D body CG model table 141 (step S102).
- the image generator 153 of the information processing apparatus 100 executes rendering on the 3D body CG model to generate synthetic image data (step S103).
- the inference unit 154 of the information processing device 100 inputs the synthesized image data to the 3D skeleton recognizer M1 and infers 3D skeleton data (step S104).
- the inference unit 154 removes inappropriate joints included in the 3D skeleton data (step S105).
- the inference unit 154 registers the set of the 3D body CG model and the 3D skeleton data in the regression data set 142 (step S106).
- the second learning execution unit 155 of the information processing device 100 trains the regression model M2 based on the regression data set 142 (step S107).
- FIG. 10 is a flowchart (2) showing the processing procedure of the information processing apparatus according to this embodiment.
- the skeleton generator 156 of the information processing apparatus 100 acquires an object model (an arbitrary 3D body CG model) (step S201).
- the skeleton generation unit 156 inputs the object model to the regression model M2 to generate 3D skeleton data (step S202).
- the additional processing unit 157 of the information processing device 100 generates training data based on the relationship between the image data of the object model and the 3D skeleton data (step S203).
- the addition processing unit 157 adds the generated training data to the existing data set (step S204).
- the first learning execution unit 152 of the information processing device 100 retrains the 3D skeleton recognizer M1 based on the existing data set 50 (step S205).
- the information processing apparatus 100 generates synthetic image data by rendering a 3D body CG model, and infers 3D skeleton data by inputting the synthetic image data into the 3D skeleton recognizer M1.
- the information processing apparatus 100 receives the 3D body CG model as an input, outputs the inferred 3D skeleton data, and trains the regression model M2.
- an arbitrary 3D body CG model is input to the trained regression model M2, and 3D skeleton data corresponding to the arbitrary 3D body CG model and conforming to the joint definition of the existing data set 50. can be generated.
- the information processing device 100 inputs a 3D body CG model with conditions not included in the initial training data into the trained regression model M2 to generate 3D skeleton data, and adds the 3D skeleton data to the existing data set 50. .
- the information processing apparatus 100 can improve recognition accuracy when image data with conditions not included in the initial training data is input.
- the information processing apparatus 100 inputs the synthesized image data to the 3D skeleton recognizer M1, and when inferring the 3D skeleton data, determines whether each joint position of the 3D skeleton data is appropriate, process to exclude the joints of As a result, outlier joints are prevented from being registered in the regression data set 142, and the accuracy of the regression model M2 trained using the regression data set 142 can be improved.
- the information processing apparatus 100 trains the regression model M2
- the absolute value of the difference between the multiplied value of the vertex coordinate group and parameters of the model of the object and each joint position of the inferred three-dimensional skeleton data becomes small.
- the information processing apparatus 100 can infer 3D skeleton data by inputting the 3D body CG model into the trained regression model M2, it directly analyzes the 3D body CG model to infer 3D skeleton data.
- the processing load can be reduced more than the case.
- FIG. 11 is a diagram illustrating an example of a hardware configuration of a computer that implements functions similar to those of the information processing apparatus of the embodiment.
- the computer 200 has a CPU 201 that executes various arithmetic processes, an input device 202 that receives data input from the user, and a display 203 .
- the computer 200 also has a communication device 204 and an interface device 205 for exchanging data with an external device or the like via a wired or wireless network.
- the computer 200 also has a RAM 206 that temporarily stores various information, and a hard disk device 207 . Each device 201 - 207 is then connected to a bus 208 .
- the hard disk device 207 has an acquisition program 207a, a first learning execution program 207b, an image generation program 207c, an inference program 207d, a second learning execution program 207e, a skeleton generation program 207f, and an additional processing program 207g. Further, the CPU 201 reads each program 207a to 207g and develops them in the RAM 206. FIG.
- the acquisition program 207a functions as an acquisition process 206a.
- the first learning execution program 207b functions as a first learning execution process 206b.
- the image generation program 207c functions as an image generation process 206c.
- the inference program 207d functions as an inference process 206d.
- the second learning execution program 207e functions as a second learning execution process 206e.
- the skeleton generation program 207f functions as a skeleton generation process 206f.
- the additional processing program 207g functions as an additional processing process 206g.
- the processing of the acquisition process 206a corresponds to the processing of the acquisition unit 151.
- the processing of the first learning execution process 206 b corresponds to the processing of the first learning execution unit 152 .
- the processing of the image generation process 206 c corresponds to the processing of the image generation unit 153 .
- the processing of the inference process 206 d corresponds to the processing of the inference section 154 .
- the processing of the second learning execution process 206 e corresponds to the processing of the second learning execution unit 155 .
- the processing of the skeleton generation process 206 f corresponds to the processing of the skeleton generation unit 156 .
- the processing of the additional processing process 206 g corresponds to the processing of the additional processing unit 157 .
- each program does not necessarily have to be stored in the hard disk device 207 from the beginning.
- each program is stored in a “portable physical medium” such as a flexible disk (FD), CD-ROM, DVD, magneto-optical disk, IC card, etc., inserted into the computer 200 .
- the computer 200 may read and execute each of the programs 207a-207g.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
情報処理装置は、3次元の表面から構成される物体のモデルを取得する。情報処理装置は、物体のモデルがレンダリングされた画像データを生成する。情報処理装置は、訓練データの有する物体の画像データを説明変数とし、訓練データの3次元の骨格データを目的変数として学習された第一の学習器に対して、レンダリングされた画像データを入力することで、レンダリングされた画像データの3次元の骨格データを特定する。情報処理装置は、特定された3次元の骨格データを目的変数とし、物体のモデルを説明変数として、第二の学習器の学習を実行する。
Description
本発明は、学習プログラム等に関する。
3次元の人の動きの検出に関しては、複数台の3Dレーザセンサから人の3D骨格座標を±1cmの精度で検出する3Dセンシング技術が確立されている。この3Dセンシング技術は、体操採点支援システムへの応用や、他のスポーツ、他分野への展開が期待されている。3Dレーザセンサを用いた方式を、レーザ方式と表記する。
レーザ方式では、レーザを1秒間に約200万回照射し、レーザの走行時間(Time of Flight:ToF)を基に、対象となる人を含めて、各照射点の深さや情報を求める。レーザ方式は、高精度な深度データを取得できるが、レーザスキャンやToF測定の構成および処理が複雑であるため、ハードウェアが複雑および高価になるという欠点がある。
レーザ方式の代わりに、画像方式によって、3D骨格認識を行う場合もある。画像方式では、CMOS(Complementary Metal Oxide Semiconductor)イメージャによって、各ピクセルのRGB(Red Green Blue)データを取得する方式であり、安価なRGBカメラを用いることができる。近年のDeep Learning技術の向上により、3D骨格認識の精度も向上しつつある。
Deep Learningに基づく画像方式の3D骨格認識では、訓練データを大量に用意し、骨格認識モデルを訓練する必要がある。たとえば、訓練データは、身体画像、3D関節位置(または、2D関節位置)、カメラパラメータが含まれる。
上記の訓練データを収集する方法として、たとえば、表面に特殊なマーカを装着して身体の動きを計測するMotion Captureシステムがある。その他にも、特殊な装備を用いず、複数視点で撮影した画像に対して半自動で関節をアノテーションする手法も存在する。
一般に、訓練済みの骨格認識モデルに対し、訓練データにない条件のデータを入力すると、正しく骨格を認識できない場合がある。このため、必要に応じて、新しい訓練データを収集し、既存の訓練データセットと組み合わせて、骨格認識モデルを再訓練する手法が取られる。なお、訓練データの条件には、身体姿勢、カメラアングル、アピアランス等が含まれる。アピアランスは、前景や背景の見た目の情報を示す。以下の説明では、既存の訓練データセットを「既存データセット」と表記する。
ここで、Motion Captureシステムや複数視点で撮影した画像に対して半自動で関節をアノテーションする手法を用いて、新しい訓練データを収集する場合、現場での画像撮影を行うことになる。また、収集可能な条件が限定的となったり、データ収集にかかるコストが高くなったりして、任意の条件の訓練データを効率的に収集できない。
これに対して、3D身体CG(Computer Graphics)モデルを用いて仮想的な訓練データを合成する手法により、任意の条件の訓練データを効率的に収集し、既存データセットを補強する手法が考えられる。この場合、既存データセットの関節定義と合うように、3D身体CGモデルの関節数と関節位置とを調整することが求められる。既存データセットの関節定義と異なる関節定義の3D身体CGモデルを用いて生成した訓練データを用いて再訓練を行うと、訓練済みの骨格認識モデルの認識精度が低下してしまうためである。
図12は、既存データセットおよび3D身体CGモデルの関節定義の一例を示す図である。たとえば、既存データセットの関節定義5aは、21個の関節で定義されている。一方、3D身体CGモデルの関節定義5bは、24個の関節で定義されている。従来手法では、ユーザが、関節定義5aと、関節定義5bとの差異を目視で確認し、関節定義5aと、関節定義5bとが合うように、関節定義5bの関節数と関節位置を手動で調整することで、関節定義5cを作成している。関節定義5cの関節の数は、関節定義5aの関節の数(21関節)と同様である。
ここで、既存データセットに、人物の表面に装着したマーカの位置情報が含まれている場合には、かかる位置情報を用いて、既存データセットに対応した関節定義となる3D身体CGモデルを自動で計算することができる。以下の説明では、表面に装着したマーカの位置情報を、マーカ位置情報と表記する。
図13は、従来技術の一例を説明するための図である。たとえば、Motion Captureシステムを用いて訓練データを生成する場合、既存データセットには、画像データ6aと、3D骨格データ6bに加えて、マーカ位置情報6cが得られる。マーカ位置情報6cを用いて、マーカ位置情報を用いた3D身体CGモデル推定を実行することで、3D身体CGモデル7を得ることができる。3D身体CGモデル7の関節定義は、既存データセットの関節定義と同様のものとなる。
図13の従来技術を用いることで、3D骨格データ6bと、3D身体CGモデル7とのペアが得られる。このペアを用いることで、3D身体CGモデルから、3D骨格データ(3D関節情報)を生成する回帰モデルを生成することができる。また、この回帰モデルを用いることで、各種の3D身体CGモデルから、3D骨格データを生成できるため、任意の条件の訓練データで利用する3D関節位置を容易に追加可能となる。
M. Naureen et al., "AMASS: Archive of Motion Capture as Surface Shapes," ICCV2019
上述した3D身体CGモデルの関節定義を手動で調整する手法については、身体形状から位置の規定が困難な身体内部の関節位置の調整結果が属人的であり、関節定義の精度が作業者のスキルに依存してしまう。また、3D身体CGモデルを大量に準備する場合において、各3D身体CGモデルの関節定義を人手で調整することは現実的ではない。
既存データセットにマーカ位置情報が含まれている場合には、マーカ位置情報を用いた3D身体CGモデル推定等を実行することで、既存データセットの関節定義に対応した3D身体CGモデルを自動的に生成できるものの、マーカ位置情報が含まれていない場合には利用できない。
なお、既存データセットの関節定義と異なる関節定義の3D身体Gモデルを用いて生成した訓練データを用いて再訓練を行うと、訓練済みの骨格認識モデルの認識精度が低下してしまう。
このため、既存データセットにマーカ位置情報がない場合でも、既存データセットの関節定義に適合した3D骨格データを、任意の3D身体CGモデルから生成することが求められている。
1つの側面では、本発明は、既存データセットの関節定義に適合した3D骨格データを、任意の3D身体CGモデルから生成することができる学習プログラム、生成プログラム、学習方法および生成方法を提供することを目的とする。
第1の案では、コンピュータが次の処理を実行する。コンピュータは、3次元の表面から構成される物体のモデルを取得する。コンピュータは、物体のモデルがレンダリングされた画像データを生成する。コンピュータは、訓練データの有する物体の画像データを説明変数とし、訓練データの3次元の骨格データを目的変数として学習された第一の学習器に対して、レンダリングされた画像データを入力することで、レンダリングされた画像データの3次元の骨格データを特定する。コンピュータは、特定された3次元の骨格データを目的変数とし、物体のモデルを説明変数として、第二の学習器の学習を実行する。
既存データセットの関節定義に適合した3D骨格データを、任意の3D身体CGモデルから生成することができる。
以下に、本願の開示する学習プログラム、生成プログラム、学習方法および生成方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例に係る情報処理装置の処理の一例について説明する。図1は、本実施例に係る情報処理装置の処理を説明するための図である。情報処理装置は、既存データセット50を用いて、3D骨格認識器M1を事前に訓練しておく。既存データセット50には、複数の訓練データが含まれる。
たとえば、訓練データとして、画像データ、3D骨格データ、カメラパラメータの組が含まれる。画像データは、カメラで撮影した人物の画像データである。3D骨格データは、人物の3次元の関節位置(関節の座標)から構成される情報である。カメラパラメータは、画像(画像データ)を撮影したカメラのパラメータである。
情報処理装置は、訓練データに含まれる画像データを入力(説明変数)とし、3D骨格データを出力(正解ラベル、目的変数)として、3D骨格認識器M1を訓練する。3D骨格認識器M1は、ニューラルネットワーク等である。以下の説明では、訓練済みの3D骨格認識器M1を、単に、3D骨格認識器M1と表記する。3D骨格認識器M1に、画像データを入力すると、3D骨格データが出力される。
情報処理装置は、3D身体CGモデル10を取得する。3D身体CGモデル10は、3次元の表面から構成される物体(人物)のモデルである。例えば、物体(人物)のモデルを構成する複数の表面は、複数のメッシュである。情報処理装置は、3D身体CGモデル10をレンダリングすることで、合成画像データ11を生成する。情報処理装置は、合成画像データ11を、3D骨格認識器M1に入力することで、3D骨格データ12を推論する。情報処理装置は、かかる処理を繰り返し実行することで、3D身体CGモデル10と、3D骨格データ12との組を複数得る。
情報処理装置は、上記の処理の後、3D身体CGモデル10を入力(説明変数)とし、3D骨格データ12を出力(正解ラベル、目的変数)として、回帰モデルM2を訓練する。回帰モデルM2は、ニューラルネットワーク等である。任意の3D身体CGモデルを、訓練済みの回帰モデルM2に入力することで、任意の3D身体CGモデルに対応する3D骨格データであって、既存データセット50の関節定義に適合した3D骨格データを生成することができる。
たとえば、情報処理装置は、任意の3D身体CGモデルを、訓練済みの回帰モデルM2に入力することで推論した3D骨格データを、既存データセット50に追加する。情報処理装置は、推論した3D骨格データを追加する場合に、ペアとなる画像データを、任意の3D身体CGモデルを基にして生成してもよい。情報処理装置は、推論した3D骨格データを追加した既存データセット50を用いて、3D骨格認識器M1を再訓練する。
上記のように、本実施例に係る情報処理装置は、3D身体CGモデル10をレンダリングすることで、合成画像データ11を生成し、合成画像データ11を、3D骨格認識器M1に入力することで、3D骨格データ12を推論する。情報処理装置は、かかる処理を繰り返し実行することで、3D身体CGモデル10と、3D骨格データ12との組を複数得る。ここで、レンダリングとは、画像処理を用いて、3D身体CGモデル10を画像上に投影する処理である。例えば、3D身体CGモデル10が、レンダリングにより、2Dの画像情報に変換される。
また、情報処理装置は、3D身体CGモデル10を入力、3D骨格データ12を出力として、回帰モデルM2を訓練する。任意の3D身体CGモデルを、訓練済みの回帰モデルM2に入力することで、任意の3D身体CGモデルに対応する3D骨格データであって、既存データセット50の関節定義に適合した3D骨格データを生成することができる。
これによって、既存データセットにマーカ位置情報がない場合でも、既存データセット50の関節定義に適合した3D骨格データを、任意の3D身体CGモデルから生成することができる。たとえば、当初の訓練データにない条件の3D身体CGモデルを、回帰モデルM2に入力して、3D骨格データを容易に生成できる。かかる3D骨格データを既存データセット50に追加して、3D骨格認識器M1を再訓練することで、当初の訓練データにない条件の画像データ入力した場合の認識精度を向上させることができる。
図2は、本実施例に係る情報処理装置の効果を説明するための図である。図2において3D骨格データ8aは、既存データセットの関節定義に基づくデータである。3D骨格データ8bは、回帰モデルM2を用いない、3D身体CGモデルの3D骨格データである。3D骨格データ8cは、回帰モデルM2を用いて推定された、3D身体CGモデルの3D骨格データである。
3D骨格データ8aと、3D骨格データ8bとを比較すると、領域A1,A2において、関節の差分が5~7cm程度発生している。このため、3D骨格データ8bを既存データセット50に追加して、3D骨格認識器M1の再訓練を行うと、3D骨格認識器M1の認識精度が低下してしまう。
一方、3D骨格データ8aと、3D骨格データ8cとを比較すると、領域A3,A4において、関節の差分が1cm程度となっている。このため、3D骨格データ8cは、既存データセット50の関節定義に適合した3D骨格データであり、かかる3D骨格データ8cを既存データセット50に追加して、3D骨格認識器M1を再訓練することで、3D骨格認識器M1の認識精度を向上させることができる。
次に、図1で説明した処理を実行する情報処理装置の構成例について説明する。図3は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図3に示すように、この情報処理装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
通信部110は、ネットワークを介して外部装置等とデータ通信を実行する。通信部110は、外部装置から、既存データセット50等を受信する。
入力部120は、利用者からの操作を受付ける入力装置であり、たとえば、キーボードやマウス等により実現される。
表示部130は、制御部150の処理結果を出力するための表示装置であり、たとえば、液晶モニタやプリンタ等により実現される。
記憶部140は、各種の情報を記憶する記憶装置であり、たとえば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
記憶部140は、既存データセット50、3D骨格認識器M1、回帰モデルM2、3D身体CGモデルテーブル141、回帰データセット142を有する。
既存データセット50は、3D骨格認識器M1を訓練する場合に利用する複数の訓練データを有する。図4は、既存データセットのデータ構造の一例を示す図である。図4に示すように、この既存データセット50は、項番と、画像データと、3D骨格データと、カメラパラメータとを対応付ける。項番は、既存データセット50のレコード(訓練データ)を識別する番号である。画像データは、カメラによって撮影された人物の画像データである。3D骨格データは、人物の3次元の関節位置から構成される情報である。カメラパラメータは、画像を撮影したカメラのパラメータである。
3D骨格認識器M1は、画像データが入力された場合に、3D骨格データを出力する学習モデルである。3D骨格認識器M1は、ニューラルネットワーク等である。
回帰モデルM2は、3D身体CGモデルが入力された場合に、3D骨格データを出力する学習モデルである。回帰モデルM2は、ニューラルネットワーク等である。
3D身体CGモデルテーブル141は、複数の3D身体CGモデルを有する。図5は、3D身体CGモデルの一例を示す図である。図5に示すように、3D身体CGモデルテーブル141には、様々な条件の3D身体CGモデルmo1,mo2,mo3,mo4,mo5,mo6,mo7が含まれる。図5では一例として、3D身体CGモデルmo1~mo7を示すが、これに限定されるものではない。
回帰データセット142は、3D身体CGモデルと、3D骨格データとの複数の組を記憶する。図6は、回帰データセットのデータ構造の一例を示す図である。図6に示すように、この回帰データセット142は、項番と、3D身体CGモデルと、3D骨格データとを対応付ける。項番は、回帰データセット142のレコードを識別する番号である。3D身体CGモデルは、たとえば、図5で説明した3D身体CGモデルのデータである。3D骨格データは、3D身体CGモデルを、訓練済みの回帰データセット142に入力することで得られる3D骨格データである。
図3の説明に戻る。制御部150は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報処理装置100内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
制御部150は、取得部151、第1学習実行部152、画像生成部153、推論部154、第2学習実行部155、骨格生成部156、追加処理部157を有する。
取得部151は、外部装置等から各種のデータを取得し、取得したデータを記憶部140に格納する。取得部151は、各種のデータを入力部120から取得してもよい。たとえば、取得部151は、既存データセット50を取得し、取得した既存データセット50を、記憶部140に格納する。取得部151は、3D身体CGモデルのデータを取得し、取得した3D身体CGモデルのデータを、3D身体CGモデルテーブル141に格納する。
第1学習実行部152は、既存データセット50に格納された訓練データを用いて、3D骨格認識器M1の訓練する(機械学習を実行する)。第1学習実行部152は、訓練データの画像データを入力とし、3D骨格データを出力として、3D骨格認識器M1を訓練する。たとえば、第1学習実行部152は、誤差逆伝播学習法等を基にして、3D骨格認識器M1のパラメータを訓練する。
また、第1学習実行部152は、既存データセット50に新たな訓練データが追加された場合には、既存データセット50に格納された訓練データを含めて、3D骨格認識器M1を再訓練する。
画像生成部153は、3D身体CGモデルテーブル141から、3D身体CGモデルのデータを取得し、3D身体CGモデルに対して、レンダリングを実行することで、合成画像データを生成する。
たとえば、画像生成部153は、N個の視点から、レンダリングを実行して複数の画像データを生成し、複数の画像データをまとめて、合成画像データとする。Nは、3D骨格認識器M1に入力する画像データの数(1以上の自然数)に対応し、予め設定される。
画像生成部153は、生成した合成画像データと、レンダリングの対象とした3D身体CGモデルとの組を、推論部154に出力する。
推論部154は、画像生成部153から取得した合成画像データを、訓練済みの3D骨格認識器M1に入力することで、3D骨格データを推論する。推論部154は、推論した3D骨格データと、合成画像データに対応する3D身体CGモデルのデータとを対応付けて、回帰データセット142に登録する。
ところで、推論部154は、3D骨格データを推論した場合に、3D骨格データの各関節位置が適切であるか否かを判定し、適切でない位置の関節を除外する処理を行ってもよい。たとえば、推論部154は、以下に説明する、第1除去処理または第2除去処理を実行する。推論部154は、第1除去処理または第2除去処理のうち、いずれか一方の除去処理を実行してもよいし、両方の除去処理を実行してもよい。
推論部154が実行する第1除去処理について説明する。図7は、第1除去処理を説明するための図である。推論部154は、事前に準備した既存データセット50の関節定義に従う3D骨格データ9aと、骨格生成部156に生成された3D骨格データ9bとを比較する。推論部154は、3D骨格データ9aのある関節(たとえば、足首)と、3D骨格データ9bのある関節との距離が閾値以上である場合、3D骨格データ9bのある関節を除去する。足首以外の関節についても同様である。
推論部154が実行する第2除去処理について説明する。図8は、第2除去処理を説明するための図である。推論部154は、既存データセット50の関節定義に対応した3D身体CGモデル20の表面位置と、3D骨格データの関節の位置とを比較し、3D骨格データの各関節のうち、3D身体CGモデル20の内部に存在する関節を残し、外部に存在する関節を除去する。図8に示す例では、推論部154は、3D身体CGモデル20の内部に存在する関節21bを残し、外部に存在する関節21aを除去する。
画像生成部153および推論部154は、3D身体CGモデルテーブル141に格納された各3D身体CGモデルのデータに対して、上記処理を繰り返し実行することで、3D骨格データと、3D身体CGモデルとの組を複数生成し、回帰データセット142に格納する。
第2学習実行部155は、回帰データセット142に格納された、3D骨格データと、3D身体CGモデルとの組(訓練データ)を基にして、回帰モデルM2を訓練する。たとえば、第2学習実行部155は、式(1)の目的関数を基にして、回帰モデルM2のパラメータ(重みJiの値)を探索する。
式(1)において、「Ndata」は、回帰の訓練データの数である。たとえば、回帰の訓練データの数は、回帰データセット142に格納された、3D骨格データと、3D身体CGモデルとの組の数である。「Njoint」は、既存データセット50の関節定義の関節数である。
「Nvert」を、3D身体CGモデルの3D頂点数としたとき、式(1)において、「Vi」は、i番目の訓練データ(3D骨格データと、3D身体CGモデルとの組)のおける、3D身体CGモデルの頂点座標群である(3×Nvert行列)。「Ji」は、Viから関節iの3D座標を線形回帰する重み(Nvert次元ベクトル)である。
式(1)において、「pi,j」は、i番目の訓練データのおける、3D骨格データの関節jの3D座標である(3次元ベクトル)。「λ」は、正規化項に関する重み係数(スカラー)である。
第2学習実行部155は、式(1)に関し、非負最小二乗法で最適化することでJj≧0となり、3D身体CGモデルの頂点群Viの内側に3D関節を回帰させることができる。
第2学習実行部155は、関節jについて、その局所近傍の頂点群Vi,j⊆Viだけが関節位置の規定に影響すると仮定し、「Vi,jからpi,jを回帰」させることで、より安定した3D骨格データの生成が可能となる。たとえば、足首位置の回帰の際に、無関係な頭部頂点群の位置を影響させないようにすることができる。
ここでは、第2学習実行部155が、式(1)の目的関数を基にして、回帰モデルM2を訓練する処理について説明したが、3D身体CGモデルを入力、3D骨格データを出力として、誤差逆伝播学習法による訓練を行ってもよい。
続いて、骨格生成部156、追加処理部157の処理について説明する。骨格生成部156、追加処理部157は、回帰モデルM2の訓練が完了した後に、任意の3D身体CGモデルのデータを取得し、既存データセット50に追加する訓練データを生成する。任意の3D身体CGモデルのデータは、入力部120から取得してもよいし、外部装置から取得してもよい。
骨格生成部156は、任意の3D身体CGモデルを取得した場合に、取得した3D身体CGモデルを、回帰モデルM2に入力して、3D骨格データを生成する。骨格生成部156は、任意の3D身体CGモデルおよび生成した3D骨格データを、追加処理部157に出力する。
追加処理部157は、取得した3D骨格データを、訓練データとして、既存データセット50に追加する。追加処理部157は、任意の3D身体CGモデルに対して、レンダリングを実行し、3D骨格データと対になる画像データを生成し、既存データセット50に追加してもよい。また、外部装置等から指定されるカメラパラメータを合わせて、既存データセット50に追加してもよい。
骨格生成部156、追加処理部157は、任意の3D身体CGモデルを取得する度に、上記処理を実行して、新たな訓練データを生成し、訓練データを既存データセット50に追加する。
上記の第1学習実行部152は、既存データセット50に新たな訓練データが追加された場合には、既存データセット50に格納された訓練データを含めて、3D骨格認識器M1を再訓練する。
次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。図9は、本実施例に係る情報処理装置の処理手順を示すフローチャート(1)である。図9に示すように、情報処理装置100の第1学習実行部152は、既存データセット50を基にして、3D骨格認識器M1を訓練する(ステップS101)。
情報処理装置100の取得部151は、多様な姿勢の3D身体CGモデルを取得し、3D身体CGモデルテーブル141に登録する(ステップS102)。情報処理装置100の画像生成部153は、3D身体CGモデルに対してレンダリングを実行し、合成画像データを生成する(ステップS103)。
情報処理装置100の推論部154は、合成画像データを3D骨格認識器M1に入力し、3D骨格データを推論する(ステップS104)。推論部154は、3D骨格データに含まれる適切でない関節を除去する(ステップS105)。
推論部154は、3D身体CGモデルと3D骨格データとの組を、回帰データセット142に登録する(ステップS106)。情報処理装置100の第2学習実行部155は、回帰データセット142を基にして、回帰モデルM2を訓練する(ステップS107)。
図10は、本実施例に係る情報処理装置の処理手順を示すフローチャート(2)である。情報処理装置100の骨格生成部156は、物体モデル(任意の3D身体CGモデル)を取得する(ステップS201)。
骨格生成部156は、物体モデルを回帰モデルM2に入力し、3D骨格データを生成する(ステップS202)。
情報処理装置100の追加処理部157は、物体モデルの画像データと、3D骨格データとの関係を基にして、訓練データを生成する(ステップS203)。追加処理部157は、生成した訓練データを、既存データセットに追加する(ステップS204)。
情報処理装置100の第1学習実行部152は、既存データセット50を基にして、3D骨格認識器M1を再訓練する(ステップS205)。
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、3D身体CGモデルをレンダリングすることで、合成画像データを生成し、合成画像データを、3D骨格認識器M1に入力することで、3D骨格データを推論する。情報処理装置100は、3D身体CGモデルを入力、推論した3D骨格データを出力として、回帰モデルM2を訓練する。これによって、任意の3D身体CGモデルを、訓練済みの回帰モデルM2に入力し、任意の3D身体CGモデルに対応する3D骨格データであって、既存データセット50の関節定義に適合した3D骨格データを生成することができる。
情報処理装置100は、当初の訓練データにない条件の3D身体CGモデルを、訓練済みの回帰モデルM2に入力して、3D骨格データを生成し、かかる3D骨格データを既存データセット50に追加する。情報処理装置100は、3D骨格認識器M1を再訓練することで、当初の訓練データにない条件の画像データ入力した場合の認識精度を向上させることができる。
情報処理装置100は、合成画像データを、3D骨格認識器M1に入力し、3D骨格データを推論した場合に、3D骨格データの各関節位置が適切であるか否かを判定し、適切でない位置の関節を除外する処理を行う。これによって、外れ値となる関節が、回帰データセット142に登録されることを抑止し、回帰データセット142を用いて訓練される回帰モデルM2の精度を向上させることができる。
情報処理装置100は、回帰モデルM2を訓練する場合、物体のモデルの頂点座標群およびパラメータとの乗算値と、推論された3次元の骨格データの各関節位置との差分の絶対値が小さくなるようなパラメータを探索する。たとえば、情報処理装置100は、式(1)の目的関数を基にして、回帰モデルM2のパラメータ(重みJiの値)を探索する。これによって、3D身体CGモデルから、3D骨格データを精度よく推論可能なモデルを生成することができる。
情報処理装置100は、訓練済みの回帰モデルM2に、3D身体CGモデルを入力することで、3D骨格データを推論できるため、3D身体CGモデルに対して直接解析を行い、3D骨格データを推論する場合よりも、処理負荷を軽減することができる。
次に、上記実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図11は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図11に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置204と、インタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
ハードディスク装置207は、取得プログラム207a、第1学習実行プログラム207b、画像生成プログラム207c、推論プログラム207d、第2学習実行プログラム207e、骨格生成プログラム207f、追加処理プログラム207gを有する。また、CPU201は、各プログラム207a~207gを読み出してRAM206に展開する。
取得プログラム207aは、取得プロセス206aとして機能する。第1学習実行プログラム207bは、第1学習実行プロセス206bとして機能する。画像生成プログラム207cは、画像生成プロセス206cとして機能する。推論プログラム207dは、推論プロセス206dとして機能する。第2学習実行プログラム207eは、第2学習実行プロセス206eとして機能する。骨格生成プログラム207fは、骨格生成プロセス206fとして機能する。追加処理プログラム207gは、追加処理プロセス206gとして機能する。
取得プロセス206aの処理は、取得部151の処理に対応する。第1学習実行プロセス206bの処理は、第1学習実行部152の処理に対応する。画像生成プロセス206cの処理は、画像生成部153の処理に対応する。推論プロセス206dの処理は、推論部154の処理に対応する。第2学習実行プロセス206eの処理は、第2学習実行部155の処理に対応する。骨格生成プロセス206fの処理は、骨格生成部156の処理に対応する。追加処理プロセス206gの処理は、追加処理部157の処理に対応する。
なお、各プログラム207a~207gについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207gを読み出して実行するようにしてもよい。
50 既存データセット
100 情報処理装置
110 通信部
120 入力部
130 表示部
140 記憶部
150 制御部
151 取得部
152 第1学習実行部
153 画像生成部
154 推論部
155 第2学習実行部
156 骨格生成部
157 追加処理部
100 情報処理装置
110 通信部
120 入力部
130 表示部
140 記憶部
150 制御部
151 取得部
152 第1学習実行部
153 画像生成部
154 推論部
155 第2学習実行部
156 骨格生成部
157 追加処理部
Claims (10)
- 3次元の表面から構成される物体のモデルを取得し、
前記物体のモデルがレンダリングされた画像データを生成し、
訓練データの有する物体の画像データを説明変数とし、前記訓練データの3次元の骨格データを目的変数として学習された第一の学習器に対して、前記レンダリングされた画像データを入力することで、前記レンダリングされた画像データの3次元の骨格データを特定し、
特定された前記3次元の骨格データを目的変数とし、前記物体のモデルを説明変数として、第二の学習器の学習を実行する
処理をコンピュータに実行させることを特徴とする学習プログラム。 - 前記3次元の表面から構成される物体のモデルに設定される3次元の関節位置および関節数は、前記訓練データの3次元の骨格データに設定される3次元の関節位置および関節数と異なることを特徴とする請求項1に記載の学習プログラム。
- 前記3次元の表面から構成される物体のモデルを基にして特定される前記物体の関節の基準位置と、前記レンダリングされた画像データの3次元の骨格データの関節位置とを基にして、外れ値となる骨格データの関節を除去する処理を更にコンピュータに実行させることを特徴とする請求項1に記載の学習プログラム。
- 前記第二の学習器の学習を実行する処理は、
前記物体のモデルの頂点座標群およびパラメータとの乗算値と、前記レンダリングされた画像データの3次元の骨格データの各関節位置との差分の絶対値が小さくなるようなパラメータを探索することを特徴とする請求項1に記載の学習プログラム。 - 3次元の表面から構成される第一の物体のモデルがレンダリングされた画像データを、第一の訓練データで学習済みの第一の学習器に入力することで生成された3次元の骨格データを目的変数とするとともに、前記第一の物体のモデルを説明変数として学習された第二の学習器を取得し、
前記第二の学習器に第二の物体のモデルを入力することで、前記第二の物体のモデルの3次元の骨格から成る第二の訓練データを生成し、
前記第一の訓練データと前記第二の訓練データとから成るデータセットを生成する
処理をコンピュータに実行させることを特徴とする生成プログラム。 - 3次元の表面から構成される物体のモデルを取得し、
前記物体のモデルがレンダリングされた画像データを生成し、
訓練データの有する物体の画像データを説明変数とし、前記訓練データの3次元の骨格データを目的変数として学習された第一の学習器に対して、前記レンダリングされた画像データを入力することで、前記レンダリングされた画像データの3次元の骨格データを特定し、
特定された前記3次元の骨格データを目的変数とし、前記物体のモデルを説明変数として、第二の学習器の学習を実行する
処理をコンピュータが実行することを特徴とする学習方法。 - 前記3次元の表面から構成される物体のモデルに設定される3次元の関節位置および関節数は、前記訓練データの3次元の骨格データに設定される3次元の関節位置および関節数と異なることを特徴とする請求項6に記載の学習方法。
- 前記3次元の表面から構成される物体のモデルを基にして特定される前記物体の関節の基準位置と、前記レンダリングされた画像データの3次元の骨格データの関節位置とを基にして、外れ値となる骨格データの関節を除去する処理を更にコンピュータが実行することを特徴とする請求項6に記載の学習方法。
- 前記第二の学習器の学習を実行する処理は、
前記物体のモデルの頂点座標群およびパラメータとの乗算値と、前記レンダリングされた画像データの3次元の骨格データの各関節位置との差分の絶対値が小さくなるようなパラメータを探索する
ことを特徴とする請求項6に記載の学習方法。 - 3次元の表面から構成される第一の物体のモデルがレンダリングされた画像データを、第一の訓練データで学習済みの第一の学習器に入力することで生成された3次元の骨格データを目的変数とするとともに、前記第一の物体のモデルを説明変数として学習された第二の学習器を取得し、
前記第二の学習器に第二の物体のモデルを入力することで、前記第二の物体のモデルの3次元の骨格から成る第二の訓練データを生成し、
前記第一の訓練データと前記第二の訓練データとから成るデータセットを生成する
処理をコンピュータに実行させることを特徴とする生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/008292 WO2023162223A1 (ja) | 2022-02-28 | 2022-02-28 | 学習プログラム、生成プログラム、学習方法および生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/008292 WO2023162223A1 (ja) | 2022-02-28 | 2022-02-28 | 学習プログラム、生成プログラム、学習方法および生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023162223A1 true WO2023162223A1 (ja) | 2023-08-31 |
Family
ID=87765304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/008292 WO2023162223A1 (ja) | 2022-02-28 | 2022-02-28 | 学習プログラム、生成プログラム、学習方法および生成方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023162223A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014044653A (ja) | 2012-08-28 | 2014-03-13 | Oki Electric Ind Co Ltd | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
WO2018207365A1 (ja) * | 2017-05-12 | 2018-11-15 | 富士通株式会社 | 距離画像処理装置、距離画像処理システム、距離画像処理方法および距離画像処理プログラム |
JP2019046007A (ja) * | 2017-08-31 | 2019-03-22 | 株式会社Pfu | 座標検出装置及び学習済みモデル |
WO2020084667A1 (ja) * | 2018-10-22 | 2020-04-30 | 富士通株式会社 | 認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置 |
JP2020190959A (ja) * | 2019-05-22 | 2020-11-26 | 日本電気株式会社 | モデル生成装置、システム、パラメータ算出装置、モデル生成方法、パラメータ算出方法およびプログラム |
-
2022
- 2022-02-28 WO PCT/JP2022/008292 patent/WO2023162223A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014044653A (ja) | 2012-08-28 | 2014-03-13 | Oki Electric Ind Co Ltd | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
WO2018207365A1 (ja) * | 2017-05-12 | 2018-11-15 | 富士通株式会社 | 距離画像処理装置、距離画像処理システム、距離画像処理方法および距離画像処理プログラム |
JP2019046007A (ja) * | 2017-08-31 | 2019-03-22 | 株式会社Pfu | 座標検出装置及び学習済みモデル |
WO2020084667A1 (ja) * | 2018-10-22 | 2020-04-30 | 富士通株式会社 | 認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置 |
JP2020190959A (ja) * | 2019-05-22 | 2020-11-26 | 日本電気株式会社 | モデル生成装置、システム、パラメータ算出装置、モデル生成方法、パラメータ算出方法およびプログラム |
Non-Patent Citations (1)
Title |
---|
M. NAUREEN ET AL.: "AMASS: Archive of Motion Capture as Surface Shapes", ICCV2019 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10507002B2 (en) | X-ray system and method for standing subject | |
US11967101B2 (en) | Method and system for obtaining joint positions, and method and system for motion capture | |
US9524582B2 (en) | Method and system for constructing personalized avatars using a parameterized deformable mesh | |
CN108475439B (zh) | 三维模型生成***、三维模型生成方法和记录介质 | |
JP7057959B2 (ja) | 動作解析装置 | |
JP7015152B2 (ja) | キーポイントデータに関する加工装置、方法及びプログラム | |
JP4284664B2 (ja) | 三次元形状推定システム及び画像生成システム | |
CN103733226A (zh) | 快速的有关节运动的跟踪 | |
JPWO2007010893A1 (ja) | 関節物***置姿勢推定装置及びその方法ならびにプログラム | |
JP6708260B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US11403882B2 (en) | Scoring metric for physical activity performance and tracking | |
JP2009020761A (ja) | 画像処理装置及びその方法 | |
JPWO2016151691A1 (ja) | 画像処理装置、画像処理システム、画像処理方法及びプログラム | |
WO2017161734A1 (zh) | 通过电视和体感配件矫正人体动作及*** | |
JP2019003565A (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
WO2012121137A1 (ja) | 画像処理装置および画像処理プログラム | |
JP5503510B2 (ja) | 姿勢推定装置および姿勢推定プログラム | |
CN113902845A (zh) | 一种动作视频生成方法、装置、电子设备和可读存储介质 | |
JP7318814B2 (ja) | データ生成方法、データ生成プログラムおよび情報処理装置 | |
JP2006215743A (ja) | 画像処理装置及び画像処理方法 | |
WO2023162223A1 (ja) | 学習プログラム、生成プログラム、学習方法および生成方法 | |
WO2021039642A1 (ja) | 3次元再構成装置、方法及びプログラム | |
JP7482471B2 (ja) | 学習モデルの生成方法 | |
JP2018180894A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP4623320B2 (ja) | 三次元形状推定システム及び画像生成システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22928749 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2024502743 Country of ref document: JP |