JP5616989B2 - 画像処理装置および閾値設定処理プログラム - Google Patents

画像処理装置および閾値設定処理プログラム Download PDF

Info

Publication number
JP5616989B2
JP5616989B2 JP2013026439A JP2013026439A JP5616989B2 JP 5616989 B2 JP5616989 B2 JP 5616989B2 JP 2013026439 A JP2013026439 A JP 2013026439A JP 2013026439 A JP2013026439 A JP 2013026439A JP 5616989 B2 JP5616989 B2 JP 5616989B2
Authority
JP
Japan
Prior art keywords
pixel
threshold
block
image
standard deviation
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.)
Active
Application number
JP2013026439A
Other languages
English (en)
Other versions
JP2014157388A (ja
Inventor
亮 和田
亮 和田
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.)
Toshiba Teli Corp
Original Assignee
Toshiba Teli Corp
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 Toshiba Teli Corp filed Critical Toshiba Teli Corp
Priority to JP2013026439A priority Critical patent/JP5616989B2/ja
Publication of JP2014157388A publication Critical patent/JP2014157388A/ja
Application granted granted Critical
Publication of JP5616989B2 publication Critical patent/JP5616989B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、カメラで撮影した時系列の複数の画像から変化画素を含む領域を抽出する領域抽出処理機能を有する画像処理装置、および領域抽出処理機能を実現する閾値設定処理プログラムに関する。
単眼カメラ(一つのカメラ)で撮影した時系列の複数の画像から変化画素を含む矩形の領域を抽出する領域抽出処理機能を有する画像処理装置において、閾値を自動的に設定するための技術として、従来では、カレントフレームの更新毎にリファレンスフレームとカレントフレームとの画像情報の差分に応じてマスク抽出用閾値を決定する手段を有した監視システムが存在する(例えば、特許文献1参照)。この特許文献1のシステムでは、フレーム差分のヒストグラムを作成し、その累積頻度を、移動物体領域として抽出するための指標である固定の閾値でフィルタリング処理して、マスク抽出用閾値を得ている。また、入力画像と設定された背景画像との間で輝度の絶対差分値を求め、この輝度の絶対差分値に対して閾値処理を行い、この閾値を超える画素を255、超えない画素を0とする二値化処理技術が存在する(例えば、特許文献2参照)。また、画像のノイズ除去に関して、2枚の画像の差分をとり、その差画像から求めた標準偏差の値を参照して、画質改善のための閾値を算出する技術が存在する(例えば、特許文献3参照)。
これらの技術に対して、本願発明者は、一定期間の連続画像を利用して、画素当りの輝度変動(平均値と標準偏差)を求め、その標準偏差を、変化画素を抽出するための画素辺りの閾値に設定する自動閾値の設定処理技術を確立した(特許文献4参照)。しかしながら、この標準偏差を利用した閾値設定においては、波の揺らぎや、波に反射する西日の影響、木の激しい揺れ、木の影の揺れ等に対しても、これらの対応画素を変化画素として判定(抽出)してしまう過剰検知が見受けられた。
そこで本願発明者は、さらにこの問題を解消すべく、入力した一定期間内の複数の画像を対象に、画素当たりの輝度平均値と標準偏差を算出し、算出した画素について、算出した標準偏差と複数の過去画像の対応する各画素の閾値の加重移動平均とをもとに閾値を算出し、ここで算出した閾値を上記標準偏差を算出した画素の上記変化画素を抽出するための閾値として設定する自動閾値の設定処理技術を確立した(特許文献5参照)。この技術により、より安定した変化画素領域の抽出が可能な閾値の自動設定機能を実現することができたが、この技術は、画像が更新される度に、検出対象となる画像領域の全画素について煩雑な演算処理を繰り返し実施することから、システム全体の処理負荷に対して閾値算出に係る処理負荷の割合が大きく、かつその高負荷状態が定常的に継続される。従って、多くのカメラ映像を同時に処理する場合、上記の閾値算出手段を適用した場合、閾値算出以外の動き検出を伴う画像処理において、処理能力、処理性能に制約を受ける可能性を有していた。また、上記特許文献5における自動閾値設定手段は、波の揺らぎや波への西日の反射、木の揺れなど、細かな速い動きに反応する性能をもつが、実際に活用される監視システムとしては、それ以外にも人や車両などの動物体における特定の移動や挙動、自然災害の監視などを対象とした、過剰反応を抑制したシステム性能やパン、チルト、ズームやプリセット(予め決められたポジション)で監視映像を切替えて動作する性能が求められる。
特開2001−325672号公報 特開2001−160146号公報 特開平11−187288号公報 特許第4571656号公報 特許第4719800号公報
本発明は、入力した一定期間内の複数の画像を対象に、画素当たりの閾値を算出し、算出した閾値を用いて変化画素を含む領域を抽出する領域抽出処理において、閾値算出に係る処理負荷を軽減した画像処理装置および閾値設定処理プログラムを提供することを目的とする。
本発明の実施形態は、カメラで撮影した画像を順次入力し、入力した現在画像と過去画像から変化画素を含む領域を抽出する領域抽出処理手段を備えた画像処理装置であって、前記領域抽出処理手段は、前記入力した一定期間内の複数の画像を対象に、画素当たりの輝度平均値と標準偏差を算出し、算出した標準偏差を用いて、前記標準偏差を算出した画素の前記変化画素を抽出するための閾値を設定する閾値設定手段と、前記閾値の算出対象となる全画素領域を複数のブロックに分割し、分割した各ブロック内で閾値の算出対象となる注目画素を順次シフトするブロック内巡回シフト処理を前記ブロックのサイズを段階的に拡大させながら実施するステップブロッキング設定処理手段と、を具備したことを特徴とする。
また本発明の実施形態は、カメラで撮影した画像を順次入力し、入力した現在画像と過去画像から変化画素を含む矩形の領域を抽出する領域抽出処理機能を備えた画像処理装置としてコンピュータを機能させるための、前記変化画素の抽出に用いる閾値を画素毎に設定する閾値設定処理プログラムであって、前記入力した一定期間内の複数の画像を対象に、画素当たりの輝度平均値と標準偏差を算出し、当該標準偏差を算出した画素について、前記算出した標準偏差を用いて閾値を算出し、当該算出した閾値を前記標準偏差を算出した画素の前記変化画素を抽出するための閾値として設定する閾値設定機能と、前記閾値の算出対象となる全画素領域を複数のブロックに分割し、分割した各ブロック内で閾値の算出対象となる注目画素を順次シフトするブロック内巡回シフト処理を前記ブロックのサイズを段階的に拡大させながら実施するステップブロッキング設定処理機能と、を前記コンピュータに実現させることを特徴とする。
本発明の実施形態における画像処理装置の構成を示すブロック図。 上記実施形態における画像処理記憶部に格納された自動閾値設定処理機能を実現する構成要素を示す図。 上記実施形態における標準偏差を用いた閾値の設定概念を示す図。 上記実施形態におけるステップブロッキング設定処理手段の動作概念を示す図。 上記ステップブロッキング設定処理手段の処理手順を示すフローチャート。 上記ステップブロッキング設定処理における注目画素のブロック(2×2ブロック)内シフト例を示す図。 上記ステップブロッキング設定処理における注目画素のブロック(4×2ブロック)内シフト例を示す図。 上記ステップブロッキング設定処理における注目画素のブロック(4×3ブロック)内シフト例を示す図。 上記ステップブロッキング設定処理における注目画素のブロック(4×4ブロック)内シフト例を示す図。 上記実施形態における処理の手順を示すフローチャート。 上記実施形態における処理の手順を示すフローチャート。 上記実施形態における処理の手順を示すフローチャート。 上記実施形態における処理の手順を示すフローチャート。 上記実施形態における処理の手順を示すフローチャート。 上記実施形態における処理の手順を示すフローチャート。 上記実施形態における処理の手順を示すフローチャート。
以下図面を参照して本発明の実施形態を説明する。
本発明の実施形態を説明するに際し、本発明の実施形態に係る画像処理装置における自動閾値の算出処理について、その動作概念を図3を参照して説明する。
本発明の実施形態に係る画像処理装置に入力される映像は、単眼カメラ(単一のカメラ)で撮影したカメラ映像であり、周囲の明るさや撮像されている構造物、映像条件(ノイズの重畳状況、自動絞りの動作等)に応じて画面全体の輝度変動が発生する。固定閾値での設定のみとした場合には、昼間と夜間の明るさが変動する中で対象物のみを正確に抽出することは困難であり、閾値の決定は人間系によるものとなり、経験と勘など不確定要素によるところが大きくなる。そこで、本願発明者は、図3に示すように、QVGA(320×240画素)の全画素について、1画素当りで、nフレーム(例;30フレーム)の輝度(エッジ強度)集合の平均(μ:輝度平均)と、標準偏差(σ)を求め、この標準偏差(σ)を閾値に設定する自動閾値設定技術を確立した。この自動閾値設定手段は、上述したように、波の揺らぎや、波に反射する西日の影響、木の激しい揺れ、木の影の揺れ等に対して変化画素として判定してしまう過剰検知が見受けられた。
揺らぎのある画素とそうでない画素の特徴を調査した結果、揺らぎのある画素は、自動閾値の設定で利用する輝度の分散が大きく、そうでない画素は分散が極端に小さいことが分かった。
そこで、輝度の標準偏差(σ)を利用して閾値を設定する場合、上記の特徴から、輝度の標準偏差の2以上の整数倍を閾値として設定することを考えた。例えば輝度の標準偏差の3倍(3σ)を閾値として設定することを考えた。これにより、変動の大きい画素の閾値がより大きく(変動の小さな画素の閾値がより小さな値で安定して)設定されるように変更した。
この3σを閾値に利用した場合、時間軸で一定して、この閾値(3σ)が連続的に大きい画素を、揺らぎ画素と判断することができるため、移動平均にて最終閾値を決定することとした。なお、移動平均を利用した場合、閾値への反映にタイムラグを伴う(過去のデータから現在を予測するため)。そこで、その影響を極力少なくするために、重みを付けた移動平均(加重移動平均)を利用し、直近(最新)の算出結果の影響が大きい結果を得られるようにした。また、常時、揺らいでいる画素のみならず、動体が存在した画素も一時的にではあるが、輝度の標準偏差が増大する。そこで、下式のように、閾値(3σ)を仮の閾値として加重移動平均から閾値(3σ)の加重移動標準偏差を減算することで、その影響を極力少なくする工夫を実施した。なお、ここでは最小輝度値を0、最大輝度値を255としている。
輝度分散V=1/N×Σ(輝度) − (1/N×Σ輝度)
仮閾値(3σ)=3*sqrt(V)、ただし、255超過の場合は、255とする sqrt:平方根
閾値=ΣWn×(3σ)/ΣWi − Sqrt(1/N×Σ(3σ) −1/N×Σ(3σ))
:(3σの加重移動平均)−(3σの標準偏差)
この結果、波の揺らぎや波への西日の反射、木の揺れに順応した揺らぎがない安定した画素での安定的対象物の検知が可能になった。またダイナミックに変化する周囲の明るさに追従することが可能になった。この閾値の自動設定は、差分をとる対象画像が原画像、エッジ画像(空間微分画像、輪郭画像)のいずれにおいても適用できる。
上記した自動閾値の算出処理を毎フレーム全画素を対象に実施する技術は、波の揺らぎや波への西日の反射、木の揺れに順応する動き検出性能を持つが、画像が更新される度に、検出対象となる画像領域の全画素について煩雑な演算処理を繰り返し実施することから、システム全体の処理負荷に対して閾値算出に係る処理負荷の割合が大きく、かつその高負荷状態が定常的に継続される。
この問題を解消する手段として、画像上の閾値算出対象にある全画素領域について、画像上の複数画素単位のブロック(画素ブロック)を与え、ブロック毎に自動閾値算出対象となる注目画素をブロック内で順次一定のシフト方向に可変し巡回する処理を導入する。このブロック内で注目画素を順次一定のシフト方向に可変し巡回シフトする処理を、この実施形態では、説明内容に応じて、ブロック自動算出処理、もしくはブロック内巡回シフト処理、もしくは単に注目画素シフトと称している。
このブロック自動算出処理(ブロック内巡回シフト処理)の導入により、各画素の自動閾値更新処理がブロックサイズの画素数で決まるnフレームに一度の割合となり、フレーム当たり(画像更新時)の閾値算出に係る処理負荷を軽減することができる。
しかし、単に、ブロックサイズを固定値として決め、ブロック毎に自動閾値算出対象となる注目画素をブロック内で順次一定のシフト方向に可変するブロック自動算出処理を実施した場合、ブロック内のある注目画素について、閾値が更新されるまでに、ブロックサイズの画素数分の画像(フレーム)更新を待つことになり、ブロック内の注目画素に対する閾値更新のサンプリング周期がブロックサイズの画素数分、長くなり、ブロック内の全ての画素が更新されるまでに多くの時間(フレーム数)を要する。例えば、ブロックサイズを8×8画素とした場合、注目画素は64フレームの画像更新毎に抽出されることになり、30フレームの画像を用いて自動閾値を求めるとすると、30×64フレームの画像更新に対する画素当たりの輝度値変動をチェックした自動閾値の設定をすることになり、映像入力開始直後は自動閾値の算出がされていない固定閾値にて差分処理が動作するため、自動閾値の算出が全画素分終了するまでの間、過剰検知が発生するなどの不具合が生じる虞がある。このため、パン、チルト、ズームの制御が可能なカメラで定周期にプリセット(予め設定されているポジション)への変更をする監視形態などにより、入力画像が短期に切り替わる(環境変動の高い)条件下では適用範囲が制限される。
そこで、この実施形態においては、上記した注目画素のブロック内巡回シフト機能をもつブロック自動算出処理において、ブロックサイズを所定のサイズまで段階的に大きくして、各画素における注目画素のサンプリング周期を、漸次、長くすることによって、自動閾値更新処理に係る処理負荷を軽減するとともに環境変動に対して一定の監視性能を保有する。
このブロック内巡回シフト処理を実施するブロックサイズを動的に可変する処理の導入により、自動閾値算出処理に係る処理負荷(算出対象画素)を、例えば1/4〜1/64程度に、漸次、軽減することができる。このブロック内巡回シフト処理を実施するブロックサイズを動的に可変する処理を、この実施形態ではブロックサイズ動的可変処理と称している。
このブロックサイズ動的可変処理の具体的な処理イメージを図4に例示している。ここでは、1フレーム320×240画素の全領域(マスク領域なし)を自動閾値算出対象画素領域としており、ブロックサイズを所定のサイズまで段階的に可変(拡大)する場合、第1ステージ(初段)は、全画素の閾値を毎フレーム更新した、最小画素ブロック(1×1画素ブロック)となる、320×240=76800回分の演算量、第2ステージ(画素ブロック=2×2画素)は、第1ステージの1/4にあたる、160×120=19200回分の演算量、第3ステージ(画素ブロック=4×2画素)は、第1ステージの1/8にあたる、80×120=9600回分の演算量、第4ステージ(画素ブロック=4×4画素)は、第1ステージの1/16に当たる、80×60=4800回分の演算量、と、ステージの更新(ブロックサイズの段階的ステップ更新)毎に、演算量が漸減してゆく。この実施形態では、最終ステージ(終段)の最大画素ブロックを8×8ブロックとして、第1ステージの1/64にあたる40×30=1200回分の演算量まで漸減する。
ブロック内巡回シフトは、例えば、第2ステージ(画素ブロック=2×2画素)の場合、ブロック内において、自動閾値の算出対象となる注目画素が、ハッチで示す[左上→右上→左下→右下]の順に巡回(シフト)する。従って、例えば左上の画素を注目画素とすると、当該注目画素は4フレームの画像更新毎に抽出されることになる。最終ステージ(最大画素ブロック=8×8画素)の場合、注目画素は64フレームの画像更新毎に抽出されることになる。
さらに、この実施形態では、上記したブロック内巡回シフト処理を複数回繰り返し行う処理を実施する。この処理をこの実施形態ではブロック内巡回シフトの循環処理と称している。
上記各ステージの処理において、上記ブロック指定とともに外部パラメータとして、ブロック内における各画素の循環回数を指定するステップ数が与えられ、このステップ数により、上記各ステージのブロック内循環回数(ブロック内巡回シフトの循環回数)が指定される。例えば、各ステージにステップ数[2]が外部パラメータとして与えられると、各ステージにおいて、ブロック内巡回シフトが2巡、繰り返し実施される。
上記図3に示した閾値設定手段に拠る自動閾値算出処理を基に、図4に示した、閾値算出対象となる全画素領域を複数のブロックに分割して分割した各ブロック内で閾値の算出対象となる注目画素を順次シフトするブロック内巡回シフトの循環処理をブロックのサイズを段階的に拡大させながら実施することにより、初段回(第1ステージ)の全画素による閾値の算出によって速やかに入力映像の短期的映像変動に追従した閾値を設定するとともに、以降、段階毎に閾値設定に係る処理負荷を軽減して、パン、チルト、ズームなどにより撮像条件が切り替わった際の環境変動への追従が可能となる。このブロック内巡回シフトの循環処理をブロックのサイズを段階的に拡大させながら実施する処理を、この実施形態では、ステップブロッキング設定処理と称している。
以下、図1乃至図16を参照して本発明の実施形態を説明する。
本発明の実施形態に係る画像処理装置全体の構成を図1に示す。なお、この実施形態では、カメラ(単眼カメラ)から取り込んだ1フレーム(1画面)分の画像データを、単に画像若しくは画面上の画像若しくは一画面分の画像と称している。
本発明の実施形態に係る画像処理装置は、図1に示すように、カメラ11と、キャプチャ部12と、画像処理記憶部13と、画像処理部14と、表示部15とを具備して構成される。
カメラ11は、レンズユニットとレンズユニットの結像位置に設けられた撮像素子(例えばCCD固体撮像素子、若しくはCMOSイメージセンサ)とを具備して、屋外若しくは屋内の動きを伴う被写体(動物体)を対象に、撮像した一画面分の画像を所定の画素単位(例えば1フレーム320×240画素=QVGA)で出力する。
キャプチャ部12は、カメラ11が撮像したフレーム単位の画像を画像処理部14の処理対象画像(入力画像)として取り込み、画像処理記憶部13内の画像バッファに保持する処理機能をもつ。この画像バッファに取り込む画面上の入力画像は、ここでは原画像とするが、エッジ画像であってもよい。
画像処理記憶部13は、キャプチャ部12が取り込んだ入力画像および画像処理部14によって画像処理される途中/結果の各画像を含む各種画像データを記憶する。この画像処理記憶部13には、画像処理部14の制御の下で、キャプチャ部12が取り込んだフレーム単位の画像のうち、今回取り込んだ一画面分の画像(現在画像)と、前回取り込んだ複数画面分の画像(過去画像)をそれぞれ処理対象画像として保持する画像バッファ(リングバッファ)を構成する領域が確保されるとともに、画像処理部14の処理に用いられる画像領域が確保される。ここでは、1フレーム(1画像)を240×320画素(高さ方向の画素数(IMG HEIGHT)×幅方向の画素数(IMG WIDTH))とした30フレーム分の画像バッファ(リングバッファ)領域が確保される。さらに画像処理記憶部13には、画像処理部14の処理に供される各種のパラメータおよび制御データを記憶する記憶領域、確定および未確定オブジェクトの登録、並びに追跡処理に於いて生成若しくは取得される各種情報の記憶領域等も確保される。この画像処理記憶部13における、変化画素を抽出するための閾値の自動設定機能を実現するデータ要素については、図2を参照して後述する。
画像処理部14は、画像処理記憶部13の画像バッファに保持された過去画像と現在画像を差分処理して二値化した差分二値化画像を生成し、この差分二値化画像に含まれるノイズを除去して、このノイズが除去された差分二値化画像から変化画素を含む矩形の領域を抽出し、この抽出した矩形の領域を処理対象に領域を追跡する、一連の画像処理を行う。この画像処理部14は、前処理部141、差分処理部142、二値化処理部143、ノイズ除去フィルタ144、領域化処理部145、領域追跡処理部146等を具備して構成される。
上記した画像処理部14の各構成要素のうち、前処理部141は、画像処理記憶部13の画像バッファに貯えた過去画像と現在画像との比較(変化画素領域を抽出するための差分処理)に際し、キャプチャ部12が取り込んだ一画面分の入力画像に対して予め定められた前処理(平滑化処理、エッジ処理等)を実行する。
差分処理部142は、前処理部141を介した過去画像と現在画像とを画素単位で比較して差分領域を抽出するもので、差分画像を生成する。この差分画像は、画像処理記憶部13に予め確保した領域(差分画像領域)に記憶される。この変化画素の抽出に、本発明の実施形態に係る閾値の自動算出処理機能が適用される。
この閾値の自動算出処理機能を実現する処理手段として、この実施形態では、環境適応型自動閾値算出処理部20Aと、標準偏差設定型自動閾値算出処理部20Bを用意し、そのいずれか一方の自動閾値算出処理部を外部からの指示(設定)により選択的に用いる構成としている。これら環境適応型自動閾値算出処理部20A、および標準偏差設定型自動閾値算出処理部20Bの処理の概要を図3に示している。
標準偏差設定型自動閾値算出処理部20Bによる標準偏差設定型自動閾値算出処理では、図3に示すように、入力した一定期間内の複数の画像を対象に、画素当たりの輝度平均値と標準偏差σを算出し、この標準偏差σを、変化画素を抽出するための、対応する画素(注目画素)の閾値として設定する。この閾値算出処理の詳細は同一出願人により既に出願された特開2008−250892号公報に記載されている。環境適応型自動閾値算出処理部20Aによる環境適応型自動閾値算出処理では、図3に示すように、上記算出した現在の注目画素の標準偏差σと上記一定期間内の最古画像を最も軽く最新画像を最も重く重み付けした上記注目画素の移動平均(加重移動平均)をもとに(3σの加重移動平均)−(3σの標準偏差)の値を算出し、この値を、変化画素を抽出するための、対応する画素(注目画素)の閾値として設定する。この環境適応型自動閾値算出処理部20Aの処理手順については図10乃至図16のフローチャートを参照して後述する。
この各自動閾値算出処理部20A,20Bに対して、ステップブロッキング設定処理部30により、閾値算出対象となる注目画素の抽出処理が実施される。ステップブロッキング設定処理部30は自動閾値算出処理部20A,20Bに対して、図4を用いて動作概要を説明した、ブロック内巡回シフトの循環処理をブロックのサイズを段階的に拡大させながら実施する、ステップブロッキング設定処理を実施する。このステップブロッキング設定処理部30におけるステップブロッキング設定処理については、図5乃至図9を参照して後述する。
二値化処理部143は、差分処理部142で差分処理した画像を二値化処理して、差分二値化画像を生成する。この差分二値化画像は、画像処理記憶部13に予め確保した領域(差分二値化画像領域)に記憶される。この差分二値化画像の作成に、上述した閾値の自動算出処理機能が適用される。
ノイズ除去フィルタ144は、拡散フィルタと収縮フィルタとを有して構成され、上記差分二値化画像から動物体領域の抽出に不要なノイズ(ごま塩状の変化画素)を除去する。このうち拡散フィルタは、上記差分二値化画像の最外周を除く各画素に対して注目画素を順次設定し、設定した注目画素に隣接する斜め方向の画素中(4画素中)に変化画素が存在するとき、その注目画素を変化画素とする拡散フィルタリング処理を行う。また収縮フィルタは、上記拡散フィルタで処理した画像に対して、上記注目画素に隣接する周囲8画素、若しくは4画素をもとに収縮フィルタリング処理を行う。このノイズ除去フィルタ144でノイズ除去したフレーム(画面)毎の差分二値化画像は、画像処理記憶部13の画像領域に記憶される。
領域化処理部145は、上記ノイズ除去フィルタ144でノイズ除去した差分二値化画像を画面上の矩形の領域に領域化する処理を行う。この領域化処理では、差分二値化画像として抽出された変化画素領域を矩形で囲い、画面上からこの矩形の領域を抽出することによって、差分二値化画像を画面上の矩形の領域に領域化する。領域化処理部145は、この矩形の画面上の位置及び大きさを現す左上(x0,y0)および右下(x1,y1)の座標データを、矩形の領域情報として領域追跡処理部146に送出する。
領域追跡処理部146は、領域化処理部145から受けた矩形の領域情報をもとに、矩形の領域を追跡する処理を行う。領域追跡処理部146は、領域化処理部145が矩形の領域を抽出する都度、抽出した矩形の領域を追跡処理対象オブジェクトとして追跡処理する。
表示部15は、上記画像処理部14で画像処理された動物体領域を表示出力する。
画像処理記憶部13には、図2に示すような、変化画素を抽出するための閾値の自動設定機能を実現する構成要素並びにデータ要素が格納される。画像処理記憶部13には、図2に示すように、画像処理部14の制御を司る画像処理プログラム内に、変化画素を抽出するための閾値の自動設定機能を実現する構成要素として、環境適応型自動閾値算出処理部20Aおよび標準偏差設定型自動閾値算出処理部20Bを実現する自動閾値設定処理プログラムが格納される。この自動閾値設定処理プログラムには、図4を参照して動作概要を説明した、閾値の算出対象となる全画素領域を複数のブロックに分割し、分割した各ブロック内で閾値の算出対象となる注目画素を順次シフトするブロック内巡回シフト処理を前記ブロックのサイズを段階的に拡大させながら実施するステップブロッキング設定処理(SB設定処理)プログラムが付随して設けられている。このステップブロッキング設定処理プログラムによる処理手順については、図5乃至図9を参照して後述する。また、自動閾値設定処理プログラムの処理手順については、図10乃至図16を参照して後述する。さらに画像処理記憶部13には、自動閾値設定処理を実現するための情報として、2組の画像バッファ131,132、閾値バッファ133、閾値統計量バッファ134、外部パラメータ設定ファイル135等が格納される。
2組の画像バッファ131,132は、それぞれ、リングバッファにより構成され、カメラ11で撮影した、現在画像を含む、例えば最大30フレーム分の時系列画像を貯える領域を有している。このうち、画像バッファ131には、カメラ11で撮影した30フレーム分の原画像(空間微分画像)が時系列に順次貯えられる。また画像バッファ132には、同じく30フレーム分のエッジ画像(輪郭画像)が時系列に順次貯えられる。
さらに画像バッファ131,132は、上記した画像の他に、画像サイズ、バッファの現在の要素番号、バッファ識別情報等の記憶領域を有している。画像バッファ131は、アクセス時において入力画像バッファポインタ(図示せず)により先頭アドレスが指定される。画像バッファ132は、アクセス時においてエッジ画像バッファポインタ(図示せず)により先頭アドレスが指定される。
閾値バッファ133は、リングバッファにより構成され、上記画像バッファ131(または画像バッファ132)が記憶可能なフレーム数以内の所定数を最大値として、設定された複数枚分の時系列のフレームを閾値演算の処理対象として貯える領域と、取り込んだ画像全体の画素当たりの標準偏差(σ)を閾値として貯える領域とを有して構成される。さらに、取り込んだ画像の輝度値、輝度値の二乗、輝度値二乗の総和、固定閾値、閾値上下限値、バッファの現在の要素番号、画像バッファ識別情報等の記憶領域を有して構成される。閾値バッファ133は、上記画像バッファ131(または画像バッファ132)に貯えられた画像から、設定したフレーム数の画像を取り込み、取り込んだ画像すべての画素(ピクセル)当たりの閾値の算出並びに設定後に、1画像単位で先入先出法による画像の更新(最古の画像を棄て最新の画像を取り込む画像の差し替え処理)、並びに、この画像の更新に伴う、加重移動平均を算出するための重み付けの更新処理等が実施される。
この閾値バッファ133上に展開されたn画像に対する画素当たりの閾値の算出処理概念を図3に示している。ここでは、30フレーム分の画像を貯えるバッファ構成(n=30)を例に示している。
閾値統計量バッファ134は環境適応型自動閾値算出処理に用いられる加重移動平均算出用のバッファであり、図3に示した加重移動平均の演算処理に適用されるもので、画像バッファ(リングバッファ)に貯えられた画像の画素当たりの閾値情報を記憶している。
外部パラメータ設定ファイル135には、差分処理の画像タイプ(例えば、1;原画像(ORIGINAL)、2;エッジ画像(EDGE))、自動閾値を計算するための参照フレーム数(n;図3に示す例は、n=30)、原画像用の最低閾値上下限値、エッジ画像用の最低閾値上下限値等、各種の設定情報が記憶される。なお、この実施形態では、1画面分の画像(1画像)について、動物体の追跡処理を行わない領域を任意の矩形領域で指定可能であり、この指定されたマスク領域についても外部パラメータとしてパラメータ設定ファイル135に記憶される。
上記画像処理記憶部13に格納された、環境適応型自動閾値算出処理部20Aを実現する自動閾値設定処理プログラムの処理手順を図10乃至図16に示している。なお、標準偏差設定型自動閾値算出処理部20Bの処理については、その処理手順の詳細を割愛している。
ここで、上記図4を参照して動作概要を説明したステップブロッキング設定処理(ブロック内巡回シフトの循環処理)について説明する。
上記した各自動閾値算出処理部20A,20Bは、それぞれステップブロッキング設定処理部30によりフレーム当たりの閾値算出量が制御される。
ステップブロッキング設定処理部30は、フレーム内の閾値の算出対象となる全画素領域を複数のブロックに分割し、分割した各ブロック内で閾値の算出対象となる注目画素を順次シフトするブロック内巡回シフト処理機能と、このブロック内巡回シフト処理をブロックのサイズを段階的に拡大させながら実施するステップブロッキング処理機能を実現する。
ステップブロッキング設定処理部30は、ブロックサイズを一定とした、ブロックサイズの段階的ステップ更新を行わないブロック自動算出処理(固定ブロック内シフト処理)モードで実施するか、ブロックサイズを動的に可変する、ブロックサイズの段階的ステップ更新を行うステップブロッキング設定処理モードで実施するかを選択するブロッキングモードの選択機能を有する。
ステップブロッキング設定処理部30は、ステップブロッキング設定処理において、最小画素ブロックから最大画素ブロックに至る複数種の画素ブロックと、上記各画素ブロック内における各画素の循環回数を指定するステップ数とを外部パラメータ(閾値算出処理パラメータ)として、最小画素ブロックから最大画素ブロックに至る各ブロックのブロック内巡回シフトにより自動閾値の算出対象となる注目画素を抽出し、最大画素ブロックのブロック内巡回シフトによる閾値の算出対象画素抽出状態に至るまで、画像の更新に伴い1フレーム当たりの自動閾値の算出対象となる画素数を、各段階(ステージ)毎に漸減してゆく。
このステップブロッキング設定処理の処理手順を図5に示し、図5の処理で実施される注目画素のブロック内巡回シフトの具体例を図6乃至図9に示している。
図5に示す処理の実施に際して、自動閾値の算出対象となる注目画素抽出処理を実施するための外部パラメータが設定される。ここではブロックサイズを動的に可変する(ブロックサイズの段階的ステップ更新を行う)ステップブロッキング設定処理を実施する場合、ステップブロッキング設定処理部30に、外部パラメータとして、最小画素ブロックから最大画素ブロックまで構成画素数が漸増する複数段の画素ブロックのうちの最終段となる最大画素ブロックと、画素ブロック内における各画素の循環回数を指定するステップ数が設定される。また、ブロックサイズを一定(固定)とした(ブロックサイズの段階的ステップ更新を行わない)ブロック自動算出処理(固定ブロック内シフト処理)を実施する場合、ステップブロッキング設定処理部30に、任意のブロックサイズによる一種の画素ブロックと、上記ステップ数を0(Null値)とした外部パラメータが設定される。
画素ブロックとしては、例えば、前述のステージ0で実施したフレーム内の自動閾値算出対象にある全画素を注目画素(自動閾値算出対象画素)とする、最小画素ブロック(1×1画素ブロック)構成の自動閾値ブロッキングタイプ0(m_ThresholdBlockingType=0)、2×2画素ブロック(4画素ブロック)構成の自動閾値ブロッキングタイプ1(m_ThresholdBlockingType=1)、4×2画素ブロック(8画素ブロック)構成の自動閾値ブロッキングタイプ2(m_ThresholdBlockingType=2)、4×3画素ブロック(12画素ブロック)構成の自動閾値ブロッキングタイプ3(m_ThresholdBlockingType=3)、4×4画素ブロック(16画素ブロック)構成の自動閾値ブロッキングタイプ4(m_ThresholdBlockingType=4)、8×4画素ブロック(32画素ブロック)構成の自動閾値ブロッキングタイプ5(m_ThresholdBlockingType=5)、最大画素ブロックとなる8×8画素ブロック(64画素ブロック)構成の自動閾値ブロッキングタイプ6(m_ThresholdBlockingType=6)がそれぞれ定義される。以下、自動閾値ブロッキングタイプを単にブロッキングタイプと呼称する。
ブロッキングタイプ1(m_ThresholdBlockingType=1)の2×2画素ブロック内巡回シフト例(ハッチ部分がサンプリング抽出画素)を図6に示し、ブロッキングタイプ2(m_ThresholdBlockingType=2)の4×2画素ブロック内巡回シフト例(ハッチ部分がサンプリング抽出画素)を図7に示し、ブロッキングタイプ3(m_ThresholdBlockingType=3)の4×3画素ブロック内巡回シフト例(ハッチ部分がサンプリング抽出画素)を図8に示し、ブロッキングタイプ4(m_ThresholdBlockingType=4)の4×4画素ブロック内巡回シフト例(ハッチ部分がサンプリング抽出画素)を図9に示している。なお、ブロッキングタイプ5(m_ThresholdBlockingType=5)およびブロッキングタイプ6(m_ThresholdBlockingType=6)のブロック内巡回シフトについては図6乃至図9から容易に類推できるので図の表記を割愛している。
これらのブロッキングタイプにおけるブロック内の注目画素のシフト処理に係るパラメータとして、ブロッキングタイプ(m_ThresholdBlockingType)別に、Δi(x方向のシフト量;m_ThresholdBlockingShift_x)とΔj(y方向のシフト量;m_ThresholdBlockingShift_y)が外部パラメータ読込み時点で与えられる(画像ループのシフト量として利用する)。さらに、ThresholdBlockingCurNum=m_ThresholdBlockingType×4(ここで示す4は、ブロッキング単位の最小値、THRESHOLD_BLOCKING_UNITとしてDefine.hで定義する)を超えない循環整数を準備し、循環整数に基づき注目画素のシフトを更に与える。
Δx=ThresholdBlockingCurNum % Δi … Δiの剰余
Δy=(int)(ThresholdBlockingCurNum / Δi) …Δiの商
注目画素=p_InputImgData[curNum].image[i]+Δx+(J+Δy)*IMG_HEIGHT
上記注目画素シフト量の算出には、閾値ブロック参照番号(m_ThresholdBlockingCurNum 初期値=0)、注目画素シフト量(offset_x ,offset_y)などのデータが用いられる。
ここで、図5に示すフローチャートを参照してステップブロッキング設定処理部30の処理動作を説明する。
ステップブロッキング設定処理部30は、外部パラメータとして設定されたステップ数が、1以上の自然数であるか、0(またはNull値)であるかを判断し(図5ステップA1)、設定されたステップ数が1以上の値であれば、ステップブロッキング設定処理による自動閾値算出対象画素抽出処理を実施し(図5ステップA2a〜A9,A4〜)、ステップ数が0(またはNull値)であれば、ブロックサイズを一定(固定)としたブロック自動算出処理を実施する(図5ステップA2b〜A8,A4〜)。
例えば、設定されたステップ数の値が2である場合(図5ステップA1 Yes)、処理に用いる現在ブロッキングサイズとして、ブロッキングタイプ0(m_ThresholdBlockingType=0)を設定し(図5ステップA2a)、現在ステップ数を0(=初期値)にして(図5ステップA3)、ブロッキングタイプ0(m_ThresholdBlockingType=0)による全画素を自動閾値の算出対象(注目画素)とした1ステップ分(1巡目)の自動閾値算出処理を実施する(図5ステップA4)。
1ステップ分(1巡目)の自動閾値算出処理が終了すると、現在ステップ数を0から1に更新(現在ステップ数をインクリメント)し(図5ステップA5)、更新した現在ステップ数が設定ステップ数に達しているか否かを判断する(図5ステップA6)。
ここでは、現在ステップ数が設定ステップ数に達していないので(図5ステップA6 No)、現在ステップ数を1から2に更新し(図5ステップA7b)、再び、ブロッキングタイプ0(m_ThresholdBlockingType=0)による全画素を自動閾値算出対象となる注目画素とした1ステップ分(2巡目)の自動閾値算出処理を実施する(図5ステップA4)。
1ステップ分(2巡目)の自動閾値算出処理が終了すると、現在ステップ数を1から2に更新し(図5ステップA5)、更新した現在ステップ数が設定ステップ数に達しているか否かを判定する(図5ステップA6)。
ここでは、現在ステップ数が設定ステップ数に達したので(図5ステップA6 Yes)、現在ステップ数を0に初期化し(図5ステップA7a)、現在ブロッキングサイズが設定ブロッキングサイズより小さいサイズであるか否かを判断する(図5ステップA8)。
例えば、設定された最大ブロッキングサイズがブロッキングタイプ6(m_ThresholdBlockingType=6)(=8×8画素ブロック)であるとすると、ここでは、現在ブロッキングサイズが設定ブロッキングサイズより小さいサイズなので(図5ステップA8 Yes)、現在ブロッキングサイズをブロッキングタイプ0(m_ThresholdBlockingType=0)(1×1画素ブロック=全画素)からブロッキングタイプ1(m_ThresholdBlockingType=1)(=2×2画素ブロック)に拡大し(図5ステップA9)、更新したブロッキングタイプ1(m_ThresholdBlockingType=1)による自動閾値算出処理を実施する(図5ステップA4)。
上記した処理を更新したブロッキングサイズ毎に2巡ずつ繰り返し実施し、現在ブロッキングサイズがブロッキングタイプ6(m_ThresholdBlockingType=6)(=8×8画素ブロック)となって、現在ブロッキングサイズが設定ブロッキングサイズまで拡大すると(図5ステップA8 No)、以降、ブロッキングタイプ6(m_ThresholdBlockingType=6)(=8×8画素ブロック)による自動閾値算出処理を繰り返し実施する(図5ステップA4〜A8,A4〜A8,…)。このようにして、ステップブロッキング設定処理が実施される。
また、設定されたステップ数の値が0である場合(図5ステップA1 No)、外部パラメータとして与えられた、例えばブロッキングタイプ6(m_ThresholdBlockingType=6)(=8×8画素ブロック)を処理に用いる現在ブロッキングサイズとして設定し(図5ステップA2b)、現在ステップ数を0に初期化して(図5ステップA3)、ブロッキングタイプ6(m_ThresholdBlockingType=6)による自動閾値算出処理を実施する(図5ステップA4)。
この自動閾値算出処理が終了すると、現在ステップ数を0から1に更新し(図5ステップA5)、更新した現在ステップ数が設定ステップ数に達しているか否かを判断する(図5ステップA6)。
ここでは、現在ステップ数が設定ステップ数に達しているので(図5ステップA6 Yes)、現在ステップ数を0に初期化し(図5ステップA7a)、現在ブロッキングサイズが設定ブロッキングサイズより小さいサイズであるか否かを判断する(図5ステップA8)。ここではサイズが等しいことから(図5ステップA8 No)、再びブロッキングタイプ6(m_ThresholdBlockingType=6)(=8×8画素ブロック)による自動閾値算出処理を繰り返し実施する(図5ステップA4〜A8,A4〜A8,…)。このようにして、ブロック自動算出処理が実施される。
ここで、上記したステップブロッキング設定処理を実施する環境適応型自動閾値算出処理部20Aの処理手順を図10乃至図16に示すフローチャートを参照して説明する。なお、このフローチャートでは乗算記号を*で表している。
この実施形態は、カメラで撮影した画像を順次入力し、入力した現在画像と過去画像から変化画素を含む領域を抽出する領域抽出処理手段を備えた画像処理装置において、領域抽出処理手段で適用する閾値の設定処理について、標準偏差設定型自動閾値算出処理と、環境適応型自動閾値算出処理とを選択対象に、そのいずれかの閾値算出処理手段を選択可能にしている(図10ステップS1)。
ここで標準偏差設定型自動閾値算出処理が選択(設定)されているときは、標準偏差設定型自動閾値算出処理部20Bにより、注目画素に対して変化画素領域を抽出するための閾値が算出され設定される。この標準偏差設定型自動閾値算出処理部20Bによる標準偏差設定型自動閾値算出処理では、図3に示すように、入力した一定期間内の複数の画像を対象に、画素当たりの輝度平均値と標準偏差σを算出し、この標準偏差σを、変化画素を抽出するための、対応する画素(注目画素)の閾値として設定する(図10ステップS2)。
また、環境適応型自動閾値算出処理が選択(設定)されているときは、環境適応型自動閾値算出処理部20Aにより、注目画素に対して変化画素領域を抽出するための閾値が算出され設定される。この環境適応型自動閾値算出処理部20Aによる環境適応型自動閾値算出処理では、図3に示すように、上記算出した現在の注目画素の標準偏差σと上記一定期間内の最古画像を最も軽く最新画像を最も重く重み付けした上記注目画素の移動平均(加重移動平均)をもとに(3σの加重移動平均)−(3σの標準偏差)の値を算出し、この値を、変化画素を抽出するための、対応する画素(注目画素)の閾値として設定する。
この環境適応型自動閾値算出処理部20Aによる自動閾値算出処理手順を図10ステップS11乃至図16ステップS77に示している。この処理動作は、画像バッファにn枚フレーム分の画像が貯えられていることを前提とする。また、環境適応型自動閾値算出処理部20Aによる自動閾値算出処理に際しては、外部パラメータの設定時において、ブロッキングタイプにおけるブロック内の注目画素のシフト処理に係るパラメータとして、ブロッキングタイプ(m_ThresholdBlockingType)別に、画像ループのシフト量として利用する、ブロック内シフトのための、Δi(x方向のシフト量;m_ThresholdBlockingShift_x)とΔj(y方向のシフト量;m_ThresholdBlockingShift_y)が設定される。
この環境適応型自動閾値算出処理では、先ず、画像要素番号や閾値バッファ要素番号等のメンバ変数を初期化し(図10ステップS11)、画像バッファ131(または132)内の処理対象となる現在の画像要素番号を取得し(図10ステップS12)、閾値バッファ133内の処理対象となる現在の閾値バッファ要素番号を取得した(図10ステップS13)後、差分処理の対象となる画像が、原画像(ORIGINAL)であるかエッジ画像(EDGE)であるかを判断する(図10ステップS14)。
ここで、処理対象画像が「原画像」であると判定したき(図10ステップS14 原画像)、原画像バッファポインタに従い画像バッファ131をアクセスし、外部パラメータで与えられる原画像用の最低閾値上下限値を閾値バッファ133に設定する(図10ステップS15,S16)。また処理対象画像が「エッジ画像」であると判定したき(図10ステップS14 エッジ画像)、エッジ画像バッファポインタに従い画像バッファ132をアクセスし、外部パラメータで与えられるエッジ画像用の最低閾値上下限値を閾値バッファ133に設定する(図10ステップS17、S18)。
さらに、処理対象となる入力画像のうち、処理の対象から外されたマスク領域を除くの各画素(ピクセル)について、処理に用いる現在ブロッキングタイプ(m_ThresholdBlockingType)の注目画素シフト量(offset_x ,offset_y)を算出する(図10ステップS19)。
次に、処理対象となる入力画像のうち、処理の対象から外されたマスク領域を除くの各画素(ピクセル)について、ステップブロッキング設定処理部30で抽出された注目画素を対象に、変化画素を抽出するための閾値の算出処理、次画面の閾値を取得するための各種算出処理を実施する(図11S20〜図13ステップS50,S51)。
ここでは入力された1画面分の画像について各画素を一定の方向に順次走査し(高さ方向のjループ(0〜IMG HEIGHT)と幅方向のkループ(0〜IMG WIDTH)とによる画像サイズ分(240×320画素)のループ処理により各画素を走査し)、処理の対象から外されたマスク領域を除く各画素(ピクセル)について、変化画素を抽出するための閾値の算出処理、次画面の閾値算出のための画像の更新(最古の画像を棄て最新の画像を取り込む画像の差し替え)に伴う加重閾値総和の更新、並びにこの更新に伴う各種値(標準偏差、二乗標準偏差、輝度値、輝度値二乗等)の算出処理等を実施する。
この処理では、現在ブロッキングタイプ(m_ThresholdBlockingType)の注目画素シフト量(offset_x ,offset_y)を用いて現在注目画素番号を算出し、その注目画素がマスク画素であるか否か(予め設定されたマスク領域の画素であるか否か)をチェックする(図11ステップS21,S22)。
ここで、注目画素がマスク画素であるときは、以降の図11ステップS23乃至図13ステップS49の処理をスキップする。また、注目画素がマスク画素でない(自動閾値の算出対象となる注目画素である)場合は、画像バッファの画像要素番号をインクリメント(+1)して(図11ステップS23)、入力画像の輝度値と、輝度値の二乗を算出した結果をそれぞれ所定のバッファ(閾値バッファ133内の輝度値バッファ、輝度値二乗バッファ)に格納する(図11ステップS24)。
次に、注目画素の輝度値二乗の総和を求め、その総和から輝度値二乗の平均値を算出する(図11ステップS25)。同じく、注目画素の輝度値の総和を求め、その総和から輝度値の平均値を算出する(図11ステップS26)。そして、この2つの平均値をもとに、注目画素の標準偏差を求める(図11ステップS27)。
上記注目画素の閾値バッファ番号(画像バッファの画像要素番号)を取得し(図12ステップS28)、既に求めた閾値の加重総和、閾値の総和、閾値2乗の総和を用いて、設定する閾値を算出する(図12ステップS29〜S32)。ここでは、既に算出している閾値2乗総和を利用して、閾値2乗平均値(thresholdSqMean)を算出し(図12ステップS29)、既に算出している閾値総和を利用して、閾値平均値(thresholdMean)を算出し、既に算出している加重閾値総和を利用して、加重閾値平均値(weightThresholdMean)を算出し、この閾値2乗平均値(thresholdSqMean)と閾値平均値(thresholdMean)と加重閾値平均値(weightThresholdMean)とを用いて設定する閾値(tempThreshold)を算出する。
次に算出した設定閾値の最小、最大チェックを行い、適正な値にする(図12ステップS33〜S37)。ここでは算出した閾値が輝度最小値(輝度値0)より小さいとき(Tempthreshold<BRIGHTNESS_MIN)、算出した閾値を輝度最小値に置換し(m_ThreBufSet.threshold[i]=BRIGHTNESS_MIN)、算出した閾値が輝度最大値(輝度値255)より大きいとき(Tempthreshold>BRIGHTNESS_MAX)、算出した閾値を輝度最大値に置換して(m_ThreBufSet.threshold[i]=BRIGHTNESS_MAX)、算出した閾値を輝度値0〜255の範囲内に収めて設定し、それ以外のときは、算出した閾値をそのまま設定する(m_ThreBufSet.threshold[i]=tempThreshold)。
次に、輝度の標準偏差(σ)から3σを求め、次の画像の閾値を算出するための処理を行う。
この処理では、上記標準偏差(σ)を3倍した値(3σ)を現在閾値(calcThreshold)として求め、求めた現在閾値が最大輝度以上の場合は、最大輝度に変更して(図13ステップS41)、求めた現在閾値の2乗を求める(図13ステップS42)。
次に、画像の更新(最古の画像を棄て最新の画像を取り込む画像の差し替え)に伴う処理として、過去加重閾値データの合計から過去閾値合計を減算し、現在閾値に重みを乗じた値を加算して、総和を求め(図13ステップS43)、注目画素の閾値合計を求め、注目画素の閾値の2乗合計を求める(図13ステップS44)。算出した現在閾値をバッファに格納し、算出した現在閾値2乗をバッファに格納して(図13ステップS45)、算出閾値格納先バッファを更新する(図13ステップS46)。
次に、自動閾値を算出した画像サイズ分の標準偏差の総和と二乗標準偏差の総和を求め(図13ステップS47)、既にある総和に対して、バッファに存在する最も古い(現在の要素番号にある)輝度値、輝度値二乗を減算し、図11ステップS2う算出した輝度値、輝度値二乗の値を加算(総和の計算)して(図13ステップS48)、この輝度値、輝度値二乗をバッファへ格納する(図13ステップS49)。
上記した処理が1画面分の画像について実施される(図13ステップS50,S51)。
上記処理の後、自動閾値算出画素が0に達したか否かを調べ、自動閾値算出画素が0より大きい場合は、以下の図14ステップS53乃至図15ステップS71の処理を実行し、自動閾値算出画素が0に達した場合は、図14ステップS53乃至図15ステップS71の処理を実行しない(図14ステップS52)。
自動閾値算出画素が0より大きい場合、自動閾値算出画素分の標準偏差を算出していることから、標準偏差の平均値と二乗標準偏差の平均値を求め、自動閾値算出画素分の標準偏差の標準偏差を求め(図14ステップS53)、ここで求めたデータを用いて、平均値+3σを求め、仮の最低閾値Aとして格納する。(tempLowerLimitByStdev)(図14ステップS54)。さらに、ここで求めた最低閾値が輝度階調内に入っているかをチェックし、入っていない場合は、輝度階調内の値に置換する。すなわち、最低閾値が輝度最小値より小さいときは輝度最小値に置換し、最低閾値が輝度最大値より大きいときは輝度最大値に置換する(図14ステップS55)。標準偏差の平均値に感度を乗じた値を仮の最低閾値Bとして格納する。(tempLowerLimitByMean)(図14ステップS56)。ここで求めた最低閾値が輝度階調内に入っているかをチェックし、入っていない場合は、上記した図14ステップS55と同様に輝度階調内の値(輝度最小値、輝度最大値)に置換する(図14ステップS57)。
上記の最低閾値A、Bを比較し、大きい方を最低閾値(LowerLimit)として採用する(図14ステップS58,S59,S60)。セットした最低閾値が、下限閾値より小さい場合は、下限閾値をセットし、上限閾値より大きい場合は上限閾値をセットする(図15ステップS61〜S64)。
次に画像サイズ分ループし(図15ステップS65〜S71)、当該画素の閾値が最低閾値を下回った閾値設定となっている場合は、最低閾値で置換する(図15ステップS67〜S69)。
その後、閾値ブロック内現在参照番号に1加算し(図16ステップS72)、閾値ブロック内参照番号最大値に達したか否かをチェックして(図16ステップS73)、達している場合は0で初期化し(図16ステップS74)、現在要素番号に1加算し(図16ステップS75)、その要素番号が最大値を超えたか否かをチェックして(図16ステップS76)、超えた場合は0で初期化する(図16ステップS77)。
上記した一連の処理により、単眼カメラで撮影した画像から変化画素を含む矩形の領域を抽出する領域抽出処理機能を有する画像処理装置において、波の揺らぎや波への西日の反射、木の揺れに順応し、揺らぎがない安定した画素での安定的対象物の検知が可能な閾値の自動設定機能を実現できる。これにより、カメラの設置条件、使用条件、撮影条件等の諸条件に対して安定した精度の高い変化画素領域の抽出を可能にした画像処理装置が提供できる。
上述した図5および図10乃至図16に示す処理手順を有する自動閾値設定処理プログラムは、画像処理装置に常駐する形で固定的に組み込まれる構成であってもよいし、プログラム単体で必要に応じて取り扱われる構成であってもよい。
また、上記した実施形態では、ステップブロッキング設定処理(ブロック内巡回シフトの循環処理)に用いる自動閾値ブロッキングタイプ(m_ThresholdBlockingType)を7例、示したが、これに限らず、また、ブロック内巡回シフトの方向、抽出順位なども任意に変更可能である。
11…カメラ、12…キャプチャ部、13…画像処理記憶部、14…画像処理部、15…表示部、20A…環境適応型自動閾値算出処理部、20B…標準偏差設定型自動閾値算出処理部、30…ステップブロッキング設定処理部、131,132…画像バッファ、133…閾値バッファ、134…閾値統計量バッファ、135…外部パラメータ設定ファイル、141…前処理部、142…差分処理部、143…二値化処理部、144…ノイズ除去フィルタ、145…領域化処理部、146…領域追跡処理部。

