(57)【要約】      （修正有）【課題】着目画素を含むパッチ領域が動きのある被写体領域の境界に跨っていたとしても、パッチ領域の動きを決定可能として動き検出精度を高められるようにすることができる画像処理装置、画像処理方法、プログラムを提供する。【解決手段】画像処理装置は、入力画像と参照画像とを取得する取得手段３０１と、入力画像と参照画像のそれぞれに対して、所定の条件を満たす画素からなる領域を拡げる領域拡大処理を行う領域拡大手段３０２と、領域拡大処理がなされた入力画像の着目画素について、領域拡大処理がなされた参照画像における対応点を検出する検出手段３０４と、を有する。【選択図】図３
2020009185.tif 000002
【特許請求の範囲】
【請求項１】
入力画像と参照画像を取得する取得手段と、
前記入力画像と前記参照画像のそれぞれに対し、所定の条件を満たす画素からなる領域を拡げる領域拡大処理を行う領域拡大手段と、
前記領域拡大処理がなされた前記入力画像の着目画素について、前記領域拡大処理がなされた前記参照画像における対応点を検出する検出手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記領域拡大手段は、異なる手法を用いて前記領域拡大処理を行う機能を有し、
前記検出手段は、前記異なる手法を用いて前記領域拡大処理した画像から検出した対応点を基に、一つの対応点を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記領域拡大手段は、局所領域のなかで相対的に大きい値の画素を抽出し、前記抽出した画素の値を用いて前記領域拡大処理を行った画像を生成することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記領域拡大手段は、局所領域のなかで相対的に小さい値の画素を抽出し、前記抽出した画素の値を用いて前記領域拡大処理を行った画像を生成することを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
前記領域拡大手段は、最大値フィルタにより前記領域拡大処理を行うことを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記領域拡大手段は、最小値フィルタにより前記領域拡大処理を行うことを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記検出手段は、前記決定した対応点を、前記領域拡大処理がなされた前記参照画像から対応点を探索する際の初期点として設定することを特徴とする請求項２に記載の画像処理装置。
【請求項８】
前記領域拡大手段は、前記入力画像と前記参照画像とに対し、それぞれ最大値プーリング処理と最小値プーリング処理を行い、
前記検出手段は、前記入力画像から前記最大値プーリング処理により生成した画像と前記参照画像から前記最大値プーリング処理により生成した画像とを用いて検出した対応点と、前記入力画像から前記最小値プーリング処理により生成した画像と前記参照画像から前記最小値プーリング処理により生成した画像とを用いて検出した対応点とを基に、前記一つの対応点を決定することを特徴とする請求項２に記載の画像処理装置。
【請求項９】
前記検出手段は、前記決定した対応点を基に、前記参照画像のなかで対応点を探索する際の初期点を設定することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記領域拡大手段は、前記最大値プーリング処理と前記最小値プーリング処理によりそれぞれ複数の階層画像を生成し、
前記検出手段は、前記最大値プーリング処理にて生成された複数の階層画像と、前記最小値プーリング処理により生成された複数の階層画像とから、所定の階層における対応点を検出し、前記所定の階層で検出した対応点を基に、前記参照画像の対応点を探索する際の前記初期点を設定することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記検出手段は、前記領域拡大処理する前の画像の画素値と前記領域拡大処理した後の画像との各々の画素値を比較し、前記領域拡大処理する前の画像の画素値に近い、前記領域拡大処理した後の画素を選択し、前記選択した画素に対応する対応点を、前記一つの対応点として決定することを特徴とする請求項２、８、９、１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記入力画像と前記参照画像に対応して、各画素にそれぞれラベルＩＤが割り振られたラベル画像を取得するラベル取得手段を有し、
前記領域拡大手段は、前記ラベル画像を参照して、前記所定の条件を満たす画素からなる領域を拡げる前記領域拡大処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項１３】
前記ラベル画像は、少なくとも主被写体領域と他の領域とを、それぞれ異なるラベルＩＤにより表した画像であり、
前記領域拡大手段は、前記主被写体領域を表すラベルＩＤを有する領域に対して前記領域拡大処理を行うことを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記領域拡大手段は、着目画素を中心とした複数の画素からなる局所領域について、前記主被写体領域を表すラベルＩＤをカウントした個数が閾値以上である場合には前記着目画素を主被写体領域の画素とみなし、前記局所領域のなかで前記主被写体領域を表すラベルＩＤに対応した画素の平均値を算出して前記着目画素の画素値とすることを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記検出手段は、前記領域拡大処理がなされた前記入力画像の着目画素と、前記領域拡大処理がなされた前記参照画像における対応点とを基に、各画素に対応する動きベクトルをマップ化したオプティカルフローを生成することを特徴とする請求項１から１４のいずれか１項に記載の画像処理装置。
【請求項１６】
画像処理装置が実行する画像処理方法であって、
入力画像と参照画像を取得する取得工程と、
前記入力画像と前記参照画像のそれぞれに対し、所定の条件を満たす画素からなる領域を拡げる領域拡大処理を行う領域拡大工程と、
前記領域拡大処理がなされた前記入力画像の着目画素について、前記領域拡大処理がなされた前記参照画像における対応点を検出する検出工程と、
を有することを特徴とする画像処理方法。
【請求項１７】
コンピュータを、請求項１から１５のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像間の画素の対応をとる画像処理技術に関する。
【背景技術】
【０００２】
近年、画像間の画素の対応付けを行う技術の重要性が高まっている。画素の対応とは、着目画像の画素と同一であるとみなす参照画像の画素との関係であり、二点の座標で表現できる。例えばステレオ画像や多視点画像を用いた場合、画素の対応関係から被写体の奥行きを算出できるため、３次元画像処理に応用することも可能である。また、連続して撮像された画像（動画）を用いた場合、その対応関係を相対座標として表現すれば、それは動きベクトルとなる。このように動きベクトルを生成することを動き検出という。また、複数の画素の動き検出を行って得た動きベクトルの集合はオプティカルフローと呼ばれる（狭義には画素に対応する動きベクトルをマップ化した情報をオプティカルフローと呼ぶ）。そして、オプティカルフローを利用することによって、動体追跡、動画の防振、フレーム補間などが可能となる。
【０００３】
オプティカルフローを取得する代表的な手法としては、勾配法とテンプレートマッチング法がある。勾配法では、画素の時空間の輝度変化の方向と大きさから、オプティカルフローを算出する。基本的な勾配法では、着目画素を中心とした複数画素からなるパッチ領域（着目領域）の画素の平均的な時空間の輝度変化を基に動きベクトルを算出する。その代表的な方法には、Ｌｕｃａｓ  Ｋａｎａｄｅ法（以下、ＬＫ法とする。非特許文献１参照）がある。ＬＫ法では、移動前後のパッチ領域の画像相関をＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）で表現し、ＳＳＤをテイラー展開してＳＳＤが最小となる、つまり相関が最も高い移動量を導出する方程式を解く。この移動量が着目画素の動きベクトルとなる。そして、着目画素を走査しながら、各画素の動きベクトルを算出することによって、オプティカルフローを生成する。また、勾配法では検出できる動きの大きさが小さいため、複数の縮小画像から構成される階層画像（いわゆるピラミッド画像）を用いてオプティカルフローを検出することが一般的である。縮小画像で算出したオプティカルフローの動きベクトルを一段大きい画像の画素の動き検出の初期値として利用することによって、縮小画像では大きな動きを検出し、より大きな画像では縮小画像で検出した動きの差分、つまり、より高精度の動きを検出できる。その代表的な手法としては、非特許文献２に開示された手法がある。
【０００４】
またテンプレートマッチングでは、着目領域に対し、参照画像上の様々な位置にパッチ領域（参照領域）を複数設定して、着目領域と参照領域の相関を算出し、相関が最も高い参照領域の相対位置を動きベクトルとして検出する。これは動き探索と呼ばれている。そして、着目画素を走査しながら、動き探索を行って、各画素の動きベクトルを算出することにより、オプティカルフローが生成される。一般的なテンプレートマッチングでは、相関値算出にＳＳＤやＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を用いることが多い。また動き探索範囲を限定するためにテンプレートマッチングでもピラミッド画像を利用することがある。この場合、縮小画像で算出したオプティカルフローの動きベクトルが、一段大きい画像の画素の動き探索の探索初期点となされる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｂ．  Ｄ．  Ｌｕｃａｓ  ａｎｄ  Ｔ．  Ｋａｎａｄｅ  （１９８１），  Ａｎ  ｉｔｅｒａｔｉｖｅ  ｉｍａｇｅ  ｒｅｇｉｓｔｒａｔｉｏｎ  ｔｅｃｈｎｉｑｕｅ  ｗｉｔｈ  ａｎ  ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  ｓｔｅｒｅｏ  ｖｉｓｉｏｎ．  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｉｍａｇｉｎｇ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ  Ｗｏｒｋｓｈｏｐ，  ｐａｇｅｓ  １２１−−１３０
【非特許文献２】Ｐｙｒａｍｉｄａｌ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ｔｈｅ  Ｌｕｃａｓ  Ｋａｎａｄｅ  Ｆｅａｔｕｒｅ  Ｔｒａｃｋｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ  ｏｆ  ｔｈｅ  ａｌｇｏｒｉｔｈｍ  Ｊｅａｎ−Ｙｖｅｓ  Ｂｏｕｇｕｅｔ  ［平成３０年６月１４日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｒｏｂｏｔｓ．ｓｔａｎｆｏｒｄ．ｅｄｕ／ｃｓ２２３ｂ０４／ａｌｇｏ＿ｔｒａｃｋｉｎｇ．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、着目画素を中心とするパッチ領域の動きを検出する場合、例えば動きのある被写体領域の境界にパッチ領域が跨ると、パッチ領域内に動きが異なる領域が存在することになり、パッチ領域の動きを一意に決定できず、動き検出精度が低下してしまう。
【０００７】
そこで、本発明は、着目画素を含むパッチ領域が動きのある被写体領域の境界に跨っていたとしても、パッチ領域の動きを決定可能として動き検出精度を高められるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の画像処理装置は、入力画像と参照画像を取得する取得手段と、前記入力画像と前記参照画像のそれぞれに対し、所定の条件を満たす画素からなる領域を拡げる領域拡大処理を行う領域拡大手段と、前記領域拡大処理がなされた前記入力画像の着目画素について、前記領域拡大処理がなされた前記参照画像における対応点を検出する検出手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、着目画素を含むパッチ領域が動きのある被写体領域の境界に跨っていたとしても、パッチ領域の動きを一意に決定でき、動き検出精度を高めることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施形態の画像処理装置の概略構成例を示す図である。
【図２】オプティカルフローの概念説明に用いる図である。
【図３】動き検出を行う構成例を示した図である。
【図４】動き検出処理のフローチャートである。
【図５】境界部分の画像の拡大例を模式的に示した図である。
【図６】オプティカルフロー生成処理のフローチャートである。
【図７】オプティカルフローを合成する処理のフローチャートである。
【図８】第３実施形態のオプティカルフロー生成処理のフローチャートである。
【図９】第３実施形態のオプティカルフロー合成処理のフローチャートである。
【図１０】ラベル画像を使った動き検出処理のフローチャートである。
【図１１】ラベル画像を使った領域拡大の説明に用いる図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら本発明の一実施形態について説明する。
＜第１実施形態＞
第１実施形態では、主被写体のオプティカルフローを生成する方法について説明する。図１は、第１実施形態の画像処理装置の概略構成例を示した図である。
画像処理装置１００は、ＣＰＵ１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、ＯＦ生成部１０４と、入力インターフェース１０５と、出力インターフェース１０６と、システムバス１０７とを有して構成されている。外部メモリ１０８は、例えばハードディスク、メモリカード、ＣＦカード（コンパクトフラッシュは登録商標）、ＳＤカード、ＵＳＢメモリ等からなり、入力インターフェース１０５と出力インターフェース１０６に接続されている。表示装置１０９は、液晶ディスプレイなどの画像表示デバイスであり、出力インターフェース１０６に接続されている。
【００１２】
ＣＰＵ１０１は、画像処理装置１００の各構成を統括的に制御するプロセッサである。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリアとして機能するメモリである。ＲＯＭ１０３は、画像処理装置１００内の処理に用いられるプログラム等を格納するメモリである。ＣＰＵ１０１は、ＲＡＭ１０２をワークエリアとして、ＲＯＭ１０３に格納されたプログラムを実行することにより、後述する様々な処理や制御を実現する。その他、画像処理装置１００は不図示の大容量記憶部も備えていてもよく、大容量記憶部は画像処理装置１００での処理に用いる画像データや、処理のためのパラメータなどを記憶する。大容量記憶部としてはＨＤＤや光ディスクドライブ、フラッシュメモリなどを用いることができる。
【００１３】
ＯＦ生成部１０４は、動きベクトルの検出とオプティカルフローの生成を行う。ＯＦ生成部１０４により行われる動きベクトルの検出処理とオプティカルフローの生成処理の詳細については後述する。ＯＦ生成部１０４は、回路構成等のハードウェア構成により実現されてもよいし、例えばＣＰＵがプログラムを実行することによるソフトウェア構成として実現されても、また、一部がハードウェア構成で残りがソフトウェア構成により実現されてもよい。
【００１４】
入力インターフェース１０５は、例えばＵＳＢやＩＥＥＥ１３９４、ＳＡＴＡなどのシリアルバスインターフェースである。画像処理装置１００は、この入力インターフェース１０５を介して、外部メモリ１０８から処理対象の画像データ等を取得することができる。出力インターフェース１０６は、例えばＤＶＩやＨＤＭＩ（登録商標）などの映像出力端子である。画像処理装置１００は、処理した画像データを、出力インターフェース１０６を介して、表示装置１０９に出力することができる。なお、画像処理装置１００の構成要素は、図１に示した構成以外にも存在するが、それらの図示と説明は省略する。
【００１５】
ここで、本実施形態の画像処理装置１００の詳細な構成および処理について説明する前に、本実施形態における用語と記法について説明する。
本実施形態では、画像の各画素に対応する動きベクトルをマップ化したものをオプティカルフローと表現する。つまり、オプティカルフローは、入力画像と同じ解像度を持ち、各画素に対応する要素が浮動小数点の二次元ベクトルとして表現されるデータである。本実施形態の画像処理装置１００では、ＯＦ生成部１０４が、各画素に対応する動きベクトルを検出してオプティカルフローを生成する。また、画像をＩで表し、その画像内の画素位置を表す座標ｐを（ｘ，ｙ）としたとき、ＯＦ生成部１０４は、Ｉ（ｐ）もしくはＩ（ｘ，ｙ）として画像の画素値を取得するものとする。画素は、例えば黒を０、白を１とする浮動小数点のモノクロデータであるものとして説明するが、これに限定されず、例えば８ビットの整数データであってもよい。オプティカルフローに含まれる動きベクトルについても同様に表現でき、オプティカルフローをｆで表した場合、座標ｐの動きベクトルはｆ（ｐ）で表すことができる。またオプティカルフローの垂直成分ｕをｆy、水平成分ｖをｆxで表した場合、座標ｐの動きベクトルｆ（ｐ）はｆ（ｐ）＝（ｆx（ｐ），ｆy（ｐ））のように表すことができる。前述の表記法において座標値を実数で渡した場合には、補間によって算出された画素値、あるいは、ベクトルを得るものとする。補間法としては、例えばバイリニア法やバイキュービック補間法を用いることができるが、本実施形態ではそれらいずれの方法を用いてもよく、限定はしない。
【００１６】
次に、図２を用いてオプティカルフローの概念を説明する。
図２は、主被写体としての人物２０３が歩いているシーンを、カメラを動かして撮影したことを想定した画像例を示している。図２の画像２０１と画像２０２は、カメラを動かしつつ時間をずらして撮影された二つの画像例を示しており、画像２０１がある時刻で取得された画像であるとすると、画像２０２は画像２０１よりも後の時刻に取得された画像であるとする。これら画像２０１と画像２０２には、主被写体として人物２０３、他の被写体例として家２０４が写っているとする。なお、厳密には人物２０３の身体の各部の動きベクトルは異なるが、ここでは単純化して、人物２０３はベクトル２０５の方向に移動しているとする。また、実際の家２０４は移動していないが、カメラを動かして撮影したことで、画像内において家２０４がベクトル２０６の方向に一様に動いたように写っているものとする。またここでは、人物２０３の動きベクトルをｆ（１０，５）、家２０４の動きベクトルをｆ（−５，０）とし、また説明を単純化するために背景の動きベクトルについてはｆ（０，０）とする。この例において、画像２０１を基準としたオプティカルフローの（ｕ，ｖ）は、画素の座標ｐが人物２０３に含まれる場合には（ｕ（ｐ），ｖ（ｐ））＝（１０，５）となり、画素の座標ｐが家２０４に含まれる場合には（ｕ（ｐ），ｖ（ｐ））＝（−５，０）となる。また、画素の座標ｐが背景に含まれる場合には（ｕ（ｐ），ｖ（ｐ））＝（０，０）となる。
【００１７】
このように、本実施形態のＯＦ生成部１０４では、単一のカメラで撮像された、異なる時刻の画像である着目画像と参照画像とを入力として、オプティカルフローを生成するものとして説明する。なお、ＯＦ生成部１０４には、異なるカメラで撮影された同一時刻もしくは異なる時刻の画像が入力されてもよい。異なるカメラで同一時刻に撮影された画像の場合は、オプティカルフローから被写体の奥行きを算出することも可能となる。
【００１８】
図３（ａ）は、第１実施形態の画像処理装置１００において、動きベクトルを検出してオプティカルフローを生成する処理を、例えば回路によるハードウェア構成により実現する場合の構成例を示している。また、図４は、第１実施形態の画像処理装置１００において、ハードウェア構成またはプログラムによるソフトウェア構成によって実行される、動きベクトルの検出およびオプティカルフロー生成処理の流れを示したフローチャートである。
【００１９】
図３（ａ）において、制御部３０６は例えばＣＰＵ１０１に含まれ、メモリ３０３は例えばＲＡＭ１０２に含まれるとする。また、画像取得部３０１、領域拡大部３０２、動き検出部３０４、動き出力部３０５は、例えばＯＦ生成部１０４に含まれ、それぞれ回路等により構成されているとする。
画像取得部３０１は、着目画像と参照画像を取得する。画像取得部３０１における処理は、後述する図４の処理ステップＳ４０１に相当する。
【００２０】
領域拡大部３０２は、制御部３０６による制御の下、着目画像と参照画像とについて、それぞれ所定の条件を満たす画素からなる領域を抽出し、その領域を拡げるような処理（領域を拡張するような処理）を行う。以下、所定の条件を満たす画素からなる領域を抽出してその領域を拡げる（領域を拡張する）処理を領域拡大処理と呼ぶ。そして、領域拡大部３０２は、領域拡大処理後の参照画像をメモリ３０３にストアする。領域拡大部３０２における領域拡大処理は、後述する図４の処理ステップＳ４０２からＳ４０５までに相当する。なお、後述する図４の処理ステップＳ４０２とＳ４０３は、制御部３０６により行われてもよい。
【００２１】
動き検出部３０４は、領域拡大処理後の着目画像と、メモリ３０３にストアされた領域拡大処理後の参照画像とを用いて、着目画像の着目画素と対応した対応点を参照画像から探索して動き検出処理を行う。そして、動き検出部３０４は、各画素に対応する動きベクトルをマップ化したオプティカルフローを生成する。動き出力部３０５は、その生成したオプティカルフローの情報を出力する。この動き検出部３０４と動き出力部３０５における処理は、後述する図４の処理ステップＳ４０６に相当する。
【００２２】
以下、第１実施形態の画像処理装置１００において、例えば前述した図２の人物２０３のような主被写体の動きを検出して、画素毎の動きをマップ化したオプティカルフローを生成する処理の詳細な流れを、図４に示すフローチャートを参照しながら説明する。
ここでは、プログラムによるソフトウェア構成によって、図４のフローチャートの処理が実行される場合を例に挙げて説明するが、図４のフローチャートの処理は図３（ａ）の構成によっても実行可能である。図４のフローチャートの処理に係るプログラムは、例えばＲＯＭ１０３に格納されており、そのプログラムがＲＡＭ１０２に展開されてＣＰＵ等からなるＯＦ生成部１０４により実行されるものとする。このプログラムは、ＲＯＭ１０３に予め用意されている場合だけでなく、例えば外部メモリ１０８等の記憶媒体から取得されたり、不図示のネットワーク等を介して取得されたりしてもよい。また、特別な記述がない場合、ＯＦ生成部１０４に入出力されるデータ等は、ＲＡＭ１０２から入力されて、ＲＡＭ１０２へ出力されるものとする。また、特別な説明がない限り、各処理は図４のフローチャートに示した各処理ステップの順番に実行されるが、各処理間に依存関係がない場合には図４の処理順には限定されない。なお以下の説明では、図４のフローチャートの処理ステップＳ４０１〜処理ステップＳ４０６をＳ４０１〜Ｓ４０６と略記し、このことは他のフローチャートにおいても同様とする。
【００２３】
先ずＳ４０１において、ＯＦ生成部１０４は、着目画像と参照画像を取得する。図３（ａ）の構成の場合、画像取得部３０１が着目画像と参照画像を取得する。
次にＳ４０２において、ＯＦ生成部１０４は、着目画像と参照画像について、それぞれ画像内の主被写体領域の平均画素値と背景領域の平均画素値とを取得する。主被写体領域と背景領域の平均画素の算出方法に限定はないが、例えば、画像を領域分割し、画面中央に存在する領域を主被写体とみなし、その領域の画素の平均画素値を算出して、それを主被写体領域の平均画素値とすることができる。背景領域の平均画素値は、主被写体領域に含まれない画素の画素値の平均を算出することにより得ることができる。画像の領域分割方法については、ＭｅａｎＳｈｉｆｔ法、Ｗａｔｅｒｓｈｅｄ法など広く知られているため、ここではその説明を省略する。図３（ａ）の構成の場合、例えば領域拡大部３０２が、主被写体領域と背景領域の平均画素値をそれぞれ取得するものとするが、制御部３０６がそれらを取得してもよい。
【００２４】
次にＳ４０３において、ＯＦ生成部１０４は、Ｓ４０２で着目画像と参照画像についてそれぞれ同画像内で取得した主被写体領域の平均画素値と背景領域の平均画素値とを比較し、その比較の結果を基に、領域拡大処理に用いる画像フィルタを選択する。例えば、ＯＦ生成部１０４は、領域拡大処理に用いる画像フィルタとして、主被写体領域が背景領域よりも相対的に明るい場合には最大値フィルタを選択し、一方、主被写体領域が背景領域よりも相対的に暗い場合には最小値フィルタを選択する。なお、最大値フィルタは、所定サイズの局所領域の中で最大の画素値を抽出し、その最大の画素値を局所領域の中心画素に対して設定するようなフィルタである。また、最大値フィルタは、所定サイズの局所領域の中で最小の画素値を抽出し、その最小の画素値を局所領域の中心画素に対して設定するようなフィルタである。本実施形態では、最大値フィルタと最小値フィルタはそれぞれ５×５サイズのフィルタであるとする。フィルタ処理の効果については後述する。図３（ａ）の構成の場合は、例えば領域拡大部３０２が、主被写体領域と背景領域のそれぞれの平均画素値を比較し、その比較の結果を基に、最大値フィルタまたは最小値フィルタのいずれかのフィルタを選択する。なお、Ｓ４０２において制御部３０６が主被写体領域と背景領域の平均画素値を取得する場合には、制御部３０６が平均画素値を比較してフィルタ選択を行い、その選択したフィルタを領域拡大部３０２に設定してもよい。
【００２５】
次にＳ４０４において、ＯＦ生成部１０４は、Ｓ４０３で選択した画像フィルタを用いることにより、着目画像の中で所定の条件を満たす画素からなる領域を拡げるような（拡張する）領域拡大処理を行う。例えばＳ４０３で主被写体領域が背景領域より相対的に明るいため最大値フィルタが選択された場合、Ｓ４０４では、所定の条件を満たす画素として、局所領域の中で最大の画素値を抽出して、その局所領域の中心画素に対して最大の画素値を設定する。これにより、相対的に明るい主被写体領域を拡げるような領域拡大処理が行われることになる。また例えばＳ４０３で主被写体領域が背景領域より相対的に暗いため最小値フィルタが選択された場合、Ｓ４０４では、所定の条件を満たす画素として、局所領域の中の最小の画素値を抽出して、その局所領域の中心画素に最小の画素値を設定する。これにより、相対的に暗い主被写体領域を拡げるような領域拡大処理が行われることになる。以下、このようにして着目画像の全画素に対してフィルタ処理が施された後の画像を、着目領域拡大画像と呼ぶことにする。図３（ａ）の構成の場合は、領域拡大部３０２が着目領域拡大画像を生成する。
【００２６】
またＳ４０５において、ＯＦ生成部１０４は、Ｓ４０３で選択した画像フィルタを用いることにより、参照画像の中で所定の条件を満たす画素からなる領域を拡げるような（拡張する）領域拡大処理を行う。Ｓ４０４の場合と同様に、例えばＳ４０３で主被写体領域が背景領域より相対的に明るく最大値フィルタが選択された場合、Ｓ４０５では、所定の条件を満たす画素として局所領域の中の最大の画素値を抽出して、局所領域の中心画素に最大の画素値を設定する。これにより、相対的に明るい主被写体領域を拡げる領域拡大処理が行われることになる。また例えばＳ４０３で主被写体領域が背景領域より相対的に暗く最小値フィルタが選択された場合、Ｓ４０５では、所定の条件を満たす画素として局所領域の中の最小の画素値を抽出して、局所領域の中心画素に最小の画素値を設定する。これにより、相対的に暗い主被写体領域を拡げる領域拡大処理が行われることになる。以下、参照画像の全画素に対してフィルタ処理が施された後の画像を、参照領域拡大画像と呼ぶことにする。図３（ａ）の構成の場合は、領域拡大部３０２が参照領域拡大画像を生成する。
【００２７】
次にＳ４０６において、ＯＦ生成部１０４は、前述した着目領域拡大画像と参照領域拡大画像とを用いて動きベクトルを検出し、そして各画素に対応する動きベクトルをマップ化したオプティカルフローの情報を生成して出力する。例えば、ＯＦ生成部１０４は、着目領域拡大画像について着目画素を中心とする７×７画素のパッチ領域を設定し、参照領域拡大画像の中で画像相関が最も高い（例えばＳＡＤ値が最も低い）パッチ領域を探索して、その相対位置を動きベクトルとして検出する。ＯＦ生成部１０４は、着目画素を順番に変更していくように走査することで、当該走査順に動きベクトルを検出し、そして全画素について検出した動きベクトルをマップ化したものを、オプティカルフローとして生成する。動きの探索では、参照領域拡大画像側に探索初期点の画素を設定し、その探索初期点を中心とした探索範囲の中で画像相関が最も高いパッチ領域を探索することになる。本実施形態では、探索初期点と着目画素の座標は同じものとして説明する。また探索範囲は、探索初期点を中心とする１５×１５画素の範囲とする。なお、パッチ領域のサイズや探索範囲に限定はない。図３（ａ）の構成の場合、動き検出部３０４が動きベクトルの検出を行ってオプティカルフローを生成し、動き出力部３０５がそのオプティカルフローの情報を出力する。このＳ４０６の処理後、ＯＦ生成部１０４における図４のフローチャートの処理は終了する。
【００２８】
前述したように、ＯＦ生成部１０４は、前景被写体が背景に対して相対的に明るい場合には最大値フィルタを選択的に用いることで、前景被写体の輪郭形状を維持しながら被写体領域を拡げるように（拡張するように）している。一方、ＯＦ生成部１０４は、前景被写体が背景に対して相対的に暗い場合には、最小値フィルタを選択的に用いることで、前景被写体の輪郭形状を維持しながら被写体領域を拡げるように（拡張するように）している。したがって、着目画素を含むパッチ領域が動きのある被写体領域の境界に跨っていたとしても、パッチ領域の動きを一意に決定でき、動き検出精度を高めることが可能となる。
【００２９】
以下、例えば最小値フィルタを使った場合の効果について、図５（ａ）および図５（ｂ）を参照しながら、より具体的に説明する。
図５（ａ）と図５（ｂ）は、着目画像において前景被写体と背景との境界部分の一部を抜き出して模式的に示した図であり、前景被写体が背景よりも相対的に暗い場合の画像例を示している。つまり、図５（ａ）と図５（ｂ）において、暗い画素からなる領域は前景被写体領域５０１であり、明るい画素からなる領域は背景領域５０２であるとする。図５（ａ）と図５（ｂ）では、一つの升目が一つの画素を表しており、各画素に描かれている斜線の数により各画素の明るさが表現されているとする。例えば、斜線数が多くなるほど暗い画素であることを表し、斜線数少なくなるほど明るい画素であり、斜線が無い画素は非常に明るい画素であることを表しているとする。この例のように前景被写体が背景よりも相対的に暗い場合、前述のＳ４０３では、画像フィルタとして最小値フィルタが選択されることになる。図５（ａ）はフィルタ処理前（被写体領域を拡げる前）の画像を示し、図５（ｂ）は最小値フィルタを用いたフィルタ処理によって前景被写体の領域が拡げられた（拡張された）後の画像例を示している。なお、図５（ａ）と図５（ｂ）には、動き検出の際の着目画素ＰＩと、その着目画素ＰＩを中心とする７×７画素からなるパッチ領域ＰＡの一例も表している。そして、図５（ａ）に示すように、前景被写体領域５０１は参照画像では左方向矢印で示すように左方向へ移動しており、一方、背景領域５０２は右方向矢印で示すように右方向に移動しているとする。ここでは、参照画像の図５（ａ）の前景被写体領域５０１の形状は着目画像と同じものとする。よって、参照画像にフィルタをかけた前景被写体領域５０１の形状は、図５（ｂ）の前景被写体領域５０１と同じになる。
【００３０】
ここで、図５（ａ）に示したフィルタ処理前の画像について、着目画素ＰＩを中心とする７×７画素のパッチ領域ＰＡを設定した際、当該パッチ領域ＰＡ内に、前景被写体領域５０１と背景領域５０２との境界部分が存在しているとする。またこのとき、パッチ領域ＰＡ内において、前景被写体領域５０１と背景領域５０２のそれぞれの画素数の割合が略々半々であり、前景被写体領域５０１と背景領域５０２の動きベクトルの大きさが略々同じであったとする。この場合、前景被写体領域５０１と背景領域５０２のそれぞれの動きベクトルのどちらが主であるかを決定することが難しくなり、動き検出において着目画素の動き情報として前景被写体の動きを得るか、背景の動きを得るかは、その時の画像に依存することになる。通常は、振幅の大きい高周波成分の多い領域の方が、相関値に差が出易いため、その領域の動きを検出することが多いが、この動きが必ずしも正しいとは限らない。つまりこの例の場合、前景被写体領域５０１の動きベクトルを検出したい場合であっても、相対的に明るい背景領域５０２の動きベクトルが検出されてしまう可能性がある。
【００３１】
これに対し、図５（ｂ）に示すように、最小値フィルタ処理により暗い前景被写体領域５０１が拡げられた画像の場合、着目画素ＰＩを中心とするパッチ領域ＰＡ内では暗い画素の領域、つまり前景被写体領域５０１とみなせる画素数の割合が多くなる。したがって、この図５（ｂ）に示したようなフィルタ処理後の画像について、着目画素ＰＩの動きを探索したとすると、前景被写体領域５０１の動きベクトルが主となって得られ易くなる。すなわち本実施形態の場合、フィルタ処理により被写体領域を拡げる（拡張）した画像を生成することで、パッチ領域ＰＡ内において、動きの異なる領域の境界が存在する確率を下げることができ、境界部分における動き検出精度を高めることが可能となる。
【００３２】
前述の説明では、最小値フィルタが選択された場合を例に挙げたが、最大値フィルタが選択された場合も前述同様に、パッチ領域内に動きの異なる領域の境界が存在する確率を下げ、境界部分での動き検出精度を高めることができることになる。
【００３３】
また、被写体領域が背景領域より相対的に明るい場合、例えば周辺画素より相対的に明るい画素を抽出できるのであれば、必ずしも前述したような最大値フィルタを用いる例には限定されない。例えば、以下の式（１）を用いて、周辺画素より相対的に明るい画素を抽出してもよい。
【００３４】
【数１】
2020009185.tif 000003
【００３５】
式（１）中のＦmaxは、第一引き数の画像Ｉから第二引き数の座標で示される画素の領域の最大値を取得する関数である。式中のΩは水平・垂直がそれぞれ、−２から＋２の範囲の相対座標値の集合とする。つまり、この式（１）によれば、所定サイズの局所領域として例えば５×５画素の各画素値のうち、最も明るい画素値を取得することになる。
【００３６】
そして、これを以下の式（２）のように画素ごとに全画素走査することで、前述したように所定の条件を満たす画素からなる領域が拡げられた（拡張された）出力画像Ｉoutを得ることができる。なお、最大値フィルタ処理では画像の重要な信号まで抑圧し平坦な画像を作ってしまうが、式（２）の場合には、最大値フィルタを掛けた画像に本来の画素値を重み付け加算して微小な信号を残している。式（２）のｋは重みを表し、本実施形態では０．０５とする。
【００３７】
Ｉout（ｐ）＝（１−ｋ）Ｆmax（Ｉin，ｐ）＋ｋＩin（ｐ）              式（２）
【００３８】
また、以下の式（３）でも式（２）と同様の効果が得られる。式（３）においてＦavgは平滑化フィルタを表し、式（３）は平滑化フィルタを掛けた値との差分に重みｋを付けてＦmaxに足している。
【００３９】
Ｉout（ｘ）＝Ｆmax（Ｉin，ｐ）＋ｋ（Ｉin（ｐ）−（Ｆavg＊Ｉin）（ｐ））      式（３）
【００４０】
一方、被写体領域が背景領域より暗い場合、例えば周辺画素より相対的に暗い画素を抽出する例としては、下記の式（４）〜式（５）を用いることができる。なお、式（４）中のＦminは、第一引き数の画像Ｉから第二引き数の座標で示される画素の領域の最小値を取得する関数である。式中のΩは水平・垂直がそれぞれ−２から＋２の範囲の相対座標値の集合を表し、式（４）では５×５画素の各画素値のうち最も暗い画素値を取得することになる。
【００４１】
【数２】
2020009185.tif 000004
【００４２】
Ｉout（ｘ）＝（１−ｋ）Ｆmin（Ｉin，ｐ）＋ｋＩin（ｐ）                式（５）
Ｉout（ｘ）＝Ｆmin（Ｉin，ｐ）＋ｋ（Ｉin（ｘ）−（Ｆavg＊Ｉin）（ｐ））      式（６）
【００４３】
前述したように、周辺画素より相対的に明るい画素、あるいは、相対的に暗い画素を抽出して画像を生成すれば、図５（ａ）と図５（ｂ）を用いて説明した効果と同等の効果を得ることができる。
【００４４】
なお、本実施形態では、動きベクトル検出の際にＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を用いた動き探索を例に挙げたが、これには限定されない。例えば、動きベクトル検出の際にＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）や特徴量を用いる手法を使ってもよい。また、動きベクトルの検出の際には、整数画素に限定されない補間画像を生成して小数画素精度の動き検出を行ってもよいし、他に、ＬＫ法（Ｌｕｃａｓ  Ｋａｎａｄｅ法）に代表される勾配法ベース手法を使ってもよい。
【００４５】
また、本実施形態では、着目画像と参照画像として、時間的に連続した２枚の画像を取得するものとして説明したが、これに限定されず、３枚以上の画像や動画を取得してもよい。また、動画として連続して処理する場合、参照画像が次の処理における着目画像となり、その着目画像と新しく設定された参照画像とでオプティカルフローを検出する構成をとってもよい。この場合、参照画像における参照領域拡大画像は生成済みなので、再利用することが可能となる。また、前述の実施形態では、密に動き検出を行ってオプティカルフローを検出するものとして説明したがこれに限定されず、目的によっては、特徴点のみ、つまり疎に動き検出を行うようにしてもよい。また、前述の例では、動きを検出するものとして説明したが、本実施形態は例えばステレオ画像による対応点マッチングにも利用することができる。ステレオ画像を用いる場合も、オプティカルフローが対応点の相対座標マップになるだけで、技術的な構成には何ら変わりがない。
【００４６】
＜第２実施形態＞
第２実施形態では、異なる手法を用いて領域拡大処理を行い、それら異なる手法を用いて領域拡大処理した画像から検出した対応点を基に一つの対応点を決定する。第２実施形態の場合は、被写体の輝度を特定せず、入力画像から生成した複数の縮小画像により構成される階層画像（ピラミッド画像）を用いてオプティカルフローを生成する方法について説明する。なお第２実施形態の画像処理装置１００の構成は図１と同様であり、その図示と説明は省略する。また、特別な説明がない限り、第２実施形態における装置構成、用語などは、前述した第１実施形態の説明に準ずるものとし、第１実施形態と同じ構成や処理等には同一の参照符号を付している。
【００４７】
図６は、第２実施形態の画像処理装置１００おいて、ピラミッド画像を用いたオプティカルフローの生成処理の詳細な流れを示したフローチャートである。
先ず、Ｓ６００において、ＯＦ生成部１０４は、前述のＳ４０１と同様に、着目画像と参照画像を取得する。
【００４８】
次にＳ６０１において、ＯＦ生成部１０４は、着目画像から、最大値プーリング処理により最大値ピラミッド画像ＭＸＰ１を生成する。ここで、プーリング処理は画像の解像度を落として縮小画像を生成するような演算処理である。本実施形態では、面積比２５％（つまり１／４）でスケーリングしながら、ピラミッド画像を生成するものとする。面積比２５％でスケーリングしながらピラミッド画像を生成する場合、例えば隣り合う４画素を一組としてその平均をとって縮小画像を生成することがあり、この処理は一般に平均値プーリング処理と呼ばれている。本実施形態では、一般的な平均値プーリング処理ではなく、４画素の一組の中で画素値が最も大きい値を選択することによって縮小画像を生成する最大値プーリング処理によりピラミッド画像を生成する。なお、平均値プーリング処理を行う場合、エイリアシングの影響を抑えるために、プーリング処理前にローバスフィルタを掛けて、高周波を抑制し、プーリング処理後にエイリアシングの発生を抑えることがある。本実施形態では、最大値プーリング処理を行う場合にも、このようなローバスフィルタを用いたプレフィルタ処理を行ってもよい。
また、Ｓ６０２において、ＯＦ生成部１０４は、参照画像から、最大値プーリング処理により最大値ピラミッド画像ＭＸＰ２を生成する。このＳ６０２におけるピラミッド画像生成処理はＳ６０１と同様の手法により行われる。
【００４９】
次にＳ６０３において、ＯＦ生成部１０４は、着目画像から、最小値プーリング処理により最小値ピラミッド画像ＭＩＰ１を生成する。最小値プーリング処理によるピラミッド画像の生成処理は、前述した最大値プーリング処理における最大値に代えて最小値を用いること以外は前述同様の手法により行われる。
またＳ６０４において、ＯＦ生成部１０４は、参照画像から、最小値プーリング処理により最小値ピラミッド画像ＭＩＰ２を生成する。このＳ６０４におけるピラミッド画像の生成処理は、Ｓ６０３と同様の手法により行われる。
【００５０】
Ｓ６０５において、ＯＦ生成部１０４は、着目画像から生成した最大値ピラミッド画像ＭＸＰ１と、参照画像から生成した最大値ピラミッド画像ＭＸＰ２とを用いて、オプティカルフローＯＦ１を生成する。ここで本実施形態では、ピラミッド画像の各階層のうち、縮小されていない画像を等倍階層ＬＶ０とし、以下、階層が下がる順（画像が縮小されて小さくなる順）に、縮小階層ＬＶ１、縮小階層ＬＶ２、最も小さい縮小階層を最小階層ＬＶＭと表現する。ＯＦ生成部１０４は、Ｓ６０５において、最小階層ＬＶＭから階層順にオプティカルフローを生成して行き、等倍階層ＬＶ０の一段下の縮小階層ＬＶ１で生成したオプティカルフローを、オプティカルフローＯＦ１として取得する。なお、ピラミッド画像における階層毎のオプティカルフロー生成処理の手法に限定はないが、第２実施形態では、階層毎に、第１実施形態のＳ４０６で説明したのと同様の手法を用いてオプティカルフローを生成するものとする。
【００５１】
Ｓ６０５で階層順にオプティカルフロー生成する際、先ず、ＯＦ生成部１０４は、最大値ピラミッド画像ＭＸＰ１と最大値ピラミッド画像ＭＸＰ２のそれぞれの最小階層ＬＶＭを用いて、最小階層ＬＶＭにおけるオプティカルフローを生成する。次に、ＯＦ生成部１０４は、最小階層ＬＶＭで生成したオプティカルフローを１段上の縮小階層ＬＶ２に合わせるように拡大し、その拡大したオプティカルフローチを基に縮小階層ＬＶ２について探索初期点を設定する。そして、ＯＦ生成部１０４は、縮小階層ＬＶ２において当該探索初期点から動き探索を行ってオプティカルフローを生成する。さらにＯＦ生成部１０４は、縮小階層ＬＶ２で生成したオプティカルフローを１段上の縮小階層ＬＶ１に合わせるように拡大し、その拡大したオプティカルフローチを基に縮小階層ＬＶ１の探索初期点を設定する。そして、ＯＦ生成部１０４は、縮小階層ＬＶ１において探索初期点から動き探索を行ってオプティカルフローＯＦ１を生成する。このように、ＯＦ生成部１０４は、下段の階層で生成したオプティカルフローを１段上の階層に合わせるように拡大して探索初期点を設定し、その探索初期点から動き探索を行うような処理を順に行うことにより、階層順にオプティカルフローを生成する。ただし、各階層における探索範囲は、第１実施形態の例とは異なり、例えば５×５画素の範囲とする。つまり処理対象の階層における探索初期点は１段下の階層で生成されたオプティカルフローを基に設定されるため、その探索範囲は第１実施形態の１５×１５画素等の広い範囲にする必要がなく、５×５画素等の狭い範囲でも動きを正確かつ迅速に検出できる。
【００５２】
またＳ６０６において、ＯＦ生成部１０４は、最小値ピラミッド画像ＭＩＰ１と最小値ピラミッド画像ＭＩＰ２とを用いてオプティカルフローＯＦ２を生成する。Ｓ６０６におけるオプティカルフローの生成手法は、Ｓ６０４で説明した手法と同様とする。つまり、ＯＦ生成部１０４は、最小値ピラミッド画像ＭＩＰ１と最小値ピラミッド画像ＭＩＰ２とを用い、階層順にオプティカルフローを生成して行くことにより、縮小階層ＬＶ１のオプティカルフローＯＦ２を生成する。
【００５３】
次にＳ６０７において、ＯＦ生成部１０４は、Ｓ６０５で生成したオプティカルフローＯＦ１と、Ｓ６０６で生成したオプティカルフローＯＦ２とを合成して、オプティカルフローＯＦ３を生成する。この時のオプティカルフローの合成処理については後述する図７のフローチャートで説明する。
【００５４】
次にＳ６０８において、ＯＦ生成部１０４は、オプティカルフローＯＦ３を初期値として、等倍階層ＬＶ０の着目画像と参照画像とを用いてオプティカルフローＯＦ４を生成する。ここでのオプティカルフロー生成手法は、Ｓ６０５で説明した手法と同様とする。つまり、Ｓ６０８において、ＯＦ生成部１０４は、Ｓ６０７で合成されたオプティカルフローＯＦ３を等倍階層ＬＶ０に合わせるように拡大し、その拡大したオプティカルフローを基に等倍階層ＬＶ０について探索初期点を設定する。そして、ＯＦ生成部１０４は、等倍階層ＬＶ０において当該探索初期点から動き探索を行うことによりオプティカルフローＯＦ４を生成する。なお、オプティカルフローＯＦ３をＦ3とし、動き探索で走査する着目画素の座標をｐとしたとき、各画素の動き探索における探索初期点の座標はｐ＋Ｆ3（ｐ）で表すことができる。またこの時の探索範囲についても、Ｓ６０５で説明したのと同様に、探索初期点を基準とした５×５画素の範囲となされる。
【００５５】
図７は、二つのオプティカルフローを合成する処理のフローチャートである。
以下の説明において、画像Ｉinは入力画像つまり等倍階層ＬＶ０の画像を表しているとする。また、画像Ｉ1は最大値プーリング処理で生成された最大値ピラミッド画像の中の縮小階層ＬＶ１の画像を表し、画像Ｉ2は最小値プーリング処理で生成された最小値ピラミッド画像の中の縮小階層ＬＶ１の画像を表しているとする。また、オプティカルフローｆ1は図６のＳ６０５で生成されたオプティカルフローＯＦ１を表し、オプティカルフローｆ2は図６のＳ６０６で生成されたオプティカルフローＯＦ１を表しているとする。さらに、オプティカルフローｆoutは図６のＳ６０６で合成されたオプティカルフローＯＦ３を表しているとする。図７のフローチャートにおいては、このオプティカルフローｆoutが出力される。
【００５６】
先ずＳ７０１において、ＯＦ生成部１０４は、画像Ｉ1の各画素を走査するように、着目画素の座標Ｘを設定する。座標Ｘは、例えば画像Ｉ1の左上の画素座標を開始座標とし、図７のループ処理によりＳ７０１が実行される毎に左から右へと走査され、１ライン分の走査が完了したら１ライン下に移動し、再度左から右へ走査するように順に設定されるものとする。
またＳ７０２において、ＯＦ生成部１０４は、相対座標のインデクスｉを０に初期化する。なお、相対座標についてはＳ７０３で説明する。
【００５７】
次にＳ７０３において、ＯＦ生成部１０４は、入力画像つまり等倍階層ＬＶ０の画像Ｉinの各画素について明暗を比較する処理を行う。ここで、入力画像である画像Ｉinの各画素の座標は２Ｘ＋ｄ（ｉ）で計算され、ｄ（ｉ）は相対座標値を示し、例えばそれぞれｄ（０）＝（０，０）、ｄ（１）＝（０，１）、ｄ（２）＝（１，０）、ｄ（３）＝（１，１）となる。Ｓ７０３では、等倍階層ＬＶ０の画像Ｉinと最大値プーリング処理で生成した縮小階層ＬＶ１の画像Ｉ1との差分の絶対値と、等倍階層ＬＶ０の画像Ｉinと最小値プーリング処理で生成した縮小階層ＬＶ１の画像Ｉ2との差分の絶対値とを比較する。そしてＯＦ生成部１０４は、画像Ｉinと画像Ｉ1の差分絶対値が、画像Ｉinと画像Ｉ2の差分絶対値以上である場合（ａｂｓ（Ｉ1（Ｘ）−Ｉin（２Ｘ＋Ｄ（ｉ）））≧（ａｂｓ（Ｉ2（Ｘ）−Ｉin（２Ｘ＋Ｄ（ｉ）））にはＳ７０４に処理を進める。一方、ＯＦ生成部１０４は、画像Ｉinと画像Ｉ1の差分絶対値よりも、画像Ｉinと画像Ｉ2の差分絶対値が大きい場合（ａｂｓ（Ｉ1（Ｘ）−Ｉin（２Ｘ＋Ｄ（ｉ）））＜（ａｂｓ（Ｉ2（Ｘ）−Ｉin（２Ｘ＋Ｄ（ｉ）））には、Ｓ７０４に処理を進める。
【００５８】
Ｓ７０４に進んだ場合、ＯＦ生成部１０４は、出力オプティカルフローｆoutの座標２Ｘ＋ｄ（ｉ）で示される要素（ｆout（２Ｘ＋ｄ（ｉ））に、オプティカルフローＯＦ１の座標Ｘで参照される動きベクトル（ｆ1（Ｘ））を代入する。。その後、ＯＦ生成部１０４は、Ｓ７０６に処理を進める。
一方、Ｓ７０５に進んだ場合、ＯＦ生成部１０４は、出力オプティカルフローｆoutの座標２Ｘ＋ｄ（ｉ）で示される要素（ｆout（２Ｘ＋ｄ（ｉ））に、オプティカルフローＯＦ２の座標Ｘで参照される動きベクトル（ｆ2（Ｘ））を代入する。その後、ＯＦ生成部１０４は、Ｓ７０６に処理を進める。
【００５９】
Ｓ７０６に進むと、ＯＦ生成部１０４は、相対座標のインデックスｉをインクリメントする。
次にＳ７０７において、ＯＦ生成部１０４は、インデックスｉが４未満（ｉ＜４）か否かを判定し、その判定結果が真（Ｙｅｓ）であればＳ７０３へ処理を戻し、偽（Ｎｏ）であればＳ７０８へ処理を進める。
【００６０】
Ｓ７０８に進むと、ＯＦ生成部１０４は、画素の走査が全て終了したか否かを判定し、その判定結果が真（Ｙｅｓ）であれば図７のフローチャートの処理を終了し、偽（Ｎｏ）であればＳ７０１に処理を戻す。
以上説明したＳ７０１からＳ７０８の処理により、オプティカルフローＯＦ１とオプティカルフローＯＦ２の全画素の合成処理が行われてオプティカルフローＯＦ３が生成され、オプティカルフローｆoutとして出力されることになる。
【００６１】
ここで、ピラミッド画像を用いるのは、各階層の動き検出で一回の探索範囲が狭くとも、低解像度で大きな動きベクトルを検出し、低解像度画像で得た動きで得た動きベクトルの参照先を探索初期点として再探索することで正確な動きを検出にするためである。しかしながら、一般に使われる平均値プーリング処理やローパスフィルタを掛けてから画素を間引くという手法で低解像度化すると、被写体領域と背景領域が混合し被写体境界の動きを誤検出することがある。そして、誤検出した動きが階層処理の過程で伝播すると、最終的なオプティカルフローで十分な動き精度が得られない。一方、本実施形態では、最大値プーリング処理と最小値プーリング処理でそれぞれ生成した階層画像を基に所定の同階層における二つのオプティカルフローを生成し、またその階層画像の差分絶対値の比較結果に応じてそれらオプティカルフローを合成している。これにより、第２実施形態においても、被写体の輪郭形状を維持したまま被写体領域を拡げた画像に応じたオプティカルフローを生成することができる。したがって、第２実施形態においても第１実施形態で図５を用いた説明と同様に、境界部分の動き検出精度を向上させることができる。また、第２実施形態によれば、相対的に明るい画素を抽出したピラミッド画像と相対的に暗い画素を抽出したピラミッド画像の双方を使うことにより、第１実施形態のように被写体領域を特定してその明るさを取得する必要がない。
【００６２】
なお、第２実施形態の図６および図７のフローチャートの説明では、各処理ステップをプログラムにより実行する例を説明したが、これに限定されず、各処理に対応する回路構成を持った画像処理装置により実行してもよい。図３（ｂ）は、第２実施形態の画像処理装置１００において、動きベクトルの検出とオプティカルフローの生成を行う処理を回路のハードウェア構成により実現する場合の構成例を示している。
【００６３】
図３（ｂ）において、画像取得部３０１では前述した図６のＳ６００に相当する処理が行われる。領域拡大部３０２ではＳ６０１からＳ６０４までに相当する処理が行われ、動き検出部３０４ではＳ６０５とＳ６０６とＳ６０８とに相当する処理が行われる。さらに、動き合成部３０７では図６のＳ６０７および図７のフローチャートに相当する処理が行われる。本実施形態の場合、制御部３０６は、例えば領域拡大部３０２内のレジスタの設定値を書き換えることによって、領域拡大部３０２におけるプーリング処理を切り替えるとする。領域拡大部３０２は、最大値プーリング処理、最小値プーリング処理を行いながら画像の解像度を１／４にしてピラミッド画像を生成するモジュールである。領域拡大部３０２では、最大値ピラミッド画像ＭＸＰ１、最大値ピラミッド画像ＭＸＰ２、最小値ピラミッド画像ＭＩＰ１、最小値ピラミッド画像ＭＩＰ２を生成してメモリ３０３にストアする。動き検出部３０４は、最大値ピラミッド画像ＭＸＰ１と最大値ピラミッド画像ＭＸＰ２の組で動き検出を行ってオプティカルフローＯＦ１を生成して、メモリ３０３にストアする。また、動き検出部３０４は、最小値ピラミッド画像ＭＩＰ１と最小値ピラミッド画像ＭＩＰ２の組で動き検出を行ってオプティカルフローＯＦ２を生成して、メモリ３０３にストアする。動き合成部３０７は、オプティカルフローＯＦ１とオプティカルフローＯＦ２とを合成することによって、オプティカルフローＯＦ３を生成する。そしてオプティカルフローＯＦ３は動き出力部３０５からメモリ３０３等にストアされ、その後、動き検出部３０４では、オプティカルフローＯＦ３を初期値とし、等倍階層ＬＶ０の着目画像と参照画像からオプティカルフローＯＦ４が生成される。なお、本実施形態では、一つの領域拡大部が最大値プーリング処理と最小プーリング処理を行う例を挙げたが、最大値プーリング処理と最小プーリング処理を個々に行うモジュールが設けられていてもよい。
【００６４】
＜第３実施形態＞
第３実施形態は、第２実施形態の例とはさらに異なる手法を用いて領域拡大処理を行い、それら異なる手法を用いて領域拡大処理した画像から検出した対応点を基に一つの対応点を決定する。第３実施形態では、主被写体領域の平均画素値を特定せず、オプティカルフローを生成する方法について図８を参照しながら説明する。なお第３実施形態の画像処理装置１００の構成は図１と同様であり、その図示と説明は省略する。また、特別な説明がない限り、第３実施形態における装置構成、用語などは、前述した第１実施形態の説明に準ずるものとすし、第１実施形態と同じ構成や処理には同一の参照符号を付している。
【００６５】
図８は、第３実施形態の画像処理装置１００における動きベクトル検出およびオプティカルフローの生成処理の詳細な流れを示したフローチャートである。
先ず、Ｓ８００において、ＯＦ生成部１０４は、前述のＳ４０１と同様に、着目画像と参照画像を取得する。
【００６６】
次にＳ８０１において、ＯＦ生成部１０４は、着目画像から、最大値フィルタを用いて最大値画像ＭＸ１を生成する。最大値フィルタ処理は第１実施形態で説明した処理と同様とする。第３実施形態の場合、最大値画像ＭＸ１は着目画像内において相対的に明るい被写体領域が拡げられたような（拡張されたような）画像になる。
またＳ８０２において、ＯＦ生成部１０４は、参照画像から、Ｓ８０１と同様にして最大値フィルタを用いて最大値画像ＭＸ２を生成する。最大値画像ＭＸ２は参照画像内において相対的に明るい被写体領域が拡げられた（拡張された）画像になる。
【００６７】
次にＳ８０３において、ＯＦ生成部１０４は、着目画像から、最小値フィルタを用いて最小値画像ＭＩ１を生成する。最小値フィルタ処理は第１実施形態で説明した処理と同様とする。最小値画像ＭＩ１は着目画像内において相対的に暗い被写体領域が拡げられた（拡張された）画像になる。
またＳ８０４において、ＯＦ生成部１０４は、参照画像から、Ｓ８０３と同様にして最小値フィルタを用いて最小値画像ＭＩ２を生成する。最小値画像ＭＩ２は参照画像内において相対的に暗い被写体領域が拡げられた（拡張された）画像になる。
【００６８】
次にＳ８０５において、ＯＦ生成部１０４は、最大値画像ＭＸ１と最大値画像ＭＸ２とからオプティカルフローＯＦ１１を生成する。オプティカルフロー生成手法に限定はないが、本実施形態では第１実施形態のＳ４０６で説明した手法と同様とする。
またＳ８０６において、ＯＦ生成部１０４は、Ｓ８０５と同様にして、最小値画像ＭＩ１と最小値画像ＭＩ２とからオプティカルフローＯＦ１２を生成する。
そして、Ｓ８０７において、ＯＦ生成部１０４は、オプティカルフローＯＦ１１とオプティカルフローＯＦ１２とを合成して、オプティカルフローＯＦ１３を生成する。
【００６９】
図９は、第３実施形態において二つのオプティカルフローを合成する処理のフローチャートである。
以下の説明において、画像Ｉinは着目画像を表し、画像Ｉ11は着目画像から最大値フィルタ処理で生成された最大値画像ＭＸ１を、画像Ｉ12は参照画像から最大値フィルタ処理で生成された最大値画像ＭＸ２を表しているとする。またオプティカルフローｆ11はオプティカルフローＯＦ１１を表し、オプティカルフローｆ12はオプティカルフローＯＦ１２を、出力オプティカルフローｆoutはオプティカルフローＯＦ１３を表すとする。
【００７０】
先ずＳ９０１において、ＯＦ生成部１０４は、画像Ｉ11の各画素を走査するように着目画素の座標Ｘを設定する。座標Ｘは、前述したＳ７０１と同様に、画像Ｉ11の左上を開始画素とし、図９のループ処理によりＳ９０１が実行される度に左から右へと走査され、１ライン分の処理完了後は下のラインに移動し、再度左から右へ走査するように順に設定される。
【００７１】
次にＳ９０２において、ＯＦ生成部１０４は、画像Ｉin（Ｘ）と画像Ｉ11（Ｘ）の差の絶対値と、画像Ｉin（Ｘ）と画像Ｉ12（Ｘ）の差の絶対値とを比較する。そしてＯＦ生成部１０４は、画像Ｉin（Ｘ）と画像Ｉ11（Ｘ）の差の絶対値が、画像Ｉin（Ｘ）と画像Ｉ12（Ｘ）の差の絶対値以上である場合（ａｂｓ（Ｉ11（Ｘ）−Ｉin（Ｘ）））≧（ａｂｓ（Ｉ12（Ｘ）−Ｉin（Ｘ）））、Ｓ９０３に進む。一方、ＯＦ生成部１０４は、画像Ｉin（Ｘ）と画像Ｉ11（Ｘ）の差の絶対値よりも画像Ｉin（Ｘ）と画像Ｉ12（Ｘ）の差の絶対値が大きい場合（ａｂｓ（Ｉ11（Ｘ）−Ｉin（Ｘ）））＜（ａｂｓ（Ｉ12（Ｘ）−Ｉin（Ｘ）））、Ｓ９０４に進む。
【００７２】
Ｓ９０３に進んだ場合、ＯＦ生成部１０４は、出力オプティカルフローｆout（Ｘ）にオプティカルフローｆ11（Ｘ）を代入する。その後、ＯＦ生成部１０４は、Ｓ９０５に処理を進める。
一方、Ｓ９０４に進んだ場合、ＯＦ生成部１０４は、出力オプティカルフローｆout（Ｘ）にオプティカルフローｆ12（Ｘ）を代入する。その後、ＯＦ生成部１０４は、Ｓ９０５に処理を進める。
【００７３】
Ｓ９０５に進むと、ＯＦ生成部１０４は、画素の走査が全て終了したか否かを判定し、その判定結果が真（Ｙｅｓ）であれば図９のフローチャートの処理を終了し、偽（Ｎｏ）であればＳ９０１に処理を戻す。
以上説明したＳ９０１からＳ９０５の処理により、オプティカルフローＯＦ１１とオプティカルフローＯＦ１２の全画素の合成処理が行われてオプティカルフローＯＦ１３が生成され、オプティカルフローｆoutとして出力されることになる。
【００７４】
第３実施形態では、第１実施形態のように主被写体領域の平均画素値を特定せず、最大値フィルタ処理と最小値フィルタ処理により着目画像と参照画像について明暗の領域をそれぞれ拡げるようにして最大値画像と最小値画像を生成している。さらに、第３実施形態では、着目画像と参照画像から生成した最大値画像を用いてオプティカルフローを生成し、また着目画像と参照画像から生成した最小値画像を用いてオプティカルフローを生成している。そして、第３実施形態では、着目画像と参照画像の差分絶対値の比較結果に応じて、それら二つのオプティカルフローを合成している。これにより、第３実施形態においても、被写体の輪郭形状を維持したまま被写体領域を拡げた画像に応じた、境界の精度が高いオプティカルフローを生成することができる。また第３実施形態の場合、第２実施形態とは異なり、最大値プーリング処理と最小値プーリング処理の利用は必須でない。ただし、第３実施形態においても、第２実施形態で説明したような一般的なピラミッド画像処理の一階層処理毎に図８のフローチャートの処理を適用することもできる。また、第３実施形態において、第２実施形態の処理を組み合わせて、最大値プーリング処理を利用して生成した画像にさらに最大値フィルタ処理を、最小値プーリング処理を利用して生成した画像にさらに最小値フィルタ処理を適用することも可能である。
【００７５】
また、第３実施形態の図８および図９のフローチャートの説明では、各処理ステップをプログラムにより実行する例を説明したが、これに限定されず、各処理に対応する回路構成を持った画像処理装置により実行してもよい。第３実施形態の画像処理装置１００において、動きベクトルを検出してオプティカルフローを生成する処理を実現する回路のハードウェア構成は、前述した図３（ｂ）と同様な構成となる。
【００７６】
第３実施形態の場合、図３（ｂ）において、画像取得部３０１では前述した図８のＳ８００に相当する処理が行われ、領域拡大部３０２ではＳ８０１からＳ８０４までに相当する処理が、動き検出部３０４ではＳ８０５とＳ８０６に相当する処理が行われる。また、動き合成部３０７ではＳ８０７および前述した図９のフローチャートに相当する処理が行われる。第３実施形態の場合、制御部３０６は、領域拡大部３０２内のレジスタの設定値を書き換えることによって、領域拡大部３０２における最大値フィルタ処理と最小値フィルタ処理を切り替えるとする。また、領域拡大部３０２は、着目画像と参照画像について領域を拡げるような処理を行って最大値画像ＭＸ１と最大値画像ＭＸ２、最小値画像ＭＩ１と最小値画像ＭＩ２を生成して、メモリ３０３にストアする。また動き検出部３０４は、最大値画像ＭＸ１と最大値画像ＭＸ２の組で動き検出を行ってオプティカルフローＯＦ１１を生成して、メモリ３０３にストアする。また、動き検出部３０４は、最小値画像ＭＩ１と最小値画像ＭＩ２の組で動き検出を行ってオプティカルフローＯＦ１２を生成して、メモリ３０３にストアする。動き合成部３０７は、それらオプティカルフローＯＦ１１とＯＦ１２を合成することによって、オプティカルフローＯＦ１３を生成する。そして、オプティカルフローＯＦ１３は、動き出力部３０５を介して出力される。なお、本実施形態では、一つの領域拡大部が最大値フィルタ処理と最小フィルタ処理を切り替えて行う例を挙げたが、最大値フィルタ処理と最小値フィルタ処理を個々に行うモジュールが設けられていてもよい。
【００７７】
＜第４実施形態＞
第４実施形態では、ラベル画像を入力してオプティカル画像を生成する例について図１０を参照しながら説明する。特別な説明がない限り、装置構成、用語など第１実施形態の説明に準ずるものとする。なお第４実施形態の画像処理装置１００の構成は図１と同様であり、その図示と説明は省略する。また、特別な説明がない限り、第４実施形態における装置構成、用語などは、前述した第１実施形態の説明に準ずるものとすし、第１実施形態と同じ構成や処理には同一の参照符号を付している。
【００７８】
第４実施形態において、ラベル画像とは、画像の各画素にそれぞれラベルＩＤが割り振られてマップ化された画像であり、画像をオブジェクト毎に領域分割した各オブジェクト別にＩＤが割り振られている。つまり、ラベル画像は、画素値としてラベルＩＤを持った画像である。領域分割処理とラベル画像の生成処理の手法としては、様々な手法があり、本実施形態ではいずれの手法を用いてもよい。それらの手法は広く知れ渡っているため、本実施形態では説明を省略する。
【００７９】
図１０は、第４実施形態の画像処理装置１００においてラベル画像を基にオプティカル画像を生成する処理の詳細な流れを示したフローチャートである。
先ず、Ｓ１００１において、ＯＦ生成部１０４は、前述のＳ４０１と同様に、着目画像と参照画像を取得する。
【００８０】
次にＳ１００２において、ＯＦ生成部１０４は、着目画像のラベル画像と参照画像のラベル画像を取得する。
次にＳ１００３において、ＯＦ生成部１０４は、着目画像のラベル画像を使って、着目画像の領域を拡げるようにして、着目領域拡大画像を生成する。ラベル画像を使った領域拡大方法については後述する。
またＳ１００４において、ＯＦ生成部１０４は、Ｓ１００３と同様に、参照画像のラベル画像を使って参照画像の領域を拡げるようにして、参照領域拡大画像を生成する。
次に、Ｓ１００５において、ＯＦ生成部１０４は、着目領域拡大画像と参照領域拡大画像から動き情報を取得する。動き情報を得る方法に限定はないが、本実施形態では、オプティカルフローを生成するものとし、前述した第１実施形態のＳ４０６で説明した手法と同様とする。
【００８１】
以下、ラベル画像を使った領域拡大方法について説明する。
本実施形態では、主被写体領域のラベルＩＤをｌmainとする。なお、主被写体領域のラベルＩＤの決め方に限定はない。また主被写体は目的に応じた被写体を決めてよい。例えば、ユーザがＧＵＩなどを通して主被写体領域のラベルＩＤを指定してもよいし、画像認識アルゴリズムを適用して人の領域のラベルを主被写体領域のラベルＩＤとしてもよい。
【００８２】
また着目領域拡大画像、参照領域拡大画像の領域拡大画像をＩextとすると、以下の式（７）〜式（９）により表される。
【００８３】
【数３】
2020009185.tif 000005
【数４】
2020009185.tif 000006
【数５】
2020009185.tif 000007
【００８４】
ここで、式中のΩは水平・垂直がそれぞれ−２から＋２の範囲の相対座標値の集合を示す。また、閾値ｔｈは１（ｔｈ＝１）とする。ＯＦ生成部１０４は、着目画素を中心とする５×５画素の領域からラベルＩＤがｌmainのものをカウントし、その個数が閾値以上（（ｔｈ＝１個以上）であるか否かを判定する。そして、ＯＦ生成部１０４は、ラベルＩＤがｌmainのものをカウントした個数が閾値ｔｈ以上である場合、その着目画素を主被写体領域の画素とみなし、５×５画素の領域の中でラベルＩＤがｌmainの各画素の平均画素値を算出する。
【００８５】
以下、ラベル画像による領域拡大画像の生成処理について、図１１（ａ）〜図１１（ｃ）を参照しながら説明する。
図１１（ａ）は前景被写体と背景との境界部分の一部を抜き出して模式的に示した図であり、図１１（ｂ）は図１１（ａ）に対応したラベル画像の一例を示した図である。また、図１１（ｃ）は、図１１（ｂ）のラベル画像を用いて図１１（ａ）の領域を拡げた領域拡大画像を模式的に示した図である。これら図１１（ａ）〜図１１（ｃ）では、前述した図５の例と同様に図中の一つの升目が一つの画素を表しているとする。また図１１（ａ）の画像には、領域１１０１、領域１１０２、領域１１０３の三つ異なる領域（被写体や背景等）が含まれているとする。さらに図１１（ａ）に示すように、領域１１０１は左方向矢印で示すように左方向へ移動しており、一方、領域１１０２と領域１１０３はそれぞれ右方向矢印で示すように右方向に移動しているとする。なお図１１（ａ）と図１１（ｃ）には、着目画素ＰＩと、その着目画素ＰＩを中心とする７×７画素からなるパッチ領域ＰＡも表されている。
【００８６】
ここで、図１１（ａ）に示した画像では、着目画素ＰＩを中心とする７×７画素のパッチ領域ＰＡを設定した際に、当該パッチ領域ＰＡ内に領域１１０１〜１１０３の境界部分が存在しているとする。パッチ領域ＰＡ内で、領域１１０１〜１１０３のそれぞれ領域内の画素数の割合は近く、それら各領域１１０１〜１１０３の各動きベクトルの方向は異なるが大きさは近いものであるとする。この場合、これら各領域１１０１〜１１０３のそれぞれの動きベクトルのいずれが主であるかの決定が難しくなり、いずれの領域の動きを得るかは、その時の画像に依存することになる。つまりこの例の場合、例えば前景被写体である領域１１０１の動きベクトルを検出したい場合であっても、他の領域１１０２や１１０３の動きベクトルが検出されてしまう可能性がある。
【００８７】
また、図１１（ｂ）に示したラベル画像において、各画素の中に記述された数値のうち「０」は主被写体を示すラベルＩＤであり、「１」は背景を示すラベルＩＤであるとする。ラベル画像を基に領域を拡げるような領域拡大処理では、着目画素ＰＩを中心とした５×５画素領域から、主被写体を示すラベルＩＤ「０」のものをカウントし、その個数が閾値以上（１個以上）であれば着目画素ＰＩを主被写体領域の画素とみなす。そして、５×５画素領域の中でラベルＩＤ「０」の画素の平均画素値が算出される。すなわち、図１１（ｂ）に示したラベル画像を用いることで、ラベルＩＤ「０」に対応した図１１（ａ）の主被写体領域１１０１を拡げる処理が行われることになり、図１１（ｃ）に示すように主被写体領域１１０１が拡げられた領域拡大画像が得られることになる。これにより、図１１（ａ）に示すように着目画素ＰＩの周辺にパッチ領域ＰＥが設定された場合でも、図１１（ｃ）に示すようにパッチ領域ＰＥ内の画素の大部分が主被写体領域の画素となる。したがって、相関判定を利用する動きベクトル検出において、着目画素ＰＩの動きは、図１１（ａ）の領域１１０１における左方向矢印で示された左方向の動きであるとして検出され易くなる。
【００８８】
第４実施形態においては、着目画素の近傍画素に主被写体とみなされる画素が一定数以上存在するという所定の条件が満たされた場合に、それら主被写体とみなされた各画素の平均を算出して、それを着目画素の出力値としている。一方、この条件が満たされない場合には、着目画素の元々の値がそのまま利用されることになる。これらにより主被写体領域が拡げられるような領域拡大画像の生成が行われることになり、前述した第１〜第３実施形態と同様な効果が得られることになる。第１実施形態から第３実施形態までは相対的な明暗に着目して領域を拡張してきたが、第４実施形態では、明暗に限定されず、ラベル画像を参照することによって対象の領域を拡げるような処理を可能としている。
なお第４実施形態では、領域を拡げる対象を一つに限定した例を挙げたが、これには限定されず、主被写体を複数設定してそれぞれにラベルＩＤを付けたラベル画像を用いて図１０の処理を適用することで、複数の主被写体領域をそれぞれ拡げることも可能である。
【００８９】
また、第４実施形態の図１０のフローチャートの説明では、各処理ステップをプログラムにより実行する例を説明したが、これに限定されず、各処理に対応する回路構成を持った画像処理装置により実行してもよい。図３（ｃ）は、第４実施形態の画像処理装置１００において、ラベル画像を用いて領域拡大処理を行って、動きベクトル検出およびオプティカルフローを生成する処理を回路のハードウェア構成により実現する場合の構成例を示している。
【００９０】
図３（ｃ）において、画像取得部３０１は前述した図１０のＳ１００１に相当する処理を行う。ラベル取得部３０８は、Ｓ１００２に相当する処理、つまりラベル画像の取得を行う。なおラベル画像は、ラベル取得部３０８自身が生成する構成とするが、これに限定されず、既に生成してあるラベル画像を取得する構成であってもよい。領域拡大部３０２はＳ１００３とＳ１００４に相当する処理を行う。領域拡大部３０２は、ラベル画像を使って着目画像と参照画像の領域を拡げる処理を行い、例えば参照領域拡大画像をメモリ３０３にストアする。動き検出部３０４はＳ１００５に相当する処理を行う。動き検出部３０４は、領域拡大部３０２で生成した着目領域拡大画像とメモリ３０３に存在する参照領域拡大画像とを使って動き検出を行うことで動き情報を得る。そして、動き出力部３０５は、その生成された動き情報を出力する。
【００９１】
前述した第１〜第４実施形態においては、着目画素に対し、その周辺から類似の特徴成分を持つ画素を選択して置き換えた画像（領域拡大画像）を生成し、領域拡大画像から動きを検出している。領域拡大画像は、被写体領域の輪郭の形状が維持されたまま当該被写体領域が拡げられた画像となされている。したがって、各実施形態によれば、着目画素の動き検出を行う場合に、仮に着目画素のパッチ領域が入力画像の被写体境界に跨っていたとしても、領域拡大画像上では被写体境界に跨りが殆ど無くなり、着目画素の動き検出精度を高めることが可能となる。
【００９２】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００９３】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００９４】
１０１：ＣＰＵ、１０２：ＲＡＭ、１０３：ＲＯＭ、１０４：ＯＦ生成部、３０１：画像取得部、３０２：領域拡大部、３０３：メモリ、３０４：動き検出部、３０５：動き出力部、３０６：制御部、３０７：動き合成部、３０８：ラベル取得部
【図１】
2020009185.tif 000008
【図２】
2020009185.tif 000009
【図３】
2020009185.tif 000010
【図４】
2020009185.tif 000011
【図５】
2020009185.tif 000012
【図６】
2020009185.tif 000013
【図７】
2020009185.tif 000014
【図８】
2020009185.tif 000015
【図９】
2020009185.tif 000016
【図１０】
2020009185.tif 000017
【図１１】
2020009185.tif 000018