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

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

Info

Publication number
JP6708260B2
JP6708260B2 JP2018550015A JP2018550015A JP6708260B2 JP 6708260 B2 JP6708260 B2 JP 6708260B2 JP 2018550015 A JP2018550015 A JP 2018550015A JP 2018550015 A JP2018550015 A JP 2018550015A JP 6708260 B2 JP6708260 B2 JP 6708260B2
Authority
JP
Japan
Prior art keywords
joint
positional relationship
dimensional
type
estimated
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
JP2018550015A
Other languages
English (en)
Other versions
JPWO2018087933A1 (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 JPWO2018087933A1 publication Critical patent/JPWO2018087933A1/ja
Application granted granted Critical
Publication of JP6708260B2 publication Critical patent/JP6708260B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • 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/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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/10024Color image
    • 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/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Description

本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
撮影画像を用いた人体の姿勢推定は、体操やダンス等の自動採点やスポーツ選手の動作解析などの利用が考えられる。
計算コストを要し、誤認識を完全に回避できない対応点探索を行わずに物体の位置および姿勢の認識を行う技術が知られている(例えば、特許文献1参照)。また、特許文献2〜4、非特許文献1に記載の姿勢推定方法が知られている。
特開2008−65368号公報 特開2015−167008号公報 特開2011−238222号公報 国際公開第2012/046392号
従来の姿勢推定方法では、関節の奥行方向の位置について考慮していないため、奥行方向に対する手足等の姿勢が不明であり、人体の姿勢の正確な推定が難しいという問題がある。
本発明は、関節の位置と当該関節に繋がっている部位の姿勢を推定することを目的とする。
実施の形態の情報処理装置は、第1の推定部、第2の推定部、および第3の推定部を備える。
前記第1の推定部は、カラー画像に基づいて、2次元平面における第1の関節の第1の位置を推定するとともに、前記第1の関節と、部位を介して前記第1の関節に繋がっている第2の関節との前記2次元平面における第1の位置関係を推定する。
前記第2の推定部は、前記第1の関節と前記第2の関節とのそれぞれの深度を示す深度画像に基づいて、前記2次元平面における前記第1の関節の第2の位置を推定するとともに、前記第1の関節と前記第2の関節との3次元空間における第2の位置関係を推定する。
前記第3の推定部は、前記第1の推定部により推定された前記第1の位置と前記第1の位置関係、および前記第2の推定部により推定された前記第2の位置と前記第2の位置関係に基づいて、前記2次元平面における前記第1の関節の第3の位置と、前記3次元空間における前記部位の姿勢を推定する。
実施の形態に係る情報処理装置によれば、関節の位置と当該関節に繋がっている部位の姿勢を推定することができる。
人体のモデル化について説明する図である。 推定された骨格を示す図である。 関節位置の確率分布を説明する図である。 実施の形態に係る姿勢推定装置の機能ブロック図である。 カラー画像の例である。 深度画像の例である。 入力画像の分割を示す図である。 関節タイプについて説明する図である。 2次元の関節タイプのパターンを示す図である。 テンプレートを示す図である。 関節認識部によるテンプレートマッチングの処理を示す図である。 DCNNの処理を示す図である。 関節認識部によるDCNNの処理を示す図である。 2次元に適合する関節相対位置スコア関数を示す図である。 3次元の関節タイプを説明する図である。 3次元の関節タイプのパターンを示す図である。 各関節の各関節タイプの推定値を示す関節位置確率分布φDepthを示す図である。 3次元に適合する関節相対位置スコア関数を示す図である。 最大確率位置特定部の処理を説明する図である。 実施の形態に係るmax-sum法を用いた姿勢推定処理のフローチャートである。 実施の形態に係るmax-sum法を用いた姿勢推定処理を説明する図である。 推定された関節タイプと関節に接続する部位の角度を示す図である。 情報処理装置(コンピュータ)の構成図である。
以下、図面を参照しながら実施の形態について説明する。
図1は、人体のモデル化について説明する図である。
図1の左側に示す人体100をモデル化する場合、図1の右側に示すように人体100の複数の関節および頭や手足等の部位を「点」とし、「点」として表現される関節や部位を互いに繋ぐ肢体や胴などの部位を「辺」として表現する。
人体をモデル化した場合に「点」として表現される関節や部位は、例えば、頭(head)1、首(neck)2、左肩(shoulder_left)3、左肘(ebow_left)4、左手(hand_left)5、右肩(shoulder_right)6、右肘(elbow_right)7、右手(hand_right)8、脊柱_中(spine_mid)9、脊柱_付け根(spine_base)10、左尻(hip_left)11、右尻(hip_right)12、左膝(knee_left)13、左足(foot_left)14、右膝(knee_right)15、右足(foot_right)16がある。以下、「点」として表現された頭や手足等の部位を関節に含まれるものとして表記する場合がある。
図2は、推定された骨格を示す図である。
従来の姿勢推定方法により、各関節の位置が推定され、図2に示すような骨格が推定されたとする。しかしながら、従来の姿勢推定方法では、奥行方向(Z方向)の情報を持たないため、例えば、図2の右側に示すように右肘7や右手8が右肩6より手前に位置するか、真上に位置するか、または奥に位置するか分からない。そのため、姿勢の正確な推定が困難であるという問題がある。
図3は、関節位置の確率分布を説明する図である。
実施の形態の姿勢推定方法では、ある関節の位置の確率分布(関節位置確率分布)は、画像の領域ごとに当該関節が存在する確率を示したヒートマップで表すことができる。
例えば、図3の左側に示す頭(head)の位置に対するヒートマップでは、頭がその領域に存在する確率が高いほど当該領域の色は濃く表現されている。同様に、首や左肩等の他の関節の位置の確率分布もヒートマップで表すことができる。
図4は、実施の形態に係る姿勢推定装置の機能ブロック図である。
姿勢推定装置101は、カメラ111、深度カメラ121、関節認識部131,141、関節相対位置スコア算出部151,161、および最大確率位置特定部171を備える。
カメラ111は、所定の範囲を撮影し、被写体(例えば、人体)が写ったカラー画像201を生成し、関節認識部131に出力する。カメラ111により、例えば、図5に示すようなカラー画像201が撮影される。
深度カメラ121は、所定の範囲をカメラ111と同じタイミングで撮影し、深度カメラ121から被写体までの距離を画素値として示す深度画像211を生成し、関節認識部141に出力する。深度カメラ121により、例えば、図6に示すような深度画像211が撮影される。深度画像211において、深度カメラ121から被写体までの距離が遠いほど画素は白く(画素値は大きく)なり、深度カメラ121から被写体までの距離が近いほど画素は黒く(画素値は小さく)なる。
関節認識部131は、カラー画像201から2次元の関節タイプそれぞれの2次元平面の各領域における各関節の存在確率を示す関節位置確率分布φRGBを算出する。
関節認識部141は、深度画像211から3次元の関節タイプそれぞれの2次元平面の各領域における各関節の存在確率を示す各関節の関節位置確率分布φDepthを算出する。
関節相対位置スコア算出部151は、2次元の関節タイプそれぞれの各関節の2次元平面の各領域におけるスコア(関節相対位置スコアψRGB)を算出し、最大確率位置特定部171に出力する。尚、関節相対位置スコア算出部151は、無くてもよい。その場合、関節相対位置スコアψRGBを外部で予め算出して、姿勢推定装置101に入力して記憶部(不図示)に記憶しておき、最大確率位置特定部171が適宜読み出すようにしてもよい。
関節相対位置スコア算出部161は、3次元の関節タイプそれぞれの各関節の2次元平面の各領域におけるスコア(関節相対位置スコアψDepth)を算出し、最大確率位置特定部171に出力する。尚、関節相対位置スコア算出部161は、無くてもよい。その場合、関節相対位置スコアψDepthを外部で予め算出して、姿勢推定装置101に入力して記憶部(不図示)に記憶しておき、最大確率位置特定部171が適宜読み出すようにしてもよい。
最大確率位置特定部171は、関節相対位置スコアψRGB、関節位置確率分布φRGB、関節相対位置スコアψDepth、および関節位置確率分布φDepthに基づいて、各関節に対して最も可能性が高い関節の位置とタイプを特定し、各関節の特定した関節の位置とタイプを出力する。
次に関節認識部131に処理について説明する。
図7は、入力画像の分割を示す図である。
関節認識部131は、入力画像(カラー画像201)を横M画素、縦M画素の複数の画像(ブロック)に分割する。関節認識部131は、ブロックごとにテンプレートマッチングまたはDeep Convolutional Neural Network(DCNN)を用いて、当該ブロックに各関節タイプの各関節が存在する確率を算出する。
図8は、関節タイプについて説明する図である。
関節タイプとは、ある関節とその関節につながる身体パーツの繋がりの見え方で、その関節をタイプ分けしたものである。
例えば、図8の上側に示すように、手首と下腕の繋がりの見え方(下腕を介して繋がる肘との位置関係)によって、手首を8つのタイプにタイプ分けしている。
図8の下側に示すように、隣り合う関節のタイプを比較することで整合性が評価できる。隣り合う関節とは同じ部位により繋がっている関節のことを指す。
図9は、2次元の関節タイプのパターンを示す図である。
2次元の関節タイプは、詳細には、ある関節iと関節iに隣り合う関節jの画像上の相対位置(xij,yij)によって、関節iの写り方をT個のタイプに分けたものである。
関節iの座標を(xi,yi)、関節iの座標を(xj,yj)とすると、相対位置(xij,yij)は、(xij,yij)=(xi-xj,yi-yj)である。
タイプ数Tおよびタイプの分け方(パターン)は、ユーザが決定する。例えば、T=4の場合、図9の左側に示すようなパターン1、右側に示すようなパターン2のようなタイプ分けが用いられる。尚、図9に示す座標平面の横軸はxij、縦軸はyijである。
例えば、パターン1において、xijとyijが両方とも正であれば、関節iのタイプはタイプ1となる。パターン1において、xijが負であり、yijが正であれば、関節iのタイプはタイプ2となる。パターン1において、xijとyijが両方とも負であれば、関節iのタイプはタイプ3となる。パターン1において、xijが正であり、yijが負であれば、関節iのタイプはタイプ4となる。
図10は、テンプレートを示す図である。
関節認識部131において、テンプレートマッチングを行う場合、ユーザは、1つの関節につき、関節タイプの数Tだけテンプレートを用意する。例えば、関節の数が16であり、関節タイプの数が4である場合、ユーザは、各関節の各タイプに対する64(=16×4)個のテンプレートを用意し、記憶部(負図示)等に予め記憶しておく。
図11は、関節認識部によるテンプレートマッチングの処理を示す図である。
以下、関節認識部131によるテンプレートマッチングの処理を説明する。
関節認識部131は、入力画像(カラー画像201)を横M画素、縦M画素の複数の画像(ブロック)に分割する。関節認識部131は、分割したブロックを1枚ずつテンプレートマッチングを用いて処理する。
関節認識部131は、記憶部(不図示)に記憶された各関節の各タイプに対する複数のテンプレートを読み出し、入力されたブロックと複数のテンプレートを用いて、テンプレートマッチングを行い、当該ブロックの各関節および各タイプに対する推定値を算出する。算出された推定値は、関節位置確率分布φRGBに相当する。例えば、あるブロックが入力されると、当該ブロックに対する各関節のタイプごとの推定値が得られる。あるブロックが入力され、関節=頭とタイプT=1に対する推定値として0.6が得られたとすると、当該ブロックにタイプT=1の頭が存在する確率が0.6であることを示す。以下、同様に他のブロックに対しても、推定値が算出される。
次にDCNNについて説明する。関節認識部131は、DCNNを用いて推定値を算出してもよい。
図12は、DCNNの処理を示す図である。
DCNNを用いる場合、関節認識部131は、DCNNを構築する。ユーザは、教師データtnmを用意し、関節認識部131は、各関節と2次元の各関節タイプに対応した訓練データと教師データtnmとDCNNから出力される推定値znmを用いて学習を行い、DCNNを重みw更新する。n=1〜J(Jは関節の数)、m=1〜T(Tは関節タイプの数)である。学習した重みwは、記憶部(不図示)に記憶され、関節認識部131は、入力画像をDCNNを用いて処理するときに読み出して用いる。
関節認識部131は、入力画像を分割したブロックを2次元配列としてDCNNに入力し、DCNNは出力として、当該ブロックが各関節の各タイプである確率znmを出力する。
図13は、関節認識部によるDCNNの処理を示す図である。
関節認識部131は、入力画像(カラー画像201)を横M画素、縦M画素の複数の画像(ブロック)に分割する。関節認識部131は、分割したブロックを1枚ずつDCNNを用いて処理する。尚、DCNNの重みwの学習は終了しているものとする。
関節認識部131は、記憶部(不図示)に記憶された重みwを読み出し、入力されたブロックと重みwを用いて、DCNNにより、当該ブロックの各関節および各タイプに対する推定値を算出する。算出された推定値は、関節位置確率分布φRGBに相当する。例えば、あるブロックが入力されると、当該ブロックに対する各関節のタイプごとの推定値が得られる。あるブロックが入力され、関節=頭とタイプT=1に対する推定値として0.6が得られたとすると、当該ブロックにタイプT=1の頭が存在する確率が0.6であることを示す。以下、同様に他のブロックに対しても、推定値が算出される。
尚、上述の関節認識部131の推定値の算出方法は一例であり、テンプレートマッチングやDCNNに限られるものではない。
次に関節相対位置スコア算出部151が算出する関節相対位置スコアψRGBについて説明する。
図14は、2次元に適合する関節相対位置スコア関数を示す図である。
ユーザは、関節i,jの相対位置がその関節タイプti,tjに適合していれば値が大きくなる関数(関節相対位置スコア関数)を定義し、関節相対位置スコア算出部151は、定義された関節相対位置スコア関数から2次元の関節タイプそれぞれの各関節の2次元平面の各領域における相対位置スコアψRGBを算出する。
関節相対位置スコア関数ψは、ψ(xi,yi,xj,yj,ti,tj)=ftitj(Δx,Δy)である。xi,yiは、関節iの座標であり、tiは関節iの2次元の関節タイプである。xj,yjは、関節jの座標であり、tは関節jの2次元の関節タイプである。ΔxとΔyは関節i,jの座標の差分であり、Δx=xi-xj,Δy=yi-yjである。
図14の下側は、関節相対位置スコア関数ftitj(Δx,Δy)を示し、関節相対位置スコア関数ftitj(Δx,Δy)において最大となるΔx,Δyは、ti,tにより決まる。
図15は、3次元の関節タイプを説明する図である。
以上の説明では、関節タイプは2次元における関節i,jの位置関係に基づいて決定され、関節認識部131や関節位置相対スコア算出部151で用いられているが、以下の説明では、x-y平面での位置関係に加え、z方向の深度を用いたタイプわけを行う。
x-y平面における関節の見え方(位置関係)だけでなく、y-z平面における関節の見え方も用いてタイプわけを行う。3次元の関節タイプは、関節認識部141や関節位置相対スコア算出部161で用いられる。
図16は、3次元の関節タイプのパターンを示す図である。
3次元の関節タイプは、ある関節iと関節iに隣り合う関節jの画像上の相対位置(xij,yij,zij)によって、関節iの写り方をT’個のタイプに分けたものである。
関節iの座標を(xi,yi,zi)、関節jの座標を(xj,yj,zj)とすると、相対位置(xij,yij,zij)は、(xij,yij,zij)=(xi-xj,yi-yj,zi-zj)である。
タイプ数T’およびタイプの分け方(パターン)は、ユーザが決定する。例えば、T’=8の場合、図16に示すパターンのようなタイプ分けが用いられる。
例えば、xijとyijとzijがすべて正であれば、関節iのタイプはタイプ1となる。
図17は、各関節の各関節タイプの推定値を示す関節位置確率分布φDepthを示す図である。
関節認識部141は、カラー画像201の代わりに深度画像211を用いて、関節認識部131と同様にテンプレートマッチングやDCNNを用いて、推定値を算出し、関節位置確率分布φDepthを生成する。
また、関節認識部141は、図16に示すような3次元の関節タイプを用いる。
関節認識部141において、テンプレートマッチングを行う場合、ユーザは、1つの関節につき、3次元の関節タイプの数T’だけテンプレートを用意する。ある関節のある関節タイプのテンプレートは、3次元の当該関節タイプに対応した当該関節を示す画像である。
関節認識部141は、入力画像(深度画像211)を横M画素、縦M画素の複数の画像(ブロック)に分割する。関節認識部141は、分割したブロックを1枚ずつテンプレートマッチングを用いて処理する。
関節認識部141は、記憶部(不図示)に記憶された各関節の各タイプに対する複数のテンプレートを読み出し、入力されたブロックと複数のテンプレートを用いて、テンプレートマッチングを行い、当該ブロックの各関節および各タイプに対する推定値を算出する。算出された推定値は、関節位置確率分布φDepthに相当する。
関節認識部141において、DCNNを用いる場合、関節認識部141は、DCNNを構築する。ユーザは、各関節と3次元の各関節タイプに対応する訓練データと教師データtnmを用意し、関節認識部131は、訓練データと教師データtnmとDCNNから出力される推定値znmを用いて学習を行い、DCNNを重みw更新する。n=1〜J(Jは関節の数)、m=1〜T’(T’は3次元の関節タイプの数)である。学習した重みwは、記憶部(不図示)に記憶され、関節認識部131は、入力画像をDCNNを用いて処理するときに読み出して用いる。
関節認識部141は、入力画像を分割したブロックを2次元配列としてDCNNに入力し、DCNNは出力として、当該ブロックが各関節の各タイプである確率znmを出力する。
関節認識部141は、入力画像(深度画像211)を横M画素、縦M画素の複数の画像(ブロック)に分割する。関節認識部141は、分割したブロックを1枚ずつDCNNを用いて処理する。尚、DCNNの重みwの学習は終了しているものとする。
関節認識部141は、記憶部(不図示)に記憶された重みwを読み出し、入力されたブロックと重みwを用いて、DCNNにより、当該ブロックの各関節および各タイプに対する推定値を算出する。算出された推定値は、関節位置確率分布φDepthに相当する。例えば、あるブロックが入力されると、当該ブロックに対する各関節のタイプごとの推定値が得られる。あるブロックが入力され、関節=頭とタイプT’=1に対する推定値として0.6が得られたとすると、当該ブロックにタイプT=1の頭が存在する確率が0.6であることを示す。以下、同様に他のブロックに対しても、推定値が算出される。
次に関節相対位置スコア算出部161が算出する関節相対位置スコアψDepthについて説明する。
図18は、3次元に適合する関節相対位置スコア関数を示す図である。
ユーザは、関節i,jの相対位置がその関節タイプti,tjに適合していれば値が大きくなる関数(関節相対位置スコア関数)を定義し、関節相対位置スコア算出部151は、定義された関節相対位置スコア関数から3次元の関節タイプそれぞれの2次元平面の各領域における相対位置スコアψDepthを算出する。
関節相対位置スコア関数ψDepthは、ψDepth(xi,yi,zi,xj,yj,zj,ti,tj)=ftitj(Δx,Δy,Δz)である。xi,yi,ziは、関節iの座標であり、tiは関節iの3次元の関節タイプである。xj,yj,zjは、関節jの座標であり、tは関節jの3次元の関節タイプである。ΔxとΔyとΔzは関節i,jの座標の差分であり、Δx=xi-xj,Δy=yi-yj,Δz=zi-zjである。
図18の下側は、関節相対位置スコア関数ftitj(Δx,Δy,Δz)を示し、関節相対位置スコア関数ftitj(Δx,Δy,Δz)において最大となるΔx,Δy,Δzは、ti,tにより決まる。
図19は、最大確率位置特定部の処理を説明する図である。
最大確率位置特定部171には、関節相対位置スコアψRGB、関節位置確率分布φRGB、関節相対位置スコアψDepth、および関節位置確率分布φDepthが入力される。最大確率位置特定部171は、関節相対位置スコアψRGB、関節位置確率分布φRGB、関節相対位置スコアψDepth、および関節位置確率分布φDepthを合計した、下式(1)のようなスコア関数Fを計算する。
Figure 0006708260
スコア関数Fは、関節位置確率分布から任意の関節タイプと座標を選択したときに本来の関節がある確からしさを計算する関数である。φRGBDepthRGBDepthで、xi,xj,yi,yjは共通である。ti RGBとti Depthは独立である。i∈jointsのiは関節を示し、i,j∈partは隣り合う関節の組み合わせを示す。
最大確率位置特定部171は、例えば、max-sum法、Expectation Maximization(EM)法、モンテカルロ法、またはGenetic Algorithm(GA)を用いて、スコア関数F(x,y,z,t)が最大となる位置を特定する。最大確率位置特定部171は、推定結果として、特定された各関節の位置座標と関節タイプを出力する。
次に最大確率位置の特定にmax-sum法を用いた場合の姿勢推定処理について説明する。
図20は、実施の形態に係るmax-sum法を用いた姿勢推定処理のフローチャートである。
図21は、実施の形態に係るmax-sum法を用いた姿勢推定処理を説明する図である。
ステップS501において、カメラ111は撮影を行ってカラー画像201を出力し、関節認識部131はカラー画像201を入力する。また、カメラ121は撮影を行って深度画像211を出力し、関節認識部141は深度画像211を入力する。
ステップS502において、関節認識部131は、カラー画像201を分割し、分割された各ブロックの各関節の2次元の各関節タイプの推定値を算出し、関節確率分布φRGBを作成し、最大確率位置特定部171に出力する。
ステップS503において、最大確率位置特定部171は、2次元の各関節タイプそれぞれの各関節の各座標(ブロック)の関節相対位置スコアψRGBを対応する関節確率分布φRGBに加算し、スコア分布SRGBを作成する。関節相対位置スコアψRGBは、関節相対位置スコア算出部151により予め算出されていても良いし、ステップS503において算出されてもよい。
ステップS504において、最大確率位置特定部171は、SRGBの各関節の各座標ごとに関節タイプ間の最大値を抜き出しSRGB_maxを作成する。このとき、SRGB_maxを作成するときにどの関節タイプから抜き出したかを記憶しておく。
ステップS505において、関節認識部141は、関節認識部141は、深度画像211を分割し、分割された各ブロックの各関節の各タイプの推定値を算出し、関節確率分布φDepthを作成し、最大確率位置特定部171に出力する。
ステップS506において、最大確率位置特定部171は、3次元の関節タイプそれぞれの各関節の各座標の関節相対位置スコアψDepthを対応する関節確率分布φDepthに加算し、スコア分布SDepthを作成する。関節相対位置スコアψDepthは、関節相対位置スコア算出部161により予め算出されていても良いし、ステップS506において算出されてもよい。
ステップS507において、最大確率位置特定部171は、スコア分布SDepthの各関節の座標ごとにタイプ間の最大値を抜き出し、スコア分布SDepth_maxを作成する。このとき、スコア分布SDepth_maxを作成するときにどの関節タイプから抜き出したかを記憶しておく。
ステップS508において、最大確率位置特定部171は、SRGB_max とSDepth_maxを加算し、スコア分布Sを作成する。
ステップS509において、最大確率位置特定部171は、スコア分布Sの最大となる各関節の座標を探索する。最大確率位置特定部171は、各関節において、推定値が最大である座標を見つける。
ステップS510において、最大確率位置特定部171は、各関節において、探索結果となる座標とその座標に対応する3次元の関節タイプを出力する。また、3次元の関節タイプそれぞれ対応したx−y平面とy−z平面におけるそれぞれの関節の角度を記憶部(不図示)に記憶しておき、最大確率位置特定部171は、探索結果となる関節座標に対応する関節タイプに対応する角度(関節に繋がっている部位の姿勢)を推定結果として出力してもよい。
図22は、推定された関節タイプと関節に接続する部位の角度を示す図である。
例えば、姿勢推定方法により、右肘の関節タイプとしてt’=10が出力されたとする。上述のように関節タイプは、関節iと関節iと隣り合う関節jとの位置関係によりタイプ分けされている。よって、関節iの関節タイプが分かれば関節iと関節iと隣り合う関節jとの位置関係も分かり、関節iと関節jとをつなぐ部位の角度(姿勢)も分かる。したがって、例えば、右肘の関節タイプt’が推定されば、右肘と上腕を介して繋がる右肩との位置関係も分かるため、上腕の角度(姿勢)も分かる。また、右手の関節タイプが分かれば、右手と下腕を介して繋がる右肘との位置関係も分かるため、下腕の角度(姿勢)も分かり、上腕と下腕が成す角度(肘の角度)も分かる。
実施の形態に係る姿勢推定装置によれば、関節の位置と当該関節に繋がっている部位の姿勢を推定することができる。
図23は、情報処理装置(コンピュータ)の構成図である。
実施の形態の姿勢推定装置101は、例えば、図23に示すような情報処理装置(コンピュータ)701によって実現可能である。
情報処理装置701は、CPU702、メモリ703、入力装置704、出力装置705、記憶部706、記録媒体駆動部707、及びネットワーク接続装置708を備え、それらはバス709により互いに接続されている。
CPU702は、情報処理装置1全体を制御する中央処理装置である。CPU702は、関節認識部131,141、関節相対位置スコア算出部151,161、および最大確率位置特定部171として動作する。
メモリ703は、プログラム実行の際に、記憶部706(あるいは可搬記録媒体710)に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ROM)やRandom Access Memory(RAM)等のメモリである。CPU702は、メモリ3を利用してプログラムを実行することにより、上述した各種処理を実行する。
この場合、可搬記録媒体710等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
入力装置704は、ユーザ又はオペレータからの指示や情報の入力、情報処理装置701で用いられるデータの取得等に用いられる。入力装置704は、例えば、キーボード、マウス、タッチパネル、カメラ、またはセンサ等である。入力装置704は、カメラ111および深度カメラ121に相当する。
出力装置705は、ユーザ又はオペレータへの問い合わせや処理結果を出力したり、CPU702による制御により動作する装置である。出力装置705は、例えば、ディスプレイ、またはプリンタ等である。
記憶部706は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置701は、記憶部706に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ703に読み出して使用する。
記録媒体駆動部707は、可搬記録媒体710を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(CD−ROM)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体710に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ703に読み出して使用する。
ネットワーク接続装置708は、Local Area Network(LAN)やWide Area Network(WAN)等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置708は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。