Claims (10)

  1. カメラで撮影した画像を順次入力し、入力した現在画像と過去画像から変化画素を含む領域を抽出する領域抽出処理手段を備えた画像処理装置であって、
    前記領域抽出処理手段は、
    前記入力した一定期間内の複数の画像を対象に、画素当たりの輝度平均値と標準偏差を算出し、算出した標準偏差を用いて、前記標準偏差を算出した画素の前記変化画素を抽出するための閾値を設定する閾値設定手段と、
    前記閾値の算出対象となる全画素領域を複数のブロックに分割し、分割した各ブロック内で閾値の算出対象となる注目画素を順次シフトするブロック内巡回シフト処理を前記ブロックのサイズを段階的に拡大させながら実施するステップブロッキング設定処理手段と、
    を具備したことを特徴とする画像処理装置。
  2. ステップブロッキング設定処理手段は、
    複数画素を単位に画素数を異にした最小画素ブロックから最大画素ブロックに至る複数種の画素ブロックと、前記各画素ブロック内における前記ブロック内巡回シフト処理の循環回数を指定するステップ数とを閾値算出処理パラメータとして、前記最小画素ブロックから前記最大画素ブロックに至る各ブロックのブロック内巡回シフトの循環処理により前記閾値の算出対象となる注目画素を抽出し、前記最大画素ブロックのブロック内巡回シフトによる前記閾値の算出対象となる注目画素抽出状態に至るまで、前記画像の更新に伴う1フレーム当たりの前記閾値の算出対象となる画素数を漸減してゆくことを特徴とする請求項1に記載の画像処理装置。
  3. 前記領域抽出処理手段は、
    前記入力した一定期間内の複数の画像を対象に、画素当たりの輝度平均値と標準偏差を算出する標準偏差算出手段と、
    前記標準偏差を算出した画素について、前記算出した標準偏差と前記複数の過去画像の対応する各画素の閾値の加重移動平均とをもとに閾値を算出する閾値算出手段とを有して、
    前記閾値算出手段で算出した閾値を前記標準偏差を算出した画素の前記変化画素を抽出するための閾値として設定することを特徴とする請求項1に記載の画像処理装置。
  4. 前記領域抽出処理手段は、
    前記入力した一定期間内の複数の画像を対象に、画素当たりの輝度平均値と標準偏差を算出する標準偏差算出手段と、
    前記標準偏差を算出した画素について、前記算出した標準偏差と前記複数の過去画像の対応する各画素の閾値の加重移動平均とをもとに閾値を算出する閾値算出手段と、
    前記標準偏差算出手段で算出した標準偏差を前記変化画素を抽出するための閾値として設定するか、または前記閾値算出手段で算出した閾値を前記変化画素を抽出するための閾値として設定するかを設定する外部設定手段と、
    前記外部設定手段の設定に従い、前記標準偏差算出手段で算出した標準偏差、または前記閾値算出手段で算出した閾値を、前記標準偏差を算出した画素の前記変化画素を抽出するための閾値として設定する閾値設定手段と、
    を具備したことを特徴とする請求項1に記載の画像処理装置。
  5. 前記ステップブロッキング設定処理手段は、前記最小画素ブロックを1×1画素として、前記閾値の算出対象となる全画素領域の各画素を対象に前記閾値の算出対象となる注目画素を抽出し、前記最大画素ブロックのブロック内巡回シフトによる前記閾値の算出対象画素抽出状態に至った時点で、前記領域抽出処理以外の処理負荷を伴う、特定の動きを検知する画像処理動作を可能にしたことを特徴とする請求項2に記載の画像処理装置。
  6. 前記ステップブロッキング設定処理手段は、設定されたブロックサイズでブロック内巡回シフト処理を繰り返す、ブロックサイズの段階的ステップ更新を行わない処理モードと、ブロックサイズを動的に可変してブロック内巡回シフト処理を実施する、ブロックサイズの段階的ステップ更新を行う処理モードとを選択するブロッキングモードの選択機能を有する請求項1または2または5に記載の画像処理装置。
  7. 前記カメラは、パン、チルト、ズームの各機能のうち少なくともいずれかの機能を有し、前記いずれかの機能により撮像条件が切り替わったとき、前記ステップブロッキング設定処理手段による処理が実施されることを特徴とする請求項1に記載の画像処理装置。
  8. 前記閾値算出手段は、前記標準偏差(σ)を3倍した仮閾値(3σ)の加重移動平均から仮閾値(3σ)の加重移動標準偏差を減じて前記変化画素を抽出するための閾値を算出することを特徴とする請求項4に記載の画像処理装置。
  9. カメラで撮影した画像を順次入力し、入力した現在画像と過去画像から変化画素を含む矩形の領域を抽出する領域抽出処理機能を備えた画像処理装置としてコンピュータを機能させるための、前記変化画素の抽出に用いる閾値を画素毎に設定する閾値設定処理プログラムであって、
    前記入力した一定期間内の複数の画像を対象に、画素当たりの輝度平均値と標準偏差を算出し、当該標準偏差を算出した画素について、前記算出した標準偏差を用いて閾値を算出し、当該算出した閾値を前記標準偏差を算出した画素の前記変化画素を抽出するための閾値として設定する閾値設定機能と、
    前記閾値の算出対象となる全画素領域を複数のブロックに分割し、分割した各ブロック内で閾値の算出対象となる注目画素を順次シフトするブロック内巡回シフト処理を前記ブロックのサイズを段階的に拡大させながら実施するステップブロッキング設定処理機能と、
    を前記コンピュータに実現させるための閾値設定処理プログラム。
  10. 前記ステップブロッキング設定処理機能は、
    複数画素を単位に画素数を異にした最小画素ブロックから最大画素ブロックに至る複数種の画素ブロックと、前記各画素ブロック内における各画素の循環回数を指定するステップ数とを閾値算出処理パラメータとして、前記最小画素ブロックから前記最大画素ブロックに至る各ブロックのブロック内巡回シフトにより前記閾値の算出対象となる注目画素を抽出し、1フレーム当たりの前記閾値の算出対象となる画素数を漸減してゆく処理機能を有する請求項9に記載の閾値設定処理プログラム。
