図1は、本実施形態の撮像装置と画像処理装置とを含む撮像システムの構成例を示した図である。図1に示す撮像システムは、撮像装置としての2つのカメラ10、11と、画像処理装置としてのPC12とから構成されている。ここでは、画像処理装置としてPC12を用いているが、カメラ10、11に画像処理エンジンを搭載し、その画像処理エンジンを画像処理装置として用いることも可能である。また、画像処理を行う装置として、PC12以外の機器を用いることも可能である。カメラ10、11とPC12とは、直接ケーブルにより、もしくはネットワークを介して接続され、撮像した画像の画像データを、カメラ10、11からPC12へ送信することができるようになっている。
カメラ10、11とPC12とを接続する場合、有線接続、無線接続のいずれの方式で接続してもよい。無線接続する場合、Bluetooth(登録商標)やWi−Fi等の無線LAN等を利用することができる。無線LANを利用する場合、ネットワークに接続されたアクセスポイントと呼ばれる無線通信を中継する中継装置を介して通信を行うことができる。
カメラ10は、赤外線の波長領域内にある赤外光により形成される画像(赤外光画像)を取得する赤外光カメラである。カメラ11は、可視光線の波長領域内にある可視光により形成される画像(可視光画像)を取得する可視光カメラである。これらカメラの詳細な構成については、後述する。なお、図1では、2つのカメラ10、11を使用する構成を例示しているが、赤外光画像と可視光画像の両方を取得することができれば、1台のカメラを使用してもよい。
PC12は、2つのカメラ10、11から送信された赤外光画像の画像データおよび可視光画像の画像データを受信し、それら画像データを用いて画像処理を行う。このように実際にやりとりされるものは、画像データであるが、以下、説明を容易にするために、画像として説明する。
PC12における画像処理では、各画像につき補正を行い、各画像の位置を調整し、2つの画像を合成して、合成画像を出力する。出力された合成画像は、例えば、データベースに登録されている複数の画像と照合され、上述した侵入者の検知、不審物の検知、犯罪者の顔認証等の画像処理に使用される。このデータベースは、別途設けられていてもよいし、PC12に実装されていてもよい。
図2〜図5を参照して、カメラ10、11のハードウェア構成について説明する。図2では、カメラ10、11は、光が入力されるレンズ20、21と、レンズ20、21を通過した光を受光するセンサ22、23とを含んで構成されている。カメラ10、11は、図示していないが、そのほか、レンズ20、21に近隣して配置される絞り、その絞りとセンサ22、23との間に配置されるシャッタ等を備えることができる。
レンズ20、21は、焦点距離が固定された単焦点レンズであってもよいし、焦点距離を連続的に変化させることができるズームレンズであってもよい。センサ22は、CCDイメージセンサまたはCMOSイメージセンサと、カラーフィルタとを用いた、RGrGbBセンサとすることができる。
図2では、センサ22の総画素数Nに対して、緑(Gr、Gb)の画素をN/2とし、赤(R)および青(B)の画素をN/4として主走査方向および副走査方向に1つ置きに配置したベイヤ配列されたセンサを用いている。このセンサ22において、可視領域の光(可視光線)を受光し、電気信号に変換(ベイヤ変換)することで、RGBの三原色からなるカラーの可視光画像を取得することができる。ここで、主走査方向は、例えば、画像に向かって横方向(左から右へ向かう方向)であり、副走査方向は、主走査方向に対して垂直な縦方向(上から下へ向かう方向)である。
センサ23は、赤外領域の光(赤外線)を受光し、電気信号に変換する専用の赤外線センサ(Irセンサ)を用いることができる。このIrセンサにより電気信号に変換することで、赤外光画像を取得することができる。なお、これらのセンサ22、23から出力される電気信号はアナログ信号である。このため、A/Dコンバータを用い、アナログ信号をデジタルデータへ変換し、このデジタルデータを可視光画像の画像データや赤外光画像の画像データとして取得することができる。
図2では、カメラを2台用いて、赤外光画像と可視光画像とをそれぞれ別個に取得する構成を例示した。カメラを2台用いると、装置コストがかかることから、それら2つの画像をカメラ1台で取得することができれば、1台のほうが望ましい。図3には、1台のカメラ10のみを用い、2つの画像を取得する構成の一例が示されている。この構成では、レンズ20と、センサ22、23とのほか、3つのミラー24〜26と、赤外光カットフィルタ27と、可視光カットフィルタ28とを備えている。
ミラー24は、2枚のミラーがV字形に連結されていて、入射された光を2方向へ分離することができるようになっている。このため、レンズ20に入射された光は、ミラー24により2方向への光に分離された後、一方がミラー25を介して赤外光カットフィルタ27へ送られ、他方がミラー26を介して可視光カットフィルタ28へ送られる。赤外光カットフィルタ27では、入射された光の赤外領域の光(波長が約0.7μm〜約1mm)の透過を阻止し、それより短い波長の可視光(波長が約380nm〜約810nm)を透過させる。赤外光カットフィルタ27を透過した可視光は、センサ22により受光され、電気信号に変換される。そして、A/Dコンバータにより変換され、可視光画像が画像データとして取得される。
可視光カットフィルタ28では、入射された光のうち可視光の透過を阻止し、それより波長が長い赤外光を透過させる。可視光カットフィルタ28を透過した赤外光は、センサ23により受光され、電気信号に変換される。そして、A/Dコンバータにより変換され、赤外光画像が画像データとして取得される。
カメラ1台のみを用いる構成としては、図4や図5に示すような構成を採用することもできる。図4に示す構成では、レンズ20とセンサ29のみが使用される。センサ29は、特殊なセンサで、ベイヤ配列ではなく、R、G、B、Irが1つのセンサに実装され、この1つのセンサにより可視光画像と赤外光画像を取得することができるようになっている。ただし、このセンサ29は、専用のIrセンサに対して実質1/4の画素数しかないので、実質1/4の解像度となる。
図5に示す構成では、レンズ20と、センサ22、23と、フレーム単位で切り替えて使用する赤外光カットフィルタ27、可視光カットフィルタ28、ミラー30とを備えている。図2〜図4の構成では、赤外光画像と可視光画像とを同じタイミングで取得することができたが、図5に示す構成では、フレーム単位で切り替えて使用するため、同じタイミングで取得することはできない。
したがって、あるタイミングでは、赤外光カットフィルタ27を使用し、赤外光の透過を阻止し、可視光を透過させ、センサ22へ入射させる。これにより、センサ22では、入射された光を電気信号へ変換し、可視光画像を取得する。その次のタイミングでは、可視光カットフィルタ28とミラー30とを使用し、可視光の透過を阻止し、赤外光を透過させ、ミラー30によりセンサ23へ入射させる。これにより、センサ23では、入射された光を電気信号へ変換し、赤外光画像を取得する。例えば、偶数フレームは、赤外光カットフィルタ27を使用し、奇数フレームは、可視光カットフィルタ28およびミラー30を使用して、可視光画像および赤外光画像を取得することができる。
図5に示す構成では、2つのフレームに対して、それぞれ1枚の画像しか得られないため、図2〜図4に示す構成と同じ撮影速度を出すためには、それらの2倍の速度で撮影する必要がある。なお、図2〜図5に示した構成は、一例を示したものであり、可視光画像と赤外光画像とを取得することができる構成であれば、これ以外のいかなる構成を採用してもよい。
図6は、PC12のハードウェア構成を例示した図である。PC12は、カメラ10、11から出力された赤外光画像および可視光画像を画像データとして取得し、それら2つの画像に対して画像処理を施し、合成して合成画像を生成する処理を行う。このため、これらの処理を実行するためのプログラムが記憶された記憶装置と、その記憶装置からそのプログラムを読み出して実行するCPU40とを備える。記憶装置は、ブートプログラムやファームウェア等を記憶するROM41と、CPU40に対して作業領域を提供するRAM42と、上記のプログラムやOS、その他のアプリケーション等を記憶するHDD43とを含んで構成される。なお、HDD43に代えてSSDを用いることもできる。
PC12は、カメラ10、11とケーブル等により接続するための入出力インタフェース44と、ネットワークを介して通信を可能にする図示しない通信インタフェースとを備えることができる。また、PC12は、記録メディア45への読み書きを可能にする外部記憶インタフェース46、処理状況等を表示するための表示装置47、各種データや設定値の入力、アイコンの選択等を行う入力装置48を備えることができる。入力装置48としては、キーボードやマウス等を用いることができる。
CPU40、ROM41、RAM42、HDD43、入出力インタフェース44等は、バス49に接続され、バス49を介して互いにデータ等のやりとりを行うことができるようになっている。
図7は、PC12の機能ブロック図である。CPU40がHDD43に記憶されたプログラムを読み出し実行することにより、以下に示す各機能部として機能させることができる。PC12は、カメラ10、11といった少なくとも1つの撮像装置により撮像された画像を処理するための画像処理装置として機能する。PC12は、カメラ10、11から赤外光画像と可視光画像とを取得する画像取得部50と、画像取得部50により取得された可視光画像に対して彩度補正を行う画像補正部51と、合成画像生成部52とを備える。
合成画像生成部52は、赤外光画像の明度情報と、補正された可視光画像の彩度情報および色相情報とを用いて、赤外光画像とその補正された可視光画像との位置ずれを補正する。そして、合成画像生成部52は、位置ずれを補正した後の赤外光画像と可視光画像とを合成して合成画像を生成する。
PC12は、そのほか、フィルタ部53と、エッジ検出部54と、色相分割部55とを備えることができる。これらの機能部は、必要に応じて設けることができる。フィルタ部53は、フィルタ処理をかけ、入力された画像のノイズを除去し、エッジ強調を行う。ノイズ除去は、カメラ10、11が備える撮像素子の不良等に起因して発生するノイズを取り除く処理である。例えば、移動平均フィルタやメディアンフィルタ等を使用してノイズを除去することができる。エッジ強調は、画像の輪郭の濃度勾配を急峻にし、画像をシャープにする処理である。この処理には、例えば、アンシャープマスク等を使用することができる。これらの処理は、よく知られた処理であり、ここでは詳述しない。
エッジ検出部54は、画像の明度が急峻、すなわち不連続に変化するエッジを検出する。例えば、明度が閾値を超えるかどうかを判定することにより、エッジかどうかを決定することができる。このエッジ検出は、例えば、ラプラシアンフィルタ、ソーベルフィルタ、プレヴィッツフィルタ等を使用して行うことができる。
色相分割部55は、彩度補正後の可視光画像の色相を分割し、画素毎にどの色相にあるかを判定する。この色相は、例えば、8分割であってもよいし、16分割であってもよい。分割数は、任意に設定することができる。
画像取得部50は、カメラ10、11から赤外光画像と可視光画像とを取得する。ここで、各画像の特徴について説明しておく。赤外光画像は、霧や黄砂といった外乱の影響を受けにくく、鮮鋭性が高く、コントラストも高いという長所をもつ反面、モノクロ画像になってしまうという短所をもつ。可視光画像は、外乱の影響を受けやすく、鮮鋭性が低下しやすく、コントラストも低下しやすい。可視光画像は、カラー画像であるため、ある程度の彩度をもつが、外乱が発生した場合、その外乱の影響により彩度等は低下する。
画像取得部50は、取得した赤外光画像をフィルタ部53へ出力し、フィルタ部53が、その赤外光画像に対してフィルタ処理をかける。フィルタ処理では、上述したノイズ処理とエッジ強調を実施する。フィルタ部53は、フィルタ処理をかけた後、エッジ検出部54へフィルタ処理後の赤外線画像を出力する。また、フィルタ部53は、合成画像生成部52へも、そのフィルタ処理後の赤外光画像を出力する。
エッジ検出部54は、その赤外光画像に対してエッジ検出を行う。エッジ検出は、赤外光画像の画素毎にエッジであるか、非エッジであるかを判定し、1ビットのエッジ情報として記録する。エッジ情報は、図6に示したRAM42等の記憶装置に記憶することにより記録することができる。エッジ検出部54は、この記録したエッジ情報を合成画像生成部52へ出力することができる。なお、エッジ情報は、エッジ検出部54が合成画像生成部52へ出力する形ではなく、合成画像生成部52が取得する形であってもよい。
画像取得部50は、取得した可視光画像を画像補正部51へ渡し、画像補正部51が、その可視光画像に対して彩度補正を行う。彩度補正では、外乱の影響を受けて低下した可視光画像の彩度を補正し、その彩度を向上させる。彩度補正は、RGBという三原色の色空間をもつ可視光画像の場合、YUVという別の色空間に変換した後に、補正パラメータとしてのLUTを用いて実施することもできるし、そのYUVに変換する際のマスキング処理において実施することもできる。
ここで、YUVは、輝度信号(Y)、輝度信号と青色成分の差分信号(U)、輝度信号と赤色成分の差分信号(V)の3要素によって色を表現する色空間である。LUTは、色の変換元と変換先を記したテーブルである。マスキング処理は、色変換の1つの手法で、入力色空間にマトリクス演算を施して出力色空間を求める手法である。
彩度補正は、霧や黄砂等の撮影時の外乱の種類に応じてLUTを切り替えることができる。その詳細については後述する。そして、色相分割部55が、彩度補正後の可視光画像に対して色相分割する。この色相分割により、可視光画像の色味に関わるYUVという3つの成分のうち、UVの2つの成分(UV版)のバランスに応じて色相を決定する。色相分割部55は、こうして得られた色相情報と、可視光画像とを後段の合成画像生成部52へ出力する。
合成画像生成部52は、赤外光画像と可視光画像とを、その位置座標を合わせる位置ずれ補正を行ってから合成する。合成画像は、YUV版をもち、Yにはフィルタ部53から出力された赤外光画像のY版を、UVにはYUVに変換した可視光画像のUV版を用いる。合成の際、最初にレンズの位置関係(視差)の補正を行う。この視差補正を行っても、外乱の屈折の影響で、赤外光画像の画素と、可視光画像の画素の位置がずれる可能性が高い。ちなみに、赤外光はほとんど屈折しない。YUVが重ならないと、異常な画像に見えることから、赤外光画像におけるエッジの位置と可視光画像における色相の境界とが重なるように位置合わせして合成する。
このように合成して合成画像を生成することにより、霧や黄砂等の外乱の影響を受けても、鮮鋭性、コントラスト、彩度が高い画像を出力することができる。以降、各機能部が実行する各処理の内容について1つずつ順に、詳細に説明していく。
図8は、外乱として大気外乱の要因に合わせたRGB色空間における彩度補正について説明する図である。ここでは、彩度補正の例として、LUTを用いた処理を説明する。図8(a)は、大気外乱の一例として、霧が発生した場合の彩度補正について説明する図であり、図8(b)は、黄砂が発生した場合の彩度補正について説明する図である。
図8(a)に示すグラフの横軸は、入力の画素値を示し、縦軸は、出力の画素値を示す。グラフに示す直線は、彩度補正を行わない場合の入力および出力の画素値の関係を示している。曲線は、霧が発生した場合の各色につき設定されたLUTを表している。例えば、彩度補正前の入力の画素値がR、G、Bのいずれも100であったとする。彩度補正を行わない場合、横軸の100に相当する位置から上に垂線を引き、直線との交点の縦軸座標がその出力の画素値となる。すなわち、その出力の画素値は(R,G,B)=(100,100,100)となる。
これに対し、彩度補正を行った場合は、横軸の100に相当する位置から上に垂線を引き、各曲線との交点の縦軸座標が彩度補正後の画素値となる。すなわち、その出力の画素値は(R,G,B)=(R100,G100,B100)となる。
霧が発生した場合、霧による光の屈折、散乱、吸収が起こり、その影響はその光の波長が短いほど受けやすい。RGB版の可視光画像では、B、G、Rの順に霧の影響を受けやすいことになる。このため、B版は彩度が低下しやすいが、R版は彩度が低下しにくい。また、図8(a)の斜線で示した低彩度部や高彩度部は、比較的霧の影響を受けにくい傾向がある。そこで、RGBの色毎にLUTを表す曲線の形状を変え、影響を受けやすい中彩度部の彩度が向上するようにしている。なお、LUTの形状は、図8(a)に示したような形状に限られるものではなく、他の形状であってもよい。また、ここでは各色につき、LUTの形状を変えているが、同じ形状としてもよい。
図8(b)に示すグラフも、横軸は、入力の画素値を示し、縦軸は、出力の画素値を示す。グラフに示す直線は、彩度補正を行わない場合の入力および出力の画素値の関係を示している。曲線は、黄砂が発生した場合の各色につき設定されたLUTを表している。
黄砂が発生した場合、黄砂による光の屈折、散乱、吸収が起こるが、黄砂の主成分である黄色の補色である青(B)がその影響を強く受け、彩度が低下する。これに対し、緑(G)、赤(R)はその影響を受けにくい。そこで、B版のみを彩度を大きく持ち上げたLUTの形状とし、G版、R版については彩度を極端に上げないようにしたLUTの形状とする。これもまた、LUTの形状は、図8(b)に示したような形状に限られるものではなく、他の形状であってもよい。また、ここでは各色につき、LUTの形状を変えているが、同じ形状としてもよい。図8では、大気外乱として霧と黄砂を例として挙げたが、他の大気外乱に適用することも可能である。
図9は、他の色空間における彩度補正について説明する図である。図8ではRGB色空間で彩度補正を行っているが、この図9では、RGBを一般的な変換式を用いてYUV色空間に変換し、明度であるY版に対しては処理をかけず、彩度・色相であるUV版のみ処理をかけてもよい。大気外乱が霧である場合、霧の影響を受けやすい青(B)を表現するU版のLUTの傾きを大きく、霧の影響を受けにくい赤(R)を表現するV版のLUTの傾きを小さくしている。ここでは、YUV色空間を一例に挙げたが、他の色空間で彩度補正を行ってもよく、また、LUTの傾きは自由に変えることができる。また、外乱は、霧以外の黄砂やその他のものであってもよい。
これまで彩度補正について説明したので、次に、エッジ検出について、図10を参照して詳細に説明する。被写体を文字「A」とし、赤外光カメラで撮像された赤外光画像のエッジ検出は、その赤外光画像に対して、エッジ強調やノイズ除去等の汎用的なフィルタ処理をかけた画像について行う。図10(a)は、そのフィルタ処理をかけた後の赤外光画像である。この赤外光画像は、彩度がなく(彩度0)、明度情報のみで構成される画像である。
図10(b)は、図10(a)に示した赤外光画像に対して、エッジ検出を行うために用いられるフィルタの一例として、ラプラシアンフィルタを示した図である。このラプラシアンフィルタは、一般的なもので、係数、マトリクスサイズはこれに限られるものではなく、その他の係数、マトリクスサイズであってもよい。また、フィルタは、ラプラシアンフィルタに限られるものではなく、ソーベルフィルタ等のエッジ検出を行うことができる他のフィルタを用いることもできる。
図10(c)は、図10(a)に示す赤外光画像に対して、図10(b)に示すフィルタを用いてエッジ検出を行った結果を示した図である。エッジ検出は、上記フィルタを用いてマトリクス演算を行い、予め設定した閾値を超えたか否かを判定し、閾値を超えた箇所をエッジとして決定し、そのエッジを検出する。図10(c)では、エッジとして検出された箇所が白色で示された線で表されている。
図11を参照して、色相分割について詳細に説明する。色相分割は、可視光画像について彩度補正を行った後の画像に対して行われる。この色相分割では、その画像を分割し、画素毎にどの色相にあるかを判定する。図11では、彩度補正を行った後の可視光画像をYUV版に変換し、その彩度情報であるUV版の情報を用い、8つの色相に分割している。図11では、V、Uを軸に、V、Uの大小の比較結果と正負の判定結果を利用し、(1)〜(8)の色相に分解している。分割された結果は、画素単位で3ビットの色相情報として保持し、この色相情報は、合成画像生成部52へ出力される。
色相分割は、図11に示したような8分割に限定されるものではなく、16分割や24分割等、自由に分割数を設定することができ、また、その分割方法も自由に設定することができる。また、分割対象の色空間も、YUVに限定されるものではなく、RGB等の他の色空間で色相分割を行ってもよい。
カメラを2台使用して同時に撮像を行い、赤外光画像と可視光画像とを取得する場合、図12(a)に示すように、被写体に対して各カメラの位置が異なるため、被写体を含む撮影範囲が変わる。このため、撮像して得られた画像は、図12(b)に示すように、視差が発生する。この視差は、一般的に知られている視差補正技術を用いて取り除くことができる。具体的には、カメラの撮影レンジ、カメラ間の距離、被写体までの距離等の情報を用いて補正を行い、図12(c)に示すような画像を得ることができる。このように、被写体の画像の位置を画素単位で合わせることにより、後の合成処理で容易かつ正確に画像合成を行うことが可能となる。
視差補正は、図12(a)に示すような2台のカメラを使用して同時に撮像する場合に行えばよい。このため、1台のカメラを使用して撮像する場合や、2台のカメラを使用する場合でも同時に撮像せず、同じ位置にカメラを置いて撮像する場合には、視差補正を行う必要はない。また、カメラを2台使用して同時に撮像する場合であっても、その視差が大きい場合のみ行い、その視差が小さい場合には、後述する位置ずれ補正のみを行ってもよい。
図13を参照して、大気外乱によって画像に悪影響が及ぶ理由について説明する。ここでは、大気外乱として霧を例に挙げて説明する。図13(a)は、霧を構成する1つの水滴を示し、その水滴における光の屈折の様子を示した図である。水滴は、周囲の空気と密度が異なるため、光が水滴を通過する際、図13(a)に示したような屈折が起こる。屈折率は、光の波長によって異なり、波長が長いほど屈折しにくい。このため、波長が長い赤外光はほとんど屈折せず、その波長が長い青(B)ほど屈折しやすい。屈折しやすさは、この例で言うと、B、G、B、赤外光の順となる。
図13(b)は、その水滴が集まって霧を構成し、その霧がカメラによる撮像に及ぼす影響を示した図である。図13(a)では、水滴により光が屈折のみしているが、図13(b)では、光の反射、吸収、散乱も起こっている。このように光の屈折、反射、吸収、散乱が起こることで、本来ならばカメラに入ってくる被写体の像がにじんだり、色ずれを生じたり、鮮鋭性が低下したりする。このようなにじみ等が、コントラストの低下、彩度の低下、鮮鋭性の低下の原因となる。
赤外光は、霧であっても、図13(a)に示したように、ほとんど屈折しないので、反射、吸収、散乱等は起こりにくい。このため、コントラストや鮮鋭性の低下はほとんどない。ただし、色情報が欠落するので、彩度が0になる。
図13(c)は、霧が発生していない状態で撮像して得られた赤外光画像と可視光画像を示した図である。なお、これらの画像は、視差補正を行った後の画像である。これらの画像は、霧の影響がないため、可視光でもほとんど屈折は起こらず、視差補正後の赤外光画像と可視光画像における被写体の像はほぼ同じ位置に存在し、位置ずれが生じていない。
図13(d)は、霧が発生した状態で撮像して得られた赤外光画像と可視光画像を示した図である。赤外光は、霧がある状態でも屈折が起こりにくいので、赤外光画像における被写体の像は中央に位置しているが、可視光は屈折が起こるので、被写体の像がその中央からずれる。また、色が異なると、屈折の影響も異なるため、色が異なる場所(図13(d)中の網点と斜線部)では、その位置のずれ方が異なっている。
このような位置ずれを補正し、位置合わせして赤外光画像と可視光画像とを合成して合成画像を生成するが、図14を参照して、その合成処理について詳細に説明する。ここでも、大気外乱として霧を例にとり、説明する。図14(a)、(b)は、霧が発生していない状態で撮像した赤外光画像と可視光画像とを例示した図である。これらの画像は、被写体の像の位置がほぼ中央にあり、位置ずれ等を補正する必要がないので、そのまま合成して合成画像を生成することができる。すると、合成画像は、図14(c)に示すような画像となる。
画像の合成は、まず、赤外光画像の色空間をYUV色空間に変換し、Y(明度)の情報だけを取り出す。次に、可視光画像の色空間もYUV色空間に変換し、UV(彩度・色相)の情報だけを取り出す。そして、赤外光画像の明度情報(Y値)と、彩度補正された可視光画像の彩度情報および色相情報(UV値)とを用い、それらを合わせたYUV画像を合成画像として生成し、出力する。
なお、霧が発生していない場合は、図14(c)に示すように、YUVの位置ずれがないため、エッジの位置と、色が変化する箇所を表す色相境界とは一致している。このため、この位置とこの色相境界とが重なるように合成することで、合成画像を生成することができる。合成に使用する赤外光画像は、フィルタ処理がかけられ、可視光画像は、彩度補正が行われた画像が使用され、視差補正が必要である場合には、視差補正が行われたものとされる。
図14(d)、(e)は、霧が発生している状態で撮像した赤外光画像と可視光画像とを例示した図である。図14(d)は、図13(d)に示した状態と同じで、赤外光画像における被写体の像と可視光画像における被写体の像との位置がずれている。このため、YUVをそれぞれ取り出し、合成したところで、図14(f)に示すようなエッジの境界(実線)と可視光画像の色相の境界がずれてしまう。このずれを補正するために、位置ずれの補正を行う。
図15を参照して、その位置ずれの補正について詳細に説明する。図15では、矢線に示す、向かって横方向である主走査方向への位置ずれを補正する例について示している。このため、主走査方向への位置ずれ補正についてのみ説明するが、主走査方向に対して垂直な副走査方向への位置ずれも同様な方法により補正することができる。
主走査方向への位置ずれを補正する場合、図15(a)に示すように、画像に向かって左上隅を基準点(例えば、座標(0,0))として、その基準点から主走査方向へ1ラインずつ走査する。このとき、画素毎にエッジ検出結果と色相分割を行った結果とを参照する。エッジ検出結果は、図15(b)に示すような、エッジ部が白色の線で示された部分で、走査しているラインの画素毎にエッジ部であるか、非エッジ部であるかを示した情報である。エッジ部と判定された画素が複数左右に隣接している場合、その隣接している塊を1つのエッジ部として取り扱う。
色相分割を行った結果は、図15(c)に示すような、色毎に、その領域を区別する。ここでは、白地、網点、斜線という3つの領域に区別する。領域が別の領域に切り替わる箇所を、色相境界とする。
位置ずれの補正は、エッジ部と判定された画素と、色相境界と判定された画素の位置が一致しているかどうかを基準とし、画素毎に行う。例えば、エッジ部と判定された画素の位置と、色相境界と判定された画素の位置が閾値th1以上、閾値th2未満のときに位置ずれ補正を行うことができる。この閾値th1、th2は、任意に設定することができる。
具体的な位置ずれ補正の手順について、図16〜図22を参照して説明する。これらの例は、すべて主走査方向への位置ずれ補正の場合を示し、画像に向かって左側から右側へ走査する場合である。なお、走査方向は、その反対の右側から左側へ行ってもよい。また、副走査方向への位置ずれ補正は、その方向が向かって上側から下側へ走査し、同様の方法により行うことができる。
図16は、その第1例を示した図で、主走査方向にエッジの位置または色相境界を検出する際、エッジ、色相境界、エッジ、色相境界が交互に検出された場合の例を示した図である。1つのエッジと、1つの色相境界とをセットで処理する。これは以降の処理も同様である。
図16(a)に示すように、この例では、エッジ1、色相境界1、エッジ2、色相境界2の順に、エッジおよび色相境界が検出されている。最初に、エッジ1と色相境界1とをセット(1つの組)にする。色相境界1のすぐ右側にある画素(網点)のUV値を記録する。図16(b)に示すように、色相境界1をエッジ1に合わせるために、エッジ1と色相境界1との間の画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図16(c)に示すように、エッジ1と色相境界1との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ1と色相境界1とが同じ位置となり、見た目上の違和感、色ずれがなくなる。
次に、エッジ2と色相境界2とをセットにする。色相境界2のすぐ右側にある画素(網点)のUV値を記録する。図16(c)に示すように、エッジ2と色相境界2との間の画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図16(d)に示すように、エッジ2と色相境界2との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ2と色相境界2とが同じ位置となり、見た目上の違和感、色ずれがなくなる。
エッジと色相境界とが交互に連続する場合は、以降も同じ処理をくり返せばよい。セットしたエッジと色相境界が、エッジ、色相境界の順に繰り返されている場合、色相境界の右側にある画素のUV値へ、エッジの位置と色相境界との間にある画素のUV値を置き換える。
図16では、エッジ、色相境界の順に交互に検出される例を示したが、図17では、色相境界、エッジの順に交互に検出される例について示す。この例では、図17(a)に示すように、色相境界1、エッジ1、色相境界2、エッジ2の順に、エッジおよび色相境界が検出されている。最初に、エッジ1と色相境界1とをセットにする。色相境界1のすぐ左側にある画素(斜線)のUV値を記録する。図17(b)に示すように、色相境界1をエッジ1に合わせるために、エッジ1と色相境界1との間の画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図17(c)に示すように、エッジ1と色相境界1との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ1と色相境界1が同じ位置となり、見た目上の違和感、色ずれがなくなる。
次に、エッジ2と色相境界2とをセットにする。色相境界2のすぐ左側にある画素(網点)のUV値を記録する。図17(c)に示すように、エッジ2と色相境界2との間の画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図17(d)に示すように、エッジ2と色相境界2との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ2と色相境界2が同じ位置となり、見た目上の違和感、色ずれがなくなる。
この場合も、エッジと色相境界とが交互に連続するとき、以降も同じ処理を繰り返すことにより、位置ずれの補正を行うことができる。また、セットにしたエッジと色相境界とが、色相境界、エッジの順に交互に検出される場合は、色相境界の右側にある画素のUV値へ、エッジの位置と色相境界との間にある画素のUV値を置き換える。
図16および図17では、エッジと色相境界とが交互に連続している場合について説明してきた。実際には、交互に連続する以外に、エッジ、色相境界、色相境界、エッジといったように、不連続に検出される場合もある。以下、このように不連続に検出される場合について説明する。
図18は、エッジ、色相境界、色相境界、エッジといったエッジと色相境界が途中で切り替わる場合の例を示した図である。図18(a)に示すように、この例では、エッジ1、色相境界1、色相境界2、エッジ2の順に、エッジおよび色相境界が検出されている。最初に、エッジ1と色相境界1とをセットにする。色相境界1のすぐ右側にある画素(網点)のUV値を記録する。図18(b)に示すように、色相境界1をエッジ1に合わせるために、エッジ1と色相境界1との間にある画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図18(c)に示すように、エッジ1と色相境界1との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ1と色相境界1が同じ位置となり、見た目上の違和感、色ずれがなくなる。
次に、エッジ2と色相境界2とをセットにする。色相境界2のすぐ左側にある画素(網点)のUV値を記録する。図18(c)に示すように、エッジ2と色相境界2との間の画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図18(d)に示すように、エッジ2と色相境界2との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ2と色相境界2が同じ位置となり、見た目上の違和感、色ずれがなくなる。
このように不連続であっても、エッジと色相境界とをセットにし、その順を考慮して同様の処理を実施することで、位置ずれ補正を行うことができる。
図19は、図18に示した実施例とは反対に、色相境界、エッジ、エッジ、色相境界の順に、エッジと色相境界が途中で切り替わる場合の例を示した図である。図19(a)に示すように、この例では、色相境界1、エッジ1、エッジ2、色相境界2の順に、エッジおよび色相境界が検出されている。最初に、エッジ1と色相境界1とをセットにする。色相境界1のすぐ左側にある画素(斜線)のUV値を記録する。図19(b)に示すように、色相境界1をエッジ1に合わせるために、エッジ1と色相境界1との間にある画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図19(c)に示すように、エッジ1と色相境界1との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ1と色相境界1が同じ位置となり、見た目上の違和感、色ずれがなくなる。
次に、エッジ2と色相境界2とをセットにする。色相境界2のすぐ右側にある画素(横縞)のUV値を記録する。図19(c)に示すように、エッジ2と色相境界2との間にある画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図19(d)に示すように、エッジ2と色相境界2との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ2と色相境界2が同じ位置となり、見た目上の違和感、色ずれがなくなる。
図18および図19は、エッジと色相境界のセットの並び順が途中で切り替わった例について説明した。不連続に検出される例として、エッジ、色相境界、色相境界、色相境界、エッジといったように、エッジあるいは色相境界が3つ以上連続して並び、エッジと色相境界をセットにすることができない場合もある。
図20は、エッジ、色相境界、色相境界、色相境界、エッジという色相境界が途中に3つ連続して検出される場合の例を示した図である。図20(a)に示すように、この例では、エッジ1、色相境界1、色相境界1’、色相境界2、エッジ2の順に、エッジおよび色相境界が検出されている。エッジ1と色相境界1とでセットにすることができるので、最初に、これらをセットにする。そして、色相境界1のすぐ右側にある画素(網点)のUV値を記録する。図20(b)に示すように、エッジ1と色相境界1との間にある画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図20(c)に示すように、エッジ1と色相境界1との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ1と色相境界1が同じ位置となり、見た目上の違和感、色ずれがなくなる。
次に、セットを組む場合、色相境界1’と色相境界2がセットになるが、色相境界の2つはセットにして処理を行わない。そのため、次の色相境界2とエッジ2とをセットにし、処理を行う。したがって、色相境界が4つ連続する場合は、途中の2つの色相境界はセットにして処理は行わず、エッジを検出したところで、そのエッジとそのエッジの直前に検出された色相境界とをセットにして処理を行う。
次の処理では、エッジ2と色相境界2とをセットにする。色相境界2のすぐ左側にある画素(高密度の網点)のUV値を記録する。図20(c)に示すように、エッジ2と色相境界2との間にある画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図20(d)に示すように、エッジ2と色相境界2との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ2と色相境界2が同じ位置となり、見た目上の違和感、色ずれがなくなる。
このような色相境界が連続して3つ以上検出される例としては、グラデーションを挙げることができる。このようなグラデーションの場合、途中の色相境界上にエッジがなくても、位置ずれは目立たないものである。
図20に示した例とは反対に、エッジが3つ以上連続して検出される場合もある。図21は、色相境界、エッジ、エッジ、エッジ、色相境界というエッジが途中に3つ連続して検出される場合の例を示した図である。図21(a)に示すように、この例では、色相境界1、エッジ1、エッジ1’、エッジ2、色相境界2の順に、エッジおよび色相境界が検出されている。エッジ1と色相境界1とはセットにすることができるので、最初に、これらをセットにする。そして、色相境界1のすぐ左側にある画素(網点)のUV値を記録する。図21(b)に示すように、色相境界1をエッジ1に合わせるために、エッジ1と色相境界1との間にある画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図21(c)に示すように、エッジ1と色相境界1との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ1と色相境界1が同じ位置となり、見た目上の違和感、色ずれがなくなる。
次にセットを組む場合、エッジ1’とエッジ2ということになるが、上記の2つの色相境界の場合と同様、2つのエッジをセットにして処理は行わない。このため、連続するエッジの次にある色相境界を検出する。そして、検出した色相境界2とその直前に検出されたエッジ2とをセットする。
色相境界2のすぐ右側にある画素(横縞)のUV値を記録する。図21(c)に示すように、エッジ2と色相境界2との間にある画素に対して、その全てのUV値を、その記録したUV値と置き換える。これにより、図21(d)に示すように、エッジ2と色相境界2との間にある全ての画素のUV値が、その記録したUV値となる。すると、エッジ2と色相境界2が同じ位置となり、見た目上の違和感、色ずれがなくなる。
このようなエッジが3つ以上連続して検出される例としては、背景と同じ色のエッジがある場合が挙げられる。このような場合、途中のエッジ上に色相境界がなくても、位置ずれは目立たないものである。
これまで実施例をもって画像処理装置および撮像システムの構成および機能について詳細に説明してきた。また、各機能部が実行する処理についても説明してきた。ここに、この画像処理装置により実行される全体の処理の流れについてまとめる。
図22は、画像処理装置が実行する全体の処理の流れを示したフローチャートである。ステップ2200から開始し、ステップ2210では、画像取得部50が、少なくとも1つのカメラから出力された赤外光画像と可視光画像とを取得する。ステップ2220では、画像取得部50が、取得した2つの画像のうち、赤外光画像をフィルタ部53に渡し、可視光画像を画像補正部51へ渡す。
ステップ2230では、フィルタ部53が、上述したノイズ除去、エッジ強調といったフィルタ処理を行う。そして、ステップ2240において、エッジ検出部54が、ノイズが除去され、エッジが強調された赤外光画像に対して、図10を参照して説明した方法により、そのエッジを検出するエッジ検出を行う。エッジ検出部54は、検出結果を、合成画像生成部52へ出力する。上記のステップ2230では、フィルタ部53は、ノイズ除去、エッジ強調を行った赤外光画像を、エッジ検出部54へ出力するとともに、合成画像生成部52へも出力する。
ステップ2250では、画像補正部51が、可視光画像に対して彩度補正を行う。彩度補正は、図8および図9を参照して説明した方法により行うことができる。画像補正部51は、彩度補正を行った後の可視光画像を、色相分割部55へ出力する。ステップ2260では、色相分割部55が、図11を参照して説明した方法により、その可視光画像の色相を分割し、どの色相にあるかを判定する。色相分割部55は、その判定した結果を、色相分割を行った結果として合成画像生成部52へ出力する。このとき、画像補正部51は、彩度補正を行った後の可視光画像を、合成画像生成部52へ出力する。上記ステップ2250では、画像補正部51は、彩度補正を行った後の可視光画像を、色相分割部55へ出力するとともに、合成画像生成部52へも出力する。
図22では、ステップ2230およびステップ2240の処理を、ステップ2250およびステップ2260の処理より先に行っているが、その順番は反対であってもよいし、同時に並行して行ってもよい。
ステップ2270では、合成画像生成部52が、必要に応じて、図12を参照して説明した方法により視差補正を行い、赤外光画像と可視光画像との位置ずれを補正して合成し、合成画像を生成する。合成は、図14を参照して説明した方法により行うことができる。また、合成の際に実施する2つの画像の位置合わせについては、図15を参照して説明した方法により位置ずれを補正し、図16〜図21を参照して説明した方法により行うことができる。
合成画像生成部52は、合成画像を生成した後、その合成画像を出力し、ステップ2280でこの処理を終了する。出力された合成画像は、侵入者の検知、不審物の検知、犯罪者の顔認証等に使用される。
このように、赤外光画像と可視光画像を取得し、可視光画像に対して彩度補正を行い、赤外光画像と補正後の可視光画像とが位置ずれしないように合成することで、上記の検知や認証等の画像処理精度を向上させることができる。
これまで本発明を、画像処理装置、撮像システムおよび画像処理方法として上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではない。したがって、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。よって、上記画像処理方法をコンピュータに実行させるためのプログラムや、そのプログラムが記録された記録媒体等も提供することができるものである。