WO2023062762A1 - 推定プログラム、推定方法および情報処理装置 - Google Patents

推定プログラム、推定方法および情報処理装置 Download PDF

Info

Publication number
WO2023062762A1
WO2023062762A1 PCT/JP2021/037972 JP2021037972W WO2023062762A1 WO 2023062762 A1 WO2023062762 A1 WO 2023062762A1 JP 2021037972 W JP2021037972 W JP 2021037972W WO 2023062762 A1 WO2023062762 A1 WO 2023062762A1
Authority
WO
WIPO (PCT)
Prior art keywords
head
information
joints
unit
image
Prior art date
Application number
PCT/JP2021/037972
Other languages
English (en)
French (fr)
Inventor
達也 鈴木
優 石川
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to CN202180103161.1A priority Critical patent/CN118103866A/zh
Priority to JP2023553833A priority patent/JPWO2023062762A1/ja
Priority to PCT/JP2021/037972 priority patent/WO2023062762A1/ja
Publication of WO2023062762A1 publication Critical patent/WO2023062762A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present invention relates to an estimation program 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.
  • 2D features include 2D skeleton information and heatmap information.
  • FIG. 37 is a diagram showing an example of a human body model.
  • the human body model M1 is composed of 21 joints.
  • each joint is indicated by a node and assigned a number from 0 to 20.
  • the relationship between node numbers and joint names is shown in table Te1.
  • the joint name corresponding to node 0 is "SPINE_BASE”. Description of joint names for nodes 1 to 20 is omitted.
  • FIG. 38 is a diagram for explaining a method using machine learning.
  • 2D features 22 representing each joint feature are acquired by applying 2D backbone processing 21a to each input image 21 captured by each camera.
  • aggregated volumes 23 are obtained by back-projecting each 2D feature 22 onto a 3Dcube according to camera parameters.
  • Processed volumes 25 correspond to a heatmap representing the 3D likelihood of each joint.
  • 3D skeleton information 27 is obtained by executing soft-argmax 26 on processed volumes 25 .
  • the condition for hopping is that the top of the athlete's head be lower than the feet.
  • the contour of the head obtained as a result of 3D skeleton recognition differs from the contour of the actual head, making it impossible to accurately identify the position of the top of the head.
  • FIG. 39 is a diagram showing an example of an image in which the position of the top of the head cannot be specified with high accuracy.
  • an image 10a with "appearance”, an image 10b with “disordered hair”, and an image 10c with “occlusion” are used for explanation.
  • Appearance is defined as the fact that the competitor's head blends into the background, making it difficult even for humans to discern the area of the head.
  • a player's hair is defined as disheveled.
  • Occlusion is defined as covering the top of the head by the player's torso or arms.
  • the position of the top of the head is specified by 3D skeleton recognition of the image 10a based on the conventional technology, the position 1a will be specified due to the influence of appearance.
  • the correct position of the top of the head is 1b.
  • the position of the top of the head is specified by performing 3D skeleton recognition of the image 10b, the position 1c will be specified due to the effect of disheveled hair.
  • the correct position of the top of the head is 1d.
  • the position of the top of the head is specified by 3D skeleton recognition of the image 10c, the position 1e will be specified due to the influence of occlusion.
  • the correct position of the top of the head is 1f.
  • an object of the present invention is to provide an estimation program, an estimation method, and an information processing device capable of accurately estimating the position of the top of the head of a player.
  • the computer executes the following processing.
  • the computer inputs an image of the player's head in a predetermined state to the machine learning model to identify the positions of multiple joints included in the player's face.
  • the computer uses each of the multiple joint positions to estimate the position of the top of the player's head.
  • FIG. 1 is a diagram showing an example of a gymnastics scoring support system according to the first embodiment.
  • FIG. 2 is a diagram for explaining an example of source information.
  • FIG. 3 is a diagram for explaining an example of target information.
  • FIG. 4 is a diagram for supplementary explanation of a technique for calculating conversion parameters.
  • FIG. 5 is a diagram for supplementary explanation of the method of estimating the top of the player's head.
  • FIG. 6 is a diagram for explaining the effect of the information processing apparatus according to the first embodiment.
  • FIG. 7 is a functional block diagram showing the configuration of the learning device according to the first embodiment.
  • FIG. 8 is a diagram showing an example of the data structure of learning data.
  • FIG. 9 is a functional block diagram showing the configuration of the information processing apparatus according to the first embodiment.
  • FIG. 1 is a diagram showing an example of a gymnastics scoring support system according to the first embodiment.
  • FIG. 2 is a diagram for explaining an example of source information.
  • FIG. 3 is a diagram
  • FIG. 10 is a diagram showing an example of the data structure of the measurement table.
  • FIG. 11 is a diagram showing an example of the data structure of the skeleton recognition result table.
  • FIG. 12 is a diagram for explaining the second feature.
  • FIG. 13 is a diagram showing one second feature.
  • FIG. 14 is a diagram for supplementary explanation of RANSAC.
  • FIG. 15 is a diagram for explaining the problem of RANSAC.
  • FIG. 16 is a diagram for explaining the processing of the estimation unit according to the first embodiment;
  • FIG. 17 is a diagram for explaining the process of detecting bone length abnormality.
  • FIG. 18 is a diagram for explaining the process of detecting a reverse/sideways curve abnormality.
  • FIG. 19 is a diagram (1) for supplementary explanation of each vector used in reverse/sideways abnormality detection.
  • FIG. 19 is a diagram (1) for supplementary explanation of each vector used in reverse/sideways abnormality detection.
  • FIG. 20 is a diagram (2) for supplementary explanation of each vector used in reverse/sideways abnormality detection.
  • FIG. 21 is a diagram (3) for supplementary explanation of each vector used in the reverse/sideways curve abnormality detection.
  • FIG. 22 is a diagram (4) for supplementary explanation of each vector used in reverse/side-turn abnormality detection.
  • FIG. 23 is a diagram for explaining the process of detecting an over-bending abnormality.
  • FIG. 24 is a diagram for explaining bone length correction.
  • 25A and 25B are diagrams for explaining the inverse/lateral curving correction.
  • FIG. FIG. 26 is a diagram for explaining excessive bending correction.
  • FIG. 27 is a flow chart showing the processing procedure of the learning device according to the first embodiment.
  • FIG. 28 is a flowchart illustrating the processing procedure of the information processing apparatus according to the first embodiment
  • FIG. 29 is a flowchart (1) showing a processing procedure of transformation parameter estimation processing.
  • FIG. 30 is a flowchart (2) showing a processing procedure of transformation parameter estimation processing.
  • FIG. 31 is a diagram for explaining comparison results of errors in parietal region estimation.
  • FIG. 32 is a diagram illustrating an example of source information according to the second embodiment. 33A and 33B are diagrams for explaining the process of identifying the top of the head.
  • FIG. 34 is a functional block diagram showing the configuration of the information processing apparatus according to the second embodiment.
  • FIG. 35 is a flow chart showing the processing procedure of the information processing apparatus according to the second embodiment.
  • FIG. 36 is a diagram illustrating an example of a hardware configuration of a computer that implements functions similar to those of the information processing apparatus.
  • FIG. 37 is a diagram showing an example of a human body model.
  • FIG. 38 is a diagram for explaining a method using machine learning.
  • FIG. 39 is a diagram showing an example of an image in which the position of the top of the head cannot be specified with high accuracy.
  • FIG. 1 is a diagram showing an example of a gymnastics scoring support system according to the first embodiment.
  • this gymnastics scoring support system 35 has cameras 30 a , 30 b , 30 c , 30 d , a learning device 50 , and an information processing device 100 .
  • the cameras 30a to 30d and the information processing apparatus 100 are connected by wire or wirelessly.
  • the learning device 50 and the information processing device 100 are connected by wire or wirelessly.
  • the gymnastics scoring support system 35 may further have other cameras.
  • the contestant H1 performs a series of performances on the equipment, but it is not limited to this.
  • the contestant H1 may perform a performance in a place where no equipment exists, or may perform actions other than performance.
  • the camera 30a is a camera that takes an image of the competitor H1.
  • the camera 30a corresponds to a CMOS imager, an RGB camera, or the like.
  • the camera 30a continuously captures images at a predetermined frame rate (frames per second: FPS) and transmits image data to the information processing apparatus 100 in chronological order.
  • FPS frames per second
  • image frame data of one image among data of a plurality of continuous images
  • Image frames are given frame numbers in chronological order.
  • cameras 30b, 30c, and 30d are the same as the description regarding the camera 30a.
  • the cameras 30a to 30d are collectively referred to as "camera 30" as appropriate.
  • the learning device 50 machine-learns a machine-learning model for estimating the positions of facial joints from image frames based on learning data prepared in advance.
  • Facial joints include left and right eyes, left and right ears, nose, chin, mouth, and the like.
  • a machine learning model for estimating the positions of facial joints from image frames is referred to as a "facial joint estimation model.”
  • the learning device 60 outputs information on the machine-learned facial joint estimation model to the information processing device 100 .
  • the information processing apparatus 100 calculates the position of the top of the head of the player H1 based on source information prepared in advance and target information that is the recognition result of the facial joint using the facial joint estimation model. presume.
  • the source information and target information will be described below.
  • FIG. 2 is a diagram for explaining an example of source information.
  • the positions of a plurality of face joints p1 and the positions of the parietal joints tp1 are set for the 3D human body model M2.
  • the source information 60a is set in the information processing apparatus 100 in advance.
  • FIG. 3 is a diagram for explaining an example of target information.
  • the target information is generated by inputting the image frames acquired from the camera into the facial joint estimation model. As shown in FIG. 3, a plurality of facial joints p2 are specified in the target information 60b.
  • the information processing apparatus 100 calculates transformation parameters for matching each position of the facial joint of the source information 60a with each position of the facial joint of the target information 60b.
  • the information processing apparatus 100 estimates the position of the top of the head of the player H1 by applying the calculated transformation parameter to the position of the top of the head of the source information 60a.
  • FIG. 4 is a diagram for supplementary explanation of the method of calculating the conversion parameters. Transformation parameters include rotation R, translation t, and scale c. Rotation R and translation t are vector values. Scale c is a scalar value. The steps S1 to S5 will be described in order.
  • Step S1 will be explained. Assume that the positions of the plurality of face joints p1 included in the source information 60a are x (x is a vector value).
  • Step S2 will be explained.
  • the position of the face joint p1 becomes "Rx".
  • Step S3 By multiplying the updated position "Rx" of the face joint p1 by the scale c, the position of the face joint p1 becomes "cRx".
  • Step S4 will be explained.
  • the position of the face joint p1 becomes “cRx+t”.
  • Step S5 will be explained. Assuming that the position of the facial joint p2 of the target information 60b is y, the difference between the source information 60a to which the transformation parameter is applied and the target information 60b can be specified by calculating
  • Equation (1) the difference e2 between the source information 60a to which the transform parameters are applied and the target information 60b is defined by equation (1).
  • x indicates the position of the facial joint of the source information 60a.
  • y indicates the position of the facial joint in the target information 60b.
  • the information processing apparatus 100 uses the method of least squares or the like to calculate the conversion parameters R, t, and c that minimize the difference e2 in Equation (1).
  • the information processing device 100 After calculating the transformation parameters, the information processing device 100 applies the transformation parameters to the position of the top of the head of the source information 60a, thereby estimating the position of the top of the head of the player H1.
  • FIG. 5 is a diagram for supplementary explanation of the method of estimating the top of the player's head.
  • the information processing apparatus 100 calculates the face joint position y (the position tp2 of the top of the head) of the athlete from the face coordinate position x (including the position tp1 of the top of the head) of the source information 60a. including).
  • the conversion parameter of equation (2) is a conversion parameter that minimizes the difference e2 calculated by the above process.
  • the information processing apparatus 100 acquires the position tp2 of the top of the head included in the calculated position y.
  • the information processing apparatus 100 calculates transformation parameters for matching the positions of the facial joints of the source information 60a with the positions of the facial joints of the target information 60b.
  • the information processing apparatus 100 calculates the position of the top of the head of the player by applying the calculated conversion parameter to the top of the head of the source information 60a. Since the relationship between the face joint and the parietal region is a rigid body relationship, the position of the parietal region of the player can be estimated using this relationship, thereby improving the estimation accuracy.
  • FIG. 6 is a diagram for explaining the effect of the information processing apparatus according to the first embodiment.
  • an image 10a with “appearance”, an image 10b with “disordered hair”, and an image 10c with “occlusion” are used for explanation.
  • the position of the top of the head is specified by performing 3D skeleton recognition of the image 10a based on the conventional technology, the position 1a of the top of the head will be specified due to the influence of the appearance.
  • the information processing apparatus 100 executes the above process, thereby specifying the position 2a of the top of the head.
  • the correct position of the top of the head is 1b, so the accuracy of estimating the top of the head is improved compared to the conventional technique.
  • the position of the top of the head is specified by performing 3D skeleton recognition of the image 10b based on the conventional technology, the position 1c of the top of the head will be specified due to the effect of disheveled hair.
  • the information processing apparatus 100 executes the above-described process to specify the position 2b of the top of the head.
  • the correct position of the top of the head is 1d, so the accuracy of estimating the top of the head is improved compared to the conventional technique.
  • the information processing apparatus 100 executes the above process to specify the position 2c of the top of the head.
  • the correct position of the top of the head is 1f, so the accuracy of estimating the top of the head is improved compared to the conventional technology.
  • the information processing apparatus 100 can improve the accuracy of parietal region estimation by using facial joints that are less affected by poor observation. Also, when evaluating the performance of a contestant using the top of the head, it is possible to appropriately evaluate whether the performance is successful or not. Competitor performances using the crown of the head include hops on the balance beam and some floor exercises.
  • FIG. 7 is a functional block diagram showing the configuration of the learning device according to the first embodiment.
  • the learning device 50 has a communication section 51 , an input section 52 , a display section 53 , a storage section 54 and a control section 55 .
  • the communication unit 51 performs data communication with the information processing device 100 .
  • the communication unit 51 transmits information on the machine-learned facial joint estimation model 54 b to the information processing apparatus 100 .
  • the communication unit 51 may receive learning data 54a used in machine learning from an external device.
  • the input unit 52 corresponds to an input device for inputting various types of information to the learning device 50.
  • the display unit 53 displays information output from the control unit 55.
  • the storage unit 54 stores learning data 54a and a facial joint estimation model 54b.
  • the storage unit 54 corresponds to semiconductor memory devices such as RAM (Random Access Memory) and flash memory (Flash Memory), and storage devices such as HDD (Hard Disk Drive).
  • the learning data 54a holds information for machine learning the facial joint estimation model 54b.
  • image frames with facial joint annotations are held as information for machine learning.
  • FIG. 8 is a diagram showing an example of the data structure of learning data. As shown in FIG. 8, the learning data associates item numbers, input data, and correct data (labels). An image frame containing a face image of a person is set as input data. As correct data, the positions of facial joints included in the image frame are set.
  • the facial joint estimation model 54b corresponds to an NN (Neural Network) or the like.
  • the facial joint estimation model 54b outputs the positions of the facial joints based on machine-learned parameters when an image frame is input.
  • the control unit 55 has an acquisition unit 55a, a learning unit 55b, and an output unit 55c.
  • the control unit 55 corresponds to a CPU (Central Processing Unit) or the like.
  • the acquisition unit 55a acquires the learning data 54a from the communication unit 51 or the like.
  • the acquiring unit 55 a registers the acquired learning data 54 a in the storage unit 54 .
  • the learning unit 55b performs machine learning of the facial joint estimation model 54b using the learning data 54a based on the error backpropagation method. For example, the learning unit 55b trains the parameters of the facial joint estimation model 54b so that the result of inputting the input data of the learning data 54a into the facial joint estimation model 54b approaches the correct data paired with the input data.
  • the output unit 55c outputs information of the facial joint estimation model 54b for which machine learning has been completed to the information processing apparatus 100.
  • FIG. 9 is a functional block diagram showing the configuration of the information processing apparatus according to the first embodiment.
  • the 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 performs data communication with the camera 30 and the information processing device 100 .
  • communication unit 110 receives image frames from camera 30 .
  • the communication unit 110 transmits information on the machine-learned facial joint estimation model 54 b to the information processing apparatus 100 .
  • the input unit 120 corresponds to an input device for inputting various types of information to the information processing device 100 .
  • the display unit 130 displays information output from the control unit 150 .
  • the storage unit 140 has a facial joint estimation model 54b, source information 60a, a measurement table 141, a skeleton recognition result table 142, and a technique recognition table 143.
  • the storage unit 140 corresponds to semiconductor memory elements such as RAM and flash memory, and storage devices such as HDD.
  • the facial joint estimation model 54b is a facial joint estimation model 54b for which machine learning has already been performed.
  • the facial joint estimation model 54b is trained by the learning device 50 described above.
  • the source information 60a is information in which the positions of a plurality of facial joints p1 and the positions of the parietal joints tp1 are set, as described with reference to FIG.
  • the measurement table 141 is a table that stores image frames captured by the camera 30 in chronological order.
  • FIG. 10 is a diagram showing an example of the data structure of the measurement table. As shown in FIG. 10, the measurement table 141 associates camera identification information with image frames.
  • Camera identification information is information that uniquely identifies a camera.
  • camera identification information “C30a” corresponds to camera 30a
  • camera identification information “C30b” corresponds to camera 30b
  • camera identification information “C30c” corresponds to camera 30c
  • camera identification information “C30d”. corresponds to the camera 30d.
  • the image frames are time-series image frames captured by the corresponding camera 30 . Assume that each image frame is assigned a frame number in chronological order.
  • the skeleton recognition result table 142 is a table that stores the recognition results of the 3D skeleton of player H1.
  • FIG. 11 is a diagram showing an example of the data structure of the skeleton recognition result table. As shown in FIG. 11, this skeleton recognition result table 142 associates frame numbers with 3D skeleton information.
  • a frame number is a frame number given to an image frame used when estimating 3D skeleton information.
  • the 3D skeleton information includes the positions of joints defined in each node 0-20 shown in FIG. 37 and the positions of a plurality of facial joints including the top of the head.
  • the technique recognition table 143 is a table that associates time-series changes in each joint position included in each piece of 3D skeleton information with types of techniques.
  • the technique recognition table 143 also associates combinations of technique types with scores.
  • the score is calculated as the sum of the D (Difficulty) score and the E (Execution) score.
  • the D score is a score calculated based on the difficulty of the technique.
  • the E-score is a score calculated by a deduction method according to the degree of perfection of the technique.
  • the technique recognition table 143 also includes information that associates the time-series conversion of the top of the head with the type of technique, such as jumping on a balance beam or part of a floor exercise.
  • the control unit 150 has an acquisition unit 151 , a preprocessing unit 152 , a target information generation unit 153 , an estimation unit 154 , an abnormality detection unit 155 , a correction unit 156 and a technique recognition unit 157 .
  • the control unit 150 corresponds to the CPU and the like.
  • the acquisition unit 151 acquires the facial joint estimation model 54b for which machine learning has been performed from the learning device 50 via the communication unit 110, and registers the facial joint estimation model 54b in the storage unit 140.
  • the acquisition unit 151 acquires image frames in time series from the camera 30 via the communication unit 110 .
  • the acquisition unit 151 stores the image frames acquired from the camera 30 in the measurement table 141 in association with the camera identification information.
  • the preprocessing unit 152 executes 3D skeleton recognition of the athlete H1 from the image frames (multi-viewpoint image frames) registered in the measurement table 141.
  • the preprocessing unit 152 may use any conventional technique to generate the 3D skeleton information of the player H1. An example of the processing of the preprocessing unit 152 will be described below.
  • the preprocessing unit 152 acquires the image frames of the camera 30 from the measurement table 141, and based on the image frames, generates a plurality of second features respectively corresponding to the joints of the athlete H1.
  • the second feature is a heatmap that indicates the likelihood of each joint position.
  • a second feature corresponding to each joint is generated from one image frame acquired from one camera. For example, with 21 joints and 4 cameras, 84 second features are generated for each image frame.
  • FIG. 12 is a diagram for explaining the second feature.
  • An image frame Im30a1 shown in FIG. 12 is an image frame captured by the camera 30a.
  • An image frame Im30b1 is an image frame captured by the camera 30b.
  • An image frame Im30c1 is an image frame captured by the camera 30c.
  • An image frame Im30d1 is an image frame captured by the camera 30d.
  • the preprocessing unit 152 generates the second feature group information G1a based on the image frame Im30a1.
  • the second feature group information G1a includes 21 second features corresponding to each joint.
  • the preprocessing unit 152 generates second feature group information G1b based on the image frame Im30b1.
  • the second feature group information G1b includes 21 second features corresponding to each joint.
  • the preprocessing unit 152 generates the second feature group information G1c based on the image frame Im30c1.
  • the second feature group information G1c includes 21 second features corresponding to each joint.
  • the preprocessing unit 152 generates second feature group information G1d based on the image frame Im30d1.
  • the second feature group information G1d includes 21 second features corresponding to each joint.
  • FIG. 13 is a diagram showing one second feature.
  • a second feature Gc1-3 shown in FIG. 13 is a second feature corresponding to the joint "HEAD" among the second features included in the second feature group information G1d.
  • a likelihood is set for each pixel of the second features Gc1-3.
  • colors are set according to likelihood values. The location where the likelihood is maximum becomes the coordinates of the corresponding joint. For example, in the feature Gc1-3, the area Ac1-3 with the maximum likelihood value can be identified as the coordinates of the joint "HEAD".
  • the preprocessing unit 152 detects an abnormal second feature from the second features included in the second feature group information G1a, and removes the detected abnormal second feature from the second feature group information G1a.
  • the preprocessing unit 152 detects abnormal second features from the second features included in the second feature group information G1b, and removes the detected abnormal second features from the second feature group information G1b.
  • the preprocessing unit 152 detects an abnormal second feature from the second features included in the second feature group information G1c, and removes the detected abnormal second feature from the second feature group information G1c.
  • the preprocessing unit 152 detects abnormal second features from the second features included in the second feature group information G1d, and removes the detected abnormal second features from the second feature group information G1d.
  • the preprocessing unit 152 integrates the second feature group information G1a, G1b, G1c, and G1d excluding the abnormal second feature, and generates 3D skeleton information of the athlete H1 based on the integrated result.
  • the 3D skeleton information generated by the preprocessing unit 152 includes the positions (three-dimensional coordinates) of each joint described with reference to FIG. Note that the preprocessing unit 152 may generate the 3D skeleton information of the player H1 using the conventional technology described with reference to FIG. Also, in the description of FIG. 37, the joint numbered 3 is "HEAD", but it may be a plurality of face joints including the top of the head.
  • the preprocessing unit 152 outputs the 3D skeleton information to the estimation unit 154 each time it generates 3D skeleton information.
  • the preprocessing unit 152 also outputs the image frames used for generating the 3D skeleton information to the target information generating unit 153 .
  • the target information generation unit 153 generates target information by inputting an image frame to the facial joint estimation model 54b. Such target information corresponds to the target information 60b described with reference to FIG. Target information generation section 153 outputs the target information to estimation section 154 .
  • the target information generation unit 153 selects one of the image frames and inputs it to the facial joint estimation model 54b.
  • the target information generation unit 153 repeatedly executes the above process each time an image frame is acquired.
  • the estimation unit 154 estimates the position of the top of the head of the player H1 based on the source information 60a and the target information 60b (target information specific to the image frame).
  • RANSAC RANdom SAmple Consensus
  • Fig. 14 is a diagram for supplementary explanation of RANSAC. Steps S10 to S13 in FIG. 14 will be described in order.
  • Step S10 will be explained.
  • facial joints p3-1, p3-2, p3-3, and p3-4 are included in the target information obtained by inputting the image frame to the facial joint estimation model 54b or the like.
  • facial joint p3-1 is the right ear facial joint.
  • the facial joint p3-2 is the nasal facial joint.
  • the facial joint p3-3 is the facial joint of the neck.
  • Facial joints p3-4 are facial joints of the left ear.
  • the step S11 will be explained.
  • RANSAC randomly samples facial joints.
  • three face joints are sampled, and face joints p3-2, p3-3, and p3-4 are sampled.
  • Step S12 will be explained.
  • RANSAC performs alignment based on the rigid-body relationship between source information and target information, and calculates rotation, translation, and scale.
  • facial joints p4-1, p4-2, p4-3, and p4-4 are identified by applying the calculation results (rotation, translation, scale) to the source information and reprojecting.
  • the step S13 will be explained.
  • circles cir1, cir2, cir3 and cir4 centered on facial joints p4-1 to p4-4 are set.
  • the radii (threshold values) of the circles cir1 to cir4 are preset.
  • the facial joints included in circles cir1, cir2, cir3, and cir4 are defined as inliers, and the facial joints included in circles cir1, cir2, cir3, and cir4 are inlier.
  • the outlier is the facial joint that is not exposed.
  • facial joints p3-2, p3-3, and p3-4 are inliers, and facial joint p3-1 is outlier.
  • RANSAC counts the number of inliers (hereinafter referred to as the number of inliers).
  • the number of inliers is "3".
  • the processing of steps S11 to S13 is repeatedly executed while changing the sampling target described in step S11, and the combination of sampling target face joints with the maximum inlier number is specified. For example, in step S11, if the number of inliers when sampling facial joints p3-2, p3-3, and p3-4 is the maximum, facial joints p3-2, p3-3, and p3-4 are excluded. Output as the result after value removal.
  • FIG. 15 is a diagram for explaining the problem of RANSAC.
  • RANSAC it is difficult to determine which combination is better when the number of inliers is tied.
  • step S11 of case 1 face joints p3-1, p3-2 and p3-3 are sampled. Description of step S12 is omitted.
  • Step S13 of Case 1 will be explained. Circles cir1, cir2, cir3, and cir4 centered on facial joints p4-1 to p4-4 obtained by reprojecting the source information are set.
  • facial joints p3-1, p3-2, and p3-3 are inliers, and the number of inliers is "3".
  • step S11 of case 2 face joints p3-2, p3-3 and p3-4 are sampled. Description of step S12 is omitted.
  • Step S13 of case 2 will be explained. Circles cir1, cir2, cir3, and cir4 centered on facial joints p4-1 to p4-4 obtained by reprojecting the source information are set.
  • facial joints p3-2, p3-3, and p3-4 are inliers, and the number of inliers is "3".
  • case 2 Comparing case 1 and case 2, facial joints p3-2, p3-3, and p3-4 are close to the center positions of cir2, cir3, and cir4, and overall, case 2 has better results. It can be said that there is. However, RANSAC cannot automatically adopt the result of case 2 because the number of inliers of case 1 and the number of inliers of case 2 are the same.
  • the estimating unit 154 compares the position of the facial joint in the source information 60a with the position of the facial joint in the target information 60b, and calculates the transformation parameter ( Calculate rotation R, translation t, scale c).
  • the estimation unit 154 randomly samples three facial joints from the facial joints included in the target information 60b, and computes the transformation parameters for the sampled facial joints.
  • the three sampled face joints will be referred to as "three joints" as appropriate.
  • FIG. 16 is a diagram for explaining the processing of the estimating unit according to the first embodiment.
  • face joints p1-1, p1-2, p1-3, and p1-4 are set in the source information 60a.
  • facial joints p2-1, p2-2, p2-3, and p2-4 are set in the target information 60b.
  • p2-1, p2-2, and p2-3 are sampled among face joints p2-1, p2-2, p2-3, and p2-4.
  • the estimation unit 154 applies the transformation parameters to the facial joints p1-1, p1-2, p1-3, and p1-4 of the source information 60a to re-project to the target information 60b. Then, the face joints p1-1, p1-2, p1-3 and p1-4 of the source information 60a are reprojected to the positions pr1-1, pr1-2, pr1-3 and pr1-4 of the target information 60b, respectively. be.
  • the estimation unit 154 compares the facial joints p2-1, p2-2, p2-3 and p2-4 on the target information 60b with the positions pr1-1, pr1-2, pr1-3 and pr1-4. to count the number of inliers. For example, if the distance between the facial joint p2-1 and the position pr1-1, the distance between the facial joint p2-2 and the position pr1-2, and the distance between the facial joint p3-1 and the position pr3-1 are less than the threshold, If the distance between p4-1 and position pr4-1 is greater than or equal to the threshold, the number of inliers is "3".
  • the distance between the corresponding facial joint and the position (for example, the reprojected position pr1-1 of the right ear facial joint p1-1 in the source information 60a and the right ear joint position p2-1 in the target information 60b). ) is defined as the reprojection error ⁇ .
  • the estimation unit 154 calculates the outlier evaluation index E based on Equation (3).
  • ⁇ max corresponds to the maximum value among multiple reprojection errors ⁇ .
  • indicates the average value of the remaining reprojection errors ⁇ after excluding ⁇ max among a plurality of reprojection errors ⁇ .
  • the estimating unit 154 performs sampling on the facial joints of the target information 60b, calculates the conversion parameters, and repeatedly executes the processing of calculating the number of inliers and the outlier evaluation index E while changing the combination of the three joints. do.
  • the estimating unit 154 specifies, as the final transformation parameter, the transformation parameter when the number of inliers takes the maximum value among the combinations of the three joints.
  • the estimating unit 154 identifies the combination of the three joints with the smaller outlier evaluation index E, and calculates the transformation parameters obtained by the identified three joints. is specified as the final transformation parameter.
  • the final transformation parameter identified by the estimation unit 154 from among multiple transformation parameters based on the number of inliers and the outlier evaluation index E is simply referred to as a transformation parameter.
  • the estimating unit 154 applies the transformation parameters to Equation (2), and calculates the positions y (including the position tp2 of the top of the head).
  • the processing of the estimating unit 154 corresponds to the processing described using FIG.
  • the estimating unit 154 estimates the position of the face coordinates of the player H1 (the position of the facial joint, the position of the top of the head), 3D skeleton information is generated by replacing the positional information of the face coordinates.
  • the estimation unit 154 outputs the generated 3D skeleton information to the abnormality detection unit 155 .
  • the estimation unit 154 also outputs the 3D skeleton information before being replaced with the position information of the face coordinates to the abnormality detection unit 155 .
  • the estimation unit 154 repeatedly executes the above process.
  • the 3D skeleton information generated by replacing the head information in the 3D skeleton information estimated by the preprocessing unit 152 with information on the position of the face coordinates is referred to as “post-replacement skeleton information” as appropriate. do.
  • the 3D skeleton information before replacement is referred to as "pre-replacement skeleton information”.
  • the post-replacement skeleton information and the pre-replacement skeleton information are not distinguished from each other, they are simply referred to as 3D skeleton information.
  • the abnormality detection unit 155 detects an abnormality in the parietal region of the 3D skeleton information generated by the estimation unit 154 .
  • the types of abnormality detection include "bone length abnormality detection”, “reverse/side bending abnormality detection”, and “overbending abnormality detection”.
  • the joint numbers shown in FIG. 37 will be used. In the following description, the joint numbered n will be referred to as joint n.
  • FIG. 17 is a diagram for explaining the process of detecting bone length abnormality.
  • the abnormality detection unit 155 calculates a vector b head directed from the joint 18 to the joint 3 among the joints included in the pre-replacement skeleton information.
  • the anomaly detection unit 155 calculates the norm
  • C1 be the result of bone length abnormality detection for the pre-replacement skeletal information. For example, if the norm
  • the anomaly detection unit 155 similarly calculates the norm
  • C'1 be the result of bone length abnormality detection for the pre-replacement skeletal information. For example, if the norm
  • Th 1 low to Th 1 high can be defined using the 3 ⁇ method. Using the average ⁇ and standard deviation ⁇ calculated from the head length data of multiple persons, Th 1 low can be defined as in Equation (4). Th 1 high can be defined as in Equation (5).
  • the 3 ⁇ method is a method of determining abnormal when the target data are separated by three times or more of the standard deviation.
  • normality is 99.74%, which applies to almost all human head lengths, so abnormalities such as extremely long or short heads can be detected.
  • FIG. 18 is a diagram for explaining the process of detecting a reverse/sideways curve abnormality.
  • the abnormality detection unit 155 calculates a vector b head directed from the joint 18 to the joint 3 among the joints included in the pre-replacement skeleton information.
  • the abnormality detection unit 155 calculates a vector b neck from joint 2 to joint 18 among the joints included in the pre-replacement skeleton information.
  • the abnormality detection unit 155 calculates a vector b shoulder directed from joint 4 to joint 7 among the joints included in the pre-replacement skeleton information.
  • the anomaly detection unit 155 calculates a normal vector b neck ⁇ b head from b neck and b head . "x" indicates a cross product. The anomaly detection unit 155 calculates the formed angle ⁇ (b neck ⁇ b head , b shoulder ) from “b neck ⁇ b head ” and “b shoulder ”.
  • C2 be the result of the reverse/sideways anomaly detection for the pre-replacement skeleton information. For example, when the formed angle ⁇ (b neck ⁇ b head , b shoulder ) is less than or equal to Th 2 , the abnormality detection unit 155 sets C2 to 0 as being normal. The anomaly detection unit 155 sets C2 to 1 as an anomaly when the formed angle ⁇ (b neck ⁇ b head , b shoulder ) is greater than Th2 .
  • the anomaly detection unit 155 similarly calculates the formed angle ⁇ (b neck ⁇ b head , b shoulder ) for the post-replacement skeleton information.
  • C'2 be the result of reverse/sideways bending abnormality detection for the post-replacement skeleton information.
  • the abnormality detection unit 155 sets C′2 to 0 as being normal.
  • the anomaly detection unit 155 sets C′2 to 1 as an anomaly when the formed angle ⁇ ( bneck ⁇ bhead , bshoulder ) is greater than Th2 .
  • 19 to 22 are diagrams for supplementary explanation of each vector used in reverse/sideways curve abnormality detection.
  • the x coordinate system corresponds to the frontal direction of player H1.
  • the y coordinate system corresponds to the left direction of player H1.
  • the z coordinate system points in the same direction as the b neck .
  • the relationship between b neck , b head and b shoulder shown in FIG. 18 becomes the relationship between b neck , b head and b shoulder shown in FIG. 19 .
  • FIG. 20 shows an example of "normal".
  • Each coordinate system shown in FIG. 20 is the same as the coordinate system described in FIG.
  • the formed angle ⁇ (b neck ⁇ b head , b shoulder ) is 0 (deg).
  • FIG. 21 shows an example of "reverse bending".
  • Each coordinate system shown in FIG. 21 is the same as the coordinate system described in FIG.
  • the formed angle ⁇ (b neck ⁇ b head , b shoulder ) is 180 (deg).
  • FIG. 22 shows an example of "lateral bending".
  • Each coordinate system shown in FIG. 22 is the same as the coordinate system described in FIG.
  • the formed angle ⁇ (b neck ⁇ b head , b shoulder ) is 90 (deg).
  • the angle ⁇ (b neck ⁇ b head , b shoulder ) to be compared with the threshold Th 2 is 0 (deg) for a backward bend that should be regarded as normal, and 180 (deg) for a reverse bend that should be regarded as abnormal. , takes 90 (deg) in sideways bending. Therefore, if it is desired that both the reverse and the lateral curve are abnormal, Th 2 is set to 90 (deg).
  • FIG. 23 is a diagram for explaining the process of detecting an over-bending abnormality.
  • a vector b head directed from joint 18 to joint 3 among the joints included in the pre-replacement skeleton information is calculated.
  • the abnormality detection unit 155 calculates a vector b neck from joint 2 to joint 18 among the joints included in the pre-replacement skeleton information.
  • the anomaly detection unit 155 calculates an angle ⁇ (b neck , b head ) formed from b neck and b head .
  • C3 be the result of over-curving anomaly detection for the pre-replacement skeleton information. For example, when the formed angle ⁇ (b neck , b head ) is less than Th3 , the abnormality detection unit 155 sets C3 to 0 as being normal. The anomaly detection unit 155 sets 1 to C3 as an anomaly when the formed angle ⁇ (b neck , b head ) is greater than Th3 .
  • Th 3 is set to 60 (deg).
  • the anomaly detection unit 155 similarly calculates the angle ⁇ (b neck , b head ) formed by the post-replacement skeleton information.
  • C'3 be the result of over-curving anomaly detection for the post-replacement skeleton information. For example, when the formed angle ⁇ (b neck , b head ) is less than or equal to Th 3 , the abnormality detection unit 155 sets C′3 to 0 as normal. The anomaly detection unit 155 sets C'3 to 1 as an anomaly when the formed angle ⁇ (b neck , b head ) is greater than Th3 .
  • the abnormality detection unit 155 sets a value to C 1 (C′ 1 ) based on the condition of Equation (6) for bone length abnormality detection.
  • the abnormality detection unit 155 sets a value to C 2 (C′ 2 ) based on the condition of Expression (7) for reverse/sideways abnormality detection.
  • the abnormality detection unit 155 sets a value to C 3 (C′ 3 ) based on the condition of Expression (8) for excessive bending abnormality detection.
  • the abnormality detection unit 155 calculates determination results D 1 , D 2 , and D 3 after executing “bone length abnormality detection”, “reverse/lateral bending abnormality detection”, and “overbending abnormality detection”.
  • the abnormality detection unit 155 calculates the determination result D1 based on Equation (9).
  • the abnormality detection unit 155 calculates the determination result D2 based on Equation (10).
  • a determination result D3 is calculated based on the equation (11).
  • the anomaly detection unit 155 detects an anomaly of the top of the head with respect to the 3D skeleton information when one of the determination results D 1 to D 3 is set to “1”.
  • the abnormality detection unit 155 outputs the 3D skeleton information to the correction unit 156 when the abnormality of the top of the head is detected.
  • the abnormality detection unit 155 determines that there is no abnormality in the parietal region with respect to the 3D skeleton information. judge. If the abnormality detection unit 155 detects no abnormality in the parietal region, the abnormality detection unit 155 associates the frame number with the 3D skeleton information (post-replacement skeleton information) and registers them in the skeleton recognition result table 142 .
  • the anomaly detection unit 155 repeats the above process each time it acquires 3D skeleton information from the estimation unit 154 .
  • the correction unit 156 corrects the acquired 3D skeleton information when the abnormality detection unit 155 acquires the 3D skeleton information in which the abnormality of the parietal region is detected.
  • description will be made using post-replacement skeleton information as 3D skeleton information.
  • the corrections performed by the correcting unit 156 include “bone length correction”, “reverse/lateral bending correction”, and “overbending correction”.
  • FIG. 24 is a diagram for explaining bone length correction. As shown in FIG. 24, the correction unit 156 performs processing in order of step S20, step S21, and step S22.
  • Step S20 will be described.
  • the correction unit 156 calculates a vector b head directed from the joint 18 to the joint 3 among the joints included in the post-replacement skeleton information.
  • Step S22 will be described.
  • the correction unit 156 uses the joint 18 as a reference, the correction unit 156 outputs the joint extended in the direction of the unit vector n head by the average ⁇ of the bone lengths calculated in the past image frames as the corrected parietal region (after replacement update the position of the top of the head in the skeletal information). Since ⁇ is in the normal range, the bone length becomes normal.
  • FIG. 25A and 25B are diagrams for explaining the inverse/lateral curving correction.
  • the correction unit 156 performs processing in order of step S30, step S31, and step S32.
  • Step S30 will be described.
  • the correction unit 156 calculates a vector b neck from the joint 2 to the joint 18 among the joints included in the post-replacement skeleton information.
  • Step S31 will be described.
  • Step S32 will be described.
  • the correction unit 156 extends the standard bone length ⁇ in the direction of the unit vector n neck and outputs the result of correction so as to fall within the threshold value as the parietal region (the parietal region of the post-replacement skeletal information). position update). Since the head extends in the same direction as the neck, the reverse and sideways anomalies are corrected.
  • FIG. 26 is a diagram for explaining excessive bending correction. As shown in FIG. 26, the correction unit 156 performs processing in order of step S40, step S41, and step S42.
  • Step S40 will be described.
  • the correction unit 156 calculates a vector b head directed from the joint 18 to the joint 3 among the joints included in the post-replacement skeleton information.
  • the correction unit 156 calculates a vector b neck from the joint 2 to the joint 18 among the joints included in the post-replacement skeleton information.
  • the correction unit 156 calculates a vector b shoulder directed from joint 4 to joint 7 among the joints included in the post-replacement skeleton information.
  • Step S41 will be explained.
  • the correction unit 156 calculates the normal vector b neck ⁇ b head from the vector b neck and the vector b head .
  • Step S42 will be explained.
  • the normal vector b neck ⁇ b head is a vector extending from the front to the back.
  • the correction unit 156 rotates the vector b head about the normal vector b neck ⁇ b head by the residual "Th 3 -angle ⁇ (b neck , b head )" (deg) from the threshold Th 3 .
  • the result corrected so that it falls within the threshold is output as the parietal region (the position of the parietal region in post-replacement skeleton information is updated). Since the angle is within the threshold, the over-bending anomaly is corrected.
  • the correction unit 156 executes "bone length correction”, “reverse/side bending correction”, and “over bending correction” to correct the 3D skeleton information.
  • the correction unit 156 associates the frame number with the corrected 3D skeleton information and registers them in the skeleton recognition result table 142 .
  • the technique recognition unit 157 acquires the 3D skeleton information from the skeleton recognition result table 142 in order of frame number, and identifies the time series change of each joint coordinate based on the continuous 3D skeleton information.
  • the technique recognition unit 157 identifies the type of technique by comparing the chronological change in each joint position with the technique recognition table 145 . Also, the technique recognition unit 157 compares the combination of technique types with the technique recognition table 143 to calculate the performance score of the competitor H1.
  • the performance score of the player H1 calculated by the technique recognition unit 157 also includes the performance score for evaluating the time-series transformation of the top of the head, such as jumping on the balance beam and part of the floor exercise performance. .
  • the technique recognition unit 157 generates screen information based on the score of the performance and the 3D skeleton information from the start to the end of the performance.
  • the technique recognition unit 157 outputs the generated screen information to the display unit 130 for display.
  • FIG. 27 is a flow chart showing the processing procedure of the learning device according to the first embodiment.
  • the acquisition unit 55a of the learning device 50 acquires learning data 54a and registers it in the storage unit 54 (step S101).
  • the learning unit 55b of the learning device 50 executes machine learning corresponding to the facial joint estimation model 54b based on the learning data 54a (step S102).
  • the output unit 55c of the learning device 50 transmits the facial joint estimation model to the information processing device 100 (step S103).
  • FIG. 28 is a flowchart illustrating the processing procedure of the information processing apparatus according to the first embodiment.
  • the acquisition unit 151 of the information processing device 100 acquires the facial joint estimation model 54b from the learning device 50 and registers it in the storage unit 140 (step S201).
  • the acquisition unit 151 receives time-series image frames from the camera and registers them in the measurement table 141 (step S202).
  • the preprocessing unit 152 of the information processing device 100 estimates and generates 3D skeleton information based on the multi-viewpoint image frames in the measurement table 141 (step S203).
  • the target information generation unit 153 of the information processing apparatus 100 inputs the image frame to the facial joint estimation model 54b and generates target information (step S204).
  • the estimation unit 154 of the information processing device 100 executes transformation parameter estimation processing (step S205).
  • the estimation unit 154 applies the transformation parameters to the source information 60a to estimate the top of the head (step S206).
  • the estimation unit 154 replaces the information of the parietal region of the 3D skeleton information with the information of the estimated parietal region (step S207).
  • the anomaly detection unit 155 of the information processing device 100 determines whether or not an anomaly of the parietal region is detected (step S208). If the abnormality detection unit 155 does not detect an abnormality in the parietal region (step S208, No), the abnormality detection unit 155 registers the post-replacement skeleton information in the skeleton recognition result table 142 (step S209), and proceeds to step S212.
  • step S208 when the abnormality detection unit 155 detects an abnormality in the parietal area (step S208, Yes), the process proceeds to step S210.
  • the correction unit 156 of the information processing apparatus 100 corrects the post-replacement skeleton information (step S210).
  • the correction unit 156 registers the corrected post-replacement skeleton information in the skeleton recognition result table 142 (step S211), and proceeds to step S212.
  • the technique recognition unit 157 of the information processing device 100 reads the time-series 3D skeleton information from the skeleton recognition result table 142, and executes technique recognition based on the technique recognition table 143 (step S212).
  • 29 and 30 are flowcharts showing the processing procedure of transformation parameter estimation processing.
  • the estimation unit 154 of the information processing device 100 sets initial values for the maximum inlier number and the reference evaluation index (step S301). For example, the estimation unit 154 sets the maximum inlier number to “0” and the reference evaluation index to “ ⁇ (large value)”.
  • the estimation unit 154 acquires target information and source information (step S302).
  • the estimation unit 154 samples three joints from the target information (step S303).
  • the estimating unit 154 calculates the transformation parameters (R, t, c) that minimize the difference e2 between the target information and the source information based on the equation (1) (step S304).
  • the estimating unit 154 applies the transformation parameters to the source information and reprojects to match the target information (step S305).
  • the estimation unit 154 calculates a reprojection error ⁇ between the projection result of the source information and the three joints of the target information (step S306).
  • the estimation unit 154 sets the number of facial joints for which the reprojection error ⁇ is equal to or less than the threshold to the inlier number (step S307).
  • the estimation unit 154 calculates an outlier evaluation index (step S308).
  • the estimation unit 154 proceeds to step S309 in FIG. 30 .
  • step S309 If the number of inliers is greater than the maximum number of inliers (step S309, Yes), the estimation unit 154 proceeds to step S312. On the other hand, if the number of inliers is not greater than the maximum number of inliers (step S309, No), the estimation unit 154 proceeds to step S310.
  • step S310 When the number of inliers and the maximum number of inliers are the same (step S310, Yes), the estimation unit 154 proceeds to step S311. On the other hand, when the number of inliers and the maximum number of inliers are not the same (step S310, No), the estimation unit 154 proceeds to step S314.
  • step S311, No When the outlier evaluation index E is not smaller than the reference evaluation index (step S311, No), the estimation unit 154 proceeds to step S314. On the other hand, when the outlier evaluation index E is smaller than the reference evaluation index (step S311, Yes), the estimation unit 154 proceeds to step S312.
  • the estimation unit 154 updates the maximum number of inliers to the number of inliers calculated this time, and updates the reference evaluation index with the value of the outlier evaluation index (step S312).
  • the estimation unit 154 updates the transformation parameter corresponding to the maximum number of inliers (step S313).
  • step S314, No If the number of sampling times has not reached the upper limit (step S314, No), the estimation unit 154 proceeds to step S303 in FIG. On the other hand, when the number of times of sampling reaches the upper limit (step S314, Yes), the estimation unit 154 outputs a transformation parameter corresponding to the maximum number of inliers (step S315).
  • the information processing apparatus 100 calculates transformation parameters for aligning the positions of the facial joints of the source information 60a with the positions of the facial joints of the target information 60b.
  • the information processing apparatus 100 calculates the position of the top of the head of the player by applying the calculated conversion parameter to the top of the head of the source information 60a. Since the relationship between the face joint and the parietal region is a rigid body relationship, the position of the parietal region of the player can be estimated using this relationship, thereby improving the estimation accuracy.
  • the accuracy of estimating the top of the head is improved compared to the conventional technology. Since the information processing apparatus 100 improves the estimation accuracy of the parietal region, it is possible to appropriately evaluate the success or failure of the performance even when evaluating the performance of the contestant using the parietal region. Competitor performances using the crown of the head include hops on the balance beam and some floor exercises.
  • the information processing apparatus 100 identifies conversion parameters based on the number of inliers and the outlier error index E. Therefore, even when there are a plurality of transformation parameters with the same number of inliers, the outlier error index E can be used to select the optimum transformation parameter.
  • FIG. 31 is a diagram for explaining the results of comparison of parietal region estimation errors.
  • a graph G1 in FIG. 31 shows an error when the parietal region is estimated without executing RANSAC.
  • Graph G2 shows the error when performing RANSAC and estimating the top of the head.
  • a graph G3 indicates an error when the estimation unit 154 according to the first embodiment estimates the top of the head.
  • the horizontal axes of the graphs G1 and G2 correspond to the maximum value of the error between the face joint of the target information and the GT (correct position of the face joint).
  • the vertical axes of the graphs G1 and G2 indicate the error between the estimation result of the parietal region and the GT (correct position of the parietal region).
  • the average error between the estimation result of the parietal region and the GT is "30 mm”.
  • the average error between the estimated result of the parietal region and the GT is "22 mm”.
  • the average error between the estimation result of the top of the head and the GT is "15 mm”. That is, the information processing apparatus 100 according to the first embodiment can estimate the position of the top of the head with high accuracy compared to conventional techniques such as RANSAC. For example, the area ar1 of the graph G2 indicates that outlier removal has failed.
  • the information processing apparatus 100 executes processing for correcting the position of the top of the head when detecting an abnormality in the top of the head in the 3D skeleton information. This makes it possible to further improve the estimation accuracy of the 3D skeleton information.
  • the correction unit 156 corrects the post-replacement skeleton information, but the correction unit 156 may correct the pre-replacement skeleton information and output the corrected pre-replacement skeleton information. Further, the correcting unit 156 may output the pre-replacement skeleton information as it is as the post-correction skeleton information without actually performing the correction.
  • a system related to the second embodiment is similar to the system of the first embodiment.
  • an information processing apparatus according to the second embodiment will be described.
  • the information processing apparatus according to the second embodiment has a plurality of parietal area candidates.
  • FIG. 32 is a diagram showing an example of source information according to the second embodiment.
  • this source information 60c includes a plurality of parietal joint candidates tp1-1, tp1-2, tp1-3, tp1-4, tp1-5, and tp1-6 in a 3D human body model M2. have.
  • the source information 60c sets the positions of a plurality of facial joints in the same manner as the source information 60a shown in the first embodiment.
  • the information processing device calculates conversion parameters in the same manner as in the first embodiment.
  • the information processing device applies the calculated transformation parameter to the source information 60c, compares the values in the z-axis direction of the plurality of parietal joint candidates tp1-1 to tp1-6, and determines the value in the z-axis direction that is the smallest.
  • a parietal joint candidate is identified as the parietal region.
  • FIG. 33 is a diagram for explaining the process of identifying the top of the head.
  • the example shown in FIG. 33 shows the result of applying the transformation parameters to the source information 60c.
  • the information processing apparatus selects the parietal joint candidate tp1-2 because the parietal joint candidate tp1-2 has the smallest value among the values in the z-axis direction of the plurality of parietal joint candidates tp1-1 to tp1-6. Select as the top of the head.
  • the information processing apparatus applies the transformation parameter to the source information 60c, compares the values of the plurality of parietal joint candidates tp1-1 to tp1-6 in the z-axis direction, and The position of the parietal joint candidate with the smallest value in the z-axis direction is specified as the parietal position.
  • FIG. 34 is a functional block diagram showing the configuration of the information processing apparatus according to the second embodiment.
  • this information processing apparatus 200 has a communication section 110, an input section 120, a display section 130, a storage section 240, and a control section 250.
  • FIG. 34 is a functional block diagram showing the configuration of the information processing apparatus according to the second embodiment.
  • this information processing apparatus 200 has a communication section 110, an input section 120, a display section 130, a storage section 240, and a control section 250.
  • FIG. 34 is a functional block diagram showing the configuration of the information processing apparatus according to the second embodiment.
  • this information processing apparatus 200 has a communication section 110, an input section 120, a display section 130, a storage section 240, and a control section 250.
  • FIG. 34 is a functional block diagram showing the configuration of the information processing apparatus according to the second embodiment.
  • this information processing apparatus 200 has a communication section 110, an input section 120, a display section 130, a storage section 240, and a control section 250.
  • the description regarding the communication unit 110, the input unit 120, and the display unit 130 is the same as the description regarding the communication unit 110, the input unit 120, and the display unit 130 described with reference to FIG.
  • the storage unit 240 has a facial joint estimation model 54b, source information 60c, a measurement table 141, a skeleton recognition result table 142, and a technique recognition table 143.
  • the storage unit 240 corresponds to semiconductor memory elements such as RAM and flash memory, and storage devices such as HDD.
  • the descriptions of the facial joint estimation model 54b, the measurement table 141, the skeleton recognition result table 142, and the technique recognition table 143 refer to the facial joint estimation model 54b, the measurement table 141, the skeleton recognition result table 142, and the technique recognition table 143 described with reference to FIG. Same as description.
  • the source information 60c is information in which the positions of a plurality of face joints and the positions of a plurality of parietal joint candidates are set, as described with reference to FIG.
  • the control unit 250 has an acquisition unit 151, a preprocessing unit 152, a target information generation unit 153, an estimation unit 254, an anomaly detection unit 155, a correction unit 156, and a technique recognition unit 157.
  • the control unit 250 corresponds to the CPU and the like.
  • the acquisition unit 151, the preprocessing unit 152, the target information generation unit 153, the anomaly detection unit 155, the correction unit 156, and the technique recognition unit 157 are described with reference to FIG. 153, the abnormality detection unit 155, the correction unit 156, and the technique recognition unit 157.
  • the estimation unit 254 estimates the position of the top of the head of the player H1 based on the source information 60c and the target information 60b (target information unique to the image frame).
  • the estimating unit 254 compares the positions of the facial joints in the source information 60c and the positions of the facial joints (three joints) in the target information 60b, and performs conversion such that the difference e2 in the above equation (1) is minimized. Calculate the parameters (rotation R, translation t, scale c). The processing by which the estimating unit 254 calculates the transformation parameters is the same as that of the estimating unit 154 of the first embodiment.
  • the estimation unit 254 applies transformation parameters to the source information 60c as described with reference to FIG.
  • the estimating unit 254 compares the values in the z-axis direction of the plurality of parietal joint candidates tp1-1 to tp1-6, and determines the position of the parietal joint candidate with the smallest value in the z-axis direction as the position of the parietal part. Identify as
  • the estimating unit 254 estimates the position of the face coordinates of the player H1 (the position of the facial joint, the position of the top of the head), 3D skeleton information is generated by replacing the positional information of the face coordinates.
  • the estimation unit 254 outputs the generated 3D skeleton information to the abnormality detection unit 255 .
  • the estimation unit 254 also outputs the 3D skeleton information before being replaced with the positional information of the face coordinates to the abnormality detection unit 155 .
  • FIG. 35 is a flow chart showing the processing procedure of the information processing apparatus according to the second embodiment.
  • the acquisition unit 151 of the information processing device 200 acquires the facial joint estimation model 54b from the learning device 50 and registers it in the storage unit 240 (step S401).
  • the acquisition unit 151 receives time-series image frames from the camera and registers them in the measurement table 141 (step S402).
  • the preprocessing unit 152 of the information processing device 200 estimates and generates 3D skeleton information based on the multi-viewpoint image frames in the measurement table 141 (step S403).
  • the target information generation unit 153 of the information processing device 200 inputs the image frame to the facial joint estimation model 54b and generates target information (step S404).
  • the estimation unit 254 of the information processing device 200 executes transformation parameter estimation processing (step S405).
  • the estimation unit 154 applies the transformation parameters to the source information 60a and estimates the parietal region from the multiple parietal region joint candidates (step S406).
  • the estimation unit 254 replaces the information of the parietal region of the 3D skeleton information with the information of the estimated parietal region (step S407).
  • the anomaly detection unit 155 of the information processing device 200 determines whether or not an anomaly of the parietal region has been detected (step S408). If the abnormality detection unit 155 does not detect an abnormality in the parietal region (step S408, No), it registers the post-replacement skeleton information in the skeleton recognition result table 142 (step S409), and proceeds to step S412.
  • step S410 when the abnormality detection unit 155 detects an abnormality in the parietal area (step S408, Yes), the process proceeds to step S410.
  • the correction unit 156 of the information processing device 200 corrects the post-replacement skeleton information (step S410).
  • the correction unit 156 registers the corrected post-replacement skeleton information in the skeleton recognition result table 142 (step S411), and proceeds to step S412.
  • the technique recognition unit 157 of the information processing device 200 reads the time-series 3D skeleton information from the skeleton recognition result table 142, and executes technique recognition based on the technique recognition table 143 (step S412).
  • the transformation parameter estimation process shown in step S405 of FIG. 35 corresponds to the transformation parameter estimation process shown in FIGS. 29 and 30 of the first embodiment.
  • the information processing apparatus 200 applies the conversion parameter to the source information 60c, compares the values in the z-axis direction of the plurality of parietal joint candidates, and selects the parietal joint candidate with the smallest value in the z-axis direction. Identify as top. As a result, it is possible to more appropriately select the position of the top of the head when evaluating performances in which the top of the head is directed downward, such as loop jumping.
  • FIG. 36 is a diagram illustrating an example of a hardware configuration of a computer that implements functions similar to those of the information processing apparatus.
  • the computer 300 has a CPU 301 that executes various arithmetic processes, an input device 302 that receives data input from the user, and a display 303 .
  • the computer 300 also has a communication device 304 that receives distance image data from the camera 30, and an interface device 305 that connects to various devices.
  • the computer 300 has a RAM 306 that temporarily stores various information and a hard disk device 307 . Each device 301 - 307 is then connected to a bus 308 .
  • the hard disk device 307 has an acquisition program 307a, a preprocessing program 307b, a target information generation program 307c, an estimation program 307d, an anomaly detection program 307e, a correction program 307f, and a technique recognition program 307g.
  • the CPU 301 reads the acquisition program 307a, the preprocessing program 307b, the target information generation program 307c, the estimation program 307d, the abnormality detection program 307e, the correction program 307f, and the technique recognition program 307g, and loads them into the RAM306.
  • the acquisition program 307a functions as an acquisition process 306a.
  • the preprocessing program 307b functions as a preprocessing process 306b.
  • the target information generation program 307c functions as a target information generation process 306c.
  • the estimation program 307d functions as an estimation process 306d.
  • the anomaly detection program 307e functions as an anomaly detection process 306e.
  • Correction program 307f functions as correction process 306f.
  • the trick recognition program 307g functions as a trick recognition process 306g.
  • the processing of the acquisition process 306a corresponds to the processing of the acquisition unit 151.
  • the processing of the preprocessing process 306 b corresponds to the processing of the preprocessing unit 152 .
  • Processing of the target information generation process 306 c corresponds to processing of the target information generation unit 153 .
  • the processing of the estimation process 306 d corresponds to the processing of the estimation units 154 and 254 .
  • the processing of the anomaly detection process 306 e corresponds to the processing of the anomaly detection unit 155 .
  • Processing of the correction process 306 f corresponds to processing of the correction unit 156 .
  • the processing of the technique recognition process 306 g corresponds to the processing of the technique recognition unit 157 .
  • each program does not necessarily have to be stored in the hard disk device 307 from the beginning.
  • each program is stored in a “portable physical medium” such as a flexible disk (FD), CD-ROM, DVD disk, magneto-optical disk, IC card, etc. inserted into the computer 300 .
  • the computer 300 may read and execute each of the programs 307a-307e.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

