JP3104638B2 - 3次元画像作成装置 - Google Patents

3次元画像作成装置

Info

Publication number
JP3104638B2
JP3104638B2 JP09071257A JP7125797A JP3104638B2 JP 3104638 B2 JP3104638 B2 JP 3104638B2 JP 09071257 A JP09071257 A JP 09071257A JP 7125797 A JP7125797 A JP 7125797A JP 3104638 B2 JP3104638 B2 JP 3104638B2
Authority
JP
Japan
Prior art keywords
dimensional
image
camera
point
data
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
JP09071257A
Other languages
English (en)
Other versions
JPH09319896A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP09071257A priority Critical patent/JP3104638B2/ja
Publication of JPH09319896A publication Critical patent/JPH09319896A/ja
Application granted granted Critical
Publication of JP3104638B2 publication Critical patent/JP3104638B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、3次元形状モデル
の作成技術に関し、特に実写画像に写る物体の3次元形
状モデルを作成する3次元モデル作成装置及び方法に関
する。
【0002】
【従来の技術】コンピュータ等を用い、3次元物体の3
次元形状モデルを作成する方法としては、ユーザがGU
I等を用い物体の形状や座標を対話的に入力し作成する
方法が一般的である。形状や座標の入力方法としては、
3面図を用いたり、プリミティブと呼ばれる基本的な図
形群のなかから作成する物体に最もあてはまる図形を選
び適当な変形を加えてモデルを作成する方法、直接長さ
や座標を数値で入力する方法等がある。
【0003】例えば、特開平5ー342310号公報
「線要素データの3次元変換装置及び方法」では、3次元
物体を入力する際に紙面上にスケッチしているかのよう
に操作できる装置を提示している。
【0004】一方、物体のモデルを作成する際の条件と
して、(1)物体の形状が既知あるいは計測可能な場
合、(2)物体の形状は未知あるいは未定で、具体的な
形状や寸法を決定しながらモデルを作成する場合、
(3)物体の形状は未知であるがその実写画像がある場
合、などが考えられる。
【0005】本発明の対象とする条件は、(3)の物体
の形状は未知だがその実写画像がある場合である。この
場合、実写画像を参照しながら(2)の形状未知の物体
のモデル作成方法を用い、その際できあがるモデルが結
果的に実写画像の物体になるべく近くなるように作成す
る方法が一般的である。しかし、この方法はあくまで実
写画像を物体のモデルを作成するための参照として用い
るだけなので、実写画像の物体形状に関する2次元的な
情報は直接モデル作成には反映されない。
【0006】特開平5−233781号公報「動画像利
用の立体モデル作成システム」では、実写画像を参照し
て立体モデルを作成するとき、実写画像内の対象物と、
作成する立体モデルの生成画像を同一画面上で重ねて表
示する方法を提供している。利用者は少ない心理的負担
で、実写の対象物と立体モデルの生成画像の差違を容易
に確認できる。しかし、この場合も、作成したモデルを
確認する、という意味で実写画像を用いているだけで、
モデル作成時にその情報を利用することには言及してい
ない。また、実写画像と作成モデルを重ねあわせるため
に必要な、実写画像のカメラパラメータがわかっている
必要がある。
【0007】実写画像の2次元情報から、3次元モデルを
直接作成することは一般には不可能である。2次元の映
像情報からは、そこに表示される任意の点の奥行き情報
がわからないため、それが3次元的にどの位置にあるの
かを一意に特定することができないからである。しかし
実際にはさまざまな前提条件を仮定すれば求めることが
でき、その手法は立体認識と呼ばれている。
【0008】立体認識は大きく2つの手法に分類でき
る。一つは異なる視点から見た複数の映像を用いる方法
で、もう一つは1枚の画像だけからその画像に含まれる2
次元座標以外の情報を利用し3次元構造を復元する方法
である。
【0009】複数の画像を用いる方法で代表的なのはス
テレオ画像による立体認識である。異なる場所に設置し
た2台以上のカメラによって同一物体を撮影し、それぞ
れのカメラの相対位置関係の情報と、画像上に写るある
点のそれぞれの画像上での2次元座標値からその3次元座
標値を求める。
【0010】1枚の画像による立体の認識方法には、
(1)3次元座標値が既知の点を参照する方法、(2)
画像に写る物体と、あらかじめ用意した基本形状のモデ
ルとの比較を行なう方法、(3)画像のテクスチャ情報
を用いる方法、などがある。
【0011】3次元座標値が既知の点が3点以上あればカ
メラ視点の3次元座標と視線の方向を求めることができ
る。この問題は一般に PnP (Perspective n-Point Prob
lem)問題と呼ばれている(出口光一郎:“画像と空
間”、昭晃堂、1991)。しかし、この方法はあくまでカ
メラのパータを求めるだけで、画像に含まれるその他の
点の3次元座標を求めることはできない。
【0012】画像に写る物体と、あらかじめ用意した基
本形状のモデルとの比較を行なう方法は、さまざまな基
本形状の3次元モデルを用意しておき、それを透視変換
で見た画像と、実際の画像との比較を行ない、3次元モ
デルを推定、近似する方法である。
【0013】本方法を3次元モデル作成に適用したシス
テムには、特開平4−289976号公報「三次元形状
モデル生成方法およびシステム」がある。これは、対象
となる三次元物体の二次元図形情報を入力し、その物体
と基本形状が近似する三次元基本形状モデルを入力し、
お互いの制御点の対応づけを行なうことで基本形状モデ
ルを変形して三次元モデルを作成する方法を提供してい
る。
【0014】画像のテクスチャ情報を用いる方法の代表
的なものとして Shape From Texure法がある。物体の表
面のテクスチャの密度の濃淡から、その平面の向きを算
出する。算出の精度が、物体の表面のテクスチャの種類
に依存するなどの短所がある。
【0015】
【発明が解決しようとする課題】実写画像に写る物体の
3次元モデルを作成するにあたり、実写画像を直接用い
ず3次元モデルを作成し、作成したモデルを確認するた
めに、作成したモデルと実写画像を重ねて表示する方法
では、実写画像に含まれる物体の形状情報をモデル作成
時に有効に活用していない。
【0016】このため、3次元モデル作成時に実写画像
の物体にあてはまるモデルを作成するためにモデリング
と確認を試行錯誤しながらくり返し行なう必要がある。
【0017】3次元基本形状モデルを入力し、2次元画像
上で実写画像の物体とそのモデルが一致するように変形
する方法では、その画像を写したカメラの位置、方向等
のパラメータが既知である必要があり、また基本形状モ
デルと実写画像上の物体との制御点の対応づけを行なう
必要がある。
【0018】複数の画像を用いる方法(ステレオスコー
プ)では、同じ物体を違う方向から写した画像を複数枚
用意する必要がある。
【0019】本発明の目的は、ある物体の3次元モデル
を作成する際に、その物体の実写画像を有効に利用し、
なるべく簡単な方法で作成する3次元モデル作成装置及
び方法を提供することにある。
【0020】本発明の他の目的は、実写画像から求まる
該実写画像を撮像したカメラパラメータを用いて該実写
画像の三次元モデルデータを求める3次元モデル作成装
置及び方法を提供することにある。
【0021】本発明の他の目的は、実写画像から求まる
該実写画像を撮像したカメラパラメータと該カメラパラ
メータを用いて実写画像をモデリングし、モデリングし
た実写画像のデータを用いて、実写画像に他のイメージ
を合成する3次元モデル合成装置及び方法を提供するこ
とにある。
【0022】
【課題を解決するための手段】上記課題を解決するた
め、本発明では、3次元物体の写る実写画像があったと
きに、その実写画像データから、ユーザが対話的に、特
徴点の画像上での位置などの実写画像に関する特徴情報
を入力する手段と、その特徴情報に関する知識情報を入
力する手段と、それらの情報から前記実写画像を写した
ときのカメラパラメータ算出手段と、前記実写画像か
ら、そこに写る3次元物体の特徴点位置等の特徴情報を
ユーザが対話的に入力する手段と、その特徴点に関する
3次元的な拘束条件等の知識情報を入力する手段と、入
力したそれらのデータと前記カメラパラメータから、そ
の点の3次元座標を算出し、最終的に前記3次元物体の
3次元モデルを作成する手段を備える。
【0023】
【発明の実施の形態】図1は、本発明に基づく実施の形
態の装置構成である。数値やコマンドを入力するキーボ
ード(110)、2次元座標値の入力やGUI(グラフィ
カルユーザインタフェース)を操作するためのマウス
(103)、実写画像や3次元モデル、GUIなどを表示
するディスプレイ(101)、実写画像データやモデル
データ、プログラムなどを保存するためのハードディス
ク等の補助記憶装置(102)、作業時に画像データや
モデルデータ、計算結果やプログラムなどを記憶する主
記憶(111)、プログラムに基づいた計算や制御を行
なう CPU(105) 、実写画像の表示や3次元モデル
の表示を制御するグラフィックボード(104)などを
主体として構成される。
【0024】主記憶には、本装置の動作を記述するプロ
グラム(106)、作成したモデルの3次元構造データ
や、実写画像のカメラパラメータデータを記録する3次
元データテーブル(107)、対象となる実写画像をデ
ィジタル化した画像データ(108)、操作時に計算結
果やパラメータ等を記録する計算データ(109)など
が記憶される。
【0025】グラフィックボードは3次元処理機能を持
つものとする。すなわち、表示するモデルの3次元構
造、ディスプレイに表示する際の投影条件(透視投影、
平行投影など)、カメラ位置、方向、焦点距離などのカ
メラパラメータなどを指定すれば、その条件で見えるモ
デルの形状を自動的に表示してくれる。本実施の形態で
は、この機能をグラフィックボードというハードウェア
が行なうとしたが、本機能をソフトウェアが行なう、あ
るいはソフトウェアとハードウェア両者が行なうといっ
た形態も考えられる。なお、この機能は3次元グラフィ
ックスに対応したコンピュータでは一般的なものであ
る。
【0026】本実施の形態による装置の利用目的は、実
写画像からそこに写る物体の3次元構造を求めること、
ならびにその画像を写したときのカメラパラメータを求
めることである。本実施の形態によって求められた3次
元構造を用いるアプリケーションとして、具体的には、
ある家の内部をカメラで撮影した実写画像があった場
合、この画像に、CG で作った架空のキャラクタが自由
に歩きまわれる、といったものがある。あるいは、その
画像の任意の位置に CG で作った仮想の机を置いて合成
表示する、といったアプリケーションを想定することも
できる。
【0027】このようなアプリケーションにおいて、実
写画像に3次元 CG モデルを違和感なく合成するために
は、(1)実写画像内の物体と CG モデルとの前後関
係、(2)お互いのパースの一致、(3)影の映りこみ
などの問題から、合成する実写画像(3次元CGモデル
の背景を成すもの)の3次元構造がわかっている必要が
ある。なお、以下の説明において、実写画像の3次元構
造とは、その実写を写したときのカメラ位置、方向など
のカメラパラメータ、およびその画像に写る物体の3次
元構造情報のことをあらわすものとする。
【0028】まず、実写画像内の物体とCGモデルとの前
後関係について、図2、図3、図4を用いて詳しく説明
する。
【0029】図2は合成に用いた場合に背景となる実写
画像(201)である。実写画像には3次元物体A(2
02)3次元物体B(203)が映っている。
【0030】図3は合成する CG モデル(301)であ
る。 CG モデルは3次元的に作成されている。すなわ
ち、平面画像ではなく、立体モデルとして作成されてい
るものとする。
【0031】図4は合成した画像(201)である。図
に示した位置に CG モデル(301)がくるように合成
すると、図のように CG モデルの一部が実写画像の物体
(203)に隠れていなければ不自然である。このよう
な効果を出すには、1例として次のような処理が必要で
ある。
【0032】(1)合成する実写画像に写る物体(20
2)(203)の3次元モデルを作成し、そのモデルと
前述の CG モデルを3次元的に合成した画像を作成す
る。ここで3次元的に合成するとは、ある方向から見た
ときに前の物体によって、後ろの物体が隠れる陰面処理
を行なうということである。この処理は3次元グラフィ
ックボードが自動的に行なってくれるのが一般的であ
る。
【0033】(2)次にこの実写画像に写る物体の3次
元モデルを画像上から消去する。
【0034】(3)その画像を実写画像に重ねて表示す
る。
【0035】以上の手順により、図に示すような実写の
物体に部分的に隠れた CG モデルを合成することができ
る。
【0036】次にパースの一致について、投影条件とし
て透視投影を仮定し説明する。透視投影では手前のもの
は大きく、遠くのものは小さく映り、また平行線は無限
遠上で一点に交わる。
【0037】ある実写画像に、手前にある物体(50
3)と、遠くにある物体(504)が映っているとする
(図5)。この実写画像に CG モデル(501)を合成
しようとすると、合成する3次元的な位置に応じて、CG
モデルの大きさを変化させなければならない(50
1)(502)。カメラ位置からの距離と、どれだけ小
さくなるかの関係を、実写画像と合成する CG モデルと
の間で一致させないと、例えばモデルが遠くに移動した
とき極端に小さくなったり、モデルが地に足をついてい
るように見えなくなってしまう。こういった不自然な合
成にしないためには、実写画像と、合成するCG画像それ
ぞれのカメラ位置、視線方向、焦点距離などを一致させ
る必要がある。このため、実写画像のカメラパラメータ
は必要不可欠な情報となる。
【0038】次に図6を用いて、影の映りこみについて
説明する。リアルな合成画像を作成するには合成するモ
デル(601)の影(603)を、もう一方の合成する
実写画像(602)に描画しなければならない。影が地
面に写るだけなら複雑にはならないが、実写画像の物体
に映りこむことも考えられる。その場合は、写る先の物
体(602)の3次元形状がわからないと、その影の形
(603)を求めることができない。
【0039】以上述べてきたように多くの理由から、実
写画像とCGモデルとのリアルな合成画像の作成のために
は実写画像の3次元構造は必要不可欠である。
【0040】以下、本実施の形態におけるディスプレイ
に表示される画面の例、プログラムの流れ等について説
明する。
【0041】図7は本実施の形態で用いる実写画像(7
01)の例である。画像にはある物体(702)が映っ
ている。本実施の形態では、カメラあるいはビデオなど
で撮影した画像を、スキャナあるいはAD変換器などを
用いてディジタル化したデータを用いる。画像データの
解像度は、誤差の問題等からなるべく高解像度のものが
望ましい。本データは本実施の形態の構成における補助
記憶装置に記録されているものとする。
【0042】以下、図43のフローに従い、カメラパラ
メータの求め方を具体的な例に従って説明する。
【0043】図8は本装置のディスプレイ上に表示され
る初期画面の1例である。画面(801)には画像の表
示やコマンドの入力を行うウインド(802)が表示さ
れている。ユーザは“ファイルを開く”コマンド(80
3)を選択し、画像データのファイル名を指定する。装
置のプログラムはこの操作が行われると、補助記憶装置
から該データを読みだし、主記憶に記憶させるとともに
(4302)、画面上に表示する(4303)。主記憶
上には、この画像データのための3次元データテーブル
格納領域が確保される。
【0044】まずユーザは、この実写画像のカメラパラ
メータ(視点パラメータ)を求める操作を行なう。本実
施の形態では、カメラパラメータを求める方法として、
画像上の消失点とその直交方向を用いる方法を1例とし
てとりあげる。消失点とは、3次元空間上で平行な線が
無限遠において、投影面上で1点に収束する点である。
【0045】図9は、図8でとりあげた物体(901)
の、ある方向(903)の消失点(902)を示したも
のである。この方法を用いるためには、画像に消失点と
その直交方向が映っていなければならないという条件が
必要となるが、建物や直線の道路などが映っている風景
画像はほとんどの場合この条件を満たすし、部屋の内部
の画像も、机等の家具は直方体に近いものが多いなど、
一般にこの条件を満たしている画像は少なくない。ユー
ザは画像からある消失点を選ぶ。このときの条件は、そ
の消失点に収束する線分と、それに直交しかつ、お互い
に直交する2方向が画像上から読み取れることである。
図10に示すように、例えば直方体(1001)が1つ
映っていれば、候補となるのは次の組み合わせである。
【0046】 (1) 消失点v0 直交方向 n7 n3 (2) v0 n7 n4 (3) v0 n8 n5 (4) v0 n6 n4 (5) v0 n6 n3 (6) v1 n7 n1 (7) v1 n7 n0 (8) v1 n8 n1 (9) v1 n8 n0 (10) v1 n6 n2 (11) v2 n1 n4 (12) v2 n1 n5 (13) v2 n2 n4 (14) v2 n2 n5 (15) v2 n0 n3 ユーザはこのなかから1つの組み合わせを選び、まずそ
の消失点を指定する。指定の方法は、本実施の形態では
空間上の複数の平行線の交点として指定する方法を用い
る。
【0047】直線の指定の方法は、マウスによって、画
像上の線分の両端の位置を指定するなどの方法が考えら
れるが、1度の操作で正確に指定することは難しい。そ
こで本例では、とりあえず直線の両端を指定しその直線
を補助線として画面上に重ねて表示させた後、両端など
の制御点をマウスでドラッギングすることで移動修正で
きるようなユーザインタフェースを用いる。ユーザはコ
マンドを選べば、1方の端点は固定のままもう1方の端
点を移動する、両者を同じ方向に移動させ、結果として
線分を平行移動する、などの操作を行なうことができ
る。またマウスだけでなく、キーボード等を用いて線分
や制御点をキーボードを押した距離だけ移動させること
もできる。さらに、移動の単位はサブピクセル単位の移
動も可能とし、アンチエイリアスの技術を用いて、直線
のサブピクセル単位の位置の表示を行なう。
【0048】図11はこの操作を示した例である。ユー
ザはまず、線分(1104)を画面上で描く。線分の両
はじには、制御点(1106)(1101)が表示され
ている。この制御点(1106)をマウスポインタ(1
108)によってドラッギングすると、新たな位置(1
107)に移動する。移動を終了するとその制御点が端
の点になるような線分(1105)に修正される(43
04)。以上のようにして、複数の直線(1105)
(1102)(1103)を指定した後、適当なコマン
ド例えば“消失点算出”などのコマンドを入力すると、
プログラムは複数の線分の交点としてその点の画像上の
2次元位置を算出する。この場合、本来、それら複数の
線分はある1点で交わらなければならないが、実際は誤
差などの影響で必ずしも1点で交わらないことがある。
図において点線円で囲った部分(1110)を拡大した
ものが図12である。このように複数の直線が1点で交
わらないときには、それぞれの線分からの距離の自乗和
が最少となるなど何らかの条件のもと、近似的に交点
(1120)を求める(4305)。具体的な算出方法
は、「金谷、画像理解、森北出版、1990、p15」などに
詳しい。画面上では、求められた消失点位置に、確認の
ための点が表示される。
【0049】次にユーザは、この消失点に向かう方向と
直交する二つの方向を指定する。
【0050】指定方法は本例でこれまで述べてきたよう
な直線の指定方法を用いる。この2つの線の交点が、3
次元を算出するときの原点になる。またこの2線の方向
が X軸方向、Y 軸方向、またこの交点と前述の消失点と
を結ぶ方向が Z 方向となる。画面上では、2直線が指
定された時点で、わかりやすいように Z 方向が線分と
して表示される。図13はその画面の例である。消失点
としてドット(1208)が表示され、X方向として、
線分(1202)、Y方向として、線分(1201)、Z
方向として、線分(1203)が表示される。原点は
(1220)の位置になる。
【0051】図14に、座標系の関係を示す。図におい
て、補助線(1301)は視線方向を、(1302)は
投影面をそれぞれ示している。本装置の画面上で、実写
画像を用い平面的に座標を指定する場合に用いる座標系
は、この投影面の中心を原点(1304)にした2次元
の座標系である投影座標系(1303)(1305)で
ある。これに対し、この座標系とは全く無関係に、定義
される3次元座標系(1306)(1308)(130
9)がある。この座標系をワールド座標系とする。実写
画像(投影画像)上での線分(図13)(1202)
が、3次元空間(ワールド座標系)上での線分(130
6)を、線分(1201)が線分(1309)を、線分
(1203)が線分(1308)を、また実写画像上で
の点(1220)が3次元空間上での点(1310)を
それぞれあらわすことになる。今後、画像上で2次元的
に座標を指定するときは投影座標系、3次元モデルの形
状やカメラパラメータなどを記述するときはワールド座
標系を用いる。投影座標系とワールド座標系の関係は、
その投影画像を撮影したときのカメラパラメータすなわ
ち、ワールド座標系におけるカメラ位置、カメラ方向、
焦点距離が決定されれば、後述のように記述される。
【0052】いま、画像平面上の消失点位置 Pv (xv,
yv) 、その直交方向 vx , vy が入力されると、プログ
ラムは、この値を用いて、この画像のカメラ位置 (a,
b, c)、方向 R、焦点距離 f を求める(4306)。な
お、このときの座標系は、前述の X 軸、Y 軸、Z 軸を
用いたワールド座標系である。方向 R は、3 × 3 の単
位直交行列である。以下、算出方法を簡単に説明する。
【0053】一般に、画像面に投影されるある点の投影
面座標での位置
【0054】
【数1】
【0055】と実際のその点のワールド座標系での3次
元位置
【0056】
【数2】
【0057】との関係は、
【0058】
【数3】
【0059】であらわされる。なお、
【0060】
【数4】
【0061】である。
【0062】画像面に投影される Z 方向の消失点位置
【0063】
【数5】
【0064】画像面の原点位置を
【0065】
【数6】
【0066】画像面のX軸方向、Y軸方向のある点をそれ
ぞれ
【0067】
【数7】
【0068】
【数8】
【0069】とおくと、行列Rの正規直交性の条件等を
用い、 A=(x0 - x1)(x0 - x2) + (y1 - y0)(y2 - y0) …(数9) B = -yv(x1y0 - x0y1)(x0 - x2) - yv(x0 - x1)(x2y0 - x0y2) -xv(x1y0 - x0y1)(x2 - y0) - xv(y1 - y0)(x2y0 - x0y2) +(y1 - y0) yv2(y2 - y0) + (x0 - x1)xv2(x0 - x2) -(y1 - y0)xvyv(x0 - x2) - (x0 - x1)xvyv(y2 - y0) …(数10) C = (x1y0 - x0y1)yv2(x2y0 - x0y2) + (x1y0 - x0y1)xv2(x2y0 - x0y2) …(数11) とおいたとき、
【0070】
【数12】
【0071】のfについての4次方程式が成り立ち、こ
れによりfが求まる。さらに、
【0072】
【数13】
【0073】
【数14】
【0074】
【数15】
【0075】ここで k, l, m は未知定数から、そ
れぞれが単位直交系をなすように未知定数を求めること
で、回転行列Rが算出される。
【0076】さらに、カメラパラメータの中のカメラ位
置(視点位置)については、
【0077】
【数16】
【0078】より、スケールファクタz0が残る形で求ま
る。
【0079】以上述べた計算をプログラムは行ない、こ
れにより画像のカメラパラメータが求まる。以上の結果
は、主記憶にある前述の画像3次元データテーブルに記
録される。またこれ以降、プログラムは、3次元モデル
をこの画面上に表示する際には、このカメラパラメータ
をモデルの3次元座標値とともに前述のグラフィックボ
ードに渡し、常に表示する3次元モデルがそのカメラパ
ラメータで見た映像として表示されるようにする。
【0080】画像の3次元カメラパラメータが求まる
と、プログラムは、前述の作業で表示していた、画像上
の線分、すなわち2次元的に指定した原点と消失点を結
ぶ線分(1203)およびユーザが入力した2つの直交
方向を示す線分(1201)(1202)を消去し、新
たに、3次元座標で (-∞, 0, 0) と (∞, 0, 0) を結
ぶ直線(図14、1410)、(0, -∞, 0) と (0, ∞,
0) を結ぶ直線(1411)、(0, 0,- ∞) と (0, 0,
∞)を結ぶ直線(1414)を補助線として表示する
(4307)。これらの直線は、前者の3つの線分と画
像平面上で全く一致する。
【0081】これらの3本の補助線の他にユーザがわか
りやすいように、それが X, Y, Z軸を示しその交点が原
点をあらわすこと示すx, y, z ,O の文字を表示する
(図15)(1415)(1416)(1417)(1
412)。尚、ワールド座標系での座標軸を前記実写画
像に重ねて表示し、これらの直線がユーザの選択した2
直線及び原点と消失点を結んだ直線に一致するか否かを
ユーザは容易に確認できる(4308)。
【0082】一致しない場合は、ユーザの選択した実写
画像における線分が不適であるかあるいは線分の指定に
誤差が含まれているため不適であるかであるため、ステ
ップ4304に戻って処理をやり直す。次に一致した場
合は、先に主記憶に記憶した画像3次元データテーブル
に格納したデータをカメラパラメータとして格納する
(4309)。
【0083】以上で、本実施の形態の装置における画像
のカメラパラメータ算出の一連の作業、動作は完了す
る。
【0084】次に、実写画像の中に存在する物体の3次
元構造を求める作業および動作について説明する。
【0085】3次元構造を求める際には、後述する拘束
条件を設定するモード、および設定しないモードを設け
る。
【0086】まず、3次元空間上の点の位置を求める方
法について述べる。
【0087】図16に示すように、画面には3次元座標
値を表示するためのテキストエリア(1421)(14
22)(1423)が表示される。このエリアを仮に3
次元座標表示ボックス(1420)と呼ぶことにする。
ここには、現在対象となる点(線)の3次元座標値がリ
アルタイムに表示される。
【0088】本実施の形態で仮定している投影方法であ
る透視投影は、図17のような原理に基づいている。す
なわち、カメラ位置(1710)から物体(1712)
を見た映像は、両者を結ぶ直線(1714)が、投影面
(1711)に交わる点の像(1713)となる。この
ため、投影画面上の一点を指定すると、それは3次元空
間上では、ある線上の任意の点あるいはその線そのもの
をあらわすことになる。
【0089】図18はこのことを示す1例である。視点
(1710)から空間上の線分(1811)を見たと
き、ちょうどそれが視線上(1813)にあると、投影
画像(1711)には点(1810)として写る。逆に
言うと、投影画像上で点(1810)として写る3次元
上の物体(点または線分)は、直線(1811)上のど
こにあるかはわからない。投影画像上の点は、3次元空
間上の直線に相当する。
【0090】カメラ位置、方向、ならびに焦点距離がわ
かればこの線は投影平面上の一点に対して一意に求めら
れる。第1のモード(後述する拘束条件の全くないモー
ド)において、ユーザが表示されている実写画像上の任
意の点をマウスによって指定すると、前述の3次元座表
表示ボックスには、その点に投影される直線の3次元式
が表示される。直線をあらわす方法は各種考えられる
が、本例では、その直線がカメラ位置を通る直線である
ことから、カメラ位置と方向ベクトルの和、という形式
で表示することにする。すなわち、投影座標系での、画
像上のある点を
【0091】
【数17】
【0092】カメラ位置を
【0093】
【数18】
【0094】視点方向を3×3の直交ベクトル表示して
Rとおき焦点距離をfとおくと、その直線上の点は
【0095】
【数19】
【0096】で求められる。よって、3次元座標表示ボ
ックスには、例えばカメラ位置が (8.24, 9.99, 63.12)
だとすると、 X = [ 8.24 + k(0.26) ] Y = [ 9.99 + k(-0.08)] Z = [ 63.12 + k(0.96)] のように表示される。なお、k は任意のパラメータであ
ることを示しており、 (0.26, -0.08, 0.96) はカメラ
位置からの方向を示す単位ベクトルを示している。マウ
スを移動すれば当然この方向ベクトルの値は変化する。
ユーザはこの値を見て、数値的に画像上の物体の位置を
確認することができる。
【0097】次に拘束条件を設定するモードについて説
明する。
【0098】図19において、図示している点(191
0)の3次元位置を求めることを考える。本来この点
は、前述したようにある直線上の任意の点となり、一意
に決めることができないが、この場合この点はY軸上の
点であることが、画像の特徴から知識として仮定するこ
とができる。実際の画像においては、物体の垂直方向の
各辺は、地面に対して垂直である、などという知識が、
この仮定の根拠となる。ユーザは、これから入力する点
がある線上に存在している、という拘束条件を与えて指
示するモードを選択する。このモードを、線拘束入力モ
ードと呼ぶことにする。具体的には、この例の場合 m
をパラメータとおいたとき
【0099】
【数20】
【0100】と拘束線を表現することができる。前述の
ように画像平面上のある点
【0101】
【数21】
【0102】の位置に写る3次元空間上の点は式(19)
のようにあらわす直線上にあるので、この線と拘束線と
の交点を求めるために両者から
【0103】
【数22】
【0104】の等式を立て、未知数 m, k を求めれば対
象となる点の3次元位置を求めることができる。なお、
空間上の直線と直線は必ずしも交点を持つとは限らない
が、この場合は両者とも投影平面上で同一の直線上にあ
るため、必ず交点が存在する。
【0105】以上の操作を一般的に述べる。
【0106】まず、処理をスタートする(4401)。
次に、実写画像のディジタルデータをメインメモリに読
み込むと同時に、前述した方法に従い算出した実写画像
を撮影した時のカメラパラメータを読み込む(440
2)。
【0107】次に、読み込んだカメラパラメータを用い
てワールド座標系を求め、ワールド座標系における座標
軸を前記実写画像に重ねて表示する(4403)。
【0108】ユーザはまず、3次元位置を求めるべき点
を、実写画像上から選ぶ(4404)。同時にその点を
求める際に有効な拘束線を選ぶ(4405)。拘束線の
指定の仕方は例えば次のような方法がある。
【0109】一つはすでに3次元のおきている(求まっ
ている)直線を指定する方法である。後に述べるよう
に、本装置では、すでに3次元形状の求まっている点や
線、あるいは面などを画面上に表示することができる。
ユーザはこれらを表示させ、その中から拘束線となる線
分を選択する。選択の方法はマウスによる線分のクリッ
クなどが考えられる。この線分が拘束線となる。図19
の例では、 (0, -∞, 0)と (0, ∞, 0) を結ぶ直線であ
る。
【0110】もう一つは、すでに3次元のおきている点
を指定し、その点からある方向を指定する方法である。
まず、ユーザは前述の直線の指定のときと同じ様に、す
でに3次元形状の求まっている点をすべて表示させ、そ
の中から適当な点をクリックする。この点がカレントの
点(カレントポイント)となる。ユーザはこのカレント
ポイントから方向を指定する。方向の指定の方法は、方
向をベクトルとして直接数値で入力させることもできる
が、X軸、Y軸、Z軸方向に拘束条件を設ける方法もでき
る。直接数値で入力させる方法では、ユーザは数値入力
エリアに3次元座標値を入力する。数値入力エリアは、
例えば3次元座標表示ボックス(図16(1420))
が兼ねる。この点と、前述のカレントポイントを結ぶ直
線が、拘束線となる。軸方向に拘束条件を設ける方法
は、次のような原理に基づく。X,Y,Zの3つの成分のう
ち2つの成分を固定させ残りの1つの成分を自由にする
と、これは自由な成分の方向に平行な直線を示すことに
なる。例えば、ある点の座標を
【0111】
【数23】
【0112】とし、 X = 50.2 Z = 33.4 に固定し、Y 成分を自由な値とするとこれは
【0113】
【数24】
【0114】とパラメータ表現される。すなわち、
【0115】
【数25】
【0116】の点をとおりY軸方向に平行な直線を示す
ことになる。
【0117】ユーザが、カレントポイントを指定すると
3次元座標表示ボックスにはそのカレントポイントの座
標が表示される。X軸、Y軸、Z軸の3つのなかで、拘束
する成分2つをボタンで選ぶ。たとえば、X軸方向、Z軸
方向の拘束ボタンを選ぶと、カレントポイントの座標値
が表示されている3次元座標表示ボックスのXの欄とZの
欄に網がかかる。これは、座標をあらわすX, Y, Z の3
つの成分のうち、X, Zの値はこの値に固定されることを
示している。図20は、このときの実際の画面を示して
いる。すでに3次元上の座標の求まっている、実写画像
上のある点(2020)があるとする。ユーザはこの点
を指定し、カレントポイントとすると、まず3次元座標
表示ボックスの各エリア(2025)(2026)(2
027)にはこの点の3次元座標値が表示される(44
04)。次に拘束条件を入力する(4405)。例えば
XZ軸成分拘束、Y軸成分自由の線分を指定したいとする
と、ユーザはボックス内のボタン(2023)と(20
24)をクリックし、そのボタンを選択状態にする。エ
リア(2025)(2027)にはカレント点の座標値
がそのまま表示される。またエリア(2026)には、
値が任意のために何も表示されない。すなわちこれは、
式(24)
【0118】
【数24】
【0119】で示される直線を意味している。プログラ
ムは、実写画像上(1413)にこの直線を表示する。
以上が実際に拘束線を定義する操作の例である。
【0120】以上のような操作のいづれかによって、拘
束線が決められると、プログラムはこの線分をわかりや
すいように独自の色で表示する。
【0121】次に、ユーザはこの拘束線上にある、目的
の点を指定する(4406)。このとき、ユーザがマウ
スでポイントできる点はこの線上だけに限られる。例え
ば、図21においてユーザが図の点(2120)をクリ
ックしたときに、プログラムはこの点に最も近い拘束線
上(2028)の点(2110)を指定点として認識す
る。プログラムは、指定点にその点が指定されたことを
示す制御点(ドット)(2110)を表示する。一度の
操作で目的の点が指定できるとは限らないので、一度あ
る点を指定して制御点を表示させた後、その制御点をマ
ウスのドラッグによって移動させることもできる。なお
このとき移動させる位置も拘束線上にあるべきなので、
マウスの位置に最も近い拘束線上の点に移動していくよ
うにする。
【0122】点として指定する本方法の他に、ユーザは
ある別の線と、拘束線との交点として、目的の点を指定
することもできる。この方法を選べば、画面には図22
のようにもう1つの線(2220)が表示される。ユー
ザはこの線を、前述の消失点の指定のしかたの項で述べ
たように、両端の制御点(2021)のドラッギングな
どの操作により移動させ、目的とする点(2230)
が、この線と拘束線(2028)の交点の位置にくるよ
うにする。この状態で、確定を指示するコマンドを入力
すると、この点が指定点としてプログラムに認識され
る。
【0123】この図の例に示した直方体の頂点などは、
点として指定するより、辺と辺との交点として指定した
方が、操作し易く正確に入力することができることが多
い。なお、線の交点として指定点を入力する方法と、点
として入力する方法は、ユーザの操作により自由に切り
変えることができる。
【0124】以上のようにして、拘束線の上の目的の点
が、ユーザによって指定され、確定を指示するコマンド
が入力されると(4407)、プログラムはこの点の画
面上での2次元位置と、拘束線の式から式(22)によ
り、その3次元位置を求める(4408)。以上の処理
により算出した3次元座標により3次元形状作成に必要
な座標が揃ったか否か判断し(4409)し、揃ってい
ない場合はステップ(4405)に戻って処理をやり直
す。揃った場合は求めた結果は点を識別する ID番号、
その点の画像上での2次元位置とともに3次元データテ
ーブルに記録される(4410)。3次元上の点の位置を
指定、算出する方法は以上の通りである。
【0125】ここで、3次元データテーブルについて説
明する。図23に示すように、このテーブルは大きく分
けて、カメラパラメータに関するデータと、3次元モデ
ルに関するデータが記録される。
【0126】カメラパラメータは、前述のように、カメ
ラ位置(2329)、視線方向(2330)、焦点距離
(2334)があるが、本テーブルにはこのデータのほ
かに、この値を求めるために用いた情報も記録してお
く。この情報を記録しておくことにより、後の修正処理
などを行うことが可能になる。また、この情報は、実写
画像上で指定した投影座標系でのデータとなるので、2
次元データとなる。本実施の形態では、消失点とその直
交方向を用いてカメラパラメータを求める方法を取り入
れたので、このデータは、消失点位置(2301)と直
交方向(2324)となる。消失点位置は、複数の直線
の交点として指定したので、その直線(2321)(2
322)(2323)を記録する。2つの直交方向は、
その直線の両端の座標を結ぶ形で表現される(232
6)(2327)。
【0127】3次元モデルデータとは、後述する3CG
モデルを合成する場合に背景となるデータであって、実
写画像上に写る物体をモデル化したときのデータであ
る。モデルは点や線、面や立体などの集合として表現さ
れるため、これらの種別を示すデータと、それぞれの形
状や位置を特定するための座標値等のデータとその集合
として記録される。例えば点であれば、その3次元座標
値、線分であれば、両端の3次元座標値や、すでにこの
テーブルに記述されている点のID番号などがこのデータ
になる。
【0128】3次元データテーブルについての説明は以
上である。
【0129】次に、本実施の形態における、3次元上の
直線の算出の手順、方法について述べる。
【0130】第1の、直線の作成方法は、すでに作成さ
れた3次元上の点2つの結合として求める方法である。
ユーザは、コマンドの操作により、すでに3次元座標の
求められている点を実写画像上に重ねて表示する命令を
発行する。プログラムはこの命令を受けると、3次元デ
ータテーブルを参照し、記録されている3次元点のデー
タとカメラパラメータデータを、グラフィックボードに
渡す。グラフィックボードはこの点を、実写画像に重ね
て表示する。
【0131】ユーザは表示されている前述の点群のなか
から適当な2つの点を選び、線作成のコマンドを発行す
る。プログラムはこの2つの点を結び、作成する直線と
する。
【0132】第2の、直線の作成方法は、すでに作成さ
れた3次元上の点を基準点として、その点から拘束条件
を与えて、ある方向に伸ばしていく方法である。ユーザ
は、コマンドの操作により、すでに3次元座標の求めら
れているすべての点を実写画像に重ねて表示する命令を
発行する。プログラムがその点を表示すると、ユーザは
適当な1つの点を基準点として選ぶ。そして、どの成分
を拘束し、どの成分に自由度をもたせるのかを、画面上
のボタンの入力等により指示する。例えば、基準点とし
て (50.0, 60.0, 30.0) を選び、拘束条件として、X軸方向拘束、Y軸方向自由、
Z軸方向拘束、を選ぶと、候補となる線として、 (50.0, k, 30.0) とパラメータ表現される直線が表示される。ユーザはこ
の線を適当な始点、終点で切りとり、線分(直線)が完
成する。このときの操作は、前述の点の指定のときの拘
束線の指定の方法と同様である。
【0133】第3の直線の作成方法は、実写画像上での
マウス操作により作成する方法である。ユーザは、画面
上のボタン操作などにより、拘束条件を指定する。拘束
条件の指定としては、例えば、作成する直線がある平面
上にある、という指定がある。建物の写る実写画像を考
える。建物の地面に接する辺(壁と地面の境界)は地面
上(垂直方向を Y 軸とおいたとき、Y = 0)に存在す
る。そこでユーザは Y = 0 を拘束条件として指定する。その後、ユーザは実写画像
上(投影平面上)で、求める直線の2次元座標位置を指
定する。指定の方法は、前に述べた消失点やその直交方
向の直線を指定するときの方法と同様である。投影平面
上の直線が決められ、それが存在する平面が決められる
と、3次元空間上の直線は一意に求まる。これについて
具体的に説明する。図24に示すとおり、カメラ位置
(2410)を原点にとり、視点から投影面(241
1)の法線方向に向かう方向(2412)を Z 方向、
投影画像上の x 方向(2413)、y 方向(241
4)をそれぞれ、X 方向、Y 方向とする座標系を、視点
座標系とおく。なお、視点と投影面までの距離は焦点距
離(2415)fである。ワールド座標系と視点座標系
は、平行移動と回転移動によって簡単に変換することが
できる。
【0134】いま、図25に示すとおり、投影画像上
(2411)の直線を ab(2515) とし、カメラ位
置を O (2410)とおく。投影画像上の a b の座標
をそれぞれ、
【0135】
【数26】
【0136】とする。視点座標系で3次元表現すると、
焦点距離を f とおいて、
【0137】
【数27】
【0138】となる。投影画像上で、直線 ab に投影さ
れるということは、この線(面)は、3次元空間上で
a, b, O の3点を結ぶ平面上(2511)にある。よっ
て、求める直線はこの平面と、ワールド座標系における
平面(2510)とが交わる部分(2516)になる。
3次元空間上で平面と平面とが交わる部分は直線となる
ので、その交線が求める直線となる。
【0139】第4の、直線の作成方法は、すでに作成さ
れた直線の平行移動として作成する方法である。ユーザ
は、すでに3次元形状の求められているすべての直線を
表示するコマンドを発行し、実写画像上にその直線群を
表示させる。適当な直線をマウス等の操作により選択
し、メニューボタン等より、コピーコマンドを発行す
る。適当な位置を指定し、ペーストコマンドを発行する
とその位置に新たな直線が生成される。位置の指定方法
は、例えば、すでに3次元位置の求まっている点のなか
から1つを選び、直線の始点とする方法、ユーザがマウ
スで指定した位置を直線の始点とする方法、などが考え
られる。
【0140】以上が直線の作成方法である。直線が作成
されるとプログラムは、3次元データテーブルに記録す
るとともに、作成した直線を画像上に表示する。直線の
両端は、制御点として、その点のドラッギングにより、
長さ等の修正が行なえるようにする。
【0141】次に、面の作成方法について説明する。
【0142】第1の、面の作成方法は、すでに作成され
た3次元上の点や線の集合として作成する方法である。
ユーザは、すでに作成された点や線を実写画像上に重ね
て表示させるコマンドを発行する。そして、この中から
3つ以上の点あるいは線と点の組み合わせを選択する。
3次元空間上の3点が指定されれば、その3点をとおる
平面は一意に決定されるので、それが作成する平面とな
る。あるいは1点と1直線が指定されれば、この点と線
をとおる平面は一意に決定される。しかし、それ以上の
条件が指定された場合は、それぞれが同一の平面に存在
しない場合がありうる。本実施の形態では、作成する面
として平面を考えているので、プログラムがこのことを
計算により検知した場合は、同一平面に存在しないこと
を示すエラー表示を行なう。ユーザは対象点や線のなか
で、必要ないものを選択からはずし、再び作成のコマン
ドを発行する。なお、平面のほかに曲面をサポートする
装置の場合は、適当な曲面モデルが、選択した対象点群
をとおるように変形する方法が考えられる。
【0143】以上によって平面が作成されるが、その形
状定義については後に述べる。
【0144】第2の、面の作成方法は、すでに作成され
た3次元上の点や線を基準点基準線としてそこからある
拘束条件を与えて作成する方法である。マウス等の操作
により、基準点、基準線を選択する。ユーザはある拘束
条件を与え、この条件のもと選択した基準点、基準線を
とおる平面を作成する。例えば基準点が
【0145】
【数28】
【0146】のとき、 X 成分自由、Y成分自由、Z 成分
固定の拘束条件を定義したとき
【0147】
【数29】
【0148】とパラメータ表現される平面が、作成する
平面となる。拘束条件の指定の方法としてはほかに、法
線ベクトルの指定などが考えられる。
【0149】第3の、面の作成方法は、直接平面を数値
により指定する方法である。例えば平面の式を
【0150】
【数30】
【0151】で表現するとき、(a, b, c, d) の値をキ
ーボードなどで入力する。
【0152】第4の、面の生成方法は、すでに作成され
ている平面を、平行移動等により移動させる方法であ
る。ユーザはすでに作成されている平面群を、コマンド
の操作によって表示させる。マウス等の操作により、適
当な平面を選択し、コピーのコマンドを入力する。次
に、適当な3次元位置を、キーボードによる数値入力、
すでに生成されている3次元の点の選択などによって基
準点として指定する。ペーストのコマンドを入力する
と、プログラムは、前の操作によって選択された平面
を、基準点をとおるように平行移動させた平面を、新た
な平面として作成する。具体的には、選択された平面の
法線ベクトルを求め、その法線ベクトルを持ち、基準位
置をとおる平面を作成する平面とする。例えば基準点位
置を
【0153】
【数31】
【0154】法線ベクトルを
【0155】
【数32】
【0156】とすると求める平面は、 1/nx ・(X - x1) + 1/ny ・(Y - y1) + 1/nz ・(Z - z1) = 0 (26) となる。
【0157】以上述べたように、面の生成方法にはいく
つかの方法が提供される。しかし今まで述べてきた方法
では、面が生成されてもその形状までは定義されず、そ
の平面は各方向に無限に広がる平面である。そこで、面
の生成後にその形状を定義するプロセスについて説明す
る。
【0158】前に述べたプロセスで、面が生成される
と、次にユーザは画面上の実写画像上で、その面の輪郭
となる線を指定する。例えばマウスの操作により、実写
画像上で求める輪郭上にある点を複数指定する。特定の
コマンドを入力すると、その点は直線あるいは適当な曲
線(例えばスプライン曲線など)によって結ばれ閉領域
が投影平面上で定義される。図26において、(261
3)が投影画像上(2411)のこの閉領域である。3
次元空間上でこの閉領域とカメラ位置(2410)によ
って囲まれる立体(2617)によって切り取られる前
述の平面(2610)が、最終的に作成する平面(26
15)になる。
【0159】この平面のデータ構造は各種考えられる
が、本実施の形態では、次の形式をもつものとする。
【0160】 すなわち、その平面がとおるある点の3次元座標、平面
の方向を示す法線ベクトル、平面を切り取る際に用いた
閉領域を示す制御点列、その制御点を結ぶ方法としての
補間方法の種別などである。
【0161】これらのデータが、3次元データテーブル
に面の識別IDとともに記録される。
【0162】なお、面が作成されそのデータが記録され
ると、ユーザからの要求によって、プログラムはこの面
をワイヤーフレームとして実写画像上に重ねて表示する
ことができる。面は、適当にメッシュ分割したワイヤー
の集合として3次元空間上に描画される。グラフィック
ボードはこのワイヤーフレームを、実写画像とおなじカ
メラパラメータで見える映像として、実写画像に重ねて
表示する。また、この平面の輪郭を指定するときに用い
た制御点もあわせて表示し、ユーザのマウスドラッギン
グなどの操作により、形状の修正が行なえるようにす
る。
【0163】以上が、面の生成方法である。
【0164】次に、立体の生成方法について説明する。
【0165】立体の生成方法は、次に述べる方法の他
に、基本形状(プリミティブ)のあてはめによる方法が
考えられるが、これについては後に説明する。また、立
体の生成については、本装置で詳細に作成するよりは、
本装置で作成した3次元上の点や線などを基本にして、
他の3次元モデリングのための専用 CAD プログラムを
用い作成する方が適当な場合が多いので、ここでは1例
を上げるにとどめる。
【0166】立体の生成方法の1つの例は、すでに3次
元の求まっている点、線、面等の組み合わせで生成する
方法である。ユーザはコマンドの入力により、すでに3
次元の求まっている点、線、面を画面上に表示させる。
ユーザは、マウスのクリックなどの操作により、このな
かから、適当なものを選択する。例えば、6面体を生成
するとき、それを構成する8つの頂点を指定する。ユー
ザが、8つの頂点からの6面体の生成というコマンドを
入力すると、プログラムはこの3次元上の8つの点から
6面体を生成する。別の例では、例えば円錘を生成する
とき、その底面となる円と、頂点となる3次元上の点を
選択する。底面と頂点からの錘体の生成というコマンド
を入力すると、プログラムはその円と頂点から円錐を生
成する。プログラムは、点や線、平面から各種の条件で
立体を生成する方法を用意する。
【0167】立体の生成方法の例は以上のとおりであ
る。
【0168】次に、基本形状(プリミティブ)を用い
た、3次元形状の作成方法について述べる。
【0169】図28に示すような物体(2801)のあ
る面(2802)の3次元構造を生成する場合を考え
る。図の物体がユーザの知識により立方体だとわかって
いるとすると、頂点すべて(2803)(2804)
(2805)(2806)の3次元座標を求めるより
も、次の方法で形状を生成した方が適当な場合が多い。
【0170】面(2802)の3次元形状を生成する。
先の条件から、面(2802)は直方体になる。よって
4つの頂点それぞれの位置を求めなくても、そのなかの
3つの位置(2803)(2804)(2805)が求
まれば、もう1つの点の位置(2806)は一意に決定
される。よって、ユーザは図27に示すような次の手順
で、この面を作成する。
【0171】まず、以前に述べた方法で3点の3次元位
置を求める(2701)。ユーザはこの3つの点を選択
し、長方形の基準形状選択のコマンドを発行する。プロ
グラムは3点の位置から、3次元空間で長方形を形成す
るように残りの1点を求める。そのためにまず、すでに
3次元座標の求まっている3点から、その3点の存在す
る平面を求める(2702)。次に、この平面上に存在
し、2点から長方形の長辺、短辺の距離にある点を求
め、これが4点めの3次元座標となる(2703)。こ
の4点を結ぶ図形が、求める長方形となる(270
4)。画面上の各頂点は制御点と表示し移動が可能の点
として明示する。ユーザはこの点を、マウスのドラッギ
ングなどの操作によって、移動することができる。
【0172】いま、現在一般に普及している2次元平面
上で図形を作成するドローイングプログラムを考える。
このプログラムでは、ユーザは基本形状を選んだ後、そ
の図形の制御点を移動することで、その基本形状の基本
的な性質を拘束条件として、大きさや形状を変えること
ができる。たとえば、基本形状として長方形を選んだ場
合、図29に示すように、その頂点を移動させると、長
方形の形状のまま大きさが変化する。長方形(290
2)の各頂点は制御点としてドット(2903)が表示
されている。ユーザはこの一つを選びマウスポインタ
(2901)でドラッギングするとこの長方形の大きさ
が図(2905)のように変化する。ドラッギングをや
めると、この図形が修正した長方形(2904)とな
る。
【0173】これが一般的なドローイングプログラムの
制御点移動による基本形状図形の変形方法であるが、本
装置では、この機能を3次元的に実現させる。図30
は、図28の図形の一部を部分的に示した図である。ユ
ーザが画像上に投影されている図形(3003)の制御
点(3002)を選択しドラッギングにより移動させる
(3001)と、2次元ドローイングプログラムのとき
と同様に、(1)選択した点と対角の位置にある頂点の
位置は動かさない、(2)長辺、短辺の方向は変化させ
ない、(3)長方形としての条件は維持させる、の条件
に、(4)長方形の存在する平面は変化させない、の条
件を加え、3次元空間上での長方形の大きさを変化させ
る。図に示すように、この平面上で長方形の形状が維持
されるように大きさを変化させる。画像上には、この長
方形が投影面に写る映像を表示する。このようにして、
ユーザは投影面に写る画像をみながら、長方形の大きさ
を変える(3004)ことができる。
【0174】以上、長方形を例にして、基本形状を用い
た3次元形状の作成方法およびその修正方法を説明し
た。基本形状としては、長方形の他に、楕円や多角形、
スプライン曲面など多くのものがある。また平面図形だ
けでなく、立体についても同様の図形を用意する。これ
らについても、長方形と同様に投影画像上での操作で、
大きさや形状を指定できるものとする。
【0175】このように基本形状を用いて、3次元形状
を作成する方法には、次のような長所がある。
【0176】まず第1に、ユーザが対話によって3次元
形状を求める数が少なくなることである。前の長方形の
例では、ユーザは本来4点の位置を指定して求めるべき
ところが、3点の位置だけを求めればよく、残りの1点
はプログラムが自動的に求めてくれる。よって、3次元
形状を作成する容易度が増す。
【0177】第2に、形状を矛盾なく、より正確に作成
できることが上げられる。例えば前の例のように3次元
空間上の長方形の作成を例に取った場合、4つのすべて
の頂点を個別に、前に述べた点の作成方法で求めると、
それが誤差の影響で、必ずしも同じ平面上にできるとは
限らなくなる。また、すべての角が直角になる保証はな
い。しかし、本方法によればこういった形状の基本的な
性質はいつでも満たされるため、正確な形状に近くな
る。
【0178】第3に、移動や修正が容易に行なえること
があげられる。修正については、前に述べたような方法
で、また移動については、その基本形状を生成する線や
面などの要素をグループとして扱うことができるので、
それぞれを個別に移動させるより容易に行なうことがで
きるメリットがある。
【0179】以上、基本形状を用いて3次元形状を生成
する方法およびその長所について述べた。なお、本方法
によって、形状がつくられた場合は、3次元データテー
ブルには、その形状を形作る座標値の他に、その形状を
作る際に用いた基本形状の種別も記録されるものとす
る。これは後に修正を行なうときなどに必要とされる。
【0180】次に、既存の3次元 CAD システムとの接
続について説明する。
【0181】本装置の目的の1つは、前に述べたように
実写画像からそこに写る物体の3次元モデルを作成する
ことであるが、作成するモデルの形状や性質によって
は、本装置で作ることが機能等の理由で必ずしも適当で
ないことがありうる。すなわち、形状の複雑な物体や、
曲面の集合であらわされる物体などは、本装置でモデル
を作成するより、すでに一般的に用いられている3次元
CAD装置(モデリングプログラム)を用いた方が、複雑
な図形を作成する機能が充実しているために、容易にか
つ正確にモデルを作成できると考えられる。よって、こ
のようなモデルを作成する場合は、本装置で作成するモ
デルの概略(基本的な寸法や位置など)を作成し、詳細
はその CAD装置で作成するように、両者を使い分けて一
つのモデルを作成していく、という利用形態が適当であ
る。
【0182】例をあげて説明する。
【0183】図33は、作成するモデルである。実写画
像にはこの実物の映像が映っているものとする。このモ
デルはかなり複雑な形状をしているため、これをすべて
本装置で作成することは、前述の理由で必ずしも適当で
ない。よって本装置ではまず、図32に示すように、こ
の物体の代表的な形状を作成する。代表的な形状とは、
図のように物体の最外郭の形状や、窓等の物体の部分を
構成する形状の特徴となる(位置や間隔などがわかる)
形状である。図の例では、物体(3202)の代表形状
を、線分(3202)(特徴線)や点(3203)(特
徴点)の集合として表現している。このほかに、面や立
体の集合とすることもできるが、なるべく簡単な要素で
構成させた方が、この後のCADでの操作や修正がしやす
い。このデータを既存のCAD装置(CADプログラム)に渡
す。CADプログラムでは、このデータをもとに、物体の
詳細なモデルを作成する。図33に示すように、前述の
線(3202)や点(3203)が対応する、物体の辺
や頂点にくるように詳細データを作成していく。物体の
代表形状は本発明による装置で実写画像を用いて作成し
てあるので、CADプログラムによって作成されるモデル
(3201)の3次元形状や3次元位置はほとんど正確
なものになる。作成した詳細な3次元モデルデータは再
び、本発明の装置に渡され、実写画像に重ねて表示す
る。これによりユーザは、正確に詳細モデルが作られた
かどうかを確認することができる。
【0184】図31に、本機能を実現するためのシステ
ム構成の1例を示す。本例では、前述の既存の3次元CA
D装置は、プログラムによって一般的なコンピュータ上
で動くものを想定する。よって、ハードウェア的には図
1で説明した本発明の装置の構成上で同時に動くことが
でき、主記憶(図1)(111)上にCADプログラムが
追加されるだけである。
【0185】ユーザは、実写画像データ(3110)か
ら、本発明の装置の3次元抽出プログラム(3101)
によって実写画像内のある物体の代表形状(特徴点、特
徴線)を作成する。代表形状のデータは、本装置のデー
タ構造で作成され(3102)主記憶上に出力される。
変換プログラム(3108)はこのデータ読み込みを、
CADプログラム用のデータ(3107)に変換し主記憶
上に出力する。なお、この変換プログラム(3108)
は本装置の主記憶上におく。ユーザは、主記憶上にある
CADプログラム(3106)を起動する。CADプログラム
はCADデータ(3107)を読み込む。ユーザはこのデ
ータと3次元抽出プログラムで表示している物体の実写
画像を参照して物体の3次元詳細モデルを作成する。CA
Dプログラムは作成された3次元詳細モデルデータを3
次元CADデータ(3109)として主記憶に出力する。
変換プログラム(3103)は、このデータを本装置の
データ形式に変換し、主記憶上に出力する(310
5)。3次元抽出プログラムはこのデータを読み込み、
実写画像に重ねて表示する。ユーザはこれを見て、作成
した物体のモデルが実写画像と比べて正確かどうかを確
認することができる。
【0186】以上のような構成により、本装置上に、3
次元抽出プログラムと、既存のCADプログラムを同時に
動かし連携させることで、ユーザは3次元モデルを容易
に、正確に作成することができる。
【0187】次に、いままで述べてきたような、実写画
像を用いた対話的な3次元形状の作成過程における補助
的な機能について説明する。
【0188】(1)補助線表示機能 本作成方法では、さまざまな拘束条件を与えて投影画像
から3次元位置を算出する。その条件に応じて補助線を
表示すると、ユーザにわかりやすい操作を提供すること
ができる。
【0189】例えば図34に示すような実写画像の3次
元モデルを作成することを考える。ここに表示されてい
る物体(1413)(建て物)のようなものの場合はそ
の性質上、直交に交わる形状が多い。このためある部分
で3次元空間上で直交する方向を決めれば、その他の部
分でもこの方向に辺や面が存在するところが多い。例え
ば図の(3410)の部分で物体の側面から直交成分を
生成すれば、それと3次元空間上で全く同じ方向に別の
部位(3404)(窓の部分)も位置する。よって、窓
の部位のモデルを作成するときに、この直交する成分
(3401)(3402)(3403)を補助線として
表示してやれば、形状の作成が容易である。図に示すよ
うに窓わくの方向は、補助線(3402)と(340
1)上にある。
【0190】図35には、同一の画面上に異なる直交成
分を持つ物体が存在している例を示す。例えば違う方向
を向いたビルが建っている画像などが考えられる。この
ような場合は、それぞれの物体を作成するときにそれぞ
れの直交成分で補助線を表示させてやる。すなわち物体
(3517)を作成するときには直交する3辺の形状を
作成した時点で、補助線(3513)(3510)(3
511)を表示させ、残りの辺を作成する。次に物体
(3518)を作成するときには直交する3辺の形状を
作成した時点で、補助線(3516)(3514)(3
515)を表示し、残りの辺を作成する。
【0191】(2)グリッド表示機能 実写画像にある規則に従った補助線(グリッド)を重ね
て表示する。例えば地面に接している物体の3次元形状
(位置)を作成するときには、 Y = 0 の平面上に、ある間隔毎にグリッドを表示させてやれば
(図36)(3610)、物体の位置関係の視覚的な確
認ができるため、作業が容易になる。このときは、カメ
ラパラメータと共に、次の直線を3次元グラフィックボ
ードに渡して描画させればよい。
【0192】( X, 0, ∞) - (X, 0, -∞) X = ・・・ -50, -40, -30, -20, -10, 0, 10, 20, 30,
40, 50, ・・・ (∞, 0, Z) - (-∞, 0, Z) Z = ・・・ -50, -40, -30, -20, -10, 0, 10, 20, 30,
40, 50, ・・・ (3)作成履歴記録手段 本装置では、ある点や線などを作成する際に、複数の作
成方法が提供されている。よってその選択によっては、
同じ点や線でも3次元データ的に微妙に異なる形状が作
成される可能性もある。そこで、図23で説明した3次
元データテーブルに、それぞれの3次元形状を作成した
ときに、どのような条件で、どのような基準点や補助線
を用いて作成したのか、などの補助的な情報も付加させ
る。これにより、後に作成データの修正や確認を行うと
きに、この情報を表示させることで、再び拘束条件を入
力させる必要が無い、修正すべきプロセスが見つけやす
い、などの理由からその作業が容易にかつ正確に行うこ
とができる。
【0193】また、この機能を付加することで、ある図
形の基準点、拘束条件にかかわる図形を修正したとき、
それに応じてそれを基準に作成した図形の形状を自動的
に変化させることができる。
【0194】(4)画像処理表示機能 実写画像をそのまま表示するより、なんらかの画像処理
を行ってその結果を表示させた方が、ユーザが作業をす
る上で解りやすい場合がある。例えば、画像の微分処理
を行えばエッジが強調されるので、実写画像に写る物体
の輪郭線などを抽出しやすくなる。ユーザの要求に応じ
て、このような画像を切り替えて表示する機能を設け
る。
【0195】(5)3次元モデル回転移動表示機能 作成した物体の3次元モデルは、実写画像に重ねて表示
されるため、投影画像上でのみかけの形状の確認はでき
るが、それが3次元的にどのように作られているか、の
確認はできない。そこで、ユーザの指示によって、作成
した3次元モデルを実写画像上で回転、移動表示し、3
次元的に確認する機能を設ける。
【0196】図38を用いて説明する。
【0197】画面には、実写画像の物体(3810)が
表示されている。ユーザはこの物体の3次元モデルを作
成したものとする。よって画面上には、このモデルが例
えばある色のワイヤーフレームとして物体(3810)
に重なって表示されている。ユーザは画面上のボタン操
作(スクロールバー操作)等によってこの3次元モデル
を画像上で回転、移動表示させる。この例ではスクロー
ルバー(3811)をスクロールさせると、画像上のモ
デルがX,Y,Z軸を中心に移動させた量だけの角度、回転
するものとする。図(3813)は、操作後の3次元モ
デルである。このように表示させることで、作成したモ
デルが3次元的にどのような奥行きを持っているのかを
画像上でリアルタイムに表示、確認することができる。
【0198】図37にそのときのプログラムの動作をフ
ローチャートで示す。
【0199】まず初期値として、回転行列 R に単位行
列、移動ベクトルrに0を設定する(3730)。ユーザ
によるスクロールバー等の操作のイベントを監視し(3
731)、イベントがあるとその値に従って、回転行列
Rと移動ベクトルrの値を更新する(3732)。回転行
列Rと移動ベクトルrの値にCGモデルの座標を変換し(3
733)、グラフィックスボードにカメラパラメータと
その値を渡し画面上にモデルを表示(3734)する。
以上の動作を繰り返すことで、ユーザの指示する回転、
移動後のモデルをリアルタイムに表示することができ
る。
【0200】(6)参照物体表示機能 本装置で求めたカメラパラメータで、あらかじめ作成し
てあるCGモデルを実写画像上に重ねて表示する機能を持
つ。図39に示すように、この機能を用いると、ユーザ
は画面に写る3次元空間上の任意の位置に、あらかじめ
作成してある参照物体(3911)モデルを表示するこ
とができる。ユーザは、マウス等の操作によりこの物体
を任意の位置に移動させることができる。この機能によ
り、ユーザは求めたカメラパラメータでその参照物体が
どう見えるかを確認することで、カメラパラメータの整
合性を視覚的にチェックすることができる。すなわち例
えばこの物体を3次元的に遠くに移動させたときに、画
像上で実写画像の遠くの位置にあるように見えるかどう
かの確認をかさすることができる。さらに、実写画像に
写る物体のモデルを作成したときには、前に述べたよう
にそのモデルによるマスク画像を作成することで、実写
内の物体に参照物体が隠れた映像や、実写内に参照物体
の影が写る映像などを作成することができる。図は、実
写内の物体(3910)に参照物体(3911)の一部
が隠れている例である。この機能を持たせることで、作
成した実写画像内の3次元物体が正確に作成されている
かどうか、前後関係は正確かどうかなどの確認を行うこ
とができる。
【0201】以上、本発明の実施の形態を、例を用いて
説明した。
【0202】本発明の全体の概略を図40を用いて説明
する。
【0203】本発明の目的は、カメラ(4030)等で
映写した実写画像(4031)から、ユーザによる対話
的な操作によって、その実写画像を写したときのカメラ
パラメータ(4034)と、その画像に含まれる物体の
3次元CGモデルデータ(4039)を算出、作成するも
のである。
【0204】まずユーザは実写画像データ(4031)
を用意する。プログラムは装置上の画面に表示する。
【0205】ユーザは対話処理によってこの画像からま
ず、その実写画像の、カメラパラメータを求めるために
必要な2次元座標値を入力する(4032)。上述の実
施の形態では、消失点と直交方向である。同時に、カメ
ラパラメータを求めるための条件(例では消失点と直交
方向からカメラパラメータを求めるということ)を知識
情報(4035)として指示する。
【0206】プログラムは、それらの情報から3次元抽
出アルゴリズム(4033)によって計算を行ない、カ
メラパラメータ(4034)を求める。
【0207】カメラパラメータが求まると、画像上に写
る物体の2次元座標値と、そのカメラパラメータと、画
像に写る物体の種種の知識情報(4037)(地面に対
して垂直である、直方体である等)と、作成する3次元
モデルを構成する基本図形の性質(点、線、面、立体の
種別と、直線、曲線の区別等、図形に関する情報)(4
038)から、プログラムは、3次元抽出アルゴリズム
(4036)によって3次元CGモデルデータ(403
9)を作成する。3次元CGモデルデータは本装置だけで
直接作成する他に、汎用のCAD装置などのCGモデル作成
ソフト(4040)を用いて詳細なモデルを作ることも
できる。
【0208】このようにして、実写画像から、そのカメ
ラパラメータと、そこに写る物体の3次元CGモデルデー
タを作成することができる。
【0209】次に本発明をアプリケーションの目的に合
わせた実施の形態を説明する。
【0210】アプリケーションの1つの実施の形態は、
ある実写画像に3次元CGモデルを合成して表示するも
のである。具体的にはある家の内部をうちした画像に、
CGで作成した家具を任意の位置に配置し表示するよう
なプレゼンテーションシステムである。家の内部の実写
画像に、CGによる家具を違和感無く合成するために
は、実写画像のカメラパラメータと、実写に写る物体の
3次元形状が分かる必要がある。カメラパラメータはC
Gの家具を遠い位置に配置したときに小さく表示される
と行ったパースを合わせるために必要であり、また実写
内の物体の3次元形状はその物体の後ろにCGモデルを
おいたときに隠れて見えなくなるようにするために必要
である。あるいは陰をリアルに付加するためにも用いら
れる。以上のようなシステムでは、予め実写画像の3次
元構造を抽出したりCGモデルを作成するといった前処
理を行うモデリング(オーサリング)の部分と、任意の
位置にCGを合成表示したり、パースや印面処理などの
効果を出して表示するといった実行時の処理を行うプレ
イやノブ分に大きく分けられる。前述の本発明による装
置は、モデリングの部分に相当する。
【0211】図41は本システムの構成である。点線で
囲んだ部分が前述の装置に相当し、図40を簡略化して
ある。図41における3次元構造データ(4105)
は、図40における出力データ即ちカメラパラメータ
(4304)とCGモデルデータ(4309)を示して
いる。プレイヤ部ではこの3次元構造データを用い、合
成するCGモデルの合成時の画像を生成し、合成イメー
ジを表示する。
【0212】実写画像とCGモデルの合成手順を図45
に従い、説明する。
【0213】まず、3次元CGモデルのデータをメイン
メモリに読み込む(4502)。一方、実際に3次元C
Gモデルが合成されるべき実写画像をメインメモリに読
み込む(4503)。この読み込んだ実写画像を下に前
述のモデリングを行い実写画像のカメラパラメータを算
出し、このカメラパラメータを用いて3次元モデルデー
タから算出される実写画像の3次元モデルデータをメイ
ンメモリに読み込む(4504)。
【0214】次に、3次元CGモデルの実写画像におけ
る合成位置を入力し(4505)、モデリングされた実
写画像の3次元モデルデータ及びカメラパラメータを用
いて実写画像と3次元モデルデータを合成させたイメー
ジを作成し(4506)、これを重ねて表示させる(4
507)。
【0215】次に、表示されたイメージを下により自然
な合成となるよう3次元CGモデルの合成位置が適切か
否かを判断し(4508)、適切でない場合は3次元C
Gモデルを適切な位置に移動させ(4508)、ステッ
プ(4505)に処理を戻す。一方、適切な場合は処理
を終了させる(4509)。
【0216】図41においては、予め既存のCADプログ
ラム等で作成した3次元構造データ(4105)を用い
てその条件下で見えるCGモデルの映像を作成する。顔
図合成部(4108)では合成する実写データ(410
2)に必要に応じて陰影を付加するなどの処理を加えた
後、CGモデルの映像を重ね合わせて画像表示部(41
09)にて表示する。CGモデル顔図生成部および画像
合成部における画像の具体的な生成方法については、特
開平8−153213号公報にてZバッファ等を用いた
陰面処理方法や陰影付加方法などを提示している。更に
実写画像が時間と共に変化する動画像についても、各フ
レーム毎に実写画像のカメラパラメータや画像内の物体
の3次元位置等を求め、3次元構造データ(4105)
とし、各フレーム毎に画像合成処理を行えば、同様に合
成画像を作成することができる。
【0217】次のアプリケーションの実施の形態は、あ
る実写画像に、別の実写画像に写る物体を合成して表示
するものである。具体的には、例えばテレビや映画など
において、ある実写風景画像にスタジオで撮影した人物
を合成する等の合成処理が考えられる。この場合も、違
和感のない合成画像を作成するためには、合成する実写
風景画像とスタジオで撮影する画像のカメラパラメータ
を一致させるなど画像の3次元構造を利用する必要があ
る。
【0218】図42にこのような合成を実現するための
システムの構成例を示す。カメラパラメータ(410
1)を用いて撮影した画像データ(4102)から特徴
情報抽出部(4103)において特徴を抽出し、3次元
構造算出部(4104)において画像データのカメラパ
ラメータや写る物体の3次元モデル等の3じげんこうぞ
うでーたお(4103)を求めるまでは、前述の装置と
同様である。合成する物体を撮影するためのカメラ(4
208)には、カメラの焦点距離や位置、方向などを任
意に制御できる機能を持ったカメラ制御部(4201)
を備え、3次元構造データ(4105)に記述されてい
るカメラ(4101)のカメラパラメータと同じ条件
で、合成する物体(4205)を撮影する。この時に、
合成する画像(4102)に写っている物体のモデル物
体(4208)を3次元構造データ(4105)に基づ
き作成し撮影場所に設置すれば、撮影時の参照とするこ
とができる。これを具体的に説明する。
【0219】ある机の写っている背景画像が与えられる
と、これとは別に人物を撮影しその背景画像に合成する
ことで、最終的に机の上で人物が演技している映像を作
成することを仮定する。この場合、机の3次元構造を本
発明の装置を用いて求め、それに基づいてその形状を持
った机のモデル(模型)を作成し、人物の撮影現場に設
置する。このとき、机のモデルとカメラとの相対位置関
係は、本発明の装置を用いて作成した3次元構造データ
を用いることで、実際の机を撮影したときと等しくなる
ように置く。人物はこの机のモデルの上で演技すること
で、何もないところで演技するのに比べて、本物のつく
えの時に近い演技がやりやすい。よって結果的に違和感
の無い合成画像を作ることができる。更に本モデルを用
いることで、合成後の人物の全体あるいは一部が物体
(机)によって隠される位置にきたときに、撮影時にも
そのモデルによって隠されるため、合成時に人物の写っ
ている部分だけを合成すれば、机の後に隠れる部分は写
らないような、陰面消去の効果を出すことができる。
【0220】撮影した画像データ(4203)から、合
成に用いる部分を実写切り出し部(4202)において
切り出す。切り出し方法としては操作者が画像処理プロ
グラムを用いて対話的に行うほか、撮影条件に応じて画
像処理の技術を用いて自動的に切り出すことができる。
撮影時にブルーバック等の条件で撮影すれば、クロマキ
ー等の技術を用いて自動的に目的の物体を切り出すこと
ができる。尚、この方法を用いる場合は前述のモデル物
体(4214)をバックと同じ色にする。これによって
モデル物体は合成後の画像には写らない。
【0221】画像合成部(4108)では背景となる画
像と、切り出した実写画像を合成し、が造出yろくぶ
(4109)で表示する。画像合成部(4108)で
は、前述のように、合成する物体の撮影画像が背景画像
にある物体のモデル(模型)を用いて撮影したもので有
れば単に背景画像に切り出した画像にその切り出し画像
を重ね合わせてやればよい。しかしそれ以外の場合は、
切り出す物体についての3次元モデルを作成し、背景画
像の3次元構造とそのモデルから陰面部分を算出し処理
を行う。切り出す物体の3次元モデルは撮影時に実際に
計測するほか、本発明の装置を用いて、画像から求める
こともできる。
【0222】尚、以上のシステムでは、(1)動画像の
背景に動画像を合成する、(2)動画像の背景に静止画
像を合成する、(3)静止画像の背景に静止画像を合成
する、等の組み合わせが考えられるが、3次元構造デー
タにフレーム毎のデータを持たせ、カメラの動きを時間
に従って変化させてやれば、何れの場合にも対応でき
る。
【0223】尚、本システムでは背景となる画像を実写
画像としたが、これをCっが像とすることも考えられ
る。この場合はCGモデルの3次元構造は既知であるこ
とが一般的であるので、このデータを本システムにおけ
る3次元構造データ(4105)に置き換えれば良い。
【0224】更に、図42のシステムにおいて、画像出
力部(4109)をカメラ(4208)のモニタ画面と
すれば、撮影時に合成後の映像を見ることができるの
で、算出した3次元構造の確認、撮影物の位置合わせや
演技付け、照明の色合わせなどをリアルタイムに確認し
調整することができる。
【0225】また、図41、図42のシステムでは、合
成後の画像を直接補助記憶装置に記憶させることもでき
る。
【0226】
【発明の効果】本発明によれば、実写画像を用いてそこ
に写る物体の3次元モデルを作成するため、視覚的にわ
かりやすくモデルを作成することができる。さらにその
実写画像を写したときのカメラパラメータを記録してお
く必要がない。また作成されたモデルを、実写画像とCG
の合成の目的に用いる場合は、矛盾のないデータを作成
することができる。
【図面の簡単な説明】
【図1】本発明のハードウェア構成である。
【図2】実写画像の例である。
【図3】合成するCGモデルの例である。
【図4】実写画像にCGモデルを合成した画像の例であ
る。
【図5】合成画像の遠近を示した例である。
【図6】合成画像に影を付加した例である。
【図7】実写画像の例である。
【図8】実施の形態の画面の1例である。
【図9】消失点を示す例である。
【図10】消失点と直交方向の組み合わせを示した図で
ある。
【図11】直線の交点を求める図である。
【図12】直線の交点を求めるための拡大図である。
【図13】実写画像における消失点と直交方向の例であ
る。
【図14】投影座標系とワールド座標系を示した図であ
る。
【図15】画像上のワールド座標系を示した図である。
【図16】3次元データボックスの例である。
【図17】透視投影を説明する図である。
【図18】透視投影を説明する図である。
【図19】操作画面の1例である。
【図20】操作画面の1例である。
【図21】点の指定方法である。
【図22】操作画面の1例である。
【図23】3次元データテーブルの1例である。
【図24】透視投影を説明する図である。
【図25】線の作成を説明する図である。
【図26】面の作成を説明する図である。
【図27】基本図形の作成の手順を説明するフローチャ
ートである。
【図28】基本図形を説明する図である。
【図29】2次元ドローイングソフトにおいて、基本図
形を修正する方法を説明する図である。
【図30】3次元において基本図形を修正する方法を説
明する図である。
【図31】他の3次元CADソフトとの接続を示す図であ
る。
【図32】CADソフトに渡すデータの例である。
【図33】CADソフトで作成するモデルの例である。
【図34】補助線の例を示した図である。
【図35】補助線の例を示した図である。
【図36】グリッドの例を示した図である。
【図37】CGモデルを回転、移動させて表示する手順を
説明するフローチャートである。
【図38】CGモデルを回転、移動表示させた画面の例で
ある。
【図39】参照物体をあわせて表示させた画面の例であ
る。
【図40】本発明の全体の概略を示した図である。
【図41】本発明のある実施の形態の概略を示した図で
ある。
【図42】本発明のある実施の形態の概略を示した図で
ある。
【図43】実写画像からカメラパラメータを求めるフロ
ーチャートである。
【図44】実写画像から3次元構造データ求めるフロー
チャートである。
【図45】実写画像にCGモデルを合成する場合のフロ
ーチャートである。
【符号の説明】
101…ディスプレイ、102…補助記憶装置、103
…マウス、104…グラフィックボード、105…CP
U、110…キーボード、20…実写画像、203…3
次元物体、301…CGモデル、505…消失点
───────────────────────────────────────────────────── フロントページの続き (72)発明者 塩尻 史子 神奈川県川崎市麻生区王禅寺1099番地株 式会社日立製作所システム開発研究所内 (72)発明者 鈴木 友峰 神奈川県横浜市戸塚区戸塚町5030番地株 式会社日立製作所ソフトウェア開発本部 内 (56)参考文献 特開 昭61−72367(JP,A) 特開 平5−61962(JP,A) (58)調査した分野(Int.Cl.7,DB名) C06T 7/00 C06T 17/00 - 17/40 C06F 17/50

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】3次元物体を2次元平面上に投影した実写
    画像データを記憶する記憶手段と、前記記憶手段から読
    み出された前記実写画像を表示する表示手段と、 前記表示手段に表示された実写画像上の被写体の平行方
    向および直交方向を示し、前記実写画像についての座標
    値に関する指示を受け付ける入力手段と、 前記入力手段での指示に対応する座標値に基づいて、前
    記表示手段に表示されている実写画像の撮影に関するも
    のであって、前記実写画像を撮影するカメラのカメラ位
    置、前記カメラが撮影する際に向いているカメラ方向お
    よび前記カメラの前記実写画像に対する焦点距離からな
    るカメラパラメータを算出する演算手段とを有し、 前記演算手段により算出されたカメラパラメータに基づ
    いて前記実写画像データ内の3次元物体の3次元構造デ
    ータを作成することを特徴とする3次元画像作成装置。
  2. 【請求項2】前記入力手段は、前記実写画像から3次元
    物体上の点を指定点として入力し、 前記演算手段は、前記指定点の前記表示手段の画面上で
    の2次元位置と前記カメラパラメータとに基づいて前記
    指定点の3次元位置を算出し、 前記表示手段は、前記指定点を前記実写画像に重ねて表
    示することを特徴とする請求項1記載の3次元画像作成
    装置。
  3. 【請求項3】前記入力手段は、前記表示手段に表示され
    る前記実写画像から3次元位置を求める指定点、及び前
    記指定点と前記実写画像の特徴との関係を規定する拘束
    条件を指示する情報を入力し、 前記演算手段は、前記実写画像を撮影した視点位置と前
    記指定点とを結ぶ3次元上での線分上にありかつ前記拘
    束条件を満たす点の3次元位置を算出し、前記点の位置
    に基づいて前記実写画像に写る3次元物体の3次元モデ
    ルを作成し、前記表示手段は、前記作成した3次元モデ
    ルを前記実写画像に重ねて表示することを特徴とする請
    求項1記載の3次元画像作成装置。
  4. 【請求項4】前記カメラパラメータに基づいて、3次元
    空間の3つの座標軸の方向を前記画像上に重ねて表示す
    ることを特徴とする請求項1記載の3次元画像作成装
    置。
  5. 【請求項5】前記3次元物体の3次元モデルを作成する
    ために前記画像上で指定した部位の3次元座標値を表示
    する手段を有することを特徴とする請求項1記載の3次
    元画像作成装置。
  6. 【請求項6】前記3次元物体の3次元モデルを作成する
    際に、前記画像に写される前記3次元物体に関する知識
    情報に基づいて、前記3次元物体の部位を指定するため
    の拘束条件を設定する手段を有することを特徴とする請
    求項1記載の3次元画像作成装置。
  7. 【請求項7】請求項1乃至6のいずれかに記載の3次元
    画像作成装置において、 前記演算手段は、前記カメラパラメータを前記実写画像
    上の消失点の位置および前記消失点の直交方向に基づい
    て、算出することを特徴とする3次元画像作成装置。
  8. 【請求項8】処理装置を用いた3次元画像作成方法は、 3次元物体を2次元平面上に投影した実写画像データを
    記憶装置に記憶し、 前記記憶装置から読み出された前記実写画像を表示装置
    に表示し、 前記表示装置に表示された実写画像上の被写体の平行方
    向及び直交方向を示し、前記実写画像についての座標値
    に関する指示を、入力装置を介して受け付け、前記指示に対応する座標値 に基づいて、前記表示装置に
    表示されている実写画像の撮影に関するものであって、
    前記実写画像を撮影するカメラのカメラ位置、前記カメ
    ラが撮影する際に向いているカメラ方向および前記カメ
    ラの前記実写画像に対する焦点距離からなるカメラパラ
    メータを算出し、 前記算出されたカメラパラメータに基づいて前記実写画
    像データ内の3次元物体の3次元構造データを作成する
    ことを特徴とする3次元画像作成方法。
  9. 【請求項9】請求項8に記載の3次元画像作成方法にお
    いて、 前記カメラパラメータの算出は、前記実写画像上の消失
    点の位置および前記消失点の直交方向に基づいて、算出
    することを特徴とする3次元画像作成方法。
  10. 【請求項10】3次元物体を2次元平面上に投影した実
    写画像データ、及び前記画像データの平行方向および直
    交方向を示し、前記画像データについての座標値に関す
    特徴情報を入力する手段、 前記画像データに関する知識情報を入力する手段、 前記特徴情報に対応する座標値と前記知識情報とに基づ
    いて前記画像データの撮影に関するものであって、前記
    実写画像を撮影するカメラのカメラ位置、前記カメラが
    撮影する際に向いているカメラ方向および前記カメラの
    前記実写画像に対する焦点距離からなるカメラパラメー
    タを算出する手段、 前記画像データにおける3次元物体の特徴情報を入力す
    る手段、前記画像データにおける前記特徴情報に関する
    知識情報を入力する手段、前記カメラパラメータと前記
    特徴情報と前記知識情報とに基づいて前記知識情報の3
    次元形状データを作成する手段、前記3次元形状データ
    のデータ形式を変換する手段、前記変換されたデータを
    用いて前記3次元物体の詳細3次元形状モデルを作成す
    る手段、前記詳細3次元形状モデルのデータ形式を変換
    する手段、 及び前記データを前記画像上に重ねて表示する手段を有
    することを特徴とする3次元画像作成装置。
  11. 【請求項11】処理装置を用いた3次元画像作成方法
    は、 3次元物体を2次元平面上に投影した実写画像データ、
    及び前記画像データの平行方向および直交方向を示し、
    前記画像データについての座標値に関する特徴情報を入
    力し、 前記画像データに関する知識情報を入力し、 前記特徴情報に対応する座標値と前記知識情報とに基づ
    いて前記画像データの撮影に関するものであって、前記
    実写画像を撮影するカメラのカメラ位置、前記カメラが
    撮影する際に向いているカメラ方向および前記カメラの
    前記実写画像に対する焦点距離からなるカメラパラメー
    タを算出し、前記画像データにおける3次元物体の特徴
    情報を入力し、前記画像データにおける前記特徴情報に
    関する知識情報を入力し、 前記カメラパラメータと前記特徴情報と前記知識情報と
    に基づいて前記知識情報の3次元形状データを作成し、 前記3次元形状データのデータ形式を変換し、前記変換
    されたデータを用いて前記3次元物体の詳細3次元形状
    モデルを作成し、前記詳細3次元形状モデルのデータ形
    式を変換し、さらに前記データを前記画像上に重ねて表
    示することを特徴とする3次元画像作成方法。
  12. 【請求項12】請求項11に記載の3次元画像作成方法
    において、 前記カメラパラメータの算出は、前記実写画像上の消失
    点の位置および前記消失点の直交方向に基づいて、算出
    することを特徴とする3次元画像作成方法。
  13. 【請求項13】処理装置を用いた3次元画像作成方法
    は、 3次元物体を2次元平面上に投影した実写画像データの
    平行方向および直交方向を示し、前記実写画像データに
    ついての座標値に関する指示を入力し、前記座標値に基
    づいて、前記実写画像データの撮影に関するものであっ
    て、前記実写画像を撮影するカメラのカメラ位置、前記
    カメラが撮影する際に向いているカメラ方向および前記
    カメラの前記実写画像に対する焦点距離からなるカメラ
    パラメータを算出し、前記算出されたカメラパラメータ
    に基づいて前記実写画像データ内の3次元物体の3次元
    構造データを作成し、 前記3次元構造データに基づいて前記3次元物体を前記
    実写画像に重ねて表示することを特徴とする3次元画像
    作成方法。
  14. 【請求項14】請求項13に記載の3次元画像作成方法
    において、 前記カメラパラメータの算出は、前記実写画像上の消失
    点の位置および前記消失点の直交方向に基づいて、算出
    することを特徴とする3次元画像作成方法。
  15. 【請求項15】3次元物体を2次元平面上に投影した実
    写画像データを記憶する記憶手段と、 前記記憶手段から読み出された前記実写画像を表示する
    表示手段と、 前記表示手段に表示された実写画像上の被写体の平行方
    向および直交方向の指示を、前記表示手段に表示される
    前記実写画像から3次元位置を求める指定点、及び前記
    指定点と前記実写画像の特徴との関係を規定する拘束条
    件を指示する情報として受け付ける入力手段と、 前記演算手段は、前記実写画像を撮影した視点位置と前
    記指定点とを結ぶ3次元上での線分上にありかつ前記拘
    束条件を満たす点の3次元位置を算出し、前記点の位置
    に基づいて前記実写画像に写る3次元物体の3次元モデ
    ルを作成する演算手段とを有し、 前記表示手段は、前記作成した3次元モデルを前記実写
    画像に重ねて表示することを特徴とする3次元画像作成
    装置。
JP09071257A 1996-03-25 1997-03-25 3次元画像作成装置 Expired - Lifetime JP3104638B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09071257A JP3104638B2 (ja) 1996-03-25 1997-03-25 3次元画像作成装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6778596 1996-03-25
JP8-67785 1996-03-25
JP09071257A JP3104638B2 (ja) 1996-03-25 1997-03-25 3次元画像作成装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP35111299A Division JP3309841B2 (ja) 1999-12-10 1999-12-10 合成動画像生成装置および合成動画像生成方法

Publications (2)

Publication Number Publication Date
JPH09319896A JPH09319896A (ja) 1997-12-12
JP3104638B2 true JP3104638B2 (ja) 2000-10-30

Family

ID=26408995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09071257A Expired - Lifetime JP3104638B2 (ja) 1996-03-25 1997-03-25 3次元画像作成装置

Country Status (1)

Country Link
JP (1) JP3104638B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4025442B2 (ja) * 1998-12-01 2007-12-19 富士通株式会社 三次元モデル変換装置及び方法
US6567085B1 (en) * 1999-12-22 2003-05-20 Lucent Technologies Inc. Display techniques for three-dimensional virtual reality
JP3406965B2 (ja) 2000-11-24 2003-05-19 キヤノン株式会社 複合現実感提示装置及びその制御方法
KR100466587B1 (ko) * 2002-11-14 2005-01-24 한국전자통신연구원 합성영상 컨텐츠 저작도구를 위한 카메라 정보추출 방법
JP4602704B2 (ja) * 2004-06-29 2010-12-22 学校法人東京理科大学 単眼視3次元位置計測装置および方法
JP4714934B2 (ja) * 2005-02-14 2011-07-06 独立行政法人産業技術総合研究所 写真測量方法及び写真測量プログラム
JP4673140B2 (ja) * 2005-06-21 2011-04-20 株式会社昭文社デジタルソリューション 画像処理装置および方法
US8310534B2 (en) * 2006-09-01 2012-11-13 Mori Seiki Co., Ltd. Three-dimensional model data confirming method, and three-dimensional model data confirming apparatus
JP4809746B2 (ja) * 2006-09-20 2011-11-09 株式会社中電工 画像処理装置および画像処理プログラム
JP4870546B2 (ja) 2006-12-27 2012-02-08 株式会社岩根研究所 レイヤー生成・選択機能を備えたcvタグ映像表示装置
US8904430B2 (en) * 2008-04-24 2014-12-02 Sony Computer Entertainment America, LLC Method and apparatus for real-time viewer interaction with a media presentation
JP5079614B2 (ja) * 2008-07-15 2012-11-21 Toa株式会社 カメラパラメータ特定装置および方法ならびにプログラム
JP5071812B2 (ja) * 2009-01-14 2012-11-14 独立行政法人産業技術総合研究所 コンピュータグラフィックス作成方法
JP5328408B2 (ja) * 2009-02-20 2013-10-30 三栄工業株式会社 ヘッドライトテスタ
JP5689693B2 (ja) * 2011-01-13 2015-03-25 株式会社ディジタルメディアプロフェッショナル 描画処理装置
JP2012194002A (ja) * 2011-03-15 2012-10-11 Toho Gas Co Ltd 計測システム
JP6619927B2 (ja) * 2014-10-24 2019-12-11 株式会社日立製作所 キャリブレーション装置
CN104776800B (zh) * 2015-04-22 2017-12-08 湖南农业大学 水稻单蘖图像采集装置及形态参数提取方法