Claims (5)

  1. カラー画像に基づいて、2次元平面における第1の関節の第1の位置を推定するとともに、前記第1の関節と、部位を介して前記第1の関節に繋がっている第2の関節との前記2次元平面における第1の位置関係を推定する第1の推定部と、
    前記第1の関節と前記第2の関節とのそれぞれの深度を示す深度画像に基づいて、前記2次元平面における前記第1の関節の第2の位置を推定するとともに、前記第1の関節と前記第2の関節との3次元空間における第2の位置関係を推定する第2の推定部と、
    前記第1の推定部により推定された前記第1の位置と前記第1の位置関係、および前記第2の推定部により推定された前記第2の位置と前記第2の位置関係に基づいて、前記2次元平面における前記第1の関節の第3の位置と、前記3次元空間における前記部位の姿勢とを推定する第3の推定部と、
    を備える情報処理装置。
  2. 前記第1の関節に対する3次元空間における第1の関節と第2の関節との複数の位置関係に対応する複数のテンプレート情報を記憶する記憶部をさらに備え、
    前記第2の推定部は、前記深度画像と前記複数のテンプレート情報とを用いてテンプレートマッチングを行うことにより前記第2の位置関係を推定することを特徴とする請求項1記載の情報処理装置。
  3. 前記第2の推定部は、前記第1の関節に対する3次元における前記第1の関節と前記第2の関節との複数の位置関係を示す情報をニューラルネットワークに学習させ、学習させた前記ニューラルネットワークに前記深度画像を入力することにより前記第2の位置関係を推定することを特徴とする請求項1記載の情報処理装置。
  4. 情報処理装置が
    カラー画像に基づいて、2次元平面における第1の関節の第1の位置を推定するとともに、前記第1の関節と、部位を介して前記第1の関節に繋がっている第2の関節との前記2次元平面における第1の位置関係を推定し、
    前記第1の関節と前記第2の関節とのそれぞれの深度を示す深度画像に基づいて、前記2次元平面における前記第1の関節の第2の位置を推定するとともに、前記第1の関節と前記第2の関節との3次元空間における第2の位置関係を推定し、
    前記第1の位置と前記第1の位置関係、および前記第2の位置と前記第2の位置関係に基づいて、前記2次元平面における前記第1の関節の第3の位置と、前記3次元空間における前記部位の姿勢とを推定する
    処理を備える情報処理方法。
  5. コンピュータに
    カラー画像に基づいて、2次元平面における第1の関節の第1の位置を推定するとともに、前記第1の関節と、部位を介して前記第1の関節に繋がっている第2の関節との前記2次元平面における第1の位置関係を推定し、
    前記第1の関節と前記第2の関節とのそれぞれの深度を示す深度画像に基づいて、前記2次元平面における前記第1の関節の第2の位置を推定するとともに、前記第1の関節と前記第2の関節との3次元空間における第2の位置関係を推定し、
    前記第1の位置と前記第1の位置関係、および前記第2の位置と前記第2の位置関係に基づいて、前記2次元平面における前記第1の関節の第3の位置と、前記3次元空間における前記部位の姿勢とを推定する
    処理を実行させるプログラム。
JP2018550015A 2016-11-14 2016-11-14 情報処理装置、情報処理方法、およびプログラム Active JP6708260B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/083728 WO2018087933A1 (ja) 2016-11-14 2016-11-14 情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2018087933A1 JPWO2018087933A1 (ja) 2019-06-24
JP6708260B2 true JP6708260B2 (ja) 2020-06-10

Family

ID=62109635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018550015A Active JP6708260B2 (ja) 2016-11-14 2016-11-14 情報処理装置、情報処理方法、およびプログラム

Country Status (3)

Country Link
US (1) US10839526B2 (ja)
JP (1) JP6708260B2 (ja)
WO (1) WO2018087933A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6923789B2 (ja) * 2017-07-05 2021-08-25 富士通株式会社 情報処理プログラム、情報処理装置、情報処理方法、及び情報処理システム
CN110909580B (zh) 2018-09-18 2022-06-10 北京市商汤科技开发有限公司 数据处理方法及装置、电子设备及存储介质
JP6560421B1 (ja) * 2018-09-19 2019-08-14 株式会社トライフォート 情報処理システム、情報処理方法及び情報処理プログラム
WO2020241100A1 (ja) * 2019-05-30 2020-12-03 コニカミノルタ株式会社 3次元姿勢推定方法、プログラム、記録媒体および3次元姿勢推定装置
CA3046612A1 (en) 2019-06-14 2020-12-14 Wrnch Inc. Method and system for monocular depth estimation of persons
JP7367764B2 (ja) * 2019-09-12 2023-10-24 富士通株式会社 骨格認識方法、骨格認識プログラムおよび情報処理装置
US11361467B2 (en) * 2019-11-22 2022-06-14 Adobe Inc. Pose selection and animation of characters using video data and training techniques
US11282257B2 (en) 2019-11-22 2022-03-22 Adobe Inc. Pose selection and animation of characters using video data and training techniques
CN112101802B (zh) * 2020-09-21 2022-01-11 广东电网有限责任公司电力科学研究院 姿态负荷数据的评价方法、装置、电子设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000251078A (ja) * 1998-12-22 2000-09-14 Atr Media Integration & Communications Res Lab 人物の3次元姿勢推定方法および装置ならびに人物の肘の位置推定方法および装置
US7869646B2 (en) * 2005-12-01 2011-01-11 Electronics And Telecommunications Research Institute Method for estimating three-dimensional position of human joint using sphere projecting technique
JP4148281B2 (ja) * 2006-06-19 2008-09-10 ソニー株式会社 モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム
JP4765075B2 (ja) 2006-09-04 2011-09-07 国立大学法人九州工業大学 ステレオ画像を利用した物体の位置および姿勢認識システムならびに物体の位置および姿勢認識方法を実行するプログラム
EP2383696A1 (en) 2010-04-30 2011-11-02 LiberoVision AG Method for estimating a pose of an articulated object model
US8437506B2 (en) * 2010-09-07 2013-05-07 Microsoft Corporation System for fast, probabilistic skeletal tracking
JP5820366B2 (ja) * 2010-10-08 2015-11-24 パナソニック株式会社 姿勢推定装置及び姿勢推定方法
AU2011203028B1 (en) 2011-06-22 2012-03-08 Microsoft Technology Licensing, Llc Fully automatic dynamic articulated model calibration
US9058663B2 (en) * 2012-04-11 2015-06-16 Disney Enterprises, Inc. Modeling human-human interactions for monocular 3D pose estimation
JP2015061577A (ja) * 2013-01-18 2015-04-02 株式会社東芝 動作情報処理装置
JP6433149B2 (ja) * 2013-07-30 2018-12-05 キヤノン株式会社 姿勢推定装置、姿勢推定方法およびプログラム
US10019629B2 (en) * 2016-05-31 2018-07-10 Microsoft Technology Licensing, Llc Skeleton-based action detection using recurrent neural network
US9870622B1 (en) * 2016-07-18 2018-01-16 Dyaco International, Inc. Systems and methods for analyzing a motion based on images
US10372228B2 (en) * 2016-07-20 2019-08-06 Usens, Inc. Method and system for 3D hand skeleton tracking