情報処理装置は、競技者の頭部が所定の状態の画像を機械学習モデルに入力することで、競技者の顔に含まれる複数の関節の位置を特定する。情報処理装置は、複数の関節の位置のそれぞれを用いて、競技者の頭頂部の位置を推定する。

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カメラを用いることができる。
 ここで、複数カメラによる2D特徴を用いた3D骨格認識の従来技術について説明する。従来技術では、事前に定義された人体モデルに従って、各カメラで2D特徴を取得した後、各2D特徴を統合した結果を用いて、3D骨格を認識する。たとえば、2D特徴は、2D骨格情報、heatmap情報が上げられる。
 図37は、人体モデルの一例を示す図である。図37に示すように、人体モデルM1は、21個の関節で構成される。人体モデルM1では、各関節をノードで示し、0~20の番号を割り当てる。ノードの番号と、関節名との関係は、テーブルTe1に示す関係となる。たとえば、ノード0に対応する関節名は「SPINE_BASE」となる。ノード1~20に対する関節名の説明を省略する。
 従来技術には、機械学習を用いて3D骨格認識を行う技術がある。図38は、機械学習を用いた手法を説明するための図である。機械学習を用いた従来技術では、各カメラが撮影した各入力画像21に対して、2D backbone処理21aをかけることで、各関節特徴を表す2D特徴(2D features)22を取得する。従来技術では、各2D特徴22をカメラパラメータに従って3Dcubeに逆投影することで、aggregated volumes23を取得する。
 従来技術では、aggregated volumes23を、V2V(ニューラルネットワーク、P3)24に入力することで、各関節の尤度を表すprocessed volumes25を取得する。processed volumes25は、各関節の3Dでの尤度を表すheatmapに対応する。従来技術では、processed volumes25に対して、soft-argmax26を実行することで、3D骨格情報27を取得する。
