(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024121937
(43)【公開日】2024-09-09
(54)【発明の名称】ノイズ除去装置及びプログラム
(51)【国際特許分類】
G06T 17/00 20060101AFI20240902BHJP
【FI】
G06T17/00
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023029188
(22)【出願日】2023-02-28
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和4年度、国立研究開発法人情報通信研究機構、「革新的情報通信技術研究開発委託研究/Beyond 5G網におけるホログラフィ通信のための高効率圧縮伝送技術の研究開発 研究開発項目1 ホログラフィの高効率圧縮技術の研究開発 研究開発項目1-c)ホログラフィに適したビデオベース圧縮技術の研究開発」委託事業、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】野中 敬介
【テーマコード(参考)】
5B080
【Fターム(参考)】
5B080AA08
5B080AA13
5B080AA19
5B080DA06
5B080FA09
5B080GA22
(57)【要約】
【課題】過平滑化を抑制して適切に3次元モデルからノイズ除去を行うノイズ除去装置を提供する。
【解決手段】少なくとも各点の座標の情報を含む3次元モデルのノイズ除去を行うノイズ除去装置であって、前記3次元モデルの各点の法線を算出する第1処理11と、前記各点について、その周辺点の法線より前記3次元モデルの局所形状特徴量を算出する第2処理12と、前記各点の局所形状特徴量より各点の法線を最適化することで最適化法線を得る第3処理13と、前記各点の最適化法線より各点の座標を最適化したものとして、前記3次元モデルに対するノイズ除去の結果を得る第4処理14と、を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも各点の座標の情報を含む3次元モデルのノイズ除去を行うノイズ除去装置であって、
前記3次元モデルの各点の法線を算出する第1処理と、
前記各点について、その周辺点の法線より前記3次元モデルの局所形状特徴量を算出する第2処理と、
前記各点の局所形状特徴量より各点の法線を最適化することで最適化法線を得る第3処理と、
前記各点の最適化法線より各点の座標を最適化したものとして、前記3次元モデルに対するノイズ除去の結果を得る第4処理と、を実行することを特徴とするノイズ除去装置。
【請求項2】
前記各点の局所形状特徴量より、前記3次元モデルにおける各点の局所近傍領域の形状を、平面に該当するか否かの判定結果を少なくとも含むものとして分類する第5処理をさらに実行し、
前記第3処理では、前記分類された結果を用いて、平面に該当する点の法線は等方的に均一化することで最適化し、平面には該当しない点の法線は非等方的に均一化することで最適化することを特徴とする請求項1に記載のノイズ除去装置。
【請求項3】
前記第2処理では、局所形状において接する円の情報を含むものとして、前記局所形状特徴量を算出し、
前記第3処理では、前記最適化法線を得るために法線に加える変動成分として、前記接する円の接線方法の成分が含まれることを許容する度合いを、当該接線方向の垂直成分が含まれることを許容する度合いよりも大きくすることで、前記平面には該当しない点の法線を非等方的に均一化することを特徴とする請求項2に記載のノイズ除去装置。
【請求項4】
前記第2処理では、各点及びその近傍点の法線ベクトルを列挙したテンソルから固有値及び固有ベクトルを算出して、当該固有値及び固有ベクトルを各点の局所形状特徴量とすることを特徴とする請求項1に記載のノイズ除去装置。
【請求項5】
前記第2処理では、各点及びその近傍点の法線ベクトルを列挙したテンソルから固有値及び固有ベクトルを算出して、当該固有値及び固有ベクトルを各点の局所形状特徴量とし、
前記第5処理では、前記固有値に対する閾値判定を用いて前記分類することを特徴とする請求項2に記載のノイズ除去装置。
【請求項6】
前記第3処理では、各点及びその近傍点の法線ベクトルを列挙した行列の核ノルムを最小化することに基づいて前記最適化することを特徴とする請求項1に記載のノイズ除去装置。
【請求項7】
前記第4処理では、各点及びその近傍点について、対応する最適化法線ベクトルの方向と、各点とその近傍点とを結ぶベクトルの方向と、の違いが垂直に近いほど値が小さくなる第3コストを少なくとも含むコストを用いて、当該コストを最小化するようにすることで前記最適化することを特徴とする請求項1に記載のノイズ除去装置。
【請求項8】
前記第4処理では、各点とその近傍点との距離が大きくなるほど値が大きくなる第2コストを少なくとも含むコストを用いて、当該コストを最小化するようにすることで前記最適化することを特徴とする請求項1に記載のノイズ除去装置。
【請求項9】
前記3次元モデルにおける各点及びその近傍点の関係をグラフ化し、グラフのエッジに重みを付与する第6処理をさらに実行し、
前記第4処理では、前記グラフの重みも用いて前記第2コストを算出することを特徴とする請求項8に記載のノイズ除去装置。
【請求項10】
前記第6処理では、前記グラフのエッジの重みに予め所与の値を付したうえで、前記局所形状特徴に基づいて各エッジの近傍の局所形状が平面から乖離している度合いがより大きいと推定されるほど、当該エッジの重みを前記所与の値からより小さいものへと更新することを特徴とする請求項9に記載のノイズ除去装置。
【請求項11】
前記第4処理では、各点とその近傍点との距離が大きくなるほど値が大きくなる第2コストを少なくとも含むコストを用いて、当該コストを最小化するようにすることで前記最適化し、
前記第2コストに対する重みとして前記グラフのエッジの重みを用いることを特徴とする請求項10に記載のノイズ除去装置。
【請求項12】
コンピュータを請求項1ないし11のいずれかに記載のノイズ除去装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元モデルのノイズ除去装置及びプログラムに関する。
【背景技術】
【0002】
コンピュータグラフィクスや自動運転などに用いられる3次元(3D)空間の形状情報は、点やメッシュの集合である3Dモデル(以下、特に点やメッシュを区別しない場合は単に「3Dモデル」と表記)として記録される。これら3Dモデルは、カメラ画像や深度センサ、Lidar(ライダー:光検出と測距)といったセンサ情報から生成されるが、その記録過程においてノイズが含まれるため、得られた3Dモデルデータは被写体の真の3D形状情報をよく表現できないことが想定される。この課題を解決するために、3Dモデルの形状情報のノイズを除去する様々な技術が提案されている。特に、非特許公報1では、「ノイズがない真の被写体の表面に比べて、ノイズを含む3Dモデル(以下、「ノイズ付き3Dモデル」と表記)の表面は細かな凹凸があるため、局所的な法線ベクトルが滑らかでない」という仮定に基づいたノイズ除去手法を提案している。具体的には、ノイズ付き3Dモデルの近傍頂点間を辺で結んだグラフ構造と、頂点ごとに算出される法線ベクトルに着目し、辺で接続される頂点間の局所的な法線ベクトルの類似度を高めるように、法線ベクトルを滑らかにすることでノイズ除去を実現している。また、当該更新では、当該グラフのエッジで接続されている頂点間の座標値の類似度を高める(変動を抑える)といった他の制約を設けた最適化を同時に行うことによって、法線ベクトルの滑らかさと頂点座標値の滑らかさの両立を可能としている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Chinthaka Dinesh, Gene Cheung, and Ivan V. Baji´c, "Pointcloud denoising via feature graph laplacian regularization," IEEE Transactions on Image Processing, vol. 29, pp. 4143―4158, 2020.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術のノイズ除去では平滑化を一律的に用いているために、本来の形状が平面的ではない箇所(曲面的な箇所や尖っている箇所など)にまでも一律的な平滑化を適用することで、ノイズ除去と同時に本来の形状が損なわれた結果が得られてしまう場合があった。
【0005】
すなわち、前述の通り非特許文献1に記載の従来技術は、グラフ構造に基づく2点間の法線ベクトルや座標の類似度を高めるように設計されている。これは処理対象となる3Dモデル表面を局所的にみると、点が平面上に分布していると仮定していることに他ならない。一方で、実際の3Dモデルを考慮すると、局所的に見た場合においても、平面的な点の分布で近似することが難しい形状をもつ場合がある。例えば、ノイズを含みながらも緩やかに湾曲する曲面に対して非特許文献1の処理を適用してしまうと、表面に分布する頂点の法線の類似度を過剰に高め、平面に近い形に修正することで3Dモデルの形状情報を過平滑化してしまい、結果として形状を損ねてしまうことが起こる。これは、「従来技術は、3Dモデルの表面形状に対する平滑化作用の強度をエッジで接続された2点間の特徴量のみに基づき、等方的に平面となるように処理をしている」ことに起因する。
【0006】
上記従来技術の課題に鑑み、本発明は、ノイズ付き3Dデータに対して適切な形でノイズ除去を行うことができるノイズ除去装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
前記目的を達成するため、本発明は、少なくとも各点の座標の情報を含む3次元モデルのノイズ除去を行うノイズ除去装置であって、前記3次元モデルの各点の法線を算出する第1処理と、前記各点について、その周辺点の法線より前記3次元モデルの局所形状特徴量を算出する第2処理と、前記各点の局所形状特徴量より各点の法線を最適化することで最適化法線を得る第3処理と、前記各点の最適化法線より各点の座標を最適化したものとして、前記3次元モデルに対するノイズ除去の結果を得る第4処理と、を実行することを特徴とする。また、当該装置に対応するプログラムであることを特徴とする。
【発明の効果】
【0008】
本発明によれば、局所形状特徴に基づいて法線を予め最適化したうえで、対応する座標を最適化してノイズ除去結果を得るので、局所形状特徴を考慮しない従来技術の場合における過平滑化を抑制したノイズ除去結果を得ることが可能となる。
【図面の簡単な説明】
【0009】
【
図1】一実施形態に係るノイズ除去装置の機能ブロック図である。
【
図3】曲面上の点の法線についての非等方的な均一化による最適化の例を示す図である。
【
図4】グラフ重み最適化部での処理内容の説明例を示す図である。
【
図5】一般的なコンピュータにおけるハードウェア構成を示す図である。
【発明を実施するための形態】
【0010】
図1は、一実施形態に係るノイズ除去装置10の機能ブロック図である。ノイズ除去装置10は、法線ベクトル算出部11、局所形状特徴量算出部12、法線ベクトル最適化部13、頂点座標最適化部14、局所形状分類部21及びグラフ重み最適化部22を備え、その全体的な動作として、ノイズ付き3Dモデルを法線ベクトル算出部11において入力として読み込み、これに対してノイズ除去を適用した結果であるノイズ除去された3Dモデルを出力する。当該入出力されるいずれの3Dモデルも、何らかの物体等の3D形状(3D表面形状)を意味するものとして、少なくとも、当該表面上の各点p
i(i=1,2,…,N;Nは点の総数)とその3D座標の情報を含む。
【0011】
3Dモデルは例えば点群として構成され、当該各点piとその3D座標の情報とを含むものであってよい。3Dモデルがポリゴンモデルとして構成される場合であれば、例えばこれら各点piはポリゴンの頂点として構成され、いずれの2点pi,pjがいずれのポリゴンの辺を構成しているかという情報をさらに含んでいてもよい。3Dモデルはまた、点群あるいはポリゴンによるモデルとして構成され、表面テクスチャの情報も付随しているものであってもよい。
【0012】
なお、
図1に示す構成のうち、局所形状分類部21及び/又はグラフ重み最適化部22は省略することが可能であるが、以下の説明では省略されない構成の場合を主として説明し、省略する場合についても適宜、説明する。以下、
図1の各機能部の処理内容の詳細について説明する。
【0013】
<<法線ベクトル算出部11>>
法線ベクトル算出部11はノイズ付き3Dモデルの各点pi(i=1,2,…,N)について法線ベクトルni(i=1,2,…,N)を算出し、局所形状特徴量算出部12へと出力する。
【0014】
メッシュ構造をもつ3Dモデルの場合は、当該メッシュによって構成されるポリゴンひとつひとつの法線ベクトルを算出し、「ある頂点が共有するすべてのポリゴンの法線ベクトルの平均値」などの代表値を当該頂点の法線ベクトルとしてよい。また、点群からなる3Dモデルの場合は、一度点群を頂点とする表面ポリゴンを形成し、メッシュと同様の処理を施すことで各頂点の法線ベクトルを得るようにしてよい。この際、表面ポリゴンの各頂点は点群から得られているため、頂点の法線ベクトルを対応する点群の法線ベクトルとしてよい。なお、表面ポリゴンの形成においては、非特許文献2などの表面を形成する任意の既存手法を用いることができ、一度表面ポリゴンを形成したうえでメッシュと同様の処理を施せばよい。こうして、点群またはメッシュの頂点ごとの法線ベクトルni=(x,y,z)を得ることができる。その他にも、一般的な点群およびメッシュの法線ベクトルを推定する任意の既存技術を用いることが可能である。
【0015】
[非特許文献2] F. Bernardini, J. Mittleman, H. Rushmeier, C. Silva, and G. Taubin, "The ball-pivoting algorithm for surface reconstruction," IEEE Transactions on Visualization and Computer Graphics, vol. 5, no. 4, pp. 349―359, 1999.
【0016】
<<局所形状特徴量算出部12>>
局所形状特徴量算出部12では、前記法線ベクトル算出部11にて各頂点piに付与された法線ベクトルniを入力として、各頂点piの属する表面の局所的な形状特徴量を算出し、この局所形状特徴量を局所形状分類部21及び法線ベクトル最適化部13へと出力する。
【0017】
具体的には例えば、まずk-Nearest Neighbor法(k-NN、k近傍法:ある点とそのk個の近傍点を辺で接続するグラフ構築手法)などを用いて3Dモデルの頂点と辺からなるグラフを構築する。このときk-NNの点同士の距離を測る尺度としては3次元空間上のユークリッド距離でもよいし、点に付与された色の色空間上の距離などでもよい。また、メッシュモデルを用いるときは、ポリゴンを構成する辺をグラフの辺としてグラフを構築してもよい。
【0018】
得られたグラフに対して以下の通りの処理により局所的な特徴量を得ることができる。すなわち、点piの近傍点pjの法線ベクトルnjを用いて点pi周りの形状情報を表すテンソルTiを以下の式(1),(2)等の通りに算出する。
【0019】
【0020】
ここで、N(pi)は点piの近傍点のインデックス集合を表す。また、αは点piとその近傍点pjの類似度に基づく係数であり、例えば式(1a)のように、点piと点pjの距離に基づく類似度αなどを用いることができる。(なお、式(1a)においてσは近傍点との距離の最大値や分散などの代表値から得られる係数である。)あるいは、単純にα=1のように定数としてもよい。
【0021】
T
iは3×3の行列として扱うことができ、これらに対して固有値分解を施すことで局所的な形状情報を得ることができる。固有値を降順にλ
1≧λ
2≧λ
3とし、それらに対応する固有ベクトルをe
1,e
2,e
3とする。
図2は、本実施形態の適用例として、円柱形状のノイズ付き3Dモデルを用意して当該固有値分解を適用した場合の、第1及び第2固有ベクトル及び固有値の各点p
iにおける分布例を示す図である。なお、例EXb,EXdに示す分布についてはその左側の凡例の通り、固有値の値が大きい場合と小さい場合に濃色(黒色寄り)となり、その中間の場合に淡色(白色寄り)となるようにして描いている。
【0022】
直感的には第1固有ベクトルe
1はk近傍点の領域での法線ベクトルの最も主成分となるベクトルを表し、当該局所領域の情報を統合した、よりロバストな点p
iの法線ベクトルとみなすことができる。
図2では例EXa及び説明欄(a)の通り、円柱形状に対してロバストな法線ベクトルとして第1固有ベクトルe
1が得られている。また、第1固有値λ
1は当該局所領域において点p
iの法線ベクトルがどの程度近傍と異なるかを表す指標であり、
図2の例EXb及び説明欄(b)のように、角にあたる点(円柱形状においては円形の両底面の縁をなす円周箇所の点)において低い数値を示す。
【0023】
第2固有ベクトルe
2は局所領域の第2に主要な成分の方向を示しており、例えば
図2の例EXc及び説明欄(c)のように円柱形状の場合であれば円柱の側面の曲面に沿うように、表面に沿う形で、且つ、法線ベクトルの変位の大きい方向を示す。(すなわち、円柱の側面で、円柱を底面に平行に切断した円の円周上の接線の方向を示す。)第2固有値λ
2は当該法線ベクトルの変位量がどの程度かを示しており、例えば
図2の例EXd及び説明欄(d)のように、曲面であれば大きな値を示し、小さい場合は平面を示している。
【0024】
局所形状特徴量算出部12では各点piとその法線ベクトルniについて、これら固有値λ1,λ2,λ3及び固有ベクトルをe1,e2,e3を、局所形状情報を示す特徴量として出力する。
【0025】
なお、式(1)の近傍法線ベクトルnjに代えて、k近傍の法線ベクトルの平均値n^(nへの上線付与「n^」で平均値とする)からの変位量(nj-n^)を用いるようにすることで、式(1)に代えて以下の式(1b)を用いるようにしてもよい。各近傍点pjの法線ベクトルnjそのものを用いずに点piの法線ベクトルniからの変位角を用いてもよい。
【0026】
【0027】
<<局所形状分類部21>>
局所形状特徴量算出部12にて算出された固有値λ1,λ2,λ3及び固有ベクトルe1,e2,e3を用いて、各点piの局所形状を平面/曲面/エッジ(注1)、角などに分類し、この分類結果を法線ベクトル最適化部13及びグラフ重み最適化部22へと出力する。
(注1)グラフの辺を意味するエッジとは異なり3Dモデルの稜線を意味する。
【0028】
具体的には、第1固有値λ
1に対する所定の第1閾値th
1を設定しておき、λ
1≧th
1のときは処理対象となる頂点は平面/曲面(平面または曲面)に属するものとし、それ以外の場合はエッジ/角(エッジまたは角)に属するものとする。(なお、当該分類は
図2の説明欄(b)にも示される。)ここで、閾値th
1の決定については、k-means法(k平均法)や大津法などの任意の既存手法による閾値決定法を広く使用することが可能であり、また、対象とする3Dモデルに類似するデータが多量に存在する場合は、各領域にラベルを付与した学習データによって学習した機械学習を用いてもよい。
【0029】
また、同様に第2固有値λ
2についても所定の第2閾値th
2を設定しておき、λ
2≧th
2の場合は、当該頂点は曲面(またはエッジ/角)に属するものとし、それ以外は平面に属するものと判別する。(なお、当該分類は
図2の説明欄(d)にも示される。)
【0030】
3Dモデルのすべての点に対して上記分類を行い、いずれの局所形状分類に属するかを情報として付与する。以上、まとめると局所形状特徴量算出部12では以下のように分類結果を出力できる。
●第1判定…λ1≧th1が偽であれば、
この点piはエッジまたは角に該当する。
●第2判定…λ1≧th1が真であり、且つλ2≧th2が真であれば、
この点piは曲面(またはエッジ/角)に該当する。
●第3判定…λ1≧th1が真であり、且つλ2≧th2が偽であれば、
この点piは平面に該当する。
【0031】
なお、第3固有値λ3を近傍頂点の法線ベクトルの等方的な変位量を示すオフセットとして捉え、当該閾値判定の対象として、第1、第2及び第3判定において閾値判定される対象となる値をλ1の代わりにλ1-λ3としてもよい。同様に第2及び第3判定において閾値判定される対象となる値をλ2の代わりにλ2-λ3としてもよい。
【0032】
<<法線ベクトル最適化部13>>
法線ベクトル最適化部13は、局所形状特徴量算出部12及び局所形状分類部21からそれぞれ得た局所形状特徴量及び分類結果を用いて法線ベクトルni(法線ベクトル算出部11で算出した法線ベクトルni)を最適化し、この最適化法線ベクトルni[最適化]を頂点座標最適化部14へと出力する。具体的には、以下の通り分類結果に応じて場合分けした処理を行うことで、最適化法線ベクトルni[最適化]を得ることができる。
【0033】
●第3判定に該当し、点piが局所的な平面に属する分類結果の場合
平面の場合には次のように法線ベクトルを等方的に均一化すればよい。まず、式(3)の通り、処理対象の点piのk近傍点の法線ベクトルnj=(xj,yj,zj)をすべて並べた行列を算出する。点piが平面に属するとき、その近傍法線ベクトルnj=(xj,yj,zj)の値はすべて類似のものとなることが理想的であるため、次の式(4)のように、Mの低ランク性を高める最適な行列Hを算出することで法線ベクトルを均一化することが可能である。すなわち、式(4)により求めた行列Hは最適化法線ベクトルni[最適化]を列挙したものとなっているので、行列Hから最適化法線ベクトルni[最適化]を得ることができる。
【0034】
【0035】
式(4)の「argmin」(最小となるようなパラメータとして行列Hを算出する処理)の引数のうち第1項の|| ||*は核ノルムを表し、第2項|| ||Fはフロベニウムノルムを表す。式(4)にてβはユーザ設定の最適化の強度を決定するパラメータである。核ノルムは特異値の総和であり、行列のランクを近似するものであるため、式(4)の第1項の核ノルム||H||*は行列Hのランクを小さくするように作用する。フロベニウスノルムは行列の全成分を一列に並べてベクトルとみなしたときのベクトルの長さ(L2ノルム)として、L2ノルムを行列に拡張した概念であり、式(4)の第2項のフロベニウムノルム||H-M||FはHとMの差分の大きさを小さくするように作用する。
【0036】
すなわち、式(4)により、更新前Mから更新後Hとして最適化法線ベクトルni[最適化]を算出する際に、第2項の作用により更新前から大きく変化し過ぎることのないようにし、且つ、第1項の作用により低ランク性を高めて更新後の最適化法線ベクトルni[最適化]が均一化されるように算出することが可能である。
【0037】
また、式(4),(5)のMの代わりにMを正方行列に近い形(行数と列数が可能な限り等しくなる形)に成形した次の式(5)のM'を用いてもよい。また、式(4)において、核ノルム|| ||*の代わりに次の式(6)の重みづけ核ノルム|| ||w,*を用いてもよい。
【0038】
【0039】
式(6)でδmは行列Mの特異値を降順に並べた際のm番目の特異値を示しており、wmはそれらに対するユーザ設定の正の重みである。特異値が大きいδmほどよりwmが小さくなるように重みを設定することで、大きな特異値を保持しながら式(4)を解くことが可能となり、行列Mの構造を維持しながら効果的に法線ベクトルの均一化を行うことが可能となる。
【0040】
●第1判定または第2判定に該当し、点piが局所的な平面以外に属する分類結果の場合
次いで、点piが平面以外に属する場合(曲面やエッジや角に属する場合)は次のように処理を行って局所形状に即して非等方的に均一化することで、最適化法線ベクトルni[最適化]を得ることができる。
【0041】
曲面やエッジ等に属する場合は、第2固有値ベクトルe2が延びる方向に関しては、真の3Dモデル形状においても法線ベクトルの変化を伴う傾向にあるため、当該e2の方向には強く最適化を行わないような方策をとる。具体的には、e2=(xe2,ye2,ze2)としたときに、次の式(7)の通り、xyz成分ごとの大きさの比率に応じて非等方的に均一化する形で最適化を行う。すなわち、式(7)により求めた行列H=(Hx,Hy,Hz)は最適化法線ベクトルni[最適化]を列挙したものとなっているので、行列Hから最適化法線ベクトルni[最適化]を得ることができる。
【0042】
【0043】
ここで、式(7)で最小化される項をx,y,z成分ごとに示した式(7x),(7y),(7z)と式(4)の最小化項との共通性から見て取ることができる通り、Hx,Hy,Hz及びMx,My,Mzは式(3),(4)の行列をx,y,z成分ごとに抽出したものである。
【0044】
例えば、処理対象の点piについて求まった第2固有ベクトルe2=(xe2,ye2,ze2)について、|xe2|≒|e2|且つ|ye2|≒0且つ|ze2|≒0である場合、すなわち、当該第2固有値ベクトルe2がほぼx軸方向に平行であり成分の大部分をx軸方向成分のみが占める場合を考える。この場合、当該x軸方向が3D形状の曲面の表面に沿い、且つ法線ベクトル変位が最大となる方向として、法線変化を伴うべき方向として均一化の適用を弱めるべき方向に該当するため、x軸方向の式(7x)の項の値をその係数(1-|Xe2|/|e2|)≒0によって小さくし、x軸方向の均一化の効果をその他のy,z軸での均一化の効果よりも相対的に弱める。逆に、y軸方向及びz軸方向は、当該x軸とは異なる方向(x軸に対して垂直をなす2方向)として均一化させる程度をx軸方向よりも相対的に強めに、積極的に適用すべき方向に該当するため、式(7y),(7z)の項の値をその係数である(1-|Ye2|/|e2|)≒1, (1-|Ze2|/|e2|)≒1によって一定の大きさを確保し、y軸方向及びz軸方向の均一化の効果を相対的に大きく確保させる。
【0045】
すなわち、第2固有値ベクトルe2の方向として推定される、局所形状の表面(点piでの接平面)に沿う方向且つ法線ベクトル変位が最大となる方向については均一化の程度を弱めるようにし、これとは垂直な局所形状のロバストな法線としての第1固有値ベクトルe1の方向及び第3固有値ベクトルe3の方向に関してしては、均一化の程度を強めようにする。換言すれば、最適化前の法線ベクトルniから最適化された法線ベクトルni[最適化]を得るに際して、「ni[最適化]=ni+Δni」として均一化による変動分Δniを加えることとなるが、この変動分Δniの主要成分が第2固有値ベクトルe2の方向に構成され、第1固有値ベクトルe1の方向成分及び第3固有値ベクトルe3の方向成分は、わずかとなるようにすることができる。
【0046】
図3に、3Dデータ例が
図2に例示した円柱である場合に、その側面の曲面上のある点p
iの法線n
iについての不均一な最適化の模式例を示す。
図2の例EXa,EXcで説明した通り、円柱側面上の点p
iの法線n
iに関して、n
i≒e
1であり、第2固有ベクトルe
2は側面の円周接線方向を向いている。従って、式(7)により「n
i[最適化]=n
i+Δn
i」として不均一な最適化を行う場合には、変動分Δn
iの主要成分は第2固有ベクトルe
2方向成分で構成され、これと直交する第1,第3固有ベクトルe
1,e
3の方向成分は小さくすることで、曲面である円柱側面上の法線に適切な最適化を実現することができる。
【0047】
なお、
図3のような円柱側面の場合に限らず一般的に、曲面上の点p
iの法線n
iに関して、n
i≒e
1であり、当該第1法線ベクトルe
1は当該局所形状の接平面の法線ベクトルであり、第2法線ベクトルe
2は点p
iにおいて局所形状に接する円(円柱形状の場合は、その側面を切断して得られる円)の接線方向を意味している。すなわち、曲面の場合には、第2法線ベクトルe
2は点p
iにおいて局所形状に接する円の情報を含んでいる。
【0048】
式(7)の最適化の変形例として、式(5)と同様に、x,y,zごとに行数と列数を可能な限り等しくなるようにしたM'x,M'y,M'zを用いてもよい。また、(xe2,ye2,ze2)のうち絶対値が小さい上位1個または2個の成分のみに上記最適化を施してもよい。上記の最適化に加えて、重み付き核ノルムを用いる場合は、(xe2,ye2,ze2)の絶対値の降順に従う成分ごとのM1,M2,M3に対応する式(6)の重みwm
1,wm
2,wm
3を、wm
1>wm
2>wm
3となるように設定し、第2固有ベクトルe2の方向の成分については法線ベクトルを均一化する作用を抑制してもよい。
【0049】
最小構成(ノイズ除去装置10から局所形状分類部21及びグラフ重み最適化部22を除外した構成)を用いる場合は、局所形状分類部21での分類結果の情報を利用できないことから、全ての頂点に対して式(7)に従い最適化した法線ベクトルを利用してもよい。
【0050】
<<グラフ重み最適化部22>>
グラフ重み最適化部22は、局所形状特徴量算出部12にて出力された局所形状特徴量を用いて、後述の頂点座標最適化部14で用いるグラフを構築し、頂点座標最適化部14へと出力する。
【0051】
まず、局所形状特徴量算出部12と同様にk-NN法などを用いてグラフを構成する。このとき、グラフの辺の重みには頂点間の3D空間上の距離や色空間上の距離(局所的なテクスチャ情報がある場合にこれを利用して色空間上の距離を算出する)に基づく類似度sij(点piと点pj間の類似度に相当)が採用されることが既存手法においては一般的であるが、本実施形態では、この一般的な重みsijをそのまま用いることに代えて、この一般的な重みsijを局所形状特徴量に基づいて更新した重みs'ijを用いるようにする。(従って、ノイズ除去装置10においてグラフ重み最適化部22を省略する実施形態を用いる場合には、頂点座標最適化部14で用いるグラフ重みとして、一般的な重みsijをそのまま用いるようにすればよい。)
【0052】
この重み更新処理(sij→s'ij)は、全データを対象として実施すればよい。あるいは、一部分のデータのみを対象として実施してもよく、例えば、ノイズ除去装置10において局所形状分類部21が存在する実施形態において、局所形状分類の結果を参照できる場合は、重み更新処理(sij→s'ij)は前記第2判定に該当し曲面に属すると分類された頂点及び/又は前記第1判定に該当しエッジまたは角に該当すると分類された頂点に用いるようにしてもよい。この重みの更新によって、後述の頂点座標最適化部14における座標の更新の際に、曲面形状を過度に平滑化しないことが可能となる。更新を適用した場合は以下の関係が成立し、局所形状の平面形状からの乖離が大きいほど(すなわち、平面形状ではなく曲面、エッジ、角に近いほど)重みが小さく更新されることから、過度な平滑化を抑制する効果が得られる。
sij>s'ij>0
【0053】
これは、局所形状特徴ベクトルとしての意味を有する第2固有ベクトルe2の方向に平行に近いグラフ辺の重みを小さくすることで実現される。より具体的には、式(8-i)のように点piと点pjの張る辺fijと、点piの第2固有ベクトルe2=e2(pi)及び第2固有値λ2=λ2(pi)を後述するように正規化した第2固有値との関係性を用いて、また、同様の関係性を点piと点pjとを入れ替えたものとして与える式(8-j)を用いて、これらの平均として重みsijの値を次の式(8)のように、最適化された重みs'ijへと更新すればよい。(なお、式(8-i),(8-j)において、sij=sjiであり、且つ、fij=fjiである。)
【0054】
【0055】
ここで、cos(,)は2つのベクトルのコサイン類似度を返す関数であり、λ'2は入力された3Dモデル全部の点の固有値λ2の最大値λ2maxを用いてλ2を正規化(λ'2=λ2/λ2max)したものである。
【0056】
各箇所の局所形状について、平面形状からの乖離が大きいほど当該箇所の過平滑化を抑制できることは次の通りである。例えば式(8-i)について、辺fijは点piの局所形状の接平面(第1近似平面)上に乗ることが想定され、当該接平面に同じく乗ることが想定される第2固有ベクトルe2=e2(pi)と辺fijの向きの違いが大きいことは当該局所形状の平面からの乖離が大きく曲面性が高いことを意味する。従って、当該向きの違いが大きいほど曲面性が高いものとして、cos(fij,e2(pi))が小さくなることで、更新後の重みs'ijをより小さな値へと更新され、過平滑化を抑制できる。第2固有値λ2(pi)についても前述の第2判定で説明した通り、この値が小さい場合は局所形状が平面であり大きい場合は局所形状が曲面であることを意味するので、同じく、第2固有値λ2(pi)が大きいほど(1-λ2(pi))が小さくなることで、更新後の重みs'ijをより小さな値へと更新することで、過平滑化を抑制できる。
【0057】
また、上記以外にも、同様の効果が得られる手法として次のようにしてもよい。すなわち、
図4の説明図のように注目する点p
i及びその近傍点p
jの法線ベクトルの平均ベクトルa
ijと注目点p
iの第2固有ベクトルe
2が張る平面Fに対して、点p
iおよび近傍点p
jからuホップの近傍点(グラフ上でu本のエッジを辿った先にある近傍点)の法線ベクトルをφ(n
i
u)としてマッピング(φ(n
i
u)のφ()は入力のベクトルを平面Fに投影するマッピング関数)し、a
ijとuホップ以下のすべての近傍点n
i
v(v≦u)に対応するφ(n
i
v)とのコサイン類似度cos(a
ij,φ(n
i
v))の最小値をv
min(p
i)として、式(8-i)に代えて以下の式(9-i)を用いて更新を行ってもよい。同様に式(8-j)に代えて以下の式(9-j)を用いて更新を行ってもよい。
【0058】
【0059】
ここで、式(9-i)(i,jについて対称な式(9-j)も同様)に関して、注目する点pi近傍の局所形状の平面Fからの乖離が大きいほど、すなわち、注目する点pi近傍の局所形状が平面ではなく曲面あるいはエッジや角に近い形状であるほど、この最小値vmin(pi)がより小さい値となることが想定される。(なお、普通の連続的な形状では1≧vmin(pi)>0の範囲の値となることが想定される。)従って、前述の通り、式(8-i)等を用いる場合と同様に式(9-i)等を用いる場合も、局所形状が平面から乖離する度合いが大きい箇所ほど更新後の重みs'ijをより小さな値へと更新し、当該箇所の過平滑化を抑制する度合いをより大きくすることが可能となる。
【0060】
vmin(pi)の代わりにマッピングされたφ(ni
u)の分散σu(pi)(σu(pi)は入力された3Dモデル全部の点のuホップ以内のφ(ni
u)の分散で正規化)を用いて、式(9-i)のvmin(pi)を(1-σu(pi))などとしてもよく、同様の過平滑化を抑制する効果を得ることができる。式(9-j)についても同様にしてよい。
【0061】
<<頂点座標最適化部14>>
頂点座標最適化部14は、法線ベクトル最適化部13にて得られた頂点ごとの最適化法線ベクトルni[最適化](なお、以下の数式中では簡略化してni等として示す)、グラフ重み最適化部22により重みの更新されたグラフs'ijを用いて、点piの座標値(xi,yi,zi)を更新し実際に3Dモデルの形状を修正し、ノイズ除去結果として出力する。具体的には、以下の最適化式(10)を解くことで実現される。(なお、グラフのエッジの全部または一部について重み更新を適用しない場合は、そのs'ijの値が更新しない値sijである(「s'ij=sij」である)ものとすればよい。)
【0062】
【0063】
ここでp=(p1,p2,…,pN)は全N個の頂点座標を列挙した変数であり、pi,pjは全点pのうちあるインデックスi,jに対応する3次元ベクトル(座標値)である。またqは頂点の初期座標(すなわち、更新前の全座標値)を示す。η,ζは各項の重みを決定するユーザ設定のパラメータである。
【0064】
当該最適化において、式(10-1)の第1項cost1は元の形状qから更新後の形状pへの変化が大きくなりすぎないように作用し、式(10-2)の第2項cost2は更新後の形状pにおいて近傍点の座標差が大きくなりすぎないように作用し、式(10-3)の第3項cost3は更新後の形状pにおいて最適化法線ベクトル(それぞれni
T及びnj
T)の方向と近傍点を結ぶベクトル(それぞれpi-pj)の方向との差が垂直に近づく(垂直の場合に内積項が最小値のゼロを取るため)ように作用する形で、3つの項はいずれもコスト項として作用する。第2項cost2に関して、更新された重みs'ijが係数となることで、平面からの乖離が大きく曲面等に近い箇所ほど重みs'ijが小さい値として更新されていることにより、近傍点の座標差がより大きくなることも許容して本来の形状により近い形状への更新を促進して適切な平滑化を促すことができ、逆に、平面に該当する箇所については重みs'ijは大きく、近傍点の座標差が大きくなることを抑制して、必要以上の過平滑化を抑制できる。
【0065】
前記最小構成(機能部21,22がノイズ除去装置10から省略される構成)の場合は、式(10-2)の第2項cost2を除いた形で式(10)の最適化問題を解けばよい。なお、式(10)のうちpi,pjはともに変数であるため、実際に頂点座標を最適化する際には点pjを固定した上で勾配法などの最適化手法を用いて、点piの座標値を求めるようにすればよい。この「ある一点piを変数とした際の最適値の導出(更新)操作」をすべての点piに対して順次繰り返し行い、頂点座標の更新が収束するまで(または既定の繰り返し回数を完了するまで)実行することで、所望の頂点座標(3Dモデル形状)を得ることができる。
【0066】
以上、本発明の実施形態によれば、法線ベクトルから得られる局所特徴量を基にした局所的な形状に適応的なノイズ除去を行うことにより、従来技術である3Dモデル全体に統一的かつ3次元空間上で等方的なノイズ除去技術に比べて、3Dモデルの細部の詳細な形状情報を効果的に活かしたノイズ除去が可能となる。
【0067】
以下、種々の補足例、代替例、追加例などについて説明する。
【0068】
(1) 本発明のノイズ除去技術は、要素技術として様々な用途に適用可能であり、例えば、3次元仮想空間のモデル化を高精度化し、3次元仮想空間の利用価値を高め、3次元仮想空間のユーザ利用を促すことが可能となる。これにより、3次元仮想空間の用途の例として遠隔コミュニケーションの利用が促進されると、ユーザ移動に必要となるエネルギー資源を節約することで二酸化炭素排出量を抑制できることから、国連が主導する持続可能な開発目標(SDGs)の目標13「気候変動とその影響に立ち向かうため、緊急対策を取る」に貢献することが可能となる。
【0069】
(2) ノイズ除去装置10では、その全体処理または一部処理に関して、繰り返し処理を行うようにしてもよい。すなわち、
図1に線L141で示されるように、ノイズ除去装置10全体での処理を繰り返す(n回目のノイズ除去3Dデータ出力をn+1回目の入力とする)ようにしてもよいし、線L142で示されるように、ノイズ除去データを用いてグラフ重みだけを再度更新したうえで、再度、更新的にノイズ除去データを得るようにしてもよい。
【0070】
(3)
図5は、一般的なコンピュータ装置70におけるハードウェア構成の例を示す図である。ノイズ除去装置10は、このような構成を有する1台以上のコンピュータ装置70として実現可能である。なお、2台以上のコンピュータ装置70でノイズ除去装置10を実現する場合、ネットワーク経由で処理に必要な情報の送受を行うようにしてよい。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサとしてのGPU(グラフィックス演算装置)72、CPU71(及びGPU72)にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77と、これらの間でデータを授受するためのバスBSと、を備える。
【0071】
ノイズ除去装置10の各機能部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又はGPU72によって実現することができる。なお、CPU71及びGPU72は共に、演算装置(プロセッサ)の一種である。ここで、表示関連の処理が行われる場合にはさらに、ディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作する。
【符号の説明】
【0072】
10…ノイズ除去装置、11…法線ベクトル最適化部、12…局所形状特徴量算出部、13…法線ベクトル最適化部、14…頂点座標最適化部、21…局所形状分類部、22…グラフ重み最適化部