(57)【要約】  物体追跡装置において、物体検出部は、検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する。物体追跡部は、物体検出部による物体の検出位置から当該物体を追跡する。制御部は、物体検出部による物体の検出結果、及び、物体追跡部による物体の追跡結果に基づいて、物体検出部が使用する物体検出プログラムを制御する。
2020184539.tif 000002
【特許請求の範囲】
【請求項１】
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する物体検出部と、
前記物体の検出位置から当該物体を追跡する物体追跡部と、
前記物体検出部による前記物体の検出結果、及び、前記物体追跡部による前記物体の追跡結果に基づいて、前記物体検出部が使用する物体検出プログラムを制御する制御部と、
を備える物体追跡装置。
【請求項２】
前記制御部は、前記物体追跡部が生成した前記物体の予測位置において前記物体検出部が当該物体を検出できなかった場合、前記物体検出部が使用する物体検出プログラムを変更する請求項１に記載の物体追跡装置。
【請求項３】
前記制御部は、前記物体追跡部が生成した前記物体の予測位置において前記物体検出部が当該物体を検出できず、かつ、前記予測位置が前記映像データ内の予め決められた領域に含まれる場合、前記物体検出部が使用する物体検出プログラムを変更する請求項１に記載の物体追跡装置。
【請求項４】
前記制御部は、前記物体検出部が前記物体を所定回数以上検出できなかった場合に、前記物体検出部が前記物体を検出できなかったと判定する請求項２に記載の物体追跡装置。
【請求項５】
前記制御部は、前記物体検出部が検出した前記物体の検出位置と、前記物体追跡部が生成した前記物体の予測位置が一致しない場合に、前記物体検出部が前記物体を検出できなかったと判定する請求項２に記載の物体追跡装置。
【請求項６】
前記制御部は、前記物体検出部が使用する物体検出プログラムを、１レベル高い精度の物体検出プログラムに変更する請求項２に記載の物体追跡装置。
【請求項７】
前記制御部は、前記物体追跡部が生成した前記物体の予測位置において前記物体検出部が当該物体を所定回数以上検出できた場合、前記物体検出部が使用する物体検出プログラムを１レベル低い精度の物体検出プログラムに変更する請求項２に記載の物体追跡装置。
【請求項８】
物体追跡装置により実行され、
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出し、
前記物体の検出位置から当該物体を追跡し、
前記物体の検出結果、及び、前記物体の追跡結果に基づいて、前記物体の検出に使用する物体検出プログラムを制御する物体追跡方法。
【請求項９】
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する物体検出部、
前記物体の検出位置から当該物体を追跡する物体追跡部、
前記物体検出部による前記物体の検出結果、及び、前記物体追跡部による前記物体の追跡結果に基づいて、前記物体検出部が使用する物体検出プログラムを制御する制御部、
としてコンピュータを機能させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像データに含まれる物体を追跡する装置に関する。
【背景技術】
【０００２】
近年、ディープラーニングよる認識精度が向上したこと、及び、クラウドコンピューティングにより柔軟にＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）リソースを使用可能になったことから、小売店舗、スタジアム、ショッピングモールといった施設において、映像分析システムにより防犯、マーケティング、オペレーション改善等を行うソリューションの需要が増えている。一例としては、小売店舗において顧客の年齢や性別および動線を映像からリアルタイムに取得し、顧客の特徴に応じて最適な広告を提示するといったことが挙げられる。【０００３】
一方で、ディープラーニングによる映像分析は、処理速度（単位時間当たりの処理フレーム数）と精度の間にトレードオフ関係が存在することが一般的に知られている。ディープラーニングの層を多くすると表現力が高くなり精度が向上するが、計算コストが高くなり、処理速度が低下する。一方で層を少なくすると精度は低下するが、計算コストが低くなり、処理速度が向上する。以上のことから、ディープラーニングでは、高精度な分析結果を得ようとすると大量のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）もしくはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が必要となるという課題がある。【０００４】
映像に含まれる物体を追跡する方法としては、２つの方法が存在する。第１の方法は、映像から得られる物体の特徴量から類似度を算出し、時間の異なるフレーム間の物体を同一として紐付ける方法である。第２の方法は、ある時刻ｔと時刻ｔ＋１のフレーム中の物体位置のズレの小さいものを同一として紐付ける方法である。第１の方法は、物体を高精度に追跡可能であるが、要求される計算量が大きい。第２の方法は、第１の方法と比較して精度は低下するが、要求される計算量は小さい。【０００５】
特許文献１は、Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ（ＲＮＮ）の追跡を、Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｅｒｋ（ＣＮＮ）の出力した特徴量の比較に置き換えることにより、物体追跡の高速化を実現している。非特許文献１は、予測した物体位置とＣＮＮにより出力された物体の位置との重なり具合をもとに物体追跡を実現する方法を提案している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１８−０２６１０８号公報
【非特許文献１】Ａｌｅｘ  Ｂｅｗｌｅｙ他４名、”Ｓｉｍｐｌｅ  ｏｎｌｉｎｅ  ａｎｄ  ｒｅａｌｔｉｍｅ  ｔｒａｃｋｉｎｇ”、２０１６  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ (ＩＣＩＰ)、２０１６年９月、３４６４−３４６８頁
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ディープラーニングによる高精度な映像分析を行うには、大量のＣＰＵやＧＰＵを用いる必要があり、それらを実行する設備を店舗や施設内に設置するのが困難な場合がある。設置が容易な小型ＰＣを用いてディープラーニングにより物体をリアルタイムで追跡する場合、高精度なディープラーニングのモデルを使用すると処理速度が遅くなり、リアルタイムでの追跡が困難となる。一方で、軽量で精度の低いディープラーニングのモデルを使用すると、未検出が多くなり、結果として追跡が困難となる。【０００８】
本発明の１つの目的は、リアルタイムな物体追跡を実現することにある。
【課題を解決するための手段】
【０００９】
本発明の１つの観点では、物体追跡装置は、
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する物体検出部と、
前記物体の検出位置から当該物体を追跡する物体追跡部と、
前記物体検出部による前記物体の検出結果、及び、前記物体追跡部による前記物体の追跡結果に基づいて、前記物体検出部が使用する物体検出プログラムを制御する制御部と、
を備える。【００１０】
本発明の他の観点では、物体追跡装置により実行される物体追跡方法は、
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出し、
前記物体の検出位置から当該物体を追跡し、
前記物体の検出結果、及び、前記物体の追跡結果に基づいて、前記物体の検出に使用する物体検出プログラムを制御する。【００１１】
本発明の他の観点では、記録媒体は、
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する物体検出部、
前記物体の検出位置から当該物体を追跡する物体追跡部、
前記物体検出部による前記物体の検出結果、及び、前記物体追跡部による前記物体の追跡結果に基づいて、前記物体検出部が使用する物体検出プログラムを制御する制御部、
としてコンピュータを機能させるプログラムを記録する。
【発明の効果】
【００１２】
本発明によれば、リアルタイムの物体追跡が可能となる。
【図面の簡単な説明】
【００１３】
【図１】小型ＰＣを用いた物体追跡装置による物体追跡処理の例を示す。
【図２】実施形態の物体追跡装置による物体追跡処理の例を示す。
【図３】物体追跡装置のハードウェア構成例を示すブロック図である。
【図４】第１実施形態の物体追跡装置の機能構成を示すブロック図である。
【図５】プログラム情報の一例を示す。
【図６】追跡情報の一例を示す。
【図７】物体追跡処理のシーケンスを示す。
【図８】プログラム決定処理の初期化処理のフローチャートである。
【図９】プログラム決定処理の第１実施例のフローチャートである。
【図１０】プログラム決定処理の第２実施例のフローチャートである。
【図１１】第２実施形態の物体追跡装置の機能構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明の実施形態について説明する。
［原理説明］
まず、実施形態の基本原理について説明する。物体追跡装置は、画像中の物体を検出する検出処理を行う。そして、得られた検出結果を、過去の検出結果と紐づける追跡処理を行うことにより、物体の予測位置を算出し、物体を追跡する。映像から物体を検出する検出処理は高負荷であり、小型ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）ではリアルタイムに高精度で分析を実行するのは困難であるため、精度を落とした軽量な検出モデルを使用することが一般的である。しかしながら、精度を落とした場合、実際には物体が存在するにも関わらず、その物体を検出できないという状態（以下、「未検出」とも呼ぶ。）が発生する。その結果、同一人物を別人物として追跡してしまい、追跡精度が低下することがある。
【００１５】
図１は、小型ＰＣを用いた物体追跡装置による物体追跡処理の例を示す。小型ＰＣを用いているため、物体の検出処理には精度の低い検出モデルを使用している。時刻ｔ１においては、画像Ｐ１の検出処理により、人物Ａ及び人物Ｂが検出されている。ところが、時刻ｔ２においては、画像Ｐ２の検出処理により人物Ｂは検出されているが、人物Ａが未検出となっている。画像Ｐ２に示すように、実際には人物Ａは存在しており、画像Ｐ２にも含まれているが、検出モデルの精度が低いため、人物Ａは未検出となっている。その結果、時刻ｔ２では、追跡結果Ｒ２に示すように、人物Ｂの検出位置（実線の矩形で示す）は得られているが、人物Ａの検出位置は得られていない。なお、時刻ｔ２における人物Ａ及びＢの予測位置（破線の矩形で示す）は、時刻ｔ１以前の検出処理の結果を使用して生成されている。さらに、時刻ｔ３でも、画像Ｐ３に示すように人物Ａは存在するが、未検出となっている。なお、時刻ｔ３では、人物Ｂは画像Ｐ３に含まれなくなり、検出されていない。その結果、時刻ｔ３の追跡結果Ｒ３では、人物Ａ及びＢの予測位置のみが得られている。
【００１６】
その後、時刻ｔ４において、画像Ｐ４の検出処理により、人物Ｃ及びＤが検出されている。ここで、人物Ｃは新たな人物であるが、人物Ｄは実際には人物Ａである。即ち、人物Ａは時刻ｔ２、ｔ３において未検出となっており、時刻ｔ４で再度検出されただけである。しかし、追跡システムは、時刻ｔ２、ｔ３で人物Ａが未検出となったため、時刻ｔ４で検出された人物Ｄを、人物Ａとは異なる新たな人物と判断する。こうして、実際には画像中に存在し続けている人物Ａが、時刻ｔ４以降は別の人物Ｄとして追跡されることとなる。
【００１７】
このように、小型ＰＣなどを用いた追跡システムでは、検出モデルの精度が低いために未検出が発生し、追跡対象となる人物を誤ってしまうことがある。そこで、本実施形態においては、追跡処理では人物が存在しており、予測位置が得られているのに、検出処理でその人物の未検出状態が所定期間続いた場合、一時的に高精度な検出モデルを使用して検出精度を上げることにより、未検出を防止し、物体追跡の精度を向上させる。
【００１８】
図２は、実施形態の物体追跡装置による物体追跡処理の例を示す。時刻ｔ１１、ｔ１２の状況は図１における時刻ｔ１、ｔ２と同様である。即ち、時刻ｔ１１では、画像Ｐ１１の検出処理により人物Ａ及びＢが検出されている。ところが、時刻ｔ１２では、画像Ｐ１２の検出処理により人物Ｂのみが検出され、人物Ａは未検出となっている。ここで、時刻ｔ１２では、追跡処理は人物Ａの追跡に成功しており、人物Ａの予測位置（破線の矩形）を得られているにも関わらず、検出処理はその人物Ａの検出に失敗している。そこで、物体追跡装置は、時刻ｔ３において検出モデルの精度を上げ、高精度の検出モデルを用いて検出処理を行う。これにより、時刻ｔ１３では、画像Ｐ１３から人物Ａが検出される。その後、時刻ｔ１４でも引き続き人物Ａが検出される。即ち、図１に示す例とは異なり、時刻ｔ１４で人物Ａが新たな人物Ｄと誤判定されることはない。このように、本実施形態によれば、追跡処理では物体が存在しているが、検出処理で物体が未検出となった場合、一時的に高精度な検出モデルを適用する。これにより、未検出となった物体を検出可能とし、物体追跡の精度を向上させる。
【００１９】
［ハードウェア構成］
次に、本実施形態に係る物体追跡装置のハードウェア構成について説明する。図３は、物体追跡装置１のハードウェア構成を示すブロック図である。物体追跡装置１は、コンピュータを用いて構成され、映像バッファ２と、プロセッサ３と、メモリ４と、出力インタフェース（ＩＦ）５とを備える。映像バッファ２、プロセッサ３、メモリ４及び出力ＩＦは、バス６を通じて相互に接続されている。また、物体追跡装置１には、映像ソース７及び記録媒体８が接続される。
【００２０】
映像ソース７は、追跡対象となる物体を含む映像データを提供する装置であり、例えば、カメラなどの撮像装置、予め撮影した映像データを記憶しているデータベースなどが挙げられる。映像ソース７は、時系列の映像データを物体追跡装置１の映像バッファ２に供給する。
【００２１】
映像バッファ２は、映像ソース７から供給された映像データを一時的に保持する。プロセッサ３は、ＣＰＵ、又は、ＣＰＵとＧＰＵなどであり、予め用意されたプログラムを実行することにより物体追跡処理を実行する。メモリ４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などにより構成され、プロセッサ３が実行するプログラムを記憶する。また、メモリ４は、プロセッサ３による処理の実行中に作業メモリとしても機能する。出力ＩＦ５は、物体追跡処理により得られた追跡情報を外部装置へ出力する。
【００２２】
記録媒体８は、物体追跡処理を行うためのプログラムを記録している。記録媒体８は、コンピュータにより読み取り可能な、不揮発性記録媒体などの非一時的な記録媒体である。記録媒体８の例としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどが挙げられる。記録媒体８に記録されているプログラムは、物体追跡装置１による処理の実行時にメモリ４に読み込まれ、プロセッサ３により実行される。
【００２３】
［第１実施形態］
（機能構成）
次に、本実施形態に係る物体追跡装置の機能構成について説明する。図４は、物体追跡装置１の機能構成を示すブロック図である。物体追跡装置１は、映像データ取得部１０と、物体検出部２０と、物体追跡部３０と、出力部４０と、制御部５０とを備える。
【００２４】
映像データ取得部１０は、図３における映像バッファ２に相当し、映像ソース７から映像データを取得して物体検出部２０へ供給する。なお、映像データは、時系列に配列された複数のフレーム画像からなる。
【００２５】
物体検出部２０は、複数の物体検出プログラム２１を保持する。物体検出プログラム２１は、映像データから追跡の対象となる物体を検出するためのプログラムである。ここで、複数の物体検出プログラム０〜Ｎは、検出精度が異なっており、通常はそれに応じて処理速度も異なっている。基本的に、検出精度が高い物体検出プログラム２１は処理速度が遅く、検出精度が低い物体検出プログラム２１は処理速度が速い。物体検出部２０は、各検出タイミングにおいて、複数の物体検出プログラム２１のうちの１つを使用して、映像データから物体を検出する。物体検出部２０が物体の検出に使用する１つのプログラムは、制御部５０により決定される。物体検出部２０は、物体の検出位置、即ち、映像データ中の物体の位置を物体追跡部３０に供給する。物体の検出位置は、例えば図２において実線の矩形で示されるように、ある時刻におけるフレーム画像中の位置座標により示される。
【００２６】
物体追跡部３０は、物体の検出位置から物体を追跡する。具体的には、物体追跡部３０は、物体の過去の検出位置に基づいて物体の予測位置を算出する。物体の予測位置は、その時刻において物体が存在すると予測される位置である。物体の予測位置は、例えば図２において破線の矩形で示されるように、ある時刻におけるフレーム画像中の位置座標により示される。物体追跡部３０は、算出した物体の予測位置を含む追跡情報を制御部５０及び出力部４０へ供給する。
【００２７】
出力部４０は、図３における出力ＩＦ５に相当し、物体追跡部３０から供給された追跡情報を外部装置へ出力する。外部装置は、例えば表示部を備える装置であり、映像データの各時刻におけるフレーム画像上に、物体の検出位置及び予測位置を示す矩形などを重畳して表示し、ユーザに追跡結果を提示する。また、外部装置は、物体の予測位置と、映像データを撮影したカメラの位置や撮影範囲などを用いて、物体の移動軌跡を算出し表示してもよい。
【００２８】
制御部５０は、プログラム情報保持部５１と、プログラム決定部５２と、追跡情報保持部５３とを備える。プログラム情報保持部５１は、プログラム情報を保持している。プログラム情報とは、物体検出部２０が使用する複数の物体検出プログラムの特性を示す情報である。図５は、プログラム情報の一例を示す。プログラム情報は、各物体検出プログラムの「精度」及び「処理速度」を含む。ここで、「精度」は、物体を検出する精度であり、数値が高いほど精度が高い。「処理速度」は、物体を検出する処理の速度であり、数値が大きいほど速度が速い。図５の例では、物体検出プログラム０は、精度が最も高いが、処理速度が最も遅い。一方、物体検出プログラム２は、精度は最も低いが、処理速度は最も速い。
【００２９】
追跡情報保持部５３は、物体追跡部３０から供給される追跡情報を一時的に保持する。図６（Ａ）は、追跡情報の一例を示す。追跡情報は、現在追跡の対象となっている物体のリストとなっている。具体的に、追跡情報は、追跡の対象となっている物体ＩＤ毎に、「前回検出位置」、「不一致回数」及び「予測位置」を示す。「前回検出位置」は、１つ前の検出処理において物体検出部２０により各物体が検出された位置である。なお、物体の検出位置は、検出処理に用いたフレーム画像における座標により示される。詳しくは、図６（Ｂ）に示すように、フレーム画像において物体が存在する範囲を矩形領域８０（実線）で示し、その矩形領域の左上と右下の点の座標を検出位置として用いる。「予測位置」は、前回検出位置に基づいて物体追跡部３０が算出したその物体の予測位置を示す。図６（Ｂ）に示すように、予測位置も物体が存在すると予測される範囲を矩形領域８１（破線）で示し、その矩形の左上と右下の点の座標を予測位置としている。なお、上記の方法は一例であり、物体の検出位置や予測位置を座標で規定する方法はこれには限られない。例えば、物体の位置を円形領域で示す場合には、物体の位置をその円形領域の中心座標と半径で示しても良い。
【００３０】
「不一致回数」は、物体追跡部３０による一致判定の結果が不一致となった回数を示す。物体追跡部３０は、物体毎に、今回の物体の検出位置と、その物体の予測位置とを比較し、両者が所定の許容ずれ範囲以内にある場合に、検出位置と予測位置とが「一致」したと判定する。検出位置と予測位置とが一致した場合、物体追跡部３０は、その物体の追跡に成功していることになる。一方、検出位置と予測位置が所定の許容ずれ範囲内に無い場合、物体追跡部３０は検出位置と予測位置とが「不一致」と判定する。検出位置と予測位置とが不一致となった場合、物体追跡部３０は、追跡に失敗したことになる。「不一致回数」は、物体追跡部３０により、物体の検出位置と予測位置とが「不一致」と判定された回数を示している。物体追跡部３０は、不一致回数が事前に設定された閾値以上となった場合、その物体が画像データから消えたと判断し、その物体を追跡情報から削除する。
【００３１】
プログラム決定部５２は、プログラム情報保持部５１に記憶されているプログラム情報と、追跡情報保持部５３に記憶されている追跡情報とを用いて、予め用意された複数の物体検出プログラムから、物体検出部２０が使用すべき１つの物体検出プログラムを決定する処理（以下、「プログラム決定処理」と呼ぶ。）を実行する。プログラム決定処理の詳細については後述する。プログラム決定部５２は、決定した物体検出プログラムを物体検出部２０に指示する。物体検出部２０は、プログラム決定部５２から指示された物体検出プログラムを使用して物体検出処理を行う。
【００３２】
（物体追跡処理）
次に、物体追跡装置１により実行される物体追跡処理について説明する。図７は、物体追跡処理のシーケンスを示す。図７に示す処理は、図３に示すプロセッサが、予め用意されたプログラムを実行することにより実現される。
【００３３】
まず、映像データ取得部１０は、映像ソース７から映像データを取得し、物体検出部２０に供給する（ステップＳ１）。物体検出部２０は、制御部５０に、物体検出プログラムの決定を要求する（ステップＳ２）。制御部５０は、物体検出部２０からの要求に応じ、プログラム決定処理を実行して、物体検出部２０が使用する物体検出プログラムを決定する（ステップＳ３）。制御部５０は、プログラム情報保持部５１に記憶されているプログラム情報、及び、追跡情報保持部５３に記憶されている追跡情報を用いて物体検出プログラムを決定するが、その詳細は後述する。プログラム決定処理が終了すると、制御部５０は、決定した物体検出プログラムを物体検出部２０に指示する（ステップＳ４）。
【００３４】
物体検出部２０は、制御部５０により指示された物体検出プログラムを使用して物体の検出処理を行う（ステップＳ５）。具体的に、物体検出部２０は、ステップＳ１で供給された映像データの各フレーム画像を分析し、物体の検出を行う。そして、物体検出部２０は、物体の検出位置を示す検出結果を物体追跡部３０へ供給する（ステップＳ６）。
【００３５】
物体追跡部３０は、物体検出部２０から供給された検出結果を用いて追跡処理を行う（ステップＳ７）。具体的には、物体追跡部３０は、過去に取得したその物体の検出位置を用いてその物体の予測位置を算出する。次に、物体追跡部３０は、算出した予測位置と、今回取得したその物体の検出位置とを比較し、両者が一致するか否かの一致判定を行う。予測位置と検出位置が一致した場合、物体追跡部３０は物体を追跡できていると判断し、今回の検出位置を用いて予測位置を更新する。一方、予測位置と検出位置が不一致の場合、物体追跡部は不一致回数を１増加する。また、不一致回数が所定の閾値を超えた場合、物体追跡部３０はその物体を追跡の対象から除外する。そして、物体追跡部３０は、追跡処理により得られた追跡情報を制御部５０に供給し、追跡情報保持部５３内の追跡情報を更新する（ステップＳ８）。さらに、物体追跡部３０は、追跡情報を外部装置へ出力する（ステップＳ９）。
【００３６】
（プログラム決定処理）
次に、ステップＳ３で行われるプログラム決定処理について説明する。
（１）第１実施例
まず、プログラム決定処理の第１実施例について説明する。図８は、プログラム決定処理の初期化処理のフローチャートである。図９は、プログラム決定処理の第１実施例のフローチャートである。これらの処理は、基本的に制御部５０、より詳しくは制御部５０内のプログラム決定部５２により行われる。
【００３７】
まず、制御部５０は図８に示す初期化処理を行う。制御部５０は、使用する物体検出プログラムをデフォルトのものに設定し（ステップＳ１１）、制御パラメータ「Ｉ」を初期値「Ｍ」に設定する（ステップＳ１２）。ここで、「Ｍ」は任意の整数を表す。初期値Ｍは、物体検出プログラムを１レベル精度の低いものに変更するか否かを判断するために使用される。これで、初期化処理は終了する。
【００３８】
次に、制御部５０は、図９に示すプログラム決定処理を実行する。図７に示すステップＳ２において物体検出部２０から物体検出プログラムの決定要求を受信すると、制御部５０は、追跡情報保持部５３に記憶されている追跡情報を参照し、不一致回数が予め決められた所定値「Ｎ」を超える物体があるか否かを判定する（ステップＳ２１）。ここで、所定値Ｎは、物体検出プログラムをより精度の高いものに変更するために必要とされる不一致回数を示す。例えば、所定値Ｎが「１」設定された場合、制御部５０は、映像データ中の１つのフレーム画像において予測位置と検出位置が不一致となったときに、物体検出プログラムをより精度の高いものに変更する。所定値Ｎが「２」に設定された場合、制御部５０は、映像データ中の２つのフレーム画像において予測位置と検出位置が不一致となったときに、物体検出プログラムをより精度の高いものに変更する。よって、所定値Ｎが小さい値に設定されるほど、少ない不一致回数で物体検出プログラムが変更されることになる。
【００３９】
不一致回数が所定値Ｎを超える物体がある場合（ステップＳ２１：Ｙｅｓ）、制御部５０は物体検出プログラムを１レベル高い精度のものに変更し（ステップＳ２２）、制御パラメータＩを「０」に設定する（ステップＳ２３）。そして、制御部５０は処理を終了する。
【００４０】
一方、不一致回数が所定値Ｎを超えるものが無い場合（ステップＳ２１：Ｎｏ）、物体追跡部３０は物体を正しく検出できていると考えられるので、制御部５０は制御パラメータＩから「１」を減算する（ステップＳ２４）。次に、制御部５０は、制御パラメータＩが「０」以下であるか否かを判定する（ステップＳ２５）。制御パラメータＩが「０」以下である場合（ステップＳ２５：Ｙｅｓ）、制御部５０は、使用する物体検出プログラムを１レベル低い精度のものに変更する（ステップＳ２６）。即ち、制御部５０は、物体の検出位置と予測位置が不一致とならなかった回数が初期値Ｍを超えたとき、制御部５０は、物体検出プログラムを１レベル低い精度のものに変更する。そして、制御部５０は、制御パラメータＩを初期値Ｍに設定し（ステップＳ２７）、処理を終了する。
【００４１】
一方、ステップＳ２５において制御パラメータＩが「０」以下でない場合（ステップＳ２５：Ｎｏ）、制御部５０は、物体検出プログラムを変更せず、処理を終了する。即ち、制御部５０は、現在の物体検出プログラムをそのまま使用する。そして、制御部５０は、プログラム決定処理により決定した物体検出プログラムを物体検出部２０に指示する。
【００４２】
以上のように、プログラム決定処理では、物体検出部２０による物体の検出位置と、その物体の予測位置とが不一致となった回数が所定値Ｎを超えたとき、制御部５０は物体検出プログラムを１レベル高い精度のものに変更する。一方、物体の検出位置と予測位置が不一致とならなかった回数が初期値Ｍを超えたとき、制御部５０は、物体検出プログラムを１レベル低い精度のものに変更する。このように、制御部５０は、使用中の物体検出プログラムにより未検出が発生する場合には物体検出プログラムの精度を高くし、未検出が所定期間発生しない場合には物体検出プログラムの精度を低くする。これにより、未検出を防止しつつ、処理速度を向上させる。
【００４３】
（２）第２実施例
次に、プログラム決定処理の第２実施例について説明する。第１実施例では、制御部５０は、物体の検出位置と予測位置との不一致回数が所定値Ｎを超える物体がある場合に、物体検出プログラムを１レベル高い精度のものに変更している。但し、第１実施例では、物体が映像データのフレーム画像から消失した場合でも、物体の検出位置と予測位置が不一致となり、物体検出プログラムは１レベル高い精度のものに変更される。その結果、高精度な物体検出プログラムの使用により、処理速度が不必要に低下してしまう恐れがある。
【００４４】
そこで、第２実施例では、物体の検出位置と予測位置との不一致回数が所定値Ｎを超えた物体がある場合、制御部５０は、さらにその物体がフレーム画像から消える可能性が高いか否かを判定する。具体的には、制御部５０は、その物体の予測位置がフレーム画像中の追跡対象領域Ｔに含まれているかを判定する。ここで、「追跡対象領域Ｔ」は、フレーム画像に対して事前に固定的に設定されるものであり、好適にはフレーム画像の中心部に設定される。物体の予測位置が追跡対象領域Ｔに含まれない場合、即ち、物体の予測位置がフレーム画像の端に存在する場合、その物体はフレーム画像から消える可能性が高い。そこで、制御部５０は、高精度の物体検出プログラムへの変更を行わず、低精度の物体検出プログラムのままで物体の検出を継続する。このように、追跡したい領域を追跡対象領域Ｔとして設定しておくことにより、物体の予測位置が追跡対象領域Ｔに含まれるときには、高精度な物体検出プログラムにより追跡精度を高めることができる。また、物体の予測位置が追跡対象領域Ｔに含まれないときには、処理負荷の軽い低精度の物体検出プログラムにより、処理速度を上げることができる。
【００４５】
図１０は、プログラム決定処理の第２実施例のフローチャートである。この処理も基本的に制御部５０により行われる。なお、第２実施例においても、最初に図８に示す初期化処理が行われる。その後、図７に示すステップＳ２において物体検出部２０からプログラムの決定要求を受信すると、制御部５０は、追跡情報保持部５３に記憶されている追跡情報を参照し、不一致回数が予め決められた所定値「Ｎ」を超える物体があるか否かを判定する（ステップＳ３１）。不一致回数が所定値Ｎを超える物体が無い場合（ステップＳ３１：Ｎｏ）、処理はステップＳ３５へ進む。
【００４６】
一方、不一致回数が所定値Ｎを超える物体がある場合（ステップＳ３１：Ｙｅｓ）、制御部５０は、物体追跡部３０により得られた物体の予測位置が、フレーム画像中に設定された追跡対象領域Ｔに含まれる物体があるか否かを判定する（ステップＳ３２）。予測位置が追跡対象領域Ｔに含まれる物体がある場合（ステップＳ３２：Ｙｅｓ）、制御部５０は物体検出プログラムを１レベル高い精度のものに変更する（ステップＳ３３）。そして、制御部５０は、制御パラメータＩを「０」に設定し（ステップＳ３４）、処理を終了する。
【００４７】
一方、予測位置が追跡対象領域Ｔに含まれる物体が無い場合（ステップＳ３２：Ｎｏ）、制御部５０は、物体検出プログラムを変更せず、ステップＳ３５へ進む。第２実施例におけるステップＳ３５〜Ｓ３８は、第１実施例におけるステップＳ２４〜２７と同様であるので説明を省略する。このように、第２実施例では、高精度の物体検出プログラムの使用が不必要に頻繁に行われないようにして、処理速度の低下を防止する。
【００４８】
［第２実施形態］
図１１は、本発明の第２実施形態に係る物体追跡装置の機能構成を示す。図示のように、物体追跡装置は、物体検出部７１と、物体追跡部７２と、制御部７３とを備える。物体検出部７１は、検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する。映像データは、追跡の対象となる物体を含む映像データであり、例えば時系列に配列されたフレーム画像群である。
【００４９】
物体追跡部７２は、物体検出部７１による物体の検出位置から当該物体を追跡する。例えば、物体追跡部７２は、過去の検出位置からその物体の予測位置を算出し、物体の検出位置が予測位置と一致しているか否かを判定する。制御部７３は、物体検出部７１による物体の検出結果、及び、物体追跡部７２による物体の追跡結果に基づいて、物体検出部７１が使用する物体検出プログラムを制御する。具体的には、制御部７３は、物体追跡部７２が物体を追跡できており、フレーム画像中にその物体が存在するはずなのに、物体検出部７１がその物体を検出できない場合に、物体検出部７１が使用する物体検出プログラムを制御して、その物体が検出されるようにする。
【００５０】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００５１】
（付記１）
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する物体検出部と、
前記物体の検出位置から当該物体を追跡する物体追跡部と、
前記物体検出部による前記物体の検出結果、及び、前記物体追跡部による前記物体の追跡結果に基づいて、前記物体検出部が使用する物体検出プログラムを制御する制御部と、
を備える物体追跡装置。
【００５２】
（付記２）
前記制御部は、前記物体追跡部が生成した前記物体の予測位置において前記物体検出部が当該物体を検出できなかった場合、前記物体検出部が使用する物体検出プログラムを変更する付記１に記載の物体追跡装置。
【００５３】
（付記３）
前記制御部は、前記物体追跡部が生成した前記物体の予測位置において前記物体検出部が当該物体を検出できず、かつ、前記予測位置が前記映像データ内の予め決められた領域に含まれる場合、前記物体検出部が使用する物体検出プログラムを変更する付記１に記載の物体追跡装置。
【００５４】
（付記４）
前記制御部は、前記物体検出部が前記物体を所定回数以上検出できなかった場合に、前記物体検出部が前記物体を検出できなかったと判定する付記２に記載の物体追跡装置。
【００５５】
（付記５）
前記制御部は、前記物体検出部が検出した前記物体の検出位置と、前記物体追跡部が生成した前記物体の予測位置が一致しない場合に、前記物体検出部が前記物体を検出できなかったと判定する付記２に記載の物体追跡装置。
【００５６】
（付記６）
前記制御部は、前記物体検出部が使用する物体検出プログラムを、１レベル高い精度の物体検出プログラムに変更する付記２に記載の物体追跡装置。
【００５７】
（付記７）
前記制御部は、前記物体追跡部が生成した前記物体の予測位置において前記物体検出部が当該物体を所定回数以上検出できた場合、前記物体検出部が使用する物体検出プログラムを１レベル低い精度の物体検出プログラムに変更する付記２に記載の物体追跡装置。
【００５８】
（付記８）
物体追跡装置により実行され、
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出し、
前記物体の検出位置から当該物体を追跡し、
前記物体の検出結果、及び、前記物体の追跡結果に基づいて、前記物体の検出に使用する物体検出プログラムを制御する物体追跡方法。
【００５９】
（付記９）
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する物体検出部、
前記物体の検出位置から当該物体を追跡する物体追跡部、
前記物体検出部による前記物体の検出結果、及び、前記物体追跡部による前記物体の追跡結果に基づいて、前記物体検出部が使用する物体検出プログラムを制御する制御部、
としてコンピュータを機能させるプログラムを記録した記録媒体。
【００６０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
【００６１】
この出願は、２０１９年３月１３日に出願された日本出願特願２０１９−４５６４１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００６２】
１  物体追跡装置
３  プロセッサ
４  メモリ
７  映像ソース
８  記録媒体
１０  映像データ取得部
２０  物体検出部
３０  物体追跡部
４０  出力部
５０  制御部
【図１】
2020184539.tif 000003
【図２】
2020184539.tif 000004
【図３】
2020184539.tif 000005
【図４】
2020184539.tif 000006
【図５】
2020184539.tif 000007
【図６】
2020184539.tif 000008
【図７】
2020184539.tif 000009
【図８】
2020184539.tif 000010
【図９】
2020184539.tif 000011
【図１０】
2020184539.tif 000012
【図１１】
2020184539.tif 000013
【手続補正書】
【提出日】令和3年8月24日(2021.8.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する物体検出手段と、
前記物体の検出位置から当該物体を追跡する物体追跡手段と、
前記物体検出手段による前記物体の検出結果、及び、前記物体追跡手段による前記物体の追跡結果に基づいて、前記物体検出手段が使用する物体検出プログラムを制御する制御手段と、
を備える物体追跡装置。
【請求項２】
前記制御手段は、前記物体追跡手段が生成した前記物体の予測位置において前記物体検出手段が当該物体を検出できなかった場合、前記物体検出手段が使用する物体検出プログラムを変更する請求項１に記載の物体追跡装置。
【請求項３】
前記制御手段は、前記物体追跡手段が生成した前記物体の予測位置において前記物体検出手段が当該物体を検出できず、かつ、前記予測位置が前記映像データ内の予め決められた領域に含まれる場合、前記物体検出手段が使用する物体検出プログラムを変更する請求項１に記載の物体追跡装置。
【請求項４】
前記制御手段は、前記物体検出手段が前記物体を所定回数以上検出できなかった場合に、前記物体検出手段が前記物体を検出できなかったと判定する請求項２に記載の物体追跡装置。
【請求項５】
前記制御手段は、前記物体検出手段が検出した前記物体の検出位置と、前記物体追跡手段が生成した前記物体の予測位置が一致しない場合に、前記物体検出手段が前記物体を検出できなかったと判定する請求項２に記載の物体追跡装置。
【請求項６】
前記制御手段は、前記物体検出手段が使用する物体検出プログラムを、１レベル高い精度の物体検出プログラムに変更する請求項２に記載の物体追跡装置。
【請求項７】
前記制御手段は、前記物体追跡手段が生成した前記物体の予測位置において前記物体検出手段が当該物体を所定回数以上検出できた場合、前記物体検出手段が使用する物体検出プログラムを１レベル低い精度の物体検出プログラムに変更する請求項２に記載の物体追跡装置。
【請求項８】
物体追跡装置により実行され、
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出し、
前記物体の検出位置から当該物体を追跡し、
前記物体の検出結果、及び、前記物体の追跡結果に基づいて、前記物体の検出に使用する物体検出プログラムを制御する物体追跡方法。
【請求項９】
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する物体検出手段、
前記物体の検出位置から当該物体を追跡する物体追跡手段、
前記物体検出手段による前記物体の検出結果、及び、前記物体追跡手段による前記物体の追跡結果に基づいて、前記物体検出手段が使用する物体検出プログラムを制御する制御手段、
としてコンピュータを機能させるプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の１つの観点では、物体追跡装置は、
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する物体検出手段と、
前記物体の検出位置から当該物体を追跡する物体追跡手段と、
前記物体検出手段による前記物体の検出結果、及び、前記物体追跡手段による前記物体の追跡結果に基づいて、前記物体検出手段が使用する物体検出プログラムを制御する制御手段と、
を備える。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の他の観点では、プログラムは、
検出精度の異なる複数の物体検出プログラムを使用して、映像データから物体を検出する物体検出手段、
前記物体の検出位置から当該物体を追跡する物体追跡手段、
前記物体検出手段による前記物体の検出結果、及び、前記物体追跡手段による前記物体の追跡結果に基づいて、前記物体検出手段が使用する物体検出プログラムを制御する制御手段、
としてコンピュータを機能させる。
【国際調査報告】
2020184539.tif 000014
2020184539.tif 000015
2020184539.tif 000016
2020184539.tif 000017