JP4497772B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP4497772B2
JP4497772B2 JP2001296570A JP2001296570A JP4497772B2 JP 4497772 B2 JP4497772 B2 JP 4497772B2 JP 2001296570 A JP2001296570 A JP 2001296570A JP 2001296570 A JP2001296570 A JP 2001296570A JP 4497772 B2 JP4497772 B2 JP 4497772B2
Authority
JP
Japan
Prior art keywords
subject
subject object
support base
computer model
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 - Fee Related
Application number
JP2001296570A
Other languages
English (en)
Other versions
JP2002222412A (ja
JP2002222412A5 (ja
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of JP2002222412A publication Critical patent/JP2002222412A/ja
Publication of JP2002222412A5 publication Critical patent/JP2002222412A5/ja
Application granted granted Critical
Publication of JP4497772B2 publication Critical patent/JP4497772B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Input (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Description

【0001】
本発明は、オブジェクトの画像の記録及び画像が記録された位置及び向きを判定し且つオブジェクトの三次元(3D)コンピュータモデルを生成するための画像データのコンピュータ処理に関する。更に特定すれば、本発明は、オブジェクトと共に撮影するためのパターンを規定されたキャリブレーションオブジェクトの使用と、画像におけるキャリブレーションオブジェクトのパターンに基づいて撮影位置及び向きを判定し且つ計算された位置及び向きを使用してオブジェクトの3Dコンピュータモデルを定義するデータを生成するための画像データのコンピュータ処理とに関する。
【0002】
オブジェクトの3Dコンピュータモデルは多くの用途で有益である。すなわち、3Dンピュータモデルはコンピュータゲームや、コンピュータ利用設計(CAD)の用途に頻繁に使用されている。更に、現在では、インターネットサイトなどの装飾のような用途でオブジェクト3Dコンピュータモデルの需要が増している。
【0003】
オブジェクトの3Dコンピュータモデルを生成する多くの方法が知られている。すなわち、モデルを生成すべき被写体オブジェクトを既知の特徴のパターンを有する平坦な二次元キャリブレーションオブジェクトの上に乗せ、その被写体オブジェクトの画像をキャリブレーションオブジェクトと共に異なる位置及び向きで記録するという方法が知られている。その後、記録された各画像を処理して、画像中のキャリブレーションオブジェクトのパターンにおける特徴の位置に基づいて、その画像が記録された位置と向きを計算する。次に、入力画像と、計算された位置及び向きとを使用して被写体オブジェクトの3Dコンピュータモデルを生成する。
【0004】
この方法の例は、例えば、Niemの「Automatic Reconstruction of 3D Objects Using A Mobile Camera」(Image and Vision Computing 17(1999年)、125〜134ページ)、Gortler他の「The Lumigraph」(Computer Graphics Proceedings, Annual Conference Series、1996年、ACM-0-89791-764-4/96/008、JP−A−9−170914及び出願人の同時係属特許出願PCT/GB00/04469(WO−A−01/39124)(これらの内容は全て参考として本明細書に取り入れられている)などに記載されている。
【0005】
しかし、本発明の発明者は、この公知の方法にはいくつかの問題点があることを発見した。すなわち、本発明の発明者はこの方法を使用して生成される3Dコンピュータモデルが不正確になる虞れがあることを発見した。
【0006】
従って、本発明の目的はこの問題に対処することにある。
【0007】
本発明の発明者は、3Dコンピュータモデルの不正確さは以下に述べるいくつかの要因によって起こることを認識した。
【0008】
すなわち、キャリブレーションオブジェクトに、被写体オブジェクトの底部とつながっているように見える影がさすことが多い。従って、記録された画像において、処理装置が被写体オブジェクトと影を区別できないことがあり、そのような場合、影は被写体オブジェクトの一部であると判定されてしまう。様々に異なる位置及び向きで画像を記録するために被写体オブジェクトとキャリブレーションオブジェクトをカメラに対して移動させた場合、影も動くため、この問題は一層深刻になる。これに対し、カメラ自体を動かした場合には、カメラが投じた影が動くことになる。
【0009】
同様に、キャリブレーションオブジェクトのパターンの特徴も二次元記録画像中で被写体オブジェクトに及んでしまう場合が多く、そのため、処理装置はそれを被写体オブジェクトの一部であると判定する。
【0010】
同様に、被写体オブジェクト及びキャリブレーションオブジェクトが撮影時に載置される面にある特徴(床面又はテーブル上のマークなど)も、記録画像の中で被写体オブジェクトの輪郭にかかることが多く、そのため、処理装置はこれを被写体オブジェクトの一部であると判定してしまう。
【0011】
更に、(処理装置による入力画像中の特徴パターンの検出を助けるために)キャリブレーションオブジェクト上の特徴のパターンを強調する(引き立たせる)ようにキャリブレーションオブジェクトの色を選択することが望ましい場合が多い。しかし、キャリブレーションオブジェクトの色が被写体オブジェクトに反射することが多く、そのため、生成される3Dコンピュータモデルの面の色は不正確なものになる。
【0012】
更に、仰角が小さい場合に被写体オブジェクトの画像を記録するのは困難である。これは、仰角が小さい場合、被写体オブジェクトが乗っているキャリブレーションオブジェクトの特徴のパターンが画像の中で、処理装置による入力画像中の特徴の確実な検出が不可能になるほどに歪んでしまうためである。小さな仰角から画像を記録できないことによって、被写体オブジェクトの詳細な部分を示す入力画像を利用できず、その結果、それらの部分は3Dコンピュータモデルにおいて不正確に再現される。
【0013】
従って、本発明の目的は上記の問題点の1つ又はいくつかに対処することである。
【0014】
解決方法に関して、発明者は、被写体オブジェクト及びキャリブレーションオブジェクトに関して対称である拡散照明の使用により影の問題に対処できることを認めた。しかし、これを実際に実現することは非常に困難であり且つ/又はそのために高い費用を要する。
【0015】
従って、本発明の目的はそれとは別の解決方法を提供することである。
【0016】
本発明によれば、三次元コンピュータモデルを生成するために被写体オブジェクトの画像を記録し且つ処理する方法であって、被写体オブジェクトをオブジェクト支持台によりキャリブレーションオブジェクトに対して固定された構成で保持する一方で、異なるカメラ位置及び向きで画像を記録し、その画像データを処理して、画像中に見えるキャリブレーションオブジェクトからの特徴に基づき、撮影位置及び向きを判定し、計算された位置及び向きを使用して、被写体オブジェクト単独又は被写体オブジェクトとオブジェクト支持台双方の三次元コンピュータモデルを生成する方法が提供される。
【0017】
また、本発明は処理装置及びコンピュータプログラムを含めて、上記の方法を実施するための装置構成要素、及びそれに関連する方法も提供する。
【0018】
被写体オブジェクトを直接にキャリブレーションオブジェクトの上に配置するのではなく、被写体オブジェクトを(例えば、オブジェクトスタンドに乗せて)キャリブレーションオブジェクトの面から離して撮影することにより、ユーザはより大きな融通性をもってキャリブレーションオブジェクト上のパターン、キャリブレーションオブジェクトの色及び撮影位置と向きを選択できるようになる。これは、被写体オブジェクトをキャリブレーションオブジェクトから離間させることによって、キャリブレーションオブジェクトのパターンの特徴が入力画像中で被写体オブジェクトにまでかかって現れるという問題、キャリブレーションオブジェクトの色が被写体オブジェクトに反射してしまうという問題、及び小さな仰角から入力画像を記録する問題の全てが解決されるためである。
【0019】
被写体オブジェクトが乗せられるオブジェクト支持台の上面の形状及び大きさは、被写体オブジェクトをオブジェクト支持台の上に乗せたときに被写体オブジェクトの底面の下から水平の面が大きく突出することのないように定められるのが好ましい。このようにすると、入力画像中に被写体オブジェクトの一部として影が現れるという問題も解決されるため、ユーザはより大きな融通性をもって照明条件を設定できるようになる。
【0020】
被写体オブジェクトはその背後にスクリーンを配置した状態で撮影されるのが好ましい。このようにすると、面上のマークが入力画像中に被写体の一部として現れるという問題が解決されるため、ユーザはより大きな融通性をもって撮影時にキャリブレーションオブジェクト、オブジェクト支持台及び被写体オブジェクトを配置する面を選択できるようになる。
【0021】
次に、添付の図面を参照して、単なる一例としての本発明の実施形態を説明する。
【0022】
[第1の実施形態]
図1を参照すると、本発明の一実施形態は、従来の通りに1つ以上のプロセッサ、複数のメモリ、グラフィックスカードなどを含むパーソナルコンピュータのような処理装置2と、従来通りのパーソナルコンピュータモニタのような表示装置4と、キーボード、マウスなどのユーザ入力装置6と、プリンタ8と、WACOM製造のPL400などの、制御可能画素を有するフラットパネルで構成される表示パネル10とを具備する。
【0023】
処理装置2は、例えば、ディスク12などのデータ記憶媒体に格納されたデータとして、及び/又は、遠隔データベース等からインターネットなどの通信ネットワーク(図示せず)を介する送信、あるいは大気中を通過する送信により処理装置2に入力され、及び/又は、キーボードなどのユーザ入力装置6を介してユーザにより入力される信号14として入力されるプログラミング命令に従って動作するようにプログラムされている。
【0024】
以下に更に詳細に説明するが、それらのプログラミング命令は、入力画像が記録された位置及び向きを計算するために、異なる位置と向きで記録された1つ以上の被写体オブジェクトの複数の画像を定義する入力データを処理し、且つ、計算された位置及び向きを使用して、被写体オブジェクトの三次元コンピュータモデルを定義するデータを生成するように処理装置2を構成させるための命令である。本実施形態では、被写体オブジェクトはオブジェクト支持台の上に配置され、被写体オブジェクトとオブジェクト支持台は既知の特徴パターンを有するキャリブレーションオブジェクト(本実施形態においては二次元写真マット)の上で撮影される。入力画像が記録されたときの位置と向きは、画像中のキャリブレーションオブジェクトの特徴の位置を検出することにより計算される。以下に更に詳細に説明するが、被写体オブジェクトを撮影するためにオブジェクト支持台を使用することにより、被写体オブジェクトの正確な三次元コンピュータモデルを一貫性をもって得ることができる。
【0025】
処理装置2は、プログラミング命令によりプログラミングされたとき、処理動作を実行するためのいくつかの機能ユニットとして構成されたと考えることができる。そのような機能ユニットの例及びそれらの相互接続関係を図1に示す。しかし、図1に示すユニット及び相互接続は概念上のものであり、理解を助けるという目的のために一例として示されているにすぎない。従って、それらは、処理装置2のプロセッサ、メモリなどが構成されるユニットや接続を必ずしも表してはいない。
【0026】
図1に示す機能ユニットを説明すると、中央制御装置20はユーザ入力装置6からの入力を処理すると共に、その他の機能ユニットの制御及び処理を実行する。メモリ24は、中央制御装置20及びその他の機能ユニットにより使用されるべく設けられている。
【0027】
マット発生器30は、紙などの記録媒体上に写真マット34をプリントするため、又は表示パネル10に写真マットを表示するためにプリンタ8又は表示パネル10を制御する制御信号を発生する。以下に更に詳細に説明するが、写真マットは所定の特徴パターンを有し、三次元コンピュータモデルを生成すべき被写体オブジェクトはオブジェクト支持台上の、プリント済み写真マット34又は写真マットが表示されている表示パネル10の上に配置される。その後、被写体オブジェクト、オブジェクト支持台及び写真マットの画像を記録して、処理装置2に入力する。
【0028】
プリンタ8が写真マットをプリントする記録媒体の色は、記録媒体と写真マットのパターンの特徴とのコントラストを最大にするように選択される(これにより、処理装置2により特徴が入力画像に正しく位置決めされる確率が向上する)。本実施形態では、被写体オブジェクトをオブジェクト支持台上に配置し、それにより、被写体オブジェクトを写真マットから離して高い位置に上げることにより、プリントされた写真マットから被写体オブジェクトへ反射される光の影響を最小限に抑えるため、後に生成される3Dコンピュータモデルに悪影響を及ぼすことなく、色を自由に選択できる。実際には、記録媒体の色として明るい、不飽和色を選択すると、良い結果が得られることが確かめられた。
【0029】
マット発生器30は、処理装置2が入力画像記録時の位置及び向きを計算する際に使用するための、写真マット上にプリント又は表示された特徴のパターンを定義するデータを格納している。すなわち、マット発生器30は、特徴パターンを定義するデータと共に、特徴パターンに対する座標系(実際には写真マットの基準位置及び基準向きを定義する)を格納しており、処理装置2は入力画像が記録されたときの位置及び向きを定義済み座標系において(従って、基準位置及び基準向きに対して)計算する。
【0030】
本実施形態では、写真マットのパターンは、例えば、同時係属PCT特許出願PCT/GB00/04469(WO−A−01/39124)(これらの内容は全て参考として本明細書に取り入れられている)に記載されているような特徴の空間クラスタ、あるいは、例えば、JP−A−9−170914に記載されているような、各々の対応するドットが一意のものであるように各ドットが異なる色相/輝度の組み合わせを有する着色ドットの既知のパターン、例えば、Niemの「Automatic Reconstruction of 3D Objects Using A Mobile Camera」(Image and Vision Computing 17(1999年)、125〜134ページに掲載)に記載されているような、各象限で複数の同心円を寸法がわかっている半径方向線分及び位置マーカで結ぶことにより形成されるパターン、又はGortler他の「The Lumigraph」(Computer Graphics Proceedings, Annual Conference Series、1996年、ACM-0-89791-764-4/96/008に記載されているような、それぞれ異なる直径を有する複数の同心リングからキャリブレーションされるパターンなどを含む。
【0031】
本実施形態の以下の説明においては、プリント写真マット34を生成するために、パターンはプリンタ8により記録媒体(本実施形態では、シート紙)にプリントされるものと想定するが、先に述べた通り、表示パネル10にパターンを表示することも可能であろう。
【0032】
入力データ記憶装置40は、例えば、ディスク42などの記憶装置に格納されるデータとして、又は処理装置2へ送信される信号44として、又はユーザ入力装置6を使用して処理装置2に入力される入力データを格納する。入力データは1つ以上の被写体オブジェクトと、オブジェクト支持台が写真マット上に配置された状況を示す、異なる位置及び向きで記録された複数の画像を定義している。本実施形態では、入力データは、写真マットの背景色又は写真マットの背景色と同じ色を有する異なるオブジェクトを示すための写真マットの一部と共に、被写体オブジェクト及びオブジェクト支持台が撮影された背景を示す入力画像を更に定義している。加えて、本実施形態では、入力データは、画像を記録したカメラ固有のパラメータ、すなわち、アスペクト比、焦点距離、主点(光軸が撮影平面と交わる点)、一次半径方向歪み係数及びスキュー角(画素格子の軸が厳密には直交していないことがありえるため、それらの軸が成す角度)を定義するデータも含む。
【0033】
入力画像を定義する入力データは、例えば、画像を記録したデジタルカメラから画素データをダウンロードするか、又はスキャナ(図示せず)を使用して写真を走査することにより生成されても良い。固有カメラパラメータはユーザの側からユーザ入力装置6を使用して入力されても良い。
【0034】
カメラ計算器50は各入力画像を処理して、画像の中における写真マット上の特徴の位置を検出すると共に、入力画像が記録されたときのカメラの位置と向きを計算する。
【0035】
画像データセグメンタ60は各入力画像を処理して、被写体オブジェクト及びオブジェクト支持台に対応する画像データを画像中のその他の画像データから分離する。
【0036】
サーフェスモデラ70は画像データセグメンタ60により生成された分割画像データと、カメラ計算器50により生成された、画像が記録されたときの位置及び向きを定義するデータとを処理して、入力画像における被写体オブジェクト及びオブジェクト支持台の実際の面を表現する3Dコンピュータモデルを定義するデータを生成する。
【0037】
サーフェステクスチャラ80は、サーフェスモデラ70により生成されたサーフェスモデルにレンダリングするために、入力画像データからテクスチャデータを生成する。
【0038】
オブジェクト/支持台セパレータ90は、オブジェクト支持台に対応するモデルの部分を削除して、被写体オブジェクト単独の三次元コンピュータモデルを残すように、サーフェスモデラ70により生成された被写体オブジェクト及びオブジェクト支持台の三次元コンピュータモデルを修正するための処理を実行する。
【0039】
ディスプレイプロセッサ110は、中央制御装置20の制御の下で、表示装置4を介してユーザに対し命令を表示する。更に、中央制御装置20の制御の下に、ディスプレイプロセッサ110は、サーフェスモデラ70及び/又はオブジェクト/支持台セパレータ90により生成されたサーフェスモデルデータを処理し且つサーフェステクスチャラ80により生成されたテクスチャデータをサーフェスモデル上にレンダリングすることにより、ユーザが選択した視点からの3Dコンピュータモデルの画像を表示する。
【0040】
出力データ記憶装置120は、入力データごとにカメラ計算器50により計算されたカメラの位置及び向きと、画像データセグメンタ60により生成された各入力画像からの、被写体オブジェクト及びオブジェクト支持台に関連する画像データと、サーフェスモデラ70、オブジェクト/支持台セパレータ90及びサーフェステクスチャラ80により生成されたサーフェスモデル及びそのテクスチャデータとを格納する。中央制御装置20は出力データ記憶装置120からのデータの出力を、例えば、ディスク122などの記憶装置へのデータ及び/又は信号124として制御する。
【0041】
図2を参照して説明する。本実施形態では、写真マット34に穴130を残すように切り抜かれた中央ブランク領域の周囲に、写真マット34の特徴パターンがプリンタ8によりプリントされる。
【0042】
穴130を有する写真マット34は、この後、例えば、のり付けによりミラー140に接着される。以下に更に詳細に説明するが、穴130とミラー140により、被写体オブジェクトの底面の反射を入力画像の中で見ることができるので、三次元コンピュータモデルにおける被写体オブジェクトの底面のテクスチャデータを生成できるのである。
【0043】
図3を参照すると、プリント写真マット34が接着されたミラー140が平坦な面200に配置されており、3Dコンピュータモデルを生成すべき被写体オブジェクト210は、オブジェクト支持台220が穴130に位置決めされ且つマット上のパターンを構成している特徴により包囲されるように、写真マット34上のオブジェクト支持台220の上に配置されている。
【0044】
オブジェクト支持台220を使用して被写体オブジェクト210を写真マット34から離れるように持ち上げることにより、写真マット34上の影はオブジェクト支持台220には接触するが、被写体オブジェクト210に接触することはない。同様に、写真マットのパターンの特徴は、記録された画像中で、オブジェクト支持台220にのみ接触するように現れ、被写体オブジェクト210には現れない。従って、処理装置2により生成される3Dコンピュータモデルにおいて、オブジェクト支持台220のモデルに誤りは起こるかもしれないが、被写体オブジェクト210は正確にモデル化される。しかし、オブジェクト支持台220の誤りは重要ではなく、本実施形態では、オブジェクト/支持台セパレータ90がオブジェクト支持台220の3Dコンピュータモデルを除去してしまい、被写体オブジェクト210の3Dコンピュータモデルのみが残る。
【0045】
更に、以下に説明するように、被写体オブジェクト210を写真マット34の上方へ持ち上げることにより、仰角の低い画像でも、写真マット34上の特徴のパターンがそれほど歪まず、処理装置2が入力画像中の特徴を識別し、撮影位置及び撮影の向きを計算するための処理を実行できる程度には記録することができる。従って、被写体オブジェクト210の必要な詳細を示す画像を記録し、処理することが可能であるため、被写体オブジェクト210の3Dコンピュータモデルの正確さは一層向上する。
【0046】
本実施形態では、オブジェクト支持台220は、ガラスなどの透明材料から成る水平な板222を4本の円筒形の不透明な脚部224により支える構造を有する。従って、水平板222は透明であるので、ミラー140の反射として被写体オブジェクト210の底面が見える。
【0047】
被写体オブジェクト210及びオブジェクト支持台220の背後には、ほぼ一様な色の背景スクリーン228が配置されている。このようにすれば、被写体オブジェクト210(又はオブジェクト支持台220)の一部が記録画像の中で面200を背景にして現れることはなく、被写体オブジェクト210のみが背景スクリーンを背にして現れることになる。これにより、どのような入力画像においても、面200上のマーク又は面200の不均一な色の領域などが被写体オブジェクト210の輪郭線に触れることがなくなるため、ユーザは写真マット34を配置する面200を自由に選択できる。従って、以下に更に詳細に説明するように、背景スクリーン228の使用は、被写体オブジェクト210及びオブジェクト支持台220に関連する画像データを画像データセグメンタ60によるセグメンテーション処理の間に他の画像データから分離する処理を助けるという効果を有する。
【0048】
被写体オブジェクト210の様々に異なる部分を示すため、被写体オブジェクト210、オブジェクト支持台220及び写真マット34の画像はデジタルカメラ230を使用して様々に異なる位置と向きで記録される。本実施形態では、カメラ230により記録される画像を定義するデータはワイヤ232を介して信号44として処理装置2に入力される。
【0049】
すなわち、本実施形態では、カメラ230と背景スクリーン228の位置は固定されたままであり、被写体オブジェクト210及びオブジェクト支持台220を乗せた写真マット34が面200上で移動(並進)及び(例えば、矢印240の方向に)回転され、カメラ230に対して様々に異なる位置と向きで被写体オブジェクト210の写真が記録されるのである。面200上での写真マット34の回転及び並進中、被写体オブジェクト210とオブジェクト支持台220はマット34に対して動かない。
【0050】
図4aから図4eは、本実施形態において、カメラ230の場所と視角をどのように選択するか及びオブジェクト支持台220の高さをどのように設定するかを示している。
【0051】
図4aにおいて、カメラ230を位置(i)、すなわち、被写体オブジェクト210を見下ろす仰角の大きい位置に配置した場合、図4bに示すように、カメラ230により記録される各画像中、被写体オブジェクト210の最上部の輪郭は背景スクリーン228を背にして現れるが、被写体オブジェクト210の下の部分の輪郭は、写真マット34及び/又はオブジェクト支持台220の水平板222を背景にして現れる。この場合、水平板222及び写真マット34の影が被写体オブジェクト210の一部として現れ、その結果、画像データセグメンタ60により被写体オブジェクト210から分離できないこともありうるので望ましくない。同様に、写真マット34のパターンの1つ以上の特徴が入力画像中の被写体オブジェクト210にまで及び(そのために、被写体オブジェクト210の一部となって現われ)、その結果、画像セグメンタ60により被写体オブジェクト210から分離されないことも起こりうる。
【0052】
そこで、より望ましい撮影場所と視角方向は図4aに(ii)で指示した位置であり、この位置においては、カメラ230の光軸はオブジェクト支持台220の水平板222とほぼ一線に並んでいる。しかし、写真マット34上の水平板222の高さが(図4aに示す例の場合のように)余りにも低すぎると、図4cに示すように、カメラ230により記録される各入力画像において、写真マット34上のパターンの特徴を互いに識別できないほどに写真マット34がひずんで現れる。
【0053】
そのため、図4dに示すように、カメラの光軸がオブジェクト支持台220の水平板222とほぼ一線に並ぶようにカメラ230の位置及び視角方向を選択すると共に、写真マット34上の特徴のパターンが入力画像中でひずまないようにオブジェクト支持台220の高さを選択する。このようにすれば、図4dに示す構成を使用して記録された入力画像の例を示す図4eからわかるように、被写体オブジェクト210は背景スクリーン228に囲まれ(従って、画像データセグメンタ60は被写体オブジェクト210に関連する画像データをより正確に分割できる)、また、写真マット34上のパターンの特徴を互いに識別することができる(従って、カメラ計算器50は入力画像中の各特徴の位置を検出し、それにより、入力画像が記録されたときの位置と向きを判定することが可能である)。尚、(図4eに示す例の場合のように)背景スクリーン228は入力画像の縁まで伸びている必要はなく、被写体オブジェクト210が背景スクリーンにより囲まれるように、被写体オブジェクト210の上下左右に広がっているだけで良い。
【0054】
要するに、被写体オブジェクト210を写真マット34の上方へ持ち上げる(本実施形態では、これはオブジェクト支持台220を使用することにより実現される)ことにより、写真マット34の影及び写真マット34上のパターンの特徴が被写体オブジェクト210の輪郭まで及ばないような入力画像を記録できる。更に、被写体オブジェクト210へ反射される色がはるかに少なくなるため、写真マット34上のパターンの特徴を強調するように写真マット34の色を自由に選択できる。また、仰角が低くても被写体オブジェクト210の画像を記録できるため、3Dコンピュータモデルで被写体オブジェクト210のあらゆる部分を正確にモデル化するために適切な画像を利用できる。
【0055】
加えて、被写体オブジェクト210の背後に背景スクリーン228を配置することにより、面200の一部が被写体オブジェクト210にかかって現れることがない入力画像を記録できるため、面200の選択を自由に行うことができる。
【0056】
図5は、カメラ230に対する様々に異なる位置及び向きにおける被写体オブジェクト210、オブジェクト支持台220及び写真マット34の入力画像300、302、304及び306の例を示している。
【0057】
本実施形態では、被写体オブジェクト210、オブジェクト支持台220及び写真マット34の画像の記録と入力に続いて、別の画像を記録し、処理装置2に入力する。この別の画像は、面200と、背景スクリーン228と、写真マット34がプリントされている紙と同じ色を有するオブジェクトの画像である「背景画像」である。そのような背景画像は、写真マット34が記録されている紙と同じ色を有する何もプリントされていない紙のシートを面200上の、背景スクリーン228の前方に配置するか、又は画像に写真マット34のパターンが見えないように、写真マット34を裏返して面200上に配置することにより記録されれば良い。
【0058】
図6は、本実施形態において入力データを処理するために処理装置2により実行される処理動作を示す。
【0059】
図6のステップS6−2では、中央制御装置20はディスプレイプロセッサ110にユーザが処理すべき入力データを入力することを要求するメッセージを表示装置4に表示させる。
【0060】
ステップS6−4では、ステップS6−2で要求に応答してユーザにより入力されたデータを入力データ記憶装置40に格納する。すなわち、本実施形態では、入力データは、カメラ230に対して様々に異なる位置及び向きで記録された被写体オブジェクト210、オブジェクト支持台220及び写真マット34の画像を定義する画像データと、入力画像を記録するために写真マット34が配置された面200と、背景スクリーン228及び写真マット34のパターンがプリントされている記録材料と同じ色を有するオブジェクトとを共に示す「背景画像」と、入力画像を記録したカメラ230の固有パラメータ、すなわち、縦横比、焦点距離、主点(光軸が撮影平面と交わる点)、一次半径方向歪み係数及びスキュー角(画素格子の軸が成す角度)を定義するデータとから構成されている。
【0061】
ステップS6−6で、カメラ計算器50はステップS6−4で格納された入力データを処理して、入力画像ごとに写真マット34に対する(従って、被写体オブジェクト210及びオブジェクト支持台220に対する)カメラ230の位置と向きを判定する。この処理は、入力画像ごとに、写真マット34のパターンを構成している画像中の特徴を検出し、それらの特徴を格納されている写真マットのパターンと比較して、マットに対するカメラ230の位置と向きを判定することから成る。ステップS6−6でカメラ計算器50により実行される処理は、写真マット34上で使用されている特徴のパターンによって決まる。適切な処理は、例えば、同時係属PCT出願PCT/GB00/004469(WO−A−01/39124)、JP−A−9−170914、Niemの「Automatic Reconstruction of 3D Objects Using A Mobile Camera」(Image and Vision Computing 17(1999年)、125〜134ページ及びGortler他の「The Lumigraph」(Computer Graphics Proceedings, Annual Conference Series、1996年、ACM-0-89791-764-4/96/008))に説明されている。
【0062】
ステップS6−8では、画像データセグメンタ60は各入力画像を処理し、被写体オブジェクト210及びオブジェクト支持台220を表現する画像データを写真マット34、写真マット34が配置されている面200及び背景スクリーン228を表現する画像データから分離する(ステップS6−8は、本実施形態では、以下に更に詳細に説明するように、後に被写体オブジェクト210及びオブジェクト支持台220の面の3Dコンピュータモデルを生成するときに使用するためのデータを生成する予備ステップである)。
【0063】
図7は、ステップS6−8で画像データセグメンタ60により実行される処理動作を示す。
【0064】
図7を参照すると、ステップS7−2からS7−10で、画像データセグメンタ60は、写真マット34、面200及び背景スクリーン228を表現するが、被写体オブジェクト210及びオブジェクト支持台220を表現しない入力画像中の色を表す量子化値のハッシュテーブルを作成する。
【0065】
すなわち、ステップS7−2で、画像データセグメンタ60は図6のステップS6−4で格納された「背景画像」(すなわち、面200と、背景スクリーン228と、写真マット34がプリントされている材料と同じ色を有するオブジェクトとを示す、処理装置2に入力されるべき最終画像)における次の画素のRBGデータ値を読み取る。
【0066】
ステップS7−4で、画像データセグメンタ60は下記の等式に従って画素の量子化赤色(R)値、量子化緑色(G)値及び量子化青色(B)値を計算する。
【0067】
【数1】
Figure 0004497772
式中、「q」は量子化値、
「p」はステップS7−2で読み取られたR、G又はBの値、
「t」は被写体オブジェクト210を示す入力画像からのRGB値が背景とラベル付けされるべき背景色にどれほど近くなければならないかを判定する閾値である。本実施形態では、「t」は4に設定されている。
【0068】
ステップS7−6で、画像データセグメンタ60はステップS7−4で計算された量子化R値、G値及びB値を従来と同様に組み合わせて、「三重値(Triple value)」を生成する。
【0069】
ステップS7−8では、画像データセグメンタ60はステップS7−4で計算された量子化R値、G値及びB値にハッシング関数を適用して、ハッシュテーブルのビン(bin)を定義し、且つステップS7−6で定義された「三重」値を定義されたビンに追加する。すなわち、本実施形態では、画像データセグメンタ60は下記のハッシング関数を量子化R値、G値及びB値に適用し、ハッシュテーブルのビンを定義する。
【0070】
【数2】
Figure 0004497772
【0071】
すなわち、ハッシュテーブルのビンは、各色の3つの最下位ビットにより定義される。この関数は、各ビンが少数の「三重」値のみを有するように、データを試行し、ハッシュテーブルの利用可能なビンに分散させるように選択されている。本実施形態では、ステップS7−8で、「三重」値がビンに既に存在していない場合に限って「三重」値をそのビンに追加するので、各「三重」値はハッシュテーブルに一度しか追加されない。
【0072】
ステップS7−10では、画像データセグメンタ60は、背景画像中に別の画素が存在するか否かを判定する。以上説明したように「背景」画像の各画素を処理し終わるまで、ステップS7−2からS7−10を繰り返す。この処理の結果、「背景」画像中の色を表現する値を含むハッシュテーブルが生成される。
【0073】
ステップS7−12からS7−48では、画像データセグメンタ60は各入力画素を順に考慮し、ハッシュテーブルを使用して、写真マット34、背景スクリーン228及び面200に関連する入力画像中のデータを、被写体オブジェクト210及びオブジェクト支持台220に関連する入力画像中のデータから分離する。
【0074】
本実施形態では、ハッシュテーブルを生成するためにステップS7−2からS7−10で処理される「背景」画像は、写真マット34上の特徴を示していない。従って、ステップS7−12からS7−46で実行される分割は被写体オブジェクト210及びオブジェクト支持台220に関連する画素データと、写真マット34上の特徴に関連する画素データとを区別しない。その代わりに、本実施形態では、以下に更に詳細に説明するように、被写体オブジェクト210及びオブジェクト支持台220の面の3Dコンピュータモデルを生成するためにサーフェスモデラ70により実行される処理は、写真マット34上の特徴に関連する画素がサーフェスモデルに寄与することのないように実行される。
【0075】
ステップS7−12では、画像データセグメンタ60は次の入力画像を考慮し、ステップS7−14では、入力画像中の次の画素(ステップS7−14が初めて実行される場合、これは最初の画素である)のR値、G値及びB値を読み取る。
【0076】
ステップS7−16では、画像データセグメンタ60は先の等式(1)を使用して、画素の量子化R値、量子化G値及び量子化B値を計算する。
【0077】
ステップS7−18では、画像データセグメンタ60はステップS7−16で計算された量子化R値、G値及びB値を組み合わせて、「三重値」を生成する。
【0078】
ステップS7−20では、画像データセグメンタ60は先の等式(2)に従ってハッシング関数をステップS7−16で計算された量子化値に適用して、ステップS7−2からS7−10で生成されたハッシュテーブルのビンを定義する。
【0079】
ステップS7−22では、画像データセグメンタ60はステップS7−20で定義されたハッシュテーブルのビンの「三重」値を読み取る。それらの「三重」値は、写真マット34の材料、背景スクリーン228及び面200の色を表現している。
【0080】
ステップS7−24では、画像データセグメンタ60は、ステップS7−18で生成された、現在考慮すべき入力画像中の画素の「三重」値がハッシュテーブルのビンの背景「三重」値のいずれかと同じであるか否かを判定する。
【0081】
ステップS7−24で、画素の「三重」値が背景「三重」値と同じであると判定されれば、ステップS7−26で、その画素は背景画素であると判定し、画素の値を「黒色」に設定する。
【0082】
これに対し、ステップS7−24で、画素の「三重」値が背景のどの「三重」値とも同じでないと判定された場合には、ステップS7−28で、その画素は被写体オブジェクト210又はオブジェクト支持台220の一部であると判定し、画像データセグメンタ60は画素の値を「白色」に設定する。
【0083】
ステップS7−30では、画像データセグメンタ60は、入力画像に別の画素が存在するか否かを判定する。入力画像中の各画素を以上説明したように処理し終わるまで、ステップS7−14からS7−30を繰り返す。
【0084】
ステップS7−32からS7−44では、画像データセグメンタ60は画像の画素を背景画素又はオブジェクト画素として分類する上での誤りを修正するための処理を実行する。
【0085】
すなわち、ステップS7−32で、画像データセグメンタ60はメディアンフィルタとして使用すべき円形マスクを定義する。本実施形態では、円形マスクは4画素分の半径を有する。
【0086】
ステップS7−34では、画像データセグメンタ60はステップS7−32で定義したマスクの中心をステップS7−26及びS7−28で生成された2進画像の次の画素(ステップS7−34が初めて実行される場合には、これは最初の画素である)の中心に配置するための処理を実行する。
【0087】
ステップS7−36では、画像データセグメンタ60はマスク内部の黒色画素の数及び白色画素の数をカウントする。
【0088】
ステップS7−38では、画像データセグメンタ60は、マスク内部の白色画素の数がマスク内部の黒色画素の数以上であるか否かを判定する。
【0089】
ステップS7−38で白色画素の数が黒色画素の数以上であると判定されれば、ステップS7−40で、画像データセグメンタ60はマスクの中心を位置決めする画素の値を白色に設定する。これに対し、ステップS7−38で黒色画素の数が白色画素の数より多いと判定された場合には、ステップS7−42で、画像データセグメンタ60はマスクの中心を位置決めする画素の値を黒色に設定する。
【0090】
ステップS7−44では、画像データセグメンタ60は2進画像中に別の画素が存在するか否かを判定し、以上説明したように各画素を処理し終わるまで、ステップS7−34からS7−44を繰り返す。
【0091】
ステップS7−48では、画像データセグメンタ60は、処理すべき別の入力画像が存在するか否かを判定する。以上説明したように各入力画像を処理し終わるまで、ステップS7−12からS7−48を繰り返す。
【0092】
再び図6に戻ると、ステップS6−10では、サーフェスモデラ70が被写体オブジェクト210の面及びオブジェクト支持台220の面の3Dコンピュータモデルを定義するデータを生成するための処理を実行する。
【0093】
本実施形態では、ステップS6−10の処理は従来通りに実行され、次の3つの段階を含む。
【0094】
(1)ステップS6−6で生成されたカメラの位置及び向きと、ステップS6−8で生成された分割画像データとを処理して、被写体オブジェクト210の面と、オブジェクト支持台220の面とを包囲する複数のボクセル(voxel)から成る3D格子を定義するデータを含むボクセルカービング(voxel carving)を生成する。サーフェスモデラ70はこの段階の処理を従来通りに、例えば、R. Szeliskiの「Rapid Octree Construction from Image Sequences」(CVGIP:Image Understanding第58巻第1号、1993年7月、23〜32ページ)に記載されているように実行する。しかし、図8を参照して説明すると、本実施形態では、サーフェスモデラ70により定義される、ボクセルカーブ処理を実行すべきスタートボリュームは、垂直の側面402、404、406、408と、水平の上面410と、水平の底面412とを有する立方形400から形成されている。垂直の側面402、404、406、408は、(図8に外側の点線により概略的に表されているように)それらの面が写真マット34上の特徴パターンの縁に触れるように位置決めされている。従って、垂直の側面は全体として被写体オブジェクト210を取り囲んでいることになる。上面410の位置は、カメラ230の焦点からステップS6−4で格納された入力画像のいずれか1つの上縁部を通る線420と、写真マット34の中心を通る垂直線422とを交わらせることにより定義される。すなわち、カメラ230の焦点及び画像の上縁部はステップS6−6で実行された位置と向きの計算の結果として既にわかっており、上面410の高さを線420が写真マット34の中心を通る垂直線422と交わる点に対応するように設定することにより、(被写体オブジェクト210の最上部が各入力画像で見えるとすれば)上面410は常に被写体オブジェクト210の上方に位置することになる。水平の底面412の位置は、写真マット34の平面よりわずかに上方に位置するように設定される。底面412の位置をこのように設定することにより、(ステップS6−8で実行された画像分割処理では被写体オブジェクト210及びオブジェクト支持台220から分離されていなかった)写真マット34上のパターンの特徴はボクセルカービング処理中は無視されることになり、被写体オブジェクト210及びオブジェクト支持台220の3Dサーフェスモデルが生成される。
【0095】
(2)ボクセルカービングを定義するデータを処理して、被写体オブジェクト210の面及びオブジェクト支持台220の面を定義する複数の三角形から成る3Dサーフェスメッシュを定義するデータを生成する。本実施形態では、この段階の処理は、サーフェスモデラ70により従来のマーチングキューブアルゴリズムに従って、例えば、W. E. Lorensen及びH. E. Clineの「Marching Cubes:A High Resolurion 3D Surface Construction Algorithm」(Computer Graphics, SIGGRAPH 87 Proceedings,21,163〜169ページ、1987年7月)又はJ. Bloomenthalの「An Implicit Surface Polygonizer」(Graphics Gems IV、AP Professional、1994年、ISBN0123361559,324〜350ページ)に記載されているように実行される。
【0096】
(3)デシメーションプロセス(decimation process)を実行することにより、第2段階で生成されたサーフェスメッシュの三角形の数を相当に減少させる。
【0097】
本実施形態においては、サーフェスモデラ70は第3段階で、第2段階で生成された三角形メッシュの各々の頂点(vertics)が被写体オブジェクト210の面又はオブジェクト支持台220の面の形状に寄与するか否かを判定するために三角形メッシュから頂点をランダム(無作為)に除去することにより、デシメーションプロセスを実行するための処理を実行する。形状に寄与しない頂点は三角形分割から放棄されるため、最終モデルにおける頂点の数(従って、三角形の数)は少なくなる。隣接する頂点を連続して除去することにより面の大部分が徐々に侵食されるという事態を回避するために、除去し試験すべき頂点の選択は無作為に行われる。本実施形態における、サーフェスモデラ70により実行されるデシメーションアルゴリズムを、疑似コードで以下のように記述する。
Figure 0004497772
写真マット34上の特徴の絶対位置はわかっているので(特徴は位置を定義する事前格納済みデータに従ってプリントされている)、ステップS6−10で、被写体オブジェクト210の面及びオブジェクト支持台220の面の3Dコンピュータモデルは正確なスケールで生成される。
【0098】
ステップS6−12で、サーフェステクスチャラ80はステップS6−4で格納された入力画像データを処理して、ステップS6−10でサーフェスモデラ70により生成されたサーフェスモデルの三角形ごとにテクスチャデータを生成する。
【0099】
図9は、本実施形態においてステップS6−12でサーフェステクスチャラ90により実行される処理動作を示している。
【0100】
図9を参照すると、ステップS9−2では、サーフェステクスチャラ90は被写体オブジェクト210の底面、すなわち、オブジェクト支持台220の水平板222に乗っている面のテクスチャデータとして使用できる画像データを生成する。本実施形態では、この処理は、ステップS6−4で格納された被写体オブジェクト210の各入力画像を、被写体オブジェクト210の下面が見えるようなカメラ撮影位置及び向きを有し且つミラー140における被写体オブジェクト210の下面の反射に相当する入力画像からの画素データを含む仮想画像に変換することにより実行される。すなわち、先に述べた通り、マット発生器30は座標系を定義するデータを格納し、カメラ計算器50は定義された座標系において各入力画像が記録されたときの位置と向きを計算する。本実施形態では、写真マット34の中心が座標系の原点であり、z方向は写真マットの平面に対し垂直な上向きの方向である。ステップS9−2では、サーフェステクスチャラ80は、カメラ計算器50により計算された入力画像の位置と向きを変更して、被写体オブジェクト210の下面を示す位置及び向きに相当する、仮想画像の新たな位置と向きを定義することにより、各入力画像を処理する。すなわち、カメラ計算器50により計算された入力画像の位置と向きを3×4の行列Mとして表現して、サーフェステクスチャラ80は仮想画像の位置と向きを定義する3×4の行列M'を次のようにして生成する。
【0101】
【数3】
Figure 0004497772
【0102】
サーフェステクスチャラ80は、仮想画像ごとに、対応する入力画像の中で写真マット34の穴130に対応しない全ての画素をマスクすることにより、画素データを生成する(入力画像における穴130の位置は、ステップS6−6でカメラ計算器50により実行された位置と向きの計算からわかっている)。このようにして、図10に示す通り、仮想画像の画素データはミラー140における反射を示す画素データから構成されることになり、残る画素データの全ては(図10に陰影により指示するように)隠蔽(mask out)される。
【0103】
入力画像によっては、ミラー140の反射の中にオブジェクト支持台220の脚部224が現われ、その結果、対応する仮想画像にも現れる場合もあることは理解されるであろう。しかし、本実施形態では、以下の説明から明らかになるように、被写体オブジェクト210の底面を構成する3Dコンピュータモデルの様々な三角形のテクスチャデータは必ずしも同じ入力画像から生成されたとは限らず、従って、一部の入力画像で脚部224が見えても、その影響はそれほど著しく目立たないので、これは問題ではない。あるいは、脚部224がミラー140からの反射で見えることがないように、脚部224を透明材料から形成しても良い。
【0104】
再び図9に戻ると、ステップS9−4からS9−10では、サーフェステクスチャラ80は、ステップS6−10で生成されたサーフェスメッシュにおいて各三角形を選択し且つ選択された三角形について入力画像の1つからテクスチャデータを定義するための処理を従来通りに実行する。
【0105】
すなわち、ステップS9−4で、サーフェステクスチャラ80はステップS6−10で生成されたサーフェスメッシュにおける次の三角形(ステップS9−4が初めて実行される場合には、これは最初の三角形である)を考慮し、ステップS9−6では、三角形に最も近接して直面している入力画像「i」を見出すための処理を実行する。
【0106】
すなわち、三角形の垂線(normal)を^ntとし、「i」番目の画像の撮影方向を^viとするとき、ステップS9−6で、サーフェステクスチャラ80は値^nt・^viが最大である入力画像を求める。これは、面三角形が最大投射面積を有する入力画像を識別する。
【0107】
ステップS9−8で、サーフェステクスチャラ80はステップS9−6で識別された入力画像に三角形を投射し、投射された三角形の頂点を画像テクスチャマップを定義するテクスチャ座標として従来通りに格納する。
【0108】
ステップS9−10で、サーフェステクスチャラ80は、サーフェスメッシュに別の三角形が存在しているか否かを判定し、先に説明したように各三角形を処理し終わるまでステップS9−4からS9−10を繰り返す。
【0109】
以上説明した処理を実行した結果、モデルにレンダリングすべき画像データを定義するテクスチャ座標をもって完成した、被写体オブジェクト210及びオブジェクト支持台220の面のVRML(又は類似のフォーマットの)モデルが得られる。
【0110】
再び図6に戻ると、ステップS6−14で、オブジェクト/支持台セパレータ90は、ステップS6−10でサーフェスモデラ70により生成された被写体オブジェクト210の面及びオブジェクト支持台220の面の3Dコンピュータモデルを定義するデータを処理して、モデルからオブジェクト支持台220を除去し、被写体オブジェクト210の3Dコンピュータモデルのみを残す。
【0111】
本実施形態では、オブジェクト/支持台セパレータ90は、ユーザ入力装置6を介して入力されるユーザ命令に従って処理を実行し、3Dコンピュータモデルからオブジェクト支持台220を対話によって除去する。
【0112】
図11は、ステップS6−14でオブジェクト/支持台セパレータ90により実行される処理動作を示している。
【0113】
図11を参照すると、ステップS11−2では、オブジェクト/支持台セパレータ90はディスプレイプロセッサ110に、サーフェスモデラ70により生成された被写体オブジェクト210及びオブジェクト支持台220の3Dコンピュータモデルをサーフェステクスチャラ80により生成されたテクスチャデータによってレンダリングして、表示装置4に表示させる。更に、図12aに示すように、オブジェクト/支持台セパレータ90はディスプレイプロセッサ110に、表示される3Dコンピュータモデルと交わる水平平面450を表示させる。この水平平面450は、ユーザがマウスなどのユーザ入力装置6を使用することにより垂直方向に(すなわち、写真マット34に対し垂直な方向に)移動自在である。
【0114】
ステップS11−4では、図12a、図12b及び図12cに示すように、オブジェクト/支持台セパレータ90は平面450をユーザ入力命令に従って垂直方向に上下に動かし、ユーザにより定義される、3Dコンピュータモデルにおいて平面450が被写体オブジェクト210とオブジェクト支持台220とを分離する最終位置(図12c)まで移動させる。更に、オブジェクト/支持台セパレータ90はディスプレイプロセッサ110に、ユーザ入力命令に従って1つ以上の異なる撮影位置及び方向からの被写体オブジェクト210、オブジェクト支持台220及び平面450の3Dコンピュータモデルを表示させる。これにより、ユーザは異なる視点から3Dコンピュータモデルを見て、平面450の最終位置が3Dコンピュータモデルにおいて正しく被写体オブジェクト210をオブジェクト支持台220から分離していることを確認するために、それらの視点から3Dコンピュータモデルを観察しつつ平面450を移動させることができる(平面450は、3Dコンピュータモデルを様々に異なる撮影位置及び方向から見たときに表示装置4では垂直方向にならない可能性もある写真マット34の計算上の平面に対して垂直な方向に移動するように常に制約されている)。
【0115】
ステップS11−6では、ユーザが平面450の移動を終了し、平面がその時点で被写体オブジェクト210とオブジェクト支持台220とを分離する位置にあることを指示するユーザ入力信号に応答して、オブジェクト/支持台セパレータ90は平面の最終位置を定義する座標を格納する。
【0116】
ステップS11−8で、オブジェクト/支持台セパレータ90は、サーフェスモデラ70により生成された3Dサーフェスモデルのうち、ステップS11−6で格納された平面の最終位置の下方にある部分を削除するための(すなわち、平面450の、写真マット34の計算上の平面に向いた側に位置するモデルの部分を削除するための)処理を実行する。
【0117】
図13を参照して説明すると、ステップS11−8の処理を実行するために、オブジェクト/支持台セパレータ90はステップS6−10でサーフェスモデラ70により実行される処理を繰り返すが、今回は、水平の底面412がステップS11−6で格納された平面450の最終位置に対応する位置まで移動されるように、ボクセルカーブ処理のスタートボリュームを定義する立方形400を修正する。このように、ボクセルカーブ処理及び後続する処理(前述の通り)を実行するときに、被写体オブジェクト210の面のみの3Dコンピュータモデルが生成されることになり、モデルはオブジェクト支持台220のどの部分も含んでいない。
【0118】
再び図11に戻り、ステップS11−10では、オブジェクト/支持台セパレータ90はディスプレイプロセッサ110に、ステップS11−8で生成された3Dサーフェスモデルの画像をステップS6−12でサーフェステクスチャラ80により生成された適切なテクスチャデータによってレンダリングして、表示装置4に表示させる。
【0119】
ステップS11−12では、オブジェクト/支持台セパレータ90は、オブジェクト支持台220のモデルを除去するために3Dコンピュータモデルに対して更に変更を実行すべきであることを指示するユーザ入力信号を受信したか否かを判定する。ステップS11−12で、それ以上の変更が不要であることが判定されるまで、ステップS11−4からS11−12を繰り返す。
【0120】
再び図6に戻ると、ステップS6−16では、中央制御装置20は出力データ記憶装置120からの、被写体オブジェクト210の3Dコンピュータモデルを定義するデータ及びそのテクスチャデータを、例えば、ディスク122などの記憶装置に格納されるデータ又は信号124(図1)として出力する。これに加えて、又はその代わりに、中央制御装置20はディスプレイプロセッサ110に、被写体オブジェクト210の3Dコンピュータモデルを、例えば、ユーザ入力装置6を使用してユーザにより入力された視点に従ってテクスチャデータによってレンダリングして表示させても良い。あるいは、ステップS6−6で生成された入力画像ごとのカメラ230の位置及び向きを定義するデータと、ステップS6−8で生成された各入力画像の分割を定義するデータとを、例えば、ディスク122などの記憶装置に記録されるデータ又は信号124として出力しても良い。その後、このデータはステップS6−10からS6−14を実行するためにプログラムされた別の処理装置に入力されても良い。
【0121】
以上説明した第1の実施形態においては、オブジェクト/支持台セパレータ90は、ステップS6−14で被写体オブジェクト及びオブジェクト支持台の3Dコンピュータモデルを処理して、平面450の位置を定義するユーザ入力命令に従って3Dコンピュータモデルからオブジェクト支持台を除去し、被写体オブジェクトとオブジェクト支持台を分離する。しかし、以下に説明する別の実施形態から明白になるように、オブジェクト/支持台セパレータ90により異なる方法で被写体オブジェクト単独の(すなわち、オブジェクト支持台を含まない)3Dコンピュータモデルを生成しても良い。
【0122】
[第2の実施形態]
次に、本発明の第2の実施形態を説明する。第2の実施形態の構成要素及びそれにより実行される処理動作は、以下に説明するように、オブジェクト支持台が異なり且つオブジェクト/支持台セパレータ90により実行される処理動作が異なる点を除いて、第1の実施形態の場合と同じである。更に、第2の実施形態では、入力画像からサーフェステクスチャラ80により被写体オブジェクト210の下面のテクスチャデータは生成されない(多くの場合、被写体オブジェクト210の下面はユーザにとってさほど大きな意味を持たないため、これは重要な問題ではない)。
【0123】
図14を参照すると、第2の実施形態では、オブジェクト支持台460は不透明の底部470と透明な上部480とを有する円筒で構成されている。
【0124】
オブジェクト支持台460の直径の大きさは、被写体オブジェクト210がオブジェクト支持台460の上に配置されたときに支持台の上面全体を覆うように定められている。従って、被写体オブジェクト210が乗っている水平面が被写体オブジェクト210の底面の縁からはみ出すことはない。そのため、被写体オブジェクト210に隣接して、影を形成するような水平面は存在しないので、入力画像において被写体オブジェクト210に影がかかることはありえない。
【0125】
オブジェクト支持台460の上部480は透明であるので、ステップS6−4で格納される各入力画像においては、図14に示すように、被写体オブジェクト210と、オブジェクト支持台460の不透明の底部470との間に背景スクリーン228の一部が見えることになる。このため、各入力画像では、被写体オブジェクト210はオブジェクト支持台460の底部470から分離されたように見える。
【0126】
従って、ステップS6−8で画像データセグメンタ60により実行される処理において、被写体オブジェクト210とオブジェクト支持台460の底部470との間にある背景スクリーン228の部分に関連する画素は「背景」画素と指定されるが、被写体オブジェクト210に関連する画素と、オブジェクト支持台460の底部470に関連する画素は「オブジェクト」画素の別個の領域として指定される。
【0127】
そこで、ステップS6−10でサーフェスモデラ70により実行される処理では、被写体オブジェクト210の3Dコンピュータモデルが生成され、オブジェクト支持台460の底部470の別個の、先の3Dコンピュータモデルとはつながらない3Dコンピュータモデルが生成される。
【0128】
従って、ステップS6−14でオブジェクト/支持台セパレータ90により実行される処理では、オブジェクト支持台460の底部470の3Dコンピュータモデルを被写体オブジェクト210の3Dコンピュータモデルから識別し、それを削除するだけで良い。
【0129】
図15は、第2の実施形態のステップS6−14でオブジェクト/支持台セパレータ90により実行される処理動作を示す。
【0130】
図15を参照すると、ステップS15−2では、オブジェクト/支持台セパレータ90はディスプレイプロセッサ110に、サーフェスモデラ70により生成された被写体オブジェクト210の3Dコンピュータモデル及びオブジェクト支持台460の底部470の3Dコンピュータモデルの画像をサーフェステクスチャラ80により生成されたテクスチャデータによってレンダリングして表示させる。
【0131】
ステップS15−4では、オブジェクト/支持台セパレータ90はディスプレイプロセッサ110に、オブジェクト支持台460の底部470の3Dモデルを識別することをユーザに要求するメッセージを表示装置4に表示させる。
【0132】
ステップS15−6では、マウスなどのユーザ入力装置6を介してユーザから入力された信号に応答して、オブジェクト/支持台セパレータ90は入力信号で定義されている3Dコンピュータモデルを削除して、被写体オブジェクト210の3Dコンピュータモデルのみを残す。
【0133】
本実施形態の変形として、オブジェクト支持台460の上部480を不透明にし、背景スクリーン228と同じ色にしても良い。この場合、各入力画像において上部480を背景スクリーン228と区別することは不可能であるため、これは上部480を透明にするのと同じ効果を有する。
【0134】
図15を参照して以上説明した処理に代わる処理として、オブジェクト/支持台セパレータ90はオブジェクト支持台460の底部470の3Dコンピュータモデルを自動的に(すなわち、ユーザからの入力なしに)削除しても良い。すなわち、これは、ステップS6−6でカメラ計算器50により計算された写真マット34の位置に最も近接している3Dコンピュータモデルを削除することにより実現される。被写体オブジェクト210は常にオブジェクト支持台460の上に配置されており、従って、常にオブジェクト支持台460の底部470より写真マット34から離れた位置にあるので、この処理により、削除のたびに正しい3Dコンピュータモデルが削除される結果となる。
【0135】
[第3の実施形態]
次に、本発明の第3の実施形態を説明する。第3の実施形態の構成要素及びそれにより実行される処理動作は、以下に説明するように、オブジェクト支持台が異なり且つオブジェクト/支持台セパレータ90により実行される処理動作が異なる点を除いて第1の実施形態の場合と同じである。加えて、第2の実施形態と同様に、第3の実施形態でも被写体オブジェクト210の下面のテクスチャデータは生成されない。
【0136】
第3の実施形態では、撮影のために被写体オブジェクト210が乗せられるオブジェクト支持台は第2の実施形態の場合と同様に円筒であるが、第3の実施形態においては、第2の実施形態のように一部が不透明、一部が透明という構造ではなく、円筒全体が不透明である。
【0137】
従って、第1の実施形態の場合と同様に、ステップS6−10でサーフェスモデラ70により生成される3Dコンピュータモデルは、被写体オブジェクト210とオブジェクト支持台双方の3Dコンピュータモデルである。
【0138】
第3の実施形態のステップS6−14では、オブジェクト/支持台セパレータ90は、先にステップS6−6でカメラ計算器50により計算された写真マット34の位置から離れる方向(すなわち、オブジェクト支持台の底面から被写体オブジェクト210に向かう上向きの方向)に複数の異なる位置で3Dコンピュータモデルの横断面面積を試験するための処理を実行する。すなわち、オブジェクト/支持台セパレータ90は、横断面面積の急激な変化(この急激な変化は、被写体オブジェクト210の底面がオブジェクト支持台の上面より狭い又は広い場合に、オブジェクト支持台と被写体オブジェクト210との境界を指示する)が起こる位置を検出するために、3Dコンピュータモデルの横断面面積を監視する。3Dコンピュータモデルの横断面面積が変化する位置を検出したならば、オブジェクト/支持台セパレータ90は、第1の実施形態で説明したように、ボクセルカーブ処理を実行する初期ボリューム400の底平面412を3Dコンピュータモデルの横断面面積の変化が起こったと検出された位置に設定することにより、3Dコンピュータモデルを再び生成するための処理を実行する。
【0139】
このようにして、ユーザ入力なしに被写体オブジェクト210単独の3Dコンピュータモデルが生成される。
【0140】
以上説明した処理に代わる処理として、被写体オブジェクト210の底面のどの色とも相当に異なるほぼ一様な色を有するオブジェクト支持台を使用しても良い。この場合、オブジェクト支持台の横断面面積の急激な変化を検出するための処理を実行するのではなく、オブジェクト/支持台セパレータ90はサーフェステクスチャラ80により生成されたテクスチャデータによってレンダリングされたときに、3Dコンピュータモデルの急激な色の変化の位置を検出するための処理を実行すれば良い。
【0141】
以上説明した初めの3つの実施形態においては、被写体オブジェクト210及びオブジェクト支持台の3Dコンピュータモデルを(第1及び第3の実施形態の場合のような単一の3Dコンピュータモデルとして、又は第2の実施形態の場合のような2つの別個の3Dコンピュータモデルとして)生成し、その後、オブジェクト支持台に関連する3Dコンピュータモデルを除去する。
【0142】
しかし、そのようにする代わりに、サーフェスモデラ70はステップS6−10で、以下に説明する第4の実施形態から明らかになるように、被写体オブジェクト単独の3Dコンピュータモデルを定義するデータを生成するための処理を実行しても良い。
【0143】
[第4の実施形態]
次に、本発明の第4の実施形態を説明する。第4の実施形態の構成要素及びそれにより実行される処理動作は、オブジェクト支持台の高さがわかっており、処理装置2に格納されていること(例えば、高さはユーザにより入力されても良い)、及びオブジェクト/支持台セパレータ90(従って、オブジェクト/支持台セパレータにより実行される処理ステップS6−14)が含まれておらず、サーフェスモデラ70により実行される処理をそれに対応して変更したことを除いて、第1の実施形態の場合と同じである。以下に、それらの相違点について説明する。
【0144】
すなわち、オブジェクト支持台の高さがわかっており、処理装置2に格納されているので、ステップS6−10で、サーフェスモデラ70はボクセルカーブ処理を実行すべき初期ボリューム400の底平面412を写真マット34の位置から格納されているオブジェクト支持台の高さに等しい垂直方向距離だけ離れた位置に設定する。これにより、ステップS6−10で後にサーフェスモデラ70により実行される処理において、被写体オブジェクト210単独の3Dコンピュータモデルが生成されることになる。
【0145】
[変形例]
特許請求の範囲の範囲内で、以上説明した実施形態に対して数多くの変形を実施することができる。
【0146】
例えば、撮影のために被写体オブジェクト210が乗せられるオブジェクト支持台を変形することが可能である。
【0147】
第1の例として、先に図4aから図4eを参照して説明したように、カメラ230の撮影位置及び方向は、各入力画像において被写体オブジェクト210が背景スクリーン228により取り囲まれる形で確実に現れるように保証するために重要であるので、カメラ230の最適の位置及び撮影方向を選択するときにユーザを補助するようにオブジェクト支持台を設計することができる。すなわち、図16に示すように、ユーザが正しい撮影位置及び方向を実現するのを補助するために、マーカ500を有するオブジェクト支持台490を使用しても良い。この場合、マーカ500が写真マット34と背景スクリーン228との境界に現れるように、ユーザはカメラ230の位置と方向を選択できる。マーカ500は、この整列が起こったときに被写体オブジェクト210が常に背景スクリーン228により取り囲まれるように、オブジェクト支持台の上部から十分な距離をおいて位置決めされている。
【0148】
図17を参照すると、被写体オブジェクト210が乗るオブジェクト支持台の上面から離間した位置に写真マット34の特徴のパターンがプリント(又はその他の方法によりマーキング)されているオブジェクト支持台510を設けることにより、オブジェクト支持台と写真マット34を組み合わせても良い。
【0149】
先に説明した実施形態のように、入力画像中で検出するために写真マット34に特徴を設けるのに加えて、オブジェクト支持台にも同様に特徴を設けても良く、この場合、カメラ計算器50は、各入力画像においてオブジェクト支持台の特徴を検出すると共に、入力画像相互間で検出した特徴を整合するための処理を実行する。その後、検出され、整合されたオブジェクト支持台の特徴の位置を写真マット34の特徴の検出位置と共に使用して、入力画像の位置と向きを計算する。これにより、(先に説明したように、全ての特徴が写真マット34の上にある実施形態とは異なり)位置と向きを計算するために使用される特徴の全てが1つの平面に位置することがなくなり、オブジェクト支持台の特徴を異なる高さに設けることが可能になるため、計算される位置及び向きの正確さが向上する(従って、被写体オブジェクトの3Dコンピュータモデルがより正確になる)と思われる。写真マット34で検出された特徴と、オブジェクト支持台で検出された特徴を使用して、入力画像の位置及び向きを計算する方法の一例として、EP−A−0898245に記載されている方法に基づき、「ユーザ識別」整合として写真マット34の特徴の整合を使用し且つ「計算上の」整合としてオブジェクト支持台の特徴の整合を使用して、処理を実行しても良い。
【0150】
更に、オブジェクト支持台の特徴を既知の相対位置に設けても良い。このようにすると、既知の相対位置を利用して、計算される各々の位置及び向きがとりうる解を従来のように制約することにより(すなわち、オブジェクト支持台上の特徴の相対位置を維持する撮影条件を与えるように計算される位置及び向きに要求することにより)、更に高い正確さをもって入力画像の位置と向きを計算できるであろう。
【0151】
また、オブジェクト支持台上の特徴を既知の相対位置に設けるのに加えて、オブジェクト支持台と写真マットを接合したときに、オブジェクト支持台上の特徴が写真マット上の特徴の位置に対して既知の位置をとるようにオブジェクト支持台と写真マットを相互に接続するように構成しても良い。すなわち、図18を参照して説明すると、穴530を有する材料の厚板の上に特徴のパターンを設けた写真マット520を使用しても良い。各々がそれぞれ異なる色を有し、且つ既知の相対位置にそれぞれ配列された複数の特徴560を有するオブジェクト支持台540は、その底部を穴530に差し込むことにより写真マット520と接合される。オブジェクト支持台540を穴530に差し込んだとき、オブジェクト支持台540に設けられた突起部550が穴530の切り欠きと係合するので、写真マット520上の特徴と、オブジェクト支持台540上の特徴560の相対位置は固定される。
【0152】
以上説明した実施形態では、オブジェクト支持台と被写体オブジェクト210が配置されるキャリブレーションオブジェクトは二次元写真マット34の形態をとっていた。しかし、その代わりに三次元キャリブレーションオブジェクトを使用しても差し支えない。例えば、図19を参照すると、垂直の側面に特徴のパターンを有する立方体の形状を有するキャリブレーションオブジェクト570が使用されている。
【0153】
オブジェクト支持台の高さを変えることができるように、支持台を伸縮自在の構造にしても良い。
【0154】
オブジェクト支持台は、被写体オブジェクト210に差し込めるスパイクの形態をとっていても良い。
【0155】
上述の全ての実施形態において、オブジェクト支持台は、被写体オブジェクト210を乗せる平坦な上面を有する。しかし、被写体オブジェクトは複数の個別の支柱によって支えられても良い。例えば、第1の実施形態で、オブジェクト支持台の水平の上板222を取り外し、被写体オブジェクトを脚部224により支持しても差し支えない。被写体オブジェクトの下面に関してテクスチャデータを生成すべき実施形態では、この構成は、被写体オブジェクトが乗っている面(例えば、第1の実施形態では面222)を通る光の透過に起因して発生する歪みの影響を受けずに、ミラー140で下面の少なくとも一部を反射させることになるであろう。
【0156】
上述の全ての実施形態において、写真マット34のパターンの特徴は、オブジェクト支持台が配置される空いた中央領域に配列されていた。しかし、オブジェクト支持台用のスペースを取らずに、特徴を写真マット34の全面に設けても良く、その場合、オブジェクト支持台は特徴の一部にかかるように配置される。各入力画像で少なくとも6個の特徴が見えているならば、この配置が各入力画像の位置及び向きを計算するための処理動作に影響を及ぼすことはない。
【0157】
上述の実施形態においては、被写体オブジェクト210を乗せたオブジェクト支持台は、写真マット34のパターンの特徴により取り囲まれるように写真マット34上に位置決めされていた。しかし、被写体オブジェクト210を乗せたオブジェクト支持台が特徴のパターンの外に出るように写真マット34上で位置決めされても良い(例えば、特徴の円から外に出た写真マット34の角)。同様に、被写体オブジェクト210を乗せたオブジェクト支持台を写真マット上に配置する必要もない。例えば、カメラ230が固定されている場合、写真マット34を大きなシート紙の上に配置し、被写体オブジェクト210を乗せたオブジェクト支持台をそのシート紙の上に、写真マット34を外して配置しても良い。この場合、次の画像を記録するときに、カメラ230と、写真マット34、オブジェクト支持台及び被写体オブジェクト210との相対的な位置及び向きの関係を変化させるために、紙を回転及び/又は移動させれば良い。このようにすると、被写体オブジェクト210が写真マット34の特徴のパターンの上に直接に乗っていなくても、被写体オブジェクト210は依然としてオブジェクト支持台によりパターンの上方の位置に保持されており、記録された画像において被写体オブジェクト210とパターンの双方を見ることができる。従って、ここで使用する用語「上方」は、被写体オブジェクトが写真マットの垂直方向直上にあることを意味するものとして解釈されてはならない。
【0158】
以上説明した全ての実施形態において、被写体オブジェクト210単独の3Dコンピュータモデルを生成していた。しかし、アプリケーションによっては、オブジェクト支持台(又はその一部)を含めて被写体オブジェクト210の3Dコンピュータモデルを生成しても良い。そのような場合には、オブジェクト支持台の3Dコンピュータモデルを除去するための処理を実行する必要はない。
【0159】
上述の第1の実施形態では、ステップS6−14でオブジェクト/支持台セパレータ90により実行される処理において、被写体オブジェクト210をオブジェクト支持台220から分離させるために移動されるべくユーザに対し表示される平面450は、被写体オブジェクト210の3Dコンピュータモデルのいずれか一部の幅を超える幅を有する。同様に、ボクセルカーブ処理を再度実行する前に、オブジェクト/支持台セパレータ90は、底部平面412の下方にある初期ボリューム400の底部全体を除去するために、初期ボリューム400の底部平面412を移動させる。図5に示すように、被写体オブジェクト210のどの部分もオブジェクト支持台220の上面より上にある場合には、この処理は申し分なく実行される。しかし、被写体オブジェクト210の一部がオブジェクト支持台220の上面から突き出しているために、第1の実施形態で説明した処理を使用すると、平面450を利用して被写体オブジェクト210をオブジェクト支持台220から分離することが不可能になると思われる状況も起こりうる。従って、この処理に代わる処理として、ステップS6−14で、オブジェクト/支持台セパレータ90はオブジェクト支持台220と同じ形状及び横断面面積を有する平面450を表示しても良く、その場合、ボクセルカーブ処理を実行すべき初期ボリューム400を修正するとき、ユーザに対し表示された平面450の横断面面積及び形状に相当する横断面面積と形状を有し且つ下の底部平面412からステップS11−6で格納された平面450の最終位置に対応する位置まで延在する穴をボリューム400に形成しても良い。また、第3及び第4の実施形態においても同様に、被写体オブジェクト210がオブジェクト支持台の上部から突き出している状況を考慮するために、初期ボリューム400を修正しても良い。
【0160】
被写体オブジェクトとオブジェクト支持台双方の3Dコンピュータモデルからオブジェクト支持台の3Dコンピュータモデルを除去するための処理を実行する別の方法として、(例えば、入力画像を記録するときに被写体オブジェクト210が存在しない状態で先に説明した処理を実行することにより)オブジェクト支持台の3Dコンピュータモデルを処理装置2で事前に生成し、事前に格納しておいても良い。その場合、この後、事前に格納されていたオブジェクト支持台のモデルを被写体オブジェクト及びオブジェクト支持台双方の3Dモデルの一部に整合させ、且つ検出された整合部分を除去するために、オブジェクト/支持台セパレータ90により処理を実行しても良い。
【0161】
上述の実施形態においては、プリンタ8は1枚のシート紙に写真マット34をプリントしていた。しかし、マット発生器30は写真マットを複数枚のシート紙にプリントするようにプリンタ8を制御しても良い。それらの紙を組み合わせて写真マット34を形成することができる。
【0162】
記録媒体に写真マットをプリントする、又は表示パネル10に写真マットを表示するのではなく、写真マットの特徴を床などの面にマーキング(例えば、ペイント)しても良い。
【0163】
上述の第1の実施形態においては、被写体オブジェクト210の下面のテクスチャデータを生成するために、写真マットをプリントするシート紙に穴130が切り取られており、それをミラー140に接合していた。しかし、その代わりに、シート紙の上面の、穴130が切り取られていたであろう位置に対応する位置に、ミラー又はその他の適切な反射材料を設けても良い。同様に、表示パネル10に写真マットを表示する場合に、表示パネルにミラー又は他の反射材料を配置しても良い。あるいは、ミラー又は他の反射面に写真マットの特徴のパターンをプリント、又はその他の方法によりマーキングしても良い。
【0164】
上述の第1の実施形態では、ステップS6−14でオブジェクト/支持台セパレータ90により実行される処理において、ボクセルカーブ処理を実行すべき初期ボリューム400の底部平面412を先にユーザにより移動された平面450の位置に対応する位置まで移動させることにより、サーフェスモデラ70により生成された3Dコンピュータモデルを修正していた。これに加えて、同じ技法を使用して、3Dコンピュータモデルの誤りを修正するために3Dコンピュータモデルを修正しても良い。すなわち、図20aを参照して説明すると、処理装置2は、ユーザがユーザ入力装置6を使用して任意の位置及び向きに移動させることができる平面600と共に、3Dコンピュータモデルの画像を表示しても良い。このようにすると、ユーザは、図20aの部分610のように、望ましい部分から突出しているコンピュータモデルの望ましくない部分を分離する位置まで平面600を移動させることができる。先に図11を参照して説明した処理の場合と同様に、処理装置2はユーザにより移動された後の平面600の最終位置を格納し、図20bに示すように、ユーザにより定義された平面600の位置に対応するボリューム400内の位置に平面620を設定し、且つその平面620により除外される部分630を初期ボリューム400から除去することにより、ボクセルカーブ処理を実行すべき処理ボリューム400を修正する。その後、処理装置2は再びボクセルカーブ処理を実行し、その結果、ボクセルカーブ処理から除外されたボリューム630に位置している3Dコンピュータモデルの望ましくない部分610は除去される。
【0165】
以上説明した実施形態においては、ステップS6−4で、ユーザにより入力された、カメラ230の固有パラメータを定義するデータを格納していた。しかし、その代わりに、固有カメラパラメータの一部又は全てに関してデフォルト値を想定しても良く、あるいは、例えば、Hartleyの「Euclidean Reconstruction From Uncalibrated Views」(Applications of Invariance in Computer Vision, Mundy, Zisserman and Forsyth eds、237〜256ページ、Azores1993年)に記載されているように、従来の方式で固有パラメータ値を計算するための処理を実行しても良い。
【0166】
以上説明した実施形態においては、先に図7を参照して説明したように、被写体オブジェクト210及びオブジェクト支持台に関連する入力画像からの画像データを写真マット34、面200及び背景スクリーン228に関連する画像データから分離していた。しかし、別の従来の分割方法を使用しても良い。例えば、写真マット34、面200及び背景スクリーン228の色を表現する1つのRGB値を格納し、RGB背景値とRGB画素値とのRGB空間におけるユークリッド距離が指定の閾値より小さいか否かを判定するために、入力画像の各画素を処理するような分割方法を使用しても差し支えない。
【0167】
以上説明した実施形態においては、3Dコンピュータモデルを定義するデータを生成するためのステップS6−10及びS6−14の処理をボクセルカービング技法を使用して実行していた。しかし、例えば、共にKiriakos N. Kutulakos及びStephen M. Seitzが著した1998年1月のUniversity of Rochester Computer Sciences Technical Report Number 680に掲載された論文「What Do N Photographs Tell Us About 3D Shape?」及び1998年5月のUniversity of Rochester Computer Sciences Technical Report Number 692に掲載された論文「A Theory of Shape by Space Carving」に記載されているようなボクセルカラリング技法などの他の技法を使用しても差し支えない。
【0168】
以上説明した実施形態においては、プログラミング命令により定義される処理ルーチンを使用して、コンピュータにより処理を実行していた。しかし、処理の一部又は全てをハードウェアを使用して実行することも可能であろう。
【図面の簡単な説明】
【図1】本発明の一実施形態の構成要素を、プログラミング命令によりプログラムされたときに処理装置の構成要素が構成されるものと考えられる概念上の機能処理ユニットと共に概略的に示す図である。
【図2】写真マットとミラーとの接合を示す図である。
【図3】3Dコンピュータモデルを生成すべき被写体オブジェクトの画像の記録をオブジェクト支持台及び写真マットと共に示す図である。
【図4a】、
【図4b】、
【図4c】、
【図4d】、
【図4e】、カメラの撮影位置及び向きと、オブジェクト支持台の高さの選択がカメラにより記録される入力画像にどのような影響を及ぼすかを示す図である。
【図5】図1の処理装置に入力されるオブジェクト、オブジェクト支持台及び写真マットの画像を示す図である。
【図6】入力データを処理するために図1の処理装置により実行される処理動作を示す図である。
【図7a】、
【図7b】、
【図7c】図6のステップS6−8で実行される処理動作を示す図である。
【図8】被写体オブジェクト及びオブジェクト支持台の3Dサーフェスモデルを生成するためにボクセルカービング演算を実行すべき図6のステップS6−10の初期ボリュームの定義を示す図である。
【図9】図6のステップS6−12で実行される処理動作を示す図である。
【図10】図9のステップS9−2における仮想画像の画素データの作成を示す図である。
【図11】第1の実施形態において図6のステップS6−14で実行される処理動作を示す図である。
【図12a】、
【図12b】、
【図12c】図11のステップS11−2及びS11−4における可動平面の表示及び移動を示す図である。
【図13】図11のステップS11−8でボクセルカービングを実行すべき初期ボリュームの再定義を示す図である。
【図14】透明な上部を有する第2の実施形態のオブジェクト支持台を示す図である。
【図15】第2の実施形態において図6のステップS6−14で実行される処理動作を示す図である。
【図16】別の実施形態においてユーザがカメラの撮影位置及び向きを選択するのを補助するためのマーカを有するオブジェクト支持台を示す図である。
【図17】写真マットではなく、オブジェクト支持台に識別可能な特徴が設けられている、別の実施形態のオブジェクト支持台を示す図である。
【図18】写真マット及びオブジェクト支持台に識別可能な特徴が設けられている、更に別の実施形態の写真マット及びオブジェクト支持台を示す図である。
【図19】写真マットの代わりに識別可能な特徴を有する三次元キャリブレーションオブジェクトを使用する更に別の実施形態を示す図である。
【図20a】、
【図20b】全ての実施形態において位置及び向きが可変である平面を使用して三次元コンピュータモデルをどのようにして編集するかを示す図である。

Claims (15)

  1. 異なる位置及び向きから被写体オブジェクトの画像を記録し、記録された画像データを処理して、被写体オブジェクトの三次元コンピュータモデルを生成する方法であって、
    オブジェクト支持台を使用し、所定の特徴のパターンを有するキャリブレーションオブジェクトの上方に被写体オブジェクトを支持する工程と、
    前記キャリブレーションオブジェクトの上方に支持された前記被写体オブジェクトの複数の画像を異なる位置及び向きで記録する工程と、
    記録された画像を処理して、画像のうち少なくともいくつかの画像の各々の記録された位置及び向きを計算する工程と、
    計算された位置及び向きを使用して、少なくとも前記被写体オブジェクトの三次元コンピュータモデルを定義するデータを生成するための処理を実行する工程とを備えることを特徴とする方法。
  2. 前記キャリブレーションオブジェクトの上方に支持された前記被写体オブジェクトの画像は、記録される各画像において、前記被写体オブジェクトの輪郭が前記オブジェクト支持台にかかる場所を除いて背景により取り囲まれるように、ほぼ一様な色の背景を前記被写体オブジェクトの背後に配置した状態で記録されることを特徴とする請求項1記載の方法。
  3. 前記背景は背景スクリーンにより提供されることを特徴とする請求項2記載の方法。
  4. 前記オブジェクト支持台の、少なくとも前記被写体オブジェクトに隣接する部分は前記背景とほぼ同じ色であり、
    三次元コンピュータモデルを生成するための処理工程は、前記被写体オブジェクトの三次元コンピュータモデルと、それとは別個の、前記オブジェクト支持台の三次元コンピュータモデルとを定義するデータを生成する工程を含むことを特徴とする請求項2又は3記載の方法。
  5. 前記オブジェクト支持台の、少なくとも前記被写体オブジェクトに隣接する部分はほぼ透明であり、
    三次元コンピュータモデルを生成するための処理工程は、前記被写体オブジェクトの三次元コンピュータモデルと、それとは別個の、前記オブジェクト支持台の三次元コンピュータモデルとを定義するデータを生成する工程を含むことを特徴とする請求項1乃至3のいずれか1項に記載の方法。
  6. 前記被写体オブジェクトは、前記キャリブレーションオブジェクト上に立っているオブジェクト支持台の少なくとも1つの面により支持され、
    前記被写体オブジェクトを支持している前記オブジェクト支持台の各面は前記被写体オブジェクトの下方から、はみ出ないことを特徴とする請求項1乃至5のいずれか1項に記載の方法。
  7. 前記オブジェクト支持台は複数のキャリブレーション特徴を有し、
    前記画像のうち少なくともいくつかの画像の各々が記録された位置及び向きを計算するための処理工程は、画像データ中の前記オブジェクト支持台のキャリブレーション特徴を検出する工程と、検出された特徴の位置を使用して、画像が記録された位置及び向きを計算する工程とを含むことを特徴とする請求項1乃至6のいずれか1項に記載の方法。
  8. 前記オブジェクト支持台のキャリブレーション特徴の相対位置を定義するデータは事前に格納されており、そのデータを使用して画像が記録された位置及び向きが計算されることを特徴とする請求項7記載の方法。
  9. 前記オブジェクト支持台は前記キャリブレーションオブジェクトに対して所定の構成で配置されており、
    前記キャリブレーションオブジェクトの特徴の位置に対する前記オブジェクト支持台のキャリブレーション特徴の位置を定義するデータが事前に格納され、そのデータを使用して画像が記録された位置及び向きを計算することを特徴とする請求項7又は8に記載の方法。
  10. 前記被写体オブジェクトは反射面の上方に支持され、
    前記反射面における反射に対応する画像データに従って前記被写体オブジェクトの三次元コンピュータモデルのテクスチャデータを生成するための処理が実行されることを特徴とする請求項1乃至9のいずれか1項に記載の方法。
  11. 前記キャリブレーションオブジェクトは三次元であることを特徴とする請求項1乃至10のいずれか1項に記載の方法。
  12. 前記オブジェクト支持台及び前記キャリブレーションオブジェクトは一体に形成され、前記被写体オブジェクトはそれにより前記キャリブレーションオブジェクトの所定の特徴のパターンの上方に支持されていることを特徴とする請求項1乃至11のいずれか1項に記載の方法。
  13. 所定の特徴のパターンを有するキャリブレーションオブジェクトの上方にオブジェクト支持台により支持された被写体オブジェクトの異なる位置及び向きで記録された複数の画像を定義する画像データを処理する方法であって、
    画像データを処理して、画像のうち少なくともいくつかの画像が記録された位置及び向きを計算する工程と、
    計算された位置及び向きを使用して、前記オブジェクト支持台を含まない前記被写体オブジェクトの三次元コンピュータモデルを定義するデータを生成するための処理を実行する工程とを備えることを特徴とする方法。
  14. 異なる位置及び向きから被写体オブジェクトの画像を記録し、記録された画像データを処理して、前記被写体オブジェクトの三次元コンピュータモデルを生成するシステムであって、
    所定の特徴のパターンを有するキャリブレーションオブジェクトと、
    前記被写体オブジェクトを前記キャリブレーションオブジェクトより高い位置に支持するオブジェクト支持台と、
    前記キャリブレーションオブジェクトより高い位置に支持された前記被写体オブジェクトの複数の画像を異なる位置及び向きで記録するイメージャと、
    画像データ処理装置とを具備し、前記画像データ処理装置は、
    記録された画像データを処理して、画像のうち少なくともいくつかの画像の各々が記録された位置及び向きを計算する手段と、
    計算された位置及び向きを使用して、少なくとも前記被写体オブジェクトの三次元コンピュータモデルを定義するデータを生成するための処理を実行する手段とを備えることを特徴とするシステム。
  15. オブジェクト支持台により、所定の特徴パターンを有するキャリブレーションオブジェクトより高い位置に支持される被写体オブジェクトの異なる位置及び向きで記録された複数の画像を定義する画像データを処理する装置であって、
    画像データを処理して、画像のうち少なくともいくつかの画像が記録された位置及び向きを計算する手段と、
    計算された位置及び向きを使用して、前記オブジェクト支持台を含まない前記被写体オブジェクトの三次元コンピュータモデルを定義するデータを生成する手段とを備えることをことを特徴とする装置。
JP2001296570A 2000-09-27 2001-09-27 画像処理装置 Expired - Fee Related JP4497772B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0023681.0 2000-09-27
GBGB0023681.0A GB0023681D0 (en) 2000-09-27 2000-09-27 Image processing apparatus

Publications (3)

Publication Number Publication Date
JP2002222412A JP2002222412A (ja) 2002-08-09
JP2002222412A5 JP2002222412A5 (ja) 2008-10-23
JP4497772B2 true JP4497772B2 (ja) 2010-07-07

Family

ID=9900239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001296570A Expired - Fee Related JP4497772B2 (ja) 2000-09-27 2001-09-27 画像処理装置

Country Status (4)

Country Link
US (1) US7079679B2 (ja)
EP (1) EP1193646A3 (ja)
JP (1) JP4497772B2 (ja)
GB (1) GB0023681D0 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4877891B2 (ja) * 2001-08-03 2012-02-15 株式会社トプコン 校正用被写体
FI111755B (fi) * 2001-11-23 2003-09-15 Mapvision Oy Ltd Menetelmä ja järjestelmä konenäköjärjestelmän kalibroimiseksi
AU2003209355A1 (en) * 2002-01-22 2003-09-02 Matchlight Software Inc. System and method for image attribute recording and analysis for biometric applications
EP1347418A3 (en) 2002-02-28 2005-11-23 Canon Europa N.V. Texture map editing
JP4043258B2 (ja) * 2002-03-13 2008-02-06 オリンパス株式会社 3次元画像撮影装置
GB2387519B (en) * 2002-04-08 2005-06-22 Canon Europa Nv Viewing controller for three-dimensional computer graphics
JP3635539B2 (ja) * 2002-08-29 2005-04-06 オリンパス株式会社 キャリブレーションパターンユニット
GB0224449D0 (en) * 2002-10-21 2002-11-27 Canon Europa Nv Apparatus and method for generating texture maps for use in 3D computer graphics
GB2398469B (en) * 2003-02-12 2005-10-26 Canon Europa Nv Image processing apparatus
GB2400288B (en) * 2003-04-02 2005-12-28 Canon Europa Nv Generating texture maps for use in 3D computer graphics
GB0310502D0 (en) * 2003-05-07 2003-06-11 Canon Europa Nv Photographing apparatus,device and method for obtaining images to be used for creating three-dimensional model
GB0310504D0 (en) * 2003-05-07 2003-06-11 Canon Europa Nv Photographing apparatus,device and method for obtaining images to be used for creating three-dimensional model
GB2405775B (en) * 2003-09-05 2008-04-02 Canon Europa Nv 3D computer surface model generation
GB2406252B (en) 2003-09-18 2008-04-02 Canon Europa Nv Generation of texture maps for use in 3d computer graphics
US20050068544A1 (en) * 2003-09-25 2005-03-31 Gunter Doemens Panoramic scanner
JP4379626B2 (ja) * 2004-04-09 2009-12-09 有限会社テクノドリーム二十一 3次元形状計測方法及びその装置
AT501442B1 (de) * 2005-02-22 2007-07-15 Thomas Dipl Ing Kienzl Computergestütztes schnittstellensystem
US7642929B1 (en) 2007-04-19 2010-01-05 The United States Of America As Represented By The Secretary Of The Air Force Helicopter brown-out landing
KR101615472B1 (ko) 2007-09-24 2016-04-25 애플 인크. 전자 장치 내의 내장형 인증 시스템들
US8600120B2 (en) 2008-01-03 2013-12-03 Apple Inc. Personal computing device control using face detection and recognition
US9189859B2 (en) 2009-06-11 2015-11-17 Kabushiki Kaisha Toshiba 3D image generation
CN102802520B (zh) 2009-06-17 2015-04-01 3形状股份有限公司 聚焦扫描设备
US20110025685A1 (en) * 2009-07-29 2011-02-03 Doug Epps Combined geometric and shape from shading capture
KR101619076B1 (ko) * 2009-08-25 2016-05-10 삼성전자 주식회사 모바일 플랫폼의 동적 물체 검출 및 추적 방법
AT510808B1 (de) 2010-11-24 2013-04-15 Kienzl Thomas Dipl Ing Verfahren zur darstellung eines gegenstandes auf einer anzeigeeinheit
WO2012129695A1 (en) * 2011-03-31 2012-10-04 Ats Automation Tooling Systems Inc. Three dimensional optical sensing through optical media
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US9378587B2 (en) 2012-06-27 2016-06-28 Landmark Graphics Corporation Systems and methods for creating a three-dimensional texture atlas
WO2014057392A1 (en) * 2012-10-12 2014-04-17 Koninklijke Philips N.V. System for accessing data of a face of a subject
US20140205138A1 (en) * 2013-01-18 2014-07-24 Microsoft Corporation Detecting the location of a keyboard on a desktop
US9898642B2 (en) 2013-09-09 2018-02-20 Apple Inc. Device, method, and graphical user interface for manipulating user interfaces based on fingerprint sensor inputs
US10010387B2 (en) 2014-02-07 2018-07-03 3Shape A/S Detecting tooth shade
US10043185B2 (en) 2014-05-29 2018-08-07 Apple Inc. User interface for payments
WO2016199366A1 (ja) * 2015-06-11 2016-12-15 パナソニックIpマネジメント株式会社 寸法測定装置および寸法測定方法
US9868212B1 (en) * 2016-02-18 2018-01-16 X Development Llc Methods and apparatus for determining the pose of an object based on point cloud data
US10169665B1 (en) * 2016-02-28 2019-01-01 Alarm.Com Incorporated Virtual inductance loop
CN109196303B (zh) 2016-04-01 2020-10-23 乐高公司 玩具扫描仪
CN109691074A (zh) * 2016-09-23 2019-04-26 苹果公司 用于增强的用户交互的图像数据
DK3545497T3 (da) 2016-11-22 2021-07-05 Lego As System til opnåelse af en digital 3D-repræsentation af et fysisk objekt
US20180211404A1 (en) * 2017-01-23 2018-07-26 Hong Kong Applied Science And Technology Research Institute Co., Ltd. 3d marker model construction and real-time tracking using monocular camera
CN107077739A (zh) * 2017-01-23 2017-08-18 香港应用科技研究院有限公司 使用单目相机的三维标记模型构建和实时跟踪
JP6967610B2 (ja) 2017-05-16 2021-11-17 アップル インコーポレイテッドApple Inc. 絵文字の記録及び送信
EP4156129A1 (en) 2017-09-09 2023-03-29 Apple Inc. Implementation of biometric enrollment
US10433771B2 (en) * 2017-10-06 2019-10-08 James Christopher Pamplin Device for assessing and recording posture
CN109727308A (zh) * 2017-10-30 2019-05-07 三纬国际立体列印科技股份有限公司 实体物件的三维点云模型生成设备及生成方法
JP7000941B2 (ja) * 2018-03-22 2022-01-19 株式会社Jvcケンウッド 処理装置、3次元モデルの分割方法及びプログラム
DK180078B1 (en) 2018-05-07 2020-03-31 Apple Inc. USER INTERFACE FOR AVATAR CREATION
US11170085B2 (en) 2018-06-03 2021-11-09 Apple Inc. Implementation of biometric authentication
JP7113316B2 (ja) * 2018-06-29 2022-08-05 パナソニックIpマネジメント株式会社 宅配ボックスの寸法測定装置
US10860096B2 (en) 2018-09-28 2020-12-08 Apple Inc. Device control using gaze information
US11100349B2 (en) 2018-09-28 2021-08-24 Apple Inc. Audio assisted enrollment
US20220405352A1 (en) * 2019-12-05 2022-12-22 Hewlett-Packard Development Company, L.P. Digital rights management
EP4074474A4 (en) * 2019-12-13 2024-06-05 Kawasaki Jukogyo Kabushiki Kaisha ROBOT SYSTEM AND METHOD FOR PRODUCING A THREE-DIMENSIONAL MODEL OF A WORKPIECE

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000123199A (ja) * 1998-10-14 2000-04-28 Ricoh Co Ltd 3次元形状の切断装置と切断方法及び切断処理プログラムを格納した記憶媒体

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428716A (en) * 1991-12-26 1995-06-27 International Business Machines Corporation Solid-clip methodology and architecture for clipping solid models and displaying cross-sections using depth-buffers
JP3869876B2 (ja) 1995-12-19 2007-01-17 キヤノン株式会社 画像計測方法及び画像計測装置
US6081273A (en) * 1996-01-31 2000-06-27 Michigan State University Method and system for building three-dimensional object models
US5966310A (en) 1996-02-13 1999-10-12 Sanyo Electric Co., Ltd. Personal design system and personal equipment production system for actually producing equipment having designed appearance
JPH09244522A (ja) 1996-03-05 1997-09-19 Canon Inc 仮想建築物体験方法及び装置
US6268862B1 (en) 1996-03-08 2001-07-31 Canon Kabushiki Kaisha Three dimensional virtual space generation by fusing images
CN1480903A (zh) * 1996-08-29 2004-03-10 ������������ʽ���� 特征信息赋予、物体抽取和立体模型生成方法及其装置
JP3419213B2 (ja) * 1996-08-30 2003-06-23 ミノルタ株式会社 3次元形状データ処理装置
US6137893A (en) 1996-10-07 2000-10-24 Cognex Corporation Machine vision calibration targets and methods of determining their location and orientation in an image
US5815683A (en) * 1996-11-05 1998-09-29 Mentor Graphics Corporation Accessing a remote cad tool server
US5960125A (en) * 1996-11-21 1999-09-28 Cognex Corporation Nonfeedback-based machine vision method for determining a calibration relationship between a camera and a moveable object
GB2325996B (en) 1997-06-04 2002-06-05 Lsi Logic Corp Distributed computer aided design system and method
DE69823116D1 (de) 1997-08-05 2004-05-19 Canon Kk Bildverarbeitungsverfahren und -gerät
EP0901105A1 (en) * 1997-08-05 1999-03-10 Canon Kabushiki Kaisha Image processing apparatus
US6342917B1 (en) 1998-01-16 2002-01-29 Xerox Corporation Image recording apparatus and method using light fields to track position and orientation
US6072898A (en) * 1998-01-16 2000-06-06 Beaty; Elwin M. Method and apparatus for three dimensional inspection of electronic components
US6563499B1 (en) * 1998-07-20 2003-05-13 Geometrix, Inc. Method and apparatus for generating a 3D region from a surrounding imagery
DE60028075D1 (de) 1999-11-23 2006-06-22 Canon Kk Bildverarbeitungsgerät
US7065242B2 (en) * 2000-03-28 2006-06-20 Viewpoint Corporation System and method of three-dimensional image capture and modeling
US7728848B2 (en) * 2000-03-28 2010-06-01 DG FastChannel, Inc. Tools for 3D mesh and texture manipulation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000123199A (ja) * 1998-10-14 2000-04-28 Ricoh Co Ltd 3次元形状の切断装置と切断方法及び切断処理プログラムを格納した記憶媒体

Also Published As

Publication number Publication date
EP1193646A2 (en) 2002-04-03
JP2002222412A (ja) 2002-08-09
US20020061130A1 (en) 2002-05-23
US7079679B2 (en) 2006-07-18
GB0023681D0 (en) 2000-11-08
EP1193646A3 (en) 2004-01-02

Similar Documents

Publication Publication Date Title
JP4497772B2 (ja) 画像処理装置
US20040155877A1 (en) Image processing apparatus
US7034821B2 (en) Three-dimensional computer modelling
JP7370527B2 (ja) 衣服の3次元モデルデータを生成するための方法およびコンピュータプログラム
EP1267309B1 (en) 3D Computer Modelling Apparatus
US5747822A (en) Method and apparatus for optically digitizing a three-dimensional object
EP1308902A2 (en) Three-dimensional computer modelling
CN108648269A (zh) 三维建筑物模型的单体化方法和系统
JP2002202838A (ja) 画像処理装置
WO2005024720A2 (en) Color edge based system and method for determination of 3d surface topology
US7620234B2 (en) Image processing apparatus and method for generating a three-dimensional model of an object from a collection of images of the object recorded at different viewpoints and segmented using semi-automatic segmentation techniques
JP2003115042A (ja) 3次元形状モデルの評価方法および生成方法並びに装置
CN111724464A (zh) 一种移动测量点云着色方法及其装置
JP6376887B2 (ja) 3dスキャナ、3dスキャン方法、コンピュータプログラム、記録媒体
CN115994952B (zh) 环视影像系统的标定方法、装置、计算机设备及存储介质
CN116125489A (zh) 一种室内物体三维检测方法、计算机设备及存储介质
TWI595446B (zh) 擴充實境中基於深度攝影機之遮蔽邊緣品質改善方法
CN115082538A (zh) 基于线结构光投影的多目视觉平衡环零件表面三维重建系统及方法
US11276235B2 (en) Method and system for projecting a pattern in mixed reality
JP2000057376A (ja) 新視点画像生成方法
Do et al. On multi-view texture mapping of indoor environments using Kinect depth sensors
CN117152397B (zh) 一种基于热成像投影的三维人脸成像方法及系统
KR20230105902A (ko) 뷰어 장치 그의 3차원 데이터 출력 방법
JP2023017018A (ja) 三次元グラフィックスデータ作成方法、プログラム及び三次元グラフィックスデータ作成システム
GB2387093A (en) Image processing apparatus with segmentation testing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100226

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100409

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100413

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees