JP2009032122A - 画像処理装置、画像処理方法およびプログラム - Google Patents

画像処理装置、画像処理方法およびプログラム Download PDF

Info

Publication number
JP2009032122A
JP2009032122A JP2007196740A JP2007196740A JP2009032122A JP 2009032122 A JP2009032122 A JP 2009032122A JP 2007196740 A JP2007196740 A JP 2007196740A JP 2007196740 A JP2007196740 A JP 2007196740A JP 2009032122 A JP2009032122 A JP 2009032122A
Authority
JP
Japan
Prior art keywords
voxel
shape data
signed distance
image processing
distance
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.)
Granted
Application number
JP2007196740A
Other languages
English (en)
Other versions
JP5120926B2 (ja
Inventor
Akira Furukawa
亮 古川
Hiroshi Kawasaki
洋 川崎
Akihiko Morie
晃彦 森栄
Tomoya Itano
友哉 板野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hiroshima Industrial Promotion Organization
Saitama University NUC
Original Assignee
Hiroshima Industrial Promotion Organization
Saitama University NUC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hiroshima Industrial Promotion Organization, Saitama University NUC filed Critical Hiroshima Industrial Promotion Organization
Priority to JP2007196740A priority Critical patent/JP5120926B2/ja
Priority to PCT/JP2008/001970 priority patent/WO2009016808A1/ja
Priority to US12/670,953 priority patent/US8659593B2/en
Publication of JP2009032122A publication Critical patent/JP2009032122A/ja
Application granted granted Critical
Publication of JP5120926B2 publication Critical patent/JP5120926B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/20Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring contours or curvatures, e.g. determining profile
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Abstract

【課題】複数の3次元形状データを高い精度で統合できる画像処理装置を提供すること。
【解決手段】本発明の画像処理装置は、入力された各3次元形状データから各々の符号付距離場を算出する符号付距離算出部12Aと、符号付距離算出部12Aにて各々の形状データに関して算出された符号付距離を統合する統合部12Bと、各ボクセルが観測された形状の外側にあるか、表面近くにあるか、それ以外かを分類する分類部12Cと、ボクセルの物体形状の内外を推定する推定部12Dと、上記各部位の計算結果に基づいてボクセルが形状の内側にあるか、外側にあるか、または、表面近くかを判定する判定部12Eとを具備する。
【選択図】図1

Description

本発明は、画像処理装置、画像処理方法およびプログラムに関し、特に、複数の3次元形状データを統合する画像処理装置、画像処理方法およびプログラムに関する。
三次元計測によって得られる形状データは、距離画像の形式になっていることが多い。複数の計測結果から、全周の形状を得るには、これらの距離画像を位置合わせし、統合する必要がある。位置合わせされた複数の距離画像を統合する方法には、zippering法(非特許文献1)や、符号付距離場を用いる方法(非特許文献2)が提案されている。特に近年、大きな入力データを効率的に処理可能な符号付距離場を用いる手法が、広く研究されるようになってきている。符号付距離場とは、3次元空間をボクセルの集合であるボリュームデータとし、各ボクセルと形状表面との距離を、形状の内外を表す符号をつけて格納したものである。一般には、符号機距離場において、ゼロ値の等値面は物体の表面形状を表す。従って、符号付距離場は、形状の表現方式の1つとも見做される。符号付距離場による形状表現は、物体表面の未観測部分などに発生する欠落部分を補間するためにも利用される。
CurlessとLevoyは、ボリューム空間の各ボクセルをUnseen(未観測)、Nearsurface(物体表面)、Empty(物体外部)に場合分けし、UnseenとEmptyとの間にメッシュを生成することにより欠落部分の補間を行っている(非特許文献1)。これは、ボリュームデータから、観測された表面の前面を削っていく処理に相当することから、space carving法(以下SC法と称する)と呼ばれる。SC法は、観測データが多い場合には、効果的に欠落部分の補間を行うことができるが、利用可能な距離画像が少ない場合には、失敗することが多い。これは、space carvingによって削られるボリューム空間の「削り残し」と、対象物体とが連結されてしまうことにより生じる。
このような問題を解決するには、未観測のボクセルを無くし、すべてのボクセルを「物体内部」と「物体表面」に分類することが考えられる。この時、未観測の部分には、物体の無い部分、物体内部であってもオクルージョンによって観測できない部分、物体表面の反射率が低いことなどによるデータ欠損が含まれるので、これらを考慮して分類を行う必要がある。
符号付距離場の等値面として表された形状データの欠落部分の補間に関しては、これまでいくつかの手法が提案されている。Davisらは、曲面を表す符号付距離場のボリュームデータが与えられたときに、ボリュームデータを平滑化フィルタで拡散させ、元の符号付距離場と合成することで、等値面で表された形状の補間を行う手法を提案した(非特許文献3)。
また、非特許文献4および非特許文献5では、符号付距離場の各ボクセルについて周囲のボクセルとの整合性をとることで、複雑な形状のシーンの補間を行うことに成功した。また、非特許文献6では、2次曲面を符号付距離場の穴に当てはめ、補間を行なう方法を提案した。
近年、急速にその性能が向上しているGPUの演算性能を、グラフィックス以外の汎用計算に用いる手法が数多く提案されている。2次元輪郭からの3次元再構成にもSC法が用いられるが、Nitschkeらは、この手法をGPUで実装する手法を提案した(非特許文献7)。また、SudらはGPUを用いて、物体モデルからの距離場を高速に計算する方法を示し、物体同士の距離の判定に用いることを提案した(非特許文献8)。
更に、本願発明に関連する特許文献として、下記特許文献1乃至特許文献7がある。なお、以下の特許文献は、3次元形状の復元を行う点等では本願発明と共通するが、取り扱うデータが異なる等の明確な差違が、以下の特許文献に記載された技術と本願発明との間には存在する。
特許文献1では、ボリュームデータからの境界形状の復元方法が開示されており、具体的にはCTやMRIへの適用が開示されている。
特許文献2では、複数の三次元形状データをボリューム方式で統合する場合に、立体物の薄肉部に関する形状の再現性を向上するための技術が開示されている。
特許文献3では、シルエットベースで形状復元されたボリュームデータを画像処理する事項が開示されている。
特許文献4では、複数の三次元形状データを統合するときに,スカラ値のボリューム(従来の意味でのボリューム)でなく,ベクトルポテンシャルと呼ばれる量を用いることで精度を上げる方法が開示されている。
特許文献5では、特許文献4でベクトルポテンシャルを用いて3次元データを統合するときに,ベクトルの方向を用いることで精度を上げる方法が開示されている。
特許文献6では、特許文献4で、統合前のデータが巨大なため、中間データを削減する手法が開示されている。
特許文献7では、ボリューム(符号付距離場)による形状統合方法を,大きく異なる形状データの接合に利用する発明が開示されている。
B. Curless and M. Levoy: "A volumetric method for build−ing complex models from range images"、 Computer Graph−ics、 30、 Annual Conference Series、 pp.303−312(1996). G. Turk and M. Levoy: "Zippered polygon meshes from range images"、 SIGGRAPH ’94: Proceedings of the 21st annual conference on Computer graphics and interactive techniques、 New York、 NY、 USA、 ACM Press、 pp. 311−318 (1994). J. Davis、 S. R. Marschner、 M. Garr and M. Levoy: "Fill−ing holes in complex surfaces using volumetric di?usion."、 3DPVT、 pp. 428−438 (2002). R. Sagawa and K. Ikeuchi: "Taking consensus of signed dis−tance ?eld for complementing unobservable surface"、 Proc. 3DIM 2003、 pp. 410−417 (2003). 佐川、池内:"符号付距離場の整合化による形状モデル補間手法"、電子情報通信学会論文誌D、J88−D2、3、pp.541−551(2005). T. Masuda: "Filling the signed distance ?eld by ?tting local quadrics"、 3DPVT ’04: Proceedings of the 3D Data Pro−cessing、 Visualization、 and Transmission、 2nd International Symposium on (3DPVT’04)、 Washington、 DC、 USA、 IEEE Computer Society、 pp. 1003−1010 (2004). C. NITSCHKE、 A. NAKAZAWA and H. TAKEMURA: "Real−time space carving using graphics hardware"、画像の認識・理解シンポジウム( MIRU)2006、 pp. 928−933 (2006). A. Sud、 N. Govindaraju、 R. Gayle and D. Manocha: "In−teractive 3d distance ?eld computation using linear factor−ization"、 SI3D ’06: Proceedings of the 2006 symposium on Interactive 3D graphics and games、 New York、 NY、 USA、 ACM Press、 pp. 117−124 (2006). W. E. Lorensen and H. E. Cline: "Marching cubes: A high resolution 3d surface construction algorithm"、 SIGGRAPH ’87: Proceedings of the 14th annual conference on Computer graphics and interactive techniques、 Vol. 21、 New York、 NY、 USA、 ACM Press、 pp. 163−169 (1987). 特開2005−038219号公報 特開2003−058904号公報 特開2002−366934号公報 特開2000−111324号公報 特開2002−236936号公報 特開2002−056380号公報 特開2001−084403号公報
しかしながら、SC法(非特許文献1)では、まず全てのボクセルをUnseen(未観測)の状態に初期化し、各距離画像から参照される物体の表面と視点位置の間に存在するボクセルをEmpty(物体外)であるとして「削る」(この方法は、2次元輪郭からの3次元再構成に用いられるSC法とは違い、距離画像上でデータの存在する領域について、表面の手前のボクセルを削り、観測されない周囲の領域についてはボクセルを残す)。この手法では、物体表面として観測された部分の手前の部分しかボリューム空間を削らないので、実際には物体の外部であるボクセルがUnseen(未観測)として残存し、その部分とEmptyの領域との境界に余分なメッシュが発生する。十分な数の視点位置からの距離画像を統合する場合には、このような余分なメッシュは対象物体のメッシュと連結せず、容易に取り除くことが出来る。しかし、視点の数が少ない場合や、物体の特定の方向からの観測が行われない場合には、余分なメッシュが物体と連結してしまうことが多い。このことは、多くの応用において問題となる。
また、上記した非特許文献3に記載された技術では、後の実験で示すように、この手法は、等値面の拡散が正しくない方向に起こり、望ましい結果が得られない場合がある。特に、形状の欠落部分が、観測方向に対する自己オクルージョンによって生じている場合、補間の失敗が起こりやすい。
また、非特許文献4乃至非特許文献6に記載された技術では、ユークリッド距離による符号付距離場が利用されており、高い品質の穴埋めが可能であるが、計算コストが高い。
更にまた、複数の3次元画像の統合は、一般的にはパーソナルコンピュータのCPU(Central Processing Unit)で行われるが、3次元画像の統合には膨大な計算量が必要とされるため、この統合に長時間かかる問題もあった。
本発明は、上記問題を鑑みて成されたものである。本発明の主たる目的は、複数の3次元形状データを高い精度で統合できる画像処理装置等を提供することにある。
本発明は、物体の形状を表す複数の形状データを統合する画像処理装置であり、3次元空間を分割した単位であるボクセルが表す3次元位置と前記形状データとを入力とし、前記3次元位置と前記形状データとの符号付距離である第1符号付距離の計算を、前記形状データ毎に行う第1計算部と、前記ボクセルが表す3次元位置と、前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記ボクセルが、前記形状の表面付近にあるか、外側にあるか、あるいはそれらのいずれとも決定できないかを分類する第2計算部と、前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記いずれとも決定できないと分類されたボクセルが前記形状の内側にあるか外側にあるかを推定する第3計算部と、前記表面付近と分類されたボクセルの3次元位置と、前記内側に分類または推定されたボクセルと前記外側に分類または推定されたボクセルとの境界部分に位置するボクセルの3次元位置とを、前記形状の表面位置として算出する第4計算部と、を具備することを特徴とする。
本発明は、形状を表す複数の形状データを統合する画像処理方法であり、3次元空間を分割した単位であるボクセルが表す3次元位置と前記形状データとを入力とし、前記3次元位置と前記形状データとの符号付距離である第1符号付距離の計算を、前記形状データ毎に行う第1ステップと、前記ボクセルが表す3次元位置と、前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記ボクセルが、前記形状の表面付近にあるか、外側にあるか、あるいはそれらのいずれとも決定できないかを分類する第2ステップと、前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記いずれとも決定できないと分類されたボクセルが前記形状の内側にあるか外側にあるかを推定する第3ステップと、前記表面付近と分類されたボクセルの3次元位置と、前記内側に分類または推定されたボクセルと前記外側に分類または推定されたボクセルとの境界部分に位置するボクセルの3次元位置とを、前記形状の表面位置として算出する第4ステップと、を具備することを特徴とする。
本発明のプログラムは、形状を表す複数の形状データを統合する画像処理装置に、3次元空間を分割した単位であるボクセルが表す3次元位置と前記形状データとを入力とし、前記3次元位置と前記形状データとの符号付距離である第1符号付距離の計算を、前記形状データ毎に行う第1機能と、前記ボクセルが表す3次元位置と、前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記ボクセルが、前記形状の表面付近にあるか、外側にあるか、あるいはそれらのいずれとも決定できないかを分類する第2機能と、前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記いずれとも決定できないと分類されたボクセルが前記形状の内側にあるか外側にあるかを推定する第3機能と、前記表面付近と分類されたボクセルの3次元位置と、前記内側に分類または推定されたボクセルと前記外側に分類または推定されたボクセルとの境界部分に位置するボクセルの3次元位置とを、前記形状の表面位置として算出する第4機能と、を実行させることを特徴とする。
本発明は、GPUの計算機能を用いて、入力された複数の形状データを統合する画像処理装置であり、前記GPUの記憶部の一部であると共に、前記形状データが格納される第1記憶領域と、前記GPUの記憶部の一部であると共に、3次元空間を分割した要素であるボクセルの情報が格納される第2記憶領域と、前記GPUの計算機能の一部であると共に、前記ボクセルが表す3次元位置と前記形状データとの符号付距離である第1符号付距離を、前記第1記憶領域から読み出した前記形状データの各々に対して計算する第1計算部と、前記GPUの計算機能の一部であると共に、前記ボクセルについて、前記形状データの各々に対して算出された前記第1符号付距離を統合して第2符号付距離を計算し、前記第2符号付距離を前記第2記憶領域に格納する第2計算部と、を具備することを特徴とする。
本発明は、GPUの計算機能を用いて、入力された複数の形状データを統合する画像処理方法であり、前記GPUの記憶部であると共に前記形状データが格納される第1記憶領域と、3次元空間を分割した要素であるボクセルの情報が格納される第2記憶領域とを確保する第1ステップと、前記GPUの計算機能により、前記第2記憶領域の前記ボクセルについて、前記ボクセルが表す3次元位置と前記形状データとの符号付距離である第1符号付距離を、前記第1記憶領域から読み出した前記形状データの各々に対して計算する第2ステップと、前記GPUの計算機能により、前記第2記憶領域の前記ボクセルについて、前記形状データの各々に対して算出された前記第1符号付距離を統合して第2符号付距離を計算し、前記第2符号付距離を前記第2記憶領域に格納する第3ステップと、を具備することを特徴とする。
本発明のプログラムは、GPUの計算機能を用いて、入力された複数の形状データを統合する画像処理装置に、前記GPUの記憶部であると共に前記形状データが格納される第1記憶領域と、3次元空間を分割した要素であるボクセルの情報が格納される第2記憶領域とを確保する第1機能と、前記GPUの計算機能により、前記第2記憶領域の前記ボクセルについて、前記ボクセルが表す3次元位置と前記形状データとの符号付距離である第1符号付距離を、前記第1記憶領域から読み出した前記形状データの各々に対して計算する第2機能と、前記GPUの計算機能により、前記第2記憶領域の前記ボクセルについて、前記形状データの各々に対して算出された前記第1符号付距離を統合して第2符号付距離を計算し、前記第2符号付距離を前記第2記憶領域に格納する第3機能と、を実行させることを特徴とする。
本発明では、符号付距離場において、未観測のボクセルについても、物体の内側か外側かを判定するための、ベイズ推定に基づいた内外判定関数を使用したので、距離画像が少ない場合においても安定して統合・穴埋めすることができる。これにより、space carving法を改良することができる。更に、また、アクティブステレオ法によって得られる距離画像を用いることで、この判定関数の精度を向上させることもできる。
更に本発明では、3次元画像の統合する際の符号付距離場および内外判定関数の計算にGPUを使用したので、これらの計算を極めて高速に行うことができる。
先ず、本発明の画像処理装置等の概要を説明する。本発明は、概略的には、SC法において未観測とのみ定義されるボクセルを、さらに「物体内部」と「物体表面」に分類するアプローチにより物体の統合及び補間の精度向上を実現するものである。
これを実現するために本発明では以下2つのアプローチをとる。
(1)ベイズ推定法に基づいた、未観測ボクセルを分類するための判別関数の定義。
(2)計測結果がアクティブステレオ法によるものである場合、光源位置情報の利用。
これらのアプローチは、(1)だけでも利用可能であるが、両方併用することで効果を増す。本発明では、SC法に見られるような、物体の外の空間の大きな「削り残し」は発生しない。また、すべてのボクセルは、「物体内部」「物体外部」「物体表面」に分類されるため、必ず閉じた形状が得られる。
一方、近年、大量の計算を高速に行うための手法としてGPU(Graphics Processing Unit)を用いる手法が注目されている。GPUは通常グラフィックスの計算に用いられるプロセッサであるが、その動作をプログラムで記述することが可能になってきており、高速なSIMD(Single Instruction/Multiple Data)の並列プロセッサとして利用することができる。符号付距離場の作成やボクセルの分類に用いられる評価式は、GPUによって実装することが可能であり、処理効率を大幅に高めることが出来る。この事項は、第3および第4の実施の形態として後述する。
<第1の実施の形態:画像処理装置の構成>
図1を参照して、本実施の形態に係る画像処理装置10の構成を説明する。
本実施の形態の画像処理装置10は、画像処理部12と、制御部14と、入力部16と、記憶部18と、表示部20と、操作部22とを主要に具備する。画像処理装置10の全体の概略的機能は、入力された複数の3次元形状データを統合して1つの3次元形状データを生成することにある。また、具現化された画像処理装置10としては、所定の機能を実行するアプリケーション(プログラム)がインストールされたパーソナルコンピュータ等のコンピュータでも良いし、所定の機能を実行するように構成された画像処理専用の機器として構成されても良い。更にまた、画像処理装置10を構成する各部位は、バスを経由して相互に電気的に接続される。
画像処理部12は、主たる画像処理の機能を果たす部位であり、符号付距離算出部12Aと、統合部12Bと、分類部12Cと、推定部12Dと、判定部12Eと、等値面形成部12Fとを含む。
符号付距離算出部12Aは、入力された各々の3次元形状データ(距離画像)に対して、ボリュームの各ボクセルの符号付距離(第1符号付距離)を算出する部位である(請求項1の第1計算部)。
統合部12Bは、符号付距離算出部12Aにて各々の形状データに関して算出された符号付距離を加算して、統合された符号付距離(第2符号付距離)を算出する部位である(請求項2の第5計算部)。
分類部12Cは、各ボクセルが観測された物体形状の外側にあるか、表面近くにあるか、それ以外かを分類する部位である(請求項1の第2計算部)。
推定部12Dは、入力された複数の形状データに基づいて、各ボクセルが、観測された物体形状の内側にあるか外側にあるかを推定する部位である(請求項1の第3計算部)。
判定部12Eは、上記した分類部12Cによる分類の結果および推定部12Dの推定の結果に基づいて、各ボクセルが形状の内側にあるか、外側にあるか、または、表面近くかを判定する部位である。そして、ボクセルが形状の表面近くであると判定された場合は、そのボクセルの第2符号付距離を記憶部18に出力する(請求項1の第4計算部)。
等値面形成部12Fは、判定部12Eから出力された第2符号付距離に基づいて等値面を生成して、メッシュモデルを形成する部位である(請求項12の第6計算部)。
制御部14は、画像処理装置10全体(画像処理部12、入力部16、記憶部18、表示部20)の動作を制御している部位である。
入力部16は、外部から画像処理装置10に情報が入力される部位である。本実施の形態では、複数の3次元形状データが入力部16から入力される。
記憶部18は、HDD(Hard Disk Drive)に代表される固定式の記憶ディスク、CD(Compact Disc)やDVD(Digital Versatile Disk)等の着脱式記憶ディスク、固定式あるいは着脱式の半導体メモリ等である。本実施の形態では、記憶部18には、処理前の複数の3次元形状データ、この複数の3次元形状データを統合することにより生成された3次元形状データが記憶される。
更に、記憶部18には、下記する画像処理方法を実行するためのプログラムが格納される。このプログラムは、使用者が操作部22を操作することにより呼び出されて、上記した各部位の機能を実行させる。具体的には、入力された3次元形状のデータを統合して、新たな3次元画像のデータを生成するように、プログラムは各部位を動作させる。
表示部20は、例えば液晶ディスプレイ、CRT(Cathode Ray Tube)、ビデオプロジェクタであり、入力された3次元形状データや、統合された3次元形状データに基づく画像が表示される。
操作部22は、例えば、キーボードやマウスであり、使用者がこの操作部22を操作することにより、画像処理装置10は複数の3次元形状データを統合する。
以上が画像処理装置10の構成であるが、上記した構成要素の他にも例えば、3次元形状データを取得するカメラ等の撮像手段等が追加されても良い。
ここで、上記した各部位の処理は、逐次的にボリュームの全ての各ボクセルに対して繰り返して行われる。更には、上記した各部位の処理を、独立してボリュームの全てのボクセルに対して繰り返し行っても良い。
<第2の実施の形態:画像処理方法>
本実施の形態では、複数の3次元形状データを統合する方法を説明する。
図2を参照して、本形態の画像処理方法は、複数の3次元形状データを獲得するステップS10と、各々の3次元形状データについて符号付距離を算出するステップS11(第1ステップ)と、複数の3次元形状データの符号付距離を統合して、各ボクセルの符号付距離場を統合するステップS12(第2ステップ)と、各ボクセルが形状の外側にあるか、表面近くにあるか、それ以外かを分類するステップS13(第3ステップ)と、後述する判別関数に基づいてボクセルの物体の内外を推定するステップS14(第4ステップ)と、ステップ13およびステップS14の結果からボクセルが形状の内側にあるか、外側にあるか、表面近くかを判定するステップS15(第5ステップ)と、統合された符号付距離場から等値面を生成する(即ちメッシュモデルを形成する)ステップS16とを含む。これら各ステップを以下にて詳述する。
ステップS10:データの獲得
本ステップでは、3次元計測を行い、この計測により得られた画像から距離画像を生成する。3次元形状データ形式としては距離画像以外でも、ポリゴンや、点群、符号付距離場、ボリュームデータ等でも良い。
3次元計測としては、レーザレンジファインダのような非接触方式のものや接触式のスキャナなどを用いることが出来る。さらに、プロジェクタとカメラを用いたパターンコード化法等のアクティブステレオ法を用いれば、以下に述べる理由から精度向上が期待できる。この方法では、プロジェクタから対象物体に対してグレイコードと呼ばれる光の縞パターンを投影し、この様子をカメラで撮影する。この作業を行うことで、距離画像が得られる。
ステップS11:符号付距離の算出
符号付距離場とは、三次元空間の各ボクセルについて、そのボクセルから物体表面までの距離をボクセル値の絶対値で、そのボクセルが物体外部または内部のいずれであるかをボクセル値の符号で表したスカラー場である(本形態では、内部を負、外部を正とする)。
符号付距離場をD(x)と表すと、観測される物体の表面はD(x)=0を満たす等値面で表すことができる。そのボクセルから形状データまでの距離には、ユークリッド距離(ボクセル中心から形状データまでの最短距離)を使うことが考えられる。簡易的な手法としては、ユークリッド距離により符号付距離場を作成することは計算量が多いため、視線距離(計測における視点位置からの視線上での距離)などを用いることもできる。この場合、視線距離計算は一般のグラフィックハードウェアで実装可能であり非常に高速に処理できることと、本形態の手法により精度面の問題を解消できることから、本形態では、視線距離による符号付距離場を用いる。
具体的な、ボクセルから形状データまでの符号付距離の算出方法は、先ず、得られた距離画像から、カメラのパラメータを用いて座標系をオブジェクト座標からカメラ座標に変換する。
そして、距離画像の視点位置からボクセルまでの距離(VoxelDistance)を算出する。また視点位置から形状データまでの距離(ImageDistance)も算出する。そして、VoxelDistanceとImageDistanceとの差をとることにより、符号付距離が算出される。
ステップS12:符号付距離の統合
本ステップでは、複数の3次元形状データの符号付距離場を一つに統合する。
複数の3次元形状データを統合して符号付距離場を構築する手法はいくつか提案されている。本ステップでは、画像バッファのあるボクセルvの符号付距離場D(v)は、各シーンの距離画像から得られた符号付距離場d(v)、d(v)、…、d(v)にそれぞれの重みw(v)を乗じたものを累積して、以下の式により統合された符号付距離場を求める。
重みw(v)は各距離値の精度を考慮して決定される。この値は、カメラからの視線方向と物体表面の法線方向のなす角によって決めることもできる。また、d(v)の絶対値がある閾値より大きい場合、そのボクセルは対象となる距離画像の表面からは遠いので、累積の計算には加えないでも良い。
他の符号付距離の統合方法としては、重みを使わず、単に各距離画像について得られた符号付距離を加算しても良い。
ステップS13:ボクセルの分類
本ステップでは、各々のボクセルを、各形状データ(距離画像)について算出された符号付距離を参照して分類する。
図3を参照して、上記非特許文献1では、ボリューム空間の全てのボクセルをEmpty(物体外部)、NearSurface(表面付近)、Unseen(未観測で、物体内部とも、外部とも、表面付近とも分類できない)の三つのいずれかの状態に場合分けする。そして、UnseenとEmptyの境界にメッシュを生成することで形状の補間を行う。
ここで、例えば核磁気共鳴画像法(MRI)やコンピュータ断層撮影(CT)などを用いて、ボクセルをSolid(物体内部)に分類すれば、Unseen領域が減りなお都合が良い。
この方法の問題点は、削られなかったUnseenのボクセルには、
(1)物体の外部であって、どの距離画像においても観測値のある点の視線上に存在しないボクセル、
(2)物体の外部であって、ある距離画像において観測値のある点の視線上に存在するが、オクルージョンにより物体外部と判定されないボクセル、
(3)物体の内部、の3つの場合が存在するのに、これらを区別しないことにある。本形態の手法では、Unseenのボクセルについて、物体の外部、内部を判定するための判別関数をステップS14で定義することでこの問題を解消する。
図4を参照して、本形態におけるボクセルのクラス分けについて述べる。あるボクセルについて、一つの距離画像からの符号付距離から、そのボクセルが物体の内部にあるか、外部にあるかについて、確定的に得られる情報には、以下の2種類がある。
NearSurface(表面付近):符号付距離の絶対値が指定した閾値以下の場合、対象のボクセルは“表面付近”とクラス分けされ、その符号付距離場を保持する(図4のvの場合)。この場合、対象ボクセルは、表面近くにあると断定できる。
Empty(物体外部):符号付距離の絶対値が閾値より大きくその符号が正の場合、対象のボクセルは物体とカメラの間に存在し、そこは物体の外部であると断定できるため“物体外部”とクラス分けする(図4のvの場合)。
複数の距離画像から得られる情報を統合する際、あるボクセルについて、それぞれの距離画像から得られる情報は異なる。この時、NearSurfaceとなる距離画像が一つでもある場合、ボクセルのクラスもNearSurfaceとする。そうでない場合、Emptyとなる距離画像が一つでもあればボクセルのクラスもEmptyとする。
上記の2種類の分類からは、ボクセルと物体の内外関係が確定的に決定できるが、上記以外の場合には、内外関係を確定的に決めることはできない。このような場合は、次のステップS14で述べる判別関数によって内外関係を決定する。
本ステップにおける内外関係の判定は、上に挙げたように符号付距離から得られるが、形状データを入力として、判定を行なっても良い。
ステップS14:ボクセルのクラスの推定
ステップS13で、ボクセルと物体の内外関係が確定的に決定できない場合でも、ボクセルと距離画像との符号付距離からは以下の情報が得られる。
Occluded(遮蔽領域):符号付距離場の絶対値が閾値より大きくその符号が負の場合は、一概に外部/内部の断定をすることはできない。その場合、対象のボクセルのクラスを一時的にOccludedとし、後で物体外部/内部のどちらである可能性が高いかという推定を行う。推定の方法は後述する(図4のvの場合)。
NoData(データ欠損):距離画像の欠損部分のため符号付距離場が得られないとき、外部/内部の判断をすることはできない。この場合、対象のボクセルのクラスを一時的にNoDataとし、後で物体内部、外部のいずれかであるかについて推定を行う(図4のvの場合)。
図4のvのように、対象となるボクセルが距離画像の画角の外にある場合、上記の分類のうち、EmptyかNoDataとして取り扱うことができる。このうちのどちらにするかは、アプリケーションによって変えることができる。多くのアプリケーションでは、距離画像の画角外はEmptyとしてよいが、大きな物体をズームして計測する場合などは、画角外はNoDataとして取り扱うとよい。
距離画像から得られる情報が、Occluded及びNoDataしかない場合には、そのボクセルが物体の内部であるか外部であるかは判断できない。こうしたボクセルに対しては、後述する判別関数によってそのボクセルが物体の内部であるか外部であるかを推定する。物体の外部であると判定されたボクセルには、Emptyのクラスを、内部であると判定されたボクセルにはSolid(物体内部)のクラスを割り当てる。以下では、これを実現する判別関数として、正規分布に関するベイズ推定にもとづき定義される関数を述べる。
物体の外側で正、内側で負となるようなスカラー値を考え、このスカラー値の予測分布をベイズ推定によって決定することを考える。データが無い段階での予測分布(主観確率の分布)は一様分布であるとし、各距離画像から計算されるデータから得られる観測値によって、ベイズの定理に基づいて予測分布を変化させる。正規分布に関するベイズ推定では、観測値のモデル分布を、平均値オが観測値に等しく、標準偏差σが観測値の精度の逆数になるような正規分布N(オ、σ)として表すことが多い。本形態でもこのような方法によって、ボクセルが物体の内側あるいは外側のどちらにあるかに関するheuristicsを表現する。具体的には、オの符号によって、heuristicsによる物体の内外についての推定を、1/σによってそのheuristicsの確信度を表すことにする。
対象ボクセルが、ある距離画像についてOccludedである場合、そのボクセルは観測位置から見て表面の後方にある。ボクセルの表面からの距離の絶対値(Distで表す)が比較的小さい場合、このボクセルは物体内部にある可能性が高い。逆に表面から遠くなる(Distが大きい)と、物体内部にある可能性は低くなる。そこで、対象ボクセルが物体内にある確信度を1/Dist程度であると考え、heuristicsに対応する分布をN(−1、Dist)で表現する。
また、対象ボクセルが、ある距離画像についてNoDataである場合、そのボクセルは物体の外である場合と、物体の内側でありながら、物体表面が何らかの理由で観測されなかった場合とがある。実際のデータにおいては、距離画像上の画素においてデータが存在しない領域は、物体が存在しないことが多い。このheuristicsから、ボクセルは物体外にあり、その確信度は定数程度であると考え、heuristicsに対応する分布をN(1、Const)で表現する。ここで、Constはユーザが決めるパラメータである。実験によれば、このConstは、物体の最小の厚み程度に設定すると良いようである。
正規分布に関するベイズ推定においては、観測で得られたheuristicsに対応する分布N(オ、σ)により、予測分布N(オ、σ)は以下のように更新される。
これを全ての距離画像について行い、最終的な予測分布の平均値オの符号が正であれば対象のボクセルを“物体外部”に、負であれば“物体内部”にクラス分けする。オが1あるいは−1のどちらかであることを考慮して計算を行なうと、最終的なオの具体的な形が計算できるので、これをボクセルvについての判別関数C(v)と見なし、C(v)の符号で物体の内外を判定することにする。具体的なC(v)は、以下のような式になる。
とする。
ただし、Occ(i、v)、Nod(i、v)は、ボクセルvについて距離画像iから得られる情報がそれぞれOccluded、Nodataであるかどうかを、di(v)はボクセルと距離画像i表面との符号付視線距離を表す。
以上のステップを実行させることにより、クラス分け(ボクセルの内外の判定)された統合結果が得られる。
上記判別関数の計算は、そのボクセルの符号付距離からの分類によって、その分類がEmpty(物体外部)でもNearSurface(表面付近)でもないことが判明してから行なっても良いが、すべてのボクセルについて計算しても良い。後述する第3の実施の形態において述べている実装では、符号付距離の値にかかわらず、すべてのボクセルについて判別関数が計算されている。これは、全てのボクセルを区別無く並列処理するGPUでの実装に好適である。
また、本ステップについて述べた判別関数としては、ベイズ推定以外の推定手法を使っても良い。例えば、単に、3次元空間中の特定の点からの距離によって、物体の内外を決めても良い。また、判別関数の入力としては、上記のように符号付距離から求めても、形状データを利用して求めても良い。
ステップS15:ボクセルの判定
本ステップでは、ステップS13でのボクセルの分類と、ステップS14での推定に基づいて、すべてのボクセルを物体の内部、外部、あるいは表面付近のいずれかであると判定する。このとき、ステップS13でのボクセルの分類は、ステップS14での推定結果に優先する。例えば本形態においては、ステップS13でEmpty(物体外部)、NearSurface(表面付近)と判定されたボクセルは、そのままEmpty(物体外部)、NearSurface(表面付近)とし、そうでないボクセルについては、ステップS14の判別関数による内外判定によってEmpty(物体外部)、Solid(物体内部)と判定される。この処理を、すべてのボクセルについて行うと、ボリューム内のボクセルのクラスは、Solid(物体内部)、NearSurface(表面付近)、Empty(物体外部)の3種類の何れかに分類される。
これによって、NearSurface(表面付近)、及び、Solid(物体内部)とEmpty(物体外部)の境界部分として、統合された形状が得られる。Solid(物体内部)とEmpty(物体外部)の境界部分を求めるには、Solidのボクセルと隣り合ったEmptyのボクセルを抽出するか、逆にEmptyと隣り合ったSolidのボクセルを抽出すればよい。
より精密にポリゴンメッシュを作成するためには、NearSurface(表面付近)のボクセルに、符号付距離を格納し、後のステップS16で述べるように等値面を生成すればよい。このためには、NearSurfaceの領域について、通常の符号付距離場(統合された符号付距離)を記憶部に記憶する。また、ボクセルのクラスがSolidの領域には、負の固定値を記憶させる。更に、ボクセルのクラスがEmptyの領域には、正の固定値を割り当てて記憶させる。ここで、正負の固定値の絶対値は等しくする。
ステップS16:等値面の生成
本ステップでは、生成された符号付距離場の等値面を生成することで、統合されたポリゴンメッシュを生成する。統合された符号付距離場D(x)においては、D(x)=0を満たす等値面が、統合された形状を表している。統合結果をメッシュモデルとして取り出すためには、ボリュームデータから等値面を生成する手法であるマーチングキュースブス法(非特許文献9記載)が適用可能である。
ここで、上記した各部位の処理は、逐次的にボリュームの全ての各ボクセルに対して繰り返して行われる。更には、上記した各部位の処理を、独立してボリュームの全てのボクセルに対して繰り返し行っても良い。
更に、ボリューム全体のうち、等値面形状にかかわる部分は、一部のみである。そのため、最初に、入力された形状データよりも荒い解像度(第1解像度)で上記のアルゴリズムの計算を行う。次に、得られたボクセルのうち、NearSurfaceと判定された領域、あるいは物体の外部と内部が接する領域のみについて、第1解像度よりも細かい解像度(第2解像度)で処理(レンダリング)を行うと、処理を高速化することができる。後に述べる実験(第5の実施の形態)では、本形態の手法の実装に、このような階層的手法による高速化を用いた。
<アクティブステレオ法への適用>
アクティブステレオ法は、密な3次元形状を得るための代表的な方法の一つである。アクティブステレオ法では、カメラのほかに光源が利用される。このため光源からのOcclusionにより、データ欠損が起こる場合があるが、逆にデータが測定されている場合には、その点と光源の間に物体が存在しないことの証拠となる。
そこで本形態では、アクティブステレオ法における光源を視点とする仮想カメラからの距離画像を生成し、これを利用する。あるシーンについてカメラおよび光源の二つの位置をそれぞれ視点位置とした距離画像(以下、カメラ距離画像・光源距離画像とする)を参照することを考える。図5で、光源からの光が遮られ欠損となった部分からは、物体表面までの距離を得ることはできない。しかし光源距離画像を参照することによって、表面からの距離を得ることができる。またそれ以外の部分でも、一つの測定結果からボクセルのクラス分けをNearSurfaceあるいはEmptyにすることができる範囲が広くなり、そうでない場合でも上記した推定をより適切に行うことが可能となる。
カメラ距離画像の全ての画素について、その3次元位置を計算し、これを光源位置に仮想カメラがあると仮定し、投影することで光源距離画像を作成することができる。
ボクセルの分類は、カメラからの距離画像のみを利用する場合と大体同じであるが、ボクセルのクラス分けの優先順位は、カメラ距離画像でのNearSurface、光源距離画像でのNearSurface、カメラ距離画像でのEmpty、光源距離画像でのEmptyの順とする。また、ボクセルvについて物体の内外を判定するための判別関数C(v)は、式(4)の関数を拡張し、
とする。ただし、Occ、Nod、d(v)の上付記号c、lは、それぞれカメラ及び光源距離画像に関する量であることを示す。
<第3の実施の形態:判別処理へのGPUの適用>
本形態では、上記した判別関数を用いてボクセルの内外を推定するステップを含む形状データの統合を、GPUを利用して行った場合を説明する。なお、この処理のうち符号付き距離値のGPU処理に関しては、第4の実施の形態として後で詳しく述べる。
上記した統合、補間アルゴリズムは、GPUを利用することで、高速に実行することができる。GPUは二次元画像単位の出力しか行なえないため、符号付き距離場のボリュームをスライス単位で計算する。各スライスをフレームバッファとしてレンダリングすることで符号付き距離値D(v)および内外判定の判別関数C(v)を計算する。
レンダリングは、プログラマブルシェーダを用いたマルチパスレンダリングによって行う。各パスは、一つの距離画像についてのレンダリングであり、結果は、ブレンディング機能を用いて加算する。距離画像iについてのレンダリングを行う場合、レンダリングの準備として、i番目のカメラ距離画像と、対応する光源距離画像を浮動小数点テクスチャに設定する。そして、フレームバッファ全体に一つの4角形を描画する命令を発行することで、各画素についてピクセルシェーダの処理が実行される。ピクセルシェーダは、距離画像とボクセル位置を入力値としてd(v)w(v)、c(v)を計算し、フレームバッファに加算する。
この処理を、カメラ距離画像、光源距離画像を切り替えながら、測定形状の数だけ繰り返す(アクティブステレオ法の場合)。最後に、符号付距離の重み付和D(v)と判別関数値C(v)を持つフレームバッファをCPU上へ読み戻し、距離値の有無と推定結果を統合し、符号付距離場のスライスを計算する。
距離画像iについてのピクセルシェーダでの計算は次のような手順となる。RGBA(赤、緑、青、透明度)の4チャンネルのフレームバッファを利用し、RにD(v)、GにNearSurfaceを表すフラグ、BにC(v)、AにEmptyを表すフラグを割り当てている。この様にすることで、2次元の情報を極めて高速に処理するGPUの特性を利用して、符号付距離場および判別関数の計算にかかる時間を短くすることができる。
具体的な処理手順は以下の通りであり、以下のステップの処理により、符号付距離と、判別関数の値が計算される。なお、ここでは、入力される形状データとして、アクティブステレオ法により得られたカメラ距離画像および光源距離画像が採用されている。
入力:ボクセル位置v、カメラパラメータp 、光源位置の仮想カメラのパラメータp 、カメラ距離画像のテクスチャR 、光源距離画像のテクスチャR
Step1:vをp 及びp で射影した点x (v)、x (v)を計算。
Step2:カメラおよび光源からの距離r (v)、r (v)をR (x (v))、R (x (v))としてサンプリング。
Step3:r (v)が欠損値でなければカメラ視点からの符号付距離d (v)(視線距離)を計算。同様にr (v)が欠損値でなければ光源視点からの符号付距離d (v)(視線距離)を計算。
Step4:d (v)あるいはd (v)が計算され、絶対値が閾値以下の場合(NearSrufaceの場合)d (v)、d (v)のどちらが有効であるかによって画素値(d (v)、1、0、0)あるいは(d (v)、1、0、0)を返す。d (v)あるいはd (v)が計算され、絶対値が閾値以上の場合(Emptyの場合)画素値(0、0、0、1)を返す。
Step5:r (v)、r (v)の欠損によって場合分けを行い、画素値(0、0、c(v)、0)を返す。
次に、上記の処理により得られた値により、最終的な各ボクセルの値(符号付距離)を計算する。具体的には、処理後のフレームバッファの内容は、G>0の場合NeaSurfaceであるためR(D(v))の値を符号付き距離とする。G=0、A>0の場合はEmptyに該当するため物体外部の値を割り当てる。G=0、A=0の場合B(C(v))の値によって物体外部と内部を判断し、それぞれ値を割り当てる。符号付距離の重み付き和をとる場合には、距離画像の各画素についてあらかじめ重みを計算しておき、テクスチャとすることで、実装できる。
<第4の実施の形態:GPUを使用した符号付距離場の計算>
本形態では、GPU(Graphics Processing Unit)を使用した符号付距離場の計算方法を説明する。上記した第3の実施の形態では、判別関数を用いてボクセルの内外を推定するステップを含む形状データの統合が説明されたが、本実施の形態では、ボクセルの分類や判定は行わず、GPUを用いて符号付距離を計算する画像処理装置および画像処理方法を説明する。
図6を参照して、本形態の画像処理装置30は、GPUから成る画像処理部32と、制御部34と、入力部36と、記憶部38と、表示部40と、操作部42とを主要に具備している。ここで、制御部34、入力部36、記憶部38、表示部40、操作部42の具体的な構成は、図1に示した同名の部位と同様である。画像処理装置30の特徴的な部分は、符号付距離場算出部32A等を含む画像処理部32がGPUから成る点にある。
GPUから成る画像処理部32は、第1記憶領域32Aと、第2記憶領域32Bと、符号付距離算出部32C(第1計算部)と、符号付距離統合部32D(第2計算部)と、等値面形成部32Eとを備えた構成となっている。
第1記憶領域32Aおよび第2記憶領域32Bは、GPUの内部に備えられた半導体メモリからなる。第1記憶領域32Aはテクスチャ領域として確保され、入力される形状データである距離画像が格納される。第1記憶領域32Aに格納された距離画像のデータは、形状データの符号付距離を算出するときに読み出される。第2記憶領域32Bは、ボクセルの値を格納するための領域である。
符号付距離算出部32Cは、GPUの計算機能の一部である。符号付距離算出部32Cでは、第2記憶領域32Bに格納されたボクセルが表す3次元位置と、第1記憶領域32Aに格納された形状データとの符号付距離を計算する。符号付距離算出部32Cとしては、GPUに備えられたシェーダを用いることができる。
符号付距離統合部32Dは、GPUの計算機能の一部であり、符号付距離算出部32Cにて算出された符号付距離を統合する機能を有する。符号付距離統合部32Dとしては、GPUに備えられたブレンディング機能を用いることができる。この部位にて統合された符号付距離のデータは、第2記憶領域32Bに格納される。
等値面形成部32Eでは、符号付距離統合部により統合された符号付距離の値に基づいて、等値面を形成し、統合結果をメッシュモデルとして取り出す。
更に、図7を参照して、本形態の画像処理方法は、形状データを入力するステップS20と、入力された形状データからテクスチャを生成するステップS21と、出力バッファを指定するステップS22と、符号付距離を統合するステップS23と、統合された符号付距離に基づいてメッシュモデルを生成するステップS24と、3次元メッシュを出力するステップS25とから成る。ここで、ステップS23は、符号付距離を算出するステップS23A(第1ステップ)と、算出された符号付距離を加算(統合)するステップ23B(第2ステップ)とを含む。また、本実施例では、ステップS23とステップS24を、3次元空間のボリュームのスライスごとに、逐次的に行なう。各ステップの詳細を以下に説明する。
ステップS20:形状データの入力
本ステップでは、複数の形状データが入力される。ここで、形状データは、例えば、上記した第2の実施の形態におけるステップS10の手法により獲得することができる。入力される形状データは、画像距離の形式である。
ステップS21:テクスチャの形成
本ステップでは、距離画像テクスチャ及び重みテクスチャを生成する。
先ず、GPUを用いた計算を行うため、距離画像をテクスチャへ変換するための手順と、上記した式(1)の重み部分を事前に計算するための重み画像テクスチャの作成手順を説明する。
GPU上で画像を扱うためには、距離画像をテクスチャ(距離画像テクスチャ)に変換する必要がある。
本形態で用いる距離画像は画素値に符号付距離場を持っているが、すべての画素に距離値があるわけでなく、距離値が定義されていない欠損部分を持つ。距離画像のサブピクセルをサンプリングする場合、符号付距離場は隣接面素の距離値の線形補間で計算することができる。隣値する画素の距離値が欠損している場合は、サブピクセルのサンプリグした値も欠損している。
以上のことから、GPU上にて距離画像テクスチャで距離値と欠損状態を表し、効率的に扱うため次のようにテクスチャを作成する。まず、輝度(luminance)とアルファ(alpha)の浮動小数点値テクスチャを作り、輝度(luminance)チャンネルに距離値を、アルファ(alpha)チャンネルに欠損状態(0=欠損、1=欠損無し)を持つ浮動小数点値輝度アルファテクスチャ(luminance alpha)を作成する。
このようなテクスチャとし、サブピクセルを線形補間でサンプリングすると、隣接ピクセルの欠損状態チャンネル(アルファチャンネル)の値が1(欠損無し)であれば、距離値チャンネル(輝度チャンネル)の値が距離値となる。欠損チャンネルの値が1でなければ、隣接ピクセルのいずれか(1つ以上)が欠損していると判断することができる。このように距離画像テクスチャを作成することで、GPU上で高速に距離値を得ることが可能となる。
次に、重み画像テクスチャを作成する。上記した式(1)の計算には、符号付距離場の重みが必要となる。本形態ではこの重みをGPU上で計算するために、重みを格納したテクスチャを作成する方法について述べる。
符号付距離場の重みは距離画像から計算することができる。具体的には、距離画像の各画素について、カメラから見た視線方向が計算できる。また、各画素の周辺画素を含めた近傍から法線方向が計算できる。重みは、インデックスiの距離画像の画素pの位置の法線方向をN(p)、視線方向をV(p)とした損合、法線方向と視線方向の内積N(p)V(p)となる。距離画像のすべての画素pの重みw(p)=N(p)V(p)を計算し、重み画像を作成する。ただし、距離画像の画素pが欠損していた損合は、重みは用いられないため未定義な値でよい。実際にテクスチャとして用いる場合は、前記した距離画像テクスチャと同様に欠損状態を持つが、欠損状態となるサブピクセルは距離画像テクスチャと同一な位置である。そのため、重み画像では距離画像テクスチャと一緒に用いるため欠損状態をアルファチャンネル等に持たせる必要はない。
本形態では、重みの算出をGPUでは行っておらず、CPUで事前に行っている。重み画像を事前に計算する理由は、処理速度効率化のためである。距離画像のみをテクスチャデータとし、GPUのピクセルシェーダ上でボクセル位置vの重みを計算することも可能であるが、そのためには、距離画像の対応するテクセルだけでなく、面の方向を求めるため周辺のテクセルも必要であり、計算負荷が大きくなる。
また、本実施形態では重みを表すテクスチャを、距離画像のテクスチャと別に作成しているが、距離画像のアルファチャンネルに重みを入力することで、距離画像テクスチャに重み情報を持たせても良い。その場合、特殊な数値をアルファチャンネルに格納することで、欠損状態を表すことができる。
ステップS22:出力バッファの指定
次に、3次元空間ボリュームのスライステクスチャを生成し、出力バッファに指定する。符号付距離場は、GPUを用いてボリュームスライス単位で計算される。上記したように、GPUはフレームバッファと呼ばれる2次元画像へ計算結果を格納する。このフレームバッファに対して計算を行った結果は、通常スクリーン上で描画され、モニタ上に表示される。しかしながら本形態ではボリュームスライスがモニタ上に表示される必要性は無い。GPUには、Render To Texture(RTT)というフレームバッファへの書き込みをテクスチャへの書き込みとする機能があるため、この機能を用いボリュームスライスをテクスチャとして生成を行うことができる。
ステップS23:符号付距離の統合
本ステップでは、GPUの機能を用いて、各々の距離画像から符号付距離を算出し(ステップS23A)、算出された符号付距離を加算する(ステップS23B)。具体的には、本ステップでは、画像距離テクスチャと重みテクスチャとを切り替えながら、スライステクスチャ全体のレンダリングを繰り返して実行する。ここで、符号付距離を計算するステップS23Aは、GPUのシェーダを用いて実行される。そして、符号付距離を加算するステップS23BはGPUのブレンディング機能を用いて実行される。
図8に示すように、GPUは三角形ポリゴンをフレームバッファ上へレンダリングする。フレームバッファはボリュームスライスと同等に扱うため、ボリュームスライスの各ボクセルごとに1回ずつ計算が行われる必要がある。非常に単純ではあるが、(−1、−1)、(1、−1)、(−1、1)、(1、1)の頂点が成す正方形ポリゴンを入力として与え、この正方形ポリゴンがフレームバッファ全体を描画するように各種パラメータ(model、view、projection行列やviewport)を設定することによって、フレームバッファへの描画を行う。
上記の例では、ボリュームスライスが正方形であると仮定しているが、ボリューム領域が直方体の場合、ボリュームスライスが長方形になる場合もある。
また、上記の例では、フレームバッファ全体に対して、単一のポリゴンの描画命令を発行することで、ボリュームスライス全体についての符号付距離場を求めているが、より小さな図形の描画命令によって、フレームバッファへの一部のみの符号付距離場を求めることもできる。
また、符号付距離場を求めたい領域全体に一つの図形の描画命令を発行するのではなく、その領域を多数の小さな図形に分割して、小さな図形の集合として描画することで、小さな図形の頂点すべてについて頂点シェーダが働き、ピクセルシェーダでの処理の一部を頂点シェーダに移すこともできる。
頂点シェーダでは、正方形ポリゴンの各頂点変換を計算するが、その際ボリューム空間上でのスライス位置vが必要となるため、スライス位置vを頂点シェーダで計算し、ピクセルシェーダへ渡す必要がある。このスライス位置はピクセルシェーダ上では、各頂点から補間された値となっており、各ピクセルシェーダ上ではvの値は、ピクセルシェーダの計算対象となるボクセルの位置となる。
一辺の長さがvのボリュームである場合、ボリュームの生成位置を(x、y、z)から(x+v、y+v、z+v)とし、z軸の位置z上にxy平面のスライスを対象とすると、正方形ポリゴンの各頂点(x、y)から、ボリューム上での位置(x、y、z)は次式で計算することができる。
上記に述べたように計算することによって、GPU上でボリュームのスライス単位での描画が可能となる。しかしながら、描画対象となるボリュームスライスはテクスチャとして表現する必要があるため、このボリュームスライスの画素が持つチャンネルを決定する必要がある。ここでは、通常のテクスチャマッピングで利用される場合のテクスチャとは異なり、符号付距離場を格納する必要がある。更に、符号付距離場は浮動小数点数で表す必要があるため、浮動小数点数テクスチャを利用する。また、符号付距離場が欠損しているかどうかを判断するフラグも必要となる。
本形態では、符号付距離場を格納するチャンネルに輝度(luminance)を利用し、欠損フラグを格納するチャンネルにアルファ(alpha)を用い、各チャンネルは32bit浮動小数点数を利用する。ただし、欠損フラグはアルファ値が0の場合を欠損状態とし、それ以外の場合は欠損していない状態とする。
次に、テクスチャへのフレームバッファの書き込みを行う。OpenGLにおいてこの機能を利用するためにはpbfferか、EXT framebffer object拡張を用いる方法がある。pbfferを利用する場合は、pbfferと呼ばれるバッファを作成し、このバッファに対してレンダリングを行うように指定することで実現する。EXT framebffer object拡張を利用する場合は、pbfferではOSに依存する処理が必要となるが、OS依存の処理が必要なく容易に実装できる。
本形態ではどちらの機能を用いても支障がないため、容易に実装可能で、ピクセルフォーマットに依存せず拡張性の高いEXT framebffer objectを利用した。
ステップS23A:符号付距離場の算出
このステップでは、単一の距離画像からスライスへのGPUを用いた符号付距離場の計算を行う。
まず、頂点シェーダで処理された頂点はラスタライゼーションによって、フレームバッファ上で対応する各ピクセルごとにシェーディング計算が行なわれる。スライスに対してはラスタライゼーションによって図8に示すように、フレームバッファ(ボリュームスライス)全体に対してピクセルシェーダによる計算を行なうことが可能となっている。入力としてインデックスiの単一の距離画像が与えられた場合、各ボクセルvの符号付距離場の計算の式は、次式のように単純化することができる。
この計算を行うために、予め次の値が必要となる。まず、距離画像そのもの、距離画像を撮影したカメラのカメラパラメータ(内部パラメータ、外部パラメータ両方)、重みが格納された重み画像、符号付距離場の範囲を制限するための閾値が必要となる。重みが格納された重み画像が必要となるが、重みの算出方法は上記したとおりである。
ピクセルシェーダ(GPU)での計算アルゴリズムは以下のような手順となる。
入力値:ボクセル位置v(vは前述の頂点シェーダの出力)
Step1:カメラパラメータから、vの距離画像空間上の位置pを計算する。
Step2:距離画像についてpの位置のテクセルをサンプリングする。このテクセルは視点からボクセルvに向かう方向での物体形状までの距離でありlengthとする。
Step3:lengthが欠損していた場合は、このピクセルシェーダの計算を破棄し終了する。
Step4:ボクセルと視点までの距離と、lengthの距離の差を計算し、符号付距離場d(v)とする。
Step5:符号付距離場d(v)が、指定された閾値を越えていた場合、計算を破棄し終了する。
Step6:距離画像と同様に、重み画像から重みを計算し、w(v)とする。
Step7:ピクセルシェーダの計算結果として、重み付き距離値d(v)w(v)と欠損フラグに欠損無し(1)を返り値とする。
以上のステップを実行させることにより、距離画像から符号付距離場が算出される。
本実施形態では、ピクセルシェーダにおいてStep1の計算を行なっているが、Step1の計算を頂点シェーダによって行なうこともできる。この場合には、フレームバッファに描画するポリゴンあるいは3角形を細かく分割して表示命令を出すことで、多くの頂点においてStep1が実行されるようにする必要がある。
ステップS23B:符号付距離の加算
本ステップでは、先ステップにより算出された符号付距離を加算する。
単一の距離画像の場合は上記した式(1)および式(8)に示すように単純化することができる。しかしながら、複数の距離画像を対象とした場合、インデックスiの距離画像ごとに重み付きの符号付距離場を足し合わせる必要がある。ここで、重み付きの符号付距離場をGPUを用いて足し合わせる方法として、次の3つの手法が挙げられる。
(1)単一の距離画像から計算される符号付距離場のスライスを距離画像ごとに生成しCPUを用いて足し合わせる。
(2)すべての距離画像とその重み画像をテクスチャとしてピクセルシェーダ上へ同時に渡し一度に計算を行なう。
(3)GPUのブレンディング機能を用いて、符号付距離場の加算をフレームバッファ上で行なう。
(1)の方法では、距離画像ごとにスライス画像を生成する必要があり、またその統合にGPUと比較して処理速度の遅いCPUを利用する必要がある。そのため、実装は単純になるが処理時間と使用メモリ量が増えてしまう問題点がある。(2)の方法では、一度に計算を行うため高速に実行できる利点がある。しかしながら、GPUの制約として同時に利用可能なテクスチャの数に制限があり、一つの距離画像ごとに,距離画像を表すテクスチャと重みを表すテクスチャの2枚のテクスチャを利用するため、数枚程度の距離画像しか扱えない問題がある。(3)の方法では、手順としては(1)の手法と同一となるが統合の計算をフレームバッファ上で行い、GPUのブレンディングの機能を使って高速に処理することを期待できる利点がある。本形態では、(3)の方法が好適である。
GPUを用いたブレンディングによる統合は図9に示すような計算方法となる。1つの距離画像と重み画像からスライス単位でレンダリングが行なわれ、各画素ごとに計算結果をブレンディングによる加算合計によって足し合わせを行なう。
ボリュームスライステクスチャの準備から、ボリュームスライスへの符号付距離場のレンダリングまでの手順をまとめると、下記に記述するようなものとなる。
Step1:ボリュームスライステクスチャを作成(準備)し、符号付距離場を0、欠損フラグを0(欠損状態)で初期化する。
Step2:インデックスiの距離画像と重み画像から、フレームバッファへ符号付距離場のスライスのレンダリングを行う。レンダリングによって、GPU内部で頂点シェーダとピクセルシェーダが稼働し、符号付距離の計算が行なわれる。
Step3:レンダリングが行なわれたスライスは、フレームバッファ上でブレンディングによる符号付距離の加算が行なわれる。
Step4:フレームバッファの内容(ボリュームのスライスにおける符号付距離場データ)を、メインメモリなどの記憶装置に転送する。次のインデックスi+1があれば、i=i+1とし、Step2へ戻り、そうでなければ終了する。この繰り返しによって、ボリュームデータ全体の符号付距離場を計算する。このとき、最新の2枚のスライスのみをGPUの記憶装置に保持し、本ステップの繰り返しごとに、ステップS24の方法(下記)によってその2枚のスライス間の等値面を生成するようにすることで、記憶装置の容量を大幅に節約することができる。
上記の記述では、Step4において、ボリュームスライスを移動しながらの繰り返しにともない、逐次的に等値面を生成する方法を述べている。しかしながら、ボリューム全体について符号付距離を計算し、その後に等値面を生成してもかまわない。ただし、その場合は、大きな記憶容量が必要となる。
ステップS24:メッシュの生成
次に、先ステップにて算出された符号付距離場から等値面を生成する。即ち、符号付距離場からメッシュモデルへの変換を行う。符号付距離場からメッシュへの変換にはMarching Cubes法を用いる。Marching Cubes法は、符号付距離場に欠損が無い場合であれば、そのまま用いることが可能である。欠損がある場合のMarching Cubes法の計算は、あるボクセル中心に隣接する8個のボクセルの符号付距離場に一つでも欠損があった場合は形状を生成しなければ良い。したがって、欠損がある場合はMarching Cubes法の計算をスキップすることで若干高速化を図ることが可能となる。符号付距離場を計算するコストと、符号付距離場からMarching Cubes法によってメッシュを生成するコストを比較した場合、符号付距離場を計算するコストがほとんどとなるため、本形態では、Marching Cubes法をそのまま用いている。
本実施例では、ボリュームデータの各スライスについて符号付距離場を計算する繰り返しループの内部で、最新の2枚のみのスライスの間のメッシュを、Marching Cubes法によって逐次的に行なっている。従って、ボリュームデータ全体を記憶装置に格納する必要が無く、記憶装置の使用量を削減できる利点がある。
具体的には、符号付距離場は3次元ボリューム構造となっている、解像度N×N×Nのボリュームを同時にメモリ上に確保する場合、N=1024の解像度、符号付距離場に32bit実数で4GBのメモリを必要とする。現在のGPUでは、これだけのメモリを確保することは不可能である。
MarchingCubes法の計算方法を考慮した場合、各ボクセル中心の近傍8個の符号付距離場のみを1回の処理で必要としている。そのため、符号付距離場からマーチングキューブス法を行い、形状を生成するためには、少なくとも8個のボクセル領域を必要とする。
GPUは二次元画像を対象とする計算に特化しているため、ボリュームのスライス単位の計算であれば高速に行うことが可能である。そのため、周辺8個のボクセルをスライスで得るためには、対象となるボクセルを含む上下2枚のスライスがあれば良いことがわかる。したがって、メモリ使用量は2×N×Nまで削減することができ、N=1024の解像度、32bit実数の距離値の場合8MBのメモリ使用量となり、全体を確保した場合の4GBと比較して大幅に削減することが可能となる。このメモリ使用量は一般的なGPUにとって十分に収まる使用量となっている。
そして、上記したステップにより生成された3次元メッシュの情報は、HDD等の記憶手段に出力されて格納される。
ここで、MarchingCubes法による等位面の計算は、GPUのジオメトリシェーダで行なってもよい。
<第5の実施の形態:実験結果の説明>
提案手法の有効性を示すため、二種類のデータを用いて実験を行った。一つは、メッシュデータとして存在する形状モデルから得られた合成データである。形状モデルから、視点位置を変えながら7個の距離画像を作成した。このとき、アクティブステレオ法による計測を想定して、光源からのocclusionが発生している箇所は、欠損データとした。もう一つは、実際の物体をカメラとプロジェクタを用いたアクティブステレオ法で計測し、得られた実測データ(猪の形をした置物)である。計測は、視点位置を変えながら8回行った。
それぞれのデータを、SC法、volumetric diffusion法(以下VD法)、佐川らによって提案された複数の距離画像から符号付距離場に関しての「コンセンサス」を得る方法(以下コンセンサス法)、及び、上記した本発明の手法(アクティブステレオによる光源位置の情報を使用した場合)によって統合し、メッシュモデルを作成した。SC法とVD法では、符号付距離場は視線距離によって計算され、コンセンサス法では、符号付距離場はユークリッド距離によって計算されている。VD法ではボリュームの拡散を30回繰り返した。また、ボリュームのサイズは、512×512×512とした。高速化のため、本発明の手法ではまず62×62×62の解像度で処理を行い、表面の存在する領域についてのみレンダリングを行った。また、本発明の手法では、補間された部分におけるエイリアシングを防ぐため、ボリュームに対して3×3×3の平滑化フィルタを適用した場合と、適用しない場合の処理を行った(SC法およびVM法では行わなかった)。SC法、VD法、本発明の手法はIntel社Zeonプロセッサ(2.8GHz)のCPUと、nVidia社GeForce8800GTXのGPUを搭載したPCで実行し、コンセンサス法については、Opteron275(2.2GHz)x2個(合計4CPU)構成のPCで実行した。
補間なしの場合の統合結果を図12、それぞれの方法による補間処理の結果(本発明の手法は平滑化を適用した場合)を図13、図14に示す。ここで、図12(A)は合成データであり、図12(B)は実測のデータであり、両画像共に補完が行われていない。この図12(A)の場合、1024x1024x1024のボリュームで統合するために要した処理時間は、CPUの場合が1635秒、GPUの場合が142秒であり、GPU処理により非常に高速化されていることが分かる。
図13(A)はSC法による結果であり、図13(B)はVD法による結果であり、図13(C)はコンセンサス法による結果であり、図13(D)は本実施の形態の手法による結果である。
更に、図14の各図も図13と同様であり、図14(A)はSC法による結果であり、図14(B)はVD法による結果であり、図14(C)はコンセンサス法による結果であり、図14(D)は本発明の手法による結果である。ここで、図13(D)および図14(D)では、平滑化処理が施されている。
更に、符号付距離場と判別関数C(v)とを、ある平面で切断した画像を図15の各図に示す。具体的には、図15(A)は補完が行われていない符号付距離場を示し、図15(B)はSC法によるものであり、図15(C)はVD法によるものであり、図15(D)は本発明の手法によるものであり、図15(E)は図15(A)の耳下部の拡大図であり、図15(F)は図15(C)の耳下部の拡大図であり、図15(G)は判別関数を示す図である。
ここで、図15の各図の色の対応に関して説明する。図15(A)、図15(B)および図15(C)では、灰色の部分がUnseen、黒色の部分がEmpty、白の部分がNearSurfaceを表している。そして、図15(D)では、灰色の部分が物体内部を示し、黒の部分が物体外部を示している。また、図15(G)では、判別関数が正の値を薄い灰色で示し、判別関数が負の部分を濃い灰色で示している。
図13(A)及び図14(A)から、合成データ、実測データどちらの場合でも、SC法では対象物体の周囲に余分なメッシュが生じている。これは物体の周囲の符号付距離場に、Unseen(未観測)の「削り残し」(図15(B)における対象物体外部の灰色の領域)が発生し、UnseenとEmptyの間に余分なメッシュが生じたためである。対象物体のメッシュとこれらのメッシュが分離していれば、こうしたメッシュは取り除かれるが、今回用いたデータでは余分なメッシュと対象物体が連結し、図に示すような結果となった。
また、図13(B)を見ると、VD法ではウサギの像の底面部分の穴は補間されているが、耳の下部や胸の部分において望ましくない方向に穴の周辺のメッシュが広がっている。これは、図15(E)から見て取れるように、これらの領域においては、形状の法線方向と距離画像の計測方向が大きく違うため、符号付距離場のNearSurfaceとUnseenの境界面(図15(E)の濃い灰色で示される直線状の部分)が、法線方向とは異なる方向に生じ、これにより、フィルタによる等値面の拡大が、形状の表面の広がりとは違う方向に起こるため(図15(F)では右下方向に等値面が拡大している)であると考えられる。同様な現象は、実データにおいても起こっている(図14(B))。
一方、図13(C)および図14(C)を参照して、コンセンサス法では全ての穴が埋まり、穴の部分に生成された曲面が平坦なものになったことから、補間の品質は実験された手法の中では最も良いものになった。ただし、コンセンサス法では、符号付距離場の計算にユークリッド距離を用いるため、処理には大きな時間がかかった。
本発明の手法では、図13(D)および図14(D)を参照して、穴の部分に生成された曲面は、不自然になっている部分があるが、全ての穴が埋まり、補間の品質としてはコンセンサス法に次いで良いものになっている。また、メッシュのトポロジーは、球体と等しくなった。このことから、補間された曲面に対してメッシュの曲率の最小化などの処理を施すなどの後処理により、結果の改善が可能であると思われる。
また、図15(G)より、判別関数C(v)が正となる領域(白色の部分)は、対象物体の形状の粗い近似になっていることがわかる。
計算時間については、図10の表により、提案手法では、平滑化を行わない場合(SC法、VD法では平滑化をしていない)にはSC法の0.45〜0.55倍、VD法の0.15〜0.17倍、平滑化を行った場合でもSC法の0.65〜0.74倍、VD法の0.21〜0.23倍の計算時間で終了したことが分かる。このことから、提案手法をGPUで実装することにより、高い効率で、かつ品質の高い補間結果が得られたことが分かる。また、図11の表には、本発明の手法における実行時間の内訳が記載されている。
本発明は、CGモデリング、リバースエンジニアなどにおける、3次元形状復元ソフトウェアに適用できる。本発明をこれらのソフトウェアに適用させることで、ソフトウェアが3次元形状を精密に生成するのに必要とされる時間が短縮される。
本発明の画像処理装置を示す図である。 本発明の画像処理方法を示すフローチャートである。 Space Carving法による補間を示す図である。 本発明に於けるボクセルのクラスを説明するための図である。 アクティブステレオ法を説明するための図である。 本発明の画像処理装置を示す図である。 本発明の画像処理方法を示すフローチャートである。 ボリュームスライスへのレンダリングステップを示す図である。 GPUを用いたブレンディングによるスライスの統合を示す図である。 本発明と他の手法の画像処理にかかる処理時間を示す表である。 図10に示した本発明の処理の処理時間の内訳である。 (A)および(B)は、補間無しの統合結果を示す図である。 (A)乃至(D)は、補間を行った場合の統合結果を示す図である(合成データ)。 (A)乃至(D)は、補間を行った場合の統合結果を示す図である(実測データ)。 (A)乃至(F)は符号付き距離場の断面図であり、(G)は判別関数の断面図である。
符号の説明
10 画像処理装置
12 画像処理部
12A 符号付距離算出部
12B 統合部
12C 分類部
12D 推定部
12E 判定部
12F 等値面形成部
14 制御部
16 入力部
18 記憶部
20 表示部
22 操作部
30 画像処理装置
32 画像処理部
32A 第1記憶領域
32B 第2記憶領域
32C 符号付距離算出部
32D 符号付距離統合部
32E 等値面形成部
34 制御部
36 入力部
38 記憶部
40 表示部
42 操作部

Claims (24)

  1. 物体の形状を表す複数の形状データを統合する画像処理装置であり、
    3次元空間を分割した単位であるボクセルが表す3次元位置と前記形状データとを入力とし、前記3次元位置と前記形状データとの符号付距離である第1符号付距離の計算を、前記形状データ毎に行う第1計算部と、
    前記ボクセルが表す3次元位置と、前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記ボクセルが、前記形状の表面付近にあるか、外側にあるか、あるいはそれらのいずれとも決定できないかを分類する第2計算部と、
    前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記いずれとも決定できないと分類されたボクセルが前記形状の内側にあるか外側にあるかを推定する第3計算部と、
    前記表面付近と分類されたボクセルの3次元位置と、前記内側に分類または推定されたボクセルと前記外側に分類または推定されたボクセルとの境界部分に位置するボクセルの3次元位置とを、前記形状の表面位置として算出する第4計算部と、
    を具備することを特徴とする画像処理装置。
  2. 前記形状データの各々に対して算出された前記第1符号付距離を統合して第2符号付距離を計算する第5計算部と、を更に具備し、
    前記第4計算部では、前記表面付近と分類されたボクセルについて前記第2符号付距離の値を付与し、その等値面を前記形状の表面位置とすることを特徴とする請求項1記載の画像処理装置。
  3. 前記第3計算部では、前記第2計算部の結果にかかわらず、全ての前記ボクセルに対して前記推定が行われることを特徴とする請求項1記載の画像処理装置。
  4. 前記第3計算部では、前記形状データに基づいてベイズ推定を行い、
    前記ベイズ推定の確率分布の平均値により前記ボクセルが前記形状の内側にあるか外側にあるかを推定することを特徴とする請求項1記載の画像処理装置。
  5. 前記第3計算部では、前記ベイズ推定と等価な判別関数の値を計算し、この値によって前記ボクセルが前記形状の内側にあるか外側にあるかを推定することを特徴とする請求項1記載の画像処理装置。
  6. 前記第1計算部乃至前記第4計算部の処理のうち、何れか1つ又は複数の処理がGPUにより行われることを特徴とする請求項1記載の画像処理装置。
  7. 前記第1計算部乃至前記第5計算部の処理のうち、何れか1つ又は複数の処理がGPUにより行われることを特徴とする請求項2記載の画像処理装置。
  8. 前記第1計算部および前記第5計算部の処理は、前記3次元空間中の一つの平面上の前記ボクセルの集合であるスライスに対するGPUによる描画機能によって処理されることを特徴とする請求項2記載の画像処理装置。
  9. 前記複数の形状データは、アクティブステレオ法により得られたものを含み、前記第4計算部での推定に、前記形状データを計測する時に利用された光源位置からの光が前記ボクセルを通過しているか否かの情報を利用することを特徴とする請求項1記載の画像処理装置。
  10. 前記第4計算部での推定に、前記ボクセルの位置と、前記光源位置と、前記ボクセルと前記光源位置とを通過する直線と前記形状データとの交点の位置、の3つの位置関係を利用することを特徴とする請求項9記載の画像処理装置。
  11. 前記光源位置から前記形状データまでの距離を表す距離画像を利用して、前記位置関係を得ることを特徴とする請求項10記載の画像処理装置。
  12. 前記第5計算部で計算された第2符号付距離に基づいて等値面を形成する第6計算部を更に具備することを特徴とする請求項2記載の画像処理装置。
  13. 前記第1計算部乃至前記第5計算部の計算は、前記形状データの解像度よりも粗い解像度である第1解像度にて行われ、
    前記形状の表面近くにあると推定される前記ボクセルが存在する領域または、前記形状の内側にあると推定される前記ボクセルと外側にあると推定される前記ボクセルとが接する領域に対して、前記第1解像度よりも細かい解像度である第2解像度で、前記第1計算部乃至前記第5計算部の計算を行うことを特徴とする請求項2記載の画像処理装置。
  14. 形状を表す複数の形状データを統合する画像処理方法であり、
    3次元空間を分割した単位であるボクセルが表す3次元位置と前記形状データとを入力とし、前記3次元位置と前記形状データとの符号付距離である第1符号付距離の計算を、前記形状データ毎に行う第1ステップと、
    前記ボクセルが表す3次元位置と、前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記ボクセルが、前記形状の表面付近にあるか、外側にあるか、あるいはそれらのいずれとも決定できないかを分類する第2ステップと、
    前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記いずれとも決定できないと分類されたボクセルが前記形状の内側にあるか外側にあるかを推定する第3ステップと、
    前記表面付近と分類されたボクセルの3次元位置と、前記内側に分類または推定されたボクセルと前記外側に分類または推定されたボクセルとの境界部分に位置するボクセルの3次元位置とを、前記形状の表面位置として算出する第4ステップと、
    を具備することを特徴とする画像処理方法。
  15. 形状を表す複数の形状データを統合する画像処理装置に、
    3次元空間を分割した単位であるボクセルが表す3次元位置と前記形状データとを入力とし、前記3次元位置と前記形状データとの符号付距離である第1符号付距離の計算を、前記形状データ毎に行う第1機能と、
    前記ボクセルが表す3次元位置と、前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記ボクセルが、前記形状の表面付近にあるか、外側にあるか、あるいはそれらのいずれとも決定できないかを分類する第2機能と、
    前記複数の形状データまたは前記第1符号付距離のいずれか一方あるいは両方から、前記いずれとも決定できないと分類されたボクセルが前記形状の内側にあるか外側にあるかを推定する第3機能と、
    前記表面付近と分類されたボクセルの3次元位置と、前記内側に分類または推定されたボクセルと前記外側に分類または推定されたボクセルとの境界部分に位置するボクセルの3次元位置とを、前記形状の表面位置として算出する第4機能と、
    を実行させることを特徴とするプログラム。
  16. GPUの計算機能を用いて、入力された複数の形状データを統合する画像処理装置であり、
    前記GPUの記憶部の一部であると共に、前記形状データが格納される第1記憶領域と、
    前記GPUの記憶部の一部であると共に、3次元空間を分割した要素であるボクセルの情報が格納される第2記憶領域と、
    前記GPUの計算機能の一部であると共に、前記ボクセルが表す3次元位置と前記形状データとの符号付距離である第1符号付距離を、前記第1記憶領域から読み出した前記形状データの各々に対して計算する第1計算部と、
    前記GPUの計算機能の一部であると共に、前記ボクセルについて、前記形状データの各々に対して算出された前記第1符号付距離を統合して第2符号付距離を計算し、前記第2符号付距離を前記第2記憶領域に格納する第2計算部と、
    を具備することを特徴とする画像処理装置。
  17. 前記第1計算部および前記第2計算部の処理は、前記3次元空間中の一つの平面上の前記ボクセルの集合であるスライスに対するGPUによる描画機能によって処理されることを特徴とする請求項16記載の画像処理装置。
  18. 前記第1計算部では、前記GPUのシェーダ機能によって前記第1符号付距離が計算されることを特徴とする請求項16記載の画像処理装置。
  19. 前記第2計算部では、前記GPUのブレンディング機能を用いて、前記第2符号付距離を計算することを特徴とする請求項16記載の画像処理装置。
  20. 前記第1計算部および前記第2計算部では、前記GPUのシェーダによって前記第1符号付距離および前記第2符号付距離を計算することを特徴とする請求項16記載の画像処理装置。
  21. テクスチャ領域として確保された前記第1記憶領域に、前記形状データが距離画像として格納されることを特徴とする請求項16記載の画像処理装置。
  22. テクスチャ領域として確保された前記第1記憶領域に、前記形状データと、前記形状データの欠損データを示す値とが、画像として格納されることを特徴とする請求項16記載の画像処理装置。
  23. GPUの計算機能を用いて、入力された複数の形状データを統合する画像処理方法であり、
    前記GPUの記憶部であると共に前記形状データが格納される第1記憶領域と、3次元空間を分割した要素であるボクセルの情報が格納される第2記憶領域とを確保する第1ステップと、
    前記GPUの計算機能により、前記第2記憶領域の前記ボクセルについて、前記ボクセルが表す3次元位置と前記形状データとの符号付距離である第1符号付距離を、前記第1記憶領域から読み出した前記形状データの各々に対して計算する第2ステップと、
    前記GPUの計算機能により、前記第2記憶領域の前記ボクセルについて、前記形状データの各々に対して算出された前記第1符号付距離を統合して第2符号付距離を計算し、前記第2符号付距離を前記第2記憶領域に格納する第3ステップと、
    を具備することを特徴とする画像処理方法。
  24. GPUの計算機能を用いて、入力された複数の形状データを統合する画像処理装置に、
    前記GPUの記憶部であると共に前記形状データが格納される第1記憶領域と、3次元空間を分割した要素であるボクセルの情報が格納される第2記憶領域とを確保する第1機能と、
    前記GPUの計算機能により、前記第2記憶領域の前記ボクセルについて、前記ボクセルが表す3次元位置と前記形状データとの符号付距離である第1符号付距離を、前記第1記憶領域から読み出した前記形状データの各々に対して計算する第2機能と、
    前記GPUの計算機能により、前記第2記憶領域の前記ボクセルについて、前記形状データの各々に対して算出された前記第1符号付距離を統合して第2符号付距離を計算し、前記第2符号付距離を前記第2記憶領域に格納する第3機能と、
    を実行させることを特徴とするプログラム。
JP2007196740A 2007-07-27 2007-07-27 画像処理装置、画像処理方法およびプログラム Expired - Fee Related JP5120926B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007196740A JP5120926B2 (ja) 2007-07-27 2007-07-27 画像処理装置、画像処理方法およびプログラム
PCT/JP2008/001970 WO2009016808A1 (ja) 2007-07-27 2008-07-24 画像処理装置、画像処理方法およびプログラム
US12/670,953 US8659593B2 (en) 2007-07-27 2008-07-24 Image processing apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007196740A JP5120926B2 (ja) 2007-07-27 2007-07-27 画像処理装置、画像処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009032122A true JP2009032122A (ja) 2009-02-12
JP5120926B2 JP5120926B2 (ja) 2013-01-16

Family

ID=40304052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007196740A Expired - Fee Related JP5120926B2 (ja) 2007-07-27 2007-07-27 画像処理装置、画像処理方法およびプログラム

Country Status (3)

Country Link
US (1) US8659593B2 (ja)
JP (1) JP5120926B2 (ja)
WO (1) WO2009016808A1 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101105241B1 (ko) 2010-02-25 2012-01-13 고려대학교 산학협력단 거리값에 기반한 적응적 거리장 합성장치 및 방법
WO2012014545A1 (ja) * 2010-07-27 2012-02-02 株式会社三次元メディア 3次元物体認識装置及び3次元物体認識方法
JP2012529691A (ja) * 2009-06-11 2012-11-22 株式会社東芝 3次元画像生成
JP2013518340A (ja) * 2010-01-26 2013-05-20 サーブ アクティエボラーグ 自動化された三次元マッピング法
WO2013105562A1 (ja) * 2012-01-10 2013-07-18 シャープ株式会社 画像処理装置、画像処理方法、画像処理プログラム、撮像装置、及び画像表示装置
JP2013544449A (ja) * 2010-09-08 2013-12-12 マイクロソフト コーポレーション 構造化光および立体視に基づく深度カメラ
KR101471646B1 (ko) * 2012-08-21 2014-12-26 인하대학교 산학협력단 Gp-gpu를 이용한 3d 의료 영상 정합의 병렬처리방법
JP2015125685A (ja) * 2013-12-27 2015-07-06 Kddi株式会社 空間構造推定装置、空間構造推定方法及び空間構造推定プログラム
CN106105192A (zh) * 2014-01-03 2016-11-09 英特尔公司 通过深度相机的实时3d重建
JP2016224674A (ja) * 2015-05-29 2016-12-28 株式会社日立製作所 点群データモデル化装置、および点群データモデル化方法
JP2017157208A (ja) * 2016-02-26 2017-09-07 株式会社ワン・トゥー・テン・イマジン 三次元モデルの作成方法、三次元モデル作成装置、三次元モデル作成システム、及び三次元モデル作成用プログラム
US10732411B2 (en) 2016-12-12 2020-08-04 Samsung Electronics Co., Ltd Methods and devices for processing motion-based image
JP2021507404A (ja) * 2017-12-22 2021-02-22 マジック リープ, インコーポレイテッドMagic Leap,Inc. 高速立体再構成のための視点依存ブリック選択
JP2021043206A (ja) * 2020-10-27 2021-03-18 株式会社ニコン 検出装置、検出方法、情報処理装置、及び処理プログラム
JP2021047932A (ja) * 2015-11-20 2021-03-25 マジック リープ, インコーポレイテッドMagic Leap,Inc. Rgbdカメラ姿勢のラージスケール判定のための方法およびシステム
US11222393B2 (en) 2018-12-07 2022-01-11 Fujitsu Limited Information processing apparatus, computer-readable recording medium recording image conversion program, and image conversion method

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110082667A1 (en) * 2009-10-06 2011-04-07 Siemens Corporation System and method for view-dependent anatomic surface visualization
JP5615055B2 (ja) * 2010-06-18 2014-10-29 キヤノン株式会社 情報処理装置及びその処理方法
JP5603720B2 (ja) * 2010-09-13 2014-10-08 新日本工機株式会社 検査画像の生成方法、それを用いた画像検査方法、並びに外観検査装置
CN103717995B (zh) * 2011-08-29 2016-05-11 株式会社日立制作所 监视装置、监视系统及监视方法
FR2981772B1 (fr) * 2011-10-21 2017-12-22 Thales Sa Procede de reconstruction 3d d'un objet d'une scene
KR101923619B1 (ko) 2011-12-14 2018-11-30 한국전자통신연구원 멀티 gpu를 이용한 실시간 3차원 외형 복원 모델 생성 방법 및 그 장치
WO2013121471A1 (ja) * 2012-02-16 2013-08-22 パナソニック株式会社 映像生成装置
GB2505936A (en) * 2012-09-17 2014-03-19 Materialise Dental Nv 3D modelling of scanned body
US9836879B2 (en) * 2013-04-16 2017-12-05 Autodesk, Inc. Mesh skinning technique
US20150113372A1 (en) * 2013-10-18 2015-04-23 Apple Inc. Text and shape morphing in a presentation application
JP2015157067A (ja) * 2014-01-21 2015-09-03 株式会社東芝 医用画像診断装置、画像処理装置及び画像処理方法
US9986225B2 (en) * 2014-02-14 2018-05-29 Autodesk, Inc. Techniques for cut-away stereo content in a stereoscopic display
WO2016154359A1 (en) * 2015-03-23 2016-09-29 Golfstream Inc. Systems and methods for programmatically generating anamorphic images for presentation and 3d viewing in a physical gaming and entertainment suite
US10964042B2 (en) 2016-02-26 2021-03-30 Nikon Corporation Detection device, method and storage medium for optically detecting distance from a single viewpoint to an object
US10290136B2 (en) * 2016-08-10 2019-05-14 Zeekit Online Shopping Ltd Processing user selectable product images and facilitating visualization-assisted coordinated product transactions
CN109523621B (zh) * 2018-11-15 2020-11-10 腾讯科技(深圳)有限公司 对象的加载方法和装置、存储介质、电子装置
US11074724B2 (en) * 2018-12-07 2021-07-27 Microsoft Technology Licensing Llc GPU calculation of signed distance fields
JP2022049716A (ja) * 2019-01-30 2022-03-30 シャープ株式会社 画像生成装置、表示処理装置、画像生成方法、制御プログラム、及び記録媒体
JP7339042B2 (ja) 2019-07-16 2023-09-05 矢崎総業株式会社 差動伝送ケーブル及びワイヤーハーネス

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084979A (en) * 1996-06-20 2000-07-04 Carnegie Mellon University Method for creating virtual reality
JP2000111324A (ja) 1998-10-08 2000-04-18 Minolta Co Ltd 3次元形状データの統合処理方法および3次元形状データの表現方法
JP2001084403A (ja) 1999-09-10 2001-03-30 Minolta Co Ltd 3次元データの合成方法及び装置
JP2002056380A (ja) 2000-08-11 2002-02-20 Minolta Co Ltd 3次元形状データの生成方法およびシステム並びに記録媒体
JP2002236936A (ja) 2001-02-09 2002-08-23 Minolta Co Ltd 3次元形状データの生成方法および装置、並びにコンピュータプログラムおよび記録媒体
JP4904638B2 (ja) 2001-06-12 2012-03-28 コニカミノルタホールディングス株式会社 3次元形状データの生成方法および装置並びにコンピュータプログラム
JP2003058904A (ja) 2001-08-09 2003-02-28 Minolta Co Ltd 三次元データ処理装置、プログラム、記録媒体、および三次元データ処理方法
JP4381743B2 (ja) 2003-07-16 2009-12-09 独立行政法人理化学研究所 境界表現データからボリュームデータを生成する方法及びそのプログラム
US7272264B2 (en) * 2003-09-11 2007-09-18 International Business Machines Corporation System and method for hole filling in 3D models

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNG200600111005; 五味田遵ほか: '汎用グラフィクスハードウェアを用いた2次元/3次元剛体位置合わせの高速化' 情報処理学会研究報告 Vol.2005 No.97, 20051007, 25-30頁, 社団法人情報処理学会 *
JPN6008048236; Brian Curless et al.: 'A Volumetric Method for Building Complex Models from Range Images' 1996 SIGGRAPH Conference Proceedings , 1996, p303-312, ACM *
JPN6012001563; 五味田遵ほか: '汎用グラフィクスハードウェアを用いた2次元/3次元剛体位置合わせの高速化' 情報処理学会研究報告 Vol.2005 No.97, 20051007, 25-30頁, 社団法人情報処理学会 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012529691A (ja) * 2009-06-11 2012-11-22 株式会社東芝 3次元画像生成
JP2013518340A (ja) * 2010-01-26 2013-05-20 サーブ アクティエボラーグ 自動化された三次元マッピング法
US9224242B2 (en) 2010-01-26 2015-12-29 Saab Ab Automated three dimensional mapping method
KR101105241B1 (ko) 2010-02-25 2012-01-13 고려대학교 산학협력단 거리값에 기반한 적응적 거리장 합성장치 및 방법
WO2012014545A1 (ja) * 2010-07-27 2012-02-02 株式会社三次元メディア 3次元物体認識装置及び3次元物体認識方法
JP2012026974A (ja) * 2010-07-27 2012-02-09 3D Media Co Ltd 3次元物体認識装置及び3次元物体認識方法
JP2013544449A (ja) * 2010-09-08 2013-12-12 マイクロソフト コーポレーション 構造化光および立体視に基づく深度カメラ
WO2013105562A1 (ja) * 2012-01-10 2013-07-18 シャープ株式会社 画像処理装置、画像処理方法、画像処理プログラム、撮像装置、及び画像表示装置
KR101471646B1 (ko) * 2012-08-21 2014-12-26 인하대학교 산학협력단 Gp-gpu를 이용한 3d 의료 영상 정합의 병렬처리방법
JP2015125685A (ja) * 2013-12-27 2015-07-06 Kddi株式会社 空間構造推定装置、空間構造推定方法及び空間構造推定プログラム
JP2017509035A (ja) * 2014-01-03 2017-03-30 インテル・コーポレーション 深度カメラを用いたリアルタイム3d再構成
CN106105192B (zh) * 2014-01-03 2021-05-18 英特尔公司 通过深度相机的实时3d重建
CN106105192A (zh) * 2014-01-03 2016-11-09 英特尔公司 通过深度相机的实时3d重建
US10178366B2 (en) 2014-01-03 2019-01-08 Intel Corporation Real-time 3D reconstruction with a depth camera
JP2016224674A (ja) * 2015-05-29 2016-12-28 株式会社日立製作所 点群データモデル化装置、および点群データモデル化方法
US11838606B2 (en) 2015-11-20 2023-12-05 Magic Leap, Inc. Methods and systems for large-scale determination of RGBD camera poses
JP7300438B2 (ja) 2015-11-20 2023-06-29 マジック リープ, インコーポレイテッド Rgbdカメラ姿勢のラージスケール判定のための方法およびシステム
JP2021047932A (ja) * 2015-11-20 2021-03-25 マジック リープ, インコーポレイテッドMagic Leap,Inc. Rgbdカメラ姿勢のラージスケール判定のための方法およびシステム
JP2017157208A (ja) * 2016-02-26 2017-09-07 株式会社ワン・トゥー・テン・イマジン 三次元モデルの作成方法、三次元モデル作成装置、三次元モデル作成システム、及び三次元モデル作成用プログラム
US10732411B2 (en) 2016-12-12 2020-08-04 Samsung Electronics Co., Ltd Methods and devices for processing motion-based image
US11398081B2 (en) 2017-12-22 2022-07-26 Magic Leap, Inc. Method of occlusion rendering using raycast and live depth
JP7169358B2 (ja) 2017-12-22 2022-11-10 マジック リープ, インコーポレイテッド 高速立体再構成のための視点依存ブリック選択
US11580705B2 (en) 2017-12-22 2023-02-14 Magic Leap, Inc. Viewpoint dependent brick selection for fast volumetric reconstruction
JP2021507404A (ja) * 2017-12-22 2021-02-22 マジック リープ, インコーポレイテッドMagic Leap,Inc. 高速立体再構成のための視点依存ブリック選択
US11222393B2 (en) 2018-12-07 2022-01-11 Fujitsu Limited Information processing apparatus, computer-readable recording medium recording image conversion program, and image conversion method
JP2022130613A (ja) * 2020-10-27 2022-09-06 株式会社ニコン 検出装置、検出方法、情報処理装置、及び処理プログラム
JP2021043206A (ja) * 2020-10-27 2021-03-18 株式会社ニコン 検出装置、検出方法、情報処理装置、及び処理プログラム

Also Published As

Publication number Publication date
US20100231583A1 (en) 2010-09-16
JP5120926B2 (ja) 2013-01-16
US8659593B2 (en) 2014-02-25
WO2009016808A1 (ja) 2009-02-05

Similar Documents

Publication Publication Date Title
JP5120926B2 (ja) 画像処理装置、画像処理方法およびプログラム
Jones The production of volume data from triangular meshes using voxelisation
JP5111638B2 (ja) パラメトリック曲線をより小さなサブパッチに分割する装置およびその方法
US8743114B2 (en) Methods and systems to determine conservative view cell occlusion
US20070018988A1 (en) Method and applications for rasterization of non-simple polygons and curved boundary representations
US9367943B2 (en) Seamless fracture in a production pipeline
JP2015515059A (ja) シーンにおける不透明度レベルを推定する方法とそれに対応する装置
CN104933749B (zh) 图形图元的裁剪
EP1634248B1 (en) Adaptive image interpolation for volume rendering
US20080012853A1 (en) Generating mesh from implicit surface
Litvinov et al. Incremental solid modeling from sparse and omnidirectional structure-from-motion data
JP2021022032A (ja) 合成装置、方法及びプログラム
Schollmeyer et al. Direct trimming of NURBS surfaces on the GPU
Scholz et al. Real‐time isosurface extraction with view‐dependent level of detail and applications
US20180061124A1 (en) Parallel micropolygon rasterizers
JPH09138865A (ja) 3次元形状データ処理装置
Jabłoński et al. Real-time voxel rendering algorithm based on screen space billboard voxel buffer with sparse lookup textures
Ivo et al. Improved silhouette rendering and detection of splat-based models
KR20200018207A (ko) 반사들을 렌더링하는 시스템들 및 방법들
Konev et al. Fast cutaway visualization of sub-terrain tubular networks
Furukawa et al. Improved space carving method for merging and interpolating multiple range images using information of light sources of active stereo
Xiong et al. ETER: Elastic Tessellation for Real-Time Pixel-Accurate Rendering of Large-Scale NURBS Models
Eichelbaum et al. Fabric-like visualization of tensor field data on arbitrary surfaces in image space
Qu et al. A framework for sample-based rendering with O-buffers
Feng et al. View-independent contour culling of 3D density maps for far-field viewing of iso-surfaces

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120116

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120220

AA92 Notification of invalidation

Free format text: JAPANESE INTERMEDIATE CODE: A971092

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120704

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120925

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121018

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees