以下、本実施形態について説明するが、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、形状計測システムおよび撮像装置として、3次元形状計測システムおよび3次元形状撮像装置を一例として説明する。
図1は、本実施形態による3次元形状計測システム100の概略構成および3次元形状撮像装置110の外観を示す図である。図1に示す3次元形状計測システム100は、3次元形状撮像装置110と、この3次元形状撮像装置110に接続される情報処理装置160とを含み構成される。3次元形状撮像装置110と情報処理装置160との間は、特に限定されるものではないが、有線LAN(Local Area Network)、無線LAN、有線USB(Universal Serial Bus)、無線USB、Bluetooth(登録商標)などの有線または無線の通信路を介して接続されている。
3次元形状撮像装置110は、計測対象となる物等(以下、計測対象物という。)の3次元形状を計測するために、計測対象物を全方位にわたる多視点から一括で撮像する撮像装置である。3次元形状撮像装置110の筐体は、台座112と、外部環境からの光を遮光する遮光ドーム114と、ジオデシックドーム(Geodesic Dome)形状を有する基板フレーム116と、計測対象物を載置する対象物テーブル118と、基板フレーム116に固定される複数の基板ユニット120とを含み構成される。
基板ユニット120は、本実施形態において、筐体内に設置される計測対象物を撮像するために基板フレーム116に固定される基本ユニットである。基板ユニット120は、1または複数の照明部と、1または複数の撮像部とを含み構成される。基板ユニット120は、基板ユニット120が基板フレーム116の適切な位置に固定されると、これらの照明部および撮像部が、対象物テーブル118上の所定位置に配置された計測対象物の方向を向くように、構成されている。
基板フレーム116は、筐体内に備えられ、上述した撮像部および照明部がジオデジック・ドーム形状に配置されるように、基板ユニット120を接続して保持する保持手段である。基板フレーム116は、すべての基板ユニット120が基板フレーム116の所定の箇所に固定されると、全体として、対象物テーブル118上に配置された計測対象物を全方位にわたる多視点から撮像し、3次元情報を全方位から取得できるように構成されている。
遮光ドーム114は、閉じ合わせると基板フレーム116を包含する、上下の半球部114T,114Bを含み構成される。遮光ドーム114が分割された構成に対応して、上述した基板フレーム116は、上半球部114Tに対応する上部基板フレーム116Tと、下半球部114Bに対応する下部基板フレーム116Bとに分割されている。遮光ドーム114は、好適には、上下の半球部114T,114Bが閉じ合わせられると、筐体内部への外部光を遮光できるように構成されている。また、好ましくは、遮光ドーム114T,114Bの内面は、例えば、つや消し表面加工や、黒塗り加工などがなされて、内面での光の反射が低減されるような加工が施されている。また、遮光ドーム114は、基板ユニット120からの電源ケーブルや通信ケーブルなどのケーブル類を筐体から取り出せるように構成されている。なお、遮光ドーム114の形状は、図1に示すような球体でなくともよく、他の形を採用することもできる。
対象物テーブル118は、計測対象物を所定の位置(例えば、ジオデシックドーム形状の中心)に載置するためのテーブルである。対象物テーブル118は、好ましくは、下半球部114Bに対応する下部基板フレーム116Bからの撮像をできるだけ妨げないよう、計測対象物の大きさに応じて最小の大きさとなるように構成されている。また、対象物テーブル118の材質は、特に限定されるものではないが、撮像部に対して計測対象物が隠れてしまわないように、透明材料で構成することができる。さらに、計測対象物の大きさに応じて対象物テーブル118の高さを変更できるようにしてもよい。さらに、支柱を有するテーブルに限定されるものではなく、吊り下げ形式のテーブルとしてもよい。
情報処理装置160は、3次元形状撮像装置110と接続されて、3次元形状撮像装置110に対し、撮像条件および照明条件などの種々の設定値を設定するとともに、3次元形状撮像装置110により撮像された3次元情報(複数の視点からの撮像画像を含む。)を受信し、3次元形状を演算し、3次元モデルを生成する。情報処理装置160は、また、この生成された3次元モデルに基づいて、所定の視点から計測対象物を観察した場合の画像を仮想的に復元し、情報処理装置160が備えるディスプレイ上に表示することができる。なお、立体視が可能なディスプレイとし、3次元画像を復元してもよい。
図2は、図1に示した基板フレーム116が有するジオデシックドーム形状を説明する図である。ジオデシックドームとは、正十二面体や正二十面体などの正多面体、または、切頂二十面体などの半正多面体(凸多面体でありかつ一様多面体である多面体のうちの正多面体以外の多面体が含まれる。)を基礎とし、さらに対称性をできるだけ維持しながら、多面体を構成する正多角形を2以上に細分割し、これにより生じた頂点を外接球面へ投影して構成される、略球体を近似する多面体形状を有するドーム状構造をいう。図2に示すジオデシックドーム形状GDは、正二十面体を基礎とし、正二十面体を構成する各正三角形TAの3辺を3等分し、分割した9つの正三角形の頂点を外接球面上に投影することにより生成されたものである。
図2に示す例では、正二十面体の20面の各正三角形を、さらに、9分割しているため、全体で180つの面が存在する。そして、図1および図2に示す実施形態では、合わせて180面体を構成する基板フレーム116T,116Bの各面に基板ユニット120を張り付けることによって、ジオデシックドーム形状に1以上の撮像部および1以上の照明部が配置された構造が実現される。その他、特に限定されるものではないが、合わせて20面体を構成する基板フレーム116T,116Bの各面に、各9面の三角形の基板ユニット120が張り付けられたサブフレームを固定することによって実現してもよい。
このように、ジオデシックドーム形状の各面に基板ユニット120を張り付けて固定することによって、大きな費用をかけることなく、全ての撮像部および全ての照明部を、計測対象物からの距離および密度がともに同程度となる位置に全方位にわたり配置することが可能となる。
3次元形状計測においては、全ての撮像部および全ての照明部が、計測対象物から等距離かつ等密度に配置されていることが望ましいところ、図1および図2に示すようなジオデジック・ドーム形状を採用することにより、コスト上実際には作成することが難しい球体を近似する形状を実現し、照明部および撮像部を均等に配置することが可能となる。また、図1および図2に示すジオデシックドーム形状では、解放された面が無いように構成できるので、全方位にわたり撮像することが可能であり、3次元形状計測装置内に入射する外部光を遮光することもできる。
図3は、基板ユニット120の表面(撮像部および照明部が積載され、計測対象物を向いている面)の概略構成を示す図である。基板ユニット120は、基板122と、基板フレーム116に固定するための基板固定部124と、計測対象物の3次元情報を取得するため撮像を行う1または複数の撮像部126と、計測対象物を照明するための1または複数の照明部128とを含み構成される。
基板固定部124は、例えばネジなどの締結部材を設ける箇所であり、当該基板ユニット120を基板フレーム116の所定位置に固定するために用いられる。図3に示す実施形態では、三角形状の基板122の3隅に基板固定部124T,124L,124Rが設けられている。撮像部126は、CMOS(Complementary Metal-Oxide-Semiconductor)イメージセンサなどの固体撮像素子を含む。図3に示す実施形態では、ピラミッド状に合計10個の撮像部126が基板122上に設けられている。照明部128は、LED(Light Emitting Diode)やOLED(Organic Light Emitting Diode)などの発光素子を含む。図3に示す実施形態では、ピラミッド状に設けられた10個の撮像部126をそれぞれ取り囲んで、合計10個の照明部128が基板122上に設けられている。
複数の撮像部126は、それぞれ独立して動作するよう構成されている。例えば全ての基板ユニット120に搭載されている撮像部126全てを同時に動作させる場合、計測対象物の3次元情報を全方位から最大の精度で取得することが可能となる。また、絵画などのように下部からの計測が不要な対象物については、上部基板フレーム116Tに固定されている基板ユニット120のみに搭載された撮像部126を動作させることにより、上半球にわたる視点からのみ3次元情報を取得し、無駄を省くことが可能である。
さらに、基板ユニット120に搭載されている複数の撮像部126のうちの、任意のもののみを選択的に動作させてもよい。例えば、すべての基板ユニット120を動作させる一方で、基板ユニット120各々に搭載されている複数の撮像部126のうち、それぞれの中心に設けられた1つの撮像部のみを動作させることができる。さらに、基板ユニット120毎に、動作させる撮像部126(その数および配置)を変更することも可能である。
なお、ひとつの基板ユニット120上の撮像部126の個数は、特に限定されるものではなく、図3では、10個の撮像部を配置する構成を例示しているが、1個、6個、15個など他の数としていいことは言うまでもない。また、複数の撮像部126の配置については、均一な密度を実現することが好ましいが、図3に示すピラミッド形状に限定されるものではない。例えば、中心のみに1つの撮像部126を配置する構成としてもよい。また、撮像部126は、モノクロおよびカラーのいずれを撮像する機能を有していてもよいし、静止画および動画のいずれを撮像する性能を有していてもよい。さらに、好ましい実施形態においては、撮像部126としては、例えば画像情報以外に距離情報を得ることができるToF(Time of Flight)カメラを用いてもよい。ToFカメラを用いることにより、画像情報のほかに、撮像部126から計測対象物までの距離情報を得ることができる。
複数の照明部128についても、撮像部126と同様に、それぞれ独立して動作するよう構成されている。なお、図3に示す照明部128は、より詳細には、各撮像部126を取り囲むように配置された、8つの照明部品(ひとつひとつがLED素子などである。)128a〜128hを含んでいる。そして、このような照明部品128a〜128hも、それぞれ独立して動作するよう構成することができる。
照明部128を構成する照明部品128a〜128hは、それぞれ、同一または異なる発光波長および同一または異なる光度を有している。例えば、照明部128を構成する照明部品128a〜128hのうち赤色の照明部品(例えば128bおよび128fである)のみを点灯させて、撮像部126を動作させることで、赤色の照明条件下での3次元情報を取得することができる。つまり、照明の波長を選択し、ひいては、照明の色合いを調節することが可能となる。
なお、ひとつの基板ユニット120上の照明部128の個数、照明部128を構成する照明部品の個数は、特に限定されるものではない。図3では、撮像部126と同じく10個の照明部128を配置する構成を例示しているが、4個、6個など他の数としていいことは言うまでもない。また、照明部128の配置についても、図3に示すようなピラミッド形状に限定されるものではなく、照明部128内での各照明部品128a〜128hの配置も、撮像部126の周辺に円周状に配置することに制約されるものではない。
例えば図3に示す3つの撮像部126毎に中心に1つの照明部128を配置し、撮像部126を10個および照明手段を6個搭載した基板ユニット120として構成することもできる。また、基板ユニット120の中心にある撮像部を取り外し、取り外した場所に照明部を配置することもできる。また、ひとつの基板ユニット120上には、撮像部126および照明部128のいずれかのみを設けるようにしてもよい。
また、照明部128は、LEDを含むものに限定されるものではなく、プロジェクタ(液晶パネルおよび拡大光学系)を含んでもよいし、レーザダイオード素子を含んでいてもよい。照明部128にプロジェクタを用いる場合には、所定の形状を有するパターン光など任意の形での照射が可能となり、レーザダイオード素子を用いた場合には、ビーム角度を狭くし、光度を高めて計測対象物に照射することによって、3次元形状を演算する際のマーカ(目印)として利用することができる。さらに、照明部128は、単一種類の光源とすることに制約されず、LED素子、プロジェクタおよびレーザダイオード素子の少なくとも2つの混合としてもよい。
図4は、基板ユニット120の裏面(撮像部および照明部が積載された面の裏面)の概略構成を示す図である。基板ユニット120は、電源部130と、撮像部126および照明部128を制御する撮像照明制御部132と、撮像照明制御部132の1次記憶領域を提供する主記憶部134と、2次記憶領域を提供する副記憶部136と、当該基板ユニット120を外部の情報処理装置160と通信させて、制御情報や測定した3次元情報を受信および送信するための情報転送部138とを含み構成される。
電源部130は、各部132〜138に電力を給電し、動作させる。撮像照明制御部132は、CPUやマイクロプロセッサを備えるプロセッサ・ユニット、FPGA(Field Programmable Gate Array)およびこれらの組み合わせ(プロセッサコアが組み込まれたエンベディッドFPGAを含む。)により実現される。主記憶部134は、SDRAM(Synchronous Dynamic Random Access Memory)などにより実現される。副記憶部136は、SDカード(登録商標)やフラッシュメモリ、SSD(Solid State Drive)などにより実現される。情報転送部138は、NIC(Network Interface Card)、USB2.0、USB3.0のインタフェース・カードなどにより実現される。
図4に示す構成では、撮像照明制御部132を構成するプロセッサが、副記憶部136に格納されたオペレーティング・システムなどの制御プログラムを読み出し、主記憶部134が提供する作業領域上に展開することにより、後述する撮像照明制御部132上の各機能部および各処理の一部または全部を実現することができる。また、撮像照明制御部132を構成するプログラマブル・ロジック・デバイスが、副記憶部136に格納されたビットストリームデータを読み出し、コンフィグレーションメモリ上に展開することにより、各機能部および各処理の一部または全部を実現することができる。あるいは、ASICなどの特定回路として、各機能部および各処理の一部または全部が実現されてもよい。
なお、図4に示す構成は、例示であり、機能を実現できる範囲内で、機能の集約およびデバイスの削減を行うことができる。例えば、撮像照明制御部132を起動するための制御プログラムを、情報転送部138を経由してネットワーク取得し、ブートすることが可能であれば、副記憶部136は必ずしも必要ではない。また、充分な不揮発メモリを搭載したFPGA製品も存在するので、そのようなFPGA製品を用いる場合も、副記憶部136は必ずしも必要ではない。
図5は、本実施形態による情報処理装置160のハードウェア構成を示す図である。本実施形態による情報処理装置160は、ノート型、タブレット型、デスクトップ型のパーソナル・コンピュータ、ワークステーションなどの汎用コンピュータなどとして構成されている。図5に示す情報処理装置160は、シングルコアまたはマルチコアのCPU162と、CPU162とメモリとの接続を担うノースブリッジ164と、該ノースブリッジ164と専用バスまたはPCIバスを介して接続され、PCIバスやUSBなどのI/Oとの接続を担うサウスブリッジ166とを含む。
ノースブリッジ164には、CPU162の作業領域を提供するRAM168と、映像信号を出力するグラフィックボード170とが接続される。グラフィックボード170には、アナログRGB、HDMI(High-Definition Multimedia Interface,登録商標)、DVI(Digital Visual Interface,登録商標)、DisplayPort(登録商標)などの映像出力インタフェースを介してディスプレイ190に接続される。
サウスブリッジ166には、PCI(Peripheral Component Interconnect)172、LANポート174、IEEE(The Institute of Electrical and Electronics Engineers, Inc.)1394ポート176、USB(Universal Serial Bus)ポート178、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの補助記憶装置180、オーディオ入出力182、シリアルポート184が接続される。補助記憶装置180は、情報処理装置160を制御するためのOS、後述する機能部を実現するための制御プログラムや各種システム情報や各種設定情報を格納する。LANポート174は、情報処理装置160をLANなどのネットワークを介して3次元形状撮像装置110に接続させるインタフェース機器である。
USBポート178には、キーボード186およびマウス188などの入力装置が接続されてもよく、当該情報処理装置160の操作者からの各種指示の入力を受け付けるためのユーザ・インタフェースを提供することができる。本実施形態による情報処理装置160は、補助記憶装置180から制御プログラムを読み出し、RAM168が提供する作業空間に展開することにより、CPU162の制御の下、後述する各機能部および各処理を実現する。
以下、図6を参照しながら、本実施形態による3次元形状計測システム100における3次元形状計測の基本アーキテクチャについて説明する。図6は、本実施形態による3次元形状撮像装置110の各基板ユニット120および情報処理装置160上の3次元形状計測に関する主要な構成要素およびデータフローを示す図である。図6中、細い矢印は、制御情報の流れを示し、太い矢印は、測定された3次元情報(撮像画像を含む。)の流れを示している。
図6には、基板ユニット120上の主要な構成要素として、1以上の撮像部126と、1以上の照明部128と、撮像照明制御部132と、主記憶部134と、情報転送部138とが示されている。同様に、図6には、情報処理装置160上の主要な要素として、情報転送部192と、演算制御部194とが示されている。
情報処理装置160上の情報転送部192は、当該情報処理装置160を、外部の3次元形状撮像装置110と通信させて、制御情報や測定された3次元情報の送信および受信を行う。情報転送部192は、図5に示したLANポート174やUSBポート178などのインタフェースにより実現される。
情報処理装置160上の演算制御部194は、3次元形状撮像装置110の動作を制御し、すべての基板ユニット120各々の撮像部126および照明部128を統括して、計測対象物の3次元形状を計測するための制御および演算を実施する。演算制御部194は、典型的には、CPU162が補助記憶装置180上の制御プログラムをRAM168の作業領域上に展開することにより、実現される。
本実施形態による3次元形状計測システム100において、基本的な動作は、以下の通りである。情報処理装置160上の演算制御部194は、動作させる撮像部126および照明部128を決定し、情報処理装置160上の情報転送部192と、各基板ユニット120上の情報転送部138とを経由して、各基板ユニット120上の撮像照明制御部132へ制御情報を送信する。制御情報には、基板ユニット120を動作状態とするか否か、基板ユニット120上の撮像部126および照明部128のうちのいずれを動作状態とするか、照明部128に関しては、いずれの照明部品を動作させるか、といった情報が含まれる。
各基板ユニット120においては、撮像照明制御部132は、受信した制御情報に基づき、指定された照明部128を動作させた後、指定された撮像部126を動作させて撮像を行う。各基板ユニット120において、撮像された1または複数の撮像画像は、主記憶部134に転送されて一旦書き込まれる。そして、撮像照明制御部132は、撮像された1または複数の撮像画像を読み出し、3次元情報として構成して、情報転送部138を経由して、後段の情報処理装置160上の情報転送部192に転送する。転送された3次元情報は、演算制御部194によって読み出されて、動作させたすべての基板ユニット120からの3次元情報に基づいて、3次元形状が演算され、3次元モデルが復元される。演算制御部194は、撮像された画像情報に基づき計測対象物の3次元形状を演算する形状演算手段を構成する。
なお、演算制御部194により、撮像された複数の撮像画像から3次元モデルを生成する処理、生成された3次元モデルに基づいて表示画像を生成する処理については、詳細は説明しないが、これまで知られた如何なる方式を採用することができる。
撮像照明制御部132は、その撮像を行う際に、演算制御部194から出力される制御情報に基づいて、動作させる撮像部126および照明部128を制御し、3次元情報を取得する。演算制御部194は、3次元情報の受け取りに際して制御情報による応答を返しつつ、演算結果に応じて、必要な場合に、撮像照明制御部132に対し、新たな制御情報を送信することができる。
ここで、演算制御部194が最初に動作させる撮像部126および照明部128を指示する制御情報は、例えば、ユーザが任意に指定した情報に基づき生成することができる。また、好適な実施形態では、基板ユニット120の撮像照明制御部132における解析結果に基づいて、動作させる撮像部126および照明部128を決定することができる。動作させる撮像部126および照明部128の決定方法については、詳細を後述する。
なお、図1および図6に示した実施形態では、撮像部126および照明部128を制御する撮像照明制御部132から分離して、取得された3次元形状情報およびテクスチャ情報から3次元モデルを生成する演算制御部194を情報処理装置160上に構成するものとして説明した。このような構成は、基板ユニット120側の撮像照明制御部132の演算性能が充分ではない場合に好適に採用することができる。しかしながら、この構成に限定されるものではない。例えば、撮像照明制御部132の演算性能が充分確保できる場合は、図6に示した撮像照明制御部132の機能と、3次元モデルを生成する演算制御部194の機能とを一体的に構成することもできる。
以下、図7および図8を参照しながら、本実施形態による3次元形状計測システム100において、動作させる撮像部126および照明部128を決定し、3次元計測を行う処理の詳細について説明する。
図7は、本実施形態による撮像照明制御部132の詳細な機能ブロック図である。図7に示す撮像照明制御部132は、制御情報受信部140と、制御情報送信部142と、3次元情報受信部144と、3次元情報送信部146と、撮像部照明部選択部148とを含み構成される。
制御情報受信部140は、当該基板ユニット120の情報転送部138からの制御情報を受信する。制御情報送信部142は、制御情報受信部140が受信した制御情報、または3次元情報の解析結果に基づく制御情報を、1以上の撮像部126および1以上の照明部128に送信し、撮像部126および照明部128各々を動作させる。
3次元情報受信部144は、1以上の撮像部126にて撮像された3次元情報(1以上の撮像画像を含む。)を受信する。受信した3次元情報は、一旦、主記憶部134に書き出される。3次元情報送信部146は、主記憶部134から、受信した3次元情報を読み出し、情報転送部138へ送信する。
撮像部照明部選択部148は、3次元情報受信部144が受信した3次元情報、別の手段によって取得された3次元情報、制御情報受信部140が受信した制御情報の少なくとも1つに基づいて、当該基板ユニット120が備える1以上の撮像部126および1以上の照明部128のうちから、動作させる撮像部および照明部(その個数および配置)を選択し、制御情報送信部142に制御情報として渡し、各撮像部および照明部に送信させる。
撮像部照明部選択部148は、得られた3次元情報を解析し、動作させる撮像部126および照明部128を動的に選択する機能を有する。これにより、3次元形状撮像装置110は、計測対象物に応じて動作させる撮像部126および照明部128の個数を動的に切り替えて、必要十分な3次元形状計測を行うことが可能となる。
図7には、撮像部照明部選択部148の詳細なブロック図が示されている。撮像部照明部選択部148は、より詳細には、3次元情報入力部150と、制御情報入力部152と、3次元情報解析部154と、制御情報出力部156とを含み構成される。
3次元情報入力部150は、3次元情報受信部144からの3次元情報の入力を受け付け、3次元情報解析部154へ渡す。制御情報入力部152は、制御情報受信部140からの制御情報(情報処理装置160からの制御情報である。)の入力を受け付け、3次元情報解析部154へ渡す。
3次元情報解析部154は、入力された制御情報および3次元情報を受け取り、受け取った3次元情報および制御情報を解析して、解析結果に基づいて、各撮像部126および各照明部128に対する制御情報を生成し、制御情報出力部156へ渡す。制御情報出力部156は、3次元情報解析部154が生成した制御情報を制御情報送信部142へ出力する。
3次元情報解析部154は、動作させる撮像部および照明部(その個数および配置)を決定するために、撮像部126または他の手段によって取得された計測対象物の3次元情報を解析する機能を有する。すなわち、3次元情報解析部154の解析結果、動作させる撮像部126の個数が少なくとも計測対象物の充分な3次元情報を取得できると判断される場合は、本番の計測において動作させる撮像部126の個数を少なくすることができる。同様に、解析の結果、動作させる照明部128の個数が少なくても充分な3次元情報を取得できると判断される場合は、本番の計測において動作させる照明部の個数を少なくすることができる。このような制御は、基板ユニット120各々に搭載されている撮像部126および照明部128について行うことができる。例えばある基板ユニット120では、計測対象物の比較的に複雑なつくりの部分を撮像するため、3つの撮像部126と5つの照明部128を動作させ、他の基板ユニット120では、比較的に簡素なつくりの部分を撮像するため、1つの撮像部126と1つの照明部128を動作させるといったことがあり得る。
どの程度の3次元情報を取得できる場合に充分と判断するかに関しては、情報処理装置160側からの制御情報に基づいて決定することができる。例えば、照明に関していうと、得られた画像のコントラストなどの画質を定量する指標量に対する閾値や範囲が制御情報として与えられ、指標量が閾値を上回るか否か、範囲内であるか否かによって、動作させる照明部128を増やしたり、減らし、照明を抑えたりすることができる。また、撮像に関していれば、画像や3次元形状の複雑さを定量する指標量に対する閾値や範囲が制御情報として与えられ、指標量が閾値を上回るか否かや、範囲内であるか否かによって、動作させる撮像部126の個数を増減させることができる。
また、以下のように判断することもできる。照度差ステレオ法を用いて仮の撮像を行い、計測対象物の陰影情報を取得する。その際に、撮像の密度を粗くして撮像を行い、陰影のでき方で計測対象物の複雑さを推定する。そして、陰影が複雑で細かい場合は、計測対象物は、形状が複雑であると推定し、計測において駆動させる撮像部126の個数を増大させるといった対応をすることができる。また、照度差ステレオ法に代えて、空間コード化法を用いて仮の撮像を行い、計測対象物の陰影情報を取得してもよい。さらに、他の実施形態では測定対象物の形状から、作業者の経験に基づいて決定することもできる。
以下、図8を参照しながら、動作させる撮像部126および照明部128を決定して3次元計測を行う具体例を説明する。図8は、本実施形態による3次元形状計測システムが実行する3次元計測処理を示すフローチャートである。図8に示す処理は、例えばユーザが情報処理装置160上で計測を指示したことに応答して、ステップS100から開始される。
ステップS101では、計測対象物の認識処理が実行される。例えば、演算制御部194は、まず少数の撮像部および照明部を動作させて、計測対象物を粗く撮像し、その撮像画像に対してパターンマッチングなどを施すことによって、計測対象物を分類する。ステップS102では、認識された計測対象物の種類に応じて、動作させる基板ユニット120を決定する。ここでは、絵画を検出するためのテンプレートや、彫刻を検出するためのテンプレートなどの複数種類のテンプレートが事前に登録されており、各種類毎に、動作させる基板ユニット120が紐付けられているものとする。
例えば、絵画のような測定対象物では、一般的に下部の3次元情報が不要と考えられる。そこで、計測対象物が絵画の種類に分類された場合は、下部基板フレーム116Bの基板ユニット120を非動作状態とし、上部基板フレーム116Tの基板ユニット120を動作状態として決定する。これにより、下部基板フレーム116Bの基板ユニット120に搭載されている撮像部126および照明部128は動作させず、上部の基板フレーム116Tの基板ユニット120に搭載されている撮像部126および照明部128を動作させることができる。
ステップS103では、演算制御部194は、動作させるものとして決定した基板ユニット120の一部の撮像部126および照明部128を動作させるよう制御情報を基板ユニット120に送信し、かかる一部の撮像部および照明部を動作状態とする。ステップS104では、決定された基板ユニット120の一部の撮像部126および照明部128を動作させて、粗い3次元形状計測を行う。一部の撮像部126および照明部128は、粗い測定を行うことを目的とするものであり、例えば、各基板ユニット120上の中心の撮像部126および照明部128としてもよい。なお、粗い3次元計測を行う際に動作させる撮像部126および照明部128は、略均一な密度を与えるよう選択することができる。これにより、動作するものを決定するための情報を効率的に取得することができる。
ステップS105〜ステップS108では、各基板ユニット120毎に、得られた粗い3次元情報に基づいて、最終的に本番の測定で動作させる基板ユニット120の撮像部126および照明部128を決定する。
ステップS105では、各基板ユニット120の3次元情報解析部154は、得られた粗い3次元情報を解析する。ここでは、動作させる撮像部126および照明部128の個数を算出するために必要最小限な演算だけを行えばよい。ステップS106では、当該基板ユニット120が担当する被写体部分において、複雑な3次元形状を有するか否かを判定する。ステップS106で、複雑な3次元形状を有すると判定された場合(YES)は、ステップS107へ処理が分岐される。
ステップS107では、各基板ユニット120の3次元情報解析部154は、事前定義された詳細用セットの撮像部126および照明部128を動作するものとして決定し、これらを動作させる。この詳細用セットとは、複雑な3次元形状が担当範囲に含まれる場合に、詳細な計測を実施するべく事前に定義された一揃いの撮像部126および照明部128を含む。例えば、基板ユニット120のすべての撮像部126および照明部128を詳細用セットに含めることができる。
これに対して、ステップS106で、複雑な3次元形状を有さないと判定された場合(NO)は、ステップS108へ処理が分岐される。ステップS108では、各基板ユニット120の3次元情報解析部154は、事前定義された標準用セットの撮像部126および照明部128を決定し、これらを動作させる。この標準用セットとは、複雑な3次元形状が、自身が担当する部分に含まれない場合に、無駄を省いて計測を行うために事前に定義された一揃いの撮像部126および照明部128を含む。典型的には、基板ユニット120の一部の撮像部126および照明部128を標準用セットに含めることができる。
ステップS109では、各基板ユニット120についてステップS107またはステップS108で動作させられた1以上の撮像部126および1以上の照明部128を用いて、本番の3次元形状計測を行う。ステップS110では、演算制御部194は、動作する1以上の撮像部126により撮像された3次元情報に基づいて、計測対象物の3次元形状を演算し、3次元モデルを生成し、ステップS111で本処理を終了させる。
例えば、絵画を計測対象物とした場合において、油絵のような材料を用いて制作され、表面に複雑な3次元形状を持っていた場合を検討する。上記処理フローによれば、まず、各基板ユニット120の一部(例えば中心のみ)の撮像部126および照明部128を用いて密度的に粗い3次元情報を取得する(ステップS104);そして、3次元情報解析部154によって、簡単な解析を行う(ステップS105);解析の結果、複雑な3次元情報を持つことが判明した場合(ステップS106でYES)は、その後、基板ユニット120に搭載されている、より多くの撮像部126およびより多くの照明部128を動作させる(ステップS107);といった利用方法が考えられる。
なお、上述した説明では、各基板ユニット120上の3次元情報解析部154内で最終的に動作させる撮像部126および照明部128を決定するものとして説明した。しかしながら、3次元情報解析部154は、必要に応じて、他の基板ユニット120が撮像した3次元情報またはその解析結果を取得し、これらの情報を踏まえて動作させるものを決定することができる。あるいは、すべての基板ユニット120からの情報が集約される演算制御部194が、全基板ユニット各々について、最終的な個数を決定してもよい。つまり、3次元情報解析部154および演算制御部194の一方または両方が、本実施形態における、1以上の撮像部および1以上の照明部のうちの動作させるものを選択する選択手段を構成することができる。
また、図8に示した処理は、一例であり、特に限定されるものではない。例えば、高密度な3次元形状は取得できないが、高速に計測対象物までの距離を測定できる、ToFカメラなどを用いて粗い測定を行うこともできる。ToFカメラでは、センサの各画素には対象物体までの距離情報が記録されているため、距離画像から、粗い距離情報の変化を読み取ることが可能である。例えば、距離画像を解析した結果、対象範囲の距離情報の変化が大きく、3次元形状が複雑であると判断できる場合には、対象範囲を撮像するための基板ユニット120および撮像部126、照明部128を増やして対応することができる。ToFカメラなどを用いることにより、粗く3次元形状を計測する際の処理時間を短縮することができる。
その他、プロジェクタなどからコード化パターン光などを照射して、空間コード化法により、物体の粗い3次元情報を取得してもよいし、物体の影から粗い3次元情報を取得することもできる。これらの粗い3次元情報を単独でまたは組み合わせて用いて、最終的に本番で動作させる撮像部126およい照明部128を決定することができる。
以下、3次元形状を計測する処理について、より具体的に説明する。特定の実施形態では、3次元形状を計測するために、照明方向を変化させながら複数の画像を撮像し、光源方向に正対した物体の面が明るく写るという性質を利用して、各画素で観測される輝度値の違いから、物体表面の法線の方向を求める照度差ステレオ法を適用することができる。
図9は、特定の実施形態における照度差ステレオ法を用いた3次元形状計測について説明する図である。物体の明るさは、均等拡散面の場合、面を観測する角度によらず、光源の強度とその方向によって決定される。図9(A)に示すように、面法線方向nを基準としてθ角傾いた方向sからの光源によって面が照らされている場合を検討すると、光源強度Lおよび物体表面の反射率ρを用いて、画像中で観察される面の明るさxは、下記式で表すことができる。
また、面法線方向と光源方向を表す3次元単位ベクトルをそれぞれn’,s’とした場合、cosθ=n’Ts’より、x=ρLn’Ts’が得られる。さらに法線方向を表す単位ベクトルを反射率倍したものをρn’→nとし、光源方向を表す単位ベクトルを光源の強さ倍したものをLs’→sとすると、下記式のように簡略化される。
ここで、図9(B)に示すように、3つの異なる光源方向s1,s2,s3から順に物体を照らし、観察される明るさをそれぞれx1,x2,x3とすると、それらを要素とするベクトルx=(x1,x2,x3)Tは、下記式で表される。
よって、光源方向と光源の強さ、すなわち光源ベクトルが既知であるとすると、3行3列の行列Sが既知となり、逆行列S−1を上記式の両辺に右からかけることにより、下記式のように面法線ベクトルNを得ることができる。
上記計算を入力画像の全ての画素に関して行うことにより、物体表面上の全ての点における面法線ベクトル、すなわち法線方向および反射率を推定することができる。物体表面上の全ての点における面法線ベクトルが決定されると、物体表面上の各点における面の向きと面法線ベクトルが一致するということを手がかりに、物体の3次元形状を得ることができる。
図10は、特定の実施形態による照度差ステレオ法により3次元形状計測を行う場合の3次元形状撮像装置の各基板ユニットおよび情報処理装置上の主要な構成要素およびデータフローを示す。
図9で示したとおり、照度差ステレオ法では、3以上の光源方向を用いて1方向からの撮像部にて被写体の撮像を行い、撮像した画像より被写体の3次元形状を計測する。照度差ステレオ法による3次元形状計測においては、撮像照明制御部132が、演算制御部194による制御の下、照明部128の光源の点灯および消灯を制御しながら、計測対象の被写体に照明を照射し、撮像部126で撮像を行う。撮像された3以上の撮像画像は、主記憶部134に転送されて一旦書き込まれ、3次元情報として構成されて、情報転送部138を経由して、後段の情報処理装置160上の情報転送部192に転送される。転送された3次元情報(3以上の撮像画像を含む。)は、演算制御部194によって読み出される。
図10に示す演算制御部194は、各基板ユニット120から3次元情報として転送されてきた3以上の撮像画像から、画素単位で法線方向を算出する法線算出部196と、算出された画素単位の法線から3次元形状を復元する3次元形状復元部198とを含む。法線算出部196および3次元形状復元部198は、撮像された画像情報に基づき計測対象物の3次元形状を演算する形状演算手段を構成する。
以上、照度差ステレオ法を用いる特定の実施形態について説明したが、他の実施形態では、さらに、被写体の各点における位置の座標を得るために、被写体の撮影に用いたカメラの自動焦点調節機構により、被写体の各点における距離情報を取得する技術を適用することができる。
さらに他の実施形態では、フォーカス位置の不一致を解消し、高低差のある被写体を撮影するために、全焦点画像を撮像する技術を適用することができる。これにより、被写界深度以上の高低差のある被写体を撮影した場合にフォーカス位置の不一致により3次元形状計測の精度が劣化するという通常の照度差ステレオ法の欠点を克服することができる。
上述した全焦点画像を撮像する技術としては、(1)被写界深度拡張(EDoF,Extended Depth of Field)カメラを用いて全焦点画像を生成する技術、(2)フォーカス位置をスイーブすることにより全焦点画像を生成する技術、(3)フォーカス位置を変化させた複数回の撮像し画像処理することにより全焦点画像を生成する技術を挙げることができる。
上記(1)の技術では、特殊な光学系を用いて、撮像後に画像処理を施すことによって一枚で全焦点画像を撮像することができる。上記(2)の技術では、一枚の撮像中にフォーカス位置を動かすことによって、全領域にわたって均一にボケのある画像を撮像し、撮像後に画像処理することによってボケ除去を行い、全焦点画像を生成することができる。上記(3)の技術では、複数回の撮像を行い、撮像毎にフォーカス位置を変えて画像を撮像し、撮像後に画像処理によって一枚の全焦点画像を生成することができる。
しかしながら、上記(1)の技術は、専用の光学系が必要であり、装置自体が高価となり、また、小型化も難しい。上記(2)の技術は、一枚の撮像中に高速にフォーカス位置を動かす機構が必要になり、装置自体が高価となり、得られる全焦点画像も、一般的に解像度が低くなる。上記(3)の技術では、汎用的なカメラで実現できるため、装置自体は低価格で実現できるが、フォーカスの位置を少しずつ変化させた大量の撮像を行うことが必要となり、フォーカス位置を動かす機構の速度に起因して撮像時間が長期化する。また、撮像した全画像および全画素に対してフォーカス位置を算出するための演算についても、演算コストおよび演算時間が必要となる。
上述した欠点を克服し、特殊な機構を必要とせず、低コスト、低処理負荷で全焦点画像を撮像し、高低差のある被写体を精密に計測することができる、好適な実施形態による三次元計測処理について、以下、詳細を説明する。
図11は、好適な実施形態による拡張された照度差ステレオ法により3次元形状の復元を行う場合の3次元形状撮像装置の各基板ユニットおよび情報処理装置上の主要な構成要素およびデータフローを示す。図11に示す構成では、図10に示した構成に加え、計測対象の被写体の粗い3次元形状を計測する距離カメラ127と、距離カメラ127から得られた被写体の粗い3次元形状情報に基づいて被写界深度を算出する被写界深度算出部131とを含み構成される。距離カメラ127および被写界深度算出部131は、特に限定されるものではないが、典型的には、基板ユニット120上に搭載することができる。距離カメラ127としては、上述したToFカメラを採用することができ、好適な実施形態における粗い3次元形状を取得する取得手段を構成する。被写界深度算出部131は、好適な実施形態における算出手段を構成する。
図11に示す撮像照明制御部132は、被写界深度算出部131からの情報に基づいて、演算制御部194と連携して、照明部128の光源の点灯および消灯を制御しながら、撮像部126のフォーカス位置を制御し、撮像部126で撮像を行う。
複数の光源方向各々にてフォーカス位置を変化させながら撮像された複数の撮像画像は、主記憶部134に転送されて一旦書き込まれ、3次元情報として構成されて、情報転送部138を経由して、後段の情報処理装置160上の情報転送部192に転送される。転送された3次元情報(複数の光源方向各々についての複数の撮像画像を含む。)は、演算制御部194によって読み出される。
図11に示す演算制御部194は、画像合成部195と、法線算出部196と、3次元形状復元部198とを含む。画像合成部195は、ある1つの光源方向について、フォーカス位置を変更した複数の画像を撮像した際、撮像した画像を合成して1枚の全焦点画像を生成する。図11に示す法線算出部196は、3以上の方向に対応する3以上の全焦点画像から、画素単位で法線方向を算出する。3次元形状復元部198は、算出された画素単位の法線から3次元形状を復元する。画像合成部195、法線算出部196および3次元形状復元部198は、撮像された画像情報に基づき計測対象物の3次元形状を演算する形状演算手段を構成する。
図12(A)は、被写体を適切に撮像する際に必要となる被写界深度について説明する図です。被写界深度とは、ピントを合わせた部分の前後のピントが合っているように見える範囲のことをいう。被写界深度は、絞り値(F値)、レンズの焦点距離、撮影距離(被写体objとカメラの間の距離)で決定される。基本的には、レンズの絞り値が、小さくなるほど、被写界深度が浅くなり、大きくなるほど被写界深度が深くなる。レンズの焦点距離が、長くなるほど、被写界深度が浅くなり、短くなるほど被写界深度が深くなる。さらに、撮影距離が、短くなるほど被写界深度が浅くなり、長くなるほど被写界深度が深くなる。被写界深度は、詳細には以下の式で表される。
被写体objおよび被写界深度の関係について検討すると、照度差ステレオ法を用いて3次元計測を行う際は、図12(A)に示すように、撮像部126のカメラの被写界深度は、被写体objの高さよりも深い必要がある。カメラの被写界深度が被写体objの高さよりも浅い場合、被写体の一部にピントが合わず、画像がぼけてしまう。
携帯電話用カメラモジュールなどとして用いられる汎用的なカメラは、小型、高解像度、かつ安価であり、照度差ステレオ法においても有用なデバイスである。しかしながら、一般的な携帯電話用カメラモジュールは、絞り値や焦点距離を変更することができない。また、近年絞り値が小さくなる傾向にあり、小型化のため、被写体距離は短くしたいという要求がある。結果として、被写界深度が浅くなる傾向にある。
そこで、好適な実施形態では、距離カメラ127を用いて、被写体objの複数回撮像を実行する。図12(B)は、好適な実施形態における距離カメラを用いた被写体objの複数回撮像について説明する図である。距離情報を取得できる距離カメラ127は、一般的になってきており、小型なものが低価格で入手できる。ただし、汎用的な距離カメラで取得できる距離情報は、通常のカメラモジュールに比べて低い解像度であるため、得られる3次元形状も解像度が低くなる。そこで、好適な実施形態では、距離カメラ127を用いて、まず被写体objの粗い3次元形状を取得し、その後、撮像部126にて複数回の撮像を行い、被写体objの最終的な三次元形状を測定する構成を採用する。
図13は、好適な実施形態による3次元形状撮像装置110が実行する、全焦点画像のための撮像処理を示すフローチャートを示す。なお、図13に示す処理は、1つの光源方向にてフォーカス位置を変化させながら撮像された複数の撮像画像から、1つの全焦点画像を生成する処理に対応する。また、説明する実施形態では、説明の便宜上、距離カメラ127と、撮像で用いられる撮像部126とは、距離カメラの機能および通常のカメラの機能を兼ね揃えた同一のカメラを用いるものとして説明するが、異なっていることを妨げるものではない。
図13に示す処理は、ステップS200から開始され、ステップS201では、3次元形状撮像装置110は、図12(B)に示すように、距離カメラ127により、粗く距離情報を取得する。図12(B)において、距離情報が取得された点を三角(距離取得点)で示す。この距離情報は、上述したように、通常のカメラほど高精細には情報を取得できないため、その後計測できる3次元形状も粗いものとなる。しかしながら、好適な実施形態では、距離カメラ127からは、視野における、カメラから台座(被写体の底部)までの距離および被写体の高さ(被写体の底部から頂点までの高さ)が取得すればよいので、汎用的な距離カメラでも充分な精度で取得できる。
ステップS202では、3次元形状撮像装置110は、被写界深度算出部131により、距離カメラ127から台座までの間の距離および被写体高さを計算する。例えば、距離カメラ127での視野の取得範囲が台座範囲内のみであった場合は、上記得られた複数の粗い距離情報の中で、距離カメラ127からの距離が最も遠い点を台座までの距離と判定することができる。同様に、被写体の高さを算出する場合、例えば、距離カメラ127での取得範囲が台座範囲内のみであった場合は、取得した粗い距離情報の中から、距離カメラ127からの距離が最も近い点を抽出し、その後、上記求めたカメラと台座までの距離と、カメラと被写体が一番近い点の距離の差分を計算し、得られた差分が被写体高さとなる。
ステップS203以降の処理では、被写体高さとカメラのパラメータに基づいて、撮像を行う撮像部126のカメラのフォーカス位置が決定される。ステップS203では、3次元形状撮像装置110は、被写界深度算出部131により、粗い3次元形状から計測したカメラと台座までの距離、あらかじめ分かっているカメラの焦点距離、絞り値および許容錯乱円の情報に基づいて被写界深度を算出する。ステップS204では、3次元形状撮像装置110は、被写界深度算出部131により、算出された被写体高さと、算出された被写体深度とを比較し、算出した被写界深度が、被写体高さ以上であるかを判定する。
ステップS204で、被写界深度が被写体高さ以上であると判定された場合(YES)、ステップS205へ処理が分岐される。ステップS205では、3次元形状撮像装置110は、被写界深度算出部131により、被写体高さが全てカメラの被写界深度に収まるようにフォーカス位置を決定する。ステップS206では、3次元形状撮像装置は、撮像照明制御部132により、通常の照度差ステレオ法と同様に、1つの光源方向に対して1枚の撮像を行い、ステップS209で本処理を終了する。
一方、ステップS204で、被写体高さがカメラの被写界深度より大きいと判定された場合(NO)、ステップS207へ処理が分岐される。ステップS207では、3次元形状撮像装置110は、被写界深度算出部131により、被写体objを設置している台座までの距離情報に基づいて、台座までカメラの被写界深度内に入るような初期フォーカス位置を決定する。初期フォーカス位置は、例えば、図12(B)に示すフォーカス位置fp1が対応する。ステップS208では、3次元形状撮像装置110は、撮像照明制御部132により、各光源方向に対して初期フォーカス位置で1枚の撮像を行う。この場合、図12(B)のフォーカス位置fp1の被写界深度の範囲に入っている被写体の部分のみ、例えば、図12(B)に示す被写体objの左右両側の周辺部のみフォーカスが最適な画像が撮像されることになる。
ステップS209では、3次元形状撮像装置110は、被写界深度算出部131により、これまでの撮像で被写体高さ全体がカバーされたか否かを判定する。ステップS209で、被写体高さがカバーされていないと判定された場合(NO)は、ステップS210へ処理を分岐させる。
ステップS210では、3次元形状撮像装置110は、被写界深度算出部131により、従前のフォーカス位置の被写界深度の最前端の距離を被写体までの距離として、フォーカス位置および被写界深度を再度計算する。具体的には、(新しいカメラから台座までの距離)=(従前のカメラからの台座までの距離)−(従前のフォーカス位置の被写界深度)を代入し、(新しい被写体高さ)=(従前の被写体高さ)−(従前のフォーカス位置での被写界深度)を代入する。そして、同様に、既知のカメラの焦点距離、絞り値、および許容錯乱円の情報に基づいて、再度、被写界深度を算出する。
図12(B)を例にすると、フォーカス位置fp1に続く1回目の再計算では、フォーカス位置fp2とその被写界深度が上記算出結果となる。ステップS208では、3次元形状撮像装置110は、撮像照明制御部132により、1つの光源方向に対して2回目の撮像を行う。この場合、被写体objの中央部および周辺部に挟まれた部分のみフォーカス位置が最適な画像が撮像される。
図12(B)に示す例では、被写体objの周辺部と、被写体objの中央部および周辺部に挟まれた部分とは、1回目および2回目の撮像にてフォーカス位置が最適な画像が撮像できているが、被写体objの中央部が残されている。そのため、1回目の再計算後のステップS209では、さらにステップS210へ処理が分岐され、ステップS210で、図12(B)におけるフォーカス位置fp3とその被写界深度を算出し、ステップS208で、光源方向に対して3回目の撮像が行われる。図12(B)の例では、フォーカス位置fp3の被写界深度で、被写体高さを全て満たすことができので、フォーカス位置fp2に続く2回目の再計算後のステップS209では、被写体高さがカバーされると判定され(YES)で、ステップS211で、1箇所の光源方向における撮像がすべて終了する。
なお、光源方向を変えた場合でも、カメラの方向は変わらないため、次の光源方向における撮像では、前回の算出結果を用いてフォーカス位置、撮像回数を決定することができる。
以下、図12(C)を参照しながら、図13で示した処理フローによりフォーカス位置を変化させながら撮像された複数の撮像画像の合成処理について説明する。図12(C)は、複数回撮像した画像の合成処理について説明する図である。特定の実施形態では、図12(C)に示す処理は、情報処理装置160で実行される。しかしながら、基板ユニット120側で実行されることを妨げるものではない。
フォーカス位置を変化させて複数回撮像した画像の合成処理としては、複数回撮像した画像に対して領域分割を行い、それぞれの領域ごとにコントラストが一番高い画像を決定し、各領域における該画像の画素値を合成画像の画素値とすることができる。しかしながら、このような方法では、分割した領域内に高低差のある被写体の部分が存在する場合、正しい合成ができない可能性もある。また、領域内に高低差に対応させて領域を細かく分割することができるが、コントラスト算出のための処理負荷が重くなり、計算コストが上昇してしまう。
そこで、好適な実施形態では、事前に取得された粗い3次元情報に基づいて画像の合成を行う。以下、事前に取得された粗い3次元情報に基づく画像合成について、より詳細に説明する。
好適な実施形態においては、画像合成部195は、まず、距離センサを用いて取得された粗い距離情報に基づいて、画素各々までの距離を算出する。距離情報が粗いため、合成する画像の解像度での各画素に対して対応する距離情報が見つからない場合は、周辺の画素にある距離情報に基づいて演算を行い、各画素に対する距離情報を算出する。演算方法としては、最も近くにある画素の距離情報を取得する最近傍補完、距離情報を有する周辺の複数の画素から、距離に応じて重みつき計算を行い、距離を決定するバイリニア補完を挙げることができる。
各画素に対する距離情報が求められると、画像合成部195は、各画素について、複数の撮像画像のうちの、算出された距離情報が該当するフォーカス位置および被写界深度で撮像された撮像画像の画素値を優先して用いることにより全焦点画像を生成する。
例えば、1回目の撮像の際のフォーカス位置が20cmであり、被写界深度が15cm−25cmであったとすると、ある画素の距離情報が15cm〜25cmの間にあった場合は、1回目の撮像で得られた撮像画像の画素値を優先して用いる。また、2回目の撮像の際のフォーカス位置が10cmであり、被写界深度7cm−15cmであったとした場合、例えばある画素の距離情報が7cm〜15cmの間にあった場合は、2回目の撮像画像の画素値を優先して用いる。このようにして、全ての画素に対して、距離情報に基づいて、何回目の撮像画像の画素値を合成画像の画素値として優先的に用いればよいのかを決定する。全ての画素に対して合成処理が完了すると、全ての画素値に対してフォーカス位置が最適な一枚の全焦点画像を得ることができる。
なお、説明する実施形態では、距離情報が該当するフォーカス位置および被写界深度に対応する撮像画像の画素値をそのまま用いるものとしている。しかしながら、他の実施形態では、対応する撮像画像の画素値に大きな重み付けをして複数の撮像画像間で重み付け平均を求めるなど、対応する撮像画像の画素値を優先して用いる態様とすればよい。
上記図12および図13を参照して説明した処理により1つの光源方向に対する全焦点画像が得られ、これを複数の光源方向について行うことにより、複数の全焦点画像が得られる。そして、3以上の全焦点画像を用いて照度差ステレオ法を適用することにより、視野内の全ての点における面法線ベクトル、すなわち法線方向および反射率を推定することができる。視野内の全ての点における面法線ベクトルが決定されると、各点における面の向きと面法線ベクトルが一致するということを手がかりに、計測対象の視野内における3次元形状を得ることができる。さらに、複数の基板ユニット120各々で計測された多視点の3次元形状情報を、各基板ユニット120の位置関係に基づいて、統合することにより、計測対象物の高精細な三次元形状を復元することが可能となる。
以上説明した実施形態によれば、計測対象物の3次元形状を全方位から精度よくかつ効率よく計測することが可能な形状計測システムおよび形状計測装置を提供することができる。
上記構成により、全ての撮像部126および全ての照明部128を、計測対象物から等距離かつ等密度に配置することが可能となり、また、全方位にわたる測定が可能となる。さらに、上述した実施形態では、動作させる撮像部126および照明部128を計測対象物に応じて制御することができるので、計測対象物の性質に合わせて必要充分な撮像部および照明部のみを動作させて、計測を最適化し、計測にかかる時間を短縮し、消費電力を削減することができる。
さらに、上述した好適な実施形態では、距離センサを用いて取得した粗い距離情報に基づいて、複雑な計算なしに、複数枚撮像した画像のうち、どの画素値を合成画像に用いればよいかを判断することが可能となる。上記好適な実施形態では、粗い3次元形状に基づいて設定すべきフォーカス位置を算出することができるので、撮像枚数自体を最小化することができる。さらに、粗い3次元情報に基づいて複数枚撮像した画像を画素単位で容易に画像合成することが可能となるので、画像合成のための演算コストおよび演算時間が省略される。よって、特殊な機構を必要とせず、低コスト、低処理負荷で全焦点画像を撮像し、高低差のある被写体を精密に計測することが可能となる。
なお、上記機能部は、アセンブラ、C、C++、C#、Java(登録商標)などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。また、上記機能部の一部または全部は、例えばフィールド・プログラマブル・ゲート・アレイ(FPGA)などのプログラマブル・デバイス(PD)上に実装することができ、あるいはASIC(特定用途向集積)として実装することができ、上記機能部をPD上に実現するためにPDにダウンロードする回路構成データ(ビットストリームデータ)、回路構成データを生成するためのHDL(Hardware Description Language)、VHDL(Very High Speed Integrated Circuits Hardware Description Language)、Verilog−HDLなどにより記述されたデータとして記録媒体により配布することができる。
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。