(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-21
(54)【発明の名称】データ処理方法、装置、データ処理システム、電子機器及びコンピュータプログラム
(51)【国際特許分類】
G06T 7/20 20170101AFI20240514BHJP
G06T 7/00 20170101ALI20240514BHJP
G06T 7/60 20170101ALI20240514BHJP
G06T 7/254 20170101ALI20240514BHJP
【FI】
G06T7/20 300Z
G06T7/00 660B
G06T7/60 150D
G06T7/254 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023572039
(86)(22)【出願日】2022-10-24
(85)【翻訳文提出日】2023-11-20
(86)【国際出願番号】 CN2022126921
(87)【国際公開番号】W WO2023071964
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】202111256971.9
(32)【優先日】2021-10-27
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ヤン,ツォチュン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA67
5L096FA69
5L096HA04
5L096HA05
(57)【要約】
本発明の実施例は、データ処理方法、装置、電子機器及びコンピュータ読み取り可能な記憶媒体を提供する。該方法は、ターゲットオブジェクトのターゲットビデオを取得し、該ターゲットオブジェクトは少なくとも1つのフレーム画像を含み、各フレーム画像について、該フレーム画像に基づいて、該ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角、並びに第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定し、該第2の関節点の該フレーム画像に対応する第1の3次元座標及び該フレーム画像の直前のフレーム画像に対応する履歴3次元座標に基づいて、該第2の関節点の変位オフセットを決定し、該変位オフセットが設定値以下である場合、該第2の関節点の該第1の3次元座標及び該履歴3次元座標に基づいて、該第1の関節点の第1の3次元座標を補正し、該第1の関節点のターゲット3次元座標を取得する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
電子機器が実行するデータ処理方法であって、
ターゲットオブジェクトのターゲットビデオを取得するステップであって、前記ターゲットオブジェクトは少なくとも1つのフレーム画像を含む、ステップと、
各フレーム画像について処理を実行し、前記ターゲットオブジェクトに関連する仮想オブジェクトの各フレーム画像に対応する3次元姿勢を取得するステップと、を含み、
前記処理は、
該フレーム画像に基づいて、前記ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角、並びに第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定するステップであって、前記第1の関節点及び前記第2の関節点は前記各ターゲット関節点のうちの指定関節点であり、前記第1の座標系は前記仮想オブジェクトに対応する座標系であり、前記第1の関節点は前記各ターゲット関節点のうちの根ノードである、ステップと、
前記第2の関節点の該フレーム画像に対応する第1の3次元座標及び該フレーム画像の直前のフレーム画像に対応する履歴3次元座標に基づいて、前記第2の関節点の変位オフセットを決定するステップと、
前記変位オフセットが設定値以下である場合、前記第2の関節点の前記第1の3次元座標及び前記履歴3次元座標に基づいて、前記第1の関節点の第1の3次元座標を補正し、前記第1の関節点のターゲット3次元座標を取得するステップと、
前記第1の関節点のターゲット3次元座標及び前記各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、前記仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定するステップと、を含む、方法。
【請求項2】
前記第1の関節点のターゲット3次元座標及び前記各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、前記仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定するステップは、
前記第1の関節点のターゲット3次元座標及び他の関節点の3次元姿勢角に基づいて、該フレーム画像における他の関節点の第1の座標系におけるターゲット3次元座標を決定するステップであって、前記他の関節点は、前記各ターゲット関節点のうちの前記第1の関節点及び前記第2の関節点以外の関節点である、ステップと、
前記各ターゲット関節点のターゲット3次元座標及び前記各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、前記仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定するステップと、を含む、請求項1に記載の方法。
【請求項3】
前記第2の関節点の前記第1の3次元座標及び前記履歴3次元座標に基づいて、前記第1の関節点の第1の3次元座標を補正するステップは、
前記第1の座標系の各次元において、前記第2の関節点の前記第1の3次元座標と前記履歴3次元座標との差を決定するステップと、
各次元に対応する差に基づいて、前記第1の関節点の第1の3次元座標のうちの対応する次元の座標を補正し、前記第1の関節点のターゲット3次元座標を取得するステップと、を含む、請求項1に記載の方法。
【請求項4】
前記ターゲットビデオのフレームレートを取得するステップと、
前記ターゲットビデオのフレームレートに基づいて、関節点の2次元姿勢角のフィルタリングスライディングウィンドウ幅を決定するステップと、
前記フィルタリングスライディングウィンドウ幅に基づいて、各ターゲット関節点の各次元における姿勢角シーケンスに対してフィルタリング処理を行い、フィルタリング処理後の姿勢角シーケンスを取得するステップであって、ターゲット関節点の次元における姿勢角シーケンスは、該ターゲット関節点の前記ターゲットビデオの各フレーム画像における該次元における2次元姿勢角を含む、ステップと、をさらに含み、
前記第1の関節点のターゲット3次元座標及び前記各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、前記仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定するステップは、
各次元におけるフィルタリング後の姿勢角シーケンスに基づいて、各ターゲット関節点の該フレーム画像におけるフィルタリング後の3次元姿勢角を取得するステップと、
前記第1の関節点のターゲット3次元座標及び前記各ターゲット関節点の該フレーム画像におけるフィルタリング後の3次元姿勢角に基づいて、前記仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定するステップと、を含む、請求項1に記載の方法。
【請求項5】
前記ターゲットビデオのフレームレートに基づいて、関節点の2次元姿勢角のフィルタリングスライディングウィンドウ幅を決定するステップは、
前記フレームレートに基づいて、スライディングウィンドウ幅の調整係数を決定するステップと、
前記フレームレートと前記調整係数との積に基づいて、初期スライディングウィンドウ幅を決定するステップと、
前記初期スライディングウィンドウ幅及び所定のスライディングウィンドウ幅のうちの大きい値を、前記フィルタリングスライディングウィンドウ幅として決定するステップと、を含む、請求項4に記載の方法。
【請求項6】
前記フレーム画像に基づいて、前記ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角、並びに第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定するステップは、
該フレーム画像に基づいて、3次元姿勢推定モデルにより、前記各ターゲット関節点の該フレーム画像における3次元姿勢角を決定するステップと、
前記第1の関節点の第2の座標系における該フレーム画像に対応する第2の3次元座標を決定するステップであって、前記第2の座標系は前記ターゲットビデオに対応する画像座標系である、ステップと、
前記第2の3次元座標及び座標変換関係に基づいて、前記第1の関節点の第1の3次元座標を決定するステップであって、前記座標変換関係は前記第1の座標系と前記第2の座標系との変換関係である、ステップと、
前記第1の関節点の第1の3次元座標、及び前記各ターゲット関節点の3次元姿勢角のうちの前記第2の関節点に関連する3次元姿勢角に基づいて、前記第2の関節点の第1の3次元座標を決定するステップと、を含む、請求項1に記載の方法。
【請求項7】
前記第1の関節点の第2の座標系における該フレーム画像に対応する第2の3次元座標を決定するステップは、
前記第1の関節点の該フレーム画像における3次元姿勢角に基づいて、前記第1の関節点の第2の3次元座標を決定するステップ、を含む、請求項6に記載の方法。
【請求項8】
前記第1の関節点の第2の座標系における該フレーム画像に対応する第2の3次元座標を決定するステップは、
前記第1の関節点の該フレーム画像における画像位置に基づいて、前記第1の関節点の前記第2の座標系における2次元座標を決定するステップと、
該フレーム画像及び該フレーム画像の相関画像に基づいて、前記第1の関節点の奥行き方向の座標を推定するステップと、
前記2次元座標及び前記奥行き方向の座標に基づいて、前記第1の関節点の第2の3次元座標を決定するステップと、を含み、
前記ターゲットビデオは、単眼画像取り込み機器により取り込まれたビデオであり、前記相関画像は、該フレーム画像の直前のフレーム画像であり、或いは、前記ターゲットビデオは、両眼画像取り込み機器により取り込まれた2つのビデオのうちの一方のビデオであり、前記相関画像は、2つのビデオのうちの他方のビデオにおける該フレーム画像に対応する画像である、請求項6に記載の方法。
【請求項9】
2つの関連関節点の第2の3次元座標に基づいて、2つの関連関節点の第1の距離を決定するステップであって、前記2つの関連関節点は、前記各ターゲット関節点のうちの親子関係を有する2つの指定関節点である、ステップと、
前記2つの関連関節点の前記第1の座標系における参照距離を取得するステップと、
前記第1の距離及び前記参照距離に基づいて、前記座標変換関係を決定するステップと、をさらに含む、請求項6に記載の方法。
【請求項10】
前記ターゲットオブジェクトのターゲットビデオを取得するステップは、
少なくとも2つの取り込み視野角を有する画像取り込み機器により取り込まれた少なくとも2つのビデオを取得するステップであって、前記少なくとも2つの取り込み視野角は、1つの第1の視野角及び少なくとも1つの第2の視野角を含み、前記ターゲットビデオは、前記第1の視野角に対応するビデオである、ステップ、を含み、
前記フレーム画像に基づいて、前記ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角を決定するステップは、
該フレーム画像に基づいて、前記ターゲットオブジェクトの該フレーム画像における各初期関節点を検出するステップであって、前記各ターゲット関節点は前記各初期関節点を含む、ステップと、
該フレーム画像に基づいて、前記各ターゲット関節点の該フレーム画像における初期3次元姿勢角を決定するステップと、
前記初期関節点の数が前記各ターゲット関節点の総数に等しい場合、欠落関節点が存在しないと決定し、前記各ターゲット関節点の該フレーム画像における初期3次元姿勢角を、前記各ターゲット関節点の該フレーム画像における3次元姿勢角として決定するステップと、
前記初期関節点の数が前記各ターゲット関節点の総数よりも小さい場合、欠落関節点が存在すると決定し、非ターゲットビデオにおける該フレーム画像に対応する関連画像に基づいて、前記欠落関節点の3次元姿勢角を決定し、決定した前記欠落関節点の3次元姿勢角及び前記各初期関節点の初期3次元姿勢角を、前記各ターゲット関節点の該フレーム画像における3次元姿勢角として決定するステップであって、前記非ターゲットビデオは、前記少なくとも2つのビデオのうちの前記ターゲットビデオ以外の少なくとも1つのビデオである、ステップと、を含む、請求項1に記載の方法。
【請求項11】
各フレーム画像について処理を実行し、前記ターゲットオブジェクトに関連する仮想オブジェクトの各フレーム画像に対応する3次元姿勢を取得する前に、
前記ターゲットビデオにおける各隣接フレームについて、前記隣接フレーム間の前記ターゲットオブジェクトのオプティカルフロー情報を決定するステップであって、前記オプティカルフロー情報は、前記ターゲットオブジェクトのオプティカルフロー軌跡及びオプティカルフロー方向を含む、ステップと、
前記オプティカルフロー情報に基づいて、前記隣接フレーム間においてフレーム補完処理を行い、前記隣接フレーム間の少なくとも1つのフレーム補完画像を取得するステップと、
前記ターゲットビデオ及び各フレーム補完画像に基づいて、フレーム補完後のターゲットビデオを取得するステップと、をさらに含み、
前記フレーム補完後のターゲットビデオの各フレーム画像について処理を実行し、前記仮想オブジェクトの各フレーム画像に対応する3次元姿勢を取得する、請求項1に記載の方法。
【請求項12】
データ処理装置であって、
ターゲットオブジェクトのターゲットビデオを取得するビデオ取得モジュールであって、前記ターゲットオブジェクトは少なくとも1つのフレーム画像を含む、ビデオ取得モジュールと、
各フレーム画像について処理を実行し、前記ターゲットオブジェクトに関連する仮想オブジェクトの各フレーム画像に対応する3次元姿勢を取得する姿勢決定モジュールと、を含み、
前記姿勢決定モジュールは、前記処理を実行する際に、
該フレーム画像に基づいて、前記ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角、並びに第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定し、前記第1の関節点及び前記第2の関節点は前記各ターゲット関節点のうちの指定関節点であり、前記第1の座標系は前記仮想オブジェクトに対応する座標系であり、前記第1の関節点は前記各ターゲット関節点のうちの根ノードであり、
前記第2の関節点の該フレーム画像に対応する第1の3次元座標及び該フレーム画像の直前のフレーム画像に対応する履歴3次元座標に基づいて、前記第2の関節点の変位オフセットを決定し、
前記変位オフセットが設定値以下である場合、前記第2の関節点の前記第1の3次元座標及び前記履歴3次元座標に基づいて、前記第1の関節点の第1の3次元座標を補正し、前記第1の関節点のターゲット3次元座標を取得し、
前記第1の関節点のターゲット3次元座標及び前記各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、前記仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する、装置。
【請求項13】
画像取り込み装置と、データ処理装置と、端末装置と、を含むデータ処理システムであって、
前記画像取り込み装置は、ターゲットオブジェクトのターゲットビデオを取り込み、前記ターゲットビデオは少なくとも1つのフレーム画像を含み、
前記データ処理装置は、前記画像取り込み装置により取り込まれたターゲットビデオに基づいて、請求項1乃至11の何れかに記載の方法を実行することによって、前記ターゲットオブジェクトに関連する仮想オブジェクトの前記ターゲットビデオの各フレーム画像に対応する3次元姿勢を取得し、取得した3次元姿勢を前記端末装置に送信し、
前記端末装置は、取得された3次元姿勢に基づいて、前記仮想オブジェクトが対応する動作を実行するように駆動する、データ処理システム。
【請求項14】
前記画像取り込み装置は、異なる取り込み視野角に対応する3つの画像取り込み機器を含み、3つの画像取り込み機器は、前記ターゲットオブジェクトを取り囲み、且つ前記ターゲットオブジェクトの周囲に均等に配置され、前記3つの画像取り込み機器は、第1の視野角に対応する1つの第1の機器及び第2の視野角に対応する2つの第2の機器を含み、前記ターゲットビデオは、前記第1の機器により取り込まれたビデオであり、
前記データ処理装置は、前記ターゲットビデオの各フレーム画像について、前記ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角を決定するように、
前記ターゲットビデオの該フレーム画像に基づいて、前記ターゲットオブジェクトの該フレーム画像における各初期関節点を検出し、前記各ターゲット関節点は前記各初期関節点を含み、
前記ターゲットビデオの該フレーム画像に基づいて、前記各ターゲット関節点の該フレーム画像における初期3次元姿勢角を決定し、
前記初期関節点の数が前記各ターゲット関節点の総数に等しい場合、欠落関節点が存在しないと決定し、前記各ターゲット関節点の該フレーム画像における初期3次元姿勢角を、前記各ターゲット関節点の該フレーム画像における3次元姿勢角として決定し、
前記初期関節点の数が前記各ターゲット関節点の総数よりも小さい場合、欠落関節点が存在すると決定し、非ターゲットビデオにおける該フレーム画像に対応する関連画像に基づいて、前記欠落関節点の3次元姿勢角を決定し、決定した前記欠落関節点の3次元姿勢角及び前記各初期関節点の初期3次元姿勢角を、前記各ターゲット関節点の該フレーム画像における3次元姿勢角として決定し、前記非ターゲットビデオは、前記第1の機器及び前記第2の機器により取り込まれた少なくとも2つの視野角に対応する少なくとも2つのビデオのうちの前記ターゲットビデオ以外の少なくとも1つのビデオである、請求項13に記載のデータ処理システム。
【請求項15】
コンピュータプログラムが記憶されたメモリと、プロセッサと、を含み、前記プロセッサは、請求項1乃至11の何れかに記載の方法を実現するように前記コンピュータプログラムを実行する、電子機器。
【請求項16】
請求項1乃至11の何れかに記載の方法をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年10月27日に出願した出願番号が202111256971.9であり、発明の名称が「データ処理方法、装置、電子機器及びコンピュータ読み取り可能な記憶媒体」である中国特許出願に基づく優先権を主張し、その全ての内容を参照により本発明に援用する。
【0002】
本発明は、データ処理の技術分野に関し、具体的には、データ処理方法、装置、電子機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム製品に関する。
【背景技術】
【0003】
科学技術の発展に伴い、どのように実際の人物の姿勢に基づいて仮想人物の姿勢を決定するかは、既に現代産業発展の重要な構成部分になっている。例えば、スマート工場、映画及びゲームの視覚効果の応用など、現実感、没入型仮想及び拡張現実、臨場感及び自由視点の3次元ビデオに対して、大きな価値がある。
【0004】
現在、主にウェアラブルセンサにより、赤外線光源の前で所定の動作を実行して、ウェアラブルセンサにおける反射標識点で反射された赤外線光に基づいて、各反射標識点の3次元空間座標を計算して、各反射標識点の3次元空間座標に基づいて仮想人物の姿勢を特定する。
【0005】
しかし、該方法は、ウェアラブルセンサに依存するため、該ウェアラブルセンサを装着した生体が不自由になり、動作の実行精度に影響を与えてしまう。
【発明の概要】
【0006】
本発明の実施例は、仮想オブジェクトの姿勢の正確性を効果的に向上させることができる、データ処理方法、装置、電子機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム製品を提供する。本発明の実施例に係る技術的手段は、以下の通りである。
【0007】
本発明の実施例の1つの態様では、電子機器が実行するデータ処理方法であって、ターゲットオブジェクトのターゲットビデオを取得するステップであって、前記ターゲットオブジェクトは少なくとも1つのフレーム画像を含む、ステップと、各フレーム画像について処理を実行し、前記ターゲットオブジェクトに関連する仮想オブジェクトの各フレーム画像に対応する3次元姿勢を取得するステップと、を含み、前記処理は、該フレーム画像に基づいて、前記ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角、並びに第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定するステップであって、前記第1の関節点及び前記第2の関節点は前記各ターゲット関節点のうちの指定関節点であり、前記第1の座標系は前記仮想オブジェクトに対応する座標系であり、前記第1の関節点は前記各ターゲット関節点のうちの根ノードである、ステップと、前記第2の関節点の該フレーム画像に対応する第1の3次元座標及び該フレーム画像の直前のフレーム画像に対応する履歴3次元座標に基づいて、前記第2の関節点の変位オフセットを決定するステップと、前記変位オフセットが設定値以下である場合、前記第2の関節点の前記第1の3次元座標及び前記履歴3次元座標に基づいて、前記第1の関節点の第1の3次元座標を補正し、前記第1の関節点のターゲット3次元座標を取得するステップと、前記第1の関節点のターゲット3次元座標及び前記各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、前記仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定するステップと、を含む、方法を提供する。
【0008】
本発明の実施例のもう1つの態様では、データ処理装置であって、ターゲットオブジェクトのターゲットビデオを取得するビデオ取得モジュールであって、前記ターゲットオブジェクトは少なくとも1つのフレーム画像を含む、ビデオ取得モジュールと、各フレーム画像について処理を実行し、前記ターゲットオブジェクトに関連する仮想オブジェクトの各フレーム画像に対応する3次元姿勢を取得する姿勢決定モジュールと、を含み、前記姿勢決定モジュールは、前記処理を実行する際に、該フレーム画像に基づいて、前記ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角、並びに第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定し、前記第1の関節点及び前記第2の関節点は前記各ターゲット関節点のうちの指定関節点であり、前記第1の座標系は前記仮想オブジェクトに対応する座標系であり、前記第1の関節点は前記各ターゲット関節点のうちの根ノードであり、前記第2の関節点の該フレーム画像に対応する第1の3次元座標及び該フレーム画像の直前のフレーム画像に対応する履歴3次元座標に基づいて、前記第2の関節点の変位オフセットを決定し、前記変位オフセットが設定値以下である場合、前記第2の関節点の前記第1の3次元座標及び前記履歴3次元座標に基づいて、前記第1の関節点の第1の3次元座標を補正し、前記第1の関節点のターゲット3次元座標を取得し、前記第1の関節点のターゲット3次元座標及び前記各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、前記仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する、装置を提供する。
【0009】
本発明の実施例のもう1つの態様では、画像取り込み装置と、データ処理装置と、端末装置と、を含むデータ処理システムであって、前記画像取り込み装置は、ターゲットオブジェクトのターゲットビデオを取り込み、前記ターゲットビデオは少なくとも1つのフレーム画像を含み、前記データ処理装置は、前記画像取り込み装置により取り込まれたターゲットビデオに基づいて、上記の方法を実行することによって、前記ターゲットオブジェクトに関連する仮想オブジェクトの前記ターゲットビデオの各フレーム画像に対応する3次元姿勢を取得し、取得した3次元姿勢を前記端末装置に送信し、前記端末装置は、取得された3次元姿勢に基づいて、前記仮想オブジェクトが対応する動作を実行するように駆動する、データ処理システムを提供する。
【0010】
本発明の実施例のもう1つの態様では、コンピュータプログラムが記憶されたメモリと、プロセッサと、を含み、前記プロセッサは、上記のデータ処理方法を実現するように前記コンピュータプログラムを実行する、電子機器を提供する。
【0011】
本発明の実施例のもう1つの態様では、コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムは、プロセッサにより実行される際に、上記のデータ処理方法を実現する、記憶媒体を提供する。
【0012】
本発明の実施例のもう1つの態様では、コンピュータプログラムを含むコンピュータプログラム製品であって、前記コンピュータプログラムは、プロセッサにより実行される際に、上記のデータ処理方法を実現する、コンピュータプログラム製品を提供する。
【図面の簡単な説明】
【0013】
本発明の実施例に係る技術的手段をより明確に説明するために、以下は、実施例の説明に必要な図面を簡単に紹介する。
【
図1】本発明の実施例に係るデータ処理方法の一例のフローチャートである。
【
図2】本発明の一例におけるターゲットビデオにおける1つのフレーム画像を示す概略図である。
【
図3a】本発明の実施例に係るターゲットオブジェクトの姿勢を示す概略図である。
【
図3b】本発明の実施例の仮想オブジェクトの姿勢を示す概略図である。
【
図4a】本発明の実施例に係る第1の関節点の第1の3次元座標が第2の関節点の変位オフセットに基づいて補正されていない場合に決定された仮想オブジェクトの姿勢を示す概略図である。
【
図4b】本発明の実施例に係る第1の関節点の第1の3次元座標が第2の関節点の変位オフセットに基づいて補正された場合に決定された仮想オブジェクトの姿勢を示す概略図である。
【
図5】本発明の実施例に係る1つのフレーム画像についての3次元姿勢の推定を示す概略図である。
【
図6】本発明の実施例に係る画像取り込み装置を示す概略図である。
【
図7a】本発明の実施例に係る各ターゲット関節点の該フレーム画像における3次元姿勢角の決定を示す概略図である。
【
図7b】本発明の実施例に係るシミュレーションされた欠落関節点が所在する領域を示す概略図である。
【
図7c】本発明の実施例に係る姿勢校正後の3次元姿勢角を示す概略図である。
【
図8】本発明の実施例に係る1つのターゲット関節点の1つの次元の姿勢角シーケンスのフィルタリング処理の前後の対比を示す概略図である。
【
図9a】本発明の実施例に係るフィルタリング処理前の1つのフレーム画像におけるターゲットオブジェクトの3次元姿勢角を示す概略図である。
【
図9b】本発明の実施例に係るフィルタリング処理後の1つのフレーム画像におけるターゲットオブジェクトの3次元姿勢角を示す概略図である。
【
図10】本発明が適用されるデータ処理システムの構成の一例を示す概略図である。
【
図11】本発明の1つのシナリオの実施例に係るデータ処理方法を示すフローチャートである。
【
図12】本発明の実施例に係るデータ処理装置の構成の一例を示す概略図である。
【
図13】本発明の実施例に係るデータ処理システムの構成の一例を示す概略図である。
【
図14】本発明の実施例に係る電子機器の構成の一例を示す概略図である。
【発明を実施するための形態】
【0014】
以下は、本明細書における図面を参照しながら本発明の実施例を説明する。なお、以下の図面を参照しながら説明される実施形態は、本発明の実施例の技術的手段を説明するための例示的な説明であり、本発明の実施例の技術的手段を限定するものではない。
【0015】
なお、特に明記しない限り、本明細書で使用される単数形の「一」、「1つ」、「前記」及び「該」は、複数形を含んでもよい。また、本明細書で使用される用語「含む」及び「備える」は、対応する特徴が、提示された特徴、情報、データ、ステップ、動作、構成要素、及び/又はアセンブリとして実現されてもよいが、当該技術分野でサポートされる他の特徴、情報、データ、ステップ、動作、構成要素、アセンブリ及び/又はこれらの組み合わせなどとして実装されることを排除しない。なお、一方の要素が他方の要素に「連結」又は「接続」される場合、該一方の要素が他方の要素に直接連結又は結合されてもよいし、該一方の要素と他方の要素とが中間要素を介して接続関係を確立することを意味してもよい。また、本明細書で使用される「連結」又は「接続」は、無線連結又は無線接続を含んでもよい。本明細書で使用される用語「及び/又は」は、該用語により特定される事項のうちの少なくとも1つを示し、例えば、「A及び/又はB」は、「A」として実現されてもよいし、「B」として実現されてもよいし、「AとB」として実現されてもよい。
【0016】
本発明の目的、技術的手段及び利点をより明確にするために、以下は図面を参照しながら本発明の実施例を更に詳細に説明する。
【0017】
本発明の実施例に係るデータ処理方法は、人工知能(Artificial Intelligence:AI)技術に基づいて実現されてもよい。例えば、ターゲットビデオの各フレーム画像について、3次元姿勢推定モデルを呼び出すことによって、ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角を取得してもよい。AIは、デジタルコンピュータ又はデジタルコンピュータにより制御される機器を用いて、人間の知能をシミュレーション、発展、拡張し、環境を感知し、知識を取得し、知識を使用して最適な結果を得る理論、方法、技術及び応用システムである。
【0018】
ここで、上記3次元姿勢推定モデルは、コンピュータビジョン技術(Computer Vision:CV)に基づくニューラルネットワークモデルであってもよい。コンピュータビジョンとは、人間の目の代わりにカメラとコンピュータを用いてターゲットに対して認識、追跡及び測定などを行い、さらにグラフィック処理を行い、コンピュータにより処理された画像を人間の目の観察により適し、或いは検出のために機器に送信することを意味する。
【0019】
好ましくは、本発明の実施例に係るデータ処理方法は、クラウド技術(Cloud technology)に基づいて実現されてもよい。例えば、ニューラルネットワークモデルをトレーニングして上記の3次元姿勢推定モデルを取得する場合、クラウド技術を採用してもよく、トレーニングプロセスにおけるデータ計算は、クラウドコンピューティング(Cloud computing)方式を採用してもよい。
【0020】
クラウド技術とは、広域ネットワーク又はローカルエリアネットワーク内でハードウェア、ソフトウェア、ネットワークなどのリソースを統合し、データの計算、記憶、処理及び共有を実現するホスティング技術を意味する。クラウドコンピューティングとは、ITインフラストラクチャの提供と使用のモデルであり、ネットワークを介して必要なリソースをオンデマンド、拡張可能な方式で取得することを意味する。
【0021】
本発明の実施例に係る解決手段をよりよく説明して理解させるために、まず本発明の実施例に関連する幾つかの技術的用語を説明する。
【0022】
モーションキャプチャ(Mocap):動的キャプチャとも称され、「モーキャプ」と略称され、人物又は他の物体の動きを記録して処理する技術であり、主にアニメーション/映画制作、大型ゲーム又はバーチャルリアリティに応用される。モーションキャプチャ機器は、作動原理に応じて機械、音響学、光学、電磁、慣性などの複数の類別に分けられる。現在、光学モーションキャプチャの方式に基づいて、動作を実行する俳優が幾つかの標識点(marker)を付けるウェアラブルセンサを着用し、密集するカメラアレイによりこれらのmarkerの位置をキャプチャし、これらのmarkerの位置を復元して仮想オブジェクトにレンダリングすることによって、本物の俳優の動作の演出から骨格アニメーションへのマッピングを実現する。
【0023】
3次元姿勢推定:深層ニューラルネットワークに基づいて、人体の姿勢を含む画像から、該人体の3次元空間における各関節点の座標を予測して、人体の実際の姿勢を復元する。
【0024】
ビデオフレーム補完:ビデオにおける連続する2つのフレーム間の遷移フレームを生成することによって、ビデオの総時間を変えずに、ビデオの総フレーム数を増加し、ビデオのフレームレートを向上させる技術である。
【0025】
単眼の奥行き推定:1枚の画像を利用して画像における各画素点のカメラに対する距離を予測する深層学習方法である。
【0026】
飛行機姿勢角:機体座標系と地理座標系との関係により決定され、ヨーイング角、ピッチング角及びローリング角の3つのオイラー角で表す。機体の異なる回転順序により、異なる座標変換行列を形成し、通常、ヨーイング角、ピッチング角及びローリング角の順序に従って地理座標系に対する機体座標系の空間回転を表す。3次元人体姿勢推定では、航空機姿勢角を使用して人体の各関節の回転姿勢を表し、以下は、関節点の3次元姿勢角とも称される。
【0027】
Savitzky-Golayフィルタ:時間領域において局所の多項式最小二乗法に基づいて多項式データをフィッティングするフィルタを意味する。該フィルタは、ノイズを除去すると共に、信号の形状、幅を一定に保つことができる。
【0028】
SMPL-Xモデル(Skinned Multi-Person Linear eXpressive model:スキンされた多人数線形表現モデル)又はSMPLモデル(Skinned Multi-Person Linear model:スキンされた多人数線形モデル):単一のフレームのRGB画像から身体姿勢、手姿勢及び表情を計算する3Dモデルを意味し、通常、3つのパラメータを使用して、身体関節姿勢、体型及び表情を個別に制御する。
【0029】
モーションキャプチャでは、従来の方法は、出演者が指定のウェアラブルデバイス、例えば各種のセンサを着用する必要があり、出演者の行動が不便になり、出演者が所定の動作を実行する精度に影響し、取り込み場所に対する需要が比較的に高く、実現コストも比較的に高く、このようなモーションキャプチャシステムを使用するために技術者が専門の訓練を受ける必要があるため、モーションキャプチャシステムの使用条件が比較的に高い。また、この方法は、最終的なモーションキャプチャを実現し、演技者に対応する仮想オブジェクトの姿勢を特定するために、演技者が装着するウェアラブルセンサにおける複数のmarkerの情報を取り込む必要がある。そのため、このモーションキャプチャ方式は、複雑度が高く、決定した仮想オブジェクトの姿勢の正確性も低く、実用上の要求を十分に満たすことができない。
【0030】
これに対し、本発明の実施例は、仮想オブジェクトの全体的な位置を制御可能な第1の関節点の第1の3次元座標を補正することによって、例えば、仮想オブジェクトの足が移動中に空中に浮いており、或いは滑っているような、ターゲットオブジェクトの誤移動による仮想オブジェクトの挙動の不自然さという問題を回避することができる、データ処理方法を提供する。また、第1の関節点のターゲット3次元座標、履歴3次元座標、及び各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢をより正確に決定し、仮想オブジェクトの動作をより正確にさせ、移動をより自然でスムーズにさせ、仮想オブジェクトの行為の真実感を向上させ、仮想オブジェクトがターゲットオブジェクトの真実の移動軌跡を復元するように効果的に駆動することができる。
【0031】
本発明の実施例に係る方法は、ターゲットオブジェクトの3次元姿勢(例えば、3次元姿勢角、3次元座標として表す)に基づいて仮想オブジェクトの3次元姿勢を制御する必要がある任意の応用シナリオに適用することができる。例えば、該方法は、様々なゲームにおいて、ゲームの人物の動きを駆動すること、現実の俳優が実行する動きに基づいてファンタジー映画/ドラマ/アニメーション、バーチャルリアリティなどを作成することに適用されてもよい。
【0032】
以下は、幾つかの例示的な実施形態を説明することによって、本発明の実施例に係る技術的手段及び本発明の技術的手段による技術的効果について説明する。なお、以下の実施形態は、互いに参考、参照又は結合されてもよく、異なる実施形態における同一の用語、類似の特徴及び類似の実施ステップ等についてその説明を省略する。
【0033】
図1は、本発明の実施例に係るデータ処理方法の一例のフローチャートである。該データ処理方法の実行主体は、電子機器であってもよい。1つの可能な態様では、電子機器は、端末装置又はサーバを含んでもよいが、これらに限定されず、好ましくは、サーバはクラウドサーバであってもよい。ここで、端末装置は、ユーザ装置(User Equipment:UE)、モバイルデバイス、携帯電話、コードレス電話、携帯情報端末(Personal Digital Assistant:PDA)、ハンドヘルドデバイス、コンピューティングデバイス、又はウェアラブルデバイスなどであってもよい。ここで、該データ処理方法は、プロセッサがメモリに記憶されたコンピュータ読み取り可能な命令を呼び出すことによって実現されてもよい。好ましくは、該データ処理方法は、ユーザ端末により実行されてもよく、例えば、ユーザ端末は、携帯電話、コンピュータ、インテリジェント音声対話デバイス、スマート家電製品、車載端末、電子機器、AR/VRデバイス、バーチャルロボットなどを含むが、これらに限定されない。
【0034】
図1に示すように、該データ処理方法は、ステップS11~ステップS12を含んでもよい。
【0035】
ステップS11:ターゲットオブジェクトのターゲットビデオを取得する。ここで、ターゲットオブジェクトは少なくとも1つのフレーム画像を含む。
【0036】
好ましくは、ターゲットオブジェクトは、任意の動作可能なオブジェクト、例えば、自分で自律的に動作可能な人、動物などであってもよい。本発明では、自分で自律的に動作する人をターゲットオブジェクトとして、該データ処理方法を説明してもよい。
【0037】
本発明の実施例に係るターゲットビデオの取得方法は限定されず、例えば、ターゲットビデオは、画像取り込み機器により直接取得された初期ビデオであってもよいし、データ処理量を低減し、データ処理効率を向上させるために、予め設定されたフレーム抽出ルールに従って初期ビデオに対してフレーム抽出処理を行ったビデオであってもよい。ここで、画像取り込み機器は、監視カメラ、ビデオカメラ、カメラ、又は画像取り込み機能を有する他の機器(例えば携帯電話、タブレットコンピュータなどの機器)など含むが、これらに限定されない。ここで、画像取り込み機器は、単眼画像取り込み機器であってもよいし、両眼画像取り込み機器であってもよく、好ましくは、RGB画像取り込み機器であってもよい。
【0038】
好ましくは、ターゲットビデオは、所定の時間間隔で初期ビデオに対してフレーム抽出処理を行って得られたビデオであってもよい。ここで、所定の時間間隔は、初期ビデオの総時間長又は初期ビデオに含まれる画像の数に応じて決定されてもよく、本発明はこれに限定されない。例えば、所定の時間間隔は、初期ビデオの総時間長又は初期ビデオに含まれる画像の数と正の相関関係を有してもよい。例えば、初期ビデオの総時間長が1時間である場合、所定の時間間隔を1分間に設定し、初期ビデオの総時間長が15分である場合、所定の時間間隔を5秒間に設定してもよい。異なるターゲットビデオに対応する所定の時間間隔は同一であってもよく、異なる応用シーンに応じてフレーム抽出ルールは異なってもよい。
【0039】
実際の応用では、ターゲットオブジェクトのモーションキャプチャを完了するために、ターゲットオブジェクトが実際の応用ニーズに合わせて移動などの所定の動作を実行してもよい。ターゲットビデオは、画像取り込み機器により取り込まれた該ターゲットオブジェクトの所定の動作を実行するビデオであってもよい。ここで、本発明は所定の動作の具体的な態様に限定されず、実際の応用ニーズに基づいて決定される。
【0040】
ステップS12:ターゲットビデオの各フレーム画像について、以下のステップS121~ステップS124をそれぞれ実行し、ターゲットオブジェクトに関連する仮想オブジェクトの各フレーム画像に対応する3次元姿勢を取得する。
【0041】
ステップS121:該フレーム画像に基づいて、ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角、並びに第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定する。
【0042】
ここで、第1の関節点及び第2の関節点は、複数のターゲット関節点のうちの指定関節点であり、第1の座標系は、仮想オブジェクトに対応する座標系であり、第1の関節点は、各ターゲット関節点のうちの根ノード(中央根ノードとも称されてもよい)である。
【0043】
ここで、各ターゲット関節点が他のターゲット関節点と親子関係にあり、各ターゲット関節点のうちの腰関節点と他のターゲット関節点との親子関係の複雑度が低いため、データ処理の処理量を低減させ、データ処理の効率を向上させるために、腰関節点を第1の関節点として選択してもよい。
【0044】
第2の関節点は、基準関節点と称されてもよく、基準平面との相対的な位置関係が固定されたターゲット関節点を意味し、第1の関節点と同一であってもよいし、第1の関節点と異なってもよい。例えば、第2の関節点は、該基準平面上の点であってもよく、該基準平面は地面であってもよい。例えば、実際の応用では、仮想オブジェクトの第2の関節点が第1の座標系における指定方向に相対的に固定されており、仮想オブジェクトの歩行中に1つの足が常に地面に接触する(地面に接触する該足は重力支持作用を果たす足と称されてもよく、重力支持足と略称される)ため、該第2の関節点は爪先関節点であってもよい。
【0045】
図2は、本発明の一例におけるターゲットビデオにおける1つのフレーム画像を示す概略図である。
図2に示すように、第1の関節点Aは、ターゲットオブジェクトの腰関節点であってもよく、第2の関節点Bは、ターゲットオブジェクトの爪先関節点であってもよい。
【0046】
この態様では、ターゲットオブジェクトの各ターゲット関節点は、ターゲットオブジェクトの全関節点であってもよし、応用の必要に応じて選択された一部の関節点であってもよい。例えば、ターゲットオブジェクトは人であり、ターゲット関節点は人の全ての関節点であってもよいし、人の全ての関節点から特定の一部の関節点を選択してもよい。選択される関節点の数及び具体的に選択されるターゲット関節点は、実際のニーズに応じて設定されてもよい。例えば、ターゲットオブジェクトが人である場合、33個のターゲット関節点を設定してもよく、この33個のターゲット関節点は、胴体上のターゲット関節点(胴体関節点と称されてもよい)、両手の手関節点、両足の足関節点を含む。
【0047】
通常、各手関節点の3次元姿勢角による動作は相対的に細かく、各足関節点の3次元姿勢角による動作は相対的に粗く、足関節点の位置関係が胴体関節点の位置関係よりも一定であるため、胴体関節点は両足の足関節点を含んでもよく、即ち、胴体関節点及び手関節点を特定した場合、ターゲット関節点を取得することができる。
【0048】
好ましくは、胴体関節点と手関節点とは部分的に重複する関節点(なお、重複しなくてもよい)を有してもよい。例えば、胴体関節点は、左手首の関節点及び右手首の関節点を含んでもよく、左手の関節点も、左手首の関節点を含み、右手の関節点は、右手首の関節点を含んでもよい。一例として、上記の33個の関節点のうち、胴体上のターゲット関節点の数は23個であり、左手の関節点の数は6個であり、右手の関節点の数は6個である。
【0049】
好ましくは、第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定するステップは、以下のステップにより実現されてもよい。
【0050】
該フレーム画像に基づいて、3次元姿勢推定モデルにより、各ターゲット関節点の該フレーム画像における3次元姿勢角を決定する。
【0051】
第1の関節点の第2の座標系における該フレーム画像に対応する第2の3次元座標を決定する。第2の座標系は、ターゲットビデオに対応する画像座標系である。
【0052】
第1の関節点の第2の3次元座標及び座標変換関係に基づいて、第1の関節点の第1の3次元座標を決定する。ここで、座標変換関係は、第1の座標系と第2の座標系との変換関係である。
【0053】
第1の関節点の第1の3次元座標、及び各ターゲット関節点の3次元姿勢角のうちの第2の関節点に関連する3次元姿勢角に基づいて、第2の関節点の第1の3次元座標を決定する。
【0054】
好ましくは、第1の関節点の第1の3次元座標を、仮想オブジェクトの第1の関節点の3次元座標として決定してもよい。
【0055】
ここで、第2の関節点に関連する3次元姿勢角は、各ターゲット関節点の親子関係に基づいて、第1の関節点から第2の関節点に辿る過程において必要なターゲット関節点の3次元姿勢角であってもよい。
【0056】
ステップS122:第2の関節点の該フレーム画像に対応する第1の3次元座標及び該フレーム画像の直前のフレーム画像に対応する履歴3次元座標に基づいて、第2の関節点の変位オフセットを決定する。
【0057】
好ましくは、変位オフセットは、第2の関節点の該フレーム画像に対応する第1の3次元座標と履歴座標との間のユークリッド距離であってもよい。変位オフセットを決定することによって、該フレーム画像におけるターゲットオブジェクトの第2の関節点と該フレーム画像の直前のフレーム画像における第2の関節点との間の移動距離を決定することができる。
【0058】
ステップS123:該変位オフセットが設定値以下である場合、第2の関節点の第1の3次元座標及び履歴3次元座標に基づいて、第1の関節点の第1の3次元座標を補正し、第1の関節点のターゲット3次元座標を取得する。
【0059】
好ましくは、該方法は、変位オフセットが設定値よりも大きい場合、第1の関節点の第1の3次元座標を第1の関節点のターゲット3次元座標とするステップをさらに含んでもよい。
【0060】
好ましくは、設定値は、所定の固定値であってもよいし、ターゲットオブジェクトにより実行された所定の動作のうちの隣接する動作間の振幅に基づいて決定されてもよく、本発明はこれに限定されない。例えば、設定値を2~3cmに設定してもよい。
【0061】
1つの可能な態様では、ステップS123において、以下のステップを含んでもよい。
【0062】
第2の関節点の第1の3次元座標と履歴3次元座標との各次元における差を決定する。
【0063】
各次元に対応する差に基づいて、第1の関節点の第1の3次元座標のうちの対応する次元の座標を補正し、第1の関節点のターゲット3次元座標を取得する。
【0064】
好ましくは、第1の関節点の第1の3次元座標のうちの各次元の座標から、対応する次元に対応する差を減算して、第1の関節点のターゲット3次元座標を取得してもよい。或いは、各次元に対応する差の間の関係に基づいて、各次元に対応する重みを決定し、各次元に対応する重みに基づいて、第1の関節点の第1の3次元座標のうちの対応する次元の座標に対して重み付け処理を行い、第1の関節点のターゲット3次元座標を取得してもよい。このように、次元に対応する差が大きいほど、第1の関節点の第1の3次元座標のうちの該次元での座標値が調整される幅が大きくなる。
【0065】
ステップS124:第1の関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する。
【0066】
好ましくは、第1の関節点のターゲット3次元座標及び他の関節点の3次元姿勢角に基づいて、該フレーム画像における他の関節点の第1の座標系におけるターゲット3次元座標を決定する。ここで、他の関節点は、各ターゲット関節点のうちの第1の関節点及び第2の関節点以外の関節点である。
【0067】
各ターゲット関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する。
【0068】
ここで、上述したように、変位オフセットが設定値より大きい場合、第1の関節点のターゲット3次元座標が第1の関節点の第1の3次元座標として決定されると、第2の関節点のターゲット3次元座標は第2の関節点の履歴3次元座標となる。ステップS123において、該変位オフセットが設定値より小さく、第1の関節点の第1の3次元座標を補正して、第1の関節点のターゲット3次元座標を取得すると、第2の関節点のターゲット3次元座標は第2の関節点の第1の3次元座標となる。
【0069】
ターゲットオブジェクトの動作に基づいて該ターゲットオブジェクトに関連する仮想オブジェクトの3次元姿勢を決定する際に、画像取り込み機器により取り込まれたターゲットビデオに基づいて、仮想オブジェクトの3次元姿勢を決定してもよい。これによって、実現が簡単であり、ターゲットオブジェクトが複雑、重いウェアラブルデバイスを着用する必要がなく、システム全体の操作が簡単であり、コストが低く、且つターゲットオブジェクト(例えば俳優)に対する肢体制限が極めて小さく、従来のモーションキャプチャシステムの様々な制限を効果的に解決することができ、実際の応用需要をさらに満たすことができる。
【0070】
さらに、本発明の実施例では、各ターゲット関節点のうちの根ノードのターゲット3次元座標の決定において、第2の関節点の隣接する2つのフレーム画像に対応する変位オフセットの大きさを指定することによって、該変位オフセットに基づいて根ノードの現在のフレームに対応する第1の3次元座標を補正する必要があるか否かを判断してもよい。ここで、第2の関節点は、指定された第1の座標系における地面との相対的な位置関係が固定されたターゲット関節点、例えば爪先関節点であってもよい。これによって、ターゲットオブジェクトの誤移動による、仮想オブジェクトの足が移動中に空中に浮いており、或いは滑っていることなどの仮想オブジェクトの挙動の不自然さという問題を効果的に回避することができる。
【0071】
本発明の実施例によれば、ターゲットオブジェクトのビデオに基づいて、各ターゲット関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像における3次元姿勢角を決定することによって、仮想オブジェクトの3次元姿勢をより正確に決定し、仮想オブジェクトの実行動作の真実感を向上させ、仮想オブジェクトが人体モデルの3次元空間における実際の移動軌跡を復元するように効果的に駆動し、仮想オブジェクトの動作をより正確にさせ、移動をより自然でスムーズにさせることができる。
【0072】
図3aは、本発明の実施例に係るターゲットオブジェクトの姿勢を示す概略図である。
図3bは、本発明の実施例の仮想オブジェクトの姿勢を示す概略図である。
図3aに示すように、
図3aは各ターゲット関節点の3次元姿勢角をSMPL-Xモデルに入力することによって得られたターゲットオブジェクトの人体モデルであり、この人体モデルは様々な姿勢を示す。
図3bに示すように、ターゲットオブジェクトの該フレーム画像における姿勢に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を正確に決定することができる。本発明の実施例に係るデータ処理方法によれば、仮想オブジェクトがターゲットオブジェクトの3次元姿勢を復元するように効果的に駆動することができる。
【0073】
図4aは、本発明の実施例に係る第1の関節点の第1の3次元座標が第2の関節点の変位オフセットに基づいて補正されていない場合に決定された仮想オブジェクトの姿勢を示す概略図である。
図4bは、本発明の実施例に係る第1の関節点の第1の3次元座標が第2の関節点の変位オフセットに基づいて補正された場合に決定された仮想オブジェクトの姿勢を示す概略図である。
図4aに示すように、変位オフセットが設定値よりも小さい場合、補正を行わずに、第1の関節点の第1の3次元座標及び各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて仮想オブジェクトの姿勢を決定すると、仮想人物の足が地面に沈み込む現象が発生する。
図4bに示すように、第1の関節点の第1の3次元座標を補正し、補正後の3次元座標を第1の関節点のターゲット3次元座標とし、該フレーム画像における第1の関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定することによって、仮想人物の足を地面から離して地面から「引き抜く」ことができる。
【0074】
好ましくは、各ターゲット関節点の該フレーム画像における3次元姿勢角を決定する際に、まず、画像における胴体領域画像及び手領域(左手領域、右手領域)画像を決定し、3次元姿勢推定モデルを呼び出すことによって、胴体領域画像内の胴体関節点の3次元姿勢角、及び手領域画像内の手関節点の3次元姿勢角を決定してもよい。
【0075】
好ましくは、該フレーム画像における胴体領域画像及び手領域画像を特定する際に、2次元関節点検出モデルの検出結果に基づいて実現されてもよい。具体的には、2次元の関節点検出モデルにより該フレーム画像におけるターゲット関節点を検出することによって、該フレーム画像におけるターゲット関節点の位置に基づいて該フレーム画像を切り取り、胴体領域画像と手領域画像とを切り出してもよい。
【0076】
ここで、2次元関節点検出モデルは、大量の訓練サンプルを含む訓練データセットに基づいてニューラルネットワークモデルを訓練することによって取得されてもよい。ここで、本発明の実施例は、2次元関節点検出モデルの具体的なネットワーク構造に限定されず、実際の需要に応じて構成されてもよい。
【0077】
好ましくは、3次元姿勢推定モデルは、畳み込みニューラルネットワークに基づくモデルであってもよく、例えば、3次元姿勢推定モデルは、ResNet(残差ネットワーク)、InceptionNet(ディープラーニングニューラルネットワーク)、DenseNet(高密度ニューラルネットワーク)、VggNet(深層畳み込みニューラルネットワーク)、SENet(Squeeze-and-Excitation Networks:スクイーズ及び励起ネットワーク)などのモデル構造に基づくニューラルネットワークモデルを含んでもよいが、これらに限定されない。ここで、モデルの入力は1つのフレーム画像又は該フレーム画像をベクトル化処理した画像データであり、モデルの出力は該フレーム画像における関節点木又は複数の関節点のそれぞれの標識であり、ここで、モデルの出力は該フレーム画像における各関節点の2次元座標であってもよい。ここで、標識は数字、アルファベットなどであってもよく、本発明はこれに限定されない。
【0078】
好ましくは、2次元関節点検出モデルは、ResNetに基づくニューラルネットワークモデルであってもよく、大量の人体関節点検出データセットを用いて該ニューラルネットワークモデルに対して訓練を行い、訓練終了条件(例えば、モデルの損失関数の収束、検出精度が需要を満たすことなど)を満たす2次元キーポイント検出モデルを取得してもよい。
【0079】
図5は、本発明の実施例に係る1つのフレーム画像についての3次元姿勢の推定を示す概略図である。
図5に示すように、各ターゲット関節点により形成された最小外接矩形の第1の矩形領域(
図5に示す破線枠501で示す領域)を特定し、該フレーム画像における該第1の矩形領域に対応する第1の画像を切り出し、第1の画像をターゲットオブジェクトの該フレーム画像における胴体領域の画像としてもよい。
【0080】
好ましくは、該フレーム画像におけるターゲットオブジェクトの両手の手首関節点を中心として、所定の倍数の最小外接矩形の少なくとも1つの第2の矩形領域(
図5に示す実線枠502、503で示す領域)を特定し、該フレーム画像における該少なくとも1つの第2の矩形領域に対応する少なくとも1つの第2の画像を切り取り、少なくとも1つの第2の画像をターゲットオブジェクトの該フレーム画像における手領域の画像としてもよい。
【0081】
1つの可能な態様では、ターゲットビデオの各フレーム画像について、3次元姿勢推定モデルを呼び出すことによって、ターゲットオブジェクトの各対象関節点の該フレーム画像における3次元姿勢角を取得してもよい。
【0082】
好ましくは、ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角を取得した後、各ターゲット関節点の該フレーム画像における3次元姿勢角をSMPLモデルに入力し、該ターゲットオブジェクトの人体モデル、即ち、
図3aに示すターゲットオブジェクトの人体モデルを取得してもよい。
【0083】
ここで、3次元姿勢推定モデルは、多数のトレーニングサンプルを含むトレーニングデータセットに基づいてニューラルネットワークモデルをトレーニングして得られてもよい。ここで、本発明の実施例は、3次元姿勢推定モデルの具体的なネットワーク構造に限定されず、実際の需要に応じて構成されてもよい。好ましくは、3次元姿勢推定モデルは、畳み込みニューラルネットワークに基づくモデルであってもよく、例えば、3次元姿勢推定モデルは、ResNet、InceptionNet、DenseNet、VggNet、SENetなどのモデル構造に基づくニューラルネットワークモデルを含んでもよいが、これらに限定されない。ここで、モデルの入力は1つのフレーム画像又は該フレームの画像をベクトル化処理した画像データであり、モデルの出力は該フレームの画像における関節点の3次元姿勢角又は3次元座標である。
【0084】
本発明の好ましい実施例では、3次元姿勢推定モデルは、Human 3.6Mなどの複数の3次元姿勢データセットに基づいて、ResNetに基づくニューラルネットワークに対してFrankmocapアルゴリズムを用いてトレーニングして得られてもよい。ここで、Human3.6M 3次元姿勢データセットは、3D人体姿勢推定の最大データセットであり、360万個の姿勢及び対応するビデオフレームにより構成され、これらのビデオフレームは11人の俳優が4つのカメラ視野角から15個の日常活動を行うプロセスを含む。
【0085】
図5に示すように、該3次元姿勢推定モデルの入力がターゲットビデオにおける現在のフレーム画像であることを一例とすると、上記の決定された第1の画像及び少なくとも1つの第2の画像を3次元姿勢推定モデルに入力した後、第1の画像及び胴体3次元姿勢推定モデルにより胴体3次元姿勢推定504を実行し、ターゲットオブジェクトの胴体上のターゲット関節点の該フレーム画像における3次元姿勢角を決定してもよい。少なくとも1つの第2の画像及び手3次元姿勢推定モデルにより手3次元姿勢推定505を実行し、ターゲットオブジェクトの両手のターゲット関節点の該フレーム画像における3次元姿勢角を決定する。
【0086】
ターゲットオブジェクトの胴体上のターゲット関節点の該フレーム画像における3次元姿勢角及びターゲットオブジェクトの両手のターゲット関節点の該フレーム画像における3次元姿勢角を取得した後、部位統合モデル506により、胴体3次元姿勢推定モデルにより決定された両手の手首関節点(即ち、上記の左手の手首関節点及び右手の手首関節点)の3次元姿勢角と、ターゲットオブジェクトの胴体上のターゲット関節点の該フレーム画像における3次元姿勢角とに対して統合処理を行い、手3次元姿勢推定モデルにより決定された両手の手首関節点の3次元姿勢角と、両手のターゲット関節点の該フレーム画像における3次元姿勢角とに対して統合処理を行い、全身3次元姿勢507、即ち、ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角を取得してもよい。統合処理は、3次元姿勢角間の連結、平滑化などを含む。
【0087】
単一視点のターゲットビデオでは、ターゲットオブジェクトの一部の領域が遮蔽され、即ち、一部のターゲット関節点(即ち、欠落関節点)の3次元姿勢角又は3次元座標を正確に取得できないという問題が発生する可能性があるため、決定された仮想オブジェクトの姿勢の精度が低下してしまう。従って、該ターゲットビデオに関連する非ターゲットビデオに基づいて、欠落関節点の3次元姿勢角又は3次元座標を決定することによって、ターゲットビデオにより決定された各ターゲット関節点の初期3次元姿勢角を校正してもよい。
【0088】
1つの可能な態様では、少なくとも2つの取り込み視野角を有する画像取り込み機器により取り込まれた少なくとも2つのビデオを取得してもよい。ここで、少なくとも2つの取り込み視野角は、1つの第1の視野角及び少なくとも1つの第2の視野角を含み、ターゲットビデオは、第1の視野角に対応するビデオである。
【0089】
ここで、各画像取り込み機器がターゲットオブジェクトに対して画像取り込みを同時に行うように構成されてもよいし、各画像取り込み機器が異なる期間内にターゲットオブジェクトに対して画像取り込みを行うように構成されてもよいが、本発明はこれに限定されない。
【0090】
図6は、本発明の実施例に係る画像取り込み装置を示す概略図である。
図6に示すように、3つの同一のタイプの画像取り込み機器601、602、603によりターゲットオブジェクト604に対して同時に画像取り込みを行ってもよい。ここで、各画像取り込み機器601、602、603の取り込み視野角は120°であり、各画像取り込み機器601、602、603はターゲットオブジェクトを囲んで設置され、各画像取り込み機器601、602、603はターゲットオブジェクト604からの距離は等しく、各画像取り込み機器601、602、603は地面からの距離も等しい。これによって、ターゲットオブジェクト604を全ての画像取り込み機器601、602、603の取り込み視野角内に保持する。
【0091】
具体的には、この態様では、上記のステップS121、即ち、該フレーム画像に基づいて、ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角、並びに第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定するステップは、以下の操作により実現されてもよい。
【0092】
該フレーム画像に基づいて、ターゲットオブジェクトの該フレーム画像における各初期関節点を検出する。ここで、各ターゲット関節点は、各初期関節点を含む。
【0093】
該フレーム画像に基づいて、各ターゲット関節点の該フレーム画像における初期3次元姿勢角を決定する。
【0094】
初期関節点の数が各ターゲット関節点の総数に等しい場合、欠落関節点が存在しないと決定し、各ターゲット関節点の該フレーム画像における初期3次元姿勢角を、各ターゲット関節点の該フレーム画像における3次元姿勢角として決定する。ここで、欠落関節点は、各ターゲット関節点のうちの各初期ノード以外の関節点である。
【0095】
初期関節点の数が該各ターゲット関節点の総数よりも小さい場合、欠落関節点が存在すると決定し、非ターゲットビデオにおける該フレーム画像に対応する関連画像に基づいて、欠落関節点の3次元姿勢角を決定し、決定した欠落関節点の3次元姿勢角及び各初期関節点の初期3次元姿勢角を、各ターゲット関節点の該フレーム画像における3次元姿勢角として決定する。ここで、非ターゲットビデオは、少なくとも2つのビデオのうちのターゲットビデオ以外の少なくとも1つのビデオである。
【0096】
ここで、ターゲットビデオの各フレーム画像について、初期関節点は、該フレーム画像に基づいて決定され得るターゲット関節点である。上記の2次元関節点検出モデルを呼び出すことによって、ターゲットビデオの各フレーム画像における初期関節点を決定した後に、初期関節点の数を決定してもよい。
【0097】
ここで、該欠落関節点は、該各ターゲット関節点のうちの該各初期関節点以外の関節点である。初期関節点の数と各ターゲット関節点の総数との関係に基づいて、欠落関節点が存在するか否かを決定してもよい。初期関節点の数が各ターゲット関節点の総数よりも小さい場合、欠落関節点が存在すると決定する。初期関節点の数が各ターゲット関節点の総数に等しい場合、欠落関節点が存在しないと決定する。
【0098】
好ましくは、関連画像は、非ターゲットビデオにおけるフレーム画像に対応するタイムスタンプが同一の画像であってもよい。欠落関節点が存在すると決定された場合、上記の3次元姿勢推定モデルを呼び出すことによって、各ターゲット関節点の該フレーム画像における初期3次元姿勢角及び各ターゲット関節点の該関連画像における3次元姿勢角をそれぞれ決定してもよい。そして、各ターゲット関節点の該フレーム画像における初期3次元姿勢角に基づいて、初期関節点の3次元姿勢角を決定する。各ターゲット関節点の該関連画像における3次元姿勢角に基づいて、欠落関節点の3次元姿勢角を決定する。従って、初期関節点の3次元姿勢角及び欠落関節点の3次元姿勢角を、各ターゲット関節点の該フレーム画像における3次元姿勢角として決定する。
【0099】
図7aは、本発明の実施例に係る各ターゲット関節点の該フレーム画像における3次元姿勢角の決定を示す概略図である。
図7bは、本発明の実施例に係るシミュレーションされた欠落関節点が所在する領域を示す概略図である。
図7cは、本発明の実施例に係る姿勢校正後の3次元姿勢角を示す概略図である。
【0100】
図7aに示すように、実線枠701に示すように、ターゲットビデオの1つのフレーム画像では、ターゲットオブジェクトの左腕が身体の他の部分により遮蔽されているため、該フレーム画像により2次元関節点検出を行う際に、該ターゲットオブジェクトの左腕領域におけるターゲット関節点を検出することができない。なお、3次元姿勢推定モデルに基づいて予測を行い、全てのターゲット関節点の初期3次元姿勢角を取得し、SMPL-Xモデルによりターゲットオブジェクトの人体モデルを復元することができても、ターゲットオブジェクトの左腕領域のターゲット関節点の3次元姿勢角を正確に特定することができない。
【0101】
欠落関節点をより明確に示すために、本発明は、
図7aに基づいてシミュレーションを行い、
図7bに示す画像を取得した。
図7bから分かるように、該フレーム画像に基づいて、該ターゲットオブジェクトの遮蔽されている左腕の領域を完全に特定することができなく、即ち、該フレーム画像に基づいて該ターゲットオブジェクトの左腕の領域のターゲット関節点を検出することができない。例えば実線枠702に示すように、手首及び手が欠落している。
【0102】
関連画像に対して2次元関節点検出を行うことによって、欠落関節点の3次元姿勢角を正確に決定することができ、例えば実線枠703に示すように、手首と手の3次元姿勢角も正確に取得することができるため、ターゲットオブジェクトの各ターゲット関節点の3次元姿勢角を取得し、SMPL-Xモデルによりターゲットオブジェクトの人体モデル、即ち
図7cを復元することができる。
【0103】
異なる視野角の画像取り込み装置によりターゲットオブジェクトのビデオを取り込み、ターゲットビデオに基づいて決定されたターゲット関節点の初期3次元姿勢角における欠落関節点の初期3次元姿勢角を、非ターゲットビデオに基づいて決定された欠落関節点の3次元姿勢角に置き換えることによって、ターゲットビデオにより決定された各ターゲット関節点の初期3次元姿勢角を校正することができ、さらに仮想オブジェクトの姿勢をより正確に制御することができる。本発明に係るデータ処理方法では、少なくとも2つの画像取り込み装置により実現することができ、ウェアラブルセンサに依存する必要がなく、操作が簡単であり、コストが低い。
【0104】
好ましくは、第1の関節点の第2の座標系における該フレーム画像に対応する第2の3次元座標を決定するステップは、第1の関節点の該フレーム画像における3次元姿勢角に基づいて、第1の関節点の第2の3次元座標を決定するステップを含む。
【0105】
或いは、好ましくは、第1の関節点の第2の座標系における該フレーム画像に対応する第2の3次元座標を決定するステップは、以下のステップを含む。
【0106】
第1の関節点の該フレーム画像における画像位置に基づいて、第1の関節点の第2の座標系における2次元座標を決定する。
【0107】
該フレーム画像及び該フレーム画像の相関画像に基づいて、第1の関節点の奥行き方向の座標を推定する。
【0108】
2次元座標及び奥行き方向の座標に基づいて、第1の関節点の第2の3次元座標を決定する。
【0109】
ここで、ターゲットビデオは、単眼画像取り込み機器により取り込まれたビデオであり、相関画像は、該フレーム画像の直前のフレーム画像であり、或いは、ターゲットビデオは、両眼画像取り込み機器により取り込まれた2つのビデオのうちの一方のビデオであり、相関画像は、2つのビデオのうちの他方のビデオにおける該フレーム画像に対応する画像である。
【0110】
ここで、第1の関節点の該フレーム画像における3次元姿勢角を上記のSMPL-Xモデルに入力することによって、該第1の関節点の第2の3次元座標を決定してもよい。ここで、SMPL-Xモデルは、入力された各ターゲット関節点の3次元姿勢角に基づいて、各ターゲット関節点の3次元姿勢角に対応する動作の人体モデル及び各ターゲット関節点の第2の3次元座標を出力することができる。
【0111】
第1の関節点の第2の3次元座標をより正確に決定するために、第1の関節点の該フレーム画像における画像位置に基づいて、該第1の関節点の第2の座標系における2次元座標を決定してもよい。また、該フレーム画像におけるターゲットオブジェクトの第1の関節点の奥行き情報を推定することによって、該第1の関節点の奥行き方向の座標を取得して、該2次元座標及び該奥行き方向の座標に基づいて該フレーム画像における第1の関節点の第2の3次元座標を取得してもよい。
【0112】
好ましくは、上記の画像取り込み機器が単眼画像取り込み機器である場合、単眼奥行き推定アルゴリズムに基づいて、画像取り込み機器により取り込まれた現在の時刻に対応する画像(即ち、現在のフレーム画像)及び現在の時刻の直前の時刻に対応する画像(現在のフレーム画像の直前のフレーム画像)に基づいて、現在のフレーム画像におけるターゲットオブジェクトの奥行き情報を推定してもよい。ここで、単眼奥行き推定アルゴリズムは、コーデックに基づく単眼奥行き推定アルゴリズムであってもよく、即ち、訓練済みのニューラルネットワークモデルを用いて実現されてもよい。上記の画像取り込み機器が両眼画像取り込み機器である場合、両眼奥行き推定アルゴリズムに基づいて、画像取り込み機器により取り込まれた現在時刻の2枚の画像基づいて、現在のフレーム画像におけるターゲットオブジェクトの奥行き情報を決定してもよい。
【0113】
図2に示すように、上記の画像取り込み機器が単眼画像取り込み機器であると仮定すると、第1の関節点Aの2次元座標(x,y)及び推定されたターゲットオブジェクトの上記の奥行き情報zに基づいて、第1の関節点の第2の3次元座標path
pri(x,y,z)を決定してもよい。
【0114】
1つの可能な態様では、座標変換関係は、以下のステップにより取得されてもよい。
【0115】
2つの関連関節点の第2の3次元座標に基づいて、2つの関連関節点の第1の距離を決定する。ここで、2つの関連関節点は、各ターゲット関節点のうちの親子関係を有する2つの指定関節点である。
【0116】
該2つの関連関節点の第1の座標系における参照距離を取得する。
【0117】
第1の距離及び参照距離に基づいて、座標変換関係を決定する。
【0118】
好ましくは、各ターゲット関節点のうちの任意の2つの親子関係を有する関節点を上記の2つの関節点としてもよい。データ処理のデータ量を低減させ、データ処理の効率を向上させるために、2つの関連関節点は、直接的な親子関係を有する2つの関節点であってもよく、例えば、2つの関連関節点は、膝関節点及び足首関節点であってもよい。
【0119】
好ましくは、第1の関節点の第2の3次元座標を決定する上記の方法に従って、2つの関連関節点の第2の3次元座標をそれぞれ決定して、各関連関節点の第2の3次元座標に基づいて第1の距離h1を決定してもよい。
【0120】
好ましくは、任意のプログラミング可能な画像構築モデルにより仮想オブジェクトを構築し、例えば、仮想エンジンにより仮想オブジェクトを構築してもよい。仮想オブジェクトを構築した後、仮想オブジェクトの根ノードを該第1の座標系の原点に一致させ、2つの関連関節点の第2の座標系における参照距離h0を決定して、座標変換関係h1/h0を決定してもよい。
【0121】
このように、以下の式(1)に従って第1の関節点の第1の3次元座標を決定してもよい。
【0122】
【数1】
ここで、path
norm(x,y,z)は第1の関節点の第1の3次元座標を表し、path
pri(x,y,z)は第1の関節点の第2の3次元座標を表し、h
1/h
0は座標変換関係を表す。
【0123】
ターゲットビデオを取得する過程において、光学カメラの撮像誤差などにより、最終的に生成されたターゲットビデオに明らかなノイズがある。このノイズのあるターゲットビデオに基づいて仮想オブジェクトの姿勢を決定する際に、仮想オブジェクトに不自然又は異常な体の動作が出現し、仮想オブジェクトのターゲット関節点に揺れや異常な回転などが発生する可能性がある。
【0124】
これに対して、該方法は、具体的に、以下のステップに従って、各ターゲットゲート関節点の各次元における姿勢角シーケンスに対してフィルタリング処理をさらに実行してもよい。
【0125】
ターゲットビデオのフレームレートを取得する。
【0126】
ターゲットビデオのフレームレートに基づいて、関節点の2次元姿勢角のフィルタリングスライディングウィンドウ幅を決定する。
【0127】
この態様では、前記ターゲットビデオのフレームレートに基づいて、関節点の2次元姿勢角のフィルタリングスライディングウィンドウ幅を決定するステップは、以下のステップを含む。
【0128】
フレームレートに基づいて、スライディングウィンドウ幅の調整係数を決定する。
【0129】
フレームレートと調整係数との積に基づいて、初期スライディングウィンドウ幅を決定する。
【0130】
初期スライディングウィンドウ幅及び所定のスライディングウィンドウ幅のうちの大きい値を、フィルタリングスライディングウィンドウ幅として決定するステップ。
【0131】
ここで、スライド幅の調整係数は非線形係数であり、所定のスライディングウィンドウ幅は最小のスライディングウィンドウ幅である。
【0132】
例えば、以下の式(2)に従ってスライディングウィンドウ幅を計算してもよい。
【0133】
【数2】
ここで、win
widthはターゲットビデオのフィルタリングスライディングウィンドウ幅を表し、FPSはターゲットビデオのフレームレートを表し、
(外1)
は非線形係数を表し、nは所定の最小のスライディングウィンドウ幅を表し、実際の要求に応じて構成されてもよく(例えば経験値又は実験値であってもよい)、本発明はこれに限定されない。例えば、nを30に設定してもよい。
【0134】
フィルタリングスライディングウィンドウ幅に基づいて、各ターゲット関節点の各次元における姿勢角シーケンスに対してフィルタリング処理を行い、フィルタリング処理された姿勢角シーケンスを取得する。ここで、1つのターゲット関節点の1つの次元における姿勢角シーケンスは、該ターゲット関節点の該ターゲットビデオの各フレーム画像における該次元における2次元姿勢角を含む。
【0135】
図8は、本発明の実施例に係る1つのターゲット関節点の1つの次元の姿勢角シーケンスのフィルタリング処理の前後の対比を示す概略図である。
図8に示すように、横軸は、フレームインデックス(frame_idx)、即ち、該ビデオに含まれるフレーム画像の総数を表し、縦軸は、2次元姿勢角(θ)を表し、その単位は角度である。破線部801は、該ターゲット関節点の1つの次元の姿勢角シーケンスのフィルタリング処理前の曲線を示し、実線部802は、該ターゲット関節点の1つの次元の姿勢角シーケンスのフィルタリング処理後の曲線を示す。
図8における破線部801に示すように、該ノイズが存在することにより、各ターゲット関節点の各次元の姿勢角シーケンスにより形成された滑らかな曲線にバリが繰り返し発生し、一方、フィルタリング処理後の姿勢角シーケンスにより形成された曲線802は、バリがほとんど存在せず、バリを効率的に除去することができる。
【0136】
この態様では、第1の関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定するステップは、以下のステップを含んでもよい。
【0137】
各次元におけるフィルタリング後の姿勢角シーケンスに基づいて、各ターゲット関節点の該フレーム画像におけるフィルタリング後の3次元姿勢角を取得する。
【0138】
第1の関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像におけるフィルタリング後の3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する。
【0139】
図9aは、本発明の実施例に係るフィルタリング処理前の1つのフレーム画像におけるターゲットオブジェクトの3次元姿勢角を示す概略図である。
図9bは、本発明の実施例に係るフィルタリング処理後の1つのフレーム画像におけるターゲットオブジェクトの3次元姿勢角を示す概略図である。
【0140】
図9aの枠9a1に示すように、右手首に異常な回転姿勢が発生し、即ち、左手首が反転していることが分かる。
【0141】
図9bの枠9b1に示すように、各ターゲット関節点の各次元における姿勢角シーケンスに対してフィルタリング処理を行った結果、右手首が正常に回転するように復元し、人間工学的に正しい姿勢であることがわかる。
【0142】
各ターゲット関節点の各次元における姿勢角シーケンスに対してフィルタリング処理を行うことによって、各ターゲット関節点の3次元姿勢角を校正することができ、バリノイズを除去すると同時に各関節点の元の回転幅を保留することができ、さらにターゲット関節点に基づいて仮想オブジェクトの姿勢を制御することができる。
【0143】
カメラの性能が限られている場合、得られたビデオのフレームレートが低くなり、この際に得られた3次元姿勢シーケンスに明らかなタイムラグが発生するだけでなく、関節角の平滑化処理の際に、高周波数の回転量がノイズとして誤って平滑化され、姿勢精度が低下してしまう。
【0144】
そのため、1つの可能な態様では、該データ処理方法は、以下のステップをさらに含んでもよい。
【0145】
ターゲットビデオにおける各隣接フレームについて、隣接フレーム間のターゲットオブジェクトのオプティカルフロー情報を決定する。
【0146】
オプティカルフロー情報に基づいて、隣接フレーム間においてフレーム補完処理を行い、隣接フレーム間の少なくとも1つのフレーム補完画像を取得する。
【0147】
ターゲットビデオ及び各フレーム補完画像に基づいて、フレーム補完後のターゲットビデオを取得する。
【0148】
この態様では、ターゲットビデオの各画像フレームについてステップS121~S124をそれぞれ実行することは、フレーム補完後のターゲットビデオの各画像フレームについて上記のステップS121(即ち、該フレーム画像に基づいて、ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角、並びに第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定する)~ステップS124(第1の関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する)を実行することを含んでもよい。
【0149】
好ましくは、ターゲットオブジェクトのオプティカルフロー情報は、ターゲットオブジェクトのオプティカルフロー軌跡及びオプティカルフロー方向を含んでもよい。オプティカルフローのビデオフレーム補完アルゴリズムに基づいて、ターゲットビデオにおけるターゲットオブジェクトの隣接する2つのフレーム画像間のオプティカルフローの軌跡と方向を計算して、ターゲットオブジェクトのこれら2つのフレーム画像間の中間オプティカルフローの軌跡と方向を予測して、これら2つのフレーム画像間の中間フレームを取得し、フレーム補完後のターゲットビデオを取得してもよい。即ち、ターゲットビデオの元の時間長を変更することなく、ターゲットビデオの総フレーム数を効果的に増加し、ターゲットビデオのフレームレートを向上させ、ターゲットオブジェクトの隣接する2つのフレーム画像間の姿勢の一貫性を向上させることができる。これによって、各ターゲット関節点の各次元の姿勢角シーケンスに現れる明らかなタイムラグ、ターゲットオブジェクトのターゲット関節点の高周波数回転によるターゲット関節点の3次元姿勢角の誤った平滑化問題を有効に解決することができる。
【0150】
好ましくは、欠落関節点が存在すると決定された場合、非ターゲットビデオに対して上記のフレーム補完処理を行い、フレーム補完後の非ターゲットビデオを取得することによって、フレーム補完後の非ターゲットビデオにおける該フレーム画像に対応する関連画像に基づいて、欠落関節点の3次元姿勢角を決定する必要がある。
【0151】
ターゲットビデオに対してフレーム補完を行い、フレーム補完後のターゲットビデオの各フレーム画像に基づいて、第1の関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像における3次元姿勢角を決定し、さらに仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定することによって、仮想オブジェクトの隣接フレーム画像間の一貫性を向上させることができる。
【0152】
本発明の実施例に係るスキームの実用性をよりよく説明するために、以下は、該データ処理方法の具体的な応用シナリオを参照しながら本発明の実施例を説明する。該応用シナリオは、各種のゲーム、ファンタジー映画/ドラマの制作過程などである。該シナリオでは、俳優(即ち、上記のターゲットオブジェクト)が演技を行う際に、3つのカメラで該俳優の動作ビデオを撮影し、俳優の演技動作に応じてゲーム中の仮想人物の動きを駆動することができる。
図10は、本発明が適用されるデータ処理システム1000の構成の一例を示す概略図である。
図10に示すように、データ処理システム1000は、画像取り込み装置10、データ処理装置20、端末装置30及びネットワーク40を含んでもよい。
【0153】
ここで、画像取り込み装置10は、画像取り込みが可能な任意の電子機器のセットである。上記の
図6に示される画像取り込み方式を参照すると、画像取り込み装置10は、異なる取り込み視野角に対応する3つの画像取り込み機器601、602、603を含み、画像取り込み機器601、602、603は、ターゲットオブジェクト604を取り囲み、ターゲットオブジェクト604の周囲に均等に配置されている。ここで、3つの画像取り込み機器は、第1の視野角に対応する1つの第1の機器と、第2の視野角に対応する2つの第2の機器とを含み、該ターゲットビデオは、第1の機器により取り込まれたビデオであり、第2の装置により取り込まれたビデオは、非ターゲットビデオと称される。そして、画像取り込み装置10は、取り込まれたターゲットビデオ及び非ターゲットビデオをデータ処理装置20に送信する。
【0154】
データ処理装置20は、本発明の実施例に係る方法に従って、ターゲットビデオの各フレーム画像に基づいて、ターゲットオブジェクトに関連する仮想オブジェクトの各フレーム画像に対応する3次元姿勢を取得する。ここで、データ処理装置20は、ターゲットビデオの各フレーム画像について、ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角を決定するように、以下の処理を実行する。
【0155】
該ターゲットビデオの該フレーム画像に基づいて、該ターゲットオブジェクトの該フレーム画像における各初期関節点を検出する。該各ターゲット関節点は、該各初期関節点を含む。
【0156】
該ターゲットビデオの該フレーム画像に基づいて、該各ターゲット関節点の該フレーム画像における初期3次元姿勢角を決定する。
【0157】
該初期関節点の数が該各ターゲット関節点の総数に等しい場合、欠落関節点が存在しないと決定し、該各ターゲット関節点の該フレーム画像における初期3次元姿勢角を、該各ターゲット関節点の該フレーム画像における3次元姿勢角として決定する。
【0158】
該初期関節点の数が該各ターゲット関節点の総数よりも小さい場合、欠落関節点が存在すると決定し、非ターゲットビデオにおける該フレーム画像に対応する関連画像に基づいて、該欠落関節点の3次元姿勢角を決定し、決定した該欠落関節点の3次元姿勢角及び該各初期関節点の初期3次元姿勢角を、該各ターゲット関節点の該フレーム画像における3次元姿勢角として決定する。該非ターゲットビデオは、該少なくとも2つのビデオのうちの該ターゲットビデオ以外の少なくとも1つのビデオである。
【0159】
そして、データ処理装置20は、取得された仮想オブジェクトの各フレーム画像に対応する3次元姿勢を端末装置30に送信する。
【0160】
端末装置30には、仮想現実(VR)変換を実現可能なアプリケーションプログラムがインストールされており、取得された各フレーム画像における仮想オブジェクトの3次元姿勢に基づいて、仮想オブジェクトが対応する動作を実行するように駆動する。ユーザは、このアプリケーションプログラムを介して、仮想オブジェクトに対して制御命令を送信することができる。
【0161】
端末装置30は、ネットワーク40を介してデータ処理装置20に接続されている。データ処理装置20は、データベースを備えるサーバ又はサーバ群であってもよく、データベースには、多数のターゲット関節点の3次元姿勢角及び3次元座標が記憶されている。
【0162】
以下は、該システムを参照しながら本発明の好ましい実施例を説明する。
図11は、本発明の1つのシナリオの実施例に係るデータ処理方法を示すフローチャートである。該方法は、電子機器により実行され、例えば上記の
図10におけるデータ処理装置20により実行される。
図11に示すように、該方法は、ステップS901~S915を含んでもよい。
【0163】
ステップS901:同一のタイプの3つの画像取り込み機器により、同時に俳優に対して画像取り込みを行い、各画像取り込み機器により取り込まれたビデオを取得する。ここで、少なくとも2つの取り込み視野角は、1つの第1の視野角及び少なくとも1つの第2の視野角を含み、第1の視野角を主視野角として決定し、第2の視野角を補助視野角として決定し、第1の視野角に対応するビデオをターゲットビデオとして決定し、第2の視野角に対応するビデオを非ターゲットビデオとして決定する。
【0164】
ステップS902:各ビデオに対してフレーム補完を行い、フレーム補完後のターゲットビデオ及びフレーム補完後の非ターゲットビデオを取得する。
【0165】
フレーム補完後のターゲットビデオの各フレームの画像について以下のステップS903~S915を実行する。
【0166】
ステップS903:該フレーム画像を2次元関節点検出モデルに入力し、2次元関節点検出を行い、該フレーム画像における初期関節点を取得する。ここで、各ターゲット関節点の総数は24個とする。
【0167】
ステップS904:該フレーム画像を3次元姿勢推定モデルに入力し、各ターゲット関節点の該フレーム画像における初期3次元姿勢角を決定する。
【0168】
ステップS905:初期関節点の数が24に等しいか否かを決定する。
【0169】
ステップS906:初期関節点の数が24に等しくない場合、即ち、24よりも小さい場合、欠落関節点が存在すると決定し、フレーム補完後の非ターゲットビデオにおける該フレーム画像のタイムスタンプと同一の関連画像を3次元姿勢推定モデルに入力し、各対象関節点の該関連画像における3次元姿勢角を決定する。各ターゲット関節点の該関連画像における3次元姿勢角に基づいて欠落関節点の3次元姿勢角を決定し、さらに初期関節点の初期3次元姿勢角及び欠落関節点の3次元姿勢角を各ターゲット関節点の3次元姿勢角として決定する。
【0170】
ステップS907:初期関節点の数が24に等しい場合、欠落関節点が存在しないと決定し、各ターゲット関節点の該フレーム画像における初期3次元姿勢角を各ターゲット関節点の3次元姿勢角として決定する。
【0171】
ステップS908:上記の式(2)に従って、各ターゲット関節点の各次元における姿勢角シーケンスに対してフィルタリング処理を行い、フィルタリング処理後の姿勢角シーケンスを取得する。
【0172】
ステップS909:膝関節点及び足首関節点を2つの関連関節点として決定し、膝関節点の3次元姿勢角及び足首関節点の3次元姿勢角をSMPL-Xモデルにそれぞれ入力し、膝関節点の該フレーム画像に対応する第2の座標系における第2の3次元座標、及び足首関節点の第2の座標系における第2の3次元座標を決定し、膝関節点の第2の3次元座標と足首関節点の第2の3次元座標との間の第1の距離h1を計算する。
【0173】
ステップS910:上記の仮想エンジンにより仮想オブジェクトを構築し、仮想オブジェクトの腰関節点を該仮想オブジェクトが所在する第1の座標系の原点に一致させ、該仮想オブジェクトにおける膝関節点と足首関節点との間の距離h0、即ち、上記の参照距離を決定し、座標変換関係h1/h0を決定する。
【0174】
ステップS911:根ノードの第2の座標系における第2の2次元座標(x,y)を計算し、単眼奥行き推定アルゴリズムに従って、ターゲットビデオを取り込むための画像取り込み機器と現実の俳優との間の距離zを計算し、根ノードの第2の2次元座標pathpri(x,y,z)を決定し、式(1)に従って根ノードの第1の3次元座標pathnorm(x,y,z)を決定する。ここで、根ノードを上記の第1のノードとする。
【0175】
ステップS912:根ノードの第1の3次元座標及び各ターゲット関節点のフィルタリング後の3次元姿勢角を仮想エンジンに入力し、爪先関節点の該フレーム画像に対応する第1の3次元座標を決定する。ここで、爪先関節点を上記の第2の関節点とする。
【0176】
ここで、各関節点の各フレーム画像に対応する第1の3次元座標を仮想エンジンに記憶してもよいが、本発明は、具体的な記憶方法に限定されない。
【0177】
ステップS913:爪先関節点の該フレーム画像に対応する第1の3次元座標及び履歴3次元座標に基づいて、両者間のユークリッド距離(即ち、上記の変位オフセット)及び両者の各次元における差を決定し、両者間の距離が設定値、例えば2cm以下であるか否かを決定する。ここで、履歴3次元座標は、爪先関節点の該フレーム画像の直前のフレーム画像に対応する第1の3次元座標である。
【0178】
ステップS914:両者間の距離が設定値以下である場合、各次元に対応する差と根ノードの第1の3次元座標のうちの各次元の座標とを加算し、根ノードのターゲット3次元座標を取得し、根ノードのターゲット3次元座標を仮想オブジェクトの根ノードの3次元座標として決定し、仮想エンジンが他の関節点の3次元姿勢角に基づいて他の関節点のターゲット3次元座標を決定するように仮想エンジンを再度駆動し、さらに根ノードのターゲット3次元座標、第2の関節点の履歴3次元座標、他の関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する。ここで、他の関節点は、各ターゲット関節点のうちの根ノード及び爪先関節点以外の関節点である。
【0179】
ステップS915:両者間の距離が設定値よりも大きい場合、直接に根ノードの第1の3次元座標を仮想オブジェクトの根ノードのターゲット3次元座標として決定し、仮想エンジンが根ノードの第1の3次元座標及び他の関節点の3次元姿勢角に基づいて他の関節点のターゲット3次元座標を決定するように仮想エンジンを再度駆動し、さらに各ターゲット関節点のターゲット3次元座標、及び各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する。
【0180】
本発明の実施例は、本発明の実施例に係るデータ処理方法と同様な原理に基づいて、データ処理装置をさらに提供する。
図12は、本発明の実施例に係るデータ処理装置の構成の一例を示す概略図である。
図12に示すように、データ処理装置50は、ビデオ取得モジュール510及び姿勢決定モジュール520を含む。
【0181】
ビデオ取得モジュール510は、ターゲットオブジェクトのターゲットビデオを取得する。ここで、ターゲットオブジェクトは、少なくとも1つのフレーム画像を含む。
【0182】
姿勢決定モジュール520は、各フレーム画像について処理を実行し、該ターゲットオブジェクトに関連する仮想オブジェクトの各フレーム画像に対応する3次元姿勢を取得する。
【0183】
姿勢決定モジュール520は、該処理を実行する際に、該フレーム画像に基づいて、ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角、並びに第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定し、第1の関節点及び第2の関節点は各ターゲット関節点のうちの指定関節点であり、第1の座標系は仮想オブジェクトに対応する座標系であり、前記第1の関節点は前記各ターゲット関節点のうちの根ノードであり、第2の関節点の該フレーム画像に対応する第1の3次元座標及び該フレーム画像の直前のフレーム画像に対応する履歴3次元座標に基づいて、第2の関節点の変位オフセットを決定し、変位オフセットが設定値以下である場合、第2の関節点の第1の3次元座標及び履歴3次元座標に基づいて、第1の関節点の第1の3次元座標を補正し、第1の関節点のターゲット3次元座標を取得し、第1の関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する。
【0184】
好ましくは、姿勢決定モジュール520は、変位オフセットが設定値よりも大きい場合、第1の関節点の第1の3次元座標をターゲット3次元座標とする。
【0185】
好ましくは、姿勢決定モジュール520は、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する際に、第1の関節点のターゲット3次元座標及び他の関節点の3次元姿勢角に基づいて、該フレーム画像における他の関節点の第1の座標系におけるターゲット3次元座標を決定し、他の関節点は、各ターゲット関節点のうちの第1の関節点及び第2の関節点以外の関節点であり、各ターゲット関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像における3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する。
【0186】
好ましくは、姿勢決定モジュール520は、第1の関節点の第1の3次元座標を補正する際に、第1の座標系の各次元において、第2の関節点の前記第1の3次元座標と履歴3次元座標との差を決定し、各次元に対応する差に基づいて、第1の関節点の第1の3次元座標のうちの対応する次元の座標を補正し、第1の関節点のターゲット3次元座標を取得してもよい。
【0187】
好ましくは、データ処理装置50は、フィルタモジュールをさらに含む。フィルタモジュールは、ターゲットビデオのフレームレートを取得し、ターゲットビデオのフレームレートに基づいて、関節点の2次元姿勢角のフィルタリングスライディングウィンドウ幅を決定し、フィルタリングスライディングウィンドウ幅に基づいて、各ターゲット関節点の各次元における姿勢角シーケンスに対してフィルタリング処理を行い、フィルタリング処理後の姿勢角シーケンスを取得する。ここで、ターゲット関節点の次元における姿勢角シーケンスは、該ターゲット関節点のターゲットビデオの各フレーム画像における該次元における2次元姿勢角を含む。
【0188】
この態様では、姿勢決定モジュール520は、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定する際に、第1の関節点のターゲット3次元座標及び各ターゲット関節点の該フレーム画像におけるフィルタリング後の3次元姿勢角に基づいて、仮想オブジェクトの該フレーム画像に対応する3次元姿勢を決定してもよい。
【0189】
好ましくは、フィルタモジュールは、ターゲットビデオのフレームレートに基づいて、関節点の2次元姿勢角のフィルタリングスライディングウィンドウ幅を決定する際に、フレームレートに基づいて、スライディングウィンドウ幅の調整係数を決定し、フレームレートと調整係数との積に基づいて、初期スライディングウィンドウ幅を決定し、初期スライディングウィンドウ幅及び所定のスライディングウィンドウ幅のうちの大きい値を、フィルタリングスライディングウィンドウ幅として決定してもよい。
【0190】
好ましくは、姿勢決定モジュール520は、該フレーム画像に基づいて、ターゲットオブジェクトのフレーム画像における各ターゲット関節点の3次元姿勢角、並びに第1の関節点及び第2の関節点のそれぞれの第1の座標系における該フレーム画像に対応する第1の3次元座標を決定する際に、該フレーム画像に基づいて、3次元姿勢推定モデルにより、各ターゲット関節点の該フレーム画像における3次元姿勢角を決定し、第1の関節点の第2の座標系における該フレーム画像に対応する第2の3次元座標を決定し、第2の座標系はターゲットビデオに対応する画像座標系であり、第2の3次元座標及び座標変換関係に基づいて、第1の関節点の第1の3次元座標を決定し、座標変換関係は第1の座標系と第2の座標系との変換関係であり、第1の関節点の第1の3次元座標、及び各ターゲット関節点の3次元姿勢角のうちの第2の関節点に関連する3次元姿勢角に基づいて、第2の関節点の第1の3次元座標を決定してもよい。
【0191】
好ましくは、姿勢決定モジュール520は、第1の関節点の第2の座標系における該フレーム画像に対応する第2の3次元座標を決定する際に、第1の関節点の該フレーム画像における3次元姿勢角に基づいて、第1の関節点の第2の3次元座標を決定してもよい。
【0192】
或いは、姿勢決定モジュール520は、第1の関節点の該フレーム画像における画像位置に基づいて、第1の関節点の第2の座標系における2次元座標を決定し、該フレーム画像及び該フレーム画像の相関画像に基づいて、第1の関節点の奥行き方向の座標を推定し、2次元座標及び奥行き方向の座標に基づいて、第1の関節点の第2の3次元座標を決定してもよい。ここで、ターゲットビデオは、単眼画像取り込み機器により取り込まれたビデオであり、相関画像は、該フレーム画像の直前のフレーム画像であり、或いは、ターゲットビデオは、両眼画像取り込み機器により取り込まれた2つのビデオのうちの一方のビデオであり、相関画像は、2つのビデオのうちの他方のビデオにおける該フレーム画像に対応する画像である。
【0193】
好ましくは、姿勢決定モジュール520は、座標変換関係を決定する際に、2つの関連関節点の第2の3次元座標に基づいて、2つの関連関節点の第1の距離を決定し、2つの関連関節点は、各ターゲット関節点のうちの親子関係を有する2つの指定関節点であり、2つの関連関節点の第1の座標系における参照距離を取得し、第1の距離及び参照距離に基づいて、座標変換関係を決定してもよい。
【0194】
好ましくは、ビデオ取得モジュール510は、少なくとも2つの取り込み視野角を有する画像取り込み機器により取り込まれた少なくとも2つのビデオを取得してもよく、少なくとも2つの取り込み視野角は、1つの第1の視野角及び少なくとも1つの第2の視野角を含み、ターゲットビデオは、第1の視野角に対応するビデオである。
【0195】
この態様では、姿勢決定モジュール520は、フレーム画像に基づいて、ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角を決定する際に、該フレーム画像に基づいて、ターゲットオブジェクトの該フレーム画像における各初期関節点を検出し、各ターゲット関節点は各初期関節点を含み、該フレーム画像に基づいて、各ターゲット関節点の該フレーム画像における初期3次元姿勢角を決定し、初期関節点の数が各ターゲット関節点の総数に等しい場合、欠落関節点が存在しないと決定し、各ターゲット関節点の該フレーム画像における初期3次元姿勢角を、各ターゲット関節点の該フレーム画像における3次元姿勢角として決定し、初期関節点の数が各ターゲット関節点の総数よりも小さい場合、欠落関節点が存在すると決定し、非ターゲットビデオにおける該フレーム画像に対応する関連画像に基づいて、欠落関節点の3次元姿勢角を決定し、決定した欠落関節点の3次元姿勢角及び各初期関節点の初期3次元姿勢角を、各ターゲット関節点の該フレーム画像における3次元姿勢角として決定し、非ターゲットビデオは、少なくとも2つのビデオのうちのターゲットビデオ以外の少なくとも1つのビデオである。
【0196】
好ましくは、データ処理装置50は、ビデオフレーム補完モジュールをさらに含んでもよい。ビデオフレーム補完モジュールは、ターゲットビデオにおける各隣接フレームについて、隣接フレーム間のターゲットオブジェクトのオプティカルフロー情報を決定し、オプティカルフロー情報は、ターゲットオブジェクトのオプティカルフロー軌跡及びオプティカルフロー方向を含み、オプティカルフロー情報に基づいて、隣接フレーム間においてフレーム補完処理を行い、隣接フレーム間の少なくとも1つのフレーム補完画像を取得し、ターゲットビデオ及び各フレーム補完画像に基づいて、フレーム補完後のターゲットビデオを取得する。ここで、姿勢決定モジュール520は、フレーム補完後のターゲットビデオの各フレーム画像について処理を実行し、仮想オブジェクトの各フレーム画像に対応する3次元姿勢を取得する。本発明の実施例の装置は、本発明の実施例に係る方法を実行することができ、その実現原理は同様であり、本発明の実施例の装置の各モジュールにより実行される動作は、本発明の実施例の方法のステップに対応するものであり、装置の各モジュールの詳細な機能の説明は、上記の対応する方法の説明を参照してもよく、ここでその説明を省略する。
【0197】
図13は、本発明の実施例に係るデータ処理システムの構成の一例を示す概略図である。
図13に示すように、データ処理システム1300は、画像取り込み装置1310、データ処理装置1320及び端末装置1330を含む。
【0198】
画像取り込み装置1310は、ターゲットオブジェクトのターゲットビデオを取り込み、ターゲットビデオは少なくとも1つのフレーム画像を含む。
【0199】
データ処理装置1320は、画像取り込み装置により取り込まれたターゲットビデオに基づいて、上記の実施例に係る方法を実行することによって、ターゲットオブジェクトに関連する仮想オブジェクトのターゲットビデオの各フレーム画像に対応する3次元姿勢を取得し、取得した3次元姿勢を端末装置に送信する。
【0200】
端末装置1330は、取得された3次元姿勢に基づいて、仮想オブジェクトが対応する動作を実行するように駆動する。好ましくは、画像取り込み装置1310は、異なる取り込み視野角に対応する3つの画像取り込み機器を含み、3つの画像取り込み機器は、ターゲットオブジェクトを取り囲み、且つターゲットオブジェクトの周囲に均等に配置されている。ここで、3つの画像取り込み機器は、第1の視野角に対応する1つの第1の機器及び第2の視野角に対応する2つの第2の機器を含み、ターゲットビデオは、第1の機器により取り込まれたビデオである。
【0201】
好ましくは、上述したように、120°の取り込み視野角を有する3つの同一の型式の画像取り込み機器を用いて同時にターゲットオブジェクトに対して画像取り込みを行ってもよい。各画像取り込み機器はターゲットオブジェクトを囲んで配置され、各画像取り込み機器のターゲットオブジェクトからの距離は等しく、各画像取り込み機器の地面からの距離も等しい。これによって、ターゲットオブジェクトを全ての画像取り込み機器の取り込み視野角内に保持し、3つの画像取り込み機器が対象物を取り囲み、ターゲットオブジェクトの周囲に均等に配置される。
【0202】
データ処理装置1320は、ターゲットビデオの各フレーム画像について、ターゲットオブジェクトの各ターゲット関節点の該フレーム画像における3次元姿勢角を決定する際に、ターゲットビデオの該フレーム画像に基づいて、ターゲットオブジェクトの該フレーム画像における各初期関節点を検出し、各ターゲット関節点は各初期関節点を含み、ターゲットビデオの該フレーム画像に基づいて、各ターゲット関節点の該フレーム画像における初期3次元姿勢角を決定し、初期関節点の数が各ターゲット関節点の総数に等しい場合、欠落関節点が存在しないと決定し、各ターゲット関節点の該フレーム画像における初期3次元姿勢角を、各ターゲット関節点の該フレーム画像における3次元姿勢角として決定し、初期関節点の数が各ターゲット関節点の総数よりも小さい場合、欠落関節点が存在すると決定し、非ターゲットビデオにおける該フレーム画像に対応する関連画像に基づいて、欠落関節点の3次元姿勢角を決定し、決定した欠落関節点の3次元姿勢角及び各初期関節点の初期3次元姿勢角を、各ターゲット関節点の該フレーム画像における3次元姿勢角として決定し、非ターゲットビデオは、第1の機器及び第2の機器により取り込まれた少なくとも2つの視野角に対応する少なくとも2つのビデオのうちのターゲットビデオ以外の少なくとも1つのビデオである。
【0203】
本発明の実施例は、電子機器をさらに提供する。該電子機器は、コンピュータプログラムが記憶されたメモリと、プロセッサと、を含み、プロセッサは、上記のデータ処理方法を実現するようにコンピュータプログラムを実行する。
【0204】
図14は、本発明の実施例に係る電子機器の構成の一例を示す概略図である。1つの好ましい実施例では、電子機器を提供する。
図14に示すように、電子機器4000は、プロセッサ4001及びメモリ4003を含む。プロセッサ4001は、例えばバス4002を介してメモリ4003に接続される。好ましくは、電子機器4000は、データの送信及び/又はデータの受信など、電子機器と他の電子機器との間のデータ相互作用のために使用することができる送受信機4004をさらに含んでもよい。なお、実際の応用では、送受信機4004は、1つに限定されず、電子機器4000の構成は、本発明の実施例を限定するものではない。
【0205】
プロセッサ4001は、CPU(Central Processing Unit:中央処理装置)、汎用プロセッサ、DSP(Digital Signal Processor:データ信号プロセッサ)、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)、FPGA(Field Programmable Gate Array:フィールドプログラマブルゲートアレイ)、又は他のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェア構成要素、又はそれらの任意の組合せとすることができる。本明細書を参照しながら説明される様々な例示的な論理ブロック、モジュール、及び回路を実装又は実行することができる。プロセッサ4001は、例えば、1つ又は複数のマイクロプロセッサの組み合わせ、DSP及びマイクロプロセッサの組み合わせなどを含む、計算機能を実現する組み合わせであってもよい。
【0206】
バス4002は、上記のコンポーネント間で情報を通信する経路を含むことができる。バス4002は、PCI(Peripheral Component Interconnect:周辺機器コンポーネント相互接続規格)バス又はEISA(Extended Industry Standard Architecture:拡張工業標準構造)バスなどであってもよい。バス4002は、アドレスバス、データバス、制御バスなどに分けることができる。
図14では、説明の便宜上、太線で示しているが、バスが1本だけであったり、バスの種類が1種類であったりするわけではない。
【0207】
メモリ4003は、限定されるものではないが、ROM(Read Only Memory:読み取り専用ストレージ)又は静的情報及び命令を記憶することができる他のタイプの静的記憶装置、RAM(Random Access Memory:ランダムアクセスメモリ)又は情報及び命令を記憶することができる他のタイプの動的記憶装置であってもよく、EEPROM(Electrically Erasable Programmable Read Only Memory:電気的に消去可能なプログラマブル読み取り専用メモリ)、CD-ROM(Compact Disc Read Only Memory:読み取り専用CD)、又は他の光ディスク記憶装置、光ディスク記憶装置(圧縮ディスク、レーザーディスク、光ディスク、デジタル汎用ディスク、ブルーレイディスクなどを含む)、磁気ディスク記憶媒体、他の磁気記憶装置であってもよく、又はコンピュータプログラムを搬送又は記憶するために使用することができ、コンピュータによって読み取ることができる他の任意の媒体であってもよい。
【0208】
メモリ4003は、本発明の実施例を実行するコンピュータプログラムを記憶するためのものであり、プロセッサ4001によって実行が制御される。プロセッサ4001は、メモリ4003に記憶されたコンピュータプログラムを実行して、上記の方法の実施例に示されるステップを実施するように構成される。
【0209】
本発明の実施例は、コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、コンピュータプログラムは、プロセッサにより実行される際に、上記のデータ処理方法を実現する、記憶媒体を提供する。
【0210】
本発明の実施例は、コンピュータプログラムを含むコンピュータプログラム製品であって、コンピュータプログラムは、プロセッサにより実行される際に、上記のデータ処理方法を実現する、コンピュータプログラム製品をさらに提供する。
【0211】
本発明の実施例に係る方法と同様な原理に基づいて、本発明の実施例は、コンピュータ読み取り可能な記憶媒体に記憶されるコンピュータ命令を含む、コンピュータプログラム製品又はコンピュータプログラムをさら提供する。コンピュータ装置のプロセッサは、コンピュータ読み取り可能な記憶媒体からコンピュータ命令を読み取り、プロセッサは、コンピュータ装置が上記の本発明の任意の実施形態に提供される方法を実行するようにコンピュータ命令を実行する。
【0212】
なお、本発明の実施例のフローチャートでは、各操作ステップを矢印で示しているが、これらのステップの実行順序は、矢印で示す順序に限定されるものではない。本明細書に明示的に記載されていない限り、本発明の実施例の幾つかの実施シナリオにおいて、各フローチャートにおける実施ステップは、必要に応じて他の順序で実行されてもよい。さらに、各フローチャートのステップの一部又は全部は、実際の実施シナリオに基づいて、複数のサブステップ又は複数のステージを含むことができる。これらのサブステップ又はフェーズの一部又は全部は、同じ時点で実行されてもよく、これらのサブステップ又はフェーズの各サブステップ又はフェーズは、それぞれ異なる時点で実行されてもよい。実行時刻が異なるシナリオでは、これらのサブステップ又はフェーズの実行順序は、要求に応じて柔軟に構成することができ、本発明の実施例はこれに限定されない。
【0213】
なお、以上は本発明の一部の実施シナリオの好ましい実施形態に過ぎず、本発明の技術的思想から逸脱することなく、本発明の技術的思想に基づく他の同様の実施手段を採用するものは、本発明の実施例の範囲内である。
【国際調査報告】