WO2020084667A1 - 認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置 - Google Patents
認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置 Download PDFInfo
- Publication number
- WO2020084667A1 WO2020084667A1 PCT/JP2018/039215 JP2018039215W WO2020084667A1 WO 2020084667 A1 WO2020084667 A1 WO 2020084667A1 JP 2018039215 W JP2018039215 W JP 2018039215W WO 2020084667 A1 WO2020084667 A1 WO 2020084667A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- learning
- subject
- input
- information
- recognition
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/03—Recognition of patterns in medical or anatomical images
- G06V2201/033—Recognition of patterns in medical or anatomical images of skeletal patterns
Definitions
- the present invention relates to a recognition method, a recognition program, a recognition device, a learning method, a learning program, and a learning device.
- the skeleton of people such as athletes and patients is recognized.
- a change area image that changes using a background image is extracted from an input image including an object, and the position of the object is detected by connecting the input image and the change area image and using a convolutional neural network.
- the technology is known.
- a technique is known in which a heat map image indicating the reliability of existence of a limb is estimated by a learning model using an image as an input, and the position of the limb is calculated based on the estimation result.
- a 3D (Three-dimensional) laser sensor is used to acquire a distance image, which is three-dimensional data of the player, and the direction and angle of each joint of the player are obtained from the distance image. Recognizing the skeleton, it is performed to score the skills that have been performed.
- DL Deep Learning
- machine learning such as deep learning (DL: Deep Learning) to recognize the skeleton including each joint.
- DL deep learning
- a distance image of a subject is acquired by a 3D laser sensor, the distance image is input to a neural network, and a learning model for recognizing each joint by deep learning is learned.
- a method of recognizing each joint by inputting the distance image of the subject acquired by the 3D laser sensor into a learned learning model to acquire a heat map image indicating the existence probability (likelihood) of each joint Conceivable.
- the recognition accuracy is low.
- the joints that are paired on the left and right of the human body such as the elbows, wrists, knees, and limbs, are the opposite of the correct joint. May be recognized by.
- the computer executes a process of generating posture information that specifies the posture of the subject based on a range image including the subject.
- the computer executes a process of inputting the posture information together with the distance image into a learned model learned to recognize the skeleton of the subject.
- the recognition method executes a process of identifying the skeleton of the subject using the output result of the learned model.
- FIG. 1 is a diagram illustrating an example of the overall configuration of a system including the recognition device according to the first embodiment.
- FIG. 2 is a diagram illustrating the learning process and the recognition process according to the first embodiment.
- FIG. 3 is a functional block diagram of the functional configurations of the learning device and the recognition device according to the first embodiment.
- FIG. 4 is a diagram showing an example of definition information stored in the skeleton definition DB.
- FIG. 5 is a diagram showing an example of learning data stored in the learning data DB.
- FIG. 6 is a diagram showing an example of a distance image and a heat map image.
- FIG. 7 is a flowchart illustrating the flow of processing according to the first embodiment.
- FIG. 8 is a diagram illustrating a comparative example of recognition results of skeleton information.
- FIG. 9 is a diagram for explaining the input of posture information.
- FIG. 10 is a diagram illustrating the angle value and the trigonometric function.
- FIG. 11 is a diagram illustrating
- FIG. 1 is a diagram illustrating an example of the overall configuration of a system including the recognition device according to the first embodiment. As shown in FIG. 1, this system has a 3D laser sensor 5, a learning device 10, a recognition device 50, and a scoring device 90. The 3D data of the actor 1 who is the subject is imaged to recognize the skeleton and the like. This is a system for scoring accurate moves. In the present embodiment, an example in which the skeleton information of the performer in the gymnastics competition is recognized will be described as an example.
- the recognition device 50 uses the distance image obtained from the 3D laser sensor to recognize the skeleton information of a person by deep learning, in particular, the left and right joints are accurately recognized without erroneous recognition. To recognize.
- the 3D laser sensor 5 is an example of a sensor device that measures (sensing) the distance of an object for each pixel using an infrared laser or the like.
- the distance image includes the distance to each pixel. That is, the distance image is a depth image representing the depth of the subject viewed from the 3D laser sensor (depth sensor) 5.
- the learning device 10 is an example of a computer device that learns a learning model for skeleton recognition. Specifically, the learning device 10 learns a learning model using machine learning such as deep learning using CG data acquired in advance as learning data.
- the recognition device 50 is an example of a computer device that recognizes a skeleton regarding the orientation, position, etc. of each joint of the performer 1, using the distance image measured by the 3D laser sensor 5. Specifically, the recognition device 50 inputs the distance image measured by the 3D laser sensor 5 into the learned learning model learned by the learning device 10, and recognizes the skeleton based on the output result of the learning model. . Then, the recognition device 50 outputs the recognized skeleton to the scoring device 90.
- the scoring device 90 is an example of a computer device that uses the skeleton recognized by the recognizing device 50 to specify the position and orientation of each joint of the performer and to specify and score the move performed by the performer.
- FIG. 2 is a diagram illustrating the learning process and the recognition process according to the first embodiment.
- the learning device 10 reads the posture information, the distance image, and the heat map image indicating the correct value from the learning data prepared in advance. Then, the learning device 10 inputs the posture information to the neural network when performing learning of the learning model A using the neural network using the distance image as the input data and the teacher data having the correct value as the correct label. To learn.
- the recognition device 50 acquires the distance image measured by the 3D laser sensor 5
- the recognition device 50 inputs it to the learning model B for posture recognition that has been learned in advance, and acquires the posture information.
- the recognition device 50 inputs the measured distance image and the acquired posture information into the learned learning model A learned by the learning device 10 and outputs the heat map image as the output result of the learning model A. get.
- the recognition device 50 specifies the position (coordinate value) of each joint from the heat map image.
- FIG. 3 is a functional block diagram illustrating the functional configurations of the learning device 10 and the recognition device 50 according to the first embodiment.
- the scoring device 90 has the same configuration as a general device that determines the precision of a technique using information such as joints and scores the performance of the performer, and thus detailed description thereof will be omitted.
- the learning device 10 includes a communication unit 11, a storage unit 12, and a control unit 20.
- the communication unit 11 is a processing unit that controls communication with other devices, and is, for example, a communication interface.
- the communication unit 11 outputs the learning result and the like to the recognition device 50.
- the storage unit 12 is an example of a storage device that stores data and programs executed by the control unit 20, and is, for example, a memory or a hard disk.
- the storage unit 12 stores a skeleton definition DB 13, a learning data DB 14, and a learning result DB 15.
- the skeleton definition DB 13 is a database that stores definition information for specifying each joint on the skeleton model.
- the definition information stored here may be measured for each performer by 3D sensing using a 3D laser sensor, or may be defined using a skeleton model of a general system.
- FIG. 4 is a diagram showing an example of definition information stored in the skeleton definition DB 13.
- the skeleton definition DB 13 stores 18 (0 to 17) definition information in which each joint specified by a known skeleton model is numbered.
- the right shoulder joint SHOULDER_RIGHT
- the left elbow joint ELBOW_LEFT
- the left knee joint KNEE_LEFT
- No. 14 is given to the right hip joint (HIP_RIGHT).
- the X coordinate of the right shoulder joint No. 8 may be described as X8, the Y coordinate as Y8, and the Z coordinate as Z8.
- the Z axis can be defined as a distance direction from the 3D laser sensor 5 to the object
- the Y axis can be defined as a height direction perpendicular to the Z axis
- the X axis can be defined as a horizontal direction.
- the learning data DB 14 is a database that stores learning data (training data) used to construct a learning model for recognizing a skeleton.
- FIG. 5 is a diagram showing an example of learning data stored in the learning data DB 14. As shown in FIG. 5, the learning data DB 14 stores “item number, image information, skeleton information” in association with each other.
- the "item number” stored here is an identifier for identifying learning data.
- the “image information” is data of a distance image whose position such as a joint is known.
- “Skeletal information” is positional information of the skeleton, and is joint positions (three-dimensional coordinates) corresponding to each of the 18 joints shown in FIG. That is, the image information is used as input data and the skeleton information is used as a correct answer label for supervised learning.
- FIG. 4 it is shown that the positions of 18 joints including the coordinates “X3, Y3, Z3” of HEAD are known in the “image data A1” which is a distance image.
- the learning result DB 15 is a database that stores learning results.
- the learning result DB 15 stores a discrimination result (classification result) of learning data by the control unit 20 and various parameters learned by machine learning and the like.
- the control unit 20 is a processing unit that controls the entire recognition device 50, and is, for example, a processor.
- the control unit 20 includes a learning processing unit 30 and executes learning processing of a learning model.
- the learning processing unit 30 is an example of an electronic circuit such as a processor and an example of a process included in the processor.
- the learning processing unit 30 includes a correct value reading unit 31, a heat map generation unit 32, an image generation unit 33, a posture recognition unit 34, and a learning unit 35, and performs a learning model learning process for recognizing each joint.
- the posture recognition unit 34 is an example of a generation unit
- the learning unit 35 is an example of an input unit and a learning unit
- the heat map generation unit 32 is an example of a generation unit.
- the correct value reading unit 31 is a processing unit that reads the correct value from the learning data DB 14. For example, the correct value reading unit 31 reads the “skeleton information” of the learning data that is the learning target, and outputs it to the heat map generation unit 32.
- the heat map generation unit 32 is a processing unit that generates a heat map image.
- the heat map generation unit 32 uses the “skeleton information” input from the correct value reading unit 31 to generate a heat map image of each joint and outputs the heat map image to the learning unit 35. That is, the heat map generation unit 32 generates the heat map image corresponding to each joint using the position information (coordinates) of each of the 18 joints that is the correct value.
- the heat map generation unit 32 sets the coordinate position read by the correct value reading unit 31 as the position with the highest likelihood (presence isolation), and that position has the radius Xcm as the position with the next highest likelihood, and further that position.
- a radius of X cm is set as the position with the next highest likelihood, and a heat map image is generated.
- X is a threshold value and is an arbitrary number. The details of the heat map image will be described later.
- the image generation unit 33 is a processing unit that generates a distance image. For example, the image generation unit 33 reads the distance image stored in the image information associated with the skeleton information read by the correct answer value reading unit 31 among the learning data stored in the learning data DB 14, and the learning unit 35 reads the distance image. Output.
- the posture recognition unit 34 is a processing unit that calculates posture information using the skeletal information of the learning data. For example, the posture recognition unit 34 uses the skeletal position information of each joint and the skeletal definition information stored in FIG. 4 to rotate the spine and the shoulders. Is calculated and the calculation result is output to the learning unit 35.
- the axis of the spine is an axis connecting, for example, HEAD (3) and SPINE_BASE (0) shown in FIG. 4, and the axes of both shoulders are, for example, SHOULDER_RIGHT (7) to SHOULDER_LEFT (4) shown in FIG. It is an axis that connects with.
- the learning unit 35 is a processing unit that executes supervised learning for deep learning that uses a multilayered neural network as a learning model, that is, a learning model that uses so-called deep learning. For example, the learning unit 35 inputs the distance image data generated by the image generation unit 33 into the input data and the posture information generated by the posture recognition unit 34 into the neural network. Then, the learning unit 35 acquires the heat map image of each joint as the output of the neural network. After that, the learning unit 35 compares the heat map image of each joint, which is the output of the neural network, with the heat map image of each joint, which is the correct label generated by the heat map generation unit 32. Then, the learning unit 35 learns the neural network by using the error back propagation method or the like so that the error of each joint is minimized.
- FIG. 6 is a diagram showing an example of a distance image and a heat map image.
- the distance image is data including the distance from the 3D laser sensor 5 to the pixel, and the closer the distance from the 3D laser sensor 5, the darker the image is displayed.
- the heat map image is an image generated for each joint and visualizing the likelihood of each joint position, and the coordinate position with the highest likelihood has a darker color. Is displayed.
- the shape of the person is not normally displayed in the heat map image, the shape of the person is shown in FIG. 6 for easy understanding of the description, but the display format of the image is not limited.
- the learning unit 35 stores various parameters in the neural network as learning results in the learning result DB 15.
- the timing for ending the learning can be set arbitrarily such as when the learning using a predetermined number or more of learning data is completed or when the error is less than the threshold value.
- the recognition device 50 includes a communication unit 51, a storage unit 52, and a control unit 60.
- the communication unit 11 is a processing unit that controls communication with other devices, and is, for example, a communication interface.
- the communication unit 51 acquires the learning result from the learning device 10, acquires the distance image from the 3D laser sensor 5, and transmits the skeleton information of the performer 1 to the scoring device 90.
- the storage unit 52 is an example of a storage device that stores data and a program executed by the control unit 60, and is, for example, a memory or a hard disk.
- the storage unit 52 stores a skeleton definition DB 53, a learning result DB 54, and a calculation result DB 55. Since the skeleton definition DB 53 stores the same information as the skeleton definition DB 13, and the learning result DB 54 stores the same information as the learning result DB 15, detailed description will be omitted.
- the calculation result DB 55 is a database that stores information about each joint calculated by the control unit 60 described later. Specifically, the calculation result DB 55 stores the result recognized from the distance image by the recognition device 50.
- the control unit 60 is a processing unit that controls the entire recognition device 50, and is, for example, a processor.
- the control unit 60 has a recognition processing unit 70 and executes learning processing of a learning model.
- the recognition processing unit 70 is an example of an electronic circuit such as a processor and an example of a process included in the processor.
- the recognition processing unit 70 is a processing unit that has an image acquisition unit 71, a posture recognition unit 72, a recognition unit 73, and a calculation unit 74, and executes skeleton recognition.
- the posture recognition unit 72 is an example of a generation unit
- the recognition unit 73 is an example of an input unit
- the calculation unit 74 is an example of a specification unit.
- the image acquisition unit 71 is a processing unit that acquires a range image of a skeleton recognition target. For example, the image acquisition unit 71 acquires the distance image measured by the 3D laser sensor 5 and outputs the distance image to the posture recognition unit 72 and the recognition unit 73.
- the posture recognition unit 72 is a processing unit that recognizes posture information from a range image. For example, the posture recognition unit 72 inputs the distance image acquired by the image acquisition unit 71 into a learning model for posture recognition that has been learned in advance. Then, the posture recognizing unit 72 outputs the output value output from the other learning model to the recognizing unit 73 as posture information.
- a known learning model or the like can be used as the learning model for posture recognition used here, and not only the learning model but also a known calculation formula or the like can be adopted. That is, any method may be used as long as the posture information can be acquired from the distance image.
- the recognition unit 73 is a processing unit that executes skeleton recognition using a learned learning model learned by the learning device 10. For example, the recognition unit 73 reads various parameters stored in the learning result DB 54 and constructs a learning model using a neural network in which various parameters are set.
- the recognition unit 73 inputs the distance image acquired by the image acquisition unit 71 and the posture information acquired by the posture recognition unit 72 into the learned learning model that has been constructed, and outputs the result of each joint as an output result. Recognize heatmap images. That is, the recognition unit 73 acquires the heat map image corresponding to each of the 18 joints using the learned learning model, and outputs the heat map image to the calculation unit 74.
- the calculation unit 74 is a processing unit that calculates the position of each joint from the heat map image of each joint acquired by the recognition unit 73. For example, the calculation unit 74 acquires the maximum likelihood coordinate in the heat map of each joint. That is, the calculation unit 74 acquires the coordinates of the maximum likelihood for the heat map images of 18 joints, such as the heat map image of HEAD (3) and the heat map image of SHOULDER_RIGHT (7).
- the calculation unit 74 stores the maximum likelihood coordinate at each joint in the calculation result DB 55 as the calculation result.
- FIG. 7 is a flowchart illustrating the flow of processing according to the first embodiment. Although an example in which the recognition process is executed after the learning process is described here, the present invention is not limited to this, and the recognition process can be realized by separate flows.
- the learning device 10 receives the instruction to start learning (S101: Yes)
- the learning data is read from the learning data DB 14 (S102).
- the learning device 10 acquires a distance image from the read learning data (S103) and calculates posture information from the skeletal information of the learning data (S104). Further, the learning device 10 acquires the skeleton information which is the correct value from the learning data (S105), and generates the heat map image of each joint from the acquired skeleton information (S106).
- the learning device 10 inputs the distance image as the input data and the heat map image of each joint as the correct label into the neural network, and inputs the posture information into the neural network to execute the model learning (S107). .
- learning is continued (S108: No), S102 and subsequent steps are repeated.
- the recognition device 50 acquires the distance image from the 3D laser sensor 5 (S110).
- the recognition device 50 inputs the distance image acquired in S110 into a learning model for posture recognition that has been learned in advance, and acquires the output result as posture information (S111). After that, the recognition device 50 inputs the distance image acquired in S110 and the posture information acquired in S111 to the learned learning model learned in S107, and outputs the output result as a heat map image of each joint. (S112).
- the recognition device 50 acquires the position information of each joint based on the acquired heat map image of each joint (S113), and converts the acquired position information of each joint into a two-dimensional coordinate or the like for calculation. The result is output to the DB 16 (S114).
- the recognition device 50 uses the distance image obtained from the 3D laser sensor 5 to recognize the orientation of the person with respect to the 3D laser sensor 5 (posture information when recognizing a human joint or the like by deep learning). ) Is given to the neural network. That is, it gives information such as deep learning to machine learning such as which person on the distance image is right and which is left. As a result, the recognition device 50 can correctly recognize the left and right joints in the human body such as the elbow, the wrist, and the knee without making a mistake.
- FIG. 8 is a diagram illustrating a comparative example of recognition results of skeleton information.
- a heat map image of each joint obtained from a learned learning model is shown
- a black circle in the drawing shows a known correct value (position) of the joint
- a cross mark in the drawing shows a final value.
- the position of the joint recognized in is shown.
- heat map images of four joints are shown and described.
- the recognition device 50 in the learning model using the method according to the first embodiment, not only the distance image but also the posture information is used to learn and estimate the skeleton recognition. Therefore, the recognition device 50 according to the first embodiment can perform skeleton recognition by the learning model using the distance image and the posture information as input data, and can output the recognition result in which the left and right are accurately recognized.
- the learning device 10 and the recognition device 50 can control the layer to which the posture information is input. it can.
- the recognition device 50 is described here as an example, the learning device 10 can be processed in the same manner.
- a neural network has a multi-stage structure including an input layer, an intermediate layer (hidden layer), and an output layer, and each layer has a structure in which a plurality of nodes are connected by edges.
- Each layer has a function called "activation function”, edges have "weights”, and the value of each node has the value of the node of the previous layer, the weight value of connection edge (weight coefficient), and the layer has Calculated from the activation function.
- activation function edges have "weights”
- weights weights
- the value of each node has the value of the node of the previous layer, the weight value of connection edge (weight coefficient), and the layer has Calculated from the activation function.
- weight coefficient weight coefficient
- learning in the neural network is to modify the parameters, that is, the weight and the bias, so that the output layer has the correct value.
- the "loss function" that indicates how far the value of the output layer is from the correct state (desired state) is defined for the neural network, and the steepest descent method etc. Is used to update the weight and bias so that the loss function is minimized.
- the input value is given to the neural network, the neural network calculates the predicted value based on the input value, the predicted value is compared with the teacher data (correct value), the error is evaluated, and the obtained error is calculated.
- the learning model is learned and constructed by sequentially correcting the value of the connection weight (synapse coefficient) in the neural network based on the above.
- the recognition device 50 can use CNN (Convolutional Neural Network) or the like as a method using such a neural network. Then, at the time of learning or recognition, the recognition device 50 inputs posture information to the first intermediate layer among the intermediate layers of the neural network to perform learning or recognition. By doing so, the feature amount can be extracted by each intermediate layer while the posture information is input, so that the joint recognition accuracy can be improved.
- CNN Convolutional Neural Network
- the recognition device 50 can also input posture information to the layer having the smallest size in the middle layer to perform learning or recognition.
- CNN has a convolutional layer and a pooling layer as an intermediate layer (hidden layer).
- the convolutional layer filters the nearby nodes in the previous layer to generate a feature map, and the pooling layer further reduces the feature map output from the convolutional layer to generate a new feature map. . That is, the convolutional layer extracts local features of the image, and the pooling layer performs a process of aggregating the local features, thereby reducing the image while maintaining the features of the input image.
- the recognition device 50 inputs the posture information for the layer having the smallest input image input to each layer.
- the posture information can be input when the features of the input image (distance image) input to the input layer are most extracted, and when the original image is restored from the feature amount thereafter. Since it is possible to perform restoration with consideration of posture information, it is possible to improve joint recognition accuracy.
- FIG. 9 is a diagram for explaining the input of posture information.
- the neural network is composed of an input layer, an intermediate layer (hidden layer), and an output layer, and an error between the input data of the neural network and the output data output from the neural network is minimized. Be learned.
- the recognition device 50 inputs the posture information to the first layer (a) of the intermediate layers, and executes the learning process and the recognition process.
- the recognition device 50 inputs the posture information to the layer (b) in which the input image input to each layer is the minimum, and executes the learning process and the recognition process.
- FIG. 10 is a diagram illustrating the angle value and the trigonometric function.
- the axis of the spine is shown by ab and the axes of both shoulders are shown by cd.
- the recognition device 50 uses the angle ⁇ as an angle value when the axis of the spine of the performer is inclined by the angle ⁇ from the ab axis.
- the recognition device 50 uses sin ⁇ or cos ⁇ as a trigonometric function when the axis of the performer's spine is tilted from the ab axis by an angle ⁇ .
- the calculation cost can be reduced and the processing time for learning processing and recognition processing can be shortened.
- the trigonometric function the boundary changing from 360 degrees to 0 degrees can be accurately recognized, and learning accuracy or recognition accuracy can be improved as compared with the case where the angle value is used.
- the example of the spine is described as the axis, but the same can be applied to the axes of both shoulders. Further, the learning device 10 can be processed in the same manner.
- the gymnastics competition was described as an example, but the invention is not limited to this and the invention can be applied to other competitions in which the athlete performs a series of techniques and the referee scores.
- Examples of other competitions include figure skating, rhythmic gymnastics, cheerleading, swimming diving, karate style, and mogul air.
- the present invention can be applied to not only sports but also posture detection of drivers such as trucks, taxis, and trains, and posture detection of pilots.
- each component of each illustrated device is functionally conceptual, and does not necessarily have to be physically configured as illustrated. That is, the specific form of distribution and integration of each device is not limited to that shown in the drawings. That is, all or part of them can be functionally or physically distributed / integrated in arbitrary units according to various loads or usage conditions.
- the learning device 10 and the recognition device 50 can be realized by the same device.
- each processing function performed by each device may be realized in whole or in part by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by a wired logic.
- FIG. 11 is a diagram illustrating a hardware configuration example.
- the computer 100 includes a communication device 100a, an HDD (Hard Disk Drive) 100b, a memory 100c, and a processor 100d. Further, the respective parts shown in FIG. 11 are mutually connected by a bus or the like.
- HDD Hard Disk Drive
- the communication device 100a is a network interface card or the like, and communicates with other servers.
- the HDD 100b stores a program for operating the functions shown in FIG. 2 and a DB.
- the processor 100d reads a program that executes the same processing as each processing unit shown in FIG. 2 from the HDD 100b or the like and expands it in the memory 100c to operate the process that executes each function described in FIG. 2 or the like. That is, this process performs the same function as each processing unit included in the recognition device 50. Specifically, the processor 100d reads a program having the same function as the recognition processing unit 70 or the like from the HDD 100b or the like. Then, the processor 100d executes a process that executes the same process as the recognition processing unit 70 and the like.
- the recognition device 50 operates as an information processing device that executes the recognition method by reading and executing the program. Further, the recognition device 50 can also realize the same function as that of the above-described embodiment by reading the program from the recording medium by the medium reading device and executing the read program.
- the programs referred to in the other embodiments are not limited to being executed by the recognition device 50.
- the present invention can be similarly applied to the case where another computer or server executes the program, or when these cooperate with each other to execute the program.
- the learning device 10 can also be processed using the same hardware configuration.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
認識装置は、被写体を含む距離画像に基づいて、被写体の姿勢を特定する姿勢情報を生成する。認識装置は、距離画像とともに姿勢情報を、被写体の骨格を認識するために学習された学習済みモデルに入力する。その後、認識装置は、学習済みモデルの出力結果を用いて、被写体の骨格を特定する。この結果、認識装置は、肘、手首、膝、手足の位置などの人体において左右で対になっている関節の左右の誤認識を抑制し、骨格の認識精度を向上させることができる。
Description
本発明は、認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置に関する。
体操や医療などの幅広い分野において、選手や患者などの人の骨格を認識することが行われている。例えば、オブジェクトを含む入力画像から、背景画像を用いて変化する変化領域画像を抽出し、入力画像と変化領域画像とを結合して畳込み型ニューラルネットワークを利用することによりオブジェクトの位置を検出する技術が知られている。また、画像を入力として、学習モデルにより手足が存在する信頼度を示すヒートマップ画像を推定し、推定結果に基づいて手足の位置を算出する技術が知られている。
また、体操競技を例にすると、近年では、3D(Three-dimensional)レーザセンサにより選手の3次元データである距離画像を取得し、距離画像から選手の各関節の向きや各関節の角度である骨格を認識して、演技した技などを採点することが行われている。
ところで、各関節を含む骨格の認識に、深層学習(ディープラーニング(DL:Deep Learning))などの機械学習を用いることも考えられる。ディープラーニングを例にして説明すると、学習時は、3Dレーザセンサにより被写体の距離画像を取得し、距離画像をニューラルネットワークに入力し、ディープラーニングによって各関節を認識する学習モデルを学習する。認識時には、3Dレーザセンサにより取得された被写体の距離画像を学習済みの学習モデルに入力して、各関節の存在確率(尤度)を示すヒートマップ画像を取得し、各関節を認識する手法が考えられる。
しかしながら、機械学習を用いた学習モデルを単純に骨格の認識等に適用した場合、認識精度が低い。例えば、距離画像からでは人がどちらを向いているのかがわからないので、肘、手首、膝、手足の位置などの人体において左右で対になっている関節等が、正しい関節と比較して左右反対に認識されることがある。
一つの側面では、機械学習を用いた学習モデルを使った骨格認識の精度を向上させることができる認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置を提供することを目的とする。
第1の案では、認識方法は、コンピュータが、被写体を含む距離画像に基づいて、前記被写体の姿勢を特定する姿勢情報を生成する処理を実行する。認識方法は、コンピュータが、前記距離画像とともに前記姿勢情報を、前記被写体の骨格を認識するために学習された学習済みモデルに入力する処理を実行する。認識方法は、コンピュータが、前記学習済みモデルの出力結果を用いて、前記被写体の骨格を特定する処理を実行する。
一つの側面では、機械学習を用いた学習モデルを使った骨格認識の精度を向上させることができる。
以下に、本発明にかかる認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
[全体構成]
図1は、実施例1にかかる認識装置を含むシステムの全体構成例を示す図である。図1に示すように、このシステムは、3Dレーザセンサ5、学習装置10、認識装置50、採点装置90を有し、被写体である演技者1の3Dデータを撮像し、骨格等を認識して正確な技の採点を行うシステムである。なお、本実施例では、一例として、体操競技における演技者の骨格情報を認識する例で説明する。
図1は、実施例1にかかる認識装置を含むシステムの全体構成例を示す図である。図1に示すように、このシステムは、3Dレーザセンサ5、学習装置10、認識装置50、採点装置90を有し、被写体である演技者1の3Dデータを撮像し、骨格等を認識して正確な技の採点を行うシステムである。なお、本実施例では、一例として、体操競技における演技者の骨格情報を認識する例で説明する。
一般的に、体操競技における現在の採点方法は、複数の採点者によって目視で行われているが、技の高度化に伴い、採点者の目視では採点が困難になっている。近年では、3Dレーザセンサにより選手の3次元データである距離画像を取得し、距離画像から選手の各関節の向きや各関節の角度である骨格を認識して、演技した技などを採点する技術の開発が行われている。しかし、距離画像のみを用いた学習では、演技者がどちらを向いているのかがわからないので、肘、手首、膝、手足の位置などの人体において左右で対になっている関節の誤認識が発生することがある。このような誤認識の発生に伴い、採点者への情報提供が不正確となり、演技・技の誤認識による採点ミスの発生などが懸念される。
そこで、実施例1にかかる認識装置50は、3Dレーザセンサから得られた距離画像を用いて、ディープラーニングにより人の骨格情報を認識する際、特に、左右の関節を誤認識せずに高精度に認識する。
まず、図1におけるシステムを構成する各装置について説明する。3Dレーザセンサ5は、赤外線レーザ等を用いて対象物の距離を画素ごとに測定(センシング)するセンサ装置の一例である。距離画像には、各画素までの距離が含まれる。つまり、距離画像は、3Dレーザセンサ(深度センサ)5から見た被写体の深度を表す深度画像である。
学習装置10は、骨格認識用の学習モデルを学習するコンピュータ装置の一例である。具体的には、学習装置10は、事前に取得したCGデータなどを学習データとして使用して、ディープラーニングなどの機械学習を用いて学習モデルを学習する。
認識装置50は、3Dレーザセンサ5により測定された距離画像を用いて、演技者1の各関節の向きや位置等に関する骨格を認識するコンピュータ装置の一例である。具体的には、認識装置50は、3Dレーザセンサ5により測定された距離画像を、学習装置10によって学習された学習済みの学習モデルに入力し、学習モデルの出力結果に基づいて骨格を認識する。その後、認識装置50は、認識された骨格を採点装置90に出力する。
採点装置90は、認識装置50により認識された骨格を用いて、演技者の各関節の位置や向きを特定し、演技者が演技した技の特定および採点を実行するコンピュータ装置の一例である。
ここで、学習処理及び認識処理について説明する。図2は、実施例1にかかる学習処理および認識処理を説明する図である。図2に示すように、学習装置10は、予め用意された学習データから、姿勢情報と、距離画像と、正解値を示すヒートマップ画像とを読み込む。そして、学習装置10は、距離画像を入力データ、正解値を正解ラベルとする教師データを用いて、ニューラルネットワークを用いた学習モデルAの学習を実行する際に、ニューラルネットワークに姿勢情報を入力して学習する。
その後、認識装置50は、3Dレーザセンサ5によって測定された距離画像を取得すると、予め学習された姿勢認識用の学習モデルBに入力して、姿勢情報を取得する。そして、認識装置50は、学習装置10によって学習された学習済みの学習モデルAに、測定された距離画像と取得された姿勢情報とを入力して、学習モデルAの出力結果としてヒートマップ画像を取得する。その後、認識装置50は、ヒートマップ画像から各関節の位置(座標値)などを特定する。
このように、上記システムでは、学習モデル生成のために、機械学習への入力データに、距離画像だけでなく、3Dレーザセンサ5に対する人の向きの情報(姿勢情報)を与えることで、骨格の認識精度を向上させることができる。
[機能構成]
図3は、実施例1にかかる学習装置10と認識装置50の機能構成を示す機能ブロック図である。なお、採点装置90は、関節などの情報を用いて技の精度を判定し、演技者の演技を採点する一般的な装置と同様の構成を有するので、詳細な説明は省略する。
図3は、実施例1にかかる学習装置10と認識装置50の機能構成を示す機能ブロック図である。なお、採点装置90は、関節などの情報を用いて技の精度を判定し、演技者の演技を採点する一般的な装置と同様の構成を有するので、詳細な説明は省略する。
(学習装置10の機能構成)
図3に示すように、学習装置10は、通信部11、記憶部12、制御部20を有する。通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、学習結果などを認識装置50に出力する。
図3に示すように、学習装置10は、通信部11、記憶部12、制御部20を有する。通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、学習結果などを認識装置50に出力する。
記憶部12は、データや制御部20が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部12は、骨格定義DB13、学習データDB14、学習結果DB15を記憶する。
骨格定義DB13は、骨格モデル上の各関節を特定するための定義情報を記憶するデータベースである。ここで記憶される定義情報は、3Dレーザセンサによる3Dセンシングによって演技者ごとに測定してもよく、一般的な体系の骨格モデルを用いて定義してもよい。
図4は、骨格定義DB13に記憶される定義情報の例を示す図である。図4に示すように、骨格定義DB13は、公知の骨格モデルで特定される各関節をナンバリングした、18個(0番から17番)の定義情報を記憶する。例えば、図4に示すように、右肩関節(SHOULDER_RIGHT)には7番が付与され、左肘関節(ELBOW_LEFT)には5番が付与され、左膝関節(KNEE_LEFT)には11番が付与され、右股関節(HIP_RIGHT)には14番が付与される。ここで、実施例では、8番の右肩関節のX座標をX8、Y座標をY8、Z座標をZ8と記載する場合がある。なお、例えば、Z軸は、3Dレーザセンサ5から対象に向けた距離方向、Y軸は、Z軸に垂直な高さ方向、X軸は、水平方向をと定義することができる。
学習データDB14は、骨格を認識するための学習モデルの構築に利用される学習データ(訓練データ)を記憶するデータベースである。図5は、学習データDB14に記憶される学習データの例を示す図である。図5に示すように、学習データDB14は、「項番、画像情報、骨格情報」を対応付けて記憶する。
ここで記憶される「項番」は、学習データを識別する識別子である。「画像情報」は、関節などの位置が既知である距離画像のデータである。「骨格情報」は、骨格の位置情報であり、図4に示した18個の各関節に対応する関節位置(3次元座標)である。すなわち、画像情報が入力データ、骨格情報が正解ラベルとして、教師有学習に利用される。図4の例では、距離画像である「画像データA1」には、HEADの座標「X3,Y3,Z3」などを含む18個の関節の位置が既知であることを示す。
学習結果DB15は、学習結果を記憶するデータベースである。例えば、学習結果DB15は、制御部20による学習データの判別結果(分類結果)、機械学習等によって学習された各種パラメータを記憶する。
制御部20は、認識装置50全体を司る処理部であり、例えばプロセッサなどである。制御部20は、学習処理部30を有し、学習モデルの学習処理を実行する。なお、学習処理部30は、プロセッサなどの電子回路の一例やプロセッサなどが有するプロセスの一例である。
学習処理部30は、正解値読込部31、ヒートマップ生成部32、画像生成部33、姿勢認識部34、学習部35を有し、各関節の認識を行う学習モデルの学習を実行する処理部である。なお、姿勢認識部34は、生成部の一例であり、学習部35は、入力部と学習部の一例であり、ヒートマップ生成部32は、生成部の一例である。
正解値読込部31は、学習データDB14から正解値を読み込む処理部である。例えば、正解値読込部31は、学習対象である学習データの「骨格情報」を読み込み、ヒートマップ生成部32に出力する。
ヒートマップ生成部32は、ヒートマップ画像を生成する処理部である。例えば、ヒートマップ生成部32は、正解値読込部31から入力された「骨格情報」を用いて、各関節のヒートマップ画像を生成し、学習部35に出力する。すなわち、ヒートマップ生成部32は、正解値である18個の各関節の位置情報(座標)を用いて、各関節に対応するヒートマップ画像を生成する。
なお、ヒートマップ画像の生成には、公知の様々な手法を採用することができる。例えば、ヒートマップ生成部32は、正解値読込部31により読み込まれた座標位置を最も尤度(存在隔離)の高い位置とし、その位置が半径Xcmを次に尤度の高い位置、さらにその位置から半径Xcmを次に尤度の高い位置として、ヒートマップ画像を生成する。なお、Xは閾値であり、任意の数字である。また、ヒートマップ画像の詳細は、後述する。
画像生成部33は、距離画像を生成する処理部である。例えば、画像生成部33は、学習データDB14に記憶される学習データのうち、正解値読込部31が読み込んだ骨格情報に対応付けられる画像情報に記憶される距離画像を読み込んで、学習部35に出力する。
姿勢認識部34は、学習データの骨格情報を用いた姿勢情報を算出する処理部である。例えば、姿勢認識部34は、骨格情報である各関節の位置情報と、図4に格納される骨格の定義情報とを用いて、背骨を軸にした回転角および両肩を軸にした回転角を算出し、算出結果を学習部35に出力する。なお、背骨の軸とは、例えば図4に示すHEAD(3)とSPINE_BASE(0)とを結ぶ軸であり、両肩の軸とは、例えば図4に示すSHOULDER_RIGHT(7)からSHOULDER_LEFT(4)とを結ぶ軸である。
学習部35は、多層構造のニューラルネットワークを学習モデルとして用いる深層学習、いわゆるディープラーニングを用いた学習モデルに対して、教師有学習を実行する処理部である。例えば、学習部35は、画像生成部33が生成した距離画像データを入力データ、姿勢認識部34が生成した姿勢情報をニューラルネットワークに入力する。そして、学習部35は、ニューラルネットワークの出力として、各関節のヒートマップ画像を取得する。その後、学習部35は、ニューラルネットワークの出力である各関節のヒートマップ画像と、ヒートマップ生成部32が生成した正解ラベルである各関節のヒートマップ画像とを比較する。そして、学習部35は、各関節の誤差が最小となるように、誤差逆伝搬法などを用いてニューラルネットワークを学習する。
ここで、入力データについて説明する。図6は、距離画像とヒートマップ画像の一例を示す図である。図6の(a)に示すように、距離画像は、3Dレーザセンサ5から画素までの距離が含まれるデータであり、3Dレーザセンサ5からの距離が近いほど、濃い色で表示される。また、図6の(b)に示すように、ヒートマップ画像は、関節ごとに生成され、各関節位置の尤度を可視化した画像であって、最も尤度が高い座標位置ほど、濃い色で表示される。なお、ヒートマップ画像では、通常、人物の形は表示されないが、図6では、説明をわかりやすくするために、人物の形を図示するが、画像の表示形式を限定するものではない。
また、学習部35は、学習が終了すると、ニューラルネットワークにおける各種パラメータなどを学習結果として、学習結果DB15に格納する。なお、学習を終了するタイミングは、所定数以上の学習データを用いた学習が完了した時点や誤差が閾値未満となった時点など、任意に設定することができる。
(認識装置50の機能構成)
図3に示すように、認識装置50は、通信部51、記憶部52、制御部60を有する。通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部51は、学習装置10から学習結果を取得し、3Dレーザセンサ5から距離画像を取得し、演技者1の骨格情報を採点装置90に送信する。
図3に示すように、認識装置50は、通信部51、記憶部52、制御部60を有する。通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部51は、学習装置10から学習結果を取得し、3Dレーザセンサ5から距離画像を取得し、演技者1の骨格情報を採点装置90に送信する。
記憶部52は、データや制御部60が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部52は、骨格定義DB53、学習結果DB54、算出結果DB55を記憶する。なお、骨格定義DB53は、骨格定義DB13と同様の情報を記憶し、学習結果DB54は、学習結果DB15と同様の情報を記憶するので、詳細な説明は省略する。
算出結果DB55は、後述する制御部60によって算出された各関節の情報を記憶するデータベースである。具体的には、算出結果DB55は、認識装置50により距離画像から認識された結果を記憶する。
制御部60は、認識装置50全体を司る処理部であり、例えばプロセッサなどである。制御部60は、認識処理部70を有し、学習モデルの学習処理を実行する。なお、認識処理部70は、プロセッサなどの電子回路の一例やプロセッサなどが有するプロセスの一例である。
認識処理部70は、画像取得部71、姿勢認識部72、認識部73、算出部74を有し、骨格認識を実行する処理部である。なお、姿勢認識部72は、生成部の一例であり、認識部73は、入力部の一例であり、算出部74は、特定部の一例である。
画像取得部71は、骨格認識対象の距離画像を取得する処理部である。例えば、画像取得部71は、3Dレーザセンサ5が測定した距離画像を取得し、姿勢認識部72と認識部73とに出力する。
姿勢認識部72は、距離画像から姿勢情報を認識する処理部である。例えば、姿勢認識部72は、予め学習された姿勢認識用の学習モデルに、画像取得部71により取得された距離画像を入力する。そして、姿勢認識部72は、当該別の学習モデルから出力された出力値を姿勢情報として、認識部73に出力する。なお、ここで使用する姿勢認識用の学習モデルは、公知の学習モデルなどを用いることができ、学習モデルに限らず、公知の算出式などを採用することもできる。すなわち、距離画像から姿勢情報を取得できれば、その手法はどのような手法であってもよい。
認識部73は、学習装置10によって学習された学習済みの学習モデルを用いて、骨格認識を実行する処理部である。例えば、認識部73は、学習結果DB54に記憶される各種パラメータを読み出し、各種パラメータを設定したニューラルネットワークを用いた学習モデルを構築する。
そして、認識部73は、画像取得部71により取得された距離画像と、姿勢認識部72により取得された姿勢情報とを、構築した学習済みの学習モデルに入力し、出力結果として、各関節のヒートマップ画像を認識する。すなわち、認識部73は、学習済みの学習モデルを用いて、18個の各関節に対応するヒートマップ画像を取得し、算出部74に出力する。
算出部74は、認識部73により取得された各関節のヒートマップ画像から各関節の位置を算出する処理部である。例えば、算出部74は、各関節のヒートマップのうち、最大尤度の座標を取得する。つまり、算出部74は、HEAD(3)のヒートマップ画像、SHOULDER_RIGHT(7)のヒートマップ画像のように、18個の各関節のヒートマップ画像について、最大尤度の座標を取得する。
そして、算出部74は、各関節における最大尤度の座標を、算出結果として算出結果DB55に格納する。このとき、算出部44は、各関節について取得された最大尤度の座標(2次元座標)を3次元座標に変換することもできる。例えば、算出部74は、右肘角度=162度、左肘角度=170度などと算出する。
[処理の流れ]
図7は、実施例1にかかる処理の流れを示すフローチャートである。なお、ここでは、学習処理の後に認識処理が実行される例で説明するが、これに限定されるものではなく、別々のフローで実現することもできる。
図7は、実施例1にかかる処理の流れを示すフローチャートである。なお、ここでは、学習処理の後に認識処理が実行される例で説明するが、これに限定されるものではなく、別々のフローで実現することもできる。
図7に示すように、学習装置10は、学習開始の指示を受信すると(S101:Yes)、学習データDB14から学習データを読み込む(S102)。
続いて、学習装置10は、読み込んだ学習データから距離画像を取得し(S103)、学習データの骨格情報から姿勢情報を算出する(S104)。また、学習装置10は、学習データから正解値である骨格情報を取得し(S105)、取得した骨格情報から各関節のヒートマップ画像を生成する(S106)。
その後、学習装置10は、距離画像を入力データ、各関節のヒートマップ画像を正解ラベルとして、ニューラルネットワークに入力するとともに、姿勢情報をニューラルネットワークに入力して、モデルの学習を実行する(S107)。ここで、学習を継続する場合(S108:No)、S102以降が繰り返される。
そして、学習を終了した後(S108:Yes)、認識開始の指示を受信すると(S109:Yes)、認識装置50は、3Dレーザセンサ5から距離画像を取得する(S110)。
続いて、認識装置50は、予め学習済みである姿勢認識用の学習モデルに、S110で取得された距離画像を入力して、その出力結果を姿勢情報として取得する(S111)。その後、認識装置50は、S107で学習された学習済みの学習モデルに対して、S110で取得された距離画像とS111で取得された姿勢情報を入力し、その出力結果を各関節のヒートマップ画像として取得する(S112)。
そして、認識装置50は、取得された各関節のヒートマップ画像に基づいて、各関節の位置情報を取得し(S113)、取得した各関節の位置情報を2次元座標等に変換して、算出結果DB16に出力する(S114)。
その後、認識装置50は、骨格認識を継続する場合(S115:No)、S110以降を繰り返し、骨格処理を終了する場合(S115:Yes)、認識処理を終了する。
[効果]
上述したように、認識装置50は、3Dレーザセンサ5から得られた距離画像を用いて、ディープラーニングにより人の関節などを認識する際に、3Dレーザセンサ5に対する人の向きの情報(姿勢情報)をニューラルネットワークに与える。すなわち、ディープラーニングなどの機械学習に、距離画像に映っている人のどちらが右でどちらが左なのかがわかる情報を与える。この結果、認識装置50は、肘や手首、膝などの人体において左右で対になっている関節を左右間違えずに正しく認識することができる。
上述したように、認識装置50は、3Dレーザセンサ5から得られた距離画像を用いて、ディープラーニングにより人の関節などを認識する際に、3Dレーザセンサ5に対する人の向きの情報(姿勢情報)をニューラルネットワークに与える。すなわち、ディープラーニングなどの機械学習に、距離画像に映っている人のどちらが右でどちらが左なのかがわかる情報を与える。この結果、認識装置50は、肘や手首、膝などの人体において左右で対になっている関節を左右間違えずに正しく認識することができる。
図8は、骨格情報の認識結果の比較例を説明する図である。図8では、学習済みの学習モデルから得られた各関節のヒートマップ画像を示し、図内の黒丸は、既知である関節の正解値(位置)を示し、図内のバツ印は、最終的に認識された関節の位置を示す。また、図8では、一例として、4つの関節のヒートマップ画像を図示して説明する。
図8の(1)に示すように、一般技術では、学習時には、左右で正確に認識して学習が行われても、認識時に、学習データと同じ向きの距離画像であっても学習データとは左右を逆に認識することがあり、正確な認識結果を得られない。
一方、図8の(2)に示すように、実施例1による手法を用いた学習モデルでは、距離画像だけではなく、姿勢情報を用いて骨格認識の学習および推定を行う。このため、実施例1にかかる認識装置50は、距離画像と姿勢情報を入力データとして用いて学習モデルにより骨格認識を行うことができ、左右が正確に認識された認識結果を出力できる。
ところで、実施例1では、多層構造のニューラルネットワークを学習モデルとして用いるディープラーニングを用いた学習モデルの生成について説明したが、学習装置10や認識装置50では姿勢情報を入力する層を制御することができる。なお、ここでは、認識装置50を例にして説明するが、学習装置10についても同様に処理することができる。
例えば、ニューラルネットワークは、入力層、中間層(隠れ層)、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値(重み係数)、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。
また、ニューラルネットワークにおける学習とは、出力層が正しい値となるように、パラメータ、すなわち、重みとバイアスを修正していくことである。誤差逆伝播法においては、ニューラルネットワークに対して、出力層の値がどれだけ正しい状態(望まれている状態)から離れているかを示す「損失関数(loss function)」を定め、最急降下法等を用いて、損失関数が最小化するように、重みやバイアスの更新が行われる。具体的には、入力値をニューラルネットワークに与え、その入力値を基にニューラルネットワークが予測値を計算し、予測値と教師データ(正解値)を比較して誤差を評価し、得られた誤差を基にニューラルネットワーク内の結合荷重(シナプス係数)の値を逐次修正することにより、学習モデルの学習および構築が実行される。
上記認識装置50は、このようなニューラルネットワークを用いた手法として、CNN(Convolutional Neural Network)などを用いることができる。そして、認識装置50は、学習時または認識時において、ニューラルネットワークが有する各中間層のうち最初の中間層に、姿勢情報を入力して学習または認識を行う。このようにすることで、姿勢情報を入力した状態で、各中間層による特徴量の抽出を実行できるので、関節の認識精度を向上させることができる。
また、認識装置50は、CNNを用いた学習モデルの場合、中間層の中で最もサイズが小さくなる層に、姿勢情報を入力して学習または認識を行うこともできる。CNNは、中間層(隠れ層)として、畳み込み層とプーリング層と有する。畳み込み層は、前の層で近くにあるノードにフィルタ処理を実行して特徴マップを生成し、プーリング層は、畳込み層から出力された特徴マップをさらに縮小して新たな特徴マップを生成する。つまり、畳み込み層は、画像の局所的な特徴を抽出し、プーリング層は、局所的な特徴を集約する処理を実行し、これらによって入力画像の特徴を維持しながら画像を縮小する。
ここで、認識装置50は、各層に入力される入力画像が最小の層に対して、姿勢情報を入力する。このようにすることで、入力層に入力される入力画像(距離画像)の特徴を最も抽出した状態のときに姿勢情報を入力することができ、その後の特徴量から元画像を復元するときに、姿勢情報を加味した復元を実行できるので、関節の認識精度を向上させることができる。
ここで、図9を用いて具体的に説明する。図9は、姿勢情報の入力を説明する図である。図9に示すように、ニューラルネットワークは、入力層、中間層(隠れ層)、出力層から構成され、ニューラルネットワークの入力データとニューラルネットワークから出力された出力データとの誤差が最小になるように学習される。このとき、認識装置50は、中間層の最初の層である(a)層に姿勢情報を入力して、学習処理および認識処理を実行する。または、認識装置50は、各層に入力される入力画像が最小となる(b)層に姿勢情報を入力して、学習処理および認識処理を実行する。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[姿勢情報の入力値]
上記実施例では、姿勢情報として、背骨を軸にした回転角および両肩を軸にした回転角を用いる例を説明したが、これらの回転角として、角度値や三角関数を用いることができる。図10は、角度値および三角関数を説明する図である。図10では、背骨の軸をab、両肩の軸をcdで図示する。そして、認識装置50は、演技者の背骨の軸がab軸から角度θだけ傾いているとき、この角度θを角度値として使用する。または、認識装置50は、演技者の背骨の軸がab軸から角度θだけ傾いているとき、sinθまたはcosθを三角関数として使用する。
上記実施例では、姿勢情報として、背骨を軸にした回転角および両肩を軸にした回転角を用いる例を説明したが、これらの回転角として、角度値や三角関数を用いることができる。図10は、角度値および三角関数を説明する図である。図10では、背骨の軸をab、両肩の軸をcdで図示する。そして、認識装置50は、演技者の背骨の軸がab軸から角度θだけ傾いているとき、この角度θを角度値として使用する。または、認識装置50は、演技者の背骨の軸がab軸から角度θだけ傾いているとき、sinθまたはcosθを三角関数として使用する。
角度値を用いることで、計算コストを削減することができ、学習処理や認識処理の処理時間を短縮することができる。また、三角関数を用いることで、360度から0度へ変化する境目を正確に認識することができ、角度値を用いる場合と比較して、学習精度または認識精度を向上させることができる。なお、ここでは、背骨の例を軸にして説明したが、両肩の軸についても同様に処理することができる。また、学習装置10についても同様に処理することができる。
[適用例]
上記実施例では、体操競技を例にして説明したが、これに限定されるものではなく、選手が一連の技を行って審判が採点する他の競技にも適用することができる。他の競技の一例としては、フィギュアスケート、新体操、チアリーディング、水泳の飛び込み、空手の型、モーグルのエアーなどがある。また、スポーツに限らず、トラック、タクシー、電車などの運転手の姿勢検出やパイロットの姿勢検出などにも適用することができる。
上記実施例では、体操競技を例にして説明したが、これに限定されるものではなく、選手が一連の技を行って審判が採点する他の競技にも適用することができる。他の競技の一例としては、フィギュアスケート、新体操、チアリーディング、水泳の飛び込み、空手の型、モーグルのエアーなどがある。また、スポーツに限らず、トラック、タクシー、電車などの運転手の姿勢検出やパイロットの姿勢検出などにも適用することができる。
[骨格情報]
また、上記実施例では、18個の各関節の位置を学習する例を説明したが、これに限定されるものではなく、1個以上の関節を指定して学習することもできる。また、上記実施例では、骨格情報の一例として各関節の位置を例示して説明したが、これに限定されるものではなく、各関節の角度、手足の向き、顔の向きなど、予め定義できる情報であれば、様々な情報を採用することができる。
また、上記実施例では、18個の各関節の位置を学習する例を説明したが、これに限定されるものではなく、1個以上の関節を指定して学習することもできる。また、上記実施例では、骨格情報の一例として各関節の位置を例示して説明したが、これに限定されるものではなく、各関節の角度、手足の向き、顔の向きなど、予め定義できる情報であれば、様々な情報を採用することができる。
[学習モデル]
また、姿勢情報には、腰の回転角、頭の向きなど被写体の向きを示す情報であれば様々な情報を採用することができる。
また、姿勢情報には、腰の回転角、頭の向きなど被写体の向きを示す情報であれば様々な情報を採用することができる。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、学習装置10と認識装置50とを同じ装置で実現することもできる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
次に、学習装置10や認識装置50などのコンピュータのハードウェア構成について説明する。図11は、ハードウェア構成例を説明する図である。図11に示すように、コンピュータ100は、通信装置100a、HDD(Hard Disk Drive)100b、メモリ100c、プロセッサ100dを有する。また、図11に示した各部は、バス等で相互に接続される。
次に、学習装置10や認識装置50などのコンピュータのハードウェア構成について説明する。図11は、ハードウェア構成例を説明する図である。図11に示すように、コンピュータ100は、通信装置100a、HDD(Hard Disk Drive)100b、メモリ100c、プロセッサ100dを有する。また、図11に示した各部は、バス等で相互に接続される。
通信装置100aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD100bは、図2に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ100dは、図2に示した各処理部と同様の処理を実行するプログラムをHDD100b等から読み出してメモリ100cに展開することで、図2等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、認識装置50が有する各処理部と同様の機能を実行する。具体的には、プロセッサ100dは、認識処理部70等と同様の機能を有するプログラムをHDD100b等から読み出す。そして、プロセッサ100dは、認識処理部70等と同様の処理を実行するプロセスを実行する。
このように認識装置50は、プログラムを読み出して実行することで認識方法を実行する情報処理装置として動作する。また、認識装置50は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、認識装置50によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。なお、学習装置10についても同様のハードウェア構成を用いて処理することができる。
5 3Dレーザセンサ
10 学習装置
11 通信部
12 記憶部
13 骨格定義DB
14 学習データDB
15 学習結果DB
20 制御部
30 学習処理部
31 正解値読込部
32 ヒートマップ生成部
33 画像生成部
34 姿勢認識部
35 学習部
50 認識装置
51 通信部
52 記憶部
53 骨格定義DB
54 学習結果DB
55 算出結果DB
60 制御部
70 認識処理部
71 画像取得部
72 姿勢認識部
73 認識部
74 算出部
10 学習装置
11 通信部
12 記憶部
13 骨格定義DB
14 学習データDB
15 学習結果DB
20 制御部
30 学習処理部
31 正解値読込部
32 ヒートマップ生成部
33 画像生成部
34 姿勢認識部
35 学習部
50 認識装置
51 通信部
52 記憶部
53 骨格定義DB
54 学習結果DB
55 算出結果DB
60 制御部
70 認識処理部
71 画像取得部
72 姿勢認識部
73 認識部
74 算出部
Claims (17)
- コンピュータが、
被写体を含む距離画像に基づいて、前記被写体の姿勢を特定する姿勢情報を生成し、
前記距離画像とともに前記姿勢情報を、前記被写体の骨格を認識するために学習された学習済みモデルに入力し、
前記学習済みモデルの出力結果を用いて、前記被写体の骨格を特定する
処理を実行することを特徴とする認識方法。 - 前記入力する処理は、前記学習済みモデルに利用されるニューラルネットワークの入力層に前記距離画像を入力し、前記ニューラルネットワークの各中間層のうち先頭の中間層に前記姿勢情報を入力することを特徴とする請求項1に記載の認識方法。
- 前記入力する処理は、前記学習済みモデルに利用される畳み込みニューラルネットワークの入力層に前記距離画像を入力し、前記畳み込みニューラルネットワークの各隠れ層のうち、入力された画像のサイズが最も小さくなる隠れ層に前記姿勢情報を入力することを特徴とする請求項1に記載の認識方法。
- 前記入力する処理は、前記姿勢情報として、前記被写体の向きを示す角度値または三角関数を入力することを特徴とする請求項1に記載の認識方法。
- 前記入力する処理は、前記被写体の背骨を軸にした回転角と前記被写体の両肩を軸にした回転角とのそれぞれの角度値、または、それぞれの回転角を用いた各三角関数を入力することを特徴とする請求項4に記載の認識方法。
- 前記生成する処理は、前記姿勢情報を出力するために学習された学習済みモデルに、前記距離画像を入力して得られる出力結果を、前記姿勢情報として生成することを特徴とする請求項1に記載の認識方法。
- 前記特定する処理は、前記学習済みモデルの出力結果として、前記被写体の関節位置の尤度を可視化したヒートマップ画像を取得し、前記ヒートマップ画像における尤度が最も高い位置を、前記関節位置と特定することを特徴とする請求項1に記載の認識方法。
- コンピュータに、
被写体を含む距離画像に基づいて、前記被写体の姿勢を特定する姿勢情報を生成し、
前記距離画像とともに前記姿勢情報を、前記被写体の骨格を認識するために学習された学習済みモデルに入力し、
前記学習済みモデルの出力結果を用いて、前記被写体の骨格を特定する
処理を実行させることを特徴とする認識プログラム。 - 被写体を含む距離画像に基づいて、前記被写体の姿勢を特定する姿勢情報を生成する生成部と、
前記距離画像とともに前記姿勢情報を、前記被写体の骨格を認識するために学習された学習済みモデルに入力する入力部と、
前記学習済みモデルの出力結果を用いて、前記被写体の骨格を特定する特定部と
を有することを特徴とする認識装置。 - コンピュータが、
学習データである被写体を含む距離画像に対応付けられる、正解情報である前記被写体の骨格情報を用いて、前記被写体の姿勢を特定する姿勢情報を生成し、
前記距離画像とともに前記姿勢情報を学習モデルに入力し、
前記学習モデルの出力結果と前記骨格情報とを用いて、前記学習モデルを学習する
処理を実行することを特徴とする学習方法。 - 前記骨格情報から、前記被写体の関節位置の尤度を可視化したヒートマップ画像を生成する処理を前記コンピュータにさらに実行させ、
前記学習する処理は、前記学習モデルの出力結果として前記ヒートマップ画像を取得し、前記出力結果であるヒートマップ画像と、前記骨格情報から生成されたヒートマップ画像とを比較した結果に応じて、前記学習モデルを学習する請求項10に記載の学習方法。 - 前記入力する処理は、前記学習モデルに利用されるニューラルネットワークの入力層に前記距離画像を入力し、前記ニューラルネットワークの各中間層のうち先頭の中間層に前記姿勢情報を入力することを特徴とする請求項10に記載の学習方法。
- 前記入力する処理は、前記学習モデルに利用される畳み込みニューラルネットワークの入力層に前記距離画像を入力し、前記畳み込みニューラルネットワークの各隠れ層のうち、入力された画像のサイズが最も小さくなる隠れ層に前記姿勢情報を入力することを特徴とする請求項10に記載の学習方法。
- 前記入力する処理は、前記姿勢情報として、前記被写体の向きを示す角度値または三角関数を入力することを特徴とする請求項10に記載の学習方法。
- 前記入力する処理は、前記被写体の背骨を軸にした回転角と前記被写体の両肩を軸にした回転角とのそれぞれの角度値、または、それぞれの回転角を用いた各三角関数を入力することを特徴とする請求項14に記載の学習方法。
- コンピュータに、
学習データである被写体を含む距離画像に対応付けられる、正解情報である前記被写体の骨格情報を用いて、前記被写体の姿勢を特定する姿勢情報を生成し、
前記距離画像とともに前記姿勢情報を学習モデルに入力し、
前記学習モデルの出力結果と前記骨格情報とを用いて、前記学習モデルを学習する
処理を実行させることを特徴とする学習プログラム。 - 学習データである被写体を含む距離画像に対応付けられる、正解情報である前記被写体の骨格情報を用いて、前記被写体の姿勢を特定する姿勢情報を生成する生成部と、
前記距離画像とともに前記姿勢情報を学習モデルに入力する入力部と、
前記学習モデルの出力結果と前記骨格情報とを用いて、前記学習モデルを学習する学習部と
を有することを特徴とする学習装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/039215 WO2020084667A1 (ja) | 2018-10-22 | 2018-10-22 | 認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置 |
JP2020551730A JP7014304B2 (ja) | 2018-10-22 | 2018-10-22 | 認識方法、認識プログラム、認識装置および学習方法 |
US17/219,016 US20210216759A1 (en) | 2018-10-22 | 2021-03-31 | Recognition method, computer-readable recording medium recording recognition program, and learning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/039215 WO2020084667A1 (ja) | 2018-10-22 | 2018-10-22 | 認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/219,016 Continuation US20210216759A1 (en) | 2018-10-22 | 2021-03-31 | Recognition method, computer-readable recording medium recording recognition program, and learning method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020084667A1 true WO2020084667A1 (ja) | 2020-04-30 |
Family
ID=70330560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/039215 WO2020084667A1 (ja) | 2018-10-22 | 2018-10-22 | 認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210216759A1 (ja) |
JP (1) | JP7014304B2 (ja) |
WO (1) | WO2020084667A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022138339A1 (ja) * | 2020-12-21 | 2022-06-30 | ファナック株式会社 | 教師データ生成装置、機械学習装置、及びロボット関節角度推定装置 |
WO2022190206A1 (ja) * | 2021-03-09 | 2022-09-15 | 富士通株式会社 | 骨格認識方法、骨格認識プログラムおよび体操採点支援システム |
WO2022244135A1 (ja) * | 2021-05-19 | 2022-11-24 | 日本電信電話株式会社 | 学習装置、推定装置、学習モデルデータ生成方法、推定方法及びプログラム |
WO2023162223A1 (ja) * | 2022-02-28 | 2023-08-31 | 富士通株式会社 | 学習プログラム、生成プログラム、学習方法および生成方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11282214B2 (en) * | 2020-01-08 | 2022-03-22 | Agt International Gmbh | Motion matching analysis |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016212688A (ja) * | 2015-05-11 | 2016-12-15 | 日本電信電話株式会社 | 関節位置推定装置、方法、及びプログラム |
JP2018026131A (ja) * | 2016-08-09 | 2018-02-15 | ダンロップスポーツ株式会社 | 動作解析装置 |
WO2018189795A1 (ja) * | 2017-04-10 | 2018-10-18 | 富士通株式会社 | 認識装置、認識方法および認識プログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8213680B2 (en) * | 2010-03-19 | 2012-07-03 | Microsoft Corporation | Proxy training data for human body tracking |
KR101815975B1 (ko) * | 2011-07-27 | 2018-01-09 | 삼성전자주식회사 | 객체 자세 검색 장치 및 방법 |
US10902343B2 (en) * | 2016-09-30 | 2021-01-26 | Disney Enterprises, Inc. | Deep-learning motion priors for full-body performance capture in real-time |
US10861184B1 (en) * | 2017-01-19 | 2020-12-08 | X Development Llc | Object pose neural network system |
US10672188B2 (en) * | 2018-04-19 | 2020-06-02 | Microsoft Technology Licensing, Llc | Surface reconstruction for environments with moving objects |
US10706584B1 (en) * | 2018-05-18 | 2020-07-07 | Facebook Technologies, Llc | Hand tracking using a passive camera system |
JP7417555B2 (ja) * | 2018-06-29 | 2024-01-18 | レンチ インク. | 人体ポーズ分析システム及び方法 |
WO2020049692A2 (ja) * | 2018-09-06 | 2020-03-12 | 株式会社ソニー・インタラクティブエンタテインメント | 推定装置、学習装置、推定方法、学習方法及びプログラム |
WO2020070812A1 (ja) * | 2018-10-03 | 2020-04-09 | 株式会社ソニー・インタラクティブエンタテインメント | スケルトンモデル更新装置、スケルトンモデル更新方法及びプログラム |
-
2018
- 2018-10-22 WO PCT/JP2018/039215 patent/WO2020084667A1/ja active Application Filing
- 2018-10-22 JP JP2020551730A patent/JP7014304B2/ja active Active
-
2021
- 2021-03-31 US US17/219,016 patent/US20210216759A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016212688A (ja) * | 2015-05-11 | 2016-12-15 | 日本電信電話株式会社 | 関節位置推定装置、方法、及びプログラム |
JP2018026131A (ja) * | 2016-08-09 | 2018-02-15 | ダンロップスポーツ株式会社 | 動作解析装置 |
WO2018189795A1 (ja) * | 2017-04-10 | 2018-10-18 | 富士通株式会社 | 認識装置、認識方法および認識プログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022138339A1 (ja) * | 2020-12-21 | 2022-06-30 | ファナック株式会社 | 教師データ生成装置、機械学習装置、及びロボット関節角度推定装置 |
JP7478848B2 (ja) | 2020-12-21 | 2024-05-07 | ファナック株式会社 | 教師データ生成装置、機械学習装置、及びロボット関節角度推定装置 |
WO2022190206A1 (ja) * | 2021-03-09 | 2022-09-15 | 富士通株式会社 | 骨格認識方法、骨格認識プログラムおよび体操採点支援システム |
WO2022244135A1 (ja) * | 2021-05-19 | 2022-11-24 | 日本電信電話株式会社 | 学習装置、推定装置、学習モデルデータ生成方法、推定方法及びプログラム |
WO2023162223A1 (ja) * | 2022-02-28 | 2023-08-31 | 富士通株式会社 | 学習プログラム、生成プログラム、学習方法および生成方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210216759A1 (en) | 2021-07-15 |
JPWO2020084667A1 (ja) | 2021-09-02 |
JP7014304B2 (ja) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7014304B2 (ja) | 認識方法、認識プログラム、認識装置および学習方法 | |
JP7367764B2 (ja) | 骨格認識方法、骨格認識プログラムおよび情報処理装置 | |
Thar et al. | A proposal of yoga pose assessment method using pose detection for self-learning | |
AU2024200988A1 (en) | Multi-joint Tracking Combining Embedded Sensors and an External | |
CN109863535A (zh) | 运动识别装置、运动识别程序以及运动识别方法 | |
US20220092302A1 (en) | Skeleton recognition method, computer-readable recording medium storing skeleton recognition program, skeleton recognition system, learning method, computer-readable recording medium storing learning program, and learning device | |
US20220207921A1 (en) | Motion recognition method, storage medium, and information processing device | |
Kitsikidis et al. | Multi-sensor technology and fuzzy logic for dancer’s motion analysis and performance evaluation within a 3D virtual environment | |
US20220222975A1 (en) | Motion recognition method, non-transitory computer-readable recording medium and information processing apparatus | |
US11995845B2 (en) | Evaluation method, storage medium, and information processing apparatus | |
Morel et al. | Automatic evaluation of sports motion: A generic computation of spatial and temporal errors | |
Pai et al. | Home Fitness and Rehabilitation Support System Implemented by Combining Deep Images and Machine Learning Using Unity Game Engine. | |
Fung et al. | Hybrid markerless tracking of complex articulated motion in golf swings | |
JP7521602B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
Pan et al. | Analysis and Improvement of Tennis Motion Recognition Algorithm Based on Human Body Sensor Network | |
CN117015802A (zh) | 用于改进无标记运动分析的方法 | |
Sharma et al. | Digital Yoga Game with Enhanced Pose Grading Model | |
JP2021099666A (ja) | 学習モデルの生成方法 | |
US20220301352A1 (en) | Motion recognition method, non-transitory computer-readable storage medium for storing motion recognition program, and information processing device | |
TWI821014B (zh) | 高爾夫球教學方法及高爾夫球教學系統 | |
Zhang et al. | The Application of Computer-Assisted Teaching in the Scientific Training of Sports Activities | |
US20240112366A1 (en) | Two-dimensional pose estimation based on bipartite matching of joint type heatmaps and joint person heatmaps | |
Gattupalli | Artificial intelligence for cognitive behavior assessment in children | |
Hsiao et al. | Markerless motion evaluation via OpenPose and fuzzy activity evaluator | |
TW202419138A (zh) | 高爾夫球教學方法及高爾夫球教學系統 |
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: 18937966 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020551730 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18937966 Country of ref document: EP Kind code of ref document: A1 |