(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-31
(45)【発行日】2024-06-10
(54)【発明の名称】画像処理装置、画像処理方法、及びプログラム
(51)【国際特許分類】
G06T 7/20 20170101AFI20240603BHJP
【FI】
G06T7/20 300Z
(21)【出願番号】P 2020103650
(22)【出願日】2020-06-16
【審査請求日】2023-05-29
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】清水 智之
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2010-146522(JP,A)
【文献】特開2019-040306(JP,A)
【文献】特開2020-086879(JP,A)
【文献】特開2008-252296(JP,A)
【文献】特開2014-138661(JP,A)
【文献】特開2018-152793(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
映像中の第一のフレーム画像及び前記第一のフレーム画像に対して所定の時間だけ離れた第二のフレーム画像を用いて追尾処理を行う画像処理装置であって、
前記第一のフレーム画像及び前記第二のフレーム画像のそれぞれから追尾対象となる被写体を検出する検出手段と、
前記検出手段により前記第一のフレーム画像から検出された前記追尾対象と前記第二のフレーム画像から検出された前記追尾対象との組み合わせ毎に、追尾対象が移動状態であるか非移動状態であるかを判定する第一の判定手段と、
前記非移動状態の前記追尾対象の組み合わせであれば、同一の前記追尾対象の組み合わせであるか否かを判定するマッチング判定を行う第二の判定手段とを有することを特徴とする画像処理装置。
【請求項2】
前記第二の判定手段は、前記移動状態の前記追尾対象の組み合わせであれば、過去の移動履歴に基づいて前記マッチング判定を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記検出手段により検出された前記追尾対象となる被写体のサイズを推定する推定手段と、
前記第一のフレーム画像と前記第二のフレーム画像との時間間隔を取得する取得手段とを有し、
前記第一の判定手段は、推定された被写体のサイズ及び取得されたフレーム画像の時間間隔に基づいて閾値を算出し、算出した閾値に基づいて追尾対象が移動状態であるか非移動状態であるかを判定することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記第一の判定手段は、前記第一のフレーム画像から検出された追尾対象と前記第二のフレーム画像から検出された追尾対象との距離が前記閾値を超えない場合、非移動状態であると判定することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記検出手段は、前記追尾対象となる被写体における2か所の領域を検出し、
前記推定手段は、前記検出手段により検出された前記2か所の領域の距離に基づいて被写体のサイズを推定することを特徴とする請求項3又は4に記載の画像処理装置。
【請求項6】
前記閾値に対応する範囲と、前記第二の判定手段によるマッチング判定の結果とを重畳した画像を生成して表示することを特徴とする請求項3~5の何れか1項に記載の画像処理装置。
【請求項7】
前記第一の判定手段による判定結果及び過去の移動履歴に基づいて前記マッチング判定を行う前記追尾対象の組み合わせを選定する選定手段を有し、
前記第二の判定手段は、前記選定手段により選定された前記追尾対象の組み合わせについて前記マッチング判定を行うことを特徴とする請求項1~6の何れか1項に記載の画像処理装置。
【請求項8】
前記選定手段は、前記第一のフレーム画像から検出された前記追尾対象と前記第二のフレーム画像から検出された前記追尾対象とのすべての組み合わせから前記マッチング判定を行う前記追尾対象の組み合わせを選定することを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記第一のフレーム画像及び第二のフレーム画像に基づいて得られる中間特徴を取得して、前記第一のフレーム画像及び第二のフレーム画像から検出された追尾対象の関連を示すマップを生成する生成手段を有し、
前記第一のフレーム画像及び第二のフレーム画像から検出された追尾対象のそれぞれの位置で前記マップを参照して関連度の高い前記追尾対象を特定し、該関連度の高い追尾対象の組み合わせの中からマッチング判定を行うことを特徴とする請求項1~8の何れか1項に記載の画像処理装置。
【請求項10】
映像中の第一のフレーム画像及び前記第一のフレーム画像に対して所定の時間だけ離れた第二のフレーム画像を用いて追尾処理を行う画像処理装置の画像処理方法であって、
前記第一のフレーム画像及び前記第二のフレーム画像のそれぞれから追尾対象となる被写体を検出する検出工程と、
前記第一のフレーム画像から検出された前記追尾対象と前記第二のフレーム画像から検出された前記追尾対象との組み合わせ毎に、追尾対象が移動状態であるか非移動状態であるかを判定する第一の判定工程と、
前記非移動状態の前記追尾対象の組み合わせであれば、同一の前記追尾対象の組み合わせであるか否かを判定するマッチング判定を行う第二の判定工程とを有することを特徴とする画像処理方法。
【請求項11】
映像中の第一のフレーム画像及び前記第一のフレーム画像に対して所定の時間だけ離れた第二のフレーム画像を用いて追尾処理を行う画像処理装置のコンピュータに、
前記第一のフレーム画像及び前記第二のフレーム画像のそれぞれから追尾対象となる被写体を検出する検出ステップと、
前記第一のフレーム画像から検出された前記追尾対象と前記第二のフレーム画像から検出された前記追尾対象との組み合わせ毎に、追尾対象が移動状態であるか非移動状態であるかを判定する第一の判定ステップと、
前記非移動状態の前記追尾対象の組み合わせであれば、同一の前記追尾対象の組み合わせであるか否かを判定するマッチング判定を行う第二の判定ステップとを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【0002】
映像中の人物などを追尾する際、過去のフレームでの位置から対象の移動量及び移動方向を求め、次のフレームでの移動先を予測して追尾処理の対象領域を絞りこむものがある(例えば、特許文献1参照)。近年の一般的なカメラの動画撮影時のフレームレートは30fps(フレーム/秒)や60fpsといったものも多く、短時間で移動量や移動方向の大きな変化を生じることは少ないことから、予測に基づく追尾処理により精度向上が期待できる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、前述のような高いフレームレートの映像においては、フレーム内の多数の被写体を同時に追尾するような場合、処理のコストが増大してスループットが低下する問題がある。また、ネットワーク経由で映像を取得して処理を行う場合のデータ転送量が増えたり、記録しておくストレージ容量が増大したりといった問題もある。そのため、フレーム間隔が比較的大きい、低フレームレートの映像での追尾方法への要求は高い。一方で、フレーム間隔を広げた場合、映像中の被写体が直前のフレームまでの動きとは異なる動きをする可能性が高くなる。例えば、一定の速度で歩行中の人物等であれば、低フレームレートであっても、移動予測は有効である。しかし、座った人物など静止に近い状態の人物は、高いフレームレートであればほとんど静止して見えるために同様の移動予測が有効であるが、フレーム間隔が広い場合、常に不規則に動いて見えるために移動予測が困難である。このため、過去の追尾結果に基づく移動予測を利用して追尾処理を行うと、低フレームレートの映像では対象の追尾に失敗してしまうことがある。
【0005】
そこで、本発明は、低フレームレートの映像であっても、追尾対象を精度よく追尾できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る画像処理装置は、映像中の第一のフレーム画像及び前記第一のフレーム画像に対して所定の時間だけ離れた第二のフレーム画像を用いて追尾処理を行う画像処理装置であって、前記第一のフレーム画像及び前記第二のフレーム画像のそれぞれから追尾対象となる被写体を検出する検出手段と、前記検出手段により前記第一のフレーム画像から検出された前記追尾対象と前記第二のフレーム画像から検出された前記追尾対象との組み合わせ毎に、追尾対象が移動状態であるか非移動状態であるかを判定する第一の判定手段と、前記非移動状態の前記追尾対象の組み合わせであれば、同一の前記追尾対象の組み合わせであるか否かを判定するマッチング判定を行う第二の判定手段とを有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、低フレームレートの映像であっても、追尾対象を精度よく追尾することができる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態における画像処理装置のハードウェア構成例を示す図である。
【
図2】本実施形態における画像処理装置の機能構成例を示す図である。
【
図3】本実施形態における画像処理装置の処理例を示すフローチャートである。
【
図4】本実施形態におけるマッチング判定処理する組み合わせの選定処理の例を示すフローチャートである。
【
図5】追尾対象から2か所の領域を検出する例を説明する図である。
【
図6】2つのフレーム画像からの領域の検出例を説明する図である。
【
図7】最低移動量閾値と2つのフレーム画像の追尾対象の組み合わせの例を説明する図である。
【
図8】第2の実施形態における画像処理装置を説明する図である。
【
図9】第2の実施形態における画像処理装置の機能構成例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態を図面に基づいて説明する。
【0010】
(第1の実施形態)
本発明の第1の実施形態について説明する。
図1は、第1の実施形態における画像処理装置を実現するコンピュータ装置のハードウェア構成例を示すブロック図である。画像処理装置は単一のコンピュータ装置で実現してもよいし、必要に応じた複数のコンピュータ装置に各機能を分散して実現するようにしてもよい。複数のコンピュータ装置で構成される場合には、各コンピュータ装置は、Local Area Network(LAN)などの通信ネットワークを介して互いに通信可能なように接続されている。
【0011】
コンピュータ装置100は、CPU101、ROM102、RAM103、外部記憶装置104、入力デバイスインタフェース105、出力デバイスインタフェース106、及び通信インタフェース107を有する。CPU101、ROM102、RAM103、外部記憶装置104、入力デバイスインタフェース105、出力デバイスインタフェース106、及び通信インタフェース107は、システムバス108を介して通信可能に接続される。
【0012】
CPU(Central Processing Unit)101は、コンピュータ装置100全体を制御する。ROM(Read Only Memory)102は、変更を必要としないプログラムやパラメータ等を格納するメモリである。RAM(Random Access Memory)103は、外部装置などから供給されるプログラムやデータ等を一時記憶するメモリである。
【0013】
外部記憶装置104は、外部装置から取得した映像等を記憶する記憶装置である。外部記憶装置104は、例えば、コンピュータ装置100に固定して設置されたハードディスクやメモリカードなどを含む。また、外部記憶装置104は、例えば、コンピュータ装置100から着脱可能なフレキシブルディスク(FD)やCompact Disk(CD)等の光ディスク、磁気や光カード、ICカード、メモリカードなどを含む。
【0014】
入力デバイスインタフェース105は、ユーザの操作を受けてデータを入力するポインティングデバイスやキーボードなどの入力デバイス109とのインタフェースである。出力デバイスインタフェース106は、コンピュータ装置100の保持するデータや供給されたデータやプログラムの実行結果を出力するためのモニタなどの出力デバイス110とのインタフェースである。通信インタフェース107は、インターネット等のネットワーク回線111やカメラ112などに接続するためのインタフェースである。カメラ112は、ネットワーク回線111経由でコンピュータ装置100と接続しても構わない。
【0015】
図2は、本実施形態における画像処理装置の機能構成例を示すブロック図である。本実施形態における画像処理装置は、画像取得部201、検出部202、サイズ推定部203、間隔取得部204、候補選定部205、移動判定部206、移動妥当性判定部207、マッチング部208、及び履歴管理部209を有する。
【0016】
画像取得部201は、入力となる画像をカメラ112から取得する。本実施形態では、カメラ112が動画を撮影するものとし、画像取得部201は、カメラ112が撮影した映像中のある時間だけ離れた2つのフレーム画像を取得する。すなわち、画像取得部201は、時刻tの画像(第一のフレーム画像)と、時刻tから所定の時間Δtだけ離れた時刻(t+Δt)の画像(第二のフレーム画像)とをそれぞれ取得する。また、ここでは、各フレーム画像は少なくとも撮影した日時情報(タイムスタンプ)をメタデータとして有するものとし、後述する間隔取得部204で、この2つのフレーム画像の時間幅(Δt)を算出できるようにする。ただし、これに限るものではなく、カメラ設定や2フレームを含む映像ファイルのメタデータとしてフレームレートを取得できる場合も多いため、フレームレートを取得しても良い。
【0017】
検出部202は、画像取得部201で取得した第一のフレーム画像及び第二のフレーム画像をそれぞれ処理して、各フレーム画像から追尾対象となる被写体を検出し、画像上での検出位置を特定する。このとき、検出部202は、サイズ推定部203で追尾対象の被写体のサイズ推定に利用できる情報を合わせて検出する。検出部202は、例えば、追尾対象から2か所の領域を検出するようにしても良い。追尾対象内の2点を得ることができれば、その2点を結ぶ線分は、追尾対象の被写体のサイズと相関のある情報として利用できる。
【0018】
本実施形態では、一例として追尾対象を人物とし、検出部202が、人物に含まれる2か所の領域を検出する。検出部202は、例えば、
図5(a)に一例を示すように、画像中の人物について首の位置(501)と頭部の中心位置(502)とを検出すれば良い。また、
図5(a)が第一のフレーム画像であるとすると、所定の時間Δtだけ離れた第二のフレーム画像(
図5(b))からも同様の検出を行い、検出部202は、画像中の人物について首の位置(503)と頭部の中心位置(504)とを検出する。なお、
図5に示した例では、画像中の人物は一人だけであるが、複数の人物がいれば、すべての人物について同様の検出を行う。
【0019】
なお、検出部202が検出する、追尾対象の被写体のサイズ推定に利用できる情報はこれに限るものではなく、例えば、頭部を外接するような矩形領域を検出するようにしても良い。頭部のサイズも、人物サイズとの相関の高い値と言える。追尾対象が人物である場合、検出部202は、このような人物サイズに相関のある情報を合わせて検出すれば良い。
【0020】
サイズ推定部203は、検出部202で検出した情報に基づいて、追尾対象の被写体のサイズを推定する。本実施形態では、前述したように、人物を追尾対象として首と頭部の中心の2か所の領域の座標位置の距離(画素数)を検出部202で取得して、サイズ推定部203が、その人物のおよそのサイズ(画素数)を算出する。例えば、人物の首と頭部中心の位置から人物のサイズを推定する場合、およそ頭部の半分程度に相当するとみなし、一般的な成人が6~7頭身であることから、2点間のサイズを十数倍程度の定数倍することによって、人物サイズを推定するなどすれば良い。
【0021】
被写体のサイズの推定の仕方は、追尾対象や検出する領域の組み合わせ等によって異なるが、前述のように予め倍率を決めておくなどして推定すれば良い。あるいは、人物であれば、子供と大人では比率が変わってくるため、利用シーンに応じて切り替えるなどしても良い。なお、追尾対象の被写体のサイズは、第一のフレーム画像及び第二のフレーム画像の少なくともいずれか一方で得られれば良い。ただし、検出処理のミスによりサイズ推定がうまく機能しない可能性もあるので、検出結果が得られた方を利用するようにしても良い。あるいは、検出結果の確信度によって利用するフレームを切り替えるようにしても構わない。
【0022】
間隔取得部204は、画像取得部201で取得した、第一のフレーム画像と第二のフレーム画像との間の時間間隔を取得する。本実施形態では、取得したフレームのタイムスタンプを取得できるとしたので、間隔取得部204は、取得したタイムスタンプを比較することで2つのフレーム画像間の時間幅を取得する。
【0023】
候補選定部205は、第一のフレーム画像及び第二のフレーム画像からそれぞれ検出された追尾対象とする被写体が、同一であるか否かの判定(マッチング判定)を行う組み合わせを選定する。候補選定部205は、移動判定部206及び移動妥当性判定部207の判定結果に応じて、マッチング判定をする追尾対象の被写体の組み合わせの選定を行う。
【0024】
ここで、マッチング判定を行う組み合わせの候補について、
図6を参照して説明する。
図6(a)が第一のフレーム画像であり、
図6(b)が第二のフレーム画像であるとする。
図6(a)に示すように第一のフレーム画像からは対象として2つの領域601、603が検出されているとし、
図6(b)に示すように第二のフレーム画像からは対象として2つの領域602、604が検出されているとする。このとき、各フレームでの検出領域が移動する可能性のある組み合わせ(以下、移動候補とする)は、(601から602)、(601から604)、(603から602)、(603から604)の4通りある。候補選定部205は、フレーム毎の検出位置同士の移動候補から、マッチング部208で同一対象であるかをマッチング判定する組み合わせを、移動判定部206及び移動妥当性判定部207の判定結果によって選定する。候補選定部205における詳しい処理の流れについては、
図4のフローチャートを用いて後述する。
【0025】
移動判定部206は、サイズ推定部203での推定結果と、間隔取得部204で取得した第一のフレーム画像と第二のフレーム画像との間の時間間隔とに応じて、着目している移動候補の組み合わせが移動状態であるか否かを判定する。本実施形態では、フレーム間の時間間隔Δtと追尾対象の被写体のサイズs(画素)とから、移動状態と非移動状態とを区別するための最低移動量閾値thを、下記の式のように求める。
th=α(Δt×s)
【0026】
ここで、αは、被写体や映像内容によって決まる係数である。係数αは、例えば、人物の歩行映像であれば、映像から予めヒューリスティックに決めても良い。あるいは、利用状況に近い映像に移動・非移動の正解情報を設定し、線形回帰等によって統計的に算出しても構わない。
【0027】
そして、移動判定部206は、着目している移動候補の組み合わせの検出位置の距離(画素)が、最低移動量閾値thを超える場合には移動状態の組み合わせであると判定し、最低移動量閾値thを超えない場合には非移動状態の組み合わせであると判定する。移動状態と非移動状態について、
図7を参照して説明する。
図7は、
図6(a)及び
図6(b)の2つのフレーム画像で検出された検出領域を重畳して表示した様子を示した図である。
図7において、701は、前述した方法で求めた最低移動量閾値thの範囲を示しており、それぞれ、第一のフレーム画像の検出領域601及び検出領域603からの最低移動量閾値thの範囲を示す。
図7に示した例の場合、組み合わせ(601、602)、(601、604)、(603、602)は、最低移動量閾値thを超えているため、これらの組み合わせは移動状態にあると移動判定部206は判定する。一方で、組み合わせ(603、604)は、最低移動量閾値thの範囲内にあるため、非移動状態であると移動判定部206は判定する。
【0028】
移動妥当性判定部207は、着目している移動候補の組み合わせが正しいと仮定した場合に、その移動量及び移動方向が、過去の移動量及び移動方向に対して妥当であるか否かを判定する。移動妥当性判定部207は、着目している移動候補の組み合わせにおける第一のフレーム画像の検出領域について、過去の移動量及び移動方向の情報を履歴管理部209から取得して、第二のフレーム画像での移動位置の範囲を予測する。この予測した移動位置の範囲内に、着目している移動候補の組み合わせにおける第二のフレーム画像の検出領域があるか否かで、候補選定部205において、マッチング判定する組み合わせとして残すか否かを判定する。例えば、
図7に示した例であれば、第一のフレーム画像において追尾対象は601及び603であり、移動妥当性判定部207は、これらの追尾対象に関する過去の移動量及び移動方向の情報を履歴管理部209から取得し、移動の妥当性を判定する。
【0029】
本実施形態では、過去の追尾におけるx方向及びy方向のそれぞれの移動量(画素)を移動履歴として追尾対象の位置座標とともに履歴管理部209に記録しておく。そして、移動妥当性判定部207は、着目している移動候補の組み合わせのうち、第一のフレーム画像の追尾対象の座標に関する移動量を履歴管理部209から取得し、追尾対象の座標に取得した移動量を加えて予測位置を算出する。移動妥当性判定部207は、算出した予測位置から予め定める一定サイズの範囲内に第二のフレーム画像の検出位置が入るか否かを判定する。
【0030】
ただし、これに限るものではなく、マッチング部208でマッチング判定する組み合わせの選択が行えれば良い。例えば、2フレームの間に突然逆走するような組み合わせを除くため、以下のような処理を行うようにしてもよい。過去の移動量及び移動方向である(Δx,Δy)を第一のベクトルとし、着目した組み合わせの第一のフレーム画像の追尾対象から第二のフレーム画像の追尾対象への移動ベクトルを第二のベクトルとする。そして第一のベクトルと第二のベクトルの内積を求め、負ではない、すなわち逆方向への移動ではないことを、移動妥当性の判定に利用しても構わない。
【0031】
マッチング部208は、候補選定部205で選定された各組み合わせに対して、同一対象の組み合わせであるか否かを判定する。マッチング部208は、第一のフレーム画像の追尾対象毎に、第二のフレーム画像の追尾対象から選定された各組み合わせのそれぞれの特徴量の類似度を求め、最も高いスコアを優先して残すようにするなどして、同一対象の追尾となる組み合わせを確定する。
【0032】
履歴管理部209は、マッチング部208で確定した各追尾対象の移動量及び移動方向を移動履歴として、次の2フレームの処理時に取得可能に保管・管理する。本実施形態では、マッチング部208での判定結果から、第一のフレーム画像から第二のフレーム画像への追尾対象の移動量及び移動方向がわかるため、この情報と、第二のフレーム画像における追尾対象の位置とを関連付けて保管・管理しておく。本実施形態では、画像取得部201が逐次的にフレーム画像を取得しながら追尾処理を繰り返すため、次の追尾処理では、現在の第二のフレーム画像を、第一のフレーム画像として処理が行われる。前述のように履歴管理部209に移動履歴を含む各情報を保管・管理しておくことで、移動妥当性判定部207では、第一のフレーム画像における各追尾対象の過去の移動量及び移動方向の情報を利用できる。
【0033】
次に、本実施形態における画像処理装置の処理の手順について、
図3に示すフローチャートを参照して説明する。
図3は、本実施形態における画像処理装置の処理例を示すフローチャートである。本実施形態では、1台のカメラで撮影した映像から時間Δtの間隔で逐次的にフレーム画像を入力し、2つのフレーム画像間において、画像中で検出された各同一個体の同一領域を対応付けながら追尾する場合について説明する。例えば、カメラ112が人の動きを監視する位置に設置された監視カメラであり、映像中の各人物が2つのフレーム画像間でそれぞれどのように動いたかを追尾するようなケースを想定する。
【0034】
まず、ステップS301では、画像取得部201が、カメラ112で撮影した映像から、時刻tのフレーム画像(第一のフレーム画像)及び時刻tから所定の時間Δtだけ離れた時刻(t+Δt)のフレーム画像(第二のフレーム画像)を取得する。本実施形態では、予め2つのフレーム画像において追尾対象とする被写体を検出した上で、検出した対象の同一性をマッチング部208で判定するようにするため、第一のフレーム画像及び第二のフレーム画像を両方取得する。
【0035】
ステップS302では、検出部202が、第一のフレーム画像及び第二のフレーム画像のそれぞれから、追尾対象である人物の2か所の領域を検出する。本実施形態では、前述したように、検出部202が、人物の首(第一の領域)と頭部の中心(第二の領域)を検出する。また、第一のフレーム画像及び第二のフレーム画像のそれぞれの画像中のすべての追尾対象の検出を行い、検出した領域の各座標位置情報を特定して出力する。
【0036】
ステップS303では、サイズ推定部203が、ステップS302において検出部202により検出された追尾対象の被写体(人物)毎のサイズを推定する。本実施形態では、前述したように、追尾対象とする人物毎に首及び頭部中心の2つの領域を検出しており、この2つの領域間の画素数に基づいて各人物のサイズを推定する。
【0037】
ステップS304では、間隔取得部204が、ステップS301において取得した第一のフレーム画像と第二のフレーム画像との間の時間間隔を取得する。なお、ステップS304での処理は、ステップS302及びS303での処理との依存性がないため、ステップS301において画像取得部201がフレーム画像を取得した後、ステップS302やS303の処理と非同期的に処理して構わない。
【0038】
ステップS305では、候補選定部205が、第一のフレーム画像及び第二のフレーム画像の各追尾対象から、マッチング部208でマッチング判定処理する組み合わせを選定する。候補選定部205での移動候補の組み合わせを選定する処理の流れは後述する。このステップS305での処理により、マッチング部208でマッチング判定をするための候補となる組み合わせが出力される。
【0039】
ステップS306では、ステップS305で出力されたマッチング判定をする各組み合わせに対して、マッチング部208が、同一対象同士の組み合わせであるか否かを判定する。これにより第一のフレーム画像における追尾対象の被写体が、第二のフレーム画像のいずれの追尾対象へと移動したかの追尾情報が決まる。
【0040】
ステップS307では、履歴管理部209が、ステップS306でのマッチング判定により得られた追尾情報を、第二のフレーム画像の追尾対象と関連付けて保管しておく。
【0041】
次に、
図4に示すフローチャートを参照して、候補選定部205の処理の流れについて説明する。
図4は、マッチング判定処理する組み合わせの選定処理の例を示すフローチャートである。ここでは、すでに
図3に示したステップS302~S304の処理が終了し、第一のフレーム画像及び第二のフレーム画像から、追尾対象人物の検出、人物のサイズ、及びフレーム画像間の時間間隔をそれぞれ取得済みであるとする。
【0042】
まず、ステップS401では、候補選定部205が、第一のフレーム画像における各追尾対象と、第二のフレーム画像における各追尾対象の移動候補の組み合わせのうち、未処理の組み合わせを選択する。本実施形態では、この処理は、第一のフレーム画像及び第二のフレーム画像のそれぞれにおける追尾対象のすべての組み合わせに対して行う。また、この時点で第一のフレーム画像及び第二のフレームに対する追尾対象の検出はすでに終わっているものとする。
【0043】
ステップS402では、移動判定部206が、ステップS401において取得した各移動候補の組み合わせについて、移動状態であるか非移動状態であるかを判定する。移動候補の組み合わせが非移動状態であると移動判定部206が判定した場合(yes)、ステップS404へ移行し、その移動候補の組み合わせをマッチング部208でマッチング判定する組み合わせの候補として確定させる。これにより、その移動候補の組み合わせが移動量及び移動方向による判定で誤って追尾切れされることを抑制できる。一方、移動候補の組み合わせが移動状態であると移動判定部206が判定した場合(no)、ステップS403へ移行する。
【0044】
ステップS403では、移動妥当性判定部207が、履歴管理部209から移動候補の第一のフレーム画像における検出対象についての過去の移動量及び移動方向を取得する。そして、移動妥当性判定部207が、取得した過去の移動量及び移動方向に対して、移動候補の組み合わせの移動量及び移動方向が妥当であるか否かを判定する。妥当であると移動妥当性判定部207が判定した場合(yes)、ステップS404へ移行し、その移動候補の組み合わせをマッチング部208でマッチング判定する組み合わせの候補として確定させる。これにより、移動状態であり、かつ、移動量及び移動方向が妥当である組み合わせであることがわかるため、その移動候補の組み合わせをマッチング判定する対象として残す。一方で、移動量及び移動方向が妥当でないと移動妥当性判定部207が判定した場合(no)、その組み合わせについてはマッチング判定する対象からは除外し、ステップS401に戻り、別の残った組み合わせについての処理を繰り返す。このようにして、移動したと仮定した場合に、過去の移動に対して妥当ではない組み合わせを除外して、マッチング判定の精度低下を抑制する。
【0045】
本実施形態で説明したような、予め2つのフレーム画像から追尾対象を検出しておき、それらの組み合わせをマッチングする方法であれば、フレーム間隔が離れていても追尾対象を見つけることができ、低フレームレートでの追尾を実現できるようになる。また、本実施形態では、2つのフレーム画像から検出した各追尾対象の移動候補の組み合わせのうち、いずれの組み合わせについてマッチング判定を行うかを、各組み合わせの移動状態によって切り替える。移動候補の組み合わせについて非移動状態であると判定した場合には、移動量及び移動方向にかかわらずマッチング判定を行うようにする。
【0046】
これにより、非移動状態の組み合わせについてはマッチング判定対象から除外しないようにして、誤って追尾切れしてしまうことを抑制することが可能となる。したがって、撮影した映像が仮に低フレームレートであったとしても、追尾対象を精度よく追尾することができるようになり、追尾精度を低下させることなく、フレーム画像の記録容量を減らしたり、クラウド等への転送量を減らしたりすることが可能となる。
【0047】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
第2の実施形態では、例えば、
図8に示すような構成で追尾処理を行う。なお、
図8に示す同図における画像取得部201、検出部202、及びマッチング部208は、
図2に示した画像取得部201、検出部202、及びマッチング部208と同様であるが、本実施形態におけるより具体的な処理について、以下に説明する。
【0048】
第2の実施形態では、時刻tの画像(第一のフレーム画像)801、及び時刻tから所定の時間Δtだけ離れた時刻(t+Δt)の画像(第二のフレーム画像)802を画像取得部201で取得する。
【0049】
次に、検出部202でそれぞれ検出処理を行い、追尾対象とする被写体(領域)の位置情報を取得しておく。また、フレーム間で同一対象のマッチングを行うために、関連マップ推定部803が、検出部202から各追尾対象の特徴情報を取得し、この特徴情報から第一のフレーム画像及び第二のフレーム画像の追尾対象間の関連情報を推定する。
【0050】
本実施形態では、検出部202は、画像中の特定物体の特定部位の存在位置を出力するように構成された畳込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いる。検出部202は、このニューラルネットワークを、予め検出対象の特定物体の特定部位を検出するタスクで学習しておく。例えば、検出対象が人物であれば、首や頭部や腰といったそれぞれの中心位置(以下、関節点と呼称する)に関して、関節点が存在する位置は1に近い尤度値になり、それ以外の部分は0に近い尤度値になるようなマップを出力するように学習しておく。このように学習した場合、フレーム画像の入力に対して一度のニューラルネットワーク処理によるマップの推定により、フレーム画像全体から追尾対象の検出を行うことができるため、検出のスループットが上がる。なお、例えば、
図5(a)に示したようなフレーム画像が入力された場合、首位置の検出マップには首の位置501の点が1、それ以外が0に近い値で出力される。なお、複数の人物が画像中に含まれていれば、それぞれの首の検出位置が1、それ以外は0のマップとなる。
【0051】
そして、検出処理におけるニューラルネットワークの中間層からの出力(中間特徴)を、前述した追尾対象の特徴情報として利用する。畳込みニューラルネットワークの中間層には、検出タスクを遂行するために必要な情報が集約されることが知られている。中間層からの出力である中間特徴を利用することで、検出対象(関節点)を利用した別のタスク、すなわち本実施形態であれば検出点(関節点)の追尾処理のようなタスクを効率的に精度よく遂行できる。すなわち、前述したように、検出時に一度にすべての追尾対象の検出を行うため、中間特徴はすべての追尾対象の情報を有している。この情報を利用することで、2つのフレーム画像間のすべての追尾対象の関連についても、後述する関連マップ推定部803において、一度の畳込みニューラルネットワーク処理によるマップ推定処理によって出力できる。
【0052】
関連マップ推定部803は、第一のフレーム画像及び第二のフレーム画像の検出過程で得た各中間特徴を統合して入力することで、同一の対象の関連を示すマップを生成し出力する。関連を示すマップは、例えば、第一のフレーム画像及び第二のフレーム画像における同一対象の位置座標を結ぶ軌跡の線分を示したマップ等で良く、検出した位置情報で参照することで同一対象であることを示す情報を得られるマップであれば種類も数も問わない。なお、本実施形態では、関連マップの推定も、畳込みニューラルネットワークによって行う。例えば、軌跡の線分のマップであれば、畳込みニューラルネットワークを、同一対象間の線分上の画素であれば1に近い尤度値となり、それ以外の場合は0に近い尤度値となるように、予め正解データから学習を行っておく。
【0053】
このようにすることで、第一のフレーム画像及び第二のフレーム画像から検出した追尾対象の移動候補の各組み合わせのうち、関連度の高い組み合わせを特定することができる。そして、その情報に基づいて、マッチング部208で同一対象の組み合わせを特定することで、フレーム間の同一対象の追尾を実現できる。
【0054】
例えば、
図5(a)及び
図5(b)がそれぞれ第一のフレーム画像及び第二のフレーム画像であるとすると、人物の首位置で追尾する場合の軌跡の線分マップであれば、
図10に示すようなマップが出力される。すなわち、両端が第一のフレーム画像及び第二のフレーム画像のそれぞれにおける首の検出位置(501、503)になっており、正しい検出位置の組み合わせ間の線分座標(画素位置)(1001)の値が1に近くなるようなマップとなる。このマップに対し、検出位置の組み合わせの間の線分座標の値を積分して距離(画素)で正規化した値は、正解の組み合わせであれば1に近くなる。一方で、間違った組み合わせの間の線分座標には値が出ていないため、1よりも低い値になることから正解の組み合わせであるか否かを区別することができる。このようにして、検出位置で関連マップを参照することで、同一対象の組み合わせであるか否かを推定することができる。また、前述したように、1度の畳込みニューラルネットワーク処理により、2つのフレーム画像間のすべての検出対象の組み合わせについての関連を推定できるため、効率的に関連度の高い組み合わせを探すことができる。
【0055】
なお、関連マップ推定部803は、例えば、
図9に一例を示すように、候補選定部205において、追尾対象の組み合わせを作る際に利用すれば良い。第1の実施形態では、ステップS401において、すべての追尾対象の移動候補の組み合わせを処理対象とした。第2の実施形態では、関連度に基づいた組み合わせを関連マップ推定部803の結果から得た上で、関連度の高い組み合わせについて、
図4に示した処理を実施すれば良い。この時、第1の実施形態では、マッチング部208は、追尾対象の組み合わせ毎に特徴量の類似度スコアを見てマッチング判定を行うようにしたが、関連マップ推定部803の精度が高い場合にはこれに限らない。例えば、関連マップ推定部803のマップを参照してマッチング判定を行い、移動候補を一意に確定できないような場合に、後処理的に第1の実施形態に記載したような移動予測による選定を実施しても構わない。
【0056】
このように、2フレーム分の画像に基づいて検出した中間特徴を利用して関連マップを推定することで、関連マップの推定が可能な範囲でフレームレートを下げることが可能となる。そのため、本実施形態のように、畳込みニューラルネットワークを利用して効率よく高精度に組み合わせを推定することができれば、追尾精度を維持しつつ、高いスループットを出すことができる。例えば、複数のカメラによる追尾処理を並行して行えるようになるなど、さらに効率的な追尾を実現できるようになる。
【0057】
(他の実施形態)
なお、前述した実施形態では、サイズ推定部203が、各追尾対象から検出した2か所の領域間の距離に基づいて、追尾対象とする被写体のサイズを推定するようにしているが、これに限らない。例えば、カメラ設置位置や画角に関する情報を取得できる場合には、歩行者等であれば、距離と画角からおよそのサイズを推定できるため、カメラ設置位置及び画角情報から追尾対象とする被写体のサイズを推定しても良い。あるいは、2眼以上のカメラで撮影することで、被写体との距離を推定し、カメラの焦点距離と被写体の距離から、およその被写体サイズを推定するようにしても良い。
【0058】
また、前述した実施形態では、追尾対象とする被写体が人物である例を示したが、人物のように完全に静止しないような被写体であっても構わない。その場合には、サイズ推定部203での被写体のサイズ推定の仕方や、移動判定部206での最低移動量閾値の算出の仕方を、被写体に合わせて調整する必要があるが、人物の場合と同様に、ヒューリスティックに決定しても統計的に決定しても良い。
【0059】
また、追尾対象とする被写体は、人物や車や動物等のように複数種類であっても良い。この場合には、種類毎にサイズ推定や移動判定の仕方を調整した上で、各追尾対象を認識処理によって分類し、分類した被写体毎にサイズ推定や移動判定を切り替えるようにすれば良い。被写体の分類は、既存のクラス分類手法を用いて構わない。例えば、前述した実施形態の検出処理と同様に、畳込みニューラルネットワークを用いた学習による分類など、既知の方法を利用すれば良い。これにより、人物に限らず任意の複数種類の被写体の追尾時にも、非移動状態の被写体の追尾精度の改善が期待できる。
【0060】
また、非移動状態の追尾対象の被写体が正しく追尾できているかを確認するため、マッチング部208でマッチングした組み合わせと、その組み合わせの移動判定結果とを、重畳表示しても良い。例えば、
図7に示したように、移動判定部206で算出した最低移動量閾値thの範囲を、追尾結果と重畳して表示するようにしても良い。これにより、算出した最低移動量閾値thの範囲が適切であるかを、表示された画像を見て確認することができ、最低移動量閾値thが大きすぎたり小さすぎたりするような場合にも、前述した係数αを補正するなどして追尾精度を改善することができる。
【0061】
(本発明の他の実施形態)
本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0062】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0063】
201:画像取得部 202:検出部 203:サイズ推定部 204:間隔取得部 205:候補選定部 206:移動判定部 207:移動妥当性判定部 208:マッチング部 209:履歴管理部 803:関連マップ推定部