(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-05
(54)【発明の名称】効率的な映像認識方法、システム、プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240227BHJP
G06T 7/00 20170101ALI20240227BHJP
G06V 20/70 20220101ALI20240227BHJP
G06V 10/80 20220101ALI20240227BHJP
【FI】
G06N20/00
G06T7/00 350B
G06V20/70
G06V10/80
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023553611
(86)(22)【出願日】2022-03-10
(85)【翻訳文提出日】2023-09-04
(86)【国際出願番号】 CN2022080147
(87)【国際公開番号】W WO2022188838
(87)【国際公開日】2022-09-15
(32)【優先日】2021-03-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】パンダ、ラメスワー
(72)【発明者】
【氏名】チェン、リチャード
(72)【発明者】
【氏名】ファン、カンフ
(72)【発明者】
【氏名】フェリス、ロジェリオ シュミット
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096BA08
5L096BA16
5L096BA18
5L096DA02
5L096HA02
5L096HA13
5L096JA13
5L096JA16
5L096JA22
(57)【要約】
効率的な映像認識方法、システム、プログラムが提供される。まず映像セグメントのシーケンスを含む入力映像を複数のデータ・モダリティで受信し、シーケンスの映像セグメントについて映像セグメントを表現するデータに基づいてデータ・モダリティを選択する。ここで選択された各データ・モダリティは映像セグメントの映像認識に最適である。次に選択されたデータ・モダリティごとに映像セグメントを選択されたデータ・モダリティで表現するデータ入力を選択されたデータ・モダリティに対応する機械学習モデルに提供し、機械学習モデルを介して映像セグメントを代表する第1のタイプの予測を生成する。そして生成されたすべての第1のタイプの予測を集約することによって入力映像全体を代表する第2のタイプの予測を決定する。
【特許請求の範囲】
【請求項1】
映像認識のための方法であって、
映像セグメントのシーケンスを含む入力映像を複数のデータ・モダリティで受信することと、
前記シーケンスの映像セグメントについて、前記映像セグメントを表現するデータに基づいて、前記複数のデータ・モダリティから1つまたは複数のデータ・モダリティを選択することであって、選択された各データ・モダリティが、前記映像セグメントの映像認識に最適である、前記選択することと、
選択されたデータ・モダリティごとに、前記映像セグメントを前記選択されたデータ・モダリティで表現する少なくとも1つのデータ入力を、前記選択されたデータ・モダリティに対応する機械学習モデルに提供し、前記機械学習モデルを介して前記映像セグメントを代表する第1のタイプの予測を生成することと、
生成されたすべての第1のタイプの予測を集約することによって、前記入力映像全体を代表する第2のタイプの予測を決定することであって、前記第2のタイプの予測が、前記入力映像中でキャプチャされたオブジェクトまたはアクティビティを示す、前記決定することと
を含む、方法。
【請求項2】
前記複数のデータ・モダリティが、RGBモダリティ、オプティカル・フロー・モダリティ、および音声モダリティのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記映像セグメントを表現する前記データが、1つまたは複数のRGBフレーム、1つまたは複数のRGB差フレーム、および1つまたは複数の音声フレームのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項4】
前記複数のデータ・モダリティの各データ・モダリティが、前記複数のデータ・モダリティの1つまたは複数の他のデータ・モダリティに対応する1つまたは複数の他の機械学習モデルと併せて訓練される、対応する機械学習モデルを有する、請求項1に記載の方法。
【請求項5】
前記複数のデータ・モダリティの各データ・モダリティに対応する各機械学習モデルが、サブネットワークを含む、請求項4に記載の方法。
【請求項6】
前記選択された1つまたは複数のデータ・モダリティが、映像認識精度と計算効率との間で最適なトレードオフを実現する、請求項1に記載の方法。
【請求項7】
結合特徴抽出器を介して、前記映像セグメントを前記複数のデータ・モダリティで表現する前記データ入力から結合特徴を抽出することと、
前記抽出された結合特徴に部分的に基づいて、長短期記憶(LSTM)を介して、前記映像セグメントについての隠れ状態を計算することと、
前記複数のデータ・モダリティのデータ・モダリティごとに、
前記映像セグメントについての前記隠れ状態に基づいて、対応するポリシ分布を推定することと、
前記対応するポリシ分布にGumbel-Softmax操作を適用して、前記映像セグメントの前記映像認識のために前記データ・モダリティを選択するかどうかを示す対応する二分決定をサンプリングすることと
をさらに含む、請求項1に記載の方法。
【請求項8】
選択されなかった前記複数のデータ・モダリティの各データ・モダリティが、前記映像セグメントの前記映像認識には冗長である、請求項1に記載の方法。
【請求項9】
映像認識のためのシステムであって、
少なくとも1つのプロセッサと、
命令を記憶する非一過性のプロセッサ可読メモリ・デバイスであって、前記命令が前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
映像セグメントのシーケンスを含む入力映像を複数のデータ・モダリティで受信することと、
前記シーケンスの映像セグメントについて、前記映像セグメントを表現するデータに基づいて、前記複数のデータ・モダリティから1つまたは複数のデータ・モダリティを選択することであって、選択された各データ・モダリティが、前記映像セグメントの映像認識に最適である、前記選択することと、
選択されたデータ・モダリティごとに、前記映像セグメントを前記選択されたデータ・モダリティで表現する少なくとも1つのデータ入力を、前記選択されたデータ・モダリティに対応する機械学習モデルに提供し、前記機械学習モデルを介して前記映像セグメントを代表する第1のタイプの予測を生成することと、
生成されたすべての第1のタイプの予測を集約することによって、前記入力映像全体を代表する第2のタイプの予測を決定することであって、前記第2のタイプの予測が、前記入力映像中でキャプチャされたオブジェクトまたはアクティビティを示す、前記決定することと
を含む動作を実行させる、前記非一過性のプロセッサ可読メモリ・デバイスと
を備える、システム。
【請求項10】
前記複数のデータ・モダリティが、RGBモダリティ、オプティカル・フロー・モダリティ、および音声モダリティのうちの少なくとも1つを含む、請求項9に記載のシステム。
【請求項11】
前記映像セグメントを表現する前記データが、1つまたは複数のRGBフレーム、1つまたは複数のRGB差フレーム、および1つまたは複数の音声フレームのうちの少なくとも1つを含む、請求項9に記載のシステム。
【請求項12】
前記複数のデータ・モダリティの各データ・モダリティが、前記複数のデータ・モダリティの1つまたは複数の他のデータ・モダリティに対応する1つまたは複数の他の機械学習モデルと併せて訓練される、対応する機械学習モデルを有する、請求項9に記載のシステム。
【請求項13】
前記複数のデータ・モダリティの各データ・モダリティに対応する各機械学習モデルが、サブネットワークを含む、請求項12に記載のシステム。
【請求項14】
前記選択された1つまたは複数のデータ・モダリティが、映像認識精度と計算効率との間で最適なトレードオフを実現する、請求項9に記載のシステム。
【請求項15】
前記命令が、
結合特徴抽出器を介して、前記映像セグメントを前記複数のデータ・モダリティで表現する前記データ入力から結合特徴を抽出することと、
前記抽出された結合特徴に部分的に基づいて、長短期記憶(LSTM)を介して、前記映像セグメントについての隠れ状態を計算することと、
前記複数のデータ・モダリティのデータ・モダリティごとに、
前記映像セグメントについての前記隠れ状態に基づいて、対応するポリシ分布を推定することと、
前記対応するポリシ分布にGumbel-Softmax操作を適用して、前記映像セグメントの前記映像認識のために前記データ・モダリティを選択するかどうかを示す対応する二分決定をサンプリングすることと
をさらに含む、請求項9に記載のシステム。
【請求項16】
選択されなかった前記複数のデータ・モダリティの各データ・モダリティが、前記映像セグメントの前記映像認識には冗長である、請求項9に記載のシステム。
【請求項17】
映像認識のためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、プログラム命令が具体化されたコンピュータ可読記憶媒体を含み、プロセッサによって実行可能な前記プログラム命令は、前記プロセッサに
映像セグメントのシーケンスを含む入力映像を複数のデータ・モダリティで受信することと、
前記シーケンスの映像セグメントについて、前記映像セグメントを表現するデータに基づいて、前記複数のデータ・モダリティから1つまたは複数のデータ・モダリティを選択することであって、選択された各データ・モダリティが、前記映像セグメントの映像認識に最適である、前記選択することと、
選択されたデータ・モダリティごとに、前記映像セグメントを前記選択されたデータ・モダリティで表現する少なくとも1つのデータ入力を、前記選択されたデータ・モダリティに対応する機械学習モデルに提供し、前記機械学習モデルを介して前記映像セグメントを代表する第1のタイプの予測を生成することと、
生成されたすべての第1のタイプの予測を集約することによって、前記入力映像全体を代表する第2のタイプの予測を決定することであって、前記第2のタイプの予測が、前記入力映像中でキャプチャされたオブジェクトまたはアクティビティを示す、前記決定することと
を行わせる、コンピュータ・プログラム製品。
【請求項18】
前記複数のデータ・モダリティが、RGBモダリティ、オプティカル・フロー・モダリティ、および音声モダリティのうちの少なくとも1つを含む、請求項17に記載のコンピュータ・プログラム製品。
【請求項19】
前記映像セグメントを表現する前記データが、1つまたは複数のRGBフレーム、1つまたは複数のRGB差フレーム、および1つまたは複数の音声フレームのうちの少なくとも1つを含む、請求項17に記載のコンピュータ・プログラム製品。
【請求項20】
前記複数のデータ・モダリティの各データ・モダリティが、前記複数のデータ・モダリティの1つまたは複数の他のデータ・モダリティに対応する1つまたは複数の他の機械学習モデルと併せて訓練される、対応する機械学習モデルを有する、請求項17に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態の分野は、一般的に映像認識に関する。
【背景技術】
【0002】
映像認識は、機械学習(ML)ベースのコンピュータ・ビジョン・タスクであり、映像などの視覚的ソースから入ってくるデータを、取得すること、処理すること、および分析することを伴う。映像認識では、マルチモーダルな学習が広く使用される。マルチモーダルな学習は、モデルのパフォーマンスを改善するために多様なデータ・モダリティを利用する。マルチモーダルな学習を介して訓練されたモデルは、様々なデータ・モダリティの結合表現を表す。最も従来型の深層マルチモーダル・モデルは、複数のデータ・モダリティからの情報をどうやって融合するかにフォーカスを当てている。しかしながら、マルチモーダルな学習を利用した従来の映像認識ソリューションは、通常、データの冗長な/無関係な部分を含め、視覚的ソースから入ってくるすべてのデータを処理するため、計算コストが高い。例えば、従来のソリューションは、映像内で行われるアクティビティ(すなわち、アクション)を認識するために、RGBストリームおよび音声ストリームなど、映像を異なるデータ・モダリティで表現する複数のデータ・ストリームの全体を分析する場合がある。しかしながら、映像内で行われるアクティビティを認識するために、映像のすべての映像セグメントについて複数のデータ・ストリームを分析する必要はない場合がある。入力に基づいて映像の各映像セグメントの映像認識に最適なオンザフライのデータ・モダリティを選択することによって(すなわち、映像セグメントごとの、異なるデータ・モダリティのデータ依存選択)、映像認識の効率を向上させ(すなわち、計算効率を上げる)、計算において顕著な節約を実現し(すなわち、計算コストを下げる)、映像認識の精度を高める(すなわち、予測/分類の精度/品質を改善する)、適応的でマルチモーダルな学習フレームワークを提供する必要がある。
【発明の概要】
【0003】
本発明の実施形態は、一般的に映像認識に関し、より詳細には、効率的な映像認識のためのデータ・モダリティの適応的選択のための方法およびシステムに関する。
【0004】
本発明の一実施形態は、映像認識のための方法を提供する。方法は、映像セグメントのシーケンスを含む入力映像を複数のデータ・モダリティで受信することを含む。方法は、シーケンスの映像セグメントについて、映像セグメントを表現するデータに基づいて、複数のデータ・モダリティから1つまたは複数のデータ・モダリティを選択することをさらに含む。選択された各データ・モダリティは、映像セグメントの映像認識に最適である。方法は、選択されたデータ・モダリティごとに、映像セグメントを選択されたデータ・モダリティで表現する少なくとも1つのデータ入力を、選択されたデータ・モダリティに対応する機械学習モデルに提供し、機械学習モデルを介して映像セグメントを代表する第1のタイプの予測を生成することをさらに含む。方法は、生成されたすべての第1のタイプの予測を集約することによって、入力映像全体を代表する第2のタイプの予測を決定することをさらに含む。第2のタイプの予測は、入力映像中でキャプチャされたオブジェクトまたはアクティビティを示す。他の実施形態は、映像認識のためのシステム、および映像認識のためのコンピュータ・プログラム製品を含む。これらの特徴は、映像認識精度と計算効率との間で最適なトレードオフを実現するという利点に寄与する。
【0005】
以下の特徴のうちの1つまたは複数が含まれてもよい。
【0006】
一部の実施形態では、複数のデータ・モダリティの各データ・モダリティは、複数のデータ・モダリティの1つまたは複数の他のデータ・モダリティに対応する1つまたは複数の他の機械学習モデルと併せて訓練される、対応する機械学習モデルを有する。一部の実施形態では、複数のデータ・モダリティの各データ・モダリティに対応する各機械学習モデルは、サブネットワークを含む。これらの任意選択的な特徴は、映像を認識することにおいて、より計算効率の良いデータ・モダリティの選択を優先する決定ポリシを学習するという利点に寄与する。
【0007】
本発明の実施形態の、これらのおよび他の、態様、特徴、および利点は、本明細書の図面および詳細な説明を参照して理解することができ、また添付の特許請求の範囲で特に指摘される様々な要素および組合せにより実現されよう。前述の一般的な説明と、後述の図面の簡単な説明および本発明の実施形態の詳細な説明との両方は、本発明の好ましい実施形態の例示的で説明的なものであり、特許請求されるように本発明の実施形態を限定するものではないことを理解されたい。
【0008】
本発明の実施形態と考えられる主題は、明細書の結論部分における特許請求の範囲において特に指摘され、明確に特許請求される。本発明の実施形態の、前述、ならびに他の目的、特徴および利点は、添付の図面と併せて以下の詳細な説明から明らかである。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態による、効率的な映像認識のためのデータ・モダリティの適応的選択を実装するための、例示のコンピューティング・アーキテクチャである。
【
図2】本発明の実施形態による、例示の適応的でマルチモーダルな学習システムの図である。
【
図3】本発明の実施形態による、システムに含まれる決定ポリシ・ネットワークおよび映像認識ネットワークの例示のコンポーネントの図である。
【
図4】本発明の実施形態による、システムを伴う例示の適用シナリオの図である。
【
図5A】本発明の実施形態による、異なるモダリティでの映像セグメントの第1のシーケンスの図である。
【
図5B】本発明の実施形態による、異なるモダリティでの映像セグメントの第2のシーケンスの図である。
【
図5C】本発明の実施形態による、異なるモダリティでの映像セグメントの第3のシーケンスの図である。
【
図5D】本発明の実施形態による、異なるモダリティでの映像セグメントの第4のシーケンスの図である。
【
図5E】本発明の実施形態による、異なるモダリティでの映像セグメントの第5のシーケンスの図である。
【
図5F】本発明の実施形態による、異なるモダリティでの映像セグメントの第6のシーケンスの図である。
【
図5G】本発明の実施形態による、異なるモダリティでの映像セグメントの第7のシーケンスの図である。
【
図5H】本発明の実施形態による、異なるモダリティでの映像セグメントの第8のシーケンスの図である。
【
図5I】本発明の実施形態による、異なるモダリティでの映像セグメントの第9のシーケンスの図である。
【
図6】本発明の実施形態による、効率的な映像認識のためのデータ・モダリティの適応的選択のための、例示のプロセスのフローチャートである。
【
図7】本発明の実施形態による、クラウド・コンピューティング環境の図である。
【
図8】本発明の実施形態による、抽象的なモデル・レイヤの図である。
【
図9】本発明の実施形態を実装するのに有用な情報処理システムを示す、高次ブロック図である。
【発明を実施するための形態】
【0010】
詳細な説明では、例として図面を参照して、本発明の好ましい実施形態を利点および特徴と併せて説明する。
【0011】
本発明の実施形態は、一般的に映像認識に関し、より詳細には、効率的な映像認識のためのデータ・モダリティの適応的選択のための方法およびシステムに関する。本発明の一実施形態は、映像認識のための方法を提供する。方法は、映像セグメントのシーケンスを含む入力映像を複数のデータ・モダリティで受信することを含む。方法は、シーケンスの映像セグメントについて、映像セグメントを表現するデータに基づいて、複数のデータ・モダリティから1つまたは複数のデータ・モダリティを選択することをさらに含む。選択された各データ・モダリティは、映像セグメントの映像認識に最適である。方法は、選択されたデータ・モダリティごとに、映像セグメントを選択されたデータ・モダリティで表現する少なくとも1つのデータ入力を、選択されたデータ・モダリティに対応する機械学習モデルに提供し、機械学習モデルを介して映像セグメントを代表する第1のタイプの予測を生成することをさらに含む。方法は、生成されたすべての第1のタイプの予測を集約することによって、入力映像全体を代表する第2のタイプの予測を決定することをさらに含む。第2のタイプの予測は、入力映像中でキャプチャされたオブジェクトまたはアクティビティを示す。
【0012】
本発明の別の実施形態は、映像認識のためのシステムを提供する。システムは、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに動作を実行させる命令を記憶する非一過性のプロセッサ可読メモリ・デバイスとを備える。動作は、映像セグメントのシーケンスを含む入力映像を複数のデータ・モダリティで受信することを含む。動作は、シーケンスの映像セグメントについて、映像セグメントを表現するデータに基づいて、複数のデータ・モダリティから1つまたは複数のデータ・モダリティを選択することをさらに含む。選択された各データ・モダリティは、映像セグメントの映像認識に最適である。命令は、選択されたデータ・モダリティごとに、映像セグメントを選択されたデータ・モダリティで表現する少なくとも1つのデータ入力を、選択されたデータ・モダリティに対応する機械学習モデルに提供し、機械学習モデルを介して映像セグメントを代表する第1のタイプの予測を生成することをさらに含む。命令は、生成されたすべての第1のタイプの予測を集約することによって、入力映像全体を代表する第2のタイプの予測を決定することをさらに含む。第2のタイプの予測は、入力映像中でキャプチャされたオブジェクトまたはアクティビティを示す。
【0013】
本発明の一実施形態は、映像認識のためのコンピュータ・プログラム製品を提供する。コンピュータ・プログラム製品は、プログラム命令が具体化されるコンピュータ可読記憶媒体を備える。プログラム命令は、プロセッサに、映像セグメントのシーケンスを含む入力映像を複数のデータ・モダリティで受信することを行わせるように、プロセッサによって実行可能である。プログラム命令は、プロセッサに、シーケンスの映像セグメントについて、映像セグメントを表現するデータに基づいて、複数のデータ・モダリティから1つまたは複数のデータ・モダリティを選択することをさらに行わせるように、プロセッサによって実行可能である。選択された各データ・モダリティは、映像セグメントの映像認識に最適である。プログラム命令は、プロセッサに、選択されたデータ・モダリティごとに、映像セグメントを選択されたデータ・モダリティで表現する少なくとも1つのデータ入力を、選択されたデータ・モダリティに対応する機械学習モデルに提供し、機械学習モデルを介して映像セグメントを代表する第1のタイプの予測を生成することをさらに行わせるように、プロセッサによって実行可能である。プログラム命令は、プロセッサに、生成されたすべての第1のタイプの予測を集約することによって、入力映像全体を代表する第2のタイプの予測を決定することをさらに行わせるように、プロセッサによって実行可能である。第2のタイプの予測は、入力映像中でキャプチャされたオブジェクトまたはアクティビティを示す。
【0014】
図1は、本発明の実施形態による、効率的な映像認識のためのデータ・モダリティの適応的選択を実装するための、例示のコンピューティング・アーキテクチャ300である。一実施形態では、コンピューティング・アーキテクチャ300は、中央集権化されたコンピューティング・アーキテクチャである。別の実施形態では、コンピューティング・アーキテクチャ300は、分散型のコンピューティング・アーキテクチャである。
【0015】
一実施形態では、コンピューティング・アーキテクチャ300は、1つまたは複数のプロセッサ・ユニット310および1つまたは複数のストレージ・ユニット320などの計算リソースを含むが、それに限定されない。1つまたは複数のアプリケーションは、コンピューティング・アーキテクチャ300の計算リソースを利用して、コンピューティング・アーキテクチャ300で実行/動作することができる。一実施形態では、コンピューティング・アーキテクチャ300上のアプリケーションは、限定はしないが適応的でマルチモーダルな学習システム330を含む。本明細書において後に詳述するように、システム330は、効率的な映像認識のために、異なるモダリティのデータ依存選択用に構成される。
【0016】
一実施形態では、システム330は、1つもしくは複数の電子デバイス350と、または1つもしくは複数のリモート・サーバ・デバイス360と、あるいはその組合せと、接続(例えば、Wi-Fi接続もしくはセルラ・データ接続などの無線接続、有線接続、またはその2つの組合せ)上でデータを交換するように構成される。
【0017】
一実施形態では、電子デバイス350は、限定はしないが1つまたは複数のプロセッサ・ユニット351および1つまたは複数のストレージ・ユニット352などの1つまたは複数の計算リソースを含む。1つまたは複数のアプリケーションは、限定はしないが電子デバイス350にロードまたはダウンロードされる1つまたは複数のソフトウェア・アプリケーション354など、電子デバイス350の1つまたは複数の計算リソースを利用して、電子デバイス350上で実行/動作することができる。ソフトウェア・アプリケーション354の例としては、限定はしないが人工知能(AI)アプリケーションなどが挙げられる。
【0018】
電子デバイス350の例としては、限定はしないが、デスクトップ・コンピュータ、モバイル電子デバイス(例えば、タブレット、スマートフォン、ラップトップなど)、ウェアラブル・デバイス(例えば、スマート・ウォッチなど)、モノのインターネット(IoT)デバイスなどが挙げられる。
【0019】
一実施形態では、電子デバイス350は、電子デバイス350に一体化または結合された、キーボード、キーパッド、タッチ・インターフェース、ディスプレイ・スクリーンなどの、1つまたは複数の入出力(I/O)ユニット353を含む。ユーザは、電子デバイス350のI/Oモジュール353を利用して、1つまたは複数のユーザ設定を構成する、1つまたは複数のパラメータを設定する、入力を与える、などができる。
【0020】
一実施形態では、電子デバイス350またはリモート・サーバ・デバイス360あるいはその両方は、以下のうちの少なくとも1つのソースであってもよい:入力映像、訓練映像。
【0021】
一実施形態では、システム330は、リモート・サーバ・デバイス360上でホストされる1つもしくは複数のオンライン・サービス(例えば、AIサービス)、または電子デバイス350上で動作中の1つもしくは複数のソフトウェア・アプリケーション354(例えば、AIアプリケーション)、あるいはその両方によって、アクセスまたは利用される場合がある。例えば、一実施形態では、仮想アシスタント、サーチ・エンジン、または電子デバイス350上で動作中の別のタイプのソフトウェア・アプリケーション354は、システム330を呼び出してAIタスクを実行することができる。
【0022】
図2は、本発明の実施形態による、例示の適応的でマルチモーダルな学習システム330の図である。入力映像は、1つまたは複数のデータ・モダリティで、映像セグメント400のシーケンスを含む。データ・モダリティの例としては、限定はしないが、RGBモダリティ、音声モダリティ、オプティカル・フロー・モダリティなどが挙げられる。
【0023】
映像セグメント400のシーケンスは、1つまたは複数のデータ・ストリームとして表現される。各データ・ストリームは、映像セグメント400のシーケンスを特定のデータ・モダリティで表現する、データ入力のシーケンスを含む。データ・ストリームの例としては、限定はしないが、RGB入力のシーケンス(すなわち、映像セグメント400のRGBフレーム)を含むRGBストリーム、音声入力のシーケンス(すなわち、映像セグメント400の音声フレーム)を含む音声ストリーム、オプティカル・フロー入力のシーケンス(すなわち、映像セグメント400のオプティカル・フロー・フレーム)を含むオプティカル・フロー・ストリーム、または、RGB差入力のシーケンス(すなわち、映像セグメント400のRGB差フレーム)を含むRGB差ストリーム、あるいはその組合せが挙げられる。
【0024】
一実施形態では、システム330は、マルチモーダル決定ポリシ・ネットワーク410および映像認識ネットワーク430を備える。映像認識ネットワーク430は、複数のデータ・モダリティで異なる映像セグメント400の映像認識のために訓練された、複数の機械学習モデルを含む。一実施形態では、複数の機械学習モデルは、異なるサブネットワーク435(
図3)を含む。異なるサブネットワーク435の各サブネットワーク435は、異なるサブネットワーク435の別のサブネットワーク435が対応する別のデータ・モダリティとは異なる、特定のデータ・モダリティに対応する。各サブネットワーク435は、映像セグメント400を対応するデータ・モダリティで表現するデータ入力を受信して、処理するように構成される。
【0025】
一実施形態では、マルチモーダル決定ポリシ・ネットワーク410は、(1)映像セグメント400のシーケンスを含む入力映像を受信することと、(2)入力映像の映像セグメント400ごとに、映像セグメント400を複数のデータ・モダリティで表現するデータ入力に基づいて、複数のデータ・モダリティから、映像セグメント400の映像認識に最適な1つまたは複数のデータ・モダリティ420を適応的に選択することとを行うように構成される。入力映像の映像セグメント400ごとに、マルチモーダル決定ポリシ・ネットワーク410は、映像セグメント400を複数のデータ・モダリティで表現するデータ入力を条件として、映像セグメントの映像認識に最適なオンザフライの1つまたは複数のデータ・モダリティ420を選択する。入力映像の映像セグメント400ごとに、マルチモーダル決定ポリシ・ネットワーク410は、映像セグメント400の映像認識に好適なデータ・モダリティ420の適応的選択を実装するが、この選択はデータ依存的である。映像認識の間、選択された各データ・モダリティ420は、データ・ストリーム中で見るべき所(データ・ストリームがRGBストリームまたはオプティカル・フロー・ストリームの場合)、またはデータ・ストリーム中で聞くべき所(データ・ストリームが音声ストリームの場合)にフォーカスするのを助ける。
【0026】
一実施形態では、入力映像の映像セグメント400ごとに、映像認識ネットワーク430は、(1)(例えば、決定ポリシ・ネットワーク410から)映像セグメント400の映像認識に最適な、1つまたは複数の選択されたデータ・モダリティ420を受信することと、(2)映像セグメント400を1つまたは複数の選択されたデータ・モダリティ420で表現する1つまたは複数のデータ入力を、1つまたは複数の選択されたデータ・モダリティ420に対応する1つまたは複数のサブネットワーク435に転送することと、(3)1つまたは複数のサブネットワーク435を介して1つまたは複数のデータ入力を処理することによって、映像セグメント400を代表する1つまたは複数の第1のタイプの予測(すなわち、分類)を生成することとを行うように構成される。具体的には、選択されたデータ・モダリティ420ごとに、映像セグメント400を選択されたデータ・モダリティ420で表現する少なくとも1つのデータ入力が、選択されたデータ・モダリティ420に対応するサブネットワーク435にルーティングされる。映像セグメント400の映像認識の間、映像セグメント400を1つまたは複数の選択されたデータ・モダリティ420で表現するデータ入力のみが、1つまたは複数のサブネットワーク435を介して処理され、映像セグメント400を選択されないデータ・モダリティ421(
図3)で表現するデータ入力は、スキップ/バイパスされる(つまり、処理されない)。それぞれ選択されたデータ・モダリティ420は、映像セグメント400の映像認識に関連があるが、それぞれ選択されないデータ・モダリティ421は、映像認識には冗長/無関係である。選択されないデータ・モダリティ421をスキップする/バイパスすることで、入力映像を異なるデータ・モダリティで表現する複数のデータ・ストリームの全体を処理する必要がなくなり、それにより計算効率が上がり、計算コストが下がり、映像認識の精度が改善される。
【0027】
一実施形態では、映像セグメント400を代表する第1のタイプの予測は、異なるサブネットワーク435が認識するように訓練された映像セグメント400中でキャプチャされたオブジェクトまたはアクティビティを示す、セグメントレベルの予測である。
【0028】
一実施形態では、映像認識ネットワーク430は、融合ユニット436(
図3)を含む。融合ユニット436は、(1)入力映像の映像セグメント400ごとに、映像セグメント400を代表する1つまたは複数の第1のタイプの予測(すなわち、セグメントレベルの予測)を(例えば、異なるサブネットワーク435の1つまたは複数から)受信することと、(2)入力映像のすべての映像セグメント400で受信したすべての第1のタイプの予測を平均する(すなわち、集約する)ことによって、入力映像全体を代表する第2のタイプの予測440を決定することとを行うように構成される。
【0029】
一実施形態では、入力映像全体を代表する第2のタイプの予測440は、異なるサブネットワーク435が認識するように訓練された入力映像中でキャプチャされたオブジェクトまたはアクティビティを示す、映像レベルの予測である。
【0030】
一実施形態では、異なるサブネットワーク435は、(例えば、学習可能な重みを持つ後期融合を介して)共に訓練される。
【0031】
図3は、本発明の実施形態による、決定ポリシ・ネットワーク410および映像認識ネットワーク430の例示のコンポーネントの図である。一般的に、Vは、K個のデータ・モダリティ{M
1,M
2,…,M
K}で映像セグメント{s
1,s
2,…,s
T}のシーケンスを含む入力映像を表すものとする。入力映像Vの映像セグメントごとに、決定ポリシ・ネットワーク410は、計算効率を考慮しつつ映像認識の精度(すなわち、予測/分類の精度/品質)を改善するために、K個のデータ・モダリティのうちのどれを映像セグメントの映像認識に利用するかを決定するように構成される。
【0032】
一実施形態では、決定ポリシ・ネットワーク410は、ある入力映像Vにおいて異なる時間ステップに渡って因果関係をモデル化するように構成されるユニット415を含む。一実施形態では、ユニット415は、(a)対応する訓練可能パラメータθΦを有する結合特徴抽出器と、(2)対応する訓練可能パラメータθLSTMを有する長短期記憶(LSTM)とを含む。各時間ステップtにおいて、結合特徴抽出器は、(1)現在の映像セグメントstをK個のデータ・モダリティで表現するデータ入力(例えば、RGB入力、RGB差入力、または音声入力あるいはその組合せ)を受信することと、(2)データ入力から、現在の映像セグメントstに対応する結合特徴ftを抽出することとを行うように構成される。
【0033】
各時間ステップtにおいて、LSTMは、以下で与えられる方程式(1)に従って、(1)現在の映像セグメントstに対応する結合特徴ft(例えば、結合特徴抽出器から)、以前の隠れ状態ht-1およびセル出力ot-1を受信することと、(2)現在の隠れ状態htおよびセル出力otを計算することとを行うように構成される:
ht,ot=LSTM(ft;ht-1;ot-1) (1)
【0034】
一実施形態では、決定ポリシ・ネットワーク410は、対応する訓練可能パラメータ
【数1】
,…,
【数2】
を有するK個の完全結合(FC)レイヤ416を含み、K個のデータ・モダリティのそれぞれは対応するFCレイヤ416を有する。
【0035】
一実施形態では、各時間ステップtにおいて、K個のデータ・モダリティのデータ・モダリティkごとに(k∈[1,…,K])、決定ポリシ・ネットワーク410は、(1)現在の隠れ状態htに基づいて、対応するポリシ分布を推定することと、(2)対応するポリシ分布にGumbel-Softmax操作を適用して、対応する二分決定ut,kをサンプリングする(すなわち、Gumbel-Softmax分布からサンプリングする)こととを行うように構成され、二分決定ut,kは、現在の映像セグメントstに対してデータ・モダリティkを選択するか、それともスキップ/バイパスするか(すなわち、データ・モダリティkに対する決定ポリシ)を示す。例えば、二分決定ut,kが1の場合、データ・モダリティkが現在の映像セグメントstに起因して選択され、それにより、現在の映像セグメントstをデータ・モダリティkで表現するデータ入力は、処理のために映像認識ネットワーク430にルーティングされる(すなわち、データ・モダリティkは、選択されたデータ・モダリティ420である)。二分決定ut,kが0の場合、データ・モダリティkは現在の映像セグメントstにはスキップ/バイパスされ、それにより、現在の映像セグメントstをデータ・モダリティkで表現するどのデータ入力も、処理のために映像認識ネットワーク430にルーティングされない(すなわち、データ・モダリティkは、選択されないデータ・モダリティ421である)。現在の映像セグメントstを、現在の映像セグメントstに対してそれぞれの選択されたデータ・モダリティ420で表現するデータ入力のみが、処理のために映像認識ネットワーク430に転送される。
【0036】
例えば、一実施形態では、各時間ステップtにおいて、K個のデータ・モダリティのデータ・モダリティkごとに、決定ポリシ・ネットワーク410は、(1)対応するFCレイヤ416を介して、FCレイヤ416に対応する現在の隠れ状態h
tおよび訓練可能なパラメータθ
FCkに基づいて、ポリシ・ロジットを含む対応するポリシ分布z
kを生成することであって、ただし
【数3】
であり、かつz
k=FC(h
t,θ
FCk)である、生成することと、(2)Gumbel-Softmax操作を対応するポリシ分布z
kに適用して、Gumbel-Softmax分布から、以下で与えられる方程式(2)に従って、対応する二分決定u
t,kを表現する離散サンプルを導くこととを行うように構成される:
【数4】
ただしi∈{0,1}であり、G
i,kは標準的なGumbel分布G
i,k=-log(-logU
i,k)であり、U
i,kは一様なi.i.d分布Unif(0,1)からサンプリングされる。
【0037】
一実施形態では、
【数5】
は、one-hotなベクトルとして表現され、one-hotなコーディングは緩和されて、以下で与えられる方程式(3)に従って実数値ベクトルP
kを計算する:
【数6】
ただし、τは、P
kの離散性を制御する温度パラメータである。
【0038】
一実施形態では、映像認識ネットワーク430は、対応する訓練可能パラメータ
【数7】
,…,
【数8】
を有するK個のサブネットワーク435を含み、K個のデータ・モダリティのそれぞれは対応するサブネットワーク435を有する。
【0039】
一実施形態では、システム330は、K個のサブネットワーク435が共に訓練される訓練フェーズ、および得られる訓練されたK個のサブネットワーク435が映像認識用に展開される干渉フェーズという、少なくとも2つの異なる動作フェーズを有する。
【0040】
一実施形態では、映像認識の精度(すなわち、予測/分類の精度/品質)を高めるために、ならびにさらなる計算を必要とするデータ・モダリティの選択を最小限にして計算効率を高めるために、訓練フェーズは、以下で与えられる方程式(4)に従って表現される損失を最小化することを含む:
【数9】
ただし、Ρ(V;Θ)は訓練映像Vの予測であり、yは訓練映像Vのためのone-hotな符号化グラウンド・トゥルース・ラベルであり、λ
kはデータ・モダリティkを処理することに関連付けられるコストであり、U
kはデータ・モダリティkについての決定ポリシであり、C
kは予測が正しい場合にデータ・モダリティkを選択した合計Cの映像セグメントのうちの映像セグメントの割合の測定値であり、γは不正確な予測にペナルティを与えるパラメータである。γおよびλ
kは、映像認識の精度と計算効率との間のトレードオフを制御するために併せて使用される。例えば、γとλ
kの両方を0にセットすると、計算効率の損失のない訓練となる。方程式(4)の第1の部分は、標準的な交差エントロピー損失を表現して映像認識精度を測定し、方程式(4)の第2の部分は映像認識ネットワーク430を駆動して、映像認識においてより計算効率の良いデータ・モダリティの選択を優先する決定ポリシを学習する(例えば、RGB入力の処理は、音声入力よりも多くの計算を必要とする)。
【0041】
入力映像Vが芝を刈る様子をキャプチャしており、入力映像VがRGBモダリティ、オプティカル・フロー・モダリティ、および音声モダリティで映像セグメントのシーケンスを含むものと仮定する。具体的には、映像セグメントのシーケンスは、映像セグメントをRGBモダリティで表現するRGB入力(すなわち、映像セグメントのRGBフレーム)のシーケンスを含むRGBストリーム、映像セグメントをオプティカル・フロー・モダリティで表現するオプティカル・フロー入力(すなわち、映像セグメントのオプティカル・フロー・フレーム)のシーケンスを含むオプティカル・フロー・ストリーム、および映像セグメントを音声モダリティで表現する音声入力(すなわち、映像セグメントの音声フレーム)のシーケンスを含む音声ストリームとして表現される。一実施形態では、映像セグメントごとにオプティカル・フロー・モダリティを選択するかどうかを判定する際、決定ポリシ・ネットワーク410は、オプティカル・フロー・ストリームDの代わりに、RGB差入力のシーケンスを含むRGB差ストリーム(すなわち、映像セグメントのRGB差フレーム)を利用して、計算コストを下げる。
【0042】
図3に示されるように、時間ステップtにおいて、現在の映像セグメントs
tに対して、決定ポリシ・ネットワーク410は、(1)RGBストリームから、現在の映像セグメントs
tをRGBモダリティで表現するRGB入力s
t,rgbを受信することと、(2)RGB差ストリームから、現在の映像セグメントs
tをオプティカル・フロー・モダリティで表現するRGB差入力s
t,rgbdを受信することと、(3)音声ストリームから、現在の映像セグメントs
tを音声モダリティで表現する音声入力s
t,audを受信することと、(4)受信した入力に部分的に基づいて、対応する二分決定ポリシ・ベクトルを生成することとを行うように構成される。二分決定ポリシ・ベクトルの各要素は、RGB、オプティカル・フロー、および音声モダリティのうちの1つに対応するバイナリ値(例えば、二分決定)であり、要素は、現在の映像セグメントs
tについて、対応するデータ・モダリティを選択するか、それともスキップ/バイパスするかどうかを表現する。例えば、RGBモダリティに対応する二分決定ポリシ・ベクトルの要素が1である場合、RGBモダリティが現在の映像セグメントs
tに対して選択されたデータ・モダリティ420であり、そうではなく要素が0である場合、RGBモダリティは選択されないデータ・モダリティ421である。
【0043】
映像認識ネットワーク430が、RGBモダリティに対応する第1のサブネットワーク435(「サブネット1」)、オプティカル・フロー・モダリティに対応する第2のサブネットワーク435(「サブネット2」)、および音声モダリティに対応する第3のサブネットワーク435(「サブネット3」)を含むものと仮定する。現在の映像セグメントstに対応する二分決定ポリシ・ベクトルが、現在の映像セグメントstに対してRGB、オプティカル・フロー、および音声モダリティがすべて選択されたデータ・モダリティ420であることを示すものと仮定する。現在の映像セグメントstでは、映像認識ネットワーク430は、(1)RGB入力st,rgbを処理のためにサブネット1に転送することによって、サブネット1を介して、第1のセグメントレベルの予測を生成することと、(2)現在の映像セグメントstをオプティカル・フロー・モダリティで表現するオプティカル・フロー入力st,ofを(オプティカル・フロー・ストリームから)処理のためにサブネット2に転送することによって、サブネット2を介して、第2のセグメントレベルの予測を生成することと、(3)音声入力st,audを処理のためにサブネット3に転送することによって、サブネット3を介して、第3のセグメントレベルの予測を生成することとを行うように構成される。
【0044】
融合ユニット436は、(1)入力映像Vのすべての映像セグメント(現在の映像セグメントs
tを含む)についてサブネット1、サブネット2、またはサブネット3あるいはその組合せによって生成されたすべてのセグメントレベルの予測を受信することと、(2)受信したすべてのセグメントレベルの予測を平均する(すなわち、集約する)ことによって入力映像V全体で映像レベルの予測を決定することとを行うように構成される。
図3に示されるように、入力映像Vは芝を刈る様子をキャプチャしているため、入力映像V全体について決定される映像レベルの予測は「芝を刈っている」であり得る。
【0045】
図4は、本発明の実施形態による、システム330を伴う例示の適用シナリオの図である。システム330に与えられる入力映像Vが犬が吠えている様子をキャプチャしており、入力映像VがRGBモダリティおよび音声モダリティで映像セグメントのシーケンスs
1,s
2,…,s
Cを含むものと仮定する。具体的には、映像セグメントのシーケンスは、(1)映像セグメントをRGBモダリティで表現するRGB入力s
1,rgb,s
2,rgb,…,s
C,rgbのシーケンスを含むRGBストリーム、および(2)映像セグメントを音声モダリティで表現する音声入力s
1,aud,s
2,aud,…,s
C,audのシーケンスを含む音声ストリームとして表現される。
【0046】
各時間ステップtにおいて、決定ポリシ・ネットワーク410は、(1)現在の映像セグメントstをRGBモダリティで表現する(RGBストリームからの)RGB入力st,rgbに基づいて、RGBモダリティに対応するポリシ・ロジットを含むポリシ分布zrgbを生成することと、(2)現在の映像セグメントstを音声モダリティで表現する(音声ストリームからの)音声入力st,audに基づいて、音声モダリティに対応するポリシ・ロジットを含むポリシ分布zaudを生成することと、(3)現在の映像セグメントstに対してRGBモダリティを選択するか、それともスキップ/バイパスするかどうかを示す二分決定ut,rgbをサンプリングするためにGumbel-Softmax操作をポリシ分布zrgbに適用することと、(4)現在の映像セグメントstに対して音声モダリティを選択するか、それともスキップ/バイパスするかどうかを示す二分決定ut,audをサンプリングするためにGumbel-Softmax操作をポリシ分布zaudに適用することとを行うように構成される。
【0047】
図4に示されるように、二分決定u
2,rgb、u
5,rgb、およびu
C,rgbが1である場合、RGBモダリティは映像セグメントs
2、s
5、およびs
Cのためだけに選択されたデータ・モダリティ420であり、それにより、映像セグメントs
2、s
5、およびs
CをRGBモダリティで表現する(RGBストリームからの)RGB入力s
2,rgb、s
5,rgb、およびs
C,rgbだけが(図の分かりやすさのために強調四角で強調する)、RGBモダリティに対応する第1のサブネットワーク435に転送される。第1のサブネットワーク435は、RGB入力s
2,rgb、s
5,rgb、およびs
C,rgbを処理することによって、それぞれ映像セグメントs
2、s
5、およびs
Cに対するセグメントレベルの予測を生成する。
図4でさらに示されるように、二分決定u
2,aud、u
3,aud、およびu
C,audが1である場合、音声モダリティは映像セグメントs
2、s
3、およびs
Cのためだけに選択されたデータ・モダリティ420であり、それにより、映像セグメントs
2、s
3、およびs
Cを音声モダリティで表現する(音声ストリームからの)音声入力s
2,aud、s
3,aud、およびs
C,audだけが(図の分かりやすさのために強調四角で強調する)、音声モダリティに対応する第2のサブネットワーク435に転送される。第2のサブネットワーク435は、音声入力s
2,aud、s
3,aud、およびs
C,audを処理することによって、それぞれ映像セグメントs
2、s
3、およびs
Cに対するセグメントレベルの予測を生成する。
【0048】
図4に示されるように、融合ユニット436は、第1および第2のサブネットワーク435によって生成されたすべてのセグメントレベルの予測を受信し、受信したすべてのセグメントレベルの予測を平均する(すなわち、集約する)ことによって、入力映像V全体についての映像レベルの予測を決定する。
図4に示されるように、入力映像Vは犬が吠えている様子をキャプチャしているため、入力映像V全体について決定される映像レベルの予測は「吠えている」である。
【0049】
図5Aは、本発明の実施形態による、異なるモダリティでの映像セグメントの第1のシーケンス500の図である。システム330に与えられる入力映像Vがフェンシングをしている様子をキャプチャしており、入力映像VがRGBモダリティおよび音声モダリティで映像セグメントの第1のシーケンス500を含むものと仮定する。例えば、
図5Aに示されるように、映像セグメントの第1のシーケンス500は、(1)映像セグメントをRGBモダリティで表現するRGB入力のシーケンスを含むRGBストリーム501、および(2)映像セグメントを音声モダリティで表現する音声入力のシーケンスを含む音声ストリーム502として表現される。
【0050】
図5Aに示されるように、システム330は、入力映像Vの第2および第3の映像セグメントのためだけにRGBモダリティを選択し、それにより、第2および第3の映像セグメントを表現するRGB入力だけが、映像認識のためにシステム330によって処理される。
図5Aでさらに示されるように、システム330は、入力映像Vの映像セグメントすべてについての音声モダリティをスキップ/バイパスし、それにより、音声ストリーム502全体が、映像認識のために処理されない。入力映像Vはフェンシングをしている様子をキャプチャしているため、入力映像V全体についてシステム330によって決定される映像レベルの予測は、「フェンシングをしている」であり得る。
【0051】
図5Bは、本発明の実施形態による、異なるモダリティでの映像セグメントの第2のシーケンス510の図である。システム330に与えられる入力映像Vがピアノを弾く様子をキャプチャしており、入力映像VがRGBモダリティおよび音声モダリティで映像セグメントの第2のシーケンス510を含むものと仮定する。例えば、
図5Bに示されるように、映像セグメントの第2のシーケンス510は、(1)映像セグメントをRGBモダリティで表現するRGB入力のシーケンスを含むRGBストリーム511、および(2)映像セグメントを音声モダリティで表現する音声入力のシーケンスを含む音声ストリーム512として表現される。
【0052】
図5Bに示されるように、システム330は、入力映像Vの第2の映像セグメントのためだけにRGBモダリティを選択し、それにより、第2の映像セグメントを表現するRGB入力だけが、映像認識のためにシステム330によって処理される。
図5Bでさらに示されるように、システム330は、入力映像Vの映像セグメントすべてについての音声モダリティを選択し、それにより、音声ストリーム512全体が、映像認識のためにシステム330によって処理される。入力映像Vはピアノを弾く様子をキャプチャしているため、入力映像V全体についてシステム330によって決定される映像レベルの予測は、「ピアノを弾いている」であり得る。
【0053】
図5Cは、本発明の実施形態による、異なるモダリティでの映像セグメントの第3のシーケンス520の図である。システム330に与えられる入力映像Vが木を割る様子をキャプチャしており、入力映像VがRGBモダリティおよびオプティカル・フロー・モダリティで映像セグメントの第3のシーケンス520を含むものと仮定する。例えば、
図5Cに示されるように、映像セグメントの第3のシーケンス520は、(1)映像セグメントをRGBモダリティで表現するRGB入力のシーケンスを含むRGBストリーム521、および(2)映像セグメントをオプティカル・フロー・モダリティで表現するオプティカル・フロー入力のシーケンスを含むオプティカル・フロー・ストリーム522として表現される。
【0054】
図5Cに示されるように、システム330は、入力映像Vの第1および第3の映像セグメントのためだけにRGBモダリティを選択し、それにより、第1および第3の映像セグメントを表現するRGB入力だけが、映像認識のためにシステム330によって処理される。
図5Cでさらに示されるように、システム330は、入力映像Vの第2および第3の映像セグメントのためだけにオプティカル・フロー・モダリティを選択し、それにより、第2および第3の映像セグメントを表現するオプティカル・フロー入力だけが、映像認識のためにシステム330によって処理される。入力映像Vは木を割る様子をキャプチャしているため、入力映像V全体についてシステム330によって決定される映像レベルの予測は、「木を割っている」であり得る。
【0055】
図5Dは、本発明の実施形態による、異なるモダリティでの映像セグメントの第4のシーケンス530の図である。システム330に与えられる入力映像Vが紙を破る様子をキャプチャしており、入力映像VがRGBモダリティおよびオプティカル・フロー・モダリティで映像セグメントの第4のシーケンス530を含むものと仮定する。例えば、
図5Dに示されるように、映像セグメントの第4のシーケンス530は、(1)映像セグメントをRGBモダリティで表現するRGB入力のシーケンスを含むRGBストリーム531、および(2)映像セグメントをオプティカル・フロー・モダリティで表現するオプティカル・フロー入力のシーケンスを含むオプティカル・フロー・ストリーム532として表現される。
【0056】
図5Dに示されるように、システム330は、入力映像Vの第1、第2、および第3の映像セグメントのためだけにRGBモダリティを選択し、それにより、第1、第2、および第3の映像セグメントを表現するRGB入力だけが、映像認識のためにシステム330によって処理される。
図5Dでさらに示されるように、システム330は、入力映像Vの第2の映像セグメントのためだけにオプティカル・フロー・モダリティを選択し、それにより、第2の映像セグメントを表現するオプティカル・フロー入力だけが、映像認識のためにシステム330によって処理される。入力映像Vは紙を破る様子をキャプチャしているため、入力映像V全体についてシステム330によって決定される映像レベルの予測は、「紙を破っている」であり得る。
【0057】
図5Eは、本発明の実施形態による、異なるモダリティでの映像セグメントの第5のシーケンス540の図である。システム330に与えられる入力映像Vがアコーディオンを弾く様子をキャプチャしており、入力映像VがRGBモダリティ、オプティカル・フロー・モダリティ、および音声モダリティで映像セグメントの第5のシーケンス540を含むものと仮定する。例えば、
図5Eに示されるように、映像セグメントの第5のシーケンス540は、(1)映像セグメントをRGBモダリティで表現するRGB入力のシーケンスを含むRGBストリーム541、(2)映像セグメントをオプティカル・フロー・モダリティで表現するオプティカル・フロー入力のシーケンスを含むオプティカル・フロー・ストリーム542、および(3)映像セグメントを音声モダリティで表現する音声入力のシーケンスを含む音声ストリーム543として表現される。
【0058】
図5Eに示されるように、システム330は、入力映像Vの第1および第4の映像セグメントのためだけにRGBモダリティを選択し、それにより、第1および第4の映像セグメントを表現するRGB入力だけが、映像認識のためにシステム330によって処理される。
図5Eでさらに示されるように、システム330は、入力映像Vの第6の映像セグメントのためだけにオプティカル・フロー・モダリティを選択し、それにより、第6の映像セグメントを表現するオプティカル・フロー入力だけが、映像認識のためにシステム330によって処理される。
図5Eでさらに示されるように、システム330は、入力映像Vの第1~第6の映像セグメントのためだけに音声モダリティを選択し、それにより、第1~第6の映像セグメントを表現する音声入力だけが、映像認識のためにシステム330によって処理される。入力映像Vはアコーディオンを弾く様子をキャプチャしているため、入力映像V全体についてシステム330によって決定される映像レベルの予測は、「アコーディオンを弾いている」であり得る。
【0059】
図5Fは、本発明の実施形態による、異なるモダリティでの映像セグメントの第6のシーケンス550の図である。システム330に与えられる入力映像Vがチアリーディングをしている様子をキャプチャしており、入力映像VがRGBモダリティおよび音声モダリティで映像セグメントの第6のシーケンス550を含むものと仮定する。例えば、
図5Fに示されるように、映像セグメントの第6のシーケンス550は、(1)映像セグメントをRGBモダリティで表現するRGB入力のシーケンスを含むRGBストリーム551、および(2)映像セグメントを音声モダリティで表現する音声入力のシーケンスを含む音声ストリーム552として表現される。
【0060】
図5Fに示されるように、システム330は、入力映像Vの第1および第2の映像セグメントのためだけにRGBモダリティを選択し、それにより、第1および第2の映像セグメントを表現するRGB入力だけが、映像認識のためにシステム330によって処理される。
図5Fでさらに示されるように、システム330は、入力映像Vの第1および第2の映像セグメントのためだけに音声モダリティを選択し、それにより、第1および第2の映像セグメントを表現する音声入力だけが、映像認識のためにシステム330によって処理される。入力映像Vはチアリーディングをしている様子をキャプチャしているため、入力映像V全体についてシステム330によって決定される映像レベルの予測は、「チアリーディングをしている」であり得る。
【0061】
図5Gは、本発明の実施形態による、異なるモダリティでの映像セグメントの第7のシーケンス560の図である。システム330に与えられる入力映像Vがハーモニカを吹く様子をキャプチャしており、入力映像VがRGBモダリティおよび音声モダリティで映像セグメントの第7のシーケンス560を含むものと仮定する。例えば、
図5Gに示されるように、映像セグメントの第7のシーケンス560は、(1)映像セグメントをRGBモダリティで表現するRGB入力のシーケンスを含むRGBストリーム561、および(2)映像セグメントを音声モダリティで表現する音声入力のシーケンスを含む音声ストリーム562として表現される。
【0062】
図5Gに示されるように、システム330は、入力映像Vの第3の映像セグメントのためだけにRGBモダリティを選択し、それにより、第3の映像セグメントを表現するRGB入力だけが、映像認識のためにシステム330によって処理される。
図5Gでさらに示されるように、システム330は、入力映像Vの映像セグメントすべてについての音声モダリティを選択し、それにより、音声ストリーム562全体が、映像認識のためにシステム330によって処理される。入力映像Vはハーモニカを吹く様子をキャプチャしているため、入力映像V全体についてシステム330によって決定される映像レベルの予測は、「ハーモニカを吹いている」であり得る。
【0063】
図5Hは、本発明の実施形態による、異なるモダリティでの映像セグメントの第8のシーケンス570の図である。システム330に与えられる入力映像Vが木を割る様子をキャプチャしており、入力映像VがRGBモダリティおよびオプティカル・フロー・モダリティで映像セグメントの第8のシーケンス570を含むものと仮定する。例えば、
図5Hに示されるように、映像セグメントの第8のシーケンス570は、(1)映像セグメントをRGBモダリティで表現するRGB入力のシーケンスを含むRGBストリーム571、および(2)映像セグメントをオプティカル・フロー・モダリティで表現するオプティカル・フロー入力のシーケンスを含むオプティカル・フロー・ストリーム572として表現される。
【0064】
図5Hに示されるように、システム330は、入力映像Vの第2の映像セグメントのためだけにRGBモダリティを選択し、それにより、第2の映像セグメントを表現するRGB入力だけが、映像認識のためにシステム330によって処理される。
図5Hでさらに示されるように、システム330は、入力映像Vの第2および第3の映像セグメントのためだけにオプティカル・フロー・モダリティを選択し、それにより、第2および第3の映像セグメントを表現するオプティカル・フロー入力だけが、映像認識のためにシステム330によって処理される。入力映像Vは木を割る様子をキャプチャしているため、入力映像V全体についてシステム330によって決定される映像レベルの予測は、「木を割っている」であり得る。
【0065】
図5Iは、本発明の実施形態による、異なるモダリティでの映像セグメントの第9のシーケンス580の図である。システム330に与えられる入力映像Vがタップ・ダンスをしている様子をキャプチャしており、入力映像VがRGBモダリティ、オプティカル・フロー・モダリティ、および音声モダリティで映像セグメントの第9のシーケンス580を含むものと仮定する。例えば、
図5Iに示されるように、映像セグメントの第9のシーケンス580は、(1)映像セグメントをRGBモダリティで表現するRGB入力のシーケンスを含むRGBストリーム581、(2)映像セグメントをオプティカル・フロー・モダリティで表現するオプティカル・フロー入力のシーケンスを含むオプティカル・フロー・ストリーム582、および(3)映像セグメントを音声モダリティで表現する音声入力のシーケンスを含む音声ストリーム583として表現される。
【0066】
図5Iに示されるように、システム330は、入力映像Vの第1の映像セグメントのためだけにRGBモダリティを選択し、それにより、第1の映像セグメントを表現するRGB入力だけが、映像認識のためにシステム330によって処理される。
図5Iでさらに示されるように、システム330は、入力映像Vの第2の映像セグメントのためだけにオプティカル・フロー・モダリティを選択し、それにより、第2の映像セグメントを表現するオプティカル・フロー入力だけが、映像認識のためにシステム330によって処理される。
図5Iでさらに示されるように、システム330は、入力映像Vの映像セグメントすべてについての音声モダリティを選択し、それにより、音声ストリーム583全体が、映像認識のためにシステム330によって処理される。入力映像Vはタップ・ダンスをしている様子をキャプチャしているため、入力映像V全体についてシステム330によって決定される映像レベルの予測は、「タップ・ダンスをしている」であり得る。
【0067】
図6は、本発明の実施形態による、効率的な映像認識のためのデータ・モダリティの適応的選択のための、例示のプロセス600のフローチャートである。プロセス・ブロック601は、映像セグメントのシーケンスを含む入力映像を複数のデータ・モダリティで受信することを含む。プロセス・ブロック602は、シーケンスの映像セグメントについて、映像セグメントを表現するデータに基づいて、複数のデータ・モダリティから1つまたは複数のデータ・モダリティを選択することを含み、選択された各データ・モダリティは、映像セグメントの映像認識に最適である。プロセス・ブロック603は、選択されたデータ・モダリティごとに、映像セグメントを選択されたデータ・モダリティで表現する少なくとも1つのデータ入力を、選択されたデータ・モダリティに対応する機械学習モデル(例えば、サブネットワーク)に提供し、機械学習モデルを介して映像セグメントを代表する第1のタイプの予測(例えば、セグメントレベルの予測)を生成することを含む。プロセス・ブロック604は、生成されたすべての第1のタイプの予測を集約することによって、入力映像全体を代表する第2のタイプの予測(例えば、映像レベルの予測)を決定することを含み、第2のタイプの予測は、入力映像中でキャプチャされたオブジェクトまたはアクティビティを示す。
【0068】
一実施形態では、プロセス・ブロック601~604は、システム330の1つまたは複数のコンポーネントによって実施される。
【0069】
本開示はクラウド・コンピューティングについての詳細な説明を含むが、本明細書で述べられる教示の実装形態はクラウド・コンピューティング環境に限定されないことを理解されたい。むしろ本発明の実施形態は、現在既知の、または後に開発されるあらゆる他のタイプのコンピューティング環境と併せて実装することができる。
【0070】
クラウド・コンピューティングは、構成可能なコンピューティング・リソースの共有プール(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想機械、およびサービス)への便利でオンデマンドのネットワーク・アクセスを可能とするためのサービス提供のモデルであり、最小限の管理努力で、またはサービスのプロバイダとの対話で迅速にプロビジョニングおよびリリースすることができる。一実施形態では、このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含む。
【0071】
特徴は以下のとおりである:
【0072】
オンデマンドのセルフサービス:クラウド消費者は、サービスのプロバイダとの人間対話を要求することなく必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
【0073】
幅広いネットワーク・アクセス:機能はネットワーク上で利用可能であり、異種のシン・クライアントまたはシック・クライアントのプラットフォーム(例えば、携帯電話、ラップトップ、および携帯情報端末)による使用を促進する標準的なメカニズムを通じてアクセスされる。
【0074】
リソースのプール:プロバイダのコンピューティング・リソースは、マルチテナント・モデルを使用して複数の消費者にサービス提供するためにプールされ、異なる物理的および仮想的なリソースが需要に応じて動的に割り当ておよび再割り当てされる。一実施形態では、消費者が提供されるリソースの正確な場所についての制御または情報を一般的に持たない点で、場所の独立性の意味があるが、より高い抽象レベルにおいて場所(例えば、国、州、またはデータセンタ)を特定できる。
【0075】
迅速な柔軟性:機能は迅速かつ柔軟にプロビジョニングすることができ、場合によっては自動的に、素早くスケール・アウトされ、迅速にリリースされて素早くスケール・インされる。消費者にとって、プロビジョニングに利用可能な機能は、しばしば無制限に見え、いつでもいくらでも購入することができる。
【0076】
サービスの計測:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント)に適当な何らかの抽象レベルにおいて計測機能を活用することによりリソースの使用を自動的に制御し、最適化する。リソースの使用は、監視、制御、および報告することができ、利用されるサービスのプロバイダおよび消費者の両方にとって透明性を与えている。
【0077】
サービス・モデルは以下のとおりである:
【0078】
サービスとしてのソフトウェア(Software as a Service(SaaS)):消費者に提供される機能は、クラウド・インフラストラクチャで実行中のプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース(例えば、ウェブ・ベースの電子メール)を通じて様々なクライアント・デバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、またはさらには個々のアプリケーション機能を含む基礎となるクラウド・インフラストラクチャを管理または制御することはなく、例外として限定されたユーザ固有のアプリケーション構成設定が可能である。
【0079】
サービスとしてのプラットフォーム(Platform as a Service(PaaS)):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者作成の、または既成のアプリケーションをクラウド・インフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャの管理または制御をしないが、展開されたアプリケーション、および場合によっては環境構成をホストするアプリケーションについての制御を有する。
【0080】
サービスとしてのインフラストラクチャ(Infrastructure as a Service(IaaS)):消費者に提供される機能は、消費者が任意のソフトウェアを展開および実行することができる処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることであり、これにはオペレーティング・システムおよびアプリケーションが含まれ得る。消費者は、基礎となるクラウド・インフラストラクチャの管理または制御をしないが、オペレーティング・システム、ストレージ、展開されたアプリケーションの制御、および場合によっては選択ネットワーキング・コンポーネント(例えば、ホスト・ファイヤウォール)の限定された制御を有する。
【0081】
展開モデルは以下のとおりである:
【0082】
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運用される。一実施形態では、その組織またはサード・パーティによって管理され、オンプレミスまたはオフプレミスで存在する。
【0083】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有される事案(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス検討)を有する特定のコミュニティをサポートする。一実施形態では、組織またはサード・パーティによって管理され、オンプレミスまたはオフプレミスで存在する。
【0084】
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆または大規模な業界団体に対して利用可能とされ、クラウド・サービスを販売する組織によって所有される。
【0085】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意なエンティティのままである2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を組合せたものであるが、データおよびアプリケーションのポータビリティを可能にする標準化された、または専有的な技術(例えば、クラウド間でロード・バランシングを行うためのクラウド・バースト)によって結合される。
【0086】
クラウド・コンピューティング環境は、ステートレス性、低い結合性、モジュール性、および意味論的な相互運用性に焦点を当てたサービス指向である。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0087】
図7は、本発明の実施形態による、クラウド・コンピューティング環境50の図である。示されるように、一実施形態では、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはその組合せなど、クラウドの消費者によって使用されるローカルのコンピューティング・デバイスと通信する1つまたは複数のクラウド・コンピューティング・ノード10を含む。一実施形態では、ノード10は互いに通信する。一実施形態では、これらは、本明細書において上述したようなプライベート、コミュニティ、パブリック、もしくはハイブリッドのクラウド、またはそれらの組合せなど、1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化される(図示せず)。これにより、クラウド・コンピューティング環境50は、クラウドの消費者がローカルのコンピューティング・デバイスでリソースを維持する必要がない、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せをサービスとして提供することができる。
図5に示されるコンピューティング・デバイス54A~Nのタイプは、単に例示的であることを意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、あらゆるタイプのネットワーク上またはネットワーク・アドレス可能接続で(例えば、ウェブ・ブラウザを使用して)あるいはその両方で、あらゆるタイプのコンピュータ化されたデバイスと通信することができることが理解されよう。
【0088】
図8は、本発明の実施形態による、クラウド・コンピューティング環境50によって提供される機能的な抽象レイヤのセットを示す図である。
図8に示されるコンポーネント、レイヤ、および機能は、単に例示的であることを意図されており、本発明の実施形態はそれに限定されないことが、予め理解されるべきである。描かれるように、以下のレイヤおよび対応する機能が提供される:
【0089】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、以下が挙げられる:メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング・コンポーネント66。いくつかの実施形態において、ソフトウェア・コンポーネントとしては、ネットワーク・アプリケーション・サーバ・ソフトウェア67、およびデータベース・ソフトウェア68が挙げられる。
【0090】
一実施形態では、仮想化レイヤ70は、仮想エンティティの以下の例が提供される抽象化レイヤを提供する:仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75。
【0091】
一実施形態では、管理レイヤ80は以下で説明される機能を提供する。リソース・プロビジョニング81は、コンピューティング・リソースおよびクラウド・コンピューティング環境内でタスクを実施するために利用される他のリソースの、動的な調達を提供する。計測および課金82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費についての課金または請求書発行を提供する。一実施形態では、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含む。セキュリティは、クラウド消費者およびタスクについての識別情報の検証、ならびにデータおよび他のリソースについての保護を与える。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを消費者およびシステム管理者に提供する。サービス水準管理84は、要求されるサービス水準が満たされるように、クラウド・コンピューティング・リソース割り当ておよび管理を提供する。サービス水準合意(SLA)計画および遂行85は、SLAに従って将来的な要求が予期されるクラウド・コンピューティング・リソースについての事前申し合わせ、およびクラウド・コンピューティング・リソースの調達を提供する。
【0092】
一実施形態では、ワークロード・レイヤ90は、クラウド・コンピューティング環境が利用される機能性の例を提供する。一実施形態では、このレイヤからもたらされるワークロードおよび機能の例として以下が挙げられる:マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想授業教育配信93、データ・アナリティクス処理94、トランザクション処理95、およびAI96(例えば、適応的でマルチモーダルな学習システム330(
図1))。
【0093】
図9は、本発明の一実施形態を実装するのに有用な情報処理システム700を示す、高次ブロック図である。コンピュータ・システムは、プロセッサ702などの1つまたは複数のプロセッサを含む。プロセッサ702は、通信インフラストラクチャ704(例えば、通信バス、クロスオーバ・バー、またはネットワーク)に接続される。
【0094】
コンピュータ・システムは、グラフィック、テキスト、および他のデータを、ディスプレイ・ユニット708での表示用に音声通信インフラストラクチャ704から(または、図示されないフレーム・バッファから)転送する、ディスプレイ・インターフェース706を含むことができる。一実施形態では、コンピュータ・システムはまた、主メモリ710、好ましくはランダム・アクセス・メモリ(RAM)を含み、また二次メモリ712も含む。一実施形態では、二次メモリ712は、例えばハード・ディスク・ドライブ714または、例えばフロッピ・ディスク・ドライブ、磁気テープ・ドライブ、もしくは光ディスク・ドライブを表すリムーバブルのストレージ・ドライブ716あるいはその両方を含む。リムーバブルのストレージ・ドライブ716は、当業者によく知られたやり方で、リムーバブルのストレージ・ユニット718から/へ読み取りまたは書込みあるいはその両方を行う。リムーバブルのストレージ・ユニット718は、リムーバブルのストレージ・ドライブ716によって読み取られ、またリムーバブルのストレージ・ドライブ716に書き込まれる、例えばフロッピ・ディスク、コンパクト・ディスク、磁気テープ、または光学ディスクなどを表す。諒解されるように、リムーバブルのストレージ・ユニット718は、コンピュータ・ソフトウェアまたはデータあるいはその両方が記憶されたコンピュータ可読媒体を含む。
【0095】
代替的な実施形態では、二次メモリ712は、コンピュータ・プログラムまたは他の命令をコンピュータ・システムにロードできるようにするための他の類似の手段を含む。そのような手段としては、例えばリムーバブルのストレージ・ユニット720およびインターフェース722が挙げられる。そのような手段の例としては、プログラム・パッケージおよびパッケージ・インターフェース(ビデオ・ゲーム機に見られるようなもの)、リムーバブルのメモリ・チップ(EPROMまたはPROMなど)と関連ソケット、および他のリムーバブルのストレージ・ユニット720とインターフェース722が挙げられ、これらはソフトウェアおよびデータをリムーバブルのストレージ・ユニット720からコンピュータ・システムに移動できるようにする。
【0096】
一実施形態では、コンピュータ・システムはまた、通信インターフェース724を含む。通信インターフェース724は、ソフトウェアとデータをコンピュータ・システムと外部デバイスとの間で移動できるようにする。一実施形態では、通信インターフェース724の例としては、モデム、ネットワーク・インターフェース(イーサネット(R)・カードなど)、通信ポート、またはPCMCIAスロットおよびカードなどが挙げられる。一実施形態では、通信インターフェース724を介して移動されるソフトウェアおよびデータは、通信インターフェース724によって受信することが可能な、例えば電子信号、電磁信号、光信号、または他の信号の形態である。これらの信号は、通信パス(すなわち、チャネル)726を介して通信インターフェース724に提供される。一実施形態では、この通信パス726は信号を搬送し、電線もしくはケーブル、光ファイバ、電話線、携帯電話リンク、RFリンク、または他の通信チャネルあるいはその組合せを使用して実装される。
【0097】
本発明の実施形態は、あらゆる可能な統合の技術的詳細レベルにおける、システム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の実施形態の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(複数可)を含むことができる。
【0098】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたは前述のあらゆる好適な組合せであってもよいが、それに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙としては、以下が挙げられる:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ(R)・ディスク、命令が記録されたパンチカードまたは溝に刻まれた構造などの機械的にエンコードされたデバイス、および前述のあらゆる好適な組合せ。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を介して伝送される電気的信号など、一過性の信号そのものであると解釈されてはならない。
【0099】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から個別のコンピューティング/処理デバイスに、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはその組合せなどのネットワークを介して、外部のコンピュータまたは外部のストレージ・デバイスに、ダウンロードすることができる。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイヤウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを含むことができる。それぞれのコンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、個別のコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0100】
本発明の実施形態の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の設定データ、あるいはスモールトーク(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語などの手続き型プログラミング言語もしくは類似するプログラミング言語を含む1つまたは複数のプログラミング言語のあらゆる組合せで記述された、ソース・コードまたはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、すべてユーザのコンピュータ上で、一部はユーザのコンピュータ上でスタンドアロンのソフトウェア・パッケージとして、一部はユーザのコンピュータ上および一部はリモート・コンピュータ上で、またはすべてリモート・コンピュータ上もしくはサーバ上で、実行することができる。後者のシナリオにおいて、遠隔のコンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続することができ、または接続は(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部のコンピュータに対してなされてもよい。一部の実施形態において、例えば、プログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の実施形態の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して、電子回路を個別化することができる。
【0101】
本発明の実施形態の態様は、本明細書では、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら説明される。フローチャート図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装されることが理解されよう。
【0102】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/作用を実装する手段を作成すべく、コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を作るものであってよい。これらのコンピュータ可読プログラム命令はまた、命令が記憶されているコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/作用の態様を実装するための命令を含む製造物品を備えるべく、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定のやり方で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてもよい。
【0103】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/作用を実装するように、コンピュータ実装プロセスを作るべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実施させるものであってもよい。
【0104】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定される論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。一部の代替的な実装形態では、ブロックで示される機能は図面で示した順とは異なって発生してもよい。例えば、連続して示される2つのブロックは、実際には1つのステップとして遂行されてもよく、同時に、実質的に同時に、部分的もしくは全体的に時間的に重なるやり方で実行されてもよく、またはブロックは関与する機能性によっては、時に逆の順で実行されてもよい。ブロック図またはフローチャート図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能もしくは作用を実施する、または特殊目的ハードウェアとコンピュータ命令との組合せを実行する、特殊目的ハードウェア・ベースのシステムによって実装されることにも留意されたい。
【0105】
上記説明より、本発明の実施形態が、本発明の実施形態を実装するための、システム、コンピュータ・プログラム製品、および方法を提供することが分かる。本発明の実施形態は、本発明の実施形態を実装するための非一過性のコンピュータ使用可能記憶媒体をさらに提供する。非一過性のコンピュータ使用可能記憶媒体は、コンピュータ可読プログラムを有し、このプログラムはコンピュータ上で処理されると、そのコンピュータに本明細書において説明される本発明の実施形態のステップを実施させる。特許請求項において単数形の要素への言及は、明示的にそのように述べられない限りは「1つだけ」を意味するように意図されておらず、むしろ「1つまたは複数」を意味するように意図されている。当業者に現在既知のまたは後に知られることになる、上述の例示的な実施形態の要素へのすべての構造的および機能的な等価物は、本特許請求項によって包含されるよう意図されている。本明細書におけるいかなる特許請求の要素も、要素が「のための手段(means for)」または「のためのステップ(step for)」という表現を用いて明示的に述べられない限り、米国特許法第112条第6段落の規定の下で解釈されてはならない。
【0106】
本明細書で使用される用語は、特定の本発明の実施形態を説明することだけを目的としており、限定的であることを意図されていない。本明細書で使用される場合、コンテキストが明確にそうではないと指示しない限り、単数形「1つの(a)」、「1つの(an)」および「その(the)」は複数形を同様に含むように意図されている。用語「を含む(comprise)」または「を含む(comprising)」あるいはその両方は、本明細書で使用される場合、述べられた特徴、整数、ステップ、動作、要素、またはコンポーネントあるいはその組合せの存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネントまたはそのグループあるいはその組合せの、存在または追加を排除しないことが、さらに理解されよう。
【0107】
以下の特許請求の範囲におけるすべての手段またはステップ・プラス・ファンクション要素の対応する構造体、材料、作用、および等価物は、具体的に特許請求されるように、他の特許請求される要素と組合せて機能を実施するための、あらゆる構造体、材料、または作用を含むことを意図されている。
【0108】
例示を目的として本発明の様々な実施形態の説明を提示してきたが、網羅的であること、または開示された実施形態に限定することは意図されていない。説明された実施形態の範囲から逸脱することなく、多くの変更形態および変形形態が当業者にとって明らかとなろう。本明細書において使用される用語法は、実施形態の原理、実践的な用途もしくは市場で見られる技術より優れた技術的な改善を最良に説明するため、または当業者の他の者が本明細書において開示される実施形態を理解できるように選ばれたものである。
【手続補正書】
【提出日】2023-12-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
映像認識のための方法であって、
映像セグメントのシーケンスを含む入力映像を複数のデータ・モダリティで受信することと、
前記シーケンスの映像セグメントについて、前記映像セグメントを表現するデータに基づいて、前記複数のデータ・モダリティから1つまたは複数のデータ・モダリティを選択することであって、選択された各データ・モダリティが、前記映像セグメントの映像認識に最適である、前記選択することと、
選択されたデータ・モダリティごとに、前記映像セグメントを前記選択されたデータ・モダリティで表現する少なくとも1つのデータ入力を、前記選択されたデータ・モダリティに対応する機械学習モデルに提供し、前記機械学習モデルを介して前記映像セグメントを代表する第1のタイプの予測を生成することと、
生成されたすべての第1のタイプの予測を集約することによって、前記入力映像全体を代表する第2のタイプの予測を決定することであって、前記第2のタイプの予測が、前記入力映像中でキャプチャされたオブジェクトまたはアクティビティを示す、前記決定することと
を含む、方法。
【請求項2】
前記複数のデータ・モダリティが、RGBモダリティ、オプティカル・フロー・モダリティ、および音声モダリティのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記映像セグメントを表現する前記データが、1つまたは複数のRGBフレーム、1つまたは複数のRGB差フレーム、および1つまたは複数の音声フレームのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項4】
前記複数のデータ・モダリティの各データ・モダリティが、前記複数のデータ・モダリティの1つまたは複数の他のデータ・モダリティに対応する1つまたは複数の他の機械学習モデルと併せて訓練される、対応する機械学習モデルを有する、請求項1に記載の方法。
【請求項5】
前記複数のデータ・モダリティの各データ・モダリティに対応する各機械学習モデルが、サブネットワークを含む、請求項4に記載の方法。
【請求項6】
前記選択された1つまたは複数のデータ・モダリティが、映像認識精度と計算効率との間で最適なトレードオフを実現する、請求項1に記載の方法。
【請求項7】
結合特徴抽出器を介して、前記映像セグメントを前記複数のデータ・モダリティで表現する前記データ入力から結合特徴を抽出することと、
前記抽出された結合特徴に部分的に基づいて、長短期記憶(LSTM)を介して、前記映像セグメントについての隠れ状態を計算することと、
前記複数のデータ・モダリティのデータ・モダリティごとに、
前記映像セグメントについての前記隠れ状態に基づいて、対応するポリシ分布を推定することと、
前記対応するポリシ分布にGumbel-Softmax操作を適用して、前記映像セグメントの前記映像認識のために前記データ・モダリティを選択するかどうかを示す対応する二分決定をサンプリングすることと
をさらに含む、請求項1に記載の方法。
【請求項8】
選択されなかった前記複数のデータ・モダリティの各データ・モダリティが、前記映像セグメントの前記映像認識には冗長である、請求項1に記載の方法。
【請求項9】
映像認識のためのシステムであって、
少なくとも1つのプロセッサと、
命令を記憶する非一過性のプロセッサ可読メモリ・デバイスであって、前記命令が前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
映像セグメントのシーケンスを含む入力映像を複数のデータ・モダリティで受信することと、
前記シーケンスの映像セグメントについて、前記映像セグメントを表現するデータに基づいて、前記複数のデータ・モダリティから1つまたは複数のデータ・モダリティを選択することであって、選択された各データ・モダリティが、前記映像セグメントの映像認識に最適である、前記選択することと、
選択されたデータ・モダリティごとに、前記映像セグメントを前記選択されたデータ・モダリティで表現する少なくとも1つのデータ入力を、前記選択されたデータ・モダリティに対応する機械学習モデルに提供し、前記機械学習モデルを介して前記映像セグメントを代表する第1のタイプの予測を生成することと、
生成されたすべての第1のタイプの予測を集約することによって、前記入力映像全体を代表する第2のタイプの予測を決定することであって、前記第2のタイプの予測が、前記入力映像中でキャプチャされたオブジェクトまたはアクティビティを示す、前記決定することと
を含む動作を実行させる、前記非一過性のプロセッサ可読メモリ・デバイスと
を備える、システム。
【請求項10】
前記複数のデータ・モダリティが、RGBモダリティ、オプティカル・フロー・モダリティ、および音声モダリティのうちの少なくとも1つを含む、請求項9に記載のシステム。
【請求項11】
前記映像セグメントを表現する前記データが、1つまたは複数のRGBフレーム、1つまたは複数のRGB差フレーム、および1つまたは複数の音声フレームのうちの少なくとも1つを含む、請求項9に記載のシステム。
【請求項12】
前記複数のデータ・モダリティの各データ・モダリティが、前記複数のデータ・モダリティの1つまたは複数の他のデータ・モダリティに対応する1つまたは複数の他の機械学習モデルと併せて訓練される、対応する機械学習モデルを有する、請求項9に記載のシステム。
【請求項13】
前記複数のデータ・モダリティの各データ・モダリティに対応する各機械学習モデルが、サブネットワークを含む、請求項12に記載のシステム。
【請求項14】
前記選択された1つまたは複数のデータ・モダリティが、映像認識精度と計算効率との間で最適なトレードオフを実現する、請求項9に記載のシステム。
【請求項15】
前記命令が、
結合特徴抽出器を介して、前記映像セグメントを前記複数のデータ・モダリティで表現する前記データ入力から結合特徴を抽出することと、
前記抽出された結合特徴に部分的に基づいて、長短期記憶(LSTM)を介して、前記映像セグメントについての隠れ状態を計算することと、
前記複数のデータ・モダリティのデータ・モダリティごとに、
前記映像セグメントについての前記隠れ状態に基づいて、対応するポリシ分布を推定することと、
前記対応するポリシ分布にGumbel-Softmax操作を適用して、前記映像セグメントの前記映像認識のために前記データ・モダリティを選択するかどうかを示す対応する二分決定をサンプリングすることと
をさらに含む、請求項9に記載のシステム。
【請求項16】
選択されなかった前記複数のデータ・モダリティの各データ・モダリティが、前記映像セグメントの前記映像認識には冗長である、請求項9に記載のシステム。
【請求項17】
請求項1~8の何れか1項に記載の方法を、コンピュータに実行させる、コンピュータ・プログラム。
【請求項18】
請求項17に記載の前記コンピュータ・プログラムを、コンピュータ可読記憶媒体に記憶した、記憶媒体。
【国際調査報告】