以下、実施形態について図面を参照して説明する。
図1は、本実施形態の特徴行動検知システム100の概要を説明するための図である。
この特徴行動検知システム100は、駅、店舗、多目的ホールなどの様々な場所における特徴行動の検知を一元的に実行するシステムを想定している。より詳細には、この特徴行動検知システム100は、様々な場所に設置される監視カメラなどの複数のセンサ1を用いて様々な場所での特徴行動を検知するシステムを想定している。ただし、特徴行動検知システム100に接続されるセンサ1は、同種のセンサで統一されているものとする。
また、この特徴行動検知システム100は、通常の行動とは異なる行動を特徴行動として検知するシステムであって、複数のセンサ1を用いることによって、通常の行動を学習するための学習データの収集期間を短縮し、かつ、特徴行動の検知精度を保つことができるようにしたシステムである。以下、特徴行動検知システム100が、設置場所が異なったり、設置条件が異なったりする複数のセンサ1を用いながらも、特徴行動の検知精度を保つために備える仕組みについて詳述する。
図2は、特徴行動検知システム100の一構成例を示す図である。
図2に示すように、特徴行動検知システム100は、複数のセンサ1と、センサデータ管理装置2と、特徴行動検知装置3とを備える。特徴行動検知システム100は、発報装置4や情報配信装置5を備えてもよい。なお、ここでは、センサデータ管理装置2と特徴行動検知装置3とを分けて示しているが、これらは、たとえば同一のコンピュータによって構築されてもよい。また、センサデータ管理装置2および特徴行動検知装置3の一方または両方は、たとえば負荷分散などのために、たとえばネットワークを介して協働可能な2以上のコンピュータによって構築されてもよい。
様々な場所に設置される監視カメラなどの複数のセンサ1のセンサ値は、センサデータ管理装置2(データ管理部21)へ送信される。センサ1とセンサデータ管理装置2との間で通信する手法については、特定の手法に限定されず、ここでは問わないが、たとえばインターネットなどのネットワーク経由で通信する手法を採用し得る。センサ値は、たとえば監視カメラの映像(画像)データであるが、前述したように、センサ1は、必ずしも監視カメラに限定されず、センサ値としては、温度、煙などの検知データとなる場合もある。
センサデータ管理装置2は、データ管理部21と、センサデータDB(Data base)22と、センサ情報DB23とを備えている。
データ管理部21は、複数のセンサ1から送信されてくるセンサ値を、グループ化用データ22A、学習用データ22B、検知用データ22Cとして、センサデータDB22によって管理する機能を有する。たとえば、1つのセンサ値が、グループ化用データ22A、学習用データ22B、検知用データ22Cとして重複して用いられ得る。グループ化用データ22Aは、後述する、複数のセンサ1をグループ化する処理(クラスタリングなどとも称される)に用いられるデータである。学習用データ22Bは、特徴行動を検知するための通常の行動の学習に用いられるデータである。検知用データ22Cは、特徴行動の検知に用いられるデータである。データ管理部21は、これらの各データを、センサ1ごとに時系列に読み出し可能にセンサデータDB22に格納する。データ管理部21は、センサデータDB22内の各データを、センサ1ごとに削除することもできる。
また、データ管理部21は、センサ1の台数の増減を把握し得る情報を含むセンサ1に関する情報(センサ情報)を、センサ情報DB23によって管理する機能を有する。センサ1が増設された場合や撤去された場合、システム管理者によって、センサ情報DB23の更新が行われる。この更新は、センサ1が増設された場合や撤去された場合、その都度行われることが好ましいが、一定期間ごとに当該一定期間内において増設または撤去されたセンサ1について一括して行われるものであってもよい。センサ情報DB23は、最新(更新後)のセンサ情報と、少なくとも1世代以上の更新前のセンサ情報とを保持する。センサ情報は、センサ1の増減として、センサ1の総数の差分数ではなく、センサ1の増設数と撤去数とのそれぞれを把握し得る情報であることが好ましい。さらに、センサ情報は、たとえば設置条件が変更されたセンサ1の数を把握し得る情報であることが好ましい。つまり、システム管理者は、たとえば設置条件が変更されたセンサ1についても、センサ情報DB23の更新を行うことが好ましい。たとえば設置条件が変更されたセンサ1については、撤去され、かつ、新たに増設されたものとして、センサ情報が更新されてもよい。ここで、この特徴行動検知システム100では、システム管理者が、センサ1のグループ化に関する情報を、たとえばセンサ情報などとしてセンサ情報DB23へ登録する必要がないことを留意点として挙げておく。その理由については後述する。
また、データ管理部21は、センサデータDB22に格納される各種データや、センサ情報DB23に格納されるセンサ情報を、特徴行動検知装置3(データ取得部31)へ送信する機能を有する。センサデータ管理装置2と特徴行動検知装置3との間で通信する手法については、特定の手法に限定されず、ここでは問わないが、たとえばインターネットなどのネットワーク経由で通信する手法を採用し得る。
特徴行動検知装置3は、データ取得部31、対象物検知部32、特徴量算出部33、グループ化部34、グループ管理部35、機械学習部36、特徴行動検知・識別部37、学習モデルDB38およびグループ情報DB39を備える。データ取得部31、対象物検知部32、特徴量算出部33、グループ化部34、グループ管理部35、機械学習部36および特徴行動検知・識別部37の一部または全部は、各々の処理手順が記述されたプログラムをプロセッサに実行させることによって実現されるものであってもよいし、専用の電子回路によって実現されるものであってもよい。図3に、特徴行動検知装置3のハードウェア構成の一例を示す。
図3に示すように、特徴行動検知装置3は、プロセッサ51、主メモリ52、外部記憶装置53、通信装置54、入力装置55および表示装置56を備える。また、特徴行動検知装置3は、これらを相互接続するためのバス57を備える。なお、前述したように、特徴行動検知装置3は、2以上のコンピュータ(サーバとファイルサーバなど)によって構築されてもよく、図3は、そのハードウェア構成例を概略的に示しているに過ぎない。
ここでは、特徴行動検知装置3は、外部記憶装置53に格納される特徴行動検知プログラム3Aが当該外部記憶装置53から主メモリ52にロードされてプロセッサ51によって実行されることによって、図2に示したデータ取得部31、対象物検知部32、特徴量算出部33、グループ化部34、グループ管理部35、機械学習部36、特徴行動検知・識別部37が実現されるものとする。また、図2に示した学習モデルDB38、グループ情報DB39および後述する行動パターンDB344は、外部記憶装置53内に構築されるものとする。
通信装置54は、センサデータ管理装置2、発報装置4および情報配信装置5との間の通信を実行する装置である。入力装置55は、特徴行動検知装置3のオペレータなどが指令を含む情報入力を行うための装置である。表示装置56は、特徴行動検知装置3のオペレータなどへ情報出力を行うための装置である。
図2に戻って説明を続ける。データ取得部31は、センサデータ管理装置2(データ管理部21)から、センサ1のセンサ値である各種データや、センサ情報を取得する機能を有する。データ取得部31によって取得された各種データは、対象物検知部32と特徴量算出部33とに渡され、センサ情報は、グループ化部34に渡される。なお、センサデータ管理装置2(データ管理部21)とデータ取得部31との間の各種データの授受は、センサ1によるデータの取得とほぼ同時のいわゆるリアルタイム処理としても実施され得るし、センサデータDB22に格納された後、必要に応じて、いわゆるバッチ処理としても実施され得る。
対象物検知部32は、センサ1の検知対象領域内に存在するたとえば人や人の集合体などを検知する。以下、対象物検知部32が検知対象とする人や人の集合体などを対象物または対象体などと称することがある。対象物を検知する手法は、既知の様々な手法を採用し得る(ここでは、その手法については問わない)。対象物検知部32による対象物の検知結果は、特徴量算出部33、グループ化部34、機械学習部36および特徴行動検知・識別部37に通知される。
特徴量算出部33は、対象物検知部32から通知される対象物の特徴量を算出する。特徴量は、対象物の行動を表現し得る値であり、たとえば密度や動きベクトルなどを含む情報である。特徴量算出部33は、学習・検知用特徴量算出部331、動きベクトル算出部332および正規化部333を備える。
学習・検知用特徴量算出部331は、特徴行動を検知するための通常の行動の学習に用いられ、または、特徴行動の検知に用いられる対象物の特徴量を算出する。対象物の特徴量を算出する手法は、既知の様々な手法を採用し得る(ここでは、その手法については問わない)。
また、動きベクトル算出部332は、対象物検知部32から通知される対象物の特徴量であって、特に、センサ1のグループ化に用いるのに好適な対象物の動きベクトルを算出する。動きベクトルを算出する手法も、既知の様々な手法を採用し得る(ここでは、その手法については問わない)。センサ1のグループ化および動きベクトルについては後述する。
学習・検知用特徴量算出部331により算出された学習・検知用特徴量と、動きベクトル算出部332により算出された動きベクトルとは、正規化部333に渡される。正規化部333は、受け取った学習・検知用特徴量や動きベクトルについて、たとえばセンサ1間における設置条件の違いなどの影響を排除するための正規化を実行する。正規化部333の処理については後述する。正規化部333により正規化が施された学習・検知用特徴量は、機械学習部36と特徴行動検知・識別部37とに渡される。また、正規化部333により正規化が施された動きベクトルは、グループ化部34(行動パターン決定部341)に渡される。
機械学習部36は、特徴量算出部33(正規化部333)から受け取る学習・検知用特徴量を用いて、特徴行動を検知するための通常の行動を学習する。特徴行動検知・識別部37は、特徴量算出部33(正規化部333)から受け取る学習・検知用特徴量を用いて、機械学習部36により学習された通常の行動と異なる行動を特徴行動として検知する。通常の行動を学習する手法は、既知の様々な手法を採用し得る(ここでは、その手法については問わない)。また、通常の行動と異なる行動を特徴行動として検知する手法も、既知の様々な手法を採用し得る(ここでは、その手法については問わない)。特徴行動検知・識別部37は、特徴行動を検知した場合、その特徴行動の行動内容を識別する。行動内容を識別する手法も、既知の様々な手法を採用し得る(ここでは、その手法については問わない)。特徴行動検知・識別部37による特徴行動の検知および行動内容の識別の結果は、発報装置4や情報配信装置5へ通知され、発報装置4による係員への通知や情報配信装置5による利用者への情報配信が実行される。
ところで、設置場所が異なったり、設置条件が異なったりする複数のセンサ1から収集されるデータを混ぜると、機械学習部36による通常の行動の学習精度が低下し、これに伴い、特徴行動検知・識別部37による(通常の行動とは異なる行動である)特徴行動の検知精度が低下するおそれがある。そこで、この特徴行動検知システム100における特徴行動検知装置3は、機械学習部36による通常の行動の学習精度を保ち、また、特徴行動検知・識別部37による特徴行動の検知精度を保つために、グループ化部34とグループ管理部35とを備える。なお、特徴量算出部33の正規化部333も、機械学習部36による通常の行動の学習精度を保ち、また、特徴行動検知・識別部37による特徴行動の検知精度を保つことに寄与する特徴行動検知システム100(特徴行動検知装置3)に独自のものであるが、判り易くするために、グループ化部34およびグループ管理部35の説明とは分けて説明する。
図4は、グループ化部34の行動パターンによるセンサ1のグループ化を説明するための概念図である。この図4と図2とを併せて参照して、まず、グループ化部34の行動パターン決定部341と新規グループ化部342とについて説明する。
前述したように、グループ化部34は、対象物検知部32からの通知を受け、また、特徴量算出部33から(動きベクトル算出部332により算出され、正規化部333により正規化された)動きベクトルを受け取る。
特徴量算出部33の動きベクトル算出部332は、対象物検知部32から通知された対象物それぞれについて、たとえば時間的に連続する2つのセンサ値の取得間隔での移動方向および移動量を示す動きベクトルを算出する。たとえばセンサ1が監視カメラである場合、動きベクトル算出部332は、対象物のフレーム間での移動方向および移動量を示す動きベクトルを算出する。グループ化部34の行動パターン決定部341は、対象物検知部32から通知された対象物それぞれについて、特徴量算出部33から受け取った動きベクトルに基づき、行動パターンを決定する(STEP1)。
たとえば、行動パターン決定部341は、移動方向を、上、右斜め上、右、右斜め下、下、左斜め下、左、左斜め上の8方向に分類し、また、移動量、つまり速度を、低速、普通、高速の3速度に分類する。行動パターン決定部341は、8方向×3速度=24通りに停止を加えた25通りの中から対象物の行動パターンを決定し、その結果を行動パターンテーブル上に集計する。なお、方向や速度の分類数は単なる一例であって、これらに限定されるものではない。行動パターンテーブル上の25個の数値の合計は、対象物検知部32から通知される対象物の数である。行動パターン決定部341は、このように作成される行動パターンテーブルを行動パターンDB344に格納する。
グループ化部34の新規グループ化部342は、行動パターンDB344に格納される行動パターンテーブルを用いて、センサ1のグループ化を行う。新規グループ化部342によるセンサ1のグループ化が行われるタイミングとしては、第1に、特徴行動検知システム100の導入時が挙げられる。特徴行動検知システム100の導入時、たとえば特徴行動検知システム100全体で1000台のセンサ1が設置される場合、この1000台のセンサ1をいくつかのグループに分ける処理が初期処理として新規グループ化部342によって実行される。また、第2に、特徴行動検知システム100内でのセンサ1の増減の割合がしきい値を超えた場合が挙げられる。この増減は、センサデータ管理装置2のセンサ情報DB23に格納されているセンサ情報から取得することができる。センサ1の増減は、センサ1の総数の差分数ではなく、センサ1の変動数であることが好ましい。たとえばX台が増設され、Y台が撤去され、Z台の設置条件が変更された場合であって、|X−Y|の総数に占める割合がしきい値未満に収まる場合であっても、X+Y+Zの総数に占める割合がしきい値を越える場合には、改めて、センサ1をいくつかのグループに分ける処理が実行されることが好ましい。なお、センサ1のグループ化の実行要否の判定については、たとえば増設数と撤去数とを各々しきい値と比較するなど、様々な手法を採用し得る。
新規グループ化部342は、まず、たとえば1日や1週間などの所定の期間における各センサ1の行動パターンの検出数を時系列に抽出する(STEP2)。たとえば、低速で上に動く行動パターンを行動1とし、低速で右斜め上に動く行動パターンを行動2とするといった具合に、新規グループ化部342は、前述した25通りの行動パターンの検出数を行動パターン別かつ時系列に抽出する。また、これと併せて、新規グループ化部342は、全行動パターン合計の検出数を時系列に抽出する。
そして、新規グループ化部342は、前述した所定の期間における行動パターンごとの検出数の時間変化率と、全行動パターンの総検出数の推移とを求め、これらを基準にセンサ1のグループ化を実行する(STEP3)。
行動パターンごとの検出数の時間変化率からは、行動の傾向と、時間帯による行動の変化を捉えることができる。また、全行動パターンの総検出数の推移からは、各センサ1における検出数の規模の傾向を捉えることができる。これらを基準にすることで、新規グループ化部342は、行動の傾向と規模の傾向との関連性の高いセンサ1同士が同一のグループに属するようにセンサ1のグループ化を実行することができる。このように、本実施形態の特徴行動検知装置3は、センサ1によって検知される対象物の行動からセンサ1のグループ化を自動的に行うという独自の機能を有している。なお、与えられた基準に沿ったグループ化の手法は、既知の様々な手法を採用し得る(ここでは、その手法については問わない)。新規グループ化部342によるセンサ1のグループ化の結果は、グループ管理部35に通知される。
グループ化部34の追加センサ処理部343は、センサ1が追加された場合に、そのセンサ1をどのグループに編入するかなどの処理を実行する。追加センサ処理部343の処理については後述する。なお、追加センサ処理部343の処理結果も、グループ管理部35に通知される。
グループ管理部35は、グループ化部34(新規グループ化部342、追加センサ処理部343)からの通知を受けて、センサ1のグループに関する情報であるグループ情報の作成および更新を行う。グループ情報は、グループ情報DB39に格納される。また、グループ管理部35は、グループ情報で示されるグループごとの学習モデルを学習モデルDB38によって管理する。
グループ管理部35は、グループ情報DB39に格納されるグループ情報と、学習モデルDB38に格納される学習モデルとを、機械学習部36と特徴行動検知・識別部37とに渡す。
機械学習部36は、グループ管理部35から受け取ったグループ情報により、特徴量算出部33から受け取る学習・検知用特徴量がどのグループのセンサ1によるものかを把握することができるので、同じくグループ管理部35から受け取った学習モデルの中の当該グループに対応づけられる学習モデルを使って対象物の通常の行動を学習していく。機械学習部36は、必ずしも、グループ情報に基づき、たとえば特徴量算出部33から受け取る学習・検知用特徴量がどのグループのセンサ1によるものかを把握するなどの機能を有していなくともよい。たとえば、機械学習部36は、グループ管理部35の制御下で、グループ管理部35から与えられた1つの学習モデルを使ってグループごとに学習を行ってもよい。もちろん、その場合、機械学習部36に供給される学習・検知用特徴量は、グループ管理部35により、各グループに属するセンサ1に関するもののみに制御される。機械学習部36による通常の行動の学習結果は、グループ管理部35に返却され、学習モデルDB38内の学習モデルが更新される。学習モデルDB38内の学習モデルが更新されると、グループ管理部35は、更新後の学習モデルを所定のタイミングで特徴行動検知・識別部37に渡す。
特徴行動検知・識別部37も、機械学習部36と同様に、グループ管理部35から受け取ったグループ情報により、特徴量算出部33から受け取る学習・検知用特徴量がどのグループのセンサ1によるものかを把握することができるので、同じくグループ管理部35から受け取った学習モデルの中の当該グループに対応づけられる学習モデルを使って対象物の特徴行動(学習モデルで示される通常の行動と異なる行動)を検知する。特徴行動を検知した場合、特徴行動検知・識別部37は、その特徴行動の行動内容を識別し、検知および認識の結果を発報装置4や情報配信装置5へ通知する。これにより、発報装置4による係員への通知や情報配信装置5による利用者への情報配信が実行される。
このように、特徴行動検知装置3は、センサ1によって検知される対象物の行動からセンサ1のグループ化を自動的に行うという独自の機能を有しているので、設置場所が異なったり、設置条件が異なったりする複数のセンサ1から収集されるデータを混ぜても、機械学習部36による通常の行動の学習精度を保ち、また、特徴行動検知・識別部37による特徴行動の検知精度を保つことができる。よって、たとえば、学習データの収集期間を短縮して、特徴行動検知システム100の導入から運用開始までの期間を早めることができる。その一方で、システム管理者は、センサ1を設置するにあたり、そのセンサ1をどのグループに編入させるのかなどを何ら考慮する必要がない。換言すれば、システム管理者は、センサ1のグループ化に関する情報を、たとえばセンサ情報などとしてセンサ情報DB23へ登録する必要がない。
図5は、特徴行動検知装置3におけるセンサ1のグループ化および通常の行動の学習に関する処理の流れを示すフローチャートである。
特徴行動検知装置3は、まず、特徴行動検知システム100内のすべてのセンサ1を対象としたグループ化である新規グループ化を実行する(ステップA1)。この新規グループ化は、グループ管理部35の制御の下、グループ管理部35と、データ取得部31、対象物検知部32、特徴量算出部33およびグループ化部34とが協働することによって実行される。図6に、新規グループ化に関する処理の詳細な流れを示す。
グループ化部34は、すべてのセンサ1のそれぞれについて、ステップB1〜ステップB16の処理を実行する。より詳細には、ステップB1において、処理対象のセンサ1が選定され、ステップB16において、未処理のセンサ1の有無が判定され、未処理のセンサ1が残っていれば、ステップB1に戻り、すべてのセンサ1が処理済であれば、当該ステップB1〜ステップB16のループを抜ける。
ステップB1にて処理対象のセンサ1が選定されると、グループ化部34は、たとえば1日分や1週間分などの一定期間について、ステップB2〜ステップB14の処理を実行する。より詳細には、ステップB2において、たとえば数秒や数分などの単位で時系列に処理対象の時間帯が選定され、ステップB14において、一定期間の処理を完了したか否かが判定され、未処理の時間帯が残っていれば、ステップB2に戻り、一定期間のすべての時間帯が処理済であれば、当該ステップB2〜ステップB14のループを抜ける。
ステップB2にて処理対象の時間帯が選定されると、グループ化部34は、ステップB1にて選定されたセンサ1によってステップB2にて選定された時間帯に取得されたデータの取得をグループ管理部35経由でデータ取得部31に要請する(ステップB3)。データ取得部31によって取得されるデータに対しては、それぞれ、ステップB4〜ステップB13の処理が実行される。より詳細には、ステップB4において、処理対象のデータが選定され、ステップB13において、未処理のデータの有無が判定され、未処理のデータが残っていれば、ステップB4に戻り、すべてのデータが処理済であれば、当該ステップB4〜ステップB13のループを抜ける。
対象物検知部32は、ステップB4にて処理対象に選定されたデータから対象物を検出する(ステップB5)。対象物検知部32によって検出される対象物(検出物)に対しては、それぞれ、ステップB6〜ステップB12の処理が実行される。より詳細には、ステップB6において、処理対象の検出物が選定され、ステップB12において、未処理の検出物の有無が判定され、未処理の検出物が残っていれば、ステップB6に戻り、すべての検出物が処理済であれば、当該ステップB6〜ステップB12のループを抜ける。
特徴量算出部33の動きベクトル算出部332は、ステップB6にて処理対象に選定された検出物の動きベクトルを、ステップB4にて処理対象に選定されたデータ(およびたとえば1つ前のデータ)を用いて算出する(ステップB7)。特徴量算出部33の正規化部333は、動きベクトル算出部332によって算出された動きベクトルに対し、たとえばセンサ1間における設置条件の違いなどの影響を排除するための正規化を実行する(ステップB8)。正規化部333の処理については後述する。
グループ化部34の行動パターン決定部341は、動きベクトル算出部332によって算出され、正規化部333によって正規化された動きベクトルから、検出物の方向を算出し(ステップB9)、また、検出物の速さを算出する(ステップB10)。行動パターン決定部341は、算出した検出物の方向および速さを基に、検出物の行動パターンを決定し、その行動パターンの検出数をカウントアップする(ステップB11)。
ステップB1にて処理対象に選定されたセンサ1について、ステップB11の行動パターンの検出数のカウントアップを終了すると、グループ化部34の新規グループ化部342は、一定期間内における、行動パターンごとの検出数の時間変化率を算出する(ステップB15)。また、すべてのセンサ1について、ステップB15の行動パターンごとの検出数の時間変化率の算出を終了すると、新規グループ化部342は、各センサ1における、行動パターンの検出数の時間変化率と、全行動パターン合計の検出数の推移を基準にグループ化を実行する(ステップB17)。グループ管理部35は、新規グループ化部342によるグループ化の結果と、グループ化基準情報とをグループ情報としてグループ情報DB39に保存する(ステップB18)。
図7に、グループ情報DB39に保存されるグループ情報の一例を示す。
図7に示すように、グループ情報は、たとえば、グループIDフィールドと、センサIDフィールドと、学習モデルIDフィールドと、グループ化基準情報フィールドとを含むテーブル形式のデータ構造体である。
グループIDフィールドには、各グループの識別子が保持される。センサIDフィールドには、各グループに属するセンサ1の識別子が保持される。学習モデルIDフィールドには、各グループが使用すべき学習モデル(学習モデルDB38に保持されている学習モデル)の識別子が保持される。グループ化基準情報については後述するが、グループ化基準情報は、各グループのテリトリを示す情報である。
図5に戻って説明を続ける。ステップA1の新規グループ化が終了すると、特徴行動検知装置3は、たとえば1ヶ月や3ヶ月などの任意のグループ化サイクルごとに、ステップA2〜ステップA29の処理を実行する。このグループ化サイクルは、たとえば季節変化などの経時変化に対応するために定められるものである。つまり、特徴行動検知装置3は、たとえば夏と冬とで人の流れ方や集まり方が異なるといった通常の行動の変化に適応的に対応することができる。
さらに、特徴行動検知装置3は、たとえば1日や1週間などの任意の学習サイクルごとに、ステップA3〜ステップA26の処理を実行する。この学習サイクルは、たとえば新たに設置されたセンサ1などに対応するために定められるものである。
より詳細には、グループ管理部35は、まず、センサデータ管理装置2で管理されているセンサ情報DB23の更新有無を調べる(ステップA4)。図8に、センサ情報DB23に保存されるセンサ情報の一例を示す。
図8に示すように、センサ情報は、たとえば、更新日時フィールドと、センサIDフィールドとを含むテーブル形式のデータ構造体である。
更新日時フィールドには、システム管理者によってセンサ情報DB23(センサ情報)が更新された日時が保持される。センサIDフィールドには、たとえば更新日時の時点において存在するセンサ1の識別子が保持される。センサ情報は、1回目の更新以降、少なくとも2世代保持される。このセンサ情報によって、追加されたセンサ1や削除されたセンサ1を認識することができる。なお、ここでは、たとえば設置条件が変更されたセンサ1については、元の識別子が削除されて新たな識別子が追加されるものとする。
グループ管理部35は、たとえば、その時点から1学習サイクル前以降の更新日時がセンサ情報DB23に保持されていた場合、センサ情報DB23が更新されていると判断することができる。センサ情報が1世代のみ存在する場合、そのセンサ情報は、特徴行動検知システム100の導入時に初期設定として保持されたものである。その場合、特徴行動検知装置3は、センサ情報DB23は更新されていると判断する。
センサ情報DB23が更新されていた場合(ステップA4)、次に、グループ管理部35は、更新前と更新後との間のセンサ1の増減がしきい値以上か否かを調べる(ステップA5)。前述したように、センサ1の増減は、センサ1の総数の差分数ではなく、センサ1の変動数であることが好ましい。センサ1の増減がしきい値以上の場合(ステップA5のYES)、グループ管理部35は、既存の全てのグループ情報と全ての学習モデル、つまり、グループ情報DB39に格納される全てのグループ情報と、学習モデルDB38に格納される全ての学習モデルとを削除し(ステップA6)、図6を参照して説明した新規グループ化を、新規グループ化部342などに改めて実行させる(ステップA7)。
一方、センサ1の増減がしきい値未満の場合(ステップA5のNO)、グループ管理部35は、センサ1の数が増加しているか否かを調べる(ステップA8)。ここで、センサ1の数が増加しているか否かを調べることは、追加されたセンサ1が存在するか否かを調べることであることが好ましい。追加されたセンサ1が存在する場合(ステップA8のYES)、グループ管理部35は、当該追加されたセンサ1に対する処理を追加センサ処理部343などに実行させる(ステップA9)。ここで、図9を参照して、追加されたセンサ1に対する処理の概要について説明する。
グループ化部34の新規グループ化部342は、新規グループ化の実行時、各グループに属する各センサ1のサンプル点を算出する。また、新規グループ化部342は、これらから、各グループの中心点を算出するとともに、各グループ内で最も中心点から離れたサンプル点までの距離を算出する。これらは、グループ化基準情報として、グループ情報DB39に保持される(図7参照)。このサンプル点は、たとえば、各センサ1により検知される対象物の通常の行動の傾向を数値化して得た値を2次元や3次元などの空間に投影した場合の位置である。なお、サンプル点を算出する手法、中心点を算出する手法および中心点からサンプル点までの距離を算出する手法は、既知の様々な手法を採用し得る(ここでは、その手法については問わない)。
グループ化部34の追加センサ処理部343も、追加されたセンサ1について、そのサンプル点を算出する。図9中、符号a1は、グループ化基準情報として保持されるグループ中心点、符号a2は、グループ中心点からの距離が最も大きいサンプル点、をそれぞれ示すものと想定する。また、符号a3−1,a3−2は、それぞれ、追加センサ処理部343によって算出されたサンプル点を示すものと想定する。図9に示すグループ中心点a1は、既存のグループのグループ中心点のうち、追加されたセンサ1のサンプル点a3−1,a3−2から最も近いグループ中心点である。
追加センサ処理部343は、グループ中心点a1から、グループ中心点からの距離が最も大きいサンプル点a2までの距離である距離Aと、グループ中心点a1から、追加されたセンサ1のサンプル点a3−1,a3−2までの距離である距離Bとを比較し、距離Bが距離A以下である場合(a3−1の位置の場合)、追加されたセンサ1をそのグループに編入する。一方、距離Bが距離Aを超える場合(a3−2の位置の場合)、追加センサ処理部343は、追加されたセンサ1のみのグループを生成する。つまり、グループ中心点a1からサンプル点a2までを半径する円形の領域は、グループのテリトリを示す。換言すれば、グループ化基準情報は、グループのテリトリを示す。
このように、特徴行動検知装置3は、センサ1が新設された場合、一定の条件下で、そのセンサ1を既存のグループに編入させることができるので、このセンサ1のための追加の学習を不要にでき、既存の学習モデルを用いた当該センサ1による特徴行動の検知を即時的かつ高精度で行うことが可能である。
図10は、追加されたセンサに対する処理(図5のステップA9)の詳細な流れを示すフローチャートである。この処理は、グループ管理部35の制御の下、グループ管理部35と、データ取得部31、対象物検知部32、特徴量算出部33およびグループ化部34とが協働することによって実行される。
グループ化部34は、グループ情報DB39に保持されているグループ化基準情報をグループ管理部35経由で取得する(ステップC1)。グループ化部34は、追加されたセンサ1のそれぞれについて、ステップC2〜ステップC21の処理を実行する。ステップC2〜ステップC21のうちのステップC3〜ステップC16は、図6を参照して説明した新規グループ化のステップB2〜ステップB15と同様であるので、重複した説明は省略する。
グループ化部34の追加センサ処理部343は、追加されたセンサ1を表すサンプル点が、既存のどのグループの中心点に最も近いかを計算する(ステップC17)。追加センサ処理部343は、そのグループ中で中心点からの距離が最も大きい既存のサンプル点より、追加されたセンサ1を表すサンプル点の方が中心点からの距離が近いかどうかを調べる(ステップC18)。近い場合(ステップC18のYES)、追加センサ処理部343は、その追加されたセンサ1を当該グループに編入する(ステップC19)。一方、遠い場合には(ステップC19のNO)、追加センサ処理部343は、その追加されたセンサ1のみのグループを作成する(ステップC20)。
グループ化部34は、追加されたセンサ1すべてについて、既存のグループへの編入または当該追加されたセンサ1のみのグループの作成を終了すると、新たなグループ化基準情報を保存すべくグループ管理部35経由でグループ情報DB39を更新する(ステップC22)。
図5に戻って説明を続ける。ステップA8におけるセンサ1の数が増加しているか否かを調べることは、さらに、削除されたセンサ1が存在するか否かを調べることを含むものであることが好ましい。削除されたセンサ1が存在する場合(ステップA8のNO)、グループ管理部35は、グループ情報DB39に保持される当該センサ1の情報を削除する(ステップA10)。ステップA9とステップA10とは、必ずしも排他選択的に実行されるものではなく、両方ともが実行され得る。
次に、グループ管理部35は、学習が実施されていないグループについて、ステップA11からステップA20の処理を実行する。学習が実施されていないグループとは、たとえば、新規グループ化部342によってグループ化が実行された場合におけるすべてのグループまたはセンサ1が追加された場合において追加センサ処理部343によって作成された当該センサ1のみのグループである。また、後述する、1つのグループが複数のグループに分割された場合における当該複数のグループも該当する。
グループ管理部35は、各グループについて、そのグループに割り当てられている学習モデルが存在するか否かを調べる(ステップA12)。学習が実施されていないグループであって、割り当てられている学習モデルが存在しないグループとは、たとえば、1つのグループが複数のグループに分割された場合における増加分のグループである。
学習モデルが存在する場合(ステップA12のYES)、グループ管理部35は、その学習モデルを学習モデルDB38から読み出す(ステップA13)。グループ管理部35は、読み出した学習モデルを機械学習部36に供給する。一方、学習モデルが存在しない場合(ステップA12のNO)、グループ管理部35は、新規の学習モデルを作成し(ステップA14)、機械学習部36に供給する。
対象物検知部32は、処理対象のグループに属するセンサ1によって取得されたデータから対象物を検出し(ステップA15)、特徴量算出部33の学習・検知用特徴量算出部331は、検出された対象物の特徴量を算出する(ステップA16)。特徴量算出部33の正規化部333は、その特徴量を距離情報によって正規化する(ステップA17)。図6のステップB8(図10のステップC9も同様)における動きベクトルの正規化を含めて、当該正規化部333による正規化については後述する。
特徴量算出部33によって算出される特徴量を受け取る機械学習部36は、そのグループに割り当てられた学習モデルで機械学習を実施する(ステップA18)。前述したように、ここでは、特徴行動を検知するための通常の行動が学習される。また、機械学習に必要な種々の学習パラメータは、十分に調整されているものとする。機械学習部36による機械学習によって、その学習モデルは当該グループ用に適合したものとなる。当該グループ用に適合したものとなった学習モデルは、グループ管理部35経由で学習モデルDB38に保存される(ステップA19)。
学習が実施されていないグループのそれぞれについて、機械学習を終了すると、グループ管理部35は、学習終了時の評価値が基準値を満たしていないグループが存在するか否かを調べる(ステップA21)。評価値は、学習方法によって異なり、たとえば、教師あり学習の場合は学習誤差が適用される。なお、機械学習を評価する方法は、既知の様々な手法を採用し得る(ここでは、その手法については問わない)。
基準値を満たしていないグループが存在する場合(ステップA21のYES)、グループ管理部35は、その中に、2以上のセンサ1が含まれるグループが存在するか否かを調べる(ステップA22)。存在する場合(ステップA22のYES)、グループ管理部35は、そのグループに含まれる各センサ1のみのグループを作成すべく、当該グループを分割する(ステップA23〜ステップA25)。そして、グループ管理部35は、分割した各グループについて、ステップA11からの処理を繰り返す。このグループを分割することによるグループの最適化で、グループ管理部35は、機械学習部36による機械学習が上手くいかなかった場合の対応をグループ単位に取るようにしている。
基準値を満たしていないグループが存在しない場合(ステップA21のNO)や、基準値を満たしていないグループは存在するが2以上のセンサ1が含まれるグループは存在しない場合(ステップA22のNO)、グループ管理部35は、ステップA3〜ステップA26のループを抜ける。グループ管理部35は、前述した季節変化などの経時変化に対応するため、任意のグループ化サイクルごとに、既存の全てのグループ情報と全ての学習モデルとを削除し(ステップA27)、新規グループ化を、新規グループ化部342などに改めて実行させる(ステップA28)。
図11に、特徴行動検知装置3によって行動パターンによるセンサ1のグループ化が実行された特徴行動検知システム100の状態の一例を示す。
図11に示すように、特徴行動検知システム100は、複数のセンサ1がグループ化され、各グループに学習モデルが割り当てられる。各グループにはどのセンサ1が属しているのか、各グループにはどの学習モデルが割り当てられているのか、などはグループ情報DB39によって管理される。
次に、図5のステップA17における特徴量の正規化と、図6のステップB8(図10のステップC9も同様)における動きベクトルの正規化とについて説明する。
たとえば、設置高や俯角など、センサ1の設置条件によって、たとえば対象物の見かけ上の大きさや速さなどの観測値は変化してしまう。そこで、正規化部333は、センサ1の距離情報を用いて、センサ1間における設置条件の違いなどの影響を排除すべく、学習・検知用特徴量算出部331によって算出された特徴量や動きベクトル算出部332によって算出された動きベクトルを正規化する。ここで、距離情報は、たとえば、センサ1の検知領域の各サンプル点(たとえば、センサ1が監視カメラである場合における画素)におけるセンサ1から検知対象位置までの距離を表す情報である。距離情報は、センサデータ管理装置2のセンサ情報DB23に保持され、データ取得部31経由で取得するものとする。換言すれば、センサ情報DB23には、センサ情報として、距離情報を含むセンサ1の設置条件に関する情報が保持されているものとする。なお、距離情報は、必ずしもセンサ情報DB23に含まれなくてもよく、別のDBに保存されてもよい。
図12は、正規化部333による正規化を含む学習データの収集に関する処理の流れを示すフローチャートである。
特徴行動検知装置3は、学習データの収集対象であるグループごとに、ステップD1〜ステップD16の処理を実行する。また、特徴行動検知装置3は、グループ内のセンサ1ごとに、ステップD2〜ステップD15の処理を実行する。さらに、特徴行動検知装置3は、一定期間について、ステップD3〜ステップD14の処理を実行する。
より詳細には、データ取得部31は、処理対象のグループ内の処理対象のセンサ1について、そのセンサ1によって取得されたデータを時系列に取得する(ステップD4)。また、データ取得部31は、そのセンサ1の距離情報を取得する(ステップD5)。
対象物検知部32は、取得されたデータのそれぞれから対象物を検出する(ステップD7)。また、特徴量算出部33の学習・検知用特徴量算出部331は、検出された対象物のそれぞれについて、任意の特徴量を算出する(ステップD9)。
正規化部333は、検出物の座標に対する距離情報を、対象のセンサ1の距離情報から抽出し(ステップD10)、特徴量と距離情報とを組み合わせて当該特徴量を正規化する(ステップD11)。この正規化は、たとえば以下の(1)式によって実行することができる。
ここで、fiは、座標iにおける正規化値、xiは、座標iにおける特徴量値、Smaxは、距離情報の最大値、Siは、座標iの距離情報値である。
また、図13は、正規化部333による正規化を含む特徴行動の検知に関する処理の流れを示すフローチャートである。
特徴行動検知装置3は、たとえば1分や5分など、任意の検知サイクルごとに、ステップE1〜ステップE9の処理を実行する。より詳細には、対象物検知部32は、処理対象のグループに属するセンサ1によって取得されたデータから対象物を検出し(ステップE2)、特徴量算出部33の学習・検知用特徴量算出部331は、検出された対象物の特徴量を算出する(ステップE3)。また、特徴量算出部33の正規化部333は、その特徴量を距離情報によって正規化する(ステップE4)。
特徴量算出部33によって算出される特徴量を受け取る特徴行動検知・識別部37は、そのグループに割り当てられた学習モデルで特徴行動を検知する(ステップE5)。特徴行動が検知された場合(ステップE6のYES)、特徴行動検知・識別部37は、その特徴行動の行動内容を識別し(ステップE7)、検知・識別結果を発報装置4や情報配信装置5に送信する(ステップE8)。
なお、グループ化のために動きベクトル算出部332が算出する動きベクトルに対する正規化部333による正規化についても、学習・検知用特徴量算出部331が算出する特徴量に対する正規化部333による正規化と同様、センサ1の距離情報に基づいて実行されるものであるので、ここでは、その説明については省略する。
このように、特徴行動検知装置3は、センサ1間における設置条件の違いなどの影響を排除することで、機械学習部36による通常の行動の学習精度を保ち、また、特徴行動検知・識別部37による特徴行動の検知精度を保つことができる。
図14は、特徴行動検知装置3によって行動パターンによるセンサ1のグループ化が実行されることで特徴行動検知システム100に及ぼす効果の一例を改めて説明するための図である。
たとえば、図14(A)に示すように、センサ1が1台のみ設置されている場合を想定する。この場合、複数のセンサ1のセンサ値が混在することによる特徴行動の検知精度の低下を考慮する必要がないが、特徴行動を検知するための通常の行動を学習するための学習データ(センサ値)の収集期間を長く取る必要があり、特徴行動を検知するシステムの導入から運用開始までのある程度の期間を置かざるを得ない。
また、学習データの収集期間を短縮するために、図14(B)に示すように、複数のセンサ1からデータを収集すると、機械学習による通常の行動の学習の精度が低下し、よって、特徴行動の検知精度が低下する。これは、特徴行動を検知するシステムとしては致命的である。
一方、前述したように、特徴行動検知装置3によって行動パターンによるセンサ1のグループ化が実行される本実施形態の特徴行動検知システム100では、図14(C)に示すように、学習データの収集期間を短縮し、かつ、機械学習による通常の行動の学習の精度を維持し、よって、特徴行動の検知精度を維持する。すなわち、本実施形態の特徴行動検知装置3は、学習データの収集期間を短縮し、かつ、特徴行動の検知精度を保つことができる。
上記した実施形態における背景と特徴を大きく分類してまとめると、以下のように記載することが可能である。
着目点1:センサの設置場所によって検知対象の通常の行動が異なるため、検知精度が低下する。たとえば、駅の改札では、「人の流れの方向が一定」、「人が動き続ける」、これに対して、大きな広場では、「人の流れの方向は不定」、「人が動いたり止まったりする」、このような現象が、検知精度の低下を招いている。
そこで、解決策としては、検知対象の「行動」を基準として、各センサを複数のグループに自動的にグループ化し、同じグループ内のセンサは同一の学習モデルで機械学習を行うことができるようにした。
この結果、検知対象の「通常行動」が同じセンサは、同じ学習モデルで特徴行動の検知が可能となった。またセンサが追加されても、そのセンサが既存のグループに編入(既存の学習モデルを適用)できるようになり、このような追加のための新たな学習は不要となった。
着目点2:センサの設置条件(設置高や俯角など)によって、検知対象の観測値(対象の見かけの大きさなど)が変化してしまうため、検知精度が低下する。
そこで、解決策としては、グループ内の各センサで収集された学習データを正規化し、それらの学習データを統一して扱うようにした。即ち、各センサで収集した学習データに対して、「距離情報」、つまりセンサの検知領域の各サンプル点(例:画素)における、センサからの距離を表す情報を用いて正規化処理を施している。
これにより、異なる環境で収集したデータを、グループ内で統一して扱うことができるようになった。
よって、本実施形態は学習データ収集期間を低減しつつ、検知精度を保つことができるものである。
さらに上記した実施形態は、特徴行動検知方法という概念も含むものである。即ち、この方法は、以下のように表現され得る。
(1)複数のセンサのセンサ値を取得する取得部を有する特徴行動検知システムの特徴行動検知方法であって、前記センサ値から検出される対象体の行動パターンに基づき、前記複数のセンサを新規グループ化することを備える特徴行動検知方法。
(2)前記新規グループ化は、第1期間での各行動パターンの検出数の時間変化率と、前記第1期間での全行動パターンの検出数の合計値の推移とに基づき、前記複数のセンサをグループ化する(1)に記載の特徴行動検知方法。
(3)前記対象体の動きの方向および速度に基づき、前記対象体の行動パターンを決定する(1)または(2)に記載の特徴行動検知方法。
(4)前記取得部によってセンサ値が取得されるセンサが追加された場合、既存のグループそれぞれのテリトリを示すグループ化基準情報に基づき、前記追加されたセンサを前記既存のグループのいずれかに編入し、または、前記追加されたセンサのみから構成される新たなグループを生成する(1)乃至(3)のいずれか一つに記載の特徴行動検知方法。
(5)前記取得部によってセンサ値が取得されるセンサの増減がしきい値を越えた場合、前記複数のセンサのグループ化を前記新規グループ化により行う(1)乃至(4)のいずれか一つに記載の特徴行動検知方法。
(6)グループ管理として、各々のグループに属するセンサのセンサ値を用いて実行される前記対象体の特徴行動を検知するための前記対象体の通常行動の機械学習の結果に対する評価値が基準値に満たないグループが存在する場合、そのグループを当該グループに属するセンサそれぞれのみで構成されるグループに分割することによりグループの最適化を実行する(5)に記載の特徴行動検知方法。
(7)グループ管理として、第2期間ごとに、前記複数のセンサのグループ化を前記新規グループ化により行う(5)または(6)に記載の特徴行動検知方法。
(8)前記複数のセンサそれぞれの検知領域のサンプル点における各センサから各検知対象位置までの距離に基づき、前記対象体について算出されるセンサ値を正規化する(1)乃至(7)のいずれか一つに記載の特徴行動検知方法。
また上記した実施形態は、上記(1)乃至(8)を行うためのプログラムまた当該プログラムを記憶した記憶媒体としても特徴を備えるものである。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。