IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ネクストドア カンパニー リミテッドの特許一覧

特表2024-5377993次元オブジェクトモデル生成装置及びその方法
<>
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図1
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図2
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図3
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図4
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図5
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図6
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図7
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図8
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図9
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図10
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図11
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図12
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図13
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図14
  • 特表-3次元オブジェクトモデル生成装置及びその方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-16
(54)【発明の名称】3次元オブジェクトモデル生成装置及びその方法
(51)【国際特許分類】
   G06T 17/20 20060101AFI20241008BHJP
   G06T 7/00 20170101ALI20241008BHJP
   G06T 7/50 20170101ALI20241008BHJP
   G06T 17/10 20060101ALI20241008BHJP
   G06N 3/04 20230101ALI20241008BHJP
   G06N 3/0464 20230101ALI20241008BHJP
   G06N 3/0455 20230101ALI20241008BHJP
【FI】
G06T17/20
G06T7/00 350C
G06T7/50
G06T17/10
G06N3/04 100
G06N3/0464
G06N3/0455
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024519589
(86)(22)【出願日】2022-01-20
(85)【翻訳文提出日】2024-04-22
(86)【国際出願番号】 KR2022001020
(87)【国際公開番号】W WO2023048347
(87)【国際公開日】2023-03-30
(31)【優先権主張番号】10-2021-0127251
(32)【優先日】2021-09-27
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】524118786
【氏名又は名称】ネクストドア カンパニー リミテッド
【氏名又は名称原語表記】NEXTDOOR CO., LTD
(74)【代理人】
【識別番号】110000383
【氏名又は名称】弁理士法人エビス国際特許事務所
(72)【発明者】
【氏名】ユン グァンヨル
(72)【発明者】
【氏名】パク ヘヨン
(72)【発明者】
【氏名】リ サンキ
(72)【発明者】
【氏名】チャン ウーリ
(72)【発明者】
【氏名】キム ミョンヒョン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA08
5L096CA02
5L096DA02
5L096FA10
5L096FA12
5L096FA59
5L096FA60
5L096FA64
5L096FA66
5L096FA67
5L096FA69
5L096FA73
5L096HA11
5L096JA11
5L096JA22
5L096KA04
(57)【要約】
3次元オブジェクトモデル生成装置及びその方法が提供される。本開示のいくつかの実施例に係る3次元オブジェクトモデル生成装置は、対象オブジェクトの2次元イメージから抽出された2次元スケルトン情報を取得し、ディープラーニングモジュールを介して、2次元スケルトン情報を3次元スケルトン情報に変換し、変換された3次元スケルトン情報に基づいて、対象オブジェクトに対する3次元モデルを生成することができる。これによって、2次元イメージから対象オブジェクトに対する3次元モデルが正確に生成され得る。
【選択図】図5
【特許請求の範囲】
【請求項1】
1つ以上のインストラクション(instructions)を格納するメモリと、
前記格納された1つ以上のインストラクションを実行することによって、
対象オブジェクトの2次元イメージから抽出された2次元スケルトン情報を取得する動作、
ディープラーニングモジュールを介して、前記2次元スケルトン情報を3次元スケルトン情報に変換する動作、及び
前記3次元スケルトン情報に基づいて、前記対象オブジェクトに対する3次元モデルを生成する動作を行うプロセッサと、を含む、3次元オブジェクトモデル生成装置。
【請求項2】
前記ディープラーニングモジュールは、
GCN(Graph Convolutional Networks)ベースのモジュールであり、
前記2次元スケルトン情報の入力を受けて特徴データを抽出するエンコーダと、前記抽出された特徴データをデコードして前記3次元スケルトン情報を出力するデコーダとを含む、請求項1に記載の3次元オブジェクトモデル生成装置。
【請求項3】
前記エンコーダは、ダウンサンプリングプロセスを行って、抽象化レベルが異なる複数の特徴データを抽出し、
前記デコーダは、前記複数の特徴データを用いてアップサンプリングプロセスを行う、請求項2に記載の3次元オブジェクトモデル生成装置。
【請求項4】
前記プロセッサは、前記2次元イメージから前記2次元スケルトン情報以外の他のオブジェクト情報をさらに取得し、
前記変換する動作は、
前記2次元スケルトン情報及び前記他のオブジェクト情報を前記ディープラーニングモジュールに入力して前記3次元スケルトン情報を取得する動作を含む、請求項1に記載の3次元オブジェクトモデル生成装置。
【請求項5】
前記他のオブジェクト情報は、
骨の長さを含む骨情報、
関節の角度を含む関節情報、及び
身体部位の面積を含む身体部位情報のうちの少なくとも1つを含む、請求項4に記載の3次元オブジェクトモデル生成装置。
【請求項6】
前記ディープラーニングモジュールは、追加のオブジェクト情報のうちの第1オブジェクト情報の入力を受ける第1ディープラーニングモジュールと、第2オブジェクト情報の入力を受ける第2ディープラーニングモジュールとを含み、
前記取得する動作は、
前記第1ディープラーニングモジュールを介して出力された第1スケルトン情報と、前記第2ディープラーニングモジュールを介して出力された第2スケルトン情報とを総合して、前記3次元スケルトン情報を取得する動作を含む、請求項4に記載の3次元オブジェクトモデル生成装置。
【請求項7】
前記ディープラーニングモジュールは、学習用2次元スケルトン情報から予測された3次元スケルトン情報と正解情報との誤差に基づいて学習されたものであり、
前記誤差は、重心の誤差、骨の長さの誤差、及び関節の角度の誤差のうちの少なくとも1つを含む、請求項1に記載の3次元オブジェクトモデル生成装置。
【請求項8】
前記ディープラーニングモジュールは、オブジェクトのドメイン情報に基づいて補正された2次元スケルトン情報を用いて学習されたものであり、
前記補正は、スケルトンを構成するキーポイント間の新規連結線の追加及び連結線の強化のうちの少なくとも1つを含み、
前記ドメインは、オブジェクトの動作特性に基づいて区分されるように定義されたものである、請求項1に記載の3次元オブジェクトモデル生成装置。
【請求項9】
前記ディープラーニングモジュールの学習用2次元スケルトン情報は、連続するフレームのイメージから抽出された2次元スケルトン情報を、キーポイントの移動速度に基づいてキーポイント間の連結線を補正することによって生成されたものである、請求項1に記載の3次元オブジェクトモデル生成装置。
【請求項10】
前記ディープラーニングモジュールは複数個であり、
前記変換する動作は、
前記複数個のディープラーニングモジュールのうち、前記対象オブジェクトのドメインに対応するディープラーニングモジュールを決定する動作、及び
前記決定されたディープラーニングモジュールを介して、前記2次元スケルトン情報を前記3次元スケルトン情報に変換する動作を含み、
前記ドメインは、オブジェクトの動作特性に基づいて区分されるように定義されたものである、請求項1に記載の3次元オブジェクトモデル生成装置。
【請求項11】
前記変換する動作は、
前記2次元スケルトン情報及び前記対象オブジェクトのドメイン情報を前記ディープラーニングモジュールに入力して、前記3次元スケルトン情報を取得する動作を含み、
前記ドメインは、オブジェクトの動作特性に基づいて区分されるように定義されたものである、請求項1に記載の3次元オブジェクトモデル生成装置。
【請求項12】
前記プロセッサは、
前記2次元イメージから前記2次元スケルトン情報以外の他のオブジェクト情報をさらに取得し、
前記他のオブジェクト情報に基づいて、生成された3次元モデルを補正する動作をさらに行い、
前記補正する動作は、
前記生成された3次元モデルから3次元スケルトン情報を抽出する動作、
前記他のオブジェクト情報に応じて、前記抽出された3次元スケルトン情報を補正する動作、及び
補正された3次元スケルトン情報に基づいて、前記対象オブジェクトに対する3次元モデルを再び生成する動作を含む、請求項1に記載の3次元オブジェクトモデル生成装置。
【請求項13】
コンピューティング装置で行われる方法であって、
対象オブジェクトの2次元イメージから抽出された2次元スケルトン情報を取得するステップと、
ディープラーニングモジュールを介して、前記2次元スケルトン情報を3次元スケルトン情報に変換するステップと、
前記3次元スケルトン情報に基づいて、前記対象オブジェクトに対する3次元モデルを生成するステップとを含む、3次元オブジェクトモデル生成方法。
【請求項14】
コンピューティング装置と結合されて、
対象オブジェクトの2次元イメージから抽出された2次元スケルトン情報を取得するステップと、
ディープラーニングモジュールを介して、前記2次元スケルトン情報を3次元スケルトン情報に変換するステップと、
前記3次元スケルトン情報に基づいて、前記対象オブジェクトに対する3次元モデルを生成するステップとを実行させるために、コンピュータで読み取り可能な記録媒体に格納された、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、3次元オブジェクトモデル生成装置及びその方法に関し、より詳細には、2次元イメージから対象オブジェクトに対する3次元モデルを生成する装置、及びその装置で行われる方法に関する。
【背景技術】
【0002】
3次元モデルを用いると、対象オブジェクトの姿勢、動作などがさらに精密かつ正確に分析され得る。これによって、ゴルフ、リハビリ治療などの分野において、人の3次元モデルを用いてユーザ動作(例えば、スイング動作、リハビリ運動動作)の正確度を分析しようとする試みがなされている。また、その一環として、人の動作を撮影した2次元イメージから人に対する3次元モデルを生成する方法に関する研究も活発に行われている。
【0003】
最近は、複数の2次元イメージを用いて対象オブジェクトを3次元にモデリングする方法が提案されている。提案された方法は、カメラを回転させながら対象オブジェクトを撮影して複数の2次元イメージを取得し、取得された2次元イメージを総合して、対象オブジェクトに対する3次元モデルを生成している。しかし、提案された方法は、互いに異なる回転角度で撮影された多数の2次元イメージを要求するため、様々な分野で幅広く活用されにくく、単一の時点の2次元イメージからは3次元モデルを生成できないという明確な限界がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示のいくつかの実施例を通じて解決しようとする技術的課題は、2次元イメージから対象オブジェクトに対する3次元モデルを正確に生成することができる装置、及びその装置で行われる方法を提供することである。
【0005】
本開示のいくつかの実施例を通じて解決しようとする他の技術的課題は、2次元スケルトン情報を3次元スケルトン情報に正確に変換することができる方法を提供することである。
【0006】
本開示のいくつかの実施例を通じて解決しようとする更に他の技術的課題は、2次元スケルトン情報を3次元スケルトン情報に正確に変換することができるディープラーニングモジュールを提供することである。
【0007】
本開示の技術的課題は、以上で言及した技術的課題に制限されず、言及していない他の技術的課題は、以下の記載から、本開示の属する技術分野における通常の技術者に明確に理解されるであろう。
【課題を解決するための手段】
【0008】
上記の技術的課題を解決するための、本開示のいくつかの実施例に係る3次元オブジェクトモデル生成装置は、1つ以上のインストラクション(instructions)を格納するメモリと、前記格納された1つ以上のインストラクションを実行することによって、対象オブジェクトの2次元イメージから抽出された2次元スケルトン情報を取得する動作、ディープラーニングモジュールを介して、前記2次元スケルトン情報を3次元スケルトン情報に変換する動作、及び前記3次元スケルトン情報に基づいて、前記対象オブジェクトに対する3次元モデルを生成する動作を行うプロセッサと、を含むことができる。
【0009】
いくつかの実施例において、前記ディープラーニングモジュールは、GCN(Graph Convolutional Networks)ベースのモジュールであり、前記2次元スケルトン情報の入力を受けて特徴データを抽出するエンコーダと、前記抽出された特徴データをデコードして前記3次元スケルトン情報を出力するデコーダとを含むことができる。
【0010】
いくつかの実施例において、前記プロセッサは、前記2次元イメージから前記2次元スケルトン情報以外の他のオブジェクト情報をさらに取得し、前記変換する動作は、前記2次元スケルトン情報及び前記他のオブジェクト情報を前記ディープラーニングモジュールに入力して前記3次元スケルトン情報を取得する動作を含むことができる。
【0011】
いくつかの実施例において、前記ディープラーニングモジュールは、学習用2次元スケルトン情報から予測された3次元スケルトン情報と正解情報との誤差に基づいて学習されたものであり、前記誤差は、重心の誤差、骨の長さの誤差、及び関節の角度の誤差のうちの少なくとも1つを含むことができる。
【0012】
いくつかの実施例において、前記ディープラーニングモジュールは、オブジェクトのドメイン情報に基づいて補正された2次元スケルトン情報を用いて学習されたものであり、前記補正は、スケルトンを構成するキーポイント間の新規連結線の追加及び連結線の強化のうちの少なくとも1つを含むことができる。このとき、前記ドメインは、オブジェクトの動作特性に基づいて区分されるように定義されたものであってもよい。
【0013】
いくつかの実施例において、前記プロセッサは、前記2次元イメージから前記2次元スケルトン情報以外の他のオブジェクト情報をさらに取得し、前記他のオブジェクト情報に基づいて、生成された3次元モデルを補正する動作をさらに行い、前記補正する動作は、前記生成された3次元モデルから3次元スケルトン情報を抽出する動作、前記他のオブジェクト情報に応じて、前記抽出された3次元スケルトン情報を補正する動作、及び前記補正された3次元スケルトン情報に基づいて、前記対象オブジェクトに対する3次元モデルを再び生成する動作を含むことができる。
【0014】
上述した技術的課題を解決するための、本開示のいくつかの実施例に係る3次元オブジェクトモデル生成方法は、コンピューティング装置で行われる方法であって、対象オブジェクトの2次元イメージから抽出された2次元スケルトン情報を取得するステップと、ディープラーニングモジュールを介して、前記2次元スケルトン情報を3次元スケルトン情報に変換するステップと、前記3次元スケルトン情報に基づいて、前記対象オブジェクトに対する3次元モデルを生成するステップとを含むことができる。
【0015】
上述した技術的課題を解決するための、本開示のいくつかの実施例に係るコンピュータプログラムは、コンピューティング装置と結合されて、対象オブジェクトの2次元イメージから抽出された2次元スケルトン情報を取得するステップと、ディープラーニングモジュールを介して、前記2次元スケルトン情報を3次元スケルトン情報に変換するステップと、前記3次元スケルトン情報に基づいて、前記対象オブジェクトに対する3次元モデルを生成するステップとを実行させるために、コンピュータで読み取り可能な記録媒体に格納されてもよい。
【発明の効果】
【0016】
上述した本開示のいくつかの実施例によれば、対象オブジェクトの2次元イメージから抽出された様々なオブジェクト情報を用いて、対象オブジェクトに対する3次元モデルが正確に生成され得る。例えば、対象オブジェクトの姿勢情報、形状情報、骨情報、関節情報、身体部位情報などを用いることによって、対象オブジェクトに対する3次元モデルが正確に生成され得る。さらに、生成された3次元モデルを介して、対象オブジェクトの姿勢、動作などがさらに正確に分析され得る。
【0017】
また、単一視点の2次元イメージから、対象オブジェクトに対する3次元モデルが正確に生成され得る。
【0018】
また、2次元スケルトン情報が3次元スケルトン情報に変換され、3次元スケルトン情報及びオブジェクト情報に基づいて、対象オブジェクトに対する3次元モデルが生成され得る。これによって、対象オブジェクトに対する3次元モデルがさらに正確に生成され得る。例えば、2次元イメージに閉塞又は歪みが存在するなどの理由により、2次元スケルトン情報に一部誤りが存在する場合にも、3次元スケルトン情報を介して、対象オブジェクトに対する3次元モデルが正確に生成され得る。また、2次元スケルトン情報に誤りがほとんどないとしても、深さ次元のスケルトン情報をさらに用いることによって、より一層完成度の高い3次元モデルが生成され得る。
【0019】
また、グラフ構造のデータに適したGCN(Graph Convolutional Networks)ベースの変換モジュールを用いることによって、2次元スケルトン情報が3次元スケルトン情報に正確に変換され得る。
【0020】
また、重心の誤差、骨の長さの誤差、関節の角度の誤差などのような様々な誤差に基づいて変換モジュールを学習させることによって、スケルトン情報の変換の正確度を大きく向上させることができる。
【0021】
また、ドメインの動作特性を反映して補正された2次元スケルトン情報を用いて変換モジュールを学習させることによって、スケルトン情報の変換の正確度をさらに向上させることができる。
【0022】
また、2次元イメージから抽出されたオブジェクト情報などを用いて3次元モデルを補正することによって、対象オブジェクトに対する3次元モデルがさらに精巧に生成され得る。
【0023】
本開示の技術的思想による効果は、以上で言及した効果に制限されず、言及されていない他の効果は、以下の記載から通常の技術者に明確に理解されるであろう。
【図面の簡単な説明】
【0024】
図1】本開示のいくつかの実施例に係る3次元オブジェクトモデル生成装置及びその入出力データを説明するための例示的な図である。
図2】本開示の第1実施例に係る3次元オブジェクトモデル生成方法を概略的に示す例示的なフローチャートである。
図3】本開示の第1実施例に係る3次元オブジェクトモデル生成方法を補足説明するための例示的な図である。
図4】本開示のいくつかの実施例に係る2次元スケルトン情報の抽出方式を説明するための例示的な図である。
図5】本開示の第2実施例に係る3次元オブジェクトモデル生成方法を概略的に示す例示的なフローチャートである。
図6】本開示の第2実施例に係る3次元オブジェクトモデル生成方法を補足説明するための例示的な図である。
図7】本開示のいくつかの実施例に係る変換モジュールの構造及び学習方法を説明するための例示的な図である。
図8】本開示のいくつかの実施例に係る変換モジュールの構造及び学習方法を説明するための例示的な図である。
図9】本開示のいくつかの実施例に係る変換モジュールの構造及び学習方法を説明するための例示的な図である。
図10】本開示のいくつかの実施例に係る変換モジュールの構造及び学習方法を説明するための例示的な図である。
図11】本開示の第1実施例に係るスケルトン情報の変換の正確度の向上方法を説明するための例示的な図である。
図12】本開示の第2実施例に係るスケルトン情報の変換の正確度の向上方法を説明するための例示的な図である。
図13】本開示の第3実施例に係る3次元オブジェクトモデル生成方法を概略的に示す例示的なフローチャートである。
図14】本開示の第3実施例に係る3次元オブジェクトモデル生成方法を補足説明するための例示的な図である。
図15】本開示のいくつかの実施例に係る3次元オブジェクトモデル生成装置を具現できる例示的なコンピューティング装置を示す図である。
【発明を実施するための形態】
【0025】
以下、添付の図面を参照して、本開示の好ましい実施例を詳細に説明する。本開示の利点及び特徴、そして、それらを達成する方法は、添付の図面と共に詳細に後述されている実施例を参照すると明らかになるであろう。しかし、本開示の技術的思想は、以下の実施例に限定されるものではなく、互いに異なる様々な形態で実現可能であり、単に以下の実施例は、本開示の技術的思想が完全になるようにし、本開示の属する技術分野における通常の知識を有する者に本開示の範疇を完全に知らせるために提供されるものであり、本開示の技術的思想は、請求項の範疇によって定義されるだけである。
【0026】
各図面の構成要素に参照符号を付加するにおいて、同一の構成要素に対しては、たとえ他の図面上に表示されても、可能な限り同一の符号を有するようにしていることに留意しなければならない。また、本開示を説明するにおいて、かかる公知の構成又は機能についての具体的な説明が本開示の要旨を不明瞭にする可能性があると判断される場合には、その詳細な説明を省略する。
【0027】
他に定義されなければ、本明細書で使用されるすべての用語(技術及び科学的用語を含む)は、本開示の属する技術分野における通常の知識を有する者が共通して理解できる意味として使用され得る。また、一般に使用される辞書に定義されている用語は、明白に特に定義されていない限り、理想的又は過度に解釈されない。本明細書で使用された用語は、実施例を説明するためのものであり、本開示を制限しようとするものではない。本明細書において、単数形は文句で特に言及しない限り、複数形も含む。
【0028】
また、本開示の構成要素を説明するにおいて、第1、第2、A、B、(a)、(b)などの用語を使用することができる。このような用語は、その構成要素を他の構成要素と区別するためのものに過ぎず、その用語によって当該構成要素の本質や順番又は順序などが限定されるものではない。ある構成要素が他の構成要素に「連結」、「結合」又は「接続」されると記載された場合、その構成要素は、他の構成要素に直接的に連結又は接続され得るが、各構成要素の間にまた他の構成要素が「連結」、「結合」又は「接続」されることもあると理解されるべきである。
【0029】
本開示で使用される「含む(comprises)」及び/又は「含む~(comprising)」は、言及された構成要素、段階、動作及び/又は素子以外の一つ以上の他の構成要素、段階、動作及び/又は素子の存在又は追加を排除しない。
【0030】
以下、本開示の様々な実施例について、添付の図面を参照して詳細に説明する。
【0031】
図1は、本開示のいくつかの実施例に係る3次元オブジェクトモデル生成装置1及びその入出力データを説明するための例示的な図である。
【0032】
図1に示されたように、3次元オブジェクトモデル生成装置1は、対象オブジェクト(target object)の2次元イメージ3の入力を受け、対象オブジェクトに対する3次元モデル5を生成して出力するコンピューティング装置であり得る。例えば、3次元オブジェクトモデル生成装置1は、対象オブジェクトを撮影した2次元イメージ3から、対象オブジェクトに対する3次元メッシュ(mesh)モデル5を生成することができる。3次元オブジェクトモデル生成装置1が3次元モデル5を生成する具体的な方法に関しては、後で図2以下の図面を参照して詳細に説明する。以下では、説明の便宜上、3次元オブジェクトモデル生成装置1を「生成装置1」と略称する。
【0033】
2次元イメージ3は、対象オブジェクトに関するイメージであって、連続する複数のフレームのイメージで構成されたビデオイメージ(図3の30参照)、特定のフレームのイメージ、単一のイメージなどであり得る。例えば、2次元イメージ3は、対象オブジェクトの動作をビデオカメラで撮影することによって取得されたビデオイメージ、またはビデオイメージを構成する特定のフレームのイメージであってもよい。
【0034】
対象オブジェクトのタイプは、図示のように人であってもよいが、本開示の範囲がこれに限定されるものではなく、対象オブジェクトは、他のタイプのオブジェクト(例えば、動物)であってもよい。但し、理解の便宜を提供するために、以下では、対象オブジェクトのタイプが「人」であると仮定して説明を続ける。
【0035】
3次元モデル5のタイプは、図示のようにメッシュモデルであってもよいが、本開示の範囲がこれに限定されるものではなく、3次元モデル5は、他のタイプのモデル(例えば、ボクセル(voxel)モデル)であってもよい。但し、理解の便宜を提供するために、以下では、3次元モデル5のタイプが「メッシュモデル」であると仮定して説明を続ける。
【0036】
いくつかの実施例では、生成装置1が3次元モデル5を用いて対象オブジェクトの動作を分析することもできる。具体的には、生成装置1は、対象オブジェクトの動作が撮影されたビデオイメージ(即ち、複数のフレームのイメージ)から、対象オブジェクトの動作を模写する3次元モデル(例:5)を連続的に生成することができる。そして、生成装置1は、3次元モデル(例:5)を分析して、対象オブジェクトの動作をさらに精密かつ正確に判断することができる。例えば、生成装置1は、人オブジェクトの動作を模写する3次元モデル(例:5)を分析することによって、動作の正確度を判断することができる。より具体的な例として、生成装置1は、ゴルフ動作、リハビリ運動動作などのように人が行う運動動作の正確度を判断することができる。また、正確度が基準値以下である場合、生成装置1は、正確な運動動作を模写する3次元モデルを生成して提供することもできる。
【0037】
一方、図1は、生成装置1が一つのコンピューティング装置で具現されたことを例として示しているが、生成装置1は、複数のコンピューティング装置で具現されてもよい。例えば、生成装置1の第1機能は第1コンピューティング装置で具現され、第2機能は第2コンピューティング装置で具現されてもよい。または、生成装置1の特定の機能が複数のコンピューティング装置で具現されてもよい。
【0038】
コンピューティング装置は、例えば、ノートパソコン、デスクトップ(desktop)、ラップトップ(laptop)などであってもよいが、これに限定されるものではなく、コンピューティング機能が備えられたあらゆる種類の装置を含むことができる。コンピューティング装置の一例示に関しては、図15を参照する。
【0039】
以上、図1を参照して、本開示のいくつかの実施例に係る生成装置1及びその入出力データについて説明した。以下では、図2以下の図面を参照して、生成装置1で行われ得る3次元オブジェクトモデル生成方法について詳細に説明する。
【0040】
以下で後述する3次元オブジェクトモデル生成方法の各ステップは、コンピューティング装置(例:1)のプロセッサによって実行可能な1つ以上のインストラクション(instructions)で実現され得る。例えば、後述する方法の各ステップは、生成装置1のプロセッサによって実行可能な1つ以上のインストラクションで実現され得る。以下では、理解の便宜を提供するために、後述する方法の全てのステップが、図1に例示された生成装置1によって行われると仮定して説明を続ける。したがって、特定のステップ(動作)の主語が省略された場合、生成装置1によって行われるものと理解され得る。但し、場合によっては、後述する方法の一部のステップは、他のコンピューティング装置で行われてもよい。
【0041】
図2は、本開示の第1実施例に係る3次元オブジェクトモデル生成方法を概略的に示す例示的なフローチャートである。但し、これは、本開示の目的を達成するための好ましい実施例に過ぎず、必要に応じて一部のステップが追加又は削除されてもよいことは勿論である。
【0042】
図2に示されたように、本実施例に係る方法は、2次元イメージからオブジェクト情報を抽出するステップS120から始まり得る。具体的には、図3に示されたように、生成装置1は、抽出モジュール10を介して、対象オブジェクトの2次元イメージ31から様々なオブジェクト情報32を抽出することができる。2次元イメージ31は、例えば、ビデオイメージ30を構成する複数のフレームのイメージのうちの1つであってもよい。
【0043】
オブジェクト情報32は、例えば、姿勢(pose)情報、形状(shape)情報、方向(orientation)情報、身体部位(body part)情報、動作情報、骨情報、関節情報などを含むことができるが、これに限定されるものではない。
【0044】
姿勢情報は、例えば、姿勢のクラス(class)、2次元スケルトンなどに関する情報を含むことができるが、これに限定されるものではない。また、2次元スケルトン情報は、例えば、関節などの部位に対応するキーポイント(key-point)の2次元位置座標及びキーポイントの連結情報を含むことができるが、これに限定されるものではない。
【0045】
また、形状情報は、身体の全体又は部位の形状あるいは体積などに関する情報を含むことができるが、これに限定されるものではない。
【0046】
また、方向情報は、対象オブジェクト又はカメラの方向などに関する情報を含むことができるが、これに限定されるものではない。
【0047】
また、身体部位情報は、身体部位別の面積、重心などに関する情報を含むことができるが、これに限定されるものではない。
【0048】
また、動作情報は、動作クラス、キーポイントの移動速度などに関する情報を含むことができるが、これに限定されるものではない。
【0049】
また、骨情報は、骨の長さ、方向性などに関する情報を含むことができるが、これに限定されるものではない。骨の長さは、例えば、2次元スケルトンを構成するキーポイント間の距離に基づいて算出されてもよいが、これに限定されるものではない。
【0050】
また、関節情報は、関節の角度などに関する情報を含むことができるが、これに限定されるものではない。関節の角度は、例えば、2次元スケルトンを構成するキーポイントがなす角度に基づいて算出されてもよいが、これに限定されるものではない。
【0051】
抽出モジュール10は、オブジェクト情報32に対する抽出機能を備えたモジュールであって、いかなる方式で具現されても構わない。例えば、抽出モジュール10は、イメージ分析に特化されたCNN(Convolutional Neural Networks)ベースのディープラーニングモジュールとして具現されてもよく、またはディープラーニングをベースとしないイメージ分析モジュール(例:エッジ検出モジュールなど)として具現されてもよい。
【0052】
また、抽出モジュール10は、複数個のモジュールで構成されてもよい。例えば、抽出モジュール10は、対象オブジェクトの姿勢情報(例:2次元スケルトン情報)を抽出するモジュール、身体部位情報を抽出するモジュールなどを含むように構成されてもよい。
【0053】
より具体的な例として、図4に示されたように、抽出モジュール10は、CPM(Convolutional Pose Machine)ベースのディープラーニングモジュール11を含むことができ、生成装置1は、ディープラーニングモジュール11を介して、2次元イメージ31において関節などに対応する複数のキーポイント(例:34)を検出することによって、2次元スケルトン情報35を抽出することができる。上述したように、2次元スケルトン情報35は、検出されたキーポイント(例:34)及びその2次元座標(例:X,Y)で構成された情報であってもよい。当該技術分野の従事者であれば、CPMの構造及び動作原理について熟知しているはずであるので、これについての説明は省略する。
【0054】
再び図2を参照して説明する。
【0055】
ステップS140において、抽出されたオブジェクト情報に基づいて、対象オブジェクトに対する3次元モデルが生成され得る。具体的には、図3に示されたように、生成装置1は、生成モジュール20を介して、オブジェクト情報32から対象オブジェクトに対する3次元モデル33を生成することができる。
【0056】
生成モジュール20は、オブジェクト情報32に基づいて3次元モデルを生成するモジュールであって、いかなる方式で具現されても構わない。例えば、生成モジュール20は、オブジェクト情報32をパラメータとして用いて、対象オブジェクトに対する3次元メッシュモデルを生成(レンダリング)するモジュールであってもよい。より具体的な例として、対象オブジェクトが人である場合、生成モジュール20は、例えば、SMPL(Skinned Multi-Person Linear Model)ベースのモジュールであってもよい。しかし、これに限定されるものではない。当該技術分野の従事者であれば、SMPLについて熟知しているはずであるので、これについての説明は省略する。
【0057】
以上、図2乃至図4を参照して、本開示の第1実施例に係る3次元オブジェクトモデル生成方法について説明した。上述した方法によれば、2次元イメージから姿勢情報(例:2次元スケルトン情報)、身体部位情報、形状情報などのような様々なオブジェクト情報を抽出し、抽出されたオブジェクト情報を用いることによって、対象オブジェクトに対する3次元モデルが正確に生成され得る。
【0058】
以下では、図5乃至図12を参照して、本開示の第2実施例に係る3次元オブジェクトモデル生成方法について説明する。但し、本開示を明瞭にするために、先の実施例と重複する内容についての説明は省略する。
【0059】
図5は、本開示の第2実施例に係る3次元オブジェクトモデル生成方法を概略的に示す例示的なフローチャートである。但し、これは、本開示の目的を達成するための好ましい実施例に過ぎず、必要に応じて一部のステップが追加又は削除されてもよいことは勿論である。
【0060】
図5に示されたように、本実施例に係る方法は、2次元スケルトン情報を3次元スケルトン情報に変換することによって、対象オブジェクトに対する3次元モデルをさらに正確に生成する方法に関する。
【0061】
図示のように、本実施例に係る方法も対象オブジェクトの2次元イメージからオブジェクト情報を抽出するステップS220から始まり得る。具体的には、図6に示されたように、生成装置1は、抽出モジュール10を介して、2次元イメージ51からオブジェクト情報52を抽出することができる。本ステップS220は、上述したステップS120と同一であるので、これについての説明は省略する。
【0062】
ステップS240において、2次元スケルトン情報が3次元スケルトン情報に変換され得る。具体的には、図6に示されたように、生成装置1は、変換モジュール40を介して、2次元スケルトン情報を3次元スケルトン情報に変換することができる。例えば、生成装置1は、2次元スケルトン情報及びオブジェクト情報52を変換モジュール40に入力し、変換モジュール40から3次元スケルトン情報を取得することができる。ここで、3次元スケルトン情報は、キーポイントの位置座標が3次元座標(即ち、深さ情報をさらに含む)からなるスケルトン情報を意味することができる。
【0063】
本開示の様々な実施例において、変換モジュール40は、2次元スケルトン情報を3次元スケルトン情報に変換するように学習されたディープラーニングモジュールであってもよい。変換モジュール40の構造及び学習方法に関しては、後で図7乃至図12を参照して詳細に説明する。
【0064】
再び図5を参照して説明する。
【0065】
ステップS260において、3次元スケルトン情報及びそれ以外の他のオブジェクト情報に基づいて、対象オブジェクトに対する3次元モデルが生成され得る。具体的には、図6に示されたように、生成装置1は、生成モジュール20を介して、3次元スケルトン情報及び他のオブジェクト情報52から、対象オブジェクトに対する3次元モデル53を生成することができる。このような場合、対象オブジェクトの3次元モデル53がさらに正確に生成され得るところ、これは、3次元スケルトン情報が追加情報(即ち、深さ情報)を提供することができ、2次元スケルトン情報を3次元スケルトン情報に変換する過程において、2次元スケルトン情報に含まれた誤りが補正され得るためである。例えば、2次元イメージに閉塞(occlusion)又は歪みが存在する場合、2次元スケルトン情報に一部誤りが含まれ得るが、変換モジュール40がオブジェクト情報52を反映して3次元スケルトン情報を生成する過程でこのような誤り情報が補正され得る。
【0066】
ステップS260は、上述したステップS140とほとんど同一であるので、これ以上の説明は省略する。
【0067】
以下では、図7乃至図12を参照して、変換モジュール40の構造、学習方法及び変換の正確度の向上方法に関する様々な実施例について説明する。また、理解の便宜を提供するために、図面によって変換モジュール40の参照番号を変更しながら説明を続ける。
【0068】
上述したように、変換モジュール40は、2次元スケルトン情報を3次元スケルトン情報に変換するように学習されたディープラーニングモジュールであり得る。具体的には、変換モジュール40は、オブジェクト情報(即ち、2次元スケルトン情報以外のオブジェクト情報;図6のFeature)を考慮して、2次元スケルトン情報を3次元スケルトン情報に変換するように学習されたディープラーニングモジュールであり得る。
【0069】
変換モジュール40は、様々なタイプのディープラーニングモジュールとして具現されてもよい。
【0070】
いくつかの実施例では、図7に示されたように、変換モジュール41が、GCN(Graph Convolutional Networks)ベースのディープラーニングモジュールとして具現され得る。このような場合、変換モジュール41の性能(即ち、変換の正確度)が大きく向上することができるところ、これは、2次元スケルトン情報61がグラフ構造を有するので、GCNを用いれば、2次元スケルトン情報61に内包された特徴がよく抽出され得るためである。また、オブジェクト情報(例:52)も、キーポイント(即ち、グラフのノード)、またはキーポイント間の関係(即ち、グラフのエッジ)に関する特徴情報であるので(例:骨情報は、エッジの特徴情報と見られる)、GCNを用いれば、2次元スケルトン情報61とオブジェクト情報(例:52)を総合的に考慮して、情報の変換に必要な特徴がよく抽出され得るためである。当該技術分野の従事者であれば、GCNの構造及び動作原理について十分に熟知しているはずであるので、これについての詳細な説明は省略する。本実施例において、2次元スケルトン情報61は、隣接マトリックス63(Adj-M)及びフィーチャマトリックス62(Fea-M)の形態で変換モジュール41に入力され得る。例えば、キーポイントの連結情報は隣接マトリックス63の形態で入力され、キーポイントの位置座標はフィーチャマトリックス62の形態で入力されてもよい。また、様々なオブジェクト情報(例:52)もフィーチャマトリックス(例:62)の形態で変換モジュール41に入力されてもよい。
【0071】
変換モジュール40の細部構造は多様に設計及び具現され得る。
【0072】
いくつかの実施例では、図8に示されたように、変換モジュール42がエンコーダE(Encoder)及びデコーダD(Decoder)構造のディープラーニングモジュールとして具現され得る。このようなディープラーニングモジュールの例としては、オートエンコーダ(auto-encoder)、VAE(Variational AutoEncoder)、U-net、W-netなどが挙げられるが、本開示の範囲がこれに限定されるものではない。本実施例において、エンコーダEは、入力された2次元スケルトン情報71及びオブジェクト情報(図示せず)から特徴データ(例:潜在ベクトル)を抽出することができ、デコーダDは、抽出された特徴データをデコードして3次元スケルトン情報72を出力することができる。そして、エンコーダE及び/又はデコーダDは、GCNをベースとしてなされ得る。
【0073】
また、いくつかの実施例では、図9に示されたように、変換モジュール43を構成するエンコーダU及びデコーダUが概念的にU字型構造を有することができる。そして、エンコーダU及び/又はデコーダUは、GCNをベースとしてなされ得る。本実施例において、エンコーダUは、入力された2次元スケルトン情報及びオブジェクト情報に対してダウンサンプリング(down-sampling)プロセスを行って、抽象化レベルが異なる複数の特徴データ(例:73~75)を抽出することができる。例えば、エンコーダUは、複数のGCNブロック(レイヤ)を介してグラフ畳み込み(graph convolution)演算を繰り返して行うことによって、さらに集約された特徴を有するデータ(例:特徴データ75は、特徴データ74よりも集約された特徴を含んでいる)を連続的に抽出することができる。そして、デコーダUは、抽出された複数の特徴データ(例:73~75)に対してアップサンプリング(up-sampling)プロセスを行うことができる。本実施例に係る変換モジュール43は、エンコーダUによって抽出された特徴データ(例:73~75)及びデコーダUによって生成された特徴データ(例:76,77)を共に活用することによって、高い変換正確度を保障することができる。場合によって、変換モジュール43は、図9に例示されたU字型構造が繰り返して形成されているW字型構造を有してもよい。
【0074】
変換モジュール40は、1つ以上のディープラーニングモジュールで構成され得る。
【0075】
いくつかの実施例では、変換モジュール40が1つのディープラーニングモジュールで構成されてもよい。例えば、変換モジュール40は、2次元スケルトン情報及び様々なオブジェクト情報(例:骨情報、関節情報、身体部位情報など)の入力を受け、3次元スケルトン情報を出力するように学習されたディープラーニングモジュールであってもよい。このような場合、変換モジュール40は、様々なオブジェクト情報を総合的に考慮して2次元スケルトン情報を3次元スケルトン情報に変換できるようになる。
【0076】
他のいくつかの実施例では、変換モジュール40が、互いに異なるオブジェクト情報の入力を受ける複数個のディープラーニングモジュールで構成されてもよい。例えば、図10に示されたように、変換モジュール40が、互いに異なるオブジェクト情報82,84の入力を受ける第1ディープラーニングモジュール44及び第2ディープラーニングモジュール45を含むように構成されてもよい。ここで、第1ディープラーニングモジュール44は、2次元スケルトン情報81及び第1オブジェクト情報82(例:骨情報)の入力を受けて3次元の第1スケルトン情報83を出力することができ、第2ディープラーニングモジュール45は、2次元スケルトン情報81及び第2オブジェクト情報84(例:関節情報)の入力を受けて3次元の第2スケルトン情報85を出力することができる。このような場合、生成装置1は、第1スケルトン情報83と第2スケルトン情報85を総合(例:平均など)し、生成モジュール20に入力される3次元スケルトン情報を算出することができる。参考までに、ディープラーニングモジュール44,45がGCNベースのモジュールである場合、オブジェクト情報82,84は、フィーチャマトリックスの形態でディープラーニングモジュール44,45に入力され得る。
【0077】
変換モジュール40は、学習用2次元スケルトン情報、学習用オブジェクト情報及び正解情報(即ち、3次元スケルトン正解情報)で構成された学習データを用いて学習され得る。例えば、変換モジュール40は、学習用2次元スケルトン情報及び学習用オブジェクト情報から予測された3次元スケルトン情報(以下、「予測情報」と略称する)と正解情報との誤差を減少させる方向に学習され得る。但し、具体的な誤差の種類は、実施例によって変わり得る。
【0078】
いくつかの実施例において、変換モジュール40は、重心の誤差に基づいて学習されてもよい。ここで、重心の誤差は、予測情報から算出された重心と正解情報から算出された重心との差に基づいて算出され得る。または、重心の誤差は、変換モジュール40に入力された学習用2次元スケルトン情報から算出された重心と、予測情報から算出された重心との差に基づいて算出されてもよい。本実施例において、重心の誤差は、身体部位別に算出されてもよいが、本開示の範囲がこれに限定されるものではない。本実施例によれば、変換モジュール40が、入力された2次元スケルトン情報の重心をさらに考慮して、3次元スケルトン情報を予測できるようになる。
【0079】
また、いくつかの実施例において、変換モジュール40は、骨の長さの誤差に基づいて学習されてもよい。ここで、骨の長さの誤差は、予測情報から算出された骨の長さと、正解情報から算出された骨の長さとの差に基づいて算出され得る。上述したように、骨の長さは、キーポイント間の距離に基づいて算出され得る。本実施例によれば、変換モジュール40が、入力された2次元スケルトン情報または骨情報による骨の長さをさらに考慮して、3次元スケルトン情報を予測できるようになる。
【0080】
また、いくつかの実施例において、変換モジュール40は、関節の角度の誤差に基づいて学習されてもよい。ここで、関節の角度の誤差は、予測情報から算出された関節の角度と、正解情報から算出された関節の角度との差に基づいて算出され得る。本実施例によれば、変換モジュール40が、入力された2次元スケルトン情報または関節情報による関節の角度をさらに考慮して、3次元スケルトン情報を予測できるようになる。
【0081】
また、いくつかの実施例において、変換モジュール40は、対称誤差に基づいて学習されてもよい。例えば、変換モジュール40に入力された学習用2次元スケルトンが対称構造を有する場合(例:上下対称、左右対称)、予測された3次元スケルトンの対称の程度に基づいた誤差を減少させる方向に変換モジュール40が学習され得る。本実施例によれば、対称構造を有する2次元スケルトンに対する変換の正確度がさらに向上することができる。
【0082】
また、いくつかの実施例において、変換モジュール40は、プロジェクション(projection)誤差に基づいて学習されてもよい。ここで、プロジェクション誤差は、プロジェクション演算を通じて予測情報から生成された2次元スケルトン情報と、変換モジュール40に入力された学習用2次元スケルトン情報との差に基づいて算出され得る。本実施例によれば、プロジェクション誤差をさらに学習することによって、変換モジュール40の性能がさらに向上することができる。
【0083】
また、いくつかの実施例において、変換モジュール40は、上述した様々な実施例の組み合わせに基づいて学習されてもよい。
【0084】
以下では、図11及び図12を参照して、スケルトン情報の変換の正確度をさらに向上させることができる方法について説明する。
【0085】
まず、図11を参照して、本開示の第1実施例に係るスケルトン情報の変換の正確度の向上方法について説明する。
【0086】
図11に示されたように、本実施例は、ドメインの動作特性を用いて補正された2次元スケルトン情報91を用いて変換モジュール46を学習させることによって、スケルトン情報の変換の正確度を向上させる方法に関する。
【0087】
具体的には、対象オブジェクトのドメインは、対象オブジェクトの動作特性に基づいて区分されるように定義され得る。言い換えると、共通の動作特性を共有するオブジェクトが、同一のドメインに属することができる。例えば、対象オブジェクトのドメインは、サッカー(即ち、サッカーの動作と関連するオブジェクト)、ゴルフ、リハビリ治療などのように区分されてもよい。他の例として、対象オブジェクトのドメインは、足の動作(即ち、足の動作と関連するオブジェクト)、手の動作などのように区分されてもよい。更に他の例として、対象オブジェクトのドメインは、ゴルフと関連する第1動作、ゴルフと関連する第2動作などのようにさらに細分化された形態で定義されてもよい。
【0088】
前記のような場合、ドメインの動作特性に基づいて、学習用2次元スケルトン情報91が補正され得る。そして、補正された2次元スケルトン情報92を用いて変換モジュール46を学習させることによって、変換モジュール46の性能を向上させることができる。このとき、2次元スケルトン情報91の補正は、例えば、スケルトンを構成するキーポイント間の新規連結線の追加、連結線の強化(例:連結線を示す隣接マトリックスの値の増幅)などを含むことができるが、本開示の範囲がこれに限定されるものではない。
【0089】
例えば、図示のように、対象オブジェクトのドメインがゴルフであると仮定する。すると、ゴルフ動作の特性上、両手がよく利用されるので、2次元スケルトン情報91において、両手に対応するキーポイント間に新規連結線93を追加したり、手の部位に対応するキーポイントの連結線を強化したりする方式で補正が行われてもよい。そして、補正された2次元スケルトン情報92を用いて変換モジュール46が学習され得る。このような場合、変換モジュール46が、ゴルフドメインの動作と関連する身体部位にさらに集中して3次元スケルトン情報94を予測するようになるので、変換モジュール46の性能(即ち、スケルトン情報の変換の正確度)が大きく向上することができる。
【0090】
他の例として、対象オブジェクトのドメインがサッカーであると仮定しよう。すると、サッカーの動作の特性上、足がよく利用されるので、2次元スケルトン情報において、両足に対応するキーポイント間に新規連結線を追加したり、足の部位に対応するキーポイントの連結線を強化したりする方式で補正が行われてもよい。
【0091】
参考までに、学習された変換モジュール46を用いて2次元スケルトン情報を3次元スケルトン情報に変換する過程においても、対象オブジェクトのドメイン情報に基づいて2次元スケルトン情報が補正され、補正された2次元スケルトン情報が変換モジュール46に入力され得る。
【0092】
以下では、図12を参照して、本開示の第2実施例に係るスケルトン情報の変換の正確度の向上方法について説明する。
【0093】
図12に示されたように、本実施例は、対象オブジェクトのドメイン別に変換モジュール47,48を構築することによって、スケルトン情報の変換の正確度を向上させる方法に関する。
【0094】
例えば、第1ドメインに属する学習データを学習して第1変換モジュール47が構築され、第2ドメインに属する学習データを学習して第2変換モジュール48が構築されてもよい。このような場合、第1変換モジュール47は、入力された2次元スケルトン情報94を、第1ドメインの特性(例:動作特性)が反映された3次元スケルトン情報95に変換できるようになり、第2変換モジュール48は、入力された2次元スケルトン情報96を、第2ドメインの特性が反映された3次元スケルトン情報97に変換できるようになる。
【0095】
本実施例において、生成装置1は、複数個の変換モジュール47,48のうち、対象オブジェクトのドメインに対応する変換モジュールを決定し、決定された変換モジュールを介して、2次元スケルトン情報を3次元スケルトン情報に変換することができる。
【0096】
以下では、本開示の第3実施例に係るスケルトン情報の変換の正確度の向上方法について説明する。
【0097】
本実施例では、ドメイン情報を含む学習データで変換モジュール40を学習させることによって、スケルトン情報の変換の正確度を向上させる方法に関する。
【0098】
具体的には、学習用2次元スケルトン情報、オブジェクト情報、ドメイン情報及び正解情報で構成された学習データを用いて変換モジュール40が学習され得る。例えば、学習用2次元スケルトン情報、オブジェクト情報及びドメイン情報が変換モジュール40に入力され、変換モジュール40が予測した3次元スケルトン情報と正解情報との誤差を減少させる方向に変換モジュール40が学習され得る。このような場合、変換モジュール40が、対象オブジェクトのドメイン特性(例:動作特性)を反映して、2次元スケルトン情報を3次元スケルトン情報に変換できるようになる。
【0099】
参考までに、学習された変換モジュール40を用いて2次元スケルトン情報を3次元スケルトン情報に変換する過程においても、対象オブジェクトのドメイン情報が変換モジュール40に入力され得る。
【0100】
以下では、本開示の第4実施例に係るスケルトン情報の変換の正確度の向上方法について説明する。
【0101】
本実施例は、スケルトンを構成するキーポイントの移動速度に基づいて補正された2次元スケルトン情報を用いて変換モジュール40を学習させることによって、スケルトン情報の変換の正確度を向上させる方法に関する。
【0102】
具体的には、対象オブジェクトの2次元イメージが、連続する複数のフレームのイメージで構成された場合、2次元スケルトン情報と共に、キーポイントの移動速度が抽出され得る。そして、移動速度が基準値以上であるキーポイント間の連結線を補正(例:新規連結線の追加、連結線の強化)することによって生成された学習用2次元スケルトン情報を用いて、変換モジュール40が学習され得る。このような場合、変換モジュール40が、動きが相対的に大きい身体部位に集中して3次元スケルトン情報を予測できるようになるので、スケルトン情報の変換の正確度を向上させることができる。
【0103】
参考までに、学習された変換モジュール40を用いて2次元スケルトン情報を3次元スケルトン情報に変換する過程においても、キーポイントの移動速度に基づいて2次元スケルトン情報が補正され、補正された2次元スケルトン情報が変換モジュール40に入力され得る。
【0104】
以上、図5乃至図12を参照して、本開示の第2実施例に係る3次元オブジェクトモデル生成方法について説明した。上述した方法によれば、変換モジュール40を介して2次元スケルトン情報が3次元スケルトン情報に変換され、3次元スケルトン情報及びオブジェクト情報に基づいて3次元モデルが生成され得る。これによって、対象オブジェクトに対する3次元モデルがさらに正確に生成され得る。例えば、2次元イメージに閉塞又は歪みが存在するなどの理由により、2次元スケルトン情報に一部誤りが存在する場合にも、対象オブジェクトに対する3次元モデルが正確に生成され得る。また、2次元スケルトン情報に誤りがほとんどないとしても、生成モジュール20に深さ次元のスケルトン情報をさらに提供することによって、より一層完成度の高い3次元モデルが生成され得る。
【0105】
また、グラフ構造のデータに適したGCNベースの変換モジュールを用いることによって、2次元スケルトン情報が3次元スケルトン情報に正確に変換され得る。
【0106】
また、重心の誤差、骨の長さの誤差、関節の角度の誤差などのような様々な誤差に基づいて変換モジュールを学習させることによって、スケルトン情報の変換の正確度が大きく向上することができる。
【0107】
また、ドメインの動作特性を反映して2次元スケルトン情報を補正し、補正された2次元スケルトン情報を用いて変換モジュールを学習させることによって、スケルトン情報の変換の正確度をさらに向上させることができる。
【0108】
以下では、図13及び図14を参照して、本開示の第3実施例に係る3次元オブジェクトモデル生成方法について説明する。但し、本開示を明瞭にするために、先の実施例と重複する内容についての説明は省略する。
【0109】
図13は、本開示の第3実施例に係る3次元オブジェクトモデル生成方法を概略的に示す例示的なフローチャートである。但し、これは、本開示の目的を達成するための好ましい実施例に過ぎず、必要に応じて一部のステップが追加又は削除されてもよいことは勿論である。
【0110】
図13に示されたように、本実施例に係る方法は、2次元イメージから抽出されたオブジェクト情報を用いて3次元モデルを補正することによって、対象オブジェクトに対する3次元モデルをより正確に生成する方法に関する。
【0111】
ステップS320~S360は、それぞれ、上述したステップS220~S260と同一であるので、これについての説明は省略する。
【0112】
ステップS380において、対象オブジェクトに対する3次元モデルが補正され得る。但し、具体的な補正方式は、実施例によって変わり得る。
【0113】
いくつかの実施例では、図14に示されたように、2次元イメージ111から抽出されたオブジェクト情報112(例:2次元スケルトン情報、骨情報、関節情報)に基づいて3次元モデル113が補正され得る。具体的には、生成装置1は、3次元モデル113から3次元スケルトン情報を抽出し、補正モジュール100を介して3次元スケルトン情報を補正することができる。そして、生成装置1は、補正された3次元スケルトン情報及びオブジェクト情報112を生成モジュール20に提供し、対象オブジェクトに対する3次元モデル113を再び生成することができる。本実施例において、補正モジュール100は、入力された3次元スケルトン情報を、入力されたオブジェクト情報に符合するように補正する機能を行うことができる。本実施例によれば、3次元モデル113が、2次元イメージ111から抽出されたオブジェクト情報112に符合するように補正されることによって、3次元モデル113の正確度をさらに向上させることができる。補足説明すると、オブジェクト情報112は、2次元イメージ111から直接抽出された情報であるので、比較的正確度が高い情報である。但し、オブジェクト情報112は、ほとんど2次元的な情報であるため、生成モジュール20がこれに基づいて3次元モデル113を生成する過程で誤差が発生することがある。したがって、3次元モデル113がオブジェクト情報112に符合するように補正する過程をさらに行うと、生成モジュール20の誤差が最小化され、より精巧な形態の3次元モデル113が生成され得る。
【0114】
先の実施例において、補正モジュール100は、ディープラーニングモジュールとして具現されてもよく、または他のタイプのモジュールとして具現されてもよい。例えば、補正モジュール100は、3次元スケルトン情報及びオブジェクト情報112の入力を受け、補正された3次元スケルトン情報を出力するように学習されたディープラーニングモジュールとして具現されてもよい。補正モジュール100は、上述した変換モジュール40と同一又は類似の構造を有し、同一又は類似の方式で学習されることによって具現され得る。他の例として、補正モジュール100は、オブジェクト情報112に応じて、入力された3次元スケルトン情報に対して所定の補正ロジック(logic)を行うモジュールとして具現されてもよい。
【0115】
他のいくつかの実施例では、3次元モデル(例:113)から抽出された3次元のオブジェクト情報(例:3次元スケルトン情報、3次元の骨情報、3次元の関節情報、3次元の身体部位情報など)に基づいて、3次元モデル(例:113)が補正され得る。具体的には、生成装置1は、ディープラーニングベースの補正モジュール(例:100)を用いて、入力された3次元オブジェクト情報を補正することができる。例えば、補正モジュール(例:100)は、補正前の3次元スケルトン情報、3次元オブジェクト情報、及び補正された3次元スケルトン情報で構成された学習データを学習したディープラーニングモジュールであってもよい。本実施例に係る補正モジュール(例:100)も、上述した変換モデル40と同一又は類似の構造を有し、同一又は類似の方式で学習されることによって具現され得る。
【0116】
一方、本開示のいくつかの実施例では、生成装置1が3次元モデルの生成の正確度を判断し、判断された正確度が基準値以下であるという判断に応答して補正ステップS380を行うこともできる。例えば、生成装置1は、3次元モデルから3次元スケルトン情報を抽出し、プロジェクション演算を通じて3次元スケルトン情報を2次元スケルトン情報に変換することができる。そして、生成装置1は、変換された2次元スケルトン情報と、2次元イメージから抽出された2次元スケルトン情報との差に基づいて、3次元モデルの生成の正確度を判断することができる。本実施例によれば、3次元モデルの生成の正確度が基準値以下である場合に限って補正ステップS380を行うことによって、生成装置1に投入されるコンピューティングコストを削減することができる。
【0117】
以上、図13及び図14を参照して、本開示の第3実施例に係る3次元オブジェクトモデル生成方法について説明した。上述した方法によれば、2次元イメージから抽出されたオブジェクト情報などを用いて3次元モデルを補正することによって、対象オブジェクトに対する3次元モデルがさらに精巧に生成され得る。
【0118】
以下では、本開示のいくつかの実施例に係る生成装置1を具現できる例示的なコンピューティング装置120について説明する。
【0119】
図15は、コンピューティング装置120を示す例示的なハードウェア構成図である。
【0120】
図15に示されたように、コンピューティング装置120は、1つ以上のプロセッサ121、バス123、通信インターフェース124、プロセッサ121によって行われるコンピュータプログラムをロード(load)するメモリ122、及びコンピュータプログラム126を格納するストレージ125を含むことができる。但し、図15には、本開示の実施例と関連のある構成要素のみが示されている。したがって、本開示の属する技術分野における通常の技術者であれば、図15に示された構成要素以外に、他の汎用的な構成要素がさらに含まれ得ることが分かる。すなわち、コンピューティング装置120には、図15に示された構成要素以外にも、様々な構成要素がさらに含まれ得る。また、場合によって、図15に示された構成要素のうち一部が省略された形態でコンピューティング装置120が構成されてもよい。以下、コンピューティング装置120の各構成要素について説明する。
【0121】
プロセッサ121は、コンピューティング装置120の各構成の全般的な動作を制御することができる。プロセッサ121は、CPU(Central Processing Unit)、MPU(Micro Processor Unit)、MCU(Micro Controller Unit)、GPU(Graphic Processing Unit)、または本開示の技術分野でよく知られている任意の形態のプロセッサのうちの少なくとも1つを含んで構成されてもよい。また、プロセッサ121は、本開示の実施例に係る動作/方法を実行するための少なくとも1つのアプリケーション又はプログラムに対する演算を行うことができる。コンピューティング装置120は、1つ以上のプロセッサを備えることができる。
【0122】
次に、メモリ122は、各種データ、命令及び/又は情報を格納することができる。メモリ122は、本開示の実施例に係る動作/方法を実行するために、ストレージ125から1つ以上のコンピュータプログラム126をロードすることができる。メモリ122は、RAMのような揮発性メモリとして実現されてもよいが、本開示の範囲がこれに限定されるものではない。
【0123】
次に、バス123は、コンピューティング装置120の構成要素間の通信機能を提供することができる。バス123は、アドレスバス(Address Bus)、データバス(Data Bus)及び制御バス(Control Bus)などの様々な形態のバスとして実現され得る。
【0124】
次に、通信インターフェース124は、コンピューティング装置120の有無線インターネット通信をサポートすることができる。また、通信インターフェース124は、インターネット通信以外の様々な通信方式をサポートすることもできる。そのために、通信インターフェース124は、本開示の技術分野でよく知られている通信モジュールを含んで構成され得る。場合によって、通信インターフェース124は省略されてもよい。
【0125】
次に、ストレージ125は、1つ以上のコンピュータプログラム126を非臨時的に格納することができる。ストレージ125は、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリなどのような不揮発性メモリ、ハードディスク、着脱型ディスク、または本開示の属する技術分野でよく知られている任意の形態のコンピュータで読み取り可能な記録媒体を含んで構成され得る。
【0126】
次に、コンピュータプログラム126は、メモリ122にロードされるとき、プロセッサ121に本開示の様々な実施例に係る動作/方法を行うようにする1つ以上のインストラクションを含むことができる。すなわち、プロセッサ121は、1つ以上のインストラクションを実行することによって、本開示の様々な実施例に係る動作/方法を行うことができる。
【0127】
例えば、コンピュータプログラム126は、対象オブジェクトの2次元イメージから抽出された2次元スケルトン情報を取得する動作、ディープラーニングモジュールを介して2次元スケルトン情報を3次元スケルトン情報に変換する動作、及び3次元スケルトン情報に基づいて対象オブジェクトに対する3次元モデルを生成する動作を行うインストラクションを含むことができる。このような場合、コンピューティング装置120を通じて、本開示のいくつかの実施例に係る生成装置1が具現され得る。
【0128】
以上、図1乃至図15を参照して説明された本開示の技術的思想は、コンピュータが読み取り可能な媒体上に、コンピュータが読み取り可能なコードとして具現され得る。前記コンピュータで読み取り可能な記録媒体は、例えば、移動型記録媒体(CD、DVD、ブルーレイディスク、USBストレージ装置、移動式ハードディスク)であるか、または固定式記録媒体(ROM、RAM、コンピュータ具備型ハードディスク)であってもよい。前記コンピュータで読み取り可能な記録媒体に記録された前記コンピュータプログラムは、インターネットなどのネットワークを介して他のコンピューティング装置に伝送されて前記他のコンピューティング装置にインストールされ得、これによって、前記他のコンピューティング装置で使用され得る。
【0129】
以上で、本開示の実施例を構成するすべての構成要素が一つに結合されるか、または結合されて動作するものとして説明されたとして、本開示の技術的思想が必ずしもこのような実施例に限定されるものではない。すなわち、本開示の目的の範囲内であれば、そのすべての構成要素が一つ以上に選択的に結合して動作することもできる。
【0130】
図面では動作が特定の順序で示されているが、必ずしも動作が図示された特定の順序でまたは順次的に実行されなければならないとか、またはすべての図示された動作が実行されてこそ所望の結果を得ることができるものと理解されてはならない。特定の状況では、マルチタスキング及び並列処理が有利な場合もある。さらに、上述した実施例において様々な構成の分離は、当該分離が必ずしも必要なものとして理解されてはならず、説明されたプログラムコンポーネント及びシステムは、一般に単一のソフトウェア製品にともに統合されるか、または多数のソフトウェア製品にパッケージされ得ることを理解しなければならない。
【0131】
以上、添付の図面を参照して本開示の実施例を説明したが、本開示の属する技術分野における通常の知識を有する者は、その技術的思想や必須の特徴を変更せずに、本開示が他の具体的な形態で実施できるということを理解できる。したがって、以上で記述した実施例は、すべての面で例示的なものであり、限定的なものではないと理解しなければならない。本開示の保護範囲は、添付の特許請求の範囲によって解釈されるべきであり、それと同等な範囲内にあるすべての技術思想は、本開示によって定義される技術的思想の権利範囲に含まれるものと解釈されるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
【国際調査報告】