(58)【調査した分野】(Int.Cl.,DB名)
前記管理手段により管理されたエリア情報を用いて、前記カメラが最後に撮影した撮影時間において、前記第1の被写体が特定されたエリアと、前記第2の被写体が特定されたエリアとが異なるかを判定する最後エリア判定手段を更に備え、
前記エリア判定手段は、最後エリア判定手段により、前記カメラが最後に撮影した撮影時間において、前記第1の被写体が特定されたエリアと、前記第2の被写体が特定されたエリアとが異なると判定された場合に、前記管理手段により管理されたエリア情報を用いて、前記カメラが撮影した最後の撮影時間から過去の所定期間内において、前記第1の被写体が特定されたエリアと、前記第2の被写体が特定されたエリアとが異なるかを判定し、
前記エリア判定手段により、前記カメラが撮影した最後の撮影時間から過去の所定期間内において、前記第1の被写体が特定されたエリアと、前記第2の被写体が特定されたエリアとが異なると判定された場合には、前記判定手段による判定処理を行い、一方、前記最後エリア判定手段により、前記カメラが最後に撮影した撮影時間において、前記第1の被写体が特定されたエリアと、前記第2の被写体が特定されたエリアとが異ならないと判定された場合、又は、前記エリア判定手段により、前記カメラが撮影した最後の撮影時間から過去の所定期間内おいて、前記第1の被写体が特定されたエリアと、前記第2の被写体が特定されたエリアと、が異ならないと判定された場合には、前記判定手段による判定処理を行わないように制御する制御手段と、
を備えることを特徴とする請求項3に記載の情報処理装置。
前記管理手段により管理されたエリア情報を用いて特定された前記第1の被写体のエリアが、前記カメラが設置された施設の出口、又は出口付近エリアではないときに、前記管理手段により管理されたエリア情報を用いて特定された前記第2の被写体のエリアが、前記カメラが設置された施設の出口、又は出口付近エリアであるかを判定する出口エリア判定手段と、
前記出口エリア判定手段により、前記第1の被写体のエリアが、前記カメラが設置された施設の出口、又は出口付近エリアではないときに、前記第2の被写体のエリアが、前記カメラが設置された施設の出口、又は出口付近エリアであると判定された場合には、前記第2の被写体が施設の外に出てしまう旨を通知する出口通知手段と、
を更に備えることを通知する請求項1乃至7の何れか1項に記載の情報処理装置。
前記管理手段により管理されたエリア情報を用いて、前記カメラが撮影した最後の撮影時間から過去の所定期間内に、前記第1の被写体が特定されたエリアが無いものの、前記第2の被写体が特定されたエリアがあり、かつ、前記第1の被写体が特定された最後のエリアが出口、又は出口付近エリアであるかを判定する置き去り判定手段と、
前記置き去り判定手段により、前記カメラが撮影した最後の撮影時間から過去の所定期間内に、前記第1の被写体が特定されたエリアが無いものの、前記第2の被写体が特定されたエリアがあり、かつ、前記第1の被写体が特定された最後のエリアが出口、又は出口付近エリアであると判定された場合には、前記第2の被写体が施設内に置き去りになっている旨の通知を行う置き去り通知手段と、
を更に備えることを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0013】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0014】
図1は、本発明の実施形態に係る情報処理システムの構成を示す図である。
【0015】
図1に示す101は、サーバであり、有線、又は無線のネットワーク114を介して、各ネットワークカメラ103〜114と相互に通信可能に接続されている。
【0016】
また、サーバ101は、無線のネットワークを介して携帯端末102と相互に通信可能に接続されている。
【0017】
サーバ101は、ネットワークに接続されたカメラから当該カメラで撮影された画像データを、当該ネットワークを介して受信し、当該画像データを用いて迷子を特定して通知する情報処理装置の適用例である。
【0018】
各ネットワークカメラ103〜114は、同一の施設内に設けられており、ネットワーク114に接続可能な撮像装置(カメラ)である。各ネットワークカメラ103〜114は、動画、及び/又は静止画を撮影可能なカメラである。以下、動画、及び/又は静止画を映像とも言う。
【0019】
各ネットワークカメラ103〜114は、撮影された映像のデータを、サーバ101に送信する機能を備えている。
【0020】
ネットワークカメラ103〜106は、当該施設内のエリアAに設置されたカメラであり、各ネットワークカメラ103〜106は、それぞれ、ネットワークカメラ(個体)を識別するための識別情報をメモリに記憶している。
【0021】
また、ネットワークカメラ107〜110は、当該施設内のエリアBに設置されたカメラであり、各ネットワークカメラ107〜110は、それぞれ、ネットワークカメラ(個体)を識別するための識別情報をメモリに記憶している。
【0022】
また、ネットワークカメラ111〜114は、当該施設内のエリアCに設置されたカメラであり、各ネットワークカメラ111〜114は、それぞれ、ネットワークカメラ(個体)を識別するための識別情報をメモリに記憶している。エリアCは、出口エリア、又は出口近傍のエリアである。
【0023】
各ネットワークカメラ103〜114は、被写体として、施設内にいる親115(保護者)、子供117を撮影する。親115(保護者)には、当該親(個人)を識別するための識別情報を示すカラーコードが付されている。たとえば、親115(保護者)の洋服に当該カラーコードのシールが付されている。また、当該親の子供117には、当該子供(個人)を識別するための識別情報を示すカラーコードが付されている。たとえば、子供117の洋服に当該カラーコードのシールが付されている。
【0024】
すなわち、各ネットワークカメラ103〜114は、被写体として、施設内にいる親115(保護者)のカラーコード、子供117のカラーコードを撮影する。
【0025】
ここでは、個人を識別するためのものとしてカラーコードを用いるようにしたが、カラーコード以外に、バーコードや、個人の顔の画像などを、個人を識別可能なものであれば、何でもよい。
携帯端末102は、親115が所持する携帯端末である。
【0026】
図1では、各ネットワークカメラが設置されたエリアが、エリアA〜Cであることを説明したが、エリアA〜C以外に、エリアD〜Zにも、それぞれ同様にネットワークカメラが設けられている。
【0027】
以下、
図2を用いて、
図1に示したサーバ101、携帯端末102に適用可能な情報処理装置のハードウェア構成について説明する。
【0028】
図2は、
図1に示したサーバ101、携帯端末102に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
【0029】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0030】
202はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM203あるいは外部メモリ211からRAM202にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0031】
また、205は入力コントローラで、キーボード(KB)や不図示のマウス等のポインティングデバイス等の入力装置209からの入力を制御する。206はビデオコントローラで、液晶ディスプレイ等のディスプレイ装置210への表示を制御する。なお、210のディスプレイ装置は、タッチパネルになっており、ディスプレイ上の画面を押下されることにより操作することが可能な入力装置としても機能する。
【0032】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0033】
208は通信I/Fコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0034】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0035】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
<
図3の説明>
【0036】
図3は、本発明の実施形態に係るサーバ101が実行する処理を示すフローチャートである。
【0037】
ステップS301〜S305に示す各ステップの処理は、サーバ101の外部メモリ211に記録されているプログラムによる制御に従ってサーバ101のCPU201が実行する。
【0038】
まず、各ネットワークカメラ(103〜114)は、撮影された映像のデータをサーバ101に逐次送信する。ここでの例は、撮影された映像のデータを、所定時間(例えば1分)間隔で送信する。
【0039】
また、ここで、各ネットワークカメラは、それぞれ、ネットワークカメラ(個体)を識別するための識別情報をメモリに記憶しているため、各ネットワークカメラは、映像データだけではなく、それぞれメモリに記憶している識別情報をサーバ101に送信する。
【0040】
そして、サーバ101は、各ネットワークカメラから、各ネットワークカメラから映像データと、ネットワークカメラを識別するための識別情報を受信する(S301)。
【0041】
ここで映像データとは、静止画像データだけではなく、動画データも含まれる。動画データを構成するフレーム画像のデータを、静止画像データと同様に、後述する処理の対象とすることができる。
【0042】
ステップS301は、各カメラにより時間の経過と共に継続的に撮影された画像データ(映像データ)を当該各カメラから順次取得する取得手段の適用例である。
【0043】
そして、サーバ101は、S301で受信した映像データを解析して、被写体を識別するための識別情報を取得する(S302)。例えば、サーバ101は、被写体に付されているカラーコードを、当該受信した映像データの中から特定し、当該特定されたカラーコードを読み取り解析することで、被写体を識別するための識別情報(カラーコードのID(個人を識別するための識別情報))を取得する。この識別情報を取得することで撮影されたユーザを特定することができる。
【0044】
すなわち、ステップS301は、取得手段により取得された画像データを解析することにより当該画像データに撮影されたユーザを特定するユーザ特定手段の適用例である。
【0045】
次に、サーバ101は、ステップS301で受信したネットワークカメラの識別情報と、
図11に示す対応テーブルとに従って、当該ネットワークカメラのエリア(被写体のいるエリア)を特定する。
<
図11の説明>
【0046】
図11は、ネットワークカメラの識別情報と、当該ネットワークカメラが配置されているエリアのエリア名とが対応付けられた対応テーブルの一例を示す図である。
【0047】
図11のテーブルは、カメラが設置されているエリアを示すエリア情報(エリア名)をカメラごとに記憶手段(メモリ)に記憶されている。
【0048】
図11に示す対応テーブルには、各ネットワークカメラの識別情報(001、002、003、・・・)と、それぞれのネットワークカメラが設置されているエリアのエリア名(エリアA、エリアB、エリアC、・・・)とが、それぞれ紐付けられてメモリに予め登録されている。
【0049】
例えば、ネットワークカメラの識別情報が001のネットワークカメラが設置されているエリアは、エリアAであることを示している。
【0050】
図3のステップS303では、ステップS301で受信したネットワークカメラの識別情報に対応して対応テーブル(
図11)に記憶されているエリア名を取得することにより、当該ネットワークカメラが設置されているエリアを特定する。
【0051】
すなわち、ステップS303は、ステップS302でユーザが特定された画像データをステップS301で取得したカメラが設置されているエリアを示すエリア情報(
図11)に基づき、ステップS302により特定されたユーザのいるエリアを特定するエリア特定手段の適用例である。
【0052】
そして、サーバ101は、ここで特定されたエリアのエリア名と、ステップS302で取得した、被写体を識別するための識別情報(カラーコードのID(個人を識別するための識別情報))と、現在時刻(現在の時間)とをそれぞれ紐付けて、
図8、又は
図9に示す管理テーブルに登録する(S303)。
【0053】
ステップS303は、ステップS303により特定された、ステップS302により特定されたユーザ(親)のいるエリアを示すエリア情報、及び、ステップS303により特定された、ステップS302により特定された、当該ユーザに引率された他のユーザ(子供)のいるエリアを示すエリア情報を、当該画像データが前記カメラにより撮影された撮影時間ごとに、それぞれメモリ(記憶手段)に格納する格納手段の適用例である。
<
図8、9の説明>
図8は、管理テーブルの一例を示す図である。
また、
図9は、管理テーブルの他の例を示す図である。
【0054】
図8、及び
図9に示す管理テーブルは、「ID」、「家族ID」、「保護者フラグ」、「通知先」、「時間」の項目が紐付けられて構成されている。
【0055】
「ID」は、被写体を識別するための識別情報(カラーコードのID)(例えば100)である。
【0056】
「家族ID」は、家族などのグループを識別するためのID(たとえば1)である。ここで同一の値が格納されている被写体(人)は、それぞれ同一の家族(グループ)であることを示している。
【0057】
「保護者フラグ」は、保護者であるか否かを示すフラグである。ここで、「1」は保護者であることを示し、「0」は保護者ではない者(例えば子供)であることを示している。
【0058】
「通知先」は、通知先の情報が格納される。ここで通知先とは、例として、保護者の携帯端末102に配信可能な電子メールのメールアドレス(たとえば、aaa@a.ne.jp)が格納されている。
【0059】
「時間」の項目には、所定時間(例えば1分)ごとの時間(・・・、「10:55」、「10:56」、「10:57」、「10:58」、「10:59」、「11:00」(現在時刻))が項目として設けられており、それぞれの時間に、「ID」(たとえば100)で識別される被写体がいたエリアのエリア名が、それぞれ格納されている。
【0060】
図8の「ID」が100の被写体(人)を例に説明すると、
図8は、「ID」が100の被写体(人)が、「ID」が101の被写体(人)と同一の家族(グループ)であり、保護者であること(「ID」が101の被写体(人)は保護者ではない(子供))、通知先がaaa@a.ne.jpであること、「10:55」にエリアFにいたこと、「10:56」にエリアEにいたこと、「10:57」にエリアDにいたこと、「10:58」にエリアCにいたこと、「10:59」にエリアBにいたこと、「11:00」(現在時刻)にエリアAにいたことを示している。
【0061】
図8、又は
図9に示す「ID」、「家族ID」、「保護者フラグ」、「通知先」、「時間」は、予め登録されており、ステップS303では、ステップS302で取得した「ID」(被写体を識別するための識別情報(カラーコードのID)と、現在時刻(現在の時間)とが紐付いた欄に、ステップS303で特定されたエリアのエリア名が登録される。
【0062】
このようにして、サーバ101は、
図8、又は
図9に示す管理テーブルを所定期間(例えば1分)ごとに更新して登録することで、
図8、又は
図9に示す管理テーブルを生成する。
【0063】
次に、サーバ101は、
図4に示す迷子アラート処理、又は
図5に示す迷子アラート処理を実行する(ステップS304)。更に、サーバ101は、ステップS304において、
図6に示す出口付近アラート処理、及び
図7に示す子供置き去りアラート処理を並行して処理する。
【0064】
すなわち、サーバ101は、
図4に示す迷子アラート処理、又は
図5に示す迷子アラート処理、
図6に示す出口付近アラート処理、及び
図7に示す子供置き去りアラート処理を並行して処理する。
【0065】
そして、サーバ101は、ステップS304の処理を実行すると、管理者(ユーザ)により終了の指示を受け付けた否かを判定し、終了指示を受け付けたと判定した場合には(YES)、処理を終了し、終了指示を受け付けていないと判定された場合には(NO)、処理をステップS301に戻す。
<
図4の説明>
【0066】
次に、
図4を用いて、
図3に示すステップS304で実行される迷子アラート処理の詳細処理について説明する。
【0067】
図4は、
図3に示すステップS304で実行される迷子アラート処理の詳細処理を示すフローチャートの一例を示す図である。
【0068】
ステップS401〜S404に示す各ステップの処理は、サーバ101の外部メモリ211に記録されているプログラムによる制御に従ってサーバ101のCPU201が実行する。
図4に示すフローチャートは、同一の家族IDごとに繰り返し実行する。
【0069】
まず、サーバ101は、管理テーブル(
図8、又は
図9)の上部の先頭レコードから順番に、同一の家族IDごとに、
図4に示す処理を実行する。
【0070】
まず、サーバ101は、管理テーブル(
図8又は
図9)から、家族IDが同一のレコードのうち、「ID」、「家族ID」、「保護者フラグ」、「通知先」の各データと、現在時刻のエリア名と、現在時刻から所定時間分(ここでは例えば6秒分)のエリア名とを取得する(ステップS401)。
例えば、「家族ID」が1のレコードを例に説明する。
【0071】
ステップS401では、「ID」が100と101のレコードのうち、「ID」が100の情報(「ID」が100、「家族ID」が1、「保護者フラグ」が1、「通知先」がaaa@a.ne.jp、「10:55」のときにいたエリア:エリアF、「10:56」のときにいたエリア:エリアE、「10:57」のときにいたエリア:エリアD、「10:58」のときにいたエリア:エリアC、「10:59」のときにいたエリア:エリアB、「11:00」のときにいたエリア:エリアA)と、「ID」が101の情報(「ID」が101、「家族ID」が1、「保護者フラグ」が0、「通知先」はNULL、「10:55」のときにいたエリア:エリアF、「10:56」のときにいたエリア:エリアE、「10:57」のときにいたエリア:エリアD、「10:58」のときにいたエリア:エリアC、「10:59」のときにいたエリア:エリアB、「11:00」のエリアB)と、を取得する。
【0072】
そして、サーバ101は、ステップS401で取得した親子の現在時刻のエリア名に従って、現在の親子がいるエリアが異なるか否かを判定する(S402)。
【0073】
例えば、保護者フラグが1と設定されている現在時刻(11:00)のエリア名と、保護者フラグが0と設定されている現在時刻(11:00)のエリア名を比較して、同一であれば、親子が同じエリアにいると判定し(NO)、一方、同一でなければ、親子が同じエリアにいない(現在の親子がいるエリアが異なる)と判定する(YES)。
【0074】
サーバ101は、ステップS402において、親子が同じエリアにいると判定された場合(NO)には、処理をステップS305に移行し、親子が異なるエリアにいると判定された場合(YES)には、処理をステップS403に移行する。
【0075】
そして、サーバ101は、ステップS401で取得した、現在時刻から所定時間分(ここでは例えば6秒分)の親子のエリア名のうち、直近の過去の所定期間(たとえば2秒)分の親子のいるエリアが異なるかを判定する(ステップS403)。
【0076】
例えば、ステップS403において、保護者フラグが1と設定されている時刻(10:58)のエリア名と、保護者フラグが0と設定されている時刻(10:58)のエリア名とが一致しており、かつ、保護者フラグが1と設定されている時刻(10:59)のエリア名と、保護者フラグが0と設定されている時刻(10:59)のエリア名とが一致しているか、を判定する。
【0077】
サーバ101は、保護者フラグが1と設定されている時刻(10:58)のエリア名と、保護者フラグが0と設定されている時刻(10:58)のエリア名とが一致しており、かつ、保護者フラグが1と設定されている時刻(10:59)のエリア名と、保護者フラグが0と設定されている時刻(10:59)のエリア名とが一致していると判定された場合には、直近の過去の所定期間(たとえば2秒)の親子のいるエリアが異ならない(親子のいるエリアが同じ)(NO)と判定し、一方、保護者フラグが1と設定されている時刻(10:58)のエリア名と、保護者フラグが0と設定されている時刻(10:58)のエリア名とが一致していない、又は、保護者フラグが1と設定されている時刻(10:59)のエリア名と、保護者フラグが0と設定されている時刻(10:59)のエリア名とが一致していないと判定された場合には、直近の過去の所定期間(たとえば2秒)の親子のいるエリアが異なる(YES)と判定する。
【0078】
ステップS402、ステップS403は、ステップS303(エリア特定手段)により特定されたエリア情報がメモリ(記憶手段)に格納された最後の撮影時間(例えば、
図8の11:00(現在))から過去の所定時間内における、ステップS303(格納手段)により格納された親(ユーザ)のいるエリアを示すエリア情報(エリア名)と、子供(他のユーザ)のいるエリアを示すエリア情報(エリア名)とがそれぞれ異なるか否かを判定する判定手段の適用例である。
【0079】
サーバ101は、ステップS403で、直近の過去の所定期間(たとえば2秒)の親子のエリアが異なる(YES)と判定された場合には、子供が迷子である旨を、同一家族IDで保護者フラグが1が設定されている通知先(例えば、aaa@a.ne.jp)に通知する。
ここで通知される内容の例を、
図10の1001に示す。
【0080】
例えば、
図8の家族IDが1の場合、保護者(親)(保護者フラグが1)と子供(保護者フラグが0)の移動経路が、10:55から10:59までは同じであるが、11:00では、親子のいるエリアが異なる。
【0081】
このように現在の時刻で親と子のいるエリアが異なる場合であっても、現在時刻から直近の所定期間内は、親と子がいるエリアが同じであるため、S403でNOと判定され、親に子供が迷子である通知が行われない。
【0082】
それゆえ、例えば、管理テーブルの更新のタイミングで、たまたま、親が子供とは異なるエリアに移動した場合であっても、迷子であるとの誤判定することを低減させることが可能となる。
【0083】
このように、
図4に示す処理を行うことにより、例えば、障害物によりカラーコードを一時的に認識出来なかった場合や、親子が一緒に移動しているが、たまたま、親と子とがそれぞれ異なるエリアにいると認識された場合であっても、迷子の誤判定を減らすことができる。
【0084】
また、例えば、
図8の家族ID4の場合のように、現在、たまたま、カラーコードが障害物等により撮像できず、親又は子のいるエリアが認識できなかった場合(現在いるエリアがNULLの場合)であっても、親に子供が迷子である通知を行わないため、迷子であるとの誤判定することを低減させることが可能となる。
【0085】
このように、
図8に示す管理テーブルを例に、
図4に示す迷子アラート処理を実行した場合、家族IDが1、4については、親に子供が迷子である通知を行わないが、家族IDが2、3の場合については、親に子供が迷子である通知を行うこととなる。
【0086】
ただ、子供の歩く速度が親の歩く速度よりも遅く、たまたま、子供がいるエリアよりも先のエリアに親がいた場合、
図8に示す管理テーブルの家族IDが2の場合のように、親子のエリアが検出されてしまうことがある。
【0087】
すなわち、
図4の処理の場合、親子の経路は同一であるが、各時刻の親子のいるエリアが異なる場合でも、親に子供が迷子である通知を行うこととなる。このような誤判定を低減させるための仕組みを、
図5を用いて、後で説明する。
<
図10の説明>
図10は、サーバ101が通知する通知内容の一例を示す図である。
【0088】
図10の1001では、子供が迷子である旨と共に、子供が現在撮影されたネットワークカメラの位置を、子供がいる現在地として通知する。
【0089】
また、サーバ101は、ステップS403で、直近の過去の所定期間(たとえば2秒)の親子のエリアが一致していると判定された場合には(NO)、処理ステップS305に移行する。
【0090】
サーバ101は、
図4に示す迷子アラート処理の代わりに、
図5に示す迷子アラート処理を実行することもできる。
<
図5の説明>
【0091】
次に、
図5を用いて、
図3に示すステップS304で実行される迷子アラート処理の詳細処理について説明する。
【0092】
図5は、
図3に示すステップS304で実行される迷子アラート処理の詳細処理を示すフローチャートの一例を示す図である。
【0093】
図5に示すステップS401〜S404、S405、S406に示す各ステップの処理は、サーバ101の外部メモリ211に記録されているプログラムによる制御に従ってサーバ101のCPU201が実行する。
図5に示すフローチャートは、同一の家族IDごとに繰り返し実行する。
【0094】
まず、サーバ101は、管理テーブル(
図8、又は
図9)の上部の先頭レコードから順番に、同一の家族IDごとに、
図5に示す処理を実行する。
図5では、
図4と同じ処理を行うステップについては、同一の符号を付している。
そのため、
図5では、
図4と異なる処理についてのみ説明する。
【0095】
図5に示すフローチャートは、
図4のフローチャートに、ステップS405とステップS406が追加されている点のみが異なる。
【0096】
サーバ101は、ステップS403において、直近の過去の所定期間(たとえば2秒)の親子のいるエリアが異なると判定された場合(ステップS403:YES)、ステップS401で取得された、親子の各時間にいたエリア名から、親子それぞれの所定時間(例えば5秒)分の移動経路を特定する(ステップS405)。
【0097】
ステップS405は、ステップS303(格納手段)により格納された親(ユーザ)のいるエリアを示すエリア情報(エリア名)と、子供(他のユーザ)のいるエリアを示すエリア情報(エリア名)と(
図8、又は
図9)に従って、ステップS303(エリア特定手段)により特定されたエリア情報(エリア名)がステップS304(格納手段)によりメモリ(記憶手段)に格納された最後の撮影時間(例えば
図8の11:00(現在))から過去の所定時間内における、親(ユーザ)の移動経路と、子供(他のユーザ)の移動経路とを特定する特定手段の適用例である。
ここで、ステップS405の具体例について、説明する。
【0098】
例えば、
図8に示す家族IDが2のレコード(カラーコードのIDが102のレコードと、カラーコードのIDが103のレコード)をステップS401で取得して処理対象としている場合、カラーコードのIDが102の被写体(人)は、エリアF(10:56)、エリアE(10:57)、エリアD(10:58)、エリアC(10:59)、エリアB(11:00)の移動経路でエリアを移動しており、カラーコードのIDが103の被写体(人)は、エリアF(10:55)、エリアE(10:56)、エリアD(10:57)、エリアC(10:58)、エリアB(10:59)の移動経路でエリアを移動している。すなわち、1分ずれて、カラーコードのIDが102の被写体(人:親)と、カラーコードのIDが103の被写体(人:子)が同じ移動経路で移動している。
【0099】
このように、ステップS405では、ステップS401で取得された、親子の各時間にいたエリア名から、親子それぞれの所定時間(例えば5秒)分の移動経路を特定することができる。
【0100】
次に、サーバ101は、ステップS405で特定された、親子の所定時間(たとえば5秒)分の移動経路が異なるか否かを判定し(ステップS406)、異なると判定された場合には(YES)、子供が迷子である旨を通知する(ステップS404)。一方、親子の所定時間(たとえば5秒)分の移動経路が同じと判定された場合には(NO)、子供が迷子である旨を通知することなく、処理をステップS305に移行する。ステップS404は、
図4のステップS404と同じ処理であるため、ここでは説明を省略する。
【0101】
ステップS406は、ステップS405(特定手段)により特定された親(ユーザ)の移動経路と、子供(他のユーザ)の移動経路とが異なるか否かを判定する移動経路判定手段の適用例である。
【0102】
ステップS404は、ステップS402、S403(判定手段)により、親(ユーザ)のいるエリアを示すエリア情報(エリア名)と子供(他のユーザ)のいるエリアを示すエリア情報(エリア名)とがそれぞれ異なると判定され、かつ、ステップS406(移動経路判定手段)により、親(ユーザ)の移動経路と、子供(他のユーザ)の移動経路とが異なると判定された場合に(ステップS406:YES)、子供(他のユーザ)が迷子である旨を親又は管理者が操作する端末に通知するようにサーバ101は制御する(制御手段)。
【0103】
また、ステップS402、ステップS403(判定手段)により、親(ユーザ)のいるエリアを示すエリア情報(エリア名)と子供(他のユーザ)のいるエリアを示すエリア情報(エリア名)とが一致する(ステップS402:NO、ステップS403:NO)、又は、ステップS402、S403(判定手段)により、親(ユーザ)のいるエリアを示すエリア情報(エリア名)と子供(他のユーザ)のいるエリアを示すエリア情報(エリア名)とがそれぞれ異なると判定された場合であっても、ステップS406(移動経路判定手段)により、親(ユーザ)の移動経路と、子供(他のユーザ)の移動経路とが一致すると判定された場合には(ステップS406:NO)、子供(他のユーザ)が迷子である旨を通知しないようにサーバ101は制御する(制御手段)。
【0104】
また、サーバ101は、テップ404では、子供(他のユーザ)が迷子である旨と共に、当該他のユーザのエリア情報(エリア名)がステップS303(格納手段)によりメモリ(記憶手段)に格納された最後の撮影時間(例えば
図9の11:00(現在))における当該他のユーザ(子供)のエリア情報(エリア名)を通知する。
【0105】
このように、
図5に示す処理により、
図4に示す処理による上述の効果に加えて、実際は親子が一緒に移動しているが、たまたま、親と子とがそれぞれ異なるエリアにいると連続して認識された場合であっても、迷子の誤判定を減らすことが可能となるという効果を奏することができる。
<
図6の説明>
【0106】
次に、
図6を用いて、
図3に示すステップS304で実行される出口付近アラート処理の詳細処理について説明する。
【0107】
図6は、
図3に示すステップS304で実行される出口付近アラート処理の詳細処理を示すフローチャートの一例を示す図である。
【0108】
ステップS601〜S609に示す各ステップの処理は、サーバ101の外部メモリ211に記録されているプログラムによる制御に従ってサーバ101のCPU201が実行する。
図6に示すフローチャートは、同一の家族IDごとに繰り返し実行する。
【0109】
まず、サーバ101は、管理テーブル(
図8、又は
図9)の上部の先頭レコードから順番に、同一の家族IDごとに、
図6に示す処理を実行する。
【0110】
まず、サーバ101は、ステップS401と同様に、管理テーブル(
図8又は
図9)から、家族IDが同一のレコードのうち、「ID」、「家族ID」、「保護者フラグ」、「通知先」の各データと、現在時刻のエリア名と、現在時刻から所定時間分(ここでは例えば6秒分)のエリア名とを取得する(ステップS601)。
【0111】
そして、サーバ101は、ステップS601で取得した親子の現在時刻のエリア名に従って、現在の親子がいるエリアが異なるか否かを判定する(S602)。
【0112】
ステップS602の処理は、上述したステップS402と同様の処理であるため、ここでは具体例を用いた説明は、省略する。
【0113】
サーバ101は、ステップS602において、親子が同じエリアにいると判定された場合(NO)には、処理をステップS305に移行し、親子が異なるエリアにいると判定された場合(YES)には、処理をステップS603に移行する。
【0114】
そして、サーバ101は、ステップS601で取得した、現在時刻から所定時間分(ここでは例えば6秒分)の親子のエリア名のうち、直近の過去の所定期間(たとえば2秒)分の親子のいるエリアが異なるかを判定する(ステップS603)。
【0115】
ステップS603の処理も、上述したステップS403と同様の処理であるため、ここでは具体例を用いた説明は省略する。
【0116】
そして、サーバ101は、ステップS603で、直近の過去の所定期間(たとえば2秒)の親子のエリアが異なると判定された場合には(YES)、処理をステップS604に移行する。一方、直近の過去の所定期間(たとえば2秒)の親子のエリアが異ならない(同じである)と判定された場合には(NO)、処理をステップS608に移行する。
【0117】
サーバ101は、ステップS603において、直近の過去の所定期間(たとえば2秒)の親子のいるエリアが異なると判定された場合(ステップS603:YES)、ステップS601で取得された、親子の各時間にいたエリア名から、親子それぞれの所定時間(例えば5秒)分の移動経路を特定する(ステップS604)。
【0118】
ステップS604も、上述したステップS405と同様の処理であるため、ここでは具体例を用いた説明は省略する。
【0119】
そして、サーバ101は、ステップS604で特定された、親子の所定時間(たとえば5秒)分の移動経路が異なるか否かを判定し(ステップS605)、異なると判定された場合には(YES)、処理をステップS606に移行し、一方、親子の所定時間(たとえば5秒)分の移動経路が同じと判定された場合には(NO)、処理をステップS608に移行する。
【0120】
ステップS605は、
図5のステップS406と同じ処理であるため、ここでは具体例を用いた説明は省略する。
【0121】
サーバ101は、ステップS606において、ステップS601で取得したエリア名から、現在、親のいるエリアが出口エリア、又は出口付近エリアではなく、子供が出口エリア、又は出口付近エリアにいるか否かを判定する。
【0122】
例えば、
図9の管理テーブル900に示す家族IDが3のレコード(IDが104のレコードと、IDが105のレコード)が処理対象の場合、ステップS606の判定処理が行われる。この場合、11:00(現在)、親(IDが104である被写体)は、エリアAにおり、子(IDが105である被写体)は、エリアC(出口エリア、又は出口付近エリア)にいることが分かる。
【0123】
そのため、
図9の管理テーブル900に示す家族IDが3のレコードの場合、ステップS606において、親のいるエリアが出口エリア、又は出口付近エリアではなく、子供が出口エリア、又は出口付近エリアにいる(ステップS606:YES)と判定される。
【0124】
サーバ101は、ステップS601で取得したエリア名から、現在、親のいるエリアが出口エリア、又は出口付近エリアではなく、子供が出口エリア、又は出口付近エリアにいると判定された場合(ステップS606:YES)、子供が迷子である旨、及び子供が施設外に出てしまうおそれがある旨を、現在処理対象のレコードの保護者フラグに1が設定されたレコードの通知先に、通知する(ステップS607)。
ステップS607で通知される内容の例を、
図10の1002に示す。
【0125】
そして、サーバ101は、ステップS607の処理を実行すると、処理をステップS305に移行する。
【0126】
サーバ101は、ステップS606において、ステップS601で取得したエリア名から、現在、親のいるエリアが出口エリア、又は出口付近エリアである、又は子供が出口エリア、又は出口付近エリアにいないと判定された場合(ステップS606:NO)、処理をステップS305に移行する。
【0127】
サーバ101は、ステップS608において、ステップS601で取得したエリア名から、現在、親のいるエリアが出口エリア、又は出口付近エリアではなく、子供が出口エリア、又は出口付近エリアにいるか否かを判定する。
【0128】
ステップS608の処理も、ステップS606の処理と同様であるため、ここでは、具体例を用いた説明を省略する。
【0129】
そして、サーバ101は、ステップS608において、ステップS601で取得したエリア名から、現在、親のいるエリアが出口エリア、又は出口付近エリアではなく、子供が出口エリア、又は出口付近エリアにいると判定された場合には(YES)、子供が施設外に出てしまうおそれがある旨を、現在処理対象のレコードの保護者フラグに1が設定されたレコードの通知先に、通知する(ステップS609)。
【0130】
ステップS609で通知される内容の例を、
図10の1003に示す。そして、サーバ101は、ステップS607の処理を実行すると、処理をステップS305に移行する。
【0131】
また、サーバ101は、ステップS608において、ステップS601で取得したエリア名から、現在、親のいるエリアが出口エリア、又は出口付近エリアである、又は、子供が出口エリア、又は出口付近エリアにはいないと判定された場合には(NO)、処理をステップS305に移行する。
【0132】
ステップS606、ステップS608は、
図8、又は
図9のテーブルの最後の撮影時間(例えば、
図8、
図9の11:00(現在))における、親(ユーザ)のエリア情報(エリア名)が出口エリアまたは出口付近エリアを示すエリア情報(エリアC)ではなく、子供(他のユーザ)のエリア情報(エリア名)が出口エリアまたは出口付近エリアを示すエリア情報(エリアC)であるか否かを判定する出口判定手段の適用例である。
【0133】
そして、サーバ101は、ステップS607、ステップS609では、他のユーザが施設外に出てしまう旨を通知する。
【0134】
図6に示す処理を実行することにより、親のいるエリアが出口エリアではなく、かつ、子供のいるエリアが出口エリアある場合、保護者にアラートを通知するため、例えば、子供が施設外に出てしまい、カラーコードによる捜索が出来なくなってしまうことを防止することができる。
【0135】
さらに、子供が迷子の状態で、出口エリアに来てしまった場合(S602でYES、S603でYES、S605でYES、S606でYESと判定された場合)には、ステップS607で、子供が迷子である旨と子供が施設外に出てしまう旨を保護者に通知するため、親が施設内にいる状態で、迷子の子供が施設外に出てしまい、カラーコードによる捜索が出来なくなってしまうことを防止することができる。
【0136】
また、親子が一緒に移動しているが、たまたま、親と子とがそれぞれ異なるエリアにいると認識された場合(S604、S605でNO)、S607で子供が迷子である旨の通知を行わないので、迷子の誤判定を防止することができる。
【0137】
また、親子が一緒に移動しているが、たまたま、親と子とがそれぞれ異なるエリアにいると認識された場合でも(S604、S605でNO)、ステップS608で、親は出口エリアにはいないが子供が出口エリアにいると判定された場合には(YES)、子供が施設外に出てしまう旨を通知するため、例えば、子供が迷子の状態ではなかったが、子供がいきなり出口に向かって走って親から離れて、(親が子供の位置を把握できず、)子供が出口から施設外に出そうになった場合でも、子供が出口エリアにいることを親が把握でき、施設外に子供が出てしまうことを防止することができる。
<
図7の説明>
【0138】
次に、
図7を用いて、
図3に示すステップS304で実行される子供置き去りアラート処理の詳細処理について説明する。
【0139】
図7は、
図3に示すステップS304で実行される子供置き去りアラート処理の詳細処理を示すフローチャートの一例を示す図である。
【0140】
ステップS701〜S707に示す各ステップの処理は、サーバ101の外部メモリ211に記録されているプログラムによる制御に従ってサーバ101のCPU201が実行する。
図7に示すフローチャートは、同一の家族IDごとに繰り返し実行する。
【0141】
まず、サーバ101は、管理テーブル(
図8、又は
図9)の上部の先頭レコードから順番に、同一の家族IDごとに、
図7に示す処理を実行する。
【0142】
まず、サーバ101は、ステップS401と同様に、管理テーブル(
図8又は
図9)から、家族IDが同一のレコードのうち、「ID」、「家族ID」、「保護者フラグ」、「通知先」の各データと、現在時刻のエリア名と、現在時刻から所定時間分(ここでは例えば6秒分)のエリア名とを取得する(ステップS701)。
【0143】
ステップS701の処理は、上述したステップS401と同様の処理であるため、ここでは具体例を用いた説明は、省略する。
【0144】
そして、サーバ101は、ステップS701で取得した親子の現在時刻のエリア名に従って、現在の親子がいるエリアが異なるか否かを判定する(S702)。
【0145】
ステップS702の処理は、上述したステップS402と同様の処理であるため、ここでは具体例を用いた説明は、省略する。
【0146】
サーバ101は、ステップS702において、親子が同じエリアにいると判定された場合(NO)には、処理をステップS305に移行し、親子が異なるエリアにいると判定された場合(YES)には、処理をステップS703に移行する。
【0147】
そして、サーバ101は、ステップS701で取得した、現在時刻から所定時間分(ここでは例えば6秒分)の親子のエリア名のうち、直近の過去の所定期間(たとえば2秒)分の親子のいるエリアが異なるかを判定する(ステップS703)。
【0148】
サーバ101は、ステップS703において、直近の過去の所定期間(たとえば2秒)分の親子のいるエリアが異なると判定された場合(YES)には、処理をステップS704に移行し、直近の過去の所定期間(たとえば2秒)分の親子のいるエリアが異ならない(同一である)と判定された場合(NO)には、処理をステップS305に移行する。
【0149】
ステップS703の処理も、上述したステップS403と同様の処理であるため、ここでは具体例を用いた説明は省略する。
【0150】
次に、サーバ101は、現在、及び直近の過去の所定期間(たとえば2秒)分の親のいるエリアを認識できているか否かを判定する(ステップS704)。具体的には、ステップS701で取得したエリア名のうち、及び直近の過去の所定期間(たとえば2秒)分の親のいるエリアがNULLであるか否かを判定する。NULLは、カラーコードからIDを読み取れない出来ない場合に管理テーブル(
図8又は
図9)登録される値である。
【0151】
そして、サーバ101は、現在、及び直近の過去の所定期間(たとえば2秒)分の親のいるエリアを認識できてい(NULL)と判定された場合には(YES)、処理をステップS705に移行して、一方、現在、及び直近の過去の所定期間(たとえば2秒)分の親のいるエリアを認識できていると判定された場合には(NO)、処理をステップS305に移行する。
【0152】
次に、サーバ101は、現在、子供がいるエリアが施設内のエリアであるか否かを判定する(ステップS705)
【0153】
具体的には、ステップS701で取得した保護者フラグが0のレコードの現在のエリアがNULLになっているか否かを判定することにより、現在、子供がいるエリアが施設内のエリアであるか否かを判定する。
【0154】
サーバ101は、現在、子供がいるエリアが施設内のエリアである(ステップS701で取得した保護者フラグが0のレコードの現在のエリアがNULLではない)と判定された場合には(YES)、処理をステップS706に移行し、一方、現在、子供がいるエリアが施設内のエリアではない(ステップS701で取得した保護者フラグが0のレコードの現在のエリアがNULLである)と判定された場合には、処理をステップS305に移行する。
【0155】
サーバ101は、ステップS706において、直近で過去に検出された親のエリアが出口エリアであるか否かを判定する。具体的には、ステップS701で取得した保護者フラグが1のレコードのデータのうち、現在から最も近い時間(直近)で、親がいるエリアが検出されたエリア名がエリアC(出口エリア)であるか否かを判定する。
【0156】
サーバ101は、ステップS706において、直近で過去に検出された親のエリアが出口エリアである(現在から最も近い時間(直近)で、親がいるエリアが検出されたエリア名がエリアC(出口エリア)である)と判定された場合には(ステップS706:YES)、子供が施設内に置き去りになっている旨を、ステップS701で取得したレコードのうち、保護者フラグが1のレコードの通知先に、通知する(ステップS707)。
ステップS707で通知する内容の例を、
図10の1004に示す。
【0157】
ステップS704、ステップS705、ステップS706は、
図8、
図9の最後の撮影時間(例えば11:00(現在))から過去の所定時間内における、親(ユーザ)のいるエリアを示すエリア情報(エリア名)が施設内のエリアを示さないNULLであり、かつ、当該最後の撮影時間における、子供(他のユーザ)のいるエリアを示すエリア情報(エリア名)が施設内のエリア(NULL以外)を示し、かつ、エリア情報(エリア名)が施設内のエリア(NULL以外)を示す最後の撮影時間における親(ユーザ)のエリア情報(エリア名)が施設内の出口エリアまたは出口付近エリアを示すエリア情報(エリアC)であるか否かを判定する置き去り判定手段の適用例である。
【0158】
そして、ステップS707では、子供(他のユーザ)が施設内に置き去りになっている旨を通知する。
【0159】
以上、
図7に示す処理を実行することにより、現在、及び直近の過去の所定期間、親のいるエリアがNULLで、かつ、現在、子供のいるエリアが施設内のエリアであり、直近で過去に検出された親のエリアが出口エリアである場合、施設内に子供を置き去りにした旨を、親に通知することができる。
【0160】
それゆえ、例えば、子供を施設内に置き去りにして、親が施設外に出てしまった場合、子供を施設内に置き去りにしたことを親が把握することができると共に、障害物によりカラーコードを一時的に認識出来なかった場合や、親子が一緒に移動しているが、たまたま、親が先に施設外に出て、子供が後で施設外に出る場合であっても、子供を施設内に置き去りにしたと判定することを減らすことができる。
【0161】
以上、本発明によれば、ユーザとユーザに引率された他のユーザが一緒に移動しているものの、ユーザとユーザに引率された他のユーザとがそれぞれ異なるエリアにいると連続して判定された場合でも、他のユーザが迷子になったと誤って判定することを減らすことが出来る。
【0162】
また、本発明によれば、子供が親と離れて一人で施設外に出てしまうことや、親が子供を施設内に置き去りにして施設外に出てしまうことを防ぐことができる。
【0163】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0164】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0165】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のカード、ROM等を用いることができる。
【0166】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。このプログラムコードを読み出し実行可能な情報処理装置(コンピュータ)が前述した実施形態の機能を実現する。
【0167】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。