JP7375829B2 - 生成方法、生成プログラム及び情報処理システム - Google Patents

生成方法、生成プログラム及び情報処理システム Download PDF

Info

Publication number
JP7375829B2
JP7375829B2 JP2021563516A JP2021563516A JP7375829B2 JP 7375829 B2 JP7375829 B2 JP 7375829B2 JP 2021563516 A JP2021563516 A JP 2021563516A JP 2021563516 A JP2021563516 A JP 2021563516A JP 7375829 B2 JP7375829 B2 JP 7375829B2
Authority
JP
Japan
Prior art keywords
noise
fitting
influence
cylindrical model
point group
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
Application number
JP2021563516A
Other languages
English (en)
Other versions
JPWO2021117165A1 (ja
JPWO2021117165A5 (ja
Inventor
亮 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2021117165A1 publication Critical patent/JPWO2021117165A1/ja
Publication of JPWO2021117165A5 publication Critical patent/JPWO2021117165A5/ja
Application granted granted Critical
Publication of JP7375829B2 publication Critical patent/JP7375829B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/149Segmentation; Edge detection involving deformable models, e.g. active contour models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/03Recognition of patterns in medical or anatomical images
    • G06V2201/033Recognition of patterns in medical or anatomical images of skeletal patterns

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、生成方法等に関する。
センサでセンシングした被写体の測定結果に対して骨格認識を行い、各関節位置から得られる3Dモデルを表示することで、競技の採点支援や、各種のトレーニング支援等が行われている。骨格認識は、被写体の各関節位置を決定するものである。
骨格認識の手法一つとして、フィッティング処理がある。図14は、フィッティング処理を説明するための図である。図14に示すように、フィッティング処理では、深度センサの測定結果から得られる点群データ1aに対して、被写体の体型をモデル化した円筒モデルデータ1bを当てはめる。たとえば、フィッティング処理の結果となる円筒モデルデータ1bの各円筒の軸を結んだものが骨格モデル1cとなり、骨格モデル1cを用いて、被写体の各関節の位置を推定することができる。
国際公開第2018/207292号
しかしながら、点群データにノイズが含まれている状態で、フィッティング処理を実行すると、被写体由来の点群ではなく、ノイズ由来の点群に、円筒モデルデータを当てはめてしまう場合がある。
図15は、従来技術の問題を説明するための図である。図15に示す例では、点群データ1aにノイズ2が含まれている。ノイズ2が含まれている状態で、フィッティング処理を行うと、円筒モデルデータ1bの一部の円筒3をノイズ2に当てしまう場合がある。たとえば、フィッティング処理を実行する場合に、山登り法を用いると、中間過程において、尤度が悪くなることを許容しないため、一旦ノイズ2側に引っ張られると、結果的にノイズ2側に円筒3が当てはまってしまう。このように、円筒3がノイズ2に当てはめられると、骨格認識結果の精度が低下する。
1つの側面では、本発明は、ノイズによる誤った当てはめに由来する骨格認識結果の精度低下を防ぐことができる生成方法、生成プログラム及び情報処理システムを提供することを目的とする。
第1の案では、コンピュータに次の処理を実行させる。コンピュータは、被写体を3次元計測する3Dセンサの計測結果を基にして、3次元点群データを取得する。コンピュータは、3次元点群データに対して、人体の各部位を複数の円筒で表現した円筒モデルを当てはめた結果を基にして、測定結果におけるノイズの影響を、部位ごとに評価する。コンピュータは、ノイズの影響が所定以上と判断された部位に対応する円筒モデル周辺の点群を3次元点群データから除外し、点群を除外した3次元点群データに対して、円筒モデルを再度当てはめる処理を繰り返し実行する。コンピュータは、部位ごとのノイズの影響が所定未満となった場合の3次元点群データに対して円筒モデルの当てはめた結果を基にして、被写体の骨格認識結果を生成し、骨格認識結果を出力する。
ノイズによる誤った当てはめに由来する骨格認識結果の精度低下を防ぐことができる。
図1は、本実施例に係る情報処理システムの処理の一例を説明するための図である。 図2は、本実施例に係る情報処理システムの一例を示す図である。 図3は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。 図4は、円筒モデルデータのデータ構造の一例を示す図である。 図5は、円筒と部位識別情報との対応関係を示す図である。 図6は、円筒のパラメータの一例を示す図である。 図7は、ノイズの影響を評価する処理を説明するための図である。 図8は、フィッティング処理部の処理の一例を説明するための図である。 図9は、画面情報の一例を示す図である。 図10は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。 図11は、ノイズ評価処理の処理手順を示すフローチャートである。 図12は、フィッティング処理の処理手順を示すフローチャートである。 図13は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 図14は、フィッティング処理を説明するための図である。 図15は、従来技術の問題を説明するための図である。
以下に、本願の開示する生成方法、生成プログラム及び情報処理システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例に係る情報処理システムの処理の一例を説明するための図である。本実施例に係る情報処理システムは、センサ10を用いて、被写体5の距離画像データを計測する。距離画像データは、被写体5の表面上の各点(画素)と、センサ10との距離をそれぞれ含むデータである。距離画像データは、情報処理装置によって、3次元点群データ5aに変換される。3次元点群データ5aは、被写体5の表面上の点群について、各点の3次元座標を示すデータである。
情報処理装置は、3次元点群データ5aに対して、被写体5の円筒モデルデータ40を当てはめるフィッティング処理を実行する。円筒モデルデータ40は、被写体5の各部位の長さや太さを、複数の円筒の半径と長さで近似して表現したモデルである。
情報処理装置は、フィッティング処理の結果を基にして、ノイズの影響を評価する。たとえば、ノイズの影響を評価する処理は、円筒モデルデータ40の各円筒について、円筒周辺の点群に含まれる点の数をカウントし、カウントした点の数が期待未満(所定数未満)であるか否かを特定する処理である。情報処理装置は、いずれかの円筒周辺の点の数が期待未満である場合に、ノイズの影響が一定以上であると評価する。所定数は、部位ごとに設定される値である。例えば、所定数は、各部位の円筒の表面積と解像度とに基づき設定される。
図1に示す例では、円筒モデルデータ40に含まれる円筒7において、円筒7の周辺の点の数が期待未満であるため、情報処理装置は、ノイズの影響が一定以上であると評価する。情報処理装置は、ノイズの影響が一定以上であると評価した場合、ノイズの影響を受ける円筒周辺の点群を除外し、再度、フィッティング処理を実行する。図1に示す例では、情報処理装置は、円筒7の周辺の点群を除外し、再度、フィッティング処理を実行する。
情報処理装置は、ノイズの影響が一定未満となるまで、ノイズの影響を受ける円筒周辺の点群を除外して、フィッティング処理を繰り返し実行し、最終的な円筒モデルデータ40の姿勢を特定する。そして、情報処理装置は、最終的な円筒モデルデータ40の姿勢に基づく骨格モデルデータ6を特定する。骨格モデルデータ6は、被写体5の骨格認識結果に対応する。
ここで、円筒周辺の点の数とノイズの影響との関係について、説明する。ノイズには種々の原因に起因するノイズがあるが、たとえば、エッジノイズを考える。エッジノイズとは、被写体輪郭にレーザー光がかすった結果、本来の被写体の輪郭位置で観測されるべき点が、被写体に対応する点群からセンサとは逆側に離れた位置に、たなびいたように、観測されることで発生するノイズである。一定以上の照射面積を有する被写体の場合、被写体に照射されたレーザー光での観測結果に対応する点群(被写体由来の点群)の密度と比較して、エッジノイズを含めノイズは、点群の密度が低い。そこで、仮に、フィッティング処理の結果、ノイズ由来の点群に誤って当てはめられた場合は、円筒の周囲の点の数は、被写体由来の点群に当てはめられた場合と比較して、少なくなる。したがって、円筒の周囲の点の数が、所定数よりも少ない場合、ノイズ由来の点群に当てはめを行ってしまったことがわかるとともに、さらにそのノイズ由来の点群を除去することで、ノイズの影響を低減させた3次元点群データに更新することができる。さらに、3次元点群データの更新と、更新した3次元点群データを用いたフィッティング処理とを繰り返すことで、本実施では、ノイズ由来の点群を順次除去することができる。また、本実施例は、ノイズ由来の点群を除去することでノイズの影響を低減させながら、最終的に、ノイズによる誤った当てはめに由来する骨格認識結果の精度低下を防ぐことができる。
図2は、本実施例に係る情報処理システムの一例を示す図である。図2に示すように、この情報処理システムは、センサ10と、情報処理装置100とを有する。センサ10は、有線または無線によって、情報処理装置100に接続される。
センサ10は、被写体5の距離画像データを計測する深度センサである。センサ10は、距離画像データを、所定のFPS(Frames Per Second)で、情報処理装置100に出力する。
情報処理装置100は、図1で説明したように、ノイズの影響が一定未満となるまで、ノイズの影響を受ける円筒周辺の点群を除外して、フィッティング処理を繰り返し実行し、最終的なフィッティング処理の結果から骨格モデルデータを特定する。
情報処理装置100は、センサ10から距離画像データを取得する度に、骨格モデルデータを特定する処理を繰り返し実行する。情報処理装置100は、時系列の骨格モデルデータを基にして、被写体5の動きを認識する。たとえば、動きとして、採点競技における演技に含まれる技を認識し、認識結果や演技のスコアなどを含む画面情報を生成して表示する。
本実施例では一例として、被写体5を、体操演技を行う競技者として説明を行うがこれに限定されるものではなく、他の採点競技にも適用可能である。他の採点競技には、トランポリン、水泳の飛び込み、フィギュアスケート、空手の型、社交ダンス、スノーボード、スケートボード、スキーエアリアル、サーフィンを含む。また、クラシックバレエ、スキージャンプ、モーグルのエアー、ターン、野球、バスケットボールのフォームチェック等にも適用してもよい。また、剣道、柔道、レスリング、相撲などの競技にも適用してもよい。更に、ウェイトリフティングのバーベルが上がったか否かの評価にも用いることができる。
図3は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図3に示すように、この情報処理装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
通信部110は、ネットワークを介して、センサ10等の外部装置とデータ通信を実行する処理部である。後述する制御部150は、通信部110を介して、外部装置とデータをやり取りする。通信部110は、通信装置の一例である。
入力部120は、各種の情報を情報処理装置100の制御部150に入力する入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。たとえば、ユーザは、入力部120を操作して、画面情報の表示要求等を行う。
表示部130は、制御部150から出力される情報を表示する表示装置である。たとえば、表示部130は、各種競技の技認定、採点結果等の画面情報を表示する。表示部130は、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ、タッチパネル等に対応する。
記憶部140は、円筒モデルデータ40と、距離画像テーブル141と、骨格モデルテーブル142とを有する。記憶部140は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
円筒モデルデータ40は、人体(被写体)の部位を円筒で表現したモデルのデータである。図4は、円筒モデルデータのデータ構造の一例を示す図である。図4に示すように、円筒モデルデータ40は、部位識別情報と、パラメータとを対応付ける。部位識別情報は、円筒モデルに含まれる各円筒を識別する情報である。パラメータは、部位識別情報によって識別される円筒のパラメータを示すものである。円筒のパラメータは、円筒の長さと、円筒の半径などを含む。測定対象の被写体ごとに、異なる円筒モデルデータが準備されてもよい。
図5は、円筒と部位識別情報との対応関係を示す図である。図5に示すように、各部位識別情報Md1~Md14は、円筒モデルデータ40の各部位にそれぞれ対応付けられる。図4に示した部位識別情報Md1~Md14は、図5に示した部位識別情報Md1~Md14に対応する。
図6は、円筒のパラメータの一例を示す図である。図6では、複数の円筒Md1~Md11のうち、ある一つの円筒を示す。円筒のパラメータは、円筒の高さlと、円筒の半径rとを含む。円筒の半径rは、円筒の太さに対応する。
図3の説明に戻る。距離画像テーブル141は、センサ10に計測される距離画像データを時系列に格納するテーブルである。
骨格モデルテーブル142は、図1で説明した骨格モデルデータを時系列に格納するテーブルである。
制御部150は、取得部151と、フィッティング処理部152と、生成部153と、技認識部154とを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジック等によって実現される。
取得部151は、センサ10から距離画像データを取得する処理部である。取得部151は、センサ10から距離画像データを距離画像テーブル141に登録する。
取得部151は、変換テーブル(図示略)を基にして、距離画像データを、3次元点群データに変換する。変換テーブルは、距離画像データの画素の位置および距離と、3次元座標との関係を定義したテーブルである。取得部151は、3次元点群データを、フィッティング処理部152に出力する。
取得部151は、センサ10から距離画像データを取得する度に、上記処理を繰り返し実行する。
フィッティング処理部152は、3次元点群データに対して、円筒モデルデータ40をフィッティングした結果を基にして、ノイズの影響を評価する。フィッティング処理部152は、ノイズの影響が一定未満となるまで、円筒モデルデータ40周辺の点群を3次元点群データから除外し、点群を除外した3次元点群データに対して、円筒モデルデータ40を再度当てはめる処理を繰り返し実行する。フィッティング処理部152は、ノイズの影響が一定未満となった場合の最終的なフィッティング結果のデータを、生成部153に出力する。
ここで、フィッティング処理部152は、パラメータの初期値を特定する処理、EM(Expectation Maximization)アルゴリズムを用いて、パラメータを算出する処理、ノイズの影響を評価する処理を実行する。「パラメータ」は、円筒モデルデータ40の各円筒をつなぐ各関節角度を示すものである。
フィッティング処理部152が、パラメータの初期値を特定する処理の一例について説明する。フィッティング処理部152は、n番目の3次元点群データのパラメータの初期値として、n-1番目の3次元点群データに対するフィッティング処理の結果を用いる。
フィッティング処理部152は、n-1番目の3次元点群データに対するフィッティング処理の結果が存在しない場合には、次の処理を実行する。フィッティング処理部152は、円筒モデルデータ40の重心と、3次元点群データの重心とを合わせ込み、予め定められた複数のパラメータについて、円筒モデルデータ40と、3次元点群データとの一致度を算出し、最も一致度の高いパラメータを、初期値として用いてもよい。
また、フィッティング処理部152は、3次元点群データを幾何モデルに入力して、パラメータの初期値を算出してもよい。幾何モデルを用いて初期値を算出する手法は、国際公開第2018/207292号に開示された手法を用いてもよい。
続いて、フィッティング処理部152が、EMアルゴリズムを用いて、パラメータを算出する処理の一例について説明する。フィッティング処理部152は、初期姿勢の円筒モデルデータ40と、3次元点群データとを比較して、点群の事後分布pnmを算出する。初期姿勢の円筒モデルデータ40は、初期値を、円筒モデルデータ40に設定したものである。
事後分布pnmは、式(1)によって定義される。式(1)に含まれる「n」は、点群フレームに含まれる点を示すものであり、点群フレームに点がn個含まれている場合、n=1~nとなる。Mは、円筒モデルデータ143の各円筒(部位)を示すものであり、図4で示したように、各部位識別情報Md1~Md14により識別される部位が14個存在する場合、m=1~14(Md1~Md14)となる。
Figure 0007375829000001
式(1)に含まれるεは、表面残差を示すものであり、ガウス分布であることが仮定される。表面残差は、点群と、m番目の円筒の表面との垂直な方向の差を示す。たとえば、1番目の円筒は、部位識別番号Md1の円筒を示す。表面残差εは、x、σにより特定される。xは、n番目の点の3次元座標を示す。σは、点群フレームに含まれる点群の3次元座標の分散を示す。
フィッティング処理部152は、事後分布pnmを算出した後に、式(2)で定義される評価関数Qを更新する。式(2)において、Pは、pnmの総和を示す。
Figure 0007375829000002
フィッティング処理部152は、Levenberg-Marquardt(LM)法を用いて、評価関数Qの尤度が最小となるような円筒パラメータの変化量Δθを算出する。たとえば、フィッティング処理部152は、式(3)、式(4)に基づいて、変化量Δθを算出する。フィッティング処理部152は、LM法に限らず、ランダムに変化量Δθを生成してもよい。
Figure 0007375829000003
Figure 0007375829000004
フィッティング処理部152は、所定の収束条件を満たすまで、変化量Δθを生成し、パラメータを更新して、評価関数Qの尤度を算出する処理を繰り返し実行する。たとえば、フィッティング処理部152は、変化量Δθが所定の変化量未満となる場合、評価関数Qの尤度が閾値未満となった場合に、収束条件を満たすと判定してもよい。収束条件を満たすパラメータ(姿勢)の円筒モデルデータ40を、「フィッティング処理結果の円筒モデルデータ40」と表記する。
続いて、フィッティング処理部152が、ノイズの影響を評価する処理の一例について説明する。フィッティング処理部152は、フィッティング処理結果の円筒モデルデータ40の部位を選択し、選択した部位について、ノイズの影響を評価する。
図7は、ノイズの影響を評価する処理を説明するための図である。図7では一例として、部位識別情報「Md13」の円筒を用いて説明を行う。フィッティング処理部152は、円筒周辺A13の点群に含まれる点の数をカウントする。ここで、ある円筒の円筒周辺は、円筒の表面から、所定の範囲を示す。たとえば、所定の範囲は、円筒の表面からr/10までの範囲である。rは、円筒の半径を示す。たとえば、円筒Md13の円筒周辺A13は、円筒Md13の表面から、rMd13/10までの範囲を示す。rMd13は、円筒Md13の半径を示す。
フィッティング処理部152は、カウントした点の数が所定数未満である場合、ノイズの影響が一定以上であると評価する。フィッティング処理部152は、カウントした点の数が所定数未満である場合、円筒周辺の点群を、ノイズとして取り扱う。
一方、フィッティング処理部152は、カウントした点の数が所定数以上である場合、ノイズの影響が一定未満であると評価する。フィッティング処理部152は、カウントした点の数が所定数以上である場合、円筒周辺の点群を、被写体5に由来する点群として取り扱う。
フィッティング処理部152は、ノイズの影響が一定以上であると評価した場合には、円筒周辺A13に含まれる点群を除外する。フィッティング処理部152は、円筒Md13以外の部位についても、ノイズの影響を評価し、ノイズの影響が一定以上である場合には、円筒周辺の点群を除外する。一方、フィッティング処理部152は、ノイズの影響が一定未満である場合には、選択した円筒の円筒周辺から、点群を除外しない。
フィッティング処理部152は、上記処理を実行することで、フィッティング処理の対象となる3次元点群データを更新する。フィッティング処理部152は、更新した3次元点群データに対して、初期値を特定する処理、パラメータを算出する処理、ノイズの影響を評価する処理を、全ての部位について、ノイズの影響が一定未満となるまで、繰り返し実行する。
図8は、フィッティング処理部の処理の一例を説明するための図である。図8では一例として、部位識別情報「Md9、Md13」の円筒を用いて説明を行う。フィッティング処理部152は、円筒Md9について、ノイズの影響が一定以上であると評価し、円筒Md9の円筒周辺の点群を除外する。フィッティング処理部152は、円筒Md13について、ノイズの影響が一定以上であると評価し、円筒Md13の円筒周辺の点群を除外する。これにより、3次元点群データから、円筒Md9,Md13の円筒周辺の点群が除外される(ステップS10)。
フィッティング処理部152は、ステップS10において、円筒Md9,Md13の円筒周辺の点群が除外された3次元点群データに対して、初期値を特定し、パラメータを算出する処理を実行し、フィッティング処理結果の円筒モデルデータ40を得る。フィッティング処理部152は、円筒Md9について、ノイズの影響が一定以上であると評価し、円筒Md9の円筒周辺の点群を除外する。フィッティング処理部152は、円筒Md13について、ノイズの影響が一定以上であると評価し、円筒Md13の円筒周辺の点群を除外する。これにより、3次元点群データから、円筒Md9,Md13の円筒周辺の点群が除外される(ステップS11)。
フィッティング処理部152は、ステップS11において、円筒Md9,Md13の円筒周辺の点群が除外された3次元点群データに対して、初期値を特定し、パラメータを算出する処理を実行し、フィッティング処理結果の円筒モデルデータ40を得る。フィッティング処理部152は、円筒Md9について、ノイズの影響が一定未満であると評価する。フィッティング処理部152は、円筒Md13について、ノイズの影響が一定未満であると評価する。これにより、円筒モデルデータ40の最終的なパラメータが特定される(ステップS12)。
フィッティング処理部152は、先に実施したフィッティング処理結果に対するノイズの影響が一定未満となるまで、上記処理を実行することで、円筒モデルデータ40の最終的なパラメータを特定する。フィッティング処理部152は、最終的なパラメータを、生成部153に出力する。
図3の説明に移行する。生成部153は、円筒モデルデータ40の最終的なパラメータを基にして、骨格モデルデータを生成する処理部である。生成部153は、フィッティング処理部152から取得する最終的なパラメータを円筒モデルデータ40に設定することで、最終的な円筒モデルデータ40の姿勢を特定する。生成部153は、円筒モデルデータ40の各円筒の軸を接続した、骨格モデルデータを特定する。生成部153が特定する骨格モデルデータは、図1で説明した骨格モデルデータ6に対応する。骨格モデルデータには、各関節の座標のデータが含まれる。生成部153は、骨格モデルデータを、骨格モデルテーブル142に格納する。
生成部153は、フィッティング処理部152から、最終的なパラメータを取得する度に、上記処理を繰り返し実行する。
技認識部154は、骨格モデルテーブル142の各骨格モデルデータを取得し、連続する骨格モデルデータを基にして、各関節座標の時系列変化を特定する。技認識部154は、各関節位置の時系列変化と、技認識テーブル(図示略)とを比較して、技の種別を特定する。また、技認識部154は、技の種別の組み合わせと、技認識テーブルとを比較して、被写体5の演技のスコアを算出する。
たとえば、技認識テーブルは、各骨格認識結果に含まれる各関節位置の時系列変化と、技の種別とを対応付けるテーブルである。また、技認識テーブルは、技の種別の組み合わせと、スコアとを対応付ける。スコアは、D(Difficulty)スコアとE(Execution)スコアとの合計で算出される。たとえば、Dスコアは、技の成立不成立に基づいて算出されるスコアである。Eスコアは、技の完成度に応じて、減点法により算出されるスコアである。
技認識部154は、演技に含まれる技の種別、演技のスコア、演技の開始から終了までの骨格モデルデータ等を、画面情報出力制御部155に出力する。
画面情報出力制御部155は、演技のスコアと、演技の開始から終了までの骨格モデルデータとを基にして、画面情報を生成する。画面情報出力制御部155は、生成した画面情報を、表示部130に出力して表示させる。
図9は、画面情報の一例を示す図である。図9に示すように、この画面情報60には、領域60a,60b,60cが含まれる。領域60aは、被写体5が行った演技において、認識された技の種別を表示する領域である。技の種別に加えて、技の難度も表示してもよい。領域60bは、演技のスコアを表示する領域である。領域60aは、演技の開始から終了までの骨格モデルデータに基づく3次元モデルをアニメーション表示する領域である。利用者は、入力部120を操作して、アニメーションの再生、停止等を指示する。
次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。図10は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。図10に示すように、情報処理装置100の取得部151は、センサ10から距離画像データを取得し、距離画像テーブル141に格納する(ステップS101)。取得部151は、距離画像データを、3次元点群データに変換する(ステップS102)。
情報処理装置100のフィッティング処理部152は、ノイズ評価処理を実行する(ステップS103)。情報処理装置100の生成部153は、フィッティング処理の結果を基に、骨格モデルデータを生成し、骨格モデルテーブル142に格納する(ステップS104)。
情報処理装置100は、演技が終了していない場合は(ステップS105,No)、ステップS101に再度移行する。一方、情報処理装置100は、演技が終了した場合には(ステップS105,Yes)、ステップS106に移行する。
情報処理装置100の技認識部154は、骨格モデルテーブル142を参照して、技認識を実行し、技の種別、演技のスコアを特定する(ステップS106)。情報処理装置100の画面情報出力制御部155は、画面情報を生成する(ステップS107)。画面情報出力制御部155は、画面情報を表示部130に表示させる(ステップS108)。なお、本実施例では、演技が終了した時点で、技認識を実施することとしたが、これに限られない。たとえば、情報処理装置100は、センサからの出力におうじて、順次、骨格認識を実施する。そして、情報処理装置100は、順次実施された骨格認識結果のうちのまとまった単位の骨格認識結果を用いて、順次技認識を実施することとしても良い。さらに、技認識とは独立して、情報処理装置100は、骨格認識結果を取得するたびに、対応する骨格モデルデータに基づく3次元モデルのアニメーションを生成して、画面に表示することとしても良い。
次に、図10のステップS103に示したノイズ評価処理の処理手順について説明する。図11は、ノイズ評価処理の処理手順を示すフローチャートである。図11に示すように、情報処理装置100のフィッティング処理部152は、フィッティング処理を実行する(ステップS201)。フィッティング処理についての詳細は後述する。
次に、フィッティング処理部152は、iに1を設定する(ステップS202)。フィッティング処理部152は、部位Mdiの円筒周辺の点群をカウントする(ステップS203)。フィッティング処理部152は、点群の数が所定数未満である場合には(ステップS204,No)、ステップS206に移行する。なお、所定数は、各円筒にそれぞれ設定された値である。
フィッティング処理部152は、点群の数が所定数未満である場合には(ステップS204,Yes)、ステップS205に移行する。フィッティング処理部152は、部位Mdiの周辺点群を除外する(ステップS205)。
フィッティング処理部152は、iの値が14である場合には(ステップS206,Yes)、ステップS208に移行する。なお、本実施例では、部位の数が14である例を示す。フィッティング処理部152は、iの値が14でない場合には(ステップS206,No)、ステップS207に移行する。フィッティング処理部152は、iの値に1を加算し(ステップS207)、ステップS203に移行する。
フィッティング処理部152は、円筒周辺の点群が所定数未満となる部位が存在するか否かを判定する(ステップS208)。フィッティング処理部152は、部位が存在する場合には(ステップS209,Yes)、ステップS201に移行する。一方、フィッティング処理部152は、部位が存在しない場合には(ステップS209,No)、ステップS210に移行する。このように、フィッティング処理部152は、すべての部位について、ノイズの影響が一定未満となるまで、処理対象の3次元点群データを更新しながら、フィッティング処理を繰り返し実行する。具体的には、フィッティング処理部152は、先に実施したフィッティング結果において、ある部位に対応する円筒周辺の点群が所定数未満だった場合、先に実施したフィッティングはノイズの影響を受けていると判断する。すなわち、先に実施したフィッティングは、ノイズの影響を一定以上受けているため、再度フィッティングを実施する必要があると判断する。そして、フィッティング処理部152は、先のノイズ評価処理により一部の点群が削除された更新3次元点群データに対して、再度、フィッティング処理を実行する。このように、フィッティング処理部152は、各部位の円筒周辺の点群が所定数未満だった部位が存在しなくなったことをもって、先のフィッティング処理結果に対するノイズの影響が一定未満と判断する。
フィッティング処理部152は、フィッティング処理の結果を、生成部153に出力する(ステップS210)。
次に、図11のステップS201に示したフィッティング処理の処理手順について説明する。図12は、フィッティング処理の処理手順を示すフローチャートである。図12に示すように、情報処理装置100のフィッティング処理部152は、3次元点群データを取得する(ステップS301)。
フィッティング処理部152は、円筒モデルデータ40の初期値を特定する(ステップS302)。フィッティング処理部152は、事前分布pnmを算出する(ステップS303)。
フィッティング処理部152は、パラメータの変化量Δθを算出する(ステップS304)。フィッティング処理部152は、パラメータを更新(θ=θ+Δθ)する(ステップS305)。
フィッティング処理部152は、評価関数Qを用いて尤度を算出する(ステップS306)。フィッティング処理部152は、収束条件を満たさない場合には(ステップS307,No)、ステップS303に移行する。一方、フィッティング処理部152は、収束条件を満たす場合には(ステップS307,Yes)、ステップS308に移行する。
フィッティング処理部152は、フィッティングに成功したか否かを判定する(ステップS308)。たとえば、フィッティング処理部152は、事前分布pnmの和が、予め設定される閾値以上であれば、フィッティングに成功したと判定する。
フィッティング処理部152は、フィッティングに成功していない場合には(ステップS308,No)、ステップS302に移行する。一方、フィッティング処理部152は、フィッティングに成功した場合には(ステップS308,Yes)、ステップS309に移行する。フィッティング処理部152は、フィッティング結果を出力する(ステップS309)。
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、ノイズの影響が一定未満となるまで、ノイズの影響を受ける円筒周辺の点群を除外して、フィッティング処理を繰り返し実行し、最終的な円筒モデルデータ40の姿勢を特定する。そして、情報処理装置は、最終的な円筒モデルデータ40の姿勢に基づく骨格モデルデータ6aを特定する。これによって、ノイズによる誤った当てはめに由来する骨格モデルデータの精度低下を防ぐことができる。
たとえば、図15で説明した例では、センサの反対方向に、ノイズが一定の割合で出現しており、ノイズによる誤差が10cm程度であった。これに対して、情報処理装置100が上記の処理を実行することで、ノイズが除去され、ノイズによる誤差が1cm程度に低減された。
情報処理装置100は、円筒周辺の点群に含まれる点の数をカウントし、点の数が所定数以上となるまで、円筒モデルデータ40を再度当てはめる処理を繰り返し実行する。これによって、3次元点群データに含まれるノイズに由来する点群を除外することができる。また、ノイズに由来する点群を除外した3次元点群データに円筒モデルデータを当てはめることで、ノイズに円筒モデルデータ40の一部が割り当てられることを抑止することができる。
ところで、上述した情報処理装置100の処理は一例であり、情報処理装置100は他の処理を実行してもよい。たとえば、情報処理装置100のフィッティング処理部152は、円筒周辺の範囲を「円筒表面からr/10までの範囲」に固定して、円筒周辺に含まれる点群の数(点群に含まれる点の数)をカウントし、ノイズの影響が一定以上である場合に、円筒周辺に含まれる点群を除外していたが、これに限定されるものでは無い。
フィッティング処理部152は、円筒周辺の範囲を徐々に大きくしてもよい。フィッティング処理部152は、ある部位を選択し、選択した部位について、1回目のノイズの影響を評価する場合に、円筒周辺の範囲を、円筒表面からr/10にする。フィッティング処理部152は、2回目のノイズの影響を評価する場合に、円筒周辺の範囲を、円筒表面からr/9にする。フィッティング処理部152は、3回目以降のノイズの影響を評価する場合に、円筒周辺の範囲を、円筒表面からr/8にする。
このように、フィッティング処理部152は、円筒周辺の範囲を徐々に大きくすることで、3次元点群データから除外する点群の数を徐々に大きくすることができる。
次に、上記実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図13は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図13に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、センサから測定結果を受信する通信装置204と、各種の装置と接続するインタフェース装置205とを有する。コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
ハードディスク装置207は、取得プログラム207a、フィッティング処理プログラム207b、生成プログラム207c、技認識プログラム207d、画面情報出力制御プログラム207eを有する。CPU201は、取得プログラム207a、フィッティング処理プログラム207b、生成プログラム207c、技認識プログラム207d、画面情報出力制御プログラム207eを読み出してRAM206に展開する。
取得プログラム207aは、取得プロセス206aとして機能する。フィッティング処理プログラム207bは、フィッティング処理プロセス206bとして機能する。生成プログラム207cは、生成プロセス206cとして機能する。技認識プログラム207dは、技認識プロセス206dとして機能する。画面情報出力制御プログラム207eは、画面情報出力制御プロセス206eとして機能する。
取得プロセス206aの処理は、取得部151の処理に対応する。フィッティング処理プロセス206bの処理は、フィッティング処理部152の処理に対応する。生成プロセスの処理は、生成部153の処理に対応する。技認識プロセス206aの処理は、技認識部154の処理に対応する。画面情報出力制御プロセス206eの処理は、画面情報出力制御部155の処理に対応する。
なお、各プログラム207a~207eについては、必ずしも最初からハードディスク装置207に記憶させておかなくてもよい。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207eを読み出して実行するようにしてもよい。
10 センサ
40 円筒モデルデータ
100 情報処理装置
110 通信部
120 入力部
130 表示部
140 記憶部
141 距離画像テーブル
142 骨格モデルテーブル
151 取得部
152 フィッティング処理部
153 生成部
154 技認識部
155 画面情報出力制御部

Claims (5)

  1. コンピュータが実行する生成方法であって、
    被写体を3次元計測する3Dセンサの計測結果を基にして、3次元点群データを取得し、
    前記3次元点群データに対して、人体の各部位を複数の円筒で表現した円筒モデルを当てはめた結果を基にして、前記計測結果におけるノイズの影響を、前記部位ごとに評価し、
    前記ノイズの影響が所定以上と判断された部位に対応する円筒モデルの表面から所定の範囲の点群を前記3次元点群データから除外し、前記点群を除外した3次元点群データに対して、前記円筒モデルを再度当てはめる処理を繰り返し実行し、
    前記部位ごとの前記ノイズの影響が所定未満となった場合の前記3次元点群データに対して前記円筒モデルの当てはめた結果を基にして、前記被写体の骨格認識結果を生成し、
    前記骨格認識結果を出力する
    処理を実行することを特徴とする生成方法。
  2. 前記ノイズの影響を評価する処理は、前記3次元点群データに対して当てはめられた前記円筒モデルの表面から所定の範囲の点群に含まれる点の数を、前記部位ごとにカウントし、前記円筒モデルを当てはめる処理は、前記点の数が前記部位ごとに設定された所定数以上となるまで、前記円筒モデルを再度当てはめる処理を繰り返し実行することを特徴とする請求項1に記載の生成方法。
  3. 前記ノイズの影響を評価する処理は、前記3次元点群データに前記円筒モデルが再度当てはめられる度に、前記円筒モデルの表面からの前記所定の範囲を大きくすることを特徴とする請求項1または2に記載の生成方法。
  4. コンピュータに、
    被写体を3次元計測する3Dセンサの計測結果を基にして、3次元点群データを取得し、
    前記3次元点群データに対して、人体の各部位を複数の円筒で表現した円筒モデルを当てはめた結果を基にして、前記計測結果におけるノイズの影響を、前記部位ごとに評価し、
    前記ノイズの影響が所定以上と判断された部位に対応する円筒モデルの表面から所定の範囲の点群を前記3次元点群データから除外し、前記点群を除外した3次元点群データに対して、前記円筒モデルを再度当てはめる処理を繰り返し実行し、
    前記部位ごとの前記ノイズの影響が所定未満となった場合の前記3次元点群データに対して前記円筒モデルの当てはめた結果を基にして、前記被写体の骨格認識結果を生成し、
    前記骨格認識結果を出力する
    処理を実行させることを特徴とする生成プログラム。
  5. 被写体を3次元計測する3Dセンサと、情報処理装置とを有する情報処理システムであって、
    前記3Dセンサは、センシングした計測結果を、前記情報処理装置に出力し、
    前記情報処理装置は、
    前記計測結果を基にして、3次元点群データを取得する取得部と、
    前記3次元点群データに対して、人体の各部位を複数の円筒で表現した円筒モデルを当てはめた結果を基にして、前記計測結果におけるノイズの影響を、前記部位ごとに評価し、前記ノイズの影響が所定以上と判断された部位に対応する円筒モデルの表面から所定の範囲の点群を前記3次元点群データから除外し、前記点群を除外した3次元点群データに対して、前記円筒モデルを再度当てはめる処理を繰り返し実行するフィッティング処理部と、
    前記部位ごとの前記ノイズの影響が所定未満となった場合の前記3次元点群データに対する前記円筒モデルの当てはめた結果を基にして、前記被写体の骨格認識結果を生成し、前記骨格認識結果を出力する生成部と
    を有することを特徴とする情報処理システム。
JP2021563516A 2019-12-11 2019-12-11 生成方法、生成プログラム及び情報処理システム Active JP7375829B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/048515 WO2021117165A1 (ja) 2019-12-11 2019-12-11 生成方法、生成プログラム及び情報処理システム

Publications (3)

Publication Number Publication Date
JPWO2021117165A1 JPWO2021117165A1 (ja) 2021-06-17
JPWO2021117165A5 JPWO2021117165A5 (ja) 2022-04-20
JP7375829B2 true JP7375829B2 (ja) 2023-11-08

Family

ID=76330012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021563516A Active JP7375829B2 (ja) 2019-12-11 2019-12-11 生成方法、生成プログラム及び情報処理システム

Country Status (5)

Country Link
US (1) US20220270408A1 (ja)
EP (1) EP4075377A4 (ja)
JP (1) JP7375829B2 (ja)
CN (1) CN114730497A (ja)
WO (1) WO2021117165A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015102913A (ja) 2013-11-21 2015-06-04 キヤノン株式会社 姿勢推定装置及び姿勢推定方法
WO2019030794A1 (ja) 2017-08-07 2019-02-14 富士通株式会社 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8942062B2 (en) * 2010-10-25 2015-01-27 Lockheed Martin Corporation Detecting structural changes to underwater structures
WO2018207292A1 (ja) 2017-05-10 2018-11-15 富士通株式会社 対象物認識方法、装置、システム、プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015102913A (ja) 2013-11-21 2015-06-04 キヤノン株式会社 姿勢推定装置及び姿勢推定方法
WO2019030794A1 (ja) 2017-08-07 2019-02-14 富士通株式会社 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法

Also Published As

Publication number Publication date
EP4075377A1 (en) 2022-10-19
US20220270408A1 (en) 2022-08-25
WO2021117165A1 (ja) 2021-06-17
CN114730497A (zh) 2022-07-08
EP4075377A4 (en) 2022-12-28
JPWO2021117165A1 (ja) 2021-06-17

Similar Documents

Publication Publication Date Title
JP6733738B2 (ja) 運動認識装置、運動認識プログラムおよび運動認識方法
CN105229666B (zh) 3d图像中的运动分析
US11763603B2 (en) Physical activity quantification and monitoring
EP2391988B1 (en) Visual target tracking
US8175326B2 (en) Automated scoring system for athletics
CN102331840B (zh) 基于回环运动的用户选择和导航
US8682028B2 (en) Visual target tracking
US20140328519A1 (en) Method and apparatus for estimating a pose
US20100197400A1 (en) Visual target tracking
JP6943294B2 (ja) 技認識プログラム、技認識方法および技認識システム
US20100197392A1 (en) Visual target tracking
JP7327494B2 (ja) 補正方法、補正プログラムおよび情報処理システム
JP7375829B2 (ja) 生成方法、生成プログラム及び情報処理システム
CN111784660B (zh) 一种用于人脸图像的正脸程度的分析方法和系统
JP7331927B2 (ja) 生成方法、生成プログラムおよび情報処理装置
US20220222974A1 (en) Evaluation method, non-transitory computer readable recording medium, and information processing apparatus
JP2022138007A (ja) 骨格認識方法、骨格認識プログラムおよび体操採点支援システム
CN113705536B (zh) 连续动作打分方法、装置及存储介质
WO2023106028A1 (ja) 動体検出装置、動体検出方法、及びコンピュータ読み取り可能な記録媒体
WO2021149250A1 (ja) 運動認識方法、運動認識プログラムおよび情報処理装置
JP2021196691A (ja) 算出方法、算出プログラムおよび情報処理装置
JP2023105537A (ja) 学習プログラム、学習方法および情報処理装置
JP2023179239A (ja) 情報処理プログラム、情報処理方法および情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231009

R150 Certificate of patent or registration of utility model

Ref document number: 7375829

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150