JP7318814B2 - DATA GENERATION METHOD, DATA GENERATION PROGRAM AND INFORMATION PROCESSING DEVICE - Google Patents
DATA GENERATION METHOD, DATA GENERATION PROGRAM AND INFORMATION PROCESSING DEVICE Download PDFInfo
- Publication number
- JP7318814B2 JP7318814B2 JP2022533003A JP2022533003A JP7318814B2 JP 7318814 B2 JP7318814 B2 JP 7318814B2 JP 2022533003 A JP2022533003 A JP 2022533003A JP 2022533003 A JP2022533003 A JP 2022533003A JP 7318814 B2 JP7318814 B2 JP 7318814B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- dimensional
- skeleton
- moving image
- image data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Description
本発明は、データ生成方法、データ生成プログラムおよび情報処理装置に関する。 The present invention relates to a data generation method, a data generation program, and an information processing apparatus.
カラー画像などの2次元画像を用いて、各種スポーツに関連した3次元の人の動きを検出する骨格認識が行われている。例えば、複数の2次元の関節座標から、三角測量法により代表的な3次元の関節座標を算出する手法が利用されている。近年では、骨格認識の精度を向上させるために、機械学習により生成された推定モデルを用いて、複数視点の2次元の関節座標から3次元の関節座標を推定する手法なども知られている。 Skeletal recognition is performed by using two-dimensional images such as color images to detect three-dimensional human movements related to various sports. For example, a method of calculating representative three-dimensional joint coordinates by triangulation from a plurality of two-dimensional joint coordinates is used. In recent years, in order to improve the accuracy of skeletal recognition, a method of estimating three-dimensional joint coordinates from two-dimensional joint coordinates of multiple viewpoints using an estimation model generated by machine learning is also known.
ところで、上記推定モデルは、2次元画像と3次元の骨格位置とを含む学習データを用いた機械学習により生成されるが、体操競技など複雑な動きの骨格認識にも適用させるためには、非常に多くの学習データを用いて推定精度を向上させることが要求される。しかしながら、このような学習データは手動で生成されることが一般的であり、精度も悪く、効率的ではないことから、機械学習を用いた3次元の骨格認識の精度劣化やコスト増大が発生する。 By the way, the above estimation model is generated by machine learning using learning data including two-dimensional images and three-dimensional skeleton positions. Therefore, it is required to improve the estimation accuracy by using a lot of training data. However, such learning data is generally generated manually, and the accuracy is poor and it is not efficient. Therefore, the accuracy of 3D skeleton recognition using machine learning deteriorates and the cost increases. .
なお、モーションキャプチャなどを用いて取得された3次元の骨格情報と同様の姿勢をとる人体CG(Computer Graphics)モデルを用いて、テクスチャやレンダリング条件を変えながら、多様なバリエーションでCG画像を合成することで、学習データセットを生成することも考えられる。しかし、例えば体操競技のように、選手がユニフォームを着て動作する場合や複数の器具を使用する場合、実際のカメラ画像に近い品質でそれらを模擬してCG画像を合成することが難しい。 Using a human body CG (Computer Graphics) model that assumes the same posture as 3D skeletal information acquired using motion capture or the like, CG images are synthesized in a variety of variations while changing textures and rendering conditions. It is also conceivable to generate a learning data set by However, in gymnastics, for example, when an athlete wears a uniform and moves or uses a plurality of equipment, it is difficult to simulate them with a quality close to the actual camera image and synthesize a CG image.
一つの側面では、2次元画像と3次元の骨格位置とを含む学習データセットを自動で生成することができるデータ生成方法、データ生成プログラムおよび情報処理装置を提供することを目的とする。 An object of one aspect is to provide a data generation method, a data generation program, and an information processing apparatus capable of automatically generating a learning data set including two-dimensional images and three-dimensional skeleton positions.
第1の案では、データ生成方法は、コンピュータが、所定動作を行う被写体を撮像した動画像データに含まれる複数のフレームそれぞれから複数の関節それぞれの2次元座標を取得する処理を実行する。データ生成方法は、コンピュータが、前記所定動作を行う前記被写体の複数の関節位置に関する3次元骨格データを含む3次元系列データから、前記複数のフレームそれぞれに対応する複数の3次元骨格データそれぞれを特定する処理を実行する。データ生成方法は、コンピュータが、前記複数のフレームそれぞれの2次元座標と前記複数の3次元骨格データそれぞれとを用いて、前記動画像データと前記3次元系列データとの間の時刻同期に関する調整量と、前記動画像データに前記3次元系列データを投影するときの投影パラメータとの最適化を実行する処理を実行する。データ生成方法は、コンピュータが、最適化された前記調整量と前記投影パラメータとを用いて、前記動画像データと前記3次元系列データとを対応付けたデータを生成する処理を実行する。 In the first proposal, the data generation method causes the computer to acquire the two-dimensional coordinates of each of a plurality of joints from each of a plurality of frames included in moving image data obtained by imaging a subject performing a predetermined action. In the data generation method, a computer identifies each of a plurality of 3D skeleton data corresponding to each of the plurality of frames from 3D series data including 3D skeleton data relating to a plurality of joint positions of the subject performing the predetermined motion. process. In the data generation method, the computer uses the two-dimensional coordinates of each of the plurality of frames and each of the plurality of three-dimensional skeleton data to adjust the amount of time synchronization between the moving image data and the three-dimensional series data. and a process of optimizing projection parameters for projecting the three-dimensional series data onto the moving image data. In the data generation method, the computer uses the optimized adjustment amount and the projection parameter to generate data in which the moving image data and the three-dimensional series data are associated with each other.
一実施形態によれば、2次元画像と3次元の骨格位置とを含む学習データセットを自動で生成することができる。 According to one embodiment, a training data set including two-dimensional images and three-dimensional skeleton positions can be automatically generated.
以下に、本発明にかかるデータ生成方法、データ生成プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。 Exemplary embodiments of a data generation method, a data generation program, and an information processing apparatus according to the present invention will be described in detail below with reference to the drawings. In addition, this invention is not limited by this Example. Moreover, each embodiment can be appropriately combined within a range without contradiction.
[システム構成]
図1は、骨格認識を用いたシステムの全体構成例を説明する図である。図1に示すように、このシステムは、3D(Three-Dimensional)レーザセンサ5、生成装置10、学習装置40、認識装置50、採点装置90を有し、被写体である演技者1の3次元データを撮像し、骨格等を認識して正確な技の採点を行うシステムである。なお、本実施例では、一例として、体操競技を例にして説明するが、これに限定されるものではなく、選手が一連の技を行って審判が採点する他の競技や、人の様々な行動や動作にも適用することができる。また、本実施例では、2次元を2D、3次元を3Dと記載する場合がある。[System configuration]
FIG. 1 is a diagram illustrating an example of the overall configuration of a system using skeleton recognition. As shown in FIG. 1, this system has a 3D (Three-Dimensional) laser sensor 5, a generating device 10, a learning device 40, a recognition device 50, and a
一般的に、体操競技における現在の採点方法は、複数の採点者によって目視で行われているが、技の高度化に伴い、採点者の目視では採点が困難な場合が増加している。近年では、3Dレーザセンサ5を使った、採点競技の自動採点システムや採点支援システムが知られている。例えば、これらのシステムにおいては、3Dレーザセンサ5により選手の3次元データである距離画像を取得し、距離画像から選手の各関節の向きや各関節の角度などである骨格を認識する。そして、採点支援システムにおいては、骨格認識の結果を3Dモデルにより表示することで、採点者が、演技者の細部の状況を確認するなどにより、より正しい採点を実施することを支援する。また、自動採点システムにおいては、骨格認識の結果から、演技した技などを認識し、採点ルールに照らして採点を行う。 In general, the current scoring method in gymnastics is visually performed by a plurality of raters. In recent years, automatic scoring systems and scoring support systems for scoring competitions using the 3D laser sensor 5 are known. For example, in these systems, the 3D laser sensor 5 acquires a distance image, which is three-dimensional data of the player, and recognizes the skeleton, which is the direction of each joint and the angle of each joint, from the distance image. In the scoring support system, by displaying the result of skeleton recognition as a 3D model, the scorer can confirm the detailed situation of the performer, thereby supporting more accurate scoring. In addition, the automatic scoring system recognizes the tricks performed from the results of skeleton recognition, and scores according to the scoring rules.
ここで、採点支援システムや自動採点システムにおいては、随時行われる演技を、タイムリーに採点支援または自動採点することが求められる。通常、距離画像やカラー画像から演技者の3次元骨格を認識する手法では、メモリ不足などによる処理時間の長時間化や骨格認識の精度低下を招く。 Here, the scoring support system and the automatic scoring system are required to timely assist or automatically score performances that are performed at any time. Normally, the method of recognizing the three-dimensional skeleton of an actor from a distance image or a color image causes a long processing time and a decrease in the accuracy of skeleton recognition due to insufficient memory or the like.
例えば、自動採点システムによる自動採点の結果を採点者へ提供し、採点者が自己の採点結果と比較する形態では、従来技術を用いた場合、採点者への情報提供が遅延する。さらに、骨格認識の精度が低下することで、続く技認識も誤ってしまう可能性があり、結果として技による決定される得点も誤ってしまう。同様に、採点支援システムにおいて、演技者の関節の角度や位置を、3Dモデルを使って表示する際にも、表示までの時間が遅延したり、表示される角度等が正しくないという事態を生じうる。この場合には、この採点支援システムを利用した採点者による採点は、誤った採点となってしまう場合もある。 For example, in a form in which the grader is provided with the results of automatic scoring by an automatic scoring system and the grader compares them with their own scoring results, the provision of information to the graders is delayed when using conventional technology. Furthermore, the decrease in accuracy of skeleton recognition may lead to erroneous recognition of subsequent techniques, resulting in erroneous scores determined by techniques. Similarly, in the scoring support system, when the angles and positions of the joints of actors are displayed using 3D models, there is a delay in the time taken to display them, and the displayed angles, etc. are not correct. sell. In this case, grading by a grader using this grading support system may result in erroneous grading.
以上の通り、自動採点システムや採点支援システムにおける骨格認識の精度が悪かったり、処理に時間を要すると、採点ミスの発生や、採点時間の長時間化を招いてしまう。このようなことから、機械学習により生成された機械学習モデルを用いることで、高精度な骨格認識、認識ミス、採点の長時間化の抑制などが実現されている。なお、3次元の人の動き検出(骨格認識)に関しては、複数台の3Dレーザセンサ5から3次元の関節座標を高精度で抽出する3Dセンシング技術が確立されつつあり、他スポーツや他分野への展開が期待されている。 As described above, if the skeleton recognition accuracy in the automatic scoring system or the scoring support system is poor, or if the processing takes a long time, scoring errors will occur and the scoring time will increase. For this reason, by using a machine learning model generated by machine learning, highly accurate skeleton recognition, recognition errors, suppression of prolonged scoring, and the like are realized. As for 3D human motion detection (skeletal recognition), 3D sensing technology is being established to extract 3D joint coordinates from multiple 3D laser sensors 5 with high precision, and it is expected to be applied to other sports and other fields. is expected to develop.
ここで、図1におけるシステムを構成する各装置について説明する。3Dレーザセンサ5は、赤外線レーザ等を用いて対象物の距離を画素ごとに測定(センシング)するセンサ装置の一例である。距離画像には、各画素までの距離が含まれる。つまり、距離画像は、3Dレーザセンサ(深度センサ)5から見た被写体の深度を表す深度画像である。 Here, each device constituting the system in FIG. 1 will be described. The 3D laser sensor 5 is an example of a sensor device that measures (senses) the distance of an object for each pixel using an infrared laser or the like. The distance image contains the distance to each pixel. In other words, the distance image is a depth image representing the depth of the subject viewed from the 3D laser sensor (depth sensor) 5 .
学習装置40は、骨格認識用の機械学習モデルを学習するコンピュータ装置の一例である。具体的には、学習装置40は、2次元の骨格位置情報や3次元の骨格位置情報などを学習データセットとして使用した、ディープラーニングなどの機械学習を実行して機械学習モデルを生成する。 The learning device 40 is an example of a computer device that learns a machine learning model for skeletal recognition. Specifically, the learning device 40 executes machine learning such as deep learning using two-dimensional skeleton position information, three-dimensional skeleton position information, etc. as a learning data set to generate a machine learning model.
認識装置50は、3Dレーザセンサ5により測定された距離画像を用いて、演技者1の各関節の向きや位置等に関する骨格を認識するコンピュータ装置の一例である。具体的には、認識装置50は、3Dレーザセンサ5により測定された距離画像を、学習装置40によって学習された学習済みの機械学習モデルに入力し、機械学習モデルの出力結果に基づいて骨格を認識する。その後、認識装置50は、認識された骨格を採点装置90に出力する。例えば、骨格認識の結果として得られる情報は、各関節の3次元位置に関する情報である。
The recognition device 50 is an example of a computer device that uses the distance image measured by the 3D laser sensor 5 to recognize the skeleton related to the direction and position of each joint of the
採点装置90は、認識装置50により入力された認識結果情報を用いて、演技者の各関節の位置や向きから得られる動きの推移を特定し、演技者が演技した技の特定および採点を実行するコンピュータ装置の一例である。
The scoring
上述した機械学習モデルを用いた骨格認識技術により、体操のような複雑な姿勢における3次元の骨格認識を行うためには、複雑な姿勢に関する多くの学習データを新たに準備して学習させる必要がある。 In order to perform 3D skeletal recognition in complex postures such as gymnastics using the above-mentioned skeletal recognition technology using the machine learning model, it is necessary to newly prepare a lot of learning data related to complex postures. be.
近年では、多くの学習データを生成するために、レーザ方式や画像方式などを用いて、3次元の骨格情報などを新たに収集することが行われている。例えば、3Dレーザセンサを用いたレーザ方式では、レーザを1秒間に約200万回照射し1レーザの走行時間(Time of Flight:ToF)をもとに、対象となる人も含めて、各照射点の深さ情報を求めることが行われている。このレーザ方式は、高精度な深度データを取得できるが、レーザースキャンやToF測定などの複雑な構成や処理が要求され、ハードウエアが複雑で高価になることから、汎用的に利用することは難しい。 In recent years, in order to generate a large amount of learning data, three-dimensional skeleton information and the like are newly collected using a laser method, an image method, and the like. For example, in the laser method using a 3D laser sensor, the laser is irradiated approximately 2 million times per second, and based on the time of flight (ToF) of one laser, each irradiation including the target person Determination of depth information for points has been performed. Although this laser method can acquire highly accurate depth data, it requires complicated configuration and processing such as laser scanning and ToF measurement, and the hardware is complicated and expensive, making it difficult to use for general purposes. .
また、CMOS(Complementary Metal Oxide Semiconductor)イメージャによって各ピクセルのRGBデータを取得する画像方式は、安価なRGBカメラを用いることができ、近年の深層学習技術の向上により、3次元の骨格認識の精度も向上しつつある。しかし、一般的な姿勢しか含まないTotal Captureなどの既存のデータセットを使用して機械学習を実行しても、体操のような複雑な姿勢を認識できる機械学習モデルを生成することができない。 In addition, the imaging method that acquires the RGB data of each pixel with a CMOS (Complementary Metal Oxide Semiconductor) imager can use an inexpensive RGB camera, and recent improvements in deep learning technology have improved the accuracy of 3D skeleton recognition. improving. However, even if machine learning is performed using existing datasets such as Total Capture that contain only general postures, it is not possible to generate a machine learning model that can recognize complex postures such as gymnastics.
このように、一般的に使用されている方式では、複雑な姿勢を認識できる機械学習モデルを生成できないので、複雑な姿勢を学習するための学習データを手動で生成することが行われている。 As described above, the generally used method cannot generate a machine learning model capable of recognizing a complicated posture, so learning data for learning a complicated posture is manually generated.
図2は、手動により学習データの生成を説明する図である。図2に示すように、演技者1の体操の一連の演技を撮像した動画像データと、過去に演技者1が演技したときの3次元骨格データを含む3次元骨格系列データとを目視により時刻同期を実行し、動画像データと3次元骨格データとが同期するフレームを探索する(S1)。続いて、事前知識として定義したおおよそのカメラパラメータを用いて、3次元骨格データを画像に投影し(S2)、動画像データの人物シルエットと3次元骨格データとが重なるように、カメラパラメータの値を手動で調整する(S3)。その後、3次元骨格系列データを動画像データのフレームレートでリサンプリングし、動画像データに投影することで、動画像データ全体に渡る学習データを作成する(S4)。
FIG. 2 is a diagram for explaining manual generation of learning data. As shown in FIG. 2, moving image data obtained by capturing a series of gymnastics performances of
このように、手動で学習データを作成する場合、動画像データと3次元骨格系列データの空間的および時間的な位置合わせを目視および手動で実施するので、学習データとして十分な精度が得られず、さらには膨大な作業時間を要する。 In this way, when manually creating training data, the spatial and temporal alignment of moving image data and 3D skeletal sequence data is performed visually and manually, so sufficient accuracy cannot be obtained as training data. , and requires a huge amount of work time.
そこで、実施例1では、同一の動作に関する、カメラで取得した動画像データと、3Dセンシングなどで取得した3次元骨格系列データとを用いて、空間的および時間的に最適な自動位置合わせを実施し、効率的かつ高品質な学習データを生成する技術を提供する。 Therefore, in the first embodiment, moving image data obtained by a camera and three-dimensional skeletal sequence data obtained by 3D sensing or the like regarding the same motion are used to perform automatic spatial and temporal alignment. and provide technology to generate efficient and high-quality training data.
具体的には、生成装置10は、演技を行う演技者1を撮像した2次元の動画像データに含まれる複数のフレームそれぞれから複数の関節それぞれの2次元座標を取得する。続いて、生成装置10は、演技を行う演技者1の複数の関節位置(3次元骨格データ)に関する3次元骨格系列データから、複数のフレームそれぞれに対応する複数の3次元骨格データそれぞれを特定する。そして、生成装置10は、複数のフレームそれぞれの2次元座標と複数の3次元骨格データそれぞれとを用いて、動画像データと3次元骨格系列データとの間の時刻同期に関する調整量と、動画像データへ3次元骨格系列データを投影するときのカメラパラメータとの最適化を実行する。その後、生成装置10は、最適化された調整量とカメラパラメータとを用いて、動画像データと3次元骨格系列データとを対応付けたデータを生成する。
Specifically, the generating device 10 acquires the two-dimensional coordinates of each of the joints from each of the frames included in the two-dimensional moving image data of the
このように、生成装置10は、3次元骨格系列データと2次元の関節座標との間の幾何的な整合性が最大化されるように、非線型最適化に基づくカメラキャリブレーションと時刻同期を同時に実施することで、空間的および時間的に最適な自動位置合わせを実行する。この結果、生成装置10は、精度良く3次元の骨格位置を推定する機械学習モデルの学習に利用できる、2次元画像と3次元の骨格位置とを含む学習データセットを自動で生成することができる。 In this way, the generation device 10 performs camera calibration and time synchronization based on nonlinear optimization so as to maximize the geometric consistency between the 3D skeleton sequence data and the 2D joint coordinates. Performed simultaneously, it performs the best spatial and temporal automatic registration. As a result, the generation device 10 can automatically generate a learning data set including two-dimensional images and three-dimensional skeleton positions that can be used for learning a machine learning model for accurately estimating three-dimensional skeleton positions. .
[機能構成]
図3は、実施例1にかかる生成装置10の機能構成を示す機能ブロック図である。図3に示すように、生成装置10は、通信部11、記憶部12、制御部20を有する。[Function configuration]
FIG. 3 is a functional block diagram of the functional configuration of the generation device 10 according to the first embodiment. As shown in FIG. 3 , the generation device 10 has a communication section 11 , a
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部11は、カメラなどを用いて撮影された演技者1の動画像データを受信し、3Dレーザセンサ5を用いて撮影された演技者1の3次元骨格系列を受信する。
The communication unit 11 is a processing unit that controls communication with other devices, and is realized by, for example, a communication interface. For example, the communication unit 11 receives moving image data of the
記憶部12は、各種データや制御部20が実行するプログラムなどを記憶する処理部であり、例えばメモリやハードディスクなどにより実現される。この記憶部12は、動画像データ13、3次元骨格系列データ14、学習データセット15を記憶する。
The
動画像データ13は、演技者1が演技したときにカメラなどにより撮影された一連の動画像データであり、複数のフレームから構成される。図4は、動画像データ13の例を示す図である。図4では、一例として、あん馬を演技しているときに撮影された動画像データ13内の1つのフレームを示している。この動画像データ13は、座標系として、カメラの位置、姿勢や解像度を基準とし、時刻系として、カメラ固有のタイムスタンプやサンプリングレートを基準とする。
The moving image data 13 is a series of moving image data captured by a camera or the like when the
3次元骨格系列データ14は、複数の関節位置に関する3次元の関節座標を示す3次元骨格データを含む系列データである。具体的には、3次元骨格系列データ14は、演技者1が演技したときに、3Dレーザセンサなどにより撮影された一連の3次元骨格データである。なお、3次元骨格データには、演技者1が演技しているときの各関節の3次元の骨格位置(骨格情報)に関する情報が含まれる。
The 3D skeleton series data 14 is series data including 3D skeleton data representing 3D joint coordinates for a plurality of joint positions. Specifically, the three-dimensional skeleton series data 14 is a series of three-dimensional skeleton data captured by a 3D laser sensor or the like when
図5は、3次元骨格系列データ14の例を説明する図である。図5では、演技者1の演技から生成された3次元骨格系列データ14中の1つの3次元骨格データを図示している。図5に示すように、3次元骨格系列データ14は、3Dセンシング技術で取得されるデータであり、各関節の3次元座標が含まれるデータである。ここで、各関節は、例えば右肩、左肩、右足首など予め指定した18関節やユーザが任意に設定した複数の関節などである。この3次元骨格系列データ14は、座標系として、センサの位置や姿勢を基準とし、時刻系として、センサ固有のタイムスタンプやサンプリングレートを基準とする。
FIG. 5 is a diagram illustrating an example of the 3D skeleton sequence data 14. As shown in FIG. FIG. 5 shows one piece of 3D skeleton data in the 3D skeleton series data 14 generated from the performance of the
学習データセット15は、後述する制御部20によって生成される、機械学習モデルの生成に利用される複数の学習データを含むデータベースである。例えば、学習データセット15は、動画像データ13に3次元骨格データとカメラパラメータとが対応付けられた情報である。 The learning data set 15 is a database containing a plurality of learning data used for generating a machine learning model, generated by the control unit 20, which will be described later. For example, the learning data set 15 is information in which the moving image data 13 is associated with three-dimensional skeleton data and camera parameters.
制御部20は、生成装置10全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部20は、データ取得部21、座標取得部22、学習データ生成部23を有する。なお、データ取得部21、座標取得部22、学習データ生成部23は、プロセッサが有する電子回路やプロセッサが実行するプロセスなどにより実現される。
The control unit 20 is a processing unit that controls the generation device 10 as a whole, and is realized by, for example, a processor. The control unit 20 has a
データ取得部21は、動画像データ13や3次元骨格系列データ14を取得して記憶部12に格納する処理部である。例えば、データ取得部21は、カメラから動画像データ13を取得することもでき、以前に公知の手法により撮像された動画像データ13を記憶する記憶先から読み出して記憶部12に格納することもできる。同様に、データ取得部21は、3Dレーザセンサから3次元骨格系列データ14を取得することもでき、以前に公知の手法により撮像された3次元骨格系列データ14を記憶する記憶先から読み出して記憶部12に格納することもできる。
The
座標取得部22は、動画像データ13に含まれる複数のフレームそれぞれから複数の関節それぞれの2次元の関節座標である2次元座標を取得する処理部である。具体的には、座標取得部22は、動画像データの中から適当なフレームを数枚(例えば10枚)程度選択し、それぞれのフレームにおける対象人物の2次元の関節位置を自動または手動で取得する。 The coordinate acquisition unit 22 is a processing unit that acquires two-dimensional coordinates, which are two-dimensional joint coordinates of each of a plurality of joints, from each of a plurality of frames included in the moving image data 13 . Specifically, the coordinate acquisition unit 22 selects several (for example, 10) appropriate frames from the moving image data, and automatically or manually acquires the two-dimensional joint positions of the target person in each frame. do.
図6は、2次元関節座標の取得を説明する図である。図6に示すように、座標取得部22は、動画像データ13の中からフレームを選択し、選択したフレームから予め指定した8関節をアノテーション対象に設定する。そして、座標取得部22は、既存のモデルなどを用いて、アノテーション対象である(1)右ひじ(2)右手首(3)左ひじ(4)左手首(5)右ひざ(6)右足首(7)左ひざ(8)左足首それぞれの関節位置を示す2次元座標を取得する。 FIG. 6 is a diagram illustrating acquisition of two-dimensional joint coordinates. As shown in FIG. 6, the coordinate acquisition unit 22 selects a frame from the moving image data 13, and sets eight joints specified in advance from the selected frame as annotation targets. Then, the coordinate acquisition unit 22 uses an existing model or the like to obtain (1) right elbow (2) right wrist (3) left elbow (4) left wrist (5) right knee (6) right ankle (7) Acquire two-dimensional coordinates indicating joint positions of the left knee (8) and the left ankle.
なお、3次元骨格系列データにおける関節のサブセットをアノテーション対象とすることもできる。また、既存の2次元の骨格認識手法を用いた自動アノテーションや、目視や手動でのアノテーションを実施することで、2次元の関節座標を取得できる。 Note that a subset of joints in the 3D skeletal sequence data can also be an annotation target. In addition, two-dimensional joint coordinates can be acquired by performing automatic annotation using an existing two-dimensional skeleton recognition method, visual observation, or manual annotation.
学習データ生成部23は、初期設定部24、最適化部25、出力部26を有し、動画像データ13に3次元骨格データを対応付けた学習データセット15を生成する処理部である。具体的には、学習データ生成部23は、同一の演技に関する、3次元骨格系列データ14と動画像データ13の両方を保有することから、3次元骨格系列データ14を動画像データ13に対して投影することで、新たにデータを取得することなく、複雑な姿勢に関する2次元の関節座標または3次元の関節座標を付加した画像を大量に生成することができる。
The learning
ただし、図4と図5で説明したように、3次元骨格系列データ14と動画像データ13とは、互いに異なる座標系および時刻系を基準とする。このため、学習データ生成部23は、3次元骨格系列データ14を動画像データ13に投影するために、空間的な位置合わせに該当するカメラキャリブレーションと、時間的な位置合わせに該当する時刻同期とリサンプリングを実行する。
However, as described with reference to FIGS. 4 and 5, the three-dimensional skeleton sequence data 14 and the moving image data 13 are based on mutually different coordinate systems and time systems. Therefore, in order to project the three-dimensional skeleton sequence data 14 onto the moving image data 13, the learning
(カメラキャリブレーション)
ここで、カメラキャリブレーションについて説明する。図7は、カメラキャリブレーションを説明する図である。図7に示すように、ある3D点を画像に投影したときの投影点を求めるためには、画像を撮影したカメラに関する、焦点距離や解像度などのカメラ固有のパラメータ(カメラ内部パラメータ)と、3D点の基準となる座標系(世界座標系)におけるカメラの位置および姿勢のパラメータ(カメラ外部パラメータ)が必要である。これらのパラメータ(カメラパラメータ)を求める処理をカメラキャリブレーションと呼ぶ。(camera calibration)
Here, camera calibration will be described. FIG. 7 is a diagram for explaining camera calibration. As shown in FIG. 7, in order to obtain a projection point when a certain 3D point is projected onto an image, camera-specific parameters such as focal length and resolution (camera intrinsic parameters) related to the camera that captured the image, and 3D The position and orientation parameters (camera extrinsics) of the camera in the coordinate system (world coordinate system) that serves as a point reference are required. The process of obtaining these parameters (camera parameters) is called camera calibration.
図7の例では、画像に3D点を投影する透視投影は、w[x,y,t]t=K[R,t][X,Y,Z]tで表すことができる。ここで、[X,Y,Z]は、投影元である3D点の座標を示し、[x,y]は、投影先である画像上の投影点の座標を示す。Kは、カメラの内部パラメータであり、3×3の内部行列である。Rは、カメラの外部パラメータであり、3×3の回転行列である。tは、3×1の並進ベクトルである。これらのうち、R、tがカメラキャリブレーションの対象となる。In the example of FIG. 7, a perspective projection that projects a 3D point onto an image can be represented by w[x,y,t] t =K[R,t][X,Y,Z] t . Here, [X, Y, Z] indicates the coordinates of the 3D point that is the projection source, and [x, y] indicates the coordinates of the projection point on the image that is the projection destination. K is an intrinsic parameter of the camera and is a 3×3 intrinsic matrix. R is the extrinsic parameter of the camera and is a 3x3 rotation matrix. t is a 3×1 translation vector. Of these, R and t are subject to camera calibration.
(時刻同期とリサンプリング)
次に、時刻同期とリサンプリングについて説明する。図8は、時刻同期とリサンプリングを説明する図である。図8に示すように、動画像データ13と3次元骨格系列データ14が異なる時刻系で取得された場合、2つのデータ全体の時刻同期をとった上で、動画像データ13の各フレーム時刻で3次元骨格系列データ14をリサンプリングすることで、動画像データ13と同期した3次元骨格データを取得できる。(time synchronization and resampling)
Next, time synchronization and resampling will be described. FIG. 8 is a diagram for explaining time synchronization and resampling. As shown in FIG. 8, when the moving image data 13 and the 3D skeleton sequence data 14 are acquired in different time systems, the entire two data are time-synchronized, and then each frame time of the moving image data 13 is By resampling the 3D
ここで、時刻同期とは、動画像データ13と3次元骨格系列データ14の間での時刻系の変換を規定することであり、リサンプリングとは、動画像データ13の各フレームの時刻における3次元骨格データを補間することである。 Here, the time synchronization means to define the conversion of the time system between the moving image data 13 and the three-dimensional skeleton sequence data 14, and the resampling means that the time of each frame of the moving image data 13 is 3 It is to interpolate the dimensional skeleton data.
図8の場合、実世界の時刻系はtであり、3次元骨格系列データ14の時刻系はtsであり、動画像データ13の時刻系はtvとする。この状態で、3次元骨格系列データ14は、サンプリング周期Tsでサンプリングされ、時刻ts,0、時刻ts,1、時刻ts,2などの3次元骨格データがサンプリングされる。動画像データ13は、サンプリング周期Tvでサンプリングされ、時刻tv,0、時刻tv,1、時刻tv,1などのフレームがサンプリングされる。In the case of FIG. 8, the time system of the real world is t, the time system of the three-dimensional skeleton sequence data 14 is ts , and the time system of the moving image data 13 is tv . In this state, the 3D skeleton sequence data 14 is sampled at a sampling period T s , and 3D skeleton data such as time t s,0 , time t s,1 , and time t s,2 are sampled. The moving image data 13 is sampled at a sampling period T v , and frames at time t v,0 , time t v,1 , time t v,1, etc. are sampled.
3次元骨格系列データ14の先頭である時刻ts,0と、動画像データ13の先頭である時刻tv,0との差分は、時刻シフト量Tv,sとなる。ここで、時刻同期は、「τ(tv,j)=時刻ts,0+時刻シフト量Tv,s+jTv」のように、2つの時刻系間の時刻の変換を規定することで算出できる。また、リサンプリングは、時刻系の変換式を用いて「tv,j」付近所定時刻の範囲内の3次元骨格データを参照し、時刻tv,jに相当する3次元骨格データをバイリニア法などで補間することで実行できる。例えば、動画像データ13における時刻tv,0のフレームに対しては、3次元骨格系列データ14の時刻ts,2から時刻ts,3の間にある、τ(tv,0)で時刻同期された3次元骨格データを対応付けることで、リサンプリングされた3次元骨格データを抽出することができる。The difference between the time t s,0 that is the beginning of the three-dimensional skeleton sequence data 14 and the time t v,0 that is the beginning of the moving image data 13 is the time shift amount T v,s . Here, the time synchronization is defined as time conversion between two time systems, such as “τ(t v,j )=time t s,0 +time shift amount T v,s +jT v ”. can be calculated. Also, resampling is performed by referring to the 3D skeleton data within the range of a predetermined time around "t v,j " using a time system conversion formula, and converting the 3D skeleton data corresponding to the time t v,j to the bilinear method. It can be executed by interpolating with For example, for the frame at time t v,0 in the moving image data 13, at τ(t v,0 ) between time t s,2 and time t s,3 in the three-dimensional skeleton sequence data 14, By associating time-synchronized 3D skeleton data, resampled 3D skeleton data can be extracted.
上述したように、学習データ生成部23は、3次元骨格系列データ14を動画像データ13に投影するために、「カメラキャリブレーション」と、「時刻同期とリサンプリング」とを実行する。このとき、学習データ生成部23は、3次元骨格系列データ14と動画像データ13との間の幾何的な整合性が最大化されるように、非線型最適化に基づくカメラキャリブレーションと時刻同期を同時に実施するコスト関数を定義する。そして、学習データ生成部23は、コスト関数の最適化により、最適な時刻同期とカメラキャリブレーションを算出する。
As described above, the learning
図3に戻り、初期設定部24は、コスト関数の初期パラメータを設定する処理部である。具体的には、初期設定部24は、時刻同期を変更した各同期パターンにおいて、リサンプリングにより対応付けられた複数のフレームそれぞれと複数の3次元骨格データそれぞれとを用いて、動画像データ13に3次元骨格系列データ13を投影するときのカメラの位置姿勢を推定する推定問題を解くことによりカメラパラメータを算出する。そして、初期設定部24は、各同期パターンについて算出された各カメラパラメータを用いて、各同期パターンの時刻同期と各カメラパラメータとの妥当性を表す尤度を算出する。その後、初期設定部24は、尤度が最も高い同期パターンについて特定された複数のフレームそれぞれと複数の3次元骨格データそれぞれとを初期値に設定する。 Returning to FIG. 3, the initial setting unit 24 is a processing unit that sets initial parameters of the cost function. Specifically, in each synchronization pattern whose time synchronization has been changed, the initial setting unit 24 converts the moving image data 13 into Camera parameters are calculated by solving an estimation problem for estimating the position and orientation of the camera when projecting the three-dimensional skeleton sequence data 13 . Then, the initial setting unit 24 uses each camera parameter calculated for each synchronization pattern to calculate the likelihood representing the validity of the time synchronization of each synchronization pattern and each camera parameter. After that, the initial setting unit 24 sets initial values to each of the plurality of frames identified for the synchronization pattern with the highest likelihood and each of the plurality of three-dimensional skeleton data.
図9は、初期パラメータの推定を説明する図である。図9に示すように、初期設定部24は、時刻同期を適当に変えながら、2次元の関節座標が取得されている動画像データ13のフレームに対応する3次元骨格データを上記図8に示したリサンプリングにより取得する。そして、初期設定部24は、2次元の関節位置と3次元骨格データとの対応におけるPnP(Perspective-n-Point)問題を解くことでカメラパラメータを推定する。 FIG. 9 is a diagram illustrating estimation of initial parameters. As shown in FIG. 9, the initial setting unit 24 displays the three-dimensional skeleton data corresponding to the frame of the moving image data 13 for which the two-dimensional joint coordinates are acquired while appropriately changing the time synchronization. obtained by resampling. The initial setting unit 24 then estimates the camera parameters by solving a PnP (Perspective-n-Point) problem in correspondence between the two-dimensional joint positions and the three-dimensional skeleton data.
このとき、初期設定部24は、求めたカメラパラメータと時刻同期の妥当性を表す尤度として、3次元骨格系列データ14と2次元の関節座標との間の幾何的な整合性を定量的に計算する。例えば、初期設定部24は、リサンプリングした3次元骨格データにおける、3次元の関節座標の再投影誤差が閾値未満となる関節数の割合などを尤度として算出する。そして、初期設定部24は、時刻同期に関する全試行の中で、尤度が最大値をとるときの時刻同期とカメラパラメータを準最適解として採用し、最適化部25に初期値として出力する。
At this time, the initial setting unit 24 quantitatively determines the geometric consistency between the three-dimensional skeleton sequence data 14 and the two-dimensional joint coordinates as the likelihood representing the appropriateness of the obtained camera parameters and time synchronization. calculate. For example, the initial setting unit 24 calculates, as the likelihood, the ratio of the number of joints in the resampled 3D skeleton data, for which the reprojection error of the 3D joint coordinates is less than a threshold. Then, the initial setting unit 24 adopts the time synchronization and the camera parameters when the likelihood takes the maximum value among all trials related to time synchronization as semi-optimal solutions, and outputs them to the
図9の例では、初期設定部24は、動画像データ13の先頭フレームを一定の間隔でシフトさせた同期パターンに該当する試行i-1、試行i、試行i+1を実行して、準最適解を算出する例を示している。試行i-1を例にして説明すると、初期設定部24は、データ取得部21により2次元座標が取得された時刻ts,0に該当する動画像データ13のフレームに対して、対応する時刻ts,0から時刻ts,1の間の3次元骨格データを用いてリサンプリングした結果、データA1を生成する。同様に、初期設定部24は、2次元座標が取得されたフレームに対して、時刻ts,2から時刻ts,3の間の3次元骨格データを用いてリサンプリングしてデータA3を生成し、時刻ts,3から時刻ts,4の間の3次元骨格データを用いてリサンプリングしてデータA4を生成する。In the example of FIG. 9, the initial setting unit 24 executes trial i−1, trial i, and trial i+1 corresponding to the synchronization pattern in which the leading frame of the moving image data 13 is shifted at regular intervals to obtain a suboptimal solution. An example of calculating is shown. Taking trial i−1 as an example, the initial setting unit 24 obtains the corresponding time t s,0 for the frame of the moving image data 13 corresponding to the time t s,0 when the two-dimensional coordinates were obtained by the
続いて、初期設定部24は、3次元骨格データと2次元座標とを含むデータA1、データA3、データA4を用いて、PnP問題を解くことにより、カメラパラメータを推定する。ここで、初期設定部24は、推定されたカメラパラメータを用いて、動画像データ13のフレームに、3次元骨格データを投影する。そして、初期設定部24は、当該フレームにおける各関節について、各関節の2次元座標と、3次元骨格データにおける各関節の3次元座標(2次元座標のみを使用)との距離を算出する。そして、初期設定部24は、距離が閾値未満である関節の割合を尤度として算出する。なお、尤度は、1つまたは複数のフレームに対して3次元骨格データを投影したときの各関節の距離を用いて算出することができる。 Subsequently, the initial setting unit 24 estimates camera parameters by solving a PnP problem using data A1, data A3, and data A4 including three-dimensional skeleton data and two-dimensional coordinates. Here, the initial setting unit 24 projects the three-dimensional skeleton data onto the frames of the moving image data 13 using the estimated camera parameters. Then, for each joint in the frame, the initial setting unit 24 calculates the distance between the two-dimensional coordinates of each joint and the three-dimensional coordinates (using only two-dimensional coordinates) of each joint in the three-dimensional skeleton data. Then, the initial setting unit 24 calculates the ratio of joints whose distance is less than the threshold as the likelihood. Note that the likelihood can be calculated using the distance of each joint when the 3D skeleton data is projected onto one or more frames.
このようにして、初期設定部24は、試行i-1、試行i、試行i+1のそれぞれについて、上述した処理を実行して、尤度を算出する。そして、初期設定部24は、尤度が最も高い試行iの時刻同期とカメラパラメータとを準最適解(初期値)に決定する。 In this manner, the initial setting unit 24 executes the above-described processing for each of trial i−1, trial i, and trial i+1 to calculate the likelihood. Then, the initial setting unit 24 determines the time synchronization and camera parameters of the trial i with the highest likelihood as quasi-optimal solutions (initial values).
図3に戻り、最適化部25は、初期設定部24により算出された準最適解を初期値として、時刻同期の調整量とカメラパラメータとに関するコスト関数の最適化を実行する処理部である。具体的には、最適化部25は、時刻同期の調整量Δtとカメラパラメータに関するコスト関数C(式1)を定義し、準最適解を初期値とする非線型最適化を適用し、コスト関数を最小化する。このとき、最適化部25は、離散データである3次元骨格系列データを、関節ごとに微分可能な連続関数f(t)で表現し、3次元骨格データのリサンプリング処理としてコスト関数Cに組込む。なお、f(t)としては、3次スプライン補間などが適用できる。
Returning to FIG. 3, the
なお、式(1)における「i」は、関節を示し、「t」は、準最適解における2次元座標が取得された動画像データ13のフレームの時刻である。「pi,t」は、時刻tにおける関節iの2次元の関節位置を示す。「fi(t)」は、時刻tにおける関節iの位置であり、リンサンプリングされた3次元の関節座標である。「π(x)」は、カメラパラメータを用いた3D点Xの透視投影であり、2次元の関節座標である。このコスト関数Cにおいて、時刻の調整量Δtとπとが最適化対象である。Note that "i" in the equation (1) indicates a joint, and "t" is the frame time of the moving image data 13 from which the two-dimensional coordinates in the quasi-optimal solution were acquired. “p i,t ” indicates the two-dimensional joint position of joint i at time t. “f i (t)” is the position of joint i at time t, and is the phosphor-sampled three-dimensional joint coordinates. "π(x)" is the perspective projection of the 3D point X using the camera parameters and the two-dimensional joint coordinates. In this cost function C, the time adjustment amounts Δt and π are optimization targets.
図10は、パラメータの最適化を説明する図である。図10に示すように、最適化部25は、準最適解をコスト関数Cの初期値に設定し、最適化とリサンプリングとを繰り返すことで、各パラメータの最適値を算出する。例えば、最適化部25は、2次元座標と3次元骨格データとが対応付けられたデータB1を用いてコスト関数の最適化を実行し、次のデータB2を用いるときは上記リサンプリングした上でデータB2を生成した後、当該データB2を用いてコスト関数の最適化を実行する。このようにすることで、最適化部25は、Δtとカメラパラメータとを同時に最適化することができる。
FIG. 10 is a diagram for explaining parameter optimization. As shown in FIG. 10, the
図11は、最適化の結果を説明する図である。図11に示すように、初期設定部24は、(1)から(8)の関節の2次元座標が取得されたフレーム(画像)に対して、初期パラメータを設定する。このとき、幾何学的な整合性が不十分であることから、画像上の選手の身体と、リサンプリングされた3次元骨格データとがずれた状態である。その後、最適化部25が最適化を実行することで、幾何学的な整合性が向上することから、画像上の選手の身体と、リサンプリングされた3次元骨格データとが一致する。そして、最適化部25は、最適化されたΔtとカメラパラメータとを出力部26に出力する。
FIG. 11 is a diagram explaining the result of optimization. As shown in FIG. 11, the initial setting unit 24 sets initial parameters for frames (images) in which the two-dimensional coordinates of the joints (1) to (8) are acquired. At this time, the player's body on the image is out of alignment with the resampled three-dimensional skeleton data due to insufficient geometric consistency. After that, the
出力部26は、最適化部25による最適化結果を用いて、学習データを生成する処理部である。具体的には、出力部26は、最適化された時刻同期の調整量およびカメラパラメータを前提として、2次元の関節座標や3次元の関節座標を付加した画像を生成し、学習データとして学習データセット15に格納する。
The
図12は、生成される学習データの一例を示す図である。図12に示すように、出力部26は、「画像、3次元骨格データ、カメラパラメータ」として「I1、({X1,1,Y1,1,Z1,1}・・・{X1,j,Y1,j,Z1,j})、(K,R,t)」や「I2、({X2,1,Y2,1,Z2,1}・・・{X2,j,Y2,j,Z2,j})、(K,R,t)」などが記憶される。FIG. 12 is a diagram showing an example of generated learning data. As shown in FIG. 12, the
この例では、2次元画像I1に対して関節の3次元座標「{X1,1,Y1,1,Z1,1}・・・{X1,j,Y1,j,Z1,j}」が対応付けられ、対応付け時のカメラパラメータが「K,R,t」であることを示している。なお、カメラパラメータは、一連の動画像データ13に対して、1つ設定される。In this example, three-dimensional coordinates of joints "{ X1,1 , Y1,1 , Z1,1 }...{ X1,j , Y1,j , Z1" are calculated for the two-dimensional image I1 . , j }” are associated with each other, indicating that the camera parameters at the time of association are “K, R, t”. One camera parameter is set for a series of moving image data 13 .
[処理の流れ]
図13は、学習データの生成処理の流れを示すフローチャートである。図13に示すように、座標取得部22は、記憶部12から動画像データ13と3次元骨格系列データ14を読込み(S101)、動画像データ13のフレーム数枚における2次元の関節座標を取得する(S102)。[Process flow]
FIG. 13 is a flowchart showing the flow of learning data generation processing. As shown in FIG. 13, the coordinate acquisition unit 22 reads the moving image data 13 and the three-dimensional skeletal sequence data 14 from the storage unit 12 (S101), and acquires two-dimensional joint coordinates in several frames of the moving image data 13. (S102).
そして、学習データ生成部23は、カメラパラメータと時刻同期の初期値を推定し(S103)、カメラパラメータと時刻同期を最適化し(S104)、最適化結果を用いて学習データを生成する(S105)。
Then, the learning
ここで、S103とS104で実行される処理の詳細を説明する。図14は、初期値の推定から最適化までの処理の流れを示すフローチャートである。図14に示すように、学習データ生成部23は、動画像データ13と3次元骨格系列データ14との間の時刻同期の候補群を生成する(S201)。
Here, details of the processing executed in S103 and S104 will be described. FIG. 14 is a flow chart showing the flow of processing from initial value estimation to optimization. As shown in FIG. 14, the learning
続いて、学習データ生成部23は、時刻同期の各候補について、2次元の関節座標をもつフレームに対応する3次元骨格データのリサンプリングを実行する(S202)。そして、学習データ生成部23は、時刻同期の各候補について、2次元の関節位置と3次元骨格データの対応に基づくPnP問題を解くことでカメラパラメータを推定する(S203)。
Subsequently, the learning
その後、学習データ生成部23は、時刻同期の各候補について、時刻同期とカメラパラメータの妥当性を示す尤度を計算し(S204)、時刻同期の候補のうち、尤度が最大となるときの時刻同期とカメラパラメータを準最適解に決定する(S205)。
After that, the learning
そして、学習データ生成部23は、3次元骨格データのリサンプリング処理を組み込んだ、時刻同期とカメラパラメータに関するコスト関数を定義し(S206)、準最適解を初期値とする非線型最適化を実行してコスト関数を最小化し、最適な時刻同期とカメラパラメータを取得する(S207)。
Then, the learning
[効果]
上述したように、生成装置10は、3次元骨格系列データ14と2次元の関節座標との間の幾何的な整合性が最大化されるように、準最適なカメラパラメータと時刻同期を同時に推定した後に、その推定結果を初期値とする非線型最適化により空間的および時間的に最適な自動位置合わせを実行する。したがって、生成装置10は、カメラや3Dセンシング技術により非同期的に取得した、動画像データ13と3次元骨格系列データ14を利用し、画像方式の骨格認識のための学習データを効率的に生成することができる。[effect]
As described above, the generation device 10 simultaneously estimates sub-optimal camera parameters and time synchronization so as to maximize the geometric consistency between the 3D skeletal sequence data 14 and the 2D joint coordinates. Then, spatially and temporally optimal automatic registration is performed by nonlinear optimization with the estimation result as the initial value. Therefore, the generation device 10 uses the moving image data 13 and the 3D skeleton sequence data 14 asynchronously acquired by a camera or 3D sensing technology to efficiently generate learning data for image-based skeleton recognition. be able to.
また、生成装置10は、尤度として、動画像データのフレームに投影したときの各関節に対する再投影誤差が閾値未満である関節数の割合を算出することができるので、正確な初期値を設定することができる。この結果、生成装置10は、ある程度絞り込んだ状態で最適化を実行することができるので、最適化処理のコストを削減することができ、最適化処理の処理時間を短縮することができる。 In addition, since the generation device 10 can calculate, as the likelihood, the ratio of the number of joints for which the reprojection error for each joint when projected onto a frame of moving image data is less than the threshold, an accurate initial value is set. can do. As a result, the generation device 10 can execute optimization in a state narrowed down to some extent, so that the cost of optimization processing can be reduced and the processing time of optimization processing can be shortened.
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。 Although the embodiments of the present invention have been described so far, the present invention may be implemented in various different forms other than the embodiments described above.
[数値等]
上記実施例で用いた対象とするデータの種類、コスト関数、機械学習モデル、学習データ、各種パラメータ等は、あくまで一例であり、任意に変更することができる。上記実施例では、体操競技を例にして説明したが、これに限定されるものではなく、選手が一連の技を行って審判が採点する他の競技にも適用することができる。他の競技の一例としては、フィギュアスケート、新体操、チアリーディング、水泳の飛び込み、空手の型、モーグルのエアーなどがある。また、スポーツに限らず、トラック、タクシー、電車などの運転手の姿勢検出やパイロットの姿勢検出などにも適用することができる。[Numbers, etc.]
The types of target data, cost functions, machine learning models, learning data, various parameters, etc. used in the above embodiments are merely examples, and can be arbitrarily changed. In the above embodiment, gymnastics was described as an example, but the present invention is not limited to this, and can be applied to other sports in which athletes perform a series of tricks and are scored by referees. Examples of other sports include figure skating, rhythmic gymnastics, cheerleading, swimming diving, karate style, and mogul airs. In addition, the present invention can be applied not only to sports, but also to detecting the posture of drivers and pilots of trucks, taxis, trains, and the like.
[適用例]
上述したよりに生成された学習データは様々な骨格認識用のモデルに採用することができる。ここでは、学習データの適用例について説明する。図15から図17は、骨格認識の処理例を説明する図である。[Application example]
The learning data generated by the above method can be used in various models for skeletal recognition. Here, an example of application of learning data will be described. 15 to 17 are diagrams for explaining an example of skeleton recognition processing.
図15は、2次元の骨格認識を実行した後に数式で3次元の骨格認識を実行する例である。図15の例では、人検出モデルを用いて、多数点の画像から人を検出し、2D検出モデルを用いて、検出された人の各関節のヒートマップから複数の2次元の関節座標を特定した後、複数の2次元の関節座標から三角測量法により、代数的に3次元の関節座標を求める。 FIG. 15 is an example of executing three-dimensional skeleton recognition using a formula after executing two-dimensional skeleton recognition. In the example of FIG. 15, a human detection model is used to detect a person from a large number of images, and a 2D detection model is used to identify a plurality of two-dimensional joint coordinates from a heat map of each joint of the detected person. After that, three-dimensional joint coordinates are algebraically determined from a plurality of two-dimensional joint coordinates by triangulation.
この手法では、人検出モデルと2D検出モデルの2つの機械学習モデルが用いられている。この2つのモデルに対して、実施例1により生成された「画像と2次元座標」とが対応付けられた学習データを用いて機械学習を実行することにより、各モデルの精度を向上させることができる。 This approach uses two machine learning models: a human detection model and a 2D detection model. By executing machine learning on these two models using learning data in which "images and two-dimensional coordinates" generated in Example 1 are associated with each other, the accuracy of each model can be improved. can.
図16は、2次元の骨格認識を実行した後に、モデルにより3次元の骨格認識を実行する例である。図16の例では、人検出モデルを用いて、多数点の画像から人を検出し、2D検出モデルを用いて、検出された人の各関節のヒートマップから複数の2次元の関節座標を特定する。その後、複数視点の2次元の関節座標から、学習によって得られた3D推定モデルを使って3次元の関節座標を求める。または、複数視点の2次元のヒートマップを統合した3DVoxelデータから、学習によって得られた3D推定モデルを使って3次元の関節座標を求める。 FIG. 16 is an example of executing three-dimensional skeleton recognition using a model after executing two-dimensional skeleton recognition. In the example of FIG. 16, a human detection model is used to detect a person from a large number of images, and a 2D detection model is used to identify a plurality of two-dimensional joint coordinates from a heat map of each joint of the detected person. do. After that, from the two-dimensional joint coordinates of multiple viewpoints, the three-dimensional joint coordinates are obtained using the 3D estimation model obtained by learning. Alternatively, 3D joint coordinates are obtained using a 3D estimation model obtained by learning from 3D voxel data obtained by integrating two-dimensional heat maps of multiple viewpoints.
この手法では、3つの機械学習モデルが用いられている。このうち、人検出モデルと2D検出モデルに対しては、実施例1により生成された「画像と2次元座標」が対応付けられた学習データを用いて機械学習を実行する。3D推定モデルに対しては、「画像と3次元座標とカメラパラメータ」が対応付けられた学習データを用いて機械学習を実行する。この結果、各モデルの精度を向上させることができる。 This approach uses three machine learning models. Of these models, the human detection model and the 2D detection model are machine-learned using learning data in which "images and two-dimensional coordinates" generated according to the first embodiment are associated with each other. Machine learning is performed on the 3D estimation model using learning data in which "images, three-dimensional coordinates, and camera parameters" are associated with each other. As a result, the accuracy of each model can be improved.
図17は、3次元の骨格認識を直接実行する例である。図17の例では、人検出モデルを用いて、画像から人を検出し、学習によって得られた3D検出モデルを用いて、検出された人に対して各関節の3次元の関節座標を推定する。この手法では、2つの機械学習モデルが用いられている。これらのモデルに対しては、「画像と3次元座標とカメラパラメータ」が対応付けられた学習データを用いて機械学習を実行する。この結果、各モデルの精度を向上させることができる。 FIG. 17 shows an example of directly executing 3D skeleton recognition. In the example of FIG. 17, a human detection model is used to detect a person from an image, and a 3D detection model obtained by learning is used to estimate the three-dimensional joint coordinates of each joint of the detected person. . This approach uses two machine learning models. For these models, machine learning is performed using learning data in which "images, three-dimensional coordinates, and camera parameters" are associated. As a result, the accuracy of each model can be improved.
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。なお、座標取得部22は、取得部の一例であり、学習データ生成部23は、特定部と実行部と生成部の一例である。また、3次元骨格系列データ14は、3次元系列データの一例である。また、カメラパラメータは、投影パラメータの一例である。なお、2次元の関節座標とは、関節の位置を2次元で表現したときの座標であり、2次元の骨格座標と同義である。同様に、2次元の関節座標とは、関節の位置を3次元で表現したときの座標であり、3次元の骨格座標と同義である。[system]
Information including processing procedures, control procedures, specific names, and various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. Note that the coordinate acquisition unit 22 is an example of an acquisition unit, and the learning
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Also, each component of each device illustrated is functionally conceptual, and does not necessarily need to be physically configured as illustrated. That is, the specific forms of distribution and integration of each device are not limited to those shown in the drawings. That is, all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions.
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。 Further, each processing function performed by each device may be implemented in whole or in part by a CPU and a program analyzed and executed by the CPU, or implemented as hardware based on wired logic.
[ハードウェア]
次に、ハードウェア構成例を説明する。図18は、ハードウェア構成例を説明する図である。図18に示すように、生成装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図18に示した各部は、バス等で相互に接続される。[hardware]
Next, a hardware configuration example will be described. FIG. 18 is a diagram illustrating a hardware configuration example. As shown in FIG. 18, the generation device 10 has a communication device 10a, a HDD (Hard Disk Drive) 10b, a memory 10c, and a processor 10d. 18 are interconnected by a bus or the like.
通信装置10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD10bは、図3に示した機能を動作させるプログラムやDBを記憶する。
The communication device 10a is a network interface card or the like, and communicates with other servers. The
プロセッサ10dは、図3に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図3等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、生成装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、データ取得部21、座標取得部22、学習データ生成部23等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、データ取得部21、座標取得部22、学習データ生成部23等と同様の処理を実行するプロセスを実行する。
The processor 10d reads from the
このように、生成装置10は、プログラムを読み出して実行することで各種情報処理方法を実行する情報処理装置として動作する。また、生成装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、生成装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。 Thus, the generation device 10 operates as an information processing device that executes various information processing methods by reading and executing programs. Further, the generating device 10 can read the program from the recording medium by the medium reading device and execute the read program, thereby realizing the same function as the above-described embodiment. Note that the program referred to in this other embodiment is not limited to being executed by the generation device 10 . For example, the present invention can be applied in the same way when another computer or server executes the program, or when they cooperate to execute the program.
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。 This program can be distributed via a network such as the Internet. In addition, this program is recorded on a computer-readable recording medium such as a hard disk, flexible disk (FD), CD-ROM, MO (Magneto-Optical disk), DVD (Digital Versatile Disc), etc., and is read from the recording medium by a computer. It can be executed by being read.
10 生成装置
11 通信部
12 記憶部
13 動画像データ
14 3次元骨格系列データ
15 学習データセット
20 制御部
21 データ取得部
22 座標取得部
23 学習データ生成部
24 初期設定部
25 最適化部
26 出力部10 generation device 11
Claims (7)
所定動作を行う被写体を撮像した動画像データに含まれる複数のフレームそれぞれから複数の関節それぞれの2次元座標を取得し、
前記所定動作を行う前記被写体の複数の関節位置に関する3次元骨格データを含む3次元系列データから、前記複数のフレームそれぞれに対応する複数の3次元骨格データそれぞれを特定し、
前記複数のフレームそれぞれの2次元座標と前記複数の3次元骨格データそれぞれとを用いて、前記動画像データと前記3次元系列データとの間の時刻同期に関する調整量と、前記動画像データに前記3次元系列データを投影するときの投影パラメータとの最適化を実行し、
最適化された前記調整量と前記投影パラメータとを用いて、前記動画像データと前記3次元系列データとを対応付けたデータを生成する
処理を実行することを特徴とするデータ生成方法。the computer
Acquiring two-dimensional coordinates of each of a plurality of joints from each of a plurality of frames included in moving image data obtained by imaging a subject performing a predetermined action,
identifying each of a plurality of 3D skeleton data corresponding to each of the plurality of frames from 3D series data including 3D skeleton data relating to a plurality of joint positions of the subject performing the predetermined motion;
Using the two-dimensional coordinates of each of the plurality of frames and each of the plurality of three-dimensional skeleton data, an adjustment amount related to time synchronization between the moving image data and the three-dimensional series data, and the performing optimization with projection parameters when projecting three-dimensional series data;
A data generation method, comprising generating data in which the moving image data and the three-dimensional series data are associated with each other using the optimized adjustment amount and the projection parameter.
前記各同期パターンについて算出された各投影パラメータと前記各同期パターンの時刻同期との妥当性を表す尤度を算出する処理を、前記コンピュータが実行し、
前記実行する処理は、前記尤度が最も高い前記同期パターンに対して算出された前記投影パラメータと前記時刻同期を初期値として、前記調整量と前記投影パラメータとに関するコスト関数の最適化を実行することを特徴とする請求項2に記載のデータ生成方法。each of the plurality of frames and each of the plurality of three-dimensional skeleton data associated by the resampling in each synchronization pattern obtained by adjusting the time synchronization between the time of the moving image data and the time of the three-dimensional series data; calculating the projection parameters by solving an estimation problem for estimating the position and orientation of the camera using
The computer executes a process of calculating a likelihood representing the validity of each projection parameter calculated for each synchronization pattern and the time synchronization of each synchronization pattern,
In the process to be executed, the projection parameter calculated for the synchronization pattern with the highest likelihood and the time synchronization are used as initial values to optimize a cost function related to the adjustment amount and the projection parameter. 3. The data generating method according to claim 2, characterized by:
所定動作を行う被写体を撮像した動画像データに含まれる複数のフレームそれぞれから複数の関節それぞれの2次元座標を取得し、
前記所定動作を行う前記被写体の複数の関節位置に関する3次元骨格データを含む3次元系列データから、前記複数のフレームそれぞれに対応する複数の3次元骨格データそれぞれを特定し、
前記複数のフレームそれぞれの2次元座標と前記複数の3次元骨格データそれぞれとを用いて、前記動画像データと前記3次元系列データとの間の時刻同期に関する調整量と、前記動画像データに前記3次元系列データを投影するときの投影パラメータとの最適化を実行し、
最適化された前記調整量と前記投影パラメータとを用いて、前記動画像データと前記3次元系列データとを対応付けたデータを生成する
処理を実行させることを特徴とするデータ生成プログラム。to the computer,
Acquiring two-dimensional coordinates of each of a plurality of joints from each of a plurality of frames included in moving image data obtained by imaging a subject performing a predetermined action,
identifying each of a plurality of 3D skeleton data corresponding to each of the plurality of frames from 3D series data including 3D skeleton data relating to a plurality of joint positions of the subject performing the predetermined motion;
Using the two-dimensional coordinates of each of the plurality of frames and each of the plurality of three-dimensional skeleton data, an adjustment amount related to time synchronization between the moving image data and the three-dimensional series data, and the performing optimization with projection parameters when projecting three-dimensional series data;
A data generation program for generating data in which the moving image data and the three-dimensional series data are associated with each other using the optimized adjustment amount and the projection parameter.
前記所定動作を行う前記被写体の複数の関節位置に関する3次元骨格データを含む3次元系列データから、前記複数のフレームそれぞれに対応する複数の3次元骨格データそれぞれを特定する特定部と、
前記複数のフレームそれぞれの2次元座標と前記複数の3次元骨格データそれぞれとを用いて、前記動画像データと前記3次元系列データとの間の時刻同期に関する調整量と、前記動画像データに前記3次元系列データを投影するときの投影パラメータとの最適化を実行する実行部と、
最適化された前記調整量と前記投影パラメータとを用いて、前記動画像データと前記3次元系列データとを対応付けたデータを生成する生成部と
を有することを特徴とする情報処理装置。an acquisition unit that acquires two-dimensional coordinates of each of a plurality of joints from each of a plurality of frames included in moving image data obtained by imaging a subject performing a predetermined action;
an identifying unit that identifies each of a plurality of 3D skeleton data corresponding to each of the plurality of frames from 3D sequence data including 3D skeleton data relating to a plurality of joint positions of the subject performing the predetermined motion;
Using the two-dimensional coordinates of each of the plurality of frames and each of the plurality of three-dimensional skeleton data, an adjustment amount related to time synchronization between the moving image data and the three-dimensional series data, and the an execution unit that executes optimization with projection parameters when projecting three-dimensional series data;
and a generating unit that generates data in which the moving image data and the three-dimensional series data are associated with each other using the optimized adjustment amount and the projection parameter.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/026232 WO2022003963A1 (en) | 2020-07-03 | 2020-07-03 | Data generation method, data generation program, and information-processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2022003963A1 JPWO2022003963A1 (en) | 2022-01-06 |
JP7318814B2 true JP7318814B2 (en) | 2023-08-01 |
Family
ID=79314967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022533003A Active JP7318814B2 (en) | 2020-07-03 | 2020-07-03 | DATA GENERATION METHOD, DATA GENERATION PROGRAM AND INFORMATION PROCESSING DEVICE |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7318814B2 (en) |
WO (1) | WO2022003963A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024024055A1 (en) * | 2022-07-28 | 2024-02-01 | 富士通株式会社 | Information processing method, device, and program |
CN115311314B (en) * | 2022-10-13 | 2023-02-17 | 深圳市华汉伟业科技有限公司 | Resampling method, system and storage medium for line laser contour data |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018129009A (en) | 2017-02-10 | 2018-08-16 | 日本電信電話株式会社 | Image compositing device, image compositing method, and computer program |
WO2018211571A1 (en) | 2017-05-15 | 2018-11-22 | 富士通株式会社 | Performance display program, performance display method, and performance display device |
WO2019043928A1 (en) | 2017-09-01 | 2019-03-07 | 富士通株式会社 | Practice support program, practice support method and practice support system |
-
2020
- 2020-07-03 JP JP2022533003A patent/JP7318814B2/en active Active
- 2020-07-03 WO PCT/JP2020/026232 patent/WO2022003963A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018129009A (en) | 2017-02-10 | 2018-08-16 | 日本電信電話株式会社 | Image compositing device, image compositing method, and computer program |
WO2018211571A1 (en) | 2017-05-15 | 2018-11-22 | 富士通株式会社 | Performance display program, performance display method, and performance display device |
WO2019043928A1 (en) | 2017-09-01 | 2019-03-07 | 富士通株式会社 | Practice support program, practice support method and practice support system |
Also Published As
Publication number | Publication date |
---|---|
JPWO2022003963A1 (en) | 2022-01-06 |
WO2022003963A1 (en) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7209333B2 (en) | Joint position acquisition method and device, movement acquisition method and device | |
US8766977B2 (en) | Apparatus and method for generating skeleton model using motion data and image data | |
JP4473754B2 (en) | Virtual fitting device | |
KR101640039B1 (en) | Image processing apparatus and method | |
JP7367764B2 (en) | Skeleton recognition method, skeleton recognition program, and information processing device | |
US9019267B2 (en) | Depth mapping with enhanced resolution | |
KR101616926B1 (en) | Image processing apparatus and method | |
JP2023502795A (en) | A real-time system for generating 4D spatio-temporal models of real-world environments | |
JP6793151B2 (en) | Object tracking device, object tracking method and object tracking program | |
JP7164045B2 (en) | Skeleton Recognition Method, Skeleton Recognition Program and Skeleton Recognition System | |
CN103999126A (en) | Method and device for estimating a pose | |
CN113449570A (en) | Image processing method and device | |
CN110544302A (en) | Human body action reconstruction system and method based on multi-view vision and action training system | |
JP7318814B2 (en) | DATA GENERATION METHOD, DATA GENERATION PROGRAM AND INFORMATION PROCESSING DEVICE | |
JP2013120556A (en) | Object attribute estimation device and video plotting device | |
JPWO2019021569A1 (en) | Information processing apparatus, information processing method, and program | |
JP2012185772A (en) | Method and program for enhancing accuracy of composited picture quality of free viewpoint picture using non-fixed zoom camera | |
JP2021060868A (en) | Information processing apparatus, information processing method, and program | |
Labuguen et al. | Performance Evaluation of Markerless 3D Skeleton Pose Estimates with Pop Dance Motion Sequence | |
JP5503510B2 (en) | Posture estimation apparatus and posture estimation program | |
JP2005141655A (en) | Three-dimensional modeling apparatus and three-dimensional modeling method | |
JP2012221042A (en) | Camera pause estimation device, camera pause estimation method and camera pause estimation program | |
JP2019057070A (en) | Image processing device, image processing method, and program | |
JP2002008014A (en) | Method and device for extracting three-dimensional shape, and recording medium | |
CN112416124A (en) | Dance posture feedback method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221012 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230620 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230703 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7318814 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |