本願は、2019年04月12日に提出された中国特許出願第201910296077.0号、第201910296079.X号及び第201910295558.X号の優先権を要求し、ここでは、全文で上記中国特許出願に開示されている内容を本願の一部として援用する。
以上の問題の一つを解決するために、本発明は、3次元オブジェクトモデリング方法と機器、画像処理方法、画像処理装置及び媒体を提供する。
本発明の一実施例により、処理すべき少なくとも一つの3次元オブジェクトのそれぞれ対して撮像された少なくとも一つのパノラマ画像について、各前記3次元オブジェクトの少なくとも一つのパノラマ画像の3次元空間における平面輪郭を抽出する平面輪郭抽出ステップと、カメラの位置に基づいて、各前記3次元オブジェクトの少なくとも一つのパノラマ画像の3次元空間における平面輪郭のスケールを正規化し、正規化された各パノラマ画像の前記3次元空間における平面輪郭を取得するスケール正規化ステップと、前記カメラの位置に基づいて、スケール正規化された各パノラマ画像の前記3次元空間における平面輪郭の3次元点座標を回転及び併進させるように操作し、前記3次元点座標を同一の座標系に統一することによって、各3次元オブジェクトの平面輪郭をマルチオブジェクトの平面輪郭にモザイクするマルチオブジェクトモザイクステップと、を含む、3次元オブジェクトモデリング方法を提供する。
前記平面輪郭抽出ステップは、前記処理すべき少なくとも1つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれを撮像したときのパノラマカメラの前記カメラの位置、及びそれぞれの前記パノラマ画像におけるマッチング特徴点の3次元点座標を取得するカメラ位置取得ステップと、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、前記パノラマ画像における、輪郭特徴が特定のカテゴリに属する画素点のうちのエッジ画素点で囲まれる輪郭に基づいて、前記パノラマ画像の前記3次元空間における平面輪郭を生成する単一画像平面輪郭生成ステップとを含み、前記特定のカテゴリは、少なくとも前記パノラマ画像における3次元物体の頂部、底部及び支持部を含んでもよい。
前記単一画像平面輪郭生成ステップにおいて、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける画素点間の特徴類似度に基づいて、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける、輪郭特徴が前記特定のカテゴリに属する画素点のうちの前記エッジ画素点を特定し、二つの画素点の特徴類似度は、前記二つの画素点の特徴の差の絶対値であり、それぞれの前記画素点の特徴は、諧調、色を含んでもよい。
前記平面輪郭抽出ステップは、前記処理すべき少なくとも1つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれを撮像したときのパノラマカメラの前記カメラの位置、及びそれぞれの前記パノラマ画像におけるマッチング特徴点の3次元点座標を取得するカメラ位置取得ステップと、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、画像輪郭を抽出するためのディープラーニングモデルにより、前記パノラマ画像の前記3次元空間における平面輪郭を抽出する単一画像平面輪郭生成ステップと、を含んでもよい。
人工的にマーキングされたトレーニング画像としての複数のパノラマ画像における注目タイプの3次元オブジェクトの輪郭特徴によって、前記注目タイプの3次元オブジェクトの輪郭特徴トレーニングデータセットを生成し、前記注目タイプの3次元オブジェクトの前記輪郭特徴トレーニングデータセットを用いて前記ディープラーニングモデルをトレーニングすることにより、トレーニングされたディープラーニングモデルを取得することにより、前記ディープラーニングモデルをトレーニングしており、前記ディープラーニングモデルの出力は、前記注目タイプの3次元オブジェクトの輪郭特徴のカテゴリを含んでもよい。
前記単一画像平面輪郭生成ステップにおいて、各前記3次元オブジェクトの少なくとも二つのパノラマ画像をトレーニングされた前記ディープラーニングモデルに入力し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像におけるそれぞれの画素点に対応する輪郭特徴のカテゴリを取得し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおいて輪郭特徴が特定のカテゴリに属する画素点のうちの、エッジにあるエッジ画素点を特定カテゴリエッジ画素点として抽出し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける全ての特定カテゴリエッジ画素点が同一の高さhcを、特定のカテゴリの輪郭の仮定輪郭高さとして有するとともに、それぞれの前記パノラマ画像における前記特定カテゴリエッジ画素点を3次元平面に投影し、それぞれの前記パノラマ画像に対応する特定カテゴリ3次元点を取得し、そして、それぞれの前記パノラマ画像に対応する前記特定カテゴリ3次元点に基づいて、各パノラマ画像の前記3次元空間における平面輪郭を形成しており、前記特定のカテゴリは、前記パノラマ画像における3次元オブジェクトの頂部を含んでもよい。
前記カメラの位置は、前記カメラ位置取得ステップで取得され、前記カメラ位置取得ステップにおいて、各前記3次元オブジェクトの少なくとも一つのパノラマ画像に対応するビデオストリームとタイムスタンプを取得し、前記タイムスタンプに基づいて前記ビデオストリームのうち、各前記3次元オブジェクトの少なくとも一つのパノラマ画像に対応する少なくとも一つのビデオフレームを特定し、前記少なくとも一つのビデオフレームの位置に基づいて、各前記3次元オブジェクトの少なくとも一つのパノラマ画像を撮像したときのパノラマカメラのカメラの位置を特定してもよい。
選択可能に、前記カメラの位置は、予め特定されたものであるか、または前記カメラ位置取得ステップにより取得されたものであり、前記カメラ位置取得ステップにおいて、前記処理すべき少なくとも1つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像間の特徴点のマッチングを行うとともに、各前記3次元オブジェクトの少なくとも二つのパノラマ画像において互いにマッチング関係にある特徴点をマッチング特徴点として記録し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、それぞれの前記パノラマ画像におけるマッチング特徴点の再投影誤差を低減することによって、それぞれの前記パノラマ画像を撮像したときのパノラマカメラの前記カメラの位置、及びそれぞれの前記パノラマ画像におけるマッチング特徴点の3次元点座標を取得してもよい。
前記スケール正規化ステップにおいて、前記カメラの位置は前記カメラ位置取得ステップにより取得された場合に、前記カメラの位置を取得するときに取得した各前記3次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値を特定のカテゴリの輪郭の抽出された輪郭高さhc’とし、特定のカテゴリの輪郭の仮定輪郭高さhcと特定のカテゴリの輪郭の抽出された輪郭高さhc’との比を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から、正規化された各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を生成し、前記特定のカテゴリの輪郭の仮定輪郭高さhcは、任意に仮定された高さである。
スケール正規化ステップにおいて、前記カメラの位置は、予め特定されたカメラ特定高さhc’の場合に、仮定されたカメラ仮定高さhcとカメラ特定高さhc’との比を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から、正規化された各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を生成しており、カメラ仮定高さhcは、任意に仮定された高さである。
前記スケール正規化ステップの後に、単一オブジェクト平面輪郭生成ステップをさらに含み、当該単一オブジェクト平面輪郭生成ステップにおいて、前記処理すべき少なくとも一つの3次元オブジェクトに対して撮像された少なくとも二つのパノラマ画像について、二つのパノラマ画像の間に特定割合よりも多くのマッチング特徴点があれば、この二つのパノラマ画像が同一の3次元オブジェクトに属すると特定するように、複数のパノラマ画像が同一の3次元オブジェクトに属するかを一つずつ特定し、複数のパノラマ画像が同一の3次元オブジェクトに属すると特定したら、前記複数のパノラマ画像により取得した同一の3次元オブジェクトの各平面輪郭について、前記同一の3次元オブジェクトのすべての平面輪郭の和集合を、前記3次元オブジェクトの3次元空間における平面輪郭としてもよい。
前記マルチオブジェクトモザイクステップにおいて、さらに、それぞれの単一の3次元オブジェクトの3次元空間における平面輪郭に基づいて、モザイクして3次元空間におけるマルチオブジェクトの平面輪郭を取得してもよい。
前記マルチオブジェクトモザイクステップにおいて、
全てのパノラマ画像の3次元空間における平面輪郭が合計でN個があると仮定し、n番目の平面輪郭のp番目の3次元点は
として示され、前記n番目の平面輪郭に対応するパノラマ画像が撮像されたときのカメラの位置は、{R
n、t
n}として示され、R
nは、前記カメラの位置の回転パラメータを示すための回転行列であり、t
nは、前記カメラの位置の併進パラメータを示すための併進ベクトルであり、Nは、1よりも大きい整数であり、nは、1以上の整数であり、
i番目の平面輪郭に対応するパノラマ画像が撮像されたときのカメラの位置を基準座標系として選択し、下記の式により他の平面輪郭の3次元点を前記基準座標系に統一することができ、
前記i番目の平面輪郭を除いた全てのスケール正規化された平面輪郭の3次元点を前記の式により変換し、全ての平面輪郭の3次元点を同一の座標系に統一することによって、各3次元オブジェクトの平面輪郭を前記マルチオブジェクトの平面輪郭にモザイクしてもよい。
前記3次元オブジェクトモデリング方法は、マルチオブジェクト輪郭において二つの単一オブジェクト輪郭の隣接する辺の間の距離を算出し、前記距離がゼロでなく且つ特定の閾値に未満であれば、前記隣接する辺の距離がゼロになるように、前記二つの単一オブジェクト輪郭をずらす、マルチオブジェクト輪郭最適化ステップをさらに含む。
前記3次元オブジェクトモデリング方法は、前記マルチオブジェクトモザイクステップの後に、モザイクした、3次元空間におけるマルチオブジェクトの平面輪郭をマルチオブジェクト3Dモデルに変換する、3Dモデル生成ステップをさらに含んでもよい。
本発明の一つの例示的な実施例により、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも一つのパノラマ画像について、各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を抽出するように配置される平面輪郭抽出装置と、カメラの位置に基づいて、各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭のスケールを正規化し、正規化された各パノラマ画像の3次元空間における平面輪郭を取得するように配置されるスケール正規化装置と、カメラの位置に基づいて、スケール正規化された各パノラマ画像の3次元空間における平面輪郭の3次元点座標を回転及び併進するように操作し、前記3次元点座標を同一の座標系に統一することによって、各3次元オブジェクトの平面輪郭をマルチオブジェクトの平面輪郭にモザイクするように配置されるマルチオブジェクトモザイク装置と、を含む、3次元オブジェクトモデリング機器を提供する。
前記カメラの位置は、予め特定されたものであるか、または、前記処理すべき少なくとも1つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像間の特徴点のマッチングを行うとともに、各前記3次元オブジェクトの少なくとも二つのパノラマ画像において互いにマッチング関係にある特徴点をマッチング特徴点として記録し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、それぞれの前記パノラマ画像におけるマッチング特徴点の再投影誤差を低減することによって、それぞれの前記パノラマ画像を撮像したときのパノラマカメラの前記カメラの位置、及びそれぞれの前記パノラマ画像におけるマッチング特徴点の3次元点座標を取得することにより取得される。
スケール正規化装置は、さらに、カメラの位置が抽出により取得された場合に、前記カメラの位置を取得したときに取得した各前記3次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値を特定のカテゴリの輪郭の抽出された輪郭高さhc’とし、特定のカテゴリの輪郭の仮定輪郭高さhcと特定のカテゴリの輪郭の抽出された輪郭高さhc’との比を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から、正規化された各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を生成するように配置されてもよい。特定のカテゴリの輪郭の仮定輪郭高さhcは、任意に仮定された高さである。
スケール正規化装置は、さらに、カメラの位置が予め特定されたカメラ特定高さhc’の場合に、仮定されたカメラ仮定高さhcとカメラ特定高さhc’との比を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から、正規化された各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を生成するように配置され、カメラ仮定高さhcは、任意に仮定された高さである。
単一オブジェクト平面輪郭生成装置は、さらに、前記処理すべき少なくとも一つの3次元オブジェクトに対して撮像された少なくとも二つのパノラマ画像について、二つのパノラマ画像の間に特定割合よりも多くのマッチング特徴点があれば、この二つのパノラマ画像が同一の3次元オブジェクトに属すると特定するように、複数のパノラマ画像が同一の3次元オブジェクトに属するかを一つずつ特定し、複数のパノラマ画像が同一の3次元オブジェクトに属すると特定したら、前記複数のパノラマ画像により取得した同一の3次元オブジェクトの各平面輪郭について、前記同一の3次元オブジェクトのすべての平面輪郭の和集合を、前記3次元オブジェクトの3次元空間における平面輪郭とするように配置されてもよい。
前記マルチオブジェクトモザイク装置は、さらに、各単一の3次元オブジェクトの3次元空間における平面輪郭に基づいて、モザイクして3次元空間におけるマルチオブジェクトの平面輪郭を取得するように配置されてもよい。
マルチオブジェクトモザイク装置は、さらに、全てのパノラマ画像の3次元空間における平面輪郭が合計でN個あると仮定し、n番目の平面輪郭のp番目の3次元点は、
として示され、前記n番目の平面輪郭に対応するパノラマ画像が撮像されたときのカメラの位置は、{R
n、t
n}として示され、R
nは、前記カメラの位置の回転パラメータを示すための回転行列であり、t
nは、前記カメラの位置の併進パラメータを示すための併進ベクトルであり、Nは、1よりも大きい整数であり、nは、1以上の整数であり、i番目の平面輪郭に対応するパノラマ画像が撮像されたときのカメラの位置を基準座標系として選択し、下記の式により他の平面輪郭の3次元点を前記基準座標系に統一することができ、
i番目の平面輪郭を除いた全てのスケール正規化された平面輪郭の3次元点を前記式により変換し、全ての平面輪郭の3次元点を同一の座標系に統一することによって、各3次元オブジェクトの平面輪郭をマルチオブジェクトの平面輪郭にモザイクするように配置される。
前記3次元オブジェクトモデリング機器は、マルチオブジェクト輪郭において二つの単一オブジェクト輪郭の隣接する辺の間の距離を算出し、前記距離がゼロでなく且つ特定の閾値に未満であれば、前記隣接する辺の距離がゼロになるように、前記二つの単一オブジェクト輪郭をずらすように配置されるマルチオブジェクト輪郭最適化装置をさらに含んでもよい。
前記3次元オブジェクトモデリング機器は、モザイクした3次元空間におけるマルチオブジェクトの平面輪郭をマルチオブジェクト3Dモデルに変換するように配置される3Dモデル生成装置をさらに含んでもよい。
本発明の一実施例により、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置、及び各前記3次元オブジェクトの少なくとも二つのパノラマ画像におけるマッチング特徴点の3次元点座標を取得するカメラ位置取得ステップと、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、前記パノラマ画像における、輪郭特徴が特定のカテゴリに属する画素点のうちのエッジ画素点で囲まれる輪郭に基づいて、前記パノラマ画像の3次元空間における平面輪郭を生成する単一画像平面輪郭生成ステップと、取得した各前記3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置のスケールと各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭のスケールとを正規化し、正規化された各パノラマ画像の3次元空間における平面輪郭を取得するスケール正規化ステップと、を含む画像処理方法を提供する。
前記特定のカテゴリは、少なくともパノラマ画像における3次元物体の頂部、底部、支持部を含んでもよい。
カメラ位置取得ステップにおいて、撮像された各前記3次元オブジェクトの少なくとも二つのパノラマ画像の幾何学的関係を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像間の特徴点のマッチングを行うとともに、各前記3次元オブジェクトの少なくとも二つのパノラマ画像における互いにマッチング関係にある特徴点をマッチング特徴点として記録し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、それぞれの前記パノラマ画像におけるマッチング特徴点の再投影誤差を低減することによって、それぞれの前記パノラマ画像を撮像したときのパノラマカメラの前記カメラの位置、及びそれぞれの前記パノラマ画像におけるマッチング特徴点の3次元点座標を取得する。
単一画像平面輪郭生成ステップにおいて、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける画素点間の特徴類似度に基づいて、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける、輪郭特徴が前記特定のカテゴリに属する画素点のうちの前記エッジ画素点を特定し、二つの画素点の特徴類似度は、前記二つの画素点の特徴の差の絶対値であり、前記画素点の特徴は、諧調、色を含む。
スケール正規化ステップにおいて、カメラ位置取得ステップで取得した各前記3次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標中の高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値を特定のカテゴリの輪郭の抽出された輪郭高さhc’とし、特定のカテゴリの輪郭の仮定輪郭高さhcと特定のカテゴリの輪郭の抽出された輪郭高さhc’との比を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から、正規化された各パノラマ画像の3次元空間における平面輪郭を生成することを含んでもよい。前記特定のカテゴリの輪郭の仮定輪郭高さhcは、任意に仮定された高さである。
本発明の一つの例示的な実施例により、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれを撮像したときのパノラマカメラの前記カメラの位置、及びそれぞれの前記パノラマ画像におけるマッチング特徴点の3次元点座標を取得するカメラ位置取得ステップと、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、画像輪郭を抽出するためのディープラーニングモデルにより前記パノラマ画像の前記3次元空間における平面輪郭を抽出する単一画像平面輪郭生成ステップと、取得した各前記3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置のスケールと各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭のスケールとを正規化し、正規化された各パノラマ画像の3次元空間における平面輪郭を取得するスケール正規化ステップと、を含む画像処理方法を提供する。
人工的にマーキングされたトレーニング画像としての複数のパノラマ画像における注目タイプの3次元オブジェクトの輪郭特徴によって、前記注目タイプの3次元オブジェクトの輪郭特徴トレーニングデータセットを生成し、前記注目タイプの3次元オブジェクトの前記輪郭特徴トレーニングデータセットを用いて前記ディープラーニングモデルをトレーニングすることにより、トレーニングされたディープラーニングモデルを取得することにより、前記ディープラーニングモデルをトレーニングしており、前記ディープラーニングモデルの出力は、前記注目タイプの3次元オブジェクトの輪郭特徴のカテゴリを含んでもよい。
単一画像平面輪郭生成ステップにおいて、各前記3次元オブジェクトの少なくとも二つのパノラマ画像をトレーニングされた前記ディープラーニングモデルに入力し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像におけるそれぞれの画素点に対応する輪郭特徴のカテゴリを取得し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおいて輪郭特徴が特定のカテゴリに属する画素点のうちの、エッジにあるエッジ画素点を特定カテゴリエッジ画素点として抽出し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける全ての特定カテゴリエッジ画素点が同一の高さhcを、特定のカテゴリの輪郭の仮定輪郭高さとして有するとともに、それぞれの前記パノラマ画像における前記特定カテゴリエッジ画素点を3次元平面に投影し、それぞれの前記パノラマ画像に対応する特定カテゴリ3次元点を取得し、そして、それぞれの前記パノラマ画像に対応する前記特定カテゴリ3次元点に基づいて、各パノラマ画像の前記3次元空間における平面輪郭を形成してもよい。
特定のカテゴリは、前記パノラマ画像における3次元オブジェクトの頂部であってもよい。
カメラ位置取得ステップにおいて、前記処理すべき少なくとも1つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像間の特徴点のマッチングを行うとともに、各前記3次元オブジェクトの少なくとも二つのパノラマ画像における互いにマッチング関係にある特徴点をマッチング特徴点として記録し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、それぞれの前記パノラマ画像におけるマッチング特徴点の再投影誤差を低減することによって、それぞれの前記パノラマ画像を撮像したときのパノラマカメラの前記カメラの位置、及び前記それぞれのパノラマ画像におけるマッチング特徴点の3次元点座標を取得してもよい。
スケール正規化ステップにおいて、前記カメラの位置を取得するときに取得した各前記3次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値を特定のカテゴリの輪郭の抽出された輪郭高さhc’とし、特定のカテゴリの輪郭の仮定輪郭高さhcと特定のカテゴリの輪郭の抽出された輪郭高さhc’との比を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から、正規化された各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を生成してもよい。特定のカテゴリの輪郭の仮定輪郭高さhcは、任意に仮定された高さである。
本発明の一実施例により、上記の画像処理方法の一つを用い、各前記3次元オブジェクトの少なくとも一つのパノラマ画像を画像処理し、正規化された各パノラマ画像の3次元空間における平面輪郭を取得する画像処理ステップと、前記正規化された各パノラマ画像の3次元空間における平面輪郭に基づいて、モザイクしてマルチオブジェクトの平面輪郭を取得するマルチオブジェクトモザイクステップと、を含む、3次元オブジェクトモデリング方法を提供する。
該3次元オブジェクトモデリング方法は、前記画像処理ステップで取得した正規化された各パノラマ画像の平面輪郭に基づいて、各単一の3次元オブジェクトの3次元空間における平面輪郭を取得する単一オブジェクト平面輪郭生成ステップをさらに含んでもよい。
単一オブジェクト平面輪郭生成ステップにおいて、処理すべき少なくとも一つの3次元オブジェクトに対して撮像された少なくとも二つのパノラマ画像について、二つのパノラマ画像の間に特定割合よりも多くのマッチング特徴点があれば、この二つのパノラマ画像が同一の3次元オブジェクトに属すると特定するように複数のパノラマ画像が同一の3次元オブジェクトに属するかを一つずつ特定し、複数のパノラマ画像が同一の3次元オブジェクトに属すると特定したら、前記複数のパノラマ画像により取得した同一の3次元オブジェクトの各平面輪郭について、これらの平面輪郭の和集合を前記3次元オブジェクトの平面輪郭としてもよい。
前記マルチオブジェクトモザイクステップにおいて、さらに各パノラマ画像の3次元空間における平面輪郭に基づいて、モザイクして3次元空間におけるマルチオブジェクトの平面輪郭を取得してもよい。
該3次元オブジェクトモデリング方法は、マルチオブジェクトモザイクステップの後に、モザイクした3次元空間におけるマルチオブジェクトの平面輪郭をオブジェクト3Dモデルに変換する3Dモデル生成ステップをさらに含んでもよい。
3Dモデル生成ステップにおいて、モザイクした前記マルチオブジェクトの平面輪郭における頂部平面輪郭について内部に3次元点を補間するとともに、取得した各頂部平面輪郭における全ての3次元点座標を対応するパノラマ画像座標系に投影することによって、頂部テクスチャを取得し、モザイクした前記マルチオブジェクトの平面輪郭における底部平面輪郭について内部に3次元点を補間するとともに、取得した各底部平面輪郭における全ての3次元点座標を対応するパノラマ画像座標系に投影することによって、底部テクスチャを取得し、頂部輪郭と底部輪郭との間に同じ平面位置にある3次元頂点を結び、支持部の平面輪郭を構成するとともに、前記支持部の平面輪郭について内部に3次元点を補間するとともに、取得した各支持部の平面輪郭の全ての3次元点座標を対応するパノラマ画像座標系に投影することによって、支持部テクスチャを取得し、前記頂部テクスチャ、底部テクスチャ、支持部テクスチャに基づいて、3次元オブジェクト全体の3Dテクスチャモデルを生成してもよい。
前記3Dモデル生成ステップにおいて、取得した各3次元オブジェクトの頂部平面輪郭における全ての3次元点座標のうち、前記特定のカテゴリの輪郭の抽出された輪郭高さhc’としての、カメラから対応する3次元オブジェクトの頂部までの抽出高さの高さ値を、カメラから対応する3次元オブジェクトの底部までの抽出高さhf’に置き換えるとともに、取得した各3次元オブジェクトの頂部の平面輪郭における全ての3次元点座標における長さと幅の値を変化させないようにして、対応する各3次元オブジェクトの底部平面輪郭を取得し、前記カメラの位置を取得したときに取得した各前記3次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値を、前記カメラから対応する3次元オブジェクトの頂部までの前記特定のカテゴリの輪郭の抽出された輪郭高さhc’とし、前記カメラの位置を取得したときに取得した各前記次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の下位の高さ値の中央値または平均値をカメラから対応する3次元オブジェクト底部までの抽出高さhf’としてもよい。
本発明の一実施例により、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置、及び各前記3次元オブジェクトの少なくとも二つのパノラマ画像におけるマッチング特徴点の3次元点座標を取得するように配置されるカメラ位置取得装置と、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、前記パノラマ画像における、輪郭特徴が特定のカテゴリに属する画素点のうちのエッジ画素点で囲まれる輪郭に基づいて、前記パノラマ画像の3次元空間における平面輪郭を生成するように配置される、単一画像平面輪郭生成装置と、取得した各前記3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置のスケールと各前記の3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭のスケールとを正規化し、正規化された各パノラマ画像の3次元空間における平面輪郭を取得するように配置される、スケール正規化装置と、を含む画像処理機器を提供する。
特定のカテゴリは、少なくともパノラマ画像における3次元物体の頂部、底部、支持部を含んでもよい。
単一画像平面輪郭生成装置は、さらに、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおいて画素点間の特徴類似度に基づいて、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおいて輪郭特徴が前記特定のカテゴリに属する画素点のうちの前記エッジ画素点を特定するように配置され、二つの画素点の特徴類似度は、前記二つの画素点の特徴の差の絶対値であり、各前記画素点の特徴は、諧調、色を含んでもよい。
スケール正規化装置は、さらに、カメラ位置取得装置により取得した各3次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値を、特定のカテゴリの輪郭の抽出された輪郭高さhc’としての、カメラから対応する3次元オブジェクトの頂部までの抽出高さhc’とし、前記カメラから対応する3次元オブジェクトの頂部までの仮定高さhcと前記カメラから対応する3次元オブジェクトの頂部までの抽出高さhc’との比を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から、正規化された各前記3次元オブジェクトの少なくとも二つのパノラマ画像の平面輪郭を生成するように配置され、カメラから対応する3次元オブジェクトの頂部までの仮定高さhcは、任意に仮定された高さであってもよい。
本発明の一実施例により、各3次元オブジェクトの少なくとも一つのパノラマ画像を画像処理し、正規化された各パノラマ画像の3次元空間における平面輪郭を取得するように配置される上記の画像処理機器の一つと、前記正規化された各パノラマ画像の3次元空間における平面輪郭に基づいて、モザイクして3次元空間におけるマルチオブジェクトの平面輪郭を取得するように配置されるマルチオブジェクトモザイク装置とを含むオブジェクトモデリング機器を提供する。
該オブジェクトモデリング機器は、前記正規化された各パノラマ画像の3次元空間における平面輪郭に基づいて、各単一の3次元オブジェクトの3次元空間における平面輪郭を取得するように配置される単一オブジェクト平面輪郭生成装置をさらに含んでもよい。
単一オブジェクト平面輪郭生成装置は、さらに、少なくとも二つのパノラマ画像について、二つのパノラマ画像の間に特定割合よりも多くのマッチング特徴点があれば、この二つのパノラマ画像が同一の3次元オブジェクトに属すると判定できるように複数のパノラマ画像が同一の3次元オブジェクトに属するかを一つずつ特定し、複数のパノラマ画像が同一の3次元オブジェクトに属すると特定したら、前記複数のパノラマ画像により取得した同一の3次元オブジェクトの各平面輪郭について、前記平面輪郭の和集合を前記3次元オブジェクトの3次元空間における平面輪郭とするように配置されてもよい。
マルチオブジェクトモザイク装置は、さらに、各単一の3次元オブジェクトの3次元空間における平面輪郭に基づいて、モザイクして3次元空間におけるマルチオブジェクトの平面輪郭を取得するように配置される。
該オブジェクトモデリング機器は、モザイクした3次元空間におけるマルチオブジェクトの平面輪郭を3次元オブジェクト3Dモデルに変換するように配置される3Dモデル生成装置をさらに含んでもよい。
本発明の一つの例示的な実施例により、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置、及び各前記3次元オブジェクトの少なくとも二つのパノラマ画像におけるマッチング特徴点の3次元点座標を取得するように配置されるカメラ位置取得装置と、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、画像輪郭を抽出するためのディープラーニングモデルにより、それぞれの前記パノラマ画像の3次元空間における平面輪郭を抽出するように配置される単一画像平面輪郭生成装置と、取得した各前記3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置のスケールと各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭のスケールとを正規化し、正規化された各パノラマ画像の3次元空間における平面輪郭を取得するように配置されるスケール正規化装置と、を含む画像処理機器を提供する。
人工的にマーキングされたトレーニング画像としての複数のパノラマ画像における注目タイプの3次元オブジェクトの輪郭特徴によって注目タイプの3次元オブジェクトの輪郭特徴トレーニングデータセットを生成し、注目タイプの3次元オブジェクトの輪郭特徴トレーニングデータセットを用いて前記ディープラーニングモデルをトレーニングすることにより、トレーニングされたディープラーニングモデルを取得してもよい。ディープラーニングモデルの出力は、前記注目タイプの3次元オブジェクトの輪郭特徴のカテゴリを含む。
単一画像平面輪郭生成装置は、さらに、前記処理すべき少なくとも一つの3次元オブジェクトのそれぞれのために撮像された少なくとも二つのパノラマ画像をトレーニングされた前記ディープラーニングモデルに入力し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像におけるそれぞれの画素点に対応する輪郭特徴のカテゴリを取得し、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおいて輪郭特徴が特定のカテゴリに属する画素点のうちの、エッジにあるエッジ画素点を特定カテゴリエッジ画素点として抽出し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける全ての特定カテゴリエッジ画素点が同一の高さhcを、特定のカテゴリの輪郭の仮定輪郭高さとして有するとともに、それぞれの前記パノラマ画像における前記特定カテゴリエッジ画素点を3次元平面に投影し、それぞれの前記パノラマ画像に対応する特定カテゴリ3次元点を取得し、そして、それぞれの前記パノラマ画像に対応する前記特定カテゴリ3次元点に基づいて、各パノラマ画像の前記3次元空間における平面輪郭を形成するように配置されてもよい。
前記特定のカテゴリは、前記パノラマ画像における3次元オブジェクトの頂部を含んでもよい。
カメラ位置取得装置は、さらに、撮像された各3次元オブジェクトの少なくとも二つのパノラマ画像の幾何学的関係を用い、各3次元オブジェクト的少なくとも二つのパノラマ画像間の特徴点のマッチングを行うとともに、各前記3次元オブジェクトの少なくとも二つのパノラマ画像における互いにマッチング関係にある特徴点をマッチング特徴点として記録し、各前記3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、それぞれの前記パノラマ画像におけるマッチング特徴点の再投影誤差を低減することによって、それぞれの前記パノラマ画像を撮像したときのパノラマカメラの前記カメラの位置、及びそれぞれの前記パノラマ画像におけるマッチング特徴点の3次元点座標を取得するように配置されてもよい。
スケール正規化装置は、さらに、カメラ位置取得装置により取得した各前記3次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値を特定のカテゴリの輪郭の抽出された輪郭高さhc’とし、特定のカテゴリの輪郭の仮定輪郭高さhcと特定のカテゴリの輪郭の抽出された輪郭高さhc’との比を用い、各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から、正規化された各前記3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を生成するように配置されてもよい。特定のカテゴリの輪郭の仮定輪郭高さhcは、任意に仮定された高さである。
前記特定のカテゴリは、前記パノラマ画像における3次元オブジェクトの頂部であってもよい。
本発明の一つの例示的な実施例により、上記の画像処理機器の一つを用い、各3次元オブジェクトの少なくとも一つのパノラマ画像を画像処理し、正規化された各パノラマ画像の3次元空間における平面輪郭を取得するように配置される画像処理装置と、前記正規化された各パノラマ画像の3次元空間における平面輪郭に基づいて、モザイクしてマルチオブジェクトの平面輪郭を取得するように配置されるマルチオブジェクトモザイク装置と、を含む3次元オブジェクトモデリング機器を提供する。
前記3次元オブジェクトモデリング機器は、前記画像処理装置により取得した正規化された各パノラマ画像の平面輪郭に基づいて、各単一の3次元オブジェクトの3次元空間における平面輪郭を取得するように配置される単一オブジェクト平面輪郭生成装置をさらに含んでもよい。
単一オブジェクト平面輪郭生成装置は、さらに、少なくとも二つのパノラマ画像について、二つのパノラマ画像の間に特定割合よりも多くのマッチング特徴点があれば、この二つのパノラマ画像が同一の3次元オブジェクトに属すると特定するように、複数のパノラマ画像が同一の3次元オブジェクトに属するかを一つずつ特定し、複数のパノラマ画像が同一の3次元オブジェクトに属すると特定したら、前記複数のパノラマ画像により取得した同一の3次元オブジェクトの各平面輪郭について、各平面輪郭の和集合を前記3次元オブジェクトの平面輪郭とするように配置されてもよい。
前記マルチオブジェクトモザイク装置は、さらに、各単一の3次元オブジェクトの3次元空間における平面輪郭に基づいて、モザイクして3次元空間におけるマルチオブジェクトの平面輪郭を取得してもよい。
前記3次元オブジェクトモデリング機器は、モザイクした3次元空間におけるマルチオブジェクトの平面輪郭をマルチオブジェクト3Dモデルに変換するように配置される3Dモデル生成装置をさらに含んでもよい。
本発明のさらなる一実施例により、プロセッサと、前記プロセッサによって実行されると、前記プロセッサに上記の画像処理方法の一つを実行させる実行可能コードが記憶されるメモリと、を含む、画像処理装置を提供する。
本発明の別の実施例により、プロセッサによって実行されると、上記の画像処理方法の一つを前記プロセッサに実行させる実行可能コードが記憶された非一時的な機械読み取り可能な記憶媒体を提供する。
本発明のさらなる実施例により、プロセッサと、前記プロセッサによって実行されると、前記プロセッサに上記の3次元オブジェクトモデリング方法の一つを実行させる実行可能コードが記憶されるメモリと、を含む、画像処理装置を提供する。
本発明の別の実施例により、プロセッサによって実行されると、前記プロセッサに上記の3次元オブジェクトモデリング方法の一つを実行させる実行可能コードが記憶された非一時的な機械読み取り可能な記憶媒体を提供する。
本発明は、パノラマカメラを用いて撮像された処理すべき3次元オブジェクトの複数のパノラマに基づいて、3次元オブジェクトの2Dモデリングと3Dモデリングを行い、従来の技術にて3D走査機器を用いてオブジェクトモデルを生成することによるモデル解像度が高くないという欠陥を克服した。
本発明において、パノラマカメラを用いて少なくとも一つのオブジェクト(例えば、部屋)のパノラマ画像を撮像することによって、マルチオブジェクトモデリング(例えば、家や車両などのモデリング等)に高解像度の撮像画像を提供する。
さらに、本発明において、効率的な3次元オブジェクトモデリング方法と画像処理方法を用い、マルチオブジェクトモデリング(例えば、家や車両などのモデリング)に対して高解像度のモデリングに必要なデータを提供し、そして、提供されたモデリングに必要なデータは、次のモデル生成過程を簡素化することが可能である。
さらに、本発明に係るモデリング方法により、生成されたモデル(例えば、家や車両などの2Dおよび/または3Dモデル)の解像度および/または正確性を効果的に高めることができる。
本発明は、単一オブジェクトの2Dモデリングと3Dモデリングに適用され、マルチオブジェクトの2Dモデリングと3Dモデリングにも適用されており、各3次元オブジェクトのパノラマ画像に基づいて2Dモデリングと3Dモデリングを行うことができ、つまり、本発明は、モデリングの適用の範囲が限定されず、例えば、本発明は、家モデリング、車両モデリングなどの様々な、画像に基づいてモデリングを行う場合に適用されることができ、本発明は、実際には、パノラマ画像に基づいてオブジェクトモデリングを行う場合に適用でき、例えば、家モデリング(VR物件見る)、車両モデリング(VR車両選び)、ショッピングモールモデリング(VRショッピング)などの様々なVR(仮想現実)に適用できる、革新的で総合的な画像処理方案を提供する。
本開示の好ましい実施形態を図面を参照して以下により詳細に説明する。図面に本開示の好ましい実施形態が示されているが、本開示は、様々な形態で実現することができ、本明細書に記載の実施形態に限定されるべきではないことを理解されたい。逆に、これらの実施形態を提供するのは、本開示をより明確かつ完全にするとともに、本開示の範囲を当業者に完全に伝達することを可能にすることを目的とする。なお、本願における数字、番号及び図面の符号は、説明を容易にするために記載したものに過ぎず、本発明のステップ、順序などについては、本明細書にステップの実行に対して特定の順位が明示されていない限り、何の限定もない。
オブジェクトモデリングの分野において、特に2Dと3Dモデリングの分野において、国内外の技術方案は、主に人工作成と自動化モデリングとの二つの種類に分けられている。
人工作成の方法について、大量の人工操作に依存し、オブジェクトの3次元構造をマーキングするとともに、複数のオブジェクトモデル間のモザイクを人工で行う必要がある。一グループの3次元オブジェクトの3Dモデルを人工で作成するには、長い時間がかかるため、大量の3次元オブジェクトデータを人工作成する場合多くの人員が必要であり、人件費がかかり過ぎて実用化が困難である。
自動化3Dモデリングの方法について、現在、専門的な3D走査機器を用いることが多く、単一のオブジェクトの3次元点群を直接取得してから、3次元点群のモザイクを行って3Dモデルを生成することができる。しかし、このような専門的な3D走査機器の撮像装置は精度が高くなく、撮像された画像の解像度が高くなく、生成された3次元モデルの解像度が十分ではない。それに、このような3D走査機器は通常に価格が高く、消費者レベルの応用のニーズを満たすことが困難である。
本発明は、3次元オブジェクトモデリング方法、3次元オブジェクトモデリング機器、画像処理方法、画像処理機器、及び画像処理装置とコンピュータ媒体を提供する。
まず、本発明において、普通のパノラマカメラを用いてそれぞれの3次元オブジェクトを撮像し、3次元オブジェクトの高解像度パノラマ画像を取得し、背景技術に記載の3D走査カメラにより撮像された画像の解像度が高くないという欠陥を克服した。
その後、撮像された複数のパノラマ画像を用いることにより、単一のパノラマ画像の、3次元空間における平面輪郭(「単一画像の平面輪郭」ということができ)を抽出することができる。
さらに、スケール正規化することにより、単一画像の平面輪郭のスケールとカメラの位置によるスケールとの間の統一を実現し、正規化された各単一画像の平面輪郭を生成し、次に3次元オブジェクトモデリングするために高解像度かつ十分なデータの準備を提供し、次の処理作業の難易度を下げることができる。
さらに、同一の3次元オブジェクトに属する各単一画像の平面輪郭を融合することによって、正確な単一オブジェクトの平面輪郭を取得することができる。
さらに、3次元空間で各単一オブジェクトの平面輪郭をモザイクして、マルチオブジェクトモデル(このときに、2Dモデルになる)を取得することができる。
なお、マルチオブジェクトモデルを修正することによって、より正確なモデルを得て、モデル展示の効果をよりよくすることができる。
最後に、3Dモデルの生成により、完全的な、高解像度の正確な3Dモデルを得る。
以下、理解と説明を容易にするために、家のモデリングを例にして、本発明の各処理過程を詳しく説明する。
ここで、まず、パノラマカメラについて簡単に紹介する。パノラマカメラと普通のカメラとの相違とは、普通のカメラは、通常に一つのレンズだけを用いて撮像するが、パノラマカメラは、二つ以上のレンズで撮像するため、パノラマカメラは、360度の撮像を実現することができる。
図1Aは、本発明の一つの例示的な実施例による3次元オブジェクトモデリング方法の模式的なフローチャートを示す。
本発明の一つの例示的な実施例による3次元オブジェクトモデリング方法において、一つの3次元オブジェクト(例えば、一つの部屋内)に対して撮像された少なくとも一つのパノラマ画像(一つのパノラマ画像は、一つの部屋(3次元オブジェクト)だけに対応するが、一つの部屋内で複数のパノラマ画像を撮像するのは可能であり、即ち、一つの部屋は複数のパノラマ画像に対応することが可能である)に基づき、該3次元オブジェクトのそれぞれのパノラマ画像の3次元空間における平面輪郭を抽出してから、抽出された平面輪郭を正規化し、モデリングに必要な平面輪郭を得ており、そして、座標変換により、複数の平面輪郭のモザイクを実現することによって、マルチオブジェクトの平面輪郭(2Dモデル)を得ており、次に、該マルチオブジェクトの平面輪郭から3次元オブジェクトの3Dモデルを生成することができる。
図1Aに示すように、ステップS110において、処理すべき少なくとも一つの3次元オブジェクトのそれぞれのために撮像された少なくとも一つのパノラマ画像に対して、それぞれの3次元オブジェクトの少なくとも一つのパノラマ画像の3次元空間における平面輪郭を抽出する。
なお、一つの3次元オブジェクト(例えば、室内シーンのある部屋)は、複数のパノラマ画像に対応することができ、該3次元オブジェクトは、底面(即底部)、頂面(即ち、頂部)及び壁面(即ち、支持部)からなると考えられる。すると、該パノラマ画像の3次元空間における平面輪郭とは、該パノラマ画像に対応する3次元オブジェクトの底面の輪郭を指し、即ち、パノラマ画像の3次元空間における平面輪郭は、2次元輪郭である。図1Bに示すように、異なる位置(即ち、A位置、B位置及びC位置)で、ある3次元オブジェクトに対して三つのパノラマ画像を撮像し、それぞれのパノラマ画像の平面輪郭は、異なる矩形枠(他の態様の輪郭でもよい)に対応し、例えば、A位置で撮像されたパノラマ画像に対応する矩形の平面輪郭が最大であり、C位置で撮像されたパノラマ画像に対応する矩形の平面輪郭が最小である。なお、図1Bにおける三つのパノラマ画像における三つの黒点は、パノラマ画像を撮像するときのカメラの位置を示す。
なお、各カメラの位置において、それぞれ同一の3次元オブジェクトに対して少なくとも一つのパノラマ画像を撮像することができる。
本ステップにおいて、平面輪郭の抽出は、様々な形態で実現できる。以下、一例を挙げて簡単に平面輪郭の抽出方法を説明する。
少なくとも一つの3次元オブジェクトが室内の家である例を挙げ、それぞれの部屋を一つの3次元オブジェクトに見なすことができ、それぞれの部屋に対して少なくとも一つのパノラマ画像を撮像するため、一つのパノラマ画像は、一つの部屋に対応するが、一つの部屋は、複数のパノラマ画像に対応する可能性がある。
このような場合に、天井は、必ずカメラの上方にあるため、撮像されたパノラマ画像において、最上方の画素点は、必ず天井に属する。さらに、天井に属する画素点は、ほとんど類似した特徴を有するため、画素点の特徴類似度に基づいて、最終的に天井に属する全ての画素点を得ることができる。
例えば、まず、パノラマ画像の一行目の全ての画素点を何れも天井に属する画素点に見なし、二行目の画素点のそれぞれに対して、一行目における同一列に属する画素点との特徴類似度(ここの特徴は、色、諧調等の特徴を用いることができ、二つの画素点の特徴類似度は、例えば、二つの画素点の特徴の差(例えば、諧調の差または色の差など)の絶対値などでもよい)を算出する。特徴類似度がある閾値以内(もし0~255諧調値を用いれば、閾値は、例えば10に設定されることができる)にあれば、その画素も天井に属し、特徴類似度が該閾値を超えるまで、さらに続けて該列における三行目と二行目との類似度、四行目と三行目との類似度…を算出し、このときの画素点の位置は、天井のエッジ画素点である。
これらの天井のエッジ画素点は、天井のエッジを形成するため、これらのエッジ画素点を3次元空間に投影することで、天井の平面輪郭を形成することができる。
以下、画素点の3次元空間への投影を説明する。
一つのパノラマ画像の幅がW、高さがHであり、得られた天井のエッジ画素点cの画像座標系における座標が(pc、qc)であると仮定する。パノラマ画像は、球面投影により得られたため、球面座標系でそれを(θc、φc)として示し、ここで、θc∈[-π、π]は、経度であり、φc∈[-π/2、π/2]は、緯度である。
ここに、球面座標系と画像座標系との関係を下記の式1で得られる。
天井が平面であると考えられるため、天井のエッジの画素点からカメラまでの高さhc(ここのhcは、任意の値、例えば、100と仮定できる)が一様であると考えられ、「天井からカメラまでの仮定高さ」hcと呼ばれることができる。誤解を避けるために、ここで説明する必要があるのは、天井からカメラまでの仮定高さhcは、画像座標系での縦座標ではなく、3次元座標系での高さである(即ち、3次元座標系でのy軸の値)。
以下の式2は、天井のエッジの画素点cの球面座標系における座標(θc、φc)を3次元平面に投影するための3次元点座標(xc、yc、zc)である。
本願において、「画像座標系」という用語とは、画像画素点がある座標系を指し、主に画像における画素点がある位置を説明するために用いられる。これにより、パノラマ画像座標系とは、パノラマ画像の画素点がある座標系を指し、主にパノラマ画像における画素点がある位置を説明するために用いられる。
上記では、パノラマ画像における天井特徴点の類似性に基づいて、該パノラマ画像の3次元空間における平面輪郭を生成する一例だけが示めされているが、本発明が適用できる方法は、この例に限定されないことについて注意されたい。
天井が平面として考えられることができ、また、パノラマカメラは、一般的に三脚で支持され、家を撮像する際に、その高さが一定であることが一般的であるため、処理されるパノラマ画像から取得した天井エッジの各画素点からカメラまでの高さは一様であると考えられ、それを「カメラから天井までの高さ」と呼ばれることができる。
ここで、パノラマカメラは、一般的に三脚で支持され、その高さが一定であるため、カメラから天井までの高さ、カメラから床までの高さが一定であると考えられてもよい。
本ステップで取得した3次元空間における平面輪郭(天井の平面輪郭)について、該輪郭における各3次元点に高さの値を与えることができ、例えば、カメラから天井までの高さをhcと仮定する(「カメラから天井までの仮定高さ」hcということができる)とともに、この仮定された高さは、任意の値、例えば、100でもよい(次の処理でカメラから天井までの実際の高さを求めることができ、次に取得した高さは「カメラから天井までの抽出高さ」ということができる)。混乱を避けるため、以下では、ここで仮定されたカメラから天井までの高さhcを「カメラから天井までの仮定高さ」hcにする。
上記の実施例において、人工による作成が関与することなく、且つ高価な3D走査機器を使用することなく、パノラマ画像に基づいて該画像の平面輪郭を自動的に取得することができる。
例えば、いくつかの実施例において、ステップS110において、平面輪郭抽出ステップは、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、それぞれの3次元オブジェクトに対して少なくとも二つのパノラマ画像を撮像したときのパノラマカメラのカメラの位置、及び各3次元オブジェクトの少なくとも二つのパノラマ画像における、マッチング特徴点の3次元点座標を取得する、カメラ位置取得ステップと、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、前記パノラマ画像における、輪郭特徴が特定のカテゴリに属する画素点のうちのエッジ画素点で囲まれた輪郭に基づいて、前記パノラマ画像の前記3次元空間における平面輪郭を生成する、単一画像平面輪郭生成ステップと、を含む。
例えば、特定のカテゴリは、少なくともパノラマ画像における3次元物体の頂部、底部、支持部を含む。
例えば、単一画像平面輪郭生成ステップは、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける画素点間の特徴類似度に基づいて、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける、輪郭特徴が特定のカテゴリに属する画素点のうちのエッジ画素点を特定することを含む。ここで、二つの画素点の特徴類似度は、二つの画素点の特徴の差の絶対値であり、それぞれの画素点の特徴は、諧調、色などを含む。
例えば、他のいくつかの実施例において、ステップS110において、平面輪郭抽出ステップは、前記処理すべき少なくとも1つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、前記各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれを撮像したときのパノラマカメラの前記カメラの位置、及び前記それぞれのパノラマ画像における、マッチング特徴点の3次元点座標を取得する、カメラ位置取得ステップと、前記各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、画像輪郭を抽出するためのディープラーニングモデルで、前記パノラマ画像の前記3次元空間における平面輪郭を抽出する、単一画像平面輪郭生成ステップと、を含む。
例えば、いくつかの例において、下記方式でディープラーニングモデルをトレーニングする。人工的にマーキングされたトレーニング画像としての複数のパノラマ画像における注目タイプの3次元オブジェクトの輪郭特徴によって、前記注目タイプの3次元オブジェクトの輪郭特徴トレーニングデータセットを生成し、前記注目タイプの3次元オブジェクトの前記輪郭特徴トレーニングデータセットを用いて前記ディープラーニングモデルをトレーニングすることにより、トレーニングされたディープラーニングモデルを得る。
例えば、ディープラーニングモデルの出力は、注目タイプの3次元オブジェクトの輪郭特徴のカテゴリを含む。
例えば、いくつかの例において、単一画像平面輪郭生成ステップは、前記各3次元オブジェクトの少なくとも二つのパノラマ画像をトレーニングされた前記ディープラーニングモデルに入力し、前記各3次元オブジェクトの少なくとも二つのパノラマ画像におけるそれぞれの画素点に対応する輪郭特徴のカテゴリを取得することと、前記各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおいて、輪郭特徴が特定のカテゴリに属する画素点のうちのエッジにあるエッジ画素点を特定カテゴリエッジ画素点として抽出することと、前記各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける全ての特定カテゴリエッジ画素点が同一の高さhcを有すると仮定し、その高さhcを特定のカテゴリの輪郭の仮定輪郭高さとするとともに、前記それぞれのパノラマ画像における前記特定カテゴリエッジ画素点を3次元平面に投影し、前記それぞれのパノラマ画像に対応する特定カテゴリ3次元点を得ており、そして、前記それぞれのパノラマ画像に対応する前記特定カテゴリ3次元点に基づいて、各パノラマ画像の前記3次元空間における平面輪郭を形成することと、を含む。
例えば、特定のカテゴリは、パノラマ画像における3次元オブジェクトの頂部を含む。
図1Aに示すように、ステップS120において、カメラの位置に基づいて、各3次元オブジェクトの少なくとも一つのパノラマ画像の3次元空間における平面輪郭のスケールを正規化し、正規化された各パノラマ画像の前記3次元空間における平面輪郭を得る。つまり、カメラの位置のスケールとステップS110で取得したパノラマ画像の3次元空間における平面輪郭のスケールとを正規化(スケール正規化)する。
なお、スケール正規化の目的は、各パノラマ画像のカメラの位置のスケールと平面輪郭のスケールとを統一することである。該カメラの位置のスケールと平面輪郭のスケールは、例えば、メートルなどの現実的なスケールでもよい。つまり、カメラの位置の座標と平面輪郭の大きさは、統一した単位で示すべきである。
例えば、カメラの位置は、カメラの座標と方向を含む。
ステップS110において部屋の3次元空間平面輪郭を得るとき、カメラから天井までの仮定高さhc(そのときはカメラ高さが明確ではない)を用いているため、カメラの位置のスケール(カメラの実際高さ)と3次元オブジェクトの3次元空間平面輪郭のスケールとが統一されておらず、次の部屋輪郭のモザイクはある程度に困難を招く。
ステップS110において、各3次元オブジェクトの少なくとも一つのパノラマ画像を撮像したときのカメラの位置のスケールと各3次元オブジェクトの少なくとも一つのパノラマ画像の3次元空間における平面輪郭のスケールとを正規化することによって、次のマルチオブジェクトのモザイク処理の実行を可能にする。
この正規化ステップにおいて、二つの場合が考えられる。一つは、特定されたカメラの位置(実際のカメラ高さ)を有し、もう一つは、依然としてカメラの位置が特定されていない。
カメラの位置が予め特定されたカメラ特定高さhc’の場合に、平面輪郭抽出ステップS110で仮定された、カメラから天井までの仮定高さhcとカメラ特定高さhc’との比を用い、各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から、正規化された各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を生成することができる。ここで、特定のカテゴリの輪郭の仮定輪郭高さhcは、任意の仮定された高さでもよく、例えば、座標値は、100または任意の一つの他の値である。
カメラの位置がカメラ位置取得ステップで取得される場合は、まず、カメラ位置取得ステップでカメラの位置を取得することができ、カメラ位置取得ステップは、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各3次元オブジェクトの少なくとも二つのパノラマ画像間の特徴点のマッチングを行うとともに、各3次元オブジェクトの少なくとも二つのパノラマ画像において互いにマッチング関係にある特徴点をマッチング特徴点として記録することと、前記各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、前記それぞれのパノラマ画像におけるマッチング特徴点の再投影誤差を低減することによって、前記それぞれのパノラマ画像を撮像したときのパノラマカメラの前記カメラの位置、及び前記それぞれのパノラマ画像における、マッチング特徴点の3次元点座標を取得することと、を含む。
その後、ステップS120において、カメラの位置はカメラ位置取得ステップで取得される場合は、以下の方式でスケール正規化を実現することができる。カメラの位置を取得するときに取得した各3次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値を特定のカテゴリの輪郭の抽出された輪郭高さhc’とし、そして、特定のカテゴリの輪郭の仮定輪郭高さhcと特定のカテゴリの輪郭の抽出された輪郭高さhc’との比を用い、各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から正規化された各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を生成する。同様に、ここの特定のカテゴリの輪郭の仮定輪郭高さhcも任意の仮定された高さであり、例えば、100または任意の他の値である。
例えば、他のいくつかの実施例において、カメラの位置は、パノラマ画像を撮像するときのビデオストリームに基づいてリアルタイムに特定することができ、例えば、カメラの位置は、カメラ位置取得ステップで取得されたものであり、カメラ位置取得ステップは、各3次元オブジェクトの少なくとも一つのパノラマ画像に対応するビデオストリームとタイムスタンプを取得することと、タイムスタンプに基づいてビデオストリームのうちの各3次元オブジェクトの少なくとも一つのパノラマ画像に対応する少なくとも一つのビデオフレームを特定することと、少なくとも一つのビデオフレームの位置に基づいて、各3次元オブジェクトの少なくとも一つのパノラマ画像を撮像したときのパノラマカメラのカメラの位置を特定することと、を含む。ビデオストリームのうちのそれぞれのビデオフレームは何れも、特定された位置情報を有し、パノラマ画像を撮像したときのパノラマカメラのカメラの位置は、該パノラマ画像に対応するビデオフレームに対応する位置である。
本発明において、マルチビュージオメトリ(multiple view geometry)の方法に基づいてカメラの位置を取得(推定)することができ、明細書の長さの都合上、ここでは詳しく説明しない。
図2は、本発明の別の例示的な実施例による3次元オブジェクトモデリングの全過程の概略フローチャートを示す。
図2に示すように、スケール正規化ステップの後に、3次元オブジェクトモデリング方法は、単一オブジェクト平面輪郭生成ステップS125をさらに含んでもよい。ステップS125は、処理すべき少なくとも一つの3次元オブジェクトに対して撮像された少なくとも二つのパノラマ画像について、二つのパノラマ画像の間に特定割合よりも多くのマッチング特徴点があれば、この二つのパノラマ画像が同一の3次元オブジェクトに属すると特定するように複数のパノラマ画像が同一の3次元オブジェクトに属するかを一つずつ特定することと、及び、複数のパノラマ画像が同一の3次元オブジェクトに属すると特定された場合、前記複数のパノラマ画像から得られた同一の3次元オブジェクトの各平面輪郭について、同一の3次元オブジェクトの全ての平面輪郭の和集合を、3次元オブジェクトの3次元空間における平面輪郭とすることと、を含む。
例えば、ステップS125において、正規化された各パノラマ画像の3次元空間における平面輪郭に基づいて、各単一のオブジェクトの3次元空間における平面輪郭を得ることができる。
本発明において、一つのパノラマ画像から得られる、一つの対応する、3次元空間における平面輪郭を、「単一オブジェクトの平面輪郭」ということができる。
例えば、それぞれの部屋が注目タイプの3次元オブジェクトである例を挙げ、上記のように、撮像されたパノラマ画像に同一部屋の複数のパノラマ画像が含まれる可能性があり、このような場合に、同一部屋は、3次元空間における複数の平面輪郭に対応することになるため、次の複数の部屋のモザイク処理で取得した複数の部屋の平面輪郭において、ある部屋または複数の部屋の各自の異なるパノラマ画像により得られた平面輪郭が融合(fusion)しておらず、モザイクされた輪郭が重なったり乱れたりするおそれがある。したがって、このような現象を避けるために、まず同一部屋(オブジェクト)の輪郭の融合(「単一オブジェクト融合」ということができる)を行うことが考えられる。また、単一オブジェクト融合(たとえば、同一部屋の輪郭の融合)によって、単一オブジェクトの輪郭が不完全になる現象をないようにすることもできる。
上記の単一オブジェクト融合が必要の場合に、以下、一つの部屋を一つの3次元オブジェクトととする例を挙げ、下記の例示的な方法を示す。
まず、二つのパノラマ画像が同一部屋に属するかを判断する。
ここで、特徴点をマッチングする方法を用いることができ、二つのパノラマ画像間にある割合(特定の割合、例えば、50%など)よりも多いマッチング特徴点があれば、この二つのパノラマ画像が同一部屋に属すると判定することができる。
その後、複数のパノラマ画像が同一部屋に属する場合、異なるパノラマ画像により得られた同一部屋の平面輪郭について、これらの平面輪郭の和集合を、単一部屋の3次元空間における平面輪郭とする(一つの部屋は一つの輪郭に対応し、一つの部屋は複数の単一画像輪郭に対応する状況を避ける)ことにより、3次元空間における同一部屋の輪郭の融合を実現する。
ここに、上記のマッチング特徴点の割合は、以下の方式で設定することができ、仮に画像1は、n1個の特徴点を有し、画像2は、n2個の特徴点を有し、二つの画像のマッチング特徴の個数は、n個であるとすると、マッチング特徴点の割合は、n/min(n1、n2)でもよい。
二つのパノラマ画像間のマッチング特徴点の割合が、例えば50%よりも大きい場合、二つの画像が同一部屋であると考えてもよい。
ここで、マッチング特徴点の割合の設定と割合の実際の大きさは、実際の状況に応じる実験、経験により特定することができ、本発明は、これを限定しない。
上記のように、本発明において、上記の少なくとも二つのパノラマ画像について、単一部屋に対して融合する方式で複数のパノラマ画像が同一部屋に属するかを特定することができる。二つのパノラマ画像の間に特定割合よりも多くのマッチング特徴点があれば、この二つのパノラマ画像が同一部屋に属すると判定することができる。
もし複数のパノラマ画像が同一部屋に属すると特定したら、前記複数のパノラマ画像から得られた同一部屋の各平面輪郭について、これらの平面輪郭の和集合を、該部屋の平面輪郭とする。
なお、同一部屋の輪郭が融合された後、得られた輪郭エッジにノイズが存在する可能性があり、例えば、辺がまっすぐではないことや、辺と辺とが垂直ではない現象が現れる可能性がある。従って、本発明は、さらにそれぞれの部屋の輪郭に対して直角多角形フィッティングを行い、より合理的な部屋の平面輪郭を得られる。
上記の特別に単一オブジェクトに対して行った最適化処理、例えば、単一オブジェクト融合および/または直角多角形フィッティングなどにより、より正確な単一オブジェクトの平面輪郭を取得することができ、後続的な2Dと3Dモデルの生成に有利であり、モデルの解像度と正確性を高める。
該ステップは、3次元オブジェクトの2次元または3次元モデリングに必須なステップではなく、モデルの正確性を高めることができる好適な処理方式であることを注意されたい。
図1Aに示すように、ステップS140において、カメラの位置を用い、スケール正規化された各パノラマ画像の3次元空間における平面輪郭の3次元点座標を回転及び併進するように操作し、これらの3次元点座標を同一の座標系に統一することによって、各3次元オブジェクトの平面輪郭をマルチオブジェクトの平面輪郭にモザイクすることができる。
このステップS140において、スケール正規化された各3次元オブジェクトの平面輪郭のモザイクを実現し、マルチオブジェクトの平面輪郭としてモザイクするために、人工で実現してもよい。また、自動的に複数の部屋のモザイクを実現してもよい。本発明において、自動的にマルチオブジェクトのモザイクを実現する。
例えば、マルチオブジェクトモザイクステップS140において、さらに、各単一の3次元オブジェクトの3次元空間における平面輪郭をモザイクして3次元空間におけるマルチオブジェクトの平面輪郭を得られる。
なお、一つの3次元オブジェクト(例えば、室内シーンの部屋)の平面輪郭とは、該3次元オブジェクトの平面輪郭を指し、該3次元オブジェクトの平面輪郭は、複数のパノラマ画像の平面輪郭をモザイクしたものでもよい。モザイクにおいて、スケール正規化された、該3次元オブジェクトに属するパノラマ画像の平面輪郭の3次元点座標を回転及び併進するように操作した後、同一の座標系に統一することによって、モザイクした該オブジェクトの平面輪郭を取得する。図1Cに示すように、図1Bに示す、同一の3次元オブジェクトに対応する異なる位置(即ち、A位置、B位置及びC位置)の三つのパノラマ画像について、対応する三つの平面輪郭をモザイクすると、該3次元オブジェクトの3次元空間における平面輪郭全体を取得し、該3次元オブジェクトの平面輪郭全体も2次元輪郭である。その後、複数の3次元オブジェクトの平面輪郭をモザイクする(例えば、各3次元オブジェクトの平面輪郭の3次元点座標に対してスケール正規化し、回転及び併進し、モザイクする等の操作を行う)ことによって、マルチオブジェクトの平面輪郭を得る。
以下、本発明において提案されている自動化マルチオブジェクトモザイク方案を示す。
以下、一つの部屋を一つの3次元オブジェクトとする例を挙げ、その具体的な操作を詳しく説明する。
N個の部屋の輪郭が存在しているとして、n番目の部屋輪郭のp番目の3次元点は、
として示し、該部屋のカメラの位置は、{R
n、t
n}として示し、ここに、R
nは、カメラの位置の回転パラメータを示すための回転行列であり、t
nは、カメラの位置の併進パラメータを示すための併進ベクトルである。
このとき、一番目の部屋のカメラの位置を基準座標系として選択することができ、これは、現在取得した部屋輪郭は、それぞれの座標系での輪郭位置であり、一つの座標系に統一する必要があるため、基準座標系を選択する必要があるからである。正確には、一番目の部屋のカメラの位置のある座標系を基準座標系として選択することができる。その後、以下の式3で他の部屋の輪郭3次元点を該座標系に統一することができる。
一番目の部屋を除いた全ての、スケール正規化された輪郭3次元点(例えば、天井のエッジ、壁面のエッジ、床のエッジにおける3次元点)を式3により変換すると、全ての部屋の3次元点を同一座標系(即ち、一番目の部屋の基準座標系)に統一することができ、これによって、マルチ部屋の平面輪郭のモザイクを実現することができる。
ここで、任意一つの部屋の座標系を基準座標系として選択してもよい(例えば、i番目の部屋の座標系を基準座標系とすると、式3におけるn→1は、n→iに変わり、R1は、Riに変わり、t1はtiに変わる)。本発明は、これを何ら制限しないのは、本発明において、必要なのは相対位置関係であり、絶対位置関係ではないからである。例えば、i番目の平面輪郭に対応するパノラマ画像が撮像されたときのカメラの位置を基準座標系として選択する場合に、以下の式で他の平面輪郭の3次元点を基準座標系に統一することができる。
i番目の平面輪郭を除いた、全てのスケール正規化された平面輪郭の3次元点を上記の式により変換し、全ての平面輪郭の3次元点を同一の座標系に統一することによって、各3次元オブジェクトの平面輪郭をマルチオブジェクトの平面輪郭にモザイクする。
ここで、該ステップのマルチオブジェクトのモザイクの後で得られたマルチオブジェクトの平面輪郭は、前記少なくとも一つの(複数の場合も含む)3次元オブジェクトの2Dモデル(例えば、2D間取り図)として出力することができる。
本発明の別の例示的な実施例により、本発明に係る3次元オブジェクトモデリング方法は、マルチオブジェクト輪郭最適化ステップS145において、マルチオブジェクト輪郭を修正、即ち、マルチオブジェクト輪郭を最適化してもよい。例えば、マルチオブジェクト輪郭における、二つの単一オブジェクト輪郭の隣接する辺の間の距離を算出し、距離がゼロでなくかつ特定の閾値未満であれば、隣接する辺の距離がゼロになるように二つの単一オブジェクト輪郭をずらす。
本ステップも、3次元オブジェクトの2次元または3次元モデリングに必須なステップではなく、モデルの正確性を高めることができる好適な処理方式であることを注意されたい。
本発明において、マルチオブジェクト輪郭をモザイクした後、より正確なマルチオブジェクト輪郭を得るために、さらにマルチオブジェクト輪郭を修正することもできる。
一つの部屋を注目タイプの一つの三次元オブジェクトとする場合、単一画像の平面輪郭の抽出精度とカメラの位置の抽出精度の影響を受けているため、隣接する多次元オブジェクト(例えば、一セットの室内の家)の輪郭がモザイクされた後、重複領域や隙間が出る場合がある。このため、この二つの場合についてさらに輪郭の修正を行ってよい。
修正方法は、例えば下記の通りでもよい。先ず、二つの輪郭毎に、輪郭の隣接する辺(これらの隣接する辺は、理論上は重なり合うはずであり、即ち、理論上はマルチ部屋の輪郭の1本の重なり合う辺になるはずである)の間の距離を算出し、もし該距離がある閾値よりも小さければ、この2本の辺は、隣接関係にあると判定でき、この時、隣接する辺の距離がゼロになるように該輪郭をその距離の分だけずらす(即ち、隣接辺を互いに重なり合わせ、重なり合う辺にする)ことにより、隣接する辺同士の重なりや隙間について修正することができる。
上記の該閾値について、例を挙げると、例えば、これらの、1本の重なり合う辺とすべき隣接する辺の平均長Lを算出し、該平均長のある割合を閾値とすることができ、例えば、0.2*Lを該距離閾値とすることができる。
上記は、理解を容易にするために示した例示的な閾値に過ぎず、実際に、本発明は、該閾値について特に限定せず、実験と経験によって特定できることを注意されたい。
これにより、上記単一部屋輪郭融合とマルチ部屋輪郭修正とが行われたマルチ部屋輪郭は、該家の完全かつ正確な2D間取り図(家の2Dモデル)とすることができる。
さらに、ステップS150において、3Dモデルを生成し、即ち、生成されたマルチオブジェクトの平面輪郭を少なくとも一つの3次元オブジェクトの3Dモデルに変換する。マルチオブジェクトモザイクステップの後で、モザイクされた、3次元空間におけるマルチオブジェクトの平面輪郭をマルチオブジェクト3Dモデルに変換する。
例えば、3Dモデル生成ステップは下記のことが含まれる。
1)モザイクされたマルチオブジェクトの平面輪郭における頂部の平面輪郭について内部に3次元点補間するとともに、取得した各頂部の平面輪郭における全ての3次元点座標を、対応するパノラマ画像座標系に投影することによって、頂部テクスチャを取得すること、
2)モザイクされたマルチオブジェクトの平面輪郭における底部の平面輪郭について内部に3次元点補間するとともに、取得した各底部の平面輪郭における全ての3次元点座標を、対応するパノラマ画像座標系に投影することによって、底部テクスチャを取得すること、
3)頂部輪郭と底部輪郭との間の、同一平面位置にある3次元頂点を接続して支持部の平面輪郭を構成するとともに、支持部の平面輪郭について内部に3次元点補間するとともに、取得した各支持部の平面輪郭の全ての3次元点座標を、対応するパノラマ画像座標系に投影することによって、支持部テクスチャを取得すること、
4)頂部テクスチャ、底部テクスチャ、支持部テクスチャに基づいて、3次元オブジェクト全体の3Dテクスチャモデルを生成することである。
なお、3Dモデル生成ステップS150において、得られた各3次元オブジェクトの頂部の平面輪郭における全ての3次元点座標における、特定のカテゴリの輪郭の抽出された輪郭高さhc’としての、カメラから対応する3次元オブジェクトの頂部までの抽出高さの高さ値を、カメラから対応する3次元オブジェクト底部までの抽出高さhf’に切り替えるとともに、得られた各3次元オブジェクトの頂部の平面輪郭における全ての3次元点座標の長さと幅の値をそのままにして、対応する各3次元オブジェクトの底部の平面輪郭を得る。
例えば、上記の「カメラから対応する3次元オブジェクトの頂部までの特定のカテゴリの輪郭の抽出された輪郭高さhc’」は、カメラの位置を取得するときに取得した少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値をカメラから対応する3次元オブジェクトの頂部までの特定のカテゴリの輪郭の抽出された輪郭高さhc’とすることにより取得される。
なお、類似的に、上記の「カメラから対応する3次元オブジェクト底部までの抽出高さhf’」は、カメラの位置を取得するときに取得した少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の下位の高さ値の中央値または平均値を、カメラから対応する3次元オブジェクト底部までの抽出高さhf’とすることにより取得される。
理解と説明を容易にするために、以下、家のモデリングを例として説明する。
上記のステップで得られたマルチオブジェクトの平面輪郭(例えば、複数の部屋の平面輪郭)を内部に3次元点補間してから、全ての3次元点座標を、対応するパノラマ画像に投影することによって、天井テクスチャ(カラー値)を取得する。
ここで、3次元点補間する方法について例を挙げて説明する。例えば、取得した複数の部屋の平面輪郭の天井輪郭は、矩形であると仮定し、その長さをH、幅をWと仮定すると、その長さと幅をそれぞれN個の間隔に分割することができ、合計でN*N個の補間点が取得できる。その後、該矩形のある頂点(仮に該頂点の3次元点座標が(x、y、z)とする)を原点として選択すると、このN*N個の点の座標が順に(x+H/N、y、z)、(x+2*H/N、y、z)…(x、y+W/N、z)(x、y+2*W/N、z)、…(x+H/N、y+W/N、z)…)になる。これにより、3次元点補間の後、輪郭内部の密集な3次元点座標を取得するになる。
上記では、理解しやすいようにするために3次元点補間の具体例を示しているが、実際には、本発明で利用可能な3次元点補間の方法は多くあり、この例に限定されないことを注意されたい。
なお、例えば、具体的な投影方法は、以下の通りでもよい。補間後の3次元点座標を(xi、yi、zi)とし、パノラマ画像に投影された経度、緯度が(θi、φi)であると仮定すると、該投影の式は、次の式4で表すことができる。
該式から経度、緯度を取得した後で、さらに式1から該3次元点のパノラマ画像平面における座標を取得することができ、該点でのカラー値を該3次元点のテクスチャとすることができる。
ほとんどの場合、天井の輪郭と床の輪郭は、平行かつ同様であると仮定できる。したがって、上記で取得した修正後のそれぞれの部屋の天井の平面輪郭と、上記で取得したカメラから床までの抽出高さhf’とを用いて、同様に式2により複数の部屋の床の平面輪郭の3次元点を生成することができる。
ここで、床の平面輪郭の形状は、天井と同じであり、即ち、床と天井において水平面の3次元座標xとzが同じであると仮定し、異なっているのは、高さである垂直方向のy値である(例えば、天井の平面輪郭は、カメラの上方にあり、床はカメラの下にあるため、高さが異なる)。したがって、上記で取得した天井輪郭の3次元点座標のy値(カメラから天井までの抽出高さhc’)をカメラから床までの抽出高さhf’に置換するだけでよい。
天井の平面輪郭の3次元点補間と類似的に、床の平面輪郭について内部に3次元点補間してから、式4により対応するパノラマ画像に投影することによって、床テクスチャを取得する。
そして、天井の輪郭と床の輪郭との間の、同一平面位置にある3次元頂点を接続することにより、複数の壁面の平面輪郭を構成することができ、同様に、これらの平面輪郭について内部に3次元点補間してから、式4により対応するパノラマ画像に投影することによって、壁面のテクスチャを取得する。
これにより、完全な家の3Dテクスチャモデルを生成することができる。
本発明の上記の3次元オブジェクトモデリング方法により、生成されたモデルの解像度と正確性を効果的に高めることができる。
そして、上記の実施例は、理解と説明を容易にするために、家モデリングを例として本発明の、画像に基づいてモデリングする方法を説明したが、実際には、本発明は、家モデリングに適用することに限らず、画像に基づいてモデリングする様々な場合、例えば、車両をモデリングすることによって、VR(仮想現実)で車を選ぶことを実現するなどの場合に適用でき、本発明は、実に新たな、総合的な画像処理方案を提供する。
図3は、本発明の一つの例示的な実施例による3次元オブジェクトモデリング機器の概略ブロック図を示す。
図3に示すように、本発明の一つの例示的な実施例による3次元オブジェクトモデリング機器100は、平面輪郭抽出装置110と、スケール正規化装置120と、マルチ輪郭モザイク装置130とを含むことができる。
ここに、平面輪郭抽出装置110は、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも一つのパノラマ画像について、各3次元オブジェクトの少なくとも一つのパノラマ画像の3次元空間における平面輪郭を抽出するように配置されることができる。
ここで、上記のように、少なくとも一つのパノラマ画像は、一つの3次元オブジェクトに対して撮像されたものであり、各3次元オブジェクトは、一つ以上のパノラマ画像に対応する。
スケール正規化装置120は、カメラの位置のスケールと各3次元オブジェクトの少なくとも一つのパノラマ画像の3次元空間における平面輪郭のスケールとを正規化し、正規化された各パノラマ画像の3次元空間における平面輪郭を得るように配置されることができる。
マルチオブジェクトモザイク装置130は、カメラの位置に基づいてスケール正規化された各パノラマ画像の3次元空間における平面輪郭の3次元点座標を回転及び併進するように操作し、これらの3次元点座標を同一の座標系に統一するように配置されることができ、これによって、各パノラマ画像の3次元空間における平面輪郭をマルチオブジェクトの平面輪郭にモザイクする。
ここに、上記のカメラの位置は、予め特定されたものでもよい。
または、上記のカメラの位置は、
1)処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、これらのパノラマ画像間の特徴点のマッチングを行うとともに、これらのパノラマ画像における互いにマッチング関係にある特徴点をマッチング特徴点として記録することと、
2)各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、それぞれのパノラマ画像のマッチング特徴点の再投影誤差を低減することによって、それぞれのパノラマ画像を撮像したときのパノラマカメラのカメラの位置、及びそれぞれのパノラマ画像のマッチング特徴点の3次元点座標を取得すること、で取得されたものでもよい。
ここで、カメラの位置は抽出により取得された場合に、カメラの位置を取得したときに取得した各3次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値を特定のカテゴリの輪郭の抽出された輪郭高さhc’とし、特定のカテゴリの輪郭の仮定輪郭高さhcと特定のカテゴリの輪郭の抽出された輪郭高さhc’との比を用い、各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から正規化された、各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を生成することができる。
ここで、カメラ仮定高さhc(即ち、カメラから天井までの仮定高さ)は、任意に仮定された高さである。
なお、カメラの位置が予め特定されたカメラ特定高さhc’の場合に、平面輪郭抽出ステップS110で仮定されたカメラ仮定高さhcとカメラ特定高さhc’との比を用い、前記各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から正規化された各パノラマ画像の3次元空間における平面輪郭を生成することができる。同様に、ここのカメラ仮定高さhc(即ち、カメラから天井までの仮定高さ)も任意に仮定された高さである。本願において、カメラ仮定高さと特定のカテゴリの輪郭の仮定輪郭高さとは、同じであり、類似的に、カメラ特定高さと特定のカテゴリの輪郭の抽出された輪郭高さとは、同じである。
該3次元オブジェクトモデリング機器100は、単一オブジェクト平面輪郭生成装置125をさらに含んでもよい。
その単一オブジェクト平面輪郭生成装置125は、
少なくとも二つのパノラマ画像について、二つのパノラマ画像の間に特定割合よりも多くのマッチング特徴点があれば、この二つのパノラマ画像が同一の3次元オブジェクトに属すると特定するように、複数のパノラマ画像が同一の3次元オブジェクトに属するかを一つずつ特定すること、
複数のパノラマ画像が同一の3次元オブジェクトに属すると特定したら、該複数のパノラマ画像の3次元空間における平面輪郭の和集合を、該3次元オブジェクトの3次元空間における平面輪郭とするように配置される。
なお、前記マルチオブジェクトモザイク装置130は、さらに、各単一の3次元オブジェクトの3次元空間における平面輪郭に基づいてモザイクして、3次元空間におけるマルチオブジェクトの平面輪郭を取得するように配置されてもよい。
なお、前記マルチオブジェクトモザイク装置130は、以下のような座標変換により、マルチ平面輪郭のモザイクを実現することができ、
全てのパノラマ画像の3次元空間における平面輪郭が合計でN個あると仮定し、n番目の平面輪郭のp番目の3次元点は
として示され、該n番目の平面輪郭に対応するパノラマ画像が撮像されたときのカメラの位置は、{R
n、t
n}として示され、ここに、R
nは該カメラの位置の回転パラメータを示すための回転行列であり、t
nは、該カメラの位置の併進パラメータを示すための併進ベクトルであり、ここに、Nは、1よりも大きい整数であり、nは、1以上の整数である。このときに、i番目の平面輪郭に対応するパノラマ画像が撮像されたときのカメラの位置を基準座標系として選択することができ、下記の式により他の平面輪郭の3次元点を該基準座標系に統一することができ、
i番目の平面輪郭を除いた、全てのスケール正規化された平面輪郭の3次元点を該式により変換し、全ての平面輪郭の3次元点を同一の座標系に統一することによって、各パノラマ画像の3次元空間における平面輪郭をマルチオブジェクトの平面輪郭にモザイクし、即ち、各3次元オブジェクトの平面輪郭をマルチオブジェクトの平面輪郭にモザイクする。
なお、該3次元オブジェクトモデリング機器100は、マルチオブジェクト輪郭最適化装置135をさらに含んでもよい。当該マルチオブジェクト輪郭最適化装置135は、マルチオブジェクトの平面輪郭において二つの単一オブジェクトの平面輪郭の隣接する辺の間の距離を算出し、該距離がゼロでなく且つ特定の閾値未満であれば、該隣接する辺の距離がゼロになるように該二つの単一オブジェクトの平面輪郭をずらすように配置される。
なお、該3次元オブジェクトモデリング機器100は3Dモデル生成装置140をさらに含んでもよい。当該3Dモデル生成装置140は、モザイクした3次元空間におけるマルチオブジェクトの平面輪郭をマルチオブジェクト3Dモデルに変換するように配置される。
ここで、上記の3次元オブジェクトモデリング機器100の各装置110、120、125、140、145、150等は、それぞれ上記詳細に説明されているステップS110、120、125、140、145、150等に対応し、ここで、詳しい説明を省略する。
これにより、本発明の上記3次元オブジェクトモデリング機器により、生成されたモデルの解像度と正確性を効果的に高めることができる。
そして、上記のものは理解と説明を容易にするために、3次元オブジェクト(例えば、家)モデリングを例として本発明の、画像に基づいてモデリングする技術方案を説明したが、実際には、本発明は、3次元オブジェクト(例えば、家)モデリングの適用に限定されるはずではなく、画像に基づいて3次元オブジェクトモデリングする様々な場合、例えば、車両モデリングなどに適用でき、本発明は、実際に革新的且つ総合的な画像処理方案を提供することについて強調する必要がある。
図4Aは、本発明の一つの例示的な実施例による画像処理方法の概略フローチャートを示す。
以下、先ず図4Aを参照して本発明の一つの例示的な実施例による画像処理方法を紹介し、次のモデリング処理に十分にデータを準備し、次の処理過程を簡素化する。図4Aに示すように、画像処理過程は、カメラ位置取得S410と、単一画像平面輪郭生成S420と、スケール正規化S430との三つのステップを含み、モデリング過程は、複数の後続的なステップを含むことができる。
本発明の一つの例示的な実施例による画像処理方法は、以下のステップを含むことができる。
ステップS410において、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置、及び各3次元オブジェクトの少なくとも二つのパノラマ画像におけるマッチング特徴点の3次元点座標を取得する。
例えば、少なくとも二つのパノラマ画像は一つの3次元オブジェクトに対して撮像されたものであり、各3次元オブジェクトは、一つ以上のパノラマ画像に対応する。
ステップS420において、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、パノラマ画像において輪郭特徴が特定のカテゴリに属する画素点のうちのエッジ画素点で囲まれる輪郭に基づいて、パノラマ画像の3次元空間における平面輪郭を生成する。
これにより、本発明において、人工による作成が関与することなく且つ高価な3D走査機器を使用することなく、パノラマ画像に基づいて該画像の平面輪郭を自動的に取得することができる。
ステップS430において、取得した、それぞれの3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置のスケールと各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭のスケールとを正規化し、正規化された各パノラマ画像の3次元空間における平面輪郭を取得する。
ここで、ステップS410は、上記3次元オブジェクトモデリング方法の実施例におけるカメラ位置取得ステップに関する説明を参照してもよい、ステップS420は、上記3次元オブジェクトモデリング方法の実施例における単一画像平面輪郭生成ステップに関する説明を参照してもよい、ステップS430は、上記3次元オブジェクトモデリング方法の実施例におけるスケール正規化ステップに関する説明を参照してもよい、同じところについて、詳しい説明を省略する。
上記の画像処理過程を経て、次のモデル生成に高解像度の基礎を提供する。そして、上記の画像処理過程により、次のモデル生成に、3次元空間における正規化された各パノラマ画像の平面輪郭を提供し、次のモデル生成作業を簡素化し、処理時間を短縮し、処理効率を高める。
上記の画像処理を経て、オブジェクトモデリングにモデル生成に必要な平面輪郭データを提供する。
図4Bは、本発明の一つの例示的な実施例による画像処理とオブジェクトモデリングの全過程の概略フローチャートを示す。
図4Bは、以上に説明された画像処理部分と次に説明するオブジェクトモデリング部分とを含む。
以下、図4Bのオブジェクトモデリング部分を参照して本発明の一つの例示的な実施例による3次元オブジェクトモデリング方法を説明する。
本発明の一つの例示的な実施例によるオブジェクトモデリング過程は、以下のステップを含むことができる。
画像処理ステップにおいて、上記の任意1種の画像処理方法を用い、各3次元オブジェクトの少なくとも一つのパノラマ画像を画像処理することによって、正規化された各パノラマ画像の3次元空間における平面輪郭を得る。
図4Bに示すように、マルチオブジェクトモザイクステップS440において、上記の正規化された各パノラマ画像の3次元空間における平面輪郭に基づいてモザイクして、マルチオブジェクトの平面輪郭を得る。
なお、上記のオブジェクトモデリング方法は、単一オブジェクト平面輪郭生成ステップS435をさらに含んでもよい。当該S435において、上記画像処理ステップで得た正規化された各パノラマ画像の平面輪郭に基づいて、各単一の3次元オブジェクトの3次元空間における平面輪郭を得る。単一オブジェクト平面輪郭生成ステップS435は、上記3次元オブジェクトモデリング方法の実施例における単一オブジェクト平面輪郭生成ステップS125に関する説明を参照してもよい、同じところについて詳しい説明を省略する。
なお、マルチオブジェクトモザイクステップS440において、さらに各単一の3次元オブジェクトの3次元空間における平面輪郭に基づいてモザイクして3次元空間におけるマルチオブジェクトの平面輪郭を得てもよい。
即ち、本発明において、直接に各パノラマ画像の3次元空間における平面輪郭に基づいてモザイクして3次元空間におけるマルチオブジェクトの平面輪郭を得てもよいし、先に単一の3次元オブジェクトの3次元空間における平面輪郭を取得し、そして各単一の3次元オブジェクトの3次元空間における平面輪郭に基づいてモザイクして3次元空間におけるマルチオブジェクトの平面輪郭を得てもよい。
なお、上記のオブジェクトモデリング方法は、3Dモデル生成ステップS450をさらに含んでもよい。当該3Dモデル生成ステップS450は、マルチオブジェクトモザイクステップS440の後に、モザイクした3次元空間におけるマルチオブジェクトの平面輪郭をオブジェクト3Dモデルに変換する。3Dモデル生成ステップS450について、上記3次元オブジェクトモデリング方法の実施例における3Dモデル生成ステップS150に関する説明を参照してもよい、同じところについて詳しい説明を省略する。
以下、理解と説明を容易にするために、家画像処理と家モデリングを例として、さらに本発明の各処理過程を詳しく説明する。
ここで示す例において、上記の家は、複数の部屋を含み、それぞれの部屋を一つの3次元オブジェクトに見なすことができる。家のモデリングは複数の3次元オブジェクトのモデリングに見なすことができる。例えば、家の、複数の3次元オブジェクトとしての複数の部屋をモザイクすることで、家のモデル全体を構築することができる。
上記の画像処理全体とオブジェクトモデリング方法における用語について、例えば、その中の「頂部」は、本例において、部屋の「天井」でもよく、「底部」は、本例において部屋の「床」でもよく、「支持部」は、本例において、「壁面」でもよい。なお、「輪郭特徴が特定のカテゴリに属する画素点のうちのエッジ画素で囲まれる輪郭」は、本例において「天井に属する画素点のうちのエッジ画素点で囲まれる天井輪郭」を指すことができる。「特定のカテゴリの輪郭の抽出された輪郭高さ」は、本例において「カメラから天井までの抽出高さ」でもよく、類似的に、「特定のカテゴリの輪郭の仮定輪郭高さ」は、本例において、「カメラから天井までの仮定高さ」でもよい。
本発明の一つの例示的な実施例による画像処理方法において、家に撮像された少なくとも一つのパノラマ画像(一つのパノラマ画像は、一つの部屋のみに対応するが、一つの部屋内で複数のパノラマ画像を撮像することができ、即ち、一つの部屋は、複数のパノラマ画像に対応する可能性がある)に基づいて、これらの画像を撮像した時の、パノラマカメラの位置を取得し、取得したカメラの位置に基づいてパノラマ画像の平面輪郭を抽出し、そして、抽出した平面輪郭を正規化することによって、モデリングに必要な平面輪郭を取得する。
従って、図4Aに示すように、ステップS410において、一つの部屋内で撮像された少なくとも二つのパノラマ画像の幾何学的な関係を用い、これらのパノラマ画像を撮像した時のパノラマカメラの位置を取得する。
本発明において、マルチビュージオメトリによる方法を用いてこの問題を解決することができる。
具体的には、ステップS410は、例えば、
1)これらのパノラマ画像間の特徴点のマッチングを行うとともに、これらの画像における互いにマッチング関係にある特徴点を記録することと、
2)それぞれのパノラマ画像について該パノラマ画像におけるマッチング特徴点の再投影誤差を低減することにより、それぞれのパノラマ画像に対応するカメラの位置と該パノラマ画像におけるマッチング特徴点の3次元点座標を求めることと、を含んでもよい。
上記のステップ1)について、ここで、画像処理の技術において、画像特徴点とは、画像の階調値が急激に変化する点、または画像のエッジに曲率が大きい点(即ち、二つのエッジの交点)を指す。画像特徴点は、画像の本質的な特徴を反映することができ、画像中の目標物体を識別することができる。
どのように二つの異なる視角の画像において同一物体について効率的かつ正確にマッチングするかは、多くのコンピュータの視覚アプリケーションの最初のステップである。画像は、コンピュータでは諧調行列として存在しているが、画像の諧調を利用しても、二つの画像において同一物体を正確に見つけることはできない。これは、階調が光の影響を受けているし、画像の視角が変化する場合同一物体の階調値もそれに伴って変化するからである。従って、カメラが動いたり回転したりし(視角が変化し)ても変化しない特徴を見つける必要があり、それらの変化しない特徴を用いて異なる視角の画像において同一物体を見つける。
したがって、画像のマッチングをよりよく行うために、画像から代表的な領域、例えば、画像内のコーナー点、エッジ及びある領域を選択する必要がある。ここで、コーナー点の識別性が最も高い。多くのコンピュータ視覚処理では、通常、特徴点としてコーナー点を抽出し、画像をマッチングしており、例えば、SFM(Structure Form Motion、 複数のビューからの3次元再構成)、SLAM(Simultaneous Localizationand Mapping、自己位置推定とマッピングの同時実行)などの方法を用いることができる。
しかし、単純なコーナー点ではニーズに十分に満たすことができない。例えば、カメラは、遠くから取得したのはコーナー点であるが、近くの場合コーナー点ではない可能性があり、または、カメラが回転すると、コーナー点が変化する。そのため、コンピュータ視覚の研究者たちは、カメラの移動、回転、または光の変化に伴って変化しない、より安定した特徴点を多く設計しており、例えば、SIFT(Scale-Invariant Feature Transform、スケール不変特徴変換)、SURF(Speed Up Robust Features、頑健な特徴量の高速化)などの方法を用いることができる。
一つの画像の特徴点は、キーポイント(Keypoint)と記述子(Descriptor)との二つの部分からなる。キーポイントとは、該特徴点の画像にある位置を指し、方向、スケール情報を有するものもあり、記述子は、通常、キーポイントの周囲の画素の情報を記述するベクトルである。通常、マッチングを行うときに、二つの特徴点の記述子がベクトル空間での距離が近い場合、同一の特徴点であると考えられる。
特徴点のマッチングは、通常、以下の三つのステップが必要であり、1)画像におけるキーポイントを抽出し、2)取得したキーポイント位置に基づいて特徴点の記述子を算出し、3)特徴点の記述子に基づいてマッチングを行う。
本ステップにおける特徴点のマッチングに関する処理は、例えば、オープンソースコンピュータビジョンライブラリ(OpenCV)を用いて実現することができる。本発明の主題を簡潔し、かつ曖昧にしないために、本文は、この部分のより詳細な処理過程については詳しい説明を省略してもよい。
これらのパノラマ画像間の特徴点のマッチングを行った後、これらのパノラマ画像において互いにマッチング関係にある特徴点(「マッチング特徴点」ともいう)を記録する。例えば、次のようにマッチング特徴点の記録を行うことができる。
例えば、画像1における特徴点aが画像2における特徴点bとはマッチング関係にあり、画像2における特徴点bは画像3における特徴点cとはマッチング関係にあり、画像3における特徴点cは画像4における特徴点dともマッチング関係にあると、一つの特徴点マッチングデータ(a、b、c、d)を記録することができる(「特徴点追跡軌跡」ともいうことができる)。これにより、入力されたこれらのパノラマ画像において互いにマッチング関係にある特徴点に関する記録データを取得する。
上記のステップ2)について、ここに、画像再投影とは、任意の視点の参考画像を投影することで新たな画像を生成することを指し、即ち、画像再投影によって既に生成された画像の視線方向を変えることができる。
具体的には、本発明において、画像再投影とは、画像1における一つの特徴点p1に対応する3次元点座標を、現在のカメラパラメータで別の画像2に投影し、この画像2で取得した投影点q2と、画像1における特徴点p1の該画像2におけるマッチング特徴点p2との間の位置差が再投影誤差(Reprojection Error)を構成することを指す。ここで、画像2におけるマッチング特徴点p2は実際的位置であるが、再投影により取得した投影点q2は推定の位置であり、投影点q2とマッチング特徴点p2との間の位置差をできるだけ最小化にすることによって、即ち、投影点q2とマッチング特徴点p2とをできるだけ重ね合わせることによって、カメラの位置を求める。
ここで、再投影誤差を最適化(低減)する目標関数に含まれる変数は、カメラの位置および特徴点の3次元座標を含み、再投影誤差を徐々に低減(最適化)する過程で、カメラの位置および特徴点の3次元座標を取得する。
本発明において、勾配降下アルゴリズムとドロネー三角アルゴリズム(Delaunay Triangulation)を組み合わせることで、再投影誤差を低減し、最適化する目的に達してもよい。
ここに、勾配降下アルゴリズムを用いるときに、マッチング特徴点の3次元点座標を定数、カメラの位置を変数とし、逆にドロネー三角アルゴリズムを用いるときに、マッチング特徴点の3次元点座標を変数、カメラの位置を定数とする。
本発明において、局所的最適解を用いて、カメラの位置と3次元点座標の解を求める時の精度を高めることができ、即ち、解く過程で、カメラの位置及びマッチング特徴点の3次元点座標を、画像を一つずつ増やすことで解いてもよい。ここに、局所的最適解の方法は、例えばISFM(Incremental SFM)を含む。
なお、バンドル調整(bundle adjustment)を用いて再投影誤差をさらに低減してもよい。具体的には、それぞれのパノラマ画像に対して再投影誤差を低減してカメラの位置と3次元点座標を取得する処理を行った後、最後にバンドル調整を用いて、全てのカメラの位置と全ての3次元点座標を同時に最適化することができる。再投影誤差を低減してカメラの位置と3次元点座標を取得する処理において、任意のパノラマ画像に対してカメラの位置と3次元点座標を取得した後で、バンドル調整の処理を追加して、取得したカメラの位置と3次元点座標を最適化することもできる。
ここで、バンドル調整とは、全てのカメラの位置と全ての3次元点座標を同時に最適化することを指し、局所的最適解で現在のカメラの位置と現在の画像における3次元点座標のみをそれぞれ最適化する方法とは異なる。
なお、上記の局所的最適解以外にも、大域的最適解を用いることもできる。
ステップS420において、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける、天井に属するエッジ画素点で囲まれた輪郭に基づいて、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれの3次元空間における平面輪郭を生成する。なお、エッジ画素点を特定することに関する説明について、上記実施例における関連説明を参照することができる。
ステップS430において、ステップS410で取得した各3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのカメラの位置のスケールと、ステップS420で取得した各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間平面輪郭のスケールとを正規化する。
また、ステップS410でカメラの位置を取得する際にスケールの不確定性により、カメラから天井輪郭までの実際の高さを特定することができない。一方、ステップS420で部屋の3次元空間平面輪郭を取得するときにカメラから天井までの仮定高さhcを用いたため、取得したカメラの位置のスケールと部屋の3次元空間平面輪郭のスケールとが統一されておらず、次の部屋輪郭のモザイクに一定の困難をもたらす。
本ステップにおいて、二つのパノラマ画像を撮像したごとにカメラの位置のスケールと各パノラマ画像の3次元空間における平面輪郭のスケールとを正規化することによって、次のマルチオブジェクトモザイク処理の実行を可能にする。
本ステップにおいて、ステップS410で取得した全ての3次元点の高さ座標値(Y軸における値)を小さい順に並び替え、順位の上位のa個の高さ座標値の中央値(または平均値などの他の合理的な値の取り方)をカメラから天井までの抽出高さhc’とする。
最後に、カメラから天井までの仮定高さhcと抽出高さhc’との比を用い、スケール正規化された単一部屋の平面輪郭を再生成する。
例えば、仮定高さhcと抽出高さhc’との比にステップS420で取得した平面輪郭におけるエッジ点の座標をかけることで、スケール正規化された平面輪郭におけるエッジ点の座標を取得することによって、スケール正規化された平面輪郭を取得することができる。
一方、順位の下位のb個の高さ座標値の中央値(または平均値などの他の合理的な値の取り方で取るもの)をカメラから床までの抽出高さhf’とすることもできる(該抽出高さは、次の3Dモデル生成ステップなどで用いられる)。
上記の画像処理により、モデリングにモデル生成に必要な平面輪郭データを提供する。次に、続けて例を挙げて家モデリング方法を説明する。
図4Bに示すように、ステップS435において、正規化された各パノラマ画像の3次元空間における平面輪郭に基づいて、各単一の部屋(即ち、単一のオブジェクト)の3次元空間における平面輪郭を取得してもよい。ステップS435に関する説明について、上記ステップS125の関連説明を参照することができる。
ステップS440において、ステップS410で得られたカメラの位置及びステップS430で得られたスケール正規化された各部屋の平面輪郭に基づいて、複数の部屋(即ち、複数のオブジェクト)の輪郭をモザイクする。
本ステップS440において、取得したカメラの位置を用い、スケール正規化されたそれぞれの部屋の輪郭の3次元点座標を回転および併進するように操作し、それぞれの部屋の3次元点座標を同一の座標系に統一することによって、マルチ部屋の平面輪郭のモザイクを実現してもよい。
図4Bに示すように、上記のオブジェクトモデリング方法は、輪郭最適化ステップS445をさらに含んでもよい。即ち、輪郭最適化ステップS445において、当該マルチオブジェクト(例えば、マルチ部屋)の輪郭を修正する。輪郭最適化ステップS445は、上記3次元オブジェクトモデリング方法の実施例におけるマルチオブジェクト輪郭最適化ステップS145に関する説明を参照することができ、同じところについて、詳しい説明を省略する。
さらに、ステップS450において、生成された複数の部屋の平面輪郭を家3Dモデルに変換してもよい。
先ず、前のステップで取得したマルチオブジェクトの平面輪郭(例えば、複数の部屋の平面輪郭)における特定のカテゴリの平面輪郭(例えば、部屋の天井の平面輪郭)について内部に3次元点補間し、そして、全ての3次元点座標を、対応するパノラマ画像に投影することによって、天井テクスチャ(カラー値)を取得する。3次元点補間の方式について、上記3次元点補間に関する関連説明を参照することができる。
その後、天井輪郭と床輪郭との間に同じ平面位置にある3次元頂点を結び、複数の壁面の平面輪郭を構成することができ、同様に、これらの平面輪郭について内部に3次元点補間して、そして、上記の公式4を用いて、対応するパノラマ画像に投影することによって、壁面のテクスチャを取得する。
これにより、完全な家の3Dテクスチャモデルを生成することができる。
図4Cは、本発明の一つの例示的な実施例による画像処理機器の概略ブロック図を示す。
図4Cに示すように、本発明の一つの例示的な実施例による画像処理機器400は、カメラ位置取得装置410と、単一画像平面輪郭生成装置420と、スケール正規化装置430とを含むことができる。
カメラ位置取得装置410は、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置、及びそれぞれの3次元オブジェクトの少なくとも二つのパノラマ画像におけるマッチング特徴点の3次元点座標を取得するように配置されることができる。
単一画像平面輪郭生成装置420は、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、パノラマ画像における、輪郭特徴が特定のカテゴリに属する画素点のうちのエッジ画素点で囲まれる輪郭に基づいて、パノラマ画像の3次元空間における平面輪郭を生成するように配置されることができる。
例えば、特定のカテゴリは、少なくともパノラマ画像における3次元オブジェクト的頂部、底部、支持部などを含む。
スケール正規化装置430は、取得した各3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置のスケールと各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭のスケールとを正規化し、正規化された各パノラマ画像の3次元空間における平面輪郭を取得するように配置されることができる。
単一画像平面輪郭生成装置420は、さらに、各3次元オブジェクトの少なくとも二つのパノラマ画像において各自の画素点の間の特徴類似度に基づいて、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおける、輪郭特徴が特定のカテゴリに属する画素点のうちのエッジ画素を特定するように配置されてもよい。
ここに、二つの画素点の特徴類似度は、この二つの画素点の特徴の差の絶対値である。ここで、画素点の特徴は、諧調、色などを含むことができる。
スケール正規化装置430は、さらに、カメラ位置取得装置により取得した各3次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値を特定のカテゴリの輪郭の抽出された輪郭高さhc’としての、カメラから対応する3次元オブジェクトの頂部までの抽出高さhc’とし、前記カメラから対応する3次元オブジェクトの頂部までの仮定高さhcと前記カメラから対応する3次元オブジェクトの頂部までの抽出高さhc’との比を用い、それぞれの3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から、正規化された各3次元オブジェクトの少なくとも二つのパノラマ画像の平面輪郭を生成するように配置されてもよい。
カメラから対応する3次元オブジェクトの頂部までの仮定高さhcは、任意に仮定された高さである。
本発明において、パノラマカメラを用いて部屋のパノラマ画像を撮像することによって、3次元オブジェクトモデリング(例えば、家モデリングなど)のための高解像度の撮像画像を提供する。
さらに、本発明において、効率的な画像処理機器を用い、3次元オブジェクトモデリング(例えば、家モデリング)のための高解像度のモデリング準備データを提供するとともに、提供されたモデリング準備データにより次のモデル生成過程を簡素化することが可能である。
図4Dは、本発明の一つの例示的な実施例によるオブジェクトモデリング機器の概略ブロック図を示す。
図4Dに示すように、該オブジェクトモデリング機器4000は、図4Cに示す画像処理機器400とマルチオブジェクトモザイク装置440とを含むことができる。
画像処理機器400は、各3次元オブジェクトの少なくとも一つのパノラマ画像を処理し、正規化された各パノラマ画像の3次元空間における平面輪郭を生成するように配置されることができる。
マルチオブジェクトモザイク装置440は、正規化された各パノラマ画像の平面輪郭に基づいて、マルチオブジェクトの平面輪郭をモザイクするように配置されることができる。
該3次元オブジェクトモデリング機器4000は、単一オブジェクト平面輪郭生成装置435をさらに含んでもよい。当該単一オブジェクト平面輪郭生成装置435は、正規化された各パノラマ画像の平面輪郭に基づいて各単一の3次元オブジェクト(例えば、部屋)の平面輪郭を取得するように配置されることができる。
単一オブジェクト平面輪郭生成装置435は、さらに、少なくとも二つのパノラマ画像について、二つのパノラマ画像の間に特定割合よりも多くのマッチング特徴点があれば、この二つのパノラマ画像が同一の3次元オブジェクトに属すると判定できるように、複数のパノラマ画像が同一の3次元オブジェクトに属するかを一つずつ特定し、そして、複数のパノラマ画像が同一の3次元オブジェクトに属すると特定したら、複数のパノラマ画像により得られた同一の3次元オブジェクトの各平面輪郭について、同一の3次元オブジェクトの全ての平面輪郭の和集合を、3次元オブジェクトの3次元空間における平面輪郭としてもよい。
なお、マルチオブジェクトモザイク装置440は、さらに、単一オブジェクト平面輪郭生成装置435により生成した、各単一の3次元オブジェクトの3次元空間における平面輪郭に基づいてモザイクして、3次元空間におけるマルチオブジェクトの平面輪郭を得るように配置されてもよい。
なお、3次元オブジェクトモデリング機器4000は、マルチオブジェクト輪郭最適化装置445をさらに含んでもよい。当該マルチオブジェクト輪郭最適化装置445は、マルチオブジェクトモザイク装置440により得られたマルチオブジェクトの平面輪郭を輪郭修正するように配置されることができる。
該3次元オブジェクトモデリング機器4000は、3Dモデル生成装置450をさらに含んでもよい。当該3Dモデル生成装置450は、モザイクした3次元空間におけるマルチオブジェクトの平面輪郭を3次元オブジェクト3Dモデルに変換するように配置されることができる。
ここで、上記のオブジェクトモデリング機器4000の各装置410、420、430、435、440、445、450などは、それぞれ上記説明されたステップS410、420、430、435、440、445、450などに対応するため、ここで、詳しい説明を省略する。
これにより、本発明の上記オブジェクトモデリング機器により、生成されたモデルの解像度と正確性を効果的に高めることができる。
図5Aは、本発明の別の例示的な実施例による画像処理方法の概略フローチャートを示す。
以下、理解と説明を容易にするために、家画像処理と家モデリングを本発明の画像処理方法と3次元オブジェクトモデリングの実例とし、本発明の各処理過程を詳しく説明する。
図5Aに示すように、本発明の一つの例示的な実施例による画像処理方法は、カメラ位置取得S510と、単一画像平面輪郭生成S520と、スケール正規化S530との三つのステップを含むことができ、モデリング過程は、後続的な複数のステップを含むことができるが、後続的なこれらのステップは、必須なものではないことを注意されたい。
以下、先ず上記の本発明の一つの例示的な実施例による画像処理方法を説明し、後続的なモデリング処理に十分なデータを準備し、後続的な処理過程を簡素化する。
図5Aに示すように、ステップS510において、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれを撮像したときのパノラマカメラのカメラの位置、及びそれぞれのパノラマ画像におけるマッチング特徴点の3次元点座標を取得する。
本発明において、マルチビュージオメトリに基づく方法を用いてこの問題を解決することができる。
ステップS510は、上記実施例におけるステップS410に関する説明を参照することができ、同じところについて詳しい説明を省略する。
ステップS520において、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、画像輪郭を抽出するためのディープラーニングモデルで、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれの3次元空間における平面輪郭を抽出し、即ち、各3次元オブジェクトの少なくとも二つのパノラマ画像について、語義分割モデルとしてのディープラーニングモデルで各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を生成する。
本ステップにおいて、例えば、図5Bに示す下記方式で前記ディープラーニングモデルをトレーニングすることができ、
1)ステップS521において、パノラマ画像における分類データをトレーニングデータセットとしてマーキングし、即ち、人工的にマーキングされたトレーニング画像としての複数のパノラマ画像における注目タイプの3次元オブジェクトの輪郭特徴によって、注目タイプの3次元オブジェクトの輪郭特徴トレーニングデータセットを生成する。
ここで、室内の家のそれぞれの部屋を一つの注目タイプの3次元オブジェクトとする場合、部屋の家具は、注目タイプの3次元オブジェクトではない。
なお、上記の輪郭特徴は、例えば、3次元オブジェクトの全体的な構成を反映する輪郭または境界、例えば、部屋の天井輪郭、床輪郭などでもよい。
2)ステップS522において、ディープラーニングモデルをトレーニングし、即ち、注目タイプの3次元オブジェクトの輪郭特徴トレーニングデータセットを用いてディープラーニングモデルをトレーニングすることにより、トレーニングされたディープラーニングモデルを取得する。
例えば、ディープラーニングモデルの出力は、注目タイプの3次元オブジェクトの輪郭特徴のカテゴリを含む。ここで、家モデリングを例として、注目タイプの3次元オブジェクトの輪郭特徴のカテゴリは、それぞれの部屋の天井、壁面、床の三種類でもよい。
その後、上記の語義分割モデル(即ち、ディープラーニングモデル)に基づいて、各パノラマ画像の3次元空間における平面輪郭を生成するステップは、以下の操作を含む(図5CのステップS523~S525を参照)。
1)ステップS523において、ディープラーニングモデルを用いてパノラマ画像の各画素点の属するカテゴリを区分し、即ち、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも一つのパノラマ画像をトレーニングされたディープラーニングモデルに入力し、パノラマ画像におけるそれぞれの画素点に対応する輪郭特徴のカテゴリを取得する。
部屋が注目タイプの3次元オブジェクトである例を挙げて、注目タイプの3次元オブジェクトの輪郭特徴のカテゴリは、それぞれの部屋の天井、壁面、床の三種類でもよい。
2)ステップS524において、輪郭特徴が特定のカテゴリに属する画素点のうちのエッジ画素点を抽出し、即ち、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれにおいて輪郭特徴が特定のカテゴリに属する画素点のうちエッジにあるエッジ画素点を特定カテゴリエッジ画素点として抽出する。
部屋が注目タイプの3次元オブジェクトである例を挙げ、特定のカテゴリの画素点は、天井における画素点でもよく、特定カテゴリエッジ画素点としての、エッジにある特定のカテゴリの画素点は、天井エッジ画素点でもよい。
3)ステップS525において、特定カテゴリエッジ画素点を3次元空間に投影し、各パノラマ画像の3次元空間における平面輪郭を生成し、即ち、各3次元オブジェクトの少なくとも一つのパノラマ画像における全ての特定カテゴリエッジ画素点が同一高さhcを、特定のカテゴリの輪郭の仮定輪郭高さとして有すると仮定するとともに、それぞれのパノラマ画像における特定カテゴリエッジ画素点を3次元平面に投影し、それぞれのパノラマ画像に対応する特定カテゴリ3次元点を得て、そして、それぞれのパノラマ画像に対応する特定カテゴリ3次元点に基づいて、各パノラマ画像の前記3次元空間における平面輪郭を形成する。
例えば、特定のカテゴリは、パノラマ画像における3次元オブジェクトの頂部を含む。部屋が注目タイプの3次元オブジェクトである例を挙げ、特定のカテゴリの輪郭の仮定輪郭高さは、カメラから天井までの高さでもよい。
以下、室内の家を例として、本ステップの具体的な内容を詳しく説明する。
例えば、ほとんどの場合は、部屋の天井は、平面であり、該部屋の平面図を表すために使用できるため、本発明では語義分割モデルであるディープラーニングモデルにより天井輪郭を抽出する方法を用いてパノラマ画像の平面輪郭を取得する。
ここで、語義分割とは、一つの画像に対して、その中のそれぞれの画素点に対してカテゴリの区分することを指す。したがって、本発明の語義分割モデルは、画像における画素点に対してカテゴリを区分するためのディープラーニングモデルと見なすことができる。
機械学習が浅層学習(Shallow Learning)とディープラーニング(Deep Learning)に分けられることが当業者は知っている。ここに、浅層学習の隠れ層ノードの階層通常は少なく、ディープラーニングの隠れ層ノードの階層通常はより多くあり、例えば、ディープラーニングモデル通常は5層、6層があり、さらには10層以上の隠れ層ノードがあることも可能である。
語義分割モデルでは、通常、画素点のカテゴリを事前に定義する必要がある。例えば、例を挙げると、室内の家の場合では、画素点のカテゴリを天井、床、壁面、ドア、キャビネット、ソファーなどとして定義することが一般的である。室外の場合では、例えば、画素点のカテゴリを、例えば空、路面、樹木、建物などに定義できる。
従来の語義分割技術の多くは、分類器とグラフィカルモデルを利用する方法を用いる。一般的な従来の分類器は、サポートベクターマシン(SVM)、ランダムフォレスト(Random Forest)などの分類アルゴリズムを含む。分類器への入力通常は人工的に設計された局所的な特徴であり、よく用いられる特徴は、RGB、諧調、SIFTなどである。分類器は、画像におけるそれぞれの画素点について1つずつカテゴリ判定を行う。よく用いられるグラフモデル技術は、マルコフ確率場(Markovrandom fields)、条件付き確率場(Conditional random fields)を含み、その作用は、隣接する画素点のカテゴリの一致性を補強することにある。
ディープラーニング技術の語義分割への応用に伴い、ディープラーニングの方法は、既に従来の語義分割技術を大幅に超えている。
よく用いられる語義分割のディープラーニングモデルは、主にCNN(畳み込みニューラルネットワーク)に基づく。語義分割では、それぞれの画素点のカテゴリ(もし入力画像の大きさがH*Wであれば、出力もH*Wである)を出力する必要があるため、従来のCNNに加えて、最終的な出力の解像度を上げるようにアップサンプリングの方法を導入する必要がある(最も簡単なアップサンプリング方法は、最近接サンプリングである)。これにより、異なるアップサンプリングの方法により、よく見られる語義分割モデルは、DeepLab、UperNet、PSPNetなどがある。
これらの技術は、大量の一般的な、カメラで撮像された画像を収集することで、その中のそれぞれの画素点を人工的に語義マーキングし、例えば、室外の場合は、空、路面、樹木、建物などとしてマーキングする。ディープネットワークをトレーニングするときに、これらのサンプルをディープ語義分割モデルに入力し、推定された確率行列を出力するとともに、最終的に誤差が変わらないまで、クロスエントロピーロス(Cross Entropy Loss)の目標関数を用いて推定値と実際のマーキング値との間の誤差を低減したら、モデルトレーニングが完成する。
入力された処理すべき画像をトレーニング済みのディープラーニングモデルに入力し、出力された確率行列を得て、それぞれの位置における最大確率出力値に対応する次元を、該画素に対応するカテゴリ値として算出する。例えば、入力された画像の大きさは、H*Wであり、モデルにより出力された確率行列の大きさは、H*W*Cであり、ここで、Cは、カテゴリの個数を示す。画像におけるそれぞれの画素点は、一つのC次元の確率ベクトル(確率ベクトルの和が1である)に対応し、その最大値の位置は、該画素点に対応するカテゴリラベルである。
本発明において、パノラマデータをマーキングすることによってパノラマ画像の語義分割を実現することは、従来の、画像を用いて語義分割する方法とは異なる。
本発明において、具体的には、例えば、まず、室内の家のパノラマ画像において人工的に天井と壁面との境界線及び床と壁面との境界線をマーキングする方法により、天井、壁面及び床を含むトレーニングデータを生成する(次のモデル生成過程で、天井の境界線、壁面の境界線、床の境界線を自動的に生成するため、この時これらの情報を人工的にマーキングする必要がない)。
その後、これらのトレーニングデータを用いて天井、床、壁面の三つのカテゴリを含むディープラーニングモデルを出力させるようにトレーニングする。即ち、それぞれのパノラマ画像をトレーニングされた該ディープラーニングモデルに入力すると、そこからパノラマ画像におけるそれぞれの画素点に対応するカテゴリを出力することができ、そのカテゴリは、上記の天井、床、壁面の三つのカテゴリの1種である。
次に、そのカテゴリが「天井」に属する画素点のうち、エッジにある画素点(「天井エッジの画素点」ということができる)を抽出する。
天井エッジにあるこれらの画素点は、同じ高さ情報を有する(同じく天井に属するため)と仮定し、そして、これらの画素点を3次元平面に投影し、対応する3次元点を取得し、これらの3次元点に基づいて天井の3次元空間における平面輪郭を形成する。
具体的には、本ステップにおいて画素点(即ち、天井エッジの画素点)を3次元平面に投影する方法は、例えば、上記画素点の3次元空間への投影の関連説明を参照することができる。
上記は、ディープラーニングモデルで該パノラマ画像の3次元空間における平面輪郭を生成する例のみを示し、本発明で利用可能な方法は、該例に限らないことを注意されたい。
ステップS530において、取得した各3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置のスケールと各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭のスケールとを正規化し、正規化された各パノラマ画像の3次元空間における平面輪郭を取得する。つまり、ステップS530において、ステップS510で取得した、各3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのカメラの位置のスケールとステップS520で取得した、各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭のスケールとを正規化する。
ここで、ステップS530は、上記実施例におけるステップS430に関する説明を参照してもよい。同じところについて詳しい説明を省略する。
以下、部屋が注目タイプの3次元オブジェクトである例を挙げ、具体的な過程を詳しく説明する。
まず、ステップS510で取得した疎3次元点を対応付けてパノラマ画像座標系に投影し、パノラマ画像座標系における投影点を取得する。
その後、上記のパノラマ画像座標系における投影点の中から、パノラマ画像の語義分割結果に基づいて(パノラマ画像を語義分割モデルに入力し、該モデルの語義分割処理により、既にパノラマ画像における画素点を天井、床、壁面の三種類に分類してマーキングする)、これらの投影点のうち、語義分割結果において「天井」とマーキングされた画素点と一致する(または、位置が同じ)投影点を検索し、これらの「天井」とマーキングされた画素点と一致する投影点に対応する疎3次元点の高さ(3次元座標におけるy軸の値と見なすことができる)を統計し、これらの疎3次元点の高さを並び替えた後、中央値または直接にこれらの3次元点の高さの平均値などを取って、カメラから天井までの抽出高さhc’とする。
最後に、カメラから天井までの仮定高さhcと抽出高さhc’との比を用い、スケール正規化された単一部屋の平面輪郭を再生成する。
例えば、仮定高さhcと抽出高さhc’との比にステップS520で取得した平面輪郭における境界点の座標をかけてスケール正規化された平面輪郭における境界点の座標を取得することによって、スケール正規化された平面輪郭を取得することができる。
上記で取得したカメラから天井までの抽出高さhc’と類似的に、カメラから床までの抽出高さhf’を取得することができる(該抽出高さは、次のステップで用いられる)。
上記のスケール正規化処理過程は一つの例に過ぎず、本発明は、該例に限定されないはずであることを注意されたい。
上記の画像処理過程を経て、次のモデル生成に高解像度の基礎を提供する。そして、上記の画像処理過程により、次のモデル生成に3次元空間における正規化された各パノラマ画像の平面輪郭を提供し、次のモデル生成作業を簡素化し、処理時間を短縮し、処理效率を高める。
上記の画像処理を経て、モデリングに対して、モデル生成に必要な平面輪郭データを提供し、次に、本発明の一つの例示的な実施例によるモデリング方法を説明する(理解と説明を容易にするために、家モデリングを例にする)。
図5Dは、本発明の一つの例示的な実施例による画像処理とオブジェクトモデリングの全過程の概略フローチャートを示す。図5Dは、上記の画像処理部分と次に説明するオブジェクトモデリング部分とを含む。
図5Dに示すように、ステップS535において、正規化された各パノラマ画像の平面輪郭に基づいて、各単一のオブジェクトの平面輪郭を取得してもよい。
ステップS540において、ステップS510で取得したカメラの位置及びステップS530で取得したスケール正規化された各オブジェクト平面輪郭に基づいて複数のオブジェクト(例えば、部屋)の輪郭をモザイクすることによって、マルチオブジェクトの平面輪郭を取得する。
本ステップS540において、取得したカメラの位置を用い、スケール正規化されたそれぞれのオブジェクト輪郭の3次元点座標を回転及び併進するように操作し、各部屋の3次元点座標を同一の座標系に統一することによって、マルチオブジェクトの平面輪郭のモザイクを実現してもよい。
さらに、ステップS545において、マルチオブジェクト輪郭を修正してもよい。本ステップも3次元オブジェクトの2次元または3次元モデリングに必須なステップではなく、モデルの正確性を高めることができる好適な処理方式であることを注意されたい。
本発明において、マルチオブジェクト輪郭をモザイクした後、より正確なマルチオブジェクト輪郭を得られるようにさらにマルチオブジェクト輪郭を修正することができる。
さらに、ステップS550において、生成されたマルチオブジェクトの平面輪郭をオブジェクト(例えば、家)3Dモデルにさらに変換してもよい。3Dモデル生成ステップS550は、上記3次元オブジェクトモデリング方法の実施例における3Dモデル生成ステップS150とS450に関する説明を参照することができ、同じところについて詳しい説明を省略する。
図5Eは、本発明の一つの例示的な実施例による画像処理機器の概略ブロック図を示す。
図5Eに示すように、本発明の一つの例示的な実施例による画像処理機器500は、カメラ位置取得装置510と、単一画像平面輪郭生成装置520と、スケール正規化装置530とを含むことができる。
カメラ位置取得装置510は、処理すべき少なくとも一つの3次元オブジェクトのそれぞれに対して撮像された少なくとも二つのパノラマ画像の幾何学的関係を用い、これらのパノラマ画像のそれぞれを撮像したときのパノラマカメラの位置、及び該パノラマ画像におけるマッチング特徴点の3次元点座標を取得するように配置されることができる。
単一画像平面輪郭生成装置520は、それぞれのパノラマ画像について、画像輪郭を抽出するためのディープラーニングモデルにより、該パノラマ画像の3次元空間における平面輪郭を抽出するように配置されることができる。
スケール正規化装置530は、取得した、各3次元オブジェクトの少なくとも二つのパノラマ画像を撮像したときのパノラマカメラの位置のスケールと、各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭のスケールとを正規化し、正規化された各パノラマ画像の平面輪郭を取得するように配置されることができる。
下記の方式で前記ディープラーニングモデルをトレーニングしてもよい。人工的にマーキングされたトレーニング画像としての複数のパノラマ画像における注目タイプの3次元オブジェクトの輪郭特徴によって、注目タイプの3次元オブジェクトの輪郭特徴トレーニングデータセットを生成し、注目タイプの3次元オブジェクトの前記輪郭特徴トレーニングデータセットを用いてディープラーニングモデルをトレーニングすることにより、トレーニングされたディープラーニングモデルを取得し、ここに、ディープラーニングモデルの出力は、注目タイプの3次元オブジェクトの輪郭特徴のカテゴリを含む。
単一画像平面輪郭生成装置520は、さらに、少なくとも一つのパノラマ画像をトレーニングされた該ディープラーニングモデルに入力し、該パノラマ画像の各画素点に対応する輪郭特徴のカテゴリを取得し、それぞれのパノラマ画像において輪郭特徴が特定のカテゴリに属する画素点のうちエッジにある画素点を特定カテゴリエッジ画素点として抽出し、前記少なくとも一つのパノラマ画像における全ての特定カテゴリエッジ画素点が同一の高さhcを特定のカテゴリの輪郭の仮定輪郭高さとして有すると仮定するとともに、それぞれのパノラマ画像における特定カテゴリエッジ画素点を3次元平面に投影し、それぞれのパノラマ画像に対応する特定カテゴリ3次元点を取得し、そして、それぞれのパノラマ画像に対応する特定カテゴリ3次元点に基づいて、各パノラマ画像の3次元空間における平面輪郭を形成するように配置されてもよい。
カメラ位置取得装置110は、さらに、撮像された各3次元オブジェクトの少なくとも二つのパノラマ画像の幾何学的関係を用い、それぞれの3次元オブジェクトの少なくとも二つのパノラマ画像間の特徴点のマッチングを行い、それぞれの3次元オブジェクトの少なくとも二つのパノラマ画像において互いにマッチング関係にある特徴点をマッチング特徴点として記録し、そして、各3次元オブジェクトの少なくとも二つのパノラマ画像のそれぞれについて、それぞれのパノラマ画像におけるマッチング特徴点の再投影誤差を低減することによって、それぞれのパノラマ画像を撮像したときのパノラマカメラのカメラの位置、及びそれぞれのパノラマ画像におけるマッチング特徴点の3次元点座標を取得するように配置されてもよい。
スケール正規化装置530は、さらに、カメラ位置取得装置により取得した各3次元オブジェクトの少なくとも一つのパノラマ画像における全ての3次元点座標における高さ値を小さい順に並び替え、順位の上位の高さ値の中央値または平均値を特定のカテゴリの輪郭の抽出された輪郭高さhc’とし、そして、特定のカテゴリの輪郭の仮定輪郭高さhcと特定のカテゴリの輪郭の抽出された輪郭高さhc’との比を用い、各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭から、正規化された各3次元オブジェクトの少なくとも二つのパノラマ画像の3次元空間における平面輪郭を生成するように配置されてもよい。ここに、特定のカテゴリの輪郭の仮定輪郭高さhcは、任意に仮定された高さである。
本発明において、パノラマカメラを用いて部屋のパノラマ画像を撮像することによって、3次元オブジェクトの2次元または3次元モデリング(例えば、家モデリングなど)に高解像度の撮像画像を提供する。
さらに、本発明において、効率的な画像処理機器を用い、モデリング(例えば、家モデリング)に高解像度のモデリング準備データを提供し、そして、提供されたモデリング準備データにより、次のモデル生成過程を簡素化することが可能である。
図5Fは、本発明の一つの例示的な実施例による3次元オブジェクトモデリング機器の概略ブロック図を示す。
図5Fに示すように、該3次元オブジェクトモデリング機器5000は、図5Eに示す画像処理機器500及びマルチオブジェクトモザイク装置540を含むことができる。
ここで、画像処理機器500は、少なくとも一つのパノラマ画像を処理し、正規化された各パノラマ画像の3次元空間における平面輪郭を生成するように配置されることができる。
マルチオブジェクトモザイク装置540は、正規化された各パノラマ画像の平面輪郭に基づいてマルチオブジェクトの平面輪郭をモザイクするように配置されることができる。
該3次元オブジェクトモデリング機器5000は、単一オブジェクト平面輪郭生成装置535をさらに含んでもよい。当該単一オブジェクト平面輪郭生成装置535は、正規化された各パノラマ画像の平面輪郭に基づいて、各単一の3次元オブジェクト(例えば、部屋)の平面輪郭を得るように配置されることができる。
単一オブジェクト平面輪郭生成装置520は、少なくとも二つのパノラマ画像について、二つのパノラマ画像の間に特定割合よりも多くのマッチング特徴点があれば、この二つのパノラマ画像が同一の3次元オブジェクトに属すると特定するように、複数のパノラマ画像が同一の3次元オブジェクトに属するかを一つずつ特定し、そして、複数のパノラマ画像が同一の3次元オブジェクトに属すると特定したら、該複数のパノラマ画像により取得した同一の3次元オブジェクトの各平面輪郭について、これらの平面輪郭の和集合を、該3次元オブジェクトの平面輪郭とするように配置されてもよい。
なお、マルチオブジェクトモザイク装置540は、さらに、単一オブジェクト平面輪郭生成装置535により生成された各単一の3次元オブジェクトの3次元空間における平面輪郭に基づいて、モザイクしてマルチオブジェクトの平面輪郭を取得するように配置されてもよい。
なお、3次元オブジェクトモデリング機器5000は、マルチオブジェクト輪郭最適化装置545をさらに含んでもよい。当該マルチオブジェクト輪郭最適化装置545は、マルチオブジェクトモザイク装置540により取得したマルチオブジェクトの平面輪郭を輪郭修正するように配置されることができる。
該3次元オブジェクトモデリング機器5000は、3Dモデル生成装置550をさらに含んでもよい。当該3Dモデル生成装置550はモザイクしたマルチオブジェクトの平面輪郭を家3Dモデルに変換するように配置されることができる。
ここで、上記の家モデリング機器5000の各装置510、520、530、535、540、545、550などは、それぞれ上記詳しく説明されたステップS510、520、530、535、540、545、550などに対応するため、ここで詳しい説明を省略する。
これにより、本発明の上記家モデリング機器により、生成されたモデルの解像度と正確性を効果的に高めることができる。
図6は、本発明の一つの例示的な実施例による画像処理装置の概略ブロック図を示す。
図6を参照し、該画像処理装置1は、メモリ10とプロセッサ20とを含む。
プロセッサ20は、マルチコアのプロセッサでもよく、複数のプロセッサを含んでもよい。いくつかの実施例において、プロセッサ20は、汎用のメインプロセッサと、例えば、グラフィックプロセッサ(GPU)、デジタル信号プロセッサ(DSP)などの1つ以上の特別なコプロセッサとを含むことができる。いくつかの実施例において、プロセッサ20は、例えば、特定用途向け集積回路(ASIC、Application Specificintegrated Circuit)やフィールドプログラマブルロジックゲートアレイ(FPGA、Field Programmable Gate Arrays)などのカスタマイズされた回路を用いて実現されてもよい。
メモリ10に実行可能コードが記憶され、前記実行可能コードは前記プロセッサ20によって実行されると、上記の3次元オブジェクトモデリング方法の1つを前記プロセッサ20に実行させ、さらに、例えば、前記実行可能コードは前記プロセッサ20によって実行されると、上記の画像処理方法の1つを前記プロセッサ20に実行させる。ここに、メモリ10は、様々なタイプの記憶ユニットを含むことができ、例えば、システムメモリ、リードオンリーメモリ(ROM)及び永久記憶装置がある。ここに、ROMは、プロセッサ20またはコンピュータの他のモジュールに必要な静的データまたは命令を記憶することができる。永久記憶装置は、読み書き可能な記憶装置でもよい。永久記憶装置は、コンピュータの電源が切れても記憶されている命令やデータを失うことのない不揮発性記憶装置でもよい。いくつかの実施形態において、永久記憶装置として大容量記憶装置(例えば、磁気ディスクや光ディスク、フラッシュメモリ)を用いる。他の実施形態において、永久記憶装置は、取り外し可能な記憶デバイス(例えば、フロッピーディスク、光学ドライブ)でもよい。システムメモリは、読み書き可能な記憶デバイスで、例えば、ダイナミックランダムアクセスメモリなどの揮発性読み書き可能な記憶デバイスでもよい。システムメモリには、一部または全てのプロセッサが実行時に必要な命令とデータを記憶することができる。さらに、メモリ10は、様々なタイプの半導体メモリチップ(DRAM、SRAM、SDRAM、フラッシュ、プログラマブルリードオンリーメモリ)、磁気ディスクおよび/または光ディスクを含む、任意のコンピュータ読み取り可能な記憶媒体の組み合わせを含むことができる。一部の実施形態において、メモリ10は、読み取り可能および/または書き込み可能な取外し可能な記憶デバイス、例えば、レーザーディスク(CD)、リードオンリーデジタル多機能ディスク(例えば、DVD-ROM、二層DVD-ROM)、リードオンリーブルーレイディスク、超密度ディスク、フラッシュメモリカード(例えば、SDカード、minSDカード、Micro-SDカードなど)、磁気フロッピーなどを含むことができる。コンピュータ読み取り可能な記憶媒体には、搬送波や無線または有線で伝送される瞬時電子信号は含まれない。
また、本発明の方法により、本発明の上記方法(3次元オブジェクトモデリング方法および/または画像処理方法)で限定される上記各ステップを実行するためのコンピュータプログラムコード命令を含むコンピュータプログラムまたはコンピュータプログラム製品として実現することもできる。
または、本発明は、電子機器(または計算機器、サーバなど)のプロセッサによって実行されると、本発明による上記方法の各ステップを前記プロセッサに実行させる実行可能コード(または計算機プログラム、または計算機命令コード)が記憶された非一時的な機械読み取り可能な記憶媒体(またはコンピュータ読み取り可能な記憶媒体、または機械読み取り可能な記憶媒体)として実現することもできる。
本明細書の開示に説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップを参照し、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実現することもできることも当業者には理解され得る。
図面内のフローチャートおよびブロック図などは、本発明の複数の実施例によるシステムおよび方法の実現可能なアーキテクチャ、機能および操作を示す。この点に関して、フローチャートまたはブロック図内のそれぞれのブロックは、所定の論理機能を実現するための1つ以上の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すことができる。代替の実現中には、ブロックに示す機能が図に示す順序と異なる順序で発生してもよいことについて、注意されたい。例えば、二つの連続したブロックは、実際にほぼ並行して実行されることができ、関連する機能によって逆の順序で実行されることもある。ブロック図および/またはフローチャートにおけるそれぞれのブロック、及びブロック図および/またはフローチャートにおけるブロックの組み合わせは、所定の機能または操作を実行する専用のハードウェアに基づくシステムによって実現されてもよいし、専用のハードウェアとコンピュータ命令との組み合わせによって実現されてもよいことについて注意されたい。
以上、本発明の各実施例について説明したが、上記の説明は、例示的であり、網羅的ではなく、披露された各実施例に限定されない。説明された各実施例の範囲と精神から逸脱することなく、多くの修正と変更が当業者には自明である。本明細書で用いられる用語の選択は、各実施例の原理、実際の応用、または市場における技術に対する改善を最もよく説明すること、または本明細書で披露される各実施例を当業者が理解できるようにすることを目的とする。