JP3860525B2 - Shape recognition apparatus, shape recognition method, and recording medium recording computer program - Google Patents

Shape recognition apparatus, shape recognition method, and recording medium recording computer program Download PDF

Info

Publication number
JP3860525B2
JP3860525B2 JP2002265214A JP2002265214A JP3860525B2 JP 3860525 B2 JP3860525 B2 JP 3860525B2 JP 2002265214 A JP2002265214 A JP 2002265214A JP 2002265214 A JP2002265214 A JP 2002265214A JP 3860525 B2 JP3860525 B2 JP 3860525B2
Authority
JP
Japan
Prior art keywords
data
image data
dimensional
distance
dimensional image
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.)
Expired - Lifetime
Application number
JP2002265214A
Other languages
Japanese (ja)
Other versions
JP2003157427A (en
Inventor
道元 酒井
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.)
Broadleaf Co Ltd
Original Assignee
Broadleaf Co Ltd
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 Broadleaf Co Ltd filed Critical Broadleaf Co Ltd
Priority to JP2002265214A priority Critical patent/JP3860525B2/en
Publication of JP2003157427A publication Critical patent/JP2003157427A/en
Application granted granted Critical
Publication of JP3860525B2 publication Critical patent/JP3860525B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、物体の立体形状を認識する形状認識装置に関する。
【0002】
【従来の技術】
従来、物体の3次元形状(立体形状)の認識を行う一つの方法として、光切断法が利用されている。図11は、光切断法による立体の形状認識装置の例を示す図である。図11において、形状認識装置は、回転台33に載置された形状認識対象となる物体Aと、この物体Aの表面上にスリット状のレーザ光Sを投光する投光装置32と、撮像面を物体Aに向けて配置された撮像装置(撮像CCD)34(図11には撮像面のみ図示)と、撮像装置34に接続された図示せぬプロセッサ装置(コンピュータ)とからなる。
【0003】
そして、この形状認識装置は、物体Aの形状認識を行う場合には、以下の一連の動作を行う。即ち、投光装置32からスリット状のレーザ光Sが発せられると、物体の表面には、その表面形状に沿った高輝度線Lが生じる。ここで、図11に示される例では、物体Aが球体であるので、円弧状の高輝度線Lが生じる。この高輝度線Lが撮像装置34に撮像されると、プロセッサ装置が、高輝度線L上の各点の空間座標データを物体Aの表面形状データとして算出し、図示せぬ記憶装置に格納する。
【0004】
以上の一連の動作は、回転台33を回転させることによって物体Aの表面上における高輝度線Lの位置を変えて複数回行われ、夫々の場合における各物体Aの表面形状データが図示せぬ記憶装置に記憶される。そして、図示せぬプロセッサ装置が各表面形状データ同士を物体Aに対する高輝度線Lの位置を参照しつつ組み合わせる処理や各表面形状データ間を補間する処理を行うことによって、物体Aの立体形状データが作成される。このようにして、物体Aの立体形状が認識されている。
【0005】
【発明が解決しようとする課題】
しかしながら、従来における形状認識装置には以下の問題があった。すなわち、光切断法を用いた形状認識装置では、上述したように物体Aの表面に生じる高輝度線Lの位置を変える必要があるので、形状認識装置には、上述した回転台33等の物体Aを回転させる構成,或いは、物体Aを中心として投光装置32と撮像装置34とを円軌跡を描いて周回させる構成が必要であった。
【0006】
ところが、形状認識装置に回転台33を設けた場合には、その回転台33の形状や回転台33を回転させるモータの性能によって回転台33に載置できる物体Aの制限が生じるので、形状認識装置を使用可能な物体Aが制限される場合があった。一方、形状認識装置に投光装置32と撮像装置34とを周回させる構成を設けた場合には、形状認識装置が大型化するとともに、投光装置32と撮像装置34とが周回する円の直径よりも大きい物体Aについては使用できない場合が生じていた。
【0007】
また、上述した形状認識装置の一連の動作により得られる表面形状データは、高輝度線L上の各点の空間座標データであるので、物体Aの立体形状データを得るには、多数の表面形状データを組み合わせることを必要としていた。特に、物体Aの形状が複雑である場合には、表面形状データ間の補間処理によっては適正な立体形状データを得られない場合があるので、さらに多数の表面形状データを取得する必要があった。このため、光切断法を用いた形状認識装置によって立体形状データを作成するには多くの処理や時間を要していた。
【0008】
本発明は、上記した問題に鑑みなされたものであり、立体形状認識対象となる物体を回転させる構成,或いは物体を中心として形状認識装置を周回させる構成を特に不要として小型化を図ることができ、且つ従来に比し容易に物体の立体形状データを得ることのできる形状認識装置を提供することを課題とする。
【0009】
【課題を解決するための手段】
本発明は、上述した問題を解決するために以下の構成を採用する。すなわち、本発明は、物体の立体形状を認識する装置であって、前記物体の2次元の画像データを取得する撮像手段と、前記物体と前記撮像手段との間の距離を測距データとして取得する測距手段と、前記物体の2次元の画像データを前記測距データに基づいて物体の3次元の画像データに変換する変換手段とを備える。
【0010】
本発明によれば、撮像手段が物体の2次元の画像データを取得する。また、測距手段が物体と撮像手段との間の距離を測距データとして取得する。そして、変換手段が物体の2次元の画像データを測距データに基づいて3次元の画像データに変換する。これによって、物体の3次元形状が認識される。測距データは、例えば、コンピュータが前記2次元の画像データに基づいて測距ポイントを特定し、該測距ポイントと前記2次元の画像データとを対応づけた測距ポイントデータとする。
【0011】
ここに、撮像手段には、CCDカメラやデジタルカメラ等を挙げることができる。また、測距手段は、例えば、認識対象たる物体に対して光源と撮像手段とを所定の距離をおいて配置し三角測量の原理を用いて物体と撮像手段との距離を測定する構成が好ましいが、光源から投光された光が戻ってくるまでの時間を測定しその時間に対応する距離を求める方法や、光源から物体に対する投射光と物体の反射光との位相差を測定してその位相差に対応する距離を求める方法によって物体と撮像手段との距離を測定する構成であっても良い。
【0012】
変換手段は、例えば、CPUが所定の制御プログラムを実行することによって実現される機能として構成できる。変換手段は、例えば、前記物体の2次元の画像データに基づいてこの物体の2次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて3次元ベクトルデータに変換することによって前記物体の3次元の画像データを得るように構成する。
【0013】
本発明は、物体の立体形状を認識する装置であって、複数の画素からなる撮像面を有し各画素毎に前記物体の2次元の画像データを夫々取得する撮像手段と、前記各画素に対応づけて前記撮像面に設定された複数の物体の測距ポイントと前記物体との距離を測距データとして夫々取得する測距手段と、前記各物体の2次元の画像データを各測距データに基づいて物体の3次元の画像データに夫々変換する変換手段とを備える。
【0014】
また、本発明による形状認識装置は、変換手段によって変換された物体の3次元の画像データを編集させる編集手段を有していても良く、物体の3次元の画像データに基づいて、テクスチャデータやカラーパレットデータを作成する手段を有していても良い。
【0015】
本発明は、物体の立体形状を認識する形状認識方法であって、前記物体を撮像することによって前記物体の2次元の画像データを取得するステップと、前記物体と前記撮像位置との間の距離を測距データとして取得するステップと、前記物体の2次元の画像データを前記測距データに基づいて物体の3次元の画像データに変換するステップとを含む。
【0016】
本発明は、物体の立体形状を認識する形状認識方法であって、複数の画素からなる撮像面を有する撮像手段によって各画素毎の前記物体の2次元の画像データを夫々取得するステップと、前記各画素に対応づけて前記撮像面に複数の物体の測距ポイントを特定するステップと、前記物体と前記測距ポイントとの距離を測距データとして夫々取得するステップと、前記物体の2次元の画像データを測距データに基づいて物体の3次元の画像データに夫々変換するステップとを含む。
【0017】
本発明による形状認識方法は、物体の3次元の画像データが、前記物体の2次元の画像データに基づいてこの物体の2次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて3次元ベクトルデータに変換することによって得られることを含む。
【0018】
本発明は、物体の立体形状を認識する処理を実行させるコンピュータプログラムを記録した記録媒体であって、コンピュータに、前記物体を撮像することによって得られた前記物体の2次元の画像データを読み出すステップと、前記2次元の画像データに基づいて測距ポイントを特定するステップと、前記物体と前記測距ポイントとの間の距離を測定して得られた測距データを読み出すステップと、前記物体の2次元の画像データを前記測距データに基づいて物体の3次元の画像データに変換するステップとを実行させるコンピュータプログラムを記録している。
【0019】
ここに、記録媒体には、例えば、ROM,RAM,CD−ROM,光磁気ディスク,フロッピーディスク,ハードディスク,PD,磁気テープ等の各種の記憶装置が含まれる。
【0020】
本発明は、物体の立体形状を認識する処理を実行させるコンピュータプログラムを記録した記録媒体であって、コンピュータに、複数の画素からなる撮像面を有する撮像手段によって得られた各画素毎の物体の2次元の画像データを夫々読み出すステップと、前記各画素に対応づけて前記撮像面に複数の物体の測距ポイントを特定するステップと、前記物体と前記測距ポイントとの距離を測定して得られた測距データを夫々読み出すステップと、前記各物体の2次元の画像データを各測距データに基づいて物体の3次元の画像データに夫々変換するステップとを実行させるコンピュータプログラムを記録している。
【0021】
本発明の記録媒体に記録されたコンピュータプログラムは、物体の2次元の画像データを物体の3次元の画像データに変換するステップとして、前記物体の2次元の画像データに基づいてこの物体の2次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するステップと、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて3次元ベクトルデータに変換するステップとをコンピュータに実行させる。
【0022】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態を説明する。
〈形状認識装置の構成〉
最初に、本実施形態による形状認識装置の構成を説明する。図1は、形状認識装置の構成例を示す図である。図1において、形状認識装置は、制御装置1と、この制御装置1に接続された撮像装置(撮像CCD)21,赤外光投光装置22,回転台装置23,照明装置24,ディスプレイ25,アクチュエータ26,キーボード27,及びマウス28とからなる。
【0023】
ここに、制御装置1は、CPU10と、このCPU10にバス(コントロールバス,アドレスバス,及びデータバス)Bを介して相互に接続された撮像装置ドライバ11a,A/D変換回路11b,赤外光投光装置ドライバ12,回転台装置ドライバ13,照明装置ドライバ14,表示回路15,アクチュエータドライバ16,ROM17,及びRAM18とからなる。
【0024】
撮像CCD装置21は、撮像CCD装置ドライバ11aとA/D変換回路11bとに接続され、赤外光投光装置22は、赤外光投光装置ドライバ12に接続されている。また、回転台装置23は、回転台装置ドライバ13に接続され、照明装置24は、照明装置ドライバ14に接続されている。また、ディスプレイ25は、表示回路15に接続され、アクチュエータ26は、アクチュエータドライバ16に接続されている。そして、キーボード27とマウス28とは、夫々バスBに直接接続されている。
【0025】
ROM17には、制御装置1のオペレーションシステム等の基本プログラムや形状認識装置の制御プログラム等の各種のコンピュータプログラム,及び各種プログラムの実行に際して使用されるデータが格納されている。また、RAM18は、CPU10の作業領域であり、ROM17に記憶された各種プログラムやデータが適宜ロードされる。また、RAM18は、CPU10によって処理されたデータを記憶する。また、表示回路15は、CPU10からの命令に基づいて、A/D変換回路11aによって変換された画像データや、RAM18に記憶された画像データをRGB信号に変換する。また、ディスプレイ25は、表示回路15から転送されたRGB信号に基づいてその画面に映像(画像)を表示するCRTである。さらに、キーボード27,及びマウス28は、形状認識装置の使用者が指示やデータ等を入力するための入力装置である。
【0026】
図2は、撮像装置21から形状認識対象である物体(オブジェクト)Bまでの距離を測定するための構成を示す図である。図2には、形状認識装置と物体Bとを上方から平面的に見た図が示されている。
【0027】
図2において、回転台装置23は、撮像装置21及び赤外光投光装置22の夫々と所定距離をおいて配置されている。この回転台装置23は、紙面に対して垂直に配置された回転軸(図示せず),この回転軸に取り付けられた回転台23a,図示せぬ回転軸を駆動させる駆動装置(図示せず)からなる。回転台23aの上面には、立体の形状認識対象たる物体Bが載置されている。本実施形態に係る物体Bは、直方体からその直方体より体積の小さい直方体が除かれた形状を有している(図6参照)。
【0028】
図1に示された回転台ドライバ13は、CPU10からの指示データに従って回転台装置23の図示せぬ駆動装置に制御信号を与え、図示せぬ回転軸を回転させる。これによって、回転台23aが所定の回転角度(例えば、180゜)回転し、これに伴って物体Bが回転台23aの回転角度と同じ角度だけ回転する。
【0029】
また、図2に示されるように、赤外光投光装置22は、LED22a,X−Yテーブル22b,及び投光レンズ22cからなる。X−Yテーブル22bは、物体Bに対向して配置される平面40を有しており、この平面40は、図2の紙面の左右方向(図2のY方向)と紙面に対して垂直な方向(図2のX方向)とに沿って移動可能となっている。
【0030】
LED22aは、上述した平面40上に固定した状態で設けられており、X−Yテーブル22bのX方向またはY方向への移動に伴って移動する。このLED22aは、その発光によって、物体Bに対して物体Bと撮像CCD21aの撮像面41との距離を測定するための赤外線を照射する。
【0031】
投光レンズ22cは、LED22aと物体Bとの間の光路上に配置されており、LED22aから発せられた赤外光を集光し物体Bに対して射出する。この投光レンズ22cとLED22aとは、所定の距離をおいて夫々配置されており、投光レンズ22cの射出端面から射出される赤外光の焦点は、物体Bの近傍に位置する。
【0032】
図1に示された赤外光投光装置ドライバ12は、CPU10からの指示データに従って、X−Yテーブル22bをX方向又はY方向に移動させる。これに伴って赤外光LED22aがX方向又はY方向に移動する。すると、図2に示されたLED22aから発せられた赤外光の光軸と投光レンズ22cの中心軸とがなす角度θ1が変化する。
【0033】
また、図2に示されるように、LED22aと物体Bとの光路上には、照明装置24が、図示せぬアクチュエータによって進退自在に配置されている。照明装置24は、形状認識装置が赤外光を照射する間は、LED22aと物体Bとの光路外に退避する。一方、撮像装置21によって物体Bの撮像を行う間は、照明装置24は、LED22aと物体Bとの光路上に進出するとともに、撮像CCD21aが物体Bを撮像するための白色光を物体Bに対して照射する。
【0034】
また、図2に示されるように、撮像装置21は、X−Yテーブル22bのX方向に沿って赤外光投光装置22と所定間隔をおいて配置されている。この撮像装置21は、撮像CCD21a,撮像レンズ21b,及び可視光カットフィルタ26aからなる。
【0035】
ここに、撮像CCD21aは、矩形の撮像面41を有する平板状に形成されており、撮像面41が物体Bに向けて配置されている。図3は、撮像面41の構成図である。図3において、撮像面41は、マトリックス状に配置された複数のCCD素子(画素)31からなり、図3における撮像面41の左上コーナー(図2の撮像面41の右上コーナー)をなすCCD素子31が原点(0,0)をなすCCD素子31として設定されている。また、撮像面41は、図3の紙面の左右方向が撮像面41のX方向として設定され、紙面の上下方向が撮像面41のY方向として設定されている。
【0036】
また、図3に示されるように、撮像面41には、各CCD素子31の配列に従って、隣合う4つのCCD素子31(矩形をなす4つのCCD素子31)毎に、物体Bと撮像CCD21aとの距離を測定するための測距ポイント32が設定されている。この各CCD素子31と測距ポイント32との対応は、CPU10が制御プログラムを実行する際に、測距ポイントデータとしてRAM18に格納される。
【0037】
また、本実施形態では、CCD素子31と同じ数の記憶領域からなる画像データ記憶用の表示バッファ領域がRAM18に形成されている。各CCD素子31の出力に対応する画像データは、夫々表示バッファ領域の各記憶領域に記憶される。なお、本実施形態による撮像CCD21aには、カラーCCDが用いられているが、モノクロのCCDが用いられていても良い。また、一つの測距ポイント32に対応するCCD素子31の数は適宜設定可能である。
【0038】
撮像レンズ21bは、図2に示されるように、物体Bと撮像CCD21aとの光路上に配置されている。また、この撮像レンズ21bと上述した投光レンズ22cとは、撮像レンズ21bの中心軸と投光レンズ22cの中心軸とに夫々直交する同一平面上に所定距離をおいて夫々配置されている。
【0039】
この撮像レンズ21bの入射端面には、物体Bの反射光が入射される。また、撮像レンズ21bの射出端面からの焦点位置は、撮像CCD21aの撮像面41上に設定されている。また、この撮像レンズ21bから射出される光の光軸と撮像レンズ21bの中心軸との間の角度θ2は、上述したLED22aの移動に伴う角度θ1の変動に応じて変動する。このような撮像CCD21aは、撮像面41に入射する像をCCD素子31毎に光電変換し、図1に示されるA/D変換回路11bに転送する。A/D変換回路11bは、撮像CCD21aからの出力をアナログ−デジタル変換することによって物体Bの2次元の画像データを取得する。
【0040】
可視光カットフィルタ26aは、CPU10からの命令を受けたアクチュエータ26の駆動によって、撮像CCD21aと撮像レンズ21bとの間の光路上に進退自在となっている。即ち、可視光カットフィルタ26aは、赤外光が物体Bに照射される際に、撮像レンズ21bと撮像CCD21aとの間の光路上に進出し、撮像レンズ21bから射出される物体Bの反射光から可視光成分を除去し、赤外光成分のみを撮像CCD21aに入射させる。
【0041】
CPU10は、形状認識装置の電源投入によって起動し、ROM17に記憶された制御プログラムを実行することによって、形状認識装置全体の制御を行う。具体的には、CPU10は、アクチュエータ装置ドライバ16に可視光カットフィルタ26aを進退させるための指示データを入力する処理,撮像装置ドライバ11aに物体Bの像を撮像する指示データを入力する処理,A/D変換回路11bから出力された画像データに対する処理,照明装置ドライバ14を介して照明装置24を制御する処理,アクチュエータドライバ16を介して可視光カットフィルタ26aを進退させる処理,RAM18に対して各種のデータを読み書きする処理,表示回路15に画像データを転送する処理,及びキーボード27やマウス28からの入力信号を受け付ける処理等を行う。
〈形状認識装置の動作〉
次に、上述した形状認識装置の動作を説明する。図4及び図5は、形状認識装置の動作時におけるCPU10の処理が示された流れ図である。形状認識装置は、その図示せぬ電源が投入されることによって動作を開始する。
【0042】
最初に、形状認識装置のCPU10が起動する。CPU10は、ROM17に記憶されたオペレーティングシステムに基づいて、制御装置1の各部(RAM18,各ドライバ,A/D変換回路11a等)の初期設定を行う。この初期設定が終了すると、CPU10は、ROM17に記憶された制御プログラムをRAM18にロードし、その制御プログラムを実行する。これによって、ディスプレイ25の表示画面に、例えば、「物体Bの認識処理を開始しますか?[Y/N]」の文字が表示される。
【0043】
このとき、形状認識装置の使用者が、物体Bを回転台23a上に載置し、例えば、キーボード27の「Y」のキーを押すと、物体Bの形状認識処理命令が、キーボード27,バスBを介してCPU10に入力される。これによって、CPU10が、図4に示される処理をスタートする。但し、このスタート時においては、照明装置24は、投光レンズ22cと物体Bとの光路上から退避した状態にあり、且つ、可視光カットフィルタ26aは、撮像CCD21aと撮像レンズ21bとの間の光路上から退避した状態にあるものとする。
【0044】
図4において、S001では、CPU40が、アクチュエータ装置ドライバ16に対して所定の指示データを入力する。このS001の処理によって、アクチュエータ26が駆動し、可視光カットフィルタ26aを、撮像CCD21aと撮像レンズ21bとの間の光路上に挿入させる。
【0045】
次のS002では、CPU10は、撮像装置21に撮像開始の指示データを入力する。このS002の処理によって、赤外光投光装置22のLED22aから赤外線が発せられる。この赤外線は、投光レンズ22cを介して物体Bの表面に照射される。そして、物体Bによって反射された赤外光の反射光が、撮像レンズ21b,及び可視光カットフィルタ26aを介して撮像CCD21aに入射する。これによって、撮像CCD21aが物体Bの像を撮像する。この撮像CCD21aの出力(各CCD素子31の出力)は、A/D変換回路21aによって物体Bの画像データ(各CCD素子31の輝度データ)に変換される。そして、CPU10は、各画像データを第1画像データとしてRAM18の表示用バッファ領域に格納する。
【0046】
次のS003では、CPU10は、RAM18に格納された第1画像データに基づいて、測距ポイント32の特定を行う。即ち、CPU10は、第1画像データから各CCD素子31(画素)の輝度分布を算出するとともに、各CCD素子31の輝度データの平均値をとることによって、各CCD素子31の輝度のしきい値を算出する。
【0047】
続いて、CPU10は、第1画像データをなす各CCD素子31の輝度データと算出したしきい値とを比較し、しきい値以上の輝度データを出力したCCD素子31を検出する。このとき、物体Bの反射光が入射されたCCD素子31の輝度データは、しきい値以上の値となるため、撮像CCD21aの撮像面41に投影される物体Bのおおよその輪郭が取得されることとなる。
【0048】
続いて、CPU10は、RAM18から測距ポイントデータを読み出すとともに、この測距ポイントデータに基づいて、検出した画素に対応する単数又は複数の測距ポイント32を取得する。そして、CPU10は、取得した各測距ポイント32(の位置情報)と、各測距ポイント32に囲まれた各CCD素子31の位置情報(画素の位置情報)とを対応づけて測距ポイントデータとし、各測距ポイントデータに番号をつけてRAM18に夫々格納する。このとき、CPU10は、測距ポイントデータのうち、最も若い番号のデータにおける測距ポイント32を特定する。
【0049】
次のS004では、CPU10は、S003にて特定した測距ポイント32に赤外光が当たるようにLED22aを移動させる。即ち、CPU10は、RAM18から特定した測距ポイント32の測距ポイントデータを読み出し、この測距ポイントデータに対応する指示データを赤外光投光装置ドライバ12に与える。すると、赤外光投光装置ドライバ12が、X−Yテーブル22bを移動させてLED22aを適宜の位置に配置する。これによって、LED22aから発せられる赤外光の反射光が、特定した測距ポイント32に対応する各CCD素子31に入射する。
【0050】
次のS005では、CPU10は、赤外光LED22aの位置及びS003にて特定した測距ポイント32の位置に基づいて、物体Bから撮像面41(各測距ポイント32)までの距離を測定する。即ち、CPU10は、S004の処理によって移動したLED22aの位置を取得し、このLED22aの位置情報に基づいて、LED22aから物体Bの表面に照射される赤外光の光軸と投光レンズ22cの中心軸との間の角度(図2中のθ1)を算出する。また、CPU10は、赤外線の反射光が入射する測距ポイント32のCCD素子31(画素)の位置データに基づいて、当該CCD素子31に入射する反射光の光軸と撮像レンズ21bの中心軸との間の角度(θ2)を算出する。
【0051】
続いて、CPU10は、角度θ1と,角度θ2と,投光レンズ22cから撮像レンズ21bまでの水平方向(図2の紙面の左右方向(Y方向))における距離データとに基づいて、物体Bの表面から該当する測距ポイント32までの距離を算出する。即ち、CPU10は、三角測量の原理を用いて物体Bと測距ポイント32との間の距離を測定する。そして、CPU10は、算出した各距離に測距ポイントデータの番号を対応付けて測距データとし、これらの測距データをRAM18に格納する。
【0052】
次のS006では、CPU10は、全ての測距ポイント32について測距をおこなったかの判断を行う。即ち、CPU10は、S005にて測距した測距ポイントデータ番号より大きな番号の測距ポイントデータがあるか否かを判定する。このとき、CPU10は、大きな番号の測距ポイントデータがあると判定した場合(S006;YES)には、処理をS007へ進める。
【0053】
これに対し、CPU10は、大きな番号の測距ポイントデータがないと判定した場合(S006;NO)には、処理をS003へ戻し、このS006にてYESの判定がなされるまでS003〜S006の処理を繰り返し行う。但し、2巡目以降のS003〜S006の処理は、S003にて取得された複数の測距ポイントデータのうち、前回のS003〜S006の処理対象となった測距ポイントデータの番号の次に大きい番号の測距ポイントデータに対して行われる。
【0054】
S007へ処理が進んだ場合には、CPU10は、アクチュエータドライバ16に可視光カットフィルタ26aを撮像装置21から取り出す指示データを入力する。これによって、可視光カットフィルタ26aが、アクチュエータ26の駆動によって、撮像CCD21aと撮像レンズ21bとの間の光路上から退避する。このとき、CPU10は、赤外光投光装置ドライバ12と照明装置ドライバ14とにそれぞれ命令を発する。これによって、LED22aの発光が停止する。
【0055】
次のS008では、CPU10は、撮像装置ドライバ11bと照明装置ドライバ14とにレリーズ命令を入力する。すると、照明装置24が投光レンズ22cと物体Bとの光路上に進出し、物体Bに対して白色光を照射する。これによって、物体Bによる白色光のの反射光が、撮像レンズ21bを介して撮像CCD21aの撮像面41に入射する。この撮像CCD21aからの出力(各CCD素子31(画素)の出力)は、A/D変換回路11aにおいてアナログ−デジタル変換され、1画面分の物体Bの2次元の画像データとなる。CPU10は、この画像データを第2画像データとしてRAM18の表示用バッファ領域に格納する。
【0056】
次のS009では、CPU10は、S005にて得た各測距データと画素の位置データとを関連付ける。即ち、CPU10は、各測距ポイントデータに含まれる測距ポイント32の位置情報に基づいて、第2画像データ中から該当する画素を検出する。続いて、CPU10は、検出した各画素に各測距ポイント32の測距データを対応付ける。
【0057】
次のS010では、CPU10は、物体Bの輪郭をトレースする。即ち、CPU10は、第2画像データから輝度分布を算出しその平均値をとることによって、その輝度分布からしきい値を算出する。続いて、CPU10は、画像データの原点(0,0)を起点とし、(0,1)・・・(0,n)の順で各画素の輝度値としきい値とを比較する(図3参照)。このとき、CPU10は、第0行において、最初に検出された画素,及び最後に検出された画素を検出し(この処理にて検出された画素を「輪郭画素」という。)、輪郭データとしてRAM18に格納する。CPU10は、上述した処理を第1行〜第n行についても同様に行う。
【0058】
続いて、CPU10は、画像データの原点(0,0)を起点とし、(1,0),(2,0)・・・(n,0)の順で各画素の輝度値としきい値とを比較する。この場合においても、CPU10は、第0列において、最初に検出された画素,及び最後に検出された画素を検出し(この処理にて検出された画素を「輪郭画素」という。)、輪郭データとしてRAM18に格納する。CPU10は、上述した処理を第1列〜第n列についても同様に行う。
【0059】
次のS011では、CPU10は、S010にて得た輪郭データに基づいて、物体Bの2次元の輪郭線ベクトルデータを算出する。即ち、CPU10は、各輪郭データに含まれる各輪郭画素の位置情報を、いわゆるHOUGH方程式に代入する(HOUGH変換を行う)。続いて、CPU10は、各輪郭画素についてのHOUGH方程式の計算結果を夫々比較する。そして、CPU10は、比較結果と輪郭データとに基づいて、ベクトルの始点画素及びベクトルの終点画素をそれぞれ有する物体Bの2次元の輪郭線ベクトルデータをそれぞれ算出する。
【0060】
次のS012では、CPU10は、S011にて算出した各輪郭線ベクトルデータをRAM18に格納する。図5に示されるように、次のS013では、CPU10は、S010にて検出された各輪郭画素の内部の方向に向かって、輝度の境界(物体Bの表面をなす面の境界)をトレースする。即ち、各輪郭画素に囲まれた画素とS010にて検出したしきい値とを比較して、しきい値以上の輝度値をもつ画素を検出する(この処理によって検出された画素を「境界画素」という。)。続いて、CPU10は、検出した各画素を境界データとしてRAM18に格納する。
【0061】
次のS014では、CPU10は、S013にて得た境界データに基づいて、S011と同様の手法によって、物体Bの2次元の境界ベクトルデータを算出する。即ち、CPU10は、各境界データに含まれる境界画素の位置情報を、HOUGH方程式に代入する(HOUGH変換を行う)。続いて、CPU10は、各境界画素についてのHOUGH方程式の計算結果を夫々比較する。続いて、CPU10は、この比較結果と境界データとに基づいて、ベクトルの始点画素及びベクトルの終点画素をそれぞれ有する物体Bの2次元の境界ベクトルデータを算出する。
【0062】
次のS015では、CPU10は、S014にて算出された各境界ベクトルデータをRAM18に格納する。次のS016では、CPU10は、S005にて得た測距データに基づいて、S014にて得た2次元の境界ベクトルデータを3次元ベクトル化する。即ち、CPU10は、各2次元の境界ベクトルデータの始点画素又は終点画素に対応する測距ポイント32をそれぞれ算出する。続いて、CPU10は、算出した各測距ポイント32に対応する各測距データを、当該測距ポイント32に対応する始点画素又は終点画素の位置とすることによって、3次元の境界ベクトルデータにそれぞれ変換する。
【0063】
このように、CPU10は、2次元の境界ベクトルデータ(2次元座標)を対応する測距データに基づいて、3次元の境界ベクトルデータ(3次元座標)に変換する。そして、CPU10は、各変換結果を該当する表示バッファ領域の各記憶領域に格納する。
【0064】
S017では、CPU10は、S011にて得た物体Bの2次元の輪郭線ベクトルデータを用いて物体Bのモデリングデータを作成する。即ち、CPU10は、2次元の輪郭線ベクトルデータに基づいて、輪郭線ベクトルで囲まれた画素のうち、2次元の輪郭線ベクトルに沿って位置する画素を一定間隔毎に検出する。続いて、CPU10は、検出した各画素と輪郭線ベクトルとを、測距データに基づいて3次元ベクトルデータに変換する。
【0065】
即ち、CPU10は、S016と同様の手法を用いて、2次元の輪郭線ベクトルデータ(2次元座標)を、対応する測距データに基づいて3次元の輪郭線ベクトルデータ(3次元座標)に変換する。そして、CPU10は、変換された3次元の輪郭線ベクトルデータを、該当する表示バッファ領域の各記憶領域にそれぞれ格納する。これによって、RAM18の表示用バッファ領域には、モデリングデータをなす物体Bの3次元のベクトルデータが格納されることとなる。
【0066】
次のS018では、CPU10は、S017にて得られたモデリングデータをディスプレイ25に表示する旨の命令を表示回路15に与える。これによって、物体Bの3次元画像が、ディスプレイ25に表示される。
【0067】
次のS019では、CPU10は、形状認識装置の使用者の操作指示をディスプレイ25に表示させる。即ち、CPU10は、ディスプレイ25に、例えば、「モデリングデータの編集を行う場合には“M”のキーを、細分化処理を行う場合には“S”のキーを、何れも行わない場合には“E”のキーを押して下さい」のテキスト文字をディスプレイ25に表示させる。
【0068】
次のS020では、CPU10は、キーボード27の“M”,“S”,又は“E”のキーの何れかが押されるのを受け付ける。そして、これらのキーの何れかが押された場合には、CPU10は処理をS021へ進める。次のS021では、CPU10は、“M”のキーが押されたか否かを判定する。このとき、“M”のキーが押されたと判定した場合には、CPU10は、処理をS022へ進め、モデリングデータの編集処理を行う。例えば、使用者からキーボード27又はマウス28から入力される指示に従って、モデリングデータの補正を行う処理等を行う。そして、S022の処理が終了すると、CPU10は、処理をS019へ戻す。これに対し、“M”以外のキーが押されたと判定した場合(S021;NO)には、CPU10は、処理をS023へ進める。
【0069】
S023へ処理が進んだ場合には、CPU10は、“S”のキーが押されたか否かを判定する。このとき、“S”のキーが押されたと判定した場合(S023;YES)には、CPU10は、処理をS024へ進める。これに対し、“S”のキー以外のキーが押されたと判定した場合(S023;NO)には、CPU10は、処理をS026へ進める。
【0070】
S024へ処理が進んだ場合には、CPU10は、輪郭線ベクトルと境界ベクトルとに囲まれた各面について細分化を行う。CPU10は、輪郭線ベクトルと境界ベクトルとに囲まれた部分を、画像データの列方向,行方向に一定間隔毎に画素を取り出す。CPU10は、取り出した画素にこれと対応する測距データを加える。
【0071】
S025では、CPU10は、S024の処理によって細分化された物体Bの画像データをテクスチャデータ,カラーパレットデータとしてRAM18に格納する。
【0072】
S024では、CPU10は、ディスプレイ25に、例えば「処理を終了しますか[Y/N]」のテキスト文字を表示させるとともに、キーボード27から“Y”又は“N”のキーが押されるのを待つ。そして、“Y”のキーが押された場合には、CPU10の処理が終了するとともに、形状認識装置の動作が終了する。これに対し、“N”のキーが押された場合には、CPU10は、処理をS027へ進める。
【0073】
S027では、CPU10は、ディスプレイ25に、例えば「回転台を回転させますか?[180〜359/N]」のテキスト文字を表示させるとともに、使用者から180〜359の数字及びリターンキー,又は“N”のキーが押されるのを待つ。そして、“N”のキーが押された場合(S027;NO)には、CPU10は、処理をS019へ戻す。これに対し、180〜359の何れかの数字とリターンキーとが押された場合には、CPU10は、処理をS028へ進める。
【0074】
S028へ処理が進んだ場合には、CPU10は、回転台装置ドライバ23へ命令を入力し、入力された数字に相当する回転角度だけ回転台23を回転させる。そして、CPU10は、処理をS001へ戻す。このとき、例えば、180の数字がキーボード27から入力された場合には、回転台23が180゜回転し、物体Bを180゜回転させる。この後、S001〜S026の処理が行われ、前回のS001〜026の処理によって得られたデータと組み合わせれば、RAM28には、物体Bの完全な3次元形状のモデリングデータが格納される状態となる。
〈実施形態による作用〉
次に、本実施形態による形状認識装置によって、物体Bのモデリングデータ,及びテクスチャデータ等が作成されるまでの過程を説明する。
【0075】
上述したように、物体Bの形状認識に先だって、使用者は物体Bを形状認識装置の回転台23aに載置し、キーボート27又はマウス28を介して立体形状認識を開始する旨の指示データを入力する。すると、CPU10は、図のS001,S002の処理を経て、S003〜S006までのループを繰り返す。ここで、CPU10は、物体Bと各測距ポイント32との間の測距データを取得する。
【0076】
物体Bに設定された全ての測距ポイント32に対する測距データの取得が完了したら、CPU10は、S007,S008の処理を行い、物体Bの画像データを取得する。図6は、S008の処理終了後にディスプレイ25に表示される画像データの表示例である。
【0077】
次に、CPU10は、S009〜S012までの処理を行い、取得した画像データに基づいて物体Bの輪郭線ベクトルデータを算出する。図7は、ディスプレイ装置25に表示される輪郭線ベクトルデータである。続いてCPU10は、S013〜S015までの処理を行い、境界ベクトルデータを算出する。
【0078】
続いて、CPU10は、S016〜S018までの処理を行い、輪郭線ベクトルデータに基づいてモデリングデータを作成する。図8は、S018の処理終了後にディスプレイ25に表示されるモデリングデータの画面表示例である。
【0079】
更に、CPU10は、S020にて“M”のキーが押された場合には、モデリングデータについて編集を行う(S022)。また、CPU10は、S024,S025の処理を行い、輪郭線ベクトルと境界ベクトルとに囲まれた各面を細分化して、テクスチャデータを作成する。
【0080】
このように、本実施形態によれば、物体Bの1画面分の各CCD素子31(画素)毎の画像データ(2次元画像データ)を取得するとともに、各画素に対応する測距ポイント32の測距データを取得し、各2次元の画像データを各測距データに基づいて3次元変換するすることによって、物体Bのモデリングデータを作成する。即ち、物体Bの立体形状を認識する。
【0081】
このため、従来のように物体Bを回転,又は撮像装置21等を回転させなくても物体Bの立体形状を認識することができる。また、本実施形態では、回転台装置23が設けてあるので、例えば物体を180゜回転させることによって、完全な物体Bの立体形状を認識することができる。従って、光切断法を用いた形状認識装置に比し、物体Bを回転させる回数を著しく減少させることができるとともに、形状認識装置の処理(動作)数を簡略化でき、処理時間の短縮化を図ることができる。
【0082】
ところで、本発明による形状認識装置は、上述したように、物体Bを回転させる構成(回転台装置23)等を特に必要としないので、図9に示されるように、例えば、デジタルカメラK1とこのデジタルカメラK1にケーブルC及びインターフェイス(図示せず)を介して接続されたノート型パーソナルコンピュータ(パソコン)K2とから構成することもできる。この場合には、図10に示されるように、例えば、撮像装置21,赤外光投光装置22,照明装置24,及びアクチュエータ26をデジタルカメラK1が備えるとともに、制御装置1,液晶ディスプレイ25,キーボード27,及びマウス28をパソコンK2が備えるように構成する。
【0083】
そして、デジタルカメラK1によって、上述した物体Bの2次元の画像データ(撮像CCD21aの出力)及び物体Bと測距ポイント32との距離(測距データ)とが取得され、これらのデータがパソコンK2に転送され、パソコンK2の制御装置1(CPU10)によって、デジタルカメラK1から転送された各データに基づいて物体Bの3次元の画像データ(モデリングデータ)が作成されるように構成する。このような構成とすれば、形状認識装置の小型化が図られるので、その携帯性が向上するとともに、容易に物体Bのモデリングデータを作成することが可能となる。なお、図9に示される形状認識装置において、デジタルカメラK1とパソコンK2との間のデータ転送は、無線によるものであっても良い。
【0084】
また、本発明による形状認識装置は、例えば、CCDカメラを搭載したモバイルコンピュータ(例えば、電子手帳)の記憶装置に上述した制御プログラムを記憶させることで構成することもできる。この場合には、例えば、上述したモデリングデータが作成されるまでの処理をモバイルコンピュータ上で行うように構成するのが好ましい。そして、モバイルコンピュータで作成されたモデリングデータを、パソコンやワークステーション等の上位コンピュータに転送し、これらの上位コンピュータによって実行されるモデリングソフトやCADソフト上で、モデリングデータの編集や細分化等が行われるようにしても良い。このようにすれば、形状認識装置の携帯性をさらに高めることができる。
【0085】
【発明の効果】
本発明の形状認識装置,形状認識方法,及びコンピュータプログラムを記録した記録媒体によれば、立体形状認識対象となる物体を回転させる構成,或いは物体を中心として形状認識装置を周回させる構成を特に不要として小型化を図ることができ、且つ従来に比し容易に物体の立体形状データを得ることができる。
【図面の簡単な説明】
【図1】本発明の実施形態による形状認識装置の構成例を示す図
【図2】形状認識装置の測距を行う構成の説明図
【図3】撮像CCDの撮像面を示す図
【図4】形状認識装置のCPUの処理を示す流れ図
【図5】形状認識装置のCPUの処理を示す流れ図
【図6】ディスプレイの画面表示例
【図7】ディスプレイの画面表示例
【図8】ディスプレイの画面表示例
【図9】形状認識装置の変形例を示す図
【図10】形状認識装置の変形例を示す図
【図11】従来の形状認識装置の説明図
【符号の説明】
B 物体
K1 デジタルカメラ
K2 パーソナルコンピュータ
1 制御装置
10 CPU(変換手段)
17 ROM
18 RAM
21 撮像装置(撮像手段)
22 赤外光投光装置(測距手段)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a shape recognition device that recognizes a three-dimensional shape of an object.
[0002]
[Prior art]
Conventionally, a light cutting method has been used as one method for recognizing a three-dimensional shape (three-dimensional shape) of an object. FIG. 11 is a diagram illustrating an example of a three-dimensional shape recognition apparatus using a light cutting method. In FIG. 11, the shape recognition device includes an object A that is a shape recognition target placed on a turntable 33, a light projecting device 32 that projects a slit-like laser light S on the surface of the object A, and an imaging. An image pickup device (image pickup CCD) 34 (only the image pickup surface is shown in FIG. 11) arranged with its surface facing the object A and a processor device (computer) (not shown) connected to the image pickup device 34 are included.
[0003]
The shape recognition apparatus performs the following series of operations when recognizing the shape of the object A. That is, when the slit-like laser light S is emitted from the light projecting device 32, a high luminance line L along the surface shape is generated on the surface of the object. Here, in the example shown in FIG. 11, since the object A is a sphere, an arc-shaped high luminance line L is generated. When the high luminance line L is imaged by the imaging device 34, the processor device calculates the spatial coordinate data of each point on the high luminance line L as the surface shape data of the object A and stores it in a storage device (not shown). .
[0004]
The series of operations described above is performed a plurality of times by rotating the turntable 33 to change the position of the high-intensity line L on the surface of the object A. The surface shape data of each object A in each case is not shown. Stored in a storage device. Then, the processor device (not shown) performs processing for combining the surface shape data with reference to the position of the high-luminance line L with respect to the object A, and processing for interpolating between the surface shape data, so that the solid shape data of the object A is obtained. Is created. In this way, the three-dimensional shape of the object A is recognized.
[0005]
[Problems to be solved by the invention]
However, the conventional shape recognition apparatus has the following problems. That is, in the shape recognition device using the light cutting method, it is necessary to change the position of the high luminance line L generated on the surface of the object A as described above. A configuration in which A is rotated, or a configuration in which the light projecting device 32 and the imaging device 34 are drawn around a circular locus around the object A is required.
[0006]
However, when the rotary table 33 is provided in the shape recognition apparatus, the shape of the rotary table 33 and the performance of the motor that rotates the rotary table 33 limit the object A that can be placed on the rotary table 33. In some cases, the object A that can use the apparatus is limited. On the other hand, when the shape recognizing device is provided with a configuration in which the light projecting device 32 and the imaging device 34 are circulated, the shape recognizing device is enlarged and the diameter of a circle around which the light projecting device 32 and the imaging device 34 circulate is increased. In some cases, a larger object A cannot be used.
[0007]
Further, since the surface shape data obtained by the series of operations of the shape recognition device described above is the spatial coordinate data of each point on the high luminance line L, in order to obtain the solid shape data of the object A, a number of surface shapes are obtained. We needed to combine the data. In particular, when the shape of the object A is complicated, it may be impossible to obtain appropriate three-dimensional shape data depending on the interpolation processing between the surface shape data, and thus it is necessary to acquire a larger number of surface shape data. . For this reason, a lot of processing and time are required to create the three-dimensional shape data by the shape recognition device using the light cutting method.
[0008]
The present invention has been made in view of the above-described problems, and it is possible to reduce the size by eliminating the need for a configuration that rotates an object that is a three-dimensional shape recognition target or a configuration that rotates a shape recognition device around the object. It is another object of the present invention to provide a shape recognition device that can easily obtain three-dimensional shape data of an object as compared with the prior art.
[0009]
[Means for Solving the Problems]
The present invention employs the following configuration in order to solve the above-described problems. That is, the present invention is an apparatus for recognizing a three-dimensional shape of an object, and acquires, as distance measurement data, an imaging unit that acquires two-dimensional image data of the object, and a distance between the object and the imaging unit. And ranging means for converting the two-dimensional image data of the object into three-dimensional image data of the object based on the distance measurement data.
[0010]
According to the present invention, the imaging means acquires two-dimensional image data of an object. Further, the distance measuring means acquires the distance between the object and the imaging means as distance measurement data. Then, the conversion means converts the two-dimensional image data of the object into three-dimensional image data based on the distance measurement data. Thereby, the three-dimensional shape of the object is recognized.The distance measurement data is, for example, distance measurement point data in which a computer specifies a distance measurement point based on the two-dimensional image data and associates the distance measurement point with the two-dimensional image data.
[0011]
Here, examples of the imaging means include a CCD camera and a digital camera. The distance measuring means preferably has a configuration in which, for example, the light source and the imaging means are arranged at a predetermined distance from the object to be recognized and the distance between the object and the imaging means is measured using the principle of triangulation. However, the time until the light projected from the light source returns and the distance corresponding to that time is obtained, or the phase difference between the light projected from the light source and the reflected light of the object is measured. The configuration may be such that the distance between the object and the imaging means is measured by a method for obtaining the distance corresponding to the phase difference.
[0012]
For example, the conversion unit can be configured as a function realized by the CPU executing a predetermined control program. The conversion unit calculates, for example, two-dimensional contour vector data of the object based on two-dimensional image data of the object, calculates boundary vector data in a region surrounded by the contour vector, These contour line vector data and boundary vector data are converted into three-dimensional vectors based on the distance measurement data.Convert to dataBy doing so, three-dimensional image data of the object is obtained.
[0013]
The present invention is an apparatus for recognizing a three-dimensional shape of an object, having an imaging surface composed of a plurality of pixels, and acquiring each two-dimensional image data of the object for each pixel; Ranging means for acquiring distances between the distance measuring points of the plurality of objects set on the imaging surface and the objects as distance measurement data, and two-dimensional image data of each object as distance measurement data Conversion means for converting the object into three-dimensional image data of the object.
[0014]
In addition, the shape recognition apparatus according to the present invention may include an editing unit that edits the three-dimensional image data of the object converted by the conversion unit, and based on the three-dimensional image data of the object, texture data, There may be provided means for creating color palette data.
[0015]
The present invention is a shape recognition method for recognizing a three-dimensional shape of an object, the step of acquiring two-dimensional image data of the object by imaging the object, and a distance between the object and the imaging position Are obtained as distance measurement data, and two-dimensional image data of the object is converted into three-dimensional image data of the object based on the distance measurement data.
[0016]
The present invention relates to a shape recognition method for recognizing a three-dimensional shape of an object, the step of acquiring two-dimensional image data of the object for each pixel by an imaging unit having an imaging surface composed of a plurality of pixels, Corresponding to each pixel on the imaging surfaceIdentifying ranging points for multiple objects;The object andThe distance measuring point andEach of the above-mentioned distance as distance measurement data, and the step of converting the two-dimensional image data of the object into the three-dimensional image data of the object based on the distance measurement data, respectively.Including.
[0017]
In the shape recognition method according to the present invention, three-dimensional image data of an object is calculated based on the two-dimensional image data of the object, and the two-dimensional contour vector data of the object is calculated. Boundary vector data in the area is calculated, and these contour line vector data and boundary vector data are converted into three-dimensional vectors based on the distance measurement dataConvert to dataTo be obtained by doing.
[0018]
The present invention is a recording medium recording a computer program for executing processing for recognizing a three-dimensional shape of an object, and reading out two-dimensional image data of the object obtained by imaging the object to the computer When,Identifying a ranging point based on the two-dimensional image data;The object and theRanging pointReading distance measurement data obtained by measuring the distance between the object and converting the two-dimensional image data of the object into three-dimensional image data of the object based on the distance measurement data The computer program to be recorded is recorded.
[0019]
Here, the recording medium includes various storage devices such as ROM, RAM, CD-ROM, magneto-optical disk, floppy disk, hard disk, PD, and magnetic tape.
[0020]
The present invention is a recording medium recording a computer program for executing processing for recognizing a three-dimensional shape of an object, and the computer stores an object for each pixel obtained by an imaging unit having an imaging surface composed of a plurality of pixels. A step of reading out each of the two-dimensional image data,Identifying ranging points of a plurality of objects on the imaging surface;The object andThe distance measuring point andA step of reading distance measurement data obtained by measuring the distance of the object, and a step of converting the two-dimensional image data of each object into the three-dimensional image data of the object based on the distance measurement data, respectively. The computer program to be recorded is recorded.
[0021]
The computer program recorded on the recording medium of the present invention converts the two-dimensional image data of the object into the three-dimensional image data of the object based on the two-dimensional image data of the object. And calculating boundary vector data in a region surrounded by the contour vector, and calculating the contour vector data and the boundary vector data based on the distance measurement data.Convert to dataAnd causing the computer to execute
[0022]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<Configuration of shape recognition device>
First, the configuration of the shape recognition apparatus according to the present embodiment will be described. FIG. 1 is a diagram illustrating a configuration example of a shape recognition device. In FIG. 1, the shape recognition device includes a control device 1, an image pickup device (image pickup CCD) 21 connected to the control device 1, an infrared light projector 22, a turntable device 23, an illumination device 24, a display 25, An actuator 26, a keyboard 27, and a mouse 28 are included.
[0023]
Here, the control device 1 includes a CPU 10, an imaging device driver 11 a, an A / D conversion circuit 11 b, and infrared light that are connected to the CPU 10 via a bus (control bus, address bus, and data bus) B. It comprises a light projecting device driver 12, a turntable device driver 13, a lighting device driver 14, a display circuit 15, an actuator driver 16, a ROM 17, and a RAM 18.
[0024]
The imaging CCD device 21 is connected to the imaging CCD device driver 11a and the A / D conversion circuit 11b, and the infrared light projector 22 is connected to the infrared light projector device 12. The turntable device 23 is connected to the turntable device driver 13, and the lighting device 24 is connected to the lighting device driver 14. The display 25 is connected to the display circuit 15, and the actuator 26 is connected to the actuator driver 16. The keyboard 27 and the mouse 28 are directly connected to the bus B, respectively.
[0025]
The ROM 17 stores various computer programs such as a basic program such as an operation system of the control device 1 and a control program of the shape recognition device, and data used when executing the various programs. The RAM 18 is a work area for the CPU 10, and various programs and data stored in the ROM 17 are loaded as appropriate. The RAM 18 stores data processed by the CPU 10. The display circuit 15 converts the image data converted by the A / D conversion circuit 11a and the image data stored in the RAM 18 into RGB signals based on a command from the CPU 10. The display 25 is a CRT that displays a video (image) on its screen based on the RGB signals transferred from the display circuit 15. Furthermore, the keyboard 27 and the mouse 28 are input devices for the user of the shape recognition device to input instructions and data.
[0026]
FIG. 2 is a diagram illustrating a configuration for measuring a distance from the imaging device 21 to an object (object) B that is a shape recognition target. FIG. 2 shows a plan view of the shape recognition device and the object B from above.
[0027]
In FIG. 2, the turntable device 23 is arranged at a predetermined distance from each of the imaging device 21 and the infrared light projector 22. The turntable device 23 includes a rotation shaft (not shown) arranged perpendicular to the paper surface, a turntable 23a attached to the rotation shaft, and a drive device (not shown) for driving the rotation shaft (not shown). Consists of. An object B, which is a three-dimensional shape recognition target, is placed on the upper surface of the turntable 23a. The object B according to the present embodiment has a shape obtained by removing a rectangular parallelepiped having a volume smaller than that of the rectangular parallelepiped (see FIG. 6).
[0028]
The turntable driver 13 shown in FIG. 1 gives a control signal to a drive device (not shown) of the turntable device 23 according to instruction data from the CPU 10 to rotate a rotation shaft (not shown). As a result, the turntable 23a rotates by a predetermined rotation angle (for example, 180 °), and accordingly, the object B rotates by the same angle as the rotation angle of the turntable 23a.
[0029]
As shown in FIG. 2, the infrared light projector 22 includes an LED 22a, an XY table 22b, and a projector lens 22c. The XY table 22b has a plane 40 disposed to face the object B. The plane 40 is perpendicular to the left and right direction (Y direction in FIG. 2) of the paper surface of FIG. 2 and the paper surface. It is movable along the direction (X direction in FIG. 2).
[0030]
LED22a is provided in the state fixed on the plane 40 mentioned above, and moves with the movement to the X direction or the Y direction of the XY table 22b. The LED 22a emits infrared rays for measuring the distance between the object B and the imaging surface 41 of the imaging CCD 21a with respect to the object B by the light emission.
[0031]
The light projecting lens 22c is disposed on the optical path between the LED 22a and the object B, collects the infrared light emitted from the LED 22a, and emits it to the object B. The projection lens 22c and the LED 22a are arranged at a predetermined distance, and the focal point of the infrared light emitted from the emission end face of the projection lens 22c is located in the vicinity of the object B.
[0032]
The infrared light projector driver 12 shown in FIG. 1 moves the XY table 22b in the X direction or the Y direction according to the instruction data from the CPU 10. Accordingly, the infrared light LED 22a moves in the X direction or the Y direction. Then, the angle θ1 formed by the optical axis of the infrared light emitted from the LED 22a shown in FIG. 2 and the central axis of the light projecting lens 22c changes.
[0033]
Further, as shown in FIG. 2, an illumination device 24 is disposed on the optical path between the LED 22a and the object B so as to be able to advance and retract by an actuator (not shown). The illumination device 24 retreats out of the optical path between the LED 22a and the object B while the shape recognition device irradiates infrared light. On the other hand, while the imaging device 21 captures the object B, the illumination device 24 advances on the optical path between the LED 22a and the object B, and white light for the imaging CCD 21a to capture the object B is emitted to the object B. Irradiate.
[0034]
As shown in FIG. 2, the imaging device 21 is arranged at a predetermined interval from the infrared light projector 22 along the X direction of the XY table 22b. The imaging device 21 includes an imaging CCD 21a, an imaging lens 21b, and a visible light cut filter 26a.
[0035]
Here, the imaging CCD 21 a is formed in a flat plate shape having a rectangular imaging surface 41, and the imaging surface 41 is arranged toward the object B. FIG. 3 is a configuration diagram of the imaging surface 41. In FIG. 3, an imaging surface 41 is composed of a plurality of CCD elements (pixels) 31 arranged in a matrix, and forms the upper left corner of the imaging surface 41 in FIG. 3 (the upper right corner of the imaging surface 41 in FIG. 2). 31 is set as the CCD element 31 having the origin (0, 0). 3 is set as the X direction of the imaging surface 41, and the vertical direction of the imaging surface 41 is set as the Y direction of the imaging surface 41.
[0036]
Further, as shown in FIG. 3, on the imaging surface 41, according to the arrangement of the CCD elements 31, the object B, the imaging CCD 21 a, and the adjacent CCD elements 31 (four rectangular CCD elements 31) are arranged. A distance measuring point 32 for measuring the distance is set. The correspondence between each CCD element 31 and the distance measurement point 32 is stored in the RAM 18 as distance measurement point data when the CPU 10 executes the control program.
[0037]
In the present embodiment, a display buffer area for storing image data composed of the same number of storage areas as the CCD elements 31 is formed in the RAM 18. Image data corresponding to the output of each CCD element 31 is stored in each storage area of the display buffer area. A color CCD is used for the imaging CCD 21a according to the present embodiment, but a monochrome CCD may be used. The number of CCD elements 31 corresponding to one distance measuring point 32 can be set as appropriate.
[0038]
As shown in FIG. 2, the imaging lens 21b is disposed on the optical path between the object B and the imaging CCD 21a. The imaging lens 21b and the light projecting lens 22c described above are arranged at a predetermined distance on the same plane orthogonal to the central axis of the imaging lens 21b and the central axis of the light projection lens 22c.
[0039]
The reflected light of the object B is incident on the incident end face of the imaging lens 21b. The focal position from the exit end surface of the imaging lens 21b is set on the imaging surface 41 of the imaging CCD 21a. Further, the angle θ2 between the optical axis of the light emitted from the imaging lens 21b and the central axis of the imaging lens 21b varies in accordance with the variation of the angle θ1 accompanying the movement of the LED 22a described above. Such an imaging CCD 21a photoelectrically converts an image incident on the imaging surface 41 for each CCD element 31, and transfers the image to the A / D conversion circuit 11b shown in FIG. The A / D conversion circuit 11b acquires two-dimensional image data of the object B by performing analog-digital conversion on the output from the imaging CCD 21a.
[0040]
The visible light cut filter 26a can advance and retreat on the optical path between the imaging CCD 21a and the imaging lens 21b by driving the actuator 26 in response to a command from the CPU 10. That is, the visible light cut filter 26a advances on the optical path between the imaging lens 21b and the imaging CCD 21a when infrared light is irradiated onto the object B, and is reflected light of the object B emitted from the imaging lens 21b. The visible light component is removed from the light and only the infrared light component is incident on the imaging CCD 21a.
[0041]
The CPU 10 is activated by turning on the power of the shape recognition apparatus, and controls the entire shape recognition apparatus by executing a control program stored in the ROM 17. Specifically, the CPU 10 inputs instruction data for advancing and retracting the visible light cut filter 26a to the actuator device driver 16, processing for inputting instruction data for capturing an image of the object B to the imaging device driver 11a, A Processing for the image data output from the / D conversion circuit 11b, processing for controlling the lighting device 24 via the lighting device driver 14, processing for moving the visible light cut filter 26a forward and backward via the actuator driver 16, and various processing for the RAM 18 The process of reading and writing the above data, the process of transferring the image data to the display circuit 15, the process of receiving the input signal from the keyboard 27 and the mouse 28, etc.
<Operation of shape recognition device>
Next, the operation of the shape recognition apparatus described above will be described. 4 and 5 are flowcharts showing the processing of the CPU 10 during the operation of the shape recognition apparatus. The shape recognition device starts to operate when its power (not shown) is turned on.
[0042]
First, the CPU 10 of the shape recognition device is activated. Based on the operating system stored in the ROM 17, the CPU 10 performs initial setting of each unit (RAM 18, each driver, A / D conversion circuit 11 a, etc.) of the control device 1. When this initial setting is completed, the CPU 10 loads the control program stored in the ROM 17 into the RAM 18 and executes the control program. As a result, for example, the characters “Do you want to start object B recognition processing? [Y / N]” are displayed on the display screen of the display 25.
[0043]
At this time, when the user of the shape recognition apparatus places the object B on the turntable 23a and presses the “Y” key of the keyboard 27, for example, the shape recognition processing command of the object B is transmitted to the keyboard 27 and the bus. It is input to the CPU 10 via B. As a result, the CPU 10 starts the processing shown in FIG. However, at the start, the illumination device 24 is in a state of being retracted from the optical path between the light projection lens 22c and the object B, and the visible light cut filter 26a is located between the imaging CCD 21a and the imaging lens 21b. It is assumed that it is in a state of being retracted from the optical path.
[0044]
4, in S001, the CPU 40 inputs predetermined instruction data to the actuator device driver 16. By the process of S001, the actuator 26 is driven, and the visible light cut filter 26a is inserted on the optical path between the imaging CCD 21a and the imaging lens 21b.
[0045]
In next S <b> 002, the CPU 10 inputs imaging start instruction data to the imaging device 21. By this processing of S002, infrared rays are emitted from the LEDs 22a of the infrared light projector 22. This infrared ray is applied to the surface of the object B through the light projection lens 22c. Then, the reflected light of the infrared light reflected by the object B enters the imaging CCD 21a via the imaging lens 21b and the visible light cut filter 26a. As a result, the imaging CCD 21a captures an image of the object B. The output of the imaging CCD 21a (output of each CCD element 31) is converted into image data of the object B (luminance data of each CCD element 31) by the A / D conversion circuit 21a. Then, the CPU 10 stores each image data as first image data in the display buffer area of the RAM 18.
[0046]
In the next step S003, the CPU 10 specifies the distance measuring point 32 based on the first image data stored in the RAM 18. That is, the CPU 10 calculates the luminance distribution of each CCD element 31 (pixel) from the first image data, and takes the average value of the luminance data of each CCD element 31 to obtain the threshold value of the luminance of each CCD element 31. Is calculated.
[0047]
Subsequently, the CPU 10 compares the luminance data of each CCD element 31 forming the first image data with the calculated threshold value, and detects the CCD element 31 that has output luminance data equal to or higher than the threshold value. At this time, since the luminance data of the CCD element 31 on which the reflected light of the object B is incident is a value equal to or higher than the threshold value, an approximate contour of the object B projected on the imaging surface 41 of the imaging CCD 21a is acquired. It will be.
[0048]
Subsequently, the CPU 10 reads distance measurement point data from the RAM 18 and acquires one or a plurality of distance measurement points 32 corresponding to the detected pixels based on the distance measurement point data. Then, the CPU 10 associates the obtained distance measurement points 32 (position information thereof) with the position information (pixel position information) of the CCD elements 31 surrounded by the distance measurement points 32 to obtain distance measurement point data. Each ranging point data is numbered and stored in the RAM 18. At this time, the CPU 10 specifies the distance measurement point 32 in the data with the smallest number among the distance measurement point data.
[0049]
In next S004, the CPU 10 moves the LED 22a so that the infrared light hits the distance measuring point 32 specified in S003. That is, the CPU 10 reads the distance measurement point data of the specified distance measurement point 32 from the RAM 18 and gives the instruction data corresponding to the distance measurement point data to the infrared light projector driver 12. Then, the infrared light projector driver 12 moves the XY table 22b and arranges the LED 22a at an appropriate position. Thereby, the reflected light of the infrared light emitted from the LED 22a is incident on each CCD element 31 corresponding to the specified distance measuring point 32.
[0050]
In next S005, the CPU 10 measures the distance from the object B to the imaging surface 41 (each ranging point 32) based on the position of the infrared LED 22a and the position of the ranging point 32 specified in S003. That is, the CPU 10 acquires the position of the LED 22a moved by the process of S004, and based on the position information of the LED 22a, the optical axis of the infrared light irradiated from the LED 22a to the surface of the object B and the center of the light projecting lens 22c. The angle between the axes (θ1 in FIG. 2) is calculated. Further, the CPU 10 determines the optical axis of the reflected light incident on the CCD element 31 and the central axis of the imaging lens 21b based on the position data of the CCD element 31 (pixel) at the distance measuring point 32 where the infrared reflected light is incident. The angle (θ2) between is calculated.
[0051]
Subsequently, the CPU 10 determines the object B based on the angle θ1, the angle θ2, and the distance data in the horizontal direction from the light projecting lens 22c to the imaging lens 21b (left and right direction (Y direction) in FIG. 2). The distance from the surface to the corresponding ranging point 32 is calculated. That is, the CPU 10 measures the distance between the object B and the distance measuring point 32 using the principle of triangulation. Then, the CPU 10 associates each calculated distance with the number of the distance measurement point data to obtain distance measurement data, and stores the distance measurement data in the RAM 18.
[0052]
In next S006, the CPU 10 determines whether or not the distance measurement has been performed for all the distance measurement points 32. That is, the CPU 10 determines whether or not there is distance measurement point data having a number larger than the distance measurement point data number measured in S005. At this time, if the CPU 10 determines that there is distance measurement point data with a large number (S006; YES), the process proceeds to S007.
[0053]
On the other hand, when the CPU 10 determines that there is no large-number ranging point data (S006; NO), the process returns to S003, and the processes of S003 to S006 are performed until YES is determined in S006. Repeat. However, the processes of S003 to S006 after the second round are next to the number of the distance measurement point data that has been processed in the previous S003 to S006 among the plurality of distance measurement point data acquired in S003. This is performed for the distance measuring point data of the number.
[0054]
When the process proceeds to S007, the CPU 10 inputs instruction data for extracting the visible light cut filter 26a from the imaging device 21 to the actuator driver 16. Thereby, the visible light cut filter 26a is retracted from the optical path between the imaging CCD 21a and the imaging lens 21b by driving the actuator 26. At this time, the CPU 10 issues commands to the infrared light projector driver 12 and the illumination device driver 14, respectively. Thereby, the light emission of the LED 22a is stopped.
[0055]
In the next S008, the CPU 10 inputs a release command to the imaging device driver 11b and the illumination device driver 14. Then, the illuminating device 24 advances on the optical path between the projection lens 22c and the object B, and irradiates the object B with white light. As a result, white light reflected by the object B enters the imaging surface 41 of the imaging CCD 21a via the imaging lens 21b. The output from the imaging CCD 21a (the output of each CCD element 31 (pixel)) is analog-digital converted in the A / D conversion circuit 11a, and becomes two-dimensional image data of the object B for one screen. The CPU 10 stores this image data as second image data in the display buffer area of the RAM 18.
[0056]
In next S009, the CPU 10 associates each distance measurement data obtained in S005 with the pixel position data. That is, the CPU 10 detects a corresponding pixel from the second image data based on the position information of the distance measurement point 32 included in each distance measurement point data. Subsequently, the CPU 10 associates the distance measurement data of each distance measurement point 32 with each detected pixel.
[0057]
In the next S010, the CPU 10 traces the contour of the object B. That is, the CPU 10 calculates a threshold value from the luminance distribution by calculating the luminance distribution from the second image data and taking the average value. Subsequently, the CPU 10 compares the luminance value of each pixel with the threshold value in the order of (0, 1)... (0, n), starting from the origin (0, 0) of the image data (FIG. 3). reference). At this time, in the 0th row, the CPU 10 detects the first detected pixel and the last detected pixel (the pixel detected in this process is referred to as “contour pixel”), and the RAM 18 as contour data. To store. The CPU 10 similarly performs the above-described processing for the first to nth rows.
[0058]
Subsequently, the CPU 10 starts from the origin (0, 0) of the image data, and sets the luminance value and threshold value of each pixel in the order of (1, 0), (2, 0)... (N, 0). Compare Also in this case, the CPU 10 detects the first detected pixel and the last detected pixel in the 0th column (the pixel detected in this process is referred to as “contour pixel”), and the contour data. Is stored in the RAM 18. The CPU 10 similarly performs the above-described processing for the first column to the n-th column.
[0059]
In next S011, the CPU 10 calculates the two-dimensional contour vector data of the object B based on the contour data obtained in S010. That is, the CPU 10 substitutes the position information of each contour pixel included in each contour data into a so-called HOUGH equation (performs HOUGH conversion). Subsequently, the CPU 10 compares the calculation results of the HOUGH equation for each contour pixel. Then, the CPU 10 calculates the two-dimensional contour vector data of the object B each having the vector start point pixel and the vector end point pixel based on the comparison result and the contour data.
[0060]
In next S012, the CPU 10 stores each contour line vector data calculated in S011 in the RAM 18. As shown in FIG. 5, in the next S013, the CPU 10 traces the luminance boundary (the boundary of the surface forming the surface of the object B) toward the inside of each contour pixel detected in S010. . That is, the pixel surrounded by each contour pixel is compared with the threshold value detected in S010 to detect a pixel having a luminance value equal to or higher than the threshold value (the pixel detected by this processing is referred to as “boundary pixel”). "). Subsequently, the CPU 10 stores each detected pixel in the RAM 18 as boundary data.
[0061]
In next S014, the CPU 10 calculates the two-dimensional boundary vector data of the object B by the same method as in S011, based on the boundary data obtained in S013. That is, the CPU 10 substitutes the position information of the boundary pixels included in each boundary data into the HOUGH equation (performs HOUGH conversion). Subsequently, the CPU 10 compares the calculation results of the HOUGH equation for each boundary pixel. Subsequently, the CPU 10 calculates two-dimensional boundary vector data of the object B having the vector start point pixel and the vector end point pixel based on the comparison result and the boundary data.
[0062]
In next S015, the CPU 10 stores the boundary vector data calculated in S014 in the RAM 18. In the next S016, the CPU 10 converts the two-dimensional boundary vector data obtained in S014 into a three-dimensional vector based on the distance measurement data obtained in S005. That is, the CPU 10 calculates the distance measuring point 32 corresponding to the start point pixel or the end point pixel of each two-dimensional boundary vector data. Subsequently, the CPU 10 sets the distance measurement data corresponding to the calculated distance measurement points 32 as the position of the start point pixel or the end point pixel corresponding to the distance measurement point 32, thereby converting the three-dimensional boundary vector data. Convert.
[0063]
As described above, the CPU 10 converts the two-dimensional boundary vector data (two-dimensional coordinates) into the three-dimensional boundary vector data (three-dimensional coordinates) based on the corresponding distance measurement data. Then, the CPU 10 stores each conversion result in each storage area of the corresponding display buffer area.
[0064]
In S017, the CPU 10 creates modeling data of the object B using the two-dimensional contour vector data of the object B obtained in S011. That is, based on the two-dimensional contour vector data, the CPU 10 detects pixels positioned along the two-dimensional contour vector among the pixels surrounded by the contour vector at regular intervals. Subsequently, the CPU 10 converts each detected pixel and contour vector into three-dimensional vector data based on the distance measurement data.
[0065]
That is, the CPU 10 converts the two-dimensional contour vector data (two-dimensional coordinates) into the three-dimensional contour vector data (three-dimensional coordinates) based on the corresponding distance measurement data using the same method as in S016. To do. Then, the CPU 10 stores the converted three-dimensional contour vector data in each storage area of the corresponding display buffer area. As a result, the display buffer area of the RAM 18 stores the three-dimensional vector data of the object B forming the modeling data.
[0066]
In next S018, the CPU 10 gives a command to the display circuit 15 to display the modeling data obtained in S017 on the display 25. As a result, a three-dimensional image of the object B is displayed on the display 25.
[0067]
In the next S019, the CPU 10 causes the display 25 to display an operation instruction of the user of the shape recognition device. That is, the CPU 10 displays on the display 25, for example, “If the modeling data is edited, the“ M ”key is used. If the subdivision processing is performed, the“ S ”key is not used. The text character “Please press the key“ E ”” is displayed on the display 25.
[0068]
In the next S020, the CPU 10 accepts that any of the “M”, “S”, or “E” keys on the keyboard 27 is pressed. If any of these keys is pressed, the CPU 10 advances the process to S021. In next step S021, the CPU 10 determines whether or not the “M” key is pressed. At this time, if it is determined that the “M” key has been pressed, the CPU 10 advances the process to step S022 and performs modeling data editing processing. For example, in accordance with an instruction input from the keyboard 27 or the mouse 28 from the user, processing for correcting the modeling data is performed. Then, when the process of S022 ends, the CPU 10 returns the process to S019. On the other hand, when it is determined that a key other than “M” is pressed (S021; NO), the CPU 10 advances the process to S023.
[0069]
When the process proceeds to S023, the CPU 10 determines whether or not the “S” key is pressed. At this time, if it is determined that the “S” key has been pressed (S023; YES), the CPU 10 advances the process to S024. On the other hand, when it is determined that a key other than the “S” key has been pressed (S023; NO), the CPU 10 advances the process to S026.
[0070]
When the process proceeds to S024, the CPU 10 subdivides each surface surrounded by the contour line vector and the boundary vector. The CPU 10 extracts pixels from the portion surrounded by the contour line vector and the boundary vector at regular intervals in the column direction and the row direction of the image data. The CPU 10 adds distance measurement data corresponding to the extracted pixels.
[0071]
In S025, the CPU 10 stores the image data of the object B subdivided by the processing in S024 in the RAM 18 as texture data and color palette data.
[0072]
In S024, the CPU 10 causes the display 25 to display, for example, a text character “Do you want to finish the process [Y / N]” and wait for the “Y” or “N” key from the keyboard 27 to be pressed. . When the “Y” key is pressed, the processing of the CPU 10 ends and the operation of the shape recognition device ends. On the other hand, when the “N” key is pressed, the CPU 10 advances the process to step S027.
[0073]
In S027, the CPU 10 causes the display 25 to display, for example, the text characters “Do you want to rotate the turntable? [180 to 359 / N]” and the numbers 180 to 359 and the return key or “ Wait for the N "key to be pressed. When the “N” key is pressed (S027; NO), the CPU 10 returns the process to S019. On the other hand, if any of the numbers 180 to 359 and the return key are pressed, the CPU 10 advances the process to step S028.
[0074]
When the process proceeds to S028, the CPU 10 inputs a command to the turntable device driver 23, and rotates the turntable 23 by a rotation angle corresponding to the inputted number. Then, the CPU 10 returns the process to S001. At this time, for example, when a number of 180 is input from the keyboard 27, the turntable 23 rotates 180 ° and the object B rotates 180 °. Thereafter, the process of S001 to S026 is performed, and when combined with the data obtained by the previous process of S001 to 026, the modeling data of the complete three-dimensional shape of the object B is stored in the RAM 28. Become.
<Operation according to the embodiment>
Next, a process until the modeling data of the object B, texture data, etc. are produced by the shape recognition apparatus by this embodiment is demonstrated.
[0075]
As described above, prior to the shape recognition of the object B, the user places the instruction data indicating that the object B is placed on the turntable 23a of the shape recognition device and the three-dimensional shape recognition is started via the keyboard 27 or the mouse 28. input. Then, the CPU 10 repeats the loop from S003 to S006 through the processing of S001 and S002 in the figure. Here, the CPU 10 acquires distance measurement data between the object B and each distance measurement point 32.
[0076]
When acquisition of distance measurement data for all distance measurement points 32 set on the object B is completed, the CPU 10 performs processing of S007 and S008 to acquire image data of the object B. FIG. 6 is a display example of image data displayed on the display 25 after the processing of S008 is completed.
[0077]
Next, the CPU 10 performs the processing from S009 to S012, and calculates the contour line vector data of the object B based on the acquired image data. FIG. 7 shows contour vector data displayed on the display device 25. Subsequently, the CPU 10 performs processes from S013 to S015 to calculate boundary vector data.
[0078]
Subsequently, the CPU 10 performs processes from S016 to S018, and creates modeling data based on the contour line vector data. FIG. 8 is a screen display example of modeling data displayed on the display 25 after the processing of S018 is completed.
[0079]
Further, when the “M” key is pressed in S020, the CPU 10 edits the modeling data (S022). Further, the CPU 10 performs the processes of S024 and S025, and subdivides each surface surrounded by the contour line vector and the boundary vector to create texture data.
[0080]
As described above, according to the present embodiment, image data (two-dimensional image data) for each CCD element 31 (pixel) for one screen of the object B is acquired, and the distance measurement point 32 corresponding to each pixel is obtained. The distance measurement data is acquired, and each two-dimensional image data is three-dimensionally converted based on the distance measurement data, thereby creating modeling data of the object B. That is, the three-dimensional shape of the object B is recognized.
[0081]
For this reason, the three-dimensional shape of the object B can be recognized without rotating the object B or rotating the imaging device 21 or the like as in the prior art. In the present embodiment, since the turntable device 23 is provided, the complete three-dimensional shape of the object B can be recognized by rotating the object 180 °, for example. Therefore, the number of rotations of the object B can be significantly reduced and the number of processes (operations) of the shape recognition apparatus can be simplified and the processing time can be shortened as compared with the shape recognition apparatus using the light cutting method. Can be planned.
[0082]
By the way, as described above, the shape recognition device according to the present invention does not particularly require a configuration for rotating the object B (the turntable device 23) or the like. Therefore, for example, as shown in FIG. It can also be constituted by a notebook personal computer (personal computer) K2 connected to the digital camera K1 via a cable C and an interface (not shown). In this case, as shown in FIG. 10, for example, the digital camera K1 includes the imaging device 21, the infrared light projector 22, the illumination device 24, and the actuator 26, and the control device 1, the liquid crystal display 25, The keyboard 27 and the mouse 28 are configured to be provided in the personal computer K2.
[0083]
The digital camera K1 acquires the above-described two-dimensional image data of the object B (output of the imaging CCD 21a) and the distance between the object B and the ranging point 32 (ranging data), and these data are stored in the personal computer K2. The three-dimensional image data (modeling data) of the object B is created based on each data transferred from the digital camera K1 by the control device 1 (CPU 10) of the personal computer K2. With such a configuration, the shape recognition device can be downsized, so that its portability is improved and modeling data of the object B can be easily created. In the shape recognition apparatus shown in FIG. 9, data transfer between the digital camera K1 and the personal computer K2 may be performed wirelessly.
[0084]
The shape recognition apparatus according to the present invention can also be configured by storing the control program described above in a storage device of a mobile computer (for example, an electronic notebook) equipped with a CCD camera, for example. In this case, for example, it is preferable that the processing until the above-described modeling data is created is performed on the mobile computer. Then, the modeling data created on the mobile computer is transferred to a higher-level computer such as a personal computer or workstation, and the modeling data is edited or subdivided on the modeling software or CAD software executed by these higher-level computers. You may be made to be. In this way, the portability of the shape recognition device can be further enhanced.
[0085]
【The invention's effect】
According to the shape recognition device, the shape recognition method, and the recording medium storing the computer program of the present invention, there is no need for a configuration for rotating an object that is a three-dimensional shape recognition object or a configuration for rotating the shape recognition device around the object. As a result, the three-dimensional shape data of the object can be obtained more easily than in the prior art.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration example of a shape recognition apparatus according to an embodiment of the present invention.
FIG. 2 is an explanatory diagram of a configuration for performing distance measurement of a shape recognition device.
FIG. 3 is a diagram showing an imaging surface of an imaging CCD
FIG. 4 is a flowchart showing processing of the CPU of the shape recognition apparatus.
FIG. 5 is a flowchart showing processing of the CPU of the shape recognition apparatus.
FIG. 6 is a screen display example of the display.
FIG. 7 is a screen display example of the display.
FIG. 8: Display screen example
FIG. 9 is a diagram showing a modification of the shape recognition device
FIG. 10 is a diagram showing a modification of the shape recognition device
FIG. 11 is an explanatory diagram of a conventional shape recognition device.
[Explanation of symbols]
B Object
K1 digital camera
K2 personal computer
1 Control device
10 CPU (conversion means)
17 ROM
18 RAM
21. Imaging device (imaging means)
22 Infrared light projector (ranging means)

