(57)【特許請求の範囲】
【請求項１】
立体物を再現する三次元形状データの生成において基礎となる複数の二次元データを扱うデータ処理方法であって、
(a)前記立体物の周りの第１経路に沿って前記立体物を順次に撮影し、複数の第１画像を取得する第１取得工程と、
(b)前記複数の第１画像それぞれを、第１の三次元座標系において相互に関連付けする工程と、
(c)前記立体物の周りの第２経路に沿って前記立体物を順次に撮影し、複数の第２画像を取得する第２取得工程と、
(d)前記複数の第２画像それぞれを、第２の三次元座標系において相互に関連付けする工程と、
(e)前記複数の第１画像から抽出される一部の第１画像で、前記立体物に表れる複数のポイントに対応する複数の第１対応ポイントを指定する第１指定工程と、
(f)前記複数の第２画像から抽出される一部の第２画像で、前記複数のポイントに対応する複数の第２対応ポイントを指定する第２指定工程と、
(g)前記一部の第１画像で指定される前記複数の第１対応ポイントと、前記一部の第２画像で指定される前記複数の第２対応ポイントとに基づき、前記第１の三次元座標系と前記第２の三次元座標系との相対情報を取得する工程と、
(h)前記一部の第１画像以外の他の第１画像と前記一部の第２画像以外の他の第２画像とから前記相対情報に基づき得られた前記立体物に表れるポイントの対応関係について所定の評価関数が最小となるように、前記相対情報を調整する工程と、
を備えることを特徴とするデータ処理方法。
【請求項２】
請求項１に記載のデータ処理方法において、
前記第１取得工程は、
(a-1)所定の回転軸の軸方向に対する前記立体物の傾き姿勢を第１姿勢で保持した状態で、前記所定の回転軸を中心に前記立体物を回転させつつ、三次元空間内で固定された所定の撮影位置から前記立体物を撮影することにより、前記複数の第１画像を取得する工程、
を有するとともに、
前記第２取得工程は、
(c-1)前記所定の回転軸の軸方向に対する前記立体物の傾き姿勢を第２姿勢で保持した状態で、前記所定の回転軸を中心に前記立体物を回転させつつ、前記所定の撮影位置から前記立体物を撮影することにより、前記複数の第２画像を取得する工程、
を有することを特徴とするデータ処理方法。
【請求項３】
請求項２に記載のデータ処理方法において、
前記第１取得工程および前記第２取得工程の前に、撮影を行うべき位置と前記所定の回転軸との相対的な回転関係を規定した相対回転情報を取得する工程、
をさらに備え、
前記第１経路および前記第２経路は、前記所定の撮影位置の相対回転情報に基づき導出されることを特徴とするデータ処理方法。
【請求項４】
立体物を再現する三次元形状データの生成において基礎となる複数の二次元データを扱う処理装置に内蔵されたコンピュータによって実行可能なデータ処理プログラムであって、前記データ処理プログラムは前記処理装置に、
(a)前記立体物の周りの第１経路に沿って前記立体物を順次に撮影して取得された複数の第１画像を入力する第１入力工程と、
(b)前記複数の第１画像それぞれを、第１の三次元座標系において相互に関連付けする工程と、
(c)前記立体物の周りの第２経路に沿って前記立体物を順次に撮影して取得された複数の第２画像を入力する第２入力工程
(d)前記複数の第２画像それぞれを、第２の三次元座標系において相互に関連付けする工程と、
(e)前記複数の第１画像から抽出される一部の第１画像で、前記立体物に表れる複数のポイントに対応する複数の第１対応ポイントを指定する第１指定工程と、
(f)前記複数の第２画像から抽出される一部の第２画像で、前記複数のポイントに対応する複数の第２対応ポイントを指定する第２指定工程と、
(g)前記一部の第１画像で指定される前記複数の第１対応ポイントと、前記一部の第２画像で指定される前記複数の第２対応ポイントとに基づき、前記第１の三次元座標系と前記第２の三次元座標系との相対情報を取得する工程と、
(h)前記一部の第１画像以外の他の第１画像と前記一部の第２画像以外の他の第２画像とから前記相対情報に基づき得られた前記立体物に表れるポイントの対応関係について所定の評価関数が最小となるように、前記相対情報を調整する工程と、
を実行させることを特徴とするデータ処理プログラム。
【請求項５】
請求項４に記載のデータ処理プログラムを記録していることを特徴とする、コンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、立体物を再現する三次元形状データの生成において基礎となる複数の二次元輪郭データを扱うデータ処理技術に関する。
【０００２】
【従来の技術】
三次元計測対象となる対象物の三次元形状データを生成する方法として、Shape From Silhouette(ＳＦＳ)法を利用する方法がある。この方法について以下で簡単に説明する。
【０００３】
まず、対象物を回転ステージに載置し、回転ステージを１回転させる間に三次元空間に固定されたデジタルカメラなどの撮影装置から対象物を順次に撮影し複数の画像データを取得する。取得された複数の画像それぞれから対象物の輪郭形状を抽出したシルエット画像を作成し、これらのシルエット画像を基礎としてＳＦＳ法により対象物の三次元形状データが生成される。
【０００４】
このように三次元形状データを生成する場合、１台の撮影装置で対象物を撮影すると、対象物の三次元形状を十分に再現できないケースがある。例えば、対象物に対して横方向から順次に撮影しても、対象物の上部または下部に関する形状情報を十分に取得できない。
【０００５】
この問題を解消するには、回転ステージを回転させて１度画像群を取得した後に、対象物の向きを変更して再び回転させもう一度画像群を取得するのが良い。この場合には、１回目の画像群で不足する対象物の形状情報を、２回目の画像群で補うことができる。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記のように対象物の向きを変更して画像群を２回取得する場合には、変更前の画像群と変更後の画像群との統合を簡易に行えないという問題がある。すなわち、変更前の画像群から生成される対象物の三次元形状データと、変更後の画像群から生成される対象物の三次元形状データとを直接統合するのでは、統合にかかる労力や時間が多大となってしまう。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、対象物に対して異なる方向から順次に取得され、対象物の三次元形状データを生成するための基礎となる複数の画像群に関する統合処理を簡易で迅速に行えるデータ処理技術を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記の課題を解決するため、請求項１の発明は、立体物を再現する三次元形状データの生成において基礎となる複数の二次元データを扱うデータ処理方法であって、(a)前記立体物の周りの第１経路に沿って前記立体物を順次に撮影し、複数の第１画像を取得する第１取得工程と、(b)前記複数の第１画像それぞれを、第１の三次元座標系において相互に関連付けする工程と、(c)前記立体物の周りの第２経路に沿って前記立体物を順次に撮影し、複数の第２画像を取得する第２取得工程と、(d)前記複数の第２画像それぞれを、第２の三次元座標系において相互に関連付けする工程と、(e)前記複数の第１画像から抽出される一部の第１画像で、前記立体物に表れる複数のポイントに対応する複数の第１対応ポイントを指定する第１指定工程と、(f)前記複数の第２画像から抽出される一部の第２画像で、前記複数のポイントに対応する複数の第２対応ポイントを指定する第２指定工程と、(g)前記一部の第１画像で指定される前記複数の第１対応ポイントと、前記一部の第２画像で指定される前記複数の第２対応ポイントとに基づき、前記第１の三次元座標系と前記第２の三次元座標系との相対情報を取得する工程と、(h)前記一部の第１画像以外の他の第１画像と前記一部の第２画像以外の他の第２画像とから前記相対情報に基づき得られた前記立体物に表れるポイントの対応関係について所定の評価関数が最小となるように、前記相対情報を調整する工程とを備える。
【０００９】
また、請求項２の発明は、請求項１の発明に係るデータ処理方法において、前記第１取得工程は、(a-1)所定の回転軸の軸方向に対する前記立体物の傾き姿勢を第１姿勢で保持した状態で、前記所定の回転軸を中心に前記立体物を回転させつつ、三次元空間内で固定された所定の撮影位置から前記立体物を撮影することにより、前記複数の第１画像を取得する工程を有するとともに、前記第２取得工程は、(c-1)前記所定の回転軸の軸方向に対する前記立体物の傾き姿勢を第２姿勢で保持した状態で、前記所定の回転軸を中心に前記立体物を回転させつつ、前記所定の撮影位置から前記立体物を撮影することにより、前記複数の第２画像を取得する工程を有する。
【００１０】
また、請求項３の発明は、請求項２の発明に係るデータ処理方法において、前記第１取得工程および前記第２取得工程の前に、撮影を行うべき位置と前記所定の回転軸との相対的な回転関係を規定した相対回転情報を取得する工程をさらに備え、前記第１経路および前記第２経路は、前記所定の撮影位置の相対回転情報に基づき導出される。
【００１１】
また、請求項４の発明は、立体物を再現する三次元形状データの生成において基礎となる複数の二次元データを扱う処理装置に内蔵されたコンピュータによって実行可能なデータ処理プログラムであって、前記データ処理プログラムは前記処理装置に、(a)前記立体物の周りの第１経路に沿って前記立体物を順次に撮影して取得された複数の第１画像を入力する第１入力工程と、(b)前記複数の第１画像それぞれを、第１の三次元座標系において相互に関連付けする工程と、(c)前記立体物の周りの第２経路に沿って前記立体物を順次に撮影して取得された複数の第２画像を入力する第２入力工程と、(d)前記複数の第２画像それぞれを、第２の三次元座標系において相互に関連付けする工程と、(e)前記複数の第１画像から抽出される一部の第１画像で、前記立体物に表れる複数のポイントに対応する複数の第１対応ポイントを指定する第１指定工程と、(f)前記複数の第２画像から抽出される一部の第２画像で、前記複数のポイントに対応する複数の第２対応ポイントを指定する第２指定工程と、(g)前記一部の第１画像で指定される前記複数の第１対応ポイントと、前記一部の第２画像で指定される前記複数の第２対応ポイントとに基づき、前記第１の三次元座標系と前記第２の三次元座標系との相対情報を取得する工程と、(h)前記一部の第１画像以外の他の第１画像と前記一部の第２画像以外の他の第２画像とから前記相対情報に基づき得られた前記立体物に表れるポイントの対応関係について所定の評価関数が最小となるように、前記相対情報を調整する工程とを実行させる。
【００１２】
また、請求項５の発明は、請求項４の発明に係るデータ処理プログラムを記録している記録媒体である。
【００１３】
【発明の実施の形態】
＜第１実施形態＞
＜三次元データ処理システムの要部構成＞
図１は、本発明の第１実施形態に係る三次元データ処理システム１の要部構成を示す概略図である。
【００１４】
三次元データ処理システム１は、三次元計測の対象物ＳＢを撮影する撮影装置２と、対象物ＳＢを回転させる回転装置３と、撮影装置２および回転装置３とケーブル５を介して通信可能に接続する処理装置４とを備えている。なお、対象物ＳＢは、置物であり、その形状が一定で安定している。
【００１５】
撮影装置２は、例えばデジタルカメラを利用した装置で、立体物である対象物ＳＢの２次元カラー画像を取得可能な装置である。また、撮影装置２は、三脚ＴＦによって三次元空間で固定されている。
【００１６】
回転装置３は、回転ステージ(回転テーブル)３１と、回転ステージを回転させる駆動部３２とを備えている。
【００１７】
駆動部３２は、例えばモータを有しており、回転軸ＣＡを中心に回転ステージ３１を回転できる。これにより、回転ステージ３１に載置され保持される立体物を回転軸ＣＡを中心に回転できる。
【００１８】
処理装置４は、例えばパーソナルコンピュータとして構成されており、箱状の形状を有する処理部４０と、操作部４１と、表示部４２とを有している。
【００１９】
処理部４０の前面には、光ディスク９を挿入するドライブ４０１が設けられている。
【００２０】
操作部４１は、マウス４１１とキーボード４１２とを有しており、ユーザからの処理装置４に対する操作入力を受付ける。
【００２１】
表示部４２は、例えばＣＲＴで構成され、画像表示が可能な表示手段として機能する。
【００２２】
図２は、三次元データ処理システム１の機能ブロックを示す図である。
【００２３】
撮影装置２は、光学ユニット２１を介して対象物ＳＢを撮像する撮像部２２と、これら各部と伝送可能に接続する制御部２３とを備えている。また、撮像装置２は、制御部２３と伝送可能に接続する通信Ｉ／Ｆ２４を備えている。
【００２４】
光学ユニット２１は、レンズ群とこれらのレンズ群の配置を変更する駆動部とを有し、フォーカスやズームを行って対象物ＳＢの光学像を撮像部２２に結像させる。
【００２５】
撮像部２２は、例えばＣＣＤなどの撮像素子を有して構成されている。そして、撮影素子で対象物ＳＢのアナログ画像信号を取得した後、Ａ／Ｄ変換を行ってデジタル信号の画像データを生成する。
【００２６】
通信Ｉ／Ｆ２４は、処理装置４とデータ伝送するためのインターフェースである。
【００２７】
制御部２３は、ＣＰＵを有しており、撮像装置２の動作を統括制御する部位である。また、制御部２３は、撮像部２２で取得した画像データを通信Ｉ／Ｆ２４を介して処理装置４に送信するための制御を行う。
【００２８】
回転装置３は、上記の駆動部３２に電気的に接続する検出部３３と、通信Ｉ／Ｆ３４とを有している。
【００２９】
検出部３３は、例えばエンコーダを有しており、回転ステージ３１の回転角度を検出する。この検出部３３で検出された回転角度を駆動部３２にフィードバックすることにより、回転軸ＣＡを中心として回転ステージ３１を所定の角度づつ回転できることとなる。
【００３０】
通信Ｉ／Ｆ３４は、処理装置４とデータ伝送するためのインターフェースで、処理装置４から送信される回転ステージ３１の回転制御信号を受信する。
【００３１】
処理装置４は、上記の操作部４１および表示部４２に伝送可能に接続する制御部４３を備えている。また、処理装置４は、制御部４３に伝送可能に接続する記憶部４４と、入出力Ｉ／Ｆ４５と、通信Ｉ／Ｆ４６とを備えている。
【００３２】
記憶部４４は、例えばハードディスクとして構成されており、データ処理プログラムＤＰを格納する。
【００３３】
入出力Ｉ／Ｆ４５は、操作部４１および表示部４２と制御部４３との間でデータの送受をコントロールするためのインターフェースである。
【００３４】
入出力Ｉ／Ｆ４５は、ドライブ４０１を介して、記録媒体である光ディスク９に対するデータの入出力を行うためのインターフェースである。
【００３５】
通信Ｉ／Ｆ４６は、撮影装置２および回転装置３とデータ伝送するためのインターフェースである。
【００３６】
制御部４３は、コンピュータとして働くＣＰＵ４３１およびメモリ４３２を有しており、処理装置４の動作を統括制御する部位である。この制御部４３でデータ処理プログラムＤＰが実行されることにより、後述のように各画像群の統合を行えることとなる。
【００３７】
制御部４３のメモリ４３２には、光ディスク９に記録されているデータ処理プログラムＤＰなどのプログラムデータを入出力Ｉ／Ｆ４５を介して格納することができる。これにより、この格納したプログラムを処理装置４の動作に反映できる。
【００３８】
＜三次元データ処理システム１を利用したデータ処理方法＞
図３は、三次元データ処理システム１を利用したデータ処理方法を説明するフローチャートである。この方法においては、下記のステップＳ１、Ｓ３およびＳ５以外の動作は、制御部４３でデータ処理プログラムＤＰが実行されることにより実施される。
【００３９】
まず、図４に示すチャートＴＣを回転ステージ３１に載置した(ステップＳ１)後、ステップＳ２でキャリブレーションを行う(後で詳述)。
【００４０】
次に、図１に示す第１姿勢(横置き)で対象物ＳＢを回転ステージ３１に載置した(ステップＳ３)後、ステップＳ４で撮影装置２により対象物ＳＢを次々に撮影し複数の第１画像(第１画像群)を処理装置４に入力する(後で詳述)。
【００４１】
そして、対象物ＳＢを第１姿勢(図１)から図５に示す第２姿勢(縦置き)に変更した(ステップＳ５)後、ステップＳ６で撮影装置２により対象物ＳＢを次々に撮影し複数の第２画像(第２画像群)を処理装置４に入力する(後で詳述)。
【００４２】
これらは一般に、回転ステージ３１の回転軸ＣＡ（これは対象物ＳＢの回転軸に一致する）の軸方向に対する対象物ＳＢの傾き姿勢を、互いに異なる第１姿勢と第２姿勢とに変化させて、それぞれにおける撮影を行うことに相当する。
【００４３】
ステップＳ７では、ステップＳ４およびステップＳ６で入力された各画像群の統合処理を行う(後で詳述)。
【００４４】
図６は、上記のステップＳ２に対応するキャリブレーションの動作を説明するフローチャートである。
【００４５】
ステップＳ１１では、撮影装置２によりチャートＴＣを撮影し、その画像(基準画像)を取得する。このチャートＴＣは、市松模様が付された２枚の板ＴＣ１、ＴＣ２を張り合わせた立体物となっている。なお、この撮影では、チャートＴＣに表される点Ｍ1、Ｍ2などの基準点Ｍiが写るように撮影する。
【００４６】
ステップＳ１２では、駆動部３２を能動化して、回転方向ＲＤに所定の角度だけ回転ステージ３１を回転させる。
【００４７】
ステップＳ１３では、ステップＳ１３で向きが変わったチャートＴＣを撮影し、その画像(回転画像)を取得する。ここでも、ステップＳ１１と同様に、チャートＴＣに表される基準点Ｍiが写るように撮影する。
【００４８】
ステップＳ１４では、基準画像に関する透視変換行列Ｐ1と、回転軸ＣＡに関するそれぞれの撮影位置の相対回転情報に相当する回転行列Ｑと算出する。
【００４９】
この回転行列Ｑが求まることにより、回転ステージ３１が回転する際には回転ステージ３１に載置される物体に対して撮影装置２が相対的に撮影走査する経路が導出され、また撮影走査における撮影装置２の回転軸ＣＡに対する相対的な姿勢情報が取得できる。以下では、ステップＳ１４の動作を詳細に説明する。
【００５０】
まず、回転ステージ３１の上面の中央を原点として、図６に示すｘｙｚの直交座標系ＨＴを設定する。これにより、直交座標系ＨＴを基準として、チャートＴＣ上の各点Ｍ1、Ｍ2などの基準点Ｍiの三次元座標値(ｘi,ｙi,ｚi,１)が算出できる。
【００５１】
そして、ステップＳ１１で撮影した基準画像において基準点Ｍiに対応する座標をｍ1i(ｕ1i,ｖ1i,ｗ1i)とし、ステップＳ１３で撮影した回転画像において基準点Ｍiに対応する座標をｍ2i(ｕ2i,ｖ2i,ｗ2i)とすると、次式(１)、(２)に示す関係が成立する。ただし、透視変換行列をＰ1、Ｐ2とする。
【００５２】
【数１】
0004085671.tif 000002
【００５３】
ここで、回転画像は、基準画像を撮影した姿勢のチャートＴＣを所定の角度だけ回転させたものであるため、次式(３)が成り立つ。また、式(３)の両辺にＭiを乗算して式(２)を代入すると、次式(４)が成立する。
【００５４】
【数２】
0004085671.tif 000003
【００５５】
なお、式(３)、(４)におけるＱは、上の式(５)で表される。この式(５)は、軸方向がベクトルｖaxis(ｘa,ｙa,ｚa)で表され、図４に示す回転ステージ３１上面の点ｐ(ｘp,０,ｚp)を通る回転軸ＣＡに関する回転行列となっている。なお、ベクトルｖaxisの大きさは、ステップＳ１２で回転させた所定の角度(rad.)に対応している。
【００５６】
式(５)におけるＲaxisは、回転軸ＣＡを直交座標系ＨＴの原点に並進移動させた場合の回転行列に相当し、次式(６)のように表現できる。
【００５７】
【数３】
0004085671.tif 000004
【００５８】
ただし、式(６)における関数ｒの内容は、上の式(７)のようになる。
【００５９】
以上のように、回転ステージ３１を回転させた場合の各関係式が導出されるが、以下では、１２のパラメータ(要素)を有する透視変換行列Ｐ1と、回転軸ＣＡを規定する５つのパラメータｘa,ｙa,ｚa,ｘp,ｚpを求める処理を行う。
【００６０】
まず、基準画像に関する概略の透視変換行列Ｐh1を求める。具体的には、公知のＤＬＴ(ダイレクト・リニア・トランスフォーム)法を利用してＰh1が求められる。このＤＬＴ法については、「"Multiple View Geometry in Computer Vision",R.I.Hartley A.Zisserman,Cambridge University Press,2000」に開示される技術を利用すると良い。
【００６１】
次に、求められた概略の透視変換行列Ｐh1を用いて、次式(８)のようにチャートＴＣの基準点Ｍiを第１画像面に投影する。
【００６２】
【数４】
0004085671.tif 000005
【００６３】
ここで、投影点ｍh1iは、誤差を含む可能性が高いため、実際の基準画像に表れる基準点ｍ1iとの比較を行う。ここでは、例えば、次式(９)に示すように、投影点ｍh1iと、基準画像の基準点ｍ1iとの偏差を評価する。
【００６４】
【数５】
0004085671.tif 000006
【００６５】
ただし、上式(９)における「×」は、ベクトル積を表す。
【００６６】
回転画像についても、同様に概略の透視変換行列をＰh2を求めた後、次式(１０)に示す評価関数Ｅを設定する。
【００６７】
【数６】
0004085671.tif 000007
【００６８】
そして、例えばLevenberg-Marquart法などの非線形最小自乗法によって、式(１０)のＥが最小になる時のＰh1、Ｐh2を、透視変換行列Ｐ1、Ｐ2と定めることとする。また、Ｐ1、Ｐ2が決定すると、式(３)の関係から、回転行列Ｑが求められる。
【００６９】
一方、撮影装置２の内部パラメータ行列Ａは、次の式(１１)のように、Ｐ1を分解することで得られる。
【００７０】
【数７】
0004085671.tif 000008
【００７１】
ただし、式(１１)中のＲおよびｔは、回転軸ＣＡに対する撮影視点の相対的な回転および平行移動(並進)を表す行列である。この内部パラメータは、撮影位置における撮影条件などを表すもので、撮影する際の焦点距離や光軸中心などの情報に基づき一義的に定まるものである。
【００７２】
図７は、上記のステップＳ４およびＳ６に対応する画像群の入力の動作を説明するフローチャートである。
【００７３】
ステップＳ２１では、変数ｉに初期値として０を代入する。
【００７４】
ステップＳ２２では、所定の角度stepAngleに変数ｉを乗算した角度に、回転ステージ３１を回転させる。これにより、所定の角度stepAngleずつ対象物ＳＢの方向を変更できることとなる。
【００７５】
ステップＳ２３では、回転ステージ３１上に載置される対象物ＳＢを撮影装置２によって撮影して、画像データを取得する。
【００７６】
以上のステップＳ２２およびＳ２３の動作により、対象物ＳＢの周りに規定される所定の経路(第１経路または第２経路)上を相対的に移動する撮影位置から対象物ＳＢを撮影できることとなる。なお、この所定の経路は、上記のステップＳ１４で求めた回転行列Ｑに基づき導出可能である。
【００７７】
ステップＳ２４では、変数ｉにｉ＋１を代入する。
【００７８】
ステップＳ２５では、変数ｉがＮより大きいかを判定する。ここでは、Ｎが２πをstepAngle(rad.)で除算した値に設定されており、対象物ＳＢが回転軸ＣＡを中心として１回転したかを判断することととなる。ここで、変数ｉがＮより大きい場合には、ステップＳ２６に進み、Ｎ以下である場合には、ステップＳ２２に戻る。
【００７９】
ステップＳ２６では、ステップＳ２３で取得した各画像に関する透視変換行列を求める。この透視変換行列を説明する便宜上、まずステップＳ４で取得された第１画像群に関する透視変換行列Ｐ1i(０＜ｉ＜Ｎ)を求める。
【００８０】
この透視変換行列Ｐ1iは、上記のステップＳ１４で算出した透視変換行列Ｐ1を利用して、次式(１２)のように求められる。
【００８１】
【数８】
0004085671.tif 000009
【００８２】
ここで、式(１２)におけるＱiは、式(５)の関数ｑを利用して上式(１３)のように表され、また式(１３)のｖiは、式(１４)のように演算される。
【００８３】
以上で求めた透視変換行列Ｐ1iを用い、Shape From Shilhouette法(以下では「ＳＦＳ法」という)を利用することで、対象物ＳＢの三次元形状データが生成できる。この三次元形状データの生成方法を、第１画像群を例に挙げて以下で説明する。
【００８４】
図８は、上記のＳＦＳ法を説明するための図である。図８(ａ)、(ｂ)は、相互に角度stepAngleだけ回転された対象物ＳＢを撮影する様子を説明する図である。
【００８５】
対象物ＳＢを撮影した各画像から、対象物ＳＢの外形を示す領域Ｇｓ１、Ｇｓ２(平行斜線部)が抽出されるシルエット画像Ｇ１、Ｇ２が得られる。これらのシルエット画像Ｇ１、Ｇ２は、物体表面と背景との色差に基づき対象物ＳＢの輪郭を抽出した後、例えば輪郭の内部を「１」に、輪郭の外部を「０」にする二値化された画像データ(二次元輪郭データ)として作成される。すなわち、シルエット画像Ｇ１、Ｇ２は、対象物ＳＢに対して異なる視点(撮影位置)Ｈ１、Ｈ２から視線方向(撮影方向)Ｈｄ１、Ｈｄ２に見た対象物ＳＢのシルエット、つまり視点Ｈ１、Ｈ２を中心とした対象物ＳＢの二次元空間への投影画像となる。ここでは、図８(ｂ)に示すように、対象物ＳＢから見た視点は、Ｈ１からＨ２に相対的に移動することとなる。
【００８６】
そして、シルエット画像Ｇ１、Ｇ２を含み、回転ステージ３１を回転軸ＣＡを中心に１回転されて順次に得られた全ての画像は、回転ステージ３１の回転角度ごとに式(１２)で求まる透視変換行列Ｐ1iを用いることで、所定の三次元座標系(第１の三次元座標系)に関連付けることができる。これにより、対象物ＳＢのシルエット領域である二次元形状を、上記のＳＦＳ法を利用することで統合でき、対象物ＳＢの三次元形状データを生成できる。
【００８７】
以上では、ステップＳ４で取得される第１画像群について説明したが、第２姿勢で対象物ＳＢが回転ステージ３１に載置され、ステップＳ６で順次に取得される第２画像群についても、同様にシルエット画像を生成し、式(８)に示す左辺をＰ2iに置換して演算された透視変換行列Ｐ2iによって、第１の三次元座標系と異なる第２の三次元座標系に関連付けすることができる。ここでは、例えばズーム倍率などを変更せず、第１画像群の撮影と同一条件で第２画像群を撮影装置２によって取得する。
【００８８】
ここで、第１画像群から生成される対象物ＳＢの三次元形状データと、第２画像群から生成される対象物ＳＢの三次元形状データとを統合する場合には、上記の第１の三次元座標系と第２の三次元座標系との相対的な位置関係を把握しなければならないが、この相対情報を取得する方法を以下で説明する。
【００８９】
図９は、上記のステップＳ７に対応する各画像群の統合の動作を説明するフローチャートである。
【００９０】
ステップＳ３１では、第１画像群から１枚の画像(一部の第１画像)を、第２画像群から１枚の画像(一部の第２画像)を抽出して、この１組の画像で対象物ＳＢに表れる複数の特徴点、例えば図１０に示す鼻先Ｓｐ１、耳先Ｓｐ２、Ｓｐ３などを８点以上指定する。具体的には、図１０(ａ)に示す画像において複数の対応点(第１対応ポイント)Ｓｐ１、Ｓｐ２、Ｓｐ３などを指定し、図１０(ｂ)に示す画像において複数の対応点(第２対応ポイント)Ｓｐ１、Ｓｐ２、Ｓｐ３などを指定する。
【００９１】
ステップＳ３２では、ステップＳ３１で抽出された１組の画像で指定される複数の対応点に基づき、画像群間で概略のＦ行列(Fundamental Matrix：基礎行列)を算出する。このＦ行列の算出については、「"Multiple View Geometry in Computer Vision",R.I.Hartley A.Zisserman,Cambridge University Press,2000」に開示される技術を利用すると良い。
【００９２】
ステップＳ３３では、第１の三次元座標系と第２の三次元座標系との相対情報に相当する第１画像群と第２画像群との間の変換パラメータＳを算出する。
【００９３】
ステップＳ３２で算出されたＦ行列は、次の式(１５)に分解できる。
【００９４】
【数９】
0004085671.tif 000010
【００９５】
ここで、式(１５)の行列Ａは、撮影装置２の内部パラメータ行列でキャリブレションの際に式(１１)で算出されたものである。また、式(１５)の行列Ｒおよびｔは、式(１１)と同様に撮影視点の相対的な回転および移動を表す行列である。
【００９６】
上式(１５)から求まる行列Ｒおよびｔを用いて、第１画像群と第２画像群との変換パラメータＳは、次式(１６)で求めることができる。
【００９７】
【数１０】
0004085671.tif 000011
【００９８】
ステップＳ３４では、変換パラメータＳの高精度化を行う。ステップＳ３３では、第１画像群と第２画像群とから抽出される１組の画像に基づき、変換パラメータＳを算出したが、ほぼ同一視点位置から取得される画像を使用しているため、対応点の指定において誤差があると画像群間の統合に大きな影響を及ぼしてしまう。そこで、より多くの画像を用いて、変換パラメータＳの精度を向上する方法を説明する。
【００９９】
まず、第１画像群における第ｍ番目の画像の透視変換行列をＰ1mと、第２画像群における第ｎ番目の画像の透視変換行列をＰ2nとの関係を、変換パラメータＳと回転行列Ｑとを用いて表現すると、次式(１７)〜(１９)が成立する。
【０１００】
【数１１】
0004085671.tif 000012
【０１０１】
よって、第２画像群のｉ番目の透視変換行列Ｐ2iは、次式(２０)で表せる。
【０１０２】
【数１２】
0004085671.tif 000013
【０１０３】
上式(２０)に基づき、第１画像群のｉ番目の画像と、第２画像群のｊ番目の画像との透視変換行列Ｐ1i、Ｐ2jとは、次の式(２１)で表現できる。
【０１０４】
【数１３】
0004085671.tif 000014
【０１０５】
式(２１)において、次の式(２２)のようにＲwおよびｔwを設定すると、第１画像群のｉ番目の画像と第２画像群のｊ番目の画像との間のＦij行列は、次式(２３)のように表せる。
【０１０６】
【数１４】
0004085671.tif 000015
【０１０７】
ここで、変換パラメータＳを回転行列に関する３つのパラメータと平行移動に関する３つのパラメータからなる関数であると考えて、非線形最小自乗法を用いて、精度の高い変換パラメータＳを算出することとする。
【０１０８】
この場合、次式(２４)に示すように、エピポーラ拘束を利用した評価関数ＥFを設定し、この評価関数ＥFの絶対値が最小となる基礎行列Ｆijを求める。
【０１０９】
【数１５】
0004085671.tif 000016
【０１１０】
ただし、ｇ1ijkとｇ2ijkとは、第１画像群のｉ番目の画像と、第２画像群のｊ番目の画像とで対象物ＳＢのｋ番目の対応点を示すものである。
【０１１１】
このように求められた基礎行列Ｆijから、式(１５)、(１６)によって変換パラメータＳが精度良く算出できることとなる。
【０１１２】
ステップＳ３５では、ステップＳ３４で精度良く算出された変換パラメータＳを利用し、第１の三次元座標系に関連付けられる第１画像群と、第２の三次元座標系に関連付けられる第２画像群との統合処理を行う。これにより、対象物ＳＢの形状を精度良く再現する三次元形状データが生成できる。
【０１１３】
以上のデータ処理方法により、第１画像群のうちの一部の画像と第２画像群のうちの一部の画像とで対象物の対応点を指定して変換パラメータを算出するため、第１画像群と第２画像群との統合処理を簡易で適切に行える。
【０１１４】
＜第２実施形態＞
＜三次元データ処理システムの要部構成＞
図１１は、本発明の第２実施形態に係る三次元データ処理システム６の要部構成を示す概略図である。
【０１１５】
三次元データ処理システム６については、第１実施形態の三次元データ処理システム１から回転装置３が削除され、撮影装置７と処理装置８とから構成されている。
【０１１６】
この三次元データ処理システム６では、第１実施形態と異なり、対象物ＳＣを三次元空間に固定し撮影装置７を移動させて対象物ＳＣを撮影する。
【０１１７】
図１２は、三次元データ処理システム６の機能ブロックを示す図である。
【０１１８】
撮影装置７は、第１実施形態の撮影装置２と類似の構成を有しているが、位置・姿勢検出部７５が付加されている点が異なっている。
【０１１９】
位置・姿勢検出部７５は、例えば加速度センサおよびジャイロを有しており、撮影装置２の三次元位置と、撮影方向を決める撮影装置２の姿勢とを検出する部位である。この位置・姿勢検出部７５が、第１実施形態の回転装置３に代替する部位となる。
【０１２０】
また、撮影装置７と処理装置８とは、通信Ｉ／Ｆ７４、８６を介して、ＩｒＤＡ(Infrared Data Association)規格による赤外線通信などを利用して無線でのデータ伝送が行われる。
【０１２１】
＜三次元データ処理システム６を利用したデータ処理方法＞
第２実施形態のデータ処理方法は、図３に示す第１実施形態のデータ処理方法に類似するが、図３に示すステップＳ４およびＳ６における画像群の入力動作が異なっている。以下では、この画像群の入力動作について説明する。
【０１２２】
図１３および図１４は、撮影装置７で対象物ＳＣを撮影する様子を示す上面図である。
【０１２３】
ステップＳ３に相当する第１画像群の入力では、図１３に示すように、対象物ＳＣを縦置きの第１姿勢(図１参照)にして、対象物ＳＣの周りの経線上に規定される第１経路ＰＨ１を撮影装置７が移動(回転)して１周する間に、多数の画像Ｇａ０、Ｇａ１、・・・(第１画像群)を取得する動作を行う。ここでは、撮影装置７のズーム倍率などの内部パラメータを変更せすに撮影する。
【０１２４】
ステップＳ５に相当する第２画像群の入力では、図１４に示すように、対象物ＳＣを第１姿勢から９０度向きを変更した横置きの第２姿勢にして、対象物ＳＣの周りの緯線上に規定される第２経路ＰＨ２を撮影装置７が移動して１周する間に、多数の画像Ｇｂ０、Ｇｂ１、・・・(第２画像群)を取得する動作を行う。なお、この場合には、撮影装置７のズーム倍率などの内部パラメータを、第１画像群を撮影した時と同一の条件で、変更せずに撮影する。
【０１２５】
このように取得された第１画像群と第２画像群とは、図９のフローチャートに示す処理によって統合処理が行われるが、この概念を以下で説明する。
【０１２６】
図１５は、第１画像群と第２画像群との統合について概念的に説明する図である。本図では、図１３に示す第１経路ＰＨ１に第１画像群を配置するとともに、図１４に示す第２経路ＰＨ１に第２画像群を配置している。
【０１２７】
この場合、第１画像群と第２画像群とを統合するとは、第１経路ＰＨ１と第２経路ＰＨ２との相対的な位置関係を、対象物ＳＣが存在する実際の三次元座標系を媒介として明らかにすることとなる。
【０１２８】
例えば、上記のステップＳ３１(図９)において、第１画像群から１枚の画像Ｇａ０が選択され、第２画像群から１枚の画像Ｇｂ０が選択される場合には、この１組の画像で対応点を指定することにより、三次元空間における第１経路ＰＨ１と第２経路ＰＨ２との相対位置関係が概略決定される。ここでは、第１経路ＰＨ１のうちの微小区間(代表画像Ｇａ０に相当する区間)と、第２経路ＰＨ２のうちの微小区間(代表画像Ｇｂ０に相当する区間)における対応付けで、第１経路ＰＨ１と第２経路ＰＨ２との相対位置を決定するため、高精度に相対関係を導出するのは難しい。
【０１２９】
そこで、上記のステップＳ３４(図９)においては、上記の１組の画像の他に、各画像群から抽出される画像を利用し精度を向上している。例えば、第１画像群から抽出される画像Ｇａ１、Ｇａ２と、第２画像群から抽出される画像Ｇｂ１、Ｇｂ２との対応関係をさらに指定することで、第１経路ＰＨ１と第２経路ＰＨ２との幅広い範囲の区間同士で、第１経路ＰＨ１と第２経路ＰＨ２との相対位置を拘束できる。これにより、第１経路ＰＨ１と第２経路ＰＨ２との相対位置関係を精度良く導出できることとなる。
【０１３０】
以上のデータ処理方法により、第１実施形態と同様に、第１画像群と第２画像群との統合処理を簡易で適切に行えることとなる。
【０１３１】
なお、図１５に示す第１経路ＰＨ１と第２経路ＰＨ２とは、等しい半径を有する２つの円として表現しているが、撮影位置の移動経路が楕円などの閉曲線である場合には、この閉曲線が描画されることとなる。また、図１５では、説明の便宜上２つの円ＰＨ１、ＰＨ２が画像Ｇａ０で交わっているが、一般的には交わらないケースが多い。
【０１３２】
＜変形例＞
◎上記の各実施形態については、２つの画像群を統合するのは必須でなく、３以上の画像群を一緒に統合しても良い。例えば、３つの画像群を統合する場合には、上記と同様に、それぞれ一部の画像を抽出して対応点を指定することとなる。この場合にも、簡易で適切に統合処理が可能となる。
【０１３３】
【発明の効果】
以上説明したように、請求項１ないし請求項５の発明によれば、一部の第１画像で立体物に表れる複数のポイントそれぞれに対応し指定される複数の第１対応ポイントと、一部の第２画像で複数のポイントそれぞれに対応し指定される複数の第２対応ポイントとに基づき、複数の第１画像に係る第１の三次元座標系と複数の第２画像に係る第２の三次元座標系との相対情報を取得する。その結果、取得された第１の三次元座標系と第２の三次元座標系との相対情報を利用することで、複数の画像群に関する統合処理を簡易で適切に行える。
【０１３４】
特に、請求項２の発明においては、立体物を第１姿勢で保持し所定の回転軸を中心に回転させつつ固定位置から撮影を行うとともに、立体物を第２姿勢で保持し所定の回転軸を中心に回転させつつ固定位置から撮影を行う。その結果、第１経路および第２経路を簡易に規定できる。
【０１３５】
また、請求項３の発明においては、事前に所定の回転軸に関する撮影位置の相対回転情報を取得し、第１経路と第２経路とを撮影位置の相対回転情報に基づき導出する。その結果、第１経路と第２経路とを適切に求められる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る三次元データ処理システム１の要部構成を示す概略図である。
【図２】三次元データ処理システム１の機能ブロックを示す図である。
【図３】三次元データ処理システム１を利用したデータ処理方法を説明するフローチャートである。
【図４】チャートＴＣを回転ステージ３１に載置する様子を示す図である。
【図５】第２姿勢で対象物ＳＢが回転ステージ３１に載置される様子を示す図である。
【図６】キャリブレーションの動作を説明するフローチャートである。
【図７】画像群の入力の動作を説明するフローチャートである。
【図８】ＳＦＳ(Shape From Shilhouette)法を説明するための図である。
【図９】各画像群の統合の動作を説明するフローチャートである。
【図１０】１組の画像における対象物ＳＢの対応点の指定を説明するための図である。
【図１１】本発明の第２実施形態に係る三次元データ処理システム６の要部構成を示す概略図である。
【図１２】三次元データ処理システム６の機能ブロックを示す図である。
【図１３】撮影装置７により第１姿勢の対象物ＳＣを撮影する様子を示す上面図である。
【図１４】撮影装置７により第２姿勢の対象物ＳＣを撮影する様子を示す上面図である。
【図１５】第１画像群と第２画像群との統合について概念的に説明する図である。
【符号の説明】
１、６  三次元データ処理システム
２、７  撮影装置
３  回転装置
４、７  処理装置
４３、８３  制御部
７５  位置・姿勢検出部
ＣＡ  回転軸
ＤＰ  データ処理プログラム
Ｇ１、Ｇ２  シルエット画像
Ｈ１、Ｈ２  視点(撮影位置)
ＰＨ１  第１経路
ＰＨ２  第２経路
ＳＢ、ＳＣ  対象物
Ｓｐ１、Ｓｐ２、Ｓｐ３  対応点
ＴＣ  チャート
【図１】
0004085671.tif 000017
【図２】
0004085671.tif 000018
【図３】
0004085671.tif 000019
【図４】
0004085671.tif 000020
【図５】
0004085671.tif 000021
【図６】
0004085671.tif 000022
【図７】
0004085671.tif 000023
【図８】
0004085671.tif 000024
【図９】
0004085671.tif 000025
【図１０】
0004085671.tif 000026
【図１１】
0004085671.tif 000027
【図１２】
0004085671.tif 000028
【図１３】
0004085671.tif 000029
【図１４】
0004085671.tif 000030
【図１５】
0004085671.tif 000031