(57)【特許請求の範囲】
【請求項１】
カメラで撮影した映像を処理する画像処理装置において、
前記撮像装置から逐次入力される入力画像を、時間領域で指数移動平均することによって参照画像を推定する参照画像推定部と、
前記入力画像に、前記参照画像上のボケと同様のボケを与えるローパスフィルタと、
前記ボケを与えられた入力画像および前記参照画像に基づいて、該入力画像の局所的な揺らぎを算出して陽炎による動きベクトルを検出するオプティカルフロー計算部と、
前記入力画像の局所的な揺らぎを除去するように、符号を反転させた前記動きベクトルによって前記入力画像の画素を移動させて、前記入力画像を補正する動き補正部とで構成され、
前記ローパスフィルタは、前記動きベクトルの分散に略等しい分散のガウス関数で表されるガウシアンフィルタであることを特徴とする画像処理装置。
【請求項２】
前記オプティカルフロー計算部は、ブロックマッチング法あるいは勾配法の少なくとも一つの方法を用いてオプティカルフローを計算することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
コンピュータに、カメラで撮影した映像を処理させる画像処理のプログラムであって、
撮像装置から逐次入力される入力画像を、時間領域で指数移動平均することによって参照画像を推定する参照画像推定工程と、
前記入力画像に、前記参照画像上のボケと同様のボケを与えるローパスフィルタを施すフィルタリング工程と、
前記ボケを与えられた入力画像および前記参照画像に基づいて、該入力画像の局所的な揺らぎを算出して陽炎による動きベクトルを検出するオプティカルフロー計算工程と、
前記入力画像の局所的な揺らぎを除去するように、符号を反転させた前記動きベクトルによって前記入力画像の画素を移動させて、前記入力画像を補正する動き補正工程と、
を前記コンピュータに実行させ、
前記ローパスフィルタは、前記動きベクトルの分散に略等しい分散のガウス関数で表されるガウシアンフィルタであることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に係り、特にカメラなどによって撮影された映像が陽炎による揺らぎで劣化した場合に映像の画質を改善することのできる画像処理装置に関する。
【背景技術】
【０００２】
昨今、カメラなどを用いて或る被写体を撮影した場合に、撮影した画像が劣化していたときには画質劣化を改善（画質を復元）して被写体が良好に知覚できるようにする画像処理方法が数多く提案されている。
これに関連したものとして、特許文献１に挙げた従来技術（従来技術１とする）がある。従来技術１では、カメラ撮影時に生じる手ぶれ等の事象に対して、ブラインドデコンボルーション法による画像劣化復元手法を開示しており、ブラインドデコンボルーション法を用いて手ぶれによる揺れ量を検出し、手ぶれを補正することで、例えばジャイロセンサなどの物理量を検出するセンサを用いずに、簡単な構成で手ぶれの無い良好な画像を得ることが示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３３３３２６号公報
【非特許文献】
【０００４】
【非特許文献１】奥富正敏（外15名）著、「ディジタル画像処理」、財団法人画像情報教育振興会、2004年、p.202-204、p.243-245
【非特許文献２】Jean-Yves Bouguet著、「Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the algorithm」、OpenCV Reference Manual、［online］、［平成22年10月8日検索］、インターネット〈URL：http://trac.assembla.com/dilz_mgr/export/272/doc/ktl-tracking/algo_tracking.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記従来技術１によれば、カメラを用いて撮影する際に手ぶれ等によって画像画質が劣化した場合でも、その劣化を改善し、良好な画像を得ることができる。しかしながら、画像画質の劣化要因は手振れだけでなく、陽炎などの自然界の大気要因によって生じる事象など、各種様々な要因がある。陽炎は、温度の異なる空気が混ざり合い、局所的に空気の密度の差が生じ、その境界で光が屈折して物体が揺らいで見える現象であり、画像内に複数の異なる大きさ・向きを持った揺らぎが存在するため、従来方法１では、補正することができないという問題があった。
本発明の目的は、上記問題点に鑑み、陽炎などの自然界の大気要因によって生じる事象による画像画質の劣化を改善し、良好な画像を得ることができる画像処理装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、カメラで撮影した映像を処理する画像処理装置において、前記撮像装置から逐次入力される入力画像を、時間領域で指数移動平均することによって参照画像を推定する参照画像推定部と、前記入力画像に、前記参照画像上のボケと同様のボケを与えるローパスフィルタと、前記ボケを与えられた入力画像および前記参照画像に基づいて、該入力画像の局所的な揺らぎを算出して陽炎による動きベクトルを検出するオプティカルフロー計算部と、前記入力画像の局所的な揺らぎを除去するように、符号を反転させた前記動きベクトルによって前記入力画像の画素を移動させて、前記入力画像を補正する動き補正部とで構成され、前記ローパスフィルタは、前記動きベクトルの分散に略等しい分散のガウス関数で表されるガウシアンフィルタであることを特徴とする。
また、前記オプティカルフロー計算部は、ブロックマッチング法あるいは勾配法の少なくとも一つの方法を用いてオプティカルフローを計算してもよい。
本発明は、コンピュータに、カメラで撮影した映像を処理させる画像処理のプログラムであって、撮像装置から逐次入力される入力画像を、時間領域で指数移動平均することによって参照画像を推定する参照画像推定工程と、前記入力画像に、前記参照画像上のボケと同様のボケを与えるローパスフィルタを施すフィルタリング工程と、前記ボケを与えられた入力画像および前記参照画像に基づいて、該入力画像の局所的な揺らぎを算出して陽炎による動きベクトルを検出するオプティカルフロー計算工程と、前記入力画像の局所的な揺らぎを除去するように、符号を反転させた前記動きベクトルによって前記入力画像の画素を移動させて、前記入力画像を補正する動き補正工程と、を前記コンピュータに実行させ、前記ローパスフィルタは、前記動きベクトルの分散に略等しい分散のガウス関数で表されるガウシアンフィルタであることを特徴とする。
【発明の効果】
【０００７】
本発明による画像処理装置によれば、従来方法１では補正できなかった陽炎による画像の揺らぎを補正することが可能となり、良好な画像を提供できるようになる。
【図面の簡単な説明】
【０００８】
【図１】本発明の画像処理装置が適用された監視装置の構成図である。
【図２】本発明の画像処理装置の内部ブロック図の一例を説明する図である。
【図３】本発明の画像処理装置の動作フローの一例を説明する図である。
【図４】本発明の参照画像推定部の動作を説明する図である。
【図５】本発明のオプティカルフロー計算部の計算結果を説明する図である。
【図６】本発明のオプティカルフロー計算部におけるローパスフィルタの濾過特性の算出方法を説明する図である。
【発明を実施するための形態】
【０００９】
本発明に係る実施例を、図面を参照して説明する。
【実施例１】
【００１０】
本発明を適用した具体的な実施形態として、カメラなどの撮像装置による監視装置を例に以下説明する。
図１は、本発明が適用された監視装置１００の構成を機能ブロックで示したものである。監視装置１００は、監視カメラなどの撮像装置１０１、撮像装置１０１からの画像データを入力して本発明の画像処理を実行する画像処理装置１０２、撮像装置１０１から入力した画像データ（入力画像）や画像処理装置１０２から出力された画像データ（参照画像、補正画像）を入力して映像として出力する画像出力部１０３を備えている。画像出力部１０３は、映像表示部を備えたモニタ装置などで構成できる。画像処理装置１０２は、図示はしていないが、マイクロコンピュータを備え、メモリに記憶されたプログラムを実行して各種演算を行い、以下説明する各機能を実現する。
【００１１】
図２は、本実施例の画像処理装置１０２の内部ブロック図の一例を示している。本実施例の画像処理装置１０２は、参照画像推定部１、オプティカルフロー計算部２、動き補正部３から構成されている。また、図３は、本実施例の画像処理装置１０２の動作のフローチャートの一例を示している。参照画像推定部１の動作は参照画像推定ステップＳ１で実行され、オプティカルフロー計算部２の動作はオプティカルフロー算出ステップＳ２で実行され、動き補正部３の動作は動き補正ステップＳ３で実行される。以下、各処理部の動作を説明する。
【００１２】
まず、参照画像推定部１は、参照画像推定ステップＳ１において、カメラなどの撮像装置１０１から逐次入力される入力画像から動きのない画像（参照画像）を推定する。その動作を、図４を用いて説明する。或る時刻ｔに入力された画像Ｆｔ（ｘ，ｙ）は、ゲインブロック５に入力されてｒ倍され、一方、遅延部７から出力される或る時刻ｔの参照画像Ｒｔ（ｘ，ｙ）がゲインブロック６で１−ｒ倍され、これらゲインブロック５とゲインブロック６の出力値は加算器８によって重み付け加算される。そして、加算器８の出力値は遅延部７に入力され、遅延部７は、次フレーム（時刻ｔ＋１）における参照画像Ｒｔ＋１（ｘ，ｙ）としてデータを更新し出力する。ここでゲインブロック５、６におけるrは重みであり、０から１の間の値を取る定数である。また、遅延部７は、１フレームの時間間隔分だけ画像を保持する。したがって、参照画像推定部１で算出される参照画像は、式（１）のように表わされる。
【００１３】
Ｒｔ＋１（ｘ，ｙ）＝ｒ×Ｆｔ（ｘ，ｙ）＋（１−ｒ）×Ｒｔ（ｘ，ｙ）
・・・・・・（１）
【００１４】
式（１）は、指数移動平均（Exponential Moving Average）と呼ばれ、逐次入力される入力画像の高周波成分の低減（平均化）の効果がある。ここで、重みrは、例えば、r＝０．０１（１／１００）とすると、参照画像に対して最後に重み付け加算した入力画像は、１００フレームの入力画像を平均化したと同等の重みが課せられる。すなわち、逐次入力される入力画像に対して、参照画像推定部１をその都度実行すると、重みｒで示されるフレーム数の入力画像を平均化した画像として収束する。この画像を参照画像と呼び、参照画像は、入力画像中の移動する物体、揺らぎなどが取り除かれ、動きのない画像となる。
【００１５】
次に、オプティカルフロー計算部２は、オプティカルフロー算出ステップＳ２において、入力画像と参照画像を比較し、オプティカルフローを計算する。オプティカルフローは、２つの画像間での局所的な動きの分布を表わすものであり、例えば、図５のようになる。図５は、オプティカルフロー計算部２の計算結果を説明するための図であり、図５（ａ）は参照画像、図５（ｂ）は入力画像、図５（ｃ）はオプティカルフローを示している。前述の通り、参照画像は、動きのない画像であり、入力画像は、陽炎などによって揺らいでいる画像となるため、２つの画像のオプティカルフローは、図５（ｃ）のような局所的にランダムな動きを持つ分布となる。
【００１６】
図５（ｃ）のオプティカルフローの計算の方法としては、参照画像（図５（ａ））の局所的なブロックのパターン（テンプレート）が、入力画像（図５（ｂ））中でどの位置にあるかを２つの画像の局所領域（例えば、縦１０画素、横１０画素）の類似度に基づいて探す処理（これをテンプレートマッチング処理と言う）に基づくブロックマッチング法や、或る注目画素の輝度レベルの空間的な勾配と２フレームの画像の輝度レベルの差分から、動きベクトルを計算する勾配法などがある。これらの計算を、入力画像（図５（ｂ））上の注目画素（例えば、縦横１０画素間隔の位置の画素）において適用することで、入力画像（図５（ｂ））全体の局所的な動き（動きベクトル）の分布が得られる。これらの方法は、当該技術分野において広く用いられており、例えば、テンプレートマッチング法については非特許文献１の２０２ページから２０４ページ、オプティカルフローについては非特許文献１の２４３ページから２４５ページや非特許文献２に詳しく記載されている。
【００１７】
すなわち、オプティカルフロー計算部２によれば、入力画像（図５（ｂ））および参照画像（図５（ａ））の２つの画像間での局所的な動きの分を計算することができる。すなわち、入力画像（図５（ｂ））上の注目画素において、陽炎による揺らぎ（動きベクトル）がどの程度発生しているかを推定することができる。
【００１８】
次に、動き補正部３では、動き補正ステップＳ３において、オプティカルフロー計算部２によって得られた動きベクトルを用いて、陽炎による揺らぎを補正する。例えば、入力画像（図５（ｂ））のある注目画素での動きベクトルをｖ＝（ｖｘ，ｖｙ）とした場合、入力画像（図５（ｂ））の該注目画素を中心とする局所領域（例えば、上記例では縦１０画素、横１０画素）の部分画像に対して、（−ｖｘ，−ｖｙ）だけ移動した部分画像を生成する。すなわち、この移動した部分画像は、陽炎による移動分を補正された部分画像となる。この部分画像生成処理を注目画素すべてに対して行い、すべての部分画像を重ね合わせたものを補正画像として出力する。
なお、動きベクトルが実数で表わされる場合、上述の部分画像を移動する処理において、適当な補間処理を実施するようにしても良い。
【００１９】
以上のようにすることで、逐次入力される入力画像（図５（ｂ））から動きのない参照画像（図５（ａ））を推定し、入力画像（図５（ｂ））および参照画像（図５（ａ））に基づいてオプティカルフロー（図５（ｃ））を計算して入力画像（図５（ｂ））の局所的な揺らぎ（動きベクトル）を算出し、該動きベクトルに基づいて陽炎の揺らぎを相殺するように入力画像（図５（ｂ））の部分画像を移動して入力画像（図５（ｂ））中に存在する陽炎の揺らぎを取り除いた補正画像を生成することができる。
【実施例２】
【００２０】
本実施例は、実施例１で示される画像処理装置において、オプティカルフロー計算部２の計算結果の精度を向上させるものである。本実施例の処理部の構成は、図２と同様であるため構成についての説明は省略する。
【００２１】
前述の通り、参照画像推定部１は、逐次入力される入力画像を指数移動平均によって平均化し、動きのない参照画像を得る。これによって、入力画像中に存在する、陽炎の揺らぎの他、移動する物体、動きのある背景構成物の動きが除去される。しかし、陽炎のような常時揺らいでいる事象は、入力画像の平均化によって、参照画像上にボケとなって現れる。一方、勾配法を用いたオプティカルフロー計算は、ある注目画素の輝度レベルの空間的な勾配と２フレームの画像の輝度レベルの差分から、動きベクトルを計算するものであるため、入力画像上にノイズが重畳されていたり、入力画像と参照画像とで輝度レベルの差が存在していたりする場合には、計算されるオプティカルフローの精度が低下するという問題がある。
【００２２】
この問題を解決するためには、参照画像上のボケを低減するようなハイパスフィルタを参照画像に適用するか、入力画像に同様のボケを重畳するようなローパスフィルタを入力画像に適用する方法がある。本実施例では、入力画像にノイズが混入している事も考慮し、オプティカルフロー計算部２に入力される入力画像にローパスフィルタ（例えばガウシアンフィルタ）を適用するように構成する。
【００２３】
次に、上記ローパスフィルタ（ガウシアンフィルタ）の濾過特性の算出方法を、図６を用いて説明する。図６は、横軸に動きベクトル量、縦軸に動きベクトルの発生頻度を表わすヒストグラムを示したものである。動きベクトル量は、オプティカルフロー計算部２において過去における所定数のフレーム（例えば１０フレーム）で算出された、各注目点における動きベクトルｖの要素ｖｘないしはｖｙの少なくとも一つであり（要素が実数で表わされる場合には、四捨五入あるいは少数打ち切りなどの方法により整数化する）、これを動き量ｄとする。動きベクトルの発生頻度は、該要素の動き量ｄの値をとる動きベクトルの個数である。このヒストグラムは、陽炎による揺れの量の分布を表わしており、揺れが大きくなるにつれ発生頻度が少なくなるため、０を中心とした山形の分布となる。次に、このヒストグラムを用いて、揺れの分布の分散σ２（標準偏差σ）を計算する。σ２は、式（２）で表わされる。
【００２４】
σ２＝Σｄ２×ｈ（ｄ）／Ｎ  ・・・・・・（２）
【００２５】
ここで、ｄは動きの量、ｈ（ｄ）は動き量ｄの発生頻度、Ｎは、対象とした要素の総数を表わす。ガウシアンフィルタは、この分散σ２で表わされるガウス関数を重みとする平滑化フィルタによって実現される。このガウス関数は、式（３）で表わされる。
【００２６】
ｈｇ（ｘ，ｙ）＝１／２πσ２×ｅｘｐ（−（ｘ２＋ｙ２）／２σ２）
・・・・・・（３）
【００２７】
すなわち、上述のガウシアンフィルタを用いることで、入力画像と参照画像のボケによる輝度レベルの差を低減し、かつ、入力画像のノイズを低減させてオプティカルフローを計算するため、オプティカルフローの精度が向上する。
【実施例３】
【００２８】
本実施例は、実施例１乃至実施例２で示される画像処理装置において、動き補正部３の補正精度を向上させるものである。本実施例の処理部の構成は、図２と同様であるため構成についての説明は省略する。
【００２９】
前述の通り、オプティカルフロー計算部２では、入力画像と参照画像の局所的な類似性や、注目画素における入力画像の輝度レベルの空間的な勾配と入力画像と参照画像の輝度レベルの差分から、動きベクトルを計算する。しかしながら、参照画像の平均化の効果によって、入力画像に移動する物体が存在した場合でも、参照画像上では当該物体は存在しない。そのため、当該物体が存在する領域では局所的な類似性が低下し、また入力画像と参照画像の輝度レベルの差が大きくなり、当該物体が存在する領域では正確な動きベクトルが計算できないという問題がある。
【００３０】
この問題を解決するために、本実施例では、入力画像と参照画像の局所的な類似性に基づき、動きベクトルの信頼性を評価するようにした。類似性は、例えば、入力画像と参照画像の輝度レベルの差の絶対値の総和（Sum of Absoluted Difference :相違度）や、入力画像と参照画像の正規化相互相関（Normalized Cross-correlation ：類似度）によって定義される。この相違度および類似度は、非特許文献１の２０３ページから２０４ページに記載されている。
【００３１】
次に、信頼性が低い場合（例えば、相違度であれば差の絶対値の総和が所定のしきい値（例えば、画素数で平均化して６４）以上になった場合、類似度であれば相関が所定のしきい値（例えば、０．７以下になった場合）には、入力画像上に動く物体が存在しているとして、動きベクトルを０にする（ｖ＝（０，０）とする）。動きベクトルを０にするということは、入力画像の部分画像がそのまま補正画像に反映されることを意味しており、すなわち、入力画像中の移動する物体は、そのまま補正画像に出力される。
【００３２】
このようにすることで、入力画像中で移動する物体が存在して、動きベクトルが正確に計算できない場合でも、当該物体を正しく補正画像に出力できるようになる。
【００３３】
以上の実施態様の特徴を纏めると次のようになる。
（１）  本発明の画像処理装置は、対象領域を撮影する撮像装置と、前記撮像装置で撮影した映像を処理する画像処理装置において、前記撮像装置から逐次入力される入力画像に基づき動きのない参照画像を推定する参照画像推定部と、前記入力画像および前記参照画像に基づいて前記入力画像の局所的な揺らぎを算出して陽炎による動きの分布を検出するオプティカルフロー計算部と、前記入力画像の局所的な揺らぎを除去するように前記オプティカルフロー計算部で検出した陽炎による動きの分布により前記入力画像を補正する動き補正部とで構成されることを特徴とする。
（２）  また、（１）の前記参照画像推定部は、現在の入力画像と現在の参照画像の重み付け加算によって、前記参照画像を逐次更新するようにしてもよい。
（３）  また、（１）（２）の前記オプティカルフロー計算部は、ブロックマッチング法あるいは勾配法の少なくとも一つの方法を用いてオプティカルフローを計算するようにしてもよい。
（４）  また、（３）の前記オプティカルフロー計算部は、前記オプティカルフロー計算部が勾配法を用いてオプティカルフローを計算する場合、前記オプティカルフロー計算部は、オプティカルフローを計算する前に入力画像の高周波成分を低減させるフィルタ（例えばガウシアンフィルタ）を実行するようにしてもよい。
（５）  また、（４）の前記オプティカルフロー計算部の前記フィルタの濾過特性を、過去における所定数のフレームを基に前記オプティカルフロー計算部によって検出した動き分布に基づいて算出するようにしてもよい。
（６）  また、（１）〜（５）の前記オプティカルフロー計算部は、入力画像と参照画像の局所的な類似性に基づき、検出した動き分布の各動きベクトルの信頼度を算出し、該信頼度に基づいて該動き分布を修正するようにしてもよい。
（７）  また、（１）〜（６）の画像処理装置は、撮像装置から画像データを入力して処理する監視装置に備えるようにしてもよい。
【産業上の利用可能性】
【００３４】
本発明は、上記説明した監視装置に限らず、各種撮像装置における陽炎による画像劣化の防止に広く利用できる。
【符号の説明】
【００３５】
１・・・参照画像推定部
２・・・オプティカルフロー計算部
３・・・動き補正部
５、６・・・ゲインブロック
７・・・遅延部
８・・・加算器
１００・・・監視装置
１０１・・・撮像装置
１０２・・・画像処理装置
１０３・・・画像出力部
Ｓ１・・・参照画像推定ステップ
Ｓ２・・・オプティカルフロー計算ステップ
Ｓ３・・・動き補正ステップ
【図１】
0005885384.tif 000002
【図２】
0005885384.tif 000003
【図３】
0005885384.tif 000004
【図４】
0005885384.tif 000005
【図５】
0005885384.tif 000006
【図６】
0005885384.tif 000007