特開2018-57596号公報 特開2021-26265号公報
 しかしながら、上述した従来技術では、競技者の頭頂部の位置を正確に特定することができないという問題がある。
 競技者の演技の演技が成立したか否かを評価するときに、頭頂部の位置を正確に特定することが重要であることもある。たとえば、体操演技の輪飛びの評価では、競技者の頭頂部の位置が、足の位置よりも低いことが、輪飛びの成立条件となる。
 このとき、画像の状態によっては、3D骨格認識の結果となる頭部の輪郭と、実際の頭部の輪郭とが異なってしまい、頭頂部の位置を正確に特定できなくなる。
 図39は、頭頂部の位置を精度よく特定できない画像の一例を示す図である。図39では、「アピアランス」の発生した画像10a、「髪乱れ」の発生した画像10b、「オクルージョン」の発生した画像10cを用いて説明を行う。競技者の頭が背景に溶け込み、人間でも頭の領域を判別することが困難なことを、アピアランスと定義する。競技者の髪が乱れていることを、髪乱れと定義する。競技者の胴体や腕によって、頭頂部が隠れることをオクルージョンと定義する。
 従来技術に基づいて画像10aの3D骨格認識を行い頭頂部の位置を特定すると、アピアランスの影響により、位置1aが特定されてしまう。画像10aにおいて、頭頂部の正確な位置は1bとなる。
 従来技術に基づいて、画像10bの3D骨格認識を行い頭頂部の位置を特定すると、髪乱れの影響により、位置1cが特定されてしまう。画像10bにおいて、頭頂部の正確な位置は1dとなる。
 従来技術に基づいて、画像10cの3D骨格認識を行い頭頂部の位置を特定すると、オクルージョンの影響により、位置1eが特定されてしまう。画像10cにおいて、頭頂部の正確な位置は1fとなる。
 図39で説明したように、従来技術では、アピアランス、髪乱れ、オクルージョン等が画像に発生していると、競技者の頭頂部の位置を正確に特定することができず、競技者の演技の適切に評価できなくなる。このため、人物の頭頂部の位置を正確に推定することが求められている。
 1つの側面では、本発明は、競技者の頭頂部の位置を正確に推定することができる推定プログラム、推定方法および情報処理装置を提供することを目的とする。
 第1の案では、コンピュータに次の処理を実行させる。コンピュータは、競技者の頭部が所定の状態の画像を機械学習モデルに入力することで、競技者の顔に含まれる複数の関節の位置を特定する。コンピュータは、複数の関節の位置のそれぞれを用いて、競技者の頭頂部の位置を推定する。
 人物の頭頂部の位置を正確に推定することができる。
