(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6870114
(24)【登録日】2021年4月16日
(45)【発行日】2021年5月12日
(54)【発明の名称】3D時空畳み込みニューラルネットワークを使用した映像におけるアクション認識
(51)【国際特許分類】
G06T 7/00 20170101AFI20210426BHJP
G06N 3/04 20060101ALI20210426BHJP
G06T 7/254 20170101ALI20210426BHJP
【FI】
G06T7/00 350C
G06N3/04
G06T7/254 A
【請求項の数】17
【全頁数】18
(21)【出願番号】特願2019-559346(P2019-559346)
(86)(22)【出願日】2018年5月15日
(65)【公表番号】特表2020-519995(P2020-519995A)
(43)【公表日】2020年7月2日
(86)【国際出願番号】EP2018062486
(87)【国際公開番号】WO2018210796
(87)【国際公開日】20181122
【審査請求日】2019年12月27日
(31)【優先権主張番号】62/506,507
(32)【優先日】2017年5月15日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジョアオ・カレイラ
(72)【発明者】
【氏名】アンドリュー・ジッサーマン
【審査官】
岡本 俊威
(56)【参考文献】
【文献】
特開2018−055287(JP,A)
【文献】
Simonyan, Karen and Zisserman, Andrew,Two-Stream Convolutional Networks for Action Recognition in Videos,Advances in Neural Information Processing Systems 27,2014年,p1-11,URL,https://arxiv.org/pdf/1406.2199.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00− 7/90
G06N 3/02− 3/04
(57)【特許請求の範囲】
【請求項1】
映像データを処理するためのニューラルネットワークシステムであって、
映像データのフレームの第1のシーケンスから画像データを受け取るための第1のデータ入力と、
前記映像データのフレームの第2のシーケンスからオプティカルフローデータを受け取るための第2のデータ入力と、
少なくとも3つの時空間次元において前記画像データを処理して第1の畳み込みニューラルネットワーク出力を供給するように構成され、前記第1のデータ入力に結合された、第1の3D時空畳み込みニューラルネットワークと、
少なくとも3つの時空間次元において前記オプティカルフローデータを処理して第2の畳み込みニューラルネットワーク出力を供給するように構成され、前記第2のデータ入力に結合された、第2の3D時空畳み込みニューラルネットワークと、
前記第1の畳み込みニューラルネットワーク出力からのデータと前記第2の畳み込みニューラルネットワーク出力からのデータを組み合わせて、組み合わされた処理済みの映像データ出力を供給するためのデータ結合器と、を備え、
前記第1の3D時空畳み込みニューラルネットワークと前記第2の3D時空畳み込みニューラルネットワークの一方または両方が、前記時空間次元のうち空間次元のみをプールする3Dプール層を含む、ニューラルネットワークシステム。
【請求項2】
前記第1の3D時空畳み込みニューラルネットワークと前記第2の3D時空畳み込みニューラルネットワークの一方または両方が、連続したサブモジュールを備えるモジュール式サブ構造体を有し、前記サブモジュールのそれぞれが、畳み込み層と下にある層における畳み込みフィルタの特徴マップの次元を低減するための少なくとも1つの次元低減層とのセットを備える、請求項1に記載のニューラルネットワークシステム。
【請求項3】
前記第1の3D時空畳み込みニューラルネットワークと前記第2の3D時空畳み込みニューラルネットワークの一方または両方が、連続したサブモジュールを備えるモジュール式サブ構造体を有し、前記サブモジュールのそれぞれが、畳み込み層のセットと、前記畳み込み層のセットを回避する少なくとも1つの並列データ経路とを備える、請求項1または2に記載のニューラルネットワークシステム。
【請求項4】
前記第1の3D時空畳み込みニューラルネットワークと前記第2の3D時空畳み込みニューラルネットワークの一方または両方が3D畳み込み層および3Dプール層を含み、前記3D畳み込み層および前記3Dプール層のそれぞれが、少なくともk×i×jの3D受容フィールドを伴うカーネルを有し、iおよびjが空間の次元にラベルを付け、kが時間の次元にラベルを付け、i=j=kである、請求項1、2、または3に記載のニューラルネットワークシステム。
【請求項5】
前記第1の3D時空畳み込みニューラルネットワークと前記第2の3D時空畳み込みニューラルネットワークの一方または両方が、少なくとも2つの直列接続された3D畳み込み層を互いに並列に接続したものをそれぞれ有する少なくとも2つのサブモジュールと、サブモジュール出力の前の3Dプール層と、サブモジュール入力と前記サブモジュール出力の間の少なくとも1つの次元低減層とを備える、請求項1から4のいずれか一項に記載のニューラルネットワークシステム。
【請求項6】
前記映像データから前記第2のデータ入力についての前記オプティカルフローデータを生成するための、前記第1のデータ入力と前記第2のデータ入力の間に結合されたオプティカルフロー決定システムをさらに備える、請求項1から5のいずれか一項に記載のニューラルネットワークシステム。
【請求項7】
前記オプティカルフローデータが少なくとも2つのオプティカルフローチャネルを含み、前記第2の3D時空畳み込みニューラルネットワークが少なくとも2つの対応する入力チャネルを有する、請求項1から6のいずれか一項に記載のニューラルネットワークシステム。
【請求項8】
前記画像データが、少なくとも2つの画像データチャネルによって表現されるカラー画像データを含み、前記第1の3D時空畳み込みニューラルネットワークが少なくとも2つの対応する入力チャネルを有する、請求項1から7のいずれか一項に記載のニューラルネットワークシステム。
【請求項9】
前記データ結合器が、前記第1の畳み込みニューラルネットワーク出力からのデータと前記第2の畳み込みニューラルネットワーク出力からのデータの平均をとるように構成されている、請求項1から8のいずれか一項に記載のニューラルネットワークシステム。
【請求項10】
前記組み合わされた処理済みの映像データ出力が、前記映像データの中の運動の分類を指示する分類データを供給するための分類データ出力を含む、請求項1から9のいずれか一項に記載のニューラルネットワークシステム。
【請求項11】
前記第1および第2の3D時空畳み込みニューラルネットワークの一方または両方が、膨張した2Dアーキテクチャを有する、請求項1から10のいずれか一項に記載のニューラルネットワークシステム。
【請求項12】
ニューラルネットワークシステムをもたらす方法であって、
2D画像処理用の2Dニューラルネットワークアーキテクチャを識別するステップであって、前記2Dニューラルネットワークアーキテクチャが、それぞれの2Dカーネルによってそれぞれ定義された一連の畳み込み層およびプール層を備える、ステップと、
前記2Dカーネルに時間の次元を追加することによって前記2Dカーネルを空間次元および時間次元にわたって動作する3Dカーネルに変換して、膨張したニューラルネットワークアーキテクチャをもたらすために、前記2Dニューラルネットワークアーキテクチャを膨張させるステップと、
訓練に先立って前記膨張したニューラルネットワークアーキテクチャを事前訓練するために、前記2Dニューラルネットワークアーキテクチャの訓練されたバージョンから重みパラメータを再利用するステップであって、前記事前訓練が、前記膨張したニューラルネットワークアーキテクチャの時間次元において、前記重みパラメータのスケーリングされたバージョンを繰り返すことを含む、ステップと
前記膨張したニューラルネットワークアーキテクチャを、映像データを用いて訓練して、訓練されたニューラルネットワークを生成するステップと、を含む方法。
【請求項13】
前記訓練が、第1のデータセットを用いる第1の訓練ステージと、第2の異なるデータセットを用いる第2の訓練ステージとの2つのステージを含む、請求項12に記載の方法。
【請求項14】
訓練されたニューラルネットワークシステムをもたらす方法であって、
それぞれのカーネルによってそれぞれ定義された一連の畳み込み層およびプール層を使用して少なくとも3つの時空間次元において入力データを処理して畳み込みニューラルネットワーク出力をもたらすように構成され、データ入力に結合された、少なくとも1つの3D時空畳み込みニューラルネットワークモジュールをもたらすステップであって、
前記3D時空畳み込みニューラルネットワークが膨張した2Dニューラルネットワークアーキテクチャを備え、前記膨張した2Dニューラルネットワークアーキテクチャ内では、前記カーネルを空間次元および時間次元にわたって動作する3Dカーネルに変換するために、2Dニューラルネットワークアーキテクチャの2Dカーネルに時間の次元が追加されている、ステップと、
初期化された時空畳み込みニューラルネットワークをもたらすために前記2Dニューラルネットワークアーキテクチャの訓練されたバージョンの重みを使用すること、および事前訓練のデータセットを用いて事前訓練することにより、前記3D時空畳み込みニューラルネットワークの重みを初期化するステップであって、前記事前訓練が、前記膨張した2Dニューラルネットワークアーキテクチャの時間次元において、前記重みのスケーリングされたバージョンを繰り返すことを含む、ステップと、
次いで、前記初期化された3D時空畳み込みニューラルネットワークを訓練して、訓練されたニューラルネットワークシステムをもたらすステップと、を含む方法。
【請求項15】
1つまたは複数のコンピュータと、命令を記憶している1つまたは複数の記憶デバイスとを備えるシステムであって、前記命令は、前記1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに、請求項12から14のいずれか一項に記載の方法の動作を遂行させる、システム。
【請求項16】
1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに、請求項12から14のいずれか一項に記載の方法の動作を遂行させる命令を記憶している、1つまたは複数のコンピュータ記憶媒体。
【請求項17】
1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに、請求項1から11のいずれか一項に記載のニューラルネットワークシステムを実施させる命令を記憶している、1つまたは複数のコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、全体の内容が参照によって本明細書に組み込まれる、2017年5月15日出願の米国仮特許出願第62/506,507号の非仮出願であり、その優先権を主張するものである。
【0002】
本明細書は、ニューラルネットワークシステムと、ニューラルネットワークシステムを訓練する改善された方法とに関する。
【背景技術】
【0003】
ニューラルネットワークは、受け取られた入力に関する出力を予測するために非線形ユニットの1つまたは複数の層を採用する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。それぞれの隠れ層の出力は、ネットワークにおける次の層すなわち次の隠れ層または出力層に対する入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在の値に従って、受け取られた入力から出力を生成する。
【発明の概要】
【課題を解決するための手段】
【0004】
本明細書は、1つまたは複数の位置における1つまたは複数のコンピュータ上で映像データを処理する1つまたは複数のコンピュータプログラムとして実施されるシステムを説明するものである。
【0005】
本明細書で使用されるとき、映像データは、2Dまたは3Dの画像データフレームの任意の時間シーケンスでよい。実施形態では、画像データフレームは、2次元または3次元の空間位置を符号化するものであり、たとえばフレームは、実際のシーンまたは仮想シーンの画像を表現し得る画像フレームを含み得る。より一般的には、画像データフレームは、エンティティ位置の2Dまたは3Dのマップを定義してよく、エンティティは、たとえば人間スケールから原子スケールまでの任意のスケールの実際のエンティティまたは仮想エンティティであり得、後者は、たとえば原子の位置、分子の領域または二次構造を含む。
【0006】
本明細書で説明されるシステムの例は、画像フレームの内部で表現された、たとえば人間の運動といったエンティティまたはエンティティのパーツの運動を取り込むため/分類するために使用され得る。システムの出力は、映像シーケンスにおいて識別された1つまたは複数のアクションを表現するかまたは分類してよく、かつ/または、たとえば意味的なセグメント化、映像の対象物検知などのために、他のやり方で映像データを処理してよい。
【0007】
したがって、本明細書で説明されるシステムからの出力データは、任意の種類のスコア、分類、または入力に基づく回帰出力を定義し得る。たとえば、ニューラルネットワークに対する入力が画像または画像から抽出された特徴である場合には、所与の画像についてニューラルネットワークによって生成される出力は、アクションのセットの各々または対象の運動カテゴリに関するスコアでよく、各スコアは、映像が、そのアクションカテゴリを実行する対象の画像のシーケンスを含有していることの、推定された可能性を表現する。このタイプのシステムには、たとえば挙動の模倣を学習するのを支援するためのロボット工学の用途がある。
【0008】
したがって、おおまかに言えば、一態様では、映像データを処理するためのニューラルネットワークシステムは、映像データのフレームの第1のシーケンスから画像データを受け取るための第1のデータ入力と、映像データのフレームの第2のシーケンスからオプティカルフローデータを受け取るための第2のデータ入力とを備え得る。このシステムは、少なくとも3つの時空間次元において画像データを処理して第1の畳み込みニューラルネットワーク出力を供給するように構成され第1のデータ入力に結合された、第1の3D時空畳み込みニューラルネットワークと、少なくとも3つの時空間次元においてオプティカルフローデータを処理して第2の畳み込みニューラルネットワーク出力を供給するように構成され、第2のデータ入力に結合された、第2の3D時空畳み込みニューラルネットワークとをさらに備え得る。このシステムは、第1の畳み込みニューラルネットワーク出力からのデータと第2の畳み込みニューラルネットワーク出力からのデータを組み合わせて、組み合わされた処理済みの映像データ出力を供給するためのデータ結合器も備え得る。データ結合器は、第1の畳み込みニューラルネットワーク出力からのデータと第2の畳み込みニューラルネットワーク出力からのデータの平均をとってよい。組み合わされた処理済みの映像データ出力は、たとえば映像データの中の運動の分類を指示する分類データを供給するための分類データ出力を含み得る。
【0009】
たとえば所定または学習済みのオプティカルフロー計算カーネルを含むオプティカルフローデータを決定するための任意の適切な技術が採用され得る。オプティカルフローデータは画像データとして表現されてよく、(必須ではなく)時間的に近隣にあり得るフレームの間で決定されてよい。したがって、オプティカルフローデータは、オプティカルフロー画像フレームのシーケンスまたは対の画像フレームを含み得る。第2の3D時空畳み込みニューラルネットワークによって処理されるこのオプティカルフロー画像フレームのシーケンスは、第1の3D時空畳み込みニューラルネットワークによって処理される画像フレームのシーケンスに対応し得る。
【0010】
ニューラルネットワークシステムは、オプティカルフローデータを生成するための前処理と、任意選択で、システムによって処理される画像フレームを選択するための前処理とを含み得る。したがって、ニューラルネットワークシステムは、映像データから第2のデータ入力についてのオプティカルフローデータを生成するための、第1のデータ入力と第2のデータ入力の間に結合されたオプティカルフロー決定システムを含み得る。オプティカルフローデータは、第2の3D時空畳み込みニューラルネットワークに対する入力のための2つのオプティカルフローチャネルを含み得る。同様に、画像データは、第1の3D時空畳み込みニューラルネットワーク向けの2つ以上のカラー画像データチャネルを含み得る。いくつかの実装形態では、オプティカルフロー決定は、シーケンスの一端または他端において、画像フレームおよび1つの追加フレームを使用してよい。
【0011】
第1の3D時空畳み込みニューラルネットワークと第2の3D時空畳み込みニューラルネットワークの一方または両方が、連続したサブモジュールを備えるモジュール式サブ構造体を有し得る。次いで、各サブモジュールは、(1つまたは複数)の畳み込み層と、下にある層の畳み込みフィルタの特徴マップの次元を低減するための1×1×1の畳み込みなどの少なくとも1つの次元低減層とのセットを含み得る。各サブモジュールは、たとえばサブモジュール出力に対するショートカット接続または最大値もしくは平均値の(3D)プール層などのプール層を介する接続といった、畳み込み層のセットを回避する少なくとも1つの並列データ経路も含む。そのような構造は、複数のサブモジュールのスタッキングを促進し、精度を改善するための助けになり、訓練誤差を低減し、計算の複雑さを抑制する。
【0012】
第1の時空畳み込みニューラルネットワークと第2の時空畳み込みニューラルネットワークの一方または両方が、3D畳み込み層と、立方の受容フィールドを有する3Dカーネルを伴う3Dプール層とを有し得る。それにもかかわらず、第1の時空畳み込みニューラルネットワークと第2の時空畳み込みニューラルネットワークの一方または両方が、時空間次元のうち空間次元のみをプールする3Dプール層を含み得る。この手法は、対象が空間と時間の両方においてコヒーレントに移動するのが、ネットワークのうち1つの内部のフィルタまたはカーネルに認められるように、ネットワークの内部の層の受容フィールド同士を空間および時間において位置合わせする助けになり得る。
【0013】
3Dのカーネル/層が参照される場合には、これは4Dのカーネル/層を含む。この理由は、本明細書で説明されるアーキテクチャは、たとえば心臓の運動などの運動を分類する場合に、たとえば4Dの超音波または磁気の共鳴映像法データなどの医用画像データを処理するために、画素ばかりでなくボクセルのシーケンスの処理にも使用され得るためである。
【0014】
いくつかの実施形態では、第1の3D時空畳み込みニューラルネットワークと第2の3D時空畳み込みニューラルネットワークの一方または両方が、2つ、3つまたはそれ以上の一連のサブモジュールを含み得る。各サブモジュールが、互いに並列に接続された少なくとも2つの直列接続された3D畳み込み層と、サブモジュール出力の前の3Dプール層と、サブモジュール入力とサブモジュール出力の間の少なくとも1つの次元低減層とを有し得る。そのような機構は入力データを分類するときに特に正確であると認められている。
【0015】
3D時空畳み込みニューラルネットワークの一方または両方が、膨張した2Dアーキテクチャを有し得る。
【0016】
したがって、別の態様では、ニューラルネットワークシステムをもたらす方法は、2D画像処理用の2Dニューラルネットワークアーキテクチャを識別するステップを含み、2Dニューラルネットワークアーキテクチャは、それぞれの2Dカーネルによってそれぞれ定義された一連の畳み込み層およびプール層を含む。次いで、この方法は、2Dカーネルに時間の次元を追加することによってカーネルを空間次元および時間次元にわたって動作する3Dカーネルに変換して、膨張したニューラルネットワークアーキテクチャをもたらすために、2Dニューラルネットワークアーキテクチャを膨張させる。次いで、この膨張したニューラルネットワークアーキテクチャを、映像データを用いて訓練して、訓練された3Dニューラルネットワークを生成する。
【0017】
いくつかの実施形態では、訓練そのものに先立って、たとえば膨張したアーキテクチャの時間次元において重みパラメータのスケーリングされたバージョンを繰り返すことによって、膨張したニューラルネットワークアーキテクチャを初期化するかまたは事前訓練するために、2Dニューラルネットワークアーキテクチャの訓練されたバージョンからの重みパラメータが使用される。いくぶん直観に反するが、最終的な訓練された重みパラメータが与えられるなら、これは、訓練されたネットワーク精度における実質的な利益をもたらすことが判明している。それに加えて、またはその代わりに、さらなる利益のために、訓練は2つのステージを含み得、第1の訓練ステージは第1のデータセットを使用し、第2の訓練ステージは第2の異なるデータセットを使用する。一般に、第1のデータセットおよび第2のデータセットが表現する例は、同一のカテゴリのいくつかまたはすべてに分類され得、場合によっては実質的に互いに素である。
【0018】
別の態様では、訓練されたニューラルネットワークシステムをもたらす方法は、それぞれのカーネルによってそれぞれ定義された一連の畳み込み層およびプール層を使用して少なくとも3つの時空間次元において入力データを処理して畳み込みニューラルネットワーク出力をもたらすように構成され、データ入力に結合された、少なくとも1つの時空畳み込みニューラルネットワークをもたらすステップを含む。時空畳み込みニューラルネットワークは、膨張した2Dニューラルネットワークアーキテクチャを備え得、この膨張した2Dニューラルネットワークアーキテクチャ内では、カーネルを空間次元および時間次元にわたって動作する3Dカーネルに変換するために、2Dニューラルネットワークアーキテクチャの2Dカーネルに時間の次元が追加されている。時空畳み込みニューラルネットワークの重みは、初期化された時空畳み込みニューラルネットワークをもたらすために、2Dニューラルネットワークアーキテクチャの訓練されたバージョンの重みを使用して初期化されてよい。それに加えて、またはその代わりに、時空畳み込みニューラルネットワークの重みは、後の訓練で使用されるものとは異なる事前訓練のデータセットを用いて訓練することによって初期化され得る。次いで、初期化された時空畳み込みニューラルネットワークは、訓練されたニューラルネットワークシステムをもたらすために訓練されてよい。
【0019】
本明細書で説明される主題は、特定の実施形態において、以下の利点の1つまたは複数を実現するように実施され得る。
【0020】
いくつかの実装形態では、説明されるニューラルネットワークシステムは、人間の運動の例を含むものなどの映像データセットにおいて、実質的に改善された分類精度を達成することができる。説明される第1の3D時空畳み込みニューラルネットワークおよび第2の3D時空畳み込みニューラルネットワークのアーキテクチャについて、このシステムの実施形態は、ネットワークの同じ深さよりも少ないパラメータを有してもよく、したがって、より高い空間分解能の映像に対してより容易に動作することができ、かつ/または、より長い時間の受容フィールドを採用することができ、したがって、より長い期間にわたって特徴づけられる運動を表現する特徴を抽出する。言い換えれば、本明細書で説明されるシステムは、所与の分類精度のために必要とされ得るパラメータがより少ないので、他のシステムと比較して処理およびメモリの要件が低減され得る。
【0021】
このシステムの例は、以前にうまくいった静止画像の特性評価アーキテクチャを利用することもでき、これらを理に適ったやり方で拡張して、精度を改善し、訓練をより速くする。これらのアーキテクチャの学習されたパラメータは、より速くより正確な訓練のために、本明細書で説明されるネットワークを初期化するのに使用され得る。いくつかの実装形態では、訓練プロシージャ用に使用されるものと異なるデータセットを用いて事前訓練すると、アクション分類の精度をさらに改善することができる。
【0022】
本明細書の主題の1つまたは複数の実施形態の詳細を、添付図面および以下の記述において説明する。主題の他の特徴、態様、および利点が、記述、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0023】
【
図1】映像データを処理するための例示のニューラルネットワークシステムを示す図である。
【
図2a】
図1のシステムの例示のニューラルネットワークの詳細を示す図である。
【
図2b】
図1のシステムの例示のニューラルネットワークの詳細を示す図である。
【
図3】映像データを処理するための訓練されたニューラルネットワークシステムをもたらすための例示のプロセスの流れ図である。
【発明を実施するための形態】
【0024】
様々な図面における類似の参照番号および名称は、類似の要素を示す。
【0025】
本明細書は、映像データを処理するためのニューラルネットワークシステムを全般的に説明するものである。映像データが含む画像の時間シーケンスは、一般的には2D画像であるが、3D画像でもあり得る。画像は、カメラなどの画像センサによって取り込まれた画像を含んでよく、かつ/またはたとえばLIDAR画像といったレーダを含み得る。画像は、電磁スペクトルの可視領域および/または他の領域において取り込まれ得る。あるいは、映像データはシミュレーションまたはゲームから導出されてよく、シミュレーションまたはゲームにおける対象および/または俳優を表し得る。映像データは、ニューラルネットワークシステムに供給される前に、たとえば画像から特徴を抽出するために事前処理されてよい。
【0026】
いくつかの実装形態では、映像データによって表現される1つまたは複数のアクションを認識するために、より詳細には分類するために、映像データが処理される。しかしながら、より一般的には、説明されるニューラルネットワークシステムは、説明されるアーキテクチャを用いて、ニューラルネットワークシステムを、タスクを遂行するように訓練することにより、任意の目的のために映像データを処理するように使用され得るアーキテクチャを有する。たとえば、本明細書で説明されるようなニューラルネットワークシステムは、たとえば医学もしくは工学技術の診断目的で、または自律性もしくは準自律性の車両もしくはロボットの制御システムによって使用するために、対象運動を認識するかまたは分類するように訓練されてよい。たとえば、車両またはロボットは、たとえば警戒行動または回避行動をとるために、または対象を把握することを開始するために、認識された対象運動に応答するように制御されてよい。いくつかの他の用途では、ロボットまたは車両がアクションまたは挙動を模倣するために学習するのを容易にするように、アクションまたは挙動が認識されてよい。
【0027】
したがって、本明細書で説明されるようなニューラルネットワークシステムからの出力が含み得る1組のスコアは、範囲[0,1]の確率であり得る。各スコアは、映像データが、たとえば認識されたアクション、対象挙動、または対象運動といった対応する分類カテゴリを表現する画像のシーケンスを含むことの推定された可能性を表現し得る。
【0028】
さらに他の用途では、本明細書で説明されるようなニューラルネットワークシステムは、たとえば映像探索を容易にするために、たとえばアクションカテゴリに応じて映像データを分類するために使用され得る。たとえば、所与の画像に関してニューラルネットワークシステムによって生成される出力は、1組のアクション(対象運動)のカテゴリの各々に関するスコアでよく、各スコアは、映像データが、アクションカテゴリを実行している対象の画像のシーケンスを含有することの推定された可能性を表現する。別の例として、各スコアは、映像がトピックに関するものであることの推定された可能性を表現し得る。別の例として、ニューラルネットワークシステムによって生成される出力は、特定の映像広告がクリックされることの推定された可能性を表現するスコアでよい。ここで、システムに入力されるデータは、広告に関するインプレッション状況の1つまたは複数の特徴を含み得る。別の例として、ニューラルネットワークシステムによって生成される出力は、1組のコンテンツ項目の各々に関するスコアでよく、各スコアは、コンテンツ項目を勧められることに対してユーザが好意的に応答することの推定された可能性を表現する。ここで、システムに入力される映像データは、たとえばユーザによって取られた以前のアクションの特徴を表す特徴など、推奨のための状況の特徴を表す特徴といった、ユーザ向けにパーソナライズされた推奨の1つまたは複数の特徴を含み得る。
【0029】
図1は、上記で説明されたようなタスクを遂行するための例示のニューラルネットワークシステム100を示す。このシステムは、一度に処理されるK個の画像フレームのセット104である画像フレームのシーケンスを含む映像データを受け取るための映像データ入力102を備える。K個の画像フレームのセットは重複があってよい。映像データは圧縮形式で供給されてよく、その場合には、ニューラルネットワークシステム100による処理の前に、映像データから画像フレームが抽出されてよい。画像フレームはカラー画像フレームでよく、その場合には、フレームは、たとえばRGBの色チャネル、YUVの色チャネルといった複数の色チャネルを含み得る。
【0030】
映像データ102はオプティカルフロー決定器106にも供給される。オプティカルフロー決定器106は、一般的にはソフトウェアで実施され、たとえばK個の画像フレームに対応するオプティカルフローフレームといった、たとえば1組のオプティカルフローフレーム108であるオプティカルフローデータを決定するように構成されている。オプティカルフローフレームは、オプティカルフローの水平方向(x)成分を表現するオプティカルフローチャネルと垂直方向(y)成分を表現するオプティカルフローチャネルとの対に関するデータを含み得る。対のオプティカルフローチャネルは、オプティカルフローを画像化する、画像フレームとして同一の分解能を有し得る画像チャネルと見なされてよい。映像の各画像フレームについて、たとえば1対のオプティカルフロー画像といったオプティカルフローフレームがあり得る。したがって、オプティカルフロー決定器106は、K個の画像フレームについてK個のオプティカルフローフレームを決定し得る。しかしながら、第1のオプティカルフローフレームが第1の画像フレームおよび第2の画像フレームから導出され得るなど、オプティカルフローフレームは一般に2つ(以上)の画像のデータから構築されるので、最後のオプティカルフローフレームはK+1番目の画像フレームからのデータを使用する可能性がある。
【0031】
オプティカルフローを決定するための多くの技術がある。一実装形態では、オプティカルフロー決定器は、TV-L1アルゴリズム(全変動フローフィールド調整、データ忠実度に関するL
1ノルム)を使用する。1組のオプティカルフローフレームは、オプティカルフローフレームの各々について、各画素位置に関する1組のx変位値および各画素位置に関する1組のy変位値を含み得る。あるいは、オプティカルフローは、あるフレームから別のフレームへの運動軌跡に沿ったサンプルを含み得る。この場合、オプティカルフローフレームのセットは、各画素位置において、第1のフレームから連続した画像フレームを通して画素の運動をマッピングするベクトルのx成分およびy成分を含み得る。たとえば、その画素に関する第1のオプティカルフローフレームベクトルは第1の画像フレームから第2の画像フレームへのものであり、次のベクトルは、第2のフレームにおけるその画素の場所から第3のフレームへのものであるなど、それぞれの連続したベクトルが、フレームのセットの第1のフレームの中の画素の開始位置において、連続したオプティカルフローフレームに記憶される。いくつかの実装形態では、双方向オプティカルフローが採用されてよく、たとえばいくつかのオプティカルフローフレームが順方向フローを符号化し、たとえば交互に配置された他のフレームが、前のフレームに対して逆方向のフローを符号化する。いくつかの実装形態では、オプティカルフローフレームは、たとえば変位値の平均から導出される推定された全体的な運動成分を差し引くことにより、カメラまたは他のセンサの動きを補償し得る。
【0032】
画像フレームのセット104は、第1の3D畳み込みニューラルネットワーク110に対する入力をもたらす。大きく見ると、3D畳み込みニューラルネットワーク110は3Dカーネルを含み、カーネルはフィルタ動作またはプール動作を含み得る。3Dカーネルは入力として時空データを受け取り、すなわち入力フレームの時間シーケンスからデータを受け取る。
【0033】
いくつかの実装形態では、3D畳み込みニューラルネットワーク110のアーキテクチャは、膨張した2D畳み込みニューラルネットワークアーキテクチャに基づき得る。たとえば、2D畳み込みニューラルネットワークのフィルタカーネルおよびプールカーネルは、付加的な時間次元を与えられることによって膨張し得る。たとえば、フィルタカーネルまたはプールカーネルは、正方である場合には立方にされ得、すなわち、N×NのフィルタがN×N×Nのフィルタになり得る。3D畳み込みニューラルネットワーク110は、たとえば画像の色チャネルごとに1つといった複数の入力チャネルを有し得、特徴マップのように処理される。フィルタは、後に説明されるように訓練中に調節される学習可能パラメータを有する。
【0034】
オプティカルフローフレームのセット108は、第2の3D畳み込みニューラルネットワーク120に対する入力をもたらす。これは、一般に第1の3D畳み込みニューラルネットワーク110に類似のアーキテクチャを有し得、入力として同様に時空データを受け取り、すなわちオプティカルフローフレームの時間シーケンスからデータを受け取る。3D畳み込みニューラルネットワークの例示のアーキテクチャは後に説明する。第2の3D畳み込みニューラルネットワーク120は、1対のオプティカルフロー画像を受け取るために2チャネルの入力を有し得る。
【0035】
第1の3D畳み込みニューラルネットワークおよび第2の3D畳み込みニューラルネットワークは、それぞれ入力映像データの階層的時空表現をもたらす。第1の3D畳み込みニューラルネットワークおよび第2の3D畳み込みニューラルネットワークからの各出力が結合器130によって組み合わされて、ニューラルネットワークシステムの出力132をもたらす。いくつかの実装形態では、それぞれの3D畳み込みニューラルネットワークからの出力が、映像データの意味内容を分類する分類カテゴリの対応するセットの各々について1つ、1組のスコアを含む。これらのニューラルネットワークの出力層はsoftmax関数を実施してよく、そのスコアはカテゴリのそれぞれの確率を表現し得る。いくつかの実装形態では、カテゴリは、映像データによって表現されるアクションまたは対象の運動のカテゴリを表現し得る。結合器130からの出力は、分類カテゴリのセットの各々のそれぞれの確率を表現する1組のスコアなどの分類データを同様に含み得、ニューラルネットワークシステムは、これを識別するように訓練されている。
【0036】
いくつかの実装形態では、結合器130は、それぞれの3D畳み込みニューラルネットワークからのスコアの平均をとってよい。いくつかの他の実装形態では、結合器130は、いくつかの他のやり方でスコアを線形に組み合わせてよい。たとえば、結合器130は、マルチクラスのサポートベクトルマシンなど、学習済みの線形分類器を備え得る。さらに他の実装形態では、結合器130は、分類器のスコア出力を供給するために、1つまたは複数の3D畳み込みニューラルネットワーク層を実施してよい。たとえば、3D畳み込みニューラルネットワーク110、120の上層からの特徴マップが組み合わされてよく、結合器130によって実施された1つまたは複数のさらなる畳み込みニューラルネットワーク層に供給されてよい。
【0037】
結合器130からの予測(スコア)は、すべての時間ステップ/フレームにおいて、またはすべてのK個の時間ステップ/フレームについて、供給され得る。予測(スコア)は時間にわたって平均されてよい。
【0038】
図1のニューラルネットワークシステム100は、エンドツーエンドで訓練され得る。たとえば、システムには、識別することを学習するために、クラスの例を表現する映像データのラベル付きの例が与えられてよい。訓練のための追加の例には、ランダムクロッピング、サイズ変更、および映像のフリッピングによって生成され得るものがあり、これらの例は、開始フレームをランダムに選出することによって時間的にランダム化され得る。次いで、システムの学習可能なパラメータ、詳細には3D畳み込みニューラルネットワークのフィルタの重みが、カテゴリのスコアにおける分類誤りを表現するコスト関数から導出された勾配を逆伝搬させることによって調節され得る。いくつかの実装形態では、それぞれの3D畳み込みニューラルネットワーク110、120が別個に訓練され、これらのネットワークからのスコアが結合器130によって平均される。いくつかの他の実装形態では、システムは、結合器130の出力に基づいて全体として訓練されてよい。
【0039】
次に、例示の実装形態をより詳細に説明する。
【0040】
したがって、
図2aを参照すると、これは、3D畳み込みニューラルネットワーク110と120の一方または両方に採用され得る3D畳み込みニューラルネットワーク200の一例を示す。ニューラルネットワーク200は、画像フレームまたはオプティカルフローフレームを受け取るための映像入力202を有する。示されるようにこれは単一のチャネル入力であるが、実際には複数のチャネルを有し得、その場合、カーネルはその数のチャネルを追加次元として有し得る。
【0041】
映像は、一連の、畳み込み層204a〜204d、最大値または平均値のプール層206a〜206e、およびサブモジュール208に対する入力を供給する。ニューラルネットワーク200は、以前に説明されたように、たとえばスコアといった予測を供給する予測出力210を有する。
図2bには例示のサブモジュールが示されている。
図2aでは、(単一チャネルの)カーネル受容フィールドのサイズがラベルk×i×jによって表されており、iおよびjは空間の次元を画素の単位で表し、kは時間の次元をフレームの単位で表す。カーネルストライドも同様にラベルを付けられ、与えられない場合には1である。いくつかの実装形態では、各畳み込み層には、バッチ正規化層およびReLU(正規化線形ユニット)活性化関数(図示せず)などの活性化関数が続いてよい。複数の特徴マップにわたってプールすることによる次元低減を遂行するために、1つまたは複数の1×1×1の畳み込み204b、204dが採用され得る。予測出力210の直前に、softmax層および任意選択で1つまたは複数の完全に接続された層(図示せず)が設けられてよい。
【0042】
畳み込みニューラルネットワークは水平方向および垂直方向に関して対称の特徴受容フィールドを有するが、時間を考慮に入れるとき、受容フィールドはフレームレートおよび画像の次元に依拠するべきである。受容フィールドの増加は、速すぎると、異なる対象物の縁部同士が合成されてしまう可能性があり、遅すぎると、シーンダイナミクスのうちいくつかがうまく取り込まれない可能性がある。一般に、ニューラルネットワーク200は、カーネルの少なくともいくつかの受容フィールドが、空間次元および時間次元において、画素の単位およびフレームの単位で異なるように構成されてよい。たとえば、ニューラルネットワーク206a、206bの1つまたは複数の下方の(入力により近い)層では、空間プールはあり得るが時間プールはあり得ない。
【0043】
図2bを参照して、例示のサブモジュール208は、前の層212から入力を得て、次の層214に出力を供給する。サブモジュールは、入力と出力の間に複数の並列経路を備え得る。これらは、1つまたは複数の次元低減の1×1×1の畳み込み216、218、220および222を含み得、そのうち1つまたは複数が正規化線形活性化などの非線形活性化も実施し得る。1つまたは複数の並列経路が、異なるサイズの畳み込み224、226を含み得、これらはより小さい畳み込みのチェーンへと因数分解されてよい。並列経路のうち1つがプール動作228を含み得る。並列経路からの出力は、連結演算230によって組み合わされてよい。ニューラルネットワーク200およびサブモジュール208によって実施される動作は、管理された訓練によって学習されるパラメータを含む。
【0044】
図1および
図2のシステムはゼロから訓練され得るが、システムのいくつかの実装形態は、以前に説明されたタイプの膨張した2Dネットワークを使用するとき、訓練をブートストラップする。2Dネットワークアーキテクチャが、たとえばN×Nの2DフィルタをN×N×Nのフィルタに拡張することによって膨張されるとき、システムは、繰返しの画像フレームから成る「退屈な」映像が、単一の画像入力として同一の画像を提示されたとき、訓練された2Dネットワークにおけるものと同一のプールされた活性化をもたらすように、制約を加えられてよい。これは、時間次元に沿った訓練された2Dネットワークの重みをN回繰り返し、次いでNで割る再スケーリングによって達成され得る。N×NのフィルタをN×N×Mのフィルタに拡張する場合にも、同一の原理が採用され得る。このようにして、畳み込みフィルタの応答は、「退屈な」映像を提示された3Dネットワークのものと、「膨張」によって3Dネットワークアーキテクチャを導出した元の2Dネットワークのものが、同一であり得る。「退屈な」映像については畳み込みフィルタの出力が時間的に一定であるので、ポイント方向で非線形の層ならびに平均値プール層および最大値プール層の出力も、2Dアーキテクチャのものと同じであり、よって、全体的なネットワークは「退屈な」映像制約を遵守する。
【0045】
図3は、たとえば映像データにおける運動を分類するために、上記で説明されたように、ニューラルネットワークを、インスタンスを作成して訓練するための例示のプロシージャを示す。
【0046】
したがって、ステップ300において、システムは、画像分類のために有用であると以前に認められた2Dニューラルネットワークアーキテクチャを識別する。次いで、以前に説明されたように、システムは、フィルタを膨張させ、カーネルを3Dにプールする(ステップ302)。これは、システム用の3Dニューラルネットワークアーキテクチャをもたらす。ここでも以前に説明されたように、システムは、3D畳み込みニューラルネットワーク110、120の一方または両方のものである、訓練された2Dニューラルネットワークアーキテクチャの重みを初期化する(ステップ304)。次いで、システムは、管理された学習および逆伝搬によって
図1のニューラルネットワークを訓練し、それぞれの3Dニューラルネットワークを別個に、もしくはタンデムで訓練するか、またはニューラルネットワークをエンドツーエンドで訓練する。いくつかの実装形態では、性能を改善するために、システム100は、関連する特徴を学習するように、大きな映像データセットを用いて事前に訓練されてよく(ステップ306)、次いで、第2の、可能性としてより小さいターゲットデータセットを用いて訓練されてよい(ステップ308)。これは、他のネットワーク重みを凍結したまま、システムの最後の層(出力に最も近い層)のみを訓練することを包含し得る。
【0047】
1つまたは複数のコンピュータのシステムに関して、特定の動作または行為を遂行するように構成されているということは、動作において、システムに動作または行為を遂行させるソフトウェア、ファームウェア、ハードウェアまたはそれらの組合せがシステムにインストールされていることを意味する。1つまたは複数のコンピュータプログラムに関して、特定の動作または行為を遂行するように構成されているということは、1つまたは複数のプログラムに含まれる命令が、データ処理装置によって実行されたとき、この装置に動作または行為を遂行させることを意味する。
【0048】
本明細書で説明された主題および機能的動作の実施形態は、デジタル電子回路、実体的に実施されたコンピュータソフトウェアまたはファームウェア、本明細書で開示された構造およびそれらの構造的等価物を含むコンピュータハードウェア、あるいはそれらの1つまたは複数の組合せで実施され得る。本明細書で説明された主題の実施形態は、データ処理装置によって実行されるように、あるいはデータ処理装置の動作を制御するように、有形の非一時的プログラム担体上に符号化された1つまたは複数のコンピュータプログラムすなわちコンピュータプログラムの命令の1つまたは複数のモジュールとして実施され得る。その代わりに、またはそれに加えて、プログラム命令は、人為的に生成されて伝搬される信号、たとえば、データ処理装置による実行のために適切な受信装置へ伝送するために、情報を符号化するようにマシンで生成された電気信号、光信号、または電磁気信号上に符号化され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムアクセスメモリデバイスもしくは逐次アクセスメモリデバイス、またはそれらの1つまたは複数の組合せであり得る。しかしながら、コンピュータ記憶媒体は伝搬される信号ではない。
【0049】
「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含めて、データ処理用のあらゆる種類の装置、デバイス、およびマシンを包含する。装置は、たとえばFPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)といった専用論理回路を含むことができる。この装置は、ハードウェアに加えて、たとえばプロセッサのファームウェア、プロトコルのスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組合せを構成するコードといった、当該コンピュータプログラム用の実行環境を生成するコードも含み得る。
【0050】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、もしくはコードとも称され得る、またはそれらとして記述され得る)コンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形式のプログラム言語で書かれ得、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピュータ環境で使用するのに適切な他のユニットとして含まれる任意の形式で展開され得る。コンピュータプログラムは、ファイルシステムの中のファイルに対応することができるが、これは必須ではない。プログラムは、たとえばマークアップ言語のドキュメントで記憶された1つまたは複数のスクリプトといった他のプログラムまたはデータを保持するファイルの一部分、当該プログラムに専用の単一ファイル、あるいは、たとえば1つまたは複数のモジュール、サブプログラム、またはコードの一部分を記憶するファイルといった複数の統合されたファイルに記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置された、もしくは複数のサイトにわたって分散して通信網で相互に連結された複数のコンピュータ上で実行されるように展開され得る。
【0051】
本明細書で使用されたとき、「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力をもたらす、ソフトウェアで実施される入出力システムを指す。エンジンは、ライブラリ、プラットホーム、ソフトウェア開発キット(「SDK」)、またはオブジェクトなど、機能性の符号化されたブロックであり得る。各エンジンは、たとえばサーバ、携帯電話、タブレットコンピュータ、ノート型コンピュータ、音楽プレーヤ、eブックリーダ、ラップトップまたはデスクトップのコンピュータ、PDA、スマートフォン、あるいは1つまたは複数のプロセッサおよびコンピュータ可読媒体を含む他の固定式もしくは携帯用のデバイスといった、任意の適切なタイプのコンピュータデバイス上で実施され得る。加えて、同一のコンピュータデバイスまたは異なるコンピュータデバイス上で2つ以上のエンジンが実施され得る。
【0052】
本明細書で説明されるプロセスおよび論理の流れは、入力データに作用して出力を生成することによって機能を遂行する1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルコンピュータによって遂行され得る。これらのプロセスおよび論理の流れは、たとえばFPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)といった専用論理回路でも遂行され得、装置も専用論理回路として実施され得る。たとえば、プロセスおよび論理の流れはグラフィック処理ユニット(GPU)によって遂行され得、装置もグラフィック処理ユニット(GPU)として実施され得る。
【0053】
コンピュータプログラムを実行するのに適するコンピュータは、例として、汎用マイクロプロセッサもしくは専用マイクロプロセッサまたは両方、あるいは任意の他の種類の中央処理装置に基づくものを含み得る。一般に、中央処理装置は、命令およびデータを、読み取り専用メモリもしくはランダムアクセスメモリまたはその両方から受け取ることになる。コンピュータの必須要素は、命令を遂行または実行するための中央処理装置ならびに命令およびデータを記憶するための1つまたは複数の記憶デバイスである。一般に、コンピュータは、たとえば磁気ディスク、光磁気ディスク、または光ディスクといった、データを記憶するための1つまたは複数の大容量記憶デバイスも含むことになり、あるいは、これらからデータを受け取り、もしくはこれらへデータを転送し、またはその両方を行うために、これらに対して動作可能に結合されている。しかしながら、コンピュータにはそのようなデバイスがなくてもよい。その上に、コンピュータは、別のデバイス、たとえばほんの少数を挙げると、携帯電話、携帯情報端末(PDA)、携帯オーディオプレーヤまたはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信器、または携帯用の記憶デバイス(たとえばユニバーサルシリアルバス(USB)のフラッシュドライブ)の中に組み込まれ得る。
【0054】
コンピュータプログラムの命令およびデータを記憶するのに適切なコンピュータ可読媒体には、例として、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスといった半導体メモリデバイスと、たとえば内部ハードディスク、または取外し可能ディスクといった磁気ディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含む、すべての形式の不揮発性メモリ、媒体、メモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路を追加することができ、あるいは専用論理回路に組み込むことができる。
【0055】
ユーザとの対話を提供するために、本明細書で説明される主題の実施形態は、ユーザに情報を表示するための、たとえばCRT(ブラウン管)またはLCD(液晶ディスプレイ)のモニタといった表示デバイス、ならびにユーザがコンピュータに入力を与えることができるキーボード、およびたとえばマウスまたはトラックボールといったポインティングデバイスを有するコンピュータ上で実施され得る。ユーザとの対話をもたらすために、他の種類のデバイスも同様に使用され得、たとえば、ユーザに提供されるフィードバックは、たとえば視覚フィードバック、聴覚フィードバック、触覚フィードバックといった任意の形式の感覚フィードバックであり得、また、ユーザからの入力は、音響、音声、または触覚の入力を含む任意の形式で受け取られ得る。加えて、コンピュータは、ユーザが使用しているデバイスとの間でドキュメントを送受することにより、たとえばウェブブラウザから受け取った要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。
【0056】
本明細書で説明される主題の実施形態は、たとえばデータサーバとしてのバックエンドコンポーネント、またはたとえばアプリケーションサーバといったミドルウェアコンポーネント、またはたとえば、ユーザが本明細書で説明される主題の実施形態と対話することを可能にするグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータといったフロントエンドコンポーネント、あるいはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組合せを含むコンピュータシステムにおいて実施され得る。システムのコンポーネントは、たとえば通信ネットワークであるデジタルデータ通信の任意の形式または媒体によって相互に連結され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびたとえばインターネットである広域ネットワーク(「WAN」)を含む。
【0057】
コンピュータシステムは、クライアントおよびサーバを含むことができる。一般に、クライアントとサーバとは互いに遠く離れていて、典型的には通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で走って互いにクライアント対サーバの関係を有する各コンピュータプログラムによって生じる。
【0058】
本明細書は多くの特定の実装形態の詳細を含むが、これらは、何らかの発明の範囲に対する限定または特許請求され得るものの限定としてではなく、特定の発明の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。本明細書において個別の実施形態の文脈で説明された特定の特徴は、単一の実施形態の組合せでも実施され得る。反対に、単一の実施形態の文脈で説明された様々な特徴はまた、複数の実施形態で別個に実施され得、または任意の適切な部分組合せで実施され得る。その上に、各特徴は、上記ではある組合せにおいて働くように記載されており、最初からそのように請求されていても、請求された組合せの1つまたは複数の特徴は、場合によってはその組合せから削除されてもよく、請求された組合せは、部分組合せまたは部分組合せの変形形態を対象とするものでもよい。
【0059】
同様に、図面において動作が特定の順番で表されているが、これは、望ましい結果を達成するためにそのような動作が示された特定の順番または順序で遂行されることまたは図示のすべての動作が遂行されることを必要とすると理解されるべきではない。特定の環境では、マルチタスクおよび並行処理が有利なことがある。その上に、前述の実施形態の様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離が必要とされるものと理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは、単一のソフトウェア製品において全体的に一緒に一体化されるか、または複数のソフトウェア製品へとパッケージ化され得ることを理解されたい。
【0060】
主題の特定の実施形態が説明されてきた。他の実施形態は、以下の特許請求の範囲の範囲内にある。たとえば、特許請求の範囲において列挙された行為は、異なる順番で遂行されても、望ましい結果を達成することができる。一例として、添付図において表された処理は、望ましい結果を達成するために、示された特定の順番または順序を必ずしも必要とするわけではない。特定の実装形態では、マルチタスクおよび並行処理が有利であり得る。
【符号の説明】
【0061】
100 ニューラルネットワークシステム
102 映像データ、映像データ入力
104 画像フレームのセット
106 オプティカルフロー決定器
108 オプティカルフローフレームのセット
110 第1の3D畳み込みニューラルネットワーク
120 第2の3D畳み込みニューラルネットワーク
130 結合器
132 ニューラルネットワークシステムの出力
200 3D畳み込みニューラルネットワーク
202 映像入力
204a 畳み込み層
204b 畳み込み層
204c 畳み込み層
204d 畳み込み層
206a 最大値プール層、ニューラルネットワーク
206b 最大値プール層、ニューラルネットワーク
206c 最大値プール層
206d 最大値プール層
206e 平均値プール層
208 サブモジュール
210 予測出力
212 前の層
214 次の層
216 1×1×1の畳み込み
218 1×1×1の畳み込み
220 1×1×1の畳み込み
222 1×1×1の畳み込み
224 異なるサイズの畳み込み
226 異なるサイズの畳み込み
228 プール動作
230 連結演算