(57)【要約】【課題】高速な照合処理を実現する３次元物体の照合装置を提供する。【解決手段】対象物体の３次元データを取得する手段（１）と、取得したデータ及びモデルデータを蓄積する蓄積手段（２）と、複数の照合データ領域を設定する領域設定手段（３）と、画像処理専用の演算装置であるグラフィックプロセッシングユニット（ＧＰＵ）（５０１、６）とを備える。ＧＰＵ（５０１、６）は、設定された照合データ領域毎に、取得した３次元データを蓄積手段に蓄積されたモデルデータと照合し、その際、複数の照合データ領域について、照合する処理を並列的に処理する。【選択図】図１
2010134669.tif 000002
【特許請求の範囲】
【請求項１】
対象物体の３次元データを取得する手段と、
取得したデータ及びモデルデータを蓄積する蓄積手段と、
複数の照合データ領域を設定する領域設定手段と、
画像処理専用の演算装置であるグラフィックプロセッシングユニット（ＧＰＵ）とを備え、
前記グラフィックプロセッシングユニットは、前記設定された照合データ領域毎に、取得した３次元データを前記蓄積手段に蓄積されたモデルデータと照合し、その際、複数の照合データ領域について前記照合する処理を並列的に処理する
３次元物体照合装置。
【請求項２】
前記領域設定手段は、前記照合データ領域を、各照合データ領域において処理されるべきデータ量の分散が所定値以下となるように設定する、請求項１記載の３次元物体照合装置。
【請求項３】
前記領域設定手段は、前記照合データ領域を、各照合データ領域において処理されるべきデータ量が所定値以下となるように設定する、請求項１または２記載の３次元物体照合装置。
【請求項４】
対象物体の３次元データを取得するステップと、
複数の照合データ領域を、それぞれの照合データ領域が所定の条件を満たすように設定するステップと、
前記設定された照合データ領域毎に、取得した３次元データとモデルデータとを照合するステップと、を含み、
前記照合するステップを、画像処理専用の演算装置であるグラフィックプロセッシングユニット（ＧＰＵ）を用いて、複数の照合データ照合領域について並列的に処理する、
３次元物体照合方法。
【請求項５】
前記照合データ領域を、各照合データ領域において処理されるべきデータ量の分散が所定値以下となるように設定する、請求項４記載の３次元物体照合方法。
【請求項６】
前記照合データ領域を、各照合データ領域において処理されるべきデータ量が所定値以下となるように設定する、請求項４または５記載の３次元物体照合方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物体の３次元データをモデルデータと比較して照合する３次元物体の照合装置に関する。
【背景技術】
【０００２】
３次元データ照合でよく用いられる手法として、非特許文献１に開示されたIterative Closest Point アルゴリズムがある。この手法は、点群の最近傍点の仮対応付け、対応する点間の距離を最小にする変換パラメータの計算、状態更新の３つの処理を収束条件が満たされるまで繰り返す手法である。この手法は最小二乗法を用いているため、計測エラー点や遮蔽などの少数の例外値の影響を受けやすいという問題や、点群数が増えるにつれ計算量が膨大になり、最新の計算機でもメモリや実行時間の観点から計算不能となってしまう問題がある。このため、一般には、この手法は、ロバストで高速、高精度な処理を行うための何らかの改良が施されて用いられる。例えば、非特許文献２では、照合に有効な領域を設定する処理と、低分解能から高分解能へと照合する階層化照合とを用いることで一定の高速・高精度化を行っている。
【０００３】
【非特許文献１】P.J.Besl, N.D.Mckay: A Method for Registration of 3-D Shapes, IEEE Tras. On PAMI,vol.14, no.2,pp.239-256, 1992.
【非特許文献２】奥田晴久，橋本学，北明靖雄，金子俊一：階層化M-ICPによる高速・高精度な３次元位置照合手法：CVIM-2004-145, vol.2004, No91, p1-8,2004
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このような３次元データ照合において、従来から様々な手法が提案されているが、未だ照合の高速性及び高い位置姿勢推定精度が課題となっている。２次元データの照合であれば３自由度であるが、３次元データ照合では６自由度になるため、計算量が膨大になってしまう。照合に有効な領域を設定し、高速性を追及する場合、照合領域の数が少ないほど、また、領域毎のデータサイズが小さいほど処理時間は短縮されるが、その一方で位置姿勢推定精度が劣化するという問題があった。
【０００５】
本発明は、上記のような問題点を解決するためになされたものであり、その目的とするところは、高速な照合処理を実現する３次元物体の照合装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明に係る３次元物体照合装置は、対象物体の３次元データを取得する手段と、取得したデータ及びモデルデータを蓄積する蓄積手段と、複数の照合データ領域を設定する領域設定手段と、画像処理専用の演算装置であるグラフィックプロセッシングユニット（ＧＰＵ）とを備える。ＧＰＵは、設定された照合データ領域毎に、取得した３次元データを蓄積手段に蓄積されたモデルデータと照合し、その際、複数の照合データ領域について前記照合する処理を並列的に処理する。
【０００７】
本発明に係る３次元物体照合方法は、対象物体の３次元データを取得するステップと、複数の照合データ領域を、それぞれの照合データ領域が所定の条件を満たすように設定するステップと、設定された照合データ領域毎に、取得した３次元データとモデルデータとを照合するステップと、を含む。照合するステップは、画像処理専用の演算装置であるグラフィックプロセッシングユニット（ＧＰＵ）を用いて、複数の照合データ照合領域について並列的に処理される。
【発明の効果】
【０００８】
本発明によれば、照合処理を高い並列計算能力を有するグラフィックプロセッシングユニット（ＧＰＵ：Graphic Processing Unit）上で計算させることにより照合処理の高速化を実現する。さらにＧＰＵの並列計算の各スレッドの負荷を均一にすることでＧＰＵ上での処理がより最適化され、スレッド間同期の際の待機時間の短縮が可能となり、より高速な処理が可能となる。このように本発明は、高速な３次元データ照合を実現し、よって、ＦＡ用途、医用画像分野に限らず３次元データを用いる種々のアプリケーションに幅広く適用できる。
【発明を実施するための最良の形態】
【０００９】
以下、添付の図面を参照し、本発明の実施形態を説明する。
【００１０】
１．構成
図１に、本発明の実施の形態の３次元物体照合装置の機能ブロック図を示す。３次元物体照合装置５０は、対象となる物体の３次元立体形状データを取得する３次元データ取得部１と、３次元データを蓄積する第１の３次元データ蓄積部２と、照合範囲となるデータ領域（以下、「照合データ領域」という。）を設定する照合データ領域設定部３と、照合データ領域における計算量を算出する照合データ領域計算量評価部４と、照合データ領域を分割する照合データ領域分割部５とを備える。さらに、３次元物体照合装置５０は、３次元データの照合処理を実施する３次元データ照合部６と、照合処理に使用するデータを蓄積する第２の３次元データ蓄積部７とを備える。
【００１１】
図２は、３次元物体照合装置５０のハードウェア構成の一例を示す。３次元物体照合装置５０は情報処理装置（コンピュータ）で構成される。３次元物体照合装置５０は、プログラムを実行するＣＰＵ（中央演算処理装置）５００を有しており、このＣＰＵ５００がバス５０１を介して、プログラム及びデータを格納するＲＡＭ（ランダムアクセスメモリ）５０３やＲＯＭ（読み出し専用メモリ）５０５、情報を表示する表示部５１３、キーボードやマウス等からなりユーザが操作を行なう操作部５１１、ネットワークに接続するためのネットワークインタフェース部５１５、及び、機能を拡張するため外部の情報機器と接続するための外部インタフェース部５１７に接続されて構成される。また、３次元物体照合装置５０は、補助記憶装置としてのハードディスク装置５０７や、情報記録媒体であるＣＤ−ＲＯＭからプログラムやデータの読み込みを行なうための装置であるＣＤドライブ５０９を備える。
【００１２】
さらに、３次元物体照合装置５０は、画像処理専用の集積回路であるグラフィックス・プロセッシング・ユニット（Graphics Processing Unit、以下「ＧＰＵ」という。）５０１を含む。ＧＰＵには、ＮＶＩＤＩＡ社（米国、カリフォルニア）製のGeForce GTX280等がある。
【００１３】
以下に説明する３次元物体照合装置５０の機能はＣＰＵ５００及びＧＰＵ５０１が所定のプログラムを実行することにより実現される。具体的には、３次元データ取得部１、照合データ領域設定部３、照合データ領域計算量評価部４及び照合データ領域分割部５の各機能がＣＰＵ５００により実現され、３次元データ照合部６の機能はＧＰＵ５０１により実現される。第１の３次元データ蓄積部２はＲＡＭ５０３により実現され、第２の３次元データ蓄積部７はＧＰＵ５０１上のメモリ（ＶＲＡＭ）により実現される。
【００１４】
２．３次元立体形状データ照合処理
図３のフローチャートを参照し、３次元物体照合装置５０による３次元立体形状データの照合処理を説明する。
【００１５】
最初に、３次元データ取得部１が対象物体の３次元立体形状データ（頂点座標データ等）を取得（計測）する（Ｓ１１）。取得された３次元立体形状データは第１の３次元データ蓄積部２に蓄積される（Ｓ１２）。蓄積されたデータは以降の処理において読み出されて使用される。また、第１の３次元データ蓄積部２には、今回取得した３次元データと照合すべき対象物体のモデルデータが蓄積されている。モデルデータは過去に蓄積された計測データでも良いし、ＣＡＤから生成されたデータでも良い。
【００１６】
次に、照合データ領域設定部３が、その下位の動作モジュールである、照合データ領域計算量評価部４と照合データ領域分割部５を動作させ、複数の照合データ領域を設定する（Ｓ１３）。各照合データ領域は、データ領域全体を、それぞれの照合データ領域での照合計算量の分散が最小になるようなサブセットに分割することで得られる。これにより目標の処理時間を実現するのに必要な照合データ領域が決定される。後述のように、ＧＰＵ２０１において、１つの照合データ領域における照合処理を１つのスレッドに割り当て、複数の照合処理を並列して処理する。
【００１７】
続いて、照合データ領域計算量評価部４は、照合に使用する領域毎に、その領域において処理すべきデータ量（その領域に含まれる、対象物体の一部分のデータ量）を計算し（Ｓ１４）、その計算値に基づき、処理データ量の大きい領域から順に領域を分割していく（Ｓ１７、Ｓ１８）。分割は、例えば、元の照合データ領域（空間）のｘ、ｙ、ｚ軸方向の長さをそれぞれ２分の１にすることで行う。この場合は１つの領域（空間）は８つの領域に分割される。
【００１８】
分割後、照合データ領域計算量評価部４は、再度、処理データ量を照合領域毎に計算し（Ｓ１４）、所定の条件を満たすまで（Ｓ１５、Ｓ１６）、照合データ領域分割部５による照合データ領域の分割を繰り返す（Ｓ１７、Ｓ１８）。ここで所定の条件は以下の２つである。
＜条件１＞：各照合データ領域間において、照合処理の処理データ量の分散が十分に小さくなる（所定値以下になる）こと（Ｓ１５）。
＜条件２＞：各照合データ領域における照合処理の処理データ量が、ＧＰＵ５０１（３次元データ照合部６）上で並列計算を行う際の各スレッドのサイズにフィットするサイズ（所定サイズ）以下になること（Ｓ１６）。
【００１９】
条件１は、照合データ領域間において、処理データ量をできるだけ均等にするためのものである。これは、ＧＰＵ５０１（３次元データ照合部６）上での照合計算時において、各スレッド間の同期を取る際、スレッド毎の処理時間の分散が大きいと、全体の処理が最も遅いスレッドの影響を受けることになり、ＧＰＵ５０１（３次元データ照合部６）の高い並列計算能力が妨げられるからである。そこで、スレッド間の処理データ量をできるだけ均等にすることで、ＧＰＵによる処理の効率化を図っている。
【００２０】
条件２を設定するのは以下理由による。一般にＧＰＵにはスレッド毎に設定できるＳｈａｒｅｄ  Ｍｅｍｏｒｙと呼ばれる高速にアクセスできるメモリ領域があり、最も高速に動作するワークモデルは、処理データをＳｈａｒｅｄ  Ｍｅｍｏｒｙにフィットするサブセットに分割し実行する場合であると考えられる。つまり、領域毎の処理データ量の分散が十分に小さくなっても、Ｓｈａｒｅｄ  Ｍｅｍｏｒｙにフィットするように分割が行われていない場合は、ＧＰＵの高い並列計算能力を引き出せないと考えられる。そこで、処理データ量を各スレッドのサイズにフィットするサイズ（所定サイズ）以下にすることで、ＧＰＵによる処理の効率化を図っている。
【００２１】
その後、照合データ領域設定部３で計算された照合領域と、今回取得した３次元データ及び照合すべき対象物体のモデルデータとを、ＧＰＵ６上の記憶装置である第２の３次元データ蓄積部７に転送する（Ｓ１９）。
【００２２】
３次元データ照合部６（ＧＰＵ５０１）は、第２の３次元データ蓄積部７から、照合すべき２つのデータ、すなわち取得したデータとモデルデータと、照合データ領域とを読み出して、両者の照合を行う（Ｓ２０）。このとき、各照合データ領域での照合処理を各スレッドに割り当てることで、複数の照合処理を並列処理する。これにより処理の高速化が図れる。照合結果として最終的な位置姿勢推定結果（対象物の位置や姿勢を示すパラメータ）を得る。この位置姿勢推定結果は、ＧＰＵ５０１から、ＣＰＵ５００の第１の３次元データ蓄積部２へ転送されるとともに（Ｓ２１）、外部へ出力される（Ｓ２２）。
【００２３】
３．まとめ
以上のように、本実施形態では、照合計算におけるＣＰＵの補助装置として、本来はグラフィック用途で用いるＧＰＵを用いて３次元データの照合処理を実行させることで、高速な照合処理を実現する。その際、本実施形態では、照合データ領域を、並列計算の各スレッドの計算量の分散が小さくなり、ＧＰＵ上のスレッドにフィットするサイズ以下となるように設定する。これにより、ＧＰＵ上で実行される並列計算が最適化され、より高速な３次元データ照合が可能となる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態の３次元物体照合装置の機能ブロック図
【図２】３次元物体照合装置のハードウェア構成の一例を示した図
【図３】３次元物体照合装置における処理の流れを説明したフローチャート
【符号の説明】
【００２５】
１  ３次元データ取得部、  ２  第１の３次元データ蓄積部、  ３  照合データ領域設定部、  ４  照合データ領域計算量評価部、  ５  照合データ領域分割部、  ６  ３次元データ照合部、  ７  ３次元データ蓄積部、  ５０  ３次元物体照合装置、  ５０１  ＧＰＵ。
【図１】
2010134669.tif 000003
【図２】
2010134669.tif 000004
【図３】
2010134669.tif 000005