JP2013026439A 2013-02-14 2013-02-14 画像処理装置および閾値設定処理プログラム Active JP5616989B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013026439A JP5616989B2 (ja) 2013-02-14 2013-02-14 画像処理装置および閾値設定処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013026439A JP5616989B2 (ja) 2013-02-14 2013-02-14 画像処理装置および閾値設定処理プログラム

Publications (2)

Publication Number Publication Date
JP2014157388A JP2014157388A (ja) 2014-08-28
JP5616989B2 true JP5616989B2 (ja) 2014-10-29

Family

ID=51578246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013026439A Active JP5616989B2 (ja) 2013-02-14 2013-02-14 画像処理装置および閾値設定処理プログラム

Country Status (1)

Country Link
JP (1) JP5616989B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6286474B2 (ja) * 2016-04-19 2018-02-28 東芝テリー株式会社 画像処理装置および領域追跡プログラム
JP7171549B2 (ja) * 2017-05-01 2022-11-15 興和株式会社 画像解析評価方法、コンピュータプログラム、画像解析評価装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3576339B2 (ja) * 1996-12-03 2004-10-13 三菱重工業株式会社 移動体検知装置
JP4719800B2 (ja) * 2009-02-27 2011-07-06 東芝テリー株式会社 画像処理装置および閾値設定処理プログラム
JP5887067B2 (ja) * 2011-05-20 2016-03-16 東芝テリー株式会社 全方位監視画像処理システム

