【実施例1】
【0021】
本実施例では、プログラムをコンピュータに実行させることによって、画像処理装置を実現する態様を例にあげて説明する。このプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ、半導体メモリ等のコンピュータ読み取り可能な非一時的(non-transitory)情報記録媒体に記録することができる。この情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【0022】
一般には、コンピュータは、非一時的(non-transitory)情報記録媒体に記録されたプログラムを、一時的(temporary)記憶装置であるRAM(Random Access Memory)に読み出してから、CPU(Central Processing Unit)が読み出されたプログラムに含まれる指令を実行する。ただし、ROMとRAMを一つのメモリ空間にマッピングして実行することが可能なアーキテクチャでは、ROMに格納されたプログラムに含まれる指令を、直接CPUが読み出して実行する。
【0023】
さらに、上記のプログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網等の一時的(transitory)伝送媒体を介して、サーバ装置等から端末装置等へ配布・販売することができる。
【0024】
なお、上記のプログラムを、電子回路の動作レベル記述用のプログラミング言語によって記述することも可能である。この場合には、上記のプログラムから、電子回路の配線図やタイミングチャート等、各種の設計図が生成され、当該設計図に基づいて、上記の画像処理装置を構成する電子回路を作成することができる。たとえば、上記のプログラムから、FPGA(Field Programmable Gate Array)技術によって再プログラム可能なハードウェア上に、上記画像処理装置を、構成することができるほか、ASIC(Application Specific Integrated Circuit)技術によって、特定用途専用の電子回路を構成することも可能である。
【0025】
すなわち、画像処理装置の各部は、以下に説明する各処理を実行するように構成(configure)される。
【0026】
図1は、本発明の実施例に係る画像処理装置の概要構成を示す説明図である。
図2は、本発明の実施例に係る画像処理装置により実行される画像処理の制御の流れを示すフローチャートである。以下、これらの図を参照して説明する。
【0027】
本実施例に係る画像処理装置101は、取得部111、算定部102、推定部103、初期化部104、レンダ部105、修正部106、構築部107を備える。また、画像処理装置101は、付加的な要素として、制御部108を備えるように構成することもできる。
【0028】
まず、画像処理装置101において、取得部111は、対象が描写(depict)された画像を取得して、撮影方向が対応付けられた初期画像とする(ステップS201)。
【0029】
ここで、対象となるものは、太陽光などの平行光や照明などの点光源、環境光に照らされる状況のほか、自ら発光する固体、液体、気体、粉状体、ゾル、ゲル、半透明体など、任意の物体を対象とすることができる。
【0030】
特に、自ら発光する炎、炎により照らされる煙、炎や煙などにより表現される爆発などの流体に適用することが好適であり、これらは、エンターテインメント映像の視覚効果に利用することができる。このほか、多数の枝葉を有しその隙間から光が漏れ出る草木なども、半透明体に準じて考えることができる。
【0031】
画像処理装置101の取得部111が取得する画像は、典型的には複数であり、ある瞬間に複数の撮影方向から対象を撮影したものである。すなわち、各初期画像には、各撮影方向から見た対象が描写されている。なお、初期画像は、現実の対象を撮影した画像に限られるものではない。対象を撮影した画像を適宜反転あるいはレタッチした画像や、後述するように、想像上の事物を画家が描いた画像を利用することもできる。
【0032】
画像処理装置101に与えられる初期画像を撮影するにあたっては、多数のカメラを対象の周囲に配置しても良いが、2台のカメラだけを利用するのでも良い。
図3A - 3Dは、画像処理装置101に入力として与えられる画像の撮影手法の例を示す説明図である。以下では、各要素を総称する際には、符号の末尾の英字を適宜省略して説明する。
【0033】
図3Aに示す撮影例では、対象11を、2つのカメラ12で、略直交する2つの撮影方向13から撮影することにより、2つの静止画像が得られる。この2つの静止画像が、画像処理装置101に初期画像として与えられる。2つの撮影方向13a, 13bは、対象11を貫通する回転軸14に直交している。
【0034】
各撮影方向13におけるカメラ12の位置と対象11との各距離は、等しいことが望ましい。なお、本手法においては各種の近似計算を行うことから、近似による誤差と、距離の相違による影響と、では、前者の方が大きいことが多い。したがって、各撮影位置と対象11との距離は、ほぼ等しくすれば、ある程度の誤差が許容される。すなわち、本手法では、カメラの視界内において対象11が配置される位置、すなわち、撮影された画像において対象11が描画される位置も任意であり、キャリブレーションの手間が少なくて済む。
【0035】
また、対象11の撮影方向13は、直交する2方向に限られるものではない。対象11を貫通する回転軸14に直交する3方向以上の撮影方向13から撮影した画像を初期画像として利用することができる。
図3Bに示す例では、対象11の周囲を90度刻みで4つの撮影方向13から撮影している。
図3Cに示す例では、対象11の周囲を120度刻みで3つの撮影方向13から撮影している。これらの撮影方向13は、回転軸14に直交する平面内に含まれるので、撮影方向13は平面的である。
【0036】
図3Dでは、対象11を上下左右前後の6つの撮影方向13から立体的に撮影している。これらのうち、いずれかを選択しても良い。たとえば、3つの撮影方向13a, 13b, 13eから撮影した3つの画像を利用する等である。これは、正8面体の中心に対象11を配置し、各頂点にカメラ12を配置して、中心に向かう撮影方向13に撮影した状況に相当する。
【0037】
このように、対象を正多面体や球の中心に配置し、正多面体の頂点や球の表面から中心に向かう撮影方向で当該頂点から対象を撮影することにより、初期画像を得ることができる。
【0038】
また、各撮影方向における撮影位置と対象との距離が異なる場合には、各画像内における対象の大きさが同程度となるように、各初期画像を拡大あるいは縮小することにより、距離の相違に対する補正を行うこととしても良い。
【0039】
このほか、画像処理装置101に対して、複数の撮影方向から対象を撮影した複数の動画像を与えることも可能である。この場合には、各動画のフレームを撮影時刻ごとに取り出して静止画像として取り扱い、以下の処理を全フレームについて繰り返せば良い。
【0040】
以下では、特に言及しない限り、撮影方向は、直交する2方向であり、画像処理装置101は、静止した画像から、対象のボリュームを構築する例を想定して説明する。
【0041】
図4は、複数の撮影方向から対象を撮影した画像の例を表す説明図である。本図は、撮影の対象として炎を採用した撮影例である。本図では、直交する撮影方向を表す「0
o」および「90
o」の文字を、画像に重ねて表示している。
【0042】
さて、画像処理装置101の初期化部104は、複数の初期画像を入力として受け付けると、当該初期画像のそれぞれに対応付けられる撮影方向を参照して、当該対象の初期ボリュームを構築する(ステップS202)。
【0043】
異なる複数の撮影方向から対象を撮影した複数の画像から、当該対象のボリュームを構築するには、任意のトモグラフィ技術を適用することができる。利用可能なトモグラフィ技術としては、非特許文献1に開示されるラドン変換ならびにフィルタ補正逆投影、非特許文献2に開示される最小自乗法のほか、確率的トモグラフィ(stochastic tomography)、濃度シート・デコンポジション(density-sheet decomposition)などがある。いずれの技術を採用するかは、撮影方向の数や画像処理装置の計算負荷等を考慮して、適宜選択が可能である。
【0044】
なお、本実施例では、初期画像の撮影方向は、限定された少数のものとするのが素材を収集する上で簡便である。この場合には、初期化部104では、少数の撮影方向から撮影された画像から対象を最小自乗法により構築する手法が、計算負荷等の面で好適なことが多い。
【0045】
最小自乗法による手法では、撮影された初期画像と、構築されるべきボリュームからレンダされるべき画像と、の相違を最小化する。したがって、得られた初期ボリュームを当初の撮影方向から見てレンダした画像は、初期画像と極めて類似しているはずである。
【0046】
ボリュームから画像をレンダするには、レイキャスティングを利用することができる。レイキャスティングには、3次元グラフィックスにおける平行投影もしくは1点透視投影を用いるのが典型的である。
【0047】
平行投影では、投影面に対して垂直な方向のレイが、初期ボリュームを通過する際に遭遇したボクセルのボクセル値を単純加算した値や、もしくは、投影面からボクセルまでの距離に応じて減衰加算等により積算した値を、当該レイが投影面と衝突するピクセルのピクセル値とする。平行投影では、投影面に描画されるボリュームの大きさは、投影面とボリュームとの距離に依存しない。
【0048】
1点透視投影では、投影面から離間して配置された焦点を通過するレイが、初期ボリュームを通過する際に遭遇したボクセルのボクセル値を単純加算した値や、もしくは、焦点からボクセルまでの距離に応じて減衰加算等により積算した値を、当該レイが投影面と衝突するピクセルのピクセル値とする。この焦点の位置は、対象を撮影したカメラの位置と対象との距離、ならびに、カメラが備えるレンズの焦点距離に応じて定めることにより、投影面に描画されるボリュームの大きさを、カメラにより撮影された対象の大きさと同程度とすることができる。
【0049】
一般に、計算量を抑制するという点で、平行投影を採用する方が有利な場合も多い。しかしながら、3次元グラフィックス用の画像処理プロセッサが利用できる状況下では、当該画像処理プロセッサが提供する投影手法を適宜利用することもできる。
【0050】
なお、最小自乗法による構築では、ボリュームから画像をレンダする処理を実際に行うわけではなく、与えられた画像に対して行列計算を施すことにより、ボリュームを構築することができる(非特許文献2参照)。
【0051】
すなわち、求めたい対象が置かれた空間の各ボクセル値を並べた行列をV、レイ・キャスティングによる投影を行う行列をB、ボリュームからレンダされる画像のピクセル値を並べた行列をPとすると、
P = BV
が成立する。一般には、行列V, B, Pは正方行列ではない。本例では、0
oおよび90
oの方向に対象を撮影した画像Pと、0
oおよび90
oの方向にレイ・キャスティングを行う行列Bと、が既知であるから、
V = (B
TB)
-1B
TP
と表現することができる。したがって、共役勾配法や最急降下法、擬似逆行列等の計算技術を用いることで、Vを計算することができる。共役勾配法等を用いることが、実際に撮影された画像Pと、構築されるべきボリュームVからレンダされるべき画像BVと、の相違を最小化することに相当する。
【0052】
図5は、入力された画像から構築された初期ボリュームをある観察方向から見た様子を表す画像の例を表す説明図である。本図は、最小自乗法により構築された初期ボリュームを、二つの撮影方向とは異なる観察方向(本図では45
o斜め上)から見た様子を表す画像を、レイキャスティングにより投影して、生成したものである。
【0053】
本図に示す通り、初期ボリュームでは、菱形のグリッドが表出しているほか、入力された画像に比べてボケが生じていることがわかる。
【0054】
さて、本実施例では、レンダ部105は、先の工程において構築されたボリュームを、1つ以上の観察方向から観察することにより、画像をレンダする(ステップS205)。
【0055】
たとえば、初期画像の撮影方向は0
o、90
oであるから、これらとは異なる観察方向xとして、1
o刻みに、1
o, 2
o, 3
o, …, 89
oを採用することができる。観察方向xの刻み幅、方向ならびに数は、適宜変更することができる。なお、観察方向は、典型的には初期画像の撮影方向とは異なるものとするが、初期画像の撮影方向を含んでいても良い。
【0056】
図6は、複数の観察方向からボリュームを見た様子をレンダした画像の例を表す説明図である。本図は、初期ボリュームを1
o, 2
o, 3
o, …の観察方向から見た様子をレイキャスティングにより投影して、生成したものである。各観察方向は、対象を貫通する回転軸周りに撮影方向0
oおよび90
oを回転させたものであり、撮影方向ならびに観察方向は、いずれも同一平面内に含まれることになる。
【0057】
本図においても、先の図と同様に、入力された画像に比べてボケが生じており、
図4に示す初期画像と見た目の印象が異なってしまっている。
【0058】
このような問題が生じるのは、初期ボリュームを、少ない数の初期画像から構築しており、初期画像における情報量は、対象の3次元的な構造を表すための情報量よりも少ないからである。すなわち、少数の撮影方向から撮影された画像に基づいて、対象を元通り完全に構築することは極めて難しい。
【0059】
いわゆる医療目的で利用されるCTスキャンでは、多数の画像から、できるだけ元通りの対象のボリュームを構築しようとするが、本実施例は、観察者にとってできるだけ自然で、数少ない初期画像に対して妥当なボリュームを構築することを目的とする。以下、情報量の少なさによる初期ボリュームのボケ等の問題を改善する手法について説明する。
【0060】
ここで、ボケ等の度合は、画像の統計量により数値化が可能である。
図4に示す画像からは、0
oの撮影方向における統計量v(0
o)と、90
oの撮影方向における統計量v(90
o)と、が計算できる。
図5や
図6に示す画像のボケ等の度合が不自然である、ということは、これらの画像の統計量が、初期画像の統計量v(0
o)、v(90
o)から考えて、逸脱しているからと考えられる。したがって、初期画像の統計量v(0
o)、v(90
o)から、統計量v(1
o), v(2
o), …, v(89
o)を補間して、
図6に示す各画像の統計量が、補間により推定された統計値v(1
o), v(2
o), …, v(89
o)に一致するように、各画像を修正すれば、対象を観察方向1
o, 2
o, …, 89
oから観察した、より一層自然な画像が得られるはずである。本実施例は、撮影方向とは異なる複数の観察方向についてレンダされた画像に対して、このような修正を施す。
【0061】
さて、画像の統計量としては、以下のようなものを利用することができる。
【0062】
(1)画像全体の平均的な明度、輝度、彩度あるいは色相。これらは、画像に含まれるピクセル値から計算が可能である。
【0063】
(2)画像のコントラスト。モノクロ画像の場合、ピクセル値の最大値をL
max、最小値をL
minとすると、画像のコントラストは、L
max/L
minもしくは(L
max-L
min)/(L
max-L
min)と表現することができる。また、画像のコントラストを表す統計量として、ピクセル値の分散や標準偏差を採用することもできる。カラー画像の場合には、画像のピクセル値のRGB空間における平均値と、各ピクセル値との距離の分散や標準偏差を採用することができる。
【0064】
(3)画像のシャープネス。画像に描写された対象の輪郭がはっきりしていれば、シャープな画像ということになるから、画像に対して輪郭強調フィルタを施したものと元の画像との差分、あるいは、画像に対してぼかしフィルタを施したものと元の画像との差分を、シャープネス値として採用することができる。
【0065】
(4)画像の濃度ヒストグラム。各ピクセル値と、当該各ピクセル値を有するピクセル数と、を対応付けるヒストグラムにより、画像を特徴付ける。カラー画像の場合には、RGB成分のそれぞれについてヒストグラムを用意する。
【0066】
(5)画像のテクスチャに対するピラミッド画像の濃度ヒストグラム。ステアラブル・ピラミッド法により画像を複数スケール、複数帯域に分解すると、各スケール、各帯域に対するピラミッド画像が得られる。本態様では、各ピラミッド画像の濃度ヒストグラムを、当該画像の統計量として取り扱う。
図7は、ある画像をステアラブル・ピラミッド法により分解して得られるピラミッド画像を表す説明図である。本図は、ボリュームをある観察角度から見ることによりレンダされた画像をステアラブル・ピラミッド法により4スケール、4帯域に分解したものである。この分解によって、14個のピラミッド画像が得られるが、本図では、高周波成分の図示を省略して、13個のピラミッド画像を図示している。すなわち、この例では、14個のピラミッド画像におけるピクセル値の濃度ヒストグラムを、画像の統計量として取り扱うものである。
なお、ステアラブル・ピラミッド法による分解におけるスケール数や帯域数は、用途や計算機の能力に応じて、適宜変更が可能である。
【0067】
本実施例で採用する統計量としては、これらからいずれか1つを選ぶことができるほか、これらを組み合わせても良い。たとえば、ステアラブル・ピラミッドの統計量をマッチングさせた後に最後に濃度やシャープネスの統計量をマッチングさせる等により、複数の統計量をまとめて取扱い、各観察方向における統計量を補間することができる。また、本実施例では、繰り返し計算を行うので、各繰り返し段階において、異なる種類の統計量を採用することとしても良い。たとえば、最初の数回の繰り返しでは、ステアラブル・ピラミッドの統計量のマッチングを行い、最後に濃度やシャープネスの統計量をマッチングさせる等である。
【0068】
なお、ステアラブル・ピラミッドに含まれる各ピラミッド画像の濃度ヒストグラムを採用する手法(5)は、計算負荷は高いが、上記のそれ以外の手法(1)-(4)を包含するものと考えられる。したがって、手法(5)のみを採用することとしても良いし、粗い近似をすれば十分な繰り返しの当初では、手法(1)-(4)を採用し、ある程度繰り返しが進んでから手法(5)により精密な近似を行うことにより、全体の計算負荷を下げることとしても良い。
【0069】
さて、算定部102は、初期画像の統計量を、複数の撮影方向にそれぞれ対応付けて算定する(ステップS203)。これにより、ある方向(0
oの方向)から撮影した画像の統計量v(0
o)と、それと直交する方向(90
oの方向)から撮影した画像の統計量v(90
o)と、が、算定される。
【0070】
ついで、推定部103は、初期画像の各撮影方向について算定された統計量から、観察方向に対応付けられる統計量を推定する(ステップS204)。
【0071】
推定手法として、最も単純なものは、線形補間である。一般に、ある値a, bに対する実測値v(a), v(b)があるときに、aとbとの間の値xに対する値v(x)を線形補間するには、
v(x) = 〔v(a)×(b-x)+v(b)×(x-a)〕/(b-a)
とすれば良い。撮影方向が、0
oおよび90
oの2方向であれば、
v(x) = 〔v(0
o)×(90
o-x)+v(b)×x〕/90
o
となる。
【0072】
なお、0
oの撮影方向から撮影された撮影画像Aと、90
oの撮影方向から撮影された撮影画像Bと、がある場合に、撮影画像Aの左右を反転した反転画像A'を、180
oの撮影方向から撮影された撮影画像とし、3つの画像A, B, A'を初期画像とすることもできる。反転画像A'には、撮影画像Aに描写された対象が、撮影方向に直交する回転軸に対して反転して描写されることになる。このときに、90
oから180
oまでの観察方向に対する統計量は、撮影画像Bと反転画像A'の統計量から補間することが可能である。
【0073】
さらに、全周囲のxについて、統計量v(x)を推定することもできる。この場合には、統計量の値域の制限(たとえば、負の値にはならない等。)、ならびに、統計量が一周して滑らかに変化および連続すること(たとえば、v(x)のn次導関数が連続する、v(0
o)=v(360
o)や)を制約条件として、ラグランジュ補間、スプライン補間、最小自乗補間等をすることもできる。一周による補間は、対象を前後左右から撮影した4つの初期画像や、対象を120度おきに撮影した3つの初期画像を利用する場合に好適である。
【0074】
上記の撮影画像A(0
o)、撮影画像B(90
o)、反転画像A'(180
o)に加えて、撮影画像Bの左右を反転した反転画像B'を、270
oの撮影方向から撮影された撮影画像として、これら4つの画像を、対象を前後左右から撮影した初期画像として取り扱うこともできる。この場合には、一周による補間を行うことが望ましい。
【0075】
撮影方向が立体的に設定されている場合には、3次元空間における中心からの距離により各方向における統計量を表現したパラメトリック曲面を考えて、このパラメトリック曲面に対して、上記のような各種の補間を適用すれば良い。
【0076】
統計量として、ヒストグラムを採用する場合には、観察方向に対するヒストグラムの各ビン(各ピクセル値)におけるピクセル数を、補間により求めれば良い。
【0077】
なお、レンダ部105によるレンダ(ステップS205)ならびに推定部103における推定(ステップ204)は、互いに依存しないので、順序を入れかえても良いし並行して実施しても良い。また、算定部102による算定(ステップS203)ならびに初期化部104による構築(ステップS202)は、互いに依存しないので、順序を入れかえても良いし並行して実施しても良い。
【0078】
さて、修正部106は、各観察方向に対応付けられて推定された統計量により、当該各観察方向についてレンダされた画像を修正する(ステップS206)。
【0079】
統計量として、明度、輝度、彩度、色相、コントラストを採用した場合には、単一ガンマ補正やRGBの色別ガンマ補正等により、レンダされた画像を修正して、画像の統計量を補間により推定された統計量に合わせればよい。統計量としてシャープネスを採用した場合には、レンダされた画像に適用するぼかしフィルタやシャープ化フィルタのパラメータを適宜調整することで、当該画像の統計量が補間により推定された統計量に合致するように、修正を行うことができる。
【0080】
統計量として、画像自体の濃度ヒストグラムやステアラブル・ピラミッドのピラミッド画像の濃度ヒストグラムを採用する場合には、画像に含まれる各ピクセルのピクセル値の分布が、ヒストグラムの各ビンについて推定されたピクセル数に一致するように、ヒストグラム・マッチングを行う。
図8は、各観察方向における統計量を推定する手法を表す説明図である。
【0081】
非特許文献3では、2つの画像A、Bがあるときに、画像Bを、画像Aに似た質感に揃えた画像Cを得る技術が開示されている。同文献に開示されたピラミッド画像のヒストグラム・マッチングでは、画像Aおよび画像Bのピラミッド画像の濃度ヒストグラムを求めて、対応するスケールおよび帯域ごとに、画像Bのピラミッド画像の濃度ヒストグラムを、画像Aのピラミッド画像の濃度ヒストグラムに置き換える。
【0082】
本図に示す例では、定められた撮影方向(0
oおよび90
o)の初期画像のピラミッド画像(本図(a)(c))の各スケール、各帯域の濃度ヒストグラムを計算し(本図(d)(f))、上記の各種補間技術により、各観察方向(x
o)の濃度ヒストグラム(本図(e))を補間により推定している。そして、各観察方向についてレンダされた画像から求められるピラミッド画像(本図(b))の濃度ヒストグラムを、補間により推定された濃度ヒストグラムに置き換えて、ヒストグラム・マッチングにより、ピラミッド画像(本図(b))を修正する。この後、修正されたピラミッド画像(本図(b))から画像を合成すれば、修正された画像が得られるのである。
【0083】
なお、画像自体の濃度ヒストグラムによる手法は、ステアラブル・ピラミッド法においてスケール数1、帯域数1による分解を行う手法(実質的には、まったく分解を行わないこと。)に相当する。
【0084】
図9は、観察方向に対して推定された統計量に基づいてレンダされた画像を修正した画像の例を表す説明図である。本図には、ステアラブル・ピラミッドおよびヒストグラム・マッチングにより、各観察方向についてレンダされた画像を修正した結果が示されている。
【0085】
本図を見ると、
図6に比べて、各画像のボケ等の問題が抑制され、画像の質感が、初期画像に類似して、より一層自然になっていることがわかる。
【0086】
各観察方向についてボリュームからレンダされた画像を、推定された統計値に基づいて修正したら、構築部107は、初期画像およびその撮影方向、修正済画像およびその観察方向から、対象のボリュームを構築する(ステップS207)。
【0087】
本実施形態では、ボリュームを構築(construct)する際に、トモグラフィ技術による復元(reconstruct)技術を利用する。すなわち、トモグラフィ技術では、対象が撮影された画像から、当該対象の3次元的な元通りの姿を構築することを目標としている。本実施形態では、このトモグラフィ技術を修正済画像に対して適用することにより、必ずしも元通りの姿を構築するのではなく、観察者に妥当で自然な印象を与えるボリュームを構築する点に特徴がある。
【0088】
なお、以下に説明する例では、0
oの撮影方向から撮影された画像A、90
o)の撮影方向から撮影された画像Bのほか、画像Aの反転画像A'を180
oの撮影方向から撮影したものとみなして、3枚の初期画像を採用している。
【0089】
0
o, 90
o, 180
oの撮影方向に対する初期画像と、1
o, 2
o, …, 89
o, 91
o, 92
o, …, 179
oの観察方向に対する修正済画像と、から、ボリュームを構築する際には、ステップS202と同様に、任意のトモグラフィ技術を適用することができる。
【0090】
上記の例は、1つの回転軸周りに1
o刻みに撮影した181枚の画像が得られている状況に相当するので、医療用CTスキャンなどでも広く用いられているラドン変換に基づいて、フィルタ補正逆投影法を適用することにより、高速にボリュームを構築することができる。すなわち、各画像の撮影方向、観察方向の角度を考慮してピクセル位置を回転移動させた上で、逆フーリエ変換によりピクセル値を畳み込み積算すれば良い。
【0091】
図10は、修正された画像から構築されたボリュームをある観察方向から見た様子を表す画像の例を表す説明図である。本図は、
図5と同じ観察方向、すなわち、45
o斜め上からボリュームを見た様子をレンダしたものである。本図に示すように、鮮明で、グリッドのないボリュームが得られていることがわかる。
【0092】
なお、構築部107における構築においては、最小自乗法を適用することも可能である。すなわち、初期画像から初期ボリュームを構築する際と同様に、行列Pには、各撮影方向に対する撮影画像ならびに各観察方向に対する修正済画像のピクセル値を並べ、行列Bは、各撮影方向ならびに各観察方向にレイ・キャスティングを行う行列として、
V = (B
TB)
-1B
TP
により、新たなボリュームを構築すれば良い。
【0093】
撮影画像は実際に撮影された画像であり、修正済画像はあくまで推定された画像であることから、撮影画像の情報を修正済画像の情報よりも重要視するように調整することも可能である。この場合には、行列P、B内において、撮影画像に関する要素に、1より大きい定数の重みを乗じてから、最急降下法や共役勾配法を用いれば良い。
【0094】
このように、本実施例によれば、初期画像から構築された初期ボリュームから各観察方向に対してレンダされた画像を、初期画像の統計量から当該各観察方向に対して推定された統計量によって修正し、初期画像および修正済画像から再度ボリュームを構築するだけで、初期ボリュームよりも自然なボリュームを得ることができる。したがって、画像処理装置101は、ここで得られたボリュームを、初期画像から構築された対象のボリュームとして出力することができる。
【0095】
ただし、新たに構築されたボリュームが収束条件を満たすまで、新たに構築されたボリュームからレンダ部105が各観察方向に対する画像をレンダし、これを修正部106が修正し、構築部107が初期画像および修正された画像からさらにボリュームを構築する処理を繰り返すこととすれば、より一層ボリュームの自然さを増すことができる。この繰り返し制御は、制御部108が行う。
【0096】
すなわち、画像処理装置101は、ステップS207にて構築されたボリュームが収束条件を満たしているか否かを判定し(ステップS208)、満たしていなければ(ステップS208;No)、ステップS205に戻って、最後に構築されたボリュームについて、各観察方向の画像をレンダ(ステップS205)し、レンダされた画像を統計量により修正(ステップS206)し、修正された画像からボリュームを構築(ステップS207)する処理を繰り返す。
【0097】
収束条件を満たしていれば(ステップS208;Yes)、当該ボリューム、もしくは、当該ボリュームを所望の方向から見た様子を表す画像を処理結果として出力して(ステップS209)、本処理を終了する。
【0098】
収束条件として最も単純なものは、「常に成立」であり、この場合には、初期画像から構築されたボリュームについて、各観察方向の画像をレンダ(ステップS205)し、レンダされた画像を統計量により修正(ステップS206)し、修正された画像からボリュームを構築(ステップS207)する処理が1回だけ行われる。
【0099】
このほか、前回構築されたボリュームと、最後に構築されたボリュームと、の相違が所定の誤差範囲内であれば、収束条件が満たされたものとしても良い。ボリューム同士の相違は、各ボクセル値の相違(色空間における距離)の総和や自乗和を、全ボクセル値の総和や自乗和で割った値により表現することができる。これが、所定の十分に小さい定数(たとえば、10
-3〜10
-5の間の所定値。)より小さければ、収束したものとみなすのである。
【0100】
また、構築されたボリュームをユーザに提示し、ユーザが所望の品質に達していると判断して、その旨の指示を入力した場合に、収束条件が満たされたものとしても良い。
【0101】
このほか、特定の観察方向から前回構築されたボリュームを見た画像と、最後に構築されたボリュームを見た画像と、レンダし、これらを比較することで、収束の成否を簡易に判定することもできる。
【0102】
本実施例によれば、少ない撮影方向から対象を撮影した初期画像から、当該対象の自然なボリュームを構築することが可能となる。
【0103】
上記のように、本実施例は、透明あるいは半透明な対象のみならず、不透明な対象に対しても適用が可能である。この場合に得られるボリュームでは、表面およびその近傍のボクセル値は非ゼロであるが、内部のボクセル値はゼロもしくは極めて小さいことになる。
【0104】
なお、初期化部104における構築では、直交する撮影方向(0
o、90
o)から撮影された2枚の撮影画像A, Bを初期画像として用い、レンダ部105、修正部106、構築部107では、撮影画像Aの左右を反転した画像A'を180
oの方向から撮影された初期画像として追加したり、撮影画像Bの左右を反転した画像B'を270
oの方向から撮影された初期画像としてさらに追加したりすることができる。また、奇数回目の繰り返しでは、画像A(0
o), B(90
o), A'(180
o)を使い、偶数回目の繰り返しでは、画像A(0
o), B(90
o), B'(270
o)を使うこともできる。すなわち、各処理において、適宜初期画像を追加したり省略したりすることも可能である。
【実施例4】
【0121】
上記実施例では、初期画像として複数の撮影方向から撮影した複数の画像を利用していたが、画像処理装置101の取得部111が取得した1つの画像を、複数の撮影方向から撮影したものとみなすことにより、複数の初期画像として取り扱って、以降の処理を行うことも可能である。
【0122】
たとえば、炎を正面から撮影した動画Aが既にある場合に、動画Aを、正面および側面から撮影した動画であるとして、画像処理装置101に与えるのである。
【0123】
また、動画Aの左右を反転した動画A'を用意して、動画Aは正面から撮影した動画、動画A'は側面から撮影した動画として、画像処理装置101に与えても良い。すると、略対称なボリュームが得られることになる。
【0124】
図12は、1つの入力画像を複数の撮影方向から撮影した画像であると見なして画像処理装置により処理させた3つの例を示す説明図である。本図では、3つの例が示されており、各例の左側が、2つの撮影方向に与えられた初期画像、右側が、画像処理装置101により構成されたボリュームを撮影方向とは異なる方向から見た画像である。
【0125】
本図からもわかる通り、この手法では、現実の対象を一方向から撮影した動画から、現実の対象とは異なるものの、妥当なボリュームを構成することができる。
【0126】
このほか、上記実施例では、取得部111により取得された初期画像をすべて参照して初期ボリュームを構築し、当該初期画像のすべての統計量を算定した上で、これらをすべて参照して、各観察方向に対する統計量を推定し、構築部107によるボリュームの構築においても、当該初期画像をすべて参照していた。
【0127】
しかしながら、統計量を算定する1以上の初期画像(以下「第1の素材画像」という。)、初期ボリュームを構築するために利用する複数の初期画像(以下「第2の素材画像」という。)、修正済画像とともにボリュームを構築するために利用する1以上の初期画像(以下「第3の素材画像」という。)は、必ずしも、取得した初期画像のすべてを利用する必要はなく、その一部を利用するのでも良い。たとえば、第1の素材画像として、0
o、30
o、60
o、90
oの撮影方向の画像を採用し、第2の素材画像として、0
o、90
oの撮影方向の画像を採用し、第3の素材画像として、15
o、45
o、75
oの撮影方向の画像を採用する等である。
【0128】
第1、第2、第3の素材画像は、一致していても良いし、互いに一部が重複していても良いし、互いに同じ撮影方向の画像を含まないものとしても良い。また、繰り返し毎に、第1、第2、第3の素材画像を、初期画像の中から適宜選び直すことにより、変化させても良い。なお、上記実施例は、第1、第2、第3の素材画像として、取得した初期画像の全部を利用する態様である。
【0129】
このほか、観察方向が複数である場合、特に、観察方向の数が十分に多い場合には、構築部107がボリュームを構築する際に、第3の初期画像を利用せずに、修正済画像およびその観察方向だけを参照することとしても良い。たとえば、第1、第2の素材画像として、0
o、90
oの撮影方向の初期画像を利用し、構築部107によるボリュームの構築では、初期画像は参照せず、1
o, 2
o, …., 89
o, 91
o, 92
o, …, 179
oの観察方向の修正済画像を参照する、という手法である。
【0130】
第1の素材画像として1枚の画像を採用した場合には、いずれの観察方向から観察した場合であっても、第1の素材画像について算定された統計量が、当該観察方向に対して推定された統計量として用いられる。この態様では、いずれの観察方向から観察した場合であっても質感の変化が乏しく、観察者に一様な印象を与えるボリュームが得られる。
【0131】
さらに、初期画像として与えられる画像は、対象が描画されていれば十分であり、対象をカメラにより撮影したものである必要はない。たとえば、画家が想像上の事物を描いた画像を初期画像とすれば、画像処理装置101により、当該想像上の事物の3次元ボリュームを得ることができる。たとえば、取得部111に想像上の事物を描いた1枚の画像のみを与えた場合には、その画像に0
oおよび90
oの撮影方向に対応付け、その画像の反転画像に180
oおよび270
oの撮影方向に対応付けることにより、4枚の初期画像を作ることができる。
【0132】
すなわち、本発明における撮影方向は、必ずしも、対象を撮影する際に用いた方向である必要はない。たとえば、画家が想像上の事物を描いた画像を初期画像とする場合には、当該画家が想像上の世界において当該事物を観察したと想定して当該事物を描写した方向(描写方向)が、当該初期画像の撮影方向となる。
【0133】
また、初期画像として与えられる画像は、必ずしも同一の事物を異なる撮影方向から撮影したものでなくとも良い。たとえば、紅葉した樹木を描写した画像を0
oの方向の初期画像とし、これを反転した画像を180
oの方向の初期画像とし、炎を描写した画像を90
oの方向の初期画像とし、これを反転した画像を270
oの方向の初期画像とする。すると、画像処理装置101により、ある方向からは樹木に見え、見る方向を変えると次第にその形態が変化して、他の方向からは炎に見えるような、架空の対象の3次元的なボリュームを得ることができる。
【0134】
このように、本手法では、複数のカメラの位置のキャリブレーション、複数の動画の時刻の同期やサイズの調整などの手間を省くことができる。したがって、本手法によれば、たとえば、3次元グラフィックスを利用したコンピュータゲームで利用される多数のボリューム素材を、低労力、短期間で、安価に用意することができる。
【0135】
以上説明した通り、本発明に係る画像処理装置は、
対象が描写された複数の初期画像のうち、第1の素材画像の統計量をそれぞれ算定する算定部、
前記複数の初期画像のうち、第2の複数の素材画像と、当該第2の複数の素材画像にそれぞれ対応付けられる第2の複数の撮影方向と、から、前記対象のボリュームを構築する初期化部、
前記算定された統計量から、観察方向に対応付けられる統計量を推定する推定部、
前記構築されたボリュームを前記観察方向から観察することにより、画像をレンダするレンダ部、
前記観察方向に対応付けられて推定された前記統計量により、前記レンダされた画像を修正する修正部、
少なくとも前記観察方向ならびに前記修正された画像から、前記対象のボリュームを構築する構築部
を備える。
【0136】
また、本発明の画像処理装置において、
前記構築部により構築された前記ボリュームが収束条件を満たすまで、前記構築部により構築された前記ボリュームを前記レンダ部に与えて、前記レンダ部によるレンダ、前記修正部による修正、ならびに、前記構築部による構築を繰り返す制御部
をさらに備えるように構成することができる。
【0137】
また、本発明の画像処理装置において、
前記制御部は、前記繰り返しをおこなう毎に、前記観察方向の向きもしくは数を変更し、前記変更された観察方向に対応付けられる統計量を前記推定部に推定させてから、前記レンダ部に前記構築されたボリュームを与える
ように構成することができる。
【0138】
また、本発明の画像処理装置において、
前記観察方向は、前記第1の素材画像に対応付けられる第1の撮影方向とは異なり、
前記構築部は、前記観察方向ならびに前記修正された画像と、前記複数の初期画像のうち、第3の1以上の素材画像ならびに当該第3の1以上の素材画像にそれぞれ対応付けられる第3の1以上の撮影方向と、から、前記対象のボリュームを構築する
ように構成することができる。
【0139】
また、本発明の画像処理装置において、
前記構築部は、前記第3の1以上の素材画像と、前記第3の1以上の撮影方向から前記構築しようとするボリュームを観察することによりレンダされるべき画像と、の相違、ならびに、前記修正された画像と、前記観察方向から前記構築しようとするボリュームを観察することによりレンダされるべき画像と、の相違を最小化することにより、前記ボリュームを構築する
ように構成することができる。
【0140】
また、本発明の画像処理装置において、
前記構築部における最小化において、前記複数の撮影方向に係る相違の重みは、前記観察方向に係る相違の重みよりも大きい
ように構成することができる。
【0141】
また、本発明の画像処理装置において、
前記第1の撮影方向および前記観察方向は、1つの回転軸に直交し、
前記推定部は、前記第1の撮影方向と前記観察方向とがなす角度に応じて前記第1の撮影方向に対応付けられる前記統計量を補間することにより、前記観察方向に対応付けられる前記統計量を推定する
ように構成することができる。
【0142】
また、本発明の画像処理装置において、
前記統計量は、画素値のヒストグラムである
ように構成することができる。
【0143】
また、本発明の画像処理装置において、
前記統計量は、ステアラブル・ピラミッド法により分解されたピラミッド画像の画素値のヒストグラムである
ように構成することができる。
【0144】
また、本発明の画像処理装置は、
前記対象を描写した1つの画像を取得し、前記取得された1つの画像に互いに異なる複数の撮影方向を対応付けることにより、前記複数の初期画像とする取得部
をさらに備えるように構成することができる。
【0145】
また、本発明の画像処理装置において、
前記繰り返しの処理の対象となる画像ならびにボリュームの解像度を、繰り返しが進むにつれて、次第に高くする
ように構成することができる。
【0146】
本発明の画像処理方法は、
対象が描写された複数の初期画像のうち、第1の素材画像の統計量をそれぞれ算定する算定ステップ、
前記複数の初期画像のうち、第2の複数の素材画像と、当該第2の複数の素材画像にそれぞれ対応付けられる第2の複数の撮影方向と、から、前記対象のボリュームを構築する初期化ステップ、
前記算定された統計量から、観察方向に対応付けられる統計量を推定する推定ステップ、
前記構築されたボリュームを前記観察方向から観察することにより、画像をレンダするレンダステップ、
前記観察方向に対応付けられて推定された前記統計量により、前記レンダされた画像を修正する修正ステップ、
少なくとも前記観察方向ならびに前記修正された画像から、前記対象のボリュームを構築する構築ステップ
を備える。
【0147】
本発明のプログラムは、コンピュータを、
対象が描写された複数の初期画像のうち、第1の素材画像の統計量をそれぞれ算定する算定部、
前記複数の初期画像のうち、第2の複数の素材画像と、当該第2の複数の素材画像にそれぞれ対応付けられる第2の複数の撮影方向と、から、前記対象のボリュームを構築する初期化部、
前記算定された統計量から、観察方向に対応付けられる統計量を推定する推定部、
前記構築されたボリュームを前記観察方向から観察することにより、画像をレンダするレンダ部、
前記観察方向に対応付けられて推定された前記統計量により、前記レンダされた画像を修正する修正部、
少なくとも前記観察方向ならびに前記修正された画像から、前記対象のボリュームを構築する構築部
として機能させる。
【0148】
上記のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ、半導体メモリ等のコンピュータ読み取り可能な非一時的(non-transitory)情報記録媒体に記録することができる。この情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【0149】
一般には、コンピュータは、非一時的(non-transitory)情報記録媒体に記録されたプログラムを、一時的(temporary)記憶装置であるRAM(Random Access Memory)に読み出してから、CPU(Central Processing Unit)が読み出されたプログラムに含まれる指令を実行する。ただし、ROMとRAMを一つのメモリ空間にマッピングして実行することが可能なアーキテクチャでは、ROMに格納されたプログラムに含まれる指令を、直接CPUが読み出して実行する。さらに、上記のプログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網等の一時的(transitory)伝送媒体を介して、サーバ装置等から端末装置等へ配布・販売することができる。