Claims (6)

物体の立体形状を認識する装置であって、前記物体の2次元の画像データを取得する撮像手段と、前記物体と前記撮像手段との間の距離を測距データとして取得する測距手段と、前記物体の2次元の画像データを前記測距データに基づいて物体の3次元の画像データに変換する変換手段とを備え、前記測距データは、コンピュータが前記2次元の画像データに基づいて前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定し、該測距ポイントと前記2次元の画像データとを対応づけた測距ポイントデータであり、前記変換手段が、前記物体の2次元の画像データに基づいてこの物体の2次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて3次元ベクトルデータに変換することによって前記物体の3次元の画像データを得ることを特徴とする形状認識装置。An apparatus for recognizing a three-dimensional shape of an object, an imaging means for acquiring two-dimensional image data of the object, and a distance measuring means for acquiring a distance between the object and the imaging means as distance measurement data; and a converting means for converting the three-dimensional image data of the object based on the two-dimensional image data of said object to said distance measurement data, the distance measuring data, computer based on the image data of the two-dimensional A distance measurement point data for identifying a distance measurement point for measuring a distance between an object and the imaging means , and associating the distance measurement point with the two-dimensional image data; and the conversion means, Based on the two-dimensional image data of the object, two-dimensional contour vector data of the object is calculated, boundary vector data in a region surrounded by the contour vector is calculated, and Shape recognition apparatus characterized by obtaining image data of a three-dimensional of the object by converting the line vector data and boundary vector data into three-dimensional vector data based on the distance measurement data. 物体の立体形状を認識する装置であって、複数の画素からなる撮像面を有し各画素毎に前記物体の2次元の画像データを夫々取得する撮像手段と、前記各画素に対応づけて前記撮像面に複数の物体の前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定する測距ポイント特定手段と、前記物体と前記測距ポイントとの距離を測距データとして夫々取得する測距手段と、前記各物体の2次元の画像データを各測距データに基づいて物体の3次元の画像データに夫々変換する変換手段とを備え、前記変換手段が、前記物体の2次元の画像データに基づいてこの物体の2次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて3次元ベクトルデータに変換することによって前記物体の3次元の画像データを得ることを特徴とする形状認識装置。An apparatus for recognizing a three-dimensional shape of an object, the imaging means having an imaging surface composed of a plurality of pixels, and acquiring two-dimensional image data of the object for each pixel, and corresponding to each pixel Distance measuring point specifying means for specifying a distance measuring point for measuring the distance between the object and the imaging means of a plurality of objects on the imaging surface; and distance data between the object and the distance measuring point Each of the distance measuring means, and the conversion means for converting the two-dimensional image data of each object into the three-dimensional image data of the object based on the distance measurement data, respectively, 2D contour vector data of the object is calculated based on the two-dimensional image data, boundary vector data in a region surrounded by the contour vector is calculated, and the contour vector data and Shape recognition apparatus characterized by obtaining image data of a three-dimensional of the object by converting a boundary vector data into three-dimensional vector data based on the distance measurement data. 物体の立体形状を認識する方法であって、撮像手段により前記物体を撮像することによって前記物体の2次元の画像データを取得するステップと、前記物体と前記撮像手段との間の距離を測距データとして取得するステップと、前記物体の2次元の画像データを前記測距データに基づいて物体の3次元の画像データに変換するステップとを含み、前記測距データは、コンピュータが前記2次元の画像データに基づいて前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定し、該測距ポイントと前記2次元の画像データとを対応づけた測距ポイントデータであり、前記物体の3次元の画像データが、前記物体の2次元の画像データに基づいてこの物体の2次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて3次元ベクトルデータに変換することによって得られることを特徴とする形状認識方法。A method for recognizing a three-dimensional shape of an object, the step of acquiring two-dimensional image data of the object by imaging the object by an imaging unit, and measuring a distance between the object and the imaging unit Acquiring as data, and converting the two-dimensional image data of the object into three-dimensional image data of the object based on the distance measurement data. Ranging point data that specifies a ranging point for measuring the distance between the object and the imaging means based on image data and associates the ranging point with the two-dimensional image data. The three-dimensional image data of the object calculates the two-dimensional contour vector data of the object based on the two-dimensional image data of the object, and is surrounded by the contour vector. It calculates a boundary vector data in the area, shape recognition method characterized in that it is obtained by converting these contour vector data and boundary vector data into three-dimensional vector data based on the distance measurement data. 物体の立体形状を認識する方法であって、複数の画素からなる撮像面を有する撮像手段によって画素毎の前記物体の2次元の画像データを夫々取得するステップと、前記各画素に対応づけて前記撮像面に複数の物体の前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定するステップと、前記物体と前記測距ポイントとの距離を測距データとして夫々取得するステップと、前記物体の2次元の画像データを測距データに基づいて物体の3次元の画像データに夫々変換するステップとを含み、前記物体の3次元の画像データが、前記物体の2次元の画像データに基づいてこの物体の2次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出するとともに、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて3次元ベクトルデータに変換することによって得られることを特徴とする形状認識方法。A method for recognizing a three-dimensional shape of an object, the step of acquiring two-dimensional image data of the object for each pixel by an imaging means having an imaging surface composed of a plurality of pixels, and corresponding to each pixel A step of specifying a distance measuring point for measuring a distance between the object and the imaging means of a plurality of objects on the imaging surface, and acquiring a distance between the object and the distance measuring point as distance measurement data, respectively. And converting each of the two-dimensional image data of the object into three-dimensional image data of the object based on distance measurement data, wherein the three-dimensional image data of the object is converted into two-dimensional image data of the object. Based on the image data, two-dimensional contour vector data of the object is calculated, boundary vector data in a region surrounded by the contour vector is calculated, and these contour lines are calculated. Shape recognition method characterized in that it is obtained by converting the Kutorudeta and boundary vector data into three-dimensional vector data based on the distance measurement data. 物体の立体形状を認識する処理を実行させるコンピュータプログラムを記録した記録媒体であって、コンピュータに、前記物体を撮像することによって得られた前記物体の2次元の画像データを読み出すステップと、前記2次元の画像データに基づいて前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定するステップと、前記物体と前記測距ポイント撮像位置との間の距離を測定して得られた測距データを読み出すステップと、前記物体の2次元の画像データに基づいてこの物体の2次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出し、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて3次元ベクトルデータに変換することにより、前記物体の2次元の画像データを前記測距データに基づいて物体の3次元の画像データに変換するステップとを実行させるコンピュータプログラムを記録した記録媒体。A recording medium storing a computer program for executing a process for recognizing a three-dimensional shape of an object, wherein the computer reads out two-dimensional image data of the object obtained by imaging the object; Determining a distance measuring point for measuring a distance between the object and the imaging means based on the two-dimensional image data; and measuring a distance between the object and the distance measuring point imaging position. A step of reading the obtained distance measurement data; and calculating two-dimensional contour vector data of the object based on the two-dimensional image data of the object; and boundary vector data in a region surrounded by the contour vector And the contour vector data and boundary vector data are converted into three-dimensional vector data based on the distance measurement data. More, the recording medium recording a computer program for executing the steps of converting the 3-dimensional image data of the object based on the two-dimensional image data of said object in the distance measurement data. 物体の立体形状を認識する処理を実行させるコンピュータプログラムを記録した記録媒体であって、コンピュータに、複数の画素からなる撮像面を有する撮像手段によって得られた各画素毎の物体の2次元の画像データを夫々読み出すステップと、前記各画素に対応づけて前記撮像面に複数の物体の前記物体と前記撮像手段との間の距離を測定するための測距ポイントを特定するステップと、前記物体と前記測距ポイントとの距離を測定して得られた測距データを夫々読み出すステップと、前記物体の2次元の画像データに基づいてこの物体の2次元の輪郭線ベクトルデータを算出し、前記輪郭線ベクトルで囲まれた領域内の境界ベクトルデータを算出し、これらの輪郭線ベクトルデータ及び境界ベクトルデータを前記測距データに基づいて3次元ベクトルデータに変換することにより、前記物体の2次元の画像データを測距データに基づいて物体の3次元の画像データに夫々変換するステップとを実行させるコンピュータプログラムを記録した記録媒体。A recording medium having recorded thereon a computer program for executing processing for recognizing a three-dimensional shape of an object, and a two-dimensional image of the object for each pixel obtained by an imaging means having an imaging surface composed of a plurality of pixels on the computer Respectively, a step of reading data, a step of identifying a distance measuring point for measuring the distance between the object and the imaging means of a plurality of objects on the imaging surface in association with the pixels, and the object A step of reading distance measurement data obtained by measuring the distance to the distance measurement point; and calculating two-dimensional contour vector data of the object based on the two-dimensional image data of the object; Boundary vector data in the area surrounded by the line vector is calculated, and these contour line vector data and boundary vector data are calculated based on the distance measurement data. By conversion to dimensional vector data, recording medium recording a computer program for executing a step of respectively converted into 3-dimensional image data of the object based on the two-dimensional image data of said object distance data.
JP2002265214A 2002-09-11 2002-09-11 Shape recognition apparatus, shape recognition method, and recording medium recording computer program Expired - Lifetime JP3860525B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002265214A JP3860525B2 (en) 2002-09-11 2002-09-11 Shape recognition apparatus, shape recognition method, and recording medium recording computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002265214A JP3860525B2 (en) 2002-09-11 2002-09-11 Shape recognition apparatus, shape recognition method, and recording medium recording computer program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP12731297A Division JP3380709B2 (en) 1997-05-16 1997-05-16 Shape recognition device, shape recognition method, and recording medium recording computer program

Publications (2)

Publication Number Publication Date
JP2003157427A JP2003157427A (en) 2003-05-30
JP3860525B2 true JP3860525B2 (en) 2006-12-20

Family

ID=19196819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002265214A Expired - Lifetime JP3860525B2 (en) 2002-09-11 2002-09-11 Shape recognition apparatus, shape recognition method, and recording medium recording computer program

Country Status (1)

Country Link
JP (1) JP3860525B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101288971B1 (en) 2007-02-16 2013-07-24 삼성전자주식회사 Method and apparatus for 3 dimensional modeling using 2 dimensional images
RU2014111793A (en) * 2014-03-27 2015-10-10 ЭлЭсАй Корпорейшн PROCESSOR OF PROCESSING IMAGES WITH RECOGNITION OF STATIC POSES OF HAND USING TRIANGULATION AND SMOOTHING OF CIRCUITS
CN105279293B (en) * 2014-06-30 2019-02-22 上海神机软件有限公司 Construction project model three-dimensional checks system and method, row's modular system and method

Also Published As

Publication number Publication date
JP2003157427A (en) 2003-05-30

Similar Documents

Publication Publication Date Title
JP5453000B2 (en) Method and apparatus for 3D digitizing an object
US10937179B2 (en) System and method for 3D scene reconstruction with dual complementary pattern illumination
KR102461093B1 (en) Depth image providing apparatus and method
US9432655B2 (en) Three-dimensional scanner based on contours from shadow images
EP3007134B1 (en) Three-dimensional scan recovery
US20120176380A1 (en) Forming 3d models using periodic illumination patterns
US10607397B2 (en) Generating three dimensional models
EP3382645B1 (en) Method for generation of a 3d model based on structure from motion and photometric stereo of 2d sparse images
US20170019659A1 (en) 3D scanning control apparatus based on FPGA and control method and system thereof
WO2015054273A2 (en) Integrated tracking with fiducial-based modeling
Pagliari et al. Kinect fusion improvement using depth camera calibration
JP6541920B1 (en) INFORMATION PROCESSING APPARATUS, PROGRAM, AND INFORMATION PROCESSING METHOD
JP2021128658A (en) Position detection method, position detection device, and position detection system
US10852396B2 (en) Turntable peripheral for 3D scanning
JP2006098256A (en) Three-dimensional surface model preparing system, image processing system, program, and information recording medium
JP2021128660A (en) Operation detection method, operation detection device, and display system
JP5059503B2 (en) Image composition apparatus, image composition method, and image composition program
JP3860525B2 (en) Shape recognition apparatus, shape recognition method, and recording medium recording computer program
JP2007315777A (en) Three-dimensional shape measurement system
US8340466B2 (en) Arrangement for the imaging of surface structures of three-dimensional objects
JP3380709B2 (en) Shape recognition device, shape recognition method, and recording medium recording computer program
JP6428694B2 (en) Projection control apparatus, program, and projection system
JPH06109437A (en) Measuring apparatus of three-dimensional shape
JP2004170277A (en) 3-dimensional measurement method, 3-dimensional measurement system, image processing apparatus, and computer program
JP3900319B2 (en) Image measuring apparatus and image display method thereof

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050509

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050905

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051020

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051126

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060118

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060921

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090929

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20090929

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110929

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130929

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term