(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-10-07
(54)【発明の名称】3次元モデル生成方法、ニューラルネットワーク生成方法及び装置
(51)【国際特許分類】
G06T 7/70 20170101AFI20220930BHJP
G06T 7/00 20170101ALI20220930BHJP
G06T 17/20 20060101ALI20220930BHJP
【FI】
G06T7/70
G06T7/00 350C
G06T17/20
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021573567
(86)(22)【出願日】2021-03-23
(85)【翻訳文提出日】2021-12-10
(86)【国際出願番号】 CN2021082485
(87)【国際公開番号】W WO2022001222
(87)【国際公開日】2022-01-06
(31)【優先権主張番号】202010607430.5
(32)【優先日】2020-06-29
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】519290264
【氏名又は名称】シャンハイ センスタイム インテリジェント テクノロジー カンパニー リミテッド
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】ワン ミン
(72)【発明者】
【氏名】チウ フォン
(72)【発明者】
【氏名】リウ ウェンタオ
(72)【発明者】
【氏名】チエン チェン
(72)【発明者】
【氏名】マー リージュアン
【テーマコード(参考)】
5B080
5L096
【Fターム(参考)】
5B080AA13
5B080AA14
5B080CA00
5L096CA02
5L096DA01
5L096FA25
5L096FA64
5L096FA67
5L096FA69
5L096GA30
5L096GA34
5L096HA11
5L096JA09
5L096KA04
(57)【要約】
本開示の実施例は、3次元モデル生成方法、ニューラルネットワーク生成方法及び装置を提供する。3次元モデル生成方法は、第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得するステップであって、複数の第1球体が第1対象の異なる部位をそれぞれ表すステップと、複数の第1球体の第1球体位置情報に基づいて、第1レンダリング画像を生成するステップと、第1レンダリング画像及び第1画像のセマンティックセグメンテーション画像に基づいて、第1レンダリング画像の勾配情報を得るステップと、第1レンダリング画像の勾配情報に基づいて、複数の第1球体の第1球体位置情報を調整し、調整後の複数の第1球体の第1球体位置情報を使用し、第1対象の3次元モデルを生成するステップと、を含む。
【特許請求の範囲】
【請求項1】
3次元モデル生成方法であって、
第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得するステップであって、前記複数の第1球体が前記第1対象の異なる部位をそれぞれ表すステップと、
前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成するステップと、
前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得るステップと、
前記第1レンダリング画像の勾配情報に基づいて、前記複数の第1球体の前記第1球体位置情報を調整し、調整後の前記複数の第1球体の前記第1球体位置情報を使用し、前記第1対象の3次元モデルを生成するステップと、を含む、
3次元モデル生成方法。
【請求項2】
前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成するステップは、
前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するステップと、
前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、前記第1レンダリング画像を生成するステップと、を含むことを特徴とする
請求項1に記載の3次元モデル生成方法。
【請求項3】
前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するステップは、
テンプレート球体を構成する複数のテンプレート面のテンプレート頂点と前記テンプレート球体の中心点との第1位置関係、及び前記各第1球体の前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するステップを含むことを特徴とする
請求項2に記載の3次元モデル生成方法。
【請求項4】
前記各第1球体の前記第1球体位置情報に、前記各第1球体の中心点の前記カメラ座標系における第2の3次元位置情報、前記各第1球体の3つの座標軸のそれぞれに対応する長さ、及び前記カメラ座標系に対する前記各第1球体の回転角度が含まれることを特徴とする
請求項3に記載の3次元モデル生成方法。
【請求項5】
前記テンプレート球体を構成する複数のテンプレート面のテンプレート頂点と前記テンプレート球体の中心点との第1位置関係、及び前記各第1球体の第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するステップは、
前記各第1球体の3つの座標軸のそれぞれに対応する長さ及び前記カメラ座標系に対する前記各第1球体の回転角度に基づいて、前記テンプレート球体に対して形状及び回転角度の変換を行うステップと、
前記テンプレート球体に対する形状及び回転角度の変換結果及び前記第1位置関係に基づいて、各テンプレート頂点と変換後のテンプレート球体の中心点との第2位置関係を決定するステップと、
前記各第1球体の中心点の前記カメラ座標系における第2の3次元位置情報及び前記第2位置関係に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するステップと、を含むことを特徴とする
請求項4に記載の3次元モデル生成方法。
【請求項6】
前記方法は、前記第1画像のカメラの投影行列を取得するステップをさらに含み、
前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、第1レンダリング画像を生成するステップは、
前記第1の3次元位置情報及び前記投影行列に基づいて、第1レンダリング画像の各画素点の部位インデックス及び面インデックスを決定するステップと、
決定された第1レンダリング画像の各画素点の部位インデックス及び面インデックスに基づいて、前記第1レンダリング画像を生成するステップと、を含み、
いずれかの画素点の部位インデックスは、前記いずれかの画素点に対応する前記第1対象の部位を標識し、いずれかの画素点の面インデックスは、前記いずれかの画素点に対応する面を標識することを特徴とする、
請求項2-5のいずれか一項に記載の3次元モデル生成方法。
【請求項7】
前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、第1レンダリング画像を生成するステップは、
前記各第1球体に対して、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、前記各第1球体に対応する第1レンダリング画像を生成するステップを含み、
前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得るステップは、
前記各第1球体に対して、前記各第1球体に対応する第1レンダリング画像及びセマンティックセグメンテーション画像に基づいて、前記各第1球体に対応する第1レンダリング画像の勾配情報を得るステップを含むことを特徴とする
請求項2-6のいずれか一項に記載の3次元モデル生成方法。
【請求項8】
前記第1レンダリング画像の勾配情報は、前記第1レンダリング画像の各画素点の勾配値を含み、
前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得るステップは、
前記第1レンダリング画像の各画素点を走査し、走査して得られた画素点の前記第1レンダリング画像における第1画素値、及び前記走査して得られた画素点の前記セマンティックセグメンテーション画像における第2画素値に対して、前記走査して得られた画素点の勾配値を決定するステップを含むことを特徴とする
請求項1-7のいずれか一項に記載の3次元モデル生成方法。
【請求項9】
走査して得られた画素点の前記第1レンダリング画像における第1画素値、及び前記走査して得られた画素点の前記セマンティックセグメンテーション画像における第2画素値に対して、前記走査して得られた画素点の勾配値を決定するステップは、
前記走査して得られた画素点の前記第1画素値、及び前記走査して得られた画素点の前記第2画素値に基づいて、前記走査して得られた画素点の残差を決定するステップと、
前記走査して得られた画素点の残差が第1数値である場合、前記走査して得られた画素点の勾配値を前記第1数値として決定するステップと、
前記走査して得られた画素点の残差が前記第1数値でない場合、前記走査して得られた画素点の前記第2画素値に基づいて、前記複数の第1球体から、前記走査して得られた画素点に対応する目標第1球体を決定し、前記目標第1球体を構成する複数の面から目標面を決定するステップと、
前記目標面上の少なくとも1つの目標頂点の前記カメラ座標系における目標3次元位置情報を決定するステップであって、前記少なくとも1つの目標頂点が前記目標3次元位置情報によって標識された位置に位置する場合、前記走査して得られた画素点を再レンダリングすることにより得られた新しい第1画素値と前記走査して得られた画素点に対応する第2画素値との間の残差を前記第1数値として決定するステップと、
前記目標頂点の前記カメラ座標系における第1の3次元位置情報及び前記目標3次元位置情報に基づいて、前記走査して得られた画素点の勾配値を得るステップと、を含むことを特徴とする
請求項8に記載の3次元モデル生成方法。
【請求項10】
第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得するステップは、
予め訓練された位置情報予測ネットワークを使用し、前記第1画像に対して位置情報予測処理を行い、前記カメラ座標系における前記複数の第1球体の各第1球体の第1球体位置情報を得るステップを含むことを特徴とする
請求項1-9のいずれか一項に記載の3次元モデル生成方法。
【請求項11】
ニューラルネットワーク生成方法であって、
訓練待ちニューラルネットワークを使用し、第2画像における第2対象に対して3次元位置情報の予測処理を行い、前記第2対象の異なる部位を表すための複数の第2球体の各第2球体のカメラ座標系における第2球体位置情報を得るステップと、
複数の第2球体のそれぞれに対応する第2球体位置情報に基づいて、第2レンダリング画像を生成するステップと、
前記第2レンダリング画像、及び前記第2画像のセマンティックラベル付き画像に基づいて、前記第2レンダリング画像の勾配情報を得るステップと、
前記第2レンダリング画像の勾配情報に基づいて、前記訓練待ちニューラルネットワークを更新し、更新後のニューラルネットワークを得るステップと、を含む、
ニューラルネットワーク生成方法。
【請求項12】
3次元モデル生成装置であって、
第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得するように構成され、前記複数の第1球体が前記第1対象の異なる部位をそれぞれ表す第1取得部と、
第1生成部が前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成するように構成される第1生成部と、
前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得るように構成される第1勾配決定部と、
前記第1レンダリング画像の勾配情報に基づいて、前記複数の第1球体の前記第1球体位置情報を調整するように構成される調整部と、
調整後の前記複数の第1球体の前記第1球体位置情報を使用し、前記第1対象の3次元モデルを生成するように構成されるモデル生成部と、を備える、
3次元モデル生成装置。
【請求項13】
ニューラルネットワーク生成装置であって、
訓練待ちニューラルネットワークを使用し、第2画像における第2対象に対して3次元位置情報の予測処理を行い、前記第2対象の異なる部位を表すための複数の第2球体の各第2球体のカメラ座標系における第2球体位置情報を得るように構成される第2取得部と、
複数の第2球体のそれぞれに対応する第2球体位置情報に基づいて、第2レンダリング画像を生成するように構成される第2生成部と、
前記第2レンダリング画像、及び前記第2画像のセマンティックラベル付き画像に基づいて、前記第2レンダリング画像の勾配情報を得るように構成される第2勾配決定部と、
前記第2レンダリング画像の勾配情報に基づいて、前記訓練待ちニューラルネットワークを更新し、更新後のニューラルネットワークを得るように構成される更新部と、を備える、
ニューラルネットワーク生成装置。
【請求項14】
プロセッサと、メモリとを備え、前記メモリには前記プロセッサで実行可能な機械可読命令が記憶され、前記プロセッサは、前記メモリに記憶された機械可読命令を実行するように構成され、前記プロセッサが前記機械可読命令を実行する時に、前記プロセッサは、請求項1-11のいずれか一項に記載される方法を実行する、電子デバイス。
【請求項15】
コンピュータプログラムが記憶されており、前記コンピュータプログラムが電子デバイスに実行される場合、前記電子デバイスに、請求項1-11のいずれか一項に記載の方法を実行させるコンピュータ可読記憶媒体。
【請求項16】
コンピュータ可読コードを含むコンピュータプログラムであって、前記コンピュータ可読コードが電子デバイスで実行される場合、前記電子デバイス内のプロセッサに、請求項1-11のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願への相互参照)
本出願は、出願番号が202010607430.5であり、出願日が2020年6月29日である中国特許出願に基づいて提出され、当該中国特許出願の優先権を主張し、当該中国特許出願の全内容は、参照により本出願に組み込まれる。
【0002】
本開示は、画像処理技術分野に関し、具体的には、3次元モデル生成方法、ニューラルネットワーク生成方法、装置、デバイス及びコンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
2次元画像に基づく3次元モデル再構成プロセスでは、深層ニューラルネットワークによって画像特徴を取得し、次に画像特徴を回帰することにより、3次元モデルのパラメータを得、得られた3次元モデルパラメータに基づいて3次元モデルの再構築を実現する必要がある。
【0004】
現在の3次元モデル生成方法は、精度が低いという問題がある。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の実施例は、少なくとも1つの3次元モデル生成方法、ニューラルネットワーク生成方法、装置、デバイス及びコンピュータ可読記憶媒体を提供する。
【0006】
第1態様では、本開示の実施例による3次元モデル生成方法は、第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得するステップであって、前記複数の第1球体が前記第1対象の異なる部位をそれぞれ表すステップと、前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成するステップと、前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得るステップと、前記第1レンダリング画像の勾配情報に基づいて、前記複数の第1球体の前記第1球体位置情報を調整し、調整後の前記複数の第1球体の前記第1球体位置情報を使用し、前記第1対象の3次元モデルを生成するステップと、を含む。
【0007】
このように、3次元モデルを表すための複数の第1球体の第1球体位置情報に対して画像レンダリングを行い、第1画像レンダリングの結果に基づいて、複数の第1球体の第1球体位置情報の正確度を表すことができる勾配情報を決定し、当該勾配情報に基づいて複数の第1球体のそれぞれに対応する第1球体位置情報を再調整することにより、調整後の複数の第1球体位置情報の精度がより高くなり、即ち、複数の第1球体のそれぞれに対応する第1球体位置情報に基づいて復元される3次元モデルの精度もより高くなる。
【0008】
1つの選択可能な実施形態では、前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成するステップは、前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するステップと、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、前記第1レンダリング画像を生成するステップと、を含む。
【0009】
このように、第1対象を複数の部位に分けて第1球体をそれぞれ表し、異なる球体を構成する複数の面の各頂点のカメラ座標系における第1の3次元位置情報に基づいて、第1レンダリング画像を生成することができ、第1レンダリング画像には、異なる第1対象の部位の3次元関係情報が含まれ、さらに、第1レンダリング画像によって決定された勾配情報に基づいて、第1対象の3次元モデルを制約することができ、これにより、第1対象の3次元モデルの精度がより高くなる。
【0010】
1つの選択可能な実施形態では、前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するステップは、テンプレート球体を構成する複数のテンプレート面のテンプレート頂点と前記テンプレート球体の中心点との第1位置関係、及び前記各第1球体の前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するステップを含む。
【0011】
このように、複数のテンプレート面の変形により複数の第1球体を得、面で球体の表面を表し、これにより、レンダリングして第1レンダリング画像を生成するときの複雑さが軽減される。
【0012】
1つの可能な実施形態では、前記各第1球体の前記第1球体位置情報には、前記各第1球体の中心点の前記カメラ座標系における第2の3次元位置情報、前記各第1球体の3つの座標軸のそれぞれに対応する長さ、及び前記カメラ座標系に対する前記各第1球体の回転角度が含まれる。
【0013】
このように、上記の3つのパラメータにより、各第1球体のカメラ座標系における姿勢を明確に示すことができる。
【0014】
1つの選択可能な実施形態では、テンプレート球体を構成する複数のテンプレート面のテンプレート頂点と前記テンプレート球体の中心点との第1位置関係、及び前記各第1球体の第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するステップは、前記各第1球体の3つの座標軸のそれぞれに対応する長さ及び前記カメラ座標系に対する前記各第1球体の回転角度に基づいて、前記テンプレート球体に対して形状及び回転角度の変換を行うステップと、前記テンプレート球体に対する形状及び回転角度の変換結果及び前記第1位置関係に基づいて、各テンプレート頂点と変換後のテンプレート球体の中心点との第2位置関係を決定するステップと、前記各第1球体の中心点の前記カメラ座標系における第2の3次元位置情報及び前記第2位置関係に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するステップと、をさらに含む。
【0015】
このように、第1の3次元位置情報を速く得ることができる。
【0016】
1つの選択可能な実施形態では、前記方法は、前記第1画像のカメラの投影行列を取得するステップをさらに含み、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、第1レンダリング画像を生成するステップは、前記第1の3次元位置情報及び前記投影行列に基づいて、第1レンダリング画像の各画素点の部位インデックス及び面インデックスを決定するステップと、決定された第1レンダリング画像の各画素点の部位インデックス及び面インデックスに基づいて、前記第1レンダリング画像を生成するステップと、を含み、いずれかの画素点の部位インデックスは、前記いずれかの画素点に対応する前記第1対象の部位を標識し、いずれか画素点の面インデックスは、前記いずれかの画素点に対応する面を標識する。
【0017】
1つの選択可能な実施形態では、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、第1レンダリング画像を生成するステップは、
前記各第1球体に対して、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、前記各第1球体に対応する第1レンダリング画像を生成するステップを含み、
前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得るステップは、
前記各第1球体に対して、前記各第1球体に対応する第1レンダリング画像及び語義画像に基づいて、前記各第1球体に対応する第1レンダリング画像の勾配情報を得るステップを含む。
【0018】
このように、異なる部位に対応する分類値の表現を単純化し、勾配計算プロセスにおける演算の複雑さを単純化することに役立つ。
【0019】
1つの選択可能な実施形態では、前記第1レンダリング画像の勾配情報には、前記第1レンダリング画像の各画素点の勾配値が含まれ、前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得るステップは、前記第1レンダリング画像の各画素点を走査し、走査して得られた画素点の前記第1レンダリング画像における第1画素値、及び前記走査して得られた画素点の前記セマンティックセグメンテーション画像における第2画素値に対して、前記走査して得られた画素点の勾配値を決定するステップを含む。
【0020】
このように、第1レンダリング画像及び第1画像のセマンティックセグメンテーション画像により、第1レンダリング画像の勾配情報を得ることができる。
【0021】
1つの選択可能な実施形態では、走査して得られた画素点の前記第1レンダリング画像における第1画素値、及び前記走査して得られた画素点の前記セマンティックセグメンテーション画像における第2画素値に対して、前記走査して得られた画素点の勾配値を決定するステップは、前記走査して得られた画素点の前記第1画素値、及び前記走査して得られた画素点の前記第2画素値に基づいて、前記走査して得られた画素点の残差を決定するステップと、前記走査して得られた画素点の残差が第1数値である場合、前記走査して得られた画素点の勾配値を前記第1数値として決定するステップと、前記走査して得られた画素点の残差が前記第1数値でない場合、前記走査して得られた画素点の前記第2画素値に基づいて、前記複数の第1球体から、前記走査して得られた画素点に対応する目標第1球体を決定し、前記目標第1球体を構成する複数の面から目標面を決定するステップと、前記目標面上の少なくとも1つの目標頂点の前記カメラ座標系における目標3次元位置情報を決定するステップであって、前記少なくとも1つの目標頂点が前記目標3次元位置情報によって標識された位置に位置する場合、前記走査して得られた画素点を再レンダリングすることによって得られた新しい第1画素値、及び前記走査して得られた画素点に対応する第2画素値との残差を前記第1数値として決定するステップと、前記目標頂点の前記カメラ座標系における第1の3次元位置情報及び前記目標3次元位置情報に基づいて、前記走査して得られた画素点の勾配値を得るステップと、を含む。
【0022】
このように、第1訓練画像の各画素点の勾配値を得ることができる。
【0023】
1つの選択可能な実施形態では、第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得するステップは、予め訓練された位置情報予測ネットワークを使用し、前記第1画像に対して位置情報予測処理を行い、前記カメラ座標系における前記複数の第1球体の各第1球体の第1球体位置情報を得るステップを含む。
【0024】
第2態様では、本開示の実施例によるニューラルネットワーク生成方法は、訓練待ちニューラルネットワークを使用し、第2画像における第2対象に対して3次元位置情報の予測処理を行い、前記第2対象の異なる部位を表すための複数の第2球体の各第2球体のカメラ座標系における第2球体位置情報を得るステップと、複数の第2球体のそれぞれに対応する第2球体位置情報に基づいて、第2レンダリング画像を生成するステップと、前記第2レンダリング画像、及び前記第2画像のセマンティックラベル付き画像に基づいて、前記第2レンダリング画像の勾配情報を得るステップと、前記第2レンダリング画像の勾配情報に基づいて、前記訓練待ちニューラルネットワークを更新し、更新後のニューラルネットワークを得るステップと、を含む。
【0025】
このように、最適化待ちニューラルネットワークを使用し、第2画像における第2対象に対して3次元位置情報の予測処理を行い、第2画像における第2対象の3次元モデルを表すための複数の第2球体の第2球体位置情報を得た上で、第2球体位置情報に基づいて画像レンダリングを行い、画像レンダリング結果に基づいて、複数の第2球体の第2球体位置情報の正確度を表すための勾配情報を決定し、当該勾配情報に基づいて最適化待ちニューラルネットワークを更新し、最適化後のニューラルネットワークを得、これにより、最適化後のニューラルネットワークの3次元位置の予測精度がより高くなる。
【0026】
第3態様では、本開示の実施例による3次元モデル生成装置は、第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得するように構成され、前記複数の第1球体が前記第1対象の異なる部位をそれぞれ表す第1取得部と、前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成するように構成される第1生成部と、前記第1レンダリング画像、及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得るように構成される第1勾配決定部と、前記第1レンダリング画像の勾配情報に基づいて、前記複数の第1球体の前記第1球体位置情報を調整するように構成される調整部と、調整後の前記複数の第1球体の前記第1球体位置情報を使用し、前記第1対象の3次元モデルを生成するように構成されるモデル生成部と、を備える。
【0027】
1つの可能な実施形態では、前記第1生成部は、前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成する場合、前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定し、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、前記第1レンダリング画像を生成するように構成される。
【0028】
1つの可能な実施形態では、前記第1生成部は、前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定する場合、テンプレート球体を構成する複数のテンプレート面のテンプレート頂点と前記テンプレート球体の中心点との第1位置関係、及び前記各第1球体の前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するように構成される。
【0029】
1つの可能な実施形態では、前記各第1球体の前記第1球体位置情報には、前記各第1球体の中心点の前記カメラ座標系における第2の3次元位置情報、前記各第1球体の3つの座標軸のそれぞれに対応する長さ、及び前記カメラ座標系に対する前記各第1球体の回転角度が含まれる。
【0030】
1つの可能な実施形態では、前記第1生成部は、テンプレート球体を構成する複数のテンプレート面のテンプレート頂点と前記テンプレート球体の中心点との第1位置関係、及び前記各第1球体の第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定する場合、前記各第1球体の3つの座標軸のそれぞれに対応する長さ及び前記カメラ座標系に対する前記各第1球体の回転角度に基づいて、前記テンプレート球体に対して形状及び回転角度の変換を行い、前記テンプレート球体に対する形状及び回転角度の変換結果及び前記第1位置関係に基づいて、各テンプレート頂点と変換後のテンプレート球体の中心点との第2位置関係を決定し、前記各第1球体の中心点の前記カメラ座標系における第2の3次元位置情報及び前記第2位置関係に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するように構成される。
【0031】
1つの可能な実施形態では、前記第1取得部は、さらに前記1の画像のカメラの投影行列を取得するように構成され、前記第1生成部は、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、第1レンダリング画像を生成する場合、前記第1の3次元位置情報及び前記投影行列に基づいて、第1レンダリング画像の各画素点の部位インデックス及び面インデックスを決定し、決定された第1レンダリング画像の各画素点の部位インデックス及び面インデックスに基づいて、前記第1レンダリング画像を生成するように構成され、いずれかの画素点の部位インデックスは、前記いずれかの画素点に対応する前記第1対象の部位を標識し、いずれか画素点の面インデックスは、前記いずれかの画素点に対応する面を標識する。
【0032】
1つの選択可能な実施形態では、前記第1生成部は、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、第1レンダリング画像を生成する場合、前記各第1球体に対して、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、前記各第1球体に対応する第1レンダリング画像を生成するように構成され、
前記第1勾配決定部は、前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得る場合、前記各第1球体に対して、前記各第1球体に対応する第1レンダリング画像及びセマンティックセグメンテーション画像に基づいて、前記各第1球体に対応する第1レンダリング画像の勾配情報を得るように構成される。
【0033】
1つの可能な実施形態では、前記第1レンダリング画像の勾配情報には、前記第1レンダリング画像の各画素点の勾配値が含まれ、前記第1勾配決定部は、前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得る場合、前記第1レンダリング画像の各画素点を走査し、走査して得られた画素点の前記第1レンダリング画像における第1画素値、及び前記走査して得られた画素点の前記セマンティックセグメンテーション画像における第2画素値に対して、前記走査して得られた画素点の勾配値を決定するように構成される。
【0034】
1つの可能な実施形態では、前記第1勾配決定部は、走査して得られた画素点の前記第1レンダリング画像における第1画素値、及び前記走査して得られた画素点の前記セマンティックセグメンテーション画像における第2画素値に対して、前記走査して得られた画素点の勾配値を決定する場合、前記走査して得られた画素点の前記第1画素値、及び前記走査して得られた画素点の前記第2画素値に基づいて、前記走査して得られた画素点の残差を決定し、前記走査して得られた画素点の残差が第1数値である場合、前記走査して得られた画素点の勾配値を前記第1数値として決定し、前記走査して得られた画素点の残差が前記第1数値でない場合、前記走査して得られた画素点の前記第2画素値に基づいて、前記複数の第1球体から、前記走査して得られた画素点に対応する目標第1球体を決定し、前記目標第1球体を構成する複数の面から目標面を決定し、前記目標面上の少なくとも1つの目標頂点の前記カメラ座標系における目標3次元位置情報を決定し、前記少なくとも1つの目標頂点が前記目標3次元位置情報によって標識された位置に位置する場合、前記走査して得られた画素点を再レンダリングすることによって得られた新しい第1画素値、及び前記走査して得られた画素点に対応する第2画素値との残差を前記第1数値として決定し、前記目標頂点の前記カメラ座標系における第1の3次元位置情報及び前記目標3次元位置情報に基づいて、前記走査して得られた画素点の勾配値を得るように構成される。
【0035】
1つの可能な実施形態では、前記第1取得部は、第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得する時に、予め訓練された位置情報予測ネットワークを使用し、前記第1画像に対して位置情報予測処理を行い、前記カメラ座標系における前記複数の第1球体の各第1球体の第1球体位置情報を得るように構成される。
【0036】
第4態様では、本開示の実施例によるニューラルネットワーク生成装置は、訓練待ちニューラルネットワークを使用し、第2画像における第2対象に対して3次元位置情報の予測処理を行い、前記第2対象の異なる部位を表すための複数の第2球体の各第2球体のカメラ座標系における第2球体位置情報を得るように構成される第2取得部と、複数の第2球体のそれぞれに対応する第2球体位置情報に基づいて、第2レンダリング画像を生成するように構成される第2生成部と、前記第2レンダリング画像、及び前記第2画像のセマンティックラベル付き画像に基づいて、前記第2レンダリング画像の勾配情報を得るように構成される第2生成部と、前記第2レンダリング画像の勾配情報に基づいて、前記訓練待ちニューラルネットワークを更新し、更新後のニューラルネットワークを得るように構成される更新部と、を備える。
【0037】
第5態様では、本開示の選択可能な実施形態による電子デバイスは、プロセッサと、メモリとを備え、前記メモリには前記プロセッサで実行可能な機械可読命令が記憶され、前記プロセッサが前記メモリに記憶された機械可読命令を実行するように構成され、前記機械可読命令が前記プロセッサに実行される場合、上記第1態様、又は第1態様のいずれかの可能な実施形態におけるステップ、又は上記第2態様、又は第2態様のいずれかの可能な実施形態におけるステップを実行する。
【0038】
第6態様では、本開示の選択可能な実施形態によるコンピュータ可読記憶媒体は、コンピュータプログラムが記憶されており、前記コンピュータプログラムが実行される場合、上記第1態様、又は第1態様のいずれかの可能な実施形態におけるステップ、又は上記第2態様、又は第2態様のいずれかの可能な実施形態におけるステップを実行する。
【0039】
第7態様では、本開示の選択可能な実施形態によるコンピュータ可読コードを含むコンピュータプログラムは、前記コンピュータ可読コードが電子デバイスで実行される場合、前記電子デバイスでのプロセッサは、上記第1態様、又は第1態様のいずれかの可能な実施形態におけるステップ、又は上記第2態様、又は第2態様のいずれかの可能な実施形態におけるステップを実現するために実行される。
【0040】
本開示の上記目的、特徴及び利点がより明確且つ理解しやすくなるために、以下に好ましい実施例を特に挙げて、添付の図面を参照して次のように詳しく説明する。
【図面の簡単な説明】
【0041】
本開示の実施例における技術的解決策をより明確に説明するために、以下に実施例に必要な図面を簡単に説明するが、ここでの図面は、明細書に組み込まれて明細書の一部を構成し、これらの図面は、本開示に合致する実施例を示し、本明細書とともに本開示の技術的解決策を説明するために用いられる。以下の図面が本開示の幾つかの実施例のみを示すため、範囲を制限するためのものと見なされるべきではなく、当業者にとって、創造的な労働をすることなく、これらの図面に基づいて他の関連する図面を得ることができることを理解すべきである。
【
図1】本開示の実施例による3次元モデル生成方法のフローチャートである。
【
図2】本開示の実施例による人体を複数の第1球体で表す例を示す概略図である。
【
図3】本開示の実施例による位置情報予測ネットワークの構造の例を示す概略図である。
【
図4】本開示の実施例によるテンプレート球体を第1球体に変換する例を示す概略図である。
【
図5】本開示の実施例による走査して得られた画素点の勾配値を決定するための方法を示すフローチャートである。
【
図6】本開示の実施例による走査して得られた画素点の残差が第1数値でない場合、目標3次元位置情報を決定する様々な例を示す概略図である。
【
図7】本開示の実施例によるニューラルネットワーク生成方法を示すフローチャートである。
【
図8】本開示の実施例による3次元モデル生成装置を示す概略図である。
【
図9】本開示の実施例によるニューラルネットワーク生成装置を示す概略図である。
【
図10】本開示の実施例によるコンピュータデバイスを示す概略図である。
【発明を実施するための形態】
【0042】
本開示の実施例の目的、技術的解決策及び利点をより明確にするために、以下に本開示の実施例の図面と組み合わせて、本開示の実施例における技術的解決策を明確かつ全面的に説明し、明らかに、説明される実施例は、本開示の実施例の一部だけであり、全ての実施例ではない。通常、本明細書の図面に記載及び図示されている本開示の実施例の構成要素は、様々な異なる構成で配置及び設計されてもよい。したがって、以下に添付の図面に提供される本開示の実施例の詳細な説明は、保護が要求される本開示の実施例の範囲を制限することを意図するものではなく、本開示の選択された実施例を示すものだけである。本開示の実施例に基づき、当業者が創造的な労力を要せずに得る全ての他の実施例は、本開示の実施例の保護範囲に属する。
【0043】
2次元画像に基づく3次元モデル生成プロセスでは、一般的に、ニューラルネットワークを使用し、2次元画像内の対象の3次元モデルパラメータを予測し、3次元モデルパラメータに基づいて3次元モデルを生成する。ニューラルネットワーク訓練プロセスでは、サンプル画像の監督データを使用して訓練プロセスを監督する必要があり、つまり、訓練プロセスで使用される各サンプル画像内の対象の3次元モデルパラメータをラベル付けし、ニューラルネットワーク訓練への監督のために使用する。監督データの取得が難しいため、多くの場合、シミュレーションシステムを使用して2次元画像、及び2次元画像の監督データを得るが、シミュレーションシステムで得られる2次元画像と実の2次元画像との間に一定の相違があるため、実の2次元画像に基づいて3次元モデルを生成するときのニューラルネットワークの精度が低下するという問題が発生する。
【0044】
また、現在の3次元モデル生成方法では、3次元モデルの再構成対象の一部の部位が遮蔽されて引き起する曖昧さの問題に対処できないため、3次元モデルの再構成対象の深度方向の姿勢を正確に復元することができず、さらに、生成された3Dモデルの精度が低い。
【0045】
上記解決策の欠陥は、すべて発明者が実践と慎重な研究により得た結果であり、したがって、上記問題の発見、及び上記問題に対処するために以下の本開示によって提案される解決策は、すべて本開示の実施例に対して発明者によってなされた貢献であるべきである。
【0046】
上記研究に基づいて、本開示の実施例は、3次元モデル方法を提供する。前記方法では、3次元モデルを表すための複数の第1球体の第1球体位置情報に対して画像レンダリングを行い、第1画像レンダリングの結果に基づいて、複数の第1球体の第1球体位置情報の正確度を表すことができる勾配情報を決定し、当該勾配情報に基づいて複数の第1球体のそれぞれに対応する第1球体位置情報を再調整することにより、調整後の複数の第1球体位置情報の精度がより高くなり、即ち、複数の第1球体のそれぞれに対応する第1球体位置情報に基づいて復元される3次元モデルの精度もより高くなる。
【0047】
また、本開示の実施例による3次元モデル生成方法では、複数の第1球体の第1球体位置情報の正確度を表すための勾配情報を使用して、複数の第1球体のそれぞれに対応する第1球体位置情報を再調整するため、第1対象の深度における情報をより高い精度で復元することができ、精度がより高い。
【0048】
本開示の実施例は、ニューラルネットワーク生成方法をさらに提供する。前記方法では、最適化待ちニューラルネットワークを使用し、第2画像における第2対象に対して3次元位置情報の予測処理を行い、第2画像における第2対象の3次元モデルを表すための複数の第2球体の第2球体位置情報を得た上で、第2球体位置情報に基づいて画像レンダリングを行い、画像レンダリング結果に基づいて、複数の第2球体の第2球体位置情報の正確度を表すための勾配情報を決定し、当該勾配情報に基づいて最適化待ちニューラルネットワークを更新し、最適化後のニューラルネットワークを得、これにより、最適化後のニューラルネットワークの3次元位置の予測精度がより高くなる。
【0049】
注意すべきものとして、類似の記号及び文字が以下の添付図面で類似の項目を表し、したがって、ある項目は、1つの添付図面で定義されると、後の図面においてさらに定義及び解釈される必要がない。
【0050】
本実施例の理解を容易にするために、まず、本開示の実施例で開示される3次元モデル生成方法を詳細に紹介し、本開示の実施例によって提供される3次元モデル生成方法の実行本体は、一般的に一定のコンピューティング機能を備えたコンピュータデバイスであり、前記コンピュータデバイスは、例えば端末デバイス、又はサーバー、又は他の処理デバイスを備え、端末デバイスは、ユーザデバイス(UE:User Equipment)、移動デバイス、ユーザ端末、端末、セルラー電話、コードレス電話、パーソナルデジタルアシスタント(PDA:Personal Digital Assistant)、ハンドヘルドデバイス、コンピューティングデバイス、車載デバイス、ウェアラブルデバイスなどであってもよい。幾つかの可能な実施形態では、前記3次元モデル生成方法は、プロセッサがメモリに記憶されたコンピュータ可読命令を呼び出すことで実現されてもよい。
【0051】
以下、まず本開示の実施例によって提供される3次元モデル生成方法を説明する。
【0052】
図1を参照すると、それは本開示の実施例による3次元モデル生成方法のフローチャートである。前記方法は、ステップS101~S104を含み、ここで、
S101において、第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得し、前記複数の第1球体が前記第1対象の異なる部位をそれぞれ表す。
【0053】
S102において、前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成する。
【0054】
S103において、前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得る。
【0055】
S104において、前記第1レンダリング画像の勾配情報に基づいて、前記複数の第1球体の前記第1球体位置情報を調整し、調整後の前記複数の第1球体の前記第1球体位置情報を使用し、前記第1対象の3次元モデルを生成する。
【0056】
本開示の実施例では、第1対象の異なる部位を表すための複数の第1球体内の各第1球体の、カメラ座標系における第1球体位置情報を得た上で、当該第1球体位置情報に基づいて、第1対象を再レンダリングし、第1レンダリング画像を得、そして、第1レンダリング画像と第1画像のセマンティックセグメンテーション画像に基づいて、第1レンダリング画像の勾配情報を得、当該勾配情報が、第1球体位置情報に基づいて第1対象を再レンダリングすることによって得られる第1レンダリング画像の正確度を表し、これによって、当該勾配情報に基づいて各第1球体の第1球体位置情報を調整するプロセスにおいて、第1球体位置情報の予測誤り部分を調整し、これにより、調整後の第1球体位置情報がカメラ座標系における第1対象の異なる部位の位置をより正確に表すことができ、さらに調整後の各第1球体の第1球体位置情報に基づいて第1対象の3次元モデルを生成し、精度がより高い。
【0057】
また、本開示の実施例では、複数の第1球体の第1球体位置情報の正確度を表すための勾配情報を使用して、複数の第1球体のそれぞれに対応する第1球体位置情報を再調整するため、第1対象の深度における情報をより高い精度で復元することができ、したがって、得られた3次元モデルの精度がより高い。
【0058】
以下、上記のS101-S104をそれぞれ詳しく説明する。
【0059】
上記S101において、本開示の実施例は、第1対象の2次元画像に基づいて、第1対象の3次元モデルを生成する場合、第1対象を複数の部位に分け、第1対象の異なる部位に対して3次元位置情報の予測をそれぞれ行う。
【0060】
例示的に、第1対象の異なる部位のそれぞれに対応する3次元位置情報は、第1球体のカメラ座標系における第1球体位置情報で表され、第1球体のカメラ座標系における第1球体位置情報には、当該第1球体の中心点のカメラ座標系における3次元位置情報(即ち、第2の3次元位置情報)、当該第1球体の3つの座標軸のそれぞれに対応する長さ、及びカメラ座標系に対する各当該第1球体の回転角度が含まれる。
【0061】
人体を第1対象とすると、人体の肢体及び胴体に従って人体を複数の部位に分けることができ、各部位は、1つの第1球体で表され、各第1球体は、骨の長さ、及当該部位の異なる方向の厚さをそれぞれ表す3つの座標軸を含む。
【0062】
例示的に、
図2を参照すると、本開示の実施例は、人体を複数の第1球体で表す例を提供する。この例では、人体を20個の部位に分け、20個の部位が20個の第1球体で表され、人体Mは、
と表される。
【0063】
ここで、ε
i=E(R
i,C
i,X
i)であり、
ここで、ε
iは、カメラ座標系におけるi番目の第1球体の第1球体位置情報、即ちカメラ座標系における第1球体に対応する部位の姿勢データを表し、ここで、X
iは、i番目の第1球体のサイズデータを表し、そのパラメータは、骨の長さl
i、及び異なる方向の部位の厚さ
及び
を含む。C
iは、カメラ座標系におけるi番目の第1球体の中心点の3次元座標値を表し、R
iは、カメラ座標系におけるi番目の第1球体の回転情報を表す。
【0064】
i番目の第1球体の姿勢データSiは、下記の式(1)を満たしている。
【0065】
(1)
ここで、O
i は、オフセットベクトルであり、当該オフセットベクトルは、i番目の第1球体に対応する親部位から現在の部位へのオフセット方向を表し、l
iO
iは、キーポイントのレイアウトにおける人体のi番目の部位の局所位置を表す。S
parent(i)は、親部位の姿勢データを表す。R
parent(i)は、i番目の第1球体に対応する親部位のカメラ座標系における回転情報を表す。上記式(1)は、異なる第1球体の間の相互接続関係を制約する。
【0066】
カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を得る時に、例えば、予め訓練された位置情報予測ネットワークを利用して、前記第1画像に対して位置情報予測処理を行い、前記カメラ座標系における前記複数の第1球体の各第1球体の第1球体位置情報を得ることができる。
【0067】
例示的に、
図3を参照すると、本開示の実施例は、特徴抽出サブネットワーク、キーポイント予測サブネットワーク、及び3次元位置情報予測サブネットワークを備える位置情報予測ネットワークの構造の例をさらに提供する。
【0068】
ここで、特徴抽出サブネットワークは、第1画像に対して特徴抽出処理を行い、第1画像の特徴マップを得るように構成される。
【0069】
ここで、特徴抽出サブネットワークは、例えば、畳み込みニューラルネットワーク(CNN:convolutional neural networks)を含み、CNNは、第1画像に対して少なくとも一つのレベルの特徴抽出処理を行い、第1画像の特徴マップを得ることができる。CNNが第1画像に対して少なくとも一つのレベルの特徴抽出処理を行うプロセスは、CNNのエンコーダによって第1画像を符号化するプロセスと見なされてもよい。
【0070】
キーポイント予測サブネットワークは、第1画像の特徴マップに基づいて、第1画像における第1対象の複数のキーポイントの2次元座標値を決定するように構成される。
【0071】
ここで、キーポイント予測サブネットワークは、例えば、第1画像の特徴マップに基づいて少なくとも一つのレベルの逆畳み込み処理を行い、第1画像のヒートマップを得ることができ、ここで、ヒートマップのサイズは、例えば、第1画像のサイズと同じであり、ヒートマップのいずれかの第1画素点の画素値は、第1画像における当該いずれかの第1画素点の位置に対応する第2画素点が第1対象のキーポイントである確率を表す。それによって、当該ヒートマップを使用して、第1画像における第1対象の複数のキーポイントのそれぞれの2次元座標値を得ることができる。
【0072】
3次元位置情報予測サブネットワークは、第1画像における第1対象の複数のキーポイントのそれぞれの2次元座標値、及び第1画像の特徴マップに基づいて、第1対象を構成する複数の第1球体の、カメラ座標系における第1球体位置情報を得るように構成される。
【0073】
上記S102において、複数の第1球体のそれぞれに対応する第1球体位置情報を得た後、例えば、第1レンダリング画像を下記の方式で生成することができる。
【0074】
前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定し、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、前記第1レンダリング画像を生成する。
【0075】
ここで、面は、3次元コンピュータグラフィックス分野で多面体の形状を表す頂点と多角形の集合であり、非構造格子とも呼ばれる。第1対象を構成する複数の第1球体のそれぞれに対応する第1球体位置情報を決定した上で、第1球体位置情報に基づいて、第1球体を構成する複数の面のそれぞれのカメラ座標系における第1の3次元位置情報を決定することができる。
【0076】
ここで、テンプレート球体を構成する複数のテンプレート面のテンプレート頂点と前記テンプレート球体の中心点との第1位置関係、及び前記各第1球体の前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定することができる。
【0077】
ここで、テンプレート球体は、例えば
図4の41に示されるように、テンプレート球体は、複数のテンプレート面を含み、各テンプレート面のテンプレート頂点とテンプレート球体の中心点の間には一定の位置関係がある。第1球体は、テンプレート球体の変形によって得られることができ、第1テンプレート球体を変形する時に、例えば、前記各第1球体の3つの座標軸のそれぞれに対応する長さ及び前記カメラ座標系に対する前記各第1球体の回転角度に基づいて、前記テンプレート球体に対して形状及び回転角度の変換を行い、前記テンプレート球体に対する形状及び回転角度の変換結果及び前記第1位置関係に基づいて、各テンプレート頂点と変換後のテンプレート球体の中心点との第2位置関係を決定し、前記各第1球体の中心点の前記カメラ座標系における第2の3次元位置情報及び前記第2位置関係に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定することができる。
【0078】
ここで、テンプレート球体に対して形状及び回転角度を変換する時に、まずテンプレート球体に対して形状変換を行い、テンプレート球体の3つの座標軸を、それぞれ第1球体の3つの座標軸の長さと等しくすることができ、そして、テンプレート球体の形状変換結果に基づいて回転角度変換を行い、テンプレート球体の3つの座標軸のカメラ座標系における方向を、第1球体の3つの座標軸の方向に1対1で対応させることによって、テンプレート球体に対する形状及び回転角度の変換を遂行する。
【0079】
また、まずテンプレート球体に対して回転角度の変換を行い、テンプレート球体の3つの軸のカメラ座標系における方向を、第1球体の3つの座標軸の方向に1対1で対応させ、そして、テンプレート球体の回転角度の変換結果に基づいて形状変換を行い、テンプレート球体の3つの座標軸の長さを、それぞれ第1球体の3つの座標軸の長さに等しくすることによって、テンプレート球体に対する形状及び回転角度の変換を遂行する。
【0080】
テンプレート球体の形状及び回転角度の変換が行った後、テンプレート球体の3つの座標軸の長さ、及びカメラ座標系における回転角が決定されることになる。このとき、座標軸の長さ、カメラ座標系における回転角、及びテンプレート球体を構成する複数のテンプレート面のテンプレート頂点と前記テンプレート球体の中心点との第1位置関係に基づいて、複数のテンプレート面のテンプレート頂点と変換後のテンプレート球体の中心点との第2位置関係を決定することができる。当該第2位置関係、及び第1球体の中心点のカメラ座標系における第2の3次元位置情報に基づいて、複数のテンプレート面を構成する複数のテンプレート頂点のカメラ座標系における3次元位置情報を決定する。このとき、複数のテンプレート面のテンプレート頂点のカメラ座標系における3次元位置情報は、第1球体を構成する複数の面の複数の頂点のそれぞれのカメラ座標系における第1の3次元位置情報である。
【0081】
例示的に、
図4を参照すると、本開示の実施例は、テンプレート球体を第1球体に変換する例をさらに提供する。この例では、テンプレート球体は、
図4の41に示される通りであり、テンプレート球体の形状及び回転角度の変換結果は、42に示される通りであり、43と44は、第1球体で構成された人体を表し、ここで、43は、第1球体で構成された人体の透視図である。
【0082】
第1球体の複数の面の各頂点のカメラ座標系における第1の3次元位置情報が得られた後、第1球体を構成する複数の面の複数の頂点のそれぞれのカメラ座標系における第1の3次元位置情報に基づいて、第1対象を構成する複数の球体に対して画像レンダリング処理を行い、第1レンダリング画像を生成する。
【0083】
ここで、例えば、下記の方法を使用し、第1対象を構成する複数の第1球体に対して画像レンダリング処理を行うことができ、即ち、
前記第1の3次元位置情報及びカメラの投影行列に基づいて、第1レンダリング画像の各画素点の部位インデックス及び面インデックスを決定し、
決定された第1レンダリング画像の各画素点の部位インデックス及び面インデックスに基づいて、前記第1レンダリング画像を生成し、
ここで、いずれかの画素点の部位インデックスは、前記いずれかの画素点に対応する前記第1対象の部位を標識し、いずれかの画素点の面インデックスは、前記いずれかの画素点に対応する面を標識する。
【0084】
ここで、カメラは、第1画像を取得するためのカメラであり、カメラの投影行列は、カメラ座標系におけるカメラの位置、及び第1球体を構成する複数の面の複数の頂点のカメラ座標系における第1の3次元位置情報に基づいて得られることができる。第1カメラの投影行列を得た後、当該投影行列に基づいて、複数の第1球体をカメラ座標系にマッピングし、第1レンダリング画像を得ることができる。
【0085】
1つの可能な実施形態では、第1対象を構成する複数の球体に対して画像レンダリング処理を行う時に、複数の第1球体のそれぞれに対応する第1球体位置情報に基づいて、複数の第1球体をまとめてレンダリングし、すべての第1球体を含む第1レンダリング画像を得る。この時に、すべての第1球体に対応する第1レンダリング画像の勾配情報を得、当該勾配情報に基づいて複数の第1球体の第1球体位置情報を調整する。
【0086】
別の可能な実施形態では、第1対象を構成する複数の第1球体に対して画像レンダリング処理を行う時に、複数の第1球体のそれぞれに対してそれぞれレンダリングし、複数の第1球体にそれぞれ対応する第1レンダリング画像を得る。この時に、複数の第1球体のそれぞれに対応する第1レンダリング画像の勾配情報を得、複数の第1球体のそれぞれに対応する第1レンダリング画像の勾配情報に基づいて、各第1球体の第1球体位置を調整する。
【0087】
上記S103において、例えば、予め訓練されたセマンティックセグメンテーションネットワークを使用し、第1画像に対してセマンティックセグメンテーション処理を行い、第1画像のセマンティックセグメンテーション画像を得ることができる。
【0088】
(1)複数の第1球体をまとめてレンダリングすることについて、異なる第1球体が第1レンダリング画像にレンダリングされる時に、異なる第1球体に対応する画素点の画素値は異なり、同時に、第1画像に対してセマンティックセグメンテーション処理を行い、第1画像のセマンティックセグメンテーション画像を得る時に、セマンティックセグメンテーション画像のいずれかの画素点に対応する画素値は、第1画像における、対応する位置の画素点の属する部位の分類値を表す。ここで、セマンティックセグメンテーション画像における第1対象の異なる部位に対応する分類値も異なる。
【0089】
例示的に、同じ部位において、当該部位に対応する第1球体が第1レンダリング画像とレンダリングされる時に、当該部位に対応する第1球体に対応する画素値は、セマンティックセグメンテーション画像における当該部位に対応する分類値と同じである。
【0090】
(2)複数の第1球体をそれぞれレンダリングする時に、第1画像に対してセマンティックセグメンテーション処理を行う時に、第1対象の異なる部位を表すための第1球体にそれぞれ対応するセマンティックセグメンテーション画像を得る。
【0091】
この場合、前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得るステップは、例えば下記の方式を採用することができ、即ち、
各第1球体に対して、前記各第1球体に対応する第1レンダリング画像及びセマンティックセグメンテーション画像に基づいて、前記各第1球体に対応する第1レンダリング画像の勾配情報を得、
複数の第1球体にそれぞれ対応する第1レンダリング画像の勾配情報に基づいて、複数の第1球体に対応する全般的な勾配情報を得る。
【0092】
このように、異なる部位に対応する分類値の表現を単純化し、勾配計算プロセスにおける計算の複雑さを単純化することに役立つ。
【0093】
理論的には、得られた複数の第1球体のそれぞれに対応する第1球体位置情報が完全に正しい場合、生成された第1レンダリング画像及び第1セマンティックセグメンテーション画像内の対応する位置の画素点の画素値は同じである。予測して得られたいずれかの第1球体の第1球体位置情報が間違っている場合、第1レンダリング画像及び第1セマンティックセグメンテーション画像の少なくとも一部の位置に対応する画素点の画素値は異なる可能性がある。
【0094】
上記原理に基づき、第1レンダリング画像及び第1画像のセマンティックセグメンテーション画像により、第1レンダリング画像の勾配情報を決定することができ、当該勾配情報は、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報の正確度を表す。一般的に、勾配が大きいほど、第1球体位置情報の正確度が低くなることを表し、対応的に、勾配が小さいほど、第1球体位置情報の正確度が高くなることを表し、したがって、第1レンダリング画像の勾配情報により、第1球体にそれぞれ対応する第1球体位置情報の調整を指導することができ、これにより、第1球体位置情報を継続的に調整するプロセスで、得られる第1レンダリング画像を正しい方向に向かって徐々に継続的に最適化することができ、そのため、最終的に生成された第1対象の3次元モデルの精度が高くなる。
【0095】
ここで、第1レンダリング画像の勾配情報は、第1レンダリング画像の各画素点の勾配値を含む。
【0096】
第1レンダリング画像の勾配情報を決定する時に、例えば、前記第1レンダリング画像の各画素点を走査し、走査して得られた画素点の前記第1レンダリング画像における第1画素値、及び前記走査して得られた画素点の前記セマンティックセグメンテーション画像における第2画素値に対して、前記走査して得られた画素点の勾配値を決定することができる。
【0097】
図5を参照すると、本開示の実施例による走査して得られた画素点の勾配値を決定するための方法は、以下のステップを含む。
【0098】
S501において、前記走査して得られた画素点の前記第1画素値、及び前記走査して得られた画素点の前記第2画素値に基づいて、前記走査して得られた画素点の残差を決定する。
【0099】
S502において、前記走査して得られた画素点の残差が第1数値である場合、前記走査して得られた画素点の勾配値を前記第1数値として決定する。
【0100】
ここで、走査して得られた画素点に対して、当該走査して得られた画素点の第1画素値と第2画素値が等しい場合、当該走査して得られた画素点を投影点とする位置点の属する第1球体の第1球体位置情報は、正しいと予測されると考えられる。ここで、当該位置点は、第1対象のいずれかの部位を表すための第1球体のいずれかの面における位置点である。当該走査して得られた画素点の第1画素値と第2画素値が等しくない場合、当該走査して得られた画素点を投影点とする位置点が属する第1球体の第1球体位置情報の予測は、間違っていると考えられる。
【0101】
1つの可能な実施形態では、第1数値は例えば0である。
【0102】
S503において、前記走査して得られた画素点の残差が前記第1数値でない場合、前記走査して得られた画素点の前記第2画素値に基づいて、前記複数の第1球体から、前記走査して得られた画素点に対応する目標第1球体を決定し、前記目標第1球体を構成する複数の面から目標面を決定する。
【0103】
S504において、前記目標面上の少なくとも1つの目標頂点の前記カメラ座標系における目標3次元位置情報を決定し、ここで、前記少なくとも1つの目標頂点が前記目標3次元位置情報によって標識された位置に位置する場合、前記走査して得られた画素点を再レンダリングすることにより得られた新しい第1画素値と前記走査して得られた画素点に対応する第2画素値との間の残差を前記第1数値として決定する。
【0104】
S505において、前記目標頂点の前記カメラ座標系における第1の3次元位置情報及び前記目標3次元位置情報に基づいて、前記走査して得られた画素点の勾配値を得る。
【0105】
本開示の幾つかの実施例では、
図6を参照すると、走査して得られた画素点の残差が第1数値でない場合、目標3次元位置情報を決定する複数の例を示す概略図である。この例では、面は、三角形の面であり、即ち第1球体を構成するいずれかの面は、3つの辺及び3つの頂点を含む。
【0106】
この例では、画素点Pは、走査して得られた画素点であり、Pの画像座標系における座標値がP=(up,vp)と表される。Ip(x)∈0,1は、画素点のレンダリング関数を表す。
【0107】
図6では、61は目標面を表し、当該目標面は、第1対象におけるi番目の部位を表すための第1球体のj番目の面である。
は、目標面のk番目の頂点、即ち、本開示の実施例における目標頂点を表す。
【0108】
62は、カメラの所在方向において目標面を遮蔽する遮蔽面を表し、目標面を遮蔽する面と目標面とを異なる第1球体に属する。
【0109】
図6のaでは、画素点Pの第1画素値を目標面に対応する第1画素値としてレンダリングし、この例では、画素点Pが遮蔽面62に遮蔽され、かつ目標面61を画像座標系において投影する場合でも、画素点を覆うことがない。したがって、カメラ座標系のx軸方向、及びy軸方向のいずれかの方向において、目標頂点
の位置を調整しても、画素点Pを再レンダリングした後に得られた新しい第1画素値を、目標面に対応する第1画素値と同じくさせることがない。したがって、この場合、
図6のa及び
図6のeに示すように、まずカメラ座標系におけるx軸方向に目標頂点
を移動することができ、これにより、目標面を画像座標系において投影する時に、画素点Pを覆うことができ、そして、z軸方向に目標頂点
の位置を調整し、これにより、目標面において画素点Pに投影した位置点Qを、遮蔽面の前(カメラの所在位置に対する)に位置させることができ、それによって、目標頂点
の前記カメラ座標系における目標3次元位置情報を得る。
【0110】
ここで、画素点Pの勾配値は、下記の式(2)及び式(3)を満たしている。
【0111】
(2)
(3)
ここで、
は、画素点Pのx軸方向における勾配値を表し、
は、画素点Pのz軸方向における勾配値を表す。画素点Pのy軸方向における勾配値は0である。
【0112】
上記の式(2)及び式(3)では、δIpは、画素点Pの残差を表す。
【0113】
x
0は、目標頂点
をx軸方向に移動させる前の目標頂点
のx軸の座標値を表し、x
1は、目標頂点
をx軸方向に移動させた後の目標頂点
のx軸の座標値を表す。
は、目標面において画素点Pに投影した位置点Qと、遮蔽面において画素点Pに投影した位置Q’との間の深度差を表し、z
0は、Qの深度値を表し、z
1は、Q’の深度値を表し、
とQの間の連結線は、
と
の間の連結線とM
0のところで交差する。λは、ハイパーパラメータを表す。
は、2つの点の間の距離を表す。
【0114】
ここで、
図6のeにおいて、
、
、
は、
、
、
の画像座標系における投影点をそれぞれ表す。
【0115】
図6のbでは、画素点Pの第1画素値を目標面に対応する第1画素値としてレンダリングし、この例では、画素点Pが遮蔽面62に遮蔽されていない。したがって、カメラ座標系のx軸方向に沿って目標頂点
の位置を移動させるだけで、画素点Pを再レンダリングすることによって得られた新しい第1画素値を、目標面に対応する第1画素値と同じくさせることができ、したがって、この場合、
図6のbに示すように、カメラ座標系におけるx方向において目標頂点
を移動させ、それによって、目標面を画像座標系において投影する時に、画素点Pを覆うことができ、目標頂点
の前記カメラ座標系における目標3次元位置情報を得ることができる。
【0116】
この場合、画素点Pの勾配値は上記式(2)を満たし、画素点Pのz軸方向及びy軸方向の勾配値の両方は0である。
【0117】
図6のcでは、画素点Pの第1画素値を目標面に対応する第1画素値としてレンダリングし、この例では、画素点Pが遮蔽面62に遮蔽され、かつ目標面61を画像座標系において投影する時に、画素点Pが覆われることになり、したがって、カメラ座標系のx軸方向及びy軸方向に目標頂点
の位置を調整する必要がなく、
図6のeに示すように、z軸方向において目標頂点
の位置を調整するだけでよく、これにより、目標面において画素点Pに投影した位置点Qを、遮蔽面の前(カメラの位置に対する)に位置させることができ、それによって目標頂点
の前記カメラ座標系における目標3次元位置情報を得る。
【0118】
この場合、画素点Pの勾配値は上記式(3)を満たし、画素点Pのx軸方向及びy軸方向の勾配値の両方は0である。
【0119】
図6のdに示すように、画素点Pの第1画素値を目標面に対応する第1画素値としてレンダリングし、この例では、画素点Pが遮蔽面62に遮蔽されることがない。目標面61を画像座標系において投影する時に、画素点Pが覆われることになり、このとき、カメラ座標系のx軸方向に沿って目標頂点
の位置を移動させるだけで、画素点Pを再レンダリングした後に得られた新しい第1画素値を、目標面に対応する第1画素値と異なるようにし、したがって、この場合、
図6のdに示すように、カメラ座標系のx軸方向に目標頂点
を移動させることができ、これにより、目標面を画像座標系において投影する時に、画素点Pを覆うことがなく、目標頂点
の前記カメラ座標系における目標3次元位置情報を得る。
【0120】
この場合、画素点Pの勾配値は上記式(2)を満たし、画素Pのy軸方向及びz軸方向の勾配値の両方とも0である。
【0121】
上記方式を採用すれば、第1レンダリング画像の各画素点の勾配値を得ることができ、第1レンダリング画像のすべての画素点の勾配値は、第1レンダリング画像の勾配情報を構成する。
【0122】
上記S104において、第1レンダリング画像の勾配情報に基づいて第1球体の第1球体位置情報を調整する時に、例えば、第1球体の第1球体位置情報の少なくとも1つを調整することができ、前記各第1球体の中心点の前記カメラ座標系における第2の3次元位置情報、前記各第1球体の3つの座標軸のそれぞれに対応する長さ、及び前記カメラ座標に対する前記各第1球体の回転角度の少なくとも1つを調整することもでき、これにより、調整後の第1球体位置情報に基づいて生成される新しい第1レンダリング画像内の各画素点の勾配値を、いずれも第1数値に近づく方向に変化させ、さらに、複数回の反復プロセスにより、第1球体位置情報を真値に徐々に近づき、第1球体位置情報の精度を向上させ、さらに、最終的に第1対象の3次元モデルの精度を向上させることができる。
【0123】
図7を参照すると、本開示の実施例によるニューラルネットワーク生成方法は、
訓練待ちニューラルネットワークを使用し、第2画像における第2対象に対して3次元位置情報の予測処理を行い、前記第2対象の異なる部位を表すための複数の第2球体の各第2球体のカメラ座標系における第2球体位置情報を得るS701と、
複数の第2球体のそれぞれに対応する第2球体位置情報に基づいて、第2レンダリング画像を生成するS702と、
前記第2レンダリング画像、及び前記第2画像のセマンティックラベル付き画像に基づいて、前記第2レンダリング画像の勾配情報を得るS703と、
前記第2レンダリング画像の勾配情報に基づいて、前記訓練待ちニューラルネットワークを更新し、更新後のニューラルネットワークを得るS704と、を含む。
【0124】
本開示の実施例によるニューラルネットワークの構造は、例えば
図3に示される通りであり、ここで省略する。
【0125】
本開示の実施例は、最適化待ちニューラルネットワークを使用し、第2画像における第2対象に対して3次元位置情報の予測処理を行い、第2画像における第2対象の3次元モデルを表すための複数の第2球体の第2球体位置情報を得た上で、第2球体位置情報に基づいて画像レンダリングを行い、画像レンダリング結果に基づいて、複数の第2球体の第2球体位置情報の正確度を表すための勾配情報を決定し、当該勾配情報に基づいて最適化待ちニューラルネットワークを更新し、最適化後のニューラルネットワークを得、これにより、最適化されたニューラルネットワークによる3次元位置予測精度がより高くなる。
【0126】
上記S702の実現プロセスは、上記S102の実現プロセスと類似し、上記S703の実現プロセスは、上記S103の実現プロセスと類似するため、ここで詳細な説明を省略する。
【0127】
上記S704において、第2レンダリング画像の勾配情報に基づいて、訓練待ちニューラルネットワークを更新する時に、更新後のニューラルネットワークを使用し、新しい第2球体位置情報を得た上で、新しい第2球体位置情報に基づいて得られた第2レンダリング画像内の、各画素点の勾配値が第1数値に近づく方向に変化し、それによって、ニューラルネットワークを複数回最適化することにおって、ニューラルネットワークによる第2球体位置情報の予測精度を徐々に向上させることができる。
【0128】
上記の内容に基づいて、本開示の実施形態は、ある画素上の勾配を3D格子上のノードのユークリッド座標に伝達することができ、それによって、物体輪郭、部品セマンティックセグメンテーションなどの画像情報を使用し、3D物体モデルの形状を修正することができることがわかる。以下、本開示の実施例の適用シーンを提供する。
【0129】
1、3Dモデル格子から画像画素への順方向伝播
与えられたカメラパラメータに基づいて、ピンホールカメラのイメージング原理を使用し、各三角形の面(上記の面)の画面平面への投影を計算し、画像平面における各画素に対して、この画素の所在領域のカメラに最も近い三角形の面のインデックス(即ち、完全なレンダリングを行うときに、この画素がどの三角形の面によってレンダリングして得られたか)を計算し、画素ごとに三角形の面のインデックスが保存されている画像は、三角形の面インデックス(Face Index)(上記の面インデックス)である。ここで、
で、画素点(u,v)がi番目の部品に属しているか否かを示し、部品インデックス(Part Index)(上記の部位インデックス)と呼ばれ、1つのレンダリング画像を生成し、次に各部品(上記の部位)に対して、完全なレンダリング画像から一部の画素値を単独で抽出し、ここで、抽出された当該部分の画素座標は、部品インデックスにおいて現在の部品に属する。
【0130】
2、画素の勾配を3D格子のノードに返送する逆方向伝播
1)x方向、y方向の状況が同じであるため、ここで、x方向において勾配を返送することを例として説明する。画素の値は、RGB値、階調値であってもよいし、輝度値及びバイナリ値であってもよく、ここでバイナリ値を例とし、見えるものが1であり、見えないものが0である。1つの画素の勾配は、正方向(0から1)それとも負方向(1から0)である。ノード(上記の頂点)のユークリッド座標を画素点の勾配と関連付けるために、ここでは、あるノードを移動する時に、画素の値が突如変化するものではなく、線形的に変化すると考えられている。遮蔽されていない時に、例えば
図6の図aに示されるように、
(目標面のk番目の頂点を表す)が右に移動する時に、三角形(上記の目標面)の一辺が点Pに覆われ、I
pが0から1になり、したがって、xに伴うI
pの変化量は、
図6の図aの下方の1番目の折れ線グラフの黒い実線で示され、この場合、
図6の図aの下方の2番目の折れ線グラフの黒い実線で示されるように、ノードの勾配
は、この変化の傾斜度である。画素点がある三角形の面の内部にある場合、
は、xに移動し、I
pは、0から1に変化し、
図6の図cに示すように、このとき、ノード
の勾配は、左、右とも異なる。上述したように、
がノードkの勾配を表す場合、当該ノードは、i番目の部品のj番目の三角形の面に属し、この場合、上記式(2)が存在する。遮蔽されている場合、部品レベルのレンダリングであるため、現在の部品は、他の部品に遮蔽されているため、値がレンダリングされることがない。したがって、この部品がこの画素点を覆っているか否かに関わらず、当該部品のレンダリング図での当該画素点の値は0であり、
図6を参照すると、面62は、現在の部品の三角形の面に属しないが、面62は、カメラの平面に最も近い三角形の面であり、したがって、xが面62に位置する時に、勾配は変化することがなく、即ち常に0に等しくなり、
図6のすべての折れ線グラフの破線で示されている。
【0131】
3、上記の部分1及び部分2に基づいて、すべての画素を走査し、走査して得られた画素の勾配が3Dモデルのノードに返送される値を計算し、複数の画素が1つのノードに勾配を返送する場合、すべての勾配を累加する。速度を上げるために、ここでは並列に加速する方法を使用でき、cudaを使用して各画素を独立して計算することができ、CPUと並行して各画素を独立して計算することもでき、最終的にこの方式により、与えられた監督情報における3Dモデルノードの勾配が得る。
【0132】
上記方法を採用すると、使用される監督情報は、完全なレンダリング画像に限定されず、物体のセマンティックセグメンテーションを監督情報として利用してもよく、複数の物体をまとめてレンダリングする時に、異なる物体を部品と見なして、独立してレンダリングしてもよく、これにより、異なる物体の間の位置関係を知ることができる。
【0133】
当業者は、上記方法において、各ステップの書き込み順序が厳密な実行順序として実施プロセスに対しるいかなる制限を構成することを意味せず、各ステップの実行順序がその機能と可能な内部論理で決定されるべきであることを理解することができる。
【0134】
同一の発明の思想に基づいて、本開示の実施例において3次元モデル生成方法に対応する3次元モデル生成装置が提供され、本開示の実施例における装置は、本開示の実施例における上記3次元モデル生成方法と類似し、したがって、装置の実施例は、方法の実施を参照することができ、繰り返し点について説明を省略する。
【0135】
図8を参照すると、それは本開示の実施例による3次元モデル生成装置の概略図である。前記装置は、第1取得部81、第1生成部82、第1勾配決定部83、調整部84、及びモデル生成部85を備え、ここで、
第1取得部81は、第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得するように構成され、前記複数の第1球体が前記第1対象の異なる部位をそれぞれ表し、
第1生成部82は、前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成するように構成され、
第1勾配決定部83は、前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得るように構成され、
調整部84は、前記第1レンダリング画像の勾配情報に基づいて、前記複数の第1球体の前記第1球体位置情報を調整するように構成され、
モデル生成部85は、調整後の前記複数の第1球体の前記第1球体位置情報を使用し、前記第1対象の3次元モデルを生成するように構成される。
【0136】
本開示の幾つかの実施例では、前記第1生成部82は、前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成する場合、
前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定し、
前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、前記第1レンダリング画像を生成するように構成される。
【0137】
本開示の幾つかの実施例では、前記第1生成部82は、前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定する場合、
テンプレート球体を構成する複数のテンプレート面のテンプレート頂点と前記テンプレート球体の中心点との第1位置関係、及び前記各第1球体の前記第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するように構成される。
【0138】
本開示の幾つかの実施例では、前記各第1球体の前記第1球体位置情報には、前記各第1球体の中心点の前記カメラ座標系における第2の3次元位置情報、前記各第1球体の3つの座標軸のそれぞれに対応する長さ、及び前記カメラ座標系に対する前記各第1球体の回転角度が含まれる。
【0139】
本開示の幾つかの実施例では、前記第1生成部82は、テンプレート球体を構成する複数のテンプレート面のテンプレート頂点と前記テンプレート球体の中心点との第1位置関係、及び前記各第1球体の第1球体位置情報に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定する場合、
前記各第1球体の3つの座標軸のそれぞれに対応する長さ及び前記カメラ座標系に対する前記各第1球体の回転角度に基づいて、前記テンプレート球体に対して形状及び回転角度の変換を行い、
前記テンプレート球体に対する形状及び回転角度の変換結果及び前記第1位置関係に基づいて、各テンプレート頂点と変換後のテンプレート球体の中心点との第2位置関係を決定し、
前記各第1球体の中心点の前記カメラ座標系における第2の3次元位置情報及び前記第2位置関係に基づいて、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報を決定するように構成される。
【0140】
本開示の幾つかの実施例では、前記第1取得部81は、さらに前記第1画像のカメラの投影行列を取得するように構成され、
前記第1生成部82は、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、前記第1レンダリング画像を生成する場合、
前記第1の3次元位置情報及び前記投影行列に基づいて、第1レンダリング画像の各画素点の部位インデックス及び面インデックスを決定し、
決定された第1レンダリング画像の各画素点の部位インデックス及び面インデックスに基づいて、前記第1レンダリング画像を生成するように構成され、
ここで、いずれかの画素点の部位インデックスは、前記いずれかの画素点に対応する前記第1対象の部位を標識し、いずれかの画素点の面インデックスは、前記いずれかの画素点に対応する面を標識する。
【0141】
本開示の幾つかの実施例では、前記第1生成部82は、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、前記第1レンダリング画像を生成する場合、
前記各第1球体に対して、前記各第1球体を構成する複数の面の各頂点の前記カメラ座標系における第1の3次元位置情報に基づいて、前記各第1球体に対応する第1レンダリング画像を生成するように構成され、
前記第1勾配決定部83は、前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得る場合、
前記各第1球体に対して、前記各第1球体に対応する第1レンダリング画像及びセマンティックセグメンテーション画像に基づいて、前記各第1球体に対応する第1レンダリング画像の勾配情報を得るように構成される。
【0142】
本開示の幾つかの実施例では、前記第1レンダリング画像の勾配情報は、前記第1レンダリング画像の各画素点の勾配値を含み、
前記第1勾配決定部83は、前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得る場合、
前記第1レンダリング画像の各画素点を走査し、走査して得られた画素点の前記第1レンダリング画像における第1画素値、及び前記走査して得られた画素点の前記セマンティックセグメンテーション画像における第2画素値に対して、前記走査して得られた画素点の勾配値を決定するように構成される。
【0143】
本開示の幾つかの実施例では、前記第1勾配決定部83は、走査して得られた画素点の前記第1レンダリング画像における第1画素値及び前記走査して得られた画素点の前記セマンティックセグメンテーション画像における第2画素値に対して、前記走査して得られた画素点の勾配値を決定する場合、
前記走査して得られた画素点の前記第1画素値、及び前記走査して得られた画素点の前記第2画素値に基づいて、前記走査して得られた画素点の残差を決定し、
前記走査して得られた画素点の残差が第1数値である場合、前記走査して得られた画素点の勾配値を前記第1数値として決定し、
前記走査して得られた画素点の残差が前記第1数値でない場合、前記走査して得られた画素点の前記第2画素値に基づいて、前記複数の第1球体から、前記走査して得られた画素点に対応する目標第1球体を決定し、前記目標第1球体を構成する複数の面から目標面を決定し、
前記目標面上の少なくとも1つの目標頂点の前記カメラ座標系における目標3次元位置情報を決定し、ここで、前記少なくとも1つの目標頂点が前記目標3次元位置情報によって標識された位置に位置する場合、前記走査して得られた画素点を再レンダリングすることにより得られた新しい第1画素値と前記走査して得られた画素点に対応する第2画素値との間の残差を前記第1数値として決定し、
前記目標頂点の前記カメラ座標系における第1の3次元位置情報及び前記目標3次元位置情報に基づいて、前記走査して得られた画素点の勾配値を得るように構成される。
【0144】
本開示の幾つかの実施例では、前記第1取得部81は、第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得する場合、
予め訓練された位置情報予測ネットワークを使用し、前記第1画像に対して位置情報予測処理を行い、前記カメラ座標系における前記複数の第1球体の各第1球体の第1球体位置情報を得るように構成される。
【0145】
図9を参照すると、本開示の実施例によるニューラルネットワーク生成装置は、
訓練待ちニューラルネットワークを使用し、第2画像における第2対象に対して3次元位置情報の予測処理を行い、前記第2対象の異なる部位を表すための複数の第2球体の各第2球体のカメラ座標系における第2球体位置情報を得るように構成される第2取得部91と、
複数の第2球体のそれぞれに対応する第2球体位置情報に基づいて、第2レンダリング画像を生成するように構成される第2生成部92と、
前記第2レンダリング画像、及び前記第2画像のセマンティックラベル付き画像に基づいて、前記第2レンダリング画像の勾配情報を得るように構成される第2勾配決定部93と、
前記第2レンダリング画像の勾配情報に基づいて、前記訓練待ちニューラルネットワークを更新し、更新後のニューラルネットワークを得るように構成される更新部94と、を備える。
【0146】
装置内の各部分の処理プロセス、及び各部分間のインタラクションプロセスの説明については、上記の方法の実施例における関連する説明を参照することができるが、ここでは詳細には説明しない。
【0147】
本開示の実施例及び他の実施例では、「部分」は、部分の回路、部分のプロセッサ、部分のプログラム又はソフトウェアなどであってもよく、当然、ユニットであってもよく、また、モジュールであってもよいし、モジュール化されていないものであってもよい。
【0148】
本開示の実施例は、コンピュータデバイスをさらに提供する。
図10に示すように、それは本開示の実施例によるコンピュータデバイスの構造図である。前記コンピュータデバイスは、
プロセッサ11とメモリ12とを備え、前記メモリ12には前記プロセッサ11で実行可能な機械可読命令が記憶され、コンピュータデバイスが動作する場合、前記機械可読命令が下記のステップを実現するために前記プロセッサに実行される。
【0149】
第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得し、前記複数の第1球体が前記第1対象の異なる部位をそれぞれ表し、
前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成し、
前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得、
前記第1レンダリング画像の勾配情報に基づいて、前記複数の第1球体の前記第1球体位置情報を調整し、調整後の前記複数の第1球体の前記第1球体位置情報を使用し、前記第1対象の3次元モデルを生成し、
又は、前記機械可読命令が下記のステップを実行するために前記プロセッサに実行される。
【0150】
訓練待ちニューラルネットワークを使用し、第2画像における第2対象に対して3次元位置情報の予測処理を行い、前記第2対象の異なる部位を表すための複数の第2球体の各第2球体のカメラ座標系における第2球体位置情報を得、
複数の第2球体のそれぞれに対応する第2球体位置情報に基づいて、第2レンダリング画像を生成し、
前記第2レンダリング画像、及び前記第2画像のセマンティックラベル付き画像に基づいて、前記第2レンダリング画像の勾配情報を得、
前記第2レンダリング画像の勾配情報に基づいて、前記訓練待ちニューラルネットワークを更新し、更新後のニューラルネットワークを得る。
【0151】
上記命令の実行プロセスについて本開示の実施例に記載される3次元モデル生成方法、及びニューラルネットワーク生成方法のステップを参照することができ、ここでは説明を省略する。
【0152】
本開示の実施例は、コンピュータ可読記憶媒体をさらに提供する。前記コンピュータ可読記憶媒体にはコンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサに実行される時に上記方法の実施例に記載される3次元モデル生成方法又はニューラルネットワーク生成方法のステップを実行する。ここで、前記記憶媒体は、揮発性コンピュータ可読記憶媒体又は不揮発性コンピュータ可読記憶媒体であってもよい。
【0153】
本開示の実施例によって提供される3次元モデル生成方法又はニューラルネットワーク生成方法のコンピュータプログラム製品は、プログラムコードを記憶するコンピュータ可読記憶媒体を含み、前記プログラムコードに含まれる命令は、上記方法の実施例に記載される3次元モデル生成方法又はニューラルネットワーク生成方法のステップを実行するように構成され、上記方法の実施例を参照することができ、ここで説明を省略する。
【0154】
本開示の実施例は、プロセッサに実行されると上記の実施例のいずれかの方法を実現するコンピュータプログラムをさらに提供する。前記コンピュータプログラム製品は、ハードウェア、ソフトウェア又はそれらの組み合わせによって実現されてもよい。1つの選択可能な実施例では、前記コンピュータプログラム製品は、コンピュータ記憶媒体として具体化され、別の選択可能な実施例では、コンピュータプログラム製品は、ソフトウェア開発キット(SDK:Software Development Kit)などのソフトウェア製品として具体化される。
【0155】
本開示の実施例は、コンピュータ可読コードを含み、前記コンピュータ可読コードが電子デバイスで実行される場合、前記電子デバイス内のプロセッサが実行するときに上記の3次元モデル生成方法、又は上記ニューラルネットワーク生成方法を実現するコンピュータプログラムをさらに提供する。
【0156】
本開示の実施例により、3次元再構成のタスクにおいて、再構成モデルの精度を最適化することができ、高自由度モデルの自己遮蔽によって引き起こされる曖昧さを低減することができ、そして、深層学習では、本開示の実施例により、画像を3次元空間に関連付けることができ、これにより、セマンティックセグメンテーション、3次元再構成などのタスクの正確性が向上する。
【0157】
当業者は、便利及び簡潔に説明するために、上記のシステム及び装置の動作プロセスについて、前記方法の実施例における対応するプロセスを参照でき、ここで説明を省略することを明確に理解することができる。本開示で提供される幾つかの実施例では、開示されるシステム、装置及び方法は、他の方式により実現されてもよいと理解すべきである。上述した装置の実施例は、例示的なものだけであり、例えば、前記ユニットの区分は、論理機能的区分だけであり、実際に実施する時に他の区分モードもあり得て、また、例えば複数のユニット又はコンポーネントは、組み合わせられてもよく又は別のシステムに統合されてもよく、又は幾つかの特徴が無視されてもよく、又は実行されなくてもよい。また、示される又は議論される相互結合又は直接結合又は通信接続は、幾つかの通信インターフェース、装置又はユニットを介す間接的結合又は通信接続であってもよく、電気的、機械的又は他の形態であってもよい。
【0158】
分離部品として説明された前記ユニットは、物理的に分離するものであってもよく又は物理的に分離するものでなくてもよく、ユニットとして表示された部品は、物理ユニットであってもよく又は物理ユニットでなくてもよく、即ち1つの箇所に位置してもよく、又は複数のネットワークユニットに分布してもよい。実際のニーズに応じてその中の一部又は全てのユニットを選択して本実施例の解決策の目的を達成することができる。
【0159】
また、本開示の各実施例における各機能ユニットは、1つの処理ユニットに統合されてもよく、個々のユニットは、単独で物理的に存在してもよく、2つ又は2つ以上のユニットは、1つのユニットに統合されてもよい。
【0160】
前記機能は、ソフトウェア機能ユニットの形態で実現され且つ独立した製品として販売又は使用されると、プロセッサで実行可能な不揮発性コンピュータ可読記憶媒体に記憶されてもよい。このような理解に基づき、本開示の技術的解決策は、本質的に又は従来技術に寄与する部分又は前記技術的解決策の部分がソフトウェア製品の形で実現されてもよく、前記コンピュータソフトウェア製品は、1つの記憶媒体に記憶されてもよく、コンピュータ装置(パーソナルコンピュータ、サーバー、又はネットワークデバイス等であってもよい)に本開示の様々な実施例に記載される方法の全て又は一部のステップを実行させるための幾つかの命令を含む。前記憶媒体は、USBフラッシュディスク、モバイルハードディスク、読み取り専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスク又は光ディスク等のプログラムコードを記憶できる各種の媒体を含む。
【0161】
最後に説明すべきこととして、上記実施例は、本開示の具体的な実施形態だけであり、本開示の技術的解決策を説明するために使用され、それを制限するものでなく、本開示の保護範囲は、これに限定されなく、上記実施例を参照して本開示を詳細に説明するが、当業者は、いかなる当業者が本開示で開示される技術範囲で、依然として上記実施例に記載される技術的解決策の変更又は変化を容易に想到し、又はその中の一部の技術特徴に対して同等の入れ替えを行うことができ、これらの変更、変化又は入れ替えが対応する技術的解決策の本質を本発明の実施例における技術的解決策の精神及び範囲から逸脱させず、全て本開示の保護範囲に含まれるべきである。したがって、本開示の保護範囲は、特許請求の範囲に準拠するべきである。
【産業上の利用可能性】
【0162】
本開示の実施例は、3次元モデル生成方法、ニューラルネットワーク生成方法及び装置を提供する。前記3次元モデル生成方法は、第1対象を含む第1画像に基づいて、カメラ座標系における複数の第1球体内の各第1球体の第1球体位置情報を取得するステップであって、前記複数の第1球体が前記第1対象の異なる部位をそれぞれ表すように構成されるステップと、前記複数の第1球体の前記第1球体位置情報に基づいて、第1レンダリング画像を生成するステップと、前記第1レンダリング画像及び前記第1画像のセマンティックセグメンテーション画像に基づいて、前記第1レンダリング画像の勾配情報を得るステップと、前記第1レンダリング画像の勾配情報に基づいて、前記複数の第1球体の前記第1球体位置情報を調整し、調整後の前記複数の第1球体の前記第1球体位置情報を使用し、前記第1対象の3次元モデルを生成するステップと、を含む。本開示の実施例によって生成された3次元モデルの精度がより高い。
【国際調査報告】