図1は、本実施例1に係る体操採点支援システムの一例を示す図である。 図2は、ソース情報の一例を説明するための図である。 図3は、ターゲット情報の一例を説明するための図である。 図4は、変換パラメータを算出する手法を補足説明するための図である。 図5は、競技者の頭頂部を推定する手法を補足説明するための図である。 図6は、本実施例1に係る情報処理装置の効果を説明するための図である。 図7は、本実施例1に係る学習装置の構成を示す機能ブロック図である。 図8は、学習データのデータ構造の一例を示す図である。 図9は、本実施例1に係る情報処理装置の構成を示す機能ブロック図である。 図10は、測定テーブルのデータ構造の一例を示す図である。 図11は、骨格認識結果テーブルのデータ構造の一例を示す図である。 図12は、第2特徴を説明するための図である。 図13は、一つの第2特徴を示す図である。 図14は、RANSACを補足説明するための図である。 図15は、RANSACの問題を説明するための図である。 図16は、本実施例1に係る推定部の処理を説明するための図である。 図17は、骨長さ異常を検知する処理を説明するための図である。 図18は、逆・横曲がり異常を検知する処理を説明するための図である。 図19は、逆・横曲がり異常検知で用いる各ベクトルを補足説明するための図(1)である。 図20は、逆・横曲がり異常検知で用いる各ベクトルを補足説明するための図(2)である。 図21は、逆・横曲がり異常検知で用いる各ベクトルを補足説明するための図(3)である。 図22は、逆・横曲がり異常検知で用いる各ベクトルを補足説明するための図(4)である。 図23は、曲がりすぎ異常を検知する処理を説明するための図である。 図24は、骨長さ補正を説明するための図である。 図25は、逆・横曲がり補正を説明するための図である。 図26は、曲がりすぎ補正を説明するための図である。 図27は、本実施例1に係る学習装置の処理手順を示すフローチャートである。 図28は、本実施例1に係る情報処理装置の処理手順を示すフローチャートである。 図29は、変換パラメータ推定処理の処理手順を示すフローチャート(1)である。 図30は、変換パラメータ推定処理の処理手順を示すフローチャート(2)である。 図31は、頭頂部推定の誤差の比較結果を説明するための図である。 図32は、本実施例2に係るソース情報の一例を示す図である。 図33は、頭頂部を特定する処理を説明するための図である。 図34は、本実施例2に係る情報処理装置の構成を示す機能ブロック図である。 図35は、本実施例2に係る情報処理装置の処理手順を示すフローチャートである。 図36は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 図37は、人体モデルの一例を示す図である。 図38は、機械学習を用いた手法を説明するための図である。 図39は、頭頂部の位置を精度よく特定できない画像の一例を示す図である。
 以下に、本願の開示する推定プログラム、推定方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
 図1は、本実施例1に係る体操採点支援システムの一例を示す図である。図1に示すように、この体操採点支援システム35は、カメラ30a,30b,30c,30dと、学習装置50と、情報処理装置100とを有する。カメラ30a~30dと、情報処理装置100とは、有線または無線によってそれぞれ接続されている。学習装置50と、情報処理装置100とは、有線または無線によってそれぞれ接続されている。
 図1では、カメラ30a~30dを示すが、この体操採点支援システム35は、他のカメラを更に有していてもよい。
 本実施例1では一例として、競技者H1が、器具上で一連の演技を行うものとするがこれに限定されるものではない。たとえば、競技者H1は、器具の存在しない場所で演技を行ってもよいし、演技以外の動作を行ってもよい。
 カメラ30aは、競技者H1の画像を撮影するカメラである。カメラ30aは、CMOSイメージャ、RGBカメラ等に対応する。カメラ30aは、所定のフレームレート(frames per second:FPS)によって、画像を連続して撮影し、時系列に画像のデータを情報処理装置100に送信する。以下の説明では、連続する複数の画像のデータのうち、ある一つの画像のデータを「画像フレーム」と表記する。画像フレームには、時系列にフレーム番号が付与される。
 カメラ30b,30c,30dに関する説明は、カメラ30aに関する説明と同様である。以下の説明では、適宜、カメラ30a~30dをまとめて「カメラ30」と表記する。
 学習装置50は、事前に準備された学習データを基にして、画像フレームから、顔関節の位置を推定する機械学習モデルを機械学習する。顔関節には、左右の目、左右の耳、鼻、顎、口元等が含まれる。以下の説明では、画像フレームから、顔関節の位置を推定する機械学習モデルを「顔関節推定モデル」と表記する。学習装置60は、機械学習済みの顔関節推定モデルの情報を、情報処理装置100に出力する。
 情報処理装置100は、予め準備したソース(source)情報と、顔関節推定モデルを用いた顔関節の認識結果となるターゲット(target)情報とを基にして、競技者H1の頭頂部の位置を推定する。以下において、ソース情報と、ターゲット情報とについて説明する。
 図2は、ソース情報の一例を説明するための図である。図2に示すように、ソース情報60aには、3Dの人体モデルM2に、複数の顔関節p1の位置、頭頂部関節tp1の位置がそれぞれ設定される。ソース情報60aは、予め情報処理装置100に設定される。
 図3は、ターゲット情報の一例を説明するための図である。ターゲット情報は、カメラから取得する画像フレームを、顔関節推定モデルに入力することで生成される。図3に示すように、ターゲット情報60bには、複数の顔関節p2がそれぞれ特定されている。
 情報処理装置100は、ソース情報60aの顔関節の各位置を、ターゲット情報60bの顔関節の各位置に合わせるための変換パラメータを算出する。情報処理装置100は、算出した変換パラメータを、ソース情報60aの頭頂部の位置に適用することで、競技者H1の頭頂部の位置を推定する。
 図4は、変換パラメータを算出する手法を補足説明するための図である。変換パラメータには回転R、並進t、スケールcが含まれる。回転R、並進tはベクトル値である。スケールcはスカラー値である。ステップS1~S5の順に説明を行う。
 ステップS1について説明する。ソース情報60aに含まれる複数の顔関節p1の位置をx(xはベクトル値)とする。
 ステップS2について説明する。顔関節の位置xに回転Rをかけることで、顔関節p1の位置は「Rx」となる。
 ステップS3について説明する。顔関節p1の更新された位置「Rx」に、スケールcをかけることで、顔関節p1の位置は「cRx」となる。
 ステップS4について説明する。顔関節p1の更新された位置「cRx」に並進tを加算することで、顔関節p1の位置は「cRx+t」となる。
 ステップS5について説明する。ターゲット情報60bの顔関節p2の位置をyとすると、|y-(cRx+t)|を計算することで、変換パラメータを適用したソース情報60aと、ターゲット情報60bとの差を特定することができる。
 具体的には、変換パラメータを適用したソース情報60aと、ターゲット情報60bとの差eは、式(1)によって定義される。式(1)において、xは、ソース情報60aの顔関節の位置を示す。yは、ターゲット情報60bの顔関節の位置を示す。