Also Published As

Publication number Publication date
US20190266734A1 (en) 2019-08-29
US10839526B2 (en) 2020-11-17
WO2018087933A1 (ja) 2018-05-17
JPWO2018087933A1 (ja) 2019-06-24

Similar Documents

Publication Publication Date Title
JP6708260B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US10189162B2 (en) Model generation apparatus, information processing apparatus, model generation method, and information processing method
US9159134B2 (en) Method and apparatus for estimating a pose
JP6760490B2 (ja) 認識装置、認識方法および認識プログラム
JP4894741B2 (ja) 情報処理装置および情報処理方法、プログラム、並びに記録媒体
JP4479194B2 (ja) 動作識別装置、及び対象物の姿勢識別装置
US11676362B2 (en) Training system and analysis system
JP2019096113A (ja) キーポイントデータに関する加工装置、方法及びプログラム
WO2005088244A1 (ja) 平面検出装置、平面検出方法、及び平面検出装置を搭載したロボット装置
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
JP6487642B2 (ja) 手指形状の検出方法、そのプログラム、そのプログラムの記憶媒体、及び、手指の形状を検出するシステム。
JP7480001B2 (ja) 学習装置、処理装置、学習方法、姿勢検出モデル、プログラム、及び記憶媒体
JP2007066094A (ja) 姿勢推定装置および姿勢推定方法
JP4765075B2 (ja) ステレオ画像を利用した物体の位置および姿勢認識システムならびに物体の位置および姿勢認識方法を実行するプログラム
JP6020439B2 (ja) 画像処理装置、撮像装置、および画像処理プログラム
JP2018147313A (ja) オブジェクト姿勢推定方法、プログラムおよび装置
JP2009003813A (ja) 手指形状推定装置及び手指形状推定方法、並びにプログラム
JP2015219868A (ja) 情報処理装置、情報処理方法、プログラム
JP5503510B2 (ja) 姿勢推定装置および姿勢推定プログラム
JP2009288917A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2019012497A (ja) 部位認識方法、装置、プログラム、及び撮像制御システム
CN115620016B (zh) 一种骨架检测模型的构建方法、图像数据识别方法
JP2018180894A (ja) 情報処理装置、情報処理方法及びプログラム
Usabiaga et al. Global hand pose estimation by multiple camera ellipse tracking
JP2020140283A (ja) 情報処理装置、情報処理方法、および、コンピュータプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190313

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200131

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200131

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200504

R150 Certificate of patent or registration of utility model

Ref document number: 6708260

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150