Also Published As

Publication number Publication date
JPH09319896A (ja) 1997-12-12

Similar Documents

Publication Publication Date Title
JP3104638B2 (ja) 3次元画像作成装置
US6046745A (en) Three-dimensional model making device and its method
US6025847A (en) Three dimensional modeling system with visual feedback
JP3148045B2 (ja) 三次元物体cg作成装置
JP3634677B2 (ja) 画像の補間方法、画像処理方法、画像表示方法、画像処理装置、画像表示装置、及びコンピュータプログラム記憶媒体
US5694533A (en) 3-Dimensional model composed against textured midground image and perspective enhancing hemispherically mapped backdrop image for visual realism
US6529626B1 (en) 3D model conversion apparatus and method
JP5299173B2 (ja) 画像処理装置および画像処理方法、並びにプログラム
JPH07262410A (ja) 画像合成方法及び装置
KR20070086037A (ko) 장면 간 전환 방법
US5870099A (en) Method of supporting perspective projection
JP3245336B2 (ja) モデリング方法およびモデリングシステム
KR101875047B1 (ko) 사진측량을 이용한 3d 모델링 시스템 및 방법
JPH10111953A (ja) 画像処理方法および装置および記憶媒体
US11217002B2 (en) Method for efficiently computing and specifying level sets for use in computer simulations, computer graphics and other purposes
JP3309841B2 (ja) 合成動画像生成装置および合成動画像生成方法
JP2002324249A (ja) 画像表示システム及び方法
JP2001243497A (ja) 3次元画像処理方法,3次元モデリング方法および3次元画像処理プログラムを記録した記録媒体
JP6679966B2 (ja) 三次元仮想空間提示システム、三次元仮想空間提示方法及びプログラム
JP3575469B2 (ja) 合成動画像生成装置および合成動画像生成方法
JP3642923B2 (ja) 映像生成処理装置及びその装置で用いられる構造化データを作成する構造化データ作成装置
JP2001266176A (ja) 画像処理装置および画像処理方法、並びに記録媒体
US6633291B1 (en) Method and apparatus for displaying an image
JPH1027268A (ja) 画像処理方法及び画像処理装置
JP3540157B2 (ja) 画像を利用した形状モデリング方法及び形状モデリングプログラムを記録した記録媒体

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090901

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090901

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110901

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130901

Year of fee payment: 13

EXPY Cancellation because of completion of term