Figure JPOXMLDOC01-appb-M000001
 情報処理装置100は、最小二乗法等を用いて、式(1)の差eが最小となる変換パラメータR、t、cを算出する。
 情報処理装置100は、変換パラメータを算出すると、変換パラメータを、ソース情報60aの頭頂部の位置に適用することで、競技者H1の頭頂部の位置を推定する。
 図5は、競技者の頭頂部を推定する手法を補足説明するための図である。情報処理装置100は、式(2)を基にして、ソース情報60aの顔座標の位置x(頭頂部の位置tp1を含む)から、競技者の顔関節の位置y(頭頂部の位置tp2を含む)を算出する。式(2)の変換パラメータは、上記処理によって算出された差eが最小となる変換パラメータである。情報処理装置100は、算出した位置yに含まれる頭頂部の位置tp2を取得する。
Figure JPOXMLDOC01-appb-M000002
 上記のように、情報処理装置100は、ソース情報60aの顔関節の位置を、ターゲット情報60bの顔関節の位置に合わせるための変換パラメータを算出する。情報処理装置100は、算出した変換パラメータをソース情報60aの頭頂部に適用することで、競技者の頭頂部の位置を算出する。顔関節と、頭頂部との関係は剛体関係にあるため、かかる関係を利用して、競技者の頭頂部の位置を推定することで、推定精度を向上させることができる。
 図6は、本実施例1に係る情報処理装置の効果を説明するための図である。図6では、「アピアランス」の発生した画像10a、「髪乱れ」の発生した画像10b、「オクルージョン」の発生した画像10cを用いて説明を行う。
 従来技術に基づいて画像10aの3D骨格認識を行い頭頂部の位置を特定すると、アピアランスの影響により、頭頂部の位置1aが特定されてしまう。これに対して、情報処理装置100が、上記の処理を実行することで、頭頂部の位置2aが特定される。画像10aにおいて、頭頂部の正確な位置は1bとなるため、従来技術と比較して、頭頂部の推定精度が向上している。
 従来技術に基づいて画像10bの3D骨格認識を行い頭頂部の位置を特定すると、髪乱れの影響により、頭頂部の位置1cが特定されてしまう。これに対して、情報処理装置100が、上記の処理を実行することで、頭頂部の位置2bが特定される。画像10bにおいて、頭頂部の正確な位置は1dとなるため、従来技術と比較して、頭頂部の推定精度が向上している。
 従来技術に基づいて、画像10cの3D骨格認識を行い頭頂部の位置を特定すると、オクルージョンの影響により、位置1eが特定されてしまう。これに対して、情報処理装置100が、上記の処理を実行することで、頭頂部の位置2cが特定される。画像10cにおいて、頭頂部の正確な位置は1fとなるため、従来技術と比較して、頭頂部の推定精度が向上している。
 上記のように、情報処理装置100は、観測不良の影響の低い顔関節を利用することで、頭頂部推定の精度を向上させることができる。また、頭頂部を用いて競技者の演技を評価する場合も、適切に演技の成立不成立を評価することができる。頭頂部を用いて競技者の演技には、平均台の輪飛びや、床運動の一部の演技が含まれる。
 次に、図1で説明した学習装置50の構成について説明する。図7は、本実施例1に係る学習装置の構成を示す機能ブロック図である。図7に示すように、学習装置50は、通信部51、入力部52、表示部53、記憶部54、制御部55を有する。
 通信部51は、情報処理装置100との間でデータ通信を実行する。たとえば、通信部51は、機械学習済みの顔関節推定モデル54bの情報を、情報処理装置100に送信する。通信部51は、機械学習で利用する学習データ54aを、外部装置から受信してもよい。
 入力部52は、学習装置50に対して各種の情報を入力する入力装置に対応する。
 表示部53は、制御部55から出力される情報を表示する。
 記憶部54は、学習データ54a、顔関節推定モデル54bを記憶する。記憶部54は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
 学習データ54aは、顔関節推定モデル54bを機械学習するための情報を保持する。たとえば、機械学習するための情報として、顔関節のアノテーションありの画像フレームを保持する。図8は、学習データのデータ構造の一例を示す図である。図8に示すように、学習データは、項番と、入力データと、正解データ(ラベル)とを対応付ける。入力データとして、人物の顔画像を含む画像フレームが設定される。正解データとして、画像フレームに含まれる顔関節の位置が設定される。
 顔関節推定モデル54bは、NN(Neural Network)等に対応する。顔関節推定モデル54bは、画像フレームが入力された場合に、機械学習済みのパラメータを基にして、顔関節の位置を出力する。
 制御部55は、取得部55a、学習部55b、出力部55cを有する。制御部55は、CPU(Central Processing Unit)等に対応する。
 取得部55aは、通信部51等から学習データ54aを取得する。取得部55aは、取得した学習データ54aを、記憶部54に登録する。
 学習部55bは、誤差逆伝播法に基づき、学習データ54aを用いて、顔関節推定モデル54bの機械学習を実行する。たとえば、学習部55bは、顔関節推定モデル54bに、学習データ54aの入力データを入力した結果が、入力データと対になる正解データに近づくように、顔関節推定モデル54bのパラメータを訓練する。
 出力部55cは、機械学習が完了した顔関節推定モデル54bの情報を、情報処理装置100に出力する。
 次に、図1で説明した情報処理装置100の構成について説明する。図9は、本実施例1に係る情報処理装置の構成を示す機能ブロック図である。図9に示すように、情報処理装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
 通信部110は、カメラ30、情報処理装置100との間でデータ通信を実行する。たとえば、通信部110は、カメラ30から画像フレームを受信する。通信部110は、機械学習済みの顔関節推定モデル54bの情報を、情報処理装置100に送信する。
 入力部120は、情報処理装置100に対して、各種の情報を入力する入力装置に対応する。
 表示部130は、制御部150から出力される情報を表示する。
 記憶部140は、顔関節推定モデル54b、ソース情報60a、測定テーブル141、骨格認識結果テーブル142、技認識テーブル143を有する。記憶部140は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
 顔関節推定モデル54bは、機械学習実行済みとなる顔関節推定モデル54bである。顔関節推定モデル54bは、上述した学習装置50によって訓練される。
 ソース情報60aは、図2で説明したように、複数の顔関節p1の位置、頭頂部関節tp1の位置がそれぞれ設定された情報である。
 測定テーブル141は、カメラ30により撮影される画像フレームを時系列に格納するテーブルである。図10は、測定テーブルのデータ構造の一例を示す図である。図10に示すように、測定テーブル141は、カメラ識別情報と、画像フレームとを対応付ける。
 カメラ識別情報は、カメラを一意に識別する情報である。たとえば、カメラ識別情報「C30a」は、カメラ30aに対応し、カメラ識別情報「C30b」は、カメラ30bに対応し、カメラ識別情報「C30c」は、カメラ30cに対応し、カメラ識別情報「C30d」は、カメラ30dに対応する。画像フレームは、該当するカメラ30に撮影された時系列の画像フレームである。各画像フレームには、時系列にフレーム番号が設定されるものとする。
 骨格認識結果テーブル142は、競技者H1の3D骨格の認識結果を格納するテーブルである。図11は、骨格認識結果テーブルのデータ構造の一例を示す図である。図11に示すように、この骨格認識結果テーブル142は、フレーム番号と、3D骨格情報とを対応付ける。フレーム番号は、3D骨格情報を推定する場合に用いた画像フレームに付与されたフレーム番号である。3D骨格情報は、図37に示される各ノード0~20に定義される関節の位置と、頭頂部を含む複数の顔関節の位置とを含む。
 技認識テーブル143は、各3D骨格情報に含まれる各関節位置の時系列変化と、技の種別とを対応付けるテーブルである。また、技認識テーブル143は、技の種別の組み合わせと、スコアとを対応付ける。スコアは、D(Difficulty)スコアとE(Execution)スコアとの合計で算出される。たとえば、Dスコアは、技の難易度に基づいて算出されるスコアである。Eスコアは、技の完成度に応じて、減点法により算出されるスコアである。
 たとえば、技認識テーブル143には、平均台の輪飛びや、床運動の一部の演技のように、頭頂部の時系列変換と、技の種別とを対応付けた情報も含まれる。
 図9の説明に戻る。制御部150は、取得部151、前処理部152、ターゲット情報生成部153、推定部154、異常検知部155、補正部156、技認識部157を有する。制御部150は、CPU等に対応する。
 取得部151は、通信部110を介して、学習装置50から、機械学習実行済みとなる顔関節推定モデル54bを取得し、顔関節推定モデル54bを記憶部140に登録する。
 取得部151は、通信部110を介して、カメラ30から時系列に画像フレームを取得する。取得部151は、カメラ30から取得した画像フレームを、カメラ識別情報と対応付けて、測定テーブル141に格納する。
 前処理部152は、測定テーブル141に登録された画像フレーム(多視点の画像フレーム)から、競技者H1の3D骨格認識を実行する。前処理部152は、どのような従来技術を用いて、競技者H1の3D骨格情報を生成してもよい。以下に、前処理部152の処理の一例を説明する。
 前処理部152は、測定テーブル141から、カメラ30の画像フレームを取得し、画像フレームを基にして、競技者H1の関節にそれぞれ対応する複数の第2特徴を生成する。第2特徴は、各関節位置の尤度を示すheatmapである。1つのカメラから取得した1つの画像フレームから、各関節に対応する第2特徴が生成される。たとえば、関節数を21個、カメラの数を4個とすると、画像フレーム毎に、84個の第2特徴が生成される。
 図12は、第2特徴を説明するための図である。図12に示す画像フレームIm30a1は、カメラ30aに撮影された画像フレームである。画像フレームIm30b1は、カメラ30bに撮影された画像フレームである。画像フレームIm30c1は、カメラ30cに撮影された画像フレームである。画像フレームIm30d1は、カメラ30dに撮影された画像フレームである。
 前処理部152は、画像フレームIm30a1を基にして、第2特徴群情報G1aを生成する。第2特徴群情報G1aには、各関節に対応する21個の第2特徴が含まれる。前処理部152は、画像フレームIm30b1を基にして、第2特徴群情報G1bを生成する。第2特徴群情報G1bには、各関節に対応する21個の第2特徴が含まれる。
 前処理部152は、画像フレームIm30c1を基にして、第2特徴群情報G1cを生成する。第2特徴群情報G1cには、各関節に対応する21個の第2特徴が含まれる。前処理部152は、画像フレームIm30d1を基にして、第2特徴群情報G1dを生成する。第2特徴群情報G1dには、各関節に対応する21個の第2特徴が含まれる。
 図13は、一つの第2特徴を示す図である。図13に示す第2特徴Gc1-3は、第2特徴群情報G1dに含まれる第2特徴のうち、関節「HEAD」に対応する第2特徴である。第2特徴Gc1-3の各ピクセルには、尤度が設定される。図13では、尤度の値に応じた色が設定される。尤度が最大となる箇所が、該当する関節の座標となる。たとえば、特徴Gc1-3において、尤度の値が最大となる領域Ac1-3が、関節「HEAD」の座標であることが特定できる。
 前処理部152は、第2特徴群情報G1aに含まれる第2特徴から、異常のある第2特徴を検知し、検知した異常のある第2特徴を、第2特徴群情報G1aから除去する。前処理部152は、第2特徴群情報G1bに含まれる第2特徴から、異常のある第2特徴を検知し、検知した異常のある第2特徴を、第2特徴群情報G1bから除去する。
 前処理部152は、第2特徴群情報G1cに含まれる第2特徴から、異常のある第2特徴を検知し、検知した異常のある第2特徴を、第2特徴群情報G1cから除去する。前処理部152は、第2特徴群情報G1dに含まれる第2特徴から、異常のある第2特徴を検知し、検知した異常のある第2特徴を、第2特徴群情報G1dから除去する。
 前処理部152は、異常のある第2特徴を除いた第2特徴群情報G1a,G1b,G1c,G1dを統合し、統合した結果を基にして、競技者H1の3D骨格情報を生成する。前処理部152によって生成される3D骨格情報には、図37で説明した各関節の位置(3次元座標)が含まれる。なお、前処理部152は、図38で説明した従来技術を用いて、競技者H1の3D骨格情報を生成してもよい。また、図37の説明では、番号3の関節を「HEAD」としているが、頭頂部を含む複数の顔関節であってもよい。
 前処理部152は、3D骨格情報を生成する度に、3D骨格情報を推定部154に出力する。また、前処理部152は、3D骨格情報の生成に用いた画像フレームを、ターゲット情報生成部153に出力する。
 図9の説明に戻る。ターゲット情報生成部153は、顔関節推定モデル54bに、画像フレームを入力することで、ターゲット情報を生成する。かかるターゲット情報は、図3で説明したターゲット情報60bに対応する。ターゲット情報生成部153は、ターゲット情報を、推定部154に出力する。
 ターゲット情報生成部153は、同一のフレーム番号に対して、複数の画像フレームを取得した場合、何れかの画像フレームを選択して、顔関節推定モデル54bに入力する。ターゲット情報生成部153は、画像フレームを取得する度に、上記処理を繰り返し実行する。
 推定部154は、ソース情報60aと、ターゲット情報60b(画像フレーム固有のターゲット情報)とを基にして、競技者H1の頭頂部の位置を推定する。
 ここで、推定部154の処理を説明する前に、顔関節の外れ値を除去する従来技術(RANSAC:RANdom SAmple Consensus)について説明する。RANSACでは、外れ値除去の判別にinlier数の最大値を取る関節の組み合わせを外れ値除去後の結果として用いるが、そのinlier数が同点の場合には、どちらの関節組み合わせが良いのかを選択することができない。
 図14は、RANSACを補足説明するための図である。図14のステップS10~S13の順に説明を行う。
 ステップS10について説明する。画像フレームを、顔関節推定モデル54b等に入力することで得られるターゲット情報に、顔関節p3-1,p3-2,p3-3,p3-4が含まれているものとする。たとえば、顔関節p3-1は、右耳の顔関節である。顔関節p3-2は、鼻の顔関節である。顔関節p3-3は、首の顔関節である。顔関節p3-4は、左耳の顔関節である。
 ステップS11について説明する。RANSACでは、ランダムに顔関節をサンプリングする。ここでは、3つの顔関節をサンプリングするものとし、顔関節p3-2,p3-3,p3-4がサンプリングされている。
 ステップS12について説明する。RANSACでは、ソース情報と、ターゲット情報との剛体関係に基づく位置合わせを行い、回転、並進、スケールを計算する。RANSACでは、計算結果(回転、並進、スケール)を、ソース情報に適用して、再投影することで、顔関節p4-1,p4-2,p4-3,p4-4を特定する。
 ステップS13について説明する。RANSACでは、顔関節p4-1~p4-4を中心とするサークルcir1,cir2,cir3,cir4を設定する。サークルcir1~cir4の半径(閾値)は、予め設定される。
 RANSACでは、顔関節p3-1,p3-2,p3-3,p3-4のうち、サークルcir1,cir2,cir3,cir4に含まれる顔関節をinlierとし、サークルcir1,cir2,cir3,cir4に含まれない顔関節をoutlierとする。図14のステップS13に示す例では、顔関節p3-2,p3-3,p3-4がinlierとなり、顔関節p3-1がoutlierとなる。
 RANSACでは、inlierの数(以下、inlier数)をカウントする。ステップS13に示す例では、inlier数は「3」となる。RANSACでは、ステップS11で説明したサンプリングの対象を変更しながら、ステップS11~S13の処理を繰り返し実行し、inlier数が最大となるサンプリング対象の顔関節の組み合わせを特定する。たとえば、ステップS11において、顔関節p3-2,p3-3,p3-4をサンプリングした際のinlier数が最大となる場合には、顔関節p3-2,p3-3,p3-4を、外れ値除去後の結果として出力する。
 しかしながら、図14で説明したRANSACでは、図15に示すような問題がある。図15は、RANSACの問題を説明するための図である。RANSACでは、inlier数が同点の場合に、どちらの組み合わせがよいのかを判定することが難しい。
 図15の「ケース1」について説明する。ケース1のステップS11において、顔関節p3-1,p3-2,p3-3がサンプリングされている。ステップS12の説明は省略する。
 ケース1のステップS13について説明する。ソース情報を再投影して得られる顔関節p4-1~p4-4を中心とするサークルcir1,cir2,cir3,cir4が設定されている。ケース1のステップS13に示す例では、顔関節p3-1,p3-2,p3-3がinlierとなり、inlier数は「3」となる。
 図15の「ケース2」について説明する。ケース2のステップS11において、顔関節p3-2,p3-3,p3-4がサンプリングされている。ステップS12の説明は省略する。
 ケース2のステップS13について説明する。ソース情報を再投影して得られる顔関節p4-1~p4-4を中心とするサークルcir1,cir2,cir3,cir4が設定されている。ケース2のステップS13に示す例では、顔関節p3-2,p3-3,p3-4がinlierとなり、inlier数は「3」となる。
 ケース1と、ケース2とを比較すると、顔関節p3-2,p3-3,p3-4が、cir2,cir3,cir4の中心位置に近く、総合的には、ケース2の方が良い結果であるといえる。しかし、ケース1のinlier数とケース2のinlier数とが同じであるため、RANSACにより、自動的にケース2の結果を採用することができない。
 続いて、本実施例1に係る推定部154の処理について説明する。まず、推定部154は、ソース情報60aの顔関節の位置と、ターゲット情報60bの顔関節の位置とを比較して、上述した式(1)の差eが最小となるような変換パラメータ(回転R、並進t、スケールc)を算出する。推定部154は、変換パラメータを算出する場合に、ターゲット情報60bに含まれる顔関節から、ランダムに3つの顔関節をサンプリングし、サンプリングした顔関節について、変換パラメータを算出するものとする。以下の説明では、サンプリングした3つの顔関節を適宜「3関節」と表記する。
 図16は、本実施例1に係る推定部の処理を説明するための図である。図16に示す例では、ソース情報60aに、顔関節p1-1,p1-2,p1-3,p1-4が設定されているものとする。ターゲット情報60bには、顔関節p2-1,p2-2,p2-3,p2-4が設定されているものとする。また、顔関節p2-1,p2-2,p2-3,p2-4のうち、p2-1,p2-2,p2-3が、サンプリングされているものとする。
 推定部154は、変換パラメータをソース情報60aの顔関節p1-1,p1-2,p1-3,p1-4に適用することで、ターゲット情報60bに再投影を行う。そうすると、ソース情報60aの顔関節p1-1,p1-2,p1-3,p1-4は、ターゲット情報60bの位置pr1-1,pr1-2,pr1-3,pr1-4にそれぞれ再投影される。
 推定部154は、ターゲット情報60b上の顔関節p2-1,p2-2,p2-3,p2-4と、位置pr1-1,pr1-2,pr1-3,pr1-4とをそれぞれ比較して、inlier数をカウントする。たとえば、顔関節p2-1と位置pr1-1との距離、顔関節p2-2と位置pr1-2との距離、顔関節p3-1と位置pr3-1との距離が閾値未満で、顔関節p4-1と位置pr4-1との距離が閾値以上とすると、inlier数は「3」となる。
 ここで、対応する顔関節と位置との距離(たとえば、ソース情報60aの右耳の顔関節p1-1を再投影した位置pr1-1と、ターゲット情報60bの右耳の関節位置p2-1との距離)を、再投影誤差εと定義する。
 推定部154は、式(3)を基にして、外れ値評価指標Eを算出する。式(3)において、「εmax」は、複数の再投影誤差εのうちの最大値に対応する。「μ」は、複数の再投影誤差εのうち、εmaxを除いた残りの再投影誤差εの平均値を示す。
Figure JPOXMLDOC01-appb-M000003
 推定部154は、ターゲット情報60bの顔関節に対してサンプリングを行い、変換パラメータを算出し、inlier数と、外れ値評価指数Eとを算出する処理を、3関節の組み合わせを変えながら、繰り返し実行する。推定部154は、3関節の組み合わせのうち、inlier数が最大値を取る際の変換パラメータを、最終的な変換パラメータとして特定する。
 推定部154は、inlier数が最大値をとる、3関節の組み合わせが複数存在する場合には、外れ値評価指数Eが小さい方の3関節の組み合わせ特定し、特定した3関節によって得られる変換パラメータを、最終的な変換パラメータとして特定する。
 以下の説明では、推定部154が、inlier数および外れ値評価指数Eを基にして、複数の変換パラメータから特定した、最終的な変換パラメータを、単に、変換パラメータと表記する。
 推定部154は、変換パラメータを、式(2)に適用し、ソース情報60aの複数の顔座標の位置x(頭頂部の位置tp1を含む)から、競技者H1の複数の顔関節の位置y(頭頂部の位置tp2を含む)を算出する。係る推定部154の処理は、図5を用いて説明した処理に対応する。
 上記処理によって、推定部154は、競技者H1の顔座標の位置(顔関節の位置、頭頂部の位置)を推定し、前処理部152によって推定された3D骨格情報の頭部の情報を、顔座標の位置の情報に置き換えることで、3D骨格情報を生成する。推定部154は、生成した3D骨格情報を異常検知部155に出力する。また、推定部154は、顔座標の位置の情報に置き換える前の3D骨格情報も、異常検知部155に出力する。
 推定部154は、上記処理を繰り返し実行する。以下の説明では、適宜、前処理部152によって推定された3D骨格情報の頭部の情報を、顔座標の位置の情報に置き換えることで生成された3D骨格情報を「置き換え後骨格情報」と表記する。これに対して、置き換える前の3D骨格情報を「置き換え前骨格情報」と表記する。また、置き換え後骨格情報、置き換え前骨格情報をそれぞれ区別しない場合には、単に、3D骨格情報と表記する。
 図9の説明に戻る。異常検知部155は、推定部154によって生成された3D骨格情報の頭頂部の異常を検知する。たとえば、異常検知の種別には、「骨長さ異常検知」、「逆・横曲がり異常検知」、「曲がりすぎ異常検知」が含まれる。異常検知部155の説明を行う場合に、図37に示した関節の番号を用いて説明を行う。以下の説明では、番号nの関節を関節nと表記する。
 「骨長さ異常検知」について説明する。図17は、骨長さ異常を検知する処理を説明するための図である。異常検知部155は、置き換え前骨格情報に含まれる各関節のうち、関節18から関節3に向かうベクトルbheadを計算する。異常検知部155は、ベクトルbheadから、そのノルム|bhead|を計算する。
 置き換え前骨格情報に関する骨長さ異常検知の結果をCとする。たとえば、異常検知部155は、置き換え前骨格情報から計算したノルム|bhead|が、Th1 low~Th1 highの範囲に含まれる場合には、正常としてCに0を設定する。異常検知部155は、置き換え前骨格情報から計算したノルム|bhead|が、Th1 low~Th1 highの範囲に含まれない場合には、異常としてCに1を設定する。
 異常検知部155は、置き換え後骨格情報についても同様に、ノルム|bhead|を計算する。置き換え前骨格情報に関する骨長さ異常検知の結果をC´とする。たとえば、異常検知部155は、置き換え後骨格情報から計算したノルム|bhead|が、Th1 low~Th1 highの範囲に含まれる場合には、正常としてC´に0を設定する。異常検知部155は、置き換え後骨格情報から計算したノルム|bhead|が、Th1 low~Th1 highの範囲に含まれない場合には、異常としてC´に1を設定する。
 ここで、Th1 low~Th1 highは、3σ法を用いて定義できる。複数人物の頭長さデータから計算した平均μ、標準偏差σを用いて、Th1 lowは、式(4)のように定義できる。Th1 highは、式(5)のように定義できる。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 3σ法は、対象データが、標準偏差の3倍以上離れている場合を異常とする判別方法である。3σ法を用いることで、正常が99.74%とほぼすべての人の頭長さに当てはまるので、頭が極端に長い、短い等の異常を検知できる。
 「逆・横曲がり異常検知」について説明する。図18は、逆・横曲がり異常を検知する処理を説明するための図である。異常検知部155は、置き換え前骨格情報に含まれる各関節のうち、関節18から関節3に向かうベクトルbheadを計算する。異常検知部155は、置き換え前骨格情報に含まれる各関節のうち、関節2から関節18に向かうベクトルbneckを計算する。異常検知部155は、置き換え前骨格情報に含まれる各関節のうち、関節4から関節7に向かうベクトルbshoulderを計算する。
 異常検知部155は、bneckとbheadとから、その法線ベクトルbneck×bheadを計算する。「×」は外積を示す。異常検知部155は、「bneck×bhead」と「bshoulder」とから、なす角θ(bneck×bhead、bshoulder)を計算する。
 置き換え前骨格情報に関する逆・横曲がり異常検知の結果をCとする。たとえば、異常検知部155は、なす角θ(bneck×bhead、bshoulder)がTh以下の場合に、正常としてCに0を設定する。異常検知部155は、なす角θ(bneck×bhead、bshoulder)がThより大きい場合に、異常としてCに1を設定する。
 異常検知部155は、置き換え後骨格情報についても同様に、なす角θ(bneck×bhead、bshoulder)を計算する。置き換え後骨格情報に関する逆・横曲がり異常検知の結果をC´とする。たとえば、異常検知部155は、なす角θ(bneck×bhead、bshoulder)がTh以下の場合に、正常としてC´に0を設定する。異常検知部155は、なす角θ(bneck×bhead、bshoulder)がThより大きい場合に、異常としてC´に1を設定する。
 図19~図22は、逆・横曲がり異常検知で用いる各ベクトルを補足説明するための図である。図19に示す各座標系について、xの座標系は、競技者H1の正面の方向に対応する。yの座標系は、競技者H1の左方向に対応する。zの座標系は、bneckと同じ方向を示す。図18で示したbneck、bhead、bshoulderの関係は、図19に示すbneck、bhead、bshoulder示す関係となる。
 図20の説明に移行する。図20では「正常」の一例を示す。図20に示す各座標系は、図19で説明した座標系と同様である。図20に示す例では、なす角θ(bneck×bhead、bshoulder)が0(deg)となる。
 図21の説明に移行する。図21では「逆曲がり」の一例を示す。図21に示す各座標系は、図19で説明した座標系と同様である。図21に示す例では、なす角θ(bneck×bhead、bshoulder)が180(deg)となる。
 図22の説明に移行する。図22では「横曲がり」の一例を示す。図22に示す各座標系は、図19で説明した座標系と同様である。図22に示す例では、なす角θ(bneck×bhead、bshoulder)が90(deg)となる。
 ここで、閾値Thと比較するなす角θ(bneck×bhead、bshoulder)について、正常とみなしたい後ろへの曲がりだと0(deg)、異常とみなしたい逆曲がりで180(deg)、横曲がりで90(deg)を取る。このため、逆、横曲がり双方を異常としたい場合には、Th=90(deg)に設定される。
 「曲がりすぎ異常検知」について説明する。図23は、曲がりすぎ異常を検知する処理を説明するための図である。置き換え前骨格情報に含まれる各関節のうち、関節18から関節3に向かうベクトルbheadを計算する。異常検知部155は、置き換え前骨格情報に含まれる各関節のうち、関節2から関節18に向かうベクトルbneckを計算する。
 異常検知部155は、bneckとbheadとから、そのなす角θ(bneck、bhead)を計算する。
 置き換え前骨格情報に関する曲がりすぎ異常検知の結果をCとする。たとえば、異常検知部155は、なす角θ(bneck、bhead)がTh以下の場合に、正常としてCに0を設定する。異常検知部155は、なす角θ(bneck、bhead)がThより大きい場合に、異常としてCに1を設定する。
 たとえば、頭部の可動域は最大60(deg)であるため、Th=60(deg)に設定される。
 異常検知部155は、置き換え後骨格情報についても同様に、なす角θ(bneck、bhead)を計算する。置き換え後骨格情報に関する曲がりすぎ異常検知の結果をC´とする。たとえば、異常検知部155は、なす角θ(bneck、bhead)がTh以下の場合に、正常としてC´に0を設定する。異常検知部155は、なす角θ(bneck、bhead)がThより大きい場合に、異常としてC´に1を設定する。
 上記のように、異常検知部155は、骨長さ異常検知について、式(6)の条件に基づいて、C(C´)に値を設定する。異常検知部155は、逆・横曲がり異常検知について、式(7)の条件に基づいて、C(C´)に値を設定する。異常検知部155は、曲がりすぎ異常検知について、式(8)の条件に基づいて、C(C´)に値を設定する。
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 異常検知部155は、「骨長さ異常検知」、「逆・横曲がり異常検知」、「曲がりすぎ異常検知」を実行した後に、判定結果D、D、Dを計算する。異常検知部155は、判定結果Dを、式(9)に基づいて計算する。異常検知部155は、判定結果Dを、式(10)に基づいて計算する。判定結果Dを、式(11)に基づいて計算する。
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000011
 異常検知部155は、判定結果D~Dのうち、何れか一つの判定結果に「1」が設定されている場合には、3D骨格情報に関して、頭頂部の異常を検知する。異常検知部155は、頭頂部の異常を検知した場合には、3D骨格情報を、補正部156に出力する。
 一方、異常検知部155は、判定結果D~Dのうち、全ての判定結果に「0」が設定されている場合には、3D骨格情報に関して、頭頂部の異常が発生していないと判定する。異常検知部155は、頭頂部の異常を検知しない場合には、フレーム番号と、3D骨格情報(置き換え後骨格情報)とを対応付けて、骨格認識結果テーブル142に登録する。
 異常検知部155は、推定部154から3D骨格情報を取得する度に、上記処理を繰り返し実行する。
 図9の説明に戻る。補正部156は、異常検知部155によって頭頂部の異常が検知された3D骨格情報を取得した場合に、取得した3D骨格情報を補正する。ここでは、3D骨格情報として、置き換え後骨格情報を用いて説明する。
 たとえば、補正部156が実行する補正には、「骨長さ補正」、「逆・横曲がり補正」、「曲がりすぎ補正」が含まれる。
 「骨長さ補正」について説明する。図24は、骨長さ補正を説明するための図である。図24に示すように、補正部156は、ステップS20,ステップS21,ステップS22の順に処理を行う。
 ステップS20について説明する。補正部156は、置き換え後骨格情報に含まれる各関節のうち、関節18から関節3に向かうベクトルbheadを計算する。
 ステップS21について説明する。補正部156は、ベクトルbheadから、その単位ベクトルnhead(nhead=bhead/|bhead|)を計算する。
 ステップS22について説明する。補正部156は、関節18を基準として、単位ベクトルnheadの方向に過去の画像フレームで算出しておいた骨長さの平均μ分延ばした関節を補正後の頭頂部として出力する(置き換え後骨格情報の頭頂部の位置を更新する)。μは、正常範囲なので、骨長さが正常になる。
 「逆・横曲がり補正」について説明する。図25は、逆・横曲がり補正を説明するための図である。図25に示すように、補正部156は、ステップS30,ステップS31,ステップS32の順に処理を行う。
 ステップS30について説明する。補正部156は、置き換え後骨格情報に含まれる各関節のうち、関節2から関節18に向かうベクトルbneckを計算する。
 ステップS31について説明する。補正部156は、ベクトルbneckから、その単位ベクトルnneck(nneck=bneck/|bneck|)を計算する。
 ステップS32について説明する。補正部156は、関節18を基準として、単位ベクトルnneckの方向に標準骨長さμ分延ばして閾値内に収まるように補正した結果を頭頂部として出力する(置き換え後骨格情報の頭頂部の位置を更新する)。neckと同じ方向にheadが延びるので、逆・横向きの異常が補正される。
 「曲がりすぎ補正」について説明する。図26は、曲がりすぎ補正を説明するための図である。図26に示すように、補正部156は、ステップS40,ステップS41,ステップS42の順に処理を行う。
 ステップS40について説明する。補正部156は、置き換え後骨格情報に含まれる各関節のうち、関節18から関節3に向かうベクトルbheadを計算する。補正部156は、置き換え後骨格情報に含まれる各関節のうち、関節2から関節18に向かうベクトルbneckを計算する。補正部156は、置き換え後骨格情報に含まれる各関節のうち、関節4から関節7に向かうベクトルbshoulderを計算する。
 ステップS41について説明する。補正部156は、ベクトルbneckとベクトルbheadとから、その法線ベクトルbneck×bheadを計算する。
 ステップS42について説明する。法線ベクトルbneck×bheadは、手前から奥に向かって伸びたベクトルとする。補正部156は、法線ベクトルbneck×bheadを軸として、ベクトルbheadを、閾値Thからの残差「Th-なす角θ(bneck、bhead)」(deg)回転して閾値内に収まるように補正した結果を、頭頂部として出力する(置き換え後骨格情報の頭頂部の位置を更新する)。角度が閾値以内に収まるので、曲がりすぎの異常が補正される。
 補正部156は、上記補正を実行することで、「骨長さ補正」、「逆・横曲がり補正」、「曲がりすぎ補正」を実行し、3D骨格情報を補正する。補正部156は、フレーム番号と、補正した3D骨格情報とを対応付けて、骨格認識結果テーブル142に登録する。
 図9の説明に戻る。技認識部157は、フレーム番号の順に3D骨格情報を、骨格認識結果テーブル142から取得し、連続する3D骨格情報を基にして、各関節座標の時系列変化を特定する。技認識部157は、各関節位置の時系列変化と、技認識テーブル145とを比較して、技の種別を特定する。また、技認識部157は、技の種別の組み合わせと、技認識テーブル143とを比較して、競技者H1の演技のスコアを算出する。
 技認識部157が算出する競技者H1の演技のスコアには、平均台の輪飛びや、床運動の一部の演技のように、頭頂部の時系列変換を評価する演技のスコアも含まれる。
 技認識部157は、演技のスコアと、演技の開始から終了までの3D骨格情報とを基にして、画面情報を生成する。技認識部157は、生成した画面情報を、表示部130に出力して表示させる。
 次に、本実施例1に係る学習装置50の処理手順の一例について説明する。図27は、本実施例1に係る学習装置の処理手順を示すフローチャートである。図27に示すように、学習装置50の取得部55aは、学習データ54aを取得し、記憶部54に登録する(ステップS101)。
 学習装置50の学習部55bは、学習データ54aを基にして、顔関節推定モデル54bに対応する機械学習を実行する(ステップS102)。
 学習装置50の出力部55cは、顔関節推定モデルを情報処理装置100に送信する(ステップS103)。
 次に、本実施例1に係る情報処理装置100の処理手順の一例について説明する。図28は、本実施例1に係る情報処理装置の処理手順を示すフローチャートである。図28に示すように、情報処理装置100の取得部151は、学習装置50から顔関節推定モデル54bを取得し、記憶部140に登録する(ステップS201)。
 取得部151は、カメラから時系列の画像フレームを受信し、測定テーブル141に登録する(ステップS202)。
 情報処理装置100の前処理部152は、測定テーブル141の多視点の画像フレームを基にして、3D骨格情報を推生成する(ステップS203)。情報処理装置100のターゲット情報生成部153は、顔関節推定モデル54bに画像フレームを入力して、ターゲット情報を生成する(ステップS204)。
 情報処理装置100の推定部154は、変換パラメータ推定処理を実行する(ステップS205)。推定部154は、ソース情報60aに変換パラメータを適用し、頭頂部を推定する(ステップS206)。推定部154は、3D骨格情報の頭頂部の情報を、推定した頭頂部の情報に置き換える(ステップS207)。
 情報処理装置100の異常検知部155は、頭頂部の異常を検知したか否かを判定する(ステップS208)。異常検知部155は、頭頂部の異常を検知しない場合には(ステップS208,No)、置き換え後骨格情報を、骨格認識結果テーブル142に登録し(ステップS209)、ステップS212に移行する。
 一方、異常検知部155は、頭頂部の異常を検知した場合には(ステップS208,Yes)、ステップS210に移行する。情報処理装置100の補正部156は、置き換え後骨格情報を補正する(ステップS210)。補正部156は、補正した置き換え後骨格情報を、骨格認識結果テーブル142に登録し(ステップS211)、ステップS212に移行する。
 情報処理装置100の技認識部157は、骨格認識結果テーブル142から、時系列の3D骨格情報を読み出して、技認識テーブル143に基づく技認識を実行する(ステップS212)。
 次に、図28のステップS206に示した変換パラメータ推定処理の処理手順の一例について説明する。図29および図30は、変換パラメータ推定処理の処理手順を示すフローチャートである。
 図29について説明する。情報処理装置100の推定部154は、最大inlier数および基準評価指標に初期値を設定する(ステップS301)。たとえば、推定部154は、最大inlier数に「0」、基準評価指標に「∞(大きな値)」を設定する。
 推定部154は、ターゲット情報と、ソース情報とを取得する(ステップS302)。推定部154は、ターゲット情報から3関節をサンプリングする(ステップS303)。推定部154は、式(1)を基にして、ターゲット情報とソース情報との差eが最小となる変換パラメータ(R、t、c)を算出する(ステップS304)。
 推定部154は、変換パラメータをソース情報に適用し、ターゲット情報に合うように再投影する(ステップS305)。推定部154は、ソース情報の投影結果と、ターゲット情報の3関節との再投影誤差εを算出する(ステップS306)。
 推定部154は、再投影誤差εが閾値以下となる顔関節の数をinlier数に設定する(ステップS307)。推定部154は、外れ値評価指標を計算する(ステップS308)。推定部154は、図30のステップS309に移行する。
 図30の説明に移行する。推定部154は、inlier数が、最大inlier数よりも大きい場合には(ステップS309,Yes)、ステップS312に移行する。一方、推定部154は、inlier数が、最大inlier数よりも大きくない場合には(ステップS309,No)、ステップS310に移行する。
 推定部154は、inlier数と最大inlier数とが同じ場合には(ステップS310,Yes)、ステップS311に移行する。一方、推定部154は、inlier数と最大inlier数とが同じでない場合には(ステップS310,No)、ステップS314に移行する。
 推定部154は、外れ値評価指標Eが基準評価指数よりも小さくない場合には(ステップS311,No)、ステップS314に移行する。一方、推定部154は、外れ値評価指標Eが基準評価指数より小さい場合には(ステップS311,Yes)、ステップS312に移行する。
 推定部154は、最大inlier数を今回算出したinlier数に更新し、外れ値評価指標の値によって、基準評価指標を更新する(ステップS312)。推定部154は、最大inlier数に対応する変換パラメータを更新する(ステップS313)。
 推定部154は、サンプリング回数の上限に達していない場合には(ステップS314,No)、図29のステップS303に移行する。一方、推定部154は、サンプリング回数の上限に達した場合には(ステップS314,Yes)、最大inlier数に対応する変換パラメータを出力する(ステップS315)。
 次に、本実施例1に係る情報処理装置100の効果について説明する。情報処理装置100は、ソース情報60aの顔関節の位置を、ターゲット情報60bの顔関節の位置に合わせるための変換パラメータを算出する。情報処理装置100は、算出した変換パラメータをソース情報60aの頭頂部に適用することで、競技者の頭頂部の位置を算出する。顔関節と、頭頂部との関係は剛体関係にあるため、かかる関係を利用して、競技者の頭頂部の位置を推定することで、推定精度を向上させることができる。
 たとえば、図6で説明したように、画像にアピアランス、髪乱れ、オクルージョン等が発生した場合でも、従来技術と比較して、頭頂部の推定精度が向上している。情報処理装置100により、頭頂部の推定精度が向上するため、頭頂部を用いて競技者の演技を評価する場合も、適切に演技の成立不成立を評価することができる。頭頂部を用いて競技者の演技には、平均台の輪飛びや、床運動の一部の演技が含まれる。
 また、本実施例1に係る情報処理装置100は、inlier数と、外れ値誤差指標Eとを基にして、変換パラメータを特定する。このため、inlier数が同点となる変換パラメータが複数存在する場合でも、外れ値誤差指標Eを用いて、最適な変換パラメータを選択することができる。
 図31は、頭頂部推定の誤差の比較結果を説明するための図である。図31のグラフG1は、RANSACを実行しないで頭頂部の推定を行った場合の誤差を示す。グラフG2は、RANSACを実行して頭頂部の推定を行った場合の誤差を示す。グラフG3は、本実施例1に係る推定部154が頭頂部の推定を行った場合の誤差を示す。グラフG1~G2の横軸は、ターゲット情報の顔関節とGT(正しい顔関節の位置)との誤差の最大値に対応する。グラフG1~G2の縦軸は、頭頂部の推定結果と、GT(正しい頭頂部の位置)との誤差を示す。
 グラフG1では、頭頂部の推定結果と、GTとの誤差の平均誤差が「30mm」となる。グラフG2では、頭頂部の推定結果と、GTとの誤差の平均誤差が「22mm」となる。グラフG3では、頭頂部の推定結果と、GTとの誤差の平均誤差が「15mm」となる。すなわち、本実施例1に係る情報処理装置100では、RANSAC等の従来技術と比較して、高精度に頭頂部の位置を推定することができる。たとえば、グラフG2の領域ar1では、外れ値の除去に失敗していることが示される。
 本実施例1に係る情報処理装置100は、3D骨格情報の頭頂部の異常を検知した場合に、頭頂部の位置を補正する処理を実行する。これによって、3D骨格情報の推定精度をより高めることができる。
 なお、本実施例1では一例として、補正部156は、置き換え後骨格情報を補正する場合について説明したが、置き換え前骨格情報を補正し、補正後の置き換え前骨格情報を出力してもよい。また、補正部156は、実際には補正を行わないで、置き換え前骨格情報を、そのまま補正後の骨格情報として出力してもよい。
 次に、本実施例2ついて説明する。本実施例2に関連するシステムは、実施例1のシステムと同様である。続いて、本実施例2に係る情報処理装置について説明する。本実施例2に係る情報処理装置は、実施例1のソース情報と異なり、複数の頭頂部の候補を有する。
 図32は、本実施例2に係るソース情報の一例を示す図である。図32に示すように、このソース情報60cは、3Dの人体モデルM2に、複数の頭頂部関節候補tp1-1,tp1-2,tp1-3,tp1-4,tp1-5,tp1-6を有する。図32では、図示を省略するが、ソース情報60cは、実施例1で示したソース情報60aと同様にして、複数の顔関節の位置が設定される。
 情報処理装置は、実施例1と同様にして、変換パラメータを算出する。情報処理装置は、算出した変換パラメータを、ソース情報60cに適用し、複数の頭頂部関節候補tp1-1~tp1-6のz軸方向の値をそれぞれ比較し、z軸方向の値が最小となる頭頂部関節候補を、頭頂部として特定する。
 図33は、頭頂部を特定する処理を説明するための図である。図33に示す例では、ソース情報60cに変換パラメータを適用した結果を示す。情報処理装置は、複数の頭頂部関節候補tp1-1~tp1-6のz軸方向の値のうち、頭頂部関節候補tp1-2の値が最小となるため、頭頂部関節候補tp1-2を頭頂部として選択する。
 このように、本実施例2に係る情報処理装置は、変換パラメータを、ソース情報60cに適用し、複数の頭頂部関節候補tp1-1~tp1-6のz軸方向の値をそれぞれ比較し、z軸方向の値が最小となる頭頂部関節候補の位置を、頭頂部の位置として特定する。これによって、輪飛びなどのように、頭頂部を下に向ける演技を評価する場合の、頭頂部の位置をより適切に選択することができる。
 次に、本実施例2に係る情報処理装置の構成について説明する。図34は、本実施例2に係る情報処理装置の構成を示す機能ブロック図である。図34に示すように、この情報処理装置200は、通信部110、入力部120、表示部130、記憶部240、制御部250を有する。
 通信部110、入力部120、表示部130に関する説明は、図9で説明した通信部110、入力部120、表示部130に関する説明と同様である。
 記憶部240は、顔関節推定モデル54bと、ソース情報60cと、測定テーブル141と、骨格認識結果テーブル142と、技認識テーブル143とを有する。記憶部240は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
 顔関節推定モデル54b、測定テーブル141、骨格認識結果テーブル142、技認識テーブル143に関する説明は、図9で説明した顔関節推定モデル54b、測定テーブル141、骨格認識結果テーブル142、技認識テーブル143に関する説明と同様である。
 ソース情報60cは、図32で説明したように、複数の顔関節の位置と、複数の複数の頭頂部関節候補の位置がそれぞれ設定された情報である。
 制御部250は、取得部151、前処理部152、ターゲット情報生成部153、推定部254、異常検知部155、補正部156、技認識部157を有する。制御部250は、CPU等に対応する。
 取得部151、前処理部152、ターゲット情報生成部153、異常検知部155、補正部156、技認識部157に関する説明は、図9で説明した取得部151、前処理部152、ターゲット情報生成部153、異常検知部155、補正部156、技認識部157に関する説明と同様である。
 推定部254は、ソース情報60cと、ターゲット情報60b(画像フレーム固有のターゲット情報)とを基にして、競技者H1の頭頂部の位置を推定する。
 推定部254は、ソース情報60cの顔関節の位置と、ターゲット情報60bの顔関節(3関節)の位置とを比較して、上述した式(1)の差eが最小となるような変換パラメータ(回転R、並進t、スケールc)を算出する。推定部254が変換パラメータを算出する処理は、実施例1の推定部154と同様である。
 推定部254は、図33で説明したように、ソース情報60cに変換パラメータを適用する。推定部254は、複数の頭頂部関節候補tp1-1~tp1-6のz軸方向の値をそれぞれ比較し、z軸方向の値が最小となる頭頂部関節候補の位置を、頭頂部の位置として特定する。
 上記処理によって、推定部254は、競技者H1の顔座標の位置(顔関節の位置、頭頂部の位置)を推定し、前処理部252によって推定された3D骨格情報の頭部の情報を、顔座標の位置の情報に置き換えることで、3D骨格情報を生成する。推定部254は、生成した3D骨格情報を異常検知部255に出力する。また、推定部254は、顔座標の位置の情報に置き換える前の3D骨格情報も、異常検知部155に出力する。
 次に、本実施例2に係る情報処理装置200の処理手順の一例について説明する。図35は、本実施例2に係る情報処理装置の処理手順を示すフローチャートである。図35に示すように、情報処理装置200の取得部151は、学習装置50から顔関節推定モデル54bを取得し、記憶部240に登録する(ステップS401)。
 取得部151は、カメラから時系列の画像フレームを受信し、測定テーブル141に登録する(ステップS402)。
 情報処理装置200の前処理部152は、測定テーブル141の多視点の画像フレームを基にして、3D骨格情報を推生成する(ステップS403)。情報処理装置200のターゲット情報生成部153は、顔関節推定モデル54bに画像フレームを入力して、ターゲット情報を生成する(ステップS404)。
 情報処理装置200の推定部254は、変換パラメータ推定処理を実行する(ステップS405)。推定部154は、ソース情報60aに変換パラメータを適用し、複数の頭頂部関節候補から頭頂部を推定する(ステップS406)。推定部254は、3D骨格情報の頭頂部の情報を、推定した頭頂部の情報に置き換える(ステップS407)。
 情報処理装置200の異常検知部155は、頭頂部の異常を検知したか否かを判定する(ステップS408)。異常検知部155は、頭頂部の異常を検知しない場合には(ステップS408,No)、置き換え後骨格情報を、骨格認識結果テーブル142に登録し(ステップS409)、ステップS412に移行する。
 一方、異常検知部155は、頭頂部の異常を検知した場合には(ステップS408,Yes)、ステップS410に移行する。情報処理装置200の補正部156は、置き換え後骨格情報を補正する(ステップS410)。補正部156は、補正した置き換え後骨格情報を、骨格認識結果テーブル142に登録し(ステップS411)、ステップS412に移行する。
 情報処理装置200の技認識部157は、骨格認識結果テーブル142から、時系列の3D骨格情報を読み出して、技認識テーブル143に基づく技認識を実行する(ステップS412)。
 図35のステップS405に示した変換パラメータ推定処理は、実施例1の図29、図30に示した変換パラメータ推定処理に対応する。
 次に、本実施例2に係る情報処理装置200の効果について説明する。情報処理装置200は、変換パラメータを、ソース情報60cに適用し、複数の頭頂部関節候補のz軸方向の値をそれぞれ比較し、z軸方向の値が最小となる頭頂部関節候補を、頭頂部として特定する。これによって、輪飛びなどのように、頭頂部を下に向ける演技を評価する場合の、頭頂部の位置をより適切に選択することができる。
 次に、上記実施例に示した情報処理装置100(200)と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図36は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
 図36に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、カメラ30から距離画像のデータを受信する通信装置304と、各種の装置と接続するインタフェース装置305とを有する。コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301~307は、バス308に接続される。
 ハードディスク装置307は、取得プログラム307a、前処理プログラム307b、ターゲット情報生成プログラム307c、推定プログラム307d、異常検知プログラム307e、補正プログラム307f、技認識プログラム307gを有する。CPU301は、取得プログラム307a、前処理プログラム307b、ターゲット情報生成プログラム307c、推定プログラム307d、異常検知プログラム307e、補正プログラム307f、技認識プログラム307gを読み出してRAM306に展開する。
 取得プログラム307aは、取得プロセス306aとして機能する。前処理プログラム307bは、前処理プロセス306bとして機能する。ターゲット情報生成プログラム307cは、ターゲット情報生成プロセス306cとして機能する。推定プログラム307dは、推定プロセス306dとして機能する。異常検知プログラム307eは、異常検知プロセス306eとして機能する。補正プログラム307fは、補正プロセス306fとして機能する。技認識プログラム307gは、技認識プロセス306gとして機能する。
 取得プロセス306aの処理は、取得部151の処理に対応する。前処理プロセス306bの処理は、前処理部152の処理に対応する。ターゲット情報生成プロセス306cの処理は、ターゲット情報生成部153の処理に対応する。推定プロセス306dの処理は、推定部154,254の処理に対応する。異常検知プロセス306eの処理は、異常検知部155の処理に対応する。補正プロセス306fの処理は、補正部156の処理に対応する。技認識プロセス306gの処理は、技認識部157の処理に対応する。
 なお、各プログラム307a~307gについては、必ずしも最初からハードディスク装置307に記憶させておかなくてもよい。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム307a~307eを読み出して実行するようにしてもよい。
 100,200  情報処理装置
 110  通信部
 120  入力部
 130  表示部
 140,240  記憶部
 141  測定テーブル
 142  骨格認識結果テーブル
 143  技認識テーブル
 150,250  制御部
 151  取得部
 152  前処理部
 153  ターゲット情報生成部
 154,254  推定部
 155  異常検知部
 156  補正部
 157  技認識部

