JP4809316B2 - 画像生成装置、プログラム、および記録媒体 - Google Patents

画像生成装置、プログラム、および記録媒体 Download PDF

Info

Publication number
JP4809316B2
JP4809316B2 JP2007283638A JP2007283638A JP4809316B2 JP 4809316 B2 JP4809316 B2 JP 4809316B2 JP 2007283638 A JP2007283638 A JP 2007283638A JP 2007283638 A JP2007283638 A JP 2007283638A JP 4809316 B2 JP4809316 B2 JP 4809316B2
Authority
JP
Japan
Prior art keywords
color
virtual
sight
user
intersection
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
JP2007283638A
Other languages
English (en)
Other versions
JP2009110397A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007283638A priority Critical patent/JP4809316B2/ja
Publication of JP2009110397A publication Critical patent/JP2009110397A/ja
Application granted granted Critical
Publication of JP4809316B2 publication Critical patent/JP4809316B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Studio Devices (AREA)

Description

本発明は、複数台のカメラで撮像した画像を用いて、任意の視点の2次元画像を生成する技術に関する。
従来の画像生成方法について、以下に説明する(たとえば、非特許文献1)。従来技術の代表的な全体処理の流れを図3を用いて説明する。以下の第1のステップ〜第14のステップは図3のS1〜S14に対応する。
まず、視点の異なる複数のカメラを用いて同一の物体や風景を撮影する(第1のステップ)。
次に、ユーザが見たい視点を空間中に設置する(第2のステップ)。
次に、ユーザが見たい空間的な範囲内に複数の仮想的な面で構成した層を設置する(第3のステップ)。
次に、ユーザが見たい視野を表す仮想的な面を設置する(第4のステップ)。
次に、ユーザが見たい精細度となるように、ユーザが見たい視野を表す仮想的な面上に、複数の画素を配置する(第5のステップ)。
次に、画素を1つ選び、また、仮想的な面を1つ選び、仮想視点とその画素を通る直線(視線)と、その仮想的な面との交点に対して、カメラで撮像した画像上におけるそれぞれの対応点を計算する(第6のステップ)。
次に、複数のカメラで撮像したそれぞれの画像上の対応点およびその付近の画像同士の類似性から、1つの仮想的な面との交点における、物体の表面が存在する程度を計算する(第7のステップ)。
次に、複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、1つの仮想的な面との交点における、物体の表面の色を計算する(第8のステップ)。
次に、選んだ1つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、第6〜8のステップを行うことで、物体の表面が存在する程度と色(第1の色)を計算する(第9のステップ)。
次に、層の中の全ての仮想的な面において、第6〜9のステップを行うことで、物体の表面が存在する程度と色(第1の色)を計算する(第10のステップ)。
次に、仮想視線上の全て交点における物体の表面が存在する程度を足し合わせる(第11のステップ)。
次に、仮想視線上の各交点における物体の表面が存在する程度を、それら全てを足し合わせたもので割り、それらの値を各交点における物体の表面が存在する確率とする(第12のステップ)。
次に、各仮想的な面の交点における、物体の存在する確率と、物体の表面の色(第1の色)との積を、それらの交点における色(第4の色)とする(第13のステップ)。
最後に、仮想視線上の全ての交点における色(第4の色)を足し合わせ、その色を、ユーザが見たい視野を表す仮想的な面上の画素の色(第3の色)とする(第14のステップ)。
図1は画像生成法を説明するための構成図である。1001はユーザが見たい画像を得るために便宜的に記した仮想カメラ、1002は1001の仮想カメラのレンズ、1003はユーザが見たい視点(仮想視点)であり、1002の仮想カメラのレンズの中心、1004はユーザが見たい視野を表す仮想平面であり、1001の仮想カメラの撮像素子、1005はユーザが見たい視野を表す仮想平面の原点であり、1004の仮想視点の撮像素子の原点、1006はユーザが見たい視野を表す仮想平面上の画素であり、1001の仮想カメラにおける後述の1012の仮想平面と視線との交点の結像点、1010はユーザが見たい視線(仮想視線)、1011はユーザが見たい空間的な範囲内の仮想平面群、1012は1011の層を形成している仮想平面と仮想視線の交点群、1101はカメラ、1102はカメラ1101のレンズ、1103はレンズ1102のレンズ中心、1104はカメラ1101の撮像素子、1105は撮像素子1104の原点、1106は仮想平面と仮想視線の交点の結像点、1110はカメラ視線、である。1101はカメラCであり、1102〜1106はカメラCに関するものである。カメラはN台あるとして、それぞれC〜Cと名付ける。C〜Cのそれぞれの構成はカメラCと同じである。
以下、ステップに分けて動作を説明する。
ステップ1:[複数のカメラを用いて同一物体や風景を撮影]
N台のカメラで、同一物体や風景を撮影する。このとき、各カメラC(i=1,...,N)において、コンピュータビジョンの分野で知られているカメラの内部に関するパラメタ(カメラ内部パラメタ)と、カメラの位置、姿勢に関するパラメタ(カメラ外部パラメタ)は既知とする。カメラ内部パラメタは、行列表記すると、たとえば、以下のようなものである。
Figure 0004809316
Ciをカメラ内部行列といい、3行3列の行列である。ここで、αu,Ciは焦点距離を撮像素子の横軸の画素ピッチで割ったもの、αv,Ciは焦点距離を撮像素子の縦軸の画素ピッチで割ったもの、θCiは撮像素子の縦軸と横軸の成す角度、uCi0、vCi0は撮像素子とレンズ光軸の交点の座標であり、画素単位で表記し、撮像した画像の左上を原点とする座標、である。
なお、uCi0、vCi0で使用される座標系をカメラCにおけるディジタル画像座標といい、カメラの撮像素子上の2次元の斜交座標であり、撮像素子の画素間隔を単位とし、撮像素子の横軸、縦軸をその軸方向とし、撮像素子の左上を原点とするものであり、カメラごとに固有のものとなる。
また、カメラの外部パラメタを行列表記すると、たとえば、以下のようなものとなる。
Figure 0004809316
Ciはカメラ回転行列といい、3行3列の行列であり、tCiはカメラ平行並進ベクトルといい、3次元のベクトルである。これらのパラメタを説明する前に、世界座標系について説明する。世界座標系とは、空間全体を表す3次元の直交座標系であり、原点、単位は適宜ユーザが設定する。この世界座標系を用いると、それぞれのパラメタは以下のように説明できる。
Cix、rCiy、rCizは、カメラCのレンズ中心を原点とした3次元の直交座標系(これをカメラ座標系という)の各軸の単位ベクトルを、世界座標系で表したベクトル、tCix、tCiy、tCizは、カメラ座標系における、世界座標系の原点の座標を表すベクトルの要素、である。
ステップ2:[ユーザが見たい視点を設置]
ユーザが自分の目を持っていきたい場所を決め、そこに仮想的に視点(以下、仮想視点と表記)1003を設置する。
ステップ3:[層状の仮想的な面を設置]
ユーザが見たい3次元的な範囲に、複数の仮想的な面で層状に構成される平面群1011を設置する。
ステップ4:[ユーザが見たい視野を表す仮想的な面を設置]
仮想視点1003から見た視野内であって、ユーザが生成したい画像の範囲を表す仮想的な面1004を設置する。これは、仮想視点1003をレンズ中心としたレンズ1002を持つ仮想カメラ1001の撮像素子と見なすことができるので、以下、仮想カメラの撮像素子と言う。
ステップ5:[ユーザが見たい精細度となるように、仮想カメラの撮像素子面上に、画素を配置]
最終的にユーザが見たい画像の精細度を決め、それを満足するように、仮想カメラの撮像素子1004の面上の画素を配置する。
上記ステップ2〜5まで決めると、ユーザが見たい視点に設置した仮想カメラのパラメタが決まる。この仮想カメラの内部/外部パラメタを、たとえば、以下のように表す。
Figure 0004809316
ここで、Cは仮想視点カメラを表す。上記式の内容は、(3.1)〜(3.3)式と同様であるので、説明は省略する。
ステップ6:[仮想視点と画素の1つを通る直線(視線)と1つの仮想的な面の交点に対して、各カメラ画像上の対応点を計算]
仮想カメラの撮像素子1004の面上の画素1006を1つ選び、また、ユーザが見たい空間的な範囲内の仮想平面群1011の中の層を1つ選び、仮想視点とその選んだ画素を通る直線(仮想視線)と、その仮想的な面との交点(仮想平面と仮想視線との交点群の中の1つ)に対して、複数のカメラで撮像した複数の画像上におけるそれぞれの対応点(図1では、カメラCについては仮想平面と視線の交点の結像点1106で表記)を計算する。
図1では、カメラCにのみ説明のための番号が付いているが、全カメラC(i=1,...,N)ともに構成は同様であるので、以下では、カメラを区別せずにCと表記する。
たとえば、仮想カメラCの撮像素子1004上の画素1006の、仮想カメラCのディジタル画像座標系での座標をmCv[uCvCv、カメラCの撮像素子1104上の対応点1106の、カメラCのディジタル画像座標系での座標をmCv,Lk,Ci=[uCv,Lk,CiCv,Lk,Ci]とすると、
Figure 0004809316
となる。
ここで、~Cv,Lk,Ci~CvはそれぞれmCv,Lk,Ci、mCvの同次座標であり、それぞれ、~Cv,Lk,Ci=[uCv,Lk,CiCv,Lk,Ci 1]~Cv=[uCvCv 1]、である。なお、(3.7)式のイメージに記載されているような「〜」が上についた「m」等を文章中では「~m」等と記載する。HLk,Ci,Cvはホモグラフィ行列といい、
Figure 0004809316
である。sはスカラ値であり、sが(3.7)式右辺のHLk,Ci,Cvの三行目を示すベクトルと~Cvとの内積値、である。ここで、RCi,CvとtCi,Cvは仮想カメラCのカメラ座標系からカメラCのカメラ座標系へ変換する際の回転行列と平行並進ベクトルであり、
Figure 0004809316
である。nは仮想カメラCのカメラ座標系におけるk層の仮想平面の法線ベクトル(仮想カメラの撮像素子1004の面とk層の仮想平面が平行ならn=[001])、dは仮想視点1003からk層の仮想平面までの距離、である。
ステップ7:[対応点上の画像の類似点から、1つの仮想的な面の交点における、物体の表面が存在する程度を計算]
仮想カメラの撮像素子の画素に関して、ユーザが見たい空間的な範囲内の仮想平面群の中の1層の平面と、今注目している仮想カメラの撮像素子の画素の中心から引かれた仮想視線との交点における、物体の表面が存在する程度を計算する。ここでは、その交点に対応する各カメラの撮像素子上の点とその近傍の点のテクスチャが類似しているほど物体の表面が存在する程度が高いとする計算を行う。
仮想平面上の交点の近傍の点とは、たとえば、今注目している仮想カメラの撮像素子上の画素の近傍の画素の中心から引かれる仮想カメラの視線と仮想平面との交点としても良い。
この様子を図2(a)に示す。5003は仮想カメラのレンズ中心、5006は仮想カメラの撮像素子の注目画素の中心、5006−1は仮想カメラの撮像素子の注目画素の近傍の中心、5010は仮想カメラの注目画素を通る仮想視線、5010−1は仮想カメラの注目画素の近傍画素を通る仮想視線、5012はk層の仮想平面と注目画素を通る仮想視線の交点、5012−1はk層の仮想平面と注目画素の近傍画素を通る仮想視線の交点、5013はユーザが見たい空間的な範囲内の仮想平面群のk層、である。注目画素5006と近傍画素5006−1は、仮想カメラの撮像素子上の画素であり、レンズ中心5003を通る視線5010、5010−1によって、それぞれ、k層の仮想平面5013上の点に対応点を作る。図では、近傍画素が1つしか示していないが、注目画素5006の周りの画素群や、さらにその周りの画素群を近傍の画素としても良い。
これらk層の仮想平面上の交点とその近傍の点に対応する、各カメラの撮像素子上の点も、仮想平面上の点と各カメラのレンズの中心を通るカメラ視線によって、決まる。
この様子を図2(b)に示す。5006は仮想カメラの撮像素子の注目画素の中心、5010は仮想カメラの注目画素を通る仮想視線、5011は仮想カメラの撮像素子の画素、5012はk層の仮想平面と注目画素を通る仮想視線の交点、5013はユーザが見たい空間的な範囲内の仮想平面群のk層、5106は仮想平面と仮想視線の交点の結像点、5110はカメラ視線、5111は仮想平面と仮想視線の交点の結像点を中心とする、撮像素子の画素と同じ大きさの四角形、5112は仮想平面と仮想視線の交点の結像点の近傍の撮像素子上の画素群、である。
仮想カメラの撮像素子上の画素5011は、その画素中心5006と仮想カメラ視線5010によって、k層の仮想平面の上に交点5012で対応づけられている。そのk層の仮想平面の上に交点5012に対して、その交点5012とカメラのレンズ中心を通るカメラ視線5110によって、カメラの撮像素子上に交点5012が結像する点5106に対応付けられる。
このように、仮想カメラの撮像素子上の画素5011とk層の仮想平面上の交点5012とカメラの撮像素子上の結像点5106は対応付けられるが、結像点5106はカメラ撮像素子の画素の中心とは一般には一致しない。その結像点5106の色を得るには、たとえば、結像点の近傍の画素値を使う。
この様子を図2(c)に示す。5106は仮想平面と仮想視線の交点の結像点、5111は仮想平面と仮想視線の交点の結像点を中心とする、撮像素子の画素と同じ大きさの四角形、5112は仮想平面と仮想視線の交点の結像点の近傍の撮像素子上の画素群、である。
結像点5106の色は、たとえば、結像点を中心とする四角形5111が重なっているカメラの撮像素子の画素群5112の各画素の面積比で、それらの画素の色を足し合わせるという、バイリニア法で得ることができる。この方法は、たとえば、図2(c)に示すように、四角形5111が撮像素子の画素5112の境界で、上下の辺がs:1-sに、左右の辺がt:1-tにそれぞれ内分されていた場合、近傍の画素の座標をmCv,Lk,Ci,q1、mCv,Lk,Ci,q2、mCv,Lk,Ci,q3、mCv,Lk,Ci,q4、として、それぞれの画素の色をT[mCv,Lk,Ci,q1]、T[mCv,Lk,Ci,q2]、T[mCv,Lk,Ci,q3]、T[mCv,Lk,Ci,q4]とすると、結像点の色T[mCv,Lk,Ci]は、以下のようになる。
Figure 0004809316
ここでは、バイリニア法について述べたが、ニアレストネイバー法、バイキュービック法等を用いても良い。
k層の仮想視点の交点5012に対応する各カメラの撮像素子上の結像点5106の色を用いて、その交点5012における相違度disRLk,Cv[mCv]を求める。
Figure 0004809316
ここで、pは注目画素の座標mCv,Lk,Ciの近傍の画素の座標を指すためのベクトル、aは注目画素を原点とする近傍の画素の範囲、lは関数の形を変えるパラメタ、である。mCv,Lk,Ci,pは、
Figure 0004809316
となるときの2次元座標、を表す。
また、Lk[mCv+p]は、注目画素、および、各近傍画素における全カメラの平均の色であり、
Figure 0004809316
である。なお、(3.14)式のイメージに記載されているような「−」が上についた「T」等を文章中では「-T」等と記載する。
類似度RLk,Cv[m,Cv]は、相違度が大きければ小さく、小さければ大きいという関係があるとして、たとえば、以下のような関数で表す。
Figure 0004809316
ここで、σは関数の形を変えるパラメタ、を表す。
また、類似度RLk,Cvは、以下のような関数でも良い。
Figure 0004809316
ここで、l’は関数の形を変えるパラメタ、εは分母が0にならないようにするための微小値、である。
この類似度RLk,Cv[m,Cv]を、物体の表面が存在する程度^βLk,Cv[mCv]とする。つまり、
Figure 0004809316
とする。なお、(3.17)式のイメージに記載されているような「^」が上についた「β」等を文章中では「^β」等と記載する。
算出した物体の表面の存在する程度^βLk,Cv[mCv]は、現在対象となっている仮想平面とカメラ視線との交点にマッピングする。
ステップ8:[複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、1つの仮想的な面との交点における、物体の表面の色を計算する]
仮想カメラの撮像素子の画素に関して、ユーザが見たい空間的な範囲内の仮想平面群の中の1層の平面と、今注目している仮想カメラの撮像素子の画素の中心から引かれた仮想視線との交点における、物体の色を計算する。
この計算方法としては、たとえば、仮想カメラCの撮像素子上の点mCvに対応する、仮想平面k層上の仮想視線との交点の色TLk[mCv]は、仮想カメラCの仮想視線とカメラCのカメラ視線との成す角をθCv,Lk,Ci[mCv]とすると、角度が小さいときの色の寄与率を高くするようにすると、カメラの色T[mCv,Lk,Ci]を使って、次のようにする。これを、視点依存テクスチャマッピングという。
Figure 0004809316
算出したカメラの色は、現在対象となっている仮想平面とカメラ視線との交点にマッピングする。
ステップ9:[選んだ1つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、ステップ6〜8を繰り返し行うことで、物体の表面が存在する程度と色(第1の色)を計算する]
ユーザが見たい空間的な範囲の仮想面を1つ選び、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、ステップ6〜8を繰り返し行い、それにより、ユーザが見たい空間的な範囲内にある1つの仮想平面上における物体の表面が存在する程度と色(第1の色)の両方を計算し、その値を仮想面上の交点にマッピングする。
ステップ10:[層の中の全ての仮想的な面において、ステップ6〜9を繰り返し行うことで、物体の表面が存在する程度と色(第1の色)を計算する]
ユーザが見たい空間的な範囲の全部の仮想平面について、ステップ6〜9を繰り返し行い、それにより、ユーザが見たい空間的な範囲内の全ての仮想平面上の、カメラ視線との交点において、物体の表面が存在する程度と色(第1の色)をそれぞれ計算し、それらの2つの値をマッピングする。
ステップ11:[仮想視線上の全て交点における物体の表面が存在する程度を足し合わせる]
仮想視線と、ユーザが見たい空間的な範囲の全部の仮想平面との交点に関して、それら仮想視線ごとに、交点にマッピングされている物体の表面が存在する程度の総和sum^βCv[mCv]をとる。この式は次式となる。
Figure 0004809316
Mは層数である。
ステップ12:[仮想視線上の各交点における物体の表面が存在する程度を、それら全てを足し合わせたもので割り、それらの値を各交点における物体の表面が存在する確率とする]
仮想視線上の各交点について、それぞれにマッピングされている物体の表面が存在する程度^βLk,Cv[mCv]を、上記の仮想視線上の各交点の総和sum^βCv[mCv]で割り、それらの値を各交点における物体の表面が存在する確率βLk,Cv[mCv]とする。この式は次式となる。
Figure 0004809316
ステップ13[各仮想的な面の交点における、物体の表面が存在する確率と、物体の表面の色(第1の色)との積を、それらの交点における色(第4の色)とする]
仮想視線上の各交点について、それぞれにマッピングされている物体の表面が存在する確率βLk,Cv[mCv]とTLk[mCv](第1の色)の積をとり、その積を各交点にマッピングする。この積を第4の色^T[mCv]と呼ぶこととする。この式は次式となる。
Figure 0004809316
ステップ14:[仮想視線上の全ての交点における色(第4の色)^TLk[mCv]を足し合わせ、その色を、ユーザが見たい視野を表す仮想的な面上の画素の色(第3の色)とする]
最後に、各仮想視線上の全ての交点にマッピングされた色(第4の色)^TLk[mCv]の和をとり、その色を、ユーザが見たい視野を表す仮想的な面上の画素の色(第3の色)T[mCv]として、その画素にマッピングする。この式は次式となる。
Figure 0004809316
このようにして仮想カメラの撮像素子の全ての画素に色(第3の色)をマッピングし、それによって画像が生成される。
國田豊,上野雅浩,田中敬二,多層信頼度マップを用いた3次元映像実時間生成システム,映像情報メディア学会誌,Vol.60,No.7,pp.1102-1110,2006
しかしながら、上記従来方法では、ユーザが見たい空間的な範囲内の仮想平面群と仮想視線との交点群において、
(1)各交点上で物体の表面が存在する程度と色を求め(ステップ7、8、9、10)、
(2)全ての交点上の物体の表面が存在する程度の総和をとり(ステップ11)、
(3)各交点において物体の存在する程度をその総和で除して確率を求め(ステップ12)、
(4)各交点において物体の存在する程度と色の積を取って、それぞれの交点にマッピングした色とする(ステップ13)、
(5)各視線ごとに、交点にマッピングした色を積算していき、全ての交点が積算されると画像が生成される(ステップ14)、
操作をしているので、(1)から(4)までの操作においては、全ての仮想平面の上の交点の情報を持つ必要があり、そのため、仮想平面の枚数のメモリ量(仮想平面の枚数と交点の積に比例)が必要である。
以上のことから、計算機のメモリが膨大に必要であるという欠点があった。また、メモリが膨大となるため、装置が高価になるという欠点があった。
また、メモリが少ない場合は、ユーザが見たい空間的な範囲内の仮想平面群の数を減らさざるを得ず、そのため、ユーザが見たい空間的な範囲を狭めざるを得なくなり、画質が低下するという欠点があった。
また、メモリが少ない場合は、ユーザが見たい空間的な範囲内の仮想平面群の数を減らさざるを得ず、そのため、ユーザが見たい空間的な範囲内に設置する仮想平面群の数が減るため、表現できる奥行きの精度が低下し、生成する画像の画質が低下するという欠点があった。
本発明は、上記に鑑みてなされたものであり、その目的とするところは、上記従来方式と同等な画質で画像生成でき、画像生成の計算に必要なメモリ量を削減した画像生成方法を提供することにある。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下の通りである。
画像生成装置における画像生成方法であって、視点の異なる複数のカメラを用いて同一の物体や風景を撮影した画像を入力する第1のステップと、ユーザが見たい視点(仮想視点)を空間中に設置する第2のステップと、次に、ユーザが見たい空間的な範囲内に複数の仮想的な面を層状に設置する第3のステップと、ユーザが見たい視野を表す仮想的な面を設置する第4のステップと、ユーザが見たい精細度となるように、ユーザが見たい視野を表す仮想的な面上に、複数の画素を配置する第5のステップと、画素を1つ選び、また、仮想的な面を1つ選び、仮想視点と画素を通る直線(仮想視線)と、仮想的な面との交点に対して、複数のカメラで撮像した複数の画像上におけるそれぞれの対応点を計算する第6のステップと、複数のカメラで撮像したそれぞれの画像上の対応点およびその付近の画像同士の類似性から、1つの仮想的な面との交点における、物体の表面が存在する程度を計算する第7のステップと、複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、1つの仮想的な面との交点における、物体の表面の色(第1の色)を計算する第8のステップと、選んだ1つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、第6〜8のステップを行うことで、物体の表面が存在する程度と色(第1の色)を計算する第9のステップと、選んだ1つの仮想的な面と仮想視線との交点における、物体の存在する程度と、物体の表面の色(第1の色)との積を、その交点における色(第2の色)とする第10のステップと、もし以前に別の仮想的な面において色(第2の色)を計算しており、その色(第2の色)を積算していれば、選んだ1つの仮想的な面における色(第2の色)を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合(つまり、最初の色(第2の色)を算出する場合)は、その色(第2の色)を積算値の初期値とする第11のステップと、もし以前に別の仮想的な面において物体の表面が存在する程度を計算しており、その物体の表面が存在する程度を積算していれば、選んだ1つの仮想的な面における物体の表面が存在する程度を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合(つまり、最初の物体の表面が存在する程度を算出する場合)は、その物体の表面が存在する程度を積算値の初期値とする第12にステップと、色(第2の色)と物体の表面が存在する程度について、第6〜12のステップを行い、それぞれの値を仮想視線ごとに、層状の全ての仮想的な面において積算する第13のステップと、仮想視線ごとに、色(第2の色)の積算値を、物体の表面が存在する程度の積算値で割って、色(第3の色)を求め、その色(第3の色)を、ユーザが見たい視野を表す仮想的な面上の画素の色とする第14のステップと、を有することを特徴とする。
本発明は、ユーザが見たい空間的な範囲内の仮想平面群と仮想視線との交点群に関して、ある1つの仮想平面上の全交点において、
(1)各交点上で物体の表面が存在する程度と色を求め(ステップ7、8、9)、
(2)各交点において物体の存在する程度と色の積を取って、それぞれの交点における色とし(ステップ10)、
(3)上記(1)(2)を仮想平面1枚を計算するごとに、同じ仮想視線ごとに物体の存在する程度と色の積を積算し(ステップ11、13)、
(4)上記(1)を仮想平面1枚を計算するごとに、同じ仮想視線ごとに物体の表面が存在する程度を積算し(ステップ12、13)、
(5)全てに仮想平面についての計算が終了後、同じ仮想視線ごとに、物体の存在する程度と色の積を積算値を物体の表面が存在する程度を積算値で割って最終的な画像を生成する(ステップ14)、
操作をしているので、(1)から(5)までの操作においては、物体の表面が存在する程度の計算と、色の計算と、それらの積の計算と、物体の表面が存在する程度の積算と、積の積算をするのに、最大でもそれぞれ仮想平面1枚ずつ、つまり、計5枚のメモリ量(5枚と交点の積に比例)のみ必要であり、従来方法で必要であった仮想平面の枚数のメモリ量(仮想平面の枚数と交点の積に比例)と異なるが、通常、良好な生成画像を得るには、仮想平面は最低30枚程度必要なことが経験的に分かっており、そのことから、メモリ量が削減できる利点がある。
本発明の実施形態の画像生成装置における画像生成方法の処理の流れを図4を用いて説明する。以下の第1のステップ〜第14のステップは図4のS1〜S14に対応する。
まず、視点の異なる複数のカメラを用いて同一の物体や風景を撮影した画像を画像生成装置(図示していない。)に入力する(第1のステップ)。
次に、ユーザが見たい視点を空間中に設置する(第2のステップ)。
次に、ユーザが見たい空間的な範囲内に複数の仮想的な面で構成した層を設置する(第3のステップ)。
次に、ユーザが見たい視野を表す仮想的な面を設置する(第4のステップ)。
次に、ユーザが見たい精細度となるように、ユーザが見たい視野を表す仮想的な面上に、複数の画素を配置する(第5のステップ)。
次に、画素を1つ選び、また、仮想的な面を1つ選び、仮想視点とその画素を通る直線(視線)と、その仮想的な面との交点に対して、カメラで撮像した画像上におけるそれぞれの対応点を計算する(第6のステップ)。
次に、複数のカメラで撮像したそれぞれの画像上の対応点およびその付近の画像同士の類似性から、1つの仮想的な面との交点における、物体の表面が存在する程度を計算する(第7のステップ)。
次に、複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、1つの仮想的な面との交点における、物体の表面の色を計算する(第8のステップ)。
次に、選んだ1つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、第6〜8のステップを行うことで、物体の表面が存在する程度と色(第1の色)を計算する(第9のステップ)。
次に、1つの仮想的な面の交点における、物体の存在する程度と、物体の表面の色(第1の色)との積を、その交点における色(第2の色)とする(第10のステップ)、
次に、もし以前に別の仮想的な面において色(第2の色)を計算しており、その色(第2の色)を積算していれば、今回選んだ1つの仮想的な面における色(第2の色)を、同じ視線ごとに積算する。以前の積算値がない場合(つまり、最初の色(第2の色)を計算する場合)は、その色(第2の色)を積算値の初期値とする(第11のステップ)、
次に、もし以前に別の仮想的な面において物体の表面が存在する程度を計算しており、その物体の表面が存在する程度を積算していれば、今回選んだ1つの仮想的な面における物体の表面が存在する程度を、同じ視線ごとに積算する。
以前の積算値がない場合(つまり、最初の物体の表面が存在する程度を計算する場合は、その物体の表面が存在する程度を積算値の初期値とする(第12のステップ)、
次に、層状の全ての仮想的な面において、第6〜13のステップを行うことで、色(第2の色)と物体の表面が存在する程度を積算する(第13のステップ)、
最後に、仮想視線ごとに、色(第2の色)の積算値を、物体の表面が存在する程度の積算値で割って、色(第3の色)を求め、その色(第3の色)を、ユーザが見たい視野を表す仮想的な面上の画素の色とする(第14のステップ)。
図1は画像生成法を説明するための構成図である。1001はユーザが見たい画像を得るために便宜的に記した仮想カメラ、1002は1001の仮想カメラのレンズ、1003はユーザが見たい視点(仮想視点)であり、1002の仮想カメラのレンズの中心、1004はユーザが見たい視野を表す仮想平面であり、1001の仮想カメラの撮像素子、1005はユーザが見たい視野を表す仮想平面の原点であり、1004の仮想視点の撮像素子の原点、1006はユーザが見たい視野を表す仮想平面上の画素であり、1001の仮想カメラにおける後述の1012の仮想平面と視線との交点の結像点、1010はユーザが見たい視線(仮想視線)、1011はユーザが見たい空間的な範囲内の仮想平面群、1012は1011の層を形成している仮想平面と仮想視線の交点群、1101はカメラ、1102はカメラ1101のレンズ、1103はレンズ1102のレンズ中心、1104はカメラ1101の撮像素子、1105は撮像素子1104の原点、1106は仮想平面と仮想視線の交点の結像点、1110はカメラ視線、である。1101はカメラCであり、1102〜1106はカメラCに関するものである。カメラはN台あるとして、それぞれC〜Cと名付ける。C〜Cのそれぞれの構成はカメラCと同じである。
以下、本実施形態の画像生成方法をステップに分けて動作を説明する。
ステップ1:[複数のカメラを用いて同一物体や風景を撮影]
N台のカメラで、同一物体や風景を撮影し、撮影した画像を画像生成装置(図示していない。)に入力する。このとき、各カメラC(i=1,...,N)において、コンピュータビジョンの分野で知られているカメラの内部に関するパラメタ(カメラ内部パラメタ)と、カメラの位置、姿勢に関するパラメタ(カメラ外部パラメタ)は既知とする。カメラ内部パラメタは、行列表記すると、たとえば、以下のようなものである。
Figure 0004809316
Ciをカメラ内部行列といい、3行3列の行列である。ここで、αu,Ciは焦点距離を撮像素子の横軸の画素ピッチで割ったもの、αv,Ciは焦点距離を撮像素子の縦軸の画素ピッチで割ったもの、θCiは撮像素子の縦軸と横軸の成す角度、uCi0,vCi0は撮像素子とレンズ光軸の交点の座標であり、画素単位で表記し、撮像した画像の左上を原点とする座標、である。
なお、uCi0,vCi0で使用される座標系をカメラCにおけるディジタル画像座標といい、カメラの撮像素子上の2次元の斜交座標であり、撮像素子の画素間隔を単位とし、撮像素子の横軸、縦軸をその軸方向とし、撮像素子の左上を原点とするものであり、カメラごとに固有のものとなる。
また、カメラの外部パラメタを行列表記すると、たとえば、以下のようなものとなる。
Figure 0004809316
Ciはカメラ回転行列といい、3行3列の行列であり、tCiはカメラ平行並進ベクトルといい、3次元のベクトルである。これらのパラメタを説明する前に、世界座標系について説明する。世界座標系とは、空間全体を表す3次元の直交座標系であり、原点、単位は適宜ユーザが設定する。この世界座標系を用いると、それぞれのパラメタは以下のように説明できる。
Cix、rCiy、rCiz、は、カメラCのレンズ中心を原点とした3次元の直交座標系(これをカメラ座標系という)の各軸の単位ベクトルを、世界座標系で表したベクトル、tCix、tCiy、tCizは、カメラ座標系における、世界座標系の原点の座標を表すベクトルの要素、である。
ステップ2:[ユーザが見たい視点を設置]
ユーザが自分の目を持っていきたい場所を決め、そこに仮想的に視点(以下、仮想視点と表記)1003を設置する。
ステップ3:[層状の仮想的な面を設置]
ユーザが見たい3次元的な範囲に、複数の仮想的な面で層状に構成される平面群1011を設置する。
ステップ4:[ユーザが見たい視野を表す仮想的な面を設置]
仮想視点1003から見た視野内であって、ユーザが生成したい画像の範囲を表す仮想的な面1004を設置する。これは、仮想視点1003をレンズ中心としたレンズ1002を持つ仮想カメラ1001の撮像素子と見なすことができるので、以下、仮想カメラの撮像素子と言う。
ステップ5:[ユーザが見たい精細度となるように、仮想カメラの撮像素子面上に、画素を配置]
最終的にユーザが見たい画像の精細度を決め、それを満足するように、仮想カメラの撮像素子1004の面上の画素を配置する。
上記ステップ2〜5まで決めると、ユーザが見たい視点に設置した仮想カメラのパラメタが決まる。この仮想カメラの内部/外部パラメタを、たとえば、以下のように表す。
Figure 0004809316
ここで、Cは仮想視点カメラを表す。上記式の内容は、(8.1)〜(8.3)式と同様であるので、説明は省略する。
ステップ6:[仮想視点と画素の1つを通る直線(視線)と1つの仮想的な面の交点に対して、各カメラ画像上の対応点を計算]
仮想カメラの撮像素子1004の面上の画素1006を1つ選び、また、ユーザが見たい空間的な範囲内の仮想平面群1011の中の層を1つ選び、仮想視点とその選んだ画素を通る直線(仮想視線)と、その仮想的な面との交点(仮想平面と仮想視線との交点群の中の1つ)に対して、複数のカメラで撮像した複数の画像上におけるそれぞれの対応点(図1では、カメラCについては仮想平面と視線の交点の結像点1106で表記)を計算する。
図1では、カメラCにのみ説明のための番号が付いているが、全カメラC(i=1,...,N)ともに構成は同様であるので、以下では、カメラを区別せずにCと表記する。
たとえば、仮想カメラCの撮像素子1004上の画素1006の、仮想カメラCのディジタル画像座標系での座標をmCv=[uCvCv、カメラCの撮像素子1104上の対応点1106の、カメラCのディジタル画像座標系での座標をmCv,Lk,Ci=[uCv,Lk,CiCv,Lk,Ci]とすると、
Figure 0004809316
となる。
ここで、~Cv,Lk,Ci~CvはそれぞれmCv,Lk,Ci、mCvの同次座標であり、それぞれ、~Cv,Lk,Ci[uCv,Lk,CiCv,Lk,Ci 1]~Cv[uCvCv 1]、である。
Lk,C1,Cvはホモグラフィ行列といい、
Figure 0004809316
である。sはスカラ値であり、sが(8.7)式右辺のHLk,Ci,Cvの三行目を示すベクトルと~Cvとの内積値、である。ここで、RCi,CvとtCi,Cvは仮想カメラCのカメラ座標系からカメラCのカメラ座標系へ変換する際の回転行列と平行並進ベクトルであり、
Figure 0004809316
である。nは仮想カメラCのカメラ座標系におけるk層の仮想平面の法線ベクトル(仮想カメラの撮像素子1004の面とk層の仮想平面が平行ならn=[001])、dは仮想視点1003からk層の仮想平面までの距離、である。
ステップ7:[対応点上の画像の類似点から、1つの仮想的な面の交点における、物体の表面が存在する程度を計算]
仮想カメラの撮像素子の画素に関して、ユーザが見たい空間的な範囲内の仮想平面群の中の1層の平面と、今注目している仮想カメラの撮像素子の画素の中心から引かれた仮想視線との交点における、物体の表面が存在する程度を計算する。ここでは、その交点に対応する各カメラの撮像素子上の点とその近傍の点のテクスチャが類似しているほど物体の表面が存在する程度が高いとする計算を行う。仮想平面上の交点の近傍の点とは、たとえば、今注目している仮想カメラの撮像素子上の画素の近傍の画素の中心から引かれる仮想カメラの視線と仮想平面との交点としても良い。
この様子を図2(a)に示す。5003は仮想カメラのレンズ中心、5006は仮想カメラの撮像素子の注目画素の中心、5006−1は仮想カメラの撮像素子の注目画素の近傍の中心、5010は仮想カメラの注目画素を通る仮想視線、5010−1は仮想カメラの注目画素の近傍画素を通る仮想視線、5012はk層の仮想平面と注目画素を通る仮想視線の交点、5012−1はk層の仮想平面と注目画素の近傍画素を通る仮想視線の交点、5013はユーザが見たい空間的な範囲内の仮想平面群のk層、である。注目画素5006と近傍画素5006−1は、仮想カメラの撮像素子上の画素であり、レンズ中心5003を通る視線5010、5010−1によって、それぞれ、k層の仮想平面5013上の点に対応点を作る。図では、近傍画素が1つしか示していないが、注目画素5006の周りの画素群や、さらにその周りの画素群を近傍の画素としても良い。
これらk層の仮想平面上の交点とその近傍の点に対応する、各カメラの撮像素子上の点も、仮想平面上の点と各カメラのレンズの中心を通るカメラ視線によって、決まる。
この様子を図2(b)に示す。5006は仮想カメラの撮像素子の注目画素の中心、5010は仮想カメラの注目画素を通る仮想視線、5011は仮想カメラの撮像素子の画素、5012はk層の仮想平面と注目画素を通る仮想視線の交点、5013はユーザが見たい空間的な範囲内の仮想平面群のk層、5106は仮想平面と仮想視線の交点の結像点、5110はカメラ視線、5111は仮想平面と仮想視線の交点の結像点を中心とする、撮像素子の画素と同じ大きさの四角形、5112は仮想平面と仮想視線の交点の結像点の近傍の撮像素子上の画素群、である。
仮想カメラの撮像素子上の画素5011は、その画素中心5006と仮想カメラ視線5010によって、k層の仮想平面の上に交点5012で対応づけられている。そのk層の仮想平面の上に交点5012に対して、その交点5012とカメラのレンズ中心を通るカメラ視線5110によって、カメラの撮像素子上に交点5012が結像する点5106に対応付けられる。
このように、仮想カメラの撮像素子上の画素5011とk層の仮想平面上の交点5012とカメラの撮像素子上の結像点5106は対応付けられるが、結像点5106はカメラ撮像素子の画素の中心とは一般には一致しない。その結像点5106の色を得るには、たとえば、結像点の近傍の画素値を使う。
この様子を図2(c)に示す。5106は仮想平面と仮想視線の交点の結像点、5111は仮想平面と仮想視線の交点の結像点を中心とする、撮像素子の画素と同じ大きさの四角形、5112は仮想平面と仮想視線の交点の結像点の近傍の撮像素子上の画素群、である。
結像点5106の色は、たとえば、結像点を中心とする四角形5111が重なっているカメラの撮像素子の画素群5112の各画素の面積比で、それらの画素の色を足し合わせるという、バイリニア法で得ることができる。この方法は、たとえば、図2(c)に示すように、四角形5111が撮像素子の画素5112の境界で、上下の辺がs:1−sに、左右の辺がt:1−tにそれぞれ内分されていた場合、近傍の画素の座標をmCv,Lk,Ci,q1、mCv,Lk,Ci,q2、mCv,Lk,Ci,q3、mCv,Lk,Ci,q4、として、それぞれの画素の色をT[mCv,Lk,Ci,q1]、T[mCv,Lk,Ci,q2]、T[mCv,Lk,Ci,q3]、T[mCv,Lk,Ci,q4]とすると、結像点の色T[mCv,Lk,Ci]は、以下のようになる。
Figure 0004809316
ここでは、バイリニア法について述べたが、ニアレストネイバー法、バイキュービック法等を用いても良い。
k層の仮想視点の交点5012に対応する各カメラの撮像素子上の結像点5106の色を用いて、その交点5012における相違度disRLk,Cv[mCv]を求める。
Figure 0004809316
ここで、pは注目画素の座標mCv,Lk,Ciの近傍の画素の座標を指すためのベクトル、aは注目画素を原点とする近傍の画素の範囲、lは関数の形を変えるパラメタである。mCv,Lk,Ci,pは、
Figure 0004809316
となるときの2次元座標、を表す。
また、-Lk[mCv+p]は、注目画素、および、各近傍画素における全カメラの平均の色であり、
Figure 0004809316
である。
類似度RLk,Cv[mCv]は、相違度が大きければ小さく、小さければ大きいという関係があるとして、たとえば、以下のような関数で表す。
Figure 0004809316
ここで、σは関数の形を変えるパラメタ、を表す。
また、類似度RLk,Cvは、以下のような関数でも良い。
Figure 0004809316
ここで、l’は関数の形を変えるパラメタ、εは分母が0にならないようにするための微小値、である。
この類似度RLk,Cv[mCv]を、物体の表面が存在する程度^βLk,Cv[mCv]とする。つまり、
Figure 0004809316
とする。
算出した物体の表面の存在する程度^βLk,Cv[mCv]は、現在対象となっている仮想平面とカメラ視線との交点にマッピングする。
ステップ8:[複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、1つの仮想的な面との交点における、物体の表面の色(第1の色)を計算する]
仮想カメラの撮像素子の画素に関して、ユーザが見たい空間的な範囲内の仮想平面群の中の1層の平面と、今注目している仮想カメラの撮像素子の画素の中心から引かれた仮想視線との交点における、物体の色を計算する。
この計算方法としては、たとえば、仮想カメラCの撮像素子上の点mCvに対応する、仮想平面k層上の仮想視線との交点の色(第1の色)TLk[mCv]は、仮想カメラCの仮想視線とカメラCのカメラ視線との成す角をθCv,Lk,Ci[mCv]とすると、角度が小さいときの色の寄与率を高くするようにすると、カメラの色T[mCv,Lk,Ci]を使って、次のようにする。これを、視点依存テクスチャマッピングという。
Figure 0004809316
算出したカメラの色は、現在対象となっている仮想平面とカメラ視線との交点にマッピングする。
ステップ9:[選んだ1つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、ステップ6〜8を繰り返し行うことで、物体の表面が存在する程度と色(第1の色)を計算する]
ユーザが見たい空間的な範囲の仮想面を1つ選び、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、ステップ6〜8を繰り返し行い、それにより、ユーザが見たい空間的な範囲内にある1つの仮想平面上における物体の表面が存在する程度と色(第1の色)の両方を計算し、その値を仮想面上の交点にマッピングする。
ステップ10:[1つの仮想的な面の交点における、物体の表面の存在する程度と、物体の表面の色(第1の色)との積を、その交点における色(第2の色)とする。]
1つのユーザが見たい空間的な範囲の仮想面と仮想視点との交点における、物体の表面の存在する程度^βLk,Cv[mCv]と、物体の表面の色(第1の色)TLk[mCv]との積をとり、その積をとった色(第2の色)^TLk’[mCv]を新たにその交点における色としてマッピングする。色(第2の色)^TLk’[mCv]の式は次式となる。
Figure 0004809316
ステップ11:[もし以前に別の仮想的な面において色(第2の色)を計算しており、その色(第2の色)を積算していれば、今回選んだ1つの仮想的な面における色(第2の色)を、同じ視線ごとに積算する。以前の積算値が無い場合(つまり、最初の色(第2の色)を計算する場合)は、その色(第2の色)を積算値の初期値とする。]
もし、以前に、上記の計算を、ユーザが見たい空間的な範囲の別の仮想面において、色(第2の色)^TLk’[mCv]を計算しており、その色(第2の色)^TLk’[mCv]を、同じ仮想視線上の交点の色に対して積算していれば、今回選んだ1つの仮想的な面における色(第2の色)^TLk’[mCv]を、前と同様に同じ仮想視線ごとに積算する。
もし、以前の積算値が無い場合、つまり、今回が最初の色(第2の色)^TLk’[mCv]を計算する場合は、その色(第2の色)^TLk’[mCv]を積算値の初期値として、以降、この値に積算していく。
処理を1層から始めてK層まで進んだとし、この色(第2の色)^TLk’[mCv]の1〜K層までの積算値をsum^TLk’[mCv]とすると、この積算値は次式となる。
Figure 0004809316
ここで、Kは1≦K≦Mである。なお、Mは層数である。
ステップ12:[もし以前に別の仮想的な面において物体の表面が存在する程度を計算しており、その物体の表面の存在する程度を積算していれば、今回選んだ1つの仮想的な面における物体の表面が存在する程度を、同じ視線ごとに積算する。以前の積算値がない場合(つまり、最初の物体の表面が存在する程度を計算する場合)は、その物体の表面が存在する程度を積算値の初期値とする。]
もし、以前に、上記の計算を、ユーザが見たい空問的な範囲の別の仮想面において、物体の表面が存在する程度^βLk,Cv[mCv]を計算しており、その物体の表面が存在する程度^βLk,Cv[mCv]を、同じ仮想視線上の交点における物体の表面の存在する程度に対して積算していれば、今回選んだ1つの仮想的な面における物体の表面の存在する程度^βLk,Cv[mCv]を、前と同様に同じ仮想視線ごとに積算する。
もし、以前の積算値が無い場合、つまり、今回が最初の物体の表面が存在する程度^βLk,Cv[mCv]を計算する場合は、その物体の表面が存在する程度^βLk,Cv[mCv]を積算値の初期値として、以降、この値に積算していく。
処理を1層から始めてK層まで進んだとし、この物体の表面が存在する程度^βLk,Cv[mCv]の1〜K層までの積算値をsum^βLk,K’[mCv]とすると、この積算値は次式となる。
Figure 0004809316
ここで、Kは1≦K≦Mである。なお、Mは層数である。
ステップ13:[ステップ6〜12を繰り返し行うことにより、層状の全ての仮想的な面において色(第2の色)と物体の表面が存在する程度を積算する。]
ステップ6〜12を繰り返し行うことにより、ユーザが見たい空間的な範囲で、層状になっている全ての仮想平面について、ステップ6〜12を行い、それにより、色(第2の色)^TLk’[mCv]と、物体の表面が存在する程度^βLk,Cv[mCv]を、仮想視線ごとに積算する。
それぞれの積算値は、(8.20)、(8.21)式のKをMにしたものであり、下記のようになる。
Figure 0004809316
ステップ14:[仮想視線ごとに、色(第2の色)の積算値を、物体の表面が存在する程度の積算値で割って、色(第3の色)を求め、その色(第3の色)を、ユーザが見たい視野を表す仮想的な面上の画素の色とする。]
最後に、仮想視線ごと、つまり、仮想カメラの撮像素子の画素ごとに、色(第2の色)の積算値sum^TLk’[mCv]を、物体の表面が存在する程度の積算値^βLk’[mCv]で割って、色(第3の色)T[mCv]を求め、その色(第3の色)T[mCv]を、ユーザが見たい視野を表す仮想的な面上、つまり、仮想カメラの撮像素子上の画素の色とする。最終的な画素の色(第3の色)T[mCv]は以下の式で表される。
Figure 0004809316
本実施の形態の効果としては、
ユーザが見たい空間的な範囲内の仮想平面群と仮想視線との交点群に関して、ある1つの仮想平面上の全交点において、
(1)各交点上で物体の表面が存在する程度と色を求め(ステップ7、8、9)、
(2)各交点において物体の存在する程度と色の積を取って、それぞれの交点における色とし(ステップ10)、
(3)上記(1)(2)を仮想平面1枚を計算するごとに、同じ仮想視線ごとに物体の存在する程度と色の積を積算し(ステップ11、13)、
(4)上記(1)を仮想平面1枚を計算するごとに、同じ仮想視線ごとに物体の表面が存在する程度を積算し(ステップ12、13)、
(5)全てに仮想平面についての計算が終了後、同じ仮想視線ごとに、物体の存在する程度と色の積を積算値を物体の表面が存在する程度を積算値で割って最終的な画像を生成する(ステップ14)、
操作をしているので、(1)から(5)までの操作においては、物体の表面が存在する程度の計算と、色の計算と、それらの積の計算と、物体の表面が存在する程度の積算と、積の積算をするのに、最大でもそれぞれ仮想平面1枚ずつ、つまり、計5枚のメモリ量(5枚と交点の積に比例)のみ必要であり、従来方法で必要であった仮想平面の枚数のメモリ量(仮想平面の枚数と交点の積に比例)と異なるが、通常、良好な生成画像を得るには、仮想平面は最低30枚程度必要なことが経験的に分かっており、そのことから、メモリ量が削減できる利点がある。
本発明の実施形態の画像生成装置は、以上に説明した各ステップを実行する手段を有しており、1または複数のコンピュータとプログラムを用いて構成することができる。そのプログラムは記録媒体に記憶することができる。また、そのプログラムの一部または全部の代わりにハードウェアを用いて構成してもよい。
以上、本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
画像生成を行うための構成図である。 仮想平面と仮想視線の交点と結像点の近傍の撮像素子上の画素の図(仮想平面と仮想視線の交点と2つのカメラ内の撮像素子の関係図)である。 仮想平面と仮想視線の交点と結像点の近傍の撮像素子上の画素の図(仮想カメラの撮像素子上の画素と、仮想平面と仮想視線の交点と、カメラ内の撮像素子の関係図)である。 仮想平面と仮想視線の交点と結像点の近傍の撮像素子上の画素の図(注目点を中心とする撮像素子画素と同じ大きさの四角形と撮像素子の画素の関係図)である。 従来技術の代表的な全体処理のフローを示す図である。 本発明の実施形態の全体処理のフローを示す図である。 本発明の実施形態の全体処理のフローを示す図(続き)である。
符号の説明
1001はユーザが見たい画像を得るために便宜的に記した仮想カメラ、1002は1001の仮想カメラのレンズ、1003はユーザが見たい視点(仮想視点)であり、1002の仮想カメラのレンズの中心、1004はユーザが見たい視野を表す仮想平面であり、1001の仮想カメラの撮像素子、1005はユーザが見たい視野を表す仮想平面の原点であり、1004の仮想視点の撮像素子の原点、1006はユーザが見たい視野を表す仮想平面上の画素であり、1001の仮想カメラにおける後述の1012の仮想平面と視線との交点の結像点、1010はユーザが見たい視線(仮想視線)、1011はユーザが見たい空間的な範囲内の仮想平面群、1012は1011の層を形成している仮想平面と仮想視線の交点群、1101はカメラ、1102はカメラ1101のレンズ、1103はレンズ1102のレンズ中心、1104はカメラ1101の撮像素子、1105は撮像素子1104の原点、1106は仮想平面と仮想視線の交点の結像点、1110はカメラ視線、5003は仮想カメラのレンズ中心、5006は仮想カメラの撮像素子の注目画素の中心、5006−1は仮想カメラの撮像素子の注目画素の近傍の中心、5010は仮想カメラの注目画素を通る仮想視線、5010−1は仮想カメラの注目画素の近傍画素を通る仮想視線、5011は仮想カメラの撮像素子の画素、5012はk層の仮想平面と注目画素を通る仮想視線の交点、5012−1はk層の仮想平面と注目画素の近傍画素を通る仮想視線の交点、5013はユーザが見たい空間的な範囲内の仮想平面群のk層、5106は仮想平面と仮想視線の交点の結像点、5110はカメラ視線、5111は仮想平面と仮想視線の交点の結像点を中心とする、撮像素子の画素と同じ大きさの四角形、5112は仮想平面と仮想視線の交点の結像点の近傍の撮像素子上の画素群、である。

Claims (3)

  1. 視点の異なる複数のカメラを用いて同一の物体や風景を撮影した画像を入力する第1の手段と、
    ユーザが見たい視点(仮想視点)を空間中に設置する第2の手段と、
    次に、ユーザが見たい空間的な範囲内に複数の仮想的な面を層状に設置する第3の手段と、
    ユーザが見たい視野を表す仮想的な面を設置する第4の手段と、
    ユーザが見たい精細度となるように、ユーザが見たい視野を表す仮想的な面上に、複数の画素を配置する第5の手段と、
    画素を1つ選び、また、仮想的な面を1つ選び、仮想視点と画素を通る直線(仮想視線)と、仮想的な面との交点に対して、複数のカメラで撮像した複数の画像上におけるそれぞれの対応点を計算する第6の手段と、
    複数のカメラで撮像したそれぞれの画像上の対応点およびその付近の画像同士の類似性から、1つの仮想的な面との交点における、物体の表面が存在する程度を計算する第7の手段と、
    複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、1つの仮想的な面との交点における、物体の表面の色(第1の色)を計算する第8の手段と、
    選んだ1つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、第6〜8の手段による処理を行うことで、物体の表面が存在する程度と色(第1の色)を計算する第9の手段と、
    選んだ1つの仮想的な面と仮想視線との交点における、物体の存在する程度と、物体の表面の色(第1の色)との積を、その交点における色(第2の色)とする第10の手段と、
    もし以前に別の仮想的な面において色(第2の色)を計算しており、その色(第2の色)を積算していれば、選んだ1つの仮想的な面における色(第2の色)を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合(つまり、最初の色(第2の色)を算出する場合)は、その色(第2の色)を積算値の初期値とする第11の手段と、
    もし以前に別の仮想的な面において物体の表面が存在する程度を計算しており、その物体の表面が存在する程度を積算していれば、選んだ1つの仮想的な面における物体の表面が存在する程度を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合(つまり、最初の物体の表面が存在する程度を算出する場合)は、その物体の表面が存在する程度を積算値の初期値とする第12の手段と、
    色(第2の色)と物体の表面が存在する程度について、第6〜12の手段による処理を行い、それぞれの値を仮想視線ごとに、層状の全ての仮想的な面において積算する第13の手段と、
    仮想視線ごとに、色(第2の色)の積算値を、物体の表面が存在する程度の積算値で割って、色(第3の色)を求め、その色(第3の色)を、ユーザが見たい視野を表す仮想的な面上の画素の色とする第14の手段と、
    を備えることを特徴とする、画像生成装置。
  2. 視点の異なる複数のカメラを用いて同一の物体や風景を撮影した画像を入力する第1の手段、
    ユーザが見たい視点(仮想視点)を空間中に設置する第2の手段、
    次に、ユーザが見たい空間的な範囲内に複数の仮想的な面を層状に設置する第3の手段、
    ユーザが見たい視野を表す仮想的な面を設置する第4の手段、
    ユーザが見たい精細度となるように、ユーザが見たい視野を表す仮想的な面上に、複数の画素を配置する第5の手段、
    画素を1つ選び、また、仮想的な面を1つ選び、仮想視点と画素を通る直線(仮想視線)と、仮想的な面との交点に対して、複数のカメラで撮像した複数の画像上におけるそれぞれの対応点を計算する第6の手段、
    複数のカメラで撮像したそれぞれの画像上の対応点およびその付近の画像同士の類似性から、1つの仮想的な面との交点における、物体の表面が存在する程度を計算する第7の手段、
    複数のカメラで撮像したそれぞれの画像上の対応点における画素の色と、複数のカメラとユーザが見たい視点との幾何学的な関係から、1つの仮想的な面との交点における、物体の表面の色(第1の色)を計算する第8の手段、
    選んだ1つの仮想的な面において、ユーザが見たい視野を表す仮想的な面上の全画素に対応する全交点について、第6〜8の手段による処理を行うことで、物体の表面が存在する程度と色(第1の色)を計算する第9の手段、
    選んだ1つの仮想的な面と仮想視線との交点における、物体の存在する程度と、物体の表面の色(第1の色)との積を、その交点における色(第2の色)とする第10の手段、
    もし以前に別の仮想的な面において色(第2の色)を計算しており、その色(第2の色)を積算していれば、選んだ1つの仮想的な面における色(第2の色)を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合(つまり、最初の色(第2の色)を算出する場合)は、その色(第2の色)を積算値の初期値とする第11の手段、
    もし以前に別の仮想的な面において物体の表面が存在する程度を計算しており、その物体の表面が存在する程度を積算していれば、選んだ1つの仮想的な面における物体の表面が存在する程度を、同じ仮想視線ごとにその積算値に積算し、もし、積算値がない場合(つまり、最初の物体の表面が存在する程度を算出する場合)は、その物体の表面が存在する程度を積算値の初期値とする第12の手段、
    色(第2の色)と物体の表面が存在する程度について、第6〜12の手段による処理を行い、それぞれの値を仮想視線ごとに、層状の全ての仮想的な面において積算する第13の手段、および
    仮想視線ごとに、色(第2の色)の積算値を、物体の表面が存在する程度の積算値で割って、色(第3の色)を求め、その色(第3の色)を、ユーザが見たい視野を表す仮想的な面上の画素の色とする第14の手段、
    としてコンピュータを機能させるための画像生成プログラム。
  3. 請求項に記載の画像生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2007283638A 2007-10-31 2007-10-31 画像生成装置、プログラム、および記録媒体 Expired - Fee Related JP4809316B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007283638A JP4809316B2 (ja) 2007-10-31 2007-10-31 画像生成装置、プログラム、および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007283638A JP4809316B2 (ja) 2007-10-31 2007-10-31 画像生成装置、プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2009110397A JP2009110397A (ja) 2009-05-21
JP4809316B2 true JP4809316B2 (ja) 2011-11-09

Family

ID=40778800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007283638A Expired - Fee Related JP4809316B2 (ja) 2007-10-31 2007-10-31 画像生成装置、プログラム、および記録媒体

Country Status (1)

Country Link
JP (1) JP4809316B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04114224A (ja) * 1990-09-04 1992-04-15 Hitachi Ltd 入出力一体型ディスプレイ装置
JP3876142B2 (ja) * 2001-02-26 2007-01-31 株式会社ナブラ 画像表示システム

Also Published As

Publication number Publication date
JP2009110397A (ja) 2009-05-21

Similar Documents

Publication Publication Date Title
KR101956149B1 (ko) 이미지 사이의 광학 흐름의 효율적 결정
WO2019049421A1 (ja) キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法
CN107370994B (zh) 海域全景监控方法、装置、服务器及***
CN105005964B (zh) 基于视频序列影像的地理场景全景图快速生成方法
GB2520613A (en) Target region fill utilizing transformations
KR101642975B1 (ko) 객체를 관찰하기 위한 파노라마 공간 모델링 방법
EP3446283B1 (en) Image stitching method and device
JP2007000205A (ja) 画像処理装置及び画像処理方法並びに画像処理プログラム
WO2016018392A1 (en) Three dimensional scanning system and framework
CN107809610A (zh) 摄像头参数集算出装置、摄像头参数集算出方法以及程序
JP2012185772A (ja) 非固定ズームカメラを用いた自由視点映像の合成画質高精度化方法およびプログラム
CN105721768A (zh) 从聚焦堆叠生成适合的切片图像的方法和装置
JP5522794B2 (ja) 立体像生成装置およびそのプログラム
CN107077719B (zh) 数码照片中基于深度图的透视校正
CN107862652B (zh) 一种鸟瞰图生成方法及装置
JP7416573B2 (ja) 立体画像生成装置及びそのプログラム
JP7298687B2 (ja) 物体認識装置及び物体認識方法
JP7192526B2 (ja) 画像処理装置、画像処理方法及びプログラム
Ha et al. Embedded panoramic mosaic system using auto-shot interface
JP2009271895A (ja) 独立偏位修正画像セットおよび方法
JP6317611B2 (ja) ディスプレイ表示パターン生成装置及びそのプログラム
JP2008204318A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP4809316B2 (ja) 画像生成装置、プログラム、および記録媒体
JP5086120B2 (ja) 奥行き情報取得方法、奥行き情報取得装置、プログラムおよび記録媒体
WO2018006669A1 (zh) 视差融合方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110719

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: 20110809

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: 20110818

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4809316

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees