JP2020027357A - 画像処理装置およびその制御方法 - Google Patents

画像処理装置およびその制御方法 Download PDF

Info

Publication number
JP2020027357A
JP2020027357A JP2018150639A JP2018150639A JP2020027357A JP 2020027357 A JP2020027357 A JP 2020027357A JP 2018150639 A JP2018150639 A JP 2018150639A JP 2018150639 A JP2018150639 A JP 2018150639A JP 2020027357 A JP2020027357 A JP 2020027357A
Authority
JP
Japan
Prior art keywords
determining
pixel
motion
interest
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018150639A
Other languages
English (en)
Inventor
小林 正明
Masaaki Kobayashi
正明 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018150639A priority Critical patent/JP2020027357A/ja
Publication of JP2020027357A publication Critical patent/JP2020027357A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】より適切な動き検出を可能とする。【解決手段】動画像における動きを検出する画像処理装置は、動画像における着目画素の輝度を取得する取得手段と、第1の検出手法により着目画素における動きを検出し動き情報を決定する第1の決定手段と、第2の検出手法により着目画素における動きを検出し動き情報を決定する第2の決定手段と、着目画素の輝度に基づいて、第1の決定手段と第2の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、を有する。【選択図】図4

Description

本発明は、画像内の動きを検出する技術に関するものである。
近年、動体追跡、動画の電子防振、フレーム補間など、動き情報を利用した技術が、数多く、開発されている。動き情報は、画素や局所域毎の動きを動きベクトルとして検出することにより決定される。また、このように密度の高い動き情報の一画像分の集合はオプティカルルフローとも呼ばれる。動きベクトルの検出手法としては、勾配法を用いるもの、テンプレートマッチングを用いるもの、特徴量比較を用いるものがある。
勾配法を用いる動き検出では、画素の時空間の輝度変化の方向と大きさから動きを検出する。勾配法の基本的な考え方は、着目画素の周辺の画素は同じ動きであると仮定し、着目画素を中心とするパッチ内の画素の平均的な時空間の輝度変化から動きを算出するものである。具体的な方法としては、LK(Lucas Kanade)法(非特許文献1)がある。LK法では、移動前後のパッチの画像相関をSSD(Sum of Squared Differences)で表現し、SSDをテイラー展開して、SSDが最小となる(つまり相関が最も高い)移動量を導出する方程式を解く。この移動量が着目画素の動きに相当する。
テンプレートマッチングを用いる動き検出では、着目画素を中心とする着目領域に対し、参照画像上に様々な位置に参照領域を設定し、着目領域の参照領域の相関値(もしくは逆相関値)を算出する。そして、参照領域の位置をずらしながら、相関値が最大(逆相関値が最小)となる参照領域の相対位置を動きベクトルとして得る。逆相関値の算出方法には、SSDやSAD(Sum of Absolute Differences)、NCC(Normalized Cross-Correlation)といった着目領域と参照領域の対応する画素の画素値を比較して逆相関を得るものがある。
特徴量比較を用いる動き検出では、多次元ベクトルで表現される特徴量を算出し、特徴量の距離を逆相関値とする。特徴量は、一般に画面内の輝度勾配を複数数値化し多次元ベクトルとして扱うものであり、SIFT(非特許文献2),BRIEF(非特許文献3)などが利用される。具体的な方法としては、非特許文献4に開示された方法がある。
B. D. Lucas and T. Kanade, "An iterative image registration technique with an application to stereo vision", Proceedings of Imaging Understanding Workshop, pages 121-130, 1981 D.G. Lowe, "Distinctive image features from scaleinvariant key points", 60, pp.91-110, 2004 Michael Calonder, Vincent Lepetit, Christoph Strecha, and Pascal Fua, "BRIEF: Binary Robust Independent Elementary Features", 11th European Conference on Computer Vision (ECCV), Heraklion, Crete. LNCS Springer, September 2010 Ce Liu, Jenny Yuen, and Antonio Torralba, "SIFT Flow: Dense Correspondence across Scenes and its Applications", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 33, No. 5, 2011
ところで、勾配法を用いる動き検出やテンプレートマッチングを用いる動き検出では、比較する画像間に輝度変動がある場合には、適切な動き検出を行うことが出来ない場合がある。これは、上述の、SSD,SAD,NCCにおいて逆相関値が大きくなりすぎることに起因する。輝度変動は、高周波で明滅(フリッカ)する照明が存在するシーンを撮影した場合などに発生する。輝度変動の影響を軽減するために、パッチの平均値を引いてNCCを算出するZNCC(Zero Normalized Cross-Correlation)や、エッジ画像に対して処理を行う方法もある。ただし、ノイズ耐性や低周波成分の動き検出精度が低下してしまうという問題が生じる。一方、特徴量比較を用いる動き検出は、輝度変動の耐性は強いものの、ノイズ耐性が低いという特徴がある。
本発明は、このような問題に鑑みてなされたものであり、より適切な動き検出を可能とする技術を提供することを目的としている。
上述の問題点を解決するため、本発明に係る画像処理装置は以下の構成を備える。すなわち、動画像における動きを検出する画像処理装置は、
前記動画像における着目画素の輝度を取得する取得手段と、
第1の検出手法により前記着目画素における動きを検出し動き情報を決定する第1の決定手段と、
前記第1の検出手法とは異なる第2の検出手法により前記着目画素における動きを検出し動き情報を決定する第2の決定手段と、
前記取得手段により取得された前記着目画素の輝度に基づいて、前記第1の決定手段と前記第2の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、
を有する。
本発明によれば、より適切な動き検出を可能とする技術を提供することができる。
第1実施形態に係る画像処理装置のハードウェア構成を示す図である。 階層処理によるオプティカルフロー算出のフローチャートである。 第1実施形態における画像内の動き検出の詳細フローチャートである。 第1実施形態における着目画素の動き検出の詳細フローチャートである。 第2実施形態における着目画素の動き検出の詳細フローチャートである。 第3実施形態における画像内の動き検出の詳細フローチャートである。 第3実施形態における着目画素の動き検出の詳細フローチャートである。 第4実施形態における着目画素の動き検出の詳細フローチャートである。
以下に、図面を参照して、この発明の実施の形態の一例を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
(第1実施形態)
本発明に係る画像処理装置の第1実施形態として、2枚の画像(着目画像と参照画像)を比較し画像内の動きを検出する画像処理装置を例に挙げて以下に説明する。
<装置構成>
図1は、第1実施形態に係る画像処理装置のハードウェア構成を示す図である。ここで、図1(a)は、図2を参照して後述する各処理をソフトウェア処理により実現する際のハードウェア構成を示している。
画像処理装置は、CPU(中央演算処理装置)102、メモリ103、HDD(ハードディスクドライブ)104を含み、これらはバス101を介して相互に接続されており、各種データの入出力はバス101を介して行われる。HDD104には、画像データおよびプログラムが記録されているものとする。
後述する各処理は、CPU102が、HDD104に格納されたプログラムをメモリ103へと読み込み実行することにより実現される。なお、以下の説明では、HDD104から画像データを入力し、HDD104へ画像データを出力し記録するものとする。ただし、不図示の各種インタフェースを介して外部機器から画像データを入力し画像データを出力するよう構成してもよい。
ここでは説明を簡単にするために、入力される画像データはモノクロの画像であるとするが、カラー画像(例えばRGB画像)であってもよい。また、ここでは、画像を構成するそれぞれの画素の画素値は、0(黒)〜1(白)の1ビット値で表現されるものとして説明するが、例えば8ビット値や16ビット値であってもよい。
まず、後述する説明における用語と記法について説明する。画像の各画素に対応する動きベクトルをマップ化したものをオプティカルフローと表現する。つまり、オプティカルフローは入力画像と同じ解像度を持つ要素が二次元ベクトルのデータである。また、画素の集合である画像データやオプティカルフローを一つの変数として表す。例えば、画像データをIとし、座標情報をX(又は(x,y))としたとき、I(X)(又はI(x,y))として画像の画素値を取得するものとする。そして、オプティカルフローに対しても同様に、オプティカルフローをfとしたとき、f(X)(又はf(x,y))として指定された座標の動きベクトルを取得するものとする。
ここでは、座標や動きベクトルを実数として扱う。よって、上述の表記法において座標値を実数で渡した場合には、バイリニア補間によって算出された画素値、あるいは、動きベクトルを得るものとする。また、動きベクトルや座標値に、下付き文字のx、yを付加することによりx成分、y成分を得られるものとする。例えば、動きベクトルをVとしたとき、V=(V,V)となる。同様に、オプティカルフローもf(X)=(f(X)、f(X))と表現する。ここではピラミッド処理を用いているが、I[1]は、第一の階層の画像というように、変数に[]を付加して階層を表すものとする。
フローチャートで示される各処理は、特別な記述がない限り、図中の矢印で示される順序で実行されるものとする。なお、処理間に依存関係がない場合には、処理順序を入れ替えてもよい。また、図2の各処理は、特別な記述がなければフレーム単位で行われ、各処理内で着目画素を走査することによって、すべての画素に処理が実施されるとする。ただし、処理単位に限定はなく、フレーム単位の処理を画素単位で実施することも可能である。
<装置の動作>
図2は、階層処理によるオプティカルフロー算出のフローチャートである。なお、ここでは、単一のカメラで撮像された動画像に含まれる連続するフレーム画像を、着目画像及び参照画像として入力して、オプティカルフローを算出するものとして説明する。各ステップの動作はCPU102が実行するものとして説明する。
S2010では、CPU102は、着目画像と参照画像を取得する。ここでは、2枚の画像を取得する場合について説明するが、より多くの枚数の画像や動画データを取得しても構わない。画像が3枚以上ある場合や、動画の場合は、対象となる2枚の画像(もしくはフレーム)を選択して連続的に処理することになる。
S2020では、CPU102は、着目画像と参照画像から、着目階層画像群と参照階層画像群を生成する。具体的には、最大階層数(max_lv)に対し、lv=0〜max_lvまでの縮小画像を生成する。max_lvは、画像の解像度に基づいて、あるいはあらかじめ所定の値を設定しておくものとし、ここでは、max_lvが5であるとして説明する。lvは、階層をあらわすインデックスであり等倍画像を0(ゼロ)とし、最小画像階層のlvが5となる。つまり階層数は6となる。なお、ここではmaxl_lvは、最小画像の幅を等倍画像の5%以下にするものして設定した。式(1)を参照してmax_lvの計算方法を説明する。
式(1)の結果を切り上げた値である5がmax_lvとなる。もし、最小画像の幅を等倍画像の10%以下とするなら、max_lvは4でよい。最小画像の幅は、画像間の動き検出対象の動きが大きいほど小さく設定すべきであるが、処理時間など様々な要素によって応じて最適な設定をすることが望ましい。なお、ここでは、画像の各階層間の縮小倍率を表すscale_factor(以下sf)を0.5であるものして説明する。階層=lvにおける縮小率sは以下の式(2)で算出される。
tar[lv]及びIref[lv]は、それぞれ、着目画像と参照画像を式(2)で与えられる縮小率s倍で縮小して得られる画像であるとする。しかし、sfは0.5に限定されず、0.7や0.9といった値をとってもよい。ここでは、縮小はバイキュービック法を用いるものとするが、例えばLanczos 3−lobed法など他の縮小方法を用いてもよい。なお、lv=0の場合は、s=1となるために縮小は不要であり、S2010で取得した着目画像と参照画像をそれぞれ、Itar[0],Iref[0]として表現するものとする。
S2030では、CPU102は、lvをmax_lvに設定する。S2040では、CPU102は、着目画像のlv階層のヒストグラムを生成・解析する。ここでは、階級幅を0.01とした輝度ヒストグラムを生成し、ヒストグラムの平均値と最頻値を生成するものとする。
S2050では、CPU102は、lv=max_lvであるか否かを判定して処理を遷移する。判定結果が真(Yes)の場合はS2070へ遷移し、偽(No)の場合はS2060へ遷移する。
S2060では、CPU102は、lv+1階層のオプティカルフローを拡大し、拡大オプティカルフローを生成する。具体的には、lv+1階層で算出したオプティカルフローを1/sf倍に拡大し、ベクトルの要素も1/sf倍して(u’(x,y),v’(x,y))を生成する。RGB画像を拡大する際には、R、G,Bそれぞれの成分を独立して処理し、動きベクトルのX成分、Y成分も独立して処理する。ここでは、バイリニア補間によって拡大するものとするが、バイキュービック法など他の補間手法を用いてもよい。ここではsfが0.5であるため、2(=1/0.5)倍にオプティカルフローを拡大する。ここでは以下の式(3)で算出することができる。
これらの処理を全画素分実行し、一画像分の拡大オプティカルフローを得る。以後、Itar=Itar[lv]とIref=Iref[lv]として説明する。
S2070では、CPU102は、全画素の動きベクトルを全て0(ゼロ)にしたオプティカルフローを生成し、S2180へ遷移する。
S2080では、CPU102は、着目画像と参照画像のlv階層画像、拡大オプティカルフローから動き検出を行い、lv階層のオプティカルフローを生成する。詳細は図3を参照して後述する。
S2090では、CPU102は、lv=0であるか否かを判定する。lv=0の場合は処理を終了する。一方、lv≠0の場合はS2100へ遷移する。S2100では、CPU102は、lv=lv−1とする。そして、S2040に遷移する。
1回のS2040〜S2080の処理によりで一階層分のオプティカルフローを生成する。このオプティカルフローは、lv≠0では、次の階層処理の入力となり、lv=0の場合は、最終的なオプティカルフローの出力となる。
図3は、第1実施形態における画像内の動き検出(S2080)の詳細フローチャートである。具体的には、着目画素を走査して着目画素の動きを検出する。
S3010では、CPU102は、着目画像から一次微分画像を生成する。ここでは、垂直及び水平方向にSobleフィルタを施すことにより画像を生成するものとするが、生成手法はSobelフィルタに限定されない。
S3020では、CPU102は、着目画素を設定する。例えば、画像の左上から右に走査し、1ラインの画素の走査が終わったら、次のラインの左から右へ走査する画素を特定する操作を順次行う。S3030では、CPU102は、着目画像と参照画像の一次微分画像から着目画素の動きを検出する。処理の詳細は図4を参照して後述する。
S3040では、CPU102は、全画素の処理が終了したか否か判定する。結果が真の場合は処理を終了し、偽の場合にはS3030へ遷移する。この処理により、画像内の全画素の動きを検出することになる。
図4は、第1実施形態における着目画素の動き検出(S3030)の詳細フローチャートである。
S4010では、CPU102は、動きベクトルの初期値を取得する。初期値は、S2060で生成したオプティカルフローから着目画素に対応する動きを得る。着目座標の座標をX=(x,y)とすれば、V=(u’(x,y),v’(x,y))となる。
S4020では、CPU102は、上限閾値と下限閾値を取得する。ここでは、上限閾値は画像の平均輝度(ただし上限値を0.95)とする。下限閾値はS2040で算出したヒストグラムの平均値とする。
S4030では、CPU102は、着目画素の輝度pを取得する。なお、ここでは画素値の輝度そのものとして説明するが、ローパスフィルタを掛けた輝度値をpとしてもよい。
S4040では、CPU102は、下限閾値<輝度p<上限閾値を満足するか否かを判定する。結果が真の場合にはS4060へ遷移させ、偽の場合にはS4050へ遷移させる。これは、照明の影響を受けた比較的明るい画素値ではS4060で説明される動き検出方法で動きを検出し、そうでない場合はS4050で説明される動き検出方法で動きを検出することを示す。なお、S4020上限値を0.95とした理由は、S4060で説明される動き検出方法が輝度飽和を苦手とするためである。
S4050では、CPU102は、Vを初期値として画素値比較の動き検出により動きベクトルVを算出する。Vは以下の式(4)で算出できる。
ここで、Xは着目画素の座標、Itar(X’)は着目画像の座標X’の画素値、Iref(X’)は参照画像の座標X’の画素値とする。Wは探索範囲を示し、ここでは7×7とするがこれに限定されない。dXは探索範囲Wに含まれる座標オフセットを示し、探索範囲が7×7なので水平、垂直にそれぞれ±3の範囲で整数値をとる。Pは相関を算出するパッチサイズを示し、ここでは7×7とするがこれに限定されない。dPはパッチ内の座標オフセットを示し、パッチサイズが7×7なので水平、垂直にそれぞれ±3の範囲で整数値をとる。
nは1もしくは2の値を取る。n=1の場合は一般にSADとよばれ、n=2の場合はSSDと呼ばれる手法になる。ここでは、着目画像と参照画像の画素値の差を取っていることから、この処理を画素値比較と表記している。
式(4)では、参照画像上のX+Vを探索初期点とし、7×7の探索領域から、逆相関(SADまたはSSD)が小さい(=相関が大きい)dXを探している。そして、初期値Vに加算して、動きベクトルVを求めている。なお、探索範囲Wに含まれる画素全画素を探索対象としたが、演算量削減のために一部の画素を間引いてもよい。
S4060では、CPU102は、Vを初期値として、特徴量比較による動き検出により着目画素の動きベクトルVを算出する。Vは以下の式(5)で算出できる。
Xは着目画素の座標である。Ftar(X’)は着目画像の座標X’の画素とその周辺から得られるSIFT特徴量(非特許文献2参照)である。Fref(X’)は、参照画像の座標X’のとその周辺から得られるSIFT特徴量とする。Wは探索範囲を示し、ここでは7×7とするがこれに限定されない。dXは探索範囲Wに含まれる座標オフセットを示し、探索範囲が7×7なので水平、垂直にそれぞれ±3の範囲で整数値をとる。
normは、多次元ベクトルで表せる特徴量の距離、つまり、各要素の差の二乗和の平方根を計算する。ここでは、着目画像と参照画像の特徴量の各要素の差を取っていることから、この処理を特徴量比較と表記している。
式(5)は、参照画像上のX+Vを探索初期点とし、7×7の探索領域から、逆相関(SIFT特徴量の二乗和の平方根)が小さい(=特徴量が類似し相関が大きい)dXを探している。そして、初期値Vに加算して、動きベクトルVを求めている。なお、探索範囲Wに含まれる画素全画素を探索対象としたが、演算量削減のために一部の画素を間引いてもよい。
ここでは、特徴量としてSIFT特徴量を使用する場合について説明したが、BRIEF特徴量(非特許文献3参照)などの他の特徴量を用いてもよい。画面内の輝度勾配差を多次元ベクトル化して表現し比較する任意の手法を用いることが可能である。また、SIFT Flow(非特許文献4参照)のように平滑化項を追加した特徴量比較を行ってもよい。
S4070では、CPU102は、動きベクトルVから平滑化項φを算出する。座標(x,y)におけるφは以下の式(6)で表現される。
ここで、Vsmoothは平滑化ベクトルであり、以下の式(7)によって算出するものとする。
ここで、A(X),A(X)は、座標Xとその周辺の拡大オプティカルフローで得られる動きベクトルの水平と垂直成分の集合とする。ここでは、座標Xを中心として5×5領域のベクトルの集合とする。median(Z)は、数値の集合Zに対し、その中央値を返す関数である。
式(7)は、周辺ベクトルの水平、垂直成分の中央値を平滑化ベクトルとして計算することを示している。中央値をとることによって外れ値を除外し、空間的になめらかな動きベクトルを得ることができる。
S4080では、CPU102は、輝度pから平滑化項φの寄与度である重みθを以下の式(8)によって算出する。
ここで、pbaseはS2040で算出したヒストグラムの平均値であり、kは寄与度の強さを決める係数である。ここではK=0.01とするがこれに限定されない。なお、θを導出する式は式(8)に限定されない。照明の影響が大きい(≒明るい輝度)ほど値が大きくなる式であればよく、例えば以下の式(9)を用いてもよい。
ここで、K’は、寄与度の強さを決める係数で、式(9)ではK’=0.05とする。
S4090では、CPU102は、平滑化項φとその重みθ考慮した画像相関エネルギー関数を小さくする動きベクトルVを算出する。以下ではS4090で使われる式の導出方法について説明する。
S4090は、着目画素(x,y)に対し、エネルギー関数を最小化する動きベクトルVを勾配法を用いて推定する処理である。ここで、エネルギー関数について説明する。エネルギー関数の基本はデータ項と呼ばれる項であり、データ項は以下の式(10)〜(12)で定義される。
refw(x,y)は、式(12)に従ってIref(x,y)をワーピングした画素である。ここでは、動きベクトルは実数で表現されるため、座標値も実数となる。そこで、バイリニア補間による画素値を得るものとする。なお、全画素分のIrefwに対応する画素を事前に作っておいてよい。fは、ItarとIrefwの違いをエネルギーとして表す関数であり、絶対値や差分2乗を用いることができる。Bは、着目画素(x,y)を中心としたパッチ領域を表しており、例えば7×7のパッチを考えた場合、ω、ηは−3から3までの整数値をとり、式(11)は、ρ(x+ω、y+η)の積算処理を表す。
しかし、画像に歪みがある、テクスチャが存在しない場合など、式(11)が最適なエネルギー関数を表すとは限らない。そこで、この問題を解決するために、拘束条件として、オプティカルフローを滑らかにするための平滑化項を追加する。以下の式(13)が平滑化項を追加した式である。
ここではρは以下のように定義される。
(uout(x,y),vout(x,y))を算出するために、(du,dv)を算出する必要がある。そのため、(du,dv)を導出する式を定義する。このとき、du,dvが十分に小さいとして、ρをテイラー展開すると、式(15)となる。
ここで、Itar_x、Itar_yは、Itarの1次微分であり、S3010で導出した水平・垂直一次微分画像である。
式(15)はdu、dvの2次関数なので、式(13)を最小にする解析解を求めることが可能である。解析解du、dvは以下の連立方程式を満たす。
ここで、A、(u,v)は以下のように定義される。
また、Bは、パッチサイズを示し、ここでは7×7とする。
式(15)の両辺にAの逆行列をかけることで、du、dvを求めることができる。つまり、最終的な動きベクトルVは下記の式(20)〜(21)で計算できる
上述の処理を全画素分実行することにより、lv階層のオプティカルフローを得ることが出来、画像ごとに最適な平滑化項の寄与度を算出することができる。なお、ここでは、方程式を解いて(uout(x,y),vout(x,y))を解析的に算出する方法について説明したが、それに限定されない。例えば、SOR法(Successive Over-Relaxation、逐次加速緩和法)を用いてもよい。また、平滑化ベクトルを使った平滑化項を用いてエネルギー計算を行い、(uout(x,y),vout(x,y))を算出してもよい。
<効果>
夜景などシーンにおいては、暗い画素は画素ごとにノイズが発生し、明るい画素は照明に起因する動画像内のフリッカの影響をうける。フリッカは照明だけでなく、壁や地面の反射光としても画像中に観察できる。壁や地面のテクスチャが低周波で構成される場合、着目画像と参照画像の低周波成分に輝度変化が生じているものとして観察できる。
画素値比較による動き検出では、着目画素とその周辺画素の画素値を比較、つまり低周波成分を含んだ情報で動き検出を行うためノイズの影響をうけにくい。一方で、動画像内のフリッカの影響を受けやすいという特徴がある。
特徴量比較による動き検出では、特徴量は絶対的な輝度に非依存で生成されるため、比較結果も輝度に非依存で相関を得られる。一方で、同一画像内の位置が異なる画素を比較するため、画素毎に輝度変化が発生するノイズがあると、正しい特徴量をえることが難しい。そのため、動き検出も失敗する可能性が高い。
そこで、第1実施形態では、S4040〜S4060で説明したとおり、画素の輝度値が比較的暗い場合に画素値比較による動き検出を選択し、画素の輝度値が比較的明るい場合には、特徴量比較による動き検出を選択している。
さらに、第1実施形態では、後段で勾配法を適用し、さらに小数画素精度単位で動きの精度を高める処理を適用している。勾配法は、式(19)でも定義される通り、着目画像と参照画像の画素の輝度値の差から動き量を求めるため、フリッカが発生すると動き量が本来あるべき量に対して増減してしまう。そのため、フリッカが発生しやすい明るい画素では、平滑化項の寄与度を上げて、フリッカの影響を最小化している。
以上説明したとおり第1実施形態によれば、動き検出対象の画素の輝度値に応じて、動き検出の方式を切り替える。また、それぞれの動き検出方式により得られた動き情報を統合する際の重みを調整する。これにより、より適切な動き検出を行うことが可能となる。
なお、上述の説明では、動き検出において、相関値算出方法を切り替えるものとして説明したが、これに限定されない。例えば、画素に対して2つ以上の動き候補が存在しどの動きが尤もらしいかを判断する場合に、相関値算出方法を切り替えて判断することも可能である。具体的には、画素の動きとして、動き検出により得られた動きと、画面全体の動きを代表する動きであるグローバルモーションのどちらが尤もらしいかを判断して、適した動きを得る場合である。つまり、検出対象の画素の輝度値によって、SAD算出に代表される画素値比較、もしくは、特徴量比較を切り替えて相関値を算出し、相関の高い動きを選ぶことになる。
(変形例)
上述の説明では、図2〜図4に示す各処理を、図1(a)に示すハードウェアにおいて、CPU102がプログラムを実行することにより実現する形態について説明した。一方、図2〜図4に示す1以上の処理を専用回路として実現することも可能である。
図1(b)は、各処理を個々のハードウェアにより実現する際のハードウェア構成を示している。図1(b)では、図1(a)の構成においてCPU102が行っていた処理を専用回路が実現している。CPU102は、各専用回路の制御及び簡単な処理のみ実行する。
画像縮小部105は、S2020で説明した画像縮小を行う。オプティカルフロー拡大部106は、S2060で示したオプティカルフロー拡大を行う。画像フィルタ部107は、S3010で説明したSobelフィルタを実行する。
動き探索部108は、画素値比較部109と特徴量比較部110とを切り替えながら動きを検出し動きベクトルVを決定する。画素値比較部109は、S4050で説明した方法と同様にVを初期値としてSADを算出して比較する。特徴量比較部110は、S4060で説明した方法と同様にVを取得しそれを初期値としてSIFT特徴量を生成しノルムを比較する。勾配法計算部111は、S4090で説明した勾配法と同様の計算で、Vを初期値として動きベクトルVを計算する。
なお、エッジ計算部112は、後述の第3実施形態で説明するS6015におけるエッジ画像決定を行う。また、動き混合部113は、後述の第4実施形態で説明するS8090における重み付き加算処理を行う。
(第2実施形態)
第2実施形態では、動き検出の対象画像が暗所シーンであるか否かを判断し、その結果に基づいて動き検出を制御する第1の方法について説明する。なお、装置構成(図1)、オプティカルフロー算出(図2)、画像内の動き検出(図3)については第1実施形態と同様であるため説明は省略する。
<装置の動作>
図5は、第2実施形態における着目画素の動き検出(S3030)の詳細フローチャートである。すなわち、第1実施形態における動き検出(図3)における着目画素の動き検出(S3030)の動作が異なる。特別な記述がない場合、他の処理は第1実施形態と同じであるものとして説明する。
S5010では、CPU102は、画像シーン情報を取得する。画像シーン情報は、画像シーンが暗所(夜景)、風景、スポートなどのどのシーンであるかを識別する情報である。これは、画像のヒストグラム情報を解析して決定することが出来る。例えば、画像の輝度ヒストグラムの最頻値と平均値以下の輝度値の平均が0.1以下の場合、暗所と判断する。画像シーン情報は、ヒストグラム生成・解析時に作っておくものとする。なお、暗所であるか否かの判定は、ヒストグラムの解析結果だけなく、ユーザーが直接設定するものであってもよい。
S5020では、CPU102は、動きベクトルの初期値Vを取得する。ここでは、拡大したオプティカルフローの着目画素に対応する座標の動きベクトルである。
S5030では、CPU102は、画像シーンが暗所と判定されるか否かを判定する。結果が真の場合にはS5040へ、偽の場合はS5090へ遷移する。
S5040では、CPU102は、上限閾値と下限閾値を取得するS4020と同様の処理を実行する。S5050では、CPU102は、着目画素の輝度pを取得する。S5060では、CPU102は、下限閾値<輝度p<上限閾値を満足するか否かを判定し、結果が真の場合にはS5080へ遷移し、偽の場合にはS5070へ遷移する。
S5070では、CPU102は、Vを初期値として勾配法(パッチサイズを11×11)による動きベクトルVを算出する。ここでの勾配は、第1実施形態で説明したものを同様とするが、これに限定されない。なお、暗所シーンにおける暗い画素は、一般にノイズが非常に多いため、ここでは、勾配法のパッチサイズを11×11と比較的大きなものを用い、ノイズに対するロバスト性を上げている。ただし、パッチサイズは11×11には限定されない
S5080では、CPU102は、Vを初期値として特徴量比較による動き検出により着目画素の動きベクトルVを算出する。ここでの動き検出方法は、第1実施形態で説明したものを同様とするがこれに限定されない。
S5090では、CPU102は、Vを初期値として特徴量比較による動き検出により着目画素の動きベクトルVを算出するS5080と同様の処理を実行する。
S5100では、CPU102は、Vを初期値として勾配法(パッチサイズ5×5)により動きベクトルVを算出するS5070と同様の処理を実行する。ここでの動き検出方法は、第1実施形態で説明したものを同様とするが、これに限定されない。ここでは、対象画像は暗所シーンでなくノイズも少ないため、勾配法のパッチサイズを5×5と比較的小さなものを用いている。パッチサイズを小さくすることによって、細かい動きをより精度よく検出できる。ただし、パッチサイズは5×5に限定されない。
以上説明したとおり第2実施形態によれば、暗所シーンであるか否かを判定し、暗所シーンの場合は、画素ごとに動き検出処理を切り替えている。具体的には、輝度値が比較的明るい画素に関しては、特徴量比較による動き検出を用いる。一方で、それ以外の画素については画素値勾配法を用いる。
前述のとおり、特徴量比較は照明の変動に強いため、シーン適応的な動き検出をすることができる。一方で、暗所シーンでない場合には、特徴量比較による動き検出とパッチサイズの小さい勾配法による動き検出を縦列実行している。特性の異なる動き検出方式を縦列実行することによって、より精度の高い動きの検出を行うことが可能となる。
(第3実施形態)
第3実施形態では、動き検出の対象画像が暗所シーンであるか否かを判断し、その結果に基づいて動き検出を制御する第2の方法について説明する。なお、装置構成(図1)及びオプティカルフロー算出(図2)については第1実施形態と同様であるため説明は省略する。
<装置の動作>
図6は、第3実施形態における画像内の動き検出(S2080)に係る詳細フローチャートである。図6は、図3のS3010がS6010に置き換わり、S6015がS6010の次に追加されている。それ以外の動作は、図3と同じである。
S6010では、CPU102は、着目画像と参照画像から一次微分画像を生成する。ここでは水平、垂直のSobelフィルタを施した、4枚の画像を生成する。S6015では、CPU102は、着目画像と参照画像の一次微分画像からエッジ画像を生成する。例えば、エッジ画像の各画素の画素値は式(22)〜(23)によって求めることが出来る。
ここで、Itar_x,Itar_yは、着目画像の水平、垂直の一次微分画像である。Iref_x,Iref_yは、参照画像の水平、垂直の一次微分画像である。x,yは、走査対象の画素の座標を示し、画像内の全画素を上記の式で計算することによって、着目画像のエッジ画像etarと参照画像のエッジ画像erefを生成する。なお、ここでは、エッジとして水平、垂直の二乗和平方根を計算したがこれに限定されない。Cannyなどのエッジ検出を行っても良い。また、エッジ画像は閾値を設定して二値化してもよい。
図7は、第3実施形態における着目画素の動き検出(S3030)の詳細フローチャートである。図7は、第2実施形態(図5)のフローを置き換える形で実行される。以下のその動作について、図5との差分について説明する。
S7070では、CPU102は、Vを初期値として、画素値比較による動き検出により着目画素の動きベクトルVを算出する。画素値比較の方法としては、SADを用いるものとする。
S7080では、CPU102は、Vを初期値として、エッジ画像の画素値比較による動き検出により、着目画素の動きベクトルVを算出する。エッジ画像はS6015で生成したものを用いる。画素値比較の方法としては、SADを用いるものとする。
エッジ画像は、高周波成分が強調された画像であるため、元画像にノイズが含まれる場合ノイズの影響を受けやすい。一方、低周波成分が低減されているため照明のフリッカによる輝度変動の影響をうけにくい。そこで、第3実施形態では、S5060で輝度値を判定し、明るい画素はエッジ画像で動き検出、暗い画像は、入力画像そのもので動き検出を行っている。
以上説明したとおり第3実施形態によれば、第2実施形態と同様、暗所シーンの画像においても、より精度の高い動きの検出を行うことが可能となる。
(第4実施形態)
第4実施形態では、動き検出の対象画像が暗所シーンであるか否かを判断し、その結果に基づいて動き検出を制御する第1の方法について説明する。なお、装置構成、オプティカルフロー算出、画像内の動き検出については第1実施形態(図1、図2、図3)と同様であるため説明は省略する。
<装置の動作>
図8は、第4実施形態における着目画素の動き検出(S3030)の詳細フローチャートである。図8は、第2実施形態(図5)におけるS5060〜S5100の代わりに、S8060〜S8110が追加されている。それ以外の動作は、図5と同じであるため、以下では、図5との差分について説明する。
S8060では、CPU102は、Vを初期値として特徴量比較による動き検出により着目画素の動きベクトルVを算出する。S8070では、CPU102は、Vを初期値として勾配法により動きベクトルVを算出する。すなわち、特徴量比較による動き検出と勾配法による動き検出を並列実行する。S8080では、CPU102は、輝度pから重みWを算出する。重みは以下の式(24)を用いて算出することが出来る。
ここで、pbaseは、S2040で算出したヒストグラムの平均値である。k”は、寄与度の強さを決める係数であり、ここではk”=2とするがこれに限定されない。
S8090では、CPU102は、重み付き加算を実施する。例えば、V=W×V+(1−W)×Vという式を用いる。S8100では、CPU102は、Vを初期値として特徴量比較による動き検出により着目画素の動きベクトルVを算出する。S8110では、CPU102は、Vを初期値として勾配法により動きベクトルVを算出する。
このように、S5030で暗所シーンと判断された場合、照明変動に強い動き検出方法で得たVと、照明変動に弱いが小数画素精度で動きが検出できるVと、を重み付き平均する。特に、着目画素の輝度が比較的明るいほど、Vの重みが増すように重み付き平均している。これにより、明るい画素はより精度が高く、暗い画素でも大きく動きを間違えにくい動き検出を行うことが可能となる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 バス; 102 CPU; 103 メモリ; 104 HDD; 105 画像縮小部; 106 オプティカルフロー拡大部; 107 画像フィルタ部; 108 動き探索部; 109 画素値比較部; 110 特徴量計算部; 111 勾配法計算部; 112 エッジ計算部; 113 動き混合部

Claims (10)

  1. 動画像における動きを検出する画像処理装置であって、
    前記動画像における着目画素の輝度を取得する取得手段と、
    第1の検出手法により前記着目画素における動きを検出し動き情報を決定する第1の決定手段と、
    前記第1の検出手法とは異なる第2の検出手法により前記着目画素における動きを検出し動き情報を決定する第2の決定手段と、
    前記取得手段により取得された前記着目画素の輝度に基づいて、前記第1の決定手段と前記第2の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、
    を有することを特徴とする画像処理装置。
  2. 前記第1の検出手法は前記第2の検出手法に比較して動画像内のフリッカの影響を受けにくい動き検出手法であり、
    前記制御手段は、前記着目画素の輝度が所定の下限閾値より大きい場合は前記第1の決定手段を用いて動き情報を決定し、前記着目画素の輝度が前記所定の下限閾値より小さい場合は前記第2の決定手段を用いて動き情報を決定するよう制御する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記第1の検出手法は、特徴量の比較に基づく動き検出手法であり、
    前記第2の検出手法は、テンプレートマッチングに基づく動き検出手法である
    ことを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記特徴量は、空間的な輝度勾配を多次元ベクトル化した情報である
    ことを特徴とする請求項3に記載の画像処理装置。
  5. 前記着目画素の輝度と前記第1の決定手段又は前記第2の決定手段により決定された動き情報とに基づいて、画像相関エネルギー関数を小さくする動き情報を決定する手段を更に有する
    ことを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。
  6. 動画像における動きを検出する画像処理装置であって、
    前記動画像のシーン情報に基づき該動画像が暗所シーンを示すか否かを判定する判定手段と、
    前記動画像における着目画素の輝度を取得する取得手段と、
    特徴量の比較に基づく第1の検出手法により前記着目画素における動きを検出し動き情報を決定する第1の決定手段と、
    勾配法に基づく第2の検出手法により前記着目画素における動きを検出し動き情報を決定する第2の決定手段と、
    前記第1の決定手段と前記第2の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、
    を有し、
    前記制御手段は、
    前記動画像が暗所シーンであると判定されかつ前記着目画素の輝度が所定の下限閾値より大きい場合は、前記第1の決定手段を用いて動き情報を決定し、
    前記動画像が暗所シーンであると判定されかつ前記着目画素の輝度が前記所定の下限閾値より小さい場合は、前記第2の決定手段を用いて動き情報を決定し、
    前記動画像が暗所シーンではないと判定された場合は、前記第2の決定手段と前記第1の決定手段とを縦列実行することにより動き情報を決定する、
    よう制御する
    ことを特徴とする画像処理装置。
  7. 動画像における動きを検出する画像処理装置であって、
    前記動画像のエッジ画像を決定するエッジ画像決定手段と、
    前記動画像のシーン情報に基づき該動画像が暗所シーンを示すか否かを判定する判定手段と、
    前記動画像における着目画素の輝度を取得する取得手段と、
    特徴量の比較に基づく第1の検出手法により前記着目画素における動きを検出し動き情報を決定する第1の決定手段と、
    勾配法に基づく第2の検出手法により前記着目画素における動きを検出し動き情報を決定する第2の決定手段と、
    テンプレートマッチングに基づく第3の検出手法により前記着目画素における動きを検出し動き情報を決定する第3の決定手段と、
    前記第1の決定手段と前記第2の決定手段と前記第3の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、
    を有し、
    前記制御手段は、
    前記動画像が暗所シーンであると判定されかつ前記着目画素の輝度が所定の下限閾値より大きい場合は、前記エッジ画像を対象として前記第3の決定手段を用いて動き情報を決定し、
    前記動画像が暗所シーンであると判定されかつ前記着目画素の輝度が前記所定の下限閾値より小さい場合は、前記動画像を対象として前記第3の決定手段を用いて動き情報を決定し、
    前記動画像が暗所シーンではないと判定された場合は、前記第2の決定手段と前記第1の決定手段とを縦列実行することにより動き情報を決定する、
    よう制御する
    ことを特徴とする画像処理装置。
  8. 動画像における動きを検出する画像処理装置であって、
    前記動画像のシーン情報に基づき該動画像が暗所シーンを示すか否かを判定する判定手段と、
    前記動画像における着目画素の輝度を取得する取得手段と、
    特徴量の比較に基づく第1の検出手法により前記着目画素における動きを検出し動き情報を決定する第1の決定手段と、
    勾配法に基づく第2の検出手法により前記着目画素における動きを検出し動き情報を決定する第2の決定手段と、
    前記第1の決定手段と前記第2の決定手段とをどのように用いて動き情報を決定するかを制御する制御手段と、
    を有し、
    前記制御手段は、
    前記動画像が暗所シーンであると判定された場合は、前記第2の決定手段と前記第1の決定手段とを並列実行し、前記第2の決定手段により得られた動き情報と前記第1の決定手段により得られた動き情報とを前記着目画素の輝度に基づき重み付き平均することにより動き情報を決定し、
    前記動画像が暗所シーンではないと判定された場合は、前記第2の決定手段と前記第1の決定手段とを縦列実行することにより動き情報を決定する、
    よう制御する
    ことを特徴とする画像処理装置。
  9. 動画像における動きを検出する画像処理装置の制御方法であって、
    前記画像処理装置は、
    第1の検出手法により着目画素における動きを検出し動き情報を決定する第1の決定手段と、
    前記第1の検出手法に比較して動画像内のフリッカの影響を受けやすい第2の検出手法により着目画素における動きを検出し動き情報を決定する第2の決定手段と、
    を有し、
    前記制御方法は、
    前記動画像における着目画素の輝度を取得する取得工程と、
    前記着目画素の輝度が所定の下限閾値より大きい場合は前記第1の決定手段を用いて動き情報を決定し、前記着目画素の輝度が前記所定の下限閾値より小さい場合は前記第2の決定手段を用いて動き情報を決定する、決定工程と、
    を含むことを特徴とする制御方法。
  10. コンピュータを、請求項1乃至8の何れか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
JP2018150639A 2018-08-09 2018-08-09 画像処理装置およびその制御方法 Pending JP2020027357A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018150639A JP2020027357A (ja) 2018-08-09 2018-08-09 画像処理装置およびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018150639A JP2020027357A (ja) 2018-08-09 2018-08-09 画像処理装置およびその制御方法

Publications (1)

Publication Number Publication Date
JP2020027357A true JP2020027357A (ja) 2020-02-20

Family

ID=69620071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018150639A Pending JP2020027357A (ja) 2018-08-09 2018-08-09 画像処理装置およびその制御方法

Country Status (1)

Country Link
JP (1) JP2020027357A (ja)

Similar Documents

Publication Publication Date Title
Ghosh et al. A survey on image mosaicing techniques
Sen et al. Robust patch-based hdr reconstruction of dynamic scenes.
JP6438403B2 (ja) 結合された深度キューに基づく平面視画像からの深度マップの生成
US10621729B2 (en) Adaptive focus sweep techniques for foreground/background separation
US10818018B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
Kim et al. DASC: Robust dense descriptor for multi-modal and multi-spectral correspondence estimation
Banerjee et al. In-camera automation of photographic composition rules
JP6075294B2 (ja) 画像処理システム及び画像処理方法
JP2018195084A (ja) 画像処理装置及び画像処理方法、プログラム、記憶媒体
CN108875504B (zh) 基于神经网络的图像检测方法和图像检测装置
US11145032B2 (en) Image processing apparatus, method and storage medium for reducing color noise and false color
CN110264426B (zh) 图像畸变校正方法和装置
Trink et al. A general form of illumination-invariant descriptors in variational optical flow estimation
Chen et al. Face super resolution based on parent patch prior for VLQ scenarios
US20140152862A1 (en) Image processing apparatus, image pickup apparatus, image pickup system, image processing method, and non-transitory computer-readable storage medium
Ghosh et al. Robust simultaneous registration and segmentation with sparse error reconstruction
JP2020027357A (ja) 画像処理装置およびその制御方法
Paudel Stitching of X-ray Images
TWI313136B (ja)
KR101833943B1 (ko) 동영상의 주요 장면을 추출 및 탐색하는 방법 및 시스템
Clark OPIRA: The optical-flow perspective invariant registration augmentation and other improvements for natural feature registration
Van Vo et al. High Dynamic Range Video Synthesis Using Superpixel-Based Illuminance-Invariant Motion Estimation
JP6751663B2 (ja) 画像処理装置、画像処理方法
WO2019012647A1 (ja) 画像処理装置、画像処理方法およびプログラム記憶媒体
JP2013197892A (ja) 被写体認識装置、被写体認識方法及び被写体認識用コンピュータプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113