JP2010134669A - 3次元物体照合装置及び3次元物体照合方法 - Google Patents
3次元物体照合装置及び3次元物体照合方法 Download PDFInfo
- Publication number
- JP2010134669A JP2010134669A JP2008309459A JP2008309459A JP2010134669A JP 2010134669 A JP2010134669 A JP 2010134669A JP 2008309459 A JP2008309459 A JP 2008309459A JP 2008309459 A JP2008309459 A JP 2008309459A JP 2010134669 A JP2010134669 A JP 2010134669A
- Authority
- JP
- Japan
- Prior art keywords
- data
- collation
- dimensional
- area
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
【課題】高速な照合処理を実現する3次元物体の照合装置を提供する。
【解決手段】対象物体の3次元データを取得する手段(1)と、取得したデータ及びモデルデータを蓄積する蓄積手段(2)と、複数の照合データ領域を設定する領域設定手段(3)と、画像処理専用の演算装置であるグラフィックプロセッシングユニット(GPU)(501、6)とを備える。GPU(501、6)は、設定された照合データ領域毎に、取得した3次元データを蓄積手段に蓄積されたモデルデータと照合し、その際、複数の照合データ領域について、照合する処理を並列的に処理する。
【選択図】図1
【解決手段】対象物体の3次元データを取得する手段(1)と、取得したデータ及びモデルデータを蓄積する蓄積手段(2)と、複数の照合データ領域を設定する領域設定手段(3)と、画像処理専用の演算装置であるグラフィックプロセッシングユニット(GPU)(501、6)とを備える。GPU(501、6)は、設定された照合データ領域毎に、取得した3次元データを蓄積手段に蓄積されたモデルデータと照合し、その際、複数の照合データ領域について、照合する処理を並列的に処理する。
【選択図】図1
Description
本発明は、対象物体の3次元データをモデルデータと比較して照合する3次元物体の照合装置に関する。
3次元データ照合でよく用いられる手法として、非特許文献1に開示されたIterative Closest Point アルゴリズムがある。この手法は、点群の最近傍点の仮対応付け、対応する点間の距離を最小にする変換パラメータの計算、状態更新の3つの処理を収束条件が満たされるまで繰り返す手法である。この手法は最小二乗法を用いているため、計測エラー点や遮蔽などの少数の例外値の影響を受けやすいという問題や、点群数が増えるにつれ計算量が膨大になり、最新の計算機でもメモリや実行時間の観点から計算不能となってしまう問題がある。このため、一般には、この手法は、ロバストで高速、高精度な処理を行うための何らかの改良が施されて用いられる。例えば、非特許文献2では、照合に有効な領域を設定する処理と、低分解能から高分解能へと照合する階層化照合とを用いることで一定の高速・高精度化を行っている。
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による高速・高精度な3次元位置照合手法:CVIM-2004-145, vol.2004, No91, p1-8,2004
このような3次元データ照合において、従来から様々な手法が提案されているが、未だ照合の高速性及び高い位置姿勢推定精度が課題となっている。2次元データの照合であれば3自由度であるが、3次元データ照合では6自由度になるため、計算量が膨大になってしまう。照合に有効な領域を設定し、高速性を追及する場合、照合領域の数が少ないほど、また、領域毎のデータサイズが小さいほど処理時間は短縮されるが、その一方で位置姿勢推定精度が劣化するという問題があった。
本発明は、上記のような問題点を解決するためになされたものであり、その目的とするところは、高速な照合処理を実現する3次元物体の照合装置を提供することにある。
本発明に係る3次元物体照合装置は、対象物体の3次元データを取得する手段と、取得したデータ及びモデルデータを蓄積する蓄積手段と、複数の照合データ領域を設定する領域設定手段と、画像処理専用の演算装置であるグラフィックプロセッシングユニット(GPU)とを備える。GPUは、設定された照合データ領域毎に、取得した3次元データを蓄積手段に蓄積されたモデルデータと照合し、その際、複数の照合データ領域について前記照合する処理を並列的に処理する。
本発明に係る3次元物体照合方法は、対象物体の3次元データを取得するステップと、複数の照合データ領域を、それぞれの照合データ領域が所定の条件を満たすように設定するステップと、設定された照合データ領域毎に、取得した3次元データとモデルデータとを照合するステップと、を含む。照合するステップは、画像処理専用の演算装置であるグラフィックプロセッシングユニット(GPU)を用いて、複数の照合データ照合領域について並列的に処理される。
本発明によれば、照合処理を高い並列計算能力を有するグラフィックプロセッシングユニット(GPU:Graphic Processing Unit)上で計算させることにより照合処理の高速化を実現する。さらにGPUの並列計算の各スレッドの負荷を均一にすることでGPU上での処理がより最適化され、スレッド間同期の際の待機時間の短縮が可能となり、より高速な処理が可能となる。このように本発明は、高速な3次元データ照合を実現し、よって、FA用途、医用画像分野に限らず3次元データを用いる種々のアプリケーションに幅広く適用できる。
以下、添付の図面を参照し、本発明の実施形態を説明する。
1.構成
図1に、本発明の実施の形態の3次元物体照合装置の機能ブロック図を示す。3次元物体照合装置50は、対象となる物体の3次元立体形状データを取得する3次元データ取得部1と、3次元データを蓄積する第1の3次元データ蓄積部2と、照合範囲となるデータ領域(以下、「照合データ領域」という。)を設定する照合データ領域設定部3と、照合データ領域における計算量を算出する照合データ領域計算量評価部4と、照合データ領域を分割する照合データ領域分割部5とを備える。さらに、3次元物体照合装置50は、3次元データの照合処理を実施する3次元データ照合部6と、照合処理に使用するデータを蓄積する第2の3次元データ蓄積部7とを備える。
図1に、本発明の実施の形態の3次元物体照合装置の機能ブロック図を示す。3次元物体照合装置50は、対象となる物体の3次元立体形状データを取得する3次元データ取得部1と、3次元データを蓄積する第1の3次元データ蓄積部2と、照合範囲となるデータ領域(以下、「照合データ領域」という。)を設定する照合データ領域設定部3と、照合データ領域における計算量を算出する照合データ領域計算量評価部4と、照合データ領域を分割する照合データ領域分割部5とを備える。さらに、3次元物体照合装置50は、3次元データの照合処理を実施する3次元データ照合部6と、照合処理に使用するデータを蓄積する第2の3次元データ蓄積部7とを備える。
図2は、3次元物体照合装置50のハードウェア構成の一例を示す。3次元物体照合装置50は情報処理装置(コンピュータ)で構成される。3次元物体照合装置50は、プログラムを実行するCPU(中央演算処理装置)500を有しており、このCPU500がバス501を介して、プログラム及びデータを格納するRAM(ランダムアクセスメモリ)503やROM(読み出し専用メモリ)505、情報を表示する表示部513、キーボードやマウス等からなりユーザが操作を行なう操作部511、ネットワークに接続するためのネットワークインタフェース部515、及び、機能を拡張するため外部の情報機器と接続するための外部インタフェース部517に接続されて構成される。また、3次元物体照合装置50は、補助記憶装置としてのハードディスク装置507や、情報記録媒体であるCD−ROMからプログラムやデータの読み込みを行なうための装置であるCDドライブ509を備える。
さらに、3次元物体照合装置50は、画像処理専用の集積回路であるグラフィックス・プロセッシング・ユニット(Graphics Processing Unit、以下「GPU」という。)501を含む。GPUには、NVIDIA社(米国、カリフォルニア)製のGeForce GTX280等がある。
以下に説明する3次元物体照合装置50の機能はCPU500及びGPU501が所定のプログラムを実行することにより実現される。具体的には、3次元データ取得部1、照合データ領域設定部3、照合データ領域計算量評価部4及び照合データ領域分割部5の各機能がCPU500により実現され、3次元データ照合部6の機能はGPU501により実現される。第1の3次元データ蓄積部2はRAM503により実現され、第2の3次元データ蓄積部7はGPU501上のメモリ(VRAM)により実現される。
2.3次元立体形状データ照合処理
図3のフローチャートを参照し、3次元物体照合装置50による3次元立体形状データの照合処理を説明する。
図3のフローチャートを参照し、3次元物体照合装置50による3次元立体形状データの照合処理を説明する。
最初に、3次元データ取得部1が対象物体の3次元立体形状データ(頂点座標データ等)を取得(計測)する(S11)。取得された3次元立体形状データは第1の3次元データ蓄積部2に蓄積される(S12)。蓄積されたデータは以降の処理において読み出されて使用される。また、第1の3次元データ蓄積部2には、今回取得した3次元データと照合すべき対象物体のモデルデータが蓄積されている。モデルデータは過去に蓄積された計測データでも良いし、CADから生成されたデータでも良い。
次に、照合データ領域設定部3が、その下位の動作モジュールである、照合データ領域計算量評価部4と照合データ領域分割部5を動作させ、複数の照合データ領域を設定する(S13)。各照合データ領域は、データ領域全体を、それぞれの照合データ領域での照合計算量の分散が最小になるようなサブセットに分割することで得られる。これにより目標の処理時間を実現するのに必要な照合データ領域が決定される。後述のように、GPU201において、1つの照合データ領域における照合処理を1つのスレッドに割り当て、複数の照合処理を並列して処理する。
続いて、照合データ領域計算量評価部4は、照合に使用する領域毎に、その領域において処理すべきデータ量(その領域に含まれる、対象物体の一部分のデータ量)を計算し(S14)、その計算値に基づき、処理データ量の大きい領域から順に領域を分割していく(S17、S18)。分割は、例えば、元の照合データ領域(空間)のx、y、z軸方向の長さをそれぞれ2分の1にすることで行う。この場合は1つの領域(空間)は8つの領域に分割される。
分割後、照合データ領域計算量評価部4は、再度、処理データ量を照合領域毎に計算し(S14)、所定の条件を満たすまで(S15、S16)、照合データ領域分割部5による照合データ領域の分割を繰り返す(S17、S18)。ここで所定の条件は以下の2つである。
<条件1>:各照合データ領域間において、照合処理の処理データ量の分散が十分に小さくなる(所定値以下になる)こと(S15)。
<条件2>:各照合データ領域における照合処理の処理データ量が、GPU501(3次元データ照合部6)上で並列計算を行う際の各スレッドのサイズにフィットするサイズ(所定サイズ)以下になること(S16)。
<条件1>:各照合データ領域間において、照合処理の処理データ量の分散が十分に小さくなる(所定値以下になる)こと(S15)。
<条件2>:各照合データ領域における照合処理の処理データ量が、GPU501(3次元データ照合部6)上で並列計算を行う際の各スレッドのサイズにフィットするサイズ(所定サイズ)以下になること(S16)。
条件1は、照合データ領域間において、処理データ量をできるだけ均等にするためのものである。これは、GPU501(3次元データ照合部6)上での照合計算時において、各スレッド間の同期を取る際、スレッド毎の処理時間の分散が大きいと、全体の処理が最も遅いスレッドの影響を受けることになり、GPU501(3次元データ照合部6)の高い並列計算能力が妨げられるからである。そこで、スレッド間の処理データ量をできるだけ均等にすることで、GPUによる処理の効率化を図っている。
条件2を設定するのは以下理由による。一般にGPUにはスレッド毎に設定できるShared Memoryと呼ばれる高速にアクセスできるメモリ領域があり、最も高速に動作するワークモデルは、処理データをShared Memoryにフィットするサブセットに分割し実行する場合であると考えられる。つまり、領域毎の処理データ量の分散が十分に小さくなっても、Shared Memoryにフィットするように分割が行われていない場合は、GPUの高い並列計算能力を引き出せないと考えられる。そこで、処理データ量を各スレッドのサイズにフィットするサイズ(所定サイズ)以下にすることで、GPUによる処理の効率化を図っている。
その後、照合データ領域設定部3で計算された照合領域と、今回取得した3次元データ及び照合すべき対象物体のモデルデータとを、GPU6上の記憶装置である第2の3次元データ蓄積部7に転送する(S19)。
3次元データ照合部6(GPU501)は、第2の3次元データ蓄積部7から、照合すべき2つのデータ、すなわち取得したデータとモデルデータと、照合データ領域とを読み出して、両者の照合を行う(S20)。このとき、各照合データ領域での照合処理を各スレッドに割り当てることで、複数の照合処理を並列処理する。これにより処理の高速化が図れる。照合結果として最終的な位置姿勢推定結果(対象物の位置や姿勢を示すパラメータ)を得る。この位置姿勢推定結果は、GPU501から、CPU500の第1の3次元データ蓄積部2へ転送されるとともに(S21)、外部へ出力される(S22)。
3.まとめ
以上のように、本実施形態では、照合計算におけるCPUの補助装置として、本来はグラフィック用途で用いるGPUを用いて3次元データの照合処理を実行させることで、高速な照合処理を実現する。その際、本実施形態では、照合データ領域を、並列計算の各スレッドの計算量の分散が小さくなり、GPU上のスレッドにフィットするサイズ以下となるように設定する。これにより、GPU上で実行される並列計算が最適化され、より高速な3次元データ照合が可能となる。
以上のように、本実施形態では、照合計算におけるCPUの補助装置として、本来はグラフィック用途で用いるGPUを用いて3次元データの照合処理を実行させることで、高速な照合処理を実現する。その際、本実施形態では、照合データ領域を、並列計算の各スレッドの計算量の分散が小さくなり、GPU上のスレッドにフィットするサイズ以下となるように設定する。これにより、GPU上で実行される並列計算が最適化され、より高速な3次元データ照合が可能となる。
1 3次元データ取得部、 2 第1の3次元データ蓄積部、 3 照合データ領域設定部、 4 照合データ領域計算量評価部、 5 照合データ領域分割部、 6 3次元データ照合部、 7 3次元データ蓄積部、 50 3次元物体照合装置、 501 GPU。
Claims (6)
- 対象物体の3次元データを取得する手段と、
取得したデータ及びモデルデータを蓄積する蓄積手段と、
複数の照合データ領域を設定する領域設定手段と、
画像処理専用の演算装置であるグラフィックプロセッシングユニット(GPU)とを備え、
前記グラフィックプロセッシングユニットは、前記設定された照合データ領域毎に、取得した3次元データを前記蓄積手段に蓄積されたモデルデータと照合し、その際、複数の照合データ領域について前記照合する処理を並列的に処理する
3次元物体照合装置。 - 前記領域設定手段は、前記照合データ領域を、各照合データ領域において処理されるべきデータ量の分散が所定値以下となるように設定する、請求項1記載の3次元物体照合装置。
- 前記領域設定手段は、前記照合データ領域を、各照合データ領域において処理されるべきデータ量が所定値以下となるように設定する、請求項1または2記載の3次元物体照合装置。
- 対象物体の3次元データを取得するステップと、
複数の照合データ領域を、それぞれの照合データ領域が所定の条件を満たすように設定するステップと、
前記設定された照合データ領域毎に、取得した3次元データとモデルデータとを照合するステップと、を含み、
前記照合するステップを、画像処理専用の演算装置であるグラフィックプロセッシングユニット(GPU)を用いて、複数の照合データ照合領域について並列的に処理する、
3次元物体照合方法。 - 前記照合データ領域を、各照合データ領域において処理されるべきデータ量の分散が所定値以下となるように設定する、請求項4記載の3次元物体照合方法。
- 前記照合データ領域を、各照合データ領域において処理されるべきデータ量が所定値以下となるように設定する、請求項4または5記載の3次元物体照合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008309459A JP2010134669A (ja) | 2008-12-04 | 2008-12-04 | 3次元物体照合装置及び3次元物体照合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008309459A JP2010134669A (ja) | 2008-12-04 | 2008-12-04 | 3次元物体照合装置及び3次元物体照合方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010134669A true JP2010134669A (ja) | 2010-06-17 |
Family
ID=42345913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008309459A Pending JP2010134669A (ja) | 2008-12-04 | 2008-12-04 | 3次元物体照合装置及び3次元物体照合方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010134669A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10025603B2 (en) | 2013-02-26 | 2018-07-17 | Nec Corporation | Parallel processing device, parallel processing method, and parallel processing program storage medium |
-
2008
- 2008-12-04 JP JP2008309459A patent/JP2010134669A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10025603B2 (en) | 2013-02-26 | 2018-07-17 | Nec Corporation | Parallel processing device, parallel processing method, and parallel processing program storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shi et al. | Adaptive simplification of point cloud using k-means clustering | |
JP2016523394A (ja) | 3d点の集合にプリミティブ形状をフィッティングする方法 | |
US10289634B2 (en) | Data clustering employing mapping and merging | |
CN103092577A (zh) | 三维影像量测程序生成系统及方法 | |
CN111539997B (zh) | 基于gpu计算平台的图像并行配准方法、系统、装置 | |
US20200210805A1 (en) | Neural Network Generator | |
US7388584B2 (en) | Method and program for determining insides and outsides of boundaries | |
JP5850380B2 (ja) | 形状データ生成方法及び装置 | |
Kapusta et al. | Acceleration of image reconstruction in 3D Electrical Capacitance Tomography in heterogeneous, multi-GPU system using sparse matrix computations and Finite Element Method | |
JP2010134669A (ja) | 3次元物体照合装置及び3次元物体照合方法 | |
Hong et al. | Computation of gray level Co-Occurrence matrix based on CUDA and optimization for medical computer vision application | |
Mateo et al. | Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks | |
JP2009122998A (ja) | ソリッド/サーフェースモデルから外形線を抽出する方法及びコンピュータソフトウエアプログラム | |
US9754180B2 (en) | Robust automatic computation of ridges and valleys of a height field | |
JP6942007B2 (ja) | 画像処理装置、及びプログラム | |
CN108876894B (zh) | 三维人脸模型和三维人头模型生成方法和生成装置 | |
KR20130101332A (ko) | 삼각형 메쉬로 표현된 3차원 물체를 DoSurface 표현 방법으로 변환하는 시스템 및 그 방법 | |
Preto et al. | Object identification in binary tomographic images using gpgpus | |
JP6248228B2 (ja) | 図面作成システム及び図面作成方法 | |
Mak et al. | GPU-accelerated and efficient multi-view triangulation for scene reconstruction | |
JP2014153937A (ja) | 特徴量算出装置、方法及びプログラム | |
KR101307605B1 (ko) | 중앙 처리 장치(cpu)와 그래픽 처리 장치(gpu)를 동시에 사용하는 nmi 기반의 3차원 비강체 영상 정합 병렬 처리 방법 및 장치 | |
US11055810B1 (en) | Optimizing graphics geometry using similarity-based clustering | |
CN112116641B (zh) | 一种基于OpenCL的散斑图像匹配方法 | |
Kang et al. | GPU-based object identification in large-scale images for real-time radar signal analysis |