Also Published As

Publication number Publication date
JP2014157388A (ja) 2014-08-28

Similar Documents

Publication Publication Date Title
CN108898567B (zh) 图像降噪方法、装置及系统
US9330446B2 (en) Method and apparatus for processing image
JP5909540B2 (ja) 画像処理表示装置
US8861806B2 (en) Real-time face tracking with reference images
US8289405B2 (en) Image processing apparatus and method thereof
US8036481B2 (en) Image processing apparatus and image restoration method and program
JP5499050B2 (ja) 画像処理装置、撮像装置、及び画像処理方法
CN102629976A (zh) 图像处理设备和图像处理设备的控制方法
JP2011166588A (ja) 撮像装置および撮像方法、ならびに前記撮像装置のための画像処理方法
EP2560149A2 (en) Image processing device, image processing method and program
CN110660090A (zh) 主体检测方法和装置、电子设备、计算机可读存储介质
JP2010114752A (ja) 撮像装置及び撮像方法及びプログラム
CN110796041A (zh) 主体识别方法和装置、电子设备、计算机可读存储介质
US9338354B2 (en) Motion blur estimation and restoration using light trails
JP2006279807A (ja) 手ぶれ補正装置
JP2010220207A (ja) 画像処理装置及び画像処理プログラム
CN110365897B (zh) 图像修正方法和装置、电子设备、计算机可读存储介质
KR20150087056A (ko) 영상 안정화 장치 및 방법
JP5616989B2 (ja) 画像処理装置および閾値設定処理プログラム
JP4719800B2 (ja) 画像処理装置および閾値設定処理プログラム
JP4571656B2 (ja) 画像処理装置および画像処理プログラム
CN112365398B (zh) 超分辨率网络训练方法、数字变焦方法、装置及电子设备
JP7442989B2 (ja) 撮像装置、該撮像装置の制御方法、及びプログラム
JP6120632B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2006031171A (ja) 擬似的3次元データ生成方法、装置、プログラム、および記録媒体

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140819

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140912

R150 Certificate of patent or registration of utility model

Ref document number: 5616989

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250