(58)【調査した分野】(Int.Cl.,DB名)
前記ターゲットが人体骨格である場合、前記基準点の第1の3D特徴は、前記キーポイントにおける2つの股関節キーポイントの第2の3D特徴に基づいて決定されるものであることを特徴とする
請求項5に記載の方法。
前記第4の2D座標及び前記第4の2D座標に対応する深度値を正規化処理し、正規化された前記第4の2D座標及び正規化された前記第4の2D座標に対応する深度値を得ることは、
第4の2D座標及び前記第4の2D座標に対応する深度値に基づいて、前記キーポイントの座標平均値及び分散を得ることと、
前記座標平均値、分散、前記第4の2D座標及び前記第4の2D座標に対応する深度値に基づいて、正規化された第4の2D座標を得ることを含むことを特徴とする
請求項7に記載の方法。
前記第2変換モジュールは、前記キーポイントの第2の3D特徴を移動し、前記キーポイントにおける基準点の3D特徴を前記光心位置に水平移動させ、各前記キーポイントの第3の3D特徴を得て、前記第3の3D特徴を2Dイメージング平面に投影し、前記第1の2D座標を得るように構成されることを特徴とする
請求項13に記載の装置。
前記ターゲットが人体骨格である場合、前記基準点の第1の3D特徴は、前記キーポイントにおける2つの股関節キーポイントの第2の3D特徴に基づいて決定されるものであることを特徴とする
請求項14に記載の装置。
前記第1取得モジュールは、前記キーポイントの第2の2D座標に対応する深度値から前記基準点の深度値を減算し、第4の2D座標及び前記第4の2D座標に対応する深度値を得て、前記第4の2D座標及び前記第4の2D座標に対応する深度値を正規化処理し、正規化された前記第4の2D座標及び正規化された前記第4の2D座標に対応する深度値を得て、深層学習モジュールを利用して、正規化された前記第4の2D座標及び正規化された前記第4の2D座標に対応する深度値を処理し、前記ターゲットの3D姿勢を得るように構成されることを特徴とする
請求項14に記載の装置。
前記第1取得モジュールは、第4の2D座標及び前記第4の2D座標に対応する深度値に基づいて、前記キーポイントの座標平均値及び分散を得て、前記座標平均値、分散、前記第4の2D座標及び前記第4の2D座標に対応する深度値に基づいて、正規化された第4の2D座標を得るように構成されることを特徴とする
請求項15に記載の装置。
コンピュータ記憶媒体であって、前記コンピュータ記憶媒体にはコンピュータによる実行可能なコードが記憶されており、前記コンピュータによる実行可能なコードがコンピュータによって実行されると、請求項1から9のいずれか一項に記載の方法を実現させる、コンピュータ記憶媒体。
【発明を実施するための形態】
【0012】
以下、明細書の図面及び具体的な実施例を参照しながら、本出願の技術的解決手段を更に詳しく説明する。
【0013】
図1Aに示すように、本実施例は、データ処理方法を提供する。該方法は以下を含む。
【0014】
ステップS110:参照深度値及び画像におけるターゲットのキーポイントの実際深度値に基づいて、前記キーポイントの第1の2D座標を第2の2D座標に変換し、前記第2の2D座標と前記参照深度値が前記キーポイントの第1の3D特徴を構成する。
【0015】
ステップS120:前記第1の3D特徴に基づいて、前記ターゲットの3D姿勢を取得する。
【0016】
本出願において、データ処理方法を提供する。該データ処理法保は、一台又は複数台の電子機器に適用される。前記電子機器は、プロセッサを備えてもよい。該プロセッサは、コンピュータプログラムなどの実行可能な命令を実行することで、データ処理方法における1つ又は複数の工程を実現させることができる。幾つかの実施例において、単一型電子機器により、集中型データ処理を行うことができる。また、複数台の電子機器により分散型データ処理を行うこともできる。
【0017】
前記画像は、三次元画像であってもよい。前記三次元画像は、2D画像及び深度画像を含む。前記2D画像は、RGB画像又はYUV画像などであってもよい。前記深度画像は、深度採集モジュールにより採集された深度情報であってもよい。前記深度情報の画素値は、深度値である。前記深度値は、画像採集モジュールとターゲットとの距離であってもよい。ここで、本出願の実施例に記載の実際深度は、深度画像からのものである。
【0018】
第1の2D座標から第2の2D座標へ変換することで、ターゲットの実際深度値を参照深度値に変換した後の、カメラ座標系におけるターゲットのキーポイント的2D座標を得る。
【0019】
ステップS110の実行によって、深層学習モジュールにターゲットの3D姿勢を正確に抽出させるための第1の3D特徴を得ることに相当する。深層学習モジュールに前記第1の3D特徴を入力し、深度学習モデルは、ターゲットの3D姿勢を自動的に出力することができる。前記3D姿勢は、三次元空間座標系内に位置する第1の3D特徴同士間の相対的位置を表すために用いられることができる。
【0020】
ここで、前記第1の3D特徴は、画像座標系における座標及び参照深度値を含んでもよい。
【0021】
例えば、前記キーポイントに基づいて、ターゲットの基準点の2D座標を得る。前記3D姿勢は、三次元空間における姿勢、姿態を表すための情報であってもよい。具体的には、前記3D姿勢は、各キーポイントと前記基準点との相対的位置で表されてもよい。3D空間において、前記基準点の3D座標が(0,0,0)であり、ターゲットが人体であると仮定すると、人体の骨格を表す複数のキーポイントの、(0,0,0)に対する相対的位置又は相対的座標で表されてもよい。
【0022】
前記基準点は、人体の股関節両端の間の中心点であってもよい。例えば、前記キーポイントは、頭、頸、肘、手首、股関節、膝及び足首を表すための座標点であってもよい。このように、基準点に対するこれらのキーポイントの相対的位置に基づいて、現在の人体の前、後、左、右への水平移動距離を知ることができる。また、顔のキーポイントと基準点との相対的位置に基づいて、顔の向きを知ることもできる。従って、人体の頭部の回転量及び/又は回転方向などの回転パラメータを知ることができる。胴体のキーポイントと基準点との相対的位置に基づいて、胴体の回転量及び/又は回転方向などの回転パラメータを知ることができる。前記顔のキーポイントは、鼻に位置する1つの点であってもよく、例えば、鼻先の座標点であってもよい。前記胴体のキーポイントは、胸部の中心点座標であってもよい。勿論、上記はキーポイントの例に過ぎず、具体的な実現形態はこれに限定されない。
【0023】
更に、前記ターゲットが人体である場合、ステップS110において、N個のキーポイントの座標に基づいて、N+M個の第2の2D座標を得ることができる。ここで、追加されたM個の第2の2D座標は、N個のキーポイントの第1の2D座標に基づいて生成されたものであってもよい。例えば、前記Mが1であってもよい。追加された1つの第2の2D座標は、人体の基準点の2D座標に対応し得る。前記Nは、14であってもよい。
【0024】
ステップS120において、N+1個のキーポイントの第2の2D座標及び参照深度値を深層学習モジュールに入力し、N+S個のキーポイントの三次元(3D)座標を得て、前記3D姿勢として出力することができる。ここで、N+S個のキーポイントのうちのN個のキーポイントは、第1の2D座標のN個のキーポイントに一対一に対応する。S個のキーポイントは、N個のキーポイントに基づいて生成されたものである。
【0025】
例えば、人体を例として、N個の第1の2D座標は、14個のキーポイントであってもよい。Sは3であってもよい。従って、最終に、17個のキーポイントの第1の3D特徴を得る。幾つかの実施例において、17個のキーポイントのうちの1つは、基準点である。該基準点は、人体の股関節の2つの端点(2つのキーポイントに対応する)の中心点であってもよい。別の2つのキーポイントは、顔の鼻先座標及び胸部の中心点座標であってもよい。勿論、ここで、単なる例であり、具体的な実現形態はこれに限定されない。
【0026】
図6Aは、
図3に示した14個のキーポイントに対してキーポイント0が追加されたことを示す概略図である。
図6Bは、
図3に示した14個のキーポイントに基づいて生成された17個のキーポイントを示す概略図である。
図6Bにおける17個のキーポイントは、
図3に示したキーポイントに対して、キーポイント0、キーポイント15及びキーポイント16が追加された。ここで、キーポイント16の2D座標は、キーポイント1及びキーポイント2の2D座標に基づいて決定される。キーポイント15の2D座標は、キーポイント2の2D座標及びキーポイント0の2D座標に基づいて決定される。キーポイント0は、本出願の実施例で提供される基準点であってもよい。
【0027】
本出願の実施例において、ニューラルネットワークなどの深層学習モジュールトレーニングを行う過程において、異なる実際深度値を有するターゲットの3D姿勢を直接的に検出できるようにするために、異なる実際深度値を有するトレーニングサンプルを利用してニューラルネットワークをトレーニングする必要がある。このようにすれば、トレーニングに必要なトレーニングサンプルが多く、トレーニングサンプルが多いため、ニューラルネットワークなどの深層学習モジュールの収束速度が遅くなり、トレーニング周期が長くなる。本実施例における方法を利用する場合、ニューラルネットワークなどの深層学習モジュールは、深度値が同じであるトレーニングサンプルのみを利用してトレーニングを行うことができ、従って、トレーニングサンプルのデータ量が小さい。ニューラルネットワークなどの深層学習モジュールの収束速度が速く、トレーニング周期が短いため、ニューラルネットワークなどの深層学習モジュールを簡略化することができる。
【0028】
また、単一の深度値(即ち、参照深度値)を利用する場合、ニューラルネットワークなどの深層学習モジュールは、異なる深度値を使用するために、単一の深度値に対応する3D座標の3D姿勢の抽出精度を犠牲にすることなく、3D姿勢抽出の精度が高いという特徴を有する。
【0029】
幾つかの実施例において、前記ステップS110は、前記実際深度値と前記参照深度値との比、及び前記第1の2D座標に基づいて、前記第2の2D座標を得ることを含んでもよい。
【0030】
更に、例えば、前記ステップS110は、下記関数関係を利用して前記第2の2D座標を決定することを含んでもよく、
X2=(X1*d)/D、
Y2=(Y1*d)/D、
ただし、X2は、前記第2の2D座標の第1方向における座標値であり、X1は、前記第1の2D座標の前記第1方向における座標値であり、
Y2は、第2の2D座標の第2方向における座標値であり、Y1は、前記第1の2D座標の前記第2方向における座標値であり、前記第2方向は、前記第1方向に垂直しており、
dは、前記実際深度値であり、Dは、前記参照深度値である。
【0031】
前記Dは、空間距離であってもよく、単位は、ミリメートル、センチメートル又はデシメートル等であってもよい。
【0032】
図2に示すように、ofは、画像採集の焦点距離(fと略称される)であり、カメラのパラメータを確認することによって取得できるものであり、三角関数変換により第2の2D座標及び参照深度値を得ることができる。第2の2D座標及び参照深度値は、前記第1の3D特徴を構成する。標準深度値の第1の3D特徴を深層学習モジュールに入力して、ターゲットの3D姿勢を正確に抽出することを実現させることができる。従って、幾つかの実施例において、odで表される距離は、前記実際深度値であり、dと略称される。oDで表される距離は、参照深度値である。三角関数関係とは、y0/y1=f/d、y2/y1=f/D、y0で表される第1の2D座標、y2で表される第2の2D座標を指してもよい。従って、y2=(d*y0)/Dである。
【0033】
本実施例において、採集された画像における画像キーポイントの2D座標ついて、本実施例において実際に採集して得られる画像の2D座標は、第3の2D座標と呼ばれる。
図1Bに示すように、前記方法は、以下を更に含む。
【0034】
ステップS100:前記キーポイントの第2の3D特徴及び前記画像に対応する光心位置に基づいて、前記第1の2D座標を得る。
【0035】
前記キーポイントは実際に採集された2D画像におけるターゲット人体のキーポイントである。例えば、人体骨格におけるキーポイントである。
【0036】
前記キーポイントの数は複数であってもよい。例えば、ターゲットが人体であれば、前記キーポイントは、14個の2Dキーポイントを含んでもよい。ここで、2D画像深層学習モジュールを利用して、2D画像を処理することで、前記第3の2D座標を取得することができる。
【0037】
図3には、人体骨各のキーポイントの2D座標が示される。
図3において、14個の黒丸印で14個のキーポイントを表す。
【0038】
幾つかの実施例において、深層学習モジュールを利用して、前記2D画像を処理することで、前記第3の2D座標を取得することができる。該第3の2D座標及び深度画像から抽出された実際深度値は、第2の3D特徴を構成することができる。
【0039】
深層学習モジュールを利用してターゲットの第1の3D特徴に基づいてターゲットの3D姿勢を推定する時、現在のターゲットは、画像採集モジュールと近い場合があるし、遠い場合もある。深層学習モジュールをトレーニングする時に、それまで対応するトレーニングサンプルが足りない場合、ターゲットの3D姿勢を正確に推定することができない。深層学習モジュールは、可能な限り、異なる遠近の3D画像におけるターゲットの3D姿勢を正確に抽出する必要があるため、より多くのトレーニングサンプルを導入して深層学習モジュールを処理する必要がある。従って、深層学習モジュールのトレーニング難度が大きく、且つトレーニング周期が長い。前記深層学習モジュールは、様々なニューラルネットワークであってもよく、例えば、完全結合ネットワーク及び残差ネットワークの残差モジュール等の3D姿勢識別機能を有するネットワークを含んでもよい。従って、本実施例において、ターゲットの3D姿勢の精度を向上させるために、ターゲットのキーポイントの第1の3D特徴における深度値を参照深度値に変換する。
【0040】
前記キーポイントの的第1の3D特徴における深度値を参照深度値に変換するために、まず、第3の2D座標を第1の2D座標に変換し、変換された2D座標を前記画像の光軸に位置させる必要がある。
【0041】
図4は2D画像であり、撮像された人物は、元々、写真の非中央位置に位置する。光心位置の座標の水平移動により、
図4における実線で表される人物を第3の2D座標の所在位置から、点線で表される第1の2D座標の所在位置に移動することができる。キーポイントにおける基準点をカメラ平面で水平移動することにより、基準点をカメラ平面の光軸に移動させる。深層学習モジュールに第3の2D座標を直接的に入力するという形態に比べて、干渉を低減させ、3D姿勢の精度を向上させると共に、3D姿勢を抽出する深層学習モジュールのトレーニングに必要なデータ及び/又は時間を減少させ、深層学習モジュールのトレーニングを簡略化してトレーニングの速度を向上させることができる。
【0042】
第3の2D座標から第1の2D座標への変換形態は複数あり、以下、1つの任意選択的な形態を提供する。
【0043】
図5に示すように、前記ステップS100は、以下を含んでもよい。
【0044】
ステップS101:前記キーポイントの第2の3D特徴を移動し、前記キーポイントにおける基準点の3D特徴を前記光心位置に水平移動させ、各前記キーポイントの第3の3D特徴を得る。
【0045】
ステップS102:前記第3の3D特徴を2Dイメージング平面に投影し、前記第1の2D座標を得る。
【0046】
本実施例において、3D画像におけるキーポイントの第2の3D特徴に、基準点の第2の3D特徴が含まれない場合、他のキーポイントの第3の2D座標に基づいて、基準点の2D座標を得ることができ、そして基準点の2D座標に基づいて、深度画像から、基準点に対応する位置の実際深度値を得ることができる。これにより、基準点の第2の3D特徴を得る。続いて、ステップ100において、全てのキーポイントを全体的に移動する。移動過程において、基準点の第1の3D特徴を光心位置に移動させる。例えば、光心位置(0,0,0)に移動させる。基準点の第2の3D特徴が光心位置に移動する移動ベクトルに基づいて、他のキーポイントの第2の3D特徴の、基準点と同様な移動ベクトルを利用して移動した後の第3の3D特徴を解くことができる。
【0047】
全てのキーポイントの第3の3D特徴を得てから、第3の3D特徴を2Dイメージング平面に投影すれば、前記第1の2D座標を得る。
【0048】
第2の3D座標の移動により、ターゲットの基準点を画像のカメラ座標系の光軸に移動させる。ニューラルネットワークなどの深層学習モジュールが光軸上のターゲットの3D姿勢を抽出する精度は比較的に高いため、ターゲットの基準点が光軸以外の位置にあることによって誤差を引き起こすという現象を減少させ、3D姿勢の精度を向上させる。幾つかの実施例において、前記ターゲットが人体骨格である場合、前記基準点の第1の3D特徴は、前記キーポイントにおける2つの股関節キーポイントの第2の3D特徴に基づいて決定される。
【0049】
図6Bに示したキーポイント9及びキーポイント10の第3の2D座標によれば、該2つのキーポイントの基準点の2D座標を算出することができる。該座標は、前記基準点の2D座標である。
【0050】
幾つかの実施例において、前記基準点の2D座標は、ルートノードの2D座標と呼ばれてもよい。
【0051】
幾つかの実施例において、前記基準点は、ターゲットの基準点又は中央に近接する点であってもよい。本実施例において、人体の場合、2つの股関節キーポイントの基準点を基準点とする2D座標は、人体の具体的な構造に適合する。
【0052】
幾つかの実施例において、前記方法において、前記第1の3D特徴に基づいて、前記ターゲットの3D姿勢を取得することは、前記キーポイントの第2の2D座標に対応する深度値から前記基準点の深度値を減算し、第4の2D座標及び前記第4の2D座標に対応する深度値を得ることと、
前記第4の2D座標及び前記第4の2D座標に対応する深度値を正規化処理し、正規化された前記第4の2D座標及び正規化された前記第4の2D座標に対応する深度値を得ることと、
深層学習モジュールを利用して、正規化された前記第4の2D座標及び正規化された前記第4の2D座標に対応する深度値を処理し、前記ターゲットの3D姿勢を得ることとを含む。
【0053】
例えば、正規化された第4の2D座標及びそれに対応する深度値をそれぞれニューラルネットワークに入力する。ニューラルネットワークは、前記3D姿勢を直接出力することができる。又は、ニューラルネットワークは、前記3D姿勢を解くための第4の3D特徴を出力することができる。第4の3D特徴の変換により前記3D姿勢を得ることができる。
【0054】
本実施例において、正規化処理により、パラメータの異なったカメラでの採集によって発生する差異を取り消すことができ、それによってニューラルネットワークなどの深層学習モデルによる3D姿勢の抽出の精度が、異なるカメラのパラメータにより、低くなってしまうという課題を解決することができる。従って、ターゲットの3D姿勢の抽出の精度を更に向上させることができる。
【0055】
幾つかの実施例において、前記第4の2D座標及び前記第4の2D座標に対応する深度値を正規化処理し、正規化された前記第4の2D座標及び正規化された前記第4の2D座標に対応する深度値を得ることは、
第4の2D座標及び前記第4の2D座標に対応する深度値に基づいて、前記キーポイントの座標平均値及び分散を得ることと、
前記座標平均値、分散、前記第4の2D座標及び前記第4の2D座標に対応する深度値に基づいて、正規化された第4の2D座標を得ることとを含む。
【0056】
具体的には、前記平均値は、Meanで表され、分散は、Stdで表され、前記第4の2D座標は、下記関数関係により算出される。
【0057】
X4’=(X4−Mean)/Stdx、
Y4’=(Y4−Mean)/Stdy。
【0058】
X4は、第4の2D座標の第1方向における座標値である。Y4は、第4の2D座標の第2方向における座標値である。X4’は、正規化された第4の2D座標の第1方向における座標値である。Y4’は、正規化された第4の2D座標の第2方向における座標値である。Stdxは、第1方向における座標値の分散である。Stdyは、第1方向における座標値の分散である。
【0059】
幾つかの実施例において、前記方法は、
前記実際深度値に基づいて、前記3D姿勢を二次元平面に投影する反復演算を行い、前記第3の2D座標と距離が最も小さい第5の2D座標を得ることと、
前記第5の2D座標及び前記第1の3D特徴に基づいて、前記ターゲットの回転パラメータ及び水平移動パラメータを得ることとを更に含む。
【0060】
本実施例において、3D姿勢を二次元平面に投影することは、3D姿勢を表す第1の3D特徴を2Dイメージング平面に投影して、2Dイメージング平面内の2D投影画像を得ることを含んでもよい。
【0061】
投影形態は複数あり、下記の2つの任意選択的な形態を提供する。
【0062】
任意選択的な形態1:前記3D姿勢及び投影行列に基づいて、2Dイメージング平面に投影される2D座標を得る。例えば、3D姿勢を左から投影行列と乗算し、2Dイメージング平面に投影される前記座標を得る。ここで投影行列は、カメラパラメータ及び/又は投影の経験値によって決定されてもよい。
【0063】
任意選択的な形態2:3D姿勢を2Dイメージング平面に投影する投影ニューラルネットワークのような投影モデルを利用し、前記3D姿勢を入力とし、2Dイメージング平面に投影される2D座標を出力とする。
【0064】
2Dイメージング平面に投影される、出力としての2D座標(即ち、前記第5の2D座標)を得てから、第3の2D座標との距離を算出する。距離が最も小さい一組を選択し、前記回転パラメータ及び前記水平移動パラメータを算出する。投影過程において、深度値を除去し、2Dイメージング平面内の2D座標のみを保留する。しかしながら、本実施例において、実際に、3D姿勢は、参照深度値に基づいて算出されたものであり、そのため、
図2に示した三角関数関係を利用し、3D姿勢を水平移動して実際深度値の位置まで戻らせることができる。しかしながら、深層学習モジュールの処理誤差及びカメラの処理誤差などを考慮し、実際深度値及びその近似値に基づいて、3D姿勢を2Dイメージング平面に投影することができる。投影過程において、2次元平面に投影される2D座標と、実際の第3の2D座標との距離を最も小さくする必要がある。例えば、下記関数を利用して、第5の2D座標と第3の2D座標との距離の最小化値を、min{(X5−X3)
2+(Y5−Y3)
2}にし、
(X5,Y5)は、前記第5の2D座標であり、(X3,Y3)は、前記第3の2D座標である。
【0066】
【化1】
という関数関係により、前記回転パラメータR及び水平移動パラメータTを解くことができる。S
3は、キーポイントの第1の3D特徴を表し、S
2は、キーポイントの2D座標を表す。
【0067】
実際深度値によって反復演算の深度範囲が提供されており、例えば、実際深度値にオフセットを加算すると、前記深度範囲の最大値が得られ、実際深度値からオフセットを減算すると、前記深度範囲の最小値が得られる。前記3D姿勢を2Dイメージング平面に投影する時、該深度範囲内から実際深度値を選択することできる。実際深度値によって深度範囲を選択する理由は、以下のとおりであり、一つの理由は、深度カメラにより採集された画像のバラツキがあるためであり、もう一つの理由は、ネットワークによる誤差を考慮しているためであり、上記の二つの理由を考慮し、深度範囲により、フォールトトレランス処理を行い、3D姿勢の2Dイメージング平面への投影を実現させ、最適な第5の2D座標を得て、回転パラメータ及び/又は水平移動パラメータを推定する。
【0068】
前記水平移動パラメータは、ターゲットの水平移動状況を表し、前記回転パラメータは、ターゲットの回転状況を表す。前記水平移動パラメータは、各方向における水平移動変位量を含んでもよい。前記回転パラメータは、各方向における回転変位量を含んでもよい。
【0069】
本出願の実施例において、反復過程において、実際深度値が既知のものであるため、前記実際深度値を参照深度値として利用することができ、前記実際深度値が含まれる深度範囲内で、前記3D姿勢を二次元平面に投影し、それによって、深度範囲を提供する実際深度値が存在しない場合での反復演算に比べて、反復回数を大幅に減少させ、演算量を減少させ、演算速度を向上させる。
【0070】
図7に示すように、本実施例は、データ処理装置を提供する。該装置は、
参照深度値及び画像におけるターゲットのキーポイントの実際深度値に基づいて、前記キーポイントの第1の2D座標を第2の2D座標に変換し、前記第2の2D座標と前記参照深度値が前記キーポイントの第1の3D特徴を構成するように構成される第1変換モジュール110と
前記第1の3D特徴に基づいて、前記ターゲットの3D姿勢を取得するように構成される第1取得モジュール120とを備える。
【0071】
幾つかの実施例において、前記第1変換モジュール110及び第1取得モジュール120は、プログラムモジュールであってもよい。該プログラムモジュールがプロセッサにより実行されてから、第1の2D座標から第2の2D座標への変換及び3D姿勢の取得を実現させることができる。
【0072】
別の幾つかの実施例において、前記第1変換モジュール110及び第1取得モジュール120は、複雑なプログラマブルアレイ又はフィールドプログラマブルゲートアレイのような、ハードウェアモジュールとプログラムモジュールの組み合わせであってもよい。
【0073】
別の幾つかの実施例において、前記第1変換モジュール110及び第1取得モジュール120は、ハードウェアモジュールに対応してもよい。例えば、前記第1変換モジュール110及び第1取得モジュール120は、特定用途向け集積回路であってもよい。
【0074】
幾つかの実施例において、前記第1変換モジュール110は、前記実際深度値と前記参照深度値との比、及び前記第1の2D座標に基づいて、前記第2の2D座標を得るように構成される。
【0075】
幾つかの実施例において、前記第1変換モジュール110は、下記関数関係を利用して前記第2の2D座標を決定するように構成され、
X2=(X1*d)/D、
Y2=(Y1*d)/D、
ただし、X2は、前記第2の2D座標の第1方向における座標値であり、X1は、前記第1の2D座標の前記第1方向における座標値であり、
Y2は、第2の2D座標の第2方向における座標値であり、Y1は、前記第1の2D座標の前記第2方向における座標値であり、前記第2方向は、前記第1方向に垂直しており、
dは、前記実際深度値であり、Dは、前記参照深度値である。
【0076】
幾つかの実施例において、前記装置は、
前記キーポイントの第2の3D特徴及び前記画像に対応する光心位置に基づいて、前記第1の2D座標を得るように構成される第2変換モジュールを更に備え、前記第2の3D特徴は、2D画像に基づいて得られた第3の2D座標と、深度画像に基づいて得られた実際深度値とを含む。
【0077】
幾つかの実施例において、前記第2変換モジュールは、前記キーポイントの第2の3D特徴を移動し、前記キーポイントにおける基準点の3D特徴を前記光心位置に水平移動させ、各前記キーポイントの第3の3D特徴を得て、前記第3の3D特徴を2Dイメージング平面に投影し、前記第1の2D座標を得るように構成される。
【0078】
幾つかの実施例において、前記ターゲットが人体骨格である場合、前記基準点の第1の3D特徴は、前記キーポイントにおける2つの股関節キーポイントの第2の3D特徴に基づいて決定されるものである。
【0079】
幾つかの実施例において、前記第1取得モジュールは、前記キーポイントの第2の2D座標に対応する深度値から前記基準点の深度値を減算し、第4の2D座標及び前記第4の2D座標に対応する深度値を得て、前記第4の2D座標及び前記第4の2D座標に対応する深度値を正規化処理し、正規化された前記第4の2D座標及び正規化された前記第4の2D座標に対応する深度値を得て、深層学習モジュールを利用して、正規化された前記第4の2D座標及び正規化された前記第4の2D座標に対応する深度値を処理し、前記ターゲットの3D姿勢を得るように構成される。
【0080】
幾つかの実施例において、前記第1取得モジュール120は、第4の2D座標及び前記第4の2D座標に対応する深度値に基づいて、前記キーポイントの座標平均値及び分散を得て、前記座標平均値、分散、前記第4の2D座標及び前記第4の2D座標に対応する深度値に基づいて、正規化された第4の2D座標を得るように構成される。
【0081】
幾つかの実施例において、前記装置は、
前記実際深度値に基づいて、前記3D姿勢を二次元平面に投影する反復演算を行い、前記第3の2D座標と距離が最も小さい第5の2D座標を得るように構成される反復モジュールと、
前記第5の2D座標及び前記第1の3D特徴に基づいて、前記ターゲットの回転パラメータ及び水平移動パラメータを得るように構成される第2取得モジュールとを更に備える。
【0082】
図8に示すように、本出願の実施例は、電子機器を提供する。該電子機器は、
情報を記憶するように構成されるメモリと、
前記メモリに接続され、前記メモリに記憶されているコンピュータによる実行可能な命令を実行することで、前記1つ又は複数の技術的解決手段で提供されるデータ処理方法を実現させ、例えば
図1A、
図1B及び
図5に示した方法のうちの1つ又は複数を実現させるように構成されるプロセッサとを備える。
【0083】
該メモリは、ランダムメモリ、読み取り専用メモリのような様々なプロセッサであってもよい。前記メモリは、情報記憶に用いられ、例えば、コンピュータによる実行可能な命令などの記憶に用いられる。前記コンピュータによる実行可能な命令は、ターゲットプログラム命令及び/又はソースプログラム命令などのような様々なプログラム命令であってもよい。
【0084】
前記プロセッサは、中央演算処理装置、マイクロプロセッサ、デジタル信号プロセッサ、プログラマブルアレイ、デジタル信号プロセッサ、特定用途向け集積回路又は画像処理装置などのような様々なプロセッサであってもよい。
【0085】
前記プロセッサは、バスを経由して前記メモリに接続される。前記バスは、集積回路バスなどであってもよい。
【0086】
幾つかの実施例において、前記端末装置は、通信インタフェースを更に備えてもよい。該通信インタフェースは、ローカルエリアネットワーク、送受信アンテナなどのようなネットワークインタフェースであってもよい。前記通信インタフェースも、前記プロセッサに接続され、情報送受信に用いられる。
【0087】
幾つかの実施例において、前記端末装置は、ヒューマンインタラクティブインタフェースを更に備える。例えば、前記ヒューマンインタラクティブインタフェースは、キーボード、タッチパネルなどのような様々な入力出力装置を含んでもよい。
【0088】
本出願の実施例は、コンピュータ記憶媒体を提供する。前記コンピュータ記憶媒体には、コンピュータによる実行可能なコードが記憶されており、前記コンピュータによる実行可能なコードが実行されてから、前記1つ又は複数の技術的解決手段で提供されるデータ処理方法を実現させ、例えば
図1A、
図1B及び
図5に示した方法のうちの1つ又は複数を実現させる。
【0089】
前記記憶媒体は、携帯型記憶装置、読み出し専用メモリ(ROM:Read−only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスク又は光ディスクなど、プログラムコードを記憶可能な各種の媒体を含む。前記記憶媒体は、非一時的記憶媒体であってもよい。
【0090】
本出願の実施例は、コンピュータプログラム製品を提供する。前記プログラム製品は、コンピュータによる実行可能な命令を含み、前記コンピュータによる実行可能な命令が実行されてから、前記いずれかの実施例で提供されるデータ処理方法を実現させ、例えば
図1A、
図1B及び
図5に示した方法のうちの1つ又は複数を実現させる。
【0091】
以下、上記実施例を参照しながら、具体的な例を説明する。
【0092】
例1:
本例において、深層ニューラルネットワークにより人体の二次元及び三次元キーポイントを予測し、三次元ビジョンアルゴリズムにより、人体の三次元姿勢を算出する。具体的には、下記のステップを含む。
【0093】
2D人体のキーポイント推定ツールにより、14個の人体キーポイントの2D画像における2D位置を予測し、
2D画像に対応する深度画像における14個の人体キーポイントの実際深度値を抽出し、
三角関数などにより、実際深度値に対応する2D座標を参照深度値に対応する2D座標に変換し、
カメラ内部パラメータを利用して、キーポイントの変換された2D座標に対して、内部パラメータ正規化操作を行い、
更なる座標正規化操作のために、正規化された各キーポイントの平均値と標準差を統計し、正規化された2D座標及び参照深度値を得、
正規化された2D座標及び参照深度値を深層ニューラルネットワークに入力し、ニューラルネットワークにより、2Dキーポイントから3Dキーポイントへの第1の3D特徴を得て、該第1の3D特徴に基づいて、三次元ビジョンアルゴリズム等によって、3D姿勢を得、例えば、透視n点(PnP)最適化により、前記第1の3D特徴に基づいて、3D姿勢を得る。
【0094】
図9は、該例で提供される3D姿勢を得るニューラルネットワークを示す。該ニューラルネットワークは、
全結合層(Fc)、バッチ処理+ReLu層及びDropout層を含み、
全結合層によって、14個のキーポイントの第1の3D特徴を取得し、出力されるのは3D姿勢である。
【0095】
該ニューラルネットワークは、前記3D姿勢の抽出に用いられることができる。
【0096】
例2:
該例において、データ処理方法を提供する。該方法は、下記のステップを含む。
【0097】
深層ニューラルネットワークにより、入力される2D画像の複数の人体の2Dキーポイント(2D座標に対応する)を取得し、
二次元人体キーポイントに対してカメラ内部パラメータの正規化を行ってから、2番目の深層ニューラルネットワークに入力し、人体の1つのキーポイント(一般的には、骨盤部にある)に対する相対的三次元キーポイントを得、
最後に、得られた二次元キーポイント及び三次元キーポイントのを位置合わせし、PnPアルゴリズムで、三次元人体空間姿勢を得ることとを得る。
【0099】
各フレームの3D画像に対して、人体二次元キーポイント検出ツールを利用して、画像における14個のキーポイントの座標を得、
第1ステップで得られた二次元キーポイント座標を3Dキーポイント抽出ネットワークに入力し、対応する三次元人体骨格(17個のキーポイントであり、ここで、骨盤のキーポイント位置は常に0である)を得、
得られた2つの人体キーポイントモデルを位置合わせし、各キーポイントを物理的に一致させる。
【0100】
現在の装置の内部パラメータがKが既知のものであり、ターゲット人体のカメラ座標系における外部パラメータR及びTを算出する。ここで、
【0102】
【化3】
は、張正友キャリブレーション法を利用して現在の装置をキャリブレーションして得られるものである。位置合わせされた二次元人体骨格をS
2とし、三次元人体骨格をS
3とする場合、
【0103】
【化4】
という公式で最適化すればよい。連続したビデオを入力として利用しているため、前の1フレームのR及びTは、後の1フレームの初期値として利用することができる。
【0104】
本出願で提供される幾つかの実施例において、開示される装置及び方法は、他の方式によって実現できることを理解すべきである。例えば、以上に記載した装置の実施例はただ例示的なもので、例えば、前記ユニットの分割はただロジック機能の分割で、実際に実現する時は他の分割方式によってもよい。例えば、複数のユニット又は組立体を組み合わせてもよいし、別のシステムに組み込んでもよい。又は若干の特徴を無視してもよいし、実行しなくてもよい。また、示したか或いは検討した相互間の結合又は直接的な結合又は通信接続は、幾つかのインターフェイス、装置又はユニットによる間接的な結合又は通信接続であってもよく、電気的、機械的または他の形態であってもよい。
【0105】
分離部材として説明した該ユニットは、物理的に別個のものであってもよいし、そうでなくてもよい。ユニットとして示された部材は、物理的ユニットであってもよいし、そうでなくてもよい。即ち、同一の位置に位置してもよいし、複数のネットワークに分布してもよい。実際の需要に応じてそのうちの一部又は全てのユニットにより本実施例の方策の目的を実現することができる。
【0106】
また、本発明の各実施例における各機能ユニットは一つの処理ユニットに集積されてもよいし、各ユニットが物理的に別個のものとして存在してもよいし、2つ以上のユニットが一つのユニットに集積されてもよい。上記集積したユニットはハードウェアとして実現してもよく、ハードウェアとソフトウェア機能ユニットとの組み合わせて実現してもよい。
【0107】
上記各方法に係る実施例の全部又は一部のステップはプログラム命令に係るハードウェアにより実現され、前記プログラムはコンピュータ読み取り可能な記憶媒体に記憶され、該プログラムが実行される時、上記方法の実施例におけるステップを実行し、前記記憶媒体は、携帯型記憶装置、読み出し専用メモリ(Read−only Memory:ROM)、ランダムアクセスメモリ(Random Access Memory:RAM)、磁気ディスク又は光ディスクなど、プログラムコードを記憶可能な各種の媒体を含む。
【0108】
以上は本発明の具体的な実施形態に過ぎず、本発明の保護の範囲はそれらに制限されるものではなく、当業者が本発明に開示された技術範囲内で容易に想到しうる変更や置換はいずれも、本発明の保護範囲内に含まれるべきである。従って、本発明の保護範囲は特許請求の範囲の保護範囲を基準とするべきである。