(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】ニューラルネットワークを用いたビデオ監視
(51)【国際特許分類】
G06N 3/04 20230101AFI20240109BHJP
G06N 3/08 20230101ALI20240109BHJP
G06N 5/04 20230101ALI20240109BHJP
G06T 7/00 20170101ALI20240109BHJP
【FI】
G06N3/04
G06N3/08
G06N5/04
G06T7/00 350C
(21)【出願番号】P 2020572377
(86)(22)【出願日】2019-07-05
(86)【国際出願番号】 EP2019068085
(87)【国際公開番号】W WO2020008025
(87)【国際公開日】2020-01-09
【審査請求日】2022-06-10
(32)【優先日】2018-07-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520132791
【氏名又は名称】モビディウス リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】モロニー、デイビッド
【審査官】真木 健彦
(56)【参考文献】
【文献】Ervin Teng,ClickBAIT: Click-based Accelerated Incremental Training of Convolutional Neural Networks ,Computer Vision and Pattern Recognition,arXiv,2017年09月15日,arXiv:1709.05021,全11ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/04
G06N 3/08
G06N 5/04
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
ビデオ監視システムであって、
オペレータラベル付与ビデオセグメントを格納するためのデータベースであって、前記オペレータラベル付与ビデオセグメントは、参照ビデオセグメントと、前記参照ビデオセグメントを記述する、対応する参照イベントラベルとを含む、データベースと、
ニューラルネットワークであって、
推論エンジンの第1インスタンスと、
前記データベースから取得された前記オペレータラベル付与ビデオセグメントの訓練セットに基づいて前記推論エンジンの前記第1インスタンスを訓練するための訓練エンジンであって、前記推論エンジンの前記第1インスタンスは、前記訓練セットに含まれる前記オペレータラベル付与ビデオセグメントからイベントを推論する、訓練エンジンと
を含むニューラルネットワークと、
モニタリング対象ビデオフィードからイベントを推論する
ための、第1モニタリングステーションにデプロイされるべき前記推論エンジンの第2インスタンスであって、
前記推論エンジンの前記第2インスタンスは前記推論エンジンの前記第1インスタンスに基づく、前記推論エンジンの第2インスタンスと
、
デプロイされた前記推論エンジンの前記第2インスタンスにより出力される、推論イベントのうちの第1推論イベントを、前記モニタリング対象ビデオフィードに関連付けられるオペレータ入力に基づき生成される対応するオペレータイベントラベルと比較して、更新訓練データを取得するコンパレータと、
を備え
、
前記訓練エンジンは、少なくとも閾値量の前記更新訓練データが少なくとも1つのモニタリングステーションから取得されたとの判断に応じて、前記推論エンジンの前記第1インスタンスを再訓練し、前記少なくとも1つのモニタリングステーションは前記第1モニタリングステーションを含む、ビデオ監視システム。
【請求項2】
前記参照イベントラベルは、対応する前記参照ビデオセグメントが定義されたイベントを表現するかどうかを示す、請求項1に記載のビデオ監視システム。
【請求項3】
前記参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する前記参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)前記参照ビデオセグメントのうちの前記第1参照ビデオセグメントが前記イベントの種類を表現するかどうかを示す、請求項1に記載のビデオ監視システム。
【請求項4】
前記
第1モニタリングステーションは、
前記モニタリング対象ビデオフィードのうちの第1モニタリング対象ビデオフィードを提示するためのディスプレイと、
前記モニタリング対象ビデオフィードのうちの前記第1モニタリング対象ビデオフィードのモニタリング対象ビデオセグメントに対応するオペレータの判断に基づいて、
前記オペレータイベントラベルを生成するモニタリングインタフェースと
を含む、請求項1から3のいずれか一項に記載のビデオ監視システム。
【請求項5】
前記データベースは前記
第1モニタリングステーションと通信して、前記モニタリング対象ビデオセグメントのうちの第1モニタリング対象ビデオセグメントと、
前記第1モニタリング対象ビデオセグメントに対応する前記オペレータイベントラベルのうちの第1オペレータイベントラベルとを受信し、前記データベースは、
前記第1モニタリング対象ビデオセグメントと、
対応する前記第1オペレータイベントラベルとを、前記オペレータラベル付与ビデオセグメントのうちの第1オペレータラベル付与ビデオセグメントに含まれる
第1参照ビデオセグメント、および、
対応する第1参照イベントラベルとして格納する、請求項4に記載のビデオ監視システム。
【請求項6】
前記
第1モニタリングステーションは更に、前記推論エンジンの前記第2インスタンスを実装する、請求項5に記載のビデオ監視システム。
【請求項7】
前記コンパレータ
は、
前記第1モニタリングステーションにおいて、前記更新訓練データを取得するために動作する、請求項6に記載のビデオ監視システム。
【請求項8】
ビデオ監視システムであって、
オペレータラベル付与ビデオセグメントを格納するためのデータベースであって、前記オペレータラベル付与ビデオセグメントは、参照ビデオセグメントと、前記参照ビデオセグメントを記述する、対応する参照イベントラベルとを含む、データベースと、
ニューラルネットワークであって、
推論エンジンの第1インスタンスと、
前記データベースから取得された前記オペレータラベル付与ビデオセグメントの訓練セットに基づいて前記推論エンジンの前記第1インスタンスを訓練するための訓練エンジンであって、前記推論エンジンの前記第1インスタンスは、前記訓練セットに含まれる前記オペレータラベル付与ビデオセグメントからイベントを推論する、訓練エンジンと
を含むニューラルネットワークと、
モニタリング対象ビデオフィードからイベントを推論するための、第1モニタリングステーションにデプロイされるべき前記推論エンジンの第2インスタンスであって、前記推論エンジンの前記第2インスタンスは前記推論エンジンの前記第1インスタンスに基づく、前記推論エンジンの第2インスタンスと、
前記モニタリング対象ビデオフィードのうちのモニタリング対象ビデオセグメントについて、前記推論エンジンの前記第2インスタンスにより出力された推論されたイベントと、前記モニタリング対象ビデオセグメントについてのオペレータ入力に基づく対応するオペレータイベントラベルとを比較するコンパレータとを備え、
前記コンパレータは、前記比較に基づき更新訓練データを取得する、ビデオ監視システム。
【請求項9】
前記訓練エンジンは、少なくとも閾値量の前記更新訓練データが少なくとも1つのモニタリングステーションから取得されたとの判断に応じて、前記推論エンジンの前記第1インスタンスを再訓練し、前記少なくとも1つのモニタリングステーションは前記第1モニタリングステーションを含む、請求項8に記載のビデオ監視システム。
【請求項10】
前記ニューラルネットワークは、前記
第1モニタリングステーションと通信して前記更新訓練データを受信し、前記訓練エンジンは、前記更新訓練データに基づいて前記推論エンジンの前記第1インスタンスを再訓練する、請求項7
から9のいずれか一項に記載のビデオ監視システム。
【請求項11】
ビデオ監視を実行するための装置であって、前記装置は、
オペレータラベル付与ビデオセグメントを取得するための手段であって、前記オペレータラベル付与ビデオセグメントは、参照ビデオセグメント、および、前記参照ビデオセグメントを記述する、対応する参照イベントラベルを含む、手段と、
前記オペレータラベル付与ビデオセグメントの訓練セットに基づいて、推論エンジンの第1インスタンスを訓練するための手段であって、前記推論エンジンの前記第1インスタンスは、前記訓練セットに含まれる前記オペレータラベル付与ビデオセグメントからイベントを推論する、手段と、
前記推論エンジンの第2インスタンスを
第1モニタリングステーションにデプロイするための手段であって、
前記推論エンジンの前記第2インスタンスは、モニタリング対象ビデオフィードからイベントを推論し、前記推論エンジンの前記第2インスタンスは、前記推論エンジンの前記第1インスタンスに基づく、手段と
、
前記第1モニタリングステーションから、前記推論エンジンの前記第1インスタンスを再訓練するための更新訓練データを取得するための手段であって、前記更新訓練データは、デプロイされた前記推論エンジンの前記第2インスタンスにより出力された推論イベントのうちの第1推論イベントと、前記モニタリング対象ビデオフィードに関連付けられるオペレータ入力に基づき生成される対応するオペレータイベントラベルとの比較に基づいている、手段と、を備え、
訓練するための前記手段は、少なくとも閾値量の前記更新訓練データが少なくとも1つのモニタリングステーションから取得されたとの判断に応じて、前記推論エンジンの前記第1インスタンスを再訓練し、前記少なくとも1つのモニタリングステーションは前記第1モニタリングステーションを含む、
装置。
【請求項12】
ビデオ監視を実行するための装置であって、前記装置は、
オペレータラベル付与ビデオセグメントを取得するための手段であって、前記オペレータラベル付与ビデオセグメントは、参照ビデオセグメント、および、前記参照ビデオセグメントを記述する、対応する参照イベントラベルを含む、手段と、
前記オペレータラベル付与ビデオセグメントの訓練セットに基づいて、推論エンジンの第1インスタンスを訓練するための手段であって、前記推論エンジンの前記第1インスタンスは、前記訓練セットに含まれる前記オペレータラベル付与ビデオセグメントからイベントを推論する、手段と、
モニタリング対象ビデオフィードからイベントを推論する前記推論エンジンの第2インスタンスを第1モニタリングステーションにデプロイするための手段であって、前記推論エンジンの前記第2インスタンスは、前記推論エンジンの前記第1インスタンスに基づく、手段と、
(i)前記モニタリング対象ビデオフィードのセグメントについて、前記推論エンジンの前記第2インスタンスによって出力された、推論されたイベントと、(ii)前記モニタリング対象ビデオフィードの前記セグメントについて検出された、オペレータの判断に基づく対応するオペレータイベントラベルとを比較する手段とを備え、
前記比較する手段は、前記比較に基づき更新訓練データを取得する、装置。
【請求項13】
前記参照イベントラベルは、対応する前記参照ビデオセグメントが定義されたイベントを表現するかどうかを示す、請求項
11または12に記載の装置。
【請求項14】
前記参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する前記参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)
前記第1参照ビデオセグメントが前記イベントの種類を表現するかどうかを示す、請求項
11から13のいずれか一項に記載の装置。
【請求項15】
前記オペレータラベル付与ビデオセグメントを取得するための前記手段は、前記参照ビデオセグメントのうちの第1参照ビデオセグメントと、前記参照イベントラベルのうちの対応する第1参照イベントラベルとを
前記第1モニタリングステーションから取得するためのものである、請求項
11から
14のいずれか一項に記載の装置。
【請求項16】
前記推論エンジンの前記第2インスタンスをデプロイするための前記手段は、前記推論エンジンの前記第2インスタンスを前記
第1モニタリングステーションにデプロイするためのものである、請求項
15に記載の装置。
【請求項17】
前記推論エンジンの前記第2インスタンスが前記
第1モニタリングステーションに最初にデプロイされるとき、前記推論エンジンの前記第2インスタンスは、前記推論エンジンの前記第1インスタンスの複製である、請求項
16に記載の装置。
【請求項18】
前記推論エンジンの前記第1インスタンスを訓練するための前記手段は更に、前記更新訓練データに基づいて前記推論エンジンの前記第1インスタンスを再訓練する
、請求項
12に記載の装置。
【請求項19】
ビデオ監視方法であって、
少なくとも1つのプロセッサを用いて、オペレータラベル付与ビデオセグメントの訓練セットに基づいて、推論エンジンの第1インスタンスを訓練する段階であって、前記オペレータラベル付与ビデオセグメントは、参照ビデオセグメント、および、前記参照ビデオセグメントを記述する、対応する参照イベントラベルを含み、前記推論エンジンの前記第1インスタンスは、前記訓練セットに含まれる前記オペレータラベル付与ビデオセグメントからイベントを推論する、段階と、
前記少なくとも1つのプロセッサを用いて、
前記推論エンジンの第2インスタンスを
第1モニタリングステーションにデプロイする段階であって、前記推論エンジンの前記第2インスタンスは
モニタリング対象ビデオフィードからイベントを推論し、
前記推論エンジンの前記第2インスタンスは前記推論エンジンの前記第1インスタンスに基づく、段階と
、
前記少なくとも1つのプロセッサを用いて、少なくとも閾値量の更新訓練データが、前記第1モニタリングステーションを含む少なくとも1つのモニタリングステーションから取得されたと判断することに応じて、前記推論エンジンの前記第1インスタンスを再訓練する段階であって、前記更新訓練データは、デプロイされた前記推論エンジンの前記第2インスタンスにより出力された推論イベントのうちの第1推論イベントと、前記モニタリング対象ビデオフィードに関連付けられるオペレータ入力に基づき生成される対応するオペレータイベントラベルとの比較に基づく、段階と、を備える方法。
【請求項20】
ビデオ監視方法であって、
少なくとも1つのプロセッサを用いて、オペレータラベル付与ビデオセグメントの訓練セットに基づいて、推論エンジンの第1インスタンスを訓練する段階であって、前記オペレータラベル付与ビデオセグメントは、参照ビデオセグメント、および、前記参照ビデオセグメントを記述する、対応する参照イベントラベルを含み、前記推論エンジンの前記第1インスタンスは、前記訓練セットに含まれる前記オペレータラベル付与ビデオセグメントからイベントを推論する、段階と、
前記少なくとも1つのプロセッサを用いて、前記推論エンジンの第2インスタンスを第1モニタリングステーションにデプロイする段階であって、前記推論エンジンの前記第2インスタンスはモニタリング対象ビデオフィードからイベントを推論し、前記推論エンジンの前記第2インスタンスは前記推論エンジンの前記第1インスタンスに基づく、段階と、
前記少なくとも1つのプロセッサを用いて、コンパレータにより、(i)前記モニタリング対象ビデオフィードのセグメントについて、前記推論エンジンの前記第2インスタンスによって出力された、推論されたイベントと、(ii)前記モニタリング対象ビデオフィードの前記セグメントについて検出された、オペレータの判断に基づく対応するオペレータイベントラベルとを比較することによって更新訓練データを取得する段階とを備える、方法。
【請求項21】
前記参照イベントラベルは、対応する前記参照ビデオセグメントが定義されたイベントを表現するかどうかを示す、請求項
19または20に記載の方法。
【請求項22】
前記参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する前記参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)
前記第1参照ビデオセグメントが前記イベントの種類を表現するかどうかを示す、請求項
19または20に記載の方法。
【請求項23】
前記参照ビデオセグメントのうちの第1参照ビデオセグメントと、前記参照イベントラベルのうちの対応する第1参照イベントラベルとを
前記第1モニタリングステーションから取得する段階を更に備える、請求項
19から
22のいずれか一項に記載の方法。
【請求項24】
前記推論エンジンの前記第2インスタンスをデプロイする前記段階は、前記推論エンジンの前記第2インスタンスを前記
第1モニタリングステーションにデプロイする段階を含む、請求項
23に記載の方法。
【請求項25】
前記推論エンジンの前記第2インスタンスが前記
第1モニタリングステーションに最初にデプロイされるとき、前記推論エンジンの前記第2インスタンスは、前記推論エンジンの前記第1インスタンスの複製である、請求項
24に記載の方法。
【請求項26】
前記推論エンジンの前記第1インスタンスを訓練する前記段階は更に、前記更新訓練データに基づいて前記推論エンジンの前記第1インスタンスを再訓練する段階を含む、請求項20に記載の方法。
【請求項27】
請求項
19から
26のいずれか一項に記載の方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概して、ビデオ監視に関し、より具体的には、ニューラルネットワークを用いたビデオ監視に関する。
【背景技術】
【0002】
従来、ビデオ監視システムは、大企業、官公庁、教育機関などの大きい組織によって、セキュリティモニタリングのために使用されてきた。当該ビデオ監視システムは典型的には、モニタリングされるエリアを網羅するためにビデオカメラを採用し、ビデオフィードをセキュリティオフィスなどの中央モニタリング施設に返す。中央モニタリング施設は典型的には、モニタリング対象ビデオフィードおよび関心のあるフラグイベントを見る1または複数の人間のオペレータが配置された1または複数のモニタリングステーションを含む。いくつかの例において、モニタリングステーションによって、人間のオペレータは、関心のあるイベントのログを記録し、アラームを発動する、第1対応者などに連絡するなど、適切な是正措置を講じることが可能となる。
【0003】
より近年において、ビデオ監視カメラの費用が減少するにつれて、他の状況におけるビデオ監視システムの使用が増加した。例えば、ビデオ監視システムによるモニタリングが装備された家、小企業、公園、共用エリアなどがよく見られるようになった。例えば、そのようなビデオ監視システムは、低費用のカメラおよび/または任意の他のイメージングセンサを利用して、関心のあるエリアをモニタリングし得る。これらのカメラは多くの場合、カメラがネットワークに接続されることを可能にするネットワークインタフェースを含む。これにより、カメラは、それぞれのビデオフィードを1または複数のリモートモニタリング施設へ送信することが可能になる。これらのリモートモニタリング施設も、モニタリング対象ビデオフィード、関心のあるフラグイベントを見て、関心のあるイベントに応答して適切な措置を講じる人間のオペレータが配置されたモニタリングステーションを利用する。
【図面の簡単な説明】
【0004】
【
図1】例のビデオ監視システムのブロック図である。
【0005】
【
図2】本開示の教示によるビデオ監視をサポートするように構築された訓練可能ニューラルネットワークを含む第1の例のビデオ監視システムのブロック図である。
【0006】
【
図3】本開示の教示によるビデオ監視をサポートするように構築された訓練可能ニューラルネットワークおよび訓練された推論エンジンを含む第2の例のビデオ監視システムのブロック図である。
【0007】
【
図4】本開示の教示によるビデオ監視をサポートするように構築された訓練可能ニューラルネットワークおよび訓練された推論エンジンを含む第3の例のビデオ監視システムのブロック図である。
【0008】
【
図5】
図2から
図4の例のビデオ監視システムを実装するために実行され得る例の機械可読命令を表すフローチャートを示す。
【
図6】
図2から
図4の例のビデオ監視システムを実装するために実行され得る例の機械可読命令を表すフローチャートを示す。
【
図7】
図2から
図4の例のビデオ監視システムを実装するために実行され得る例の機械可読命令を表すフローチャートを示す。
【
図8】
図2から
図4の例のビデオ監視システムを実装するために実行され得る例の機械可読命令を表すフローチャートを示す。
【0009】
【
図9】
図2から
図4の例のビデオ監視システムに含まれる例のモニタリングステーションを実装するために、
図5から
図8のうち1または複数の例の機械可読命令を実行するよう構築された例のプロセッサプラットフォームのブロック図である。
【0010】
【
図10】
図2から
図4の例のビデオ監視システムに含まれる例のデータベースを実装するために、
図5から
図8のうち1または複数の例の機械可読命令を実行するよう構築された例のプロセッサプラットフォームのブロック図である。
【0011】
【
図11】
図2から
図4の例のビデオ監視システムに含まれる例のニューラルネットワークを実装するために、
図5から
図8のうち1または複数の例の機械可読命令を実行するよう構築された例のプロセッサプラットフォームのブロック図である。
【0012】
図は縮尺通りではない。可能な限り、同じまたは同様の部分、要素などを指すために、同じ参照番号が図面および添付の書面の記述を通じて使用される。
【発明を実施するための形態】
【0013】
ニューラルネットワークを用いたビデオ監視を実装するための例の方法、装置、システムおよび製品(例えば、物理的記憶媒体)が本明細書に開示される。本明細書において開示される例のビデオ監視システムは、オペレータラベル付与ビデオセグメントを(例えば、オペレータラベル付与ビデオセグメントのレコードとして)格納するためのデータベースを含む。オペレータラベル付与ビデオセグメントは、参照ビデオセグメント、および、参照ビデオセグメントを記述する、対応する参照イベントラベルを含む。開示される例のビデオ監視システムはまた、推論エンジンの第1インスタンス、および、データベースから取得されるオペレータラベル付与ビデオセグメントの訓練セットに基づいて推論エンジンの第1インスタンスを訓練するための訓練エンジンを含むニューラルネットワークを含む。開示される例において、推論エンジンの第1インスタンスは、訓練セットに含まれる、オペレータラベル付与ビデオセグメントからイベントを推論する。開示される例のビデオ監視システムは更に、モニタリング対象ビデオフィードからイベントを推論するための推論エンジンの第2インスタンスを含み、推論エンジンの第2インスタンスは、推論エンジンの第1インスタンス(例えば、最初はその複製)に基づく。
【0014】
いくつかの開示される例において、参照イベントラベルは、対応する参照ビデオセグメントが定義されたイベントを表現するかどうかを示す。
【0015】
いくつかの開示される例において、参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)参照ビデオセグメントのうちの第1参照ビデオセグメントがイベントの種類を表現するかどうかを示す。
【0016】
いくつかの開示される例のビデオ監視システムはモニタリングステーションを含む。いくつかの開示される例において、モニタリングステーションは、モニタリング対象ビデオフィードのうちの第1モニタリング対象ビデオフィードを提示するためのディスプレイと、モニタリング対象ビデオフィードのうちの第1モニタリング対象ビデオフィードのモニタリング対象ビデオセグメントに対応するオペレータの判断に基づいてオペレータイベントラベルを生成するためのモニタリングインタフェースとを含む。
【0017】
いくつかのそのような開示される例において、データベースはモニタリングステーションと通信して、モニタリング対象ビデオセグメントのうちの第1モニタリング対象ビデオセグメントと、モニタリング対象ビデオセグメントのうちの第1モニタリング対象ビデオセグメントに対応するオペレータイベントラベルのうちの第1オペレータイベントラベルを受信する。いくつかのそのような例において、データベースは、モニタリング対象ビデオセグメントのうちの第1モニタリング対象ビデオセグメントと、オペレータイベントラベルのうちの対応する第1オペレータイベントラベルとを、オペレータラベル付与ビデオセグメントのうちの第1オペレータラベル付与ビデオセグメントに含まれる参照ビデオセグメントのうちの第1参照ビデオセグメント、および、参照イベントラベルのうちの対応する第1参照イベントラベルとして格納する。
【0018】
追加的に、または代替的に、いくつかのそのような開示される例において、モニタリングステーションは更に、推論エンジンの第2インスタンスを実装する。例えば、推論エンジンの第2インスタンスは、モニタリングステーションのディスプレイによって提示されたモニタリング対象ビデオフィードのうちの第1モニタリング対象ビデオフィードのモニタリング対象ビデオセグメントのうちの第2モニタリング対象ビデオセグメントについて、推論されたイベントを出力できる。いくつかのそのような例において、モニタリングステーションのモニタリングインタフェースは、モニタリング対象ビデオセグメントのうちの第2モニタリング対象ビデオセグメントについて検出されたオペレータの判断からオペレータイベントラベルのうちの第2オペレータイベントラベルを生成する。いくつかのそのような例において、モニタリングステーションは更に、推論されたイベントと、オペレータイベントラベルのうちの第2オペレータイベントラベルとを比較して、更新訓練データを取得するためのコンパレータを含む。いくつかの開示される例において、ニューラルネットワークは、モニタリングステーションと通信して、更新訓練データを受信し、ニューラルネットワークの訓練エンジンは、更新訓練データに基づいて推論エンジンの第1インスタンスを再訓練するためのものである。
【0019】
ニューラルネットワークを用いたビデオ監視を実装するための、これら、および、他の例の方法、装置、システムおよび製品(例えば物理的記憶媒体)は、以下においてより詳細に開示される。
【0020】
ビデオ監視システムは一般に、大企業、官公庁、教育機関などの大きい組織によって、セキュリティモニタリングのために使用される。より近年において、ビデオ監視カメラの費用が減少するにつれて、他の状況におけるビデオ監視システムの使用が増加した。例えば、ビデオ監視システムによるモニタリングが装備された家、小企業、公園、共用エリアなどがよく見られるようになった。そのような新しいビデオ監視システムは、インターネットなどのネットワークに接続可能な低費用のカメラおよび/または任意の他のイメージングセンサ、インターネットおよび/または他のネットワークを介してアクセス可能な1または複数のクラウドサービスなどを利用し得る。そのようなネットワークアクセスにより、カメラおよび/または他のイメージングセンサは、1または複数の遠隔配置されたモニタリング施設へそれぞれのビデオフィードを送信することが可能となる。これらのリモートモニタリング施設は典型的には、モニタリング対象ビデオフィード、関心のあるフラグイベントを見て、関心のあるイベントに応答して適切な措置を講じる人間のオペレータが配置されたモニタリングステーションを利用する。ビデオ監視カメラ/センサおよび関連するネットワーク技術の費用が減少し続けるにつれて、ビデオ監視の使用が場合によっては指数関数的に増加し続けることが予想される。しかしながら、人間のオペレータが配置されたモニタリングステーションを利用することにより、ビデオ監視システムによって生成されるビデオフィードをモニタリングすることは、ビデオ監視の拡張可能性を制限し、イベントが検出される精度に影響し得る。特に、モニタリングされるべきビデオフィードの数によって人間のオペレータに過剰な負担がかかっている場合は、それが顕著である。
【0021】
本明細書において開示されるニューラルネットワークを用いて実装されるビデオ監視システムは、ビデオフィードモニタリングのために人間のオペレータを利用する従来のビデオ監視システムに関連する拡張可能性および精度の問題に対する技術的解決法を提供する。本明細書において開示される例のビデオ監視システムは、モニタリング対象ビデオフィードにおけるイベントを検出または推論するように訓練される推論エンジンを有するニューラルネットワークを含む。以下で更に詳細に開示されるように、ニューラルネットワークは、人間のオペレータによる判断に基づいて決定された参照イベントラベルを有する参照ビデオセグメントの訓練セットを使用して訓練される。例えば、参照イベントラベルは、対応する参照ビデオセグメントが、定義されたイベント(例えば、セキュリティ違反、人間の存在、荷物の到着、任意の指定された/予め決定されたイベントなど)を表現するかどうかを記述できる。いくつかの例において、参照イベントラベルはまた、関心のあるイベントの種類(例えば、セキュリティ違反、人間の存在、荷物の到着など)の説明と、対応する参照ビデオセグメントが、記述されたイベントを表現するかどうかのインジケーションとを含むことができる。
【0022】
以下で更に詳細に説明されるように、いくつかの開示される例のビデオ監視システムは、訓練された推論エンジンのインスタンスを1または複数のモニタリング位置にデプロイし、それぞれのモニタリング対象ビデオフィードからイベントを推論する。例えば、訓練された推論エンジンは、1または複数の訓練されたイベント(例えば、セキュリティ違反、人間の存在、荷物の到着など)が、モニタリングする対応ビデオフィードにおいて表示されているかどうかを推論するように(例えば、並列に、非同期的に、協同的に、など)動作し得る。いくつかのそのような例において、訓練された推論エンジンは、人間のオペレータが配置されたモニタリングステーションによる実行のために、または、それと連携した動作のためにデプロイされ得、それにより、人間のオペレータによって実行されるモニタリングを拡張する。いくつかのそのような例において、有人モニタリングステーションと連携して動作する、訓練された推論エンジンによって出力される推論イベントは、推論エンジンの動作を改善するために使用できる更新訓練データを決定するために人間のオペレータによって下された対応する判断と比較することができる。例えば、ビデオ監視システムにおけるニューラルネットワークは、更新訓練データを受信し、その推論エンジンを再訓練し、次に、再訓練された推論エンジンのインスタンスを1または複数のモニタリング位置に再デプロイできる。いくつかの例において、訓練/再訓練された推論エンジンのインスタンスは、無人モニタリング位置にデプロイでき、または、有人の場所に更なる能力を提供するためにデプロイでき、それにより、ビデオ監視システムの能力が需要の増大に合わせて容易にスケーリングすることを可能にする。本明細書に開示されるニューラルネットワークを用いたビデオ監視のこれら、および、他の態様は、以下において更に詳細に説明される。
【0023】
図を参照すると、例のビデオ監視システム100のブロック図が
図1に示される。
図1の例のビデオ監視システム100は、例のイメージングセンサ105A-D、例のネットワーク110、および例のモニタリングステーション115A-Bを含む。
図1の図示した例において、イメージングセンサ105A-Dは、これらに限定されないが、1または複数の営利企業、小企業、官公庁、教育機関、家、公園、共用エリアなど、および/または、これらの任意の組み合わせにおけるエリアなど、関心のあるエリアをモニタリングするよう構成される。例のイメージングセンサ105A-Dは、任意の数、種類、および/または組み合わせのイメージングセンサを含むことができる。例えば、イメージングセンサ105A-Dは、1または複数のビデオカメラ、スマートフォン、フォトダイオード、光検出器などにより実装できる。
【0024】
図1の例のビデオ監視システム100において、イメージングセンサ105A-Dは、例のネットワーク110と通信可能なネットワークインタフェースを含む。例のネットワーク110は、任意の数、種類、および/または組み合わせのネットワークによって実装できる。例えば、ネットワーク110は、インターネット、および/または、インターネットを介してアクセス可能な1または複数のクラウドサービスによって実装できる。いくつかの例において、イメージングセンサ105A-Dは、1または複数の無線アクセスポイント(例えば、セルラアクセスポイント/基地局、無線ローカルエリアネットワークアクセスポイント、Bluetooth(登録商標)アクセスポイントなど)、有線アクセスポイント(例えば、イーサネット(登録商標)アクセスポイント、ケーブル通信リンクなど)、またはそれらの任意の組み合わせを介してネットワーク110にアクセス可能なネットワークインタフェースを含む。
【0025】
図1の例のビデオ監視システム100において、イメージングセンサ105A-Dは、ネットワーク110と通信可能なネットワークインタフェースをそれぞれ含むモニタリングステーション115A-Bへそれぞれのビデオフィードを送信する。このように、モニタリングステーション115A-Bは、ネットワーク110を介してイメージングセンサ105A-Dと通信する。「通信」という語句(その変形を含む)は、本明細書において使用される場合、1または複数の仲介コンポーネントを通じた直接通信および/または間接通信を包含し、直接の物理的(例えば有線)通信および/または定常的通信を必要とするものではなく、周期的または非周期的な間隔、および、1回のイベントの選択可能な通信を追加的に含む。
【0026】
図示した例のモニタリングステーション115A-Bは、モニタリング対象ビデオフィードを提示すること、および、モニタリング対象ビデオフィードに関するユーザ入力を受け付けることが可能な任意のシステム/デバイスによって実装できる。例えば、モニタリングステーション115A-Bは、1または複数のコンピュータ、ワークステーション、スマートフォン、タブレットコンピュータ、パーソナルデジタルアシスタント(PDA)など任意の数、種類、および/または組み合わせのコンピューティングシステム/デバイスによって実装できる。いくつかの例において、モニタリングステーション115A-Bは、以下において更に詳細に説明される、
図9に示される例のプロセッサプラットフォーム900などのプロセッサプラットフォームによって実装される。
【0027】
図1に図示した例において、モニタリングステーション115A-Bは、例のそれぞれのディスプレイ120A-Bと、例のそれぞれのモニタリングインタフェース125A-Bとを含むことにより、イメージングセンサ105A-Dによって報告されるビデオフィードが人間のオペレータ130A-Bによってモニタリングされることを可能にする。図示した例において、モニタリングステーション115A-Bのそれぞれのディスプレイ120A-Bは、イメージングセンサ105A-Dによって報告される1または複数のビデオフィードを提示するよう構成される。例えば、ディスプレイ120A-Bは、1つのビデオフィードを提示すること、複数のビデオフィードを1回に1つずつ提示することを繰り返すこと、複数のビデオフィードをタイル方式で同時に提示することなどができる。
【0028】
モニタリングステーション115A-Bのそれぞれのモニタリングインタフェース125A-Bは、ディスプレイ120A-Bによって提示されるビデオフィードにイベントが表現されるかどうかに関して人間のオペレータ130A-Bによって下された判断が反映された人間のオペレータ130A-Bからの入力を受け付けるよう構成される。例えば、モニタリングインタフェース125A-Bは、入力ボタンまたはキー(
図1において「Y」および「N」というラベルが付される)を含むことができ、これにより、モニタリング対象ビデオフィードのビデオセグメントが関心のあるイベントを表現する、または、そうでなければ表示するかどうかを人間のオペレータ130A-Bが示すことを可能にする(例えば、「Y」は関心のあるイベントが表現され/表示されることを示し、「N」は関心のあるイベントが表現されない/表示されないことを示す)。例えば、人間のオペレータ130A-Bは、これらに限定されないが、セキュリティ違反、人間の存在、荷物の到着など、関心のあるイベントを検出するように訓練され得る。いくつかのそのような例において、モニタリングインタフェース125A-Bの「Y」および「N」の入力は、関心のあるイベントが、モニタリング対象ビデオフィードのビデオセグメントに表現される、または、そうでなければ、表示されるかどうかを示すために人間のオペレータ130A-Bが使用できる。いくつかの例において、モニタリングインタフェース125A-Bは、イベントの種類の記述を人間のオペレータ130A-Bが入力することを可能にすることにより、より高い柔軟性を提供するための入力/出力機能(
図1において「I/O」のラベルが付される)を更に含むことができる。そのような例において、人間のオペレータ130A-Bは、関心のある1または複数のイベントだけのモニタリングに制限されず、任意の種類の関心のあるイベントの記述を入力できる。このように、この追加機能は、関心のあるイベントが経時的に変化することを可能にする。いくつかの例において、人間のオペレータ130A-Bは、「I/O」インタフェースを使用して、モニタリング対象ビデオフィードの特定のビデオセグメントにおいてモニタリングされるイベントの種類の記述を入力でき、「Y」および「N」入力を使用して、モニタリング対象ビデオセグメントにおいてそのイベントが実際に表現されている、またはそうでなければ表示されているかどうかを示すことができる。
【0029】
図1の例のビデオ監視システム100は、4つのイメージングセンサ105A-D、1つのネットワーク110、および、2つのモニタリングステーション115A-Bを含むように示されるが、ビデオ監視システム100はこれに限定されない。むしろ、例のビデオ監視システム100は、任意の数のイメージングセンサ105A-D、任意の数のネットワーク110、および、任意の数のモニタリングステーション115A-Bを含むことができる。
【0030】
本開示の教示による、ニューラルネットワークを用いてビデオ監視を実装する第1の例のビデオ監視システム200のブロック図が
図2に示される。
図2の例のビデオ監視システム200は、
図1のビデオ監視システム100の例のイメージングセンサ105A-D、例のネットワーク110、および、例のモニタリングステーション115A-Bを含む。そのようにして、ビデオ監視システム200のこれらの要素の態様が、
図1の説明に関連して上述されている。
【0031】
図2の例のビデオ監視システム200はまた、本開示の教示にしたがって実装される例のニューラルネットワーク205、および、例のデータベース210を含む。例のデータベース210は、例のネットワーク110と通信可能な1または複数のネットワークインタフェースを含む。
図2の図示した例において、データベース210は、ネットワーク110を介してモニタリングステーション115A-Bと通信し、ビデオセグメントを記述する、対応するイベントラベルを有するビデオセグメントをモニタリングステーション115A-Bから受信する。モニタリングステーション115A-Bから受信されるビデオセグメントは、モニタリングされるビデオフィードから得られる。イベントラベルは、人間のオペレータ130A-Bによって入力された判断情報に基づいて、対応するビデオセグメントが、関心のあるイベントを表現する、または、そうでなければ表示するかどうかを示す。いくつかの例において、対応するビデオセグメントのイベントラベルは、定義されたイベントをビデオセグメントが表現する、または、そうでなければ表示するかどうかを示す。いくつかの例において、対応するビデオセグメントについてのイベントラベルは、イベントの種類の記述を含み、または、そうでなければ示し、また、ビデオセグメントがイベントの種類を表現する、または、そうでなければ表示するかどうかを示す。
【0032】
図示した例において、データベース210は、モニタリングステーション115A-Bから受信された対応するイベントラベルを有するビデオセグメントを、ニューラルネットワーク205を訓練するために使用される、オペレータラベル付与ビデオセグメントとして扱う。例えば、データベース210は、モニタリングステーション115A-Bから受信されたビデオセグメントを、オペレータラベル付与ビデオセグメントの例の参照ビデオセグメント215として扱い、モニタリングステーション115A-Bから受信された対応するイベントラベルを、オペレータラベル付与ビデオセグメントの参照ビデオセグメント215に対応する参照イベントラベル218として扱う。更に、データベース210は、参照ビデオセグメント215と、レコード220によって表示される、オペレータラベル付与ビデオセグメントの対応する参照イベントラベル218とを含む、オペレータラベル付与ビデオセグメントの例のレコード220を生成する。そのようにして、オペレータラベル付与ビデオセグメントの各レコード220は、そのレコード220によって表示される、オペレータラベル付与ビデオセグメントについての参照ビデオセグメント215および対応する参照イベントラベル218を含む。したがって、いくつかの例において、データベース210は、オペレータラベル付与ビデオセグメントを取得するための手段を実装し、ここで、オペレータラベル付与ビデオセグメントは、参照ビデオセグメントと、参照ビデオセグメントを記述する、対応する参照イベントラベルとを含む。オペレータラベル付与ビデオセグメントを取得するための他の手段は、これらに限定されないが、ビデオセグメントを記述する、対応するイベントラベルを有するビデオセグメントを収集して組み合わせて、オペレータラベル付与ビデオセグメントを形成するように構築された、コンピューティングデバイス、サーバ、クラウドベースのサービス、ウェブサイトなどを含み得る。
【0033】
図示した例のデータベース210はまた、ビデオセグメントからデータベース210によって作成された、オペレータラベル付与ビデオセグメントと、モニタリングステーション115A-Bから受信された対応するイベントラベルとのレコード220を格納するための例のレコードストレージ225を含む。図示した例のデータベース210のレコードストレージ225は、任意の数および/または種類のストレージ技術、メモリ技術などによって実装できる。例えば、データベース210は、以下で更に詳細に説明される、
図10に示される例のプロセッサプラットフォーム1000など、任意のコンピューティングシステム/デバイスによって実装できる。そのような例において、レコードストレージ225は、例のプロセッサプラットフォーム1000の例の大容量ストレージデバイス1028および/または揮発性メモリ1014のうち1または複数によって実装され得る。
【0034】
図示した例のニューラルネットワーク205は、イメージングセンサ105A-Dから取得されたモニタリング対象ビデオフィードからのビデオセグメントなどのビデオセグメントからイベントを推論するための例の推論エンジン230を含む。図示した例において、推論エンジン230は、ビデオセグメントからイベントを推論するように訓練される、1または複数の重み層(ニューロンとも称される)を含む畳み込みニューラルネットワーク(CNN)推論エンジンによって実装される。例えば、推論エンジン230は、1または複数の入力ビデオセグメント235を入力データとして受け付けるための入力層と、入力データを処理するための1または複数の隠れ層と、所与の入力ビデオセグメント235が、推論エンジン230が検出するように訓練された1または複数のイベントを表現またはそうでなければ表示するかどうかを示す1または複数の出力を提供するための出力層とを含むように構築され得る。いくつかの例において、推論エンジン230の出力は追加的に、または代替的に、推論エンジン230が検出するように訓練された1または複数のイベントを所与の入力ビデオセグメント235が表現する、または、そうでなければ表示する可能性(例えば確率)を提供し得る。示される例のニューラルネットワーク205の推論エンジン230は、CNNによって実装されるが、推論エンジン230を実装するために他のニューラルネットワークの解決法を使用できる。
【0035】
図示した例のニューラルネットワーク205はまた、例の訓練エンジン240と、例のコンパレータ245と、例の訓練データ検索部250とを含むことにより、入力ビデオセグメント235からイベントを推論するよう推論エンジン230を訓練する。図示した例において、訓練データ検索部250は、データベース210から、推論エンジン230を訓練するための訓練データとして使用されるべきオペレータラベル付与ビデオセグメントのレコード220のセットを検索する。例えば、訓練データ検索部250は、オペレータラベル付与ビデオセグメントのレコード220のセットに対する要求をデータベース210へ送信し得る。いくつかの例において、要求は、要求されるレコード220の数を含む。いくつかの例において、要求は追加的に、または代替的に、訓練セットに含まれる、オペレータラベル付与ビデオセグメントのレコード220によって表現される、またはそうでなければ表示されるイベントの種類を含む。そのような例において、データベース210は、オペレータラベル付与ビデオセグメントのレコード220の要求されたセットをレコードストレージ225から検索し、検索されたレコード220のセットを訓練データ検索部250へ送信することによって、要求に応答し得る。
【0036】
図示した例において、要求された訓練レコード220のセットがデータベース210から取得された後に、訓練データ検索部250は、訓練レコード220を推論エンジン230に適用して、レコード220の訓練セットに含まれる、オペレータラベル付与ビデオセグメントからイベントを推論するよう推論エンジン230を訓練する。例えば、訓練レコード220のうち所与の1つについて、訓練データ検索部250は、当該訓練レコード220の参照ビデオセグメントを入力ビデオセグメント235として推論エンジン230に適用する。訓練データ検索部250はまた、当該訓練レコードの対応する参照イベントラベルを、コンパレータ245によって比較される例の訓練イベントラベル255として、推論エンジン230からの推論されたイベント判断出力に適用する。理想的には、訓練されるとき、推論エンジン230からの推論されたイベント判断出力は、入力ビデオセグメント235に対応する訓練イベントラベル255にマッチする(例えば、ゼロの誤差を生じさせる)。しかしながら、推論エンジン230が訓練されている間、コンパレータ245は、訓練イベントラベル255と推論エンジン230からの推論されたイベント判断出力との間の誤差を検出し得る。図示した例において、コンパレータ245の出力は、訓練エンジン240に提供され、訓練エンジン240は任意の適切な方式で誤差をフィードバックして、推論エンジン230の重みの層を、推論エンジン230が入力セグメント235からイベントを推論する精度に更新する。例えば、訓練エンジン240は、バックプロパゲーションを実行して推論エンジン230を訓練するバックプロパゲーション部として示される。しかしながら、任意の他の適切な訓練機構が訓練エンジン240によって実装され得る。したがって、いくつかの例において、訓練エンジン240は、オペレータラベル付与ビデオセグメントの訓練セットに基づいて、推論エンジンの第1インスタンスを訓練するための手段を実装し、ここで、推論エンジンの第1インスタンスは、訓練セットに含まれる、オペレータラベル付与ビデオセグメントからイベントを推論するためのものである。オペレータラベル付与ビデオセグメントの訓練セットに基づいて推論エンジンの第1インスタンスを訓練するための他の手段は、オペレータラベル付与ビデオセグメントの訓練セットを取得すること、および、訓練セットを任意の種類の機械学習推論エンジンに適用して推論エンジンを訓練することを行うよう構築されたコンピューティングデバイス、サーバ、クラウドベースのサービス、ウェブサイトなどを含み得るが、これらに限定されない。
【0037】
いくつかの例において、訓練データ検索部250は、所望の推論精度が達成されたことをコンパレータ245が示すまで、訓練レコード220のうちの異なるものを推論エンジン230に適用し続ける。例えば、推論精度は、正確なイベント検出の割合閾値(例えば、参照イベントラベルによって表されるように対応するイベントが存在するかどうかを推論エンジン230が正確に推論する入力参照ビデオセグメントの数の割合に対応する)、イベント誤検出の割合閾値(例えば、参照ビデオセグメントに対応する参照イベントラベルによって示されるようにイベントが実際に存在しないときに、対応するイベントが存在すると推論エンジン230が誤って推論する入力参照ビデオセグメントの数の割合に対応する)、見逃したイベント検出の閾値(例えば、参照ビデオセグメントに対応する参照イベントラベルによって示されるようにイベントが実際に存在するときに対応するイベントが存在しないと推論エンジン230が誤って推論する入力参照ビデオセグメントの数の割合に対応する)などとして指定できる。
【0038】
図2の例のビデオ監視システム200は、4つのイメージングセンサ105A-D、1つのネットワーク110、2つのモニタリングステーション115A-B、1つのニューラルネットワーク205、および、1つのデータベース210を含むものとして示されているが、ビデオ監視システム200はこれに限定されない。むしろ、例のビデオ監視システム200は、任意の数のイメージングセンサ105A-D、任意の数のネットワーク110、任意の数のモニタリングステーション115A-B、任意の数のニューラルネットワーク205、および、任意の数のデータベース210を含むことができる。
【0039】
本開示の教示による、ニューラルネットワークを用いてビデオ監視を実装する第2の例のビデオ監視システム300のブロック図が
図3に示される。
図3の例のビデオ監視システム300は、
図1および
図2のビデオ監視システム100および200の例のイメージングセンサ105A-D、例のネットワーク110、および、例のモニタリングステーション115A-Bを含む。したがって、ビデオ監視システム300のこれらの要素の態様は、
図1および
図2の説明に関連して上述されている。
図3の例のビデオ監視システム300はまた、
図2のビデオ監視システム200の例のニューラルネットワーク205および例のデータベース210を含む。このように、ビデオ監視システム300のこれらの要素の態様が、
図2の説明に関連して上述されている。
【0040】
図3に示される例のビデオ監視システム300において、ニューラルネットワーク205はまた、モニタリング対象ビデオフィードからイベントを推論するための訓練された推論エンジン230のインスタンスをデプロイする例のデプロイ部305を含む。そのようにして、図示した例において、推論エンジン230は、推論エンジン230の第1(または参照)インスタンスに対応し、デプロイ部は、推論エンジン230の第1(または参照)インスタンス(例えば、最初はその複製)に基づく推論エンジン230の他のインスタンスをデプロイする。例えば、デプロイ部305は、例のモニタリングステーション115Aによる、またはそれと連携した実行のために、推論エンジン230の第2の例のインスタンス310Aをデプロイし、例のモニタリングステーション115Bによる、または、それと連携した実行のために、推論エンジン230の第3の例のインスタンス310Bをデプロイする。
【0041】
いくつかの例において、デプロイ部305は、推論エンジン230のインスタンス、例えば、第2インスタンス310Aおよび第3のインスタンス310Bなどを、ニューラルネットワーク205に含まれる推論エンジン230の第1インスタンスを訓練することによって取得される訓練された重み層を表すデータとしてデプロイする。そのような例において、デプロイ部305は、訓練された重みの層を表すデータを、標的モニタリング位置に既に存在する推論エンジン230のインスタンス、例えば、第2インスタンス310Aおよび第3のインスタンス310Bなどに(例えばネットワーク110を介して)ダウンロードする。いくつかの例において、デプロイ部305は、推論エンジン230のインスタンス、例えば、第2インスタンス310Aおよび第3のインスタンス310Bなどを、モニタリングステーション115A-Bなどのコンピューティングデバイスによって実行されるダウンロード可能な(例えば、ネットワーク110を介してダウンロードされる)実行ファイルとしてデプロイする。したがって、いくつかの例において、デプロイ部305は、モニタリング対象ビデオフィードからイベントを推論するための推論エンジンのインスタンスをデプロイするための手段を実装し、ここで、デプロイされた推論エンジンのインスタンスは、訓練された推論エンジンのインスタンス(例えば、最初はその複製)に基づく。推論エンジンのインスタンスをデプロイする他の手段は、これらに限定されないが、訓練された推論エンジンのインスタンスのコピーを取得およびデプロイするよう構築されたコンピューティングデバイス、サーバ、クラウドベースのサービス、ウェブサイトなどを含み得る。
【0042】
図3の例のビデオ監視システム300において、推論エンジン230の第2インスタンス310A、および、推論エンジン230の第3のインスタンス310Bは、それぞれのモニタリングステーション115A-Bによって実行される、または、そうでなければそれらと連携して動作するよう実装される、それぞれの強化推論エンジン315Aおよび315Bの一部である。図示した例において、強化推論エンジン315Aは、モニタリングステーション115Aによって処理されるモニタリング対象ビデオフィードからイベントを推論するために、モニタリングステーション115Aによって実行される、または、そうでなければ実装される。例えば、強化推論エンジン315Aに含まれる推論エンジン230の第2インスタンス310Aは、モニタリングステーション115Aによってモニタリングされるビデオフィードのビデオセグメントを受け付け、モニタリング対象ビデオセグメントについての推論されたイベントを出力する(例えば、モニタリング対象ビデオセグメントのそれぞれに特定のイベントが表現されているかどうかのインジケーションなど)。強化推論エンジン315Aはまた、対応するモニタリング対象ビデオセグメントについて推論エンジン230の第2インスタンス310Aによって出力された推論イベントと、対応するモニタリング対象ビデオセグメントについて、モニタリングステーション115Aによって検出されたオペレータの判断(例えば、上述のように、モニタリングインタフェース125Aを介して人間のオペレータ130Aによって入力される)からモニタリングステーション115Aによって生成されたそれぞれのオペレータイベントラベルとを比較することによって、更新訓練データを決定するための例のコンパレータ320Aを含む。コンパレータ320Aは、この更新訓練データを(例えばネットワーク110を介して)ニューラルネットワーク205に報告する。
【0043】
同様に、
図3の図示した例において、モニタリングステーション115Bによって処理されるモニタリング対象ビデオフィードからイベントを推論するために、強化推論エンジン315Bは、モニタリングステーション115Bによって実行される、または、そうでなければ実装される。例えば、強化推論エンジン315Bに含まれる推論エンジン230の第3のインスタンス310Bは、モニタリングステーション115Bによってモニタリングされるビデオフィードのビデオセグメントを受け付け、モニタリング対象ビデオセグメントについての推論されたイベントを出力する(例えば、モニタリング対象ビデオセグメントのそれぞれに特定のイベントが表現されているかどうかのインジケーションなど)。強化推論エンジン315Bはまた、対応するモニタリング対象ビデオセグメントについて推論エンジン230の第3のインスタンス310Bによって出力された推論イベントと、対応するモニタリング対象ビデオセグメントについて、モニタリングステーション115Bによって検出されたオペレータの判断(例えば、上述のように、モニタリングインタフェース125Bを介して人間のオペレータ130Bによって入力される)からモニタリングステーション115Bによって生成されたそれぞれのオペレータイベントラベルとを比較することによって、更新訓練データを決定するための例のコンパレータ320Bを含む。コンパレータ320Bは、この更新訓練データをニューラルネットワーク205へ(例えば、ネットワーク110を介して)報告する。
【0044】
図3に図示した例において、ニューラルネットワーク205は、それぞれのモニタリングステーション115A-Bによって実装された強化推論エンジン315A-Bから受信された更新訓練データを使用して、ニューラルネットワーク205に含まれる推論エンジン230の第1インスタンスを再訓練し、イベント推論精度を改善する。例えば、ニューラルネットワーク205は、1または複数のイベントに基づいて(例えば、閾値量の更新訓練データが、それぞれのモニタリングステーション115A-Bによって実装された強化推論エンジン315A-Bから受信されたときなど)、オペレータ入力など、または、それの任意の組み合わせに基づいて、周期的間隔で推論エンジン230の第1インスタンスを再訓練し得る。いくつかの例において、図示した例のニューラルネットワーク205のデプロイ部305は次に、再訓練された推論エンジン230のインスタンスを1または複数の標的モニタリング位置に再デプロイする。例えば、デプロイ部305は、再訓練された推論エンジン230のインスタンスを再デプロイして、モニタリングステーション115Aの推論エンジン230によって実装される第2インスタンス310A、および/または、モニタリングステーション115Bによって実装される推論エンジン230の第3のインスタンス310Bを更新/置換できる。
【0045】
図3の例のビデオ監視システム300が、4つのイメージングセンサ105A-D、1つのネットワーク110、2つの強化推論エンジン315A-Bを実装する2つのモニタリングステーション115A-B、1つのニューラルネットワーク205、および、1つのデータベース210を含むものとして示されるが、ビデオ監視システム200はこれに限定されない。むしろ、例のビデオ監視システム200は、任意の数のイメージングセンサ105A-D、任意の数のネットワーク110、任意の数の強化推論エンジン315A-Bを実装する任意の数のモニタリングステーション115A-B、任意の数のニューラルネットワーク205、および、任意の数のデータベース210を含み得る。
【0046】
本開示の教示による、ニューラルネットワークを用いるビデオ監視を実装する第3の例のビデオ監視システム400のブロック図が
図4に示される。
図4の例のビデオ監視システム400は
図1~
図3のビデオ監視システム100、200および300の例のイメージングセンサ105A-D、例のネットワーク110、および例のモニタリングステーション115A-Bを含む。したがって、ビデオ監視システム400のこれらの要素の態様は、
図1から
図3の説明に関連して上述されている。
図3の例のビデオ監視システム400はまた、
図2~
図3のビデオ監視システム200および300の例のニューラルネットワーク205および例のデータベース210を含む。したがって、ビデオ監視システム400のこれらの要素の態様は、
図2から
図3説明に関連して上述される。
【0047】
図4に示される例のビデオ監視システム400において、ニューラルネットワーク205のデプロイ部305はまた、モニタリングステーション115A-Bと連携することなく、ビデオフィードをモニタリングするための訓練された推論エンジン230のインスタンスをデプロイする。例えば、ビデオ監視システム400において、ニューラルネットワーク205のデプロイ部305は、訓練された推論エンジン230のインスタンスを無人モニタリング位置にデプロイできる。追加的に、または代替的に、ニューラルネットワーク205のデプロイ部305は、訓練された推論エンジン230のインスタンスを、モニタリングステーション115A-Bなどのモニタリングステーションを有するモニタリング位置にデプロイできるが、モニタリングステーションから独立した動作のためのである。例えば、
図4のビデオ監視システム400において、ニューラルネットワーク205のデプロイ部305は、推論エンジン230の第4の例のインスタンス410Aおよび推論エンジン230の第5の例のインスタンス410Bをデプロイして、モニタリングステーション115A-Bから独立してビデオフィードをモニタリングする。したがって、推論エンジン230の追加インスタンスは、費用効果の高い方式でビデオ監視システム400におけるモニタリング能力を増大させるようにデプロイされることができる。
【0048】
図4の例のビデオ監視システム400は、4つのイメージングセンサ105A-D、1つのネットワーク110、2つの強化推論エンジン315A-Bを実装する2つのモニタリングステーション115A-B、1つのニューラルネットワーク205、1つのデータベース210、推論エンジン230の2つの別個のインスタンス410A-Bを含むものとして示されるが、ビデオ監視システム200はこれに限定されない。むしろ、例のビデオ監視システム200は、任意の数のイメージングセンサ105A-D、任意の数のネットワーク110、任意の数の強化推論エンジン315A-Bを実装する任意の数のモニタリングステーション115A-B、任意の数のニューラルネットワーク205、任意の数のデータベース210、および、推論エンジン230の任意の数のインスタンス410A-Bを含むことができる。
【0049】
また、示される例のビデオ監視システム200、300および400は、イメージングセンサ105A-Dを含むが、本明細書に開示されるニューラルネットワークを用いる監視モニタリングはビデオ監視だけに限定されない。例えば、本明細書に開示されるニューラルネットワーク技術は、他のモニタリングセンサの使用に適合されることができる。例えば、ビデオ監視システム100、200および/または300は、イメージングセンサ105A-Dに加えて、または替えて、他のセンサを含むことができる。そのような他のセンサは、これらに限定されないが、モーションセンサ、熱/温度センサ、音センサ(例えばマイク)、電磁センサなどを含むことができる。そのような例において、これらのセンサは、場合によってはモニタリングステーション115A-Bのうち1または複数と連携して、推論エンジン230、310A、310B、410Aおよび/または410Bのうち1または複数によるモニタリングのために、ネットワーク110を介してそれぞれのデータフィードを送信する。
【0050】
ビデオ監視システム100、200、300および400を実装する例の方式が
図1~
図4に示されているが、
図1~
図4に示される要素、プロセス、および/またはデバイスのうち1または複数は組み合わされ、分割され、再配置され、省略され、除去され、および/または、任意の他の方式で実装され得る。更に、
図1~
図4の例のビデオ監視システム100、200、300および/または400、例のイメージングセンサ105A-D、例のネットワーク110、例のモニタリングステーション115A-B、例のニューラルネットワーク205、例のデータベース210、例の強化推論エンジン315A-B、および/または、推論エンジン230の例のインスタンス310A-Bおよび/または410A-Bは、ハードウェア、ソフトウェア、ファームウェア、および/または、ハードウェア、ソフトウェア、および/またはファームウェアの任意の組み合わせによって実装され得る。したがって、例えば、例のビデオ監視システム100、200、300および/または400、例のイメージングセンサ105A-D、例のネットワーク110、例のモニタリングステーション115A-B、例のニューラルネットワーク205、例のデータベース210、例の強化推論エンジン315A-B、および/または、推論エンジン230の例のインスタンス310A-Bおよび/または410A-Bのいずれかは、1または複数のアナログまたはデジタル回路、論理回路、プログラム可能プロセッサ、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、および/またはフィールドプログラマブル論理デバイス(FPLD)によって実装され得る。本特許の装置またはシステム請求項のいずれかが純粋なソフトウェアおよび/またはファームウェアの実装を網羅するものと読むとき、例のビデオ監視システム100、200、300および/または400、例のイメージングセンサ105A-D、例のネットワーク110、例のモニタリングステーション115A-B、例のニューラルネットワーク205、例のデータベース210、例の強化推論エンジン315A-B、および/または、推論エンジン230の例のインスタンス310A-Bおよび/または410A-Bのうちの少なくとも1つは、本明細書において、ソフトウェアおよび/またはファームウェアを含む、メモリ、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、ブルーレイ(登録商標)ディスクなどの非一時的コンピュータ可読ストレージデバイスまたはストレージディスクを含むものとして本明細書において明示的に定義される。なお更に、例のビデオ監視システム100、200、300および/または400は、
図1から4に示されるものに加えて、または替えて、1または複数の要素、プロセスおよび/またはデバイスを含み得、および/または、示される要素、プロセスおよびデバイスのいずれかまたはすべてを1つより多く含み得る。
【0051】
例のビデオ監視システム100、200、300および/または400を実装するための例の機械可読命令、例のイメージングセンサ105A-D、例のネットワーク110、例のモニタリングステーション115A-B、例のニューラルネットワーク205、例のデータベース210、例の強化推論エンジン315A-B、および/または、推論エンジン230の例のインスタンス310A-Bおよび/または410A-Bを表すフローチャートが
図5から
図8に示される。これらの例において、機械可読命令は、
図9から
図11に関連して以下で説明される例のプロセッサプラットフォーム900、1000および1100に示されるプロセッサ912、1012および/または1112などのプロセッサによって実行するための1または複数のプログラムを含む。1または複数のプログラム、またはその一部は、CD‐ROM、フロッピーディスク、ハードドライブ、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、または、プロセッサ912、1012および/または1112に関連するメモリなど、非一時的コンピュータ可読記憶媒体に格納されるソフトウェアにおいて具現化され得るが、プログラムまたは複数のプログラム全体および/またはその一部は代替的に、プロセッサ912、1012および/または1112以外のデバイスによって実行され得る、および/または、ファームウェアまたは専用ハードウェア(例えば、ASIC、PLD、FPLD、ディスクリートロジックなどにおいて実装される)において具現化され得る。更に、例のプログラムは、
図5から
図8に示されるフローチャートを参照して説明されるが、例のビデオ監視システム100、200、300および/または400、例のイメージングセンサ105A-D、例のネットワーク110、例のモニタリングステーション115A-B、例のニューラルネットワーク205、例のデータベース210、例の強化推論エンジン315A-B、および/または、推論エンジン230の例のインスタンス310A-Bおよび/または410A-Bを実装する多くの他の方法が代替的に使用され得る。例えば、
図5から
図8に示されるフローチャートを参照すると、ブロックの実行順序は変更され得る、および/または、説明されるブロックのいくつかに対して、変更、除去、組み合わせ、および/または、複数のブロックへの細分化が行われ得る。追加的に、または代替的に、ブロックのいずれかまたはすべては、ソフトウェアまたはファームウェアを実行することなく対応する動作を実行するよう構築された1または複数のハードウェア回路(例えば、ディスクリートおよび/または統合アナログおよび/またはデジタル回路、フィールドプログラム可能ゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、コンパレータ、オペレーショナル・アンプリファイア(オペアンプ)、論理回路など)によって実装され得る。
【0052】
上記のように、
図5~
図8の例のプロセスは、情報が任意の時間長(例えば、長期間、永久、短期間、一時的バッファ、および/または、情報のキャッシュのために)格納されるハードディスクドライブ、フラッシュメモリ、リードオンリーメモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、および/または、任意の他のストレージデバイスまたはストレージディスクなどの非一時的コンピュータおよび/または機械可読媒体に格納された、符号化された命令(例えば、コンピュータおよび/または機械可読命令)を使用して実装され得る。本明細書に使用される場合、非一時的コンピュータ可読媒体という用語は、任意の種類のコンピュータ可読ストレージデバイスおよび/またはストレージディスクを含み、伝搬する信号を排除し、送信媒体を排除するように明示的に定義される。
【0053】
「含む(including)」および「含む(comprising)」(およびこれらのすべての形態および時制)は、本明細書ではオープンエンドの用語として用いられている。したがって、請求項において、「含む(including)」または「含む(comprising)」の任意の形態(例えば、comprises、includes、comprising、includingなど)の後に何かが列挙される場合、その追加の要素、用語などは、対応する請求項の範囲を逸脱することなく存在し得ることを理解すべきである。本明細書において使用される場合、「少なくとも」という語句が、請求項のプリアンブルにおいて移行部として使用される場合、「含む(including)」および「含む(comprising)」という用語がオープンエンドであるのと同じ方式で、オープンエンドである。また、本明細書において使用される場合、「コンピュータ可読」および「機械可読」という用語は、別段の記載が無い限り、同等としてみなされる。
【0054】
図1~
図4の例のビデオ監視システム100、200、300および400に含まれる1または複数の例のモニタリングステーション115A-Bを実装するために実行され得る例のプログラム500が
図5に示される。利便性のために、一般性を失うことなく、例のプログラム500の実行は、
図4の例のビデオ監視システム400において動作する例のモニタリングステーション115Aの観点から説明される。上述の図、および、関連する書面の記述を参照すると、
図5の例のプログラム500は、ブロック505で実行を開始する。このブロックにおいて、モニタリングステーション115Aは、ネットワーク110を介してイメージングセンサ105A-Dの1つから受信されたビデオフィードにアクセスし、モニタリングステーション115Aのディスプレイ120Aを介して、アクセスされたビデオフィードを提示する。ブロック510において、モニタリングステーション115Aは、モニタリングステーション105Aのモニタリングインタフェース125Aを介して、人間のオペレータ130Aによって入力されたオペレータの判断を検出する。上述のように、ブロック510で検出されたオペレータの判断は、モニタリング対象ビデオフィードにおいて、関心のあるイベントが表現されている、または、そうでなければ表示されているかどうかを示す。例えば、モニタリングステーション115Aは、任意のセグメンテーション基準に基づいて、アクセスされたビデオフィードを、モニタリング対象ビデオセグメントにセグメント化し得る。例えば、モニタリングステーション115Aは、検出されたビデオフィードにおける遷移に基づいて、フィードを提供するイメージングセンサ105A-Dの特徴(例えば、センサの掃引速度、センサの撮像速度など)に基づいて、モニタリング対象ビデオフィードを、所与の時間長(例えば、15秒、30秒、60秒など、または任意の時間長)を有する連続ビデオセグメントにセグメント化し得る。そのような例において、モニタリングインタフェース125Aは、入力されたオペレータの判断を、その時間にディスプレイ120Aによって提示されている特定のモニタリング対象ビデオセグメントと関連付ける。いくつかの例において、所与のビデオセグメントが提示されている間にオペレータの判断の入力が検出されなかった場合、オペレータの判断は、所与のビデオセグメントの間に関心のあるイベントが表現されていないということであると、モニタリングインタフェース125Aが決定する。上述のように、いくつかの例において、入力されたオペレータの判断は、予め定義された関心のあるイベントがモニタリング対象ビデオセグメントにおいて表現されているかどうかについてのYesまたはNoのインジケーションである。しかしながら、いくつかの例において、入力されたオペレータの判断はまた、関心のあるイベントの種類の記述、および、記述されている関心のあるイベントが、モニタリング対象ビデオセグメントにおいて表現されているかどうかについてのYesまたはNoのインジケーションを含むことができる。
【0055】
ブロック515において、モニタリングステーション115Aのモニタリングインタフェース125Aは、入力されたオペレータの判断が検出されたかどうかを決定する。オペレータの判断が検出された(ブロック515)場合、ブロック520において、モニタリングインタフェース125Aは、現在のモニタリング対象ビデオセグメントに関連付けられるイベントラベルにアクセスし、入力されたオペレータの判断を反映するようにイベントラベルを更新する。例えば、イベントラベルは、予め定義された関心のあるイベントが、対応するモニタリング対象ビデオセグメントに表現されているかどうかを示すことができる。いくつかの例において、イベントラベルは、関心のあるイベントの種類の記述、および、記述されている関心のあるイベントが、対応するモニタリング対象ビデオセグメントに表現されているかどうかについてのインジケーションを含む。いくつかの例において、所与のビデオセグメントが提示されている間にオペレータの判断の入力が検出されなかった場合、ブロック520において、モニタリングインタフェース125Aは、対応するビデオセグメントにおいて関心のあるイベントが表現されていないことを示すように、ビデオセグメントについてのイベントラベルを更新する。
図5の例に示されるように、モニタリングステーション105Aはまた、ブロック505においてアクセスされたビデオのビデオセグメントと、ブロック520においてアクセスされた対応するイベントラベルとをデータベース210に提供し、上述のオペレータラベル付与ビデオセグメントのレコード220をデータベース210が生成することを可能にする。
【0056】
図5の図示した例では、ブロック525において、モニタリングステーション115Aのモニタリングインタフェース125Aは、現在のモニタリング対象ビデオセグメントについて検出された、入力されたオペレータの判断が、アラームがトリガされるべきイベントの検出に対応するかどうかを決定する。アラームがトリガされるべきである場合(ブロック525)、ブロック530において、モニタリングインタフェース125Aは、アラームがトリガされるようにする。例えば、ブロック530において、モニタリングインタフェース125Aは、聴覚および/または視覚的アラームを自動でトリガし得、第1対応者などを招集するために緊急応答システムに連絡し得る。ブロック535において、モニタリングステーション115Aは、ビデオ監視モニタリングを継続すべきかどうかを決定する。ビデオ監視モニタリングが継続すべきである場合(ブロック535)、処理はブロック505およびその後続のブロックに戻り、モニタリングステーション115Aが現在のビデオフィードおよび/またはネットワーク110を介してイメージングセンサ105A-Dからモニタリングステーション115Aによって受信された他のビデオフィードのモニタリングを継続することを可能にする。
【0057】
図2~
図4の例のビデオ監視システム200、300および400に含まれる例のニューラルネットワーク205および例のデータベース210を実装するために実行され得る例のプログラム600が
図6に示される。利便性のために、一般性を失うことなく、例のプログラム600の実行は、
図4の例のビデオ監視システム400において動作する例のニューラルネットワーク205および例のデータベース210の観点から説明される。上述の図面および関連する書面の記述を参照すると、
図6の例のプログラム600は、ブロック605で実行を開始する。このブロックにおいて、データベース210は、上述のように、ネットワーク110を介してモニタリングステーション115A-Bから受信された、モニタリング対象ビデオセグメントと、対応するイベントラベルと、オペレータラベル付与ビデオセグメントのレコード220として格納する。ブロック610において、ニューラルネットワーク205は、データベース210によって生成および格納された、オペレータラベル付与ビデオセグメントのレコード220を使用して、上述のように、ビデオセグメントからイベントを推論するよう例の推論エンジン230の第1(または参照)インスタンスを訓練する。ブロック615において、ニューラルネットワーク205は、上述のように、モニタリング対象ビデオフィードからイベントを推論するために、訓練された推論エンジン230のインスタンスをモニタリング現場にデプロイする。
【0058】
図2~
図4の例のビデオ監視システム200、300および400に含まれる例のデータベース210を実装するために、および/または、
図6のブロック605の処理を実行するために実行され得る例のプログラム700が
図7に示される。利便性のために、一般性を失うことなく、例のプログラム700の実行は、
図4の例のビデオ監視システム400において動作する例のデータベース210の観点から説明される。上述の図面および関連する書面の記述を参照すると、
図7の例のプログラム700は、ブロック705で実行を開始し、このブロックにおいて、データベース210は、上述されるように、ネットワーク110を介して、モニタリング対象ビデオセグメントおよび対応するイベントラベルをモニタリングステーション115A-Bから受信する。上述のように、イベントラベルは、対応するモニタリング対象ビデオセグメントにおいて、関心のあるイベントが表現される、または、そうでなければ表示されるかどうかに関する、人間のオペレータによって入力された判断を反映する。ブロック710において、上述のように、データベース210は、ビデオセグメントから受信されたオペレータラベル付与ビデオセグメント、および、ブロック705で受信された対応するイベントラベルのレコード220を生成し、データベース210の例のレコードストレージ225にレコード220を格納する。
【0059】
ブロック715において、データベース210は、訓練データのセットに対する要求がニューラルネットワーク205から受信されたかどうかを決定する。上述のように、いくつかの例において、要求は、訓練データのセットに含める、要求されているレコード220の数を含む。いくつかの例において、要求は追加的に、または代替的に、訓練データのセットに含まれるレコード220によって表現される、または、そうでなければ表示されるイベントの種類を含む。訓練データに対する要求が受信された場合(ブロック715)、データベース210は、要求を満たすレコードストレージ225からレコード220の訓練セットを検索し、レコード220の訓練セットをニューラルネットワーク205へ(例えばネットワーク110を介して)出力し、ニューラルネットワークの訓練を容易にする。
【0060】
図2~
図4の例のビデオ監視システム200、300および400に含まれる例のニューラルネットワーク205を実装するために、および/または、
図6のブロック610および615において処理を実行するために実行され得る例のプログラム800が
図8に示される。利便性のために、一般性を失うことなく、例のプログラム800の実行は、
図4の例のビデオ監視システム400において動作する例のニューラルネットワーク205の観点から説明される。上述の図面および関連する書面の記述を参照すると、
図8の例のプログラム800は、ブロック805で実行を開始する。このブロックにおいて、ニューラルネットワーク205の例の訓練データ検索部250は、オペレータラベル付与ビデオセグメントの訓練レコード220のセットをデータベース210に要求して取得する。上述のように、いくつかの例において、要求は、訓練データのセットに含める、要求されるレコード220の数を含む。いくつかの例において、要求は追加的に、または代替的に、訓練データのセットに含まれるレコード220によって表現される、または、そうでなければ表示されるイベントの種類を含む。
【0061】
ブロック810において、例の訓練エンジン240および例のコンパレータ245は、上述のように、取得されたレコード220の訓練セットを使用して、レコード220の訓練セットに含まれる参照ビデオセグメントからイベントを推論することにより、ニューラルネットワーク205の例の推論エンジン230を訓練する。ブロック815において、ニューラルネットワーク205の例のデプロイ部305は、上述のように、モニタリング対象ビデオフィードからイベントを推論するために、訓練された推論エンジン230のインスタンスを1または複数の標的モニタリング位置にデプロイする。例えば、ブロック815において、デプロイ部305は、例のモニタリングステーション105A-Bによる実行、またはそれと連携した実行のために、訓練された推論エンジン230の例のインスタンス310A-Bをデプロイし得る。追加的に、または代替的に、いくつかの例において、デプロイ部305は、モニタリングステーション105A-Bから独立してビデオ監視モニタリングを実行するために、訓練された推論エンジン230の例のインスタンス410A-Bをモニタリング位置にデプロイし得る。
【0062】
ブロック820において、ニューラルネットワーク205は、訓練された推論エンジン230のインスタンス310A-Bを実行する、または、それと連携して動作するモニタリングステーション105A-Bのうち1または複数によって決定された、更新訓練データを(例えばネットワーク110を介して)取得する。例えば、上述のように、モニタリングステーション105A-Bは、対応するモニタリング対象ビデオセグメントについての、訓練された推論エンジン230のインスタンス310A-Bによって出力された、推論されたイベントと、対応するモニタリング対象ビデオセグメントについての、人間のオペレータ130A-Bによって入力されたオペレータの判断からモニタリングステーション115A-Bによって生成されたそれぞれのオペレータイベントラベルとを比較して、更新訓練データを決定し得る。ブロック825において、ニューラルネットワークは、上述のように、更新訓練データを使用して、推論エンジン230の第1(または参照)インスタンスを再訓練する。ブロック830において、デプロイ部305は、上述のように、再訓練された推論エンジン230のインスタンスを1または複数の標的モニタリング位置に再デプロイする。ブロック835において、ニューラルネットワーク205は、推論エンジン230の再訓練を続けるかどうか決定する。再訓練を続ける場合、処理はブロック820およびその後続のブロックに戻り、ニューラルネットワーク205が、モニタリングステーション105A-Bから受信された更新訓練データに基づいて、推論エンジン230の再訓練を続けることを可能にする。
【0063】
図9は、
図1~
図4の例のモニタリングステーション115A-Bを実装するために、
図5、
図6、
図7および/または
図8の命令を実行するように構築された例のプロセッサプラットフォーム900のブロック図である。利便性のために、一般性を失うことなく、例のプロセッサプラットフォーム900は、例のモニタリングステーション115Aを実装する観点から説明される。プロセッサプラットフォーム900は、例えば、サーバ、パーソナルコンピュータ、モバイルデバイス(例えば、携帯電話、スマートフォン、iPad(登録商標)などのタブレット)、パーソナルデジタルアシスタント(PDA)、インターネット機器など、または、任意の他の種類のコンピューティングデバイスであり得る。
【0064】
図示した例のプロセッサプラットフォーム900はプロセッサ912を含む。図示した例のプロセッサ912はハードウェアである。例えば、プロセッサ912は、任意の所望のファミリーまたは製造元の1または複数の集積回路、論理回路、マイクロプロセッサまたはコントローラによって実装できる。ハードウェアプロセッサ912は、半導体ベース(例えばシリコンベース)のデバイスであり得る。
【0065】
図示した例のプロセッサ912は、ローカルメモリ913(例えばキャッシュ)を含む。図示した例のプロセッサ912は、リンク918を介して、揮発性メモリ914および不揮発性メモリ916を含むメインメモリと通信する。リンク918は、バス、1または複数のポイントツーポイント接続など、またはこれらの組み合わせにより実装されてよい。揮発性メモリ914は、同期ダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、RAMBUSダイナミックランダムアクセスメモリ(RDRAM)および/または任意の他の種類のランダムアクセスメモリデバイスによって実装され得る。不揮発性メモリ916は、フラッシュメモリおよび/または任意の他の所望の種類のメモリデバイスにより実装されてよい。メインメモリ914、916へのアクセスが、メモリコントローラにより制御される。
【0066】
図示した例のプロセッサプラットフォーム900は、インタフェース回路920も含む。インタフェース回路920は、イーサネット(登録商標)インタフェース、ユニバーサルシリアルバス(USB)、および/または、PCIエクスプレスインタフェースなど任意の種類のインタフェース規格によって実装され得る。
【0067】
図示した例において、1または複数の入力デバイス922はインタフェース回路920に接続される。入力デバイス922は、ユーザがデータおよびコマンドをプロセッサ912に入力することを可能にする。入力デバイスは、例えば、オーディオセンサ、マイク、カメラ(静止画または動画)、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、トラックバー(アイソポイントなど)、音声認識システム、および/または任意の他のヒューマンマシンインタフェースにより実装されてよい。また、プロセッサプラットフォーム900などの多くのシステムによって、ユーザは、限定されないが、手や身体の動き、顔の表情、および顔認識などの身体的な動作を用いて、コンピュータシステムを制御し、データをコンピュータに提供できるようになってよい。いくつかの例において、入力データデバイス922は、例のモニタリングインタフェース125Aを実装する。
【0068】
1または複数の出力デバイス924も、図示した例のインタフェース回路920に接続されている。出力デバイス924は、例えば、ディスプレイデバイス(例えば発光ダイオード(LED))、有機発光ダイオード(OLED)、液晶ディスプレイ、陰極線管ディスプレイ(CRT)、タッチスクリーン、触覚出力デバイス、プリンタおよび/またはスピーカ)によって実装できる。したがって、図示した例のインタフェース回路920は典型的には、グラフィックスドライバカード、グラフィックスドライバチップ、または、グラフィックスドライバプロセッサを含む。いくつかの例において、出力デバイス924は、例のディスプレイ120Aを実装する。
【0069】
図示した例のインタフェース回路920はまた、送信機、受信機、送受信機、モデムおよび/またはネットワークインタフェースカードなどの通信デバイスを含み、例のネットワーク110などのネットワーク926(例えば、イーサネット接続、デジタル加入者線(DSL)、電話線、同軸ケーブル、セルラ方式電話システムなど)を介した外部の機械(例えば、任意の種類のコンピューティングデバイス)とのデータ交換を容易にする。
【0070】
図示した例のプロセッサプラットフォーム900は、ソフトウェアおよび/またはデータを格納するための1または複数の大容量ストレージデバイス928も含む。そのような大容量ストレージデバイス928の例は、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイ(登録商標)ディスクドライブ、RAID(redundant array of independent disks)システム、およびデジタル多用途ディスク(DVD)ドライブを含む。
【0071】
図5、
図6、
図7および/または
図8の命令に対応する符号化された命令932は、大容量ストレージデバイス928、揮発性メモリ914、不揮発性メモリ916、ローカルメモリ913、および/または、CDまたはDVD936などの着脱可能な有形コンピュータ可読記憶媒体に格納され得る。
【0072】
図10は、
図5、
図6、
図7および/または
図8の命令を実行して
図2~
図4の例のデータベース210を実装するよう構築された例のプロセッサプラットフォーム1000のブロック図である。プロセッサプラットフォーム1000は、例えば、サーバ、パーソナルコンピュータ、モバイルデバイス(例えば、携帯電話、スマートフォン、iPad(登録商標)などのタブレット)、PDA、インターネット機器など、または、任意の他の種類のコンピューティングデバイスであり得る。
【0073】
図示した例のプロセッサプラットフォーム1000は、プロセッサ1012を含む。図示した例のプロセッサ1012はハードウェアである。例えば、プロセッサ1012は、任意の所望のファミリーまたは製造元の1または複数の集積回路、論理回路、マイクロプロセッサまたはコントローラによって実装できる。ハードウェアプロセッサ1012は、半導体ベース(例えばシリコンベース)のデバイスであり得る。
【0074】
図示した例のプロセッサ1012は、ローカルメモリ1013(例えば、キャッシュ)を含む。図示した例のプロセッサ1012は、リンク1018を介して、揮発性メモリ1014および不揮発性メモリ1016を含むメインメモリと通信する。リンク1018は、バス、1または複数のポイントツーポイント接続など、またはこれらの組み合わせにより実装されてよい。揮発性メモリ1014は、SDRAM、DRAM、RDRAMおよび/または任意の他の種類のランダムアクセスメモリデバイスによって実装され得る。不揮発性メモリ1016は、フラッシュメモリおよび/または任意の他の所望の種類のメモリデバイスにより実装され得る。メインメモリ1014、1016へのアクセスはメモリコントローラにより制御される。
【0075】
図示した例のプロセッサプラットフォーム1000はまた、インタフェース回路1020を含む。インタフェース回路1020は、イーサネット(登録商標)インタフェース、USBおよび/またはPCIエクスプレスインタフェースなどの任意の種類のインタフェース規格によって実装され得る。
【0076】
図示した例において、1または複数の入力デバイス1022はインタフェース回路1020に接続される。入力デバイス1022は、ユーザがデータおよびコマンドをプロセッサ1012に入力することを可能にする。入力デバイスは、例えば、オーディオセンサ、マイク、カメラ(静止画または動画)、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、トラックバー(アイソポイントなど)、音声認識システム、および/または任意の他のヒューマンマシンインタフェースにより実装されてよい。また、プロセッサプラットフォーム1000などの多くのシステムによって、ユーザは、限定されないが、手や身体の動き、顔の表情、および顔認識などの身体的な動作を用いて、コンピュータシステムを制御し、データをコンピュータに提供できるようになってよい。
【0077】
1または複数の出力デバイス1024も、図示した例のインタフェース回路1020に接続されている。出力デバイス1024は、例えば、ディスプレイデバイス(例えば、LED、OLED、液晶ディスプレイ、CRTディスプレイ、タッチスクリーン、触覚出力デバイス、プリンタおよび/またはスピーカ)によって実装できる。したがって、図示した例のインタフェース回路1020は典型的には、グラフィックスドライバカード、グラフィックスドライバチップ、または、グラフィックスドライバプロセッサを含む。
【0078】
図示した例のインタフェース回路1020はまた、送信機、受信機、送受信機、モデムおよび/またはネットワークインタフェースカードなどの通信デバイスを含み、例のネットワーク110などのネットワーク1026(例えば、イーサネット接続、DSL)、電話線、同軸ケーブル、セルラ方式電話システムなど)を介した外部の機械(例えば、任意の種類のコンピューティングデバイス)とのデータ交換を容易にする。
【0079】
図示した例のプロセッサプラットフォーム1000は、ソフトウェアおよび/またはデータを格納するための1または複数の大容量ストレージデバイス1028も含む。そのような大容量ストレージデバイス1028の例は、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイ(登録商標)ディスクドライブ、RAIDシステム、およびDVDドライブを含む。いくつかの例において、大容量ストレージデバイス1028は、例のレコードストレージ225を実装し得る。追加的に、または代替的に、いくつかの例において、揮発性メモリ1014は、例のレコードストレージ225を実装し得る。
【0080】
図5、
図6、
図7および/または
図8の命令に対応する符号化された命令1032は、大容量ストレージデバイス1028、揮発性メモリ1014、不揮発性メモリ1016、ローカルメモリ1013、および/または、CDまたはDVD1036などの着脱可能な有形コンピュータ可読記憶媒体に格納され得る。
【0081】
図11は、
図5、
図6、
図7および/または8の命令を実行して
図2~
図4の例のニューラルネットワーク205を実装するように構築される例のプロセッサプラットフォーム1100のブロック図である。プロセッサプラットフォーム1100は、例えば、サーバ、パーソナルコンピュータ、モバイルデバイス(例えば、携帯電話、スマートフォン、iPad(登録商標)などのタブレット)、PDA、インターネット機器など、または、任意の他の種類のコンピューティングデバイスであり得る。
【0082】
図示した例のプロセッサプラットフォーム1100はプロセッサ1112を含む。図示した例のプロセッサ1112はハードウェアである。例えば、プロセッサ1112は、任意の所望のファミリーまたは製造元の1または複数の集積回路、論理回路、マイクロプロセッサまたはコントローラによって実装できる。ハードウェアプロセッサ1112は、半導体ベース(例えばシリコンベース)のデバイスであり得る。この例において、プロセッサ1112は、例の推論エンジン230、例の訓練エンジン240、例のコンパレータ245、例の訓練データ検索部250、および/または、例のデプロイ部305を実装する。
【0083】
図示した例のプロセッサ1112は、ローカルメモリ1113(例えば、キャッシュ)を含む。図示した例のプロセッサ1112は、リンク1118を介して、揮発性メモリ1114および不揮発性メモリ1116を含むメインメモリと通信する。リンク1118は、バス、1または複数のポイントツーポイント接続など、またはこれらの組み合わせにより実装されてよい。揮発性メモリ1114は、SDRAM、DRAM、RDRAMおよび/または任意の他の種類のランダムアクセスメモリデバイスによって実装され得る。不揮発性メモリ1116は、フラッシュメモリおよび/または任意の他の所望の種類のメモリデバイスにより実装されてよい。メインメモリ1114、1116へのアクセスが、メモリコントローラにより制御される。
【0084】
図示した例のプロセッサプラットフォーム1100は、インタフェース回路1120も含む。インタフェース回路1120は、イーサネット(登録商標)インタフェース、USBおよび/またはPCIエクスプレスインタフェースなどの任意の種類のインタフェース規格によって実装され得る。
【0085】
図示した例では、1または複数の入力デバイス1122がインタフェース回路1120に接続されている。入力デバイス1122は、ユーザがデータおよびコマンドをプロセッサ1112に入力することを可能にする。入力デバイスは、例えば、オーディオセンサ、マイク、カメラ(静止画または動画)、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、トラックバー(アイソポイントなど)、音声認識システム、および/または任意の他のヒューマンマシンインタフェースにより実装されてよい。また、プロセッサプラットフォーム1100などの多くのシステムによって、ユーザは、限定されないが、手や身体の動き、顔の表情、および顔認識などの身体的な動作を用いて、コンピュータシステムを制御し、データをコンピュータに提供できるようになってよい。
【0086】
1または複数の出力デバイス1124も、図示した例のインタフェース回路1120に接続されている。出力デバイス1124は、例えば、ディスプレイデバイス(例えば、LED、OLED、液晶ディスプレイ、CRTディスプレイ、タッチスクリーン、触覚出力デバイス、プリンタおよび/またはスピーカ)によって実装できる。したがって、図示した例のインタフェース回路1120は典型的には、グラフィックスドライバカード、グラフィックスドライバチップ、または、グラフィックスドライバプロセッサを含む。
【0087】
図示した例のインタフェース回路1120はまた、送信機、受信機、送受信機、モデムおよび/またはネットワークインタフェースカードなどの通信デバイスを含み、例のネットワーク110などのネットワーク1126(例えば、イーサネット接続、DSL)、電話線、同軸ケーブル、セルラ方式電話システムなど)を介した外部の機械(例えば、任意の種類のコンピューティングデバイス)とのデータ交換を容易にする。
【0088】
図示した例のプロセッサプラットフォーム1100は、ソフトウェアおよび/またはデータを格納するための1または複数の大容量ストレージデバイス1128も含む。そのような大容量ストレージデバイス1128の例は、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイ(登録商標)ディスクドライブ、RAIDシステム、およびDVDドライブを含む。
【0089】
図5、
図6、
図7および/または
図8の命令に対応する符号化された命令1132は、大容量ストレージデバイス1128、揮発性メモリ1114、不揮発性メモリ1116、ローカルメモリ1113、および/または、CDまたはDVD1136などの着脱可能な有形コンピュータ可読記憶媒体に格納され得る。
【0090】
上記の開示は、ニューラルネットワークを用いたビデオ監視の例を提供する。ニューラルネットワークを用いたビデオ監視を実装するためのビデオ監視システム、少なくとも1つのプロセッサによって実行されるときに少なくとも1つのプロセッサにニューラルネットワークを用いたビデオ監視を実装させる命令を含む少なくとも1つのコンピュータ可読記憶媒体、ニューラルネットワークを用いたビデオ監視を実装するための手段、および、ニューラルネットワークを用いたビデオ監視を実行するためのビデオ監視方法などの主題を含む、以下のさらなる例が本明細書において開示される。開示される例は、個別に、および/または、1または複数の組み合わせで実装できる。
【0091】
上記より、ニューラルネットワークを用いたビデオ監視を実装するための例の方法、装置、システムおよび製品(例えば、物理的記憶媒体)が本明細書において開示されたことが理解される。開示される例は、モニタリング対象ビデオフィードにおけるイベントを検出または推論するよう訓練された推論エンジンを有するニューラルネットワークを含む。ニューラルネットワーク推論エンジンは、参照ビデオセグメントが定義されたイベントを表現するかどうかを示す参照イベントラベルを有する参照ビデオセグメントの訓練セットを使用して訓練される。訓練された推論エンジンは次に、1または複数のモニタリング位置にデプロイされ、1または複数の訓練されたイベント(例えば、セキュリティ違反、人間の存在、荷物の到着など)が、モニタリングする対応ビデオフィードにおいて表示されているかどうかを推論するように(例えば、並列に、非同期的に、協同して、など)動作する。いくつかの例において、訓練/再訓練された推論エンジンのインスタンスは、無人モニタリング位置にデプロイでき、または、有人の場所に更なる能力を提供するためにデプロイでき、それにより、ビデオ監視システムの能力が需要の増大に合わせて容易にスケーリングすることを可能にする。
【0092】
上記の開示は、ニューラルネットワークを用いたビデオ監視を実装する例を提供する。ニューラルネットワークを用いたビデオ監視を実装するさらなる例が以下に開示される。開示される例は、個別に、および/または、1または複数の組み合わせで実装できる。
【0093】
例1は、オペレータラベル付与ビデオセグメントを格納するためのデータベースを含むビデオ監視システムであり、オペレータラベル付与ビデオセグメントは、参照ビデオセグメントと、参照ビデオセグメントを記述する、対応する参照イベントラベルとを含む。例1のシステムはまた、推論エンジンの第1インスタンスと、データベースから取得されたオペレータラベル付与ビデオセグメントの訓練セットに基づいて推論エンジンの第1インスタンスを訓練するための訓練エンジンとを含むニューラルネットワークを含み、推論エンジンの第1インスタンスは、訓練セットに含まれるオペレータラベル付与ビデオセグメントからイベントを推論する。例1のシステムは更に、モニタリング対象ビデオフィードからイベントを推論するための推論エンジンの第2インスタンスを含み、推論エンジンの第2インスタンスは推論エンジンの第1インスタンスに基づく。
【0094】
例2は例1の主題を含み、参照イベントラベルは、対応する参照ビデオセグメントが定義されたイベントを表現するかどうかを示す。
【0095】
例3は例1および/または2の主題を含み、参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)参照ビデオセグメントのうちの第1参照ビデオセグメントがイベントの種類を表現するかどうかを示す。
【0096】
例4は例1から3のうち1または複数の主題を含み、更にモニタリングステーションを含み、モニタリングステーションは、モニタリング対象ビデオフィードのうちの第1モニタリング対象ビデオフィードを提示するためのディスプレイと、モニタリング対象ビデオフィードのうちの第1モニタリング対象ビデオフィードのモニタリング対象ビデオセグメントに対応するオペレータの判断に基づいてオペレータイベントラベルを生成するためのモニタリングインタフェースとを含む。
【0097】
例5は例4の主題を含み、上記データベースは上記モニタリングステーションと通信して、上記モニタリング対象ビデオセグメントのうちの第1モニタリング対象ビデオセグメントと、上記モニタリング対象ビデオセグメントのうちの上記第1モニタリング対象ビデオセグメントに対応する上記オペレータイベントラベルのうちの第1オペレータイベントラベルとを受信し、上記データベースは、上記モニタリング対象ビデオセグメントのうちの上記第1モニタリング対象ビデオセグメントと、上記オペレータイベントラベルのうちの対応する上記第1オペレータイベントラベルとを、上記オペレータラベル付与ビデオセグメントのうちの第1オペレータラベル付与ビデオセグメントに含まれる上記参照ビデオセグメントのうちの第1参照ビデオセグメント、および、上記参照イベントラベルのうちの対応する第1参照イベントラベルとして格納する。
【0098】
例6は例5の主題を含み、モニタリングステーションは更に、推論エンジンの第2インスタンスを実装する。
【0099】
例7は例6の主題を含み、上記推論エンジンの上記第2インスタンスは、上記モニタリング対象ビデオフィードのうちの上記第1モニタリング対象ビデオフィードのモニタリング対象ビデオセグメントのうちの第2モニタリング対象ビデオセグメントについて、推論されたイベントを出力し、上記モニタリングインタフェースは、上記モニタリング対象ビデオセグメントのうちの上記第2モニタリング対象ビデオセグメントについて検出されたオペレータの判断から上記オペレータイベントラベルのうちの第2オペレータイベントラベルを生成し、上記モニタリングステーションは更に、上記推論されたイベントと、上記オペレータイベントラベルのうちの上記第2オペレータイベントラベルとを比較して、更新訓練データを取得するコンパレータを含む。
【0100】
例8は例7の主題を含み、上記ニューラルネットワークは、上記モニタリングステーションと通信して上記更新訓練データを受信し、上記訓練エンジンは、上記更新訓練データに基づいて上記推論エンジンの上記第1インスタンスを再訓練する。
【0101】
例9は、コンピュータ可読命令を含む少なくとも1つの非一時的コンピュータ可読記憶媒体を含み、上記コンピュータ可読命令は少なくとも、1または複数のプロセッサに、オペレータラベル付与ビデオセグメントの訓練セットに基づいて、推論エンジンの第1インスタンスを訓練することであって、上記オペレータラベル付与ビデオセグメントは、参照ビデオセグメント、および、上記参照ビデオセグメントを記述する、対応する参照イベントラベルを含み、上記推論エンジンの上記第1インスタンスは、上記訓練セットに含まれる上記オペレータラベル付与ビデオセグメントからイベントを推論する、ことと、モニタリング対象ビデオフィードからイベントを推論するための上記推論エンジンの第2インスタンスをデプロイすることであって、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスに基づく、こととを実行させる。
【0102】
例9は例10の主題を含み、参照イベントラベルは、対応する参照ビデオセグメントが定義されたイベントを表現するかどうかを示す。
【0103】
例11は例9および/または10の主題を含み、参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)参照ビデオセグメントのうちの第1参照ビデオセグメントがイベントの種類を表現するかどうかを示す。
【0104】
例12は例9から11のうち1または複数の主題を含み、上記コンピュータ可読命令は実行されるとき、上記1または複数のプロセッサに、参照ビデオセグメントのうちの第1参照ビデオセグメントと、参照イベントラベルのうちの対応する第1参照イベントラベルとをモニタリングステーションから取得することを行わせる。
【0105】
例13は例12の主題を含み、上記コンピュータ可読命令は、実行されるとき、上記1または複数のプロセッサに、上記推論エンジンの上記第2インスタンスを上記モニタリングステーションにデプロイさせる。
【0106】
例14は例13の主題を含み、上記推論エンジンの上記第2インスタンスが最初にモニタリングステーションにデプロイされるとき、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスの複製である。
【0107】
例15は例13の主題を含み、上記モニタリングステーションは、(i)上記モニタリング対象ビデオフィードのセグメントについて上記推論エンジンの上記第2インスタンスによって出力された、推論されたイベントと、(ii)上記モニタリング対象ビデオフィードの上記セグメントについて上記モニタリングステーションによって生成されたオペレータイベントラベルとを比較することによって更新訓練データを取得し、上記コンピュータ可読命令は、実行されるとき、上記1または複数のプロセッサに、上記更新訓練データに基づいて上記推論エンジンの上記第1インスタンスを再訓練することを更に行わせる。
【0108】
例16は、オペレータラベル付与ビデオセグメントを取得するための手段を含む装置であり、オペレータラベル付与ビデオセグメントは、参照ビデオセグメント、および、参照ビデオセグメントを記述する、対応する参照イベントラベルを含む。例16の装置はまた、上記オペレータラベル付与ビデオセグメントの訓練セットに基づいて、推論エンジンの第1インスタンスを訓練するための手段を含み、上記推論エンジンの上記第1インスタンスは、上記訓練セットに含まれる上記オペレータラベル付与ビデオセグメントからイベントを推論する。例16の装置は更に、モニタリング対象ビデオフィードからイベントを推論する上記推論エンジンの第2インスタンスをデプロイするための手段を含み、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスに基づく。
【0109】
例17は例16の主題を含み、参照イベントラベルは、対応する参照ビデオセグメントが定義されたイベントを表現するかどうかを示す。
【0110】
例18は例16および/または17の主題を含み、参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)参照ビデオセグメントのうちの第1参照ビデオセグメントがイベントの種類を表現するかどうかを示す。
【0111】
例19は例16から18の1または複数の主題を含み、オペレータラベル付与ビデオセグメントのレコードを取得するための手段は、参照ビデオセグメントのうちの第1参照ビデオセグメント、および、参照イベントラベルのうちの対応する第1参照イベントラベルをモニタリングステーションから取得するためのものである。
【0112】
例20は例19の主題を含み、上記推論エンジンの上記第2インスタンスをデプロイするための上記手段は、上記推論エンジンの上記第2インスタンスを上記モニタリングステーションにデプロイするためのものである。
【0113】
例21は例20の主題を含み、上記推論エンジンの上記第2インスタンスが最初にモニタリングステーションにデプロイされるとき、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスの複製である。
【0114】
例22は例20の主題を含み、上記モニタリングステーションは、(i)上記モニタリング対象ビデオフィードのセグメントについて、上記推論エンジンの上記第2インスタンスによって出力された、推論されたイベントと、(ii)上記モニタリング対象ビデオフィードの上記セグメントについて、上記モニタリングステーションによって生成されたオペレータイベントラベルとを比較することによって更新訓練データを取得するためのものであり、上記推論エンジンの上記第1インスタンスを訓練するための上記手段は更に、上記更新訓練データに基づいて上記推論エンジンの上記第1インスタンスを再訓練するためのものである。
【0115】
例23は、ビデオ監視方法であり、当該方法は、少なくとも1つのプロセッサを用いて命令を実行することによって、オペレータラベル付与ビデオセグメントの訓練セットに基づいて、推論エンジンの第1インスタンスを訓練する段階であって、上記オペレータラベル付与ビデオセグメントは、参照ビデオセグメント、および、上記参照ビデオセグメントを記述する、対応する参照イベントラベルを含み、上記推論エンジンの上記第1インスタンスは、上記訓練セットに含まれる上記オペレータラベル付与ビデオセグメントからイベントを推論する、段階を備える。例23のビデオ監視方法はまた、少なくとも1つのプロセッサを用いて命令を実行することによって、モニタリング対象ビデオフィードからイベントを推論する上記推論エンジンの第2インスタンスをデプロイするための段階を含み、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスに基づく。
【0116】
例24は例23の主題を含み、参照イベントラベルは、対応する参照ビデオセグメントが定義されたイベントを表現するかどうかを示す。
【0117】
例25は例23および/または24の主題を含み、参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)参照ビデオセグメントのうちの第1参照ビデオセグメントがイベントの種類を表現するかどうかを示す。
【0118】
例26は例23から25の1または複数の主題を含み、上記オペレータラベル付与ビデオセグメントの上記レコードへのアクセスは、参照ビデオセグメントのうちの第1参照ビデオセグメント、および、参照イベントラベルのうちの対応する第1参照イベントラベルをモニタリングステーションから取得することを含む。
【0119】
例27は例26の主題を含み、上記推論エンジンの上記第2インスタンスをデプロイすることは、上記推論エンジンの上記第2インスタンスを上記モニタリングステーションにデプロイすることを含む。
【0120】
例28は例27の主題を含み、上記推論エンジンの上記第2インスタンスが最初にモニタリングステーションにデプロイされるとき、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスの複製である。
【0121】
例29は例27の主題を含み、上記モニタリングステーションは、(i)上記モニタリング対象ビデオフィードのセグメントについて、上記推論エンジンの上記第2インスタンスによって出力された、推論されたイベントと、(ii)上記モニタリング対象ビデオフィードの上記セグメントについて、上記モニタリングステーションによって生成されたオペレータイベントラベルとを比較することによって更新訓練データを取得し、上記推論エンジンの上記第1インスタンスを訓練する上記段階は更に、上記更新訓練データに基づいて上記推論エンジンの上記第1インスタンスを再訓練する段階を含む。
【0122】
特定の例の方法、装置および製品が本明細書において開示されているが、本特許の網羅する範囲はこれらに限定されない。むしろ、本特許は、本特許の請求項の範囲に公正に含まれるすべての方法、装置および製品を網羅する。
他の可能な請求項
(項目1)
ビデオ監視システムであって、
オペレータラベル付与ビデオセグメントを格納するためのデータベースであって、上記オペレータラベル付与ビデオセグメントは、参照ビデオセグメントと、上記参照ビデオセグメントを記述する、対応する参照イベントラベルとを含む、データベースと、
ニューラルネットワークであって、
推論エンジンの第1インスタンスと、
上記データベースから取得された上記オペレータラベル付与ビデオセグメントの訓練セットに基づいて上記推論エンジンの上記第1インスタンスを訓練するための訓練エンジンであって、上記推論エンジンの上記第1インスタンスは、上記訓練セットに含まれる上記オペレータラベル付与ビデオセグメントからイベントを推論する、訓練エンジンと
を含むニューラルネットワークと、
モニタリング対象ビデオフィードからイベントを推論する上記推論エンジンの第2インスタンスであって、上記推論エンジンの上記第1インスタンスに基づく、上記推論エンジンの第2インスタンスと
を備えるビデオ監視システム。
(項目2)
上記参照イベントラベルは、対応する上記参照ビデオセグメントが定義されたイベントを表現するかどうかを示す、項目1に記載のビデオ監視システム。
(項目3)
上記参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する上記参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)上記参照ビデオセグメントのうちの上記第1参照ビデオセグメントが上記イベントの種類を表現するかどうかを示す、項目1に記載のビデオ監視システム。
(項目4)
モニタリングステーションを更に備え、上記モニタリングステーションは、
上記モニタリング対象ビデオフィードのうちの第1モニタリング対象ビデオフィードを提示するためのディスプレイと、
上記モニタリング対象ビデオフィードのうちの上記第1モニタリング対象ビデオフィードのモニタリング対象ビデオセグメントに対応するオペレータの判断に基づいて、オペレータイベントラベルを生成するモニタリングインタフェースと
を含む、項目1に記載のビデオ監視システム。
(項目5)
上記データベースは上記モニタリングステーションと通信して、上記モニタリング対象ビデオセグメントのうちの第1モニタリング対象ビデオセグメントと、上記モニタリング対象ビデオセグメントのうちの上記第1モニタリング対象ビデオセグメントに対応する上記オペレータイベントラベルのうちの第1オペレータイベントラベルとを受信し、上記データベースは、上記モニタリング対象ビデオセグメントのうちの上記第1モニタリング対象ビデオセグメントと、上記オペレータイベントラベルのうちの対応する上記第1オペレータイベントラベルとを、上記オペレータラベル付与ビデオセグメントのうちの第1オペレータラベル付与ビデオセグメントに含まれる上記参照ビデオセグメントのうちの第1参照ビデオセグメント、および、上記参照イベントラベルのうちの対応する第1参照イベントラベルとして格納する、項目4に記載のビデオ監視システム。
(項目6)
上記モニタリングステーションは更に、上記推論エンジンの上記第2インスタンスを実装する、項目5に記載のビデオ監視システム。
(項目7)
上記推論エンジンの上記第2インスタンスは、上記モニタリング対象ビデオフィードのうちの上記第1モニタリング対象ビデオフィードのモニタリング対象ビデオセグメントのうちの第2モニタリング対象ビデオセグメントについて、推論されたイベントを出力し、上記モニタリングインタフェースは、上記モニタリング対象ビデオセグメントのうちの上記第2モニタリング対象ビデオセグメントについて検出されたオペレータの判断から上記オペレータイベントラベルのうちの第2オペレータイベントラベルを生成し、上記モニタリングステーションは更に、上記推論されたイベントと、上記オペレータイベントラベルのうちの上記第2オペレータイベントラベルとを比較して、更新訓練データを取得するコンパレータを含む、項目6に記載のビデオ監視システム。
(項目8)
上記ニューラルネットワークは、上記モニタリングステーションと通信して上記更新訓練データを受信し、上記訓練エンジンは、上記更新訓練データに基づいて上記推論エンジンの上記第1インスタンスを再訓練する、項目7に記載のビデオ監視システム。
(項目9)
コンピュータ可読命令を含む少なくとも1つの非一時的コンピュータ可読記憶媒体であって、上記コンピュータ可読命令は、1または複数のプロセッサに少なくとも、
オペレータラベル付与ビデオセグメントの訓練セットに基づいて、推論エンジンの第1インスタンスを訓練することであって、上記オペレータラベル付与ビデオセグメントは、参照ビデオセグメント、および、上記参照ビデオセグメントを記述する、対応する参照イベントラベルを含み、上記推論エンジンの上記第1インスタンスは、上記訓練セットに含まれる上記オペレータラベル付与ビデオセグメントからイベントを推論する、ことと、
モニタリング対象ビデオフィードからイベントを推論するための上記推論エンジンの第2インスタンスをデプロイすることであって、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスに基づく、ことと
を実行させる、少なくとも1つの非一時的コンピュータ可読記憶媒体。
(項目10)
上記参照イベントラベルは、対応する上記参照ビデオセグメントが定義されたイベントを表現するかどうかを示す、項目9に記載の少なくとも1つの記憶媒体。
(項目11)
参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)参照ビデオセグメントのうちの第1参照ビデオセグメントが上記イベントの種類を表現するかどうかを示す、項目9に記載の少なくとも1つの記憶媒体。
(項目12)
上記コンピュータ可読命令は実行されるとき、上記1または複数のプロセッサに、参照ビデオセグメントのうちの第1参照ビデオセグメントと、参照イベントラベルのうちの対応する第1参照イベントラベルとをモニタリングステーションから取得することを行わせる、項目9に記載の少なくとも1つの記憶媒体。
(項目13)
上記コンピュータ可読命令は、実行されるとき、上記1または複数のプロセッサに、上記推論エンジンの上記第2インスタンスを上記モニタリングステーションにデプロイさせる、項目12に記載の少なくとも1つの記憶媒体。
(項目14)
上記推論エンジンの上記第2インスタンスが最初にモニタリングステーションにデプロイされるとき、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスの複製である、項目13に記載の少なくとも1つの記憶媒体。
(項目15)
上記モニタリングステーションは、(i)上記モニタリング対象ビデオフィードのセグメントについて上記推論エンジンの上記第2インスタンスによって出力された、推論されたイベントと、(ii)上記モニタリング対象ビデオフィードの上記セグメントについて上記モニタリングステーションによって生成されたオペレータイベントラベルとを比較することによって更新訓練データを取得し、上記コンピュータ可読命令は、実行されるとき、上記1または複数のプロセッサに、上記更新訓練データに基づいて上記推論エンジンの上記第1インスタンスを再訓練することを更に行わせる、項目13に記載の少なくとも1つの記憶媒体。
(項目16)
装置であって、
オペレータラベル付与ビデオセグメントを取得するための手段であって、上記オペレータラベル付与ビデオセグメントは、参照ビデオセグメント、および、上記参照ビデオセグメントを記述する、対応する参照イベントラベルを含む、手段と、
上記オペレータラベル付与ビデオセグメントの訓練セットに基づいて、推論エンジンの第1インスタンスを訓練するための手段であって、上記推論エンジンの上記第1インスタンスは、上記訓練セットに含まれる上記オペレータラベル付与ビデオセグメントからイベントを推論する、手段と、
モニタリング対象ビデオフィードからイベントを推論する上記推論エンジンの第2インスタンスをデプロイするための手段であって、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスに基づく、手段と
を備える装置。
(項目17)
上記参照イベントラベルは、対応する上記参照ビデオセグメントが定義されたイベントを表現するかどうかを示す、項目16に記載の装置。
(項目18)
上記参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する上記参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)上記参照ビデオセグメントのうちの上記第1参照ビデオセグメントが上記イベントの種類を表現するかどうかを示す、項目16に記載の装置。
(項目19)
上記オペレータラベル付与ビデオセグメントを取得するための上記手段は、上記参照ビデオセグメントのうちの第1参照ビデオセグメントと、上記参照イベントラベルのうちの対応する第1参照イベントラベルとのレコードをモニタリングステーションから取得するためのものである、項目16に記載の装置。
(項目20)
上記推論エンジンの上記第2インスタンスをデプロイするための上記手段は、上記推論エンジンの上記第2インスタンスを上記モニタリングステーションにデプロイするためのものである、項目19に記載の装置。
(項目21)
上記推論エンジンの上記第2インスタンスが上記モニタリングステーションに最初にデプロイされるとき、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスの複製である、項目20に記載の装置。
(項目22)
上記モニタリングステーションは、(i)上記モニタリング対象ビデオフィードのセグメントについて、上記推論エンジンの上記第2インスタンスによって出力された、推論されたイベントと、(ii)上記モニタリング対象ビデオフィードの上記セグメントについて、上記モニタリングステーションによって生成されたオペレータイベントラベルとを比較することによって更新訓練データを取得するためのものであり、上記推論エンジンの上記第1インスタンスを訓練するための上記手段は更に、上記更新訓練データに基づいて上記推論エンジンの上記第1インスタンスを再訓練するためのものである、項目20に記載の装置。
(項目23)
ビデオ監視方法であって、
少なくとも1つのプロセッサを用いて命令を実行することによって、オペレータラベル付与ビデオセグメントの訓練セットに基づいて、推論エンジンの第1インスタンスを訓練する段階であって、上記オペレータラベル付与ビデオセグメントは、参照ビデオセグメント、および、上記参照ビデオセグメントを記述する、対応する参照イベントラベルを含み、上記推論エンジンの上記第1インスタンスは、上記訓練セットに含まれる上記オペレータラベル付与ビデオセグメントからイベントを推論する、段階と、
上記少なくとも1つのプロセッサを用いて命令を実行することによって、モニタリング対象ビデオフィードからイベントを推論するための上記推論エンジンの第2インスタンスをデプロイする段階であって、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスに基づく、段階と
を備える方法。
(項目24)
上記参照イベントラベルは、対応する上記参照ビデオセグメントが定義されたイベントを表現するかどうかを示す、項目23に記載の方法。
(項目25)
上記参照ビデオセグメントのうちの第1参照ビデオセグメントに対応する上記参照イベントラベルのうちの第1参照イベントラベルは、(i)イベントの種類および(ii)上記参照ビデオセグメントのうちの上記第1参照ビデオセグメントが上記イベントの種類を表現するかどうかを示す、項目23に記載の方法。
(項目26)
上記オペレータラベル付与ビデオセグメントの上記レコードへのアクセスは、参照ビデオセグメントのうちの第1参照ビデオセグメント、および、参照イベントラベルのうちの対応する第1参照イベントラベルをモニタリングステーションから取得することを含む、項目23に記載の方法。
(項目27)
上記推論エンジンの上記第2インスタンスをデプロイすることは、上記推論エンジンの上記第2インスタンスを上記モニタリングステーションにデプロイすることを含む、項目26に記載の方法。
(項目28)
上記推論エンジンの上記第2インスタンスが上記モニタリングステーションに最初にデプロイされるとき、上記推論エンジンの上記第2インスタンスは、上記推論エンジンの上記第1インスタンスの複製である、項目27に記載の方法。
(項目29)
上記モニタリングステーションは、(i)上記モニタリング対象ビデオフィードのセグメントについて、上記推論エンジンの上記第2インスタンスによって出力された、推論されたイベントと、(ii)上記モニタリング対象ビデオフィードの上記セグメントについて、上記モニタリングステーションによって生成されたオペレータイベントラベルとを比較することによって更新訓練データを取得し、上記推論エンジンの上記第1インスタンスを訓練する上記段階は更に、上記更新訓練データに基づいて上記推論エンジンの上記第1インスタンスを再訓練する段階を含む、項目27に記載の方法。