JP2019197278A - 画像処理装置、画像処理装置の制御方法およびプログラム - Google Patents
画像処理装置、画像処理装置の制御方法およびプログラム Download PDFInfo
- Publication number
- JP2019197278A JP2019197278A JP2018089464A JP2018089464A JP2019197278A JP 2019197278 A JP2019197278 A JP 2019197278A JP 2018089464 A JP2018089464 A JP 2018089464A JP 2018089464 A JP2018089464 A JP 2018089464A JP 2019197278 A JP2019197278 A JP 2019197278A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- processing apparatus
- determination
- dimensional shape
- shape model
- 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.)
- Pending
Links
Landscapes
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Image Analysis (AREA)
Abstract
【課題】オブジェクトに特殊なマーカを装着することなく、高精度に当該オブジェクトの部位の位置判定を行う。【解決手段】画像処理装置であって、複数の撮像装置から取得された複数の画像のうち対象時点に撮像された画像群に含まれるオブジェクトの3次元形状モデルを生成する生成手段と、前記3次元形状モデルに基づいて、前記オブジェクトを構成する複数の部位の位置を判定する判定手段であって、判定済の部位に対応する前記3次元形状モデルの一部分を除外して得られる変更されたモデルに基づいて、別の部位の位置を判定する判定手段と、前記判定手段による判定の結果に基づく判定情報を取得する取得手段とを有する。【選択図】 図6
Description
本発明は、画像処理装置、画像処理装置の制御方法およびプログラムに関するものである。
人体の運動計測の分野ではモーションキャプチャが一般的に用いられている。光学式モーションキャプチャは高精度かつリアルタイムでの計測が可能であるが、再帰反射性のマーカを身体に装着する必要がある。
特許文献1では、人体の両手首にマーカが装着されており、マーカと3次元形状の断面形状とから人体の骨格を推定する方法が開示されている。
しかしながら、特許文献1の手法では、人体などのオブジェクトに特殊なマーカを装着することなく、高精度に当該オブジェクトの部位の位置判定を行うことが難しいという課題がある。
本発明は、上記の課題に鑑みてなされたものであり、オブジェクトに特殊なマーカを装着することなく、高精度に当該オブジェクトの部位の位置判定を行うための技術を提供することを目的とする。
上記の目的を達成する本発明に係る画像処理装置は、
複数の撮像装置から取得された複数の画像のうち対象時点に撮像された画像群に含まれるオブジェクトの3次元形状モデルを生成する生成手段と、
前記3次元形状モデルに基づいて、前記オブジェクトを構成する複数の部位の位置を判定する判定手段であって、判定済の部位に対応する前記3次元形状モデルの一部分を除外して得られる変更されたモデルに基づいて、別の部位の位置を判定する判定手段と、
前記判定手段による判定の結果に基づく判定情報を取得する取得手段と
を有することを特徴とする。
複数の撮像装置から取得された複数の画像のうち対象時点に撮像された画像群に含まれるオブジェクトの3次元形状モデルを生成する生成手段と、
前記3次元形状モデルに基づいて、前記オブジェクトを構成する複数の部位の位置を判定する判定手段であって、判定済の部位に対応する前記3次元形状モデルの一部分を除外して得られる変更されたモデルに基づいて、別の部位の位置を判定する判定手段と、
前記判定手段による判定の結果に基づく判定情報を取得する取得手段と
を有することを特徴とする。
本発明によれば、オブジェクトに特殊なマーカを装着することなく、高精度に当該オブジェクトの部位の位置判定を行うことが可能となる。
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
[第1の実施形態]
<概要>
本実施形態では、複数の撮像装置から取得された複数の画像のうち対象時点に撮像された画像群に含まれるオブジェクトの3次元形状モデルを生成し、当該3次元形状モデルに基づいてオブジェクトを構成する複数の部位の位置を判定する。その際、判定済の部位に対応する3次元形状モデルの一部分を除外して得られる変更されたモデルに基づいて、別の部位の位置を判定する。そして判定の結果に基づく判定情報(例えば骨格情報)を取得する。より具体的には、複数の撮像装置から取得された複数の画像のうち、処理の対象となる対象時点に撮像された画像群に含まれるオブジェクト(例えば人体)の3次元形状モデルを生成する。そして、当該3次元形状モデルに基づいて、オブジェクトを構成する各身体部位(体幹、頭部等)の骨格情報(関節位置、骨格線等)を、身体部位ごとに推定する。その際、推定済の身体部位に対応する3次元形状モデルの一部分を除外して、次の身体部位の骨格情報を推定する。
<概要>
本実施形態では、複数の撮像装置から取得された複数の画像のうち対象時点に撮像された画像群に含まれるオブジェクトの3次元形状モデルを生成し、当該3次元形状モデルに基づいてオブジェクトを構成する複数の部位の位置を判定する。その際、判定済の部位に対応する3次元形状モデルの一部分を除外して得られる変更されたモデルに基づいて、別の部位の位置を判定する。そして判定の結果に基づく判定情報(例えば骨格情報)を取得する。より具体的には、複数の撮像装置から取得された複数の画像のうち、処理の対象となる対象時点に撮像された画像群に含まれるオブジェクト(例えば人体)の3次元形状モデルを生成する。そして、当該3次元形状モデルに基づいて、オブジェクトを構成する各身体部位(体幹、頭部等)の骨格情報(関節位置、骨格線等)を、身体部位ごとに推定する。その際、推定済の身体部位に対応する3次元形状モデルの一部分を除外して、次の身体部位の骨格情報を推定する。
このように、既に推定が完了した身体部位に対応する3次元形状モデルの部分を除外して次の身体部位の骨格情報を推定することで、身体部位の特定の間違いを低減することができるので、骨格情報の推定精度を向上させることができる。また、処理時間を短縮することもできる。
なお、本実施形態では、オブジェクトとは人体である。また、骨格情報とは、身体を構成する関節群の関節位置(3次元位置)の情報と、身体を構成する関節間を結ぶ線分である骨格線の情報とを含むものとする。ただし骨格情報の内容はこれに限らず、オブジェクトを構成する複数の部位の位置に応じた情報であればよい。また、本発明に係るオブジェクトは人体に限られるものではなく、接続される複数の部位を有する他の動物やロボット等にも適用可能である。
<システム構成>
まず、図1を参照しながら、本実施形態に係るシステムの構成例を説明する。カメラ101a〜101jのそれぞれは動画像を撮像するカメラ(撮像装置)であり、図1に示すように、フィールド199(競技場などのフィールド)の周囲に該フィールド199に向けて配置されている。カメラ101a〜101jのそれぞれが撮像した各撮像時点の画像は画像処理装置102に対して送出される。図1ではオブジェクトとして一人の人105を示しているが、本実施形態では、複数の人がオブジェクトとしてフィールド199内に位置しているものとする。
まず、図1を参照しながら、本実施形態に係るシステムの構成例を説明する。カメラ101a〜101jのそれぞれは動画像を撮像するカメラ(撮像装置)であり、図1に示すように、フィールド199(競技場などのフィールド)の周囲に該フィールド199に向けて配置されている。カメラ101a〜101jのそれぞれが撮像した各撮像時点の画像は画像処理装置102に対して送出される。図1ではオブジェクトとして一人の人105を示しているが、本実施形態では、複数の人がオブジェクトとしてフィールド199内に位置しているものとする。
画像処理装置102は、カメラ101a〜101jのそれぞれから送出された同撮像時点の画像群ごとに、該画像群からオブジェクトの輪郭を抽出し、抽出した輪郭を用いてオブジェクトの3次元形状モデルを生成する。つまり、画像処理装置102は、撮像時点ごとに、該撮像時点におけるオブジェクトの3次元形状モデルを生成する。3次元形状モデルは、例えば、オブジェクト上の点群によって構成されるものである。なお、画像内に複数のオブジェクトが含まれている場合には、それぞれのオブジェクトについて3次元形状モデルを生成する。複数枚の画像(すなわち、略同時点に撮像された画像群)におけるオブジェクトの輪郭から該オブジェクト上の点群を取得する技術については周知であるため、この技術に関する説明は省略する。なお、オブジェクトの3次元形状モデルを取得するための方法は上記の方法に限らず、他の方法を採用してもよい。
また、3次元形状モデルは、ボクセルやポリゴンなど、点群以外の形式を用いて表現してもよい。
そして、画像処理装置102は、生成した3次元形状モデルを用いて、各身体部位(体幹、頭部...)に対して骨格情報(関節位置、骨格線等)を推定する。推定方法の詳細は後述する。
表示装置103は、CRTや液晶画面などにより構成されており、画像処理装置102が生成した3次元形状モデルや、各身体部位、骨格情報等、各種の情報を表示することができる。キーボード104a及びマウス104bは画像処理装置102に各種の指示や情報を入力するためにユーザが操作するユーザインターフェースの一例である。
なお、図1に示したシステムの構成は一例に過ぎず、例えば、カメラの数やカメラが注視する位置、カメラと画像処理装置102との間のネットワーク構成などは図1に示したものに限らない。
<画像処理装置のハードウェア構成>
次に、画像処理装置102のハードウェア構成例について、図2(b)のブロック図を用いて説明する。
次に、画像処理装置102のハードウェア構成例について、図2(b)のブロック図を用いて説明する。
CPU201は、RAM202やROM203に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU201は、画像処理装置102全体の動作制御を行うと共に、画像処理装置102が行うものとして後述する各処理を実行若しくは制御する。
RAM202は、二次記憶装置204、外部記憶装置209、ROM203等からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。更にRAM202は、CPU201が各種の処理を実行若しくは制御する際に用いるワークエリアを有する。このようにRAM202は各種のエリアを適宜提供することができる。ROM203には、書き換え不要の設定データやコンピュータプログラムなどが格納されている。
二次記憶装置204は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。二次記憶装置204には、OS(オペレーティングシステム)や、画像処理装置102が行うものとして後述する各処理をCPU201に実行させるためのコンピュータプログラムやデータが保存されている。このデータには、以下の説明において既知の情報として説明するものが含まれている。二次記憶装置204に保存されているコンピュータプログラムやデータは、CPU201による制御に従って適宜RAM202にロードされ、CPU201による処理対象となる。
操作部211は、上記のマウス104bやキーボード104aを含むものであり、ユーザが操作することで各種の指示を入力インターフェース205を介してCPU201に対して入力することができる。
図2では、上記のカメラ101a〜101jを撮像装置208として表している。以下の説明において、撮像装置208から出力される対象時点の画像群とは、対象時点においてカメラ101a〜101jにより撮像された画像群を意味する。撮像装置208から出力される各撮像時点の画像群は、RAM202や二次記憶装置204に格納される。
外部記憶装置209は、CD−RW、DVD−RWなどの記憶媒体に対するコンピュータプログラムやデータの読み書きを行う。外部記憶装置209が記憶媒体から読み出したコンピュータプログラムやデータは入力インターフェース205を介してRAM202や二次記憶装置204に出力される。一方、外部記憶装置209が記憶媒体に書き込むコンピュータプログラムやデータは、RAM202や二次記憶装置204から出力インターフェース206を介して外部記憶装置209に送出される。また、二次記憶装置204に保存されているものとして説明したコンピュータプログラムやデータの一部若しくは全部を上記の記憶媒体に格納しておき、外部記憶装置209によって記憶媒体からRAM202や二次記憶装置204に読み出すようにしてもよい。
CPU201による処理結果は、画像や文字などで表示装置103に表示される。なお、操作部211と表示装置103とを一体化させてタッチパネル画面を構成してもよい。CPU201、RAM202、ROM203、二次記憶装置204、入力インターフェース205、出力インターフェース206、は何れもバス207に接続されている。
<画像処理装置の機能構成>
画像処理装置102は、画像取得部251と、3次元形状モデル生成部252と、推定部253と、表示制御部254とを備えている。各処理部の機能は、CPU201がRAM202やROM203に格納されているコンピュータプログラムを読み出して実行することにより実現される。
画像処理装置102は、画像取得部251と、3次元形状モデル生成部252と、推定部253と、表示制御部254とを備えている。各処理部の機能は、CPU201がRAM202やROM203に格納されているコンピュータプログラムを読み出して実行することにより実現される。
画像取得部201は、カメラ101a〜101jを含む撮像装置208から複数の画像を取得する。この例では、略同一の撮像時点について、異なる角度から撮像された10枚の画像群が取得される。
3次元形状モデル生成部252は、画像取得部201により取得された同時点の画像群ごとに、該画像群からオブジェクトの輪郭を抽出し、抽出した輪郭を用いてオブジェクトの3次元形状モデルを生成する。
推定部253は、3次元形状モデル生成部252により生成された3次元形状モデルに基づいて、オブジェクトを構成する各身体部位の骨格情報を、身体部位ごとに推定する。その際、推定済の身体部位に対応する3次元形状モデルの一部分を除外して、一部分が除外された3次元形状モデルに基づいて次の身体部位の骨格情報を推定する。
表示制御部254は、画像取得部201により取得された画像、3次元形状モデル生成部252により生成されたオブジェクトの3次元形状モデル、推定部253により推定されたオブジェクトの骨格情報等を表示装置103に表示させる制御を行う。
<処理>
次に、撮像装置208からN(Nは2以上の整数)フレーム目の画像群(N番目の撮像時点に撮像された画像群)が画像処理装置102に入力された場合に、画像処理装置102が行う処理について、図3のフローチャートを用いて具体的に説明する。なお、各画像には複数のオブジェクトが含まれているものとする。
次に、撮像装置208からN(Nは2以上の整数)フレーム目の画像群(N番目の撮像時点に撮像された画像群)が画像処理装置102に入力された場合に、画像処理装置102が行う処理について、図3のフローチャートを用いて具体的に説明する。なお、各画像には複数のオブジェクトが含まれているものとする。
ここで、CPU201は3次元形状モデルごとに、該3次元形状モデルを生成する際に参照した画像領域内のオブジェクトの顔や、オブジェクトがスポーツ選手である場合にはユニフォームの背番号などを認識する。そして、該認識した顔や背番号に固有の情報を、該3次元形状モデルの識別情報として発行する。そしてCPU201は、3次元形状モデルごとに、3次元形状モデルの大きさ、3次元形状モデルの位置、3次元形状モデルの識別情報、を関連づけてRAM202や二次記憶装置204などに格納する。以降、情報の格納先となるRAM202や二次記憶装置204をまとめてメモリと称する。
ステップS301では、3次元形状モデル生成部252は、Nフレーム目の画像群に含まれているそれぞれのオブジェクトの3次元形状モデルを生成する。以下では、ステップS301で生成したそれぞれの3次元形状モデルをM(1),M(2),...,M(I)と表記する(IはステップS301で生成した3次元形状モデルの総数である)。また、ステップS301では、3次元形状モデル生成部252は、以下の説明で用いる変数iを「1」に初期化する。
ステップS302では、3次元形状モデル生成部252は、Nフレーム目の画像群に含まれているそれぞれのオブジェクトの中から、i番目のオブジェクトの3次元形状モデルM(i)を特定する。3次元形状モデルの特定方法としては、3次元形状モデルを生成する際に参照した画像におけるi番目のオブジェクトをトラッキングして、画像上の座標に基づいて3次元座標を算出してもよいし、3次元空間上でトラッキングしてもよい。オブジェクトの3次元形状モデルの特定方法は上記の方法に限らず、如何なる方法を採用してもよい。
ステップS303では、推定部253は、i番目のオブジェクトの3次元形状モデルを構成する各身体部位の骨格線の推定を行う。本実施形態では、身体部位とは、図4(a)に示すように、体幹401、頭部402、左上腕部403、左前腕部404、右上腕部405、右前腕部406、左大腿部407、左下腿部408、右大腿部409、右下腿部410を表すものとする。但し、この分け方に限られるものではない。身体部位は、推定する順番によってインデックスkが付与されているものとする。すなわち、ステップS302ではk番目の身体部位の骨格線の推定を行う。例えば、体幹401はk=1、頭部402はk=2のように番号が付与されている。また、一人あたりの身体部位の総数をKとする。また、図4(b)は骨格情報(関節位置、骨格線)の概念図を示したものである。図4(b)において、黒丸410は関節群であり、線分411は関節同士を結ぶ骨格線を表している。骨格線の推定方法の詳細については後述する。
ステップS304では、推定部253は、インデックスkの身体部位の3次元形状モデルに対して、関節位置の推定を行う。例えば、k=1である場合、体幹401の関節位置の推定を行う。関節位置の推定方法については後述する。
ステップS305では、推定部253は、全ての身体部位の骨格情報の推定を完了しているか否かを判定する。この判定の結果、未推定の身体部位が残っている場合(k<K)には、推定部253は、ステップS306において身体部位のインデックスkを1つインクリメントし、処理はステップS303に戻る。一方、すべての身体部位の推定が完了している場合(k≧K)には、処理はステップS307に進む。
ステップS307では、3次元形状モデル生成部252は、ステップS301において生成したそれぞれの3次元形状モデルのうち未選択の3次元形状モデルが残っているか否かを判定する。この判定の結果、ステップS301において生成したそれぞれの3次元形状モデルのうち未選択の3次元形状モデルが残っている場合(i<I)には、ステップS308に進む。ステップS308において、3次元形状モデル生成部252は、オブジェクトのインデックスiを1つインクリメントし、処理はステップS302に戻る。一方、ステップS301で生成したそれぞれの3次元形状モデルのうち未選択の3次元形状モデルが残っていない場合(i≧I)には、全てのオブジェクトについて推定が完了したので、Nフレーム目の画像群についての図3の処理は終了する。そして、(N+1)フレーム目の画像群について再びステップS301以降の処理が行われる。
<骨格情報(骨格線、関節位置)の推定方法>
以下では、ステップS303及びステップS304で行われる骨格線の推定方法および関節位置の推定方法について詳細に説明する。
以下では、ステップS303及びステップS304で行われる骨格線の推定方法および関節位置の推定方法について詳細に説明する。
<体幹・頭部>
まず、体幹及び頭部の骨格情報の推定方法について説明する。すなわち、体幹401を構成する関節である首関節、腰関節の推定方法、頭部402を構成する関節である首関節、頭頂部の推定方法、および、体幹401又は頭部402の特定方法について述べる。
まず、体幹及び頭部の骨格情報の推定方法について説明する。すなわち、体幹401を構成する関節である首関節、腰関節の推定方法、頭部402を構成する関節である首関節、頭頂部の推定方法、および、体幹401又は頭部402の特定方法について述べる。
図5(a)は、平面501によって、身体を地面に平行にスライスした状態を示している。断面502、断面503は、それぞれ体幹401の断面、左前腕404の断面を表している。矢印504は、スライスする高さを変えるときの順序を表している。ここでは、鉛直方向の上から下に向かって、地面に平行な平面で身体をスライスするものとする。
そして、オブジェクトの3次元形状モデルの断面をクラスタリングし、クラスタリングの結果に基づいて各身体部位を推定する。図5(b)は、平面501による断面図の様子を表している。平面501において、画素数が最も多いクラスタ(以下、最大クラスタ)かつ、最大クラスタの画素数が他のクラスタの画素数の定数倍a(例えば3倍)より多い場合、そのクラスタを体幹401、もしくは頭部402として推定するものとする。図5(b)の場合は、クラスタ502が体幹クラスタとして推定される。体幹401と頭部402とを識別する方法としては、例えばクラスタ形状が楕円に近ければ体幹401と識別し、円に近ければ頭部402と識別することができる。また、クラスタのサイズによっても、体幹401か頭部402かを識別することも可能である。もちろん、これ以外の方法で識別しても構わない。以下では、体幹401と頭部402との識別が完了したものとして説明を行う。
体幹401から頭部402に切り替わる高さにおいて、クラスタの重心位置を算出することにより、首関節の3次元位置を求めることができる。また、最大クラスタの画素数が、他のクラスタの画素数のa倍より少なくなる高さを算出することで、腰の高さの推定が可能である。次に、その高さにおける最大クラスタの重心を算出することで、腰関節の3次元位置を算出することができる。なお、本実施形態では関節位置を算出する際に、クラスタ重心に基づいて算出しているが、クラスタに属する点の2次元座標の中間値など、クラスタの位置を表す数値であれば別の値を用いても構わない。
次に、腰関節から首関節の高さまでにおいて、断面上の体幹クラスタに該当する3次元形状を体幹401に属するものとしてラベリングするか、或いは削除する。骨格線は、首関節と腰関節とをつなぐ線分として与えられる。以上が、体幹401に属する骨格線及び関節位置の推定方法と、体幹401の3次元形状の特定方法である。
頭部402については、クラスタが存在しなくなる高さを推定することにより、頭頂部の位置を算出し、首関節から頭頂部の高さまでについて、断面上の頭クラスタに該当する3次元形状を頭部402に属するものとしてラベリングするか、或いは削除する。
<左右の腕等>
次に、左右の腕の骨格情報(骨格線、関節位置)を推定する場合について説明する。図6は、体幹401、頭部402の3次元形状を削除した状態を表している。このように、既に推定した身体部位(この場合、体幹や頭部)に対応する3次元形状モデルの一部分を除外した上で、次の身体部位の骨格情報の推定を行うことで、推定精度を向上させることができるとともに、処理時間を短縮することができる。
次に、左右の腕の骨格情報(骨格線、関節位置)を推定する場合について説明する。図6は、体幹401、頭部402の3次元形状を削除した状態を表している。このように、既に推定した身体部位(この場合、体幹や頭部)に対応する3次元形状モデルの一部分を除外した上で、次の身体部位の骨格情報の推定を行うことで、推定精度を向上させることができるとともに、処理時間を短縮することができる。
図6(a)は、平面601でスライスした状態を表しており、図6(b)は、平面601による断面図を表している。体幹401の断面が楕円であると仮定すると、肩関節の位置は、首関節の位置と体幹401の形状とから算出することができるので、左右肩関節に最も近いクラスタをそれぞれ左上腕部403、右上腕部405のクラスタとして推定することができる。図6(b)の場合は、602が左上腕部クラスタ、603が右上腕部クラスタに該当する。
また、ある高さhにおいて、上腕部のクラスタを推定することができれば、別の高さh'でスライスした場合においても、高さhにおける上腕部クラスタの重心に近いクラスタを上腕部クラスタとして推定することが可能である。体の向きがどちらを向いているか不明な場合は、左右を推定することができないが、前撮像時点の情報があれば、前撮像時点の左上腕部に近い方を現撮像時点の左上腕部として推定することが可能である。図6(a)の場合は、右上腕部405に関しては、ある高さにおいて、断面図上で右上腕部クラスタが消失するため、そこを右肘関節として定めることができる。一方、左腕に関しては、真っ直ぐに伸びているため、右肘のように関節位置を定めることができない。そこで、左上腕部403に関しては、人の平均的な関節間の距離に基づいて左肘関節の位置を定める。各オブジェクトの関節間距離が既知である場合は、すべての関節位置を関節間距離に基づいて決めてもよい。また、3次元形状モデルの断面の代表位置から構成される曲線の曲率に基づいて骨格情報を推定してもよい。例えば、特定の身体部位に属するクラスタの重心位置の集合から曲線を導出し、曲線の曲率が大きい位置を関節位置として推定してもよい。
左右の肘関節の位置を推定した後、左右の上腕部403、405のクラスタに該当する3次元形状を削除する。左右の上腕部403、405の骨格線は、肘関節と肩関節とをつなぐ線分として推定してもよい。
左右の上腕部403、405と同様にして、左右の前腕部404、406を構成する関節位置・骨格線を推定することができる。左右の上腿部407、409、左右の下腿部408、410に関しても同様である。
以上説明したように、本実施形態では、既に推定が完了した身体部位に対応する3次元形状モデルの部分を除外して、その部分が除外された3次元形状モデルに基づいて次の身体部位の骨格情報を推定する。これにより、身体部位の特定の間違いを低減することができるので、骨格情報の推定精度を向上させることができる。また、処理時間を短縮することもできる。
また、特定が容易な身体部位(体幹、頭部等)から順に3次元形状モデルの一部分を除外(ラベリングもしくは削除)することにより、前腕部や下腿部など推定が困難な身体部位に関しても高精度に骨格情報(関節位置及び骨格線)を推定することが可能になる。
なお、本実施形態では、形状断面をクラスタリングすることにより、身体部位の特定を行ったが、既知の身体部位形状をフィッティングすることにより、身体部位を特定してもよい。その際も、推定が完了した身体部位形状をラベリング・削除することにより、フィッティングが容易になり、高精度に骨格情報(関節位置、骨格線)を推定することが可能になる。
[第2の実施形態]
第1の実施形態では、地面に平行な平面で身体のスライスを行う例を説明した。しかし、体が倒れたり、腕や足の骨格線が地面に平行に近かったりする場合は、推定精度が低下する可能性がある。また、特定の関節位置の推定に失敗した場合、その影響が他の身体部位に波及する可能性がある。
第1の実施形態では、地面に平行な平面で身体のスライスを行う例を説明した。しかし、体が倒れたり、腕や足の骨格線が地面に平行に近かったりする場合は、推定精度が低下する可能性がある。また、特定の関節位置の推定に失敗した場合、その影響が他の身体部位に波及する可能性がある。
本実施形態に係る画像処理装置は、この点に対処したものである。以下では第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。
図7は、地面に平行にスライスした場合に精度が劣化する例を示したものである。図7(a)、図7(b)において、701〜704は、それぞれ体幹401、右上腕部405、左前腕部404、右大腿部409の骨格線を表している。
図7(a)のように体幹401が横になった状態で地面に平行にスライスしても、首関節や腰関節の位置を推定することが困難である。また、図7(b)のように腕や足が地面と平行に近い場合も身体部位や関節位置を精度よく求めることが難しい。
そこで、本実施形態では、図3のステップS303及びステップS304において、図8のフローチャートに従った処理を行う。
ステップS801では、推定部253は、対象時点より一つ前の撮像時点における、各身体部位の骨格線情報をメモリから取得する。
ステップS802において、推定部253は、ステップS801で取得した骨格線情報により示される、一つ前の撮像時点における骨格線(例えば体幹401の骨格線)と交差する(例えば垂直になる)ようにスライスして関節位置の推定を行う。この場合、図5の矢印504に対応する方向は、骨格線と平行になる。関節位置の推定方法は第1の実施形態と同様である。なお、スライスする際は、必ずしも骨格線の軸に垂直に行う必要はなく、関節位置の推定精度が劣化しなければ、如何なる方向にスライスしてもよい。
ステップS803において、推定部253は、推定した関節位置の情報から対象時点における骨格線を算出し、メモリに格納する。
なお、ここでは、形状をスライスする方法について説明したが、前撮像時点の骨格線を参考にして、事前に取得した各身体部位の3次元形状モデルをフィッティングして骨格線を算出してもよい。また、一つ前の撮像時点だけでなく、対象時点より前の複数の撮像時点における情報を参照してもよい。
ステップS804において、推定部253は、関節位置・骨格線の信頼度を算出する。信頼度の指標としては、関節間距離の規定値からの外れ度合、骨格線同士の成す角度が人体の構造から規定される拘束条件を満たすか否か、前撮像時点からの関節位置・骨格線の変位量・変位角度の大きさなどを用いることができる。
ステップS805において、推定部253は、信頼度が閾値以下であると判定された関節位置・骨格線の補正を行う(すなわち、推定し直す)。例えば、対象時点であるNフレーム目の撮像時点の肩関節の信頼度が高く、肘関節の信頼度が低い場合は、肩関節と肘関節を結ぶ骨格線において、N−1フレーム目の撮像時点における骨格線L(N−1)を取得し、肩関節の位置と既知の関節間距離とに基づいて肘関節位置を算出する。若しくは、N−1フレーム目の撮像時点における骨格線L(N−1)と、N−2フレーム目の撮像時点における骨格線L(N−2)の情報から差分ベクトルΔLを算出し、以下の式(1)によってNフレーム目の撮像時点における骨格線L(N)を予測してもよい。
L(N)=L(N−1)+ΔL (1)
以上説明したように、本実施形態によれば、対象時点より前の撮像時点の骨格線の情報を用いることにより、高精度に身体部位の特定・骨格情報(骨格線及び関節位置)の推定を行うことが可能になる。
以上説明したように、本実施形態によれば、対象時点より前の撮像時点の骨格線の情報を用いることにより、高精度に身体部位の特定・骨格情報(骨格線及び関節位置)の推定を行うことが可能になる。
[第3の実施形態]
本実施形態では、身体部位や骨格情報(関節位置、骨格線等)の表示UIについて述べる。表示制御部254は、表示装置103を制御して各種の情報を表示させる。図9は表示UIの例である。図9において、ウィンドウ901は、CPU201がステップS303及びステップS304で推定した身体部位(体幹、頭部...)の骨格情報に基づいて体を色分け表示したものである。色分け以外にも、部位ごとに異なる模様を割り当てたり、対応する数字や文字、記号をラベリングしたりするなど、各身体部位が識別可能な状態で表示されれば別の方法でも構わない。図9では、図示の都合上、左右の色分けは行わなかったが、左右で色分け表示してもよい。例えば、右・左上腕部で色を変えてもよい。
本実施形態では、身体部位や骨格情報(関節位置、骨格線等)の表示UIについて述べる。表示制御部254は、表示装置103を制御して各種の情報を表示させる。図9は表示UIの例である。図9において、ウィンドウ901は、CPU201がステップS303及びステップS304で推定した身体部位(体幹、頭部...)の骨格情報に基づいて体を色分け表示したものである。色分け以外にも、部位ごとに異なる模様を割り当てたり、対応する数字や文字、記号をラベリングしたりするなど、各身体部位が識別可能な状態で表示されれば別の方法でも構わない。図9では、図示の都合上、左右の色分けは行わなかったが、左右で色分け表示してもよい。例えば、右・左上腕部で色を変えてもよい。
また、ウィンドウ902は、骨格情報(関節位置、骨格線等)を表示したものである。903は関節、904は骨格線、905は、骨格線同士の成す角度(湾曲角度)を示している。906はディスプレイ表示の場合は、骨格情報の上に画像を重畳したものであり、3次元立体表示の場合は、3次元形状を重畳表示したものである。重畳の仕方としては、半透明で重畳するなど、骨格情報が分かりやすい形で重畳すればよい。また、骨格情報のみ表示して、重畳表示は行わなくてもよい。また、関節位置と骨格線とのうち何れか一方のみを表示してもよい。
なお、図9では推定のオブジェクト(人物)についてのみ表示されているが、複数人を同時表示してもよい。また、オブジェクトに属する複数の部位のうち、特定の部位(例えば足や腕)のみを表示してもよい。そして、表示制御部254は、表示方法を選択するためのユーザ操作に応じて、上述した複数の表示方法の中から選択された表示方法で表示を行ってもよい。表示装置103上にUIを表示する際には、ディスプレイ以外にも、ヘッドマウントディスプレイなどを用いて3次元立体表示を行ってもよい。また、骨格情報を時系列で取得している場合は、動画を表示することも可能である。
これらの表示により、例えば、スポーツ選手がプレイ中に怪我をした場合には、骨格の向きが身体的な許容範囲を逸脱したことによる怪我の発生要因、及びその程度を知ることが可能となる。また、本実施形態におけるオブジェクトの骨格の推定結果を、スポーツの判定にも用いることができる。例えば地面に手をついてはいけないルールの競技において、選手の手が地面についたか否かの判定に用いることができる。また、複数の人物それぞれの骨格の推定結果を並べたり重ねたりして表示してもよいし、推定されたそれぞれの骨格の比較結果を示す情報を表示してもよい。これにより例えば、模範となる選手のフォームと対象人物のフォームとの比較を可能とし、その対象人物のフォームの改善に使用することも可能である。さらに、骨格情報に対して、身体部位の動きの速度や角速度を重畳して表示してもよい。例えば、手首や足首関節の速度を表示することで、パンチやキックのスピードを知ることができる。また、肩関節の角速度から、フィギュアスケートなどで身体を回転させたときの角速度を知ることができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
102:画像処理装置、251:画像取得部、252:3次元形状モデル生成部、253:推定部、254:表示制御部
Claims (13)
- 複数の撮像装置から取得された複数の画像のうち対象時点に撮像された画像群に含まれるオブジェクトの3次元形状モデルを生成する生成手段と、
前記3次元形状モデルに基づいて、前記オブジェクトを構成する複数の部位の位置を判定する判定手段であって、判定済の部位に対応する前記3次元形状モデルの一部分を除外して得られる変更されたモデルに基づいて、別の部位の位置を判定する判定手段と、
前記判定手段による判定の結果に基づく判定情報を取得する取得手段と
を有することを特徴とする画像処理装置。 - 前記判定情報は、身体を構成する関節の3次元位置の情報を含むことを特徴とする請求項1に記載の画像処理装置。
- 前記判定情報は、身体を構成する関節間を結ぶ線分である骨格線の情報を含むことを特徴とする請求項1又は2に記載の画像処理装置。
- 前記判定手段は、前記オブジェクトの前記3次元形状モデルの断面をクラスタリングし、クラスタリングの結果に基づいて各部位の位置を判定することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
- 前記判定情報は、身体を構成する関節間を結ぶ線分である骨格線の情報を含み、
前記判定手段は、前記対象時点よりも前の撮像時点について判定された前記オブジェクトの骨格線の情報と、前記3次元形状モデルとに基づいて、前記対象時点についての前記オブジェクトの部位の位置を判定することを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。 - 前記判定手段は、部位ごとの判定の結果の信頼度をさらに算出し、前記信頼度が閾値以下であると判定された部位がある場合、前記対象時点よりも前の撮像時点について判定された前記オブジェクトの部位の位置に基づいて、前記信頼度が閾値以下であると判定された部位の位置を判定し直すことを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。
- 前記判定手段は、前記3次元形状モデルの断面の代表位置から構成される曲線の曲率に基づいて前記オブジェクトの部位の位置を判定することを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
- 前記判定手段は、既知の関節間距離に基づいて、前記オブジェクトの部位の位置を判定することを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
- 前記判定手段により位置が判定された各部位を色分けして表示させるように表示装置を制御する表示制御手段をさらに備えることを特徴とする請求項1乃至8の何れか1項に記載の画像処理装置。
- 前記取得手段により取得された判定情報に基づいて、各部位の位置を示す情報の上に、関節の湾曲角度を示す情報を重畳表示させるように表示装置を制御する表示制御手段をさらに備えることを特徴とする請求項1乃至8の何れか1項に記載の画像処理装置。
- 前記取得手段により取得された判定情報に基づいて、各部位の位置を示す情報の上に、前記オブジェクトの画像又は前記オブジェクトの前記3次元形状モデルを、半透明で重畳表示させるように表示装置を制御する表示制御手段をさらに備えることを特徴とする請求項1乃至8の何れか1項に記載の画像処理装置。
- 画像処理装置の制御方法であって、
複数の撮像装置から取得された複数の画像のうち対象時点に撮像された画像群に含まれるオブジェクトの3次元形状モデルを生成する生成工程と、
前記3次元形状モデルに基づいて、前記オブジェクトを構成する複数の部位の位置を判定する判定工程であって、判定済の部位に対応する前記3次元形状モデルの一部分を除外して得られる変更されたモデルに基づいて、別の部位の位置を判定する判定工程と、
前記判定工程による判定の結果に基づく判定情報を取得する取得工程と
を有することを特徴とする画像処理装置の制御方法。 - コンピュータを、請求項1乃至11の何れか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018089464A JP2019197278A (ja) | 2018-05-07 | 2018-05-07 | 画像処理装置、画像処理装置の制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018089464A JP2019197278A (ja) | 2018-05-07 | 2018-05-07 | 画像処理装置、画像処理装置の制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019197278A true JP2019197278A (ja) | 2019-11-14 |
Family
ID=68538415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018089464A Pending JP2019197278A (ja) | 2018-05-07 | 2018-05-07 | 画像処理装置、画像処理装置の制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019197278A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024009503A1 (ja) * | 2022-07-08 | 2024-01-11 | 富士通株式会社 | 姿勢推定プログラム、装置、及び方法 |
-
2018
- 2018-05-07 JP JP2018089464A patent/JP2019197278A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024009503A1 (ja) * | 2022-07-08 | 2024-01-11 | 富士通株式会社 | 姿勢推定プログラム、装置、及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020054442A1 (ja) | 関節位置の取得方法及び装置、動作の取得方法及び装置 | |
JP7427188B2 (ja) | 3dポーズ取得方法及び装置 | |
JP5931215B2 (ja) | 姿勢を推定する方法及び装置 | |
JP4148281B2 (ja) | モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム | |
CN109176512A (zh) | 一种体感控制机器人的方法、机器人及控制装置 | |
US11087493B2 (en) | Depth-image processing device, depth-image processing system, depth-image processing method, and recording medium | |
TW201234278A (en) | Mobile camera localization using depth maps | |
JP7164045B2 (ja) | 骨格認識方法、骨格認識プログラムおよび骨格認識システム | |
JP6744747B2 (ja) | 情報処理装置およびその制御方法 | |
JP2019096113A (ja) | キーポイントデータに関する加工装置、方法及びプログラム | |
JP7379065B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
KR102450931B1 (ko) | 이미지 정합 방법 및 연관된 모델 훈련 방법, 기기, 장치 | |
Ohashi et al. | Synergetic reconstruction from 2D pose and 3D motion for wide-space multi-person video motion capture in the wild | |
KR20170030633A (ko) | 보행 해석 시스템 및 기록 매체에 기록된 컴퓨터 프로그램 | |
JP2020052979A (ja) | 情報処理装置およびプログラム | |
US20220222975A1 (en) | Motion recognition method, non-transitory computer-readable recording medium and information processing apparatus | |
Zou et al. | Automatic reconstruction of 3D human motion pose from uncalibrated monocular video sequences based on markerless human motion tracking | |
WO2022240745A1 (en) | Methods and systems for representing a user | |
JP7129839B2 (ja) | 訓練装置、訓練システム、訓練方法、及びプログラム | |
JP7318814B2 (ja) | データ生成方法、データ生成プログラムおよび情報処理装置 | |
JP2019197278A (ja) | 画像処理装置、画像処理装置の制御方法およびプログラム | |
Phan et al. | Towards 3D human posture estimation using multiple kinects despite self-contacts | |
JP7103998B2 (ja) | 骨格抽出方法、装置およびプログラム | |
JP2002218449A (ja) | 移動物体追跡装置 | |
JP2020201863A (ja) | 情報処理装置、情報処理方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |