IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7438684画像処理装置、画像処理方法、及びプログラム
<>
  • 特許-画像処理装置、画像処理方法、及びプログラム 図1
  • 特許-画像処理装置、画像処理方法、及びプログラム 図2
  • 特許-画像処理装置、画像処理方法、及びプログラム 図3
  • 特許-画像処理装置、画像処理方法、及びプログラム 図4
  • 特許-画像処理装置、画像処理方法、及びプログラム 図5
  • 特許-画像処理装置、画像処理方法、及びプログラム 図6
  • 特許-画像処理装置、画像処理方法、及びプログラム 図7
  • 特許-画像処理装置、画像処理方法、及びプログラム 図8
  • 特許-画像処理装置、画像処理方法、及びプログラム 図9
  • 特許-画像処理装置、画像処理方法、及びプログラム 図10
  • 特許-画像処理装置、画像処理方法、及びプログラム 図11
  • 特許-画像処理装置、画像処理方法、及びプログラム 図12
  • 特許-画像処理装置、画像処理方法、及びプログラム 図13
  • 特許-画像処理装置、画像処理方法、及びプログラム 図14
  • 特許-画像処理装置、画像処理方法、及びプログラム 図15
  • 特許-画像処理装置、画像処理方法、及びプログラム 図16
  • 特許-画像処理装置、画像処理方法、及びプログラム 図17
  • 特許-画像処理装置、画像処理方法、及びプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-16
(45)【発行日】2024-02-27
(54)【発明の名称】画像処理装置、画像処理方法、及びプログラム
(51)【国際特許分類】
   G06T 7/246 20170101AFI20240219BHJP
   G06T 7/70 20170101ALI20240219BHJP
   H04N 7/18 20060101ALI20240219BHJP
【FI】
G06T7/246
G06T7/70 A
H04N7/18 G
【請求項の数】 20
(21)【出願番号】P 2019140086
(22)【出願日】2019-07-30
(65)【公開番号】P2021022315
(43)【公開日】2021-02-18
【審査請求日】2022-07-26
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】馬養 浩一
【審査官】大塚 俊範
(56)【参考文献】
【文献】特開2015-194901(JP,A)
【文献】特開2018-163096(JP,A)
【文献】特開2002-163657(JP,A)
【文献】特開2010-039617(JP,A)
【文献】特開2006-318350(JP,A)
【文献】特開2005-309740(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/246
G06T 7/70
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
時系列の複数の画像の前記画像ごとに追尾の対象物体の位置を推定する第1の推定処理を実行する第1の推定手段と、
前記時系列の前記複数の画像の前記画像ごとに前記対象物体の位置を推定する第2の推定処理であって、前記第1の推定処理よりも推定精度が低い前記第2の推定処理を実行する第2の推定手段と、
前記第1の推定手段または前記第2の推定手段により前記複数の画像から推定された前記複数の画像のそれぞれにおける前記対象物体の位置からなる追尾履歴の信頼度を決定する決定手段と、
前記決定手段により決定された前記信頼度に応じて、前記複数の画像のうち第1画像において前記第1の推定手段により推定された前記対象物体の位置に基づいて、前記複数の画像のうち前記第1画像とは異なる時刻に撮像された第2画像において前記第2の推定手段により推定された前記対象物体の位置を補正する補正手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記補正手段は、前記第2画像において前記第2の推定手段により推定された前記対象物体の位置を、前記時系列上において第2画像の前フレームまたは次フレームの画像である前記第1画像において前記第1の推定手段により推定された前記対象物体の位置に基づいて補正することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記決定手段は、前記追尾履歴に含まれる前記対象物体の位置の推定に使用された推定処理の種類に基づいて、前記追尾履歴の信頼度を決定することを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記決定手段は、前記追尾履歴に含まれる前記対象物体の位置の数に対する、前記第1の推定処理により推定された前記対象物体の位置の数の割合に基づいて、前記追尾履歴の信頼度を決定することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記補正手段は、前記決定手段により決定される前記追尾履歴の信頼度に応じて、異なる補正の手法を使用して前記対象物体の位置を補正することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記対象物体の移動方向に基づく安定度が所定の閾値より大きい場合に、前記第1の推定手段または前記第2の推定手段が処理対象とする画像における前記対象物体の位置を修正する修正手段を更に有することを特徴する請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記修正手段は、前記第1の推定手段または前記第2の推定手段が処理対象とする画像において、前記第1の推定手段または前記第2の推定手段により推定された前記対象物体の位置に基づいて設定される判定ラインに基づく前記対象物体の位置のずれがある場合、前記第1の推定手段または前記第2の推定手段が処理対象とする画像において推定された前記対象物体の位置を修正することを特徴とする請求項6に記載の画像処理装置。
【請求項8】
前記修正手段は、ユーザによって設定された前記対象物体の位置を修正し、ユーザによって設定されていない前記対象物体の位置を修正しないことを特徴とする請求項6または7に記載の画像処理装置。
【請求項9】
前記修正手段は、前記第1の推定手段または前記第2の推定手段が処理対象とする画像よりも前に前記第1の推定手段または前記第2の推定手段により処理された画像における前記対象物体の位置が、ユーザによって指定される画像領域に含まれる場合に、前記第1の推定手段または前記第2の推定手段が処理対象とする画像において推定された前記対象物体の位置を修正することを特徴とする請求項6または7に記載の画像処理装置。
【請求項10】
前記修正手段は、前記対象物体の数が所定の閾値未満である場合、前記対象物体の位置を修正することを特徴とする請求項6乃至9のいずれか1項に記載の画像処理装置。
【請求項11】
前記修正手段は、前記対象物体の位置を含む領域と、前記領域の近傍の領域とが類似している場合には、前記対象物体の位置を修正することを特徴とする請求項6乃至9のいずれか1項に記載の画像処理装置。
【請求項12】
前記補正手段が前記対象物体の位置を補正する処理と、前記修正手段が前記対象物体の位置を修正する処理との、少なくともいずれかの処理を、ユーザ操作に応じて、有効または無効に設定する設定手段を有することを特徴とする請求項6乃至11のいずれか1項に記載の画像処理装置。
【請求項13】
前記対象物体の位置のずれの発生をユーザに認識させるための情報を出力する出力手段を有することを特徴とする請求項6乃至12のいずれか1項に記載の画像処理装置。
【請求項14】
前記出力手段は、前記対象物体の位置を含む枠を表示装置に表示させ、前記対象物体の位置を含む枠の色の変更によって前記対象物体の位置のずれの発生をユーザに認識させるための情報を出力することを特徴とする請求項13に記載の画像処理装置。
【請求項15】
前記出力手段は、前記対象物体の位置のずれの発生をユーザに認識させるための情報の出力を、所定の時間の経過後に終了することを特徴とする請求項13または14に記載の画像処理装置。
【請求項16】
前記第1の推定手段は、幾何学形状のパターンマッチング処理により前記対象物体の位置を推定することを特徴とする請求項1乃至15のいずれか1項に記載の画像処理装置。
【請求項17】
前記第2の推定手段は、カラーパターンマッチング処理により、前記対象物体の位置を推定することを特徴とする請求項1乃至16のいずれか1項に記載の画像処理装置。
【請求項18】
前記対象物体の複数の位置の候補と前記対象物体の移動予測領域とのIoUに基づいて選択された前記対象物体の位置の候補とを用いて、前記対象物体の追尾位置を推定する第3の推定手段を更に有することを特徴とする請求項1乃至17のいずれか1項に記載の画像処理装置。
【請求項19】
時系列の複数の画像の前記画像ごとに追尾の対象物体の位置を推定する第1の推定処理を実行する第1の推定工程と、
前記時系列の前記複数の画像の前記画像ごとに前記対象物体の位置を推定する第2の推定処理であって、前記第1の推定処理よりも推定精度が低い前記第2の推定処理を実行する第2の推定工程と、
前記第1の推定工程または前記第2の推定工程により前記複数の画像から推定された前記複数の画像のそれぞれにおける前記対象物体の位置からなる追尾履歴の信頼度を決定する決定工程と、
前記決定工程により決定された前記信頼度に応じて、前記複数の画像のうち第1画像において前記第1の推定工程により推定された前記対象物体の位置に基づいて、前記複数の画像のうち前記第1画像とは異なる時刻に撮像された第2画像において前記第2の推定工程により推定された前記対象物体の位置を補正する補正工程と、
を有することを特徴とする画像処理方法。
【請求項20】
コンピュータを、請求項1乃至18のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラ等により撮像された画像を処理する技術に関する。
【背景技術】
【0002】
従来、カメラが撮像した画像から検出した物体や人体を追尾する技術がある。特許文献1には、テンプレート同士の重なり方を考慮したテンプレートマッチングにより追尾を行い、動きベクトルから次フレーム画像での探索位置を推定する技術が提案されている。また、特許文献2には、追尾中の着目物体の拡大・縮小に対応するためにピラミッド画像を利用し、時間的に近いフレーム画像同士は相関が高いことを利用して効率よく着目物体を検出・追尾する技術が提案されている。すなわち前のフレーム画像において、着目物体がピラミッド画像のいずれかの階層で検出された場合、次のフレーム画像に対しては、前のフレーム画像で着目物体が検出された階層と同じ階層に対して物体検出処理が行われる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2002-373332号公報
【文献】特開2007-257358号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1や特許文献2に記載の方法では、直前のフレーム画像における着目物体の移動方向、速度あるいはサイズに基づいて、次フレーム画像での物体の出現位置やサイズを予測し、その予測に基づいて探索領域が設定される。着目物体を探索領域内でだけ探索することで処理コストを削減するだけではなく、本来追尾すべき着目物体以外の物体を誤って追尾対象としてしまうことを抑制することが可能となる。しかしながら、物体検出処理では、一般にノイズや背景を含む周辺の類似パターンあるいは近接物体の影響により、追尾対象とする物体が検出された位置を示す追尾位置にずれが生じることがある。
【0005】
そこで、本発明は、上記課題を鑑みて、画像中の物体を追尾する場合において、当該物体の追尾位置のずれを抑制することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、時系列の複数の画像の前記画像ごとに追尾の対象物体の位置を推定する第1の推定処理を実行する第1の推定手段と、前記時系列の前記複数の画像の前記画像ごとに前記対象物体の位置を推定する第2の推定処理であって、前記第1の推定処理よりも推定精度が低い前記第2の推定処理を実行する第2の推定手段と、前記第1の推定手段または前記第2の推定手段により前記複数の画像から推定された前記複数の画像のそれぞれにおける前記対象物体の位置からなる追尾履歴の信頼度を決定する決定手段と、前記決定手段により決定された前記信頼度に応じて、前記複数の画像のうち第1画像において前記第1の推定手段により推定された前記対象物体の位置に基づいて、前記複数の画像のうち前記第1画像とは異なる時刻に撮像された第2画像において前記第2の推定手段により推定された前記対象物体の位置を補正する補正手段と、を有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、画像中の物体を追尾する場合において、当該物体の追尾位置のずれを抑制することが可能となる。
【図面の簡単な説明】
【0008】
図1】実施形態の画像処理装置の構成例を示す図である。
図2】第1の実施形態に係る画像処理の流れを示すフローチャートである。
図3】第1の実施形態における追尾位置ずれ修正処理のフローチャートである。
図4】軌跡の平滑化処理例の説明に用いる図である。
図5】追尾位置ずれ判定(ケース1)の説明図である。
図6】追尾位置ずれ判定(ケース2)の説明図である。
図7】追尾位置ずれ判定(ケース3)の説明図である。
図8】追尾位置ずれの修正(ケース1)の説明図である。
図9】追尾位置ずれの修正(ケース2)の説明図である。
図10】追尾位置ずれの修正(ケース3)の説明図である。
図11】第2の実施形態における追尾位置ずれ修正処理のフローチャートである。
図12】第3の実施形態における追尾位置ずれ修正処理のフローチャートである。
図13】第4の実施形態に係る画像処理装置の構成例を示す図である。
図14】第4の実施形態に係る画像処理の流れを示すフローチャートである。
図15】第5の実施形態に係る画像処理の流れを示すフローチャートである。
図16】第6の実施形態に係る画像処理の流れを示すフローチャートである。
図17】一般的な追尾対象物体の検出手順と検出結果を示す図である。
図18】追尾位置ずれを抑制する検出手順と検出結果を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態を、添付の図面に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
本実施形態の画像処理装置は、複数のフレームの画像にわたって着目物体を検出していくことで、当該着目物体を追尾する。このとき、物体を検出する物体検出処理では、一般にノイズや背景を含む周辺の類似パターンあるいは近接物体の影響により、追尾対象とする物体の追尾位置に微小なズレが生じることがある。この追尾位置の微小なずれが問題になる場合がある。問題になる例として、画像における所定のラインを通過する人体の数をカウントする通過人数カウントが挙げられる。ここでは説明のため、通過線を画面中央水平方向に設置し、通過線を上から下に向けて通過した人数をInとしてカウントし、通過線を下から上に通過した人数をOutとしてカウントするものとする。上から下に移動する人物を追尾中、通過線付近で微小なずれが発生した場合を考える。前のフレーム画像でInとカウントされたものの、次のフレーム画像で進行方向と逆方向に微小なずれが生じて通過線を下から上に通過すると、このフレーム画像ではOutのカウントが一つ増えることになる。さらに次のフレームではずれが修正されることで再度通過線を上から下に通過し、Inとしてのカウントが一つ増える。結果的に、Inの誤カウントが一つ、Outの誤カウントが一つ生じることになる。そこで本実施形態の画像処理装置によれば、画像中の物体の追尾位置のずれを抑制することで、上述したような通過人数カウントにおける誤ったカウントを抑制することが可能となる。
【0010】
また、画像における着目物体を追尾する場合において、追尾対象とする着目物体の軌跡が内包する追尾位置の微小なずれの影響を軽減するため、軌跡の平滑化が行われることがある。通過人数カウントにおいても追尾位置を確定させる前に軌跡の平滑化を行うことで追尾位置を修正すれば誤ったカウントの抑制は可能である。しかしながら、軌跡を一律に平滑化する方法では、微細な軌跡の情報が失われる。これにより、人体のウロウロ歩きなどの不審行動を判別できなくなるなど、問題が生じる。そこで本実施形態の画像処理装置によれば、軌跡の微細な情報を失うことを抑制しつつ、追尾位置のずれを抑制することが可能となる。以下、本実施形態の画像処理装置について説明していく。
【0011】
本実施形態の画像処理装置は、記録された過去の軌跡情報を利用して、着目物体の追尾位置のずれを修正する機能を有する。軌跡情報は、追尾対象となっている着目物体(以下、追尾対象物体とする)のフレーム画像上での位置を、時系列順のフレーム毎に特定できる情報であり、過去に追尾対象物体を追尾した際のフレーム毎の追尾履歴を表す情報である。軌跡情報には、フレーム画像上の物体を識別するための物体ID(物体識別情報)、物体のフレーム画像上での位置(物体位置)、およびフレーム毎の時間の情報等が含まれる。また軌跡情報には、追尾対象物体のサイズ(フレーム画像上での大きさ)やその物体の属性情報等が含まれていてもよい。なお、以下の説明では、追尾対象物体として人体を例に挙げているが、追尾対象物体は人体に限らず任意の物体でもよい。
【0012】
<第1の実施形態>
図1は第1の実施形態の画像処理装置100の構成例を示すブロック図である。
本実施形態の画像処理装置100は、画像取得部101、追尾部102、軌跡分析部103、軌跡平滑化部104、追尾位置修正部105、出力部106、および記憶装置107を有する。
図2は、第1の実施形態の画像処理装置100に係る画像処理のフローチャートであり、物体(人体)検出および追尾から追尾位置のずれの修正までの処理の流れを示している。
【0013】
画像取得部101は、まずステップS201の処理として、例えばカメラやサーバ等の外部の装置から、処理対象の画像を時系列順に取得する。すなわち、画像取得部101は、カメラにより撮像された画像を取得する。時系列順の画像は、例えば動画を構成する各フレーム画像が想定される。なお画像取得部101は、外部メモリ等に保存された時系列順の画像を取得するようにしてもよい。そして、画像取得部101による画像取得が失敗した場合、あるいはユーザにより画像取得が中止された場合、ステップS202において、画像処理装置100は、画像取得が成功しなかったと判定して図2のフローチャートの処理を終了する。
【0014】
ステップS202で画像取得が成功したと判定された場合、追尾部102は、まずステップS203の処理として、画像取得部101が取得した着目フレーム(現フレーム)の画像から追尾対象物体(着目物体)を検出する。ここで、本実施形態ではN個の物体が検出(N人の人体が検出)されたものとする。また本実施形態では、物体の検出手法として背景差分法を用いる。ここで検出される物体は、例えば移動物体、あるいは背景差分法により検出された前景である。または、検出される物体は、背景ではないと判定された部分でもよい。追尾部102が検出した物体の情報は、着目フレーム画像上での位置と、当該検出された物体の外接矩形およびそのサイズとからなる。そして追尾部102は、ステップS203で検出した個々の物体を、ステップS204で初期化される変数iによって管理する。
【0015】
次にステップS205において、追尾部102は、変数iの値がN未満であれば処理をステップS206に移し、そうでなければ処理をステップS208に移す。
ステップS208の処理に移ると、追尾部102は、追尾結果を出力する。このときの追尾結果の情報は、記憶装置107に記憶(記録)される。このステップS208の後、画像処理装置100は、処理をステップS201に戻す。
【0016】
一方、ステップS205において変数iの値がN未満であるためステップS206の処理に移ると、追尾部102は、変数iの物体を検出した局所領域から人体を検出し、それら検出した物体と検出した人体との対応付けを行うことで変数iの追尾領域を決定する。以下、変数iの人体を人体iとし、変数iの追尾領域を追尾領域iとする。ここで本実施形態の場合、人体の検出は、パターンマッチング処理を用いて行われる。そして、追尾部102は、新規に出現した人体に対しては、新規に人体IDを付与する。また追尾部102は、着目フレーム画像から検出した人体と、時系列順で当該着目フレームの前のフレーム画像で検出された人体とを対応付けることができた場合、当該前のフレーム画像で付与した人体IDを、着目フレーム画像から検出した人体にも付与する。追尾部102は、このようにして着目フレーム画像から検出した人体と、前フレーム画像で検出された人体とを、対応付けることによって追尾を行う。
【0017】
ここで本実施形態において、人体の検出処理手法として用いられるパターンマッチング処理は、幾何学形状パターンマッチング処理とカラーパターンマッチング処理との2種の処理手法が用いられる。なお、幾何学形状パターンマッチング処理とカラーパターンマッチング処理は、既存の手法を利用可能である。例えば、幾何学形状パターンマッチング処理は下記の参考許文献1に開示された処理などを利用可能であり、カラーパターンマッチング処理は人体に対応した追尾枠の矩形内の色ヒストグラムの相関を調べる方法などを利用可能である。
【0018】
参考文献1:國光,淺間,川端,三島,"2値エッジ画像のテンプレートによる屋外環境下にある対象物の検出,"IEEJ Trans,EIS,Vol.124,No2,2004.
【0019】
そして本実施形態の追尾部102は、人体の検出処理手法として幾何学形状パターンマッチング処理が用いられて検出した後に前述の対応付けに成功した場合の人体の追尾領域を、高信頼度追尾領域と定める。なお、幾何学形状のパターンマッチング処理により対応付けに成功した人体の追尾領域は、追尾対象とする人体が位置する可能性が高いと考えられるため高い信頼度を示す高信頼度追尾領域と定めている。また、追尾部102は、人体の検出処理手法としてカラーパターンマッチング処理で検出した後に対応付けに成功した場合の追尾領域を、中信頼度追尾領域と定める。なお、カラーパターンマッチング処理により対応付けに成功した人体の追尾領域は、幾何学形状パターンマッチング処理の場合と比べて追尾対象とする人体が位置する可能性が低いため、中程度の信頼度を示す中信頼度追尾領域と定めている。一方、追尾部102は、対応付けに失敗した人体の人体IDについては、時系列順の前フレームまでの軌跡から求めた平均速度ベクトルを使って、着目フレーム画像(現フレーム画像)上での追尾位置を算出して決定する。そして、追尾部102は、対応付けに失敗した際に着目フレーム画像から検出された追尾領域を、低信頼度追尾領域と定める。なお、平均速度ベクトルを用いて着目フレーム画像から検出された追尾領域は、カラーパターンマッチグ処理の場合と比べて追尾対象とする人体が位置する可能性が低いため、低い信頼度を示す低信頼度追尾領域と定めている。
【0020】
なお、本実施形態では背景差分法により物体を検出する例を挙げたが、物体を検出する方法は背景差分法に限定されるものではなく、画像から物体を検出できるのであれば他の手法を利用してもよい。また、画像から人体を検出する手法は、パターンマッチング処理に限定されるものではなく、画像から人体を検出可能であれば他の手法を利用してもよい。また、物体を検出した局所領域内だけで人体の検出を行う必要はなく、画像全体に対して人体の検出処理が行われてもよい。さらに、検出対象の物体は、人体に限定されるものではなく、特定の物体(特定の特徴を有する物体、あるいは特定のパターンを有すると判定される物体など)であることが検出されればよい。例えば検出対象の物体は、自動車や動物などでもよい。
【0021】
ステップS206の後、画像処理装置100の処理は、ステップS300の追尾位置のずれの修正処理に移る。ステップS300の追尾位置ずれ修正処理は、軌跡分析部103、軌跡平滑化部104、および追尾位置修正部105によって行われる。そして、ステップS300の処理が終了すると、画像処理装置100の処理は、ステップS207に移り、ステップS207において追尾部102が変数iをインクリメントした後、ステップS205の処理に戻る。
【0022】
図3は、ステップS300における追尾位置のずれ修正処理の詳細な流れを示すフローチャートである。
まずステップS301の処理として、軌跡分析部103は、前述のようにして検出された人体の移動速度を推定する。本実施形態の場合、移動速度の推定は、軌跡中の高信頼度追尾領域のみを利用して行われる。ここでは説明のため、ある追尾中の人体iに着目し、当該人体iに対応した高信頼度追尾領域をRi(k)とし、この高信頼度追尾領域Ri(k)に対して時間方向で隣接する高信頼度追尾領域をRi(k+1)とする。また、高信頼度追尾領域Ri(k)の中心座標を(Ri x(k),Ri y(k))とし、高信頼度追尾領域Ri(k+1)の中心座標を(Ri x(k+1),Ri y(k+1))とする。ただし、k=(1,2,・・・,K)であり、kは人体iの軌跡中の高信頼度追尾領域が属するフレーム画像を時間方向に順番に並べた上でタイムスタンプが古い方から順に付与したIDである。このとき、時間方向に隣接するk番目の高信頼度追尾領域Ri(k)の速度ベクトルは下記の式(1)で表される。ただし、式(1)中のΔtは高信頼度追尾領域Ri(k)が属するフレーム画像のタイムスタンプと、高信頼度追尾領域Ri(k+1)が属するフレーム画像のタイムスタンプとの間の時間間隔である。
【0023】
i(k)=(Vi x(k),Vi y(k))={(Ri x(k+1,Ri y(k+1)-(Ri x(k),Ri y(k))}/Δt 式(1)
【0024】
また、人体iの平均速度ベクトルは式(2)で計算される。
【数1】
【0025】
次にステップS302の処理に移ると、軌跡分析部103は、追尾履歴の信頼度を算出し、さらにステップS303の処理として、軌跡分析部103は、追尾履歴を構成している各追尾位置の信頼度に基づいて、追尾履歴の信頼度を決定する。ここで各追尾位置の信頼度とは、追尾領域の信頼度であり、本実施形態の場合は前述した高信頼度追尾領域、中信頼度追尾領域、および低信頼度追尾領域がある。またそれら追尾領域の信頼度は、前述したように、人体の検出(つまり追尾領域の位置の検出)に用いられた検出処理手法(幾何学形状パターンマッチング処理やカラーパターンマッチング処理)に基づいて決定される。すなわち換言すると、軌跡分析部103は、追尾対象の人体の追尾履歴を構成している当該人体に対する各追尾位置が検出された際の検出処理手法に基づいて、追尾履歴の信頼度を決定する。
【0026】
具体的には、軌跡分析部103は、人体iが追尾されている場合に人体iの追尾履歴の信頼度を、その軌跡内の追尾領域数に対する高信頼度追尾領域数(所定の信頼度の追尾位置数)の割合に応じ、高信頼度軌跡、中信頼度軌跡、または低信頼度軌跡に分類する。例えば軌跡を構成している追尾領域の総数が100で、高信頼度追尾領域数が70である場合、高信頼度追尾領域数の割合は0.7となる。
【0027】
そして、軌跡分析部103は、ステップS303の処理として、軌跡内の追尾領域数に対する高信頼度追尾領域数の割合を基に、軌跡が高信頼度軌跡であるか否かを判定する。本実施形態の場合、軌跡分析部103は、軌跡内の追尾領域数に対する高信頼度追尾領域数の割合が、例えば高信頼度判定閾値以上であるような条件を満たす場合に、軌跡が高信頼度軌跡であると判定する。軌跡分析部103において軌跡が高信頼度軌跡であると判定された場合、画像処理装置100は、軌跡平滑化部104で行われる後述するステップS304に処理を移し、一方、そうでない場合には軌跡分析部103で行われるステップS310に処理を移す。
【0028】
ステップS303において軌跡が高信頼度軌跡であると判定されてステップS304に移ると、軌跡平滑化部104は、高信頼度軌跡に対して軌跡の平滑化処理を行うことで、平滑化追尾履歴を生成する。高信頼度軌跡に対する軌跡の平滑化処理は、当該軌跡内の追尾領域の信頼度と位置関係に応じて異なる処理となる。
【0029】
ここで、軌跡平滑化部104は、高信頼度軌跡に含まれる高信頼度追尾領域については平滑化処理を行わない。一方、軌跡平滑化部104は、高信頼度軌跡に含まれる中信頼度追尾領域および低信頼度追尾領域については、図4に示すように、それら追尾領域の信頼度と位置関係をtype1からtype4の4種に分けて、種類毎に異なる平滑化を行う。なお、図4中の白丸は物体を含む局所領域から検出(LD:Local Detection)された人体の追尾領域(LD追尾領域)を表しており、それら追尾領域は高信頼度追尾領域であるとする。図4中の黒丸はフレーム画像から検出された人体の追尾領域(非LD追尾領域)を表しており、それら追尾領域は中信頼度追尾領域または低信頼度追尾領域であるとする。type1からtype4の分類は、図4中に黒丸で表されている中信頼度追尾領域または低信頼度追尾領域の追尾領域(非LD追尾領域)について行われる。図4中の斜線の丸は軌跡平滑化処理後の追尾領域(平滑化後追尾領域)を表している。
【0030】
本実施形態の場合、着目フレーム画像から検出されてtype1に分類される追尾領域は、その着目フレーム画像の直前のフレーム画像上では高信頼度追尾領域ではなく、直後のフレーム画像上では高信頼度追尾領域となる追尾領域である。type2に分類される追尾領域は、着目フレーム画像の直前のフレーム画像上では高信頼度追尾領域であり、直後のフレーム画像上では高信頼度追尾領域ではない追尾領域である。type3に分類される追尾領域は、着目フレーム画像の直前および直後のフレーム画像上では高信頼度追尾領域になっている追尾領域である。type4に分類される追尾領域は、着目フレーム画像の直前および直後のフレーム画像上では高信頼度追尾領域ではない追尾領域である。
【0031】
以下、本実施形態の軌跡平滑化部104による、type1からtype4の追尾領域の平滑化処理について、図4を参照しながら説明する。
type1の追尾領域401の平滑化処理を行う場合、軌跡平滑化部104は、着目フレームの直後のフレーム画像上の高信頼度追尾領域403を基準の追尾領域とする。そして、軌跡平滑化部104は、ステップS301で算出された平均速度ベクトルと、着目フレーム(frame0)とその直後のフレーム(frame1)との間の時間とを基に算出した位置に、type1の追尾領域401を移動させる。このとき、軌跡平滑化部104は、例えば、平均速度ベクトルが示す方向と平行な線分であって高信頼度追尾領域403の位置を通る線分である補正線分を特定する。軌跡平滑化部104は、更に、平均速度ベクトルが示す速さと、frame0とframe1との間の時間とを乗じて距離を算出する。そして、軌跡平滑化部104は、特定した補正線分上にて高信頼度領域403の位置から平均速度ベクトルの逆方向に算出した当該距離だけ離れた位置へ追尾領域401の位置を修正する。この例の場合、type1の追尾領域401の平滑化処理で移動された追尾領域が、平滑化後追尾領域402である。以上説明したように、type1の平滑化処理において、軌跡平滑化部104は、第1画像において推定された物体の第1追尾位置(第1追尾領域)を、次のようにして修正する。すなわち、軌跡平滑化部104は、第1画像上の物体の第1追尾位置を、時系列上にて第1画像の次のフレームである第2画像における当該物体の第2追尾位置(第2追尾領域)であって当該第1追尾位置より高い信頼度である第2追尾位置に基づき、修正する。
【0032】
type2の追尾領域408の平滑化処理を行う場合、軌跡平滑化部104は、着目フレーム(frame4)の直前のフレーム画像(frame3)上の高信頼度追尾領域406を基準の追尾領域とする。そして、軌跡平滑化部104は、ステップS301で算出された平均速度ベクトルと、着目フレーム(frame4)とその直前のフレーム(frame3)との間の時間とを基に算出した位置に、type2の追尾領域408を移動させる。このとき、軌跡平滑化部104は、例えば、平均速度ベクトルが示す方向と平行な線分であって高信頼度追尾領域406の位置を通る線分である補正線分を特定する。そして、軌跡平滑化部104は、平均速度ベクトルが示す速さと、frame3とframe4との間の時間とを乗じて距離を算出する。そして、軌跡平滑化部104は、特定した補正線分上において高信頼度領域406の位置から平均速度ベクトルが示す方向に算出した当該距離だけ離れた位置へ追尾領域408の位置を修正する。この例の場合、type2の追尾領域408の平滑化処理で移動された追尾領域が、平滑化後追尾領域409である。以上説明したように、type2の平滑化処理において、軌跡平滑化部104は、第1画像において推定された物体の第1追尾位置(第1追尾領域)を、次のようにして修正する。すなわち、軌跡平滑化部104は、第1画像上の物体の第1追尾位置を、時系列上にて第1画像の前のフレームである第2画像における当該物体の第2追尾位置(第2追尾領域)であって当該第1追尾位置より高い信頼度である第2追尾位置に基づき、修正する。以上type1~type3にて説明したように、軌跡平滑化部104は、第1画像上の物体の第1追尾位置を、第1画像と異なる時刻に撮像された第2画像上の当該物体の第2追尾位置であって第1追尾位置より高い信頼度の第2追尾位置に基づき、修正する
【0033】
type3の追尾領域404の平滑化処理を行う場合、軌跡平滑化部104は、まず着目フレームの直前および直後のフレーム画像上での高信頼度追尾領域403および406を両端とした線分405を求める。次に軌跡平滑化部104は、その線分405上で、type3の追尾領域404が属する着目フレームとその直前のフレームの間の時間と、着目フレームとその直後のフレームの間の時間とに応じた割合で按分した位置を求める。そして軌跡平滑化部104は、その線分405上で按分された位置に、type3の追尾領域404を移動させる。この例の場合、type3の追尾領域404の平滑化処理で移動された追尾領域が、平滑化後追尾領域407である。以上説明したように、type3の平滑化処理において、軌跡平滑化部104は、第1画像において推定された物体の第1追尾位置(第1追尾領域)を、次のようにして修正する。つまり、軌跡平滑化部104は、時系列上にて第1画像の前フレームである第2画像、および、第1画像の次フレームである第3画像上の物体の追尾位置であって第1追尾位置より信頼度が高い追尾位置の各々に基づき、第1画像上の物体の第1追尾位置を修正する。
【0034】
中信頼度追尾領域または低信頼度追尾領域を前述のようにして平滑化処理した後の追尾領域は、以後、高信頼度追尾領域として扱われる。そして、前述のような高信頼度軌跡に対する平滑化処理が完了すると、画像処理装置100は、追尾位置修正部105で行われるステップS305に処理を移す。ステップS305以降の処理は後述する。
【0035】
一方、ステップS303において軌跡が高信頼度軌跡の条件を満たさないと判定されてステップS310に進むと、軌跡分析部103は、軌跡が中信頼度軌跡であるか否かを判定する。軌跡分析部103は、軌跡内の追尾領域数に対する高信頼度追尾領域数の割合が、例えば中信頼度判定閾値以上(中信頼度判定閾値以上で且つ高信頼度判定閾値未満)であるような条件を満たす場合に、軌跡が中信頼度軌跡であると判定する。軌跡分析部103において軌跡が中信頼度軌跡であると判定された場合、画像処理装置100は、軌跡平滑化部104で行われる後述するステップS311に処理を移す。一方、ステップ310において軌跡が中信頼度軌跡でないと判定された場合、つまり軌跡が低信頼度軌跡であると判定された場合、画像処理装置100は、ステップS300の処理を終了して図2のステップS207に処理を移す。
【0036】
ステップS311の処理に移った場合、軌跡平滑化部104は、中信頼度軌跡に対する軌跡の平滑化処理を行う。中信頼度軌跡に対する軌跡の平滑化は、中信頼度軌跡に含まれる追尾領域のうち、前述したtype1とtype2に分類される追尾領域に対してだけ行われる。なお、中信頼度軌跡の平滑化処理によって平滑化された追尾領域は、ステップS304の高信頼度軌跡での平滑化処理の場合と同様に、以後、高信頼度追尾領域として扱われる。
【0037】
次にステップS312の処理に移ると、軌跡平滑化部104は、ステップS301で推定された移動速度を再推定する。このステップS312での推定方法は、ステップS301における移動速度の推定方法と同じである。
次にステップS313の処理に移ると、軌跡平滑化部104は、ステップS311での平滑化処理後の軌跡について信頼度(追尾軌跡の信頼度)を再算出する。
【0038】
次にステップS314の処理に移ると、軌跡平滑化部104は、軌跡が高信頼度軌跡であるか否か(つまりステップS311での平滑化処理によって高信頼度軌跡になったか否か)の判定を行う。そして軌跡平滑化部104で軌跡が高信頼度軌跡であると判定された場合、画像処理装置100は、追尾位置修正部105にて行われるステップS305に処理を移し、そうでない場合にはステップS300の処理を終了して図2のステップS207に処理を移す。
【0039】
ステップS305の処理に移ると、追尾位置修正部105は、軌跡平滑化部104で生成した平滑化追尾履歴に対して移動方向の変化を測定し、さらにステップS306においてその移動方向の変化に基づいて軌跡の安定度を判定する。ここでの軌跡の安定度とは、追尾対象の物体の移動方向が変化する度合いを示し、当該安定度が高いほど、追尾対象の物体の移動方向の変化は小さく、当該安定度が小さいほど、追尾対象の物体の移動方向の変化が大きいことを示す。ステップS305において、追尾位置修正部105は、まず軌跡内での移動方向の変化を数値化するために、x方向とy方向について、正方向への移動と負方向への移動それぞれの割合を算出する。ここで、移動の割合の算出は、ステップS301で算出された速度ベクトルを利用して行われる。例えば、軌跡に含まれる高信頼度追尾領域数が70の場合において、x方向について正方向への要素を持つ速度ベクトルの数が七つ存在するときは、x方向の正方向への移動割合は10%となり、x方向の負方向への移動割合は90%となる。
【0040】
次にステップS306の処理に移ると、追尾位置修正部105は、軌跡内で移動方向に変化があるか否かを判定する。本実施形態の場合、追尾位置修正部105は、x方向とy方向それぞれについて、正方向あるいは負方向への移動割合が所定値以上である場合に、移動方向の変化がないと判定する。つまり追尾位置修正部105は、追尾対象の物体の移動方向が安定しているとして当該物体の移動方向の安定度が所定の閾値より大きいと判定する。例えば所定値を80%とし、高信頼度追尾領域数を70とした場合、x方向で正方向への要素を持つ速度ベクトルが63個存在するときには、正方向への移動割合が90%になるため、追尾位置修正部105は、「x方向では移動方向に変化はない」と判定する。ここで、残りの7個の速度ベクトルは、負方向への要素を持つか、またはx方向については静止状態であることを示す値となる。追尾位置修正部105は、y方向についても同様に軌跡内で移動方向に変化があるか否かを判定する。そして追尾位置修正部105においてx方向およびy方向ともに移動方向に変化ありと判定された場合、画像処理装置100は、ステップS300の処理を終了して、図2のステップS206に処理を移す。一方、追尾位置修正部105は、x方向あるいはy方向の少なくとも一方で移動方向に変化がないと判定した場合、つまりx方向あるいはy方向の少なくとも一方で安定度が所定の閾値より大きい場合には、処理をステップS307に移す。
【0041】
ステップS307の処理に移ると、追尾位置修正部105は、現在処理対象としている最新のフレームの画像における追尾位置のずれ判定を行う。追尾位置のずれの定義や判定方法はユースケース等に応じて自由に決めることができるが、本実施形態では、軌跡から算出した平均的な進行方向とは逆向きの進行が生じた場合を追尾位置のずれと定義する。
【0042】
以下、当該追尾位置のずれの定義に基づいた追尾位置のずれの判定方法について説明する。
本実施形態の場合、追尾位置修正部105は、追尾位置のずれを以下の三つのケース1~ケース3に分けて判定する。追尾位置ずれのケース1は、x方向とy方向ともに移動方向の変化がない場合とする。追尾位置ずれのケース2は、y方向だけ移動方向の変化がない場合(x方向は移動方向の変化がある場合)とする。追尾位置ずれのケース3は、x方向だけ移動方向の変化がない場合(y方向は移動方向の変化がある場合)とする。
【0043】
まず、x方向とy方向ともに移動方向の変化がない追尾位置ずれのケース1の場合について、図5を用いて説明する。まず、追尾位置修正部105は、着目フレーム画像内で着目した追尾領域501(追尾領域i)の一つ前のフレーム画像の追尾領域502の中心点を算出する。次に、追尾位置修正部105は、追尾位置ずれ判定ライン500を設定する。ケース1の場合の追尾位置ずれ判定ライン500は、先ほど追尾領域502について算出した中心点を通り、且つステップS301あるいはステップS312で推定された平均速度ベクトルと直交する直線である。本実施形態では、この判定ライン500に対し、平均速度ベクトルの正方向に属する領域を便宜的に第1領域と呼び、平均速度ベクトルの負方向に属する領域を便宜的に第2領域と呼ぶ。そして、追尾位置修正部105は、追尾領域501(追尾領域i)の中心点が第2領域に含まれる場合、追尾領域501(追尾領域i)に追尾位置ずれが発生していると判定する。
【0044】
次に、y方向だけ移動方向の変化がない追尾位置ずれのケース2の場合につて、図6を用いて説明する。まず、追尾位置修正部105は、着目フレーム画像内で着目した追尾領域601(追尾領域i)の一つ前のフレーム画像の追尾領域602の中心点を算出する。次に、追尾位置修正部105は、追尾位置ずれ判定ライン600を設定する。ケース2の場合の追尾位置ずれ判定ライン600は、先ほど追尾領域602について算出した中心点を通り、且つx方向と平行な直線である。本実施形態では、この判定ライン600に対し、平均速度ベクトルのy方向要素に対して正方向に属する領域を便宜的に第1領域と呼び、平均速度ベクトルのy方向要素に対して負方向に属する領域を便宜的に第2領域と呼ぶ。そして、追尾位置修正部105は、追尾領域601(追尾領域i)の中心点が第2領域に含まれる場合、追尾領域601(追尾領域i)に追尾位置のずれが発生していると判定する。
【0045】
次に、x方向だけ移動方向の変化がない追尾位置ずれのケース3の場合について、図7を用いて説明する。まず、追尾位置修正部105は、着目フレーム画像内で着目した追尾領域701(追尾領域i)の一つ前のフレーム画像の追尾領域702の中心点を算出する。次に、追尾位置修正部105は、追尾位置ずれ判定ライン700を設定する。追尾位置ずれ判定ライン700は、先ほど追尾領域702について算出した中心点を通り、且つy方向と平行な直線である。本実施形態では、この判定ライン700に対し、平均速度ベクトルのx方向要素に対して正方向に属する領域を便宜的に第1領域と呼び、平均速度ベクトルのx方向要素に対して負方向に属する領域を便宜的に第2領域と呼ぶ。そして、追尾位置修正部105は、追尾領域701(追尾領域i)の中心点が第2領域に含まれる場合、追尾領域701(追尾領域i)に追尾位置のずれが発生していると判定する。
【0046】
ステップS307における追尾位置ずれ判定処理の後、ステップS308に移ると、追尾位置修正部105は、追尾位置のずれが発生しているか否かで処理を分岐させる。追尾位置修正部105は、追尾位置のずれが発生している場合には処理をステップS309に移し、追尾位置のずれが発生していない場合にはステップS300の処理を終了する。
【0047】
ステップS309の処理に移った場合、追尾位置修正部105は、現在処理対象としている最新のフレームの画像における追尾位置の修正処理を行う。追尾位置の修正方法は、ユースケース等に応じて自由に決めることができるが、本実施形態では前述した追尾位置ずれのケース別に下記の方法で修正する。
【0048】
x方向とy方向ともに移動方向の変化がない追尾位置ずれのケース1の場合の追尾位置修正処理について、図8を用いて説明する。なお図8中で図5と同じ構成要素には図5と同一の参照符号を付している。まず、追尾位置修正部105は、着目フレームの一つ前のフレーム画像上の追尾領域502の中心点と平均速度ベクトルとを使って、着目フレーム画像上での追尾領域501の推定移動位置(推定追尾領域803とする)を算出する。次に、追尾位置修正部105は、着目フレームの追尾領域501の中心点と推定追尾領域803の中心点とを結ぶ直線804を設定し、その直線804と追尾位置ずれ判定ライン500との交点を求める。そして、追尾位置修正部105は、当該交点から前述の直線804上を数画素だけ第1領域の方向に移動させた点を、修正後の追尾領域805の位置(中心点)とする。
【0049】
次に、y方向だけ移動方向の変化がない追尾位置ずれのケース2の場合の追尾位置修正処理について、図9を用いて説明する。なお図9中で図6と同じ構成要素には図6と同一の参照符号を付している。まず、追尾位置修正部105は、着目フレームの一つ前のフレーム画像上の追尾領域602の中心点と平均速度ベクトルのy成分とを使って、着目フレーム画像上での追尾領域601の推定移動位置(推定追尾領域903とする)を算出する。次に、追尾位置修正部105は、着目フレームの追尾領域601の中心点と推定追尾領域903の中心点とを結ぶ直線904を設定し、その直線904と追尾位置ずれ判定ライン600との交点を求める。そして、追尾位置修正部105は、当該交点から前述の直線904上を数画素だけ第1領域の方向に移動させた点を、修正後の追尾領域905の修正位置(中心点)とする。
【0050】
次に、x方向だけ移動方向の変化がない追尾位置ずれのケース3の場合の追尾位置修正処理について、図10を用いて説明する。なお図10中で図7と同じ構成要素には図7と同一の参照符号を付している。まず、追尾位置修正部105は、着目フレームの一つ前の追尾領域702の中心点と平均速度ベクトルのx成分とを使って、着目フレーム画像上での追尾領域701の推定移動位置(推定追尾領域1003とする)を算出する。次に、着目フレームの追尾領域701の中心点と推定追尾領域1003の中心点とを結ぶ直線1004を設定し、当該直線1004と追尾位置ずれ判定ライン700との交点を求める。そして、追尾位置修正部105は、その交点から前述の直線1004上を数画素だけ第1領域の方向に移動させた点を、修正後の追尾領域1005の修正位置(中心点)とする。
【0051】
前述したステップS309における追尾位置ずれ修正処理の完了後、画像処理装置100は、ステップS300の処理を終了して図2のステップS207に処理を移す。
以上説明したように、第1の実施形態の画像処理装置100は、追尾対象物体(追尾対象人体)の追尾履歴の信頼度を求め、その追尾履歴の信頼度に基づいて追尾履歴を平滑化して追尾位置のずれを修正する。これにより、本実施形態によれば、画像中の人体を検出追尾した場合において、微細な軌跡情報を失うことなく追尾位置のずれを修正可能となる。
【0052】
なお本実施形態の画像処理装置100は、追尾位置ずれが発生した場合に、その追尾位置ずれが発生した領域をユーザが認知できるよう、出力部106の出力を変更してユーザに提示するように構成されていてもよい。例えば出力部106は、不図示の表示装置の画面上に人体の追尾枠を出力する場合、追尾位置のずれが発生した領域については、その追尾枠を所定の色に変更したり、枠線の太さを調整したりすることで、追尾位置ずれの発生をユーザに提示することが可能である。あるいは、出力部106は、追尾位置ずれが発生した場合、出力の変更を所定時間提示し続けるようにしてもよい。またこの場合の出力部106は、所定時間の経過後に提示を終了してもよい。
【0053】
<第2の実施形態>
次に、第2の実施形態について説明する。
前述した第1の実施形態では、特に条件を設けずに追尾位置のずれの修正処理を行う例を説明した。第2の実施形態では、所定条件を満たした場合にのみ追尾位置のずれ修正処理を行う方法を説明する。ここでは、所定条件が「検出人体数が所定数未満である」場合について説明する。
【0054】
第2の実施形態の画像処理装置100の構成は前述した図1と同様である。
図11は、第2の実施形態におけるステップS300の追尾位置ずれ修正処理の流れを示すフローチャートである。以下、冗長な説明を避けるため第1の実施形態との差分に焦点を当てて説明する。図11において、前述の第1の実施形態で用いた各ステップと同じ処理が行われるステップについては、前述と同じ参照符号を付してそれらの説明は省略する。
【0055】
図11のステップS1101において、追尾位置修正部105は、人体の検出数Nが所定の閾値未満(Th未満)であるかを判定する。追尾位置修正部105は、人体の検出数Nが所定の閾値Th未満であれば処理をステップS301に移し、そうでなければステップS300の処理を終了する。
以上のように、第2の実施形態の画像処理装置100は、検出人体数が所定数未満(閾値未満)の場合にだけ追尾位置ずれ修正を行うフローに処理を進める。これにより、第2の実施形態によれば、追尾位置のずれが比較的発生し難い少人数追尾の場合には精度を維持しつつ計算負荷を上げずに人体を追尾することが可能となる。
【0056】
<第3の実施形態>
次に、第3の実施形態について説明する。
第3の実施形態でも第2の実施形態と同様、所定条件を満たした場合にのみ追尾位置のずれの修正処理を行う方法を説明する。ここでは、所定条件が「追尾対象人体の色やテクスチャがその近傍の領域と類似していない」場合について説明する。
【0057】
第3の実施形態の画像処理装置100の構成は前述した図1と同様である。
図12は、第3の実施形態におけるステップS300の追尾位置ずれ修正処理の流れを示すフローチャートである。以下、冗長な説明を避けるため第1の実施形態との差分に焦点を当てて説明する。図12において、前述の実施形態で用いた各ステップと同じ処理が行われるステップについては、前述と同じ参照符号を付してそれらの説明は省略する。
【0058】
図12のステップS1201において、追尾位置修正部105は、追尾領域iとその周辺領域と間の類似度を算出する。本実施形態の場合、追尾位置修正部105は、まず追尾領域iの周辺領域を矩形の探索範囲として設定する。ここで、周辺領域iの左上座標を(lx,ty)、右下座標を(rx,by)とする。ただし、フレーム画像の左上座標が原点(0,0)であり、画面左から右に向かう方向をx座標の正方向、画面上から下に向かう方向をy座標の正方向とする。また、追尾領域iの中心座標を(cx,cy)、幅をw、高さをh、フレーム画像の幅をW、高さをHとする。この場合、lx=max(0,cx-w)、rx=min(W,cx+w)、ty=max(0,cy-h),by=min(H,cy+h)である。
【0059】
次に、追尾位置修正部105は、追尾領域iと同じサイズの矩形領域を参照領域として定め、当該参照領域の中心座標が周辺領域内に収まり且つ追尾領域の外部になるよう、フレーム画像上にランダムに五つの参照領域を設定する。
【0060】
次に、追尾位置修正部105は、追尾領域iと五つの参照領域それぞれとの類似度を、予め定めた類似度計算式を用いて計算する。類似度計算式は、追尾領域iと参照領域の二つの領域の類似性を数値化できればどのような計算式でもよい。本実施形態では、それら二つの領域間の色ヒストグラム・インターセクションを利用する。すなわち、追尾位置修正部105は、まず、それぞれの領域のカラー値をNc色に減色し、次に、それぞれの領域で色ヒストグラムを作成する。その後、追尾位置修正部105は、式(3)、式(4)により類似スコアを計算する。
【0061】
【数2】
【0062】
S=D/Np 式(4)
ただし、式(3)および式(4)中のcは色のインデクス値、acは一方の領域で色のインデクス値cを持つ画素の数、bcはもう一方の領域で色のインデクス値cを持つ画素の数、Npはそれぞれの領域内の総画素数、Sはそれら二つの領域間の類似度である。
【0063】
次にステップS1202の処理に移ると、追尾位置修正部105は、五つの参照領域それぞれについて算出した類似度Sが、所定の閾値ThSmより大きい領域が存在するか否かを判定する。追尾位置修正部105は、類似度Sが所定の閾値ThSmより大きい参照領域が一つでも存在する場合には、処理をステップS301に移し、そうでなければステップS300の処理を終了する。
【0064】
以上のように、第3の実施形態における画像処理装置100は、追尾領域の周辺に追尾領域と類似した領域が存在する場合に、追尾位置ずれ修正を行うフローに処理を進める。これにより、第3の実施形態によれば、例えば追尾領域と背景領域との類似性が低い場合など追尾位置のずれが生じ難い場合には、追尾精度を維持しつつ計算負荷を上げずに人物を追尾することが可能となる。
【0065】
<第4の実施形態>
次に、第4の実施形態について説明する。
前述した第1の実施形態から第3の実施形態ではユーザによる操作を伴わない場合について説明した。第4の実施形態では、追尾位置のずれの修正にユーザ操作を反映させる場合について説明する。
【0066】
図13は第4の実施形態の画像処理装置1300の構成例を示すブロック図である。また図14は、第4の実施形態の画像処理装置1300に係る画像処理のフローチャートであり、人体(物体)検出および追尾から追尾位置のずれ修正までの処理の流れを示している。以下、冗長な説明を避けるため第1の実施形態との差分に焦点を当てて説明する。図13および図14において、前述の実施形態で説明した構成および各ステップと同じ部分には、前述と同じ参照符号を付してそれらの説明は省略する。
【0067】
第4の実施形態の画像処理装置1300の場合、図1に示した画像処理装置100と比較して、設定部1301が追加されているとともに、追尾部1302の動作が図1の追尾部102とは異なる。
【0068】
第4の実施形態の場合、設定部1301は、ステップS1401の処理として、ユーザ操作に応じて、追尾位置ずれ修正機能の有効または無効の設定を行う。追尾位置ずれ修正機能の有効または無効の設定情報は、追尾部1302が保有するメモリに格納してもよいし、記憶装置107に格納するよう構成してもよい。第4の実施形態の場合、設定部1301は、初回の画像取得前および不図示のユーザインターフェースを通じてユーザが特定の操作を行った場合だけステップS1401を実行する。ユーザインターフェースを通じた操作とは、例えば画面上の設定ボタンの押下や所定のキー操作である。もちろんステップS1401の処理を実行するか否かを切り替えることができれば、ユーザインターフェースを通じた操作はこれに限らず自由に設定可能である。例えば、設定部1301は、マイクロホンを通じたユーザからの音声取り込みと音声認識の結果を基に、ステップS1401の処理を実行するよう構成されていてもよい。あるいは、設定部1301は、ビデオカメラを通じてユーザのジェスチャーを動画や静止画像として取り込み、その画像認識により所定のジェスチャーを認識した場合にはステップS1401の処理を実行するよう構成されていてもよい。
【0069】
次に、画像取得部101はステップS201の画像取得処理を実行するが、このステップS201以降のステップS206までは第1の実施形態と同じ動作になる。第4の実施形態の場合、ステップS203からステップS206までの各処理は、追尾部102が実行してもよい。
【0070】
ステップS206まで処理の後、追尾部1302は、ステップS1402の処理として、追尾位置のずれ修正機能がユーザによって有効に設定されているか否かを判別する。そして、追尾位置のずれ修正機能が有効に設定されている場合、追尾部1302は、ステップS300の処理に移る。一方、追尾位置のずれ修正機能が有効に設定されていない場合、追尾部1302はステップS300の処理は行わず、画像処理装置1300はステップS207に処理を移す。ステップS300の動作は、第1の実施形態から第3の実施形態で説明したステップS300の処理のいずれかが行われる。
【0071】
以上のように、第4の実施形態による画像処理装置1300は、ユーザ操作に基づいて追尾位置のずれ修正機能の有効/無効を設定可能に構成されている。このため、第4の実施形態によれば、ユースケース等に応じて精度と計算機負荷とのバランスをユーザが柔軟に調整することが可能となる。
【0072】
<第5の実施形態>
次に、第5の実施形態について説明する。
第4の実施形態では、追尾位置のずれ修正にユーザ操作を反映させる例として、ユーザインターフェースを通じてユーザが追尾位置のずれの機能を設定する方法を説明した。第5の実施形態では、ユーザインターフェースを通じて、ユーザが、追尾位置ずれの修正対象とする物体(人体)を設定する場合について説明する。第5の実施形態の画像処理装置1300の構成は、図13に示した構成と同様である。
【0073】
図15は第5の実施形態の画像処理装置1300に係る画像処理のフローチャートであり、人体(物体)検出および追尾から追尾位置のずれ修正までの処理の流れを示している。以下、冗長な説明を避けるため第1の実施形態との差分に焦点を当てて説明する。図15において、前述の実施形態で説明した各ステップと同じ部分には、前述と同じ参照符号を付してそれらの説明は省略する。
【0074】
図15のステップS1501において、設定部1301は、ユーザインターフェースを通じてユーザにより指定された、追尾位置ずれ修正を行う物体を、追跡位置ずれの修正対象オブジェクトとして設定する。第5の実施形態の例でも前述の実施形態同様に、物体として人体が追尾されるものとする。追尾位置ずれ修正を行う物体の指定情報は、追尾部1302が保有するメモリに格納してもよいし、記憶装置107に格納するよう構成してもよい。本実施形態では、初回の画像取得前およびユーザインターフェースを通じてユーザが特定の操作を行った場合だけ、ステップS1501が実行されるものとする。ユーザインターフェースを通じた操作例は、前述した第4の実施形態の例と同様である。
【0075】
次に、画像取得部101においてステップS201が実行されるが、このステップS201からステップS206までは第1の実施形態と同じ動作になる。ただし、第5の実施形態の場合、ステップS203からステップS206までの処理は追尾部1302が実行してもよい。
【0076】
ステップS206までの処理の後、追尾部1302は、ステップS1502の処理として、追尾領域i(つまり追尾領域iに対応した人体のオブジェクト)が追尾位置ずれの修正対象として設定されているか否かを判定する。そして、追尾領域iが追尾位置ずれの修正対象に設定されていると判定された場合、追尾部1302は、ステップS300の処理に移る。一方、追尾領域iが追尾位置ずれの修正対象として設定されていない場合、追尾部1302はステップS300の処理は行わず、画像処理装置1300はステップS207に処理を移す。ステップS300の動作は、第1の実施形態から第3の実施形態で説明したステップS300の処理のいずれかが行われる。
【0077】
以上のように、第5の実施形態の画像処理装置1300は、ユーザ操作に基づいて追尾位置のずれ修正機能を適用する追尾領域が設定される。これにより、第5の実施形態によれば、ユースケース等に応じて追尾する人体ごとに、ユーザが精度を調整可能であるとともに、計算機負荷のバランスを柔軟に調整することが可能となる。
【0078】
<第6の実施形態>
次に、第6の実施形態について説明する。
第5の実施形態では、ユーザインターフェースを通じて、ユーザが追尾位置のずれ修正対象とする物体を設定する例について説明した。第6の実施形態では、ユーザインターフェースを通じて、ユーザが、追尾位置のずれを適用する領域を設定する場合について説明する。第6の実施形態の画像処理装置の構成は、図13に示した構成と同様である。
【0079】
図16は、第6の実施形態の画像処理装置に係る画像処理のフローチャートであり、人体(物体)検出および追尾から追尾位置のずれ修正までの処理の流れを示している。以下、冗長な説明を避けるため第1の実施形態との差分に焦点を当てて説明する。図16において、前述の実施形態で説明した各ステップと同じ部分には、前述と同じ参照符号を付してそれらの説明は省略する。
【0080】
図16のステップS1601において、設定部1301は、ユーザインターフェースを通じてユーザにより指定された、追尾位置のずれ修正を行う画像領域を設定する。追尾位置のずれ修正を行う画像領域の指定情報は、追尾部1302が保有するメモリに格納してもよいし、記憶装置107に格納するよう構成してもよい。本実施形態では、初回の画像取得前およびユーザインターフェースを通じてユーザが特定の操作を行った場合だけステップS1601が実行されるものとする。ユーザインターフェースを通じた操作例は、前述した第4の実施形態の例と同様である。
【0081】
次に、画像取得部101がステップS201の処理を実行するが、このステップS201からステップS206までは第1の実施形態と同じ動作になる。ただし、第6の実施形態の場合、ステップS203からステップS206までの処理は追尾部1302が実行してもよい。
【0082】
ステップS206までの処理後、追尾部1302は、ステップS1602の処理に移る。ステップS1602において、追尾部1302は、追尾領域iの位置がステップS1601で設定された画像領域内に入っているか否かを判定する。そして、追尾領域iが画像領域内に入っていると判定した場合、追尾部1302は、ステップS300の処理に移る。一方、追尾領域iの位置がステップS1601で設定された画像領域内に入っていないと判定した場合、追尾部1302は、ステップS300の処理を行わず、画像処理装置1300はステップS207に処理を移す。ステップS300の動作は、第1の実施形態から第3の実施形態で説明したステップS300の処理のいずれかが行われる。
【0083】
以上のように、第6の実施形態の画像処理装置1300は、ユーザ操作に基づいて追尾位置のずれを適用する領域が設定される。これにより、第6の実施形態によれば、ユースケース等に応じて画像領域ごとに精度を、ユーザが調整可能であるとともに、計算機負荷のバランスを柔軟に調整することが可能である。
【0084】
<第7の実施形態>
次に、第7の実施形態について説明する。
第7の実施形態の画像処理装置の構成は図1または図13と同様であり、各部の説明は省略する。第7の実施形態では、図1の構成を例に挙げて説明する。
第7の実施形態の場合、追尾部102は、着目する人体の追尾位置の推定において、複数の追尾位置候補を取捨選択する。第7の実施形態では、着目する人体の追尾位置の推定の際に複数の追尾位置候補を取捨選択することにより、前述の第1の実施形態よりもさらに効果的に追尾位置ずれを抑制する方法を説明する。
【0085】
ここで、複数の追尾位置候補から最終的な検出結果を確定する方法としては、参考文献2に開示されているNon-maximum suppression(NMS)の方法がある。
【0086】
参考文献2:Pedro F Felzenszwalb, Ross B Girshick, David McAllester, "Object detection with discriminatively trained part-based models," TPAMI, Vol. 32, No. 9, 2010.
【0087】
NMSでは、画像中のスコア付けされた領域が複数与えられたとき、ある着目領域と、よりスコアの高い領域とのIoU値が所定の閾値以上になった場合に、その着目領域を排除することが繰り返し行われる。ここで、IoUとは、intersection-of-unionの略であり画像の重なりの割合を表す値である。IoUは、式(5)で表される。
【0088】
IoU=(領域A∧領域Bの面積)/(領域A∨領域Bの面積)
【0089】
また、複数の追尾位置候補から最終的な検出結果を確定する方法は、参考文献3に開示されているパーティクルフィルタ法でもよい。パーティクルフィルタ法では、現在の状態から起こりうる多数の次の状態が多数のパーティクルで表現される。パーティクルフィルタ法では、各パーティクルが持つ尤度に基づき全パーティクルの重みつき平均が計算され、これが次の状態(追尾位置)となる。
【0090】
参考文献3:北川源四郎, "モンテカルロフィルタおよび平滑化について," 統計数理, Vol.44, No.1, pp. 31-48, 1996.
【0091】
あるいは、複数の追尾位置候補から最終的な検出結果を確定する方法としては、複数の追尾位置候補から最終的な検出結果を確定するために複数の追尾位置候補の平均を算出するなどの方法が用いられてもよい。この平均の算出方法では、追尾位置候補の中心座標、幅、高さそれぞれで平均値が算出され、その算出した値を持つ参照領域が検出結果となるい。
【0092】
ただし、これらの方法の場合、検出対象の人体の近辺に、当該人体と類似した領域が存在する場合には、その類似領域が追尾位置候補として誤検出されてしまう場合がある。誤検出された追尾位置候補は、最終的な検出結果の検出位置のずれを生じさせることになる。
【0093】
図17(a)~図17(c)は、一般的な追尾対象物体(この例では人体)の検出手順と最終的な検出結果の例の説明に用いる図である。図17(a)は、検出および追尾処理前のフレーム画像1700の一例を示した図である。図17(b)は、検出および追尾処理中のイメージを表した図である。図17(c)は、検出および追尾処理後のイメージを表した図である。図17(a)の画像1700は、検出対象物体が含まれるフレーム画像の一部であり、人物1701および1702が検出対象物体としての着目人物であるとする。図17(b)に示されている点線矩形は検出確定前の複数の追尾位置候補1710を示しており、実線矩形は誤検出した追尾位置候補1711を示しているとする。第7の実施形態では、予め定めたスコア以上の検出結果が追尾位置候補である。図7(c)の太線実線矩形は、一般的な追尾対象物体の検出手順による最終的な検出結果1720の例を示している。
【0094】
図17(a)~図17(c)の例において、最終的な検出結果は、本来ならば検出および追尾中の人物1701を囲む矩形となるべきであるが、誤検出した追尾位置候補1711によって、最終的な検出結果1720は右上にずれてしまっている。
【0095】
図18(a)と図18(b)は、第7の実施形態において、追尾位置のずれを抑制するための追尾対象物体(人体)の検出手順と最終的な検出結果を示す図である。図18(a)は、検出および追尾対象のフレーム画像1800の一部を示した図である。また図18(a)の点線矩形は検出確定前の複数の追尾位置候補1810を示している。図18(b)は、検出および追尾処理後のイメージを表している。
【0096】
以下、第7の実施形態における追尾位置候補の確定方法について説明する。追尾位置候補の確定処理は、以下の第1処理~第4処理の順に行われる。
第1処理:予め定めたスコアあるいは尤度以上の検出結果のみを追尾位置候補として残す。
第2処理:追尾物体(人体)について、前フレームまでの追尾結果を元に、着目フレームでの移動予測領域を算出する。
第3処理:第1処理による追尾位置候補の領域と第2処理で算出した各移動予測領域とのIoUを算出する。
第4処理:第3処理で所定の閾値を超えたIoU値となった追尾位置候補があれば、スコアや尤度の大きさにかかわらずその追尾位置候補を削除する。
【0097】
この第4処理の後に残った追尾位置候補が、図18(b)の太線実線矩形で示した最終的な検出結果1820である。第7の実施形態の場合、追尾位置候補のスコアに応じた重みづけ平均により最終的な検出結果1820が生成される。本実施形態の場合、最終的な検出結果1820は、検出および追尾中の人物を囲む矩形となる。
【0098】
以上のように、第7の実施形態の画像処理装置100は、追尾対象物体の検出において、検出確定前の複数の追尾位置候補を取捨選択する。これにより、第7の実施形態によれば、さらに効果的に追尾位置のずれを抑制することが可能となる。
【0099】
前述した各実施形態の画像処理装置の構成または各フローチャートの処理は、ハードウェア構成により実現されてもよいし、例えばCPUが本実施形態に係るプログラムを実行することによりソフトウェア構成により実現されてもよい。また、一部がハードウェア構成で残りがソフトウェア構成により実現されてもよい。ソフトウェア構成のためのプログラムは、予め用意されている場合だけでなく、不図示の外部メモリ等の記録媒体から取得されたり、不図示のネットワーク等を介して取得されたりしてもよい。
【0100】
また、前述した各実施形態の画像処理装置の構成のうち、追尾部、軌跡分析部、軌跡平滑化部、追尾位置修正部などで行われる処理は、人工知能(AI:artificial intelligence)を適用した処理であってもよい。例えば、それらの各部の代わりとして、機械学習された学習済みモデルを代わりに用いてもよい。その場合には、それら各部への入力データと出力データとの組合せを学習データとして複数個準備し、それらから機械学習によって知識を獲得し、獲得した知識に基づいて入力データに対する出力データを結果として出力する学習済みモデルを生成する。この学習済みモデルは、例えばニューラルネットワークモデルで構成できる。そして、その学習済みモデルは、前述の各部と同等の処理をするためのプログラムとして、CPUあるいはGPUなどと協働で動作することにより、前述の各部の処理を行う。また、前述の学習済みモデルは、必要に応じて一定のデータを処理する毎に更新する等も可能である。
【0101】
本発明に係る制御処理における1以上の機能を実現するプログラムは、ネットワーク又は記憶媒体を介してシステム又は装置に供給可能であり、そのシステム又は装置のコンピュータの一つ以上のプロセッサにより読また出し実行されることで実現可能である。
前述の各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0102】
100:画像処理装置、101: 画像取得部、102: 追尾部、103: 軌跡分析部、104: 軌跡平滑化部、105: 追尾位置修正部、106: 出力部、107: 記憶装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18