(第1の実施の形態)
以下、本発明の最良の形態に関し、図面を参照して説明する。
図1は、本発明の第1の実施の形態に係る分光画像生成装置1の構成の一例を示す機能ブロック図である。
本実施の形態に係る分光画像生成装置1は、相異なる特性を有する複数の画像センサのうちの一方の画像センサから出力された撮像信号に含まれる静止画の画像データから生成されたスペクトルデータから、予め定められた領域毎に相異なる複数のマトリクスのデータを生成し、生成した領域毎のマトリクスを他方の画像センサから出力された撮像信号に含まれる画像データの対応する領域に作用させることによって、静止画である分光画像を生成して、生成した分光画像を表示部1jの表示画面に表示する装置である。
具体的には、本実施の形態に係る分光画像生成装置1は、図2に示すように、波長方向のチャネル数が少なくとも4以上で、かつ、第1の空間解像度と第1の波長解像度とを有する第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成された空間方向にM1×M2個の要素を、波長方向にL個の要素をそれぞれ有するスペクトルデータと、波長方向のチャネル数が少なくとも3以下で、かつ、前述した第1の画像センサ1aの有する空間解像度よりも高い第2の空間解像度と、前述した第1の画像センサ1aの有する第1の波長解像度よりも低い第2の波長解像度とを有する第2の画像センサ1bから出力されたN1×N2個の画素を有する3枚の静止画のデータとから、空間方向にN1×N2個の画素と、波長方向にL個の要素とを有し、前述した第1の波長解像度と前述した第2の空間解像度とを有する、換言すれば波長解像度及び空間解像度の両方が高い静止画の分光画像を生成する装置である。
本実施の形態に係る分光画像生成装置1は、図1に示すように、第1の画像センサ1aと、第2の画像センサ1bと、スペクトルデータ生成部1cと、マトリクス生成部1dと、領域分割部1eと、領域データ記憶メモリ1fと、マトリクス乗算部1gと、加重平均算出部1hと、領域合成部1iと、表示部1jとを備えている。
なお、本実施の形態に係る分光画像生成装置1は、製造時に図示しない内蔵メモリにプログラムが書き込まれた、又は記録媒体もしくは通信ネットワークを介してプログラムがインストールされたコンピュータによって実現される。
また、本実施の形態に係る分光画像生成装置1を構成する各部は、ソフトウェアもしくはハードウェア又はハードウェアとソフトウェアとの組み合わせの何れから構成されていてもよいことは言うまでもない。
第1の画像センサ1aは、波長方向のチャネル数が少なくとも4以上で、かつ、第1の空間解像度と第1の波長解像度とを有する撮像素子であり、撮像した撮像信号をスペクトルデータ生成部1cに出力する。
第2の画像センサ1bは、波長方向のチャネル数が少なくとも3以下で、かつ、前述した第1の撮像素子の有する空間解像度よりも高い第2の空間解像度と、前述した第1の撮像素子の有する第1の波長解像度よりも低い第2の波長解像度とを有する撮像素子であり、撮像した撮像信号を領域分割部1eに出力する。
スペクトルデータ生成部1cは、第1の画像センサ1aから出力された撮像信号を受け取り、受け取った撮像信号の要素毎に、撮像信号からスペクトルデータへと変換する処理を行うことにより、当該第1の画像センサ1aから出力された撮像信号の要素毎のスペクトルデータを生成して、生成したスペクトルデータをマトリクス生成部1dに出力する。
具体的には、本実施の形態に係るスペクトルデータ生成部1cは、前述した図2に示すように、第1の画像センサ1aから受け取った撮像信号から縦方向にM1個、横方向にM2個、波長方向にL個の要素を有するスペクトルデータを生成して、生成したスペクトルデータをマトリクス生成部1dに出力する。
マトリクス生成部1dは、第1の画像センサ1aによって計測されたスペクトルデータの各要素を重み付けした結果、得られた特定の分光情報群、換言すればマトリクスを生成するためのサンプルデータを用いて、このサンプルデータに対する誤差を最小とするように、第1の画像センサ1aから出力された撮像信号内の画像データから生成されたスペクトルデータの空間方向に定義される領域(a,b)毎に対応付けられるマトリクスを生成し、生成したスペクトルデータの空間方向に定義される領域(a,b)毎のマトリクスのデータと、スペクトルデータの空間方向に定義される領域(a,b)に関するデータとの組をマトリクス乗算部1gに出力する。
具体的には、本実施の形態に係るマトリクス生成部1dは、スペクトルデータ生成部1cから出力された縦方向にM1個、横方向にM2個、波長方向にL個の要素を有するスペクトルデータを受け取り、受け取ったスペクトルデータから下記の式(1)によって、スペクトルデータの空間方向に定義される領域(a,b)毎のマトリクスを、全領域に関して生成し、生成した領域毎のマトリクスのデータと、スペクトルデータの空間方向に定義される領域(a,b)に関するデータとの組をマトリクス乗算部1gに出力する。
ただし、スペクトルデータの空間方向に定義される領域の数は、スペクトルデータの要素の数と同一とする。つまり、aは、0<a≦M1を満たす自然数である。また、bは、0<b≦M2を満たす自然数である。更に、M1は、スペクトルデータ生成部1cによって生成されたスペクトルデータの空間方向の縦方向における要素の数を意味する。また、M2は、スペクトルデータ生成部1cによって生成されたスペクトルデータの空間方向の横方向における要素の数を意味する。
ここで、「Aa,b」は、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータの空間方向に定義される領域(a,b)毎に定められたマトリクスを意味する。
また、「S」は、前述したM個のスペクトルデータを列ベクトルとして配列したL行M列の行列を意味する。
更に「H」は、オリジナルの分光情報f(i,j)と、それに対応する画像データg(i,j)と、画像データに含まれるノイズを示す3次元列ベクトルnとの間の下記式(2)で示す入出力関係を規定する3行L列の行列を意味する。
また、Wa,bは、下記式(3)で示されるM行M列の対角行列である。
ここで、d(a,b,p,q)は、第1の画像センサ1aから出力された撮像信号内の画像データから生成されたスペクトルデータの空間方向に定義される位置(p,q)と、スペクトルデータの空間方向に定義される領域(a,b)の中心位置との間のユークリッド距離を意味する。
ただし、aは、0<a≦M1を満たす自然数である。また、bは、0<b≦M2を満たす自然数である。更に、M1は、スペクトルデータ生成部1cによって生成されたスペクトルデータの空間方向の縦方向における要素の数を意味する。また、M2は、スペクトルデータ生成部1cによって生成されたスペクトルデータの空間方向の横方向における要素の数を意味する。
更に、「wa,b,p,q」は、第1の画像センサ1aから出力された撮像信号内の画像データから生成されたスペクトルデータの空間方向に定義される位置毎に個別に定められる重み付け係数であり、前述したd(a,b,p,q)との間に下記式(4)で示される関係を有している。
ここで、「ρ」は、重み付け係数の減少の程度を決定しているパラメータであり、例えば領域の大きさをD1=D2=Dとしたとき、この領域の大きさをD1=D2=Dに応じて、ρの値をρ4.5D=0.01として、換言すれば4.5D要素(つまり、4.5領域分)離れた点で、重み係数が0.01となるように設定することが本実施の形態では、より好ましい。
なお、このように、重み付け係数を設定すると、0.01以下の重みが乗算されたスペクトルデータは、マトリクスの生成にほとんど寄与しないと考えることが出来るので、第1の画像センサ1aから出力された撮像信号内の画像データから生成されたスペクトルデータの空間方向に定義される領域(a,b)に対応付けられるマトリクスAa,bは、この領域(a,b)を中心とする範囲の9D×9D、換言すれば9×9=81個のスペクトルデータを用いてマトリクスの生成を行っていることになる。
ここで、重み付け係数は、例えば図3に示すように、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータの空間方向に定義される位置(p,q)と、第1の画像センサ1aから出力された撮像信号内の画像データから生成されたスペクトルデータの空間方向に定義される領域(a,b)の中心位置との間のユークリッド距離d(a,b,p,q)が0であるとき、換言すれば第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータの空間方向に定義される位置(p,q)が第1の画像センサ1aから出力された撮像信号内の画像データから生成されたスペクトルデータの空間方向に定義される領域(a,b)の中心に存在する場合には、「1」になり、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータの空間方向に定義される位置(p,q)と、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータの空間方向に定義される領域(a,b)の中心との間のユークリッド距離d(a,b,p,q)が大きくなればなるほど値が小さくなるように設定されている。
なお、本実施の形態に係る分光画像生成装置1に関しては、パラメータρの設定手法、及び重み付けの計算手法は、本実施の形態に係る分光画像生成装置1で実行している手法に限定されないことは言うまでもない。
「ST」は、前述したM個のスペクトルデータを列ベクトルとして配列したL行M列の行列「S」の転置行列を意味する。
「HT」は、前述したオリジナルの分光情報f(i,j)と、それに対応する画像データg(i,j)と、画像データに含まれるノイズを示す3次元列ベクトルnとの間の前述した式(2)で示す入出力関係を規定する3行L列の行列Hの転置行列を意味する。
また、「C」は、第1の画像センサ1aから出力された撮像信号に含まれる画像データに含まれるノイズの共分散行列を意味する。
領域分割部1eは、第2の画像センサ1bから出力された撮像信号を受け取り、当該撮像信号に含まれる画像データを複数の領域に分割して、分割した各画像データをマトリクス乗算部1gに出力する。
具体的には、本実施の形態に係る領域分割部1eは、第2の画像センサ1bから受け取った撮像信号内の画像データを(M1×M2)個の複数の領域(α,β)に分割して、分割した各画像データと、画像データ上で定義された領域(α,β)に関するデータとの組をマトリクス乗算部1gに出力する。ここで、αは0<α≦M1を満たす自然数である。また、βは0<j≦M2を満たす自然数である。
領域データ記憶メモリ1fは、操作者の操作によって入力されたスペクトルデータの空間方向に定義される領域(a,b)に関するデータと、第2の画像センサ1bから出力された撮像信号に含まれる画像データ内で定義される領域(α,β)に関するデータとが各々対応して記憶された領域データ記憶テーブルを有している。
マトリクス乗算部1gは、スペクトルデータの空間方向に定義される領域(a,b)毎のマトリクスと、スペクトルデータの空間方向に定義される領域(a,b)に関するデータとの組をマトリクス生成部1dから受け取ると、スペクトルデータの空間方向に定義される領域(a,b)に関するデータに対応付けられた画像データ上で定義された領域(α,β)に関するデータを領域データ記憶メモリ1fから読み出し、下記式(5)〜式(13)に示すように、当該画像データの領域(α,β)に対応するペクトルデータの空間方向に定義される領域(a,b)に対して生成されたマトリクスAa,bと、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a−1,b+1)に対して生成されたマトリクスAa−1,b+1と、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a,b+1)に対して生成されたマトリクスAa,b+1と、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a+1,b+1)に対して生成されたマトリクスAa+1,b+1と、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a−1,b)に対して生成されたマトリクスAa−1,bと、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a+1,b)に対して生成されたマトリクスAa+1,bと、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a−1,b−1)に対して生成されたマトリクスAa−1,b−1と、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a,b−1)に対して生成されたマトリクスAa,b−1と、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a+1,b−1)の領域に対して生成されたマトリクスAa+1,b−1とを読み出した画像データ上で定義された領域(α,β)に関するデータに対応する画像データの領域(α,β)のデータに各々乗算して、複数の分光情報のデータを得た後、得られた分光情報のデータと、画像データの領域(α,β)に関するデータとの組を加重平均算出部1hに出力する。
例えば、本実施の形態に係る分光画像生成装置1のマトリクス乗算部1gは、図4に示すように、スペクトルデータの空間方向に定義される領域(3,3)と画像データの領域(3,3)とが対応している場合には、マトリクス生成部1dから受け取ったスペクトルデータの空間方向に定義される領域(3,3)に対して生成されたマトリクスA3,3と、この領域(3,3)の領域の周縁に存在する領域(2,2)に対して生成されたマトリクスA2,2と、領域(3,3)の領域の周縁に存在する領域(2,3)に対して生成されたマトリクスA2,3と、領域(3,3)の領域の周縁に存在する領域(2,4)に対して生成されたマトリクスA2,4と、領域(3,3)の領域の周縁に存在する領域(3,2)に対して生成されたマトリクスA3,2と、領域(3,3)の領域の周縁に存在する領域(3,4)に対して生成されたマトリクスA3,4と、領域(3,3)の領域の周縁に存在する領域(4,2)に対して生成されたマトリクスA4,2と、領域(3,3)の領域の周縁に存在する領域(4,3)に対して生成されたマトリクスA4,3と、領域(3,3)の領域の周縁に存在する領域(4,4)に対して生成されたマトリクスA4,4とを画像データ上で定義された領域(3,3)のデータにそれぞれ乗算して、得られた9個の分光情報のデータと、画像データ(3,3)に関するデータとの組を加重平均算出部1hに出力する。
ここで、g(i,j)は、画像データ上で定義された領域(α,β)に含まれる画素の中で(i,j)で指定される画素を、Aabは、スペクトルデータの空間方向に定義される領域(a,b)に対して生成されたL行3列の行列を、f^ a,b(i,j)は、スペクトルデータの空間方向に定義される領域(a,b)に対して生成されたL行3列の行列Aabを画像データ上で定義された領域(α,β)に含まれる画素の中で(i,j)で指定される画素に対して作用させて得られ、かつ、L次元の列ベクトルで示される分光情報をそれぞれ意味する。ここで、iは0<α≦N1を満たす自然数である。また、jは0<j≦N2を満たす自然数である。
本実施の形態に係るマトリクス乗算部1gは、第2の画像センサ1bによって得られた画像データ上で定義される複数の領域のデータに相異なるマトリクスを作用させることによって得られる複数の分光画像の間で生じる境界を除去する観点から、画像データ上で定義された領域(α,β)に関するデータに対応付けられたスペクトルデータの空間方向に定義される領域(a,b)に対して生成されたマトリクスAa,bのみではなく、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する8つの領域(a−1,b+1)、(a,b+1)、(a+1,b+1)、(a−1,b)、(a+1,b)、(a−1,b−1)、(a,b−1)、及び(a+1,b−1)を含めた9つの領域に対して生成されたマトリクスAa−1,b+1、Aa,b+1,Aa+1,b+1、Aa−1,b、Aa,b、Aa+1,b、Aa―1,b−1、Aa,b−1、Aa+1,b−1を画像データ上で定義された領域(α,β)に存在する画像データg(i,j)に対して、各々乗算して得られた分光情報f^a−1,b+1(i,j)、f^a,b+1(i,j),f^a+1,b+1(i,j)、f^a−1,b(i,j)、f^a,b(i,j)、f^a+1,b(i,j)、f^a―1,b−1(i,j)、f^a,b−1(i,j)、f^a+1,b−1(i,j)と画像データの領域(α,β)に関するデータとの組を加重平均算出部1hに出力している。
加重平均算出部1hは、マトリクス乗算部1gから出力された分光情報f^a−1,b+1(i,j)、f^a,b+1(i,j),f^a+1,b+1(i,j)、f^a−1,b(i,j)、f^a,b(i,j)、f^a+1,b(i,j)、f^a―1,b−1(i,j)、f^a,b−1(i,j)、f^a+1,b−1(i,j)と画像データの領域(α,β)に関するデータとの組を受け取り、下記式(14)に示すように、これら9個のデータの加重平均を算出し、算出した画像データの領域(α,β)に含まれる要素(i,j)毎の分光情報の加重平均のデータと画像データの領域(α,β)に関するデータとの組を領域合成部1iに出力する。
例えば、本実施の形態に係る分光画像生成装置1の加重平均算出部1hは、図4に示すように、スペクトルデータの空間方向に定義される領域(3,3)と画像データの領域(3,3)とが対応している場合には、マトリクス乗算部1gから受け取ったスペクトルデータの空間方向に定義される領域(3,3)に対して生成されたマトリクスA3,3を画像データ上で定義された領域(3,3)のデータに乗じて得られた分光情報、領域(3,3)の領域の周縁に存在する領域(2,2)に対して生成されたマトリクスA2,2を画像データ上で定義された領域(3,3)のデータに乗じて得られた分光情報、領域(3,3)の領域の周縁に存在する領域(2,3)に対して生成されたマトリクスA2,3を画像データ上で定義された領域(3,3)のデータに乗じて得られた分光情報、領域(3,3)の領域の周縁に存在する領域(2,4)に対して生成されたマトリクスA2,4を画像データ上で定義された領域(3,3)のデータに乗じて得られた分光情報、領域(3,3)の領域の周縁に存在する領域(3,2)に対して生成されたマトリクスA3,2を画像データ上で定義された領域(3,3)のデータに乗じて得られた分光情報、領域(3,3)の領域の周縁に存在する領域(3,4)に対して生成されたマトリクスA3,4を画像データ上で定義された領域(3,3)のデータに乗じて得られた分光情報、領域(3,3)の領域の周縁に存在する領域(4,2)に対して生成されたマトリクスA4,2を画像データ上で定義された領域(3,3)のデータに乗じてえられた分光情報、領域(3,3)の領域の周縁に存在する領域(4,3)に対して生成されたマトリクスA4,3を画像データ上で定義された領域(3,3)のデータに乗じて得られた分光情報、領域(3,3)の領域の周縁に存在する領域(4,4)に対して生成されたマトリクスA4,4を画像データ上で定義された領域(3,3)のデータに乗じて得られた分光情報、それぞれの分光情報のデータに対する重み付けを行って、これら9つの分光情報の加重平均を算出した後、分光情報の加重平均のデータと画像データの領域(3,3)に関するデータとの組を領域合成部1iに出力する。
ここで、ua,b(i,j)は、分光情報f^a,b(i,j)に対する重み付け関数を意味し、例えば下記式(15)で示す2次元のseparable Hamming windowを用いることも出来る。
ここでν1(i)は、下記式(16)で示される関数である。
また、ν2(j)は、下記式(17)で示される関数である。
ここで、D1は、領域の縦の要素数を意味し、D1=N1/M1で定義される値である。ここで、「/」は、除算を意味する。
また、D2は、領域の横の要素数を意味し、D2=N2/M2で定義される値である。ここで、「/」は、除算を意味する。
例えば図5に示すようなseparable Hamming Window ν1(i)(Dx=8の場合)では、1つのwindow関数は、その中心から±8目盛りで0となっているので、自分自身の領域(8メモリ分)を超えて±4目盛りまで重み付け関数ua,b(i,j)は値を有することになる。よって、当該領域で定義された重み付け関数ua,b(i,j)は隣の領域の半分まで影響を及ぼすことになる。その結果、例えば図6及び図7で示す領域(a,b)の左上の斜線の領域のデータに関して加重平均を算出する場合には、図6及び図7で示す領域(a,b)の左上の斜線の領域のデータに関して加重平均を算出することは、図6及び図7に示すように、(a,b)、(a−1,b−1)、(a,b−1)、(a−1,b)の4つの領域に対応した結果のみを足し合わせることと同一になる。同様に、何れの要素に関して加重平均を算出する場合であっても、何れの要素に関して加重平均を算出することは、実質は4つの結果を足し合わせることと同一になる。
領域合成部1iは、加重平均算出部1hから出力された算出済みの画像データの領域(α,β)毎の分光情報の加重平均のデータと、画像データの領域(α,β)に関するデータとの組を受け取り、受け取った画像データの領域(α,β)毎の分光情報の加重平均のデータを、画像データ上で定義されたようにソートすることによって、画像データの領域(i,j)毎の分光情報の加重平均のデータの組み合わせからなる分光画像のデータを生成し、生成した分光画像のデータを表示部1jの表示画面に表示させる。
表示部1jは、領域合成部1iで生成された分光画像が表示される図示しない表示画面を有している。
次に、以上のように構成された分光画像生成装置1の実行する実行処理に関し、図面を参照して説明する。
図8は、本実施の形態に係る分光画像生成装置1の実行する実行処理に関して説明するためのフローチャートである。
なお、本実施の形態に係る分光画像生成装置では、第1の画像センサ1aから入力された画像データから、縦方向にM1個、横方向にM2個、波長方向にL個の要素を有するスペクトルデータが生成され、かつ、第2の画像センサ1bからN1要素×N2要素の大きさを有する画像データ3枚が入力された場合に関して説明する。
始めに、スペクトル生成部は、第1の画像センサ1aから受け取った撮像信号に含まれる画像データ内の画素毎にスペクトルデータへの変換を行い、縦方向にM1個、横方向にM2個、波長方向にL個の要素を有するスペクトルデータを生成する(工程A1)。
次に、マトリクス生成部1dは、スペクトルデータ生成部1cから出力された縦方向にM1個、横方向にM2個、波長方向にL個の要素を有するスペクトルデータを受け取り、受け取ったスペクトルデータから下記の式(18)によって、スペクトルデータの空間方向に定義される領域(a,b)毎のマトリクスを、スペクトルデータの空間方向に定義される全ての領域に関して生成する(工程A2)。
ただし、スペクトルデータの空間方向に定義される領域の数を、スペクトルデータの要素の数と同一としているため、aは、0<a≦M1を満たす自然数である。また、bは、0<b≦M2を満たす自然数である。更に、M1は、スペクトルデータ生成部1cによって生成されたスペクトルデータの空間方向の縦方向における要素の数を意味する。また、M2は、スペクトルデータ生成部1cによって生成されたスペクトルデータの空間方向の横方向における要素の数を意味する。
ここで、「Aa,b」は、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータの空間方向に定義される領域(a,b)毎に定められたマトリクスを意味する。
また、「M」は、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータの空間方向における要素の数、換言すればM1×M2で定まるスペクトルデータの数を意味する。
更に、「S」は、前述したM個のスペクトルデータを列ベクトルとして配列したL行M列の行列を意味する。
更に「H」は、オリジナルの分光情報f(i,j)と、それに対応する画像データg(i,j)と、画像データに含まれるノイズを示す3次元列ベクトルnとの間の下記式(19)で示す入出力関係を規定する3行L列の行列を意味する。
また、Wa,bは、下記式(20)で示されるM行M列の対角行列である。
ここで、d(a,b,p,q)は、第1の画像センサ1aから出力された撮像信号内の画像データから生成されたスペクトルデータの空間方向に定義される位置(p,q)と、スペクトルデータの空間方向に定義される領域(a,b)の中心位置との間のユークリッド距離を意味する。
ただし、aは、0<a≦M1を満たす自然数である。また、bは、0<b≦M2を満たす自然数である。更に、M1は、スペクトルデータ生成部1cによって生成されたスペクトルデータの空間方向の縦方向における要素の数を意味する。また、M2は、スペクトルデータ生成部1cによって生成されたスペクトルデータの空間方向の横方向における要素の数を意味する。
更に、「wa,b,p,q」は、第1の画像センサ1aから出力された撮像信号内の画像データから生成されたスペクトルデータの空間方向に定義される位置毎に個別に定められる重み付け係数であり、前述したd(a,b,p,q)との間に下記式(21)で示される関係を有している。
工程A3では、領域分割部1eは、領域分割部1eは、第2の画像センサ1bから受け取った撮像信号内の画像データを(M1×M2)個の複数の領域(α,β)に分割する。
ここで、αは0<α≦M1を満たす自然数である。また、βは0<β≦M2を満たす自然数である。
工程A4では、マトリクス乗算部1gは、スペクトルデータの空間方向に定義される領域(a,b)毎のマトリクスと、スペクトルデータの空間方向に定義される領域(a,b)に関するデータとの組をマトリクス生成部1dから受け取ると、スペクトルデータの空間方向に定義される領域(a,b)に関するデータに対応付けられた画像データ上で定義された領域(α,β)に関するデータを領域データ記憶メモリ1fから読み出し、下記式(22)〜式(30)に示すように、当該画像データの領域(α,β)に対応するペクトルデータの空間方向に定義される領域(a,b)に対して生成されたマトリクスAa,bと、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a−1,b+1)に対して生成されたマトリクスAa−1,b+1と、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a,b+1)に対して生成されたマトリクスAa,b+1と、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a+1,b+1)に対して生成されたマトリクスAa+1,b+1と、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a−1,b)に対して生成されたマトリクスAa−1,bと、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a+1,b)に対して生成されたマトリクスAa+1,bと、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a−1,b−1)に対して生成されたマトリクスAa−1,b−1と、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a,b−1)に対して生成されたマトリクスAa,b−1と、スペクトルデータの空間方向に定義される領域(a,b)の周縁に存在する領域(a+1,b−1)の領域に対して生成されたマトリクスAa+1,b−1とを読み出した画像データ上で定義された領域(α,β)に関するデータに対応する画像データの領域(α,β)のデータに各々乗算して、複数の分光情報のデータを得る。
工程A5では、加重平均算出部1hは、マトリクス乗算部1gから出力された分光情報f^a−1,b+1(i,j)、f^a,b+1(i,j),f^a+1,b+1(i,j)、f^a−1,b(i,j)、f^a,b(i,j)、f^a+1,b(i,j)、f^a―1,b−1(i,j)、f^a,b−1(i,j)、f^a+1,b−1(i,j)と画像データの領域(i,j)に関するデータとの組を受け取り、下記式(31)に示すように、これら9個のデータの加重平均を算出する。
ここで、ua,b(i,j)は、分光情報f^a,b(i,j)に対する重み付け関数を意味し、例えば下記式(32)で示す2次元のseparable Hamming windowを用いることも出来る。
ここでν1(i)は、下記式(33)で示される関数である。
また、ν2(j)は、下記式(34)で示される関数である。
ここで、D1は、領域の縦の要素数を意味し、D1=N1/M1で定義される値である。ここで、「/」は、除算を意味する。
また、D2は、領域の横の要素数を意味し、D2=N2/M2で定義される値である。ここで、「/」は、除算を意味する。
工程A6では、領域合成部1iは、加重平均算出部1hから出力された算出済みの画像データの領域(α,β)毎の分光情報の加重平均のデータと、画像データの領域(α,β)に関するデータとの組を受け取り、受け取った画像データの領域(α,β)毎の分光情報の加重平均のデータを、画像データ上で定義されたようにソートすることによって、画像データの領域(α,β)毎の分光情報の加重平均のデータの組み合わせからなる分光画像のデータを生成する。
これにより、本実施の形態に係る分光画像生成装置1によれば、画素数、換言すれば空間解像度は、第2の画像センサ1bから出力された撮像信号に含まれる画像データと同一の空間解像度で、かつ、波長方向の要素数、換言すれば波長解像度は、第1の画像センサ1aから出力された撮像信号に含まれる画像データと同一の波長解像度であるような分光画像、すなわち波長解像度及び空間解像度の両方が高い分光画像が生成される。
工程A7では、領域合成部1iは、生成した分光画像のデータを表示部1jの表示画面に表示させる。
以上のような一連の処理により、本実施の形態に係る分光画像生成装置1は、全ての実行処理を終了する。
(計算量及び計算精度に関する検証)
本発明者らは、本実施の形態に係る分光画像装置1と、従来から知られている3つの手法を用いた分光画像生成装置とに関してモデルを設定し、当該モデルを用いた本実施の形態に係る分光画像生成装置と、従来から知られている3つの手法を用いた分光画像生成装置とに関するシミュレーションを行い、本実施の形態に係る分光画像生成装置と従来から知られている3つの手法を用いた分光画像生成装置との精度と計算量とに対して検証を行った。
まず、本実施の形態に係る分光画像生成装置1に対する比較例となる各分光画像生成装置に関して簡単に説明する。
(比較例1)
本実施の形態の分光画像生成装置に対する第1の比較例の分光画像生成装置は、図9に示すように第1の空間解像度と第1の波長解像度とを有する第1の画像センサ1aと、波長方向のチャネル数が少なくとも3以下で、かつ、第1の画像センサ1aの有する空間解像度よりも高い第2の空間解像度と、第1の画像センサ1aの有する第1の波長解像度よりも低い第2の波長解像度とを有する第2の画像センサ1bと、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータに基づいて、特定のサンプルデータに対して、誤差を最小とするように下記式(35)に示すような周知のWiener推定マトリクスを生成するマトリクス生成部1d’’と、第1の画像センサ1aの有する空間解像度よりも高い第2の空間解像度と第1の画像センサ1aの有する第1の波長解像度よりも低い第2の波長解像度とを有する第2の画像センサ1bから出力された撮像信号に含まれる画像データに含まれる各画素に対して、前述した同一の周知のWiener推定マトリクスを乗算することによって、第2の撮像素子から出力された撮像信号に含まれる画像データから分光画像を生成するマトリクス乗算部1g’’と、マトリクス乗算部1g’’により生成された分光画像を表示する表示部1j’’とを備えた分光画像生成装置である。なお、比較例1の分光画像生成装置は、前述した特許文献1により詳細に記載されている。
ここで、「Aw」は、特定のサンプルデータに対して、誤差を最小とするようなWiener推定マトリクスを意味する。
また、「M」は、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータの空間方向における要素の数、換言すればM1×M2で定まるスペクトルデータの数を意味する。
更に、「S」は、前述したM個のスペクトルデータを列ベクトルとして配列したL行M列の行列を意味する。
更に「H」は、オリジナルの分光情報f(i,j)と、それに対応する第2の画像センサ1bから出力された撮像信号に含まれる画像データg(i,j)と、画像データに含まれるノイズを示す3次元列ベクトルnとの間の下記式(36)で示す入出力関係を規定する3行L列の行列を意味する。
「ST」は、前述したM個のスペクトルデータを列ベクトルとして配列したL行M列の行列「S」の転置行列を意味する。
「HT」は、前述したオリジナルの分光情報f(i,j)と、それに対応する第2の画像センサ1bから出力された撮像信号に含まれる画像データg(i,j)と、画像データに含まれるノイズを示す3次元列ベクトルnとの間の前述した式(36)で示す入出力関係を規定する3行L列の行列Hの転置行列を意味する。
また、「C」は、第2の画像センサ1bから出力された撮像信号に含まれる画像データに含まれるノイズの共分散行列を意味する。
(比較例2)
本実施の形態の分光画像生成装置に対する第2の比較例の分光画像生成装置は、図10に示すように第1の空間解像度と第1の波長解像度とを有する第1の画像センサ1aと、波長方向のチャネル数が少なくとも3以下で、かつ、第1の撮像素子の有する空間解像度よりも高い第2の空間解像度と、第1の撮像素子の有する第1の波長解像度よりも低い第2の波長解像度とを有する第2の画像センサ1bと、第1の画像センサ1aから出力された撮像信号に含まれる画像データを複数のクラスにクラス分類するクラス分類部1nと、クラス分類部1nによってクラス分類されたクラス毎にWiener推定マトリクスAkを生成するマトリクス生成部1d’’’と、クラス毎に生成されたWiener推定マトリクスAkを第2の画像センサ1bから出力された撮像信号に含まれる画像データに対して下記式(37)に示すように乗算するマトリクス乗算部1g’’’と、第2の画像センサ1bから出力された撮像信号に含まれる画像データと、クラス分類部1nによりクラス分類されたクラス分類結果とから分光情報の確率密度を示す式(38)に示すような混合ガウス分布p(f)に基づいて、下記式(39)〜式(42)に示すように、重み付け係数mkを算出する重み係数生成部1oと、マトリクス乗算部1g’’’により得られた分光情報と、重み係数生成部1oから出力された重み付け係数mkとを用いて、下記式(43)に示すように各クラスの分光情報を加重平均して、分光画像を生成する加重平均算出部1h’’’と、加重平均算出部1h’’’により算出された分光画像を表示する表示部1j’’’とを備えた分光画像生成装置である。なお、比較例2の分光画像生成装置は、前述した非特許文献1により詳細に記載されている。
(比較例3)
本実施の形態の分光画像生成装置に対する第3の比較例の分光画像生成装置は、図11に示すように第1の空間解像度と第1の波長解像度とを有する第1の画像センサ1aと、波長方向のチャネル数が少なくとも3以下で、かつ、第1の撮像素子の有する空間解像度よりも高い第2の空間解像度と、第1の撮像素子の有する第1の波長解像度よりも低い第2の波長解像度とを有する第2の画像センサ1bと、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータに基づいて、特定のサンプルデータに対して、誤差を最小とするように下記式(44)に示すような周知のWiener推定マトリクスを生成するマトリクス生成部1d’’’’と、第1の画像センサ1aの有する空間解像度よりも高い第2の空間解像度と第1の画像センサ1aの有する第1の波長解像度よりも低い第2の波長解像度とを有する第2の画像センサ1bから出力された撮像信号に含まれる画像データに含まれる各画素に対して、前述した同一の周知のWiener推定マトリクスを乗算することによって、第2の画像センサ1bから出力された撮像信号に含まれる画像データから分光画像を生成するマトリクス乗算部1g’’’’と、第2の画像センサ1bから出力された撮像信号に含まれる画像データから下記式(46)〜下記式(48)に基づいて、補間マトリクスMPを生成する補間マトリクス生成部1qと、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータと、補間マトリクス生成部1qにより生成された補間マトリクスとに基づいて下記式(49)のようにスペクトルデータの補間処理を実行するデータ補間部1pと、マトリクス乗算部1g’’’’により得られた分光画像のデータと、データ補間部1pにより補間処理が施された分光画像のデータとを下記式(50)のように合成して分光画像を生成する合成部1rと、合成部1rにより生成された分光画像を表示する表示部1j’’’’とを備えた分光画像生成装置である。なお、比較例3の分光画像生成装置は、前述した非特許文献2により詳細に記載されている。
ここで、「Aw」は、特定のサンプルデータに対して、誤差を最小とするようなWiener推定マトリクスを意味する。
また、「M」は、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータの空間方向における要素の数、換言すればM1×M2で定まるスペクトルデータの数を意味する。
更に、「S」は、前述したM個のスペクトルデータを列ベクトルとして配列したL行M列の行列を意味する。
更に「H」は、オリジナルの分光情報f(i,j)と、それに対応する第2の画像センサ1bから出力された撮像信号に含まれる画像データg(i,j)と、画像データに含まれるノイズを示す3次元列ベクトルnとの間の下記式(45)で示す入出力関係を規定する3行L列の行列を意味する。
「ST」は、前述したM個のスペクトルデータを列ベクトルとして配列したL行M列の行列「S」の転置行列を意味する。
「HT」は、前述したオリジナルの分光情報f(i,j)と、それに対応する第2の画像センサ1bから出力された撮像信号に含まれる画像データg(i,j)と、画像データに含まれるノイズを示す3次元列ベクトルnとの間の前述した式(45)で示す入出力関係を規定する3行L列の行列Hの転置行列を意味する。
また、「C」は、第2の画像センサ1bから出力された撮像信号に含まれる画像データに含まれるノイズの共分散行列を意味する。
ただし、Hpは、N本の分光情報ベクトルf(i,j)を行ベクトルとして並べたN行L列の行行列をFとしたとき、この行列Fとスペクトルデータ行列Sとの間で下記式(47)の関係を有するM行N列の行列である。
また、Σpは、空間方向の相関行列を表すN行N列の正方行列であり、画像データg(i,j)⇒g(α)に基づいて生成する。具体的には、Σpの(α,β)要素は下記式(48)で与えられる。
次に、本実施の形態に係る分光画像生成装置1と前述した各比較例とをシミュレーションによって検証した検証結果に関して説明する。
(前提条件)
本発明者らは、2種類の分光画像ToyとScarf(空間方向512×512画素、波長方向65要素)をオリジナルの分光画像とし、シミュレーションにより3バンドの画像データ(512×512画素、3バンド)とスペクトルデータ(空間方向M1×M2画素、波長方向65要素)とを生成するように各装置のパラメータを設定した。
この際、画像データにのみ、PSNR(peak signal to noise ratio)=50dBのランダムホワイトノイズを加算し、M1=M2は8,16,32,64,128,256,512の何れかとなるように設定した。この2種類の観測データに基づいて、本実施の形態に係る分光画像生成装置により出力した分光画像とオリジナルの分光画像とを比較して、各分光画像生成装置が生成した分光画像のデータの精度を評価した。
この精度評価の際に、撮影したときの照明光スペクトルで分光画像を割り算して得られる分光反射率画像に対して、分光反射率の誤差(NRMSE:normalized root mean squared error)を計算して、各分光画像生成装置が生成した分光画像のデータの精度評価に用いた。
(本実施の形態に係る分光画像生成装置1のスペクトルデータの数及び分光画像を分割する領域の数と、出力された分光画像の精度とに関する検証)
まず、本実施の形態に係る分光画像生成装置1における第1の画像センサ1aから出力された分光画像Toyから生成されたスペクトルデータの数及び第2の画像センサ1bから出力された分光画像Toyを分割する領域の数と、本実施の形態に係る分光画像生成装置1から出力された分光画像の精度との関係に関して検証する。
図12は、本実施の形態に係る分光画像生成装置1の第1の画像センサ1aから出力された分光画像Toyから生成されたスペクトルデータの数及び第2の画像センサ1bから出力された分光画像Toyを分割する領域の数と、出力された分光画像から求めた分光反射率画像の誤差を表す分光反射率の誤差(NRMSE)との関係の一例を示す図である。
図12からわかるように、本実施の形態に係る分光画像生成装置1では、領域の数を増やすと、分光反射率の誤差(NRMSE)が減少しているが、スペクトルデータの要素数と同じ数の領域数以上(矢印で示す点)に領域数を増やしても、分光反射率の誤差(NRMSE)が減少しないことがわかる。
以上の結果から、本実施の形態に係る分光画像生成装置1では、第1の画像センサ1aから出力された分光画像Toyから生成されたスペクトルデータの要素数と、第2の画像センサ1bから出力された分光画像Toyを分割する場合における領域の数とは、同じ程度の数にすることで、効率的に精度を高めることが可能であることがわかる。
(出力した分光画像の精度に関する検証)
次に、本実施の形態に係る分光画像生成装置1と、前述した各比較例の分光画像生成装置とに関し、分光画像から生成されたスペクトルデータの数と、本実施の形態に係る分光画像生成装置1及び各比較例に係る分光画像生成装置から出力された分光画像の精度との関係に関して検証する。
図13は、本実施の形態に係る分光画像生成装置1と、前述した各比較例の分光画像生成装置とに関し、第1の画像センサ1aから出力された分光画像Toyから生成されたスペクトルデータの数と、本実施の形態に係る分光画像生成装置1と、前述した各比較例の分光画像生成装置とによってそれぞれ出力された分光画像から求めた分光反射率画像の誤差を表す分光反射率の誤差(NRMSE)との関係の一例を示す図である。
また、図14は、本実施の形態に係る分光画像生成装置1と、前述した各比較例の分光画像生成装置とに関し、第1の画像センサ1aから出力された分光画像Scarfから生成されたスペクトルデータの数と、本実施の形態に係る分光画像生成装置1と前述した各比較例の分光画像生成装置とによってそれぞれ出力された分光画像から求めた分光反射率画像の誤差を表す分光反射率の誤差(NRMSE)との関係の一例を示す図である。
図13及び図14では、横軸は第1の画像センサ1aから出力された分光画像Toy、分光画像Scarfから生成されたスペクトルデータの数、すなわち前述したM1×M2=Mに該当し、このスペクトルデータの数が大きくなるほど、スペクトルデータの解像度が高いことを意味している。
また、図13及び図14では、縦軸は、出力した分光画像の誤差を示す分光反射率の誤差(NRMSE)に該当し、この分光反射率の誤差(NRMSE)の値が小さいほど、各分光画像生成装置から出力された分光画像の精度が高いことを意味している。
図13及び図14からわかるように、本実施の形態に係る分光画像生成装置1から出力された分光画像の精度は、前述した比較例1及び前述した比較例2の分光画像生成装置から出力された分光画像の精度よりも高く、前述した比較例3の分光画像生成装置から出力された分光画像の精度と同等である。
(計算量に関する検証)
次に、本実施の形態に係る分光画像生成装置1が分光画像Toy、分光画像Scarfから分光画像を生成して出力するための計算量と、前述した各比較例の分光画像生成装置が分光画像Toy、分光画像Scarfから分光画像を生成して出力するための計算量とに関して検証する。
本発明者らは、1フレームの画像データの処理に必要となる乗算の回数を概算することによって、本実施の形態に係る分光画像生成装置がオリジナルの分光画像から出力する分光画像を生成するのに必要となる計算量と、各比較例に係る分光画像生成装置がオリジナルの分光画像から出力する分光画像を生成するのに必要となる計算量とを比較した。
図15は、本実施の形態に係る分光画像生成装置1がオリジナルの分光画像から出力する分光画像を生成するのに必要となる計算量と、各比較例に係る分光画像生成装置がオリジナルの分光画像から出力する分光画像を生成するのに必要となる計算量との関係の一例を示す図である。
また、図16は、オリジナルの分光画像を分割する領域の数をN=N1×N2=512×512とした場合に、本実施の形態に係る分光画像生成装置がオリジナルの分光画像から出力する分光画像を生成するのに必要となる計算量、及び比較例2、3に係る分光画像生成装置がオリジナルの分光画像から出力する分光画像を生成するのに必要となる計算量を示す乗算回数と、第1の画像センサ1aの画素数との関係の一例を示す図である。
図15及び図16からわかるように、比較例3の分光画像生成装置における計算量は、オリジナルの分光画像から生成されたスペクトルの数であるM=M1×M2の2乗に比例して計算量が増加するので、スペクトルデータの解像度が高い場合には、比較例3の分光画像生成装置は、オリジナルの分光画像から出力する分光画像を生成するために必要な計算量が非常に膨大となって、実装が困難となる。
また、比較例3の分光画像生成装置における計算量は何れのスペクトルデータの解像度の場合でも、比較例1、比較例2、及び本実施の形態に係る分光画像生成装置における計算量と比較して多いので、比較例3の分光画像生成装置は、分光画像を生成する処理に時間を要する。
更に、比較例1の分光画像生成装置における計算量は、一番少ないが、前述した図13及び図14からもわかるとおり、比較例1の分光画像生成装置は、出力する分光画像の精度が劣る。
本実施の形態に係る分光画像生成装置1及び比較例2の分光画像生成装置の計算量は、N/M>>40を満たす現実的な範囲で比較例1の分光画像生成装置における計算量の4〜6倍程度の計算量に抑えられた。
以上の検証結果からわかるように、本実施の形態に係る分光画像生成装置1は、画像センサの画素が多い場合であっても比較例3の分光画像生成装置のように実装困難になることなく、出力する分光画像の精度の高い比較例3と同等の精度を、当該比較例3の分光画像生成装置の計算量よりも小さく抑えた状態で実現することが出来る。
上述したように、本実施の形態に係る分光画像生成装置1によれば、波長方向のチャネル数が少なくとも4以上で、かつ、第1の空間解像度と第1の波長解像度とを有する第1の画像センサ1aから出力された撮像信号に含まれる画像データを構成する要素毎に、当該画像データ内の要素毎に含まれる光の波長毎の強度分布を示すスペクトルデータがスペクトルデータ生成部1cによって生成され、スペクトルデータ生成部1cにより生成された要素毎のスペクトルデータから、画像センサ1aから出力された撮像信号に含まれる画像データを構成する領域毎のマトリクスがマトリクス生成部1dにより生成され、マトリクス生成部1dにより生成されたマトリクスのうち、第1の画像センサ1aから出力された撮像信号に含まれる画像データ内の第1領域に対して生成されたマトリクスが第2の画像センサ1bから出力された撮像信号に含まれ、かつ、第1の画像センサ1aから出力された撮像信号に含まれる画像データ内の第1領域に対応する第3領域の画像データに乗じられて第3領域の分光情報がマトリクス乗算部1gによって算出され、マトリクス生成部1dにより生成されたマトリクスのうち、第1の画像センサ1aから出力された撮像信号に含まれる画像データ内の第1領域の周縁に存在する第2領域に対して生成されたマトリクスが第2の画像データから出力された撮像信号に含まれる第3領域の画像データに乗じられて第3領域の分光情報がマトリクス乗算部1gによって算出され、マトリクス乗算部1gにより算出された第3領域の分光情報と、第1の画像センサ1aから出力された撮像信号に含まれる画像データ内の第1領域の周縁に存在する第2領域に対して生成されたマトリクスを第3領域に乗じることにより算出された第3領域の分光情報との加重平均が加重平均算出部1hによって領域毎に算出され、加重平均算出部1hにより算出された領域毎の分光情報の加重平均から第1の波長解像度と第2の空間解像度とを有する分光画像が領域合成部1iにより生成され、生成された分光画像が表示部1jに表示されるので、処理に要する計算量を抑制すると共に、波長解像度及び空間解像度の両方が高い分光画像を生成することが可能になる。
なお、本実施の形態に係る分光画像生成装置では、第1の画像センサ1a及びスペクトルデータ生成部1cを、シーン中の多点を計測できるスペクトルセンサに置換した構成としてもよい。
この場合には、スペクトルセンサは、スペクトルデータを計測した位置の位置情報を各点で計測したスペクトルデータに付加して、計測したスペクトルデータとスペクトルデータを計測した位置の位置情報との組をマトリクス生成部1dに出力する構成とする。
(第2の実施の形態)
次に、本発明の第2の実施の形態に係る分光画像生成装置1’に関して説明する。
図17は、本発明の第2の実施の形態に係る分光画像生成装置1’の一例を示す模式図である。
本実施の形態に係る分光画像生成装置1’は、相異なる特性を有する複数の画像センサのうちの一方の画像センサから出力された撮像信号に含まれる動画の画像データから生成されたスペクトルデータから予め定められた時空間領域毎に相異なる複数のマトリクスのデータを生成し、生成した時空間領域毎のマトリクスを他方の画像センサから出力された撮像信号に含まれる画像データの対応する時空間領域のデータに作用させることによって、動画である分光画像を生成して、生成した分光画像を表示部1j’の表示画面に表示する装置である。
具体的には、本実施の形態に係る分光画像生成装置1’は、図18に示すように、波長方向のチャネル数が少なくとも4以上で、かつ、第1の空間解像度と第1の波長解像度とを有する第1の画像センサ1a’から出力された第1のフレームレートを有する撮像信号に含まれる画像データから生成された空間方向にM1×M2個の要素を、波長方向にL個の要素をそれぞれ有するスペクトルデータと、波長方向のチャネル数が少なくとも3以下で、かつ、前述した第1の画像センサ1a’の有する空間解像度よりも高い第2の空間解像度と、前述した第1の画像センサ1a’の有する第1の波長解像度よりも低い第2の波長解像度とを有する第2の画像センサとしての3バンドのカラービデオカメラ(第2の画像センサ)1b’から出力されたN1×N2個の画素とを有し、かつ、1フレームが3枚の画像データからなる前述した第1の画像センサ1a’から出力された撮像信号の有する第1のフレームレートよりも高い第2のフレームレートを有する動画のデータとから、空間方向にN1×N2個の画素と、波長方向にL個の要素とを有し、前述した第1の波長解像度と前述した第2のフレームレートと前述した第2の空間解像度とを有する分光画像、換言すれば波長解像度及び空間解像度の両方が高い動画の分光画像を生成し、生成した分光画像を表示画面に表示する装置である。
本実施の形態に係る分光画像生成装置1’は、図17に示すように、第1の画像センサ1a’と、第1のデータバッファ1kと、3バンドのカラービデオカメラ(第2の画像センサ)1b’と、第2のデータバッファ1lと、スペクトルデータ生成部1c’と、マトリクス生成部1d’と、領域分割部1e’と、時空間領域データ記憶メモリ1f’と、マトリクス乗算部1g’と、加重平均算出部1h’と、第3のデータバッファ1mと、領域合成部1i’と、表示部1j’とを備えている。
なお、本実施の形態に係る分光画像生成装置1’は、製造時に図示しない内蔵メモリにプログラムが書き込まれた、又は記録媒体もしくは通信ネットワークを介してプログラムがインストールされたコンピュータによって実現される。
また、本実施の形態に係る分光画像生成装置1’を構成する各部は、ソフトウェアもしくはハードウェア又はハードウェアとソフトウェアとの組み合わせの何れから構成されていてもよいことは言うまでもない。
第1の画像センサ1a’は、波長方向のチャネル数が少なくとも4以上で、かつ、第1の空間解像度と第1の波長解像度とを有する撮像素子であり、第1のフレームレートを有する撮像した撮像信号を第1のデータバッファ1kに出力する。
第1のデータバッファ1kは、第1の画像センサ1a’から入力された動画のデータを一時的に記憶するバッファであり、記憶した動画のデータをスペクトルデータ生成部1c’に出力する。
3バンドのカラービデオカメラ(第2の画像センサ)1b’は、波長方向のチャネル数が少なくとも3以下で、かつ、前述した第1の画像センサ1a’の有する空間解像度よりも高い第2の空間解像度と、前述した第1の画像センサ1a’の有する第1の波長解像度よりも低い第2の波長解像度とを有する撮像素子であり、前述した第1の画像センサ1a’から出力された撮像信号の有する第1のフレームレートよりも高い第2のフレームレートを有する撮像した撮像信号を第2のデータバッファ1lに出力する。
第2のデータバッファ1lは、3バンドのカラービデオカメラ1b’から入力された動画のデータを一時的に記憶するバッファであり、記憶した動画のデータを領域分割部1eに出力する。
スペクトルデータ生成部1c’は、第1のデータバッファ1kから出力された撮像信号を受け取り、受け取った撮像信号の要素毎にスペクトルデータを生成して、生成した要素毎のスペクトルデータをマトリクス生成部1d’に出力する。
ここで、スペクトルデータの「要素」とは、第1の画像センサの時間方向1フレーム、および第1の画像センサの空間方向1画素に対応するL個1組のデータを意味する。
マトリクス生成部1d’は、第1の画像センサ1a’によって計測されたスペクトルデータの各要素を重み付けした結果、得られた特定の分光反射率データ郡、換言すればマトリクスを生成するためのサンプルデータを用いて、このサンプルデータに対する誤差を最小とするように、第1の画像センサ1a’から出力された撮像信号内の画像データから生成されたスペクトルデータの時空間方向に定義される時空間領域(a,b,t)毎に対応付けられるマトリクスを生成し、生成したスペクトルデータの時空間方向に定義される時空間領域(a,b,t)毎のマトリクスのデータと、スペクトルデータの時空間方向に定義される時空間領域(a,b,t)に関するデータとの組をマトリクス乗算部1g’に出力する。
なお、本明細書において、「時空間領域」とは、画像センサ1もしくは画像センサ2により取得される動画像上に定義される領域で、時間方向のある一定期間に含まれ、かつ、空間方向のある一定領域に含まれる閉区間を意味する。
具体的には、本実施の形態に係るマトリクス生成部1d’は、スペクトルデータ生成部1c’から出力された縦方向にM1個、横方向にM2個、時間方向にV個の要素に対応する、波長方向にL個のデータから構成されるスペクトルデータを受け取り、受け取ったスペクトルデータから下記の式(51)によって、スペクトルデータの時空間方向に定義される時空間領域(a,b,t)毎のマトリクスを、スペクトルデータの時空間方向に定義される全時空間領域に関して生成し、生成した時空間領域毎のマトリクスのデータと、スペクトルデータの時空間方向に定義される領域(a,b,t)に関するデータとの組をマトリクス乗算部1g’に出力する。
ただし、スペクトルデータの時空間方向に定義される時空間領域の数は、スペクトルデータの要素の数と同一とする。つまり、aは、0<a≦M1を満たす自然数である。また、bは、0<b≦M2を満たす自然数である。また、tは、0<t≦Vを満たす自然数である。更に、M1は、スペクトルデータ生成部1c’によって生成されたスペクトルデータの空間方向の縦方向における要素の数を意味する。また、M2は、スペクトルデータ生成部1c’によって生成されたスペクトルデータの空間方向の横方向における要素の数を意味する。また、Vは、スペクトルデータ生成部1c’によって生成されたスペクトルデータの時間方向における要素の数を意味する。
ここで、「Aa,b,t」は、第1の画像センサ1a’から出力された撮像信号に含まれる画像データ上の時空間領域(a,b,t)に対して定められたマトリクスを意味する。
更に、「S」は、前述した(M×V)個のスペクトルデータを列ベクトルとして配列したL行(M×V)列の行列を意味する。
また、「V」は、スペクトルデータ生成部1c’によって生成されたスペクトルデータの時間方向における要素の数である。
更に「H」は、オリジナルの分光情報f(i,j,t)と、それに対応する第2の画像センサ1b‘から出力された撮像信号に含まれる画像データg(i,j,t)と、画像データに含まれるノイズを示す3次元列ベクトルnとの間の下記式(52)で示す入出力関係を規定する3行L列の行列を意味する。
また、Wa,b,tは、下記式(53)で示される(M×V)行(M×V)列の対角行列である。
ここで、d(a,b,p,q)は、第1の画像センサ1aから出力された撮像信号に含まれる画像データから生成されたスペクトルデータの(p,q,τ)要素の空間方向の位置と、画像データ上の(a,b,t)の時空間領域の空間方向の中心との間のユークリッド距離を意味する。
なお、本明細書において、「時空間領域の空間方向の中心」とは、時空間領域のうちの空間方向の領域の中心位置を意味する。
また、「wa,b,t;p,q,τ」は、第1の画像センサから出力された撮像信号から生成されたスペクトルデータの要素毎に個別に定められる重み付け係数であり、前述したd(a,b;p,q)およびd'(t,τ)との間に下記式(54)で示される関係を有している。
ここで、「ρ」は、重み付け係数の減少の程度を決定しているパラメータであり、例えば画像データ内で決定された時空間領域の空間方向の大きさD1=D2=Dに応じて、ρの値をρ4.5D=0.01として、換言すれば4.5D要素(つまり、4.5領域分)離れた点で、重み係数が0.01となるように設定することが出来る。
また、「ρ’」は、重み付け係数の減少の程度を決定しているパラメータであり、フレーム周期をTとしてρ’1.5T=0.01換言すれば1.5T要素(つまり、フレーム周期の1.5倍)離れた点で、重み係数が0.01となるように設定することが出来る。
なお、本実施の形態に係る分光画像生成装置1’におけるパラメータ「ρ」、及び「ρ’」を設定する手法に関しては、本実施の形態に係る分光画像生成装置1’で用いた手法に限定されないことは言うまでもない。
「ST」は、前述した(M×V)個のスペクトルデータを列ベクトルとして配列したL行(M×V)列の行列「S」の転置行列を意味する。
「HT」は、前述したオリジナルの分光情報f(i,j,t)と、それに対応する第2の画像センサ1b‘から出力された撮像信号に含まれる画像データg(i,j,t)と、画像データに含まれるノイズを示す3次元列ベクトルnとの間の前述した式(52)で示す入出力関係を規定する3行L列の行列Hの転置行列を意味する。
また、「C」は、第2の画像センサ1b’から出力された撮像信号に含まれる画像データに含まれるノイズの共分散行列を意味する。
領域分割部1e’は、第2のデータバッファ1lから出力された撮像信号を受け取り、当該撮像信号に含まれる画像データを、空間方向にM1個×M2個からなる複数の矩形領域に分割すると共に、時間方向にもTフレーム毎に分割することによって、画像データを複数の時空間領域に分割し、分割した画像データと、時空間領域に関するデータとの組をマトリクス乗算部1g’に出力する。
時空間領域データ記憶メモリ1f’は、操作者の操作によって入力されたスペクトルデータの空間方向に定義される時空間領域(a,b,t)に関するデータと、第2の画像センサ1b’から出力された撮像信号に含まれる画像データ内で定義される時空間領域(α,β,γ)に関するデータとが各々対応して記憶された時空間領域データ記憶テーブルを有している。
マトリクス乗算部1g’は、領域分割部1e’から受け取った分割した画像データに、マトリクス生成部1d’から受け取ったマトリクスを下記式(55)に示すように乗算することによって、時空間領域毎の分光画像のデータを得た後、得られた分光画像のデータを加重平均算出部1h’に出力する。
具体的には、本実施の形態に係る分光画像生成装置1’のマトリクス乗算部1g’は、スペクトルデータ上で定義される時空間領域(a,b,t)毎のマトリクスと、スペクトルデータ上で定義される時空間領域(a,b,t)に関するデータとの組をマトリクス生成部1d’から受け取ると、スペクトルデータ上で定義される時空間領域(a,b,t)に関するデータに対応付けられた画像データ上で定義された時空間領域(α,β,γ)に関するデータを時空間領域データ記憶メモリ1f’から読み出し、当該画像データの時空間領域(α,β,γ)に対応するスペクトルデータ上で定義される時空間領域(a,b,t)に対して生成されたマトリクスAa,b、tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a−1,b+1,t)に対して生成されたマトリクスAa−1,b+1,tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a,b+1,t)に対して生成されたマトリクスAa,b+1,tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a+1,b+1,t)に対して生成されたマトリクスAa+1,b+1、tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a−1,b,t)に対して生成されたマトリクスAa−1,b、tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a+1,b,t)に対して生成されたマトリクスAa+1,b,tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a−1,b−1,t)に対して生成されたマトリクスAa−1,b−1,tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a,b−1,t)に対して生成されたマトリクスAa,b−1、tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a+1,b−1、t)に対して生成されたマトリクスAa+1,b−1、tとを読み出した画像データ上で定義された時空間領域(α,β,γ)に存在する画像データの中で空間方向の位置(i,j)および時間θで指定される画素g(i,j,θ)に各々乗算する。
また、本実施の形態に係るマトリクス乗算部1g’は、スペクトルデータ上で定義される時空間領域(a,b,t)に対して時間方向で直前の(t−1)に存在する時空間領域(a,b,t−1)に対して生成されたマトリクスAa,b,t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する領域(a−1,b+1,t−1)に対して生成されたマトリクスAa−1,b+1、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a,b+1,t−1)に対して生成されたマトリクスAa,b+1、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a+1,b+1,t−1)に対して生成されたマトリクスAa+1,b+1、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a−1,b,t−1)に対して生成されたマトリクスAa−1,b、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a+1,b,t−1)に対して生成されたマトリクスAa+1,b,t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a−1,b−1,t−1)に対して生成されたマトリクスAa−1,b−1,t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a,b−1,t−1)に対して生成されたマトリクスAa,b−1、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a+1,b−1,t−1)に対して生成されたマトリクスAa+1,b−1、t−1とを読み出した画像データ上で定義された時空間領域(α,β,γ)に存在する画像データの中で空間方向の位置(i,j)および時間θで指定される画素g(i,j,θ)に各々乗算する。
更に、本実施の形態に係るマトリクス乗算部1g’は、スペクトルデータの空間方向に定義される時空間領域(a,b,t)に対して時間方向で直後の(t+1)に存在するスペクトルデータ上で定義される時空間領域(a,b,t+1)に対して生成されたマトリクスAa,b、t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a−1,b+1,t+1)に対して生成されたマトリクスAa−1,b+1、t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a,b+1,t+1)に対して生成されたマトリクスAa,b+1、t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a+1,b+1,t+1)に対して生成されたマトリクスAa+1,b+1、t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a−1,b,t+1)に対して生成されたマトリクスAa−1,b、t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a+1,b,t+1)に対して生成されたマトリクスAa+1,b,t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a−1,b−1,t+1)に対して生成されたマトリクスAa−1,b−1,t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a,b−1,t+1)に対して生成されたマトリクスAa,b−1、t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a+1,b−1,t+1)に対して生成されたマトリクスAa+1,b−1、t+1とを読み出した画像データ上で定義された時空間領域(α,β,γ)に存在する画像データの中で画素(i,j)、時間θで指定される画素g(i,j,θ)に各々乗算する。
従って、本実施の形態に係るマトリクス乗算部1g’は、対象となる画像データ上で定義される時空間領域(α,β,γ)に対応するスペクトルデータの空間方向に定義される時空間領域(a,b,t)に対して時空間的に近傍に存在する領域に対して生成された27個のマトリクスを画像データ上で定義される領域(α,β,γ)に存在する画像データg(i,j,θ)に対して各々乗じて得られた27個の分光情報のデータと、画像データの領域(α,β,γ)に関するデータとの組を加重平均算出部1h’に出力する。
なお、本明細書において、「時空間的に近傍に存在する」とは、空間的に近傍に存在し、かつ、時間的にも近傍に存在することを意味する。
加重平均算出部1h’は、マトリクス乗算部1g’から出力された27個の分光情報f^a−1,b+1,t(i,j,θ)、f^a,b+1,t(i,j、θ),f^a+1,b+1,t(i,j,θ)、f^a−1,b,t(i,j,θ)、f^a,b,t(i,j,θ)、f^a+1,b,t(i,j,θ)、f^a―1,b−1,t(i,j,θ)、f^a,b−1,t(i,j,θ)、f^a+1,b−1,t(i,j,θ)、f^a−1,b+1,t−1(i,j,θ)、f^a,b+1,t−1(i,j,θ),f^a+1,b+1,t−1(i,j,θ)、f^a−1,b,t−1(i,j,θ)、f^a,b,t−1(i,j,θ)、f^a+1,b,t−1(i,j,θ)、f^a―1,b−1,t−1(i,j,θ)、f^a,b−1,t−1(i,j,θ)、f^a+1,b−1,t−1(i,j,θ)、f^a−1,b+1,t+1(i,j,θ)、f^a,b+1,t+1(i,j,θ),f^a+1,b+1,t+1(i,j,θ)、f^a−1,b,t+1(i,j,θ)、f^a,b,t+1(i,j,θ)、f^a+1,b,t+1(i,j,θ)、f^a―1,b−1,t+1(i,j,θ)、f^a,b−1,t+1(i,j,θ)、f^a+1,b−1,t+1(i,j,θ)を受け取り、下記式(56)に示すように、これら27個の分光情報のデータに各々重み付けをして、時空間領域毎に、これら27個の分光情報のデータの加重平均を算出し、算出した領域毎の分光情報の加重平均のデータと、時空間領域に関するデータとの組を第3のデータバッファ1mに出力する。
ここで、ua,b,t(i,j,θ)は、分光情報f^a,b,t(i,j,θ)に対する重み付け関数を意味し、例えば下記式(57)で示す3次元のseparable Hamming windowを用いることも出来る。
ここでν1(i)は、下記式(58)で示される関数である。
また、ν2(j)は、下記式(59)で示される関数である。
またν3(θ)は、下記式(60)で示される関数である。
ここで、D1は、時空間領域の縦の要素数を意味し、D2は、時空間領域の横の要素数を意味する。換言すればD1=N1/M1であり、D2=N2/M2である。ここで、「/」は、除算を意味する。また、Tは、時空間の時間方向の要素数を意味する。
第3のデータバッファ1mは、加重平均算出部1h’から出力された時空間領域毎に算出された分光情報のデータの加重平均のデータと、時空間領域に関するデータとの組を一時的に記憶するバッファであり、記憶した動画のデータを領域合成部1i’に出力する。
領域合成部1i’は、第3のデータバッファ1mから出力された算出済みの画像データの領域(α,β,γ)毎の分光情報の加重平均のデータと、画像データの領域(α,β,γ)に関するデータとの組を受け取り、受け取った画像データの領域(α,β,γ)毎の分光情報の加重平均のデータを画像データの領域(α,β,γ)に関するデータに基づいて、時間順にソートすることによって、画像データの領域(α,β,γ)毎の分光情報の加重平均のデータの組み合わせからなる動画の分光画像のデータを生成し、生成した動画の分光画像のデータを表示部1j’の表示画面に表示させる。
表示部1j’は、領域合成部1i’で生成された分光画像が表示される図示しない表示画面を有している。
次に、以上のように構成された分光画像生成装置1’の実行する実行処理に関し、図面を参照して説明する。
図19は、本実施の形態に係る分光画像生成装置1’の実行する実行処理に関して説明するためのフローチャートである。
なお、本実施の形態に係る分光画像生成装置1’では、第1の画像センサ1a’から入力された画像データから、図15に示すような、縦方向にM1個、横方向にM2個、波長方向にL個の要素を有するスペクトルデータが生成され、かつ、3バンドのカラービデオカメラ(第2の画像センサ)1b’からN1画素×N2画素の大きさを有する1フレーム分の画像データ3枚が入力された場合に関して説明する。
始めに、スペクトル生成部1c’は、第1のバッファ1kから受け取った撮像信号をスペクトルデータへ変換し、縦方向にM1個、横方向にM2個、時間方向にV個の要素に対応する、波長方向にL個のデータから構成されるスペクトルデータを生成する(工程B1)。
次に、マトリクス生成部1d’は、スペクトルデータ生成部1c’から出力された縦方向にM1個、横方向にM2個、時間方向にV個の要素に対応する、波長方向にL個のデータから構成されるスペクトルデータを受け取り、受け取ったスペクトルデータから下記の式(61)によって、スペクトルデータの空間方向および時間方向に定義される時空間領域(a,b,t)毎のマトリクスを、全時空間領域に関して生成する(工程B2)。
ただし、aは、0<a≦M1を満たす自然数である。また、bは、0<b≦M2を満たす自然数である。また、tは、0<t≦Vを満たす自然数である。更に、M1は、スペクトルデータ生成部1c’によって生成されたスペクトルデータの空間方向の縦方向における要素の数を意味する。また、M2は、スペクトルデータ生成部1c’によって生成されたスペクトルデータの空間方向の横方向における要素の数を意味する。また、Vは、スペクトルデータ生成部1c’によって生成されたスペクトルデータの時間方向における要素の数を意味する。
ここで、「Aa,b,t」は、第1の画像センサ1a’から出力された撮像信号に含まれる画像データから生成されたスペクトルデータで定義される時空間領域(a,b,t)に存在する要素のデータに対して定められたマトリクスを意味する。
また、「S」は、前述したM個のスペクトルデータを列ベクトルとして配列したL行(M×V)列の行列を意味する。
更に「H」は、オリジナルの分光情報f(i,j,t)と、それに対応する画像データg(i,j,t)と、画像データに含まれるノイズを示す3次元列ベクトルnとの間の下記式(62)で示す入出力関係を規定する3行L列の行列を意味する。
また、Wa,b,tは、下記式(63)で示される(M×V)行(M×V)列の対角行列である。
ここで、d(a,b,p,q)は、第1の画像センサ1a’から出力された撮像信号に含まれる画像データから生成されたスペクトルデータの(p,q,τ)要素の空間方向の位置と、画像データ上の(a,b,t)の時空間領域の空間方向の中心との間のユークリッド距離を意味する。
また、「wa,b,p,q」は、第1の画像センサ1a’から出力された撮像信号から生成されたスペクトルデータの要素毎に個別に定められる重み付け係数であり、前述したd(a,b,p,q) およびd'(t,τ)との間に下記式(64)で示される関係を有している。
ここで、「ρ」は、重み付け係数の減少の程度を決定しているパラメータであり、例えば画像データ内で決定された時空間領域の空間方向の大きさD1=D2=Dに応じて、ρの値をρ4.5D=0.01として、換言すれば4.5D要素(つまり、4.5領域分)離れた点で、重み係数が0.01となるように設定することが出来る。
また、「ρ’」は、重み付け係数の減少の程度を決定しているパラメータであり、フレーム周期をTとしてρ’1.5T=0.01換言すれば1.5T要素(つまり、フレーム周期の1.5倍)離れた点で、重み係数が0.01となるように設定することが出来る。
なお、本実施の形態に係る分光画像生成装置1’で重み付け係数を定めるために使用するパラメータρ及びρ’の決定手法、及びマトリクスを生成する際の重み付けの手法に関しては、本実施の形態に係る分光画像生成装置1’のマトリクス生成部1d’の実行している手法に限定されるものではないことは言うまでもない。
「ST」は、前述した(M×V)個のスペクトルデータを列ベクトルとして配列したL行(M×V)列の行列「S」の転置行列を意味する。
「HT」は、前述したオリジナルの分光情報f(i,j,t)と、それに対応する第2の画像センサ1b‘から出力された撮像信号に含まれる画像データg(i,j,t)と、画像データに含まれるノイズを示す3次元列ベクトルnとの間の前述した式(52)で示す入出力関係を規定する3行L列の行列Hの転置行列を意味する。
また、「C」は、第2の画像センサ1b‘から出力された撮像信号に含まれる画像データに含まれるノイズの共分散行列を意味する。
工程B3では、領域分割部1e’は、第2のデータバッファ1lから出力された撮像信号を受け取り、当該撮像信号に含まれる画像データを、空間方向にM1個×M2個からなる複数の矩形領域に分割すると共に、時間方向にもTフレーム毎に分割することによって、画像データを複数の時空間領域に分割する。
工程B4では、マトリクス乗算部1g’は、スペクトルデータの空間方向に定義される時空間領域(a,b,t)毎のマトリクスと、スペクトルデータの空間方向に定義される時空間領域(a,b,t)に関するデータとの組をマトリクス生成部1d’から受け取ると、スペクトルデータの空間方向に定義される時空間領域(a,b,t)に関するデータに対応付けられた画像データ上で定義された時空間領域(α,β,γ)に関するデータを時空間領域データ記憶メモリ1f’から読み出し、当該画像データの時空間領域(α,β,γ)に対応するスペクトルデータ上で定義される時空間領域(a,b,t)に対して生成されたマトリクスAa,b、tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a−1,b+1,t)に対して生成されたマトリクスAa−1,b+1、tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a,b+1,t)に対して生成されたマトリクスAa,b+1、tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a+1,b+1,t)に対して生成されたマトリクスAa+1,b+1、tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a−1,b,t)に対して生成されたマトリクスAa−1,b、tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a+1,b,t)に対して生成されたマトリクスAa+1,b,tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a−1,b−1,t)に対して生成されたマトリクスAa−1,b−1,tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a,b−1,t)に対して生成されたマトリクスAa,b−1、tと、スペクトルデータ上で定義される時空間領域(a,b,t)の周縁に存在する時空間領域(a+1,b−1,t)に対して生成されたマトリクスAa+1,b−1、tと、スペクトルデータ上で定義される時空間領域(a,b,t)に対して時間方向で直前の(t−1)に存在する時空間領域(a,b,t−1)に対して生成されたマトリクスAa,b、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a−1,b+1,t−1)に対して生成されたマトリクスAa−1,b+1、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a,b+1,t−1)に対して生成されたマトリクスAa,b+1、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a+1,b+1,t−1)に対して生成されたマトリクスAa+1,b+1、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a−1,b,t−1)に対して生成されたマトリクスAa−1,b、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a+1,b,t−1)に対して生成されたマトリクスAa+1,b,t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a−1,b−1,t−1)に対して生成されたマトリクスAa−1,b−1,t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a,b−1,t−1)に対して生成されたマトリクスAa,b−1、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t−1)の周縁に存在する時空間領域(a+1,b−1,t−1)に対して生成されたマトリクスAa+1,b−1、t−1と、スペクトルデータ上で定義される時空間領域(a,b,t)に対して時間方向で直後の(t+1)に存在するスペクトルデータ上で定義される時空間領域(a,b,t+1)に対して生成されたマトリクスAa,b、t+1と、スペクトルデータ上で定義される領域(a,b,t+1)の周縁に存在する領域(a−1,b+1,t+1)に対して生成されたマトリクスAa−1,b+1、t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a,b+1,t+1)に対して生成されたマトリクスAa,b+1、t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a+1,b+1,t+1)に対して生成されたマトリクスAa+1,b+1、t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a−1,b,t+1)に対して生成されたマトリクスAa−1,b、t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a+1,b,t+1)に対して生成されたマトリクスAa+1,b,t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a−1,b−1,t+1)に対して生成されたマトリクスAa−1,b−1,t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a,b−1,t+1)に対して生成されたマトリクスAa,b−1、t+1と、スペクトルデータ上で定義される時空間領域(a,b,t+1)の周縁に存在する時空間領域(a+1,b−1,t+1)に対して生成されたマトリクスAa+1,b−1、t+1とを読み出した画像データ上で定義された時空間領域(α,β,γ)に存在する画像データの中で空間方向の位置(i,j)および時間θで指定される画素g(i,j,θ)に各々乗算して、27個の分光情報を得る。
工程B5では、加重平均算出部1h’は、マトリクス乗算部1g’から出力された27個の分光情報f^a−1,b+1,t(i,j,θ)、f^a,b+1,t(i,j、θ),f^a+1,b+1,t(i,j,θ)、f^a−1,b,t(i,j,θ)、f^a,b,t(i,j,θ)、f^a+1,b,t(i,j,θ)、f^a―1,b−1,t(i,j,θ)、f^a,b−1,t(i,j,θ)、f^a+1,b−1,t(i,j,θ)、f^a−1,b+1,t−1(i,j,θ)、f^a,b+1,t−1(i,j,θ),f^a+1,b+1,t−1(i,j,θ)、f^a−1,b,t−1(i,j,θ)、f^a,b,t−1(i,j,θ)、f^a+1,b,t−1(i,j,θ)、f^a―1,b−1,t−1(i,j,θ)、f^a,b−1,t−1(i,j,θ)、f^a+1,b−1,t−1(i,j,θ)、f^a−1,b+1,t+1(i,j,θ)、f^a,b+1,t+1(i,j,θ),f^a+1,b+1,t+1(i,j,θ)、f^a−1,b,t+1(i,j,θ)、f^a,b,t+1(i,j,θ)、f^a+1,b,t+1(i,j,θ)、f^a―1,b−1,t+1(i,j,θ)、f^a,b−1,t+1(i,j,θ)、f^a+1,b−1,t+1(i,j,θ)を受け取り、下記式(65)に示すように、これら27個の分光情報のデータに各々重み付けをして、これら27個の分光情報のデータの加重平均を算出し、算出した領域毎の分光情報の加重平均のデータと、時空間領域に関するデータとの組を第3のデータバッファ1mに出力する。
ここで、ua,b,t(i,j,θ)は、分光情報f^a,b,t(i,j,θ)に対する重み付け関数を意味し、例えば下記式(66)で示す3次元のseparable Hamming windowを用いることも出来る。
ここでν1(i)は、下記式(67)で示される関数である。
また、ν2(j)は、下記式(68)で示される関数である。
ここで、D1は、領域の縦の要素数を意味し、D2は、領域の横の要素数を意味する。換言すればD1=N1/M1であり、D2=N2/M2である。ここで、「/」は、除算を意味する。
またν3(θ)は、下記式(69)で示される関数である。
工程B6では、領域合成部1i’は、第3のデータバッファ1mから出力された算出済みの画像データの領域(a,b,t)毎の分光情報の加重平均のデータと、画像データの領域(a,b,t)に関するデータとの組を受け取り、受け取った画像データの領域(a,b,t)毎の分光情報の加重平均のデータを、画像データの領域(a,b,t)に関するデータを時間順にソートすることによって、画像データの領域(a,b,t)毎の分光情報の加重平均のデータの組み合わせからなる動画の分光画像のデータを生成する。
これにより、本実施の形態に係る分光画像生成装置1’によれば、画素数、換言すれば空間解像度は、第2の画像センサ1bから出力された撮像信号に含まれる画像データと同一の空間解像度で、かつ、波長方向の要素数、換言すれば波長解像度は、第1の画像センサ1aから出力された撮像信号に含まれる画像データと同一の波長解像度であるような分光画像、すなわち波長解像度及び空間解像度の両方が高い動画像の分光画像が生成される。
工程B7では、領域合成部1i’は、生成した分光画像のデータを表示部1j’の表示画面に表示させる。
以上のような一連の処理により、本実施の形態に係る分光画像生成装置1’は、全ての実行処理を終了する。
上述したように、本実施の形態に係る分光画像生成装置1’によれば、波長方向のチャネル数が少なくとも4以上で、かつ、第1の空間解像度と第1の波長解像度とを有する第1の画像センサ1a’から出力された第1のフレームレートを有する撮像信号に含まれる画像データを構成する要素毎に、当該画像データ内の要素毎に含まれる光の波長毎の強度分布を示すスペクトルデータがスペクトルデータ生成部1c’によって生成され、スペクトルデータ生成部1c’により生成された要素毎のスペクトルデータから、第1の画像センサ1a’から出力された第1のフレームレートを有する撮像信号に含まれる画像データを構成する領域毎のマトリクスがマトリクス生成部1d’により生成され、マトリクス生成部1d’により生成されたマトリクスのうち、第1の画像センサ1a’から出力された撮像信号に含まれる画像データ内の第1の時空間領域に対して生成されたマトリクスが3バンドのカラービデオカメラ1b’から出力された第2のフレームレートを有する撮像信号に含まれ、かつ、第1の画像センサ1a’から出力された撮像信号に含まれる画像データ内の第1の時空間領域に対応する第3の時空間領域の画像データに乗じられて第3の時空間領域の第1の分光情報がマトリクス乗算部1g’によって算出され、マトリクス生成部1d’により生成されたマトリクスのうち、第1の画像センサ1a’から出力された撮像信号に含まれる画像データ内の第1の時空間領域の周縁に存在する第2の時空間領域に対して生成されたマトリクスが第2の画像データから出力された撮像信号に含まれ、前述した第1の時空間領域に対応する第3の時空間領域の画像データに乗じられて第3の時空間領域の第2の分光情報がマトリクス乗算部1g’によって算出され、マトリクス乗算部1g’により算出された第1の分光情報と、第2の分光情報との加重平均が加重平均算出部1h’によって時空間領域毎に算出され、加重平均算出部1h’により算出された時空間領域毎の分光情報の加重平均から第1の波長解像度と第2の空間解像度とを有する分光画像が領域合成部1i’により生成され、生成された分光画像が表示部1j’に表示されるので、処理に要する計算量を抑制すると共に、波長解像度及び空間解像度の両方が高い分光画像を生成することが可能になる。
なお、前述した各実施の形態に係る画像処理プログラムは、コンピュータにインストールされた、アプリケーションプログラム、エミュレーター、OS、ブラウザー、ミドルウェア等によってその機能が実現されるものであってもよい。
また、前述した実施の形態に示す手法は、コンピュータにより読み出して実行させることの出来るプログラムとして磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクドライブ等)、光ディスク(CD−ROM、DVD、BD(Blu−ray Disk)−ROM(Read Only Memory:再生専用型)、BD(Blu−ray Disk)−R(Recordable:追記型)、BD(Blu−ray Disk)−RE(Rewritable:書き換え型))、光磁気ディスク(MO)、半導体メモリ、ホログラフィックメモリ等の記録媒体に格納して頒布することによりユーザーに提供することが出来る。
更に、本発明の画像形成プログラムの提供手法としては、例えば画像形成プログラムを記録媒体に記録させた状態でユーザーに頒布する手法や、例えばインターネット等の通信ネットワークを介してユーザーの保有するコンピュータに送信し、送信したプログラムをコンピュータにインストールさせる手法、無線を用いて提供する手法等が挙げられる。また、本実施の形態に係る画像形成プログラムを提供する手法としては、いわゆる周知のASP(Application Service Provider)による手法によってもよいことは言うまでもない。
更に、前述した実施の形態に係る画像形成プログラムは、一般的な高級言語、例えばC言語、Delphi、XTL、Perl(Practical Extraction and Report Language)、XML(eXtensible Markup Language)や、オブジェクト指向言語(C++、JAVA(登録商標)、C#、JAVA2、Small Talk)等の任意のプログラム言語で作成されたものであってもよい。
また、本発明に関して記録媒体としては、プログラムを記録でき、かつ、コンピュータが読み取り可能な記録媒体であれば、記録形式はいかなる形式であっても、例えば、磁気テープ、半導体フラッシュメモリ、フロッピー(登録商標)ディスク、CD−ROM、CD−R/RW、DVD−ROM、DVD−RAM、DVD−R/−RW、DVD+R/+RW、MO、ホログラフィックメモリ、BD−ROM、BD−R、BD−RE等の何れの形態であってもよい。
更に、本発明の記録媒体は、コンピュータと独立した媒体に限らず、NGN(Next Generation Network:次世代ネットワーク)、LAN、WAN、イントラネット、及びインターネット等の通信ネットワークを介して記憶又は一時記憶した媒体であってもよい。
また、本発明では、記録媒体の種類及び数は、ひとつである必要は無く、同一の形態又は形態の相異なる複数の記録媒体の組み合わせからなっていてもよいことは言うまでもない。
更に、本発明は、前述した各機能を実現するプログラムを構成するのに必要不可欠なデータ構造、加工用プログラム、及び前述した加工用プログラムが機能する各種ハードウェアを包含する。
なお、前述した加工用プログラムは、一般的な高級言語、例えばC言語、Delphi、XTL、Perl(Practical Extraction and Report Language)、XML(eXtensible Markup Language)や、オブジェクト指向言語(C++、JAVA、C#、JAVA2、Small Talk)等の任意のプログラム言語で作成されたものであってもよい。
なお、本発明は、前述した実施の形態に限定されるものではなく、実施段階では本発明の要旨を逸脱しない範囲内で種々の変更が可能である。例えば、本発明の構成のうち、本質的部分以外の構成をこの構成と同様の作用効果を奏する出願時に予見不可能な技術的構成に置換して得られる発明は、本発明に包含され得る。更に前述した実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が生成され得る。例えば実施の形態に示される全構成要件からいくつかの要件が省略されることで発明が生成される場合には、その生成された発明を実施する段階では省略部分が周知慣用技術で補われるものである。
その他、本発明は、その要旨を逸脱しない範囲内で種々変更して実施することが出来る。例えば、上述した各実施の形態では可視光の波長の範囲内で撮像した画像データから分光画像を生成する装置に関して説明したが、波長は赤外線の領域であってもよいし、紫外線領域の波長が含まれる画像データを用いてもよいことは言うまでもない。
1、1’…分光画像生成装置、1a、1a’…第1の画像センサ、1b…第2の画像センサ、1b’…3バンドのカラービデオカメラ、1c、1c’…スペクトルデータ生成部、1d、1d’…マトリクス生成部、1e、1e’…領域分割部、1f…領域データ記憶メモリ、1f’…時空間領域データ記憶メモリ、1g、1g’…マトリクス乗算部、1h、1h’…加重平均算出部、1i、1i’…領域合成部、1j、1j’…表示部、1k…第1のデータバッファ、1l…第2のデータバッファ、1m…第3のデータバッファ、