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

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

▶ 日本電気株式会社の特許一覧

特許7196999オブジェクト検出・追跡装置、方法、およびプログラム
<>
  • 特許-オブジェクト検出・追跡装置、方法、およびプログラム 図1
  • 特許-オブジェクト検出・追跡装置、方法、およびプログラム 図2
  • 特許-オブジェクト検出・追跡装置、方法、およびプログラム 図3
  • 特許-オブジェクト検出・追跡装置、方法、およびプログラム 図4
  • 特許-オブジェクト検出・追跡装置、方法、およびプログラム 図5
  • 特許-オブジェクト検出・追跡装置、方法、およびプログラム 図6
  • 特許-オブジェクト検出・追跡装置、方法、およびプログラム 図7
  • 特許-オブジェクト検出・追跡装置、方法、およびプログラム 図8
  • 特許-オブジェクト検出・追跡装置、方法、およびプログラム 図9
  • 特許-オブジェクト検出・追跡装置、方法、およびプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-19
(45)【発行日】2022-12-27
(54)【発明の名称】オブジェクト検出・追跡装置、方法、およびプログラム
(51)【国際特許分類】
   G06T 7/246 20170101AFI20221220BHJP
【FI】
G06T7/246
【請求項の数】 10
(21)【出願番号】P 2021514722
(86)(22)【出願日】2019-04-17
(86)【国際出願番号】 JP2019016513
(87)【国際公開番号】W WO2020213099
(87)【国際公開日】2020-10-22
【審査請求日】2021-09-13
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【弁理士】
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】大網 亮磨
【審査官】村松 貴士
(56)【参考文献】
【文献】特開2010-72723(JP,A)
【文献】国際公開第2013/128839(WO,A1)
【文献】特開2013-114605(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
(57)【特許請求の範囲】
【請求項1】
映像を取得する取得手段と、
前記映像中のオブジェクトを追跡する追跡手段と、
前記映像中のオブジェクトを検出する検出手段と、
前記映像中の画像のうち同時刻の画像において前記検出及び前記追跡された、同一のオブジェクトを対応付ける対応付け手段と、
前記対応付いたオブジェクトについて、前記検出されたオブジェクトの位置を用いて、前記追跡されたオブジェクトの位置と、前記検出の時刻より後に取得された画像の少なくとも一つの画像における当該オブジェクトの位置とを補正する補正手段と、
を備えるオブジェクト検出・追跡装置。
【請求項2】
前記追跡されたオブジェクトの外見的な視覚特徴を表す外見モデルを、前記追跡されたオブジェクトごとに生成する新規生成手段
をさらに備え、
前記追跡手段は、前記取得手段により取得された映像中の画像において、前記外見モデルと類似する領域を探索し、
前記新規生成手段は、前記検出されたオブジェクトのうち、前記対応付けにおいて前記追跡されたオブジェクトと対応付かなかったオブジェクトに対しては、新規に追跡対象オブジェクトに追加する新規オブジェクト追加処理を行う
請求項1に記載のオブジェクト検出・追跡装置。
【請求項3】
前記対応付けにおいて対応づいたオブジェクトに対して、当該オブジェクトが検出された位置と、前記検出の時刻における画像と、に基づいて、前記外見モデルを更新する外見モデル更新手段、
をさらに備え、
前記追跡手段は、前記追跡において、前記映像中の画像における前記更新された外見モデルと類似する領域を探索する
請求項2に記載のオブジェクト検出・追跡装置。
【請求項4】
オブジェクトの動きに関する動きモデルと、前記追跡されたオブジェクトの位置の履歴と、に基づいて、新たに取得された映像中の画像における前記追跡されたオブジェクトの位置を予測する予測手段
をさらに備え、
前記新規生成手段は、前記追跡されたオブジェクトごとに動きモデルを生成し、
前記追跡手段は、前記追跡において、前記映像中の画像における前記予測された位置に基づいて定められた探索領域を探索する
請求項2又は3に記載のオブジェクト検出・追跡装置。
【請求項5】
前記新規生成手段は、前記新規オブジェクト追加処理において、初期動きモデルを生成し、
前記追跡手段は、前記生成された初期動きモデルを、以降の追跡処理で用いる
請求項4に記載のオブジェクト検出・追跡装置。
【請求項6】
前記対応付け手段において対応づいた追跡対象オブジェクトに対しては、補正後の位置に基づいて、追跡対象オブジェクトの動きモデルを更新する動きモデル更新手段
をさらに備える請求項4又は5に記載のオブジェクト検出・追跡装置。
【請求項7】
前記新規生成手段は、前記検出されたオブジェクト及び前記追跡されたオブジェクトに関する動きモデルをそれぞれ生成し、
前記予測手段は、前記生成された動きモデルそれぞれを用いて、新たに取得される映像中の画像におけるオブジェクトの予測位置を算出する
請求項6に記載のオブジェクト検出・追跡装置。
【請求項8】
前記予測手段は、
前記画像よりも前の時刻の画像における前記追跡されたオブジェクトの位置と前記検出されたオブジェクトの位置との差分が閾値以下の場合に、前記追跡されたオブジェクトの位置に基づいて、新たに取得される映像中の画像における前記オブジェクトの予測位置を算出し、
前記差分が閾値より大きい場合に、前記検出されたオブジェクトの位置に基づいて、新たに取得される映像中の画像における前記オブジェクトの予測位置を算出する
請求項7に記載のオブジェクト検出・追跡装置。
【請求項9】
映像を取得し、
前記映像中のオブジェクトを追跡し、
前記映像中のオブジェクトを検出し、
前記映像中の画像のうち同一の画像において前記検出及び前記追跡された、同一のオブジェクトを対応付け、
前記対応付いたオブジェクトについて、前記検出されたオブジェクトの位置を用いて、前記追跡されたオブジェクトの位置と、前記検出の時刻より後に取得された画像の少なくとも一つの画像における当該オブジェクトの位置とを補正する、
オブジェクト検出・追跡方法。
【請求項10】
コンピュータに対して、
映像を取得する処理と、
前記映像中のオブジェクトを追跡する処理と、
前記映像中のオブジェクトを検出する処理と、
前記映像中の画像のうち同一の画像において前記検出及び前記追跡された、同一のオブジェクトを対応付ける処理と、
前記対応付いたオブジェクトについて、前記検出されたオブジェクトの位置を用いて、前記追跡されたオブジェクトの位置と、前記検出の時刻より後に取得された画像の少なくとも一つの画像における当該オブジェクトの位置とを補正する処理と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
撮像装置によって取得した映像からオブジェクトを検出し、追跡する装置、方法、およびプログラム記録媒体に関する。
【背景技術】
【0002】
従来、カメラを用いて物体や人物を検出し、追跡する装置が提案されている。特に近年は、Tracking by Detectionと呼ばれる、検出に基づいて物体の追跡を行う方式が主流であり、この枠組みで追跡する方式が数多く提案されている。ただし、画像からの物体検出には処理時間がかかることがあり、特に、深層学習ベースの検出方式では、この傾向が顕著である。そこで、検出時間による遅延を考慮した方式も提案されている。
【0003】
例えば、特許文献1では、以前のフレームまでで追跡されている物体については、検出処理と並行して追跡処理を行い、その後、検出処理が終了したら、検出結果と追跡結果の対応付け処理を行う。一方、対応づかない新規物体があるときは、検出処理が追跡処理よりも遅延した場合、求まった検出結果は過去フレームでの位置座標であるため、新規物体検出の結果得られる位置が現フレームでの位置からずれている。このことを考慮して、通常の追跡とは別に設けた追跡手段によって、現フレームでの位置を求め直し、検出処理の遅延をカバーするようにしている。すなわち、特許文献1では、以前に追跡したことのある物体を現時刻画像で追跡する第1の追跡手段とは別に、新規物体を現時刻画像で追跡する第2の追跡手段を備えることにより、検出処理の遅延のせいで新規物体が追跡されなくなることを防止している。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2016-162232号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1では、検出処理に時間がかかってしまうと、追跡処理の結果得られる位置と実際の物体の位置とがずれたり、誤って別の物体を追跡したりしてしまい、その結果、追跡の途切れや誤追跡が生じるという問題がある。また、追跡処理の結果得られる位置が検出処理の結果得られる実際の物体からずれてしまうと、検出結果と追跡結果とが対応づかなくなる。そのため、以前のフレームから得られた追跡結果とは別に新たな追跡結果が生成され、同一物体に対して2つの重複した追跡結果が生成されることが生じ得る。これも、追跡の途切れや誤追跡に繋がるという問題がある。
【0006】
[発明の目的]
本発明は、上記課題に鑑みてなされたものであり、その目的は、検出処理に時間がかかり、遅延が生じる場合であっても、その検出処理の遅延の影響を最小限に抑え、高精度な追跡を実現することである。
【課題を解決するための手段】
【0007】
本発明の第1の視点によれば、画像を取得する取得手段と、当該画像中のオブジェクトを追跡する追跡手段と、当該画像中のオブジェクトを検出する検出手段と、同一の、当該検出されたオブジェクトと当該追跡されたオブジェクトとを対応付ける対応付け手段と、対応付いたオブジェクトについて、当該検出されたオブジェクトの位置を用いて、当該追跡されたオブジェクトの位置を補正する補正手段と、を備えるオブジェクト検出・追跡装置が提供される。
【0008】
本発明の第2の視点によれば、映像を取得し、前記映像中のオブジェクトを追跡し、前記映像中のオブジェクトを検出し、前記映像中の画像のうち同一の画像において前記検出及び前記追跡された、同一のオブジェクトを対応付け、前記対応付いたオブジェクトについて、前記検出されたオブジェクトの位置を用いて、前記追跡されたオブジェクトの位置を補正する、オブジェクト検出・追跡方法が提供される。
【0009】
本発明の第3の視点によれば、コンピュータに対して、画像を取得する処理と、当該画像中のオブジェクトを追跡する処理と、当該画像中のオブジェクトを検出する処理と、同一の、当該検出されたオブジェクトと当該追跡されたオブジェクトとを対応付ける処理と、当該対応付いたオブジェクトについて、検出されたオブジェクトの位置を用いて、当該追跡されたオブジェクトの位置を補正する処理と、を実行させるためのプログラムを記録するプログラム記録媒体が提供される。
【発明の効果】
【0010】
本発明によれば、検出による遅延を抑えつつ、検出の結果を追跡に反映させることができるため、高精度な追跡を実現することができる。
【図面の簡単な説明】
【0011】
図1】第1の実施形態におけるオブジェクト検出・追跡装置の構成を示す図である。
図2】第1の実施形態におけるオブジェクト追跡手段の構成を示す図である。
図3】第1の実施形態におけるオブジェクト検出・追跡装置の処理動作を示すフローチャートである。
図4】第1の実施形態におけるオブジェクト検出・追跡装置の対応付け処理の詳細を示すフローチャートである。
図5】第2の実施形態におけるオブジェクト追跡手段の構成を示す図である。
図6】第3の実施形態におけるオブジェクト追跡手段の構成を示す図である。
図7】第4の実施形態におけるオブジェクト追跡手段の構成を示す図である。
図8】第5の実施形態におけるオブジェクト検出・追跡装置の構成を示す図である。
図9】第5の実施形態におけるオブジェクト検出・追跡装置の処理動作を示すフローチャートである。
図10】本発明の各実施形態の各部を構成するハードウェアの例を示すブロック図である。
【発明を実施するための形態】
【0012】
<第1の実施形態>
本発明の第1の実施形態について、図面を用いて詳細に説明する。
【0013】
図1に、本実施形態におけるオブジェクト検出・追跡装置100を示す。オブジェクト検出・追跡装置100は、映像取得手段101と、オブジェクト検出手段102と、オブジェクト追跡手段103と、スイッチ制御手段104と、スイッチ手段105と、スイッチ手段106と、を備える。
【0014】
映像取得手段101は、映像を取得し、取得した映像をオブジェクト追跡手段103とスイッチ手段106に出力する。映像取得手段101は、映像ではなく画像を取得し、取得した画像をオブジェクト追跡手段103とスイッチ手段106に出力してもよい。
【0015】
スイッチ手段106は、スイッチ制御手段104から出力されるスイッチ制御シグナルに基づいてON/OFFを切りかえ、ONのときには、映像取得手段101から出力される映像をオブジェクト検出手段102に出力する。
【0016】
オブジェクト検出手段102は、スイッチ手段106から出力される映像に対してオブジェクト検出を行い、オブジェクト検出結果をスイッチ手段105に出力するとともに、オブジェクト検出終了シグナルをスイッチ制御手段104へ出力する。
【0017】
スイッチ制御手段104は、オブジェクト検出手段102から出力されるオブジェクト検出終了シグナルに基づいて、スイッチ制御シグナルをスイッチ手段105とスイッチ手段106に出力する。
【0018】
スイッチ手段105は、スイッチ制御手段104から出力されるスイッチ制御シグナルに基づいてON/OFFを切りかえ、ONのときには、オブジェクト検出手段102から出力されるオブジェクト検出結果をオブジェクト追跡手段103に出力する。
【0019】
オブジェクト追跡手段103は、映像取得手段101から出力される映像とスイッチ手段105から出力されるオブジェクト検出結果に基づいて、オブジェクトの追跡処理を行い、オブジェクト追跡結果を出力する。
【0020】
次に、本実施形態におけるオブジェクト検出・追跡装置100の動作について説明する。
【0021】
映像取得手段101は、監視対象となるエリアや物体を撮像する撮像装置から、当該撮像した映像又は画像を取得する。例えば、映像取得手段101は、映像又は画像を、固定の監視カメラやWebカメラから取得してもよいし、UAV(Unmanned Aerial Vehicle)や車両のように、移動体に装着されたカメラから取得してもよい。あるいは、映像取得手段101は、映像又は画像を、警察官や警備員が装着するウェアラブルカメラから取得してもよいし、ユーザが撮影するビデオカメラから取得してもよい。あるいは、映像取得手段101は、内視鏡のように、特定の目的で使用されるカメラから、映像又は画像を取得してもよい。映像取得手段101により取得された映像は、動画像列として出力される。
【0022】
オブジェクト検出手段102は、映像取得手段101から入力される画像に対してオブジェクト検出を行い、結果をオブジェクト検出結果として出力する。オブジェクトが人物の場合、人物の画像特徴を学習した検出器を用いて、人物領域を検出する。例えば、HOG(Histograms of Oriented Gradients)特徴に基づいて検出する検出器や、CNN(Convolutional Neural Network)を用いて画像から直接検出する検出器を用いてもよい。あるいは、人全体ではなく、人の一部の領域(例えば頭部など)を学習させた検出器を用いて人物を検出するようにしてもよい。例えば頭部や足下を学習させた検出器を用い、頭部位置と足下位置が検出できれば、人物領域を特定できる。その他にも例えば、背景差分によって求まるシルエット情報(背景モデルと差分がある領域の情報)と頭部検出情報を組み合わせることにより、人物領域を求めるように構成されていてもよい。オブジェクトが車やバイク、自転車等の乗り物の場合も、同様に車両の画像特徴を学習させた検出器を用いて検出することが可能である。オブジェクトが人や乗り物以外の特定物体の場合も、その特定物体の画像特徴を学習させた検出器を構築し、用いるようにすればよい。
【0023】
オブジェクト検出手段102は、検出されたオブジェクトの情報をまとめ、オブジェクト検出結果情報として生成する。ここで、オブジェクト検出結果情報は、検出を行ったフレームの時刻情報(あるいはフレーム番号など、フレームを特定するための情報)と、検出されたオブジェクトの情報と、を含む。オブジェクトの情報は、オブジェクトの検出位置や大きさを含む。ここで、オブジェクトの位置は、画面上の位置で表されていてもよいし、カメラのキャリブレーションによって求まるカメラの位置や姿勢を表すパラメータを用いて、実世界座標に変換した位置で表されてもよい。例えば、画面上の位置で表す場合には、オブジェクトを囲う矩形の頂点の座標(例えば左上と右下の頂点)で表せばよい。あるいは、1つの頂点と矩形の幅、高さの情報で表してもよい。また、複数のオブジェクトが検出された場合には、オブジェクト検出結果情報は、検出された複数のオブジェクトの情報を含むことになる。
【0024】
オブジェクト検出手段102は、生成されたオブジェクト検出結果情報を、スイッチ手段105に出力する。また、オブジェクト検出手段102は、オブジェクト検出が終了したことを示すオブジェクト検出終了シグナルをスイッチ制御手段104に出力する。
【0025】
スイッチ制御手段104は、オブジェクト検出終了シグナルがオブジェクト検出手段102から入力されると、スイッチ手段105に対し、当該スイッチ手段105をON(経路が繋がった状態)にするためのシグナルを出力する。スイッチ手段105がONになると、オブジェクト検出手段102の出力がオブジェクト追跡手段103に入力される経路が接続される。これによって、オブジェクト検出手段102から出力されるオブジェクト検出結果情報は、スイッチ手段105を経てオブジェクト追跡手段103へ送信される。スイッチ手段105は、オブジェクト検出結果の送信が終わると、またOFFの状態(経路が途切れた状態)に戻る。
【0026】
また、スイッチ制御手段104は、オブジェクト検出終了シグナルがオブジェクト検出手段102から入力されると、スイッチ手段106に対し、当該スイッチ手段106をON(経路が繋がった状態)にするシグナルを出力する。スイッチ手段106がONになると、映像取得手段101から出力される画像がオブジェクト検出手段102に入力される経路を接続する。これにより、そのときの映像フレームが映像取得手段101からオブジェクト検出手段102へ入力され、オブジェクト検出手段102でそのフレームに対する処理が行われるようになる。スイッチ手段106は、映像フレームの送信が終わると、またOFFの状態(経路が途切れた状態)に戻る。
【0027】
オブジェクト追跡手段103は、過去のフレームにおけるオブジェクトの追跡結果を保持しており、その追跡結果に基づいて、入力されるフレーム画像のどの位置に追跡対象となるオブジェクトが存在するかを求め、オブジェクト追跡結果情報を生成して出力する。また、オブジェクト追跡手段103は、オブジェクト検出結果情報が入力されるフレームの場合には、オブジェクト検出結果情報も用いて追跡処理を行う。すなわち、追跡対象となるオブジェクトとオブジェクト検出結果との対応関係を求め、オブジェクト検出結果をオブジェクト追跡の結果に反映させる。
【0028】
ここで、フレームの時間間隔よりも、オブジェクト検出手段102でのオブジェクト検出処理に時間がかかる場合には、オブジェクト検出結果情報の時刻は、映像取得手段101から入力されるフレーム画像の時刻よりも前の時刻となる。その場合、検出対象フレームと追跡対象フレームの撮像時刻が一致しなくなる。特に、深層学習のように処理負荷が高い手法に基づいてオブジェクト検出を行う場合は、この傾向が顕著になる。よって、オブジェクト追跡手段103では、この時間差を考慮して、オブジェクト検出結果に含まれるオブジェクトの情報と、追跡対象となるオブジェクトとの対応関係を求め、オブジェクト追跡の結果に反映させる。このオブジェクト追跡手段103の動作の詳細については後述する。オブジェクト追跡手段103は、生成されたオブジェクト追跡結果情報を出力する。
【0029】
ここで、オブジェクト追跡結果情報は、画像の撮像時刻に関する時刻情報(あるいはフレーム番号等のフレームを識別する情報)、画像上でのオブジェクトの位置、大きさ、および追跡対象オブジェクトごとに付与されたID情報を含む。なお、位置情報の記述方法は任意であり、追跡オブジェクトの外接矩形情報で示してもよいし、追跡オブジェクト領域中の一点の座標を求め、その点に基づく相対的な情報で大きさ情報を表すようにしてもよい。あるいは、実空間上の座標に変換し、出力するようになっていてもよい。例えば、画面上の位置で表す場合には、オブジェクトを囲う矩形の頂点の座標(例えば左上と右下の頂点)で表せばよい。あるいは、1つの頂点と矩形の幅、高さの情報で表してもよい。
【0030】
次に、図2を用いて、本実施形態におけるオブジェクト追跡手段103について説明する。
【0031】
図2に、本実施形態におけるオブジェクト追跡手段103の構成を示す。本実施形態におけるオブジェクト追跡手段103は、対応領域探索部201と、外見モデル更新部202と、外見モデル記憶部203と、検出結果受信部204と、対応付け部205と、位置補正部206と、位置情報記憶部207と、新規生成・削除部208と、画像バッファ209と、スイッチ部210と、からなる。
【0032】
画像バッファ209は、スイッチ部210を通じて入力される画像を格納する。
【0033】
位置情報記憶部207は、追跡オブジェクトの位置情報を格納する。
【0034】
外見モデル記憶部203は、追跡オブジェクトの外見モデル情報を格納する。
【0035】
検出結果受信部204は、オブジェクトの検出結果を受信し、対応付け部205へ検出結果を出力するとともに、スイッチ制御シグナルをスイッチ部210へ出力する。
【0036】
対応付け部205は、検出結果受信部204から出力される検出結果と、位置情報記憶部207に格納されている追跡オブジェクトの位置情報とから、検出オブジェクトと追跡オブジェクトの対応付けを行う。対応付け部205は、対応付け結果を位置補正部206と新規生成・削除部208へ出力する。
【0037】
位置補正部206は、対応付け部205から出力される対応付け結果に基づいて、位置情報記憶部207に既に格納されている追跡オブジェクトの位置情報を補正し、補正した追跡オブジェクトの位置情報を位置情報記憶部207へ出力する。
【0038】
新規生成・削除部208は、対応付け部205から出力される対応付け結果と、画像バッファ209に格納される検出時の画像に基づいて、新たに検出されたオブジェクトや削除すべきオブジェクトがいるか否かを判定する。新規生成・削除部208は、新規オブジェクトがいると判定した場合、新規追跡オブジェクトの位置を位置情報記憶部207に格納する。新規生成・削除部208は、削除すべきオブジェクトがいると判定した場合、当該オブジェクトの情報を位置情報記憶部207から削除する。また、新規生成・削除部208は、オブジェクトの外見モデル情報を生成し、外見モデル記憶部203へ格納する。
【0039】
対応領域探索部201は、外見モデル記憶部203に格納されたオブジェクトの外見モデル情報と入力画像に基づいて、オブジェクト追跡結果を生成し、追跡結果を位置情報記憶部207と外見モデル更新部202へ出力する。
【0040】
外見モデル更新部202は、入力される画像と、対応領域探索部201から出力されるオブジェクト追跡結果と、外見モデル記憶部203に格納されたオブジェクト外見モデル情報に基づいて、追跡オブジェクトの外見モデル情報を更新する。外見モデル更新部202は、更新された追跡オブジェクトの外見モデル情報を外見モデル記憶部203へ格納する。
【0041】
スイッチ部210は、検出結果受信部204から出力されるスイッチ制御シグナルに基づいて、入力画像を画像バッファ209に出力する。
【0042】
次に、本実施形態におけるオブジェクト追跡手段103の動作について説明する。
【0043】
まず、位置情報記憶部207に格納される情報について述べる。位置情報記憶部207には、追跡対象オブジェクトの位置情報と、追跡対象を識別する追跡IDと、時刻情報(あるいはフレーム番号等のフレームを識別する情報)と、が格納される。位置情報とは、画像中における追跡対象の存在位置を表す情報であり、例えばオブジェクトを囲む外接矩形の情報である。位置情報は、矩形の左上、右下の頂点座標で表されてもよいし、あるいは、矩形内の特定の位置の座標(例えば矩形の1つの頂点の座標や中心点の座標)と幅、高さの値で表されてもよい。また、位置情報は実空間座標系に変換した座標を含んでいてもよい。この値は、キャリブレーションによって求めたカメラパラメータを用いて求めることができる。例えば、画像中でオブジェクトが地面に接する位置を求め、この座標を実空間座標に変換し、格納してもよい。
【0044】
また、さらに、位置情報記憶部207は、追跡対象オブジェクトの追跡尤度情報も一緒に格納する。追跡尤度情報は、追跡対象が実際に存在し、正しく追跡できている確度を表す情報である。追跡結果が検出と対応づいたり、あるいは、追跡処理のスコアが高くなったりすることで、追跡の確度が高いときに追跡尤度情報の値を高くする。
【0045】
位置情報記憶部207は、最新の情報だけでなく、オブジェクトごとに一定の時間分の追跡結果情報を格納する。例えば、位置情報記憶部207は、過去のNフレーム分のデータを格納する場合には、現フレームからNフレーム遡った時刻のフレームでの追跡結果情報までを格納し、それ以前の結果は削除するようにしてもよい。
【0046】
また、位置情報記憶部207は、上記の情報以外の付随する情報も一緒に格納してもよい。例えば、位置情報記憶部207は、検出結果に含まれる検出オブジェクトと対応づいたかどうかを表す情報も一緒に格納してもよい。また、追跡オブジェクトと検出オブジェクトとが対応づいた場合には、位置情報記憶部207は、そのオブジェクトに関する情報(例えば検出の確からしさを表す検出スコアなど)も一緒に格納してもよい。また、位置情報記憶部207は、最新の対応付き時刻情報も一緒に格納してもよい。
【0047】
オブジェクト検出処理が終了すると、オブジェクト検出結果情報が検出結果受信部204へ入力される。検出結果受信部204は、受信した検出結果情報を対応付け部205へ出力し、スイッチ部210をONにするスイッチ制御信号をスイッチ部210へ出力する。
【0048】
スイッチ部210は、当該スイッチ部210をONにするスイッチ制御信号が入力されると、入力される画像が画像バッファ209に入力されるように、経路を接続する。そして、画像バッファ209への画像の送信が終わると、スイッチ部210は、またOFFの状態(接続が切れた状態)に戻る。スイッチ部210がONになるタイミングは、スイッチ手段106がONになるタイミングと一致するため、画像バッファ209に入力される画像は、オブジェクト検出手段102で次にオブジェクト検出を行う画像と一致する。
【0049】
画像バッファ209は、画像が入力されると、画像を格納する。ただし、以前にスイッチ部210がONになったタイミングで入力された画像も、処理に必要な間(例えば、画像が入力されてから後述するオブジェクトの外見特徴量の抽出処理に用いるまでの間)は蓄えておくようにする。不要になった時点で以前のタイミングで入力された画像は、画像バッファ209から削除される。
【0050】
対応付け部205は、位置情報記憶部207に格納されている追跡対象オブジェクトの位置情報と当該位置情報に付随する追跡尤度情報を読み出す。対応付け部205は、当該追跡対象オブジェクトの位置情報及び当該位置情報に付随する追跡尤度情報と、オブジェクト検出結果情報に含まれる位置情報と、を比較して、個々の検出オブジェクトと個々の追跡対象オブジェクトとを対応付ける。この際、対応付け部205は、オブジェクト検出結果情報に含まれる時刻情報(あるいは、フレーム番号など、フレームを特定するための情報)に基づいて、同時刻(あるいは同フレーム)の位置情報同士を比較する。
【0051】
具体的には、位置情報記憶部207に格納されている最新の追跡結果の時刻をT、検出時刻をTd(時刻Tdは時刻Tよりも前の時刻とする。)とすると、対応付け部205は、時刻Tより前の時刻Tdにおける追跡結果を位置情報記憶部207から読み出し、検出結果と対応付ける。対応付けの方法としては、既存の様々な方法を用いることができる。例えば、対応付け部205は、検出オブジェクトと追跡対象オブジェクトの対応付きやすさを表す対応付き尤度を求め、この尤度を単調非増加関数によってコストに変換し、ハンガリアン法などの方法により、対応付けることができる。この際、対応付け部205は、例えば、検出オブジェクトの矩形と追跡対象オブジェクトの矩形の重なり率に基づいて(例えば、重なり率を単調非減少関数で変換した値)、対応付き尤度を求めることができる。
【0052】
なお、検出結果は検出されたオブジェクトの外見特徴量を含んでいてもよい。この場合、対応付け部205は、後述する外見モデル記憶部203に格納されている外見モデル情報も用いて、検出オブジェクトと追跡対象オブジェクトとの外見的な類似性を表す指標も求め、この指標も考慮して対応付き尤度を決めてもよい。例えば、対応付け部205は、上述の重なり率に基づいて求めた対応付き尤度と、外見的類似性を表す指標と、を掛け合わせた値、あるいは重み付き加算により求めた値に基づいて、追跡オブジェクトと検出オブジェクトの対応付けを求めるようにしてもよい。
【0053】
対応付け部205は、対応付けの結果、検出結果と追跡結果とが対応付いた追跡対象オブジェクトについては、該追跡対象オブジェクトの追跡IDと、位置情報を含む、当該追跡結果に対応づいた検出オブジェクトの情報と、を位置補正部206へ出力する。また、これに付随して、対応付け部205は、追跡対象オブジェクトの追跡尤度情報を位置補正部206へ出力する。この際、対応付いたということで、追跡対象の存在確度が高まったと考えられるため、対応付け部205は、処理前に位置情報記憶部207から読み出した追跡尤度よりも値を大きくしてから出力するようにしてもよい。具体的には、対応付け部205は、例えば1より大きい値を元の追跡尤度に乗じるようにしてもよい。
【0054】
一方、検出結果と対応付かなかった追跡対象オブジェクト(未対応追跡対象オブジェクト)については、その存在の確度が下がったと考えられる。そのため、対応付け部205は、追跡尤度を下げる処理を行い、新規生成・削除部208にその追跡IDと追跡尤度情報を出力する。具体的には、対応付け部205は、例えば1未満の値を元の追跡尤度に乗じるようにすればよい。なお、位置情報記憶部207は、最後に対応付いた時刻(以下、「最新対応付き時刻」という。)を格納しておいてもよい。この場合は、検出時刻と最新対応付き時刻との差(以下、「未対応継続時間」という。)を求め、差の大きさに応じて追跡尤度を変化させる度合を変えてもよい。例えば、しばらく未対応状態が続いており、未対応継続時間が長い場合には、追跡尤度を減少させる割合を大きくするようにしてもよい。
【0055】
また、追跡対象オブジェクトと対応づかなかった検出オブジェクトがある場合には、対応付け部205は、新規の追跡対象オブジェクトとして、その検出オブジェクト情報を新規生成・削除部208に出力する。これは、画面外から新たなオブジェクトが入ってきて検出されたり、従来から画面内には入っていたが検出されていなかったオブジェクトが検出されたりした場合に生じる。
【0056】
位置補正部206は、対応付け部205から入力される、検出結果と対応付いた追跡オブジェクトに対する検出オブジェクトの位置情報(大きさも含む)に基づいて、そのオブジェクトの位置情報を補正する。この際、検出時刻と同時刻の追跡結果の位置情報だけでなく、検出時刻から現在時刻までのオブジェクトの追跡結果の位置情報を補正する。すなわち、位置補正部206は、検出時刻Tdにおける追跡結果の位置情報だけでなく、Td<t≦Tの時刻tの追跡結果の位置情報も補正する。
【0057】
位置の補正方法としては様々な方式が考えられる。例えば、追跡結果及び検出結果が矩形である場合、検出結果の矩形と追跡結果の矩形の中心間の距離の差を求め、その分だけ追跡矩形の中心が検出矩形の中心に重なるようにずらすようにする。すなわち、検出結果と、検出時刻と同時刻の追跡結果と、の間で中心間の差を求め、位置情報記憶部207に格納されている該検出時刻以降の時刻の追跡結果の位置情報(追跡の矩形情報)にこの差を加算し、位置を補正する。あるいは、最新の時刻の矩形のみを変更するようにしてもよい。また、単に位置をずらすだけでなく、矩形の大きさも変更してもよい。例えば、上述の方法で追跡矩形をシフトさせた後で、大きさが検出矩形と一致するように、矩形の幅と高さの値を変更してもよい。もし、矩形の情報が左上と右下の頂点座標で表されている場合には、矩形の幅と高さが検出矩形の値と同じになるように、左上と右下の頂点座標を変更してもよい。
【0058】
補正されたオブジェクトの位置情報は、位置情報記憶部207に格納される。また、位置情報に付随する追跡尤度情報も位置情報記憶部207に格納される。また、位置情報記憶部207が、最新対応付き時刻における情報を格納している場合には、最新対応付き時刻も今回の検出時刻Tdに更新する。
【0059】
一方、新規生成・削除部208は、新規に検出されたオブジェクトに対する追跡結果の生成と、追跡対象オブジェクトの中で、存在しなくなった(あるいは誤検知だった)と考えられるオブジェクトの判定を行う。
【0060】
新規のオブジェクトは、検出結果に含まれるオブジェクトのうち、追跡対象のどのオブジェクトとも対応づかなかったオブジェクトである。これは、画面外から新たなオブジェクトが入ってきて検出されたり、従来から画面内には入っていたが検出されていなかったオブジェクトが検出されたりした場合に生じる。
【0061】
新規生成・削除部208は、新規オブジェクト追加処理を行う。具体的には、新規生成・削除部208は、このような新規のオブジェクトに対して、新たに追跡IDを付与し、追跡対象オブジェクトに追加する。そして、位置情報の算出と、外見モデル情報の構築を行う。
【0062】
新規生成・削除部208による位置情報の算出では、新規生成・削除部208は、検出結果に含まれるオブジェクトの位置や大きさの情報を追跡対象オブジェクトの位置情報に変換する。もし、検出と追跡の位置情報の形式が同じであれば、そのまま検出結果に含まれるオブジェクトの位置情報を追跡対象の位置情報とすればよい。形式が異なっている場合には、新規生成・削除部208は、追跡用の位置情報に変換する。例えば、検出オブジェクトの情報が画面上の座標であり、追跡の位置情報が実世界座標で記述されている場合には、新規生成・削除部208は、実世界座標に変換する処理を行う。これは、カメラパラメータを用いた既知の方法により変換できる。
【0063】
新規生成・削除部208による外見モデルの構築では、新規生成・削除部208は、オブジェクトの追跡に用いるオブジェクトの視覚的特徴量を抽出し、モデルを構築する。例えば、新規生成・削除部208は、オブジェクトの色や形、模様を表す特徴を画像から抽出してテンプレートを構築する。色や形、模様の特徴としては、既存の様々な特徴を利用することができ、例えばMPEG(Moving Picture Experts Group)-7で標準化されている特徴量を用いることができる。あるいは、新規生成・削除部208は、深層学習によって抽出した特徴量を用いて、モデルを構築してもよい。また、オブジェクト領域全体ではなく、オブジェクト領域の一部から特徴を抽出するようにしてもよい。さらに、領域は1つだけでなく、オブジェクト領域を複数に分割し、領域ごとにテンプレートを持つようにしてもよい。この際の複数の領域の選択方法としては、均等にグリッドに分割する方法、物体の特定部位に基づいて選択する方法など、様々な方式を適用することができる。また、オブジェクト領域外の特徴をネガティブなテンプレートとして持つようにし、追跡ではオブジェクトのテンプレート(ポジティブなテンプレート)と合わせて用いるようにしてもよい。また、特徴量抽出を新規オブジェクトだけでなく、検出と対応づいた他のオブジェクトに対しても行うようにし、時刻の異なる複数のフレームから抽出したテンプレートを持つようにしていてもよい。この場合、最初の外見モデル構築時は、1つのフレームのみでのテンプレートが構築されるが、追跡処理が進むにつれ、テンプレートの数を増やすようにしてもよい。この際、テンプレートの数を単に増やすだけでなく、テンプレートの数が所定数になるように制御してもよい。あるいは、新規生成・削除部208は、異なるフレームで得られた画像特徴を統合して外見モデルを構築し、保持するようになっていてもよい。
【0064】
このようにして新規生成・削除部208により生成された位置情報は、時刻情報(あるいはフレームを特定する情報)や追跡ID情報とともに、他の追跡対象オブジェクトと同様にして位置情報記憶部207に格納される。一方、外見モデル情報は、時刻情報(あるいはフレームを特定する情報)やオブジェクトのID情報とともに、他の追跡対象オブジェクトと同様にして外見モデル記憶部203に格納される。
【0065】
新規生成・削除部208により削除されるオブジェクトの決定は、未対応追跡対象オブジェクトに対して行う。新規生成・削除部208は、未対応追跡対象オブジェクトのうち、追跡尤度が削除閾値以下に下がったものは、画面外に消えた、あるいは画面内の障害物等の裏に隠れて既に消失したオブジェクトとみなす。その場合、新規生成・削除部208は、そのオブジェクトの追跡IDに対応する位置情報を、位置情報記憶部207から削除する。同様に、新規生成・削除部208は、その追跡IDに対応する外見モデル情報を、外見モデル記憶部203から削除する。未対応追跡対象オブジェクトのうち、追跡尤度が削除閾値より大きい場合には、新規生成・削除部208は、削除処理は行わず、位置情報記憶部207に格納された追跡尤度の値のみを更新後の値に変更する。
【0066】
このようにして更新された追跡対象の位置情報は、追跡結果情報として出力される。また、対応領域探索部201にも出力され、次のフレームの追跡で用いられる。
【0067】
対応領域探索部201は、位置情報記憶部207に格納されている各追跡対象オブジェクトの最新の位置情報(大きさ情報も含む)に基づいて、入力される現時刻のフレーム画像中における追跡対象オブジェクトの位置を求める。具体的には、対応領域探索部201は、フレーム画像において、最新の位置情報の周囲に探索範囲を設定し、その範囲内で最も追跡対象である可能性が高い領域を求める。すなわち、対応領域探索部201は、外見モデル特徴情報に含まれる追跡対象のオブジェクトと、探索領域内の各領域から抽出される特徴量が最も類似する領域を求める。そして、対応領域探索部201は、求まった領域情報を、追跡対象オブジェクトの現フレームでの追跡結果として出力する。また、対応領域探索部201は、追跡の確からしさを表す追跡尤度情報を対応領域探索の確からしさに応じて更新し、一緒に出力する。例えば、追跡スコアが追跡の確からしさを示している場合には、追跡スコアをそのまま追跡尤度としてもよい。あるいは、近くに他の追跡物体が存在する場合や、誤検知が発生しやすい場所がある場合には、それらの程度を考慮して尤度を下げるようにしてもよい。
【0068】
なお、オクルージョンや、画面外に出るなどの理由により、対応付く領域がない場合もあるため、対応付く領域がない場合には、対応領域探索部201は、対応付く領域なしという結果を出力する。この場合には、追跡尤度を下げるように更新し、一緒に出力する。
【0069】
対応領域探索部201は、生成したオブジェクト追跡結果情報を、外見モデル更新部202と、位置情報記憶部207とへ出力する。
【0070】
外見モデル更新部202は、各追跡対象オブジェクトの外見モデル情報を更新する。外見モデル更新部202は、対応領域探索部201で求まった位置情報に基づいて、画像中のオブジェクトの存在位置を求め、対応する画像領域の特徴量を抽出する。外見モデル更新部202は、抽出した特徴量と外見モデル記憶部203にもともと格納されている特徴量とで重み付け平均して求まる特徴量で更新する。あるいは、外見モデル更新部202は、重み付き平均をとる代わりに、新しい特徴量で置き換えてもよい。あるいは、外見モデル更新部202は、重み付け平均以外でも、それ以外の様々な時系列データの更新手法を用いてもよい。複数のテンプレートを持っている場合には、その中の一つ、あるいは複数を、上述の方法によって更新するようにしてもよい。また、オブジェクトの一部が隠れている場合などは、隠れていない部分に該当するテンプレートのみを更新してもよい。あるいは、隠れている程度に応じて、更新の際の重みの値を調整するようにしてもよい。
【0071】
最後に、位置情報記憶部207に格納された各追跡対象オブジェクトの最新の位置情報は追跡結果情報として出力される。ここで出力されるのは最新の位置情報であるため、検出による遅延は影響せず、遅延のない追跡結果が出力される。
【0072】
ここで、図3のフローチャートを用いて、本実施形態におけるオブジェクト検出・追跡装置の処理の流れを説明する。
【0073】
映像取得手段101は、画像を取得する(S301)。スイッチ手段106及びスイッチ部210がOFFの場合(S302 No)、オブジェクト追跡手段103は、取得した画像中のオブジェクトを追跡し(S303)、追跡結果を位置情報記憶部207に格納する(S304)。外見モデル更新部202は、追跡されたオブジェクトの位置情報に基づいて外見モデルを更新し(S305)、外見モデル記憶部203に格納する(S306)。
【0074】
一方、スイッチ手段106及びスイッチ部210がONの場合(S302 Yes)、S303からS306の処理と並行して、取得された画像がオブジェクト検出手段102に出力されるとともに、画像バッファ209に格納される(S307)。その後、スイッチ手段106及びスイッチ部210はOFFになる(S308)。さらに、S303からS306の処理と並行して、オブジェクト検出手段102は、取得された画像中のオブジェクトを検出する(S309)。オブジェクトの検出が終了すると、スイッチ制御手段104によりスイッチ手段106及びスイッチ部210はONになる(S310)。
【0075】
ただし、検出処理(S309)は時間がかかるため、S306が終了した時点では検出処理が完了しておらず、S310でスイッチがONになっているとは限らない。スイッチがONになっている場合(S311 Yes)、対応付け部205は、取得された画像のうちの同一の画像において当該検出及び当該追跡された、同一のオブジェクトを対応付ける(S312)。位置補正部206は、対応付いたオブジェクトについて、当該検出されたオブジェクトの位置を用いて、当該追跡されたオブジェクトの位置を補正する(S313)。一方、スイッチがOFFの場合(S311 No)、検出結果はまだ存在しないため、これらの処理は飛ばす。そして、次の画像がある場合(S314 Yes)には、映像取得手段101は次の画像を取得するまで待機し、次の画像がない場合(S314 No)には映像取得手段101は処理を終了する。
【0076】
さらに、図4のフローチャートを用いて、S312における対応付け処理の詳細を説明する。
【0077】
取得された画像中のオブジェクトについて、検出結果がない場合(S401 No)は、対応付けを行う必要はないため、対応付け部205は処理を終了する。検出結果がある場合(S401 Yes)は、対応付け部205は追跡結果があるかどうかを確認する。追跡結果がない場合(S402 No)は、新規生成・削除部208は、検出オブジェクトを新規追跡オブジェクトとして生成し、その位置情報を位置情報記憶部207に格納する。さらに、新規生成・削除部208は、外見モデルを構築し、外見モデル記憶部203に格納し(S411)、処理を終了する。一方、追跡結果がある(S402 Yes)場合、対応付け部205は、検出されたオブジェクトと追跡されたオブジェクトとを対応付けを行う(S403)。
【0078】
次に、対応付け部205は対応付けの結果を確認し、オブジェクトの検出結果に追跡オブジェクトと対応付いた検出オブジェクトがある場合(S404 Yes)には、対応づいた追跡オブジェクトの尤度を上げる更新を行う(S405)。一方、検出オブジェクトと対応づいた追跡オブジェクトがなかった場合(S404 No)には、S405の処理をスキップする。
【0079】
次に、対応付け部205は、どの検出オブジェクトとも対応づかなかった未対応の追跡オブジェクトが存在するかどうかを確認し、存在する場合(S406 Yes)には、未対応の追跡オブジェクトに対して、尤度を下げる処理を行う(S407)。そして、新規生成・削除部208は、追跡オブジェクトの中で尤度が削除閾値以下のものが存在するかどうかを確認する。尤度が削除閾値以下の追跡オブジェクトが存在する場合(S408 Yes)、新規生成・削除部208は、尤度が削除閾値以下となった追跡オブジェクトの位置情報や外見モデルなどの関連情報の削除を行う(S409)。尤度が削除閾値以下の追跡オブジェクトが存在しない場合(S408 No)には、この処理をスキップする。一方、未対応の追跡オブジェクトが存在しなかった場合(S406 No)は、S407からS409までの処理をスキップする。
【0080】
次に、対応付け部205は、どの追跡オブジェクトとも対応づかなかった未対応の検出オブジェクトが存在するかどうかを確認する。未対応の検出オブジェクトが存在する場合(S410 Yes)には、新規生成・削除部208は、未対応の検出オブジェクトに対して、前述の新規追跡オブジェクトの生成処理を行い(S411)、処理を終了する。
【0081】
以上のように、本実施形態におけるオブジェクト追跡・検出装置は、遅延して入力される検出と対応づいた結果を、最新の追跡結果にまで反映させ、その後の追跡に用いる。これにより、新規に検出されたオブジェクト以外にも適切に検出の結果が反映されるので、高精度な追跡を行うことができる。また、画像バッファには、最小限の画像のみを蓄えるように構成されているため、記憶容量を抑えつつ、高精度な追跡が可能となる。
【0082】
<第2の実施形態>
次に、本発明の第2の実施形態について、図面を用いて詳細に説明する。
【0083】
図5に、本実施形態におけるオブジェクト追跡手段103の構成を示す。本実施形態におけるオブジェクト追跡手段103は、対応領域探索部201と、外見モデル更新部202と、外見モデル記憶部203と、検出結果受信部204と、対応付け部205と、位置補正部206と、位置情報記憶部207と、新規生成・削除部208と、画像バッファ209と、スイッチ部210と、外見モデル更新部320と、を備える。
【0084】
第1の実施形態におけるオブジェクト追跡手段103と、本実施形態におけるオブジェクト追跡手段103との相違点は、本実施形態におけるオブジェクト追跡手段103が、外見モデル更新部320を備えることである。
【0085】
外見モデル更新部320以外の接続関係は、第1の実施形態におけるオブジェクト追跡手段103と同様である。
【0086】
外見モデル更新部320は、位置情報記憶部207に格納された追跡オブジェクトの位置情報と、画像バッファ209に格納された画像情報とに基づいて、追跡オブジェクトの外見モデルを更新する。外見モデル更新部320は、更新した外見モデル情報を外見モデル記憶部203に格納する。
【0087】
次に、本実施形態におけるオブジェクト追跡手段103の動作について説明する。
【0088】
外見モデル更新部320以外の動作は、第1の実施形態の場合と同様である。このため、以下では、外見モデル更新部320の処理動作のみを説明する。
【0089】
外見モデル更新部320は、検出結果のオブジェクトと対応づいた追跡対象オブジェクトに対して、外見モデルの更新を行う。まず、外見モデル更新部320は、画像バッファ209から検出時刻Tdに対応する画像を読み出す。外見モデル更新部320は、位置情報記憶部207から出力される補正後のオブジェクトの位置情報に基づいて、当該画像からオブジェクトの外見特徴量を抽出する。そして、外見モデル更新部320は、外見モデル記憶部203に記憶されている、この追跡対象オブジェクトの外見モデル情報も用いて更新を行う。外見モデルの更新の方法は、外見モデル更新部202の場合と同様である。更新された外見モデルは、外見モデル記憶部203へ出力され、格納される。
【0090】
なお、画像バッファ209における時刻Tdの画像の削除処理は、新規生成・削除部208と外見モデル更新部320の両方での処理が終わった後で実施される。
【0091】
以上のように、本実施形態におけるオブジェクト追跡・検出装置は、検出結果を用いて、外見モデルを更新する。これにより、追跡物体の姿勢の変化等で追跡位置がずれることにより追跡がうまくいかなくなった場合でも、更新後の外見モデルを用いて追跡処理を行うことができるので、その後の追跡の精度を向上させることができる。
【0092】
<第3の実施形態>
本発明の第3の実施形態について、図面を用いて詳細に説明する。
【0093】
図6に、実施形態におけるオブジェクト追跡手段103の構成を示す。本実施形態におけるオブジェクト追跡手段103は、対応領域探索部201と、外見モデル更新部202と、外見モデル記憶部203と、検出結果受信部204と、対応付け部205と、位置補正部206と、位置情報記憶部207と、新規生成・削除部408と、画像バッファ209と、スイッチ部210と、予測部430と、動きモデル記憶部431と、動きモデル更新部432と、を備える。
【0094】
第1の実施形態におけるオブジェクト追跡手段103と、本実施形態におけるオブジェクト追跡手段103との相違点は、本実施形態におけるオブジェクト追跡手段103が、新規生成・削除部208の代わりに新規生成・削除部408を備え、新たに、予測部430、動きモデル記憶部431、動きモデル更新部432を備えることである。
【0095】
本実施形態におけるオブジェクト追跡手段103の各構成について説明する。
【0096】
動きモデル記憶部431は、追跡オブジェクトの動きモデル情報を格納する。
【0097】
予測部430は、動きモデル記憶部431に格納される追跡オブジェクトの動きモデル情報に基づいて、追跡オブジェクトの予測位置を求め、追跡オブジェクトの予測位置情報を対応領域探索部201へ出力する。
【0098】
対応領域探索部201には、予測部430から出力されるオブジェクトの予測位置情報が追跡結果の位置情報の代わりに入力される。また、対応領域探索部201から出力されるオブジェクト追跡結果は、位置情報記憶部207と外見モデル更新部202に加え、動きモデル更新部432にも出力される。
【0099】
動きモデル更新部432は、動きモデル記憶部431に格納される追跡オブジェクトの動きモデル情報と、対応領域探索部201から出力されるオブジェクト追跡結果と、に基づいて、追跡オブジェクトの動きモデル情報を更新する。動きモデル更新部432は、更新後の動きモデル情報を動きモデル記憶部431へ格納する。
【0100】
新規生成・削除部408は、対応付け部205から出力される対応付け結果と、画像バッファ209に格納される検出時の画像と、に基づいて、新たに検出されたオブジェクトや削除すべきオブジェクトを判定する。新規生成・削除部408は、判定の結果に応じて、新規追跡オブジェクトの位置を位置情報記憶部207に格納し、削除すべきオブジェクトの情報を位置情報記憶部207から削除する。新規生成・削除部408は、オブジェクトの外見モデル情報を生成し、外見モデル記憶部203へ格納する。新規生成・削除部408は、動きモデル情報を生成し、動きモデル記憶部431へ格納する。
【0101】
次に、本実施形態におけるオブジェクト追跡手段103の動作について説明する。
【0102】
予測部430、動きモデル記憶部431、動きモデル更新部432及び新規生成・削除部408以外の構成の処理動作は、第1の実施形態の場合と同様である。このため、以下では、予測部430、動きモデル記憶部431、動きモデル更新部432及び新規生成・削除部408の処理動作について説明する。
【0103】
動きモデル記憶部431には、各追跡物体の動きをモデル化した情報が、追跡IDと対応付けられて格納されている。
【0104】
例えば、物体の動きが等速直線運動で近似できるとの仮定に基づいて、線形的な動きモデルを用いる場合には、過去の位置の履歴から求めたフレーム間での動きベクトルを動きモデルとして格納しておく。また、カメラの光軸方向に移動する場合などは、オブジェクトの画像上での大きさも変化するため、大きさの変化に関する情報も、動きモデルに含めてもよい。例えば、オブジェクトの矩形の大きさが線形に変化することを仮定する場合には、その変化率(拡大/縮小の比率)をオブジェクトの動きモデルに含めてもよい。
【0105】
あるいは、カルマンフィルタやパーティクルフィルタ等を用いて、動きをモデル化するようにしてもよい。カルマンフィルタを用いる場合には、例えば、画像上の2次元の位置と速度からなる4次元のベクトルを状態変数として、カルマンフィルタの状態方程式、観測方程式を記述する各パラメータを動きモデル情報として格納しておく。画像上の2次元の位置は、例えば、矩形の中心や矩形の下辺の中点などの座標である。一方、パーティクルフィルタの場合は、動きを記述するパラメータに加え、用いる粒子の数や、各粒子の状態情報、各粒子の位置を決めるときに用いるランダムノイズの大きさのパラメータ等を動きモデル情報として格納しておく。同様に他の動きモデルを適用することも可能である。
【0106】
予測部430は、各追跡対象オブジェクトに対して、それぞれの動きモデルに基づいて過去のオブジェクトの位置から現フレームでのオブジェクトの位置を予測する。この手法としては、用いる動きモデルに合わせた手法を用いる。
【0107】
線形な動きモデルを用いる場合には、予測部430は、前のフレームにおける位置に動きベクトルを加算して、現在の位置を予測する。もし、時間間隔が等間隔でない場合には、その時間差の変化も考慮して、動きベクトルを伸縮させてから加算する。また、動きだけでなく、大きさの変化も考慮する場合には、予測部430は、前のフレームでのオブジェクトの大きさに大きさの変化率を乗じて現フレームでのオブジェクトの大きさを予測するようにしてもよい。この場合も、時間間隔が等間隔でない場合には、その時間差の変化も考慮して、大きさの変化率を変化させる。
【0108】
カルマンフィルタを用いる場合には、予測部430は、カルマンフィルタの状態方程式に基づいて、前のフレームの状態変数の値から、現フレームでの状態変数の予測値を求める。パーティクルフィルタを用いる場合には、予測部430は、前のフレームでの各粒子の位置にオブジェクト全体としての動きを加え、粒子ごとにランダムノイズを付加し、各粒子の位置を予測する。なお、カルマンフィルタの場合も、パーティクルフィルタの場合も、オブジェクトの画像上での大きさが変化する場合には、線形モデルの場合と同様に大きさの変化も考慮するようにしてもよい。
【0109】
得られた各追跡対象オブジェクトの位置情報(大きさも含む)の予測値は、対応領域探索部201に出力される。すなわち、対応領域探索部201には、前のフレームでのオブジェクトの位置の代わりに、予測部430で算出された現フレームでのオブジェクトの予測位置が入力される。対応領域探索部201は、この予測位置に従って探索範囲を設定し、対応領域の探索を行う。この動作は、これまでに説明した各実施形態の対応領域探索部201と同様である。ただし、求まった追跡対象オブジェクトの位置情報は、動きモデル更新部432へも出力される。
【0110】
動きモデル更新部432は、動きモデル情報を更新する。この更新方法は、用いる動きモデルに依存する。
【0111】
線形モデルの場合には、動きモデル更新部432は、現フレームで求まった位置と、一つ前のフレームの位置の差分を取り、動きベクトルを求める。あるいは、動きモデル更新部432は、過去数フレームにおける追跡対象オブジェクトの位置の履歴を保持しておき、その間の動きベクトルを求め、その代表値(例えば、(加重)平均やメディアン、最頻値など)を動きベクトルとしてもよい。大きさの変化率についても同様である。
【0112】
一方、カルマンフィルタの場合には、動きモデル更新部432は、観測方程式に従ってカルマンフィルタの状態変数を更新するとともに、付随するカルマンフィルタのパラメータの値を更新する。パーティクルフィルタの場合には、対応領域探索部201は、求まった位置だけでなく、粒子全体の情報も動きモデル更新部432に出力する。動きモデル更新部432は、対応領域探索部201から出力された、位置及び粒子全体の情報を用いて、パーティクルフィルタの更新処理を行う。すなわち、動きモデル更新部432は、全体の尤度の算出及び尤度に基づいた粒子の再サンプリングを行い、更新された粒子の情報を動きモデルの更新情報として生成する。
【0113】
更新された動きモデルは、動きモデル記憶部431に格納され、次回以降の追跡対象オブジェクトの位置の予測に用いられる。
【0114】
新規生成・削除部408は、新規オブジェクトに対して、さらに初期動きモデルとして動きモデルも生成し、他の追跡対象オブジェクトと同様にして、動きモデル記憶部431へ格納する。生成される動きモデルは用いる動きモデルの種類によって異なるが、動きモデルを生成し、それぞれのモデルに応じた初期化方法でモデルを初期化してから動きモデル記憶部431へ格納する。一方、新規生成・削除部408は、削除対象となった追跡対象オブジェクトに対しては、動きモデル記憶部431に格納されている該当追跡IDの情報も削除する。それ以外の動作は、これまでに説明した各実施形態のオブジェクト追跡手段103の新規生成・削除部208と同様である。
【0115】
予測部430、動きモデル記憶部431、動きモデル更新部432及び新規生成・削除部408以外の構成の動作は、これまでに説明した各実施形態のオブジェクト追跡手段103と同様であり、求まった最新の追跡結果情報が出力される。
【0116】
以上のように、本実施形態におけるオブジェクト追跡手段は、追跡対象オブジェクトの位置を予測しながら追跡を行う。これにより、追跡の精度を高められるとともに、動きが大きな場合でも対応領域探索部における探索範囲を予測された位置に基づいて絞ることが可能となり、処理時間を低減できる。
【0117】
<第4の実施形態>
次に、本発明の第4の実施形態について、図面を用いて詳細に説明する。
【0118】
図7に、本実施形態におけるオブジェクト追跡手段103の構成を示す。本実施形態におけるオブジェクト追跡手段103は、対応領域探索部201と、外見モデル更新部202と、外見モデル記憶部203と、検出結果受信部204と、対応付け部205と、位置補正部206と、位置情報記憶部207と、新規生成・削除部408と、画像バッファ209と、スイッチ部210と、外見モデル更新部320と、予測部430と、動きモデル記憶部431と、動きモデル更新部432と、動きモデル更新部540と、を備える。
【0119】
第3の実施形態におけるオブジェクト追跡手段103と、本実施形態におけるオブジェクト追跡手段103との相違点は、本実施形態におけるオブジェクト追跡手段103が、外見モデル更新部320と動きモデル更新部540を備えることである。
【0120】
外見モデル更新部320の処理動作は、第2の実施形態の場合と同様である。具体的には、外見モデル更新部320は、位置情報記憶部207に格納された追跡オブジェクトの位置情報と、画像バッファ209に格納された画像情報とに基づいて、外見モデル記憶部203に格納されている追跡オブジェクトの外見モデルを更新する。外見モデル更新部320は、更新した外見モデル情報を外見モデル記憶部203に格納する。
【0121】
動きモデル更新部540は、動きモデル記憶部431に格納される追跡オブジェクトの動きモデル情報と位置情報記憶部207から出力されるオブジェクト追跡結果の位置情報に基づいて、追跡オブジェクトの動きモデル情報を更新する。動きモデル更新部540は、更新した動きモデル情報を動きモデル記憶部431へ格納する。
【0122】
次に、本実施形態におけるオブジェクト追跡手段103の動作について説明する。
【0123】
新たに追加された動きモデル更新部540以外の部分の動作は、これまでに説明した各実施形態の場合と同様であるため、説明を省略する。このため、以下では、新たに追加された動きモデル更新部540の処理動作について説明する。
【0124】
動きモデル更新部540は、検出オブジェクトと追跡対象オブジェクトの対応付けの結果に基づいて動きモデルを更新する。すなわち、動きモデル更新部540は、動きモデル記憶部431に格納されている更新前の動きモデル情報と、位置情報記憶部207から出力される補正後の追跡対象オブジェクトの位置情報と、に基づいて、動きモデルを求め直す。動きモデル更新部540は、求め直した動きモデル情報を動きモデル記憶部431に格納する。
【0125】
この際、検出オブジェクトの位置情報に基づいて求まる動きモデルの特性と、追跡処理によって求まる動きモデルの特性が異なる場合がある。よって、それぞれ個別に動きモデルを持たせておき、それらを統合して予測に用いるようにしてもよい。検出によって求まっているオブジェクトの位置は追跡によって求まっているオブジェクトの位置情報よりも時間的に古い情報である。このため、現フレームでの位置を予測するには、時間差があるため、予測が当たりにくくなる。一方で、追跡によって求まった位置情報は、現フレームの時刻の直前までの位置情報から予測できるため、予測が当たりやすくなる一方、追跡によって位置がずれていく、ドリフトと呼ばれる状況が生じている場合には、精度が低くなる。よって、位置の精度自体は検出結果の方が高いことが多い。このことを考慮して、例えば、追跡と検出で求まった位置の差が小さいときには、直前の追跡の位置をそのまま用いて予測するようにしてもよい。また、追跡と検出で求まった位置の差が大きいときには、直前の追跡によって求まった位置は用いず、検出されたオブジェクトの位置から直接現フレームでの位置を予測するようにしてもよい。このように、どちらの動きモデルを用いるかを定める変数を動きモデルのパラメータとして格納しておき、予測部430で用いるようにしてもよい。あるいは、どちらか一方のみを用いるのではなく、その確度に応じて、両者を重み付けして用いるようにしてもよい。この場合には、重み付けのパラメータを動きモデルのパラメータとして格納しておき、予測部430で用いるようにする。
【0126】
以上のように、本実施形態におけるオブジェクト検出・追跡装置は、検出と追跡の対応付けの結果を動きモデルに反映させる。これにより、追跡の精度を高めることが可能となる。
【0127】
<第5の実施形態>
次に、本発明の第5の実施形態について、図面を用いて詳細に説明する。
【0128】
図8は、本実施形態におけるオブジェクト検出・追跡装置の構成を示す図である。以下、図8を参照しながら、オブジェクト検出・追跡装置の概要を説明する。
【0129】
本実施形態におけるオブジェクト検出・追跡装置10は、取得部11と、検出部12と、追跡部13と、対応付け部14と、補正部15と、を備える。
【0130】
取得部11は、画像を取得する。取得部11は、取得した画像を、検出部12及び追跡部13に出力する。
【0131】
検出部12は、取得部11から入力された画像中のオブジェクトを検出する。具体的には、検出部12は、入力された画像中でのオブジェクトの領域及び該画像における該オブジェクトの位置(以下、「検出位置」と呼ぶ。)を特定する。検出部12は、検出位置と、時刻情報(あるいはフレーム番号等のフレームを識別する情報)と、を含む、検出結果を出力する。
【0132】
検出部12において画像からオブジェクトを検出する処理には処理時間がかかることがあり、特に、深層学習ベースの検出方式では、この傾向が顕著である。そのため、追跡部13は、取得された画像に対して、検出部12と並行して処理を行う。
【0133】
追跡部13は、取得された画像中のオブジェクトを追跡する。具体的には、追跡部13は、取得された画像よりも前の時刻に取得された画像において追跡したオブジェクトと同一のオブジェクトの位置(以下、「追跡位置情報」と呼ぶ。)を特定する。追跡部13は、特定した各オブジェクトの追跡位置と、当該オブジェクトを識別するための追跡IDと、取得された画像の時刻情報(あるいはフレーム番号等のフレームを識別する情報)と、を含む追跡結果を出力する。
【0134】
対応付け部14は、検出部12での処理が終了すると、検出結果及び追跡結果に基づいて、同時刻の、検出されたオブジェクトと追跡されたオブジェクトとを対応付ける。
【0135】
補正部15は、検出されたオブジェクトの位置を用いて、追跡されたオブジェクトの位置を補正する。
【0136】
図9は、本実施形態におけるオブジェクト検出・追跡装置10が画像を取得してから位置情報を補正するまでの処理の流れを示すフローチャートである。以下、オブジェクト検出・追跡装置の処理の流れを、図9を参照しながら説明する。
【0137】
取得部11は、画像を取得し(S901)、追跡部13は、取得された画像中のオブジェクトを追跡する(S902)。検出部12において、以前の画像に対して行った画像中のオブジェクトの検出が終了した場合(S903 Yes)、検出部12は、検出結果を対応付け部14に出力するとともに、今回取得した画像中のオブジェクトを検出する処理を開始する(S904)。そして、対応付け部14は、同時刻の画像において検出及び追跡された、同一のオブジェクトを対応付ける(S905)。補正部15は、検出されたオブジェクトの位置を用いて、追跡されたオブジェクトの位置を補正する(S906)。一方、検出部12において、オブジェクトの検出が終了していない場合(S903 No)は、対応付けと補正処理は飛ばす。そして、次の画像がある場合(S907 Yes)、S901に戻って画像を取得し、次の画像がない場合(S907 No)には処理を終了する。
【0138】
以上のように、本実施形態におけるオブジェクト検出・追跡装置は、検出処理が遅延した場合でも並行して追跡処理を行い、検出処理が完了すると、検出結果を用いて追跡結果を補正する。これにより、検出処理が遅延した場合でも、高精度な追跡を実現することができる。
【0139】
<ハードウェア構成>
<実施形態の各部を実現するハードウェアの構成>
以上で説明された本発明の各実施形態において、各装置の各構成要素を示すブロックは、機能単位で示されている。しかし、構成要素を示すブロックは、各構成要素が別個のモジュールにより構成されることを必ずしも意味していない。
【0140】
各構成要素の処理は、たとえば、コンピュータシステムが、コンピュータ読み取り可能な記憶媒体により記憶された、その処理をコンピュータシステムに実行させるプログラムを、読み出し、実行することによって、実現されてもよい。「コンピュータ読み取り可能な記憶媒体」は、たとえば、光ディスク、磁気ディスク、光磁気ディスク、及び不揮発性半導体メモリ等の可搬媒体、ならびに、コンピュータシステムに内蔵されるROM(Read Only Memory)及びハードディスク等の記憶装置である。「コンピュータ読み取り可能な記憶媒体」は、コンピュータシステム内部の揮発性メモリのようにプログラムを一時的に保持可能なもの、及び、ネットワークや電話回線等の通信回線のように、プログラムを伝送するものも含む。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、更に前述した機能をコンピュータシステムにすでに記憶されているプログラムとの組み合わせで実現できるものであってもよい。
【0141】
「コンピュータシステム」とは、一例として、図10に示されるようなコンピュータ900を含むシステムである。コンピュータ900は、以下のような構成を含む。
・1つ又は複数のCPU(Central Processing Unit)901
・ROM902
・RAM(Random Access Memory)903
・RAM903へロードされるプログラム904A及び記憶情報904B
・プログラム904A及び記憶情報904Bを格納する記憶装置905
・記憶媒体906の読み書きを行うドライブ装置907
・通信ネットワーク909と接続する通信インタフェース908
・データの入出力を行う入出力インタフェース910
・各構成要素を接続するバス911
例えば、各実施形態における各装置の各構成要素は、その構成要素の機能を実現するプログラム904AをCPU901がRAM903にロードして実行することで実現される。各装置の各構成要素の機能を実現するプログラム904Aは、例えば、予め、記憶装置905やROM902に格納される。そして、必要に応じてCPU901がプログラム904Aを読み出す。記憶装置905は、たとえば、ハードディスクである。プログラム904Aは、通信ネットワーク909を介してCPU901に供給されてもよいし、予め記憶媒体906に格納されており、ドライブ装置907に読み出され、CPU901に供給されてもよい。なお、記憶媒体906は、たとえば、光ディスク、磁気ディスク、光磁気ディスク、及び不揮発性半導体メモリ等の、可搬媒体である。
【0142】
各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個のコンピュータ900とプログラムとの可能な組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つのコンピュータ900とプログラムとの可能な組み合わせにより実現されてもよい。
【0143】
また、各装置の各構成要素の一部又は全部は、その他の汎用又は専用の回路、コンピュータ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
【0144】
各装置の各構成要素の一部又は全部が複数のコンピュータや回路等により実現される場合には、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、コンピュータや回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
なお、前述の実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしてもよい。また、本発明の構成は前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
【0145】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
映像を取得する取得手段と、
前記映像中のオブジェクトを追跡する追跡手段と、
前記映像中のオブジェクトを検出する検出手段と、
前記映像中の画像のうち同時刻の画像において前記検出及び前記追跡された、同一のオブジェクトを対応付ける対応付け手段と、
前記対応付いたオブジェクトについて、前記検出されたオブジェクトの位置を用いて、前記追跡されたオブジェクトの位置を補正する補正手段と、
を備えるオブジェクト検出・追跡装置。
(付記2)
前記補正手段は、前記対応付いたオブジェクトについて、前記検出の時刻より後に取得された画像の少なくとも一つの画像における当該オブジェクトの位置を補正する
付記1に記載のオブジェクト検出・追跡装置。
(付記3)
前記追跡されたオブジェクトの外見的な視覚特徴を表す外見モデルを、前記追跡されたオブジェクトごとに生成する新規生成手段
をさらに備え、
前記追跡手段は、前記取得手段により取得された映像中の画像において、前記外見モデルと類似する領域を探索し、
前記新規生成手段は、前記検出されたオブジェクトのうち、前記対応付けにおいて前記追跡されたオブジェクトと対応付かなかったオブジェクトに対しては、新規に追跡対象オブジェクトに追加する新規オブジェクト追加処理を行う
付記2に記載のオブジェクト検出・追跡装置。
(付記4)
前記対応付けにおいて対応づいたオブジェクトに対して、当該オブジェクトが検出された位置と、前記検出の時刻における画像と、に基づいて、前記外見モデルを更新する外見モデル更新手段、
をさらに備え、
前記追跡手段は、前記追跡において、前記映像中の画像における前記更新された外見モデルと類似する領域を探索する
付記3に記載のオブジェクト検出・追跡装置。
(付記5)
オブジェクトの動きに関する動きモデルと、前記追跡されたオブジェクトの位置の履歴と、に基づいて、新たに取得された映像中の画像における前記追跡されたオブジェクトの位置を予測する予測手段
をさらに備え、
前記新規生成手段は、前記追跡されたオブジェクトごとに動きモデルを生成し、
前記追跡手段は、前記追跡において、前記映像中の画像における前記予測された位置に基づいて定められた探索領域を探索する
付記3又は4のいずれか一項に記載のオブジェクト検出・追跡装置。
(付記6)
前記新規生成手段は、前記新規オブジェクト追加処理において、初期動きモデルを生成し、
前記追跡手段は、前記生成された初期動きモデルを、以降の追跡処理で用いる
付記5に記載のオブジェクト検出・追跡装置。
(付記7)
前記対応付け手段において対応づいた追跡対象オブジェクトに対しては、補正後の位置に基づいて、追跡対象オブジェクトの動きモデルを更新する動きモデル更新手段
をさらに備える付記5又は6に記載のオブジェクト検出・追跡装置。
(付記8)
前記新規生成手段は、前記検出されたオブジェクト及び前記追跡されたオブジェクトに関する動きモデルをそれぞれ生成し、
前記予測手段は、前記生成された動きモデルそれぞれを用いて、新たに取得される映像中の画像におけるオブジェクトの予測位置を算出する
付記7に記載のオブジェクト検出・追跡装置。
(付記9)
前記予測手段は、
前記画像よりも前の時刻の画像における前記追跡されたオブジェクトの位置と前記検出されたオブジェクトの位置との差分が閾値以下の場合に、前記追跡されたオブジェクトの位置に基づいて、新たに取得される映像中の画像における前記オブジェクトの予測位置を算出し、
前記差分が閾値より大きい場合に、前記検出されたオブジェクトの位置に基づいて、新たに取得される映像中の画像における前記オブジェクトの予測位置を算出する
付記8に記載のオブジェクト検出・追跡装置。
(付記10)
映像を取得し、
前記映像中のオブジェクトを追跡し、
前記映像中のオブジェクトを検出し、
前記映像中の画像のうち同一の画像において前記検出及び前記追跡された、同一のオブジェクトを対応付け、
前記対応付いたオブジェクトについて、前記検出されたオブジェクトの位置を用いて、前記追跡されたオブジェクトの位置を補正する、
オブジェクト検出・追跡方法。
(付記11)
コンピュータに対して、
映像を取得する処理と、
前記映像中のオブジェクトを追跡する処理と、
前記映像中のオブジェクトを検出する処理と、
前記映像中の画像のうち同一の画像において前記検出及び前記追跡された、同一のオブジェクトを対応付ける処理と、
前記対応付いたオブジェクトについて、前記検出されたオブジェクトの位置を用いて、前記追跡されたオブジェクトの位置を補正する処理と、
を実行させるためのプログラムを記録するプログラム記録媒体。
【産業上の利用可能性】
【0146】
本発明のオブジェクト検出・追跡装置を用いることで、検出の処理に時間がかかる場合であっても、遅延を小さく抑えたオブジェクトの追跡が可能となる。よって、映像監視だけでなく、内視鏡カメラを使った病変部位の実時間検出・追跡等、実時間性の要求が高い応用での物体の追跡にも利用できる。
【符号の説明】
【0147】
100 オブジェクト検出・追跡装置
101 映像取得手段
102 オブジェクト検出手段
103 オブジェクト追跡手段
104 スイッチ制御手段
105 スイッチ手段
106 スイッチ手段
201 対応領域探索部
202 外見モデル更新部
203 外見モデル記憶部
204 検出結果受信部
205 対応付け部
206 位置補正部
207 位置情報記憶部
208 新規生成・削除部
209 画像バッファ
210 スイッチ部
320 外見モデル更新部
408 新規生成・削除部
430 予測部
431 動きモデル記憶部
432 動きモデル更新部
540 動きモデル更新部
10 オブジェクト検出・追跡装置
11 取得部
12 検出部
13 追跡部
14 対応付け部
15 補正部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10