(57)【特許請求の範囲】
【請求項１】
物体の立体形状を認識する装置であって、前記物体の２次元の画像データを取得する撮像手段と、前記物体と前記撮像手段との間の距離を測距データとして取得する測距手段と、前記物体の２次元の画像データを前記測距データに基づいて物体の３次元の画像データに変換する変換手段とを備え、前記測距データは、コンピュータが前記２次元の画像データに基づいて前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定し、該測距ポイントと前記２次元の画像データとを対応づけた測距ポイントデータであり、前記変換手段が、前記物体の２次元の画像データに基づいてこの物体の２次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて３次元ベクトルデータに変換することによって前記物体の３次元の画像データを得ることを特徴とする形状認識装置。
【請求項２】
物体の立体形状を認識する装置であって、複数の画素からなる撮像面を有し各画素毎に前記物体の２次元の画像データを夫々取得する撮像手段と、前記各画素に対応づけて前記撮像面に複数の物体の前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定する測距ポイント特定手段と、前記物体と前記測距ポイントとの距離を測距データとして夫々取得する測距手段と、前記各物体の２次元の画像データを各測距データに基づいて物体の３次元の画像データに夫々変換する変換手段とを備え、前記変換手段が、前記物体の２次元の画像データに基づいてこの物体の２次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて３次元ベクトルデータに変換することによって前記物体の３次元の画像データを得ることを特徴とする形状認識装置。
【請求項３】
物体の立体形状を認識する方法であって、撮像手段により前記物体を撮像することによって前記物体の２次元の画像データを取得するステップと、前記物体と前記撮像手段との間の距離を測距データとして取得するステップと、前記物体の２次元の画像データを前記測距データに基づいて物体の３次元の画像データに変換するステップとを含み、前記測距データは、コンピュータが前記２次元の画像データに基づいて前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定し、該測距ポイントと前記２次元の画像データとを対応づけた測距ポイントデータであり、前記物体の３次元の画像データが、前記物体の２次元の画像データに基づいてこの物体の２次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて３次元ベクトルデータに変換することによって得られることを特徴とする形状認識方法。
【請求項４】
物体の立体形状を認識する方法であって、複数の画素からなる撮像面を有する撮像手段によって画素毎の前記物体の２次元の画像データを夫々取得するステップと、前記各画素に対応づけて前記撮像面に複数の物体の前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定するステップと、前記物体と前記測距ポイントとの距離を測距データとして夫々取得するステップと、前記物体の２次元の画像データを測距データに基づいて物体の３次元の画像データに夫々変換するステップとを含み、前記物体の３次元の画像データが、前記物体の２次元の画像データに基づいてこの物体の２次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて３次元ベクトルデータに変換することによって得られることを特徴とする形状認識方法。
【請求項５】
物体の立体形状を認識する処理を実行させるコンピュータプログラムを記録した記録媒体であって、コンピュータに、前記物体を撮像することによって得られた前記物体の２次元の画像データを読み出すステップと、前記２次元の画像データに基づいて前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定するステップと、前記物体と前記測距ポイント撮像位置との間の距離を測定して得られた測距データを読み出すステップと、前記物体の２次元の画像データに基づいてこの物体の２次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出し、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて３次元ベクトルデータに変換することにより、前記物体の２次元の画像データを前記測距データに基づいて物体の３次元の画像データに変換するステップとを実行させるコンピュータプログラムを記録した記録媒体。
【請求項６】
物体の立体形状を認識する処理を実行させるコンピュータプログラムを記録した記録媒体であって、コンピュータに、複数の画素からなる撮像面を有する撮像手段によって得られた各画素毎の物体の２次元の画像データを夫々読み出すステップと、前記各画素に対応づけて前記撮像面に複数の物体の前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定するステップと、前記物体と前記測距ポイントとの距離を測定して得られた測距データを夫々読み出すステップと、前記物体の２次元の画像データに基づいてこの物体の２次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出し、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて３次元ベクトルデータに変換することにより、前記物体の２次元の画像データを測距データに基づいて物体の３次元の画像データに夫々変換するステップとを実行させるコンピュータプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、物体の立体形状を認識する形状認識装置に関する。
【０００２】
【従来の技術】
従来、物体の３次元形状(立体形状)の認識を行う一つの方法として、光切断法が利用されている。図１１は、光切断法による立体の形状認識装置の例を示す図である。図１１において、形状認識装置は、回転台３３に載置された形状認識対象となる物体Ａと、この物体Ａの表面上にスリット状のレーザ光Ｓを投光する投光装置３２と、撮像面を物体Ａに向けて配置された撮像装置(撮像ＣＣＤ)３４(図１１には撮像面のみ図示)と、撮像装置３４に接続された図示せぬプロセッサ装置(コンピュータ)とからなる。
【０００３】
そして、この形状認識装置は、物体Ａの形状認識を行う場合には、以下の一連の動作を行う。即ち、投光装置３２からスリット状のレーザ光Ｓが発せられると、物体の表面には、その表面形状に沿った高輝度線Ｌが生じる。ここで、図１１に示される例では、物体Ａが球体であるので、円弧状の高輝度線Ｌが生じる。この高輝度線Ｌが撮像装置３４に撮像されると、プロセッサ装置が、高輝度線Ｌ上の各点の空間座標データを物体Ａの表面形状データとして算出し、図示せぬ記憶装置に格納する。
【０００４】
以上の一連の動作は、回転台３３を回転させることによって物体Ａの表面上における高輝度線Ｌの位置を変えて複数回行われ、夫々の場合における各物体Ａの表面形状データが図示せぬ記憶装置に記憶される。そして、図示せぬプロセッサ装置が各表面形状データ同士を物体Ａに対する高輝度線Ｌの位置を参照しつつ組み合わせる処理や各表面形状データ間を補間する処理を行うことによって、物体Ａの立体形状データが作成される。このようにして、物体Ａの立体形状が認識されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、従来における形状認識装置には以下の問題があった。すなわち、光切断法を用いた形状認識装置では、上述したように物体Ａの表面に生じる高輝度線Ｌの位置を変える必要があるので、形状認識装置には、上述した回転台３３等の物体Ａを回転させる構成，或いは、物体Ａを中心として投光装置３２と撮像装置３４とを円軌跡を描いて周回させる構成が必要であった。
【０００６】
ところが、形状認識装置に回転台３３を設けた場合には、その回転台３３の形状や回転台３３を回転させるモータの性能によって回転台３３に載置できる物体Ａの制限が生じるので、形状認識装置を使用可能な物体Ａが制限される場合があった。一方、形状認識装置に投光装置３２と撮像装置３４とを周回させる構成を設けた場合には、形状認識装置が大型化するとともに、投光装置３２と撮像装置３４とが周回する円の直径よりも大きい物体Ａについては使用できない場合が生じていた。
【０００７】
また、上述した形状認識装置の一連の動作により得られる表面形状データは、高輝度線Ｌ上の各点の空間座標データであるので、物体Ａの立体形状データを得るには、多数の表面形状データを組み合わせることを必要としていた。特に、物体Ａの形状が複雑である場合には、表面形状データ間の補間処理によっては適正な立体形状データを得られない場合があるので、さらに多数の表面形状データを取得する必要があった。このため、光切断法を用いた形状認識装置によって立体形状データを作成するには多くの処理や時間を要していた。
【０００８】
本発明は、上記した問題に鑑みなされたものであり、立体形状認識対象となる物体を回転させる構成，或いは物体を中心として形状認識装置を周回させる構成を特に不要として小型化を図ることができ、且つ従来に比し容易に物体の立体形状データを得ることのできる形状認識装置を提供することを課題とする。
【０００９】
【課題を解決するための手段】
本発明は、上述した問題を解決するために以下の構成を採用する。すなわち、本発明は、物体の立体形状を認識する装置であって、前記物体の２次元の画像データを取得する撮像手段と、前記物体と前記撮像手段との間の距離を測距データとして取得する測距手段と、前記物体の２次元の画像データを前記測距データに基づいて物体の３次元の画像データに変換する変換手段とを備える。
【００１０】
本発明によれば、撮像手段が物体の２次元の画像データを取得する。また、測距手段が物体と撮像手段との間の距離を測距データとして取得する。そして、変換手段が物体の２次元の画像データを測距データに基づいて３次元の画像データに変換する。これによって、物体の３次元形状が認識される。測距データは、例えば、コンピュータが前記２次元の画像データに基づいて測距ポイントを特定し、該測距ポイントと前記２次元の画像データとを対応づけた測距ポイントデータとする。
【００１１】
ここに、撮像手段には、ＣＣＤカメラやデジタルカメラ等を挙げることができる。また、測距手段は、例えば、認識対象たる物体に対して光源と撮像手段とを所定の距離をおいて配置し三角測量の原理を用いて物体と撮像手段との距離を測定する構成が好ましいが、光源から投光された光が戻ってくるまでの時間を測定しその時間に対応する距離を求める方法や、光源から物体に対する投射光と物体の反射光との位相差を測定してその位相差に対応する距離を求める方法によって物体と撮像手段との距離を測定する構成であっても良い。
【００１２】
変換手段は、例えば、ＣＰＵが所定の制御プログラムを実行することによって実現される機能として構成できる。変換手段は、例えば、前記物体の２次元の画像データに基づいてこの物体の２次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて３次元ベクトルデータに変換することによって前記物体の３次元の画像データを得るように構成する。
【００１３】
本発明は、物体の立体形状を認識する装置であって、複数の画素からなる撮像面を有し各画素毎に前記物体の２次元の画像データを夫々取得する撮像手段と、前記各画素に対応づけて前記撮像面に設定された複数の物体の測距ポイントと前記物体との距離を測距データとして夫々取得する測距手段と、前記各物体の２次元の画像データを各測距データに基づいて物体の３次元の画像データに夫々変換する変換手段とを備える。
【００１４】
また、本発明による形状認識装置は、変換手段によって変換された物体の３次元の画像データを編集させる編集手段を有していても良く、物体の３次元の画像データに基づいて、テクスチャデータやカラーパレットデータを作成する手段を有していても良い。
【００１５】
本発明は、物体の立体形状を認識する形状認識方法であって、前記物体を撮像することによって前記物体の２次元の画像データを取得するステップと、前記物体と前記撮像位置との間の距離を測距データとして取得するステップと、前記物体の２次元の画像データを前記測距データに基づいて物体の３次元の画像データに変換するステップとを含む。
【００１６】
本発明は、物体の立体形状を認識する形状認識方法であって、複数の画素からなる撮像面を有する撮像手段によって各画素毎の前記物体の２次元の画像データを夫々取得するステップと、前記各画素に対応づけて前記撮像面に複数の物体の測距ポイントを特定するステップと、前記物体と前記測距ポイントとの距離を測距データとして夫々取得するステップと、前記物体の２次元の画像データを測距データに基づいて物体の３次元の画像データに夫々変換するステップとを含む。
【００１７】
本発明による形状認識方法は、物体の３次元の画像データが、前記物体の２次元の画像データに基づいてこの物体の２次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて３次元ベクトルデータに変換することによって得られることを含む。
【００１８】
本発明は、物体の立体形状を認識する処理を実行させるコンピュータプログラムを記録した記録媒体であって、コンピュータに、前記物体を撮像することによって得られた前記物体の２次元の画像データを読み出すステップと、前記２次元の画像データに基づいて測距ポイントを特定するステップと、前記物体と前記測距ポイントとの間の距離を測定して得られた測距データを読み出すステップと、前記物体の２次元の画像データを前記測距データに基づいて物体の３次元の画像データに変換するステップとを実行させるコンピュータプログラムを記録している。
【００１９】
ここに、記録媒体には、例えば、ＲＯＭ，ＲＡＭ，ＣＤ−ＲＯＭ，光磁気ディスク，フロッピーディスク，ハードディスク，ＰＤ，磁気テープ等の各種の記憶装置が含まれる。
【００２０】
本発明は、物体の立体形状を認識する処理を実行させるコンピュータプログラムを記録した記録媒体であって、コンピュータに、複数の画素からなる撮像面を有する撮像手段によって得られた各画素毎の物体の２次元の画像データを夫々読み出すステップと、前記各画素に対応づけて前記撮像面に複数の物体の測距ポイントを特定するステップと、前記物体と前記測距ポイントとの距離を測定して得られた測距データを夫々読み出すステップと、前記各物体の２次元の画像データを各測距データに基づいて物体の３次元の画像データに夫々変換するステップとを実行させるコンピュータプログラムを記録している。
【００２１】
本発明の記録媒体に記録されたコンピュータプログラムは、物体の２次元の画像データを物体の３次元の画像データに変換するステップとして、前記物体の２次元の画像データに基づいてこの物体の２次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するステップと、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて３次元ベクトルデータに変換するステップとをコンピュータに実行させる。
【００２２】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態を説明する。
〈形状認識装置の構成〉
最初に、本実施形態による形状認識装置の構成を説明する。図１は、形状認識装置の構成例を示す図である。図１において、形状認識装置は、制御装置１と、この制御装置１に接続された撮像装置(撮像ＣＣＤ)２１，赤外光投光装置２２，回転台装置２３，照明装置２４，ディスプレイ２５，アクチュエータ２６，キーボード２７，及びマウス２８とからなる。
【００２３】
ここに、制御装置１は、ＣＰＵ１０と、このＣＰＵ１０にバス(コントロールバス,アドレスバス,及びデータバス)Ｂを介して相互に接続された撮像装置ドライバ１１ａ，Ａ／Ｄ変換回路１１ｂ，赤外光投光装置ドライバ１２，回転台装置ドライバ１３，照明装置ドライバ１４，表示回路１５，アクチュエータドライバ１６，ＲＯＭ１７，及びＲＡＭ１８とからなる。
【００２４】
撮像ＣＣＤ装置２１は、撮像ＣＣＤ装置ドライバ１１ａとＡ／Ｄ変換回路１１ｂとに接続され、赤外光投光装置２２は、赤外光投光装置ドライバ１２に接続されている。また、回転台装置２３は、回転台装置ドライバ１３に接続され、照明装置２４は、照明装置ドライバ１４に接続されている。また、ディスプレイ２５は、表示回路１５に接続され、アクチュエータ２６は、アクチュエータドライバ１６に接続されている。そして、キーボード２７とマウス２８とは、夫々バスＢに直接接続されている。
【００２５】
ＲＯＭ１７には、制御装置１のオペレーションシステム等の基本プログラムや形状認識装置の制御プログラム等の各種のコンピュータプログラム，及び各種プログラムの実行に際して使用されるデータが格納されている。また、ＲＡＭ１８は、ＣＰＵ１０の作業領域であり、ＲＯＭ１７に記憶された各種プログラムやデータが適宜ロードされる。また、ＲＡＭ１８は、ＣＰＵ１０によって処理されたデータを記憶する。また、表示回路１５は、ＣＰＵ１０からの命令に基づいて、Ａ／Ｄ変換回路１１ａによって変換された画像データや、ＲＡＭ１８に記憶された画像データをＲＧＢ信号に変換する。また、ディスプレイ２５は、表示回路１５から転送されたＲＧＢ信号に基づいてその画面に映像(画像)を表示するＣＲＴである。さらに、キーボード２７，及びマウス２８は、形状認識装置の使用者が指示やデータ等を入力するための入力装置である。
【００２６】
図２は、撮像装置２１から形状認識対象である物体(オブジェクト)Ｂまでの距離を測定するための構成を示す図である。図２には、形状認識装置と物体Ｂとを上方から平面的に見た図が示されている。
【００２７】
図２において、回転台装置２３は、撮像装置２１及び赤外光投光装置２２の夫々と所定距離をおいて配置されている。この回転台装置２３は、紙面に対して垂直に配置された回転軸(図示せず)，この回転軸に取り付けられた回転台２３ａ，図示せぬ回転軸を駆動させる駆動装置(図示せず)からなる。回転台２３ａの上面には、立体の形状認識対象たる物体Ｂが載置されている。本実施形態に係る物体Ｂは、直方体からその直方体より体積の小さい直方体が除かれた形状を有している(図６参照)。
【００２８】
図１に示された回転台ドライバ１３は、ＣＰＵ１０からの指示データに従って回転台装置２３の図示せぬ駆動装置に制御信号を与え、図示せぬ回転軸を回転させる。これによって、回転台２３ａが所定の回転角度(例えば、１８０゜)回転し、これに伴って物体Ｂが回転台２３ａの回転角度と同じ角度だけ回転する。
【００２９】
また、図２に示されるように、赤外光投光装置２２は、ＬＥＤ２２ａ，Ｘ−Ｙテーブル２２ｂ，及び投光レンズ２２ｃからなる。Ｘ−Ｙテーブル２２ｂは、物体Ｂに対向して配置される平面４０を有しており、この平面４０は、図２の紙面の左右方向(図２のＹ方向)と紙面に対して垂直な方向(図２のＸ方向)とに沿って移動可能となっている。
【００３０】
ＬＥＤ２２ａは、上述した平面４０上に固定した状態で設けられており、Ｘ−Ｙテーブル２２ｂのＸ方向またはＹ方向への移動に伴って移動する。このＬＥＤ２２ａは、その発光によって、物体Ｂに対して物体Ｂと撮像ＣＣＤ２１ａの撮像面４１との距離を測定するための赤外線を照射する。
【００３１】
投光レンズ２２ｃは、ＬＥＤ２２ａと物体Ｂとの間の光路上に配置されており、ＬＥＤ２２ａから発せられた赤外光を集光し物体Ｂに対して射出する。この投光レンズ２２ｃとＬＥＤ２２ａとは、所定の距離をおいて夫々配置されており、投光レンズ２２ｃの射出端面から射出される赤外光の焦点は、物体Ｂの近傍に位置する。
【００３２】
図１に示された赤外光投光装置ドライバ１２は、ＣＰＵ１０からの指示データに従って、Ｘ−Ｙテーブル２２ｂをＸ方向又はＹ方向に移動させる。これに伴って赤外光ＬＥＤ２２ａがＸ方向又はＹ方向に移動する。すると、図２に示されたＬＥＤ２２ａから発せられた赤外光の光軸と投光レンズ２２ｃの中心軸とがなす角度θ1が変化する。
【００３３】
また、図２に示されるように、ＬＥＤ２２ａと物体Ｂとの光路上には、照明装置２４が、図示せぬアクチュエータによって進退自在に配置されている。照明装置２４は、形状認識装置が赤外光を照射する間は、ＬＥＤ２２ａと物体Ｂとの光路外に退避する。一方、撮像装置２１によって物体Ｂの撮像を行う間は、照明装置２４は、ＬＥＤ２２ａと物体Ｂとの光路上に進出するとともに、撮像ＣＣＤ２１ａが物体Ｂを撮像するための白色光を物体Ｂに対して照射する。
【００３４】
また、図２に示されるように、撮像装置２１は、Ｘ−Ｙテーブル２２ｂのＸ方向に沿って赤外光投光装置２２と所定間隔をおいて配置されている。この撮像装置２１は、撮像ＣＣＤ２１ａ，撮像レンズ２１ｂ，及び可視光カットフィルタ２６ａからなる。
【００３５】
ここに、撮像ＣＣＤ２１ａは、矩形の撮像面４１を有する平板状に形成されており、撮像面４１が物体Ｂに向けて配置されている。図３は、撮像面４１の構成図である。図３において、撮像面４１は、マトリックス状に配置された複数のＣＣＤ素子(画素)３１からなり、図３における撮像面４１の左上コーナー(図２の撮像面４１の右上コーナー)をなすＣＣＤ素子３１が原点(０，０)をなすＣＣＤ素子３１として設定されている。また、撮像面４１は、図３の紙面の左右方向が撮像面４１のＸ方向として設定され、紙面の上下方向が撮像面４１のＹ方向として設定されている。
【００３６】
また、図３に示されるように、撮像面４１には、各ＣＣＤ素子３１の配列に従って、隣合う４つのＣＣＤ素子３１(矩形をなす４つのＣＣＤ素子３１)毎に、物体Ｂと撮像ＣＣＤ２１ａとの距離を測定するための測距ポイント３２が設定されている。この各ＣＣＤ素子３１と測距ポイント３２との対応は、ＣＰＵ１０が制御プログラムを実行する際に、測距ポイントデータとしてＲＡＭ１８に格納される。
【００３７】
また、本実施形態では、ＣＣＤ素子３１と同じ数の記憶領域からなる画像データ記憶用の表示バッファ領域がＲＡＭ１８に形成されている。各ＣＣＤ素子３１の出力に対応する画像データは、夫々表示バッファ領域の各記憶領域に記憶される。なお、本実施形態による撮像ＣＣＤ２１ａには、カラーＣＣＤが用いられているが、モノクロのＣＣＤが用いられていても良い。また、一つの測距ポイント３２に対応するＣＣＤ素子３１の数は適宜設定可能である。
【００３８】
撮像レンズ２１ｂは、図２に示されるように、物体Ｂと撮像ＣＣＤ２１ａとの光路上に配置されている。また、この撮像レンズ２１ｂと上述した投光レンズ２２ｃとは、撮像レンズ２１ｂの中心軸と投光レンズ２２ｃの中心軸とに夫々直交する同一平面上に所定距離をおいて夫々配置されている。
【００３９】
この撮像レンズ２１ｂの入射端面には、物体Ｂの反射光が入射される。また、撮像レンズ２１ｂの射出端面からの焦点位置は、撮像ＣＣＤ２１ａの撮像面４１上に設定されている。また、この撮像レンズ２１ｂから射出される光の光軸と撮像レンズ２１ｂの中心軸との間の角度θ2は、上述したＬＥＤ２２ａの移動に伴う角度θ1の変動に応じて変動する。このような撮像ＣＣＤ２１ａは、撮像面４１に入射する像をＣＣＤ素子３１毎に光電変換し、図１に示されるＡ／Ｄ変換回路１１ｂに転送する。Ａ／Ｄ変換回路１１ｂは、撮像ＣＣＤ２１ａからの出力をアナログ−デジタル変換することによって物体Ｂの２次元の画像データを取得する。
【００４０】
可視光カットフィルタ２６ａは、ＣＰＵ１０からの命令を受けたアクチュエータ２６の駆動によって、撮像ＣＣＤ２１ａと撮像レンズ２１ｂとの間の光路上に進退自在となっている。即ち、可視光カットフィルタ２６ａは、赤外光が物体Ｂに照射される際に、撮像レンズ２１ｂと撮像ＣＣＤ２１ａとの間の光路上に進出し、撮像レンズ２１ｂから射出される物体Ｂの反射光から可視光成分を除去し、赤外光成分のみを撮像ＣＣＤ２１ａに入射させる。
【００４１】
ＣＰＵ１０は、形状認識装置の電源投入によって起動し、ＲＯＭ１７に記憶された制御プログラムを実行することによって、形状認識装置全体の制御を行う。具体的には、ＣＰＵ１０は、アクチュエータ装置ドライバ１６に可視光カットフィルタ２６ａを進退させるための指示データを入力する処理，撮像装置ドライバ１１ａに物体Ｂの像を撮像する指示データを入力する処理，Ａ／Ｄ変換回路１１ｂから出力された画像データに対する処理，照明装置ドライバ１４を介して照明装置２４を制御する処理，アクチュエータドライバ１６を介して可視光カットフィルタ２６ａを進退させる処理，ＲＡＭ１８に対して各種のデータを読み書きする処理，表示回路１５に画像データを転送する処理，及びキーボード２７やマウス２８からの入力信号を受け付ける処理等を行う。
〈形状認識装置の動作〉
次に、上述した形状認識装置の動作を説明する。図４及び図５は、形状認識装置の動作時におけるＣＰＵ１０の処理が示された流れ図である。形状認識装置は、その図示せぬ電源が投入されることによって動作を開始する。
【００４２】
最初に、形状認識装置のＣＰＵ１０が起動する。ＣＰＵ１０は、ＲＯＭ１７に記憶されたオペレーティングシステムに基づいて、制御装置１の各部(ＲＡＭ１８，各ドライバ，Ａ／Ｄ変換回路１１ａ等)の初期設定を行う。この初期設定が終了すると、ＣＰＵ１０は、ＲＯＭ１７に記憶された制御プログラムをＲＡＭ１８にロードし、その制御プログラムを実行する。これによって、ディスプレイ２５の表示画面に、例えば、「物体Ｂの認識処理を開始しますか？［Ｙ／Ｎ］」の文字が表示される。
【００４３】
このとき、形状認識装置の使用者が、物体Ｂを回転台２３ａ上に載置し、例えば、キーボード２７の「Ｙ」のキーを押すと、物体Ｂの形状認識処理命令が、キーボード２７，バスＢを介してＣＰＵ１０に入力される。これによって、ＣＰＵ１０が、図４に示される処理をスタートする。但し、このスタート時においては、照明装置２４は、投光レンズ２２ｃと物体Ｂとの光路上から退避した状態にあり、且つ、可視光カットフィルタ２６ａは、撮像ＣＣＤ２１ａと撮像レンズ２１ｂとの間の光路上から退避した状態にあるものとする。
【００４４】
図４において、Ｓ００１では、ＣＰＵ４０が、アクチュエータ装置ドライバ１６に対して所定の指示データを入力する。このＳ００１の処理によって、アクチュエータ２６が駆動し、可視光カットフィルタ２６ａを、撮像ＣＣＤ２１ａと撮像レンズ２１ｂとの間の光路上に挿入させる。
【００４５】
次のＳ００２では、ＣＰＵ１０は、撮像装置２１に撮像開始の指示データを入力する。このＳ００２の処理によって、赤外光投光装置２２のＬＥＤ２２ａから赤外線が発せられる。この赤外線は、投光レンズ２２ｃを介して物体Ｂの表面に照射される。そして、物体Ｂによって反射された赤外光の反射光が、撮像レンズ２１ｂ，及び可視光カットフィルタ２６ａを介して撮像ＣＣＤ２１ａに入射する。これによって、撮像ＣＣＤ２１ａが物体Ｂの像を撮像する。この撮像ＣＣＤ２１ａの出力(各ＣＣＤ素子３１の出力)は、Ａ／Ｄ変換回路２１ａによって物体Ｂの画像データ(各ＣＣＤ素子３１の輝度データ)に変換される。そして、ＣＰＵ１０は、各画像データを第１画像データとしてＲＡＭ１８の表示用バッファ領域に格納する。
【００４６】
次のＳ００３では、ＣＰＵ１０は、ＲＡＭ１８に格納された第１画像データに基づいて、測距ポイント３２の特定を行う。即ち、ＣＰＵ１０は、第１画像データから各ＣＣＤ素子３１(画素)の輝度分布を算出するとともに、各ＣＣＤ素子３１の輝度データの平均値をとることによって、各ＣＣＤ素子３１の輝度のしきい値を算出する。
【００４７】
続いて、ＣＰＵ１０は、第１画像データをなす各ＣＣＤ素子３１の輝度データと算出したしきい値とを比較し、しきい値以上の輝度データを出力したＣＣＤ素子３１を検出する。このとき、物体Ｂの反射光が入射されたＣＣＤ素子３１の輝度データは、しきい値以上の値となるため、撮像ＣＣＤ２１ａの撮像面４１に投影される物体Ｂのおおよその輪郭が取得されることとなる。
【００４８】
続いて、ＣＰＵ１０は、ＲＡＭ１８から測距ポイントデータを読み出すとともに、この測距ポイントデータに基づいて、検出した画素に対応する単数又は複数の測距ポイント３２を取得する。そして、ＣＰＵ１０は、取得した各測距ポイント３２(の位置情報)と、各測距ポイント３２に囲まれた各ＣＣＤ素子３１の位置情報(画素の位置情報)とを対応づけて測距ポイントデータとし、各測距ポイントデータに番号をつけてＲＡＭ１８に夫々格納する。このとき、ＣＰＵ１０は、測距ポイントデータのうち、最も若い番号のデータにおける測距ポイント３２を特定する。
【００４９】
次のＳ００４では、ＣＰＵ１０は、Ｓ００３にて特定した測距ポイント３２に赤外光が当たるようにＬＥＤ２２ａを移動させる。即ち、ＣＰＵ１０は、ＲＡＭ１８から特定した測距ポイント３２の測距ポイントデータを読み出し、この測距ポイントデータに対応する指示データを赤外光投光装置ドライバ１２に与える。すると、赤外光投光装置ドライバ１２が、Ｘ−Ｙテーブル２２ｂを移動させてＬＥＤ２２ａを適宜の位置に配置する。これによって、ＬＥＤ２２ａから発せられる赤外光の反射光が、特定した測距ポイント３２に対応する各ＣＣＤ素子３１に入射する。
【００５０】
次のＳ００５では、ＣＰＵ１０は、赤外光ＬＥＤ２２ａの位置及びＳ００３にて特定した測距ポイント３２の位置に基づいて、物体Ｂから撮像面４１(各測距ポイント３２)までの距離を測定する。即ち、ＣＰＵ１０は、Ｓ００４の処理によって移動したＬＥＤ２２ａの位置を取得し、このＬＥＤ２２ａの位置情報に基づいて、ＬＥＤ２２ａから物体Ｂの表面に照射される赤外光の光軸と投光レンズ２２ｃの中心軸との間の角度(図２中のθ1)を算出する。また、ＣＰＵ１０は、赤外線の反射光が入射する測距ポイント３２のＣＣＤ素子３１(画素)の位置データに基づいて、当該ＣＣＤ素子３１に入射する反射光の光軸と撮像レンズ２１ｂの中心軸との間の角度(θ2)を算出する。
【００５１】
続いて、ＣＰＵ１０は、角度θ1と，角度θ2と，投光レンズ２２ｃから撮像レンズ２１ｂまでの水平方向（図２の紙面の左右方向(Ｙ方向)）における距離データとに基づいて、物体Ｂの表面から該当する測距ポイント３２までの距離を算出する。即ち、ＣＰＵ１０は、三角測量の原理を用いて物体Ｂと測距ポイント３２との間の距離を測定する。そして、ＣＰＵ１０は、算出した各距離に測距ポイントデータの番号を対応付けて測距データとし、これらの測距データをＲＡＭ１８に格納する。
【００５２】
次のＳ００６では、ＣＰＵ１０は、全ての測距ポイント３２について測距をおこなったかの判断を行う。即ち、ＣＰＵ１０は、Ｓ００５にて測距した測距ポイントデータ番号より大きな番号の測距ポイントデータがあるか否かを判定する。このとき、ＣＰＵ１０は、大きな番号の測距ポイントデータがあると判定した場合(Ｓ００６；ＹＥＳ)には、処理をＳ００７へ進める。
【００５３】
これに対し、ＣＰＵ１０は、大きな番号の測距ポイントデータがないと判定した場合(Ｓ００６；ＮＯ)には、処理をＳ００３へ戻し、このＳ００６にてＹＥＳの判定がなされるまでＳ００３〜Ｓ００６の処理を繰り返し行う。但し、２巡目以降のＳ００３〜Ｓ００６の処理は、Ｓ００３にて取得された複数の測距ポイントデータのうち、前回のＳ００３〜Ｓ００６の処理対象となった測距ポイントデータの番号の次に大きい番号の測距ポイントデータに対して行われる。
【００５４】
Ｓ００７へ処理が進んだ場合には、ＣＰＵ１０は、アクチュエータドライバ１６に可視光カットフィルタ２６ａを撮像装置２１から取り出す指示データを入力する。これによって、可視光カットフィルタ２６ａが、アクチュエータ２６の駆動によって、撮像ＣＣＤ２１ａと撮像レンズ２１ｂとの間の光路上から退避する。このとき、ＣＰＵ１０は、赤外光投光装置ドライバ１２と照明装置ドライバ１４とにそれぞれ命令を発する。これによって、ＬＥＤ２２ａの発光が停止する。
【００５５】
次のＳ００８では、ＣＰＵ１０は、撮像装置ドライバ１１ｂと照明装置ドライバ１４とにレリーズ命令を入力する。すると、照明装置２４が投光レンズ２２ｃと物体Ｂとの光路上に進出し、物体Ｂに対して白色光を照射する。これによって、物体Ｂによる白色光のの反射光が、撮像レンズ２１ｂを介して撮像ＣＣＤ２１ａの撮像面４１に入射する。この撮像ＣＣＤ２１ａからの出力(各ＣＣＤ素子３１(画素)の出力)は、Ａ／Ｄ変換回路１１ａにおいてアナログ−デジタル変換され、１画面分の物体Ｂの２次元の画像データとなる。ＣＰＵ１０は、この画像データを第２画像データとしてＲＡＭ１８の表示用バッファ領域に格納する。
【００５６】
次のＳ００９では、ＣＰＵ１０は、Ｓ００５にて得た各測距データと画素の位置データとを関連付ける。即ち、ＣＰＵ１０は、各測距ポイントデータに含まれる測距ポイント３２の位置情報に基づいて、第２画像データ中から該当する画素を検出する。続いて、ＣＰＵ１０は、検出した各画素に各測距ポイント３２の測距データを対応付ける。
【００５７】
次のＳ０１０では、ＣＰＵ１０は、物体Ｂの輪郭をトレースする。即ち、ＣＰＵ１０は、第２画像データから輝度分布を算出しその平均値をとることによって、その輝度分布からしきい値を算出する。続いて、ＣＰＵ１０は、画像データの原点(０，０)を起点とし、(０，１)・・・(０，ｎ)の順で各画素の輝度値としきい値とを比較する(図３参照)。このとき、ＣＰＵ１０は、第０行において、最初に検出された画素，及び最後に検出された画素を検出し(この処理にて検出された画素を「輪郭画素」という。)、輪郭データとしてＲＡＭ１８に格納する。ＣＰＵ１０は、上述した処理を第１行〜第ｎ行についても同様に行う。
【００５８】
続いて、ＣＰＵ１０は、画像データの原点(０，０)を起点とし、(１，０)，(２，０)・・・(ｎ，０)の順で各画素の輝度値としきい値とを比較する。この場合においても、ＣＰＵ１０は、第０列において、最初に検出された画素，及び最後に検出された画素を検出し(この処理にて検出された画素を「輪郭画素」という。)、輪郭データとしてＲＡＭ１８に格納する。ＣＰＵ１０は、上述した処理を第１列〜第ｎ列についても同様に行う。
【００５９】
次のＳ０１１では、ＣＰＵ１０は、Ｓ０１０にて得た輪郭データに基づいて、物体Ｂの２次元の輪郭線ベクトルデータを算出する。即ち、ＣＰＵ１０は、各輪郭データに含まれる各輪郭画素の位置情報を、いわゆるＨＯＵＧＨ方程式に代入する(ＨＯＵＧＨ変換を行う)。続いて、ＣＰＵ１０は、各輪郭画素についてのＨＯＵＧＨ方程式の計算結果を夫々比較する。そして、ＣＰＵ１０は、比較結果と輪郭データとに基づいて、ベクトルの始点画素及びベクトルの終点画素をそれぞれ有する物体Ｂの２次元の輪郭線ベクトルデータをそれぞれ算出する。
【００６０】
次のＳ０１２では、ＣＰＵ１０は、Ｓ０１１にて算出した各輪郭線ベクトルデータをＲＡＭ１８に格納する。図５に示されるように、次のＳ０１３では、ＣＰＵ１０は、Ｓ０１０にて検出された各輪郭画素の内部の方向に向かって、輝度の境界(物体Ｂの表面をなす面の境界)をトレースする。即ち、各輪郭画素に囲まれた画素とＳ０１０にて検出したしきい値とを比較して、しきい値以上の輝度値をもつ画素を検出する(この処理によって検出された画素を「境界画素」という。)。続いて、ＣＰＵ１０は、検出した各画素を境界データとしてＲＡＭ１８に格納する。
【００６１】
次のＳ０１４では、ＣＰＵ１０は、Ｓ０１３にて得た境界データに基づいて、Ｓ０１１と同様の手法によって、物体Ｂの２次元の境界ベクトルデータを算出する。即ち、ＣＰＵ１０は、各境界データに含まれる境界画素の位置情報を、ＨＯＵＧＨ方程式に代入する(ＨＯＵＧＨ変換を行う)。続いて、ＣＰＵ１０は、各境界画素についてのＨＯＵＧＨ方程式の計算結果を夫々比較する。続いて、ＣＰＵ１０は、この比較結果と境界データとに基づいて、ベクトルの始点画素及びベクトルの終点画素をそれぞれ有する物体Ｂの２次元の境界ベクトルデータを算出する。
【００６２】
次のＳ０１５では、ＣＰＵ１０は、Ｓ０１４にて算出された各境界ベクトルデータをＲＡＭ１８に格納する。次のＳ０１６では、ＣＰＵ１０は、Ｓ００５にて得た測距データに基づいて、Ｓ０１４にて得た２次元の境界ベクトルデータを３次元ベクトル化する。即ち、ＣＰＵ１０は、各２次元の境界ベクトルデータの始点画素又は終点画素に対応する測距ポイント３２をそれぞれ算出する。続いて、ＣＰＵ１０は、算出した各測距ポイント３２に対応する各測距データを、当該測距ポイント３２に対応する始点画素又は終点画素の位置とすることによって、３次元の境界ベクトルデータにそれぞれ変換する。
【００６３】
このように、ＣＰＵ１０は、２次元の境界ベクトルデータ(２次元座標)を対応する測距データに基づいて、３次元の境界ベクトルデータ(３次元座標)に変換する。そして、ＣＰＵ１０は、各変換結果を該当する表示バッファ領域の各記憶領域に格納する。
【００６４】
Ｓ０１７では、ＣＰＵ１０は、Ｓ０１１にて得た物体Ｂの２次元の輪郭線ベクトルデータを用いて物体Ｂのモデリングデータを作成する。即ち、ＣＰＵ１０は、２次元の輪郭線ベクトルデータに基づいて、輪郭線ベクトルで囲まれた画素のうち、２次元の輪郭線ベクトルに沿って位置する画素を一定間隔毎に検出する。続いて、ＣＰＵ１０は、検出した各画素と輪郭線ベクトルとを、測距データに基づいて３次元ベクトルデータに変換する。
【００６５】
即ち、ＣＰＵ１０は、Ｓ０１６と同様の手法を用いて、２次元の輪郭線ベクトルデータ(２次元座標)を、対応する測距データに基づいて３次元の輪郭線ベクトルデータ(３次元座標)に変換する。そして、ＣＰＵ１０は、変換された３次元の輪郭線ベクトルデータを、該当する表示バッファ領域の各記憶領域にそれぞれ格納する。これによって、ＲＡＭ１８の表示用バッファ領域には、モデリングデータをなす物体Ｂの３次元のベクトルデータが格納されることとなる。
【００６６】
次のＳ０１８では、ＣＰＵ１０は、Ｓ０１７にて得られたモデリングデータをディスプレイ２５に表示する旨の命令を表示回路１５に与える。これによって、物体Ｂの３次元画像が、ディスプレイ２５に表示される。
【００６７】
次のＳ０１９では、ＣＰＵ１０は、形状認識装置の使用者の操作指示をディスプレイ２５に表示させる。即ち、ＣＰＵ１０は、ディスプレイ２５に、例えば、「モデリングデータの編集を行う場合には“Ｍ”のキーを、細分化処理を行う場合には“Ｓ”のキーを、何れも行わない場合には“Ｅ”のキーを押して下さい」のテキスト文字をディスプレイ２５に表示させる。
【００６８】
次のＳ０２０では、ＣＰＵ１０は、キーボード２７の“Ｍ”，“Ｓ”，又は“Ｅ”のキーの何れかが押されるのを受け付ける。そして、これらのキーの何れかが押された場合には、ＣＰＵ１０は処理をＳ０２１へ進める。次のＳ０２１では、ＣＰＵ１０は、“Ｍ”のキーが押されたか否かを判定する。このとき、“Ｍ”のキーが押されたと判定した場合には、ＣＰＵ１０は、処理をＳ０２２へ進め、モデリングデータの編集処理を行う。例えば、使用者からキーボード２７又はマウス２８から入力される指示に従って、モデリングデータの補正を行う処理等を行う。そして、Ｓ０２２の処理が終了すると、ＣＰＵ１０は、処理をＳ０１９へ戻す。これに対し、“Ｍ”以外のキーが押されたと判定した場合(Ｓ０２１；ＮＯ)には、ＣＰＵ１０は、処理をＳ０２３へ進める。
【００６９】
Ｓ０２３へ処理が進んだ場合には、ＣＰＵ１０は、“Ｓ”のキーが押されたか否かを判定する。このとき、“Ｓ”のキーが押されたと判定した場合(Ｓ０２３；ＹＥＳ)には、ＣＰＵ１０は、処理をＳ０２４へ進める。これに対し、“Ｓ”のキー以外のキーが押されたと判定した場合(Ｓ０２３；ＮＯ)には、ＣＰＵ１０は、処理をＳ０２６へ進める。
【００７０】
Ｓ０２４へ処理が進んだ場合には、ＣＰＵ１０は、輪郭線ベクトルと境界ベクトルとに囲まれた各面について細分化を行う。ＣＰＵ１０は、輪郭線ベクトルと境界ベクトルとに囲まれた部分を、画像データの列方向，行方向に一定間隔毎に画素を取り出す。ＣＰＵ１０は、取り出した画素にこれと対応する測距データを加える。
【００７１】
Ｓ０２５では、ＣＰＵ１０は、Ｓ０２４の処理によって細分化された物体Ｂの画像データをテクスチャデータ，カラーパレットデータとしてＲＡＭ１８に格納する。
【００７２】
Ｓ０２４では、ＣＰＵ１０は、ディスプレイ２５に、例えば「処理を終了しますか［Ｙ／Ｎ］」のテキスト文字を表示させるとともに、キーボード２７から“Ｙ”又は“Ｎ”のキーが押されるのを待つ。そして、“Ｙ”のキーが押された場合には、ＣＰＵ１０の処理が終了するとともに、形状認識装置の動作が終了する。これに対し、“Ｎ”のキーが押された場合には、ＣＰＵ１０は、処理をＳ０２７へ進める。
【００７３】
Ｓ０２７では、ＣＰＵ１０は、ディスプレイ２５に、例えば「回転台を回転させますか？［１８０〜３５９／Ｎ］」のテキスト文字を表示させるとともに、使用者から１８０〜３５９の数字及びリターンキー，又は“Ｎ”のキーが押されるのを待つ。そして、“Ｎ”のキーが押された場合(Ｓ０２７；ＮＯ)には、ＣＰＵ１０は、処理をＳ０１９へ戻す。これに対し、１８０〜３５９の何れかの数字とリターンキーとが押された場合には、ＣＰＵ１０は、処理をＳ０２８へ進める。
【００７４】
Ｓ０２８へ処理が進んだ場合には、ＣＰＵ１０は、回転台装置ドライバ２３へ命令を入力し、入力された数字に相当する回転角度だけ回転台２３を回転させる。そして、ＣＰＵ１０は、処理をＳ００１へ戻す。このとき、例えば、１８０の数字がキーボード２７から入力された場合には、回転台２３が１８０゜回転し、物体Ｂを１８０゜回転させる。この後、Ｓ００１〜Ｓ０２６の処理が行われ、前回のＳ００１〜０２６の処理によって得られたデータと組み合わせれば、ＲＡＭ２８には、物体Ｂの完全な３次元形状のモデリングデータが格納される状態となる。
〈実施形態による作用〉
次に、本実施形態による形状認識装置によって、物体Ｂのモデリングデータ，及びテクスチャデータ等が作成されるまでの過程を説明する。
【００７５】
上述したように、物体Ｂの形状認識に先だって、使用者は物体Ｂを形状認識装置の回転台２３ａに載置し、キーボート２７又はマウス２８を介して立体形状認識を開始する旨の指示データを入力する。すると、ＣＰＵ１０は、図のＳ００１，Ｓ００２の処理を経て、Ｓ００３〜Ｓ００６までのループを繰り返す。ここで、ＣＰＵ１０は、物体Ｂと各測距ポイント３２との間の測距データを取得する。
【００７６】
物体Ｂに設定された全ての測距ポイント３２に対する測距データの取得が完了したら、ＣＰＵ１０は、Ｓ００７，Ｓ００８の処理を行い、物体Ｂの画像データを取得する。図６は、Ｓ００８の処理終了後にディスプレイ２５に表示される画像データの表示例である。
【００７７】
次に、ＣＰＵ１０は、Ｓ００９〜Ｓ０１２までの処理を行い、取得した画像データに基づいて物体Ｂの輪郭線ベクトルデータを算出する。図７は、ディスプレイ装置２５に表示される輪郭線ベクトルデータである。続いてＣＰＵ１０は、Ｓ０１３〜Ｓ０１５までの処理を行い、境界ベクトルデータを算出する。
【００７８】
続いて、ＣＰＵ１０は、Ｓ０１６〜Ｓ０１８までの処理を行い、輪郭線ベクトルデータに基づいてモデリングデータを作成する。図８は、Ｓ０１８の処理終了後にディスプレイ２５に表示されるモデリングデータの画面表示例である。
【００７９】
更に、ＣＰＵ１０は、Ｓ０２０にて“Ｍ”のキーが押された場合には、モデリングデータについて編集を行う(Ｓ０２２)。また、ＣＰＵ１０は、Ｓ０２４，Ｓ０２５の処理を行い、輪郭線ベクトルと境界ベクトルとに囲まれた各面を細分化して、テクスチャデータを作成する。
【００８０】
このように、本実施形態によれば、物体Ｂの１画面分の各ＣＣＤ素子３１(画素)毎の画像データ(２次元画像データ)を取得するとともに、各画素に対応する測距ポイント３２の測距データを取得し、各２次元の画像データを各測距データに基づいて３次元変換するすることによって、物体Ｂのモデリングデータを作成する。即ち、物体Ｂの立体形状を認識する。
【００８１】
このため、従来のように物体Ｂを回転，又は撮像装置２１等を回転させなくても物体Ｂの立体形状を認識することができる。また、本実施形態では、回転台装置２３が設けてあるので、例えば物体を１８０゜回転させることによって、完全な物体Ｂの立体形状を認識することができる。従って、光切断法を用いた形状認識装置に比し、物体Ｂを回転させる回数を著しく減少させることができるとともに、形状認識装置の処理(動作)数を簡略化でき、処理時間の短縮化を図ることができる。
【００８２】
ところで、本発明による形状認識装置は、上述したように、物体Ｂを回転させる構成(回転台装置２３)等を特に必要としないので、図９に示されるように、例えば、デジタルカメラＫ１とこのデジタルカメラＫ１にケーブルＣ及びインターフェイス(図示せず)を介して接続されたノート型パーソナルコンピュータ(パソコン)Ｋ２とから構成することもできる。この場合には、図１０に示されるように、例えば、撮像装置２１，赤外光投光装置２２，照明装置２４，及びアクチュエータ２６をデジタルカメラＫ１が備えるとともに、制御装置１，液晶ディスプレイ２５，キーボード２７，及びマウス２８をパソコンＫ２が備えるように構成する。
【００８３】
そして、デジタルカメラＫ１によって、上述した物体Ｂの２次元の画像データ(撮像ＣＣＤ２１ａの出力)及び物体Ｂと測距ポイント３２との距離(測距データ)とが取得され、これらのデータがパソコンＫ２に転送され、パソコンＫ２の制御装置１(ＣＰＵ１０)によって、デジタルカメラＫ１から転送された各データに基づいて物体Ｂの３次元の画像データ(モデリングデータ)が作成されるように構成する。このような構成とすれば、形状認識装置の小型化が図られるので、その携帯性が向上するとともに、容易に物体Ｂのモデリングデータを作成することが可能となる。なお、図９に示される形状認識装置において、デジタルカメラＫ１とパソコンＫ２との間のデータ転送は、無線によるものであっても良い。
【００８４】
また、本発明による形状認識装置は、例えば、ＣＣＤカメラを搭載したモバイルコンピュータ(例えば、電子手帳)の記憶装置に上述した制御プログラムを記憶させることで構成することもできる。この場合には、例えば、上述したモデリングデータが作成されるまでの処理をモバイルコンピュータ上で行うように構成するのが好ましい。そして、モバイルコンピュータで作成されたモデリングデータを、パソコンやワークステーション等の上位コンピュータに転送し、これらの上位コンピュータによって実行されるモデリングソフトやＣＡＤソフト上で、モデリングデータの編集や細分化等が行われるようにしても良い。このようにすれば、形状認識装置の携帯性をさらに高めることができる。
【００８５】
【発明の効果】
本発明の形状認識装置，形状認識方法，及びコンピュータプログラムを記録した記録媒体によれば、立体形状認識対象となる物体を回転させる構成，或いは物体を中心として形状認識装置を周回させる構成を特に不要として小型化を図ることができ、且つ従来に比し容易に物体の立体形状データを得ることができる。
【図面の簡単な説明】
【図１】本発明の実施形態による形状認識装置の構成例を示す図
【図２】形状認識装置の測距を行う構成の説明図
【図３】撮像ＣＣＤの撮像面を示す図
【図４】形状認識装置のＣＰＵの処理を示す流れ図
【図５】形状認識装置のＣＰＵの処理を示す流れ図
【図６】ディスプレイの画面表示例
【図７】ディスプレイの画面表示例
【図８】ディスプレイの画面表示例
【図９】形状認識装置の変形例を示す図
【図１０】形状認識装置の変形例を示す図
【図１１】従来の形状認識装置の説明図
【符号の説明】
Ｂ 物体
Ｋ１ デジタルカメラ
Ｋ２ パーソナルコンピュータ
１ 制御装置
１０ ＣＰＵ(変換手段)
１７ ＲＯＭ
１８ ＲＡＭ
２１ 撮像装置(撮像手段)
２２ 赤外光投光装置(測距手段)
【図１】
0003860525.tif 000002
【図２】
0003860525.tif 000003
【図３】
0003860525.tif 000004
【図４】
0003860525.tif 000005
【図５】
0003860525.tif 000006
【図６】
0003860525.tif 000007
【図７】
0003860525.tif 000008
【図８】
0003860525.tif 000009
【図９】
0003860525.tif 000010
【図１０】
0003860525.tif 000011
【図１１】
0003860525.tif 000012