(57)【特許請求の範囲】
【請求項１】
撮像部から動画を取得する動画取得部と、
取得した前記動画を構成する画像それぞれにおける人物画像を検出する人物検出部と、
検出した前記人物画像について、ひとつづきの動線を抽出し、抽出した前記動線に関する情報である動線情報を検出する動線検出処理部と、
前記動線検出処理部が検出した、一度途切れている前記動線情報を複数取得し、取得した複数の前記動線情報それぞれについて、同一人物の前記動線であるか否かを、前記動線における人物特徴量を基に判定する判定部と、
前記同一人物と判定された前記動線情報を基に、その人物の総滞留時間を算出する総滞留時間算出部と、
算出した前記総滞留時間を出力部に出力する出力処理部と、
を有することを特徴とする動画解析装置。
【請求項２】
前記動線検出処理部は、
前記動線が示す時間が、所定時間以上とならないよう前記動線を検出する
ことを特徴とする請求項１に記載の動画解析装置。
【請求項３】
前記出力処理部は、
算出した前記総滞留時間に関する情報と、当該総滞留時間の算出対象となっている人物の情報とを前記出力部に表示し、
算出した前記総滞留時間が所定の閾値を超えている場合、前記総滞留時間が前記所定の閾値を超えていることを示す出力を行う
ことを特徴とする請求項１に記載の動画解析装置。
【請求項４】
前記出力処理部は、
それぞれの人物における動線の情報を前記出力部に出力し、
入力部を介して、所定の動線の情報を削除可能である
ことを特徴とする請求項１に記載の動画解析装置。
【請求項５】
前記動線検出処理部は、
前記人物特徴量に基づいて、前記動線を検出し、
前記動線を抽出する際の、前記人物特徴量の閾値はできる限り小さくなるよう設定される
ことを特徴とする請求項１に記載の動画解析装置。
【請求項６】
前記動線検出処理部は、
人物特徴量、及び、前後の前記画像における前記人物画像の位置に基づいて、異なる前記動線が同一人物の前記動線であると判定される場合、これらの前記動線を結合させる
ことを特徴とする請求項１に記載の動画解析装置。
【請求項７】
人物の総滞留時間を算出する動画解析装置が、
撮像部から取得した動画を構成する画像それぞれにおける人物画像を検出する人物検出ステップと、
検出した前記人物画像について、ひとつづきの動線を抽出し、抽出した前記動線に関する情報である動線情報を検出する動線検出処理ステップと、
前記動線検出処理ステップが検出した、一度途切れている前記動線情報を複数取得し、取得した複数の前記動線情報それぞれについて、同一人物の前記動線であるか否かを、前記動線における人物特徴量を基に判定する判定ステップと、
前記同一人物と判定された前記動線情報を基に、その人物の総滞留時間を算出する総滞留時間算出ステップと、
算出した前記総滞留時間を出力部に出力する出力処理ステップと、
を実行することを特徴とする動画解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画解析装置及び動画解析方法の技術に関する。
【背景技術】
【０００２】
現在、同一のカメラに一定時間以上映り続けている人物（以下、滞留人物と称する）を検索するため、動線検出を用いた滞留検知が行われている。
【０００３】
このような動線検出による滞留検知を行うものとして特許文献１及び特許文献２に記載の技術が開示されている。
特許文献１には、「複数のカメラ１ごとの撮影画像３１を取得して、その撮影画像３１の解析により追尾情報を取得して、うろつき人物に関する画像を含む監視画像を生成するプロセッサ１２を備え、このプロセッサ１２は、カメラ１ごとに、撮影画像３１から検出された人物について、第１、第２の追尾テーブルに基づき、うろつき人物候補であることを示す第１の人物矩形３２および、うろつき人物であることを示す第２の人物矩形３２を撮影画像３１に重畳した監視画像を生成する」人物行動監視装置及び人物行動監視システムが開示されている（要約参照）。
【０００４】
特許文献２には、「画像処理装置であって、処理対象画像に被写体を検出する領域を設定し、時間的に連続する複数の処理対象画像を解析して被写体を検出し、時間的に連続する複数の処理対象画像における被写体の検出結果に基づいて、被写体が領域内に滞留している滞留時間を決定し、該決定において、被写体が領域内から領域外に移動して、領域内に戻った場合に、被写体が領域外に位置していた時間を滞留時間に含める」画像処理装置、画像処理システム、画像処理装置の制御方法、及び、プログラムが開示されている（要約参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０２０−０７４５０６号公報
【特許文献２】特開２０２０−０９１６４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１及び特許文献２に示すような動線検出を使用した滞留検知は、以下に示すような２つの課題があり、長時間の滞留追跡には不向きである。
（Ａ）一般に、動線が途切れると、滞留人物がいなくなったと判定される。そのため、動線が途切れたことによる追跡エラーがあると、人物の総滞留時間が算出できない。つまり、滞留人物が物などに遮られ、人物の大部分が映らない場合、動線の検知が途切れてしまう。同様に、動線検出のための追跡対象となる人物がフレームアウトすると、動線が途切れてしまう。これにより、同一人物が再度映り込んでも別人物の滞留とされてしまい、正確な総滞留時間の算出ができない。
【０００７】
（Ｂ）滞留人物に対してオクルージョン（別の人物との重なり）が生じると誤追跡が生じてしまう。
【０００８】
このような背景に鑑みて本発明がなされたのであり、本発明は、長期間にわたる滞留時間を算出可能にすることを課題とする。
【課題を解決するための手段】
【０００９】
前記した課題を解決するため、本発明は、撮像部から動画を取得する動画取得部と、取得した前記動画を構成する画像それぞれにおける人物画像を検出する人物検出部と、検出した前記人物画像について、ひとつづきの動線を抽出し、抽出した前記動線に関する情報である動線情報を検出する動線検出処理部と、前記動線検出処理部が検出した、一度途切れている前記動線情報を複数取得し、取得した複数の前記動線情報それぞれについて、同一人物の前記動線であるか否かを、前記動線における人物特徴量を基に判定する判定部と、前記同一人物と判定された前記動線情報を基に、その人物の総滞留時間を算出する総滞留時間算出部と、算出した前記総滞留時間を出力部に出力する出力処理部と、を有することを特徴とする。
その他の解決手段は実施形態中において適宜記載する。
【発明の効果】
【００１０】
本発明によれば、長期間にわたる滞留時間を算出可能にすることを課題とする。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係る動画解析システムの構成例を示す図である。
【図２】第１実施形態におけるフレーム画像解析部の詳細な構成を示す図である。
【図３】第１実施形態における動線解析部の詳細な構成を示す図である。
【図４】第１実施形態における総滞留時間解析部の詳細な構成を示す図である。
【図５】演算装置のハードウェア構成図を示す図である。
【図６】人物データの例を示す図である。
【図７】動線データの例を示す図である。
【図８】フレームデータの例を示す図である。
【図９】動線再検出データの例を示す図である。
【図１０】総滞留時間データの例を示す図である。
【図１１】第１実施形態で行われる動線収集処理の手順を示すフローチャートである。
【図１２】第１実施形態で行われる総滞留時間抽出処理の手順を示すフローチャートである。
【図１３】第１実施形態で行われる動画解析処理の詳細な手順を示すフローチャートである。
【図１４】第１実施形態で行われる動線検出処理の詳細な手順を示すフローチャートである。
【図１５】第１実施形態に係る動線再検出処理の詳細な手順を示すフローチャートである。
【図１６】第１実施形態で行われる総滞留時間算出処理の詳細な手順を示すフローチャートである。
【図１７】第１実施形態で行われる総滞留時間詳細画面表示処理の詳細な手順を示すフローチャートである。
【図１８】監視動画表示画面を示す図である。
【図１９】総滞留時間詳細画面を示す図である。
【図２０】個人滞留情報表示画面を示す図である。
【図２１】動線乗り移りを説明する図である。
【図２２】第２実施形態で行われる総滞留時間抽出処理の手順を示すフローチャートである。
【図２３】第２実施形態で行われる総滞留時間抽出処理処理を行った結果を示す図である。
【図２４】第３実施形態における動線解析部の詳細な構成を示す図である。
【図２５】第３実施形態で用いられる動線データの例を示す図である。
【図２６】第３実施形態で行われる動線検出処理の手順を示すフローチャートである。
【図２７】第３実施形態で行われる動線結合処理の詳細な手順を示すフローチャートである。
【図２８】動線結合処理の具体例を示す図である。
【発明を実施するための形態】
【００１２】
次に、本発明を実施するための形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
【００１３】
［第１実施形態］
まず、図１〜図２０を参照して、本発明の第１実施形態を説明する。
＜システム構成図＞
図１は、第１実施形態に係る動画解析システムＺの構成例を示す図である。
動画解析システムＺは、動画解析サーバ１、総滞留時間解析サーバ２、カメラなどの動画撮影装置（撮像部）３、データベース４、出力サーバ５、出力装置（出力部）６を有する。
動画解析サーバ１は、動画データ処理部（動画取得部）１１、一時記憶部１２、フレーム画像解析部１３、動線解析部１４を有する。
動画データ処理部１１は、動画撮影装置３から取得した動画データを構成するフレーム画像のデータ（以下、フレーム画像データと称する）を抽出し、抽出したフレーム画像データを一時記憶部１２に格納する。なお、一時記憶部１２は、メモリ７１（図５参照）に形成される記憶領域である。
【００１４】
フレーム画像解析部１３は、抽出したフレーム画像データから人物画像を抽出し、抽出した人物画像に関する情報（図２の人物情報４１１）を一時記憶部１２に格納されている人物データ４１（図６参照）に格納する。加えて、フレーム画像解析部１３は、データベース４の人物データ４１に人物情報４１１を格納する。
動線解析部１４は、フレーム画像解析部１３が解析した結果を用いて、それぞれの連続したフレーム画像データにおける人物画像の移動軌跡を追跡し、動線データ４２を抽出する。そして、動線解析部１４は、抽出した動線に関する情報をデータベース４に格納されている図７の動線データ４２に格納する。
【００１５】
総滞留時間解析サーバ２は総滞留時間解析部２１を有する。
総滞留時間解析部２１は、一旦、データベース４に格納された動線に関する情報に対して、同一人物の動線であるか否かを再検索する。そして、総滞留時間解析部２１は再検索の結果を基に、それぞれの人物の総滞留時間を算出する。さらに、総滞留時間解析部２１は、算出した総滞留時間を基にアラーム通知の要不要を判定する。
【００１６】
出力サーバ５は、総滞留時間解析部２１が算出した総滞留時間を出力装置６に出力するとともに、総滞留時間解析部２１によってアラーム通知が必要と判定された場合は、出力装置６にアラームを出力する。
【００１７】
データベース４には、人物データ４１（図６参照）、動線データ４２（図７参照）、動線再検出データ４４（図９参照）、総滞留時間データ４５（図１０参照）が格納されている。また、一時記憶部１２には人物データ４１（図６参照）、フレームデータ４３（図８参照）が格納されている。つまり、人物データ４１は一時記憶部１２とデータベース４とに同一のものが格納されている。データベース４や、一時記憶部１２に格納されているそれぞれのデータ４１〜４５については後記する。
【００１８】
なお、図１に示す例では、動画解析サーバ１、総滞留時間解析サーバ２、データベース４、出力サーバ５のそれぞれが別の装置となっているが、一体の装置であってもよい。あるいは、２つ以上の装置が、１つの装置として設置されてもよい。
【００１９】
（フレーム画像解析部１３）
図２は、第１実施形態におけるフレーム画像解析部１３の詳細な構成を示す図である。図２において、図１と同様の構成については同一の符号を付して説明を省略する。
フレーム画像解析部１３は、フレーム画像データ取得部１３１、人物抽出処理部１３２を有する。
フレーム画像データ取得部１３１は、一時記憶部１２に格納されているフレーム画像データを取得し、人物抽出処理部１３２へわたす。
人物抽出処理部１３２は、フレーム画像データ取得部１３１が取得したフレーム画像データから人物画像を抽出する。そして、人物抽出処理部１３２は抽出した人物画像に関する情報（人物情報４１１）を一時記憶部１２の人物データ４１（図６参照）に格納する。加えて、人物抽出処理部１３２は人物情報４１１をデータベース４の人物データ４１に格納する。
【００２０】
（動線解析部１４）
図３は、第１実施形態における動線解析部１４の詳細な構成を示す図である。図３において、図１と同様の構成については同一の符号を付して説明を省略する。
動線解析部１４は、人物情報取得部１４１、動線検出処理部（判定部）１４２を有する。
人物情報取得部１４１は一時記憶部１２に格納されている人物データ４１（図６参照）から人物情報４１１を取得する。
動線検出処理部１４２は、人物情報取得部１４１が取得した人物情報４１１を基に、連続したフレーム画像データにおける人物それぞれの軌跡である動線の検出を行う。
動線検出処理部１４２による処理の結果生成される動線の情報（動線情報４２１）はデータベース４に格納されている動線データ４２に格納される。
【００２１】
（総滞留時間解析部２１）
図４は、第１実施形態における総滞留時間解析部２１の詳細な構成を示す図である。図４において、図１と同様の構成については同一の符号を付して説明を省略する。
総滞留時間解析部２１は、定期検索部２１１、動線再検出部２１２、総滞留時間算出部２１３、アラーム判定処理部２１４を有する。
定期検索部２１１は、ユーザが総滞留時間の検索を定期的に行うよう設定している場合、総滞留時間の検索時刻になったか否かを判定する。なお、定期検索部２１１は省略可能である。
動線再検出部２１２は、一旦、データベース４に格納された動線に関する情報に対して、同一人物の動線であるか否かを再検索する。再検索の結果である動線再検出情報４４１等はデータベース４の動線再検出データ４４（図９参照）に格納される。
総滞留時間算出部２１３は、データベース４に格納されている動線再検出データ４４を基に、それぞれの人物の総滞留時間を算出する。
アラーム判定処理部２１４は、算出した総滞留時間を基にアラーム通知の要不要を判定する。総滞留時間算出部２１３によって算出された総滞留時間、及び、アラーム判定処理部２１４によるアラーム通知の要不要判定結果はデータベース４に格納されている総滞留時間データ４５（図１０参照）に格納される。
【００２２】
（ハードウェア構成）
図５は、演算装置７のハードウェア構成図を示す図である。
ここで、演算装置７は、動画解析サーバ１、総滞留時間解析サーバ２、出力サーバ５を構成するものである。
演算装置７は、メモリ７１、ＣＰＵ７２（Central Processing Unit）、ＨＤ（Hard Disk）等の記憶装置７３、通信装置７４、入力装置７５を有している。
通信装置７４は、他の装置や、データベース４との情報の送受信を行うものである。
入力装置７５は、キーボードや、マウス等である。
また、記憶装置７３に格納されているプログラムがメモリ７１にロードされる。そして、ロードされたプログラムがＣＰＵ７２によって実行される。これにより、動画データ処理部１１、フレーム画像解析部１３、動線解析部１４、総滞留時間解析部２１、及び、フレーム画像解析部１３、動線解析部１４、総滞留時間解析部２１を構成する各部１３１〜１３２，１４１〜１４２，２１１〜２１４が具現化する。
【００２３】
＜データベース４＞
次に、図６〜図１０を参照してデータベース４や一時記憶部１２に格納されている各データ４１〜４５を説明する。
（人物データ４１）
図６は、人物データ４１の例を示す図である。
人物データ４１は、「人物ＩＤ」、「フレームＩＤ」、「矩形情報」、「タイムスタンプ」、「人物特徴量」、「動線ＩＤ」、「人物画像」の各欄を有する。
「人物ＩＤ」欄には、フレーム画像データ内で検出された人物画像に対して一意に付与されるＩＤが格納される。なお、例え、同一人物でも、検出元のフレーム画像データが異なれば異なる人物ＩＤが付与される。
「フレームＩＤ」欄には、「人物ＩＤ」が示す人物画像が検出されたフレーム画像データに付与されるＩＤが格納される。
「矩形情報」欄には、人物画像を包含する矩形に関する情報が格納される。
「タイムスタンプ」欄には、「フレームＩＤ」が示すフレーム画像データが撮像された日時に関する情報が格納される。
「人物特徴量」欄には、検出された人物画像が示す特徴に関する情報が格納される。
「動線ＩＤ」欄には、動線解析部１４によって付与されるＩＤであり、同一人物であると判定された人物ＩＤを繋げるＩＤが格納される動線ＩＤをたどることによって、ある人物の動線（移動の軌跡）を追うことができる。
「人物画像」欄には、検出された人物画像データが格納される。
【００２４】
（動線データ４２）
図７は、動線データ４２の例を示す図である。
動線データ４２は、「動線ＩＤ」、「人物ＩＤのリスト」、「開始フレームＩＤ」、「終了フレームＩＤ」、「フレームアウトの有無」の各欄を有している。
「動線ＩＤ」欄には、人物データ４１の「動線ＩＤ」と同様のデータが格納される。
「人物ＩＤのリスト」欄には、同じ動線ＩＤが付与された人物ＩＤがリストとして格納される。
「開始フレームＩＤ」欄には、対象となる動線ＩＤが付与された人物画像が検出された最初のフレームのフレームＩＤが格納される。
「終了フレームＩＤ」欄には、対象となる動線ＩＤが付与された人物画像が検出された最後のフレームのフレームＩＤが格納される。
「フレームアウトの有無」欄には、フレームアウトの有無に関する情報が格納される。フレームアウトの有無は、動線の最後のフレームにおいて人物画像がフレーム画像の端にあったか否かで判定される。動線の最後のフレームにおいて人物画像がフレーム画像の端にあった場合、「フレームアウトの有無」欄に「有」が格納される。
【００２５】
なお、図７において、それぞれの動線ＩＤが示す動線は、例え、同一人物の動線があったとしても別人物の動線として認識されている。
【００２６】
（フレームデータ４３）
図８は、フレームデータ４３の例を示す図である。
フレームデータ４３は、「フレームＩＤ」、「フレーム画像」、「サムネイル画像」の各欄を有している。
「フレームＩＤ」欄には、フレーム画像それぞれに対して一意に付与されるＩＤである。
「フレーム画像」欄には、フレーム画像データが格納される。
「サムネイル画像」欄には、「フレーム画像」におけるフレーム画像データのサイズを小さくしたサムネイル画像が格納される。
【００２７】
（動線再検出データ４４）
図９は、動線再検出データ４４の例を示す図である。
動線再検出データ４４は、「動線ＩＤ」、「滞留開始時刻」、「滞留終了時刻」、「滞留時間（秒）」、「人物特徴量」、「同一人物有無」、「同一人物ＩＤ」の各欄を有する。
「動線ＩＤ」欄には、図６の人物データ４１における動線ＩＤと同様であり、同一人物であると判定された人物ＩＤを繋げるＩＤが格納される。
「滞留開始時刻」欄には、動線ＩＤで繋げられる人物ＩＤを含む一連のフレーム画像（すなわち、動線ＩＤで繋げられるフレーム画像）における最初のフレーム画像が示す時刻である。
「滞留終了時刻」欄には、動線ＩＤで繋げられる人物ＩＤを含む一連のフレーム画像（すなわち、動線ＩＤで繋げられるフレーム画像）における最後のフレーム画像が示す時刻である。
「滞留時間（秒）」欄には、「滞留終了時刻」から「滞留開始時刻」を差し引いた時間が格納される。
「人物特徴量」欄には、図７の動線データ４２において動線ＩＤと対応付けられている人物画像の人物特徴量が格納される。
「同一人物有無」欄には、動線再検出データ４４に格納されている動線において、対象となる動線ＩＤと同一人物の動線ＩＤが他にあるか否かを示す情報が格納される。
「同一人物ＩＤ」欄には、同一人物と判定された動線に対して付与される共通のＩＤが格納される。図９の例において「同一人物ＩＤ」として「Ａ」が付与されている動線ＩＤのそれぞれは同一人物であると判定された動線ＩＤである。また、「Ｂ」が付与されている動線ＩＤのそれぞれは、「Ａ」とは別人であるが、同一人物であると判定された動線ＩＤである。なお、「同一人物ＩＤ」に格納される情報は、一般的に人物の氏名ではなく、ＩＤ番号である。
【００２８】
（総滞留時間データ４５）
図１０は、総滞留時間データ４５の例を示す図である。
総滞留時間データ４５は、「同一人物ＩＤ」、「総滞留時間」、「超過判定」の各欄を有する。
「同一人物ＩＤ」欄には、図９と同一人物ＩＤが格納される。
「総滞留時間」欄には、図９の動線再検出データ４４において同じ同一人物ＩＤが付与されている動線ＩＤの滞留時間がすべて加算された総滞留時間が格納される。
「超過判定」欄には、総滞留時間が所定の時間（第１閾値Ｖ１）を超過しているか（「超過」）、総滞留時間が所定の時間（第２閾値Ｖ２；Ｖ１＞Ｖ２）を超えているか（「警戒」）等の情報が格納されている。また、総滞留時間が所定の時間（第２閾値Ｖ２）を超えていない場合、「超過判定」欄には「正常」が格納される。
【００２９】
＜フローチャート＞
（全体処理）
図１１及び図１２は、第１実施形態で行われる長期滞留者検知処理の手順を示すフローチャートである。
まず、図１１を参照して、動線収集処理を説明する。
図１１は、第１実施形態で行われる動線収集処理の手順を示すフローチャートである。
まず、動画データ処理部１１及びフレーム画像解析部１３が動画解析処理を行う（Ｓ１）。動画解析処理の詳細は後記する。
次に、動線解析部１４が動線検出処理を行う（Ｓ２）。動線検出処理の詳細は後記する。ステップＳ１〜Ｓ２によって、動線に関する情報が収集される。
【００３０】
次に、図１２を参照して、図１１の処理を受けて行われる総滞留時間抽出処理を説明する。
図１２は、第１実施形態で行われる総滞留時間抽出処理の手順を示すフローチャートである。
まず、総滞留時間解析部２１が動線再検出処理を行う（Ｓ４）。動線再検出処理の詳細は後記する。ステップＳ４によって、ステップＳ１，Ｓ２において、別々の人物のものとして認識されていた動線について、同一人物の動線であるか否かが検索される。
続いて、総滞留時間算出部２１３が、ステップＳ４の結果を用いて人物毎の総滞留時間を算出する総滞留時間算出処理を行う（Ｓ５）。総滞留時間算出処理の詳細は後記する。
その後、出力処理部５１が総滞留時間算出処理によって算出された総滞留時間を表示装置に表示する画面表示処理を行う（Ｓ６）。画面表示処理の詳細は後記する。
【００３１】
（動画解析処理）
図１３は、第１実施形態で行われる動画解析処理（図１１のステップＳ１）の詳細な手順を示すフローチャートである。
まず、動画データ処理部１１は、動画撮影装置３が撮像した動画データを取得する（Ｓ１０１）。
次に、動画データ処理部１１は、取得した動画データから、動画データを構成するフレーム画像データのそれぞれを取得し（Ｓ１０２）、それぞれのフレーム画像データを一時記憶部１２へ格納する（Ｓ１０３）。動画データ処理部１１は、取得したフレーム画像データのそれぞれに対してフレームＩＤを付与した上で一時記憶部１２のフレームデータ４３（図８参照）にフレーム画像データを格納する。
【００３２】
続いて、フレーム画像データ取得部１３１は、一時記憶部１２からフレーム画像データを取得する（Ｓ１１１）。
次に、人物抽出処理部１３２は、人物特徴量を基に取得したフレーム画像データから人物画像を抽出する（Ｓ１１２）。ここでは、フレーム画像中に存在するすべての人物画像が抽出される。
そして、人物抽出処理部１３２は、抽出した人物画像それぞれに人物ＩＤを付し、それぞれの人物特徴量や、フレーム画像に関するデータ、人物画像データを抽出した人物画像毎に人物データ４１（図６参照）へ格納する（Ｓ１１３）。
【００３３】
続いて、動線解析部１４は、処理対象となっているフレーム画像中において、すべての人物の人物画像の抽出が終了したか否かを判定する（すべての人物について完了？；Ｓ１１４）。
すべての人物の人物画像の抽出が終了していない場合（Ｓ１１４→Ｎｏ）、動線解析部１４はステップＳ１１１へ処理を戻す。
すべての人物の人物画像の抽出が終了している場合（Ｓ１１４）、動画解析サーバ１は図１１のステップＳ２へ処理をリターンする。
【００３４】
（動線検出処理）
図１４は、第１実施形態で行われる動線検出処理（図１１のステップＳ２）の詳細な手順を示すフローチャートである。
まず、人物情報取得部１４１は、人物データ４１から人物情報４１１を取得する（Ｓ２０１）。前記したように、人物情報４１１とは、図６に示す人物データ４１のレコードを示す。
続いて、動線検出処理部１４２は、人物データ４１において、現在のフレーム画像の１つ前のフレーム画像における人物特徴量と、ステップＳ１１２の人物画像の抽出において算出される人物特徴量とを比較することにより、類似の人物特徴量を有する人物情報４１１（類似の人物情報４１１）が１つ前のフレーム画像に存在するか否かを判定する（Ｓ２０２）。類似の人物特徴量とは、人物特徴量の差が所定の範囲（人物特徴量閾値）以内の値を有することである。また、人物情報４１１とは、図６に示す人物データ４１のレコードである。
【００３５】
１つ前のフレーム画像に類似の人物情報４１１が存在しない場合（Ｓ２０２→Ｎｏ）、動線検出処理部１４２は、該当する人物情報４１１に動線ＩＤを新たに付与する（Ｓ２０３）。
また、動線検出処理部１４２は、図７に示す動線データ４２の「動線ＩＤ」欄に、ステップＳ２０２で新たに付与した動線ＩＤを格納し、「人物ＩＤのリスト」欄に処理対象となっている人物情報４１１の人物ＩＤを格納する（Ｓ２０４）。ステップＳ２０３において、動線検出処理部１４２は、図７の動線データ４２の「開始フレームＩＤ」欄に処理対象となっている人物情報４１１のフレームＩＤを格納する。この際、動線検出処理部１４２は、人物データ４１の動線ＩＤ欄にも付与した動線ＩＤを格納する。
【００３６】
１つ前のフレーム画像に類似の人物情報４１１が存在する場合（Ｓ２０２→Ｙｅｓ）、動線検出処理部１４２は、人物画像の追跡が所定時間以上行われているか否かを判定する（Ｓ２１１）。ステップＳ２１１において、動線検出処理部１４２は、まず、図７に示す動線データ４２において、類似の人物情報４１１における動線ＩＤと同じ動線ＩＤを有する動線情報４２１を取得する。ここで、動線情報４２１とは、動線データ４２におけるレコードである。続いて、動線検出処理部１４２は、取得した動線情報４２１における「開始フレームＩＤ」欄に格納されているフレームＩＤを取得する。ここで、取得されるフレームＩＤを開始フレームＩＤとする。そして、動線検出処理部１４２は、取得した開始フレームＩＤをキーとして、人物データ４１を検索し、開始フレームＩＤに相当するフレームＩＤに対応付けられて格納されているタイムスタンプを取得する。ここで、取得されるタイムスタンプを開始タイムスタンプと称する。そして、ステップＳ２０１で取得した人物情報４１１に格納されているタイムスタンプと、開始タイムスタンプとを比較することで、人物画像の追跡が所定時間以上行われているか否かを判定する。
【００３７】
人物画像の追跡が所定時間以上行われている場合（Ｓ２１１→Ｙｅｓ）、動線検出処理部１４２は、新たな動線ＩＤを生成する（Ｓ２０３）ことで、動線を一旦打ち切る。動線がいつまでも続いていると、その人物画像に対して、後記する動線再検出処理を開始することができないが、一定時間ごとに動線を一旦打ち切ることで、そのような問題を解決することができる。
【００３８】
人物画像の追跡が所定時間以上行われていない場合（Ｓ２１１→Ｎｏ）、動線検出処理部１４２は、類似の人物情報４１１における動線ＩＤを、処理対象となっている人物情報４１１の動線ＩＤ欄に格納する（Ｓ２１２）。
また、動線検出処理部１４２は、図７に示す動線データ４２において、ステップＳ２０４で処理対象となっている動線ＩＤのレコードの「人物ＩＤのリスト」欄に処理対象となっている人物情報４１１の人物ＩＤを格納する（Ｓ２１３）。
【００３９】
そして、動線検出処理部１４２は、すべての人物情報４１１について動線ＩＤとの対応付けが完了したか否かを判定する（すべての人物情報４１１について完了；Ｓ２１４）。
すべての人物情報４１１について動線ＩＤとの対応付けが完了していない場合（Ｓ２１４→Ｎｏ）、動線検出処理部１４２はステップＳ２０１へ処理を戻す。
すべての人物情報４１１について動線ＩＤとの対応付けが完了している場合（Ｓ２１４→Ｙｅｓ）、動線検出処理部１４２は、それぞれの動線ＩＤについて終了フレーム画像を検出し、図７に示す動線データ４２の「終了フレームＩＤ」欄に検出した終了フレーム画像のフレームＩＤを格納する（Ｓ２１５）。その後、動画解析サーバ１は図１１の処理へリターンする。
【００４０】
なお、図１４では図示していないが、動線検出処理部１４２は、動線データ４２の終了フレームＩＤを基に、終了フレーム画像を検索する。そして、動線検出処理部１４２は、その終了フレーム画像において人物画像がフレーム画像の端にある場合、動線データ４２の「フレームアウトの有無」欄に「有」を格納する。
【００４１】
（動線再検出処理）
図１５は、第１実施形態に係る動線再検出処理（図１２のステップＳ４）の詳細な手順を示すフローチャートである。
まず、定期検索部２１１が、前回の滞留検索に参照したタイムスタンプからユーザが設定した時間が経過したか否かを判定する（Ｓ４０１）。なお、本実施形態では、ユーザが設定した時間が経過すると、ステップＳ４０２以下の処理が行われるとしているが、ユーザが総滞留時間の検索開始を指示するとステップＳ４０２以下の処理が行われるようにしてもよい。
一定時間経過していない場合（Ｓ４０１→Ｎｏ）、定期検索部２１１はステップＳ４０１へ処理を戻す。
ユーザが設定した時間経過している場合（Ｓ４０１→Ｙｅｓ）、動線再検出部２１２は、動線データ４２における指定時間範囲内の動線ＩＤをすべて動線データ４２から取得する（Ｓ４０３）。ここで、指定時間範囲は入力装置７５を介して、ユーザによって入力されるものである。動線再検出部２１２は、ステップＳ４０３で取得した動線ＩＤを、図９に示す動線再検出データ４４の「動線ＩＤ」欄に格納する。
【００４２】
そして、動線再検出部２１２は、取得した動線ＩＤのうちから、１つの動線ＩＤを動線再検出として選択する（Ｓ４０４）。
そして、動線再検出部２１２は、ステップＳ４０３で取得した動線ＩＤにおける人物画像の内、ステップＳ４０４で取得した動線ＩＤにおける人物画像と、同一人物と考えられる人物画像を検索する（同一人物の検索；Ｓ４０５）。具体的には、動線再検出部２１２は、ステップＳ４０３で取得した動線ＩＤを有する動線情報４２１に格納されている人物ＩＤを取得する。この人物ＩＤを動線再検出人物ＩＤと称する。続いて、動線再検出部２１２は、人物データ４１を検索して、動線再検出人物ＩＤの人物特徴量を取得する。ここで、取得した人物特徴量を動線再検出人物特徴量と称する。また、動線再検出人物特徴量を有する人物を動線再検出人物と称する。
【００４３】
続いて、動線再検出部２１２は、ステップＳ４０３で取得した動線ＩＤを有する動線情報４２１における人物ＩＤを取得する。そして、動線再検出部２１２は、この人物ＩＤを基に人物データ４１から取得される人物特徴量と、動線再検出人物特徴量とを比較する。
【００４４】
動線再検出部２１２は、検索の結果、ステップＳ４０３で取得した動線ＩＤにおける人物画像の内、動線再検出人物と、同一人物と考えらえる人物画像が存在するかを判定する（同一人物存在；Ｓ４１１）。具体的には、動線再検出部２１２は、動線再検出人物特徴量と類似した（所定の閾値内の）人物特徴量が存在するか否かを判定する。
同一人物と考えられる人物画像が存在しない場合（Ｓ４１１→Ｎｏ）、動線再検出部２１２は、単独人物として、動線再検出人物特量に関する情報である動線再検出情報４４１を図９に示す動線再検出データ４４に格納し（Ｓ４１２）、ステップＳ４１４へ処理を進める。
同一人物と考えられる人物画像が存在する場合（Ｓ４１１→Ｙｅｓ）、動線再検出部２１２は、同一人物と考えられる動線ＩＤを図９に示す動線再検出データ４４に格納する（Ｓ４１３）。
【００４５】
ここで、図９に示す動線再検出データ４４を参照して、ステップＳ４１２及びステップＳ４１３の詳細を説明する。
（Ａ）同一人物が存在しない場合。
動線再検出部２１２は、動線再検出人物の動線ＩＤに該当するレコードの「滞留開始時刻」、「滞留終了時刻」、「人物特徴量」の各欄に情報を格納する。ちなみに、「滞留開始時刻」及び「滞留終了時刻」は、動線ＩＤをキーとして、動線データ４２の「開始フレームＩＤ」及び「終了フレームＩＤ」を取得する。さらに、動線再検出部２１２は、人物データ４１を検索し、取得した「開始フレームＩＤ」及び「終了フレームＩＤ」のタイムスタンプを取得し、取得した、それぞれのタイムスタンプを動線再検出データ４４の「滞留開始時刻」及び「滞留終了時刻」欄に格納する。
【００４６】
また、動線再検出部２１２は、動線再検出人物ＩＤを「人物特徴量」の欄に格納する。
さらに、動線再検出部２１２は、「同一人物有無」の欄に「無」を格納し、「同一人物ＩＤ」欄には、他の人物画像と共通とならないような同一人物ＩＤが格納される（図９の例では「Ｃ」）。
【００４７】
（Ｂ）同一人物が存在する場合
動線再検出部２１２は、動線再検出人物の動線ＩＤと、ステップＳ４０５で動線再検出人物と同一人物と判定された人物画像の動線ＩＤとに対応するレコードのそれぞれにおける「滞留開始時刻」、「滞留終了時刻」、「人物特徴量」の各欄に情報を格納する。これらの欄における情報は、（Ａ）同一人物が存在しない場合と同様であるので、ここでの説明を省略する。また、「同一人物有無」欄には「有」を格納し、「同一人物ＩＤ」には、その他の人物画像と共通しない同一人物ＩＤを格納する。
なお、この段階で動線再検出部２１２は、滞留終了時刻と滞留開始時刻との差分を算出することで、動線ＩＤ毎の滞留時間を算出し（Ｓ４１４）、算出した滞留時間を動線再検出データ４４の「滞留時間」欄に格納する。ステップＳ４１４で、算出される滞留時間は動線１つ１つに相当する滞留時間である。
【００４８】
ステップＳ４１４の後、動線再検出部２１２は、動線再検出人物の動線ＩＤ、及び、動線再検出人物と同一人物と判定された動線ＩＤとを処理対象から除外する（Ｓ４１５）。
そして、動線再検出部２１２は、ステップＳ２０２で取得した動線ＩＤが残っているか否かを判定する（Ｓ４１６）。
動線ＩＤが残っている場合（Ｓ４１６→Ｙｅｓ）、ステップＳ４０３へ処理を戻し、動線再検出部２１２は、残っている動線ＩＤから新たな動線ＩＤを選択する。
動線ＩＤが残っていない場合（Ｓ４１６→Ｎｏ）、総滞留時間解析部２１は図１２のステップＳ５へ処理をリターンする。
【００４９】
これまでの技術では、一度途切れた動線は別人の動線として認識される。このため、正確な総滞留時間を求めることが困難であった。これに対し、第１実施形態では図１５に示すように、すべての動線に関するデータを集めて、再度、それぞれの動線について同一人物の動線が存在するか否かを検索している。これにより、同一人物の動線でありながら一度途切れた動線であっても、同一人物であると認識できるため、後記する総滞留時間の算出精度を向上させることができる。
【００５０】
（総滞留時間算出処理）
図１６は、第１実施形態で行われる総滞留時間算出処理（図１２のステップＳ５）の詳細な手順を示すフローチャートである。
まず、総滞留時間算出部２１３は、図９に示す動線再検出データ４４を参照し、動線ＩＤを１つ選択する（Ｓ５０１）。
その後、総滞留時間算出部２１３は、動線再検出データ４４の「同一人物ＩＤ」欄を参照して、ステップＳ５０１で選択した動線ＩＤに対応付けられている同一人物ＩＤと同じ同一人物ＩＤを有する動線ＩＤをすべて取得する（Ｓ５０２）。
【００５１】
次に、総滞留時間算出部２１３は、図９に示す動線再検出データ４４の「滞留時間」欄を参照し、ステップＳ５０１及びステップＳ５０２で取得した動線ＩＤに対応付けられている滞留時間の総和（総滞留時間）を算出する（Ｓ５０３）。総滞留時間算出部２１３は、図１０に示す総滞留時間データ４５の「同一人物ＩＤ」欄と、「総滞留時間」欄のそれぞれに、同一人物ＩＤと、ステップＳ５０３で算出した総滞留時間とを対応付けて格納する。
【００５２】
続いて、総滞留時間算出部２１３は、算出した総滞留時間Ｔが所定の閾値Ｖを超えているか否かを判定する（Ｔ＞Ｖ？；Ｓ５１１）。
総滞留時間が所定の閾値を超えていない場合（Ｓ５１１→Ｎｏ）、総滞留時間算出部２１３は、ステップＳ５１３へ処理を進める。
総滞留時間が処理の閾値を超えている場合（Ｓ５１１→Ｙｅｓ）、出力処理部５１は図１８に示す監視動画表示画面８１０に、ポップアップ画面８１２を表示することでアラーム出力する（Ｓ５１２）。
【００５３】
そして、総滞留時間算出部２１３は、動線再検出データ４４を検索して未処理の動線ＩＤが存在するか否かを判定する（Ｓ５１３）。
未処理の動線ＩＤが存在する場合（Ｓ５１３→Ｙｅｓ）、総滞留時間算出部２１３はステップＳ５０１へ処理を戻す。
未処理の動線ＩＤが存在しない場合（Ｓ５１３→Ｎｏ）、総滞留時間解析部２１は図１２のステップＳ６へ処理をリターンする。
【００５４】
（総滞留時間詳細画面表示処理）
図１７は、第１実施形態で行われる総滞留時間詳細画面表示処理（図１２のステップＳ６）の詳細な手順を示すフローチャートである。
図１７に示す総滞留時間詳細画面表示処理は、図１９に示す総滞留時間詳細画面８２０を表示するための処理である。
図１９に示す総滞留時間詳細画面８２０の表示指示が行われると、出力処理部５１は図１０に示す総滞留時間データ４５の「総滞留時間」欄に格納されている総滞留時間を大きい順にソートする（Ｓ６０１）。総滞留時間詳細画面８２０の表示指示については後記する。
続いて、出力処理部５１は、総滞留時間データ４５の同一人物ＩＤを一つ選択する（Ｓ６０２）。
次に、出力処理部５１は、総滞留時間データ４５の「総滞留時間」欄を参照し、選択した同一人物ＩＤに対応する総滞留時間Ｔが第１閾値Ｖ１を超えているか否かを判定する（Ｔ＞Ｖ１？；Ｓ６０３）。
第１閾値Ｖ１を超えている場合（Ｓ６０３→Ｙｅｓ）、出力処理部５１は総滞留時間データ４５（図１０参照）の該当するレコードにおける「超過判定」欄に「超過」を格納する（Ｓ６１１）。そして、図１９に示す総滞留時間詳細画面８２０における処理対象となっている人物の棒グラフ８２１を、例えば「赤」に表示する（Ｓ６１２）。つまり、総滞留時間が所定の閾値を超えていることを示す出力が行われる。
【００５５】
第１閾値Ｖ１を超えていない場合（Ｓ６０３→Ｎｏ）、出力処理部５１は選択した同一人物ＩＤに対応する総滞留時間Ｔが第２閾値Ｖ２を超えているか否かを判定する（Ｔ＞Ｖ２；Ｓ６２１）。ただし、第１閾値Ｖ１＞第２閾値Ｖ２である。
第２閾値Ｖ２を超えている場合（Ｓ６２１→Ｙｅｓ）、出力処理部５１は総滞留時間データ４５の該当するレコードにおける「超過判定」欄に「警戒」を格納する（Ｓ６２２）。そして、図１９に示す総滞留時間詳細画面８２０における処理対象となっている人物の棒グラフ８２１を、例えば「橙」に表示する（Ｓ６２３）。
【００５６】
第２閾値Ｖ２を超えていない場合（Ｓ６２１→Ｎｏ）、出力処理部５１は総滞留時間データ４５の該当するレコードにおける「超過判定」欄に「正常」を格納する（Ｓ６３１）。そして、図１９に示す総滞留時間詳細画面８２０における処理対象となっている人物の棒グラフ８２１を、例えば「緑」に表示する（Ｓ６３２）。
【００５７】
ステップＳ６１２、Ｓ６２３，Ｓ６３２の後、出力処理部５１は、すべての同一人物ＩＤについて処理を完了したか否かを判定する（Ｓ６３３）。
すべての同一人物ＩＤについて処理が完了していない場合（Ｓ６３３→Ｎｏ）、出力処理部５１はステップＳ６０２へ処理を戻し、未処理の同一人物ＩＤを１つ取得する（Ｓ６０２）。
すべての同一人物ＩＤについて処理が完了している場合（Ｓ６３３→Ｙｅｓ）、出力処理部５１は、図１２の処理にリターンする。
【００５８】
なお、本実施形態では、超過判定が「超過」、「警戒」、「正常」の３段階で示されているが、これに限らない。例えば、超過判定が「超過」、「警戒」、「注意」、「正常」の４段階で示されてもよい。
【００５９】
＜画面例＞
（監視動画表示画面８１０）
図１８は、監視動画表示画面８１０を示す図である。
監視動画表示画面８１０は、監視動画表示部８１１と、総滞留時間詳細画面表示ボタン８１３等を有している。
監視動画表示部８１１は、動画撮影装置３で撮像されている動画が表示される。
総滞留時間詳細画面表示ボタン８１３を、ユーザが選択入力すると（総滞留時間詳細画面８２０の表示指示）、図１９に示す総滞留時間詳細画面８２０が表示部に表示される。
【００６０】
また、図１０に示す滞留判定データにおいて、総滞留時間が所定の時間より超過している人物（「超過」）がいると、図３に示すように、総滞留時間を超過している人物がいる旨を通知するポップアップ画面８１２が表示される。ユーザが、ポップアップ画面８１２を選択入力すると、図４に示す総滞留時間詳細画面８２０が表示部に表示される（総滞留時間詳細画面８２０の表示指示）。
【００６１】
図１８に示す例では、図１０に示す滞留判定データにおいて、「超過」と判定されている人物について、ポップアップ画面８１２による通知が行われている。しかし、これに限らず、「警戒」や、「注意」と判定されている人物についてポップアップ画面８１２による通知が行われてもよい。
【００６２】
（総滞留時間詳細画面８２０）
図１９は、総滞留時間詳細画面８２０を示す図である。
総滞留時間詳細画面８２０は、前記したように、図３における総滞留時間詳細画面表示ボタン８１３や、ポップアップ画面８１２が選択入力されることで表示される。
総滞留時間詳細画面８２０は、総滞留時間表示部８２５と、人物画像表示部８２３とを有する。
総滞留時間表示部８２５には、図１０に示す滞留判定データに格納されている「総滞留時間」を基に、人物毎の総滞留時間が棒グラフ８２１として表示される。図１９に示す例では、「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」の４人の人物（滞留人物）の総滞留時間が表示されている。なお、「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」は、それぞれの人物の氏名ではなく、識別番号等である。ユーザが、入力装置７５を介して、いずれからの棒グラフ８２１が選択入力されると、図２０に示す個人滞留情報表示画面８３０が表示され、選択入力された棒グラフ８２１に対応付けられている人物の滞留情報が表示される。ここで、破線８２２は、超過判定閾値（図１７における第１閾値Ｖ１）を示しており、総滞留時間が破線８２２を超えている人物「Ａ」の棒グラフ８２１ａは、例えば赤く表示される。また、総滞留時間が破線８２２を超えていないものの、総滞留時間が破線８２２に近い（図１７において、総滞留時間ＴがＶ１＞Ｔ＞Ｖ２；Ｖ２は第２閾値）人物「Ｂ」の棒グラフ８２１ｂは、例えば橙色に表示される。それ以外の人物「Ｃ」、「Ｄ」の棒グラフ８２１ｃは、総滞留時間が正常であることを示す緑色で表示される。棒グラフ８２１の色は、前記したように出力処理部５１が総滞留時間データ４５（図１０参照）を検索することによって決定される。総滞留時間が正常であるとは、ここでは、総滞留時間が長期にわたっていないことを意味する。
【００６３】
人物画像表示部８２３には、総滞留時間表示部８２５において総滞留時間が表示されている人物の画像（人物画像）が表示される。この人物画像は、出力処理部５１が図６の人物データ４１の「人物画像」欄を参照することで取得される。出力処理部５１は、図９に示す動線再検出データ４４における総滞留時間が表示されてる人物について「同一人物ＩＤ」欄に対応付けられている動線ＩＤを取得する。続いて、出力処理部５１は、図７に示す動線データ４２の「人物ＩＤのリスト」欄を参照し、動線ＩＤに対応付けられている開始フレームＩＤもしくは終了フレームＩＤ）を取得する。ここでは、開始フレームＩＤが取得されるものとする。このとき、取得される開始フレームＩＤの候補は複数存在するが、いずれか１つ（例えば、もっとも最初に格納されている開始フレームＩＤ）が取得されればよい。
【００６４】
（個人滞留情報表示画面８３０）
図２０は、個人滞留情報表示画面８３０を示す図である。
個人滞留情報表示画面８３０は、動画解析サーバ１が同一と判定した人物の滞留時間についての詳細な情報を表示する画面である。図２０に示すように、個人滞留情報表示画面８３０は、滞留時間情報表示部８３１、人物画像表示部８３６、チェックボックス８３７、削除ボタン３８、総滞留時間表示部８３９Ｂ、検索開始時刻表示部８３９Ａを有する。図２０の例では、現在時刻（１３：００：００）から過去４時間、すなわち、滞留時間の検索開始時刻を９：００：００としている。
【００６５】
滞留時間情報表示部８３１では、動画解析サーバ１が同一と判定した人物の滞留時間が動線毎に表示されている。すなわち、滞留時間情報表示部８３１に表示されている動線ライン８３２のそれぞれは、図７における動線ＩＤのそれぞれに対応する。また、滞留時間情報表示部８３１における線８３４Ａは検索開始時刻を示すものであり、線８３４Ｂは現在時刻を示すものである。すなわち、動画解析サーバ１は、線８３４Ａと、線８３４Ｂとの間の時間について滞留時間の検索を行っている（矢印８３５）。また、フレームアウト表示８３３は、該当する人物がフレームアウトしている時間を示している。フレームアウト表示８３３は、動画解析サーバ１が図７に示す「フレームアウトの有無」欄を参照することによって表示される。つまり、出力処理部５１は動線データ４２の「フレームアウトの有無」欄を参照する。そして、フレームアウト「有」であれば、出力処理部５１は、その動線情報４２１が示す動線ライン８３２と、次の動線ライン８３２との間にフレームアウト表示８３３を表示する。
【００６６】
人物画像表示部８３６は、動線ライン８３２と対応付けられている人物画像８３６ａ，８３６ｂが表示されている。すなわち、人物画像表示部８３６には、図７において動線ライン８３２が示す動線ＩＤと対応付けられている「人物ＩＤのリスト」欄中の人物ＩＤに該当する人物画像８３６ａ，８３６ｂが表示されている。また、それぞれの人物画像８３６ａ，８３６ｂにはチェックボックス８３７が対応付けられて表示されている。なお、人物画像８３６ａが、その他の人物画像８３６ｂと異なっていることについては後記する。
【００６７】
検索開始時刻表示部８３９Ａには検索開始時刻が表示される。総滞留時間表示部８３９Ｂには、図１６のステップＳ５０３で算出された総滞留時間が表示される。すなわち、総滞留時間表示部８３９Ｂには、滞留時間情報表示部８３１に表示されている動線ライン８３２のそれぞれが示す時間の総和が表示される。
【００６８】
ここで、人物画像８３６ａは、他の人物画像８３６ｂとは異なっている。これは、動画解析サーバ１が人物画像８３６ａの人物と、その他の人物画像８３６ｂの人物とを同じ人物と誤認識していることを示している。このような場合、図２０に示すように、ユーザは、入力装置７５を介して、人物画像８３６ｂに対応付けられて表示されているチェックボックス８３７（図２０の例ではチェックボックス８３７ａ）にチェックを入力する。その後、ユーザが入力装置７５を介して削除ボタンを選択入力すると、人物画像８３６ａ、及び、人物画像８３６ａに対応付けられている動線ライン８３２ａが削除される。なお、図２０では、１つの人物画像８３６ａと動線ライン８３２ａとが削除されているが、複数のチェックボックス８３７にチェックが入力されることにより、複数の人物画像８３６ａ及び動線ライン８３２ａが削除可能である。つまり、所定の動線の情報を削除することができる。人物画像８３６ａ及び動線ライン８３２ａの削除後、動画解析サーバ１は、個人滞留情報表示画面８３０に表示されている動線ライン８３２の総和（総滞留時間）を再計算する。
【００６９】
第１実施形態によれば、途切れている複数の動線に対して、人物特徴量を基に同一人物であるか否かを判定し、同一人物と判定されれば、同一人物の動線として総滞留時間を算出する。このようにすることで、途切れてしまった同一の滞留人物の動線を人物特徴量で繋ぎ合わせることにより、長期間にわたる滞留時間を算出可能にすることができる。また、第１実施形態によれば、フレームアウトが生じても、途切れている複数の動線に対して、人物特徴量を基に同一人物であるか否かを判定することで、同一人物の動線を検出可能である。従って、フレームアウトが生じても総滞留時間を算出することができる。
【００７０】
図２０に示すように、異なる人物を総滞留時間の算出対象人物と誤認識している場合、異なっている人物のチェックボックス８３７にチェックを入力し、削除ボタン８３８を選択入力することによって、ご認識している人物の動線を除外することができる。これにより、追跡エラーの誤差が累積しないため、長時間の滞留監視が可能となる。
【００７１】
さらに、図１９に示すように、人物毎の総滞留時間を、その人物の画像とともに棒グラフ８２１で示し、所定の閾値を超えている人物の棒グラフ８２１の色を変えることで算出した総滞留時間が所定の閾値を超えている場合、総滞留時間が所定の閾値を超えていることを示している。このようにすることで、ユーザは総滞留時間が所定の閾値を超えている人物を容易に認識することができる。
【００７２】
［第２実施形態］
次に、図２１〜図２３を参照して、本発明の第２実施形態について説明する。第２実施形態は、動線乗り移り防止に関する発明である。
図２１は、動線乗り移りを説明する図である。
図２１では、最初、人物Ｈ１が検知されているが、時刻Ｔ１において人物Ｈ２が人物Ｈ１に重なった状態で検知される。人物Ｈ１と、人物Ｈ２との特徴量が近ければ、動画解析サーバ１は、人物Ｈ２と人物Ｈ１とを混同してしまい、時刻Ｔ１以降は人物Ｈ２を人物Ｈ１として動線検出をおこなってしまう。つまり、動線乗り移りが生じてしまう（太実線矢印９０１）。第２実施形態では、このような動線乗り移りを防止することを課題とする。なお、人物Ｈ１は、時刻Ｔ１でしばらく停止した後、移動を始めるものとする。これにより、時刻Ｔ１以降、人物Ｈ１は、太実線矢印９０１とは異なる動線（太破線矢印９０２）として検出されるものとする。
【００７３】
＜フローチャート＞
図２２は、第２実施形態で行われる総滞留時間抽出処理の手順を示すフローチャートである。
なお、図２２において、図１２と同様の処理については同一のステップ番号を付して説明を省略する。
図２２において、図１２と異なる処理は、最初に、ユーザが入力装置７５を介して、人物特徴量閾値を所定の値未満で設定している点である（ステップＳ３）。このとき、人物特徴量閾値は、できる限り小さくなるよう設定される。
このように、人物特徴量閾値を小さく設定することにより、図１４のステップＳ２０２において、「Ｎｏ」と判定される確率が高くなる。すなわち、動線を意図的に途切れやすくする。このようにすることによる効果について図２３を参照して説明する。
【００７４】
図２３は、図２２に示す処理を行った結果を示す図である。
図２３では、図２１と同様、人物Ｈ１が検知されているが（動線Ｍ０）、時刻Ｔ１において人物Ｈ２が人物Ｈ１に重なった状態で検知される。しかし、人物特徴量閾値が小さいため、時刻Ｔ１より前の人物Ｈ１と、時刻Ｔ１で人物Ｈ１に重なった人物Ｈ２とを区別することができる。このため、時刻Ｔ１で動線が途切れる。なお、時刻Ｔ１の動線は、動線Ｍ１の最初となる。
【００７５】
そして、この後、図１５に示す動線再検出処理が行われ、動線Ｍ１と、動線Ｍ２とのそれぞれは、他の動線の人物と比較され、それぞれ同一と考えられる人物の動線とまとめられる。
【００７６】
これまでの技術では、異なる動線と判定されると、実際には同じ人物の動線でも、異なる人物の動線として認識されてしまう。そのため、これまでの技術では、本実施形態のように、人物特徴量閾値を小さく設定してしまうと、例えば、光の加減等により、同一人物の人物特徴量が変化すると動線が途切れ、別の人物の動線として認識されてしまうおそれがある。従って、これまでの技術では、人物特徴張閾値を小さく設定することができない。
【００７７】
これに対して、第２実施形態では、例え、動線が途切れても、図１５に示す動線再検出処理によって、同一の人物の動線がまとめられるため、人物特徴量閾値を小さく設定することができる。これにより、第２実施形態によれば動線乗り移りを防止することができる。
【００７８】
［第３実施形態］
次に、図２４〜図２８を参照して、本発明の第３実施形態を説明する。第３実施形態では、途切れている２つの動線が、同一人物のものである判定された場合に、この２つの動線を結合して、１つの動線として認識できるようにするものである。第１実施形態では、途切れた動線は、途切れたままで同一人物の動線を収集している。これに対して、第３実施形態では、人物特徴量及び画像中の人物の位置が近ければ動線を結合させ、１つの動線として扱うものである。
【００７９】
＜動線解析部１４ｂ＞
図２４は、第３実施形態における動線解析部１４ｂの詳細な構成を示す図である。図２４において、図３と同様の構成については同一の符号を付して説明を省略する。
動画解析サーバ１ｂの動線解析部１４ｂが、図３に示す動線解析部１４と異なる点は、同一人物と判定された動線を結合する動線結合部１４４を有している点である。
動画解析サーバ１ｂについて動線結合部１４４以外の構成は、図１、図２、図４で示す構成と同様であるため、図示及び説明を省略する。
【００８０】
＜動線データ４２ｂ＞
図２５は、第３実施形態で用いられる動線データ４２ｂの例を示す図である。
図２５において、図７に示す動線データ４２と異なる点は、「次の動線ＩＤ」欄を有していることである。
例えば、動線ＩＤ「００００２」で示される動線が、動線ＩＤ「００００７」で示される動線と同一人物の動線であると判定されたものとする。このような場合、動線ＩＤ「００００２」のレコードにおける「次の動線ＩＤ」欄に動線ＩＤ「００００７」が格納される。これにより、動線ＩＤ「００００２」の動線と、動線ＩＤ「００００７」の動線とが結合され、１つの動線として認識される。図２５の例では、動線ＩＤ「０００１５」の動線が、動線ＩＤ「０００１９」の動線と結合し、さらに、動線ＩＤ「０００２３」の動線と結合している。
【００８１】
＜フローチャート＞
（動線検出処理）
図２６は、第３実施形態で行われる動線検出処理の手順を示すフローチャートである。図２６において、図１３と同様の処理については同一のステップ番号を付して説明を省略する。
図２６において、図１３と異なる点は、ステップＳ２１５の後に動線結合処理（Ｓ２２１）が行われている点である。動線結合処理の詳細は後記する。
【００８２】
（動線結合処理）
図２７は、第３実施形態で行われる動線結合処理（図２６のＳ２２１）の詳細な手順を示すフローチャートである。
まず、動線結合部１４４は、動線データ４２から動線ＩＤを２つ選択する（Ｓ７０１）。ここで、選択される動線ＩＤは、一方の動線ＩＤの最後のフレーム画像の時刻と、他方の動線ＩＤの最初のフレーム画像の時刻とが所定の範囲内に存在しているものである。
そして、選択された２つの動線ＩＤが示す動線のうち、時刻的に前の動線（第１動線と称する）の最後のフレーム画像から矩形情報を取得する（Ｓ７０２）。ステップＳ７０２で取得される矩形情報を第１矩形情報と称する。
次に、動線結合部１４４は、第１動線の最後のフレーム画像に対して、所定時間以内に最初のフレーム画像が存在する動線（第２動線と称する）の最初のフレーム画像から矩形情報を取得する（Ｓ７０３）。ステップＳ７０３で取得される取得される矩形情報を第２矩形情報と称する。第１矩形情報及び第２矩形情報は、動線データ４２と、人物データ４１から取得される。
【００８３】
続いて、動線結合部１４４は、第１矩形情報の位置Ｐ１と、第２矩形情報の位置Ｐ２との距離Ｄが所定の値Ｄ１以下であるか否かを判定する（Ｄ≦Ｄ１；Ｓ７１１）。ここで、それぞれの矩形情報の位置は、矩形の中心等であり、ユーザが適宜に設定可能である。
【００８４】
距離Ｄが所定の値Ｄ１より大きい場合（Ｓ７１１→Ｎｏ）、動線結合部１４４はステップＳ７２１へ処理を進める。
距離Ｄが所定の値Ｄ１以下である場合（Ｓ７１１→Ｙｅｓ）、動線結合部１４４は、第１矩形情報における人物特徴量（第１人物特徴量Ｃ１と称する）と、第２矩形情報における人物特徴量（第２人物特徴量Ｃ２と称する）とを比較する。そして、動線結合部１４４は、第１人物特徴量Ｃ１と、第２人物特徴量Ｃ２と差の絶対値が所定の値Ｃ以下であるか否かを判定する（｜Ｃ１−Ｃ２｜≦Ｃ；Ｓ７１２）。
【００８５】
第１人物特徴量Ｃ１と、第２人物特徴量Ｃ２と差の絶対値が所定の値Ｃより大きい場合（Ｓ７１２→Ｎｏ）、動線結合部１４４はステップＳ７２１へ処理を進める。
第１人物特徴量Ｃ１と、第２人物特徴量Ｃ２と差の絶対値が所定の値Ｃ以下である場合（Ｓ７１２→Ｙｅｓ）、動線結合部１４４は、第１動線と第２動線とが同一人物の動線であると判定し、第１動線と第２動線とを結合する（Ｓ７１３）。動線結合部１４４は、図２５に示す動線データ４２ｂにおいて、第１動線を示す動線情報４２１の「次の動線ＩＤ」に第２動線の動線ＩＤを格納する。
【００８６】
ステップＳ７１１「Ｎｏ」、ステップＳ７１２「Ｎｏ」、ステップＳ７１３の後、動線結合部１４４はすべての動線ＩＤについてステップＳ７０１〜Ｓ７１３の処理を完了したか否かを判定する（Ｓ７２１）。
すべての動線ＩＤについてステップＳ７０１〜Ｓ７１３の処理を完了していない場合（Ｓ７２１→Ｎｏ）、動線結合部１４４はステップＳ７０１へ処理を戻す。
すべての動線ＩＤについてステップＳ７０１〜Ｓ７１３の処理を完了している場合（Ｓ７２１→Ｙｅｓ）、動線解析部１４ｂは図２６の処理にリターンする。
【００８７】
＜動線結合処理の具体例＞
図２８は、動線結合処理の具体例を示す図である。
フレーム画像Ｆ１は、ある動線を構成するフレーム画像の最後のフレーム画像を示している。また、フレーム画像Ｆ２は、フレーム画像Ｆ１が示す時刻から所定時刻以内のフレーム画像を示し、フレーム画像Ｆ１が属す動線とは別の動線を構成するフレーム画像のうち、最初のフレーム画像を示している。また、矩形Ｒ１は、フレーム画像Ｆ１における人物Ｈ１１の人物画像を含んでいる。矩形Ｒ２及び矩形Ｒ３は、フレーム画像Ｆ２に含まれる人物の画像（人物画像）を含んでいる。
【００８８】
ここで、動線結合部１４４は、矩形Ｒ１と、矩形Ｒ２とのフレーム画像中における位置の距離、矩形Ｒ１と、矩形Ｒ３とのフレーム画像中における位置の距離とを比較する。この比較は、図２７のステップＳ７１１の処理に相当する。図２８の例では、動線結合部１４４は、矩形Ｒ１と、矩形Ｒ２とのフレーム画像中における位置の距離（実線矢印）の方が矩形Ｒ１と、矩形Ｒ３とのフレーム画像中における位置の距離（破線矢印）より近い。そこで、動線結合部１４４は、矩形Ｒ１における人物特著量と、矩形Ｒ２における人物特徴量とを比較する。この比較は図２７のステップＳ７１２に相当する。これらの矩形の人物画像が近い人物特徴量を有している場合、矩形Ｒ１における人物と、矩形Ｒ２における人物とが同一人物である判定し、これらの人物における動線を結合する。
【００８９】
第３実施形態によれば、動線再検出処理を行う前に、結合できる動線を結合しておくことで、動線再検出処理に用いらえる動線の数を減らすことができる。これによって、図２０の動線ライン８３２ａのように異なる人物をご認識して総滞留時間を算出してしまう確率を低く抑えることができる。
【００９０】
本発明は前記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、前記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を有するものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００９１】
また、前記した各構成、機能、各部１１，１３，１４，２１，５１，１３１，１３２，１４１，１４２，１４４，２１１〜２１４、データベース４等は、それらの一部又はすべてを、例えば集積回路で設計すること等によりハードウェアで実現してもよい。また、図５に示すように、前記した各構成、機能等は、ＣＰＵ７２等のプロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、ＨＤ（Hard Disk）に格納すること以外に、メモリ７１や、ＳＳＤ（Solid State Drive）等の記録装置、又は、ＩＣ（Integrated Circuit）カードや、ＳＤ（Secure Digital）カード、ＤＶＤ（Digital Versatile Disc）等の記録媒体に格納することができる。
また、各実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には、ほとんどすべての構成が相互に接続されていると考えてよい。
【符号の説明】
【００９２】
３      動画撮影装置（撮像部）
６      出力装置（出力部）
１１    動画データ処理部（動画取得部）
４１    人物データ（人物画像を含む）
７５    入力装置（入力部）
４２ｂ  動線データ（結合した動線のデータを含む）
５１    出力処理部
１３２  人物抽出処理部（人物検出部）
１４２  動線検出処理部（判定部）
２１３  総滞留時間算出部
４２１  動線情報
８２１，８２１ａ，８２１ｂ  棒グラフ（総滞留時間に関する情報、総滞留時間が前記所定の閾値を超えていることを示す出力）
８２３  人物画像表示部（総滞留時間の算出対象となっている人物の情報）
８３７，８３７ａ  チェックボックス（所定の動線の情報を削除）
８３８  削除ボタン（所定の動線の情報を削除）
Ｓ１    動画解析処理（人物検出ステップ）
Ｓ２    動線検出処理（動線検出処理ステップ）
Ｓ３    動線再検出処理（判定ステップ）
Ｓ４    総滞留時間算出処理（総滞留時間算出ステップ）
Ｓ５    画面表示処理（出力処理ステップ）
Ｚ      動画解析システム（動画解析装置）
【要約】
【課題】長期間にわたる滞留時間を算出可能にすることを課題とする。
【解決手段】動画撮影装置３から動画を取得する動画データ処理部１１と、取得した動画を構成する画像それぞれにおける人物画像を検出するフレーム画像解析部１３と、検出した人物画像について、ひとつづきの動線を抽出し、抽出した動線に関する情報である動線情報を検出し、検出した動線情報を複数取得し、取得した複数の動線情報それぞれについて、同一人物の動線であるか否かを、動線における人物特徴量を基に判定する動線解析部１４と、同一人物と判定された動線情報を基に、その人物の総滞留時間を算出する総滞留時間解析部２１と、算出した総滞留時間を出力部に出力する出力サーバ５と、を有することを特徴とする。
【選択図】図１【図１】
0006794575.tif 000002
【図２】
0006794575.tif 000003
【図３】
0006794575.tif 000004
【図４】
0006794575.tif 000005
【図５】
0006794575.tif 000006
【図６】
0006794575.tif 000007
【図７】
0006794575.tif 000008
【図８】
0006794575.tif 000009
【図９】
0006794575.tif 000010
【図１０】
0006794575.tif 000011
【図１１】
0006794575.tif 000012
【図１２】
0006794575.tif 000013
【図１３】
0006794575.tif 000014
【図１４】
0006794575.tif 000015
【図１５】
0006794575.tif 000016
【図１６】
0006794575.tif 000017
【図１７】
0006794575.tif 000018
【図１８】
0006794575.tif 000019
【図１９】
0006794575.tif 000020
【図２０】
0006794575.tif 000021
【図２１】
0006794575.tif 000022
【図２２】
0006794575.tif 000023
【図２３】
0006794575.tif 000024
【図２４】
0006794575.tif 000025
【図２５】
0006794575.tif 000026
【図２６】
0006794575.tif 000027
【図２７】
0006794575.tif 000028
【図２８】
0006794575.tif 000029