Claims (18)

  1.  競技者の頭部が所定の状態の画像を機械学習モデルに入力することで、前記競技者の顔に含まれる複数の関節の位置を特定し、
     前記複数の関節の位置のそれぞれを用いて、前記競技者の頭頂部の位置を推定する
     処理をコンピュータに実行させることを特徴とする推定プログラム。
  2.  人物の顔に含まれる複数の関節の位置と前記人物の頭頂部とを定義した定義情報と、前記競技者の顔に含まれる複数の関節の位置を示す認識情報とを基にして、前記定義情報の複数の関節の位置を、前記認識情報の複数の関節の位置に合わせるパラメータを推定する処理を更にコンピュータに実行させ、
     前記頭頂部の位置を推定する処理は、前記パラメータと、前記定義情報の頭頂部の座標とを基にして、前記競技者の頭頂部の位置を推定することを特徴とする請求項1に記載の推定プログラム。
  3.  前記機械学習モデルに入力される画像は、背景の色と前記競技者の髪の色とが類似している状態の画像、前記競技者の髪が乱れている状態の画像、または、前記競技者の頭が隠れている状態の画像のうち、何れかの画像であることを特徴とする請求項1に記載の推定プログラム。
  4.  前記頭頂部の位置を基にして、平均台または床運動に関する演技を評価する処理を更にコンピュータに実行させることを特徴とする請求項1に記載の推定プログラム。
  5.  前記推定する処理によって推定された前記競技者の頭頂部の位置が異常であるか否かを判定し、前記競技者の頭頂部の位置が異常である場合に、前記前記競技者の頭頂部の位置を補正する処理を更にコンピュータに実行させることを特徴とする請求項1に記載の推定プログラム。
  6.  前記定義情報は、複数の頭頂部の候補を有し、前記頭頂部の位置を推定する処理は、前記パラメータを、前記定義情報に適用した場合に、前記複数の頭頂部の候補のうち、鉛直方向の値が最小となる頭頂部の候補の位置を、前記競技者の頭頂部の位置として推定することを特徴とする請求項2に記載の推定プログラム。
  7.  競技者の頭部が所定の状態の画像を機械学習モデルに入力することで、前記競技者の顔に含まれる複数の関節の位置を特定し、
     前記複数の関節の位置のそれぞれを用いて、前記競技者の頭頂部の位置を推定する
     処理をコンピュータが実行することを特徴とする推定方法。
  8.  人物の顔に含まれる複数の関節の位置と前記人物の頭頂部とを定義した定義情報と、前記競技者の顔に含まれる複数の関節の位置を示す認識情報とを基にして、前記定義情報の複数の関節の位置を、前記認識情報の複数の関節の位置に合わせるパラメータを推定する処理を更にコンピュータが実行し、
     前記頭頂部の位置を推定する処理は、前記パラメータと、前記定義情報の頭頂部の座標とを基にして、前記競技者の頭頂部の位置を推定することを特徴とする請求項7に記載の推定方法。
  9.  前記機械学習モデルに入力される画像は、背景の色と前記競技者の髪の色とが類似している状態の画像、前記競技者の髪が乱れている状態の画像、または、前記競技者の頭が隠れている状態の画像のうち、何れかの画像であることを特徴とする請求項7に記載の推定方法。
  10.  前記頭頂部の位置を基にして、平均台または床運動に関する演技を評価する処理を更にコンピュータが実行することを特徴とする請求項7に記載の推定方法。
  11.  前記推定する処理によって推定された前記競技者の頭頂部の位置が異常であるか否かを判定し、前記競技者の頭頂部の位置が異常である場合に、前記前記競技者の頭頂部の位置を補正する処理を更にコンピュータが実行することを特徴とする請求項7に記載の推定方法。
  12.  前記定義情報は、複数の頭頂部の候補を有し、前記頭頂部の位置を推定する処理は、前記パラメータを、前記定義情報に適用した場合に、前記複数の頭頂部の候補のうち、鉛直方向の値が最小となる頭頂部の候補の位置を、前記競技者の頭頂部の位置として推定することを特徴とする請求項8に記載の推定方法。
  13.  競技者の頭部が所定の状態の画像を機械学習モデルに入力することで、前記競技者の顔に含まれる複数の関節の位置を特定する生成部と、
     前記複数の関節の位置のそれぞれを用いて、前記競技者の頭頂部の位置を推定する推定部と、
     有することを特徴とする情報処理装置。
  14.  前記推定部は、人物の顔に含まれる複数の関節の位置と前記人物の頭頂部とを定義した定義情報と、前記競技者の顔に含まれる複数の関節の位置を示す認識情報とを基にして、前記定義情報の複数の関節の位置を、前記認識情報の複数の関節の位置に合わせるパラメータを推定し、前記パラメータと、前記定義情報の頭頂部の座標とを基にして、前記競技者の頭頂部の位置を推定することを特徴とする請求項13に記載の情報処理装置。
  15.  前記機械学習モデルに入力される画像は、背景の色と前記競技者の髪の色とが類似している状態の画像、前記競技者の髪が乱れている状態の画像、または、前記競技者の頭が隠れている状態の画像のうち、何れかの画像であることを特徴とする請求項13に記載の情報処理装置。
  16.  前記頭頂部の位置を基にして、平均台または床運動に関する演技を評価する技認識部を更に有することを特徴とする請求項13に記載の情報処理装置。
  17.  前記推定部によって推定された前記競技者の頭頂部の位置が異常であるか否かを判定する異常検知部と、前記競技者の頭頂部の位置が異常である場合に、前記前記競技者の頭頂部の位置を補正する補正部を更に有することを特徴とする請求項13に記載の情報処理装置。
  18.  前記定義情報は、複数の頭頂部の候補を有し、前記推定部は、前記パラメータを、前記定義情報に適用した場合に、前記複数の頭頂部の候補のうち、鉛直方向の値が最小となる頭頂部の候補の位置を、前記競技者の頭頂部の位置として推定することを特徴とする請求項14に記載の情報処理装置。
PCT/JP2021/037972 2021-10-13 2021-10-13 推定プログラム、推定方法および情報処理装置 WO2023062762A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180103161.1A CN118103866A (zh) 2021-10-13 2021-10-13 估计程序、估计方法以及信息处理装置
JP2023553833A JPWO2023062762A1 (ja) 2021-10-13 2021-10-13
PCT/JP2021/037972 WO2023062762A1 (ja) 2021-10-13 2021-10-13 推定プログラム、推定方法および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/037972 WO2023062762A1 (ja) 2021-10-13 2021-10-13 推定プログラム、推定方法および情報処理装置

Publications (1)

Publication Number Publication Date
WO2023062762A1 true WO2023062762A1 (ja) 2023-04-20

Family

ID=85987666

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/037972 WO2023062762A1 (ja) 2021-10-13 2021-10-13 推定プログラム、推定方法および情報処理装置

Country Status (3)

Country Link
JP (1) JPWO2023062762A1 (ja)
CN (1) CN118103866A (ja)
WO (1) WO2023062762A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877334A (ja) * 1994-09-09 1996-03-22 Konica Corp 顔画像の特徴点自動抽出方法
JP2007252617A (ja) * 2006-03-23 2007-10-04 Kao Corp ヘアスタイルシミュレーション画像の形成方法
JP2018057596A (ja) 2016-10-05 2018-04-12 コニカミノルタ株式会社 関節位置推定装置および関節位置推定プログラム
JP2021026265A (ja) 2019-07-31 2021-02-22 富士通株式会社 画像処理装置、画像処理プログラム、及び画像処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877334A (ja) * 1994-09-09 1996-03-22 Konica Corp 顔画像の特徴点自動抽出方法
JP2007252617A (ja) * 2006-03-23 2007-10-04 Kao Corp ヘアスタイルシミュレーション画像の形成方法
JP2018057596A (ja) 2016-10-05 2018-04-12 コニカミノルタ株式会社 関節位置推定装置および関節位置推定プログラム
JP2021026265A (ja) 2019-07-31 2021-02-22 富士通株式会社 画像処理装置、画像処理プログラム、及び画像処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ITO, KENTARO; TSURUTA, SEIYA; CHOI, WOONG; SEKIGUCHI, HIROYUKI; HACHIMURA, KOZABURO: "Recognition of Dance Steps with KANSEI Information", JINMONKON 2009 PROCEEDINGS, vol. 16, 11 December 2009 (2009-12-11), pages 147 - 154, XP009545542 *

Also Published As

Publication number Publication date
JPWO2023062762A1 (ja) 2023-04-20
CN118103866A (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
US11763603B2 (en) Physical activity quantification and monitoring
JP4585471B2 (ja) 特徴点検出装置及びその方法
JP7367764B2 (ja) 骨格認識方法、骨格認識プログラムおよび情報処理装置
US11138419B2 (en) Distance image processing device, distance image processing system, distance image processing method, and non-transitory computer readable recording medium
US11087493B2 (en) Depth-image processing device, depth-image processing system, depth-image processing method, and recording medium
US11403882B2 (en) Scoring metric for physical activity performance and tracking
JP7164045B2 (ja) 骨格認識方法、骨格認識プログラムおよび骨格認識システム
WO2019069358A1 (ja) 認識プログラム、認識方法および認識装置
JP7037159B2 (ja) 被験者の顎運動を測定するためのシステム、プログラム、および方法
CN110910426A (zh) 动作过程和动作趋势识别方法、存储介质和电子装置
JP2021527888A (ja) 軸外カメラを使用して眼追跡を実施するための方法およびシステム
JP7318814B2 (ja) データ生成方法、データ生成プログラムおよび情報処理装置
WO2023062762A1 (ja) 推定プログラム、推定方法および情報処理装置
CN115223240B (zh) 基于动态时间规整算法的运动实时计数方法和系统
KR102468648B1 (ko) 영상에 대한 원격 광용적맥파신호를 이용하여 사람의 심박수를 산출하는 방법
WO2020121500A1 (ja) 推定方法、推定プログラムおよび推定装置
JP4830585B2 (ja) 画像処理装置および画像処理方法
JP5688514B2 (ja) 視線計測システム、方法およびプログラム
WO2023188217A1 (ja) 情報処理プログラム、情報処理方法、および情報処理装置
JP2021099666A (ja) 学習モデルの生成方法
JP7419993B2 (ja) 信頼度推定プログラム、信頼度推定方法、および信頼度推定装置
WO2024135013A1 (ja) 行動解析方法、行動解析プログラム、および行動解析システム
WO2023223508A1 (ja) 映像処理装置、映像処理方法、およびプログラム
WO2022190206A1 (ja) 骨格認識方法、骨格認識プログラムおよび体操採点支援システム
WO2023162223A1 (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: 21960620

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023553833

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2021960620

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: 2021960620

Country of ref document: EP

Effective date: 20240513