(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6705886
(24)【登録日】2020年5月18日
(45)【発行日】2020年6月3日
(54)【発明の名称】監視
(51)【国際特許分類】
G08B 25/00 20060101AFI20200525BHJP
B64C 39/02 20060101ALI20200525BHJP
G16Y 40/10 20200101ALI20200525BHJP
B64D 47/08 20060101ALN20200525BHJP
G08B 25/04 20060101ALN20200525BHJP
【FI】
G08B25/00 510M
B64C39/02
G16Y40/10
!B64D47/08
!G08B25/04 E
【請求項の数】17
【全頁数】26
(21)【出願番号】特願2018-500389(P2018-500389)
(86)(22)【出願日】2016年7月5日
(65)【公表番号】特表2018-523231(P2018-523231A)
(43)【公表日】2018年8月16日
(86)【国際出願番号】FI2016050492
(87)【国際公開番号】WO2017005976
(87)【国際公開日】20170112
【審査請求日】2018年2月9日
【審判番号】不服2019-6762(P2019-6762/J1)
【審判請求日】2019年5月24日
(31)【優先権主張番号】15175986.7
(32)【優先日】2015年7月9日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】315002955
【氏名又は名称】ノキア テクノロジーズ オーユー
(74)【代理人】
【識別番号】100127188
【弁理士】
【氏名又は名称】川守田 光紀
(72)【発明者】
【氏名】クリクリ フランシスコ
(72)【発明者】
【氏名】サーリネン ユッカ
【合議体】
【審判長】
北岡 浩
【審判官】
丸山 高政
【審判官】
中野 浩昌
(56)【参考文献】
【文献】
特開2008−68710(JP,A)
【文献】
特表2018−516024(JP,A)
【文献】
米国特許出願公開第2014/0249693(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G08B 25/00 - 25/14
B64C 39/02
B64D 47/08
(57)【特許請求の範囲】
【請求項1】
対応する監視空間内にコンピュータによって実装される仮想境界の形状および位置を少なくとも部分的に画定するために、1つ以上のドローンを被監視シーン空間内に位置決めすることと、
前記被監視シーン空間に対応する前記監視空間内にコンピュータによって実装される仮想境界を構築することと、
前記仮想境界に対して前記被監視シーン空間の少なくとも一部分に発生した変化への応答として応答イベントを発生させるために、前記被監視シーン空間の複数のセンサからの受信データを処理することと、
を含む、方法。
【請求項2】
前記複数のセンサの少なくとも一つは、
・ 前記被監視シーン空間内に固定されているセンサ;
・ 画像センサ;
・ オーディオセンサ;
・ 奥行きセンサ;
のいずれかである、請求項1に記載の方法。
【請求項3】
前記ドローンは、三次元位置を自律的に維持するように構成された、および/または三次元方位を自律的に維持するように構成された、航空機ドローンである、請求項1または2に記載の方法。
【請求項4】
前記航空機ドローンは野外で動作するべく構成される、請求項3に記載の方法。
【請求項5】
前記被監視シーン空間内の前記1つ以上のドローンは、前記監視空間内の点に対応する前記被監視シーン空間内の点を指定し、前記コンピュータによって実装される仮想境界の形状および位置は前記監視空間内の前記点によって少なくとも部分的に画定される、請求項1〜4の何れか1項に記載の方法。
【請求項6】
前記コンピュータによって実装される仮想境界はN個の頂点を有するN角形であり、前記被監視シーン空間内の前記1つ以上のドローンは前記N個の頂点を画定する、請求項1〜5の何れか1項に記載の方法。
【請求項7】
前記コンピュータによって実装される仮想境界は、前記被監視シーン空間内の単一のドローンの移動によって画定される、請求項1〜6の何れか1項に記載の方法。
【請求項8】
前記コンピュータによって実装される仮想境界は、前記被監視シーン空間内の複数のドローンの位置によって画定される、請求項1〜6の何れか1項に記載の方法。
【請求項9】
前記1つ以上のドローンを位置決めすることは、前記被監視シーン空間内の前記1つ以上のドローンの動きを追跡するために受信データを処理することを含む、請求項1〜8の何れか1項に記載の方法。
【請求項10】
前記被監視シーン空間内の前記1つ以上のドローンの位置決めを可能にするために、前記被監視シーン空間を監視するシステムと、前記被監視シーン空間内の前記1つ以上のドローンとの対を形成することと、前記コンピュータによって実装される仮想境界の形状および位置を画定することとを更に含む、請求項1〜9の何れか1項に記載の方法。
【請求項11】
前記コンピュータによって実装される仮想境界内の頂点の認識を可能にするために、少なくとも1つの所定の通過点信号を認識することを更に含む、請求項1〜10の何れか1項に記載の方法。
【請求項12】
前記被監視シーン空間の前記複数のセンサのうちの少なくとも一部が前記1つ以上のドローンの一部である、請求項1〜11の何れか1項に記載の方法。
【請求項13】
応答イベントを発生させるために受信データを処理することは、前記コンピュータによって実装された仮想境界を跨ぐ活動、および/または前記コンピュータによって実装された仮想境界のスレッショルド内の活動、を検出するために、前記コンピュータによって実装された仮想境界を監視するために、画像データを処理することを含む、請求項1〜12の何れか1項に記載の方法。
【請求項14】
第1のドローンから第2のドローンへのハンドオーバを認識することと、
前記ハンドオーバ後、前記対応する監視空間内にコンピュータによって構築される新しい仮想境界を少なくとも部分的に画定するために、前記第2のドローンを前記被監視シーン空間内に位置決めすることと、
前記新しい仮想境界に対して前記被監視シーン空間の少なくとも一部分に発生した変化への応答として応答イベントの生成を可能にするために、前記被監視シーン空間の複数のセンサからの受信データ処理することと、
を更に含む、請求項1〜13の何れか1項に記載の方法。
【請求項15】
処理手段及び記憶手段を備える装置であって、前記記憶手段はプログラム命令を格納し、前記プログラム命令は、前記処理手段に実行されると、前記装置に、請求項1〜14の何れか1項に記載の方法を遂行させるように構成される、装置。
【請求項16】
装置の処理手段に実行されると、前記装置に、請求項1〜14の何れか1項に記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【請求項17】
対応する監視空間内にコンピュータによって実装される仮想境界の形状および位置を少なくとも部分的に画定するために、1つ以上のドローンを被監視シーン空間内に位置決めする手段と、
前記被監視シーン空間に対応する前記監視空間内にコンピュータによって実装される仮想境界を構築する手段と、
前記仮想境界に対して前記被監視シーン空間の少なくとも一部分に発生した変化への応答として応答イベントを発生させるために、前記被監視シーン空間の複数のセンサからの受信データを処理する手段と、
を備える、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の複数の実施形態は、シーンの監視に関する。特に、これら実施形態は、シーンの自動監視に関する。
【0002】
サーベイランスシステムなど現在の監視システムは、シーンから記録されたデータを記憶する、または記憶を可能にする、ハブに有線または無線で接続された、録音付きの、または録音無しの、ビデオ記録のためのカメラを1つ以上備え得る。一部の例においては、カメラおよび/またはハブのための設定をプログラムするために、操作者がハブを使用できる場合もある。
【0003】
本開示の、必ずしも全ての例ではないが、さまざまな例によると、請求項1〜14の何れか1項に記載の方法が提供される。
【0004】
本開示の、必ずしも全ての例ではないが、さまざまな例によると、請求項15又は17に記載の装置が提供される。
【0005】
本開示の、必ずしも全ての例ではないが、さまざまな例によると、処理手段及び記憶手段を備える装置であって、前記記憶手段はプログラム命令を格納し、前記プログラム命令は、前記処理手段に実行されると、前記装置に、請求項1〜14の何れか1項に記載の方法を遂行させるように構成される、装置が提供される。
【0006】
本開示の、必ずしも全ての例ではないが、さまざまな例によると、少なくとも1つのプロセッサによって実行されると、請求項1〜14の少なくとも1項に記載の方法を実施させるコンピュータプログラムコードが提供される。
【0007】
本開示の、必ずしも全ての例ではないが、さまざまな例によると、装置の処理手段に実行されると、前記装置に、請求項1〜14の何れか1項に記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラムが提供される。
【0008】
本開示の、必ずしも全ての例ではないが、さまざまな例によると、
対応する監視空間内にコンピュータによって実装される仮想境界の形状および位置を少なくとも部分的に画定するために、第1の可動クラフトを被監視シーン空間内に位置決めすることと、
被監視シーン空間に対応する監視空間内にコンピュータによって実装される仮想境界を構築することと、
対応する監視空間内にコンピュータによって実装された仮想境界に対して被監視シーン空間の少なくとも一部に発生した変化への応答として応答イベントの発生を可能にするために、被監視シーン空間の複数のセンサからの受信データを処理することと、
第1の可動クラフトから第2の可動クラフトへのハンドオーバを認識することと、対応する監視空間内にコンピュータによって構築される新しい仮想境界を少なくとも部分的に画定するために、被監視シーン空間内に第2の可動クラフトを位置決めすることと、
対応する監視空間内にコンピュータによって構築された新しい仮想境界に対して被監視シーン空間の少なくとも一部に発生した変化への応答として応答イベントの発生を可能にするために、被監視シーン空間の複数のセンサからの受信データを処理することと、
を含む方法が提供される。
【0009】
本発明の、必ずしも全ての実施形態ではないが、さまざまな実施形態によると、添付の特許請求の範囲に記載されている例が提供される。
【0010】
この簡単な説明を理解するために有用なさまざまな例のより深い理解のために、以下においては、添付の図面を単なる例として参照する。
【図面の簡単な説明】
【0011】
【
図4】コンピュータプログラムのための配信機構の一例を示す。
【
図7】
図7A〜
図7Cは、可動クラフトを用いて行われるコンピュータによって実装される仮想境界の画定/再画定を示す。
【
図8】
図8A〜
図8Cは、可動クラフト間のハンドオーバを用いて行われるコンピュータによって実装される仮想境界の画定を示す。
【0012】
本明細書において、用語「移動(maneuver)」は、1つの可動クラフトに関連して名詞として使用されるときは、可動クラフトの位置の経時的変化を指し、複数の可動クラフトに関連して名詞として使用されるときは、一時点におけるそれぞれの相対位置、または1つ以上の可動クラフトの継時的位置または相対位置、を指す。一組の空間座標が特定の時刻における一位置を規定すると考える場合、移動は、空間内にそれぞれ異なる位置を画定する1つ以上の可動クラフトのためのそれぞれ異なる複数組の空間座標によって規定される。用語「移動」は、動詞または形容詞として使用されるときは、移動の実施を指す。
【0013】
本明細書において、「可動クラフト(movable craft)」は、乗り物、車両、または他の輸送手段である。本明細書において、「被監視シーン空間(monitored scene space)」、または「シーン空間(scene space)」、または「シーン(scene)」は、監視される三次元空間である。
【0014】
本明細書において、「監視空間(monitoring space)」は、被監視シーン空間に対応する仮想三次元空間であり、その中にコンピュータによって実装される仮想境界が画定される。
【0015】
本明細書において、「コンピュータによって実装される仮想境界(computer−implemented virtual boundary)」は、
コンピュータによって構築される仮想空間である監視空間内の境界であ
る。
【0016】
本明細書において、「イベント(event)」は出来事である。
【0017】
本明細書において、「応答イベント(response event)」は、被監視シーン空間内で検出された変化への応答として生成される出来事である。
【0018】
記載のシステム100は、少なくとも1つのシーン140を監視するシステムである。シーン140は、イベントが発生し得る空間である。したがって、シーン140は、被監視シーン空間140とも称され得る。システム100の動作は、被監視シーン空間140内を移動する1つ以上の可動クラフトによって制御可能である。例えば、1つ以上の可動クラフトは、システム100によって監視される、コンピュータによって実装される仮想境界144を少なくとも1つ画定できる。
【0019】
図1は、システム100を模式的に示す。システム100は、シーン140からのセンサデータ112を記録するべく構成された1つ以上のセンサ110と、シーン140内で発生したイベントを自動的に認識し、この認識の結果として自動的に決定を下すために、シーン140から記録されたセンサデータ112を処理するべく構成された処理モジュール120と、処理モジュール120によって通信の実施が決定されたときに通信を行うべく構成された通信モジュール130とを備える。
【0020】
認識されるイベントの必ずしも全てではないが、一部のイベントは、シーン140内の物体152または特定の物体152に関連し得る。物体は、シーン140内の無生物、動物、人間、また特定の人間であり得る。システム100の必ずしも全ての例ではないが一部の例において、システム100はリアルタイム認識システムであり、自動認識および決定は、行われる場合、センサデータ112の記録とほぼ同時に行われる。
【0021】
システム100は、例えばシーン140内からの、ユーザによる監視の制御を可能にし得る。システム100は、認識および/または認識結果のユーザによる制御を、例えば、シーン内のユーザまたは他の制御物体150の動きを介して、可能にし得る。制御物体150は、シーン140内の人間の一部、または人間によって所持されている物体、であり得る、またはシーン140内の可動クラフト200であり得る。
【0022】
実施されるアクションの例は、警報または通知の発生であり得る。
【0023】
必ずしも全ての例ではないが一部の例において、システム100はいくつかの個別装置を備え得る。例えば、複数のセンサ110は1つ以上の別々の装置に収容され得る、処理モジュール120は1つ以上の装置に収容され得る、通信モジュール130は1つ以上の装置に収容され得る。システム100の1つ以上の構成要素がそれぞれ個別の装置に収容される場合、これら装置は互いに近接しているか、または遠隔であり得る。これら装置が互いに遠隔である場合、これら装置は、例えばネットワーク経由で、通信し得る。
【0024】
必ずしも全ての例ではないが一部の例において、システム100は単一の装置に収容され得る。
【0025】
センサ110は、シーン140からのセンサデータ112を記録するべく、または記録を可能にするべく、構成される。
【0026】
シーン140は、例えば静止物体など、例えば相対位置が固定されている、静止している構成要素を複数備え得る。これら静止物体は、シーンの三次元空間(シーン空間)内にそれぞれ異なる静止位置を有する。シーン140は、例えば可動物体など、動いている構成要素を含み得る。可動物体は、時間の経過に伴いシーン空間内で異なる複数の位置を有する。複数の異なるセンサデータ112または複数の異なる時点に関連しての「シーン」への言及は、感知されるシーン140のこれら静止している構成要素の継続を意味するが、動的構成要素の一部または全ての継続を必ずしも意味するとは限らない。ただし、これは発生し得る。
【0027】
センサデータ112の記録は、一時記録のみを含み得る、または永久記録を含み得る、または一時記録と永久記録の両方を含み得る。一時記録は、データを一時的に記録することを意味する。これは、例えば、感知中に起こり得る、ダイナミックメモリで起こり得る、またはサーキュラバッファなどのバッファ、レジスタ、キャッシュなどで起こり得る。永久記録は、アドレス指定可能なメモリ空間からのデータの取り出しが可能なアドレス指定可能なデータ構造の形態であり、したがって、削除または上書きされるまで記憶および検索が可能であることを意味する。ただし、長期記憶が行われる場合も、行われない場合もあり得る。
【0028】
センサ110は音波および/または光波などの伝搬波を電気信号に変換してシーン140からの伝搬波データをセンサデータ112として符号化するべく構成され得る。
【0029】
必ずしも全ての例ではないが一部の例において、これらセンサ110のうちの1つ以上は、シーン空間140に対して空間的に固定される。他の複数の例において、これらの例は同じか、または異なる例であり得るが、これらセンサ110のうちの1つ以上は、シーン空間140に対して移動可能であるか、移動している。例えば、これらセンサ110のうちの1つ以上は、1つ以上の可動クラフト200のうちの一部または全ての一部であり得る、または1つ以上の可動クラフト200の何れの一部でもあり得ない。
【0030】
必ずしも全ての実施形態ではないが、一部の実施形態において、これらセンサ110は画像センサ114であるか、または画像センサ114を備える。画像センサ114の一例は、カメラとして動作するべく構成されたデジタル画像センサである。このようなカメラは、静止画像および/または動画像を記録するために作動され得る。
【0031】
必ずしも全ての実施形態ではないが、一部の実施形態においては、シーン140が複数の異なる視点から眺められるように、カメラは、立体または他の空間的に分散された配置で構成され得る。これは、例えば視差効果によって、奥行きを構築するために、三次元画像の作成および/または処理を可能にし得る。
【0032】
必ずしも全ての実施形態ではないが、一部の実施形態において、センサ110はオーディオセンサ116であるか、またはオーディオセンサ116を備える。オーディオセンサ116の一例は、1つ以上のマイクロフォンである。シーン140が複数の異なる視点からサンプリングされるように、複数のマイクロフォンがマイクロフォンアレイなど、立体または他の空間的に分散された配置で構成され得る。これは、シーン140内のオーディオの位置決めを可能にする三次元空間オーディオ処理を可能にし得る。
【0033】
必ずしも全ての実施形態ではないが、一部の実施形態において、これらセンサは、奥行きセンサ118であるか、または奥行きセンサ118を備える。奥行きセンサ118は、送信機と受信機とを備え得る。送信機は、信号(例えば、人間が感知できない超音波または赤外線などの信号)を送信し、受信機は反射された信号を受信する。単一の送信機と単一の受信機との使用により、送信から受信までの飛翔時間の測定によって一部の奥行き情報を取得し得る。より多くの送信機および/またはより多くの受信機を用いることによって、より良好な分解能が実現され得る(空間ダイバーシティ)。1つの例において、送信機は、シーン140を光で、好ましくは赤外線などの不可視光で、空間的に依存するパターンで、「ペイント」するべく構成される。受信機による特定パターンの検出は、シーン140の空間分解を可能にする。シーン140の空間分解された部分までの距離は、飛行時間および/または立体視(受信機が送信機に対して立体位置にある場合)によって求められ得る。
【0034】
これら「受動的」または「非能動的」な奥行き感知の例は受動的であり、送信機から送出された入射光または音波を反射するのみである。ただし、被感知物体における活動(activity)を必要とする「能動的な(active)」例が、加えて、または代わりに、使用され得る。
【0035】
必ずしも全ての例ではないが、図示の例において、処理モジュール120は、メモリサブモジュール122と、処理サブモジュール124と、認識サブモジュール126と、制御サブモジュール128とを備える。これら「モジュール」はそれぞれ別個に説明および図示されているが、それぞれ個別である必要はなく、異なる組み合わせで組み合わされてもよい。例えば、処理サブモジュール124、認識サブモジュール126、および制御サブモジュール128は、同じ回路によって、または同じコンピュータプログラムの制御下で、実施され得る。あるいは、処理サブモジュール124、認識サブモジュール126、および制御サブモジュール128のうちの1つ以上が専用回路または専用コンピュータプログラムによって実施され得る。これらサブモジュールは、ソフトウェア、専用ハードウェア、またはプログラムされたハードウェアとソフトウェアとの混合を用いて実施され得る。
【0036】
メモリサブモジュール122は、未処理のセンサデータおよび/または処理済みのセンサデータ112(シーンデータ)、コンピュータプログラム、シーン空間モデル、および処理モジュール120によって使用される他のデータを記憶するために使用され得るが、他のサブモジュールはそれぞれ独自のメモリを有し得る。
【0037】
処理サブモジュール124は、シーン140に関して有意なシーンデータを決定するために、センサデータ112を処理するべく構成され得る。
【0038】
センサデータ110が1つ以上のカメラ114からの画像データを含む場合、処理サブモジュール124は、画像処理を実施するべく構成され得る。センサデータ110が1つ以上のマイクロフォン116からのオーディオデータを含む場合、処理サブモジュール124は、オーディオ処理を実施するべく構成され得る。
【0039】
処理サブモジュール124は、シーン140のために潜在的な意味を有するシーンデータを作成するために、センサデータ112を用いて以下のタスクのうちの1つ以上を自動的に実施するべく構成され得る。
以下の1つ以上を実施するために、マシン(コンピュータ)ビジョンの使用。
(動いている、または静止している)物体または人間の検出、
(動いている、または静止している)物体または人間の分類、および/または
(動いている、または静止している)物体または人間の追跡。
以下の1つ以上を実施するために、空間分析の使用。
奥行き判定を用いてシーン空間内の(動いている、または静止している)物体の位置決め、および/または、
シーン空間の地図の作成、および/または
シーン140で発生したイベントを潜在的に有意な
シンボルとして記述するために、挙動解析の使用。
【0040】
画像処理の一例は、一画像のための強度勾配またはエッジ方向の分布を作成する「勾配特徴のヒストグラム(histogram of gradient features)」分析である。画像は、接続された複数の小さな領域(セル)に分割され得る。各セルについて、勾配方向またはエッジ方位のヒストグラムがセル内の各ピクセルに対して作成される。この場合、これらヒストグラムの組み合わせは、記述子を表す。
【0041】
オーディオ処理の一例は、「メル周波数ケプストラル係数(mel−frequency cepstral coefficients)」の決定、例えばオーディオビーム形成手法を用いた、空間オーディオ処理、オーディオイベント認識または分類、スピーカ認識または検証、または音声認識である。
【0042】
動きの検出は、例えば、背景モデルに対する差異化(背景差分(background subtraction))、または先行画像に対する差異化(フレーム間差分(temporal differencing))、を用いて、またはベクトルベースのアプローチを用いたオプティカルフロー解析など他のいくつかのアプローチを用いて、実現され得る。
【0043】
物体の分類は、例えば、形状に基づく分析、および/または動きに基づく分析、を用いて実現され得る。
【0044】
人間の分類は、物体が人間であるという分類、または物体が特定の人間であるという分類(識別)であり得る。識別は、1組の候補者のうちの1人を一意に識別する属性または属性の組み合わせを用いて実現され得る。属性の例として、それぞれの顔またはそれぞれの声、それぞれの形状およびサイズ、それぞれの挙動など、1人の人間に固有である、または固有であり得る、生体認証学的特徴が挙げられる。
【0045】
物体の追跡は、物体にラベル付けし、ラベル付けされた物体のシーン140内の位置を記録することによって実現され得る。このアルゴリズムは、シーン140への物体の入場、シーン140からの物体の退出、シーン140への物体の再入場、物体の隠蔽、物体のマージのうちの1つ以上のイベントを扱う必要があり得る。これらイベントの扱い方は、当該技術分野において公知である。
【0046】
物体の追跡は、物体または人間が何時変化したかを判定するために使用され得る。例えば、大きなマクロスケールでの物体の追跡は、物体と共に移動する基準フレームの作成を可能にする。この場合、基準フレームは、当該物体に対するフレーム間差分を用いることによって、経時的に展開する物体の形状変化を追跡するために使用可能である。これは、ジェスチャ、手の動き、顔の動きなどの人間の小規模な動きを検出するために使用可能である。これらは、ユーザに関する、シーンに依存しないユーザ(のみ)の動きである。
【0047】
システムは、人間の身体に関連して複数の物体および/または点、例えば人体の1つ以上の関節、を追跡し得る。一部の例において、システム100は、人体の全身骨格の追跡を実施し得る。
【0048】
人体に関連する1つ以上の物体および/または点の追跡は、ジェスチャ認識等においてシステム100によって使用され得る。
【0049】
挙動解析は、シーン140で発生するイベントを有意な
シンボル体系を用いて記述する必要がある。イベントは、一時空段階において発生する何かであり得る、または時空シーケンス(時間の経過に伴う時空段階パターン)であり得る。イベントは、物体(または人間)の動き、または人間と物体との相互作用、に関係し得る。
【0050】
必ずしも全ての実施例ではないが、いくつかの実施例において、イベントは、マシン(コンピュータ)ビジョン分析および/または空間分析から求められるパラメータとして定義される
シンボル候補によって表され得る。これらパラメータは、何が起きているか、どこで起きているか、いつ起きているか、および誰がそれをしているか、のうちの1つ以上を符号化する。
【0051】
認識サブモジュール126は、
シンボル候補を認識し、シーン140内のイベントを特定の意味に対応付けられた有意な
シンボルとして符号化するべく構成される。
【0052】
認識サブモジュール126は、マシン(コンピュータ)ビジョン分析および/または空間分析から決定されたパラメータとして定義され、処理サブモジュール124によって生成された
シンボル候補を意味を有するものとして認識するべく構成され得る。認識サブモジュール126は、例えば、有意な
リファレンス・シンボルのデータベースを格納し得る、またはこのデータベースにアクセスし得る、更には、
シンボル候補が有意な
シンボルに「類似(similar)」しているかどうかを判定するために、類似度試験を使用し得る。
【0053】
認識サブモジュール126は、マシン(コンピュータ)推論エンジン、またはパラメータ空間におけるクラスタリングまたは人工神経回路網などの他の認識エンジン、として構成され得る。認識サブモジュール126は、一部の例において、有意な
シンボルを
リファレンス・シンボルに類似していると認識するために、被監視学習によって訓練され得る。
【0054】
制御サブモジュール128は、有意なイベントがシーン140内に発生したという判定に対して、以下のように、イベントに応じて応答する。
【0055】
a)
シンボル候補が応答
シンボルに類似している場合、有意なイベントは「応答(response)」イベントであり、制御サブモジュール126は応答アクションを実施する。
【0056】
必ずしも全ての例ではないが一部の例において、実施されるアクションは、ユーザによってプログラムされ得る。必ずしも全ての例ではないが一部の例においては、シーン内のユーザまたは他の制御物体150の動きによって、プログラミングが発生し得る。実施されるアクションの例は、警報または通知の発生であり得る。
【0057】
警報または通知は、通信モジュール130を介して提供され得る。通信モジュール130は、無線で、例えば電波で、または有線接続を介して、ローカルまたは遠隔装置に通信し得る。このような装置の例として、ディスプレイ、テレビ受像機、オーディオ出力装置、携帯電話機またはパーソナルコンピュータなどのパーソナルデバイス、プロジェクタ、または他のユーザ出力装置が挙げられるが、これらだけに限定されるものではない。
【0058】
必ずしも全ての例ではないが一部の例において、応答
シンボルはユーザによってプログラムされ得る。例えば、ユーザは、有意な応答
シンボルによって表される有意なイベントをプログラムまたは教示可能であり得る。ユーザによって作成された応答
シンボルは、
リファレンス・シンボルのデータベースに追加され得る、または
シンボル候補を有意な
シンボルとして認識するために別様に使用され得る。必ずしも全ての例ではないが一部の例において、プログラミングは、シーン140内のユーザの動きによって発生し得る。有意な
シンボルによって表される有意なイベントの例として、ユーザによって入力されるジェスチャなど、実施される特定のアクションまたは動きを含む。
【0059】
単一の人間によるアクション、または多くの人々による集合的アクション、が応答
シンボルとして使用され得る。必ずしも全ての例ではないが一部の例において、特定のジェスチャによるユーザ入力またはジェスチャによるユーザ入力の集合が応答
シンボルとして使用され得る。
【0060】
b)
シンボル候補が制御
シンボルに類似している場合、有意なイベントは「制御(control)」イベントであり、制御サブモジュール126は、監視の制御および/または応答の制御を可能にする。
【0061】
例えば、ユーザは、
リファレンス・シンボルのデータベースに追加される有意な応答
シンボルをプログラムまたは教示可能であり得る。必ずしも全ての例ではないが一部の例において、プログラミングは、シーン140内の制御物体150、例えばユーザまたは可動クラフト、の動きによって発生し得る。
【0062】
例えば、ユーザは、
シンボル候補が応答
シンボルに一致したときに実施されるアクションをプログラムまたは教示可能であり得る。実施されるアクションの例は、警報または通知の発生であり得る。
【0063】
処理モジュール120の動作は、処理モジュール120のためのステートマシン20を示す
図2から更に理解され得る。ステートマシン20は、監視状態21と、制御状態22と、自動応答状態23とを有する。
【0064】
監視状態21において、センサ110はセンサデータ112を提供し、処理サブモジュール124は、潜在的な意味を有するシーンデータを作成するために、センサデータ112(ビデオおよび/またはオーディオおよび/または奥行き)を自動的に処理する。認識サブモジュール126は、シーンデータ内の実際の意味、すなわち有意な
シンボル、を識別するために、シーンデータを自動的に処理する。
【0065】
有意な
シンボルは事前に決定されている。すなわち、
シンボルを決定するアクションが認識の前に発生している。ただし、「事前に決定された(predetermined)」とは、正確または固定であることを意味するとみなされるべきではない。類似度マッチングのために使用される
シンボルは、単に事前の決定を有する、または動的に発展し得る、または固定され得る。
【0066】
有意なイベントがシーン140で発生したと認識サブモジュール126が判定した場合、制御サブモジュール126はそのイベントに応じて自動的に応答する。有意なイベントが「応答」イベントであった場合、ステートマシン20は応答状態23に移行し、制御サブモジュール126は応答アクションを実施する。応答アクションは、応答イベントに対応付けられ得る。イベントが「制御」イベントであった場合、ステートマシン20は、制御状態22に移行し、監視および/または応答の制御が有効化される。この有効化は、制御状態22に対応付けられた方法で行われ得る。
【0067】
単一の人間によるアクション、または多くの人々による集合的アクションは、「制御」
シンボルとして使用され得る。必ずしも全ての例ではないが一部の例において、特定のジェスチャによるユーザ入力は、制御
シンボルとして使用され得る。
【0068】
一部の例において、システム100は、ジェスチャ認識において人体に関連して1つ以上の物体および/または点を追跡し得る。例えば、システム100は、ジェスチャ認識において人体の全骨格追跡を実施し得る。
【0069】
プロセッサモジュール120またはプロセッサモジュール120の一部の実装は、制御回路として行われ得る。制御回路120は、ハードウェアのみで実装され得る、またはファームウェアを含むソフトウェアの特定の側面のみを有し得る、またはハードウェアとソフトウェア(ファームウェアを含む)の組み合わせとすることができる。
【0070】
図3に示されているように、制御装置120は、ハードウェア機能を可能にする複数の命令を使用して、例えば、コンピュータ可読記憶媒体(ディスク、メモリ、等々)上に記憶され得る、汎用または専用プロセッサ310によって実行される実行可能コンピュータプログラム命令322を汎用または専用プロセッサ310において使用することによって、実装され得る。
【0071】
プロセッサ310は、メモリ320に対して読み出しおよび書き込みを行うべく構成される。プロセッサ310は、プロセッサ310がデータおよび/またはコマンドをそこから出力する出力インタフェースと、データおよび/またはコマンドがそこからプロセッサ310に入力される入力インタフェースとを更に備え得る。
【0072】
メモリ320は、プロセッサ310に読み込まれると処理モジュール120の動作を制御するコンピュータプログラム命令(コンピュータプログラムコード)を含むコンピュータプログラム322を記憶する。コンピュータプログラム322のコンピュータプログラム命令は、各図を参照して説明されている方法を処理モジュールが実施できるようにするロジックおよびルーチンを提供する。プロセッサ310は、コンピュータプログラム322をメモリ320から読み出すことによって、コンピュータプログラム322の読み込みおよび実行を行える。
【0073】
したがって、システム100は、少なくとも1つのプロセッサ310と、コンピュータプログラムコード322を含む少なくとも1つのメモリ320とを備えた装置120であって、少なくとも1つのメモリ320およびコンピュータプログラムコード322は、少なくとも1つのプロセッサ310によって、装置120に
図1のブロック124、126、128のうちの1つ以上、および/または
図8のブロックのうちの1つ以上を少なくとも実施させるべく構成される、装置120を備え得る。
【0074】
図4に示されているように、コンピュータプログラム322は、このような装置に、何れか適した配信機構324を介して、到達し得る。配信機構324は、例えば、非一時的コンピュータ可読記憶媒体、コンピュータプログラム製品、メモリ装置、コンパクトディスク読み出し専用メモリ(CD−ROM)またはデジタル多用途ディスク(DVD)などの記録媒体、コンピュータプログラム322を有形に具現化する製品であり得る。配信機構は、コンピュータプログラム322を確実に転送するべく構成された、変調された電磁波またはデジタル符号化された電気信号などの信号であり得る。装置120は、コンピュータプログラム322をコンピュータデータ信号として伝播または送信し得る。
【0075】
メモリ320は単一の構成要素/回路として図示されているが、1つ以上の個別の構成要素/回路としても構築され得る。これら構成要素/回路の全てまたは一部は一体化/取り外し可能であり得る、および/または永久/半永久/ダイナミック/キャッシュ記憶を提供しる。
【0076】
プロセッサ310は単一の構成要素/回路として図示されているが、1つ以上の個別の構成要素/回路としても構築され得る。これら構成要素/回路の全てまたは一部は、一体化/取り外し可能であり得る。プロセッサ310は、シングルコアまたはマルチコアプロセッサであり得る。
【0077】
「コンピュータ可読記憶媒体(computer−readable storage medium)」、「コンピュータプログラム製品(computer program product)」、「有形に具現化されたコンピュータプログラム(tangibly embodied computer program)」等々、または「制御装置」、「コンピュータ」、「プロセッサ」等々への言及は、シングル/マルチプロセッサアーキテクチャおよび直列(フォン・ノイマン)/並列アーキテクチャなど複数の異なるアーキテクチャを有するコンピュータばかりでなく、フィールドプログラマブルゲートアレイ(FPGA:field−programmable gate array)、特定用途向け回路(ASIC:application specific circuit)、信号処理デバイス、および他の処理回路など、特化された回路も包含することを理解されたい。コンピュータプログラム、命令、コード等々への言及は、プログラム可能プロセッサのためのソフトウェアまたはファームウェア、例えば、ハードウェアデバイスのプログラム可能コンテンツなどを、プロセッサ用の命令、あるいは固定機能デバイス、ゲートアレイ、またはプログラム可能論理デバイス、等々のための構成設定であるかどうかに拘らず、包含することを理解されたい。
【0078】
本願明細書で使用される用語「回路(circuitry)」は、以下の全てを指す。
(a)ハードウェアのみの回路実装(アナログおよび/またはデジタル回路のみでの実装)、および
(b)(該当する場合)(i)プロセッサ(単数または複数)の組み合わせ、または(ii)プロセッサ(単数または複数)/ソフトウェアの部分(携帯電話またはサーバなどの装置にさまざまな機能を実施させるために連携するデジタル信号プロセッサ(単数または複数)を含む)、ソフトウェア、およびメモリ(単数または複数)を含む)、など、回路とソフトウェア(および/またはファームウェア)との組み合わせ、および
(c)ソフトウェアまたはファームウェアが物理的に存在しない場合でも、動作のためにソフトウェアまたはファームウェアを必要とする、マイクロプロセッサ(単数または複数)またはマイクロプロセッサ(単数または複数)の一部などの、回路。
【0079】
「回路」のこの定義は、本願明細書における、更には何れの請求項においても、この用語の全ての使用に適用される。別の例として、本願明細書で使用される用語「回路」は、プロセッサ(または複数のプロセッサ)、またはプロセッサの一部、およびその(またはそれらの)付属のソフトウェアおよび/またはファームウェアのみの実装もカバーする。用語「回路」は、例えば、特定のクレーム要素に該当する場合は、ベースバンド集積回路、または携帯電話用のアプリケーションプロセッサ集積回路、またはサーバ、セルラーネットワークデバイス、または他のネットワークデバイス内の同様の集積回路もカバーすることになろう。
【0080】
図1に示されているブロック124、126、128、および/または
図9に示されている各ブロックは、一方法内のステップ、および/またはコンピュータプログラム322内のコードセクション、をそれぞれ表し得る。これらブロックの特定の順番の図は、これらブロックのために必要な、または好適な、順番が存在することを必ずしも意味するものではなく、これらブロックの順番および配置は可変であり得る。更に、一部のブロックを省略することも可能であり得る。
【0081】
必ずしも全ての例ではないが一部の例において、制御物体150は、ユーザ、例えばシーン140内の人間150、であり得る。必ずしも全ての例ではないが一部の例において、これらの例は同じまたは異なる例であり得るが、制御物体150は1つ以上の可動クラフト200であり得る。必ずしも全ての例ではないが一部の例において、可動クラフト200は航空機であり得る。可動クラフト200の一例は、「ドローン」である。ドローンは、操縦士のいない無線操縦式のクラフトである。航空機ドローンは、操縦士のいない無線操縦式の航空機である。
【0082】
図5は、ドローン200の一例を示す。必ずしも全ての例ではないが、この例において、ドローンは航空機ドローンである。航空機ドローン200は、航空機ドローン200を三次元内で移動させるための推進システム202を備える。
【0083】
航空機ドローンの位置決めまたは再位置決めは、ユーザによって手動で、または音声制御によって、半自律的に、または自律的に、実施され得る。航空機ドローン200の位置は、一部の例においては位置のみによって、他の例においては方位のみによって、および他の例においては位置と方位の両方によって、規定定され得る。したがって、必ずしも全てではないが一部の例において、航空機ドローンは、その三次元位置および/または三次元方位の変化に関して、自律的、半自律的、または完全なユーザ制御であり得る。
【0084】
用語「全自律的(fully−autonomous)」は、機能を記述するために使用されるときは、リアルタイムのユーザ入力を一切必要とせずに、事前に規定された規則に従って航空機が機能を実施できることを意味する。リアルタイム制御は、完全に規則に基づく。
【0085】
用語「半自律的(semi−autonomous)」は、機能を記述するために使用されるとき、航空機は、事前に規定された規則に従って機能を実施できるが、一部リアルタイムユーザ入力を更に必要とすることを意味する。このリアルタイム制御は、完全には規則に基づかず、完全にはユーザの制御下にもない。
【0086】
用語「自律的(autonomous)」は、「全自律的」と「半自律的」の両方を含む。或る特徴が「自律的」と記述されている場合、「全自律的」または「半自律的」であり得る。
【0087】
航空機ドローン200は、必要に応じて、自律的位置安定システム204を備え得る。自律的位置安定システム204は、航空機ドローン200を特定の三次元位置に維持するために、推進システム202を制御する。維持される三次元位置は、例えば、地球に固定された座標系において規定された絶対位置であり得る。または、維持される三次元位置は、例えば、被監視シーン空間140内を、例えば被追跡物体152と共に、移動する座標系において規定される相対位置であり得る。被追跡物体152は、例えば、別の航空機ドローン200であり得る。
【0088】
航空機ドローン200は、必要に応じて、自律的方位安定システム206を備え得る。自律的方位安定システム206は、航空機ドローン200を特定の三次元方位に維持するために、推進システム202を制御する。維持される三次元方位は、例えば、地球に固定された座標系において規定される絶対方位であり得る。または、維持される三次元方位は、例えば、被監視シーン空間140内を、例えば被追跡物体152と共に、移動する座標系において規定される相対方位であり得る。被追跡物体152は、例えば、別の航空機ドローン200であり得る。
【0089】
航空機ドローン200は、必要に応じて、システム100の通信モジュール130との通信のための無線通信システム208を備え得る。
【0090】
航空機ドローン200は、必要に応じて、三次元における航空機ドローン200の位置決めを、例えば衛星測位または他の何らかの測位技術によって、可能にするためのナビゲーションシステム210を備え得る。一部の例において、航空機ドローン200の位置は、システム100に伝達される。ナビゲーションシステム210は、航空機ドローン200が追従するルートの計画を可能にし得る、および/または位置安定システム204および/または推進システム202への入力を提供し得る。
【0091】
航空機ドローン200は、必要に応じて、例えば、電子コンパス、ジャイロスコープ、磁力計、および加速度計を用いて、複数の異なる軸線に沿った位置および/または方位の変化の検出を可能にするための運動センサ212を備え得る。これら運動センサ212は、位置安定システム204および/または方位安定システム206への入力を提供し得る。
【0092】
航空機ドローン200は、必要に応じて、被監視シーン空間140を監視するべく構成された複数のセンサ110のうちの少なくとも一部を備え得る。これらセンサ110は、シーン140からのセンサデータ112を記録する、または記録を可能にする、べく構成される。
【0093】
航空機ドローン200は、野外で動作するべく構成され得る。例えば、航空機ドローン200は、風雨の中で動作するべく構成され得る。航空機ドローンは、防水処理され得る。
【0094】
航空機ドローン200は、例えば、コンピュータによって実装される仮想境界を野外に、数十、数百、または数千メートルという大面積にわたって、および/または高高度まで広げて、画定するために使用され得る。これは、コンサート、フェスティバル、スポーツイベントなどの大規模な野外イベント、大衆制御が必要とされる場所、またはサーベイランスが必要とされる場所、において特に有用であり得る。
【0095】
図6は、システム100の動作の一例を示す。部分Aは、システム100によって監視される三次元空間内の実世界シーンを示す。シーン140は、被監視シーン空間140とも称され得る。
【0096】
図6の例において、可動クラフト200、例えば航空機ドローン、はコンピュータによって構築される少なくとも1つの仮想境界144を画定するために、移動146を実施している。
【0097】
図示の例において、可動クラフト200は、コンピュータによって構築される単一の仮想境界144を画定するために移動を実施している。この移動148は、1空間次元、2空間次元、または3空間次元における如何なる動きまたは一連の動きも含み、如何なる形態でも取り得る。
【0098】
図6の例の部分Cは、被監視シーン空間140を上から見下ろした図を示す。この図には、コンピュータによって実装される仮想境界144を画定するために移動146を行っている可動クラフト200が示されている。
【0099】
図6の例の部分Aおよび部分Cから分かるように、移動146は、時刻tにおける各ユーザ入力物体iのためのシーン140内のデカルト直交座標(x
i(t)、y
i(t)、z
i(t))を有する位置を有する。この例において、x
i(t)は左から測定され、y
i(t)は前面から測定され、z
i(t)は底部から測定される。他の座標系も使用され得ること、およびデカルト座標系の複数の異なる方位が使用され得ることを理解されるであろう。
【0100】
図6においては図の簡素化のために、移動146は、1空間次元における1つの可動クラフト200の動きを含む。したがって、xの値は変化し、yおよびzの値が一定のままである。他の複数の例においては、x、y、および/またはzの値は、被監視シーン空間140内の任意の開始位置からの移動148に伴い、如何ようにも変化し得る。また、複数の可動クラフト200が、例えば同時に、使用され得る。
【0101】
図6の例の部分Bおよび部分Dは、被監視シーン空間140に対応する監視空間142(対応する監視空間142)を示す。監視空間142は、システム100によって作成および使用される被監視シーン空間140の仮想表現を含む。監視空間142は、センサ110によって受信されたデータ、例えば、受信された画像データおよび/または奥行きデータなど、から形成され得る。部分Bおよび部分Dは、
図6の部分Aおよび部分Cに示されている図と同じ図をそれぞれ示す。
【0102】
一部の例において、システム100は、監視空間142を形成するために、被監視シーン空間140の形状寸法の情報を使用し得る。例えば、システム100は、被監視シーン空間140の三次元モデルを監視空間142の形成に使用し得る。被監視シーン空間140の三次元モデルは、システム100によって作成され得る、および/またはシステム100によって受信され得る。被監視シーン空間140の三次元モデルを作成するための複数の方法が当該技術分野において公知である。
【0103】
システム100は、シーン空間140を監視するために、監視空間142を使用し得る。例えば、システムは、コンピュータによって構築される少なくとも1つの仮想境界144を構築および監視するために、監視空間142を使用し得る。
【0104】
図6の部分Aおよび部分Bと部分Cおよび部分Dとの間の矢印によって示されているように、監視空間142と被監視シーン空間140との間に対応関係が存在する。一部の例においては、監視空間142と被監視シーン空間140との間に1対1のマッピングM(mapping)が存在し得る。
【0105】
他の例においては、被監視シーン空間140と監視空間142との間にスケール不変の変換が存在し得る。
【0106】
システム100は、可動クラフト200によって実施された移動146を認識し、応答として、コンピュータによって構築された少なくとも1つの仮想境界144を監視空間142内に構築する。
【0107】
一部の例において、移動146の認識は、受信データの処理を含み得る。1つの例において、受信データは、画像処理を用いて可動クラフト200を位置決めするために分析される画像データであり得る。別の例において、受信データは、可動クラフト200を位置決めする位置データを含み得る。これは、一部の例においては、可動クラフト200内の位置決めシステムによって提供される位置であり得る。
【0108】
複数の例において、監視空間内にコンピュータによって実装される仮想境界144の形状および位置は、被監視シーン空間140内の移動146によって少なくとも部分的に決定され、コンピュータによって実装される仮想境界144は、被監視シーン空間140内の移動146の位置に相当する監視空間内の対応位置に位置決めされる。
【0109】
したがって、システム100は、対応する監視空間142内にコンピュータによって実装される仮想境界144の形状および位置を少なくとも部分的に画定するために、被監視シーン空間140内に1つ以上の可動クラフト200を位置決めすることと、被監視シーン空間140に対応する監視空間142内にコンピュータによって実装される仮想境界144を構築することと、対応する監視空間142内にコンピュータによって実装された仮想境界144に対して被監視シーン空間140の少なくとも一部分に発生した変化への応答として応答イベントを発生させるために、被監視シーン空間140の複数のセンサ110からの受信データ112を処理することと、を可能にすることを理解されるであろう。
【0110】
図7A、
図7B、
図7C、
図8A、
図8B、
図8Cは、被監視シーン空間140内の1つ以上の可動クラフト200のそれぞれ異なる位置の例を示す。これらの位置は、対応する監視空間142内にコンピュータによって実装される仮想境界144の形状および位置を画定210する。
【0111】
必ずしも全ての例ではないが一部の例においては、コンピュータによって実装される仮想境界144の形状および位置を可動クラフト200によって制御できるようにするために、可動クラフト200をシステム100と「対にする」必要があり得る。この対の形成は、例えば、可動クラフト200を識別する認証手順、および/または1つ以上のセキュリティクレデンシャルをチェックする認証手順、を含み得る。
【0112】
これらの図において、点p
n(t
x)は、可動クラフトnによって画定された、時刻t
xにおける被監視空間140内の点214を指す。点p
n(t
x)は、監視空間142内の特定の点p
n'(t
x)216に対応する。対応する点214、216のラベル付けを行うために両空間内で同じラベルnが一貫して使用されており、対応する時刻のラベル付けを行うために両空間でラベルxが一貫して使用されている。
【0113】
被監視シーン空間140における移動148は、一組の異なる点{p
n(t
x)}を指定する。これらの点は、監視空間142内の対応する一組の点{p
n'(t
x)}にマッピングされる。被監視シーン空間140を監視空間142にマッピングするマッピングMは、被監視シーン空間140内の一組の異なる点{p
n(t
x)}も監視空間142内の対応する一組の異なる点{p
n'(t
x)}にマッピングする。
【0114】
監視空間142内の一組の異なる点{p
n'(t
x)}は、対応する監視空間142内にコンピュータによって実装される仮想境界144の形状および位置を画定する。
【0115】
図示の例において、監視空間内にコンピュータによって実装される仮想境界144は、一組の点{p
n'(t
x)}のうちの各点216を通過する。図示の各例において、コンピュータによって実装される仮想境界144は、一組の点{p
n'(t
x)}のうちの各点216に頂点(角の点)を有するN角形である。
【0116】
コンピュータによって実装される仮想境界144は、一、二、または三次元であり得る。
【0117】
図7Aにおいて、コンピュータによって実装される仮想境界144は、被監視シーン空間140における単一の可動クラフト200の動きのみを含む移動148によって画定210される。コンピュータによって実装される仮想境界144は、被監視シーン空間140における単一の可動クラフト200の一連の位置214によって画定210される。被監視シーン空間140内の可動クラフト200は、監視空間143内の各点216に対応する被監視シーン空間140内の一連の点214を指定する。コンピュータによって実装される仮想境界144の形状および位置は、監視空間142内の各点216の位置によって画定される。この例において、コンピュータによって実装される仮想境界144は、N個の頂点(角の点)を点216に有するN角形である。被監視シーン空間140内の単一の可動クラフト200は、各位置214においてN個の頂点のうちの1つを画定する。可動クラフト200は、その行程上の一通過点が点214を指定することを示すための通過点信号をシステム100に送信し得る。
【0118】
図7Aに示されているように、被監視シーン空間140内の移動148は、被監視シーン空間140内に点p
1(t
1)、p
1(t
2)、p
1(t
3)、p
1(t
4)を画定する。被監視シーン空間140内の点p
1(t
1)、p
1(t
2)、p
1(t
3)、p
1(t
4)は、監視空間142内の対応する点p
1'(t
1)、p
1'(t
2)、p
1'(t
3)、p
1'(t
4)216を決定210する。したがって、被監視シーン空間140内の移動148は、コンピュータによって実装される仮想境界144を画定する点p
1'(t
1)、p
1'(t
2)、p
1'(t
3)、p
4'(t
4)を監視空間142内に指定する。
【0119】
図7Bにおいて、コンピュータによって実装される仮想境界144は、被監視シーン空間140内の複数の可動クラフト200の同時位置決めを含む移動148によって画定される。コンピュータによって実装される仮想境界144は、被監視シーン空間140内の複数の可動クラフト200の同時位置214によって画定210される。被監視シーン空間140内のこれら可動クラフト200は、被監視シーン空間140内の複数の点214の配置を指定する。この配置は、監視空間142内の複数の点216の配置に対応する。コンピュータによって実装される仮想境界144の形状および位置は、監視空間142内の複数の点216の位置によって画定される。この例において、コンピュータによって実装される仮想境界144は、N個の頂点(角の点)をこれらの点216に有するN角形である。被監視シーン空間140内の複数の異なる可動クラフト200はそれぞれ、N個の頂点のうちの1つを画定する。可動クラフト200は、その行程上におけるこの時刻の一通過点が点214を指定すること、またはそれぞれの行程上におけるこの時刻の複数の可動クラフト200のそれぞれの通過点が点214を指定すること、を示すための通過点信号をシステム100に送信し得る。
【0120】
図7Bに示されているように、被監視シーン空間140内の移動148は、被監視シーン空間140内に点p
1(t
1)、p
2(t
1)、p
3(t
1)、p
4(t
1)を画定する。
図7Bに示されているように、被監視シーン空間140内の点p
1(t
1)、p
2(t
1)、p
3(t
1)、p
4(t
1)は、監視空間142内に対応する点p
1'(t
1)、p
2'(t
1)、p
3'(t
1)、p
4」(t
1)を決定する。したがって、被監視シーン空間140内の移動148は、監視空間142内の点p
1'(t
1)、p
2'(t
1)、p
3'(t
1)、p
4'(t
1)を指定する。これらの点は、コンピュータによって実装される仮想境界144を画定する。
【0121】
別の例において(別個に図示せず)、コンピュータによって実装される仮想境界144は、被監視シーン空間140(
図7B)内の第1組の1つ以上の可動クラフト200の同時位置決めと、更には、被監視シーン空間140(
図7A)内の第2組の1つ以上の可動クラフト200の動きとを含む移動148によって画定される。コンピュータによって実装される仮想境界144は、一部は、第1組の複数の可動クラフト200の同時位置214によって、一部は、被監視シーン空間140内の第2組の可動クラフト200の一連の位置214によって、画定210される。被監視シーン空間140内の第1組の可動クラフト200は、被監視シーン空間140内の第1組の点214の配置を指定する。この配置は、監視空間142内の点216の配置に対応する。コンピュータによって実装される仮想境界144の第1の1つ以上の部分の形状および位置は、監視空間142内の第1組の点216の位置によって画定される。被監視シーン空間140内の第2組の可動クラフト200は、被監視シーン空間140内の一連以上の点214を指定する。これらの点は、監視空間143内の第2組の点216に対応する。コンピュータによって実装される仮想境界144の第2の1つ以上の部分の形状および位置は、監視空間142内の第2組の点216の位置によって画定される。一部の例において、コンピュータによって実装される仮想境界144は、N個の頂点(角の点)を第1組および第2組の点216に有するN角形である。可動クラフト200は、その行程上のこの時刻における通過点が点214を指定することを示すための通過点信号をシステム100に送信し得る。
【0122】
コンピュータによって実装される仮想境界144は、動的修正が可能である。
図7Cにおいて、
図7Bに画定されているようなコンピュータによって実装される仮想境界144は、被監視シーン空間140内の1つ以上の可動クラフト200の再位置決めを含む新しい移動148によって再画定される。コンピュータによって実装される仮想境界144は、被監視シーン空間140内の複数の可動クラフト200の新しい位置214によって再画定210される。被監視シーン空間140内のこれら可動クラフト200は、被監視シーン空間140内の複数の点214の新しい配置を指定する。この配置は、監視空間142内の複数の点216の新しい配置に対応する。コンピュータによって実装される仮想境界144の新しい形状および位置は、監視空間142内の複数の点216の新しい位置によって画定される。この例において、コンピュータによって実装される仮想境界144は、N個の頂点(角の点)を点216に有するN角形である。被監視シーン空間140内の複数の異なる可動クラフト200は、それぞれN個の頂点のうちの1つを再画定する。可動クラフト200は、その行程上のこの時刻における通過点が点214を指定すること、またはそれぞれの行程上におけるこの時刻における複数の可動クラフト200のそれぞれの通過点が点214を指定すること、を示すための通過点信号をシステム100に送信し得る。
【0123】
図7Cに示されているように、被監視シーン空間140内の移動148は、被監視シーン空間140内に点p
1(t
2)、p
2(t
2)、p
3(t
2)、p
4(t
2)を画定する。
図7Cに示されているように、被監視シーン空間140内の点p
1(t
2)、p
2(t
2)、p
3(t
2)、p
4(t
2)は、監視空間142内に対応する点p
1'(t
2)、p
2'(t
2)、p
3'(t
2)、p
4'(t
2)を決定する。したがって、被監視シーン空間140内の移動148は、監視空間142内の点p
1'(t
2)、p
2'(t
2)、p
3'(t
2)、p
4'(t
2)を指定する。これらの点は、コンピュータによって実装される仮想境界144を再画定する。
【0124】
例えば
図7A、
図7B、
図7Cを参照して説明したような、移動148は、自律的、半自律的、またはユーザ制御であり得る。
【0125】
例えば、ユーザは、コンピュータによって実装される仮想境界144のサイズを指定し得る。ユーザは、固定サイズを規定し得る。ユーザは、コンピュータによって実装される仮想境界144のサイズ変更を自律的に制御する規則を規定し得る。
【0126】
例えば、ユーザは、コンピュータによって実装される仮想境界144の形状を指定し得る。ユーザは、固定形状を規定し得る。ユーザは、コンピュータによって実装される仮想境界144のサイズ変更を自律的に制御する規則を規定し得る。これは、例えば、より多くの、またはより少ない、可動クラフト200の利用が可能であるときに、起こり得る。
【0127】
例えば、ユーザは、コンピュータによって実装される仮想境界144の位置を指定し得る。ユーザは、ユーザが指定した被追跡物体に対して固定された絶対位置または固定された相対位置を規定し得る。ユーザは、コンピュータによって実装される仮想境界144の再位置決めを自律的に制御する規則を規定し得る。これは、例えば、1つ以上の被追跡物体の位置が変わったとき、または太陽の位置など、他のコンテキスト上の因子が変化したときに、起こり得る。
【0128】
コンピュータによって実装される仮想境界144の特徴、またはコンピュータによって実装される仮想境界144の特徴を制御する規則、のユーザ指定を可能にするために提供されるユーザ制御は、任意の適した手段によって行われ得る。例えば、ユーザは、例えば、ジェスチャ制御、タッチスクリーンインタフェース、プログラミングインタフェース、音声コマンドなどを用いて、システム100を介してユーザ入力コマンドを複数の可動クラフト200に提供可能であり得る。
【0129】
図8A、
図8B、および
図8Cは、第1の可動クラフト200
1から第2の可動クラフト200
2へのハンドオーバ手順を示す。ハンドオーバ前、第1の可動クラフト200
1は、コンピュータによって実装される仮想境界144を画定するために使用されている。ハンドオーバ後、第1の可動クラフト200
1は、コンピュータによって実装される仮想境界144を画定するためには最早使用されず、コンピュータによって実装される仮想境界144を画定するために第2の可動クラフト200
2が使用される。
【0130】
これらの図において、コンピュータによって実装される仮想境界144は、被監視シーン空間140内の複数の可動クラフト200の同時位置決めを含む移動148よって画定される。コンピュータによって実装される仮想境界144は、被監視シーン空間140内の複数の可動クラフト200の同時位置214によって画定210される。被監視シーン空間140内のこれら可動クラフト200は、被監視シーン空間140内の複数の点214の配置を指定する。この配置は、監視空間142内の複数の点216の配置に対応する。コンピュータによって実装される仮想境界144の形状および位置は、監視空間142内の複数の点216の位置によって画定される。この例において、コンピュータによって実装される仮想境界144は、N個の頂点(角の点)を点216に有するN角形である。被監視シーン空間140内の複数の可動クラフト200は、N個の頂点のうちの1つをそれぞれ画定する。可動クラフト200は、その行程上のこの時刻における通過点が点214を指定すること、またはこの時刻における複数の可動クラフト200のそれぞれの行程上の通過点が点214を指定すること、を示すための通過点信号をシステム100に送信し得る。
【0131】
被監視シーン空間140内の移動148は、監視対象空間140内の点p
1(t
1)、p
2(t
1)、p
3(t
1)、p
4(t
1)を画定する。
【0132】
図8Aに示されているように、ハンドオーバ300前、被監視シーン空間140内の点p
1(t
1)、p
2(t
1)、p
3(t
1)、p
4(t
1)は、監視空間142内の対応する点p
1'(t
1)、p
2'(t
1)、p
3'(t
1)、p
4'(t
1)を決定する。これらの点は、コンピュータによって実装される仮想境界144を画定する。第1の可動クラフト200
1は、位置p
2(t
1)に対応付けられており、コンピュータによって実装される仮想境界144の少なくとも一部を画定している。第2の可動クラフト200
2は、位置p
5(t
1)に対応付けられており、コンピュータによって実装される仮想境界144の何れの部分も画定していない。
【0133】
図8Bに示されているように、ハンドオーバ300後、被監視シーン空間140内の点p
1(t
2)、p
5(t
2)、p
3(t
2)、p
4(t
2)は、監視空間142内の対応する点p
1'(t
2)、p
5'(t
2)、p
3'(t
2)、p
4'(t
2)を決定する。これらの点は、コンピュータによって実装される仮想境界144を画定する。位置p
2(t
1)に対応付けられた第1の可動クラフト200
1は、コンピュータによって実装される仮想境界144の何れの部分も、もはや画定していない。位置p
5(t
2)に対応付けられた第2の可動クラフト200
2は、コンピュータによって実装される仮想境界144の一部を画定している。
【0134】
必ずしも全ての例ではないが、
図8Cに示されている例において、ハンドオーバ300の次に、位置p
5(t)に対応付けられた第2の可動クラフト200
2は、その位置p
5(t
3)=p
2(t
1)であるように、位置を変更する302。すなわち、第2の可動クラフト200
2は、第1の可動クラフト200
1がハンドオーバ300前に占めていた位置と同じ位置214を占める。被監視シーン空間140内の点p
1(t
3)、p
5(t
3)、p
3(t
3)、p
4(t
3)は、監視空間142内の対応する点p
1'(t
3)、p
5'(t
3)、p
3'(t
3)、p
4'(t
3)を決定する。これらの位置は、コンピュータによって実装される仮想境界144を画定する。時刻t
3においてコンピュータによって実装される仮想境界144は、時刻t
1においてコンピュータによって実装された仮想境界144と同じである。ただし、時刻t
3においては、第1の可動クラフト200
1ではなく、第2の可動クラフト200
2によって画定されている。
【0135】
可動クラフト200間のハンドオーバ300は自動であり得る。例えば、第1の可動クラフト200
1によって使用されている電池が放電して閾値レベル未満になると、第1の可動クラフト200
1は交代信号を送信し得る。第2の可動クラフト200
2は、この交代信号への応答として、第1の可動クラフト200
1に接近し、第1の可動クラフト200
1とのハンドオーバ300を実施する。
【0136】
ハンドオーバ300は、システム100から第1の可動クラフト200
1への通信がシステム100から第2の可動クラフト200
2への通信に変更されるように、システム100も引き込み得る。例えば、システム100は第1の可動クラフト200
1との対を解消し、第2の可動クラフト200
2と対になる必要があり得る。
【0137】
したがって、時刻t
1におけるシステム100は、対応する監視空間142内にコンピュータによって実装される仮想境界144の形状および位置を少なくとも部分的に画定するために、被監視シーン空間140内の第1の可動クラフト200
1を位置決めし、被監視シーン空間140に対応する監視空間142内にコンピュータによって実装される仮想境界144を構築する。システム100は、対応する監視空間142内にコンピュータによって実装された仮想境界144に対して被監視シーン空間140の少なくとも一部分に発生した変化への応答として応答イベントの発生を可能にするために、被監視シーン空間140の複数のセンサ110からの受信データ112を処理する。
【0138】
システム100は、時刻t
1と時刻t
2との間に、第1の可動クラフト200
1から第2の可動クラフト200
2へのハンドオーバ300を認識する。
【0139】
システム100は、時刻t
2において、対応する監視空間142内にコンピュータによって構築される新しい仮想境界144を少なくとも部分的に画定するために、被監視シーン空間140内の第2の可動クラフト200
2を位置決めし、対応する監視空間142内にコンピュータによって構築された新しい仮想境界144に対して被監視シーン空間140の少なくとも一部分に発生した変化への応答として応答イベントの発生を可能にするために、被監視シーン空間140の複数のセンサ110からの受信データ112を処理する。
【0140】
上記の例において、ハンドオーバ300は、1つの可動クラフト200を別の可動クラフトに交代させるために使用される。他の複数の例においては、1つ以上の可動クラフトがNを増やすために追加され得る、またはNを減らすために除去され得る。
【0141】
他の複数の例においては、コンピュータによって構築される新しい境界214を画定するために、コンピュータによって構築される1つ以上の異なる境界が組み合わされ得る。
【0142】
システム100が移動146を認識し、コンピュータによって実装される境界144を構築したことを確認するために、システム100はフィードバックをユーザに提供し得る。このフィードバックは、任意の適したフィードバック、例えば、可聴および/または可視および/または触覚フィードバック等、を含み得る。加えて、または代わりに、システム100がコンピュータによって実装される境界144を構築したことをユーザに通知するために、システム100は1つ以上のメッセージを1つ以上のデバイスに送り得る。
【0143】
システム100は、少なくとも1つの仮想境界144に対して、コンピュータによって実装された境界によって囲まれた監視空間142の一部分に変化を引き起こす変化が被監視シーン空間140の一部分に存在したときに、応答イベントを発生させるために受信データを処理し得る。
【0144】
例えば、システム100は、応答イベントを発生させるために、センサ110によって受信された、オーディオおよび/または画像データなどの、データを処理し得る。システムは、応答イベントを発生させるために、1つ以上のオーディオおよび/またはビデオフィードを分析し得る。一部の例において、応答イベントを発生させるための受信データの処理は、コンピュータによって実装された境界144の監視とみなされ得る。
【0145】
複数の例においては、少なくとも1つの仮想境界144を画定する移動146の認識において、および少なくとも1つの仮想境界144の監視のために、カメラなどの同じセンサが使用され得る。
【0146】
一部の例において、応答イベントを発生させるために受信データを処理することは、コンピュータによって実装された境界144にまたがる活動、および/またはコンピュータによって実装された境界144のスレッショルド内での活動、を検出するためにコンピュータによって実装された境界144を監視するために受信データを処理することを含み得る。例えば、システム100は、コンピュータによって実装された境界144にまたがる、またはコンピュータによって実装された境界144のスレッショルド内の、活動を検出するために、コンピュータによって実装された境界144を監視するために、オーディオおよび/または画像および/または奥行きデータを処理し得る。
【0147】
応答イベントは、例えば通信モジュール130を用いて、フィードバックを提供することを含み得る。一部の例において、フィードバックは、1つ以上の警報を含み得る。この1つ以上の警報は、可聴および/または可視警報など、任意の形態の警報を含み得る。加えて、または代わりに、フィードバックは、1つ以上のメッセージを携帯電話機、タブレット、ラップトップコンピュータ、デスクトップコンピュータ等などの装置に提供することを含み得る。
【0148】
一部の例において、応答イベントは、加えて、または代わりに、カウンタを増加させることを含み得る。例えば、システム100は、物体152がコンピュータによって実装された境界144のスレッショルドに接触する、および/または越える、および/またはスレッショルド内に接近するなど、境界との相互作用が存在した回数を監視し得る。加えて、または代わりに、システム100は、境界の横断方向など、境界との相互作用の方向を監視し得る。システム100は、境界との相互作用に関する統計を提供するべく構成され得る。
【0149】
システム100のユーザが応答イベントを構成し得る。
【0150】
システム100は、一部の例において、コンピュータによって実装された境界144に対して、被監視シーン空間140の一部分に、何れかの物体152に関連して、変化が存在したときに応答イベントを発生させるために、受信データを処理し得る。例えば、何れかの物体152がコンピュータによって実装された境界144のスレッショルドを越える、スレッショルドに接触する、および/またはスレッショルド内に入ると、システムは応答イベントを発生させ得る。このような仮想境界144は、全般的な仮想境界144とみなされ得る。
【0151】
他の例においては、コンピュータによって実装された境界144に対して、被監視シーン空間140の一部分に、ユーザによって指定された1つ以上の物体152に関連して、変化が存在したときに、システムは応答イベントを発生させるために受信データを処理し得る。
【0152】
例えば、コンピュータによって実装される仮想境界144の画定後、システム100のユーザは1つ以上の物体152をシステム100に対して示し得る。システム100は、コンピュータによって実装された境界144に対して、被監視シーン空間140の一部分に、示された物体152に関連して、変化が存在したときにのみ、応答として応答イベントを発生させ得る。例えば、示された物体152がコンピュータによって実装された境界144のスレッショルドを越える、スレッショルドに接触する、および/またはスレッショルド内に入ったときにのみ、システム100は応答イベントを発生させ得る。このような仮想境界144は、物体固有の仮想境界とみなされ得る。
【0153】
一部の例において、コンピュータによって実装された仮想境界144は、条件付きで監視され得る、および/または条件付きで有効/無効にされ得る。例えば、コンピュータによって実装された仮想境界144に対して、被監視シーン空間140の一部分に変化が存在したとき、システム100は、1つ以上の基準が満たされているときは応答イベントを発生させるために受信データを処理し得るが、そうでない場合は応答イベントを発生させるために受信データを処理しない。
【0154】
これら基準は、事前に規定され得る、および/またはユーザによって構成され得る。
【0155】
複数の例において、任意の1つ以上の基準が使用され得る。例えば、任意の時間的および/または物理的基準が使用され得る。複数の例において、コンピュータによって実装される仮想境界144は、時刻および/または曜日および/または月の何週目および/または月に応じて、および/または被監視シーン空間140内の1つ以上の物体152の存在とは無関係に、条件付きで監視され得る。
【0156】
図9は、方法800の一例を示す。方法800は、システム100によって実施され得る。ブロック802おいて、方法800は、対応する監視空間142内にコンピュータによって実装される仮想境界144の形状および位置を少なくとも部分的に画定するために、1つ以上の可動クラフト200を被監視シーン空間140に位置決めすることを含む。ブロック804おいて、方法800は、被監視シーン空間140に対応する監視空間142にコンピュータによって実装される仮想境界144を構築させることを含む。ブロック806おいて、方法800は、対応する監視空間142内にコンピュータによって実装された仮想境界144に対して被監視シーン空間140の少なくとも一部分に発生した変化への応答として応答イベントを発生させるために、被監視シーン空間140の複数のセンサ110からの受信データ112を処理することを含む。
【0157】
構造上の特徴が記述されている場合、その構造上の特徴は、その構造上の特徴の1つ以上の機能が明示的または暗黙で記述されているかに拘らず、その構造上の特徴の1つ以上の機能を実施するための手段に置き換えられ得る。
【0158】
本開示の例は、サーベイランスシステム用の仮想境界を画定するための容易で直観的な方法を提供する。
【0159】
用語「備える」は、本明細書においては排他的ではなく包含的意味で使用されている。すなわち、Yを備えたXとは、Xは単一のYを備え得ること、または複数のYを備え得ることを示す。
【0160】
この簡単な説明では、さまざまな例に言及してきた。一例に関連する特徴または機能の説明は、それら特徴または機能がその例に存在することを示している。テキスト中での用語「例」または「例えば」の使用は、明示的に記載されているか否かに拘らず、そのような特徴または機能が、一例として記載されているか否かに拘らず、少なくとも記載の例に存在すること、および他の一部または全ての例に存在し得るが、必ずしも存在するとは限らない、ことを示す。したがって「例」または「例えば」は、一クラスの複数の例における特定の事例に言及する。この事例の特性は、その事例のみの特性、またはそのクラスの特性、またはそのクラス内の全ての事例ではないが一部の事例を含むそのクラスの下位クラスの特性とすることができる。したがって、1つの例に言及して、しかし別の例には言及せずに、記載されている特徴は、可能であれば、その別の例において使用可能であるが、必ずしもその別の例で使用される必要はないことが暗黙で開示されている。
【0161】
先行段落においてはさまざまな例に言及して本発明の複数の実施形態が説明されているが、これら所与の例の変更を特許請求されている本発明の範囲から逸脱することなく行えることを理解されたい。上の説明に記載されている特徴は、明示的に記載されている組み合わせ以外の組み合わせでも使用され得る。特定の特徴に言及して複数の機能が説明されているが、これら機能は、記載の有無に拘らず、他の特徴によって実施可能であり得る。特定の実施形態に言及して複数の特徴が説明されているが、これら特徴は、記載の有無に拘らず、他の複数の実施形態にも存在し得る。上記明細書においては特に重要と思われる本発明の特徴に注目させようとしているが、出願人は、特に強調されていたか否かに拘らず、上で言及した、および/または図面に示されている、特許性のある何れの特徴または特徴の組み合わせに対しても保護を請求することを理解されたい。