JP2024511932A - 全体論的ビデオ理解のためのビデオモデルの適応的使用 - Google Patents

全体論的ビデオ理解のためのビデオモデルの適応的使用 Download PDF

Info

Publication number
JP2024511932A
JP2024511932A JP2023552087A JP2023552087A JP2024511932A JP 2024511932 A JP2024511932 A JP 2024511932A JP 2023552087 A JP2023552087 A JP 2023552087A JP 2023552087 A JP2023552087 A JP 2023552087A JP 2024511932 A JP2024511932 A JP 2024511932A
Authority
JP
Japan
Prior art keywords
video
model
machine learning
learning model
features
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023552087A
Other languages
English (en)
Inventor
ハイタム・ベン・ヤヒア
アミール・ゴッドラティ
ミハイル・ジャイン
アミールホセイン・ハビビアン
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2024511932A publication Critical patent/JP2024511932A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/87Arrangements for image or video recognition or understanding using pattern recognition or machine learning using selection of the recognition techniques, e.g. of a classifier in a multiple classifier system
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/57Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for processing of video signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

全体論的ビデオ理解を実行するためのシステムおよび技法が提供される。たとえば、プロセスは、第1のビデオを取得すること、および機械学習モデル決定エンジンを使用して、第1のビデオの少なくとも一部分を処理するために使用するために、機械学習モデルのセットから第1の機械学習モデルを決定することを含み得る。第1の機械学習モデルは、第1のビデオの少なくともその部分の1つまたは複数の特性に基づいて決定され得る。プロセスは、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理することを含み得る。

Description

本開示は、一般に、ビデオコンテンツを理解するためのモデルに関する。いくつかの例では、本開示の態様は、ビデオコンテンツの特性に基づく機械学習モデルの選択のためのシステムおよび技法に関する。
多くの機械学習モデルが、ビデオデータ(または画像フレームのシーケンス)中に含まれている情報を分析およびカテゴリー化するために利用可能である。ビデオデータ中に含まれている情報の全体論的理解を取得するために、ビデオデータは、特にアクション、属性、イベント、物体、シーンなど、様々なカテゴリーにわたって理解されるべきである。アクションを検出するようにトレーニングされる機械学習モデル(たとえば、3次元(3D)畳み込みニューラルネットワーク(CNN)、オプティカルフローニューラルネットワークなど)は、少数のアクションを含んでいるビデオデータに適用されるとき、過度に計算集約的になり得る。一方、静的なビデオシーン内の物体を検出するために好適である、計算効率の良い機械学習モデルは、大きい動きを含んでいるビデオ内のアクションを適切に検出することができない場合がある。場合によっては、できる限り効率的な方法で、複数のカテゴリーにわたるビデオの全体論的理解を実行することが可能である、機械学習モデルを有することが望ましい。
Ali Diba他、「Large scale holistic video understanding」、2020 Kaiming He他、「Deep residual learning for image recognition」、2016 Christoph Feichtenhofer他、「Slowfast networks for video recognition」、2019 Mark Sandler他、「MobileNetV2: Inverted Residuals and Linear Bottlenecks」、2019
いくつかの例では、全体論的ビデオ理解のためのビデオ処理モデルの間で適応的に選択するためのシステムおよび技法について説明する。少なくとも1つの例示的な例によれば、ビデオデータを処理する方法が提供される。方法は、第1のビデオを取得するステップと、機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第1の機械学習モデルを決定するステップであって、第1の機械学習モデルが、第1のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、ステップと、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理するステップとを含む。
別の例では、少なくとも1つのビデオまたはビデオの一部分を記憶するように構成されたメモリと、メモリに結合された(たとえば、回路において実装された)1つまたは複数のプロセッサとを含む、ビデオデータを処理するための装置が提供される。1つまたは複数のプロセッサは、第1のビデオを取得すること、機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第1の機械学習モデルを決定することであって、第1の機械学習モデルが、第1のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、こと、および第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理することを行うように構成され、かつ行うことができる。
別の例では、命令を記憶した非一時的コンピュータ可読媒体が提供され、命令が、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、第1のビデオを取得すること、機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第1の機械学習モデルを決定することであって、第1の機械学習モデルが、第1のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、こと、および第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理することを行わせる。
別の例では、ビデオデータを処理するための装置が提供される。装置は、第1のビデオを取得するための手段と、機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第1の機械学習モデルを決定するための手段であって、第1の機械学習モデルが、第1のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、手段と、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理するための手段とを含む。
いくつかの態様では、上記で説明した方法、装置、およびコンピュータ可読媒体は、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理することに基づいて、第1のビデオの少なくともその部分の分類を決定することをさらに含む。
いくつかの態様では、上記で説明した方法、装置、およびコンピュータ可読媒体は、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出すること、第1の補助モデルを使用して、第1の1つまたは複数の特徴を処理すること、および第1の補助モデルを使用して、第1の1つまたは複数の特徴を処理することに基づいて、第1のビデオの少なくともその部分の第1の分類を決定することをさらに含む。場合によっては、第1の補助モデルは、ニューラルネットワークを含む。場合によっては、第1の補助モデルは、1次元畳み込みニューラルネットワークを含む。そのような場合、第1の1つまたは複数の特徴は、第1のビデオの少なくともその部分の第1のフレームに基づく第1の特徴ベクトルと、第1のビデオの少なくともその部分の第2のフレームに基づく第2の特徴ベクトルとを含む。そのような場合、第1の補助モデルは、少なくとも第1の特徴ベクトルおよび第2の特徴ベクトルから、第1のビデオの少なくともその部分の時間情報を生成する。場合によっては、第1の補助モデルは、多層パーセプトロンを含む。場合によっては、第1の補助モデルは、グラフ畳み込みネットワークを含む。
いくつかの態様では、上記で説明した方法、装置、およびコンピュータ可読媒体は、機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第2の機械学習モデルを決定することであって、第2の機械学習モデルが、第1のビデオの少なくとも別の部分の1つまたは複数の特性に基づいて決定される、こと、および第2の機械学習モデルを使用して、第1のビデオの少なくとも別の部分を処理することをさらに含む。いくつかの態様では、第2の機械学習モデルは、ニューラルネットワークを含む。
いくつかの態様では、上記で説明した方法、装置、およびコンピュータ可読媒体は、第2の機械学習モデルを使用して、第1のビデオの少なくとも別の部分から第2の1つまたは複数の特徴を抽出すること、第2の補助モデルを使用して、第2の1つまたは複数の特徴を処理すること、および第2の補助モデルを使用して、第2の1つまたは複数の特徴を処理することに基づいて、第1のビデオの少なくとも別の部分の第2の分類を決定することをさらに含む。
いくつかの態様では、第1の機械学習モデルは、ニューラルネットワークを含む。いくつかの態様では、第1の機械学習モデルは、2次元畳み込みニューラルネットワークを含む。場合によっては、2次元畳み込みニューラルネットワークは、2つの空間次元において、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出する。
いくつかの態様では、第1の機械学習モデルは、3次元(3D)CNNを含む。場合によっては、3D CNNは、2つの空間次元と時間次元とにおいて、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出する。
いくつかの態様では、上記で説明した方法、装置、およびコンピュータ可読媒体は、第2のビデオを取得すること、機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第2の機械学習モデルを決定することであって、第2の機械学習モデルが、第2のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、こと、および第2の機械学習モデルを使用して、第2のビデオの少なくともその部分を処理することをさらに含む。
いくつかの態様では、機械学習モデル決定エンジンは、第1の機械学習モデルと共通のニューラルネットワークを共有する。いくつかの態様では、上記で説明した方法、装置、およびコンピュータ可読媒体は、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理するために使用するための、機械学習モデルのセットからの第1の機械学習モデルの決定と並行して、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出することをさらに含む。
いくつかの態様では、第1のビデオの少なくともその部分の1つまたは複数の特性は、空間特性および時間特性を含む。
いくつかの態様では、第1のビデオの少なくともその部分の1つまたは複数の特性は、オーディオ特性を含む。
いくつかの態様では、上記で説明した装置のうちの1つまたは複数は、モバイルデバイス(たとえば、携帯電話、またはいわゆる「スマートフォン」、または他のモバイルデバイス)、ウェアラブルデバイス、エクステンデッドリアリティデバイス(たとえば、仮想現実(VR)デバイス、拡張現実(AR)デバイス、または混合現実(MR)デバイス)、車両(たとえば、車両のコンピューティングデバイス)、パーソナルコンピュータ、ラップトップコンピュータ、サーバコンピュータ、または他のデバイスを含み得るか、またはその一部であり得る。いくつかの態様では、装置は、1つまたは複数の画像をキャプチャするための1つまたは複数のカメラを含む。いくつかの態様では、装置は、1つまたは複数の画像、通知、および/または表示可能な他のデータを表示するためのディスプレイをさらに含む。いくつかの態様では、装置は、装置のロケーションおよび/もしくは姿勢、装置の状態を決定するために、ならびに/または他の目的のために使用され得る、1つまたは複数のセンサーを含み得る。
本概要は、特許請求される主題の主要または不可欠な特徴を特定するものではなく、特許請求される主題の範囲を決定するために単独で使用されるものでもない。主題は、本特許の明細書全体、いずれかまたはすべての図面、および各請求項の適切な部分への参照によって理解されるべきである。
上記のことは、他の特徴および実施形態とともに、以下の明細書、特許請求の範囲、および添付図面を参照するとより明らかになろう。
本出願の例示的な実施形態について、以下の図を参照しながら以下で詳細に説明する。
いくつかの例による、例示的な全体論的ビデオ理解システムを示すブロック図である。 いくつかの例による、1次元畳み込みフィルタの例示的な演算を示す図である。 いくつかの例による、1次元畳み込みフィルタの例示的な演算を示す図である。 いくつかの例による、1次元畳み込みフィルタの例示的な演算を示す図である。 いくつかの例による、1次元畳み込みフィルタの例示的な演算を示す図である。 いくつかの例による、全体論的ビデオ理解システムの一例を示すブロック図である。 いくつかの例による、全体論的ビデオ理解システムの別の例を示すブロック図である。 いくつかの例による、全体論的ビデオ理解システムの別の例を示すブロック図である。 いくつかの例による、全体論的ビデオ理解システムの別の例を示すブロック図である。 いくつかの例による、全体論的ビデオ理解システムの別の例を示すブロック図である。 いくつかの例による、例示的な全体論的ビデオ理解システムの性能を示すプロットである。 いくつかの例による、ビデオデータを処理するためのプロセスの一例を示すフロー図である。 いくつかの例による、深層学習ネットワークの一例を示すブロック図である。 いくつかの例による、畳み込みニューラルネットワークの一例を示すブロック図である。 本明細書で説明するいくつかの態様を実装するためのコンピューティングシステムの一例を示す図である。
本開示のいくつかの態様および実施形態が、以下で提供される。当業者に明らかになるように、これらの態様および実施形態のうちのいくつかが独立して適用されてよく、それらのうちのいくつかが組合せで適用されてよい。以下の説明では、説明のために、本出願の実施形態の完全な理解をもたらすために具体的な詳細が記載される。しかしながら、様々な実施形態がこれらの具体的な詳細なしに実践され得ることが明らかとなろう。図および説明は限定的であることが意図されていない。
以下の説明は、例示的な実施形態のみを提供し、本開示の範囲、適用可能性、または構成を限定することは意図されない。そうではなく、例示的な実施形態の以下の説明は、例示的な実施形態を実装することを可能にする説明を当業者に提供するものである。添付の特許請求の範囲に記載されるような本出願の趣旨および範囲から逸脱することなく、要素の機能および構成において様々な変更が加えられてよいことを理解されたい。
機械学習モデルは、ビデオデータの処理および/または分析を行うために使用され得る。機械深層学習システムを使用するビデオ理解は、多くの場合、困難であり得る。たとえば、ビデオデータは、物体、アクション、イベント、属性、概念、およびシーンなど、情報の多数の相互接続されたカテゴリーを含む。これらのカテゴリーは、高度に相互接続されることがあり、それによって、機械学習モデルがいくつかの機能を実行することが困難になり得る。たとえば、機械学習モデルは、物体を認識することなしに、アクション分類を実行することが可能でないことがあり、その理由は、アクションがしばしば物体を伴うからである。一例として、機械学習モデルは、ピアノを演奏すること、対、ギターを演奏することの間で区別するために使用され得る。演奏する動きは、物体のタイプに応じて変化し(たとえば、ギターを弾くこと、対、ピアノの鍵盤をたたくこと)、アクションおよび物体が相互接続されていることを示している。任意の特定のビデオの場合、ビデオに関連付けられたカテゴリーのうちの1つまたは複数が、ビデオコンテンツを理解するために他のものよりも重要であり得る。一例では、静的なシーンを示すビデオでは、物体を認識することは、アクションを検出することよりも重要であり得る。別の例では、アクションを追って移動するカメラを用いて、スポーツイベントを示すビデオでは、アクションを認識すること、ならびに物体が移動するときに物体を認識することが、等しく重要であり得る。
機械学習モデルは、機械学習モデルが処理することになるビデオデータセット中に存在する重要なカテゴリーの事前知識を有し得る。事前知識に基づいて、機械学習モデルは、そのデータセットを効率的に処理するように特に設計され得る。たとえば、2つの空間次元と時間次元とにわたってビデオを分析する3次元(3D)畳み込みニューラルネットワーク(CNN)は、動的コンテンツを有する様々なタイプのビデオ(たとえば、スポーツ試合、コンサートなどのビデオ)においてアクションを検出する間に、計算コストを低減するために、そのような事前知識を使用して最適化され得る。しかしながら、3D CNNを通して静的なシーンを示すビデオを処理することは、コンテンツを鑑みて必要でないことがある、かなりの計算コスト(たとえば、多数の浮動小数点演算(FLOP))を招くことがある。この追加の計算コストは、3D畳み込みネットワークが同時に複数のフレームにわたっていくつかの機能(たとえば、畳み込み)を実行する結果として生じることがあり、このことは、シーン内の物体がフレーム間で動いていないときに必要とされないことがある。
2次元(2D)CNNは、同時に複数のフレームにわたって機能を実行するのではなく、単一のビデオフレームに基づいて、ビデオ内の物体を認識することができ、結果として、1つまたは複数のビデオフレーム中の物体を識別することにおいてより効率的であり得る。しかしながら、2D CNNは、異なる時間にキャプチャされた複数のフレームにおいて動作しないので、2D CNNは、シーン内の物体が経時的にどのように動くかを示すいかなる時間情報も返さないようになる。たとえば、2D CNNは、それだけでは、(たとえば、複数のビデオフレームにわたって発生する)アクションを検出するために好適でないことがある。
2D CNNが個々のフレームのための空間情報のみを生じるという制限を克服するために、様々な手法が使用され得る。一例では、1次元(1D)畳み込みが、2D CNNへの補助モデルとして使用され得る。ID畳み込みは、連続フレームにわたって2D CNNによって生成された特徴から、時間情報を生成するために使用され得る。別の例では、フォワードスキップ(forward skip)を伴う非ローカルニューラルネットワークが、不連続フレームにわたって2D CNNによって生成された特徴間の時間的関係を検出するために使用され得る。別の例では、グラフ畳み込みネットワークが、2D CNNへの補助モデルとして使用され得る。グラフ畳み込みネットワークは、2D CNNによって生成された空間特徴に基づいて、ビデオ内の概念間の関係を生成するために使用され得る。
特定のビデオデータセットについて最も重要なカテゴリーがわかっている場合、その特定のカテゴリーに特に対応した機械学習モデル(たとえば、ニューラルネットワーク)を設計することが効率的であり得る。しかしながら、異なる特性を有し、それらの内部に情報の異なるカテゴリーを含んでいる、様々なビデオを含むビデオデータセットを分析するために、単一のモデルに依拠すると、過剰な計算量(たとえば、モデルが、サンプルビデオ中に存在しないカテゴリーを検出しようと試みる計算を実行する場合)、不十分な精度(たとえば、モデルが、サンプルビデオ中に存在する情報のカテゴリーのうちの1つまたは複数を検出するために好適でない場合)、またはその両方を生じ得る。モデルに適合しない新しいデータセットに遭遇するとき(たとえば、モデルが、その新しいデータセット中のコンテンツのタイプを理解するようにトレーニングされなかったので)、新しいターゲットにされたモデルが、新しいデータセットによって提示された新しい問題を解決するために開発され得る。しかしながら、新しいモデルを開発することは、新しいモデルを常に開発しなければならない点で、コストがかかり得る。新しいモデルを開発することはまた、新たに開発されたモデルが、狭い問題を解決するように、または情報の1つもしくは複数の別個のカテゴリーを含んでいるビデオを理解するように設計されるときなど、全体論的ビデオ理解の問題に実際に対処しないこともある。
以下のTable 1(表1)は、平均適合率の平均(mAP:mean Average Precision)の単位で表された5つの異なるビデオ理解モデルの相対的性能を示す。Table 1(表1)における内容は、ビデオのために別のモデルよりもあるモデルを選定した結果を示す一例を提供する。Table 1(表1)では、5つの異なる機械学習モデル(モデル1~5)のmAP値が、アクション、属性、概念、イベント、物体、およびシーンのカテゴリーについて示されている。いくつかの例では、機械学習モデルは、特定の帰納バイアスを適用することができ、帰納バイアスは、モデルのサーチスペースを制限することによってモデル機能を限定する、事前の仮定であり得る。Table 1(表1)では、各カテゴリーにおいて最高のmAPをもつ1つまたは複数のモデル(たとえば、モデル2およびモデル4は、カテゴリー「イベント」について同様の値を有する)に下線が引かれている。図示のように、どの単一のモデルも、カテゴリーのすべての中で最高精度を有していない。結果として、複数の関連するカテゴリーを包含するビデオデータを含んでいるビデオデータセットに対する、Table 1(表1)内のモデルのうちのいずれか1つの固定された適用は、そのビデオデータセットのための最適な精度を達成しないことになる。
例示的な一例では、第1のモデルは、その全体がすべての目的のために参照により本明細書に組み込まれる、Ali Diba他、「Large scale holistic video understanding」、2020に記載されている、HATNetである。別の例示的な例では、第2、第3、および第4のモデルが、第1の段階として共通の2D CNNを共有し、共通の2D CNNは、その全体がすべての目的のために参照により本明細書に組み込まれる、Kaiming He他、「Deep residual learning for image recognition」、2016に記載されているものなど、Resnet-50ニューラルネットワークアーキテクチャにおいて構築される。Resnet-50 2D CNNは、空間特徴を生成する。第2、第3、および第4のモデルの各々について、空間特徴が補助モデルによってさらに処理される。第2のモデルでは、非ローカル補助モデルが、2D CNNによって生成された特徴に適用される。第3のモデルでは、1D畳み込みが、2D CNNによって生成された特徴に適用されて、複数のフレームにわたって評価された(2D CNNによって生成された)空間特徴から、時間情報が生成され得る。ID畳み込みは、複数のフレームにわたって2D CNNによって生成された特徴に適用されて、(経時的に)時間次元における特徴についての時間情報が生成され得る。第4のモデルでは、グラフ畳み込みが、2D CNNによって生成された特徴に適用され得る。グラフ畳み込みの適用は、2D CNNによって生成された空間特徴から、ニューラルネットワークが分類するようにトレーニングされる利用可能なクラスへの、関係情報の生成を生じ得る。例示的な一例では、第5のモデルは、Christoph Feichtenhofer他、「Slowfast networks for video recognition」、2019に記載されている、Slowfastモデルを使用する3D CNNであり得る。
全体論的ビデオ理解を実行するためのシステム、装置、プロセス(方法とも呼ばれる)、およびコンピュータ可読媒体(「システムおよび技法」と総称される)について、本明細書で説明する。本明細書で使用する、全体論的ビデオ理解は、ビデオ中に含まれたデータの多数の相互に関係するカテゴリーにわたって、ビデオのコンテンツを理解することを指す。いくつかの例では、システムおよび技法について、ビデオの理解、分析、および/または分類として本明細書で説明する。しかしながら、ビデオの理解、分析、および/または分類として本明細書で説明するシステムおよび技法は、フレームまたは画像の任意のシーケンスに適用され得る。
以下でより詳細に説明するように、全体論的ビデオ理解システムは、1つまたは複数のモデル決定エンジン(機械学習モデルまたは機械学習システムであり得る)、特徴抽出機械学習モデル(または機械学習システム)、および補助機械学習モデル(または機械学習システム)を含み得る。1つまたは複数のモデル決定エンジンは、(たとえば、選択のために利用可能な補助モデルと組み合わせた特徴抽出モデルの計算効率および精度の組合せに基づいて)特定のビデオまたはビデオの部分を処理するために、どの特徴抽出モデルを使用するかを決定するために、入力ビデオデータを分類するようにトレーニングされ得る。例示的な一例では、モデル決定エンジンは、ビデオまたはビデオの部分ごとの平均計算を40ギガFLOP(GFLOP)よりも低く保ちながら、最も正確なモデルを選択するようにトレーニングされ得る。ビデオの一部分は、ビデオクリップ(たとえば、以下で説明するビデオクリップυij)を含み得る。(1つまたは複数のモデル決定エンジンがトレーニングされた後の)推論の間に、モデル決定エンジンによって出力された分類が、入力ビデオまたはビデオ部分を処理するために、ニューラルネットワークにおいて1つまたは複数のどの特徴抽出モデルが使用されることになるかを決定するために使用され得る。場合によっては、モデル決定エンジンはまた、入力ビデオまたは入力ビデオのフレームに関連付けられた特徴を学習するようにトレーニングされ得る。いくつかの例では、モデル決定エンジンは、1つまたは複数の教師ありまたは半教師ありトレーニング技法を使用するなど、トレーニングデータとしてビデオフレームおよびラベルを使用してトレーニングされ得る。(たとえば、モデル決定エンジンが、特徴を抽出するようにトレーニングされた後の)推論の間に、モデル決定エンジンは、場合によっては、分類プロセスの間に生成した特徴が補助モデルに提供され、かつ他の利用可能な特徴抽出モデルのいずれかの使用を必要とすることなしに、入力ビデオを分類するために後に使用されるべきであると決定することができる。
いくつかの例では、モデル決定エンジンは、ニューラルネットワーク、または複数のニューラルネットワークアーキテクチャの組合せである。いくつかの例では、モデル決定エンジンは、2D CNN、または任意の他の好適な軽量のニューラルネットワークアーキテクチャである。上述のように、2D CNNは軽量であり、その理由は、複数のフレームにわたって機能(たとえば、畳み込み)を同時に実行するのではなく、単一のビデオフレームに基づいて、ビデオ内の物体を認識することができるからである。モデル決定エンジンのために軽量のニューラルネットワークアーキテクチャを使用することによって、全体論的ビデオ理解システムにおいてモデル決定エンジンを利用することによってもたらされる計算の複雑度を低減することができる。モデル決定エンジンを含める計算コストを(たとえば、軽量のニューラルネットワークアーキテクチャを使用することによって)最小に保つことは、いくつかの入力ビデオのために軽量の特徴生成モデルを選定することが可能であるという計算の節約のために、計算効率の全体的な向上につながり得る。例示的な一例では、モデル決定エンジンのニューラルネットワークは、その全体がすべての目的のために参照により本明細書に組み込まれる、Mark Sandler他、「MobileNetV2: Inverted Residuals and Linear Bottlenecks」、2019に記載されているものなど、MobileNetV2ニューラルネットワークアーキテクチャを含む。別の例示的な例では、モデル決定エンジンのニューラルネットワークは、その全体がすべての目的のために参照により本明細書に組み込まれる、Kaiming He他、「Deep residual learning for image recognition」、2016に記載されているものなど、Resnet-50ニューラルネットワークアーキテクチャを含む。
いくつかの例では、以下で説明するように、モデル決定エンジンは、エンドツーエンドプロセスにおいて特徴抽出モデルおよび任意の補助モデルと一緒にトレーニングされ得る。いくつかの例では、以下で説明するように、モデル決定エンジンは、3段階プロセスの最終段階においてトレーニングされ得る。たとえば、3段階プロセスは、ある精度レベルが達成されるまで、特徴抽出モデルをトレーニングする第1のステップと、凍結された重みとともに(たとえば、トレーニングされた特徴抽出モデルの重みが変化しない場合)、トレーニングされた特徴抽出モデルからの特徴を使用して、補助モデルをトレーニングする第2のステップと、凍結された重みとともに、トレーニングされた特徴抽出モデルおよび補助モデルを使用して、モデル決定エンジンをトレーニングする第3のステップとを含み得る。場合によっては、決定エンジンは、何のモデルが最も正確であるかを決定エンジンに伝える擬似ラベルとともに、教師あり学習を使用してトレーニングされる。トレーニング反復の間に、決定エンジンは、最も正確なモデルを選ぶ精度を最大化するように試み、パラメータ(たとえば、重み、バイアスなど)が、決定された損失に基づいて各反復において調整される。
例示的な一例では、以下でより詳細に説明するように、3段階プロセスの第2のステップは、クロスエントロピー損失(LCEとして示される)またはバイナリクロスエントロピー損失(LBCEとして示される)を使用して、モデル決定エンジンをトレーニングすることを含み得、第3のステップは、以下の損失、すなわち、L=Lπ+αLuniform+βLflopsを用いて、モデル決定エンジンをトレーニングすることを含み得、ただし、Lπはクロスエントロピー(CE)損失(またはソフトマックス損失(Softmax loss))であり、Luniformは一様損失(uniform loss)であり、LflopsはFLOP損失である。BCE損失(LBCE)は、バイナリクロスエントロピーに基づいて、正しい分類を得る精度を最大化するように、決定エンジンをトレーニングする。FLOP損失(Lflops)は、効率的なモデルをより頻繁に選択するように、決定エンジンをトレーニングし、その理由は、使用されることになる、期待される(たとえば、トレーニングデータにわたる平均)FLOPを最小化することが有益であるからである。使用されることになるFLOPは、決定エンジンからの決定aVに基づいて計算され得る。ベータ(β)パラメータは、精度と複雑度または計算効率(たとえば、FLOPによって測定される)との間のトレードオフを制御または調整する。たとえば、βが0に設定される場合、結果は、決定エンジンが最も正確なモデルを使用することを学習するようになることである。βパラメータを(たとえば、0.75、0.80、0.85など、1に近い)高い値に設定することによって、最も計算コストが低いモデルを選択し、選ぶ、決定エンジンを生じることになる。一様損失(Luniform)は、モデル決定エンジンが一定のトレードオフをもたらす同じモデルを常に選定するとは限らないことを保証するために、使用され得る。アルファ(α)パラメータは、一様損失を調整するために使用される。最適なバランスの一例は、平均して40GFLOPSを下回る最も正確なモデルを選定することによるものである。
本明細書で説明するシステムおよび技法は、ビデオデータを処理するための1つまたは複数の機械学習モデルの間で適応的に選択することによって、より正確で効率的な全体論的ビデオ理解を提供することができる。たとえば、上述のように、多数のビデオ理解システムは、特定の入力ビデオ中に含まれるデータのカテゴリーが、固定された機械学習モデルによる分析に好適であるか否かにかかわらず、すべてのビデオを分析するために、単一の固定された機械学習モデルを適用する。分析されている特定のビデオまたはビデオの部分の特性に基づいて、ビデオ理解を実行するために、複数の異なる機械学習モデルの間で適応的に選択することによって、システムおよび技法は、特定のビデオまたはその部分の特性(たとえば、ビデオまたはその部分内に含まれているデータのカテゴリー)に好適であるモデルによって、各ビデオまたはビデオの部分を分析することができる。さらに、ビデオまたはその部分中に存在しないカテゴリーのために好ましい、計算コストが高いモデルの不必要な計算を回避することによって、ビデオ理解技法を実行するデバイスのコンピューティングリソースおよび電力リソースが、他の動作のために節約され得る。
ビデオを特定の分類(たとえば、ピアノを演奏すること、サッカーをする子供など)に分類するための例について、本明細書で説明するが、本明細書で説明する全体論的ビデオ理解システムおよび技法は、特に列挙されない他の分類を生成するために使用され得る。いくつかの例では、本明細書で説明する全体論的ビデオ理解システムおよび技法は、コンピュータの前の机に向かって座っている人、モバイルデバイスを手に持っている人、工場環境内のロボティクスデバイス、ならびに/または任意の他のアクション、イベント、属性、概念、および/もしくはシーンなど、他のカテゴリーおよび分類における人々または物体のアクティビティを決定するために使用され得る。
本明細書で説明する技法の様々な態様について、図に関して以下で説明する。図1は、全体論的ビデオ理解システム100の一例を示すブロック図である。全体論的ビデオ理解システム100は、ビデオデータ(たとえば、1つまたは複数のビデオ)を処理し、情報のカテゴリー(たとえば、物体、アクション、イベント、属性、概念、およびシーン)を検出または認識するために使用される、様々な構成要素を含む。図示のように、全体論的ビデオ理解システム100の構成要素は、ビデオレトリーバ102と、記憶デバイス104と、モデル決定エンジン106と、特徴抽出モデル108と、補助モデル110と、出力分類器112とを含む。
全体論的ビデオ理解システムは、モバイルもしくは固定の電話ハンドセット(たとえば、スマートフォン、セルラー電話など)、(たとえば、車両コンピューティングシステムと通信している)サーバコンピュータ、車両(たとえば、車両の運転者監視システム(DMS))、デスクトップコンピュータ、ラップトップもしくはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオストリーミングデバイス、または任意の他の好適な電子デバイスを含み得るか、またはその一部であり得る。いくつかの例では、全体論的ビデオ理解システム100は、セルラーネットワーク通信、802.11 Wi-Fi通信、ワイヤレスローカルエリアネットワーク(WLAN)通信、Bluetoothもしくは他の短距離通信、それらの任意の組合せ、および/または他の通信など、ワイヤレス通信のための1つまたは複数のワイヤレストランシーバ(または別個のワイヤレス受信機および送信機)を含み得る。いくつかの実装形態では、全体論的ビデオ理解システム100の構成要素(たとえば、ビデオレトリーバ102、記憶デバイス104、モデル決定エンジン106、特徴抽出モデル108、補助モデル110、および出力分類器112)は、同じコンピューティングデバイスの一部であり得る。いくつかの実装形態では、全体論的ビデオ理解システム100の構成要素は、2つ以上の別個のコンピューティングデバイスの一部であり得る。場合によっては、全体論的ビデオ理解システム100は、図12に示されるコンピューティングシステム1200の一部として実装され得る。
全体論的ビデオ理解システム100は、いくつかの構成要素を含むように示されるが、全体論的ビデオ理解システム100は、図1に示されるものよりも多くの構成要素または少ない構成要素を含み得ることを当業者は諒解されよう。場合によっては、全体論的ビデオ理解システム100の追加の構成要素は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの1つもしくは複数の組合せを含み得る。たとえば、場合によっては、全体論的ビデオ理解システム100は、図1に示されていない、1つもしくは複数のセンサー(たとえば、1つまたは複数のカメラ、慣性測定ユニット(IMU)、レーダー、光検出および測距(LIDAR)センサー、オーディオセンサーなど)、1つもしくは複数のディスプレイデバイス、1つもしくは複数の他の処理エンジン、1つもしくは複数の他のハードウェア構成要素、ならびに/または1つもしくは複数の他のソフトウェアおよび/もしくはハードウェア構成要素を含み得る。いくつかの実装形態では、全体論的ビデオ理解システム100の追加の構成要素は、1つもしくは複数のプログラマブル電子回路(たとえば、デジタル信号プロセッサ(DSP)、マイクロプロセッサ、マイクロコントローラ、グラフィックス処理ユニット(GPU)、中央処理ユニット(CPU)、それらの任意の組合せ、および/または他の好適な電子回路)を含み得る、電子回路もしくは他の電子ハードウェアを含むことができ、かつ/またはそれらを使用して実装され得、ならびに/あるいは、本明細書で説明する様々な動作を実行するために、コンピュータソフトウェア、ファームウェア、もしくはそれらの任意の組合せを含むことができ、かつ/またはそれらを使用して実装され得る。ソフトウェアおよび/またはファームウェアは、コンピュータ可読記憶媒体上に記憶され、かつ全体論的ビデオ理解システム100を実装する電子デバイスの1つまたは複数のプロセッサによって実行可能な、1つまたは複数の命令を含み得る。
ビデオレトリーバ102は、記憶デバイス104からフレーム(たとえば、ビデオフレーム、画像など)を取り出すことができる。記憶デバイス104は、任意の好適なタイプの記憶(たとえば、以下の図12における記憶デバイス1230に関して説明する任意のタイプの記憶)を含み得る。ビデオレトリーバ102によって取り出されたビデオは、フレームのシーケンスを含み得る。たとえば、フレームのシーケンスは、連続的にキャプチャされた画像のグループ、またはフレームの他のシーケンスを含み得る。例示的な一例では、フレームは、赤緑青(RGB)画像、ルーマ、クロマ青、クロマ赤(YCbCrまたはY'CbCr)画像、モノクローム画像、および/または任意の他の好適なタイプの画像を含み得る。場合によっては、ビデオレトリーバ102によって取り出されたビデオは、記憶デバイス104からオーディオ成分を受信することもできる。
いくつかの態様では、ビデオレトリーバ102は、記憶デバイス104から取り出されたビデオを、均一に離間した部分またはクリップに区分することができる(たとえば、各クリップは、等しい数のフレームを含み得る)。ビデオクリップυijの一例について、以下で説明する。いくつかの例では、ビデオレトリーバはまた、オーディオデータが、ビデオの一部分のためのフレームの対応するシーケンスに関連付けられた時間にマッチするように、オーディオデータを個々のオーディオセグメントに区分することもできる。いくつかの態様では、ビデオは、記憶デバイス104内にビデオ部分またはクリップとして記憶され得、ビデオレトリーバは、ビデオ全体を取り出すのではなく、記憶デバイス104からクリップを取り出すことができる。いくつかの態様では、ビデオレトリーバ102は、記憶デバイス104から完全なビデオを取り出すことができる。そのような態様では、完全なビデオは、(たとえば、モデル決定エンジン106に入力される前に)全体論的ビデオ理解システム100内の他の場所で部分またはクリップに分割され得る。いくつかの態様では、部分は、2つのフレーム、3つのフレーム、5つのフレーム、または任意の好適な数のフレームなど、ビデオのフレームのサブセットを含み得る。いくつかの例では、部分は重複していることがあり得る(たとえば、部分は、フレームのシーケンスから互いに共通のフレームを共有することができる)。各ビデオ部分が3つのフレームを含む、例示的な一例では、第1のビデオの第1の部分は、ビデオの第1、第2、および第3のフレームを含み得るが、第1のビデオの第2の部分は、ビデオの第2、第3、および第4のフレームを含み得る。
ビデオレトリーバ102によって取り出されたフレームは、モデル決定エンジン106への入力として提供され得る。いくつかの例では、取り出されたビデオのフレームは、モデル決定エンジン106の入力層(図示せず)の寸法よりも大きい寸法を有し得る。そのような場合、より大きい寸法を有する各入力フレームは、入力寸法にマッチする解像度、またはモデル決定エンジン106が処理するように構成される解像度に正規化され得る。たとえば、モデル決定エンジン106(または全体論的ビデオ理解システム100の他の構成要素)は、各フレームをダウンサンプリングまたはダウンスケールすることによって、より大きい寸法を有する各フレームをモデル決定エンジン106の入力寸法または解像度に正規化することができる。例示的な一例では、取り出されたビデオフレームの最小寸法を224にリサイズし、中心クロップ(たとえば、ビデオフレームの中心部分)を抽出することによって、ビデオ部分が、(モデル決定エンジン106が処理するように構成される)224×224の入力解像度にマッチするようにリサイズされ得る。いくつかの例では、ダウンサンプリング、小型化、またはさもなければリサイズされたフレームは、全体論的ビデオ理解システム100の後続の段階によって使用されるために、記憶デバイス104に記憶され得る。
いくつかの例では、モデル決定エンジン106は、入力ビデオまたは入力ビデオの部分を処理するために、特徴抽出モデル108のセットからの1つまたは複数のどのモデルを使用するかを決定するようにトレーニングされ得る。場合によっては、モデル決定エンジン106は、モデル決定エンジン106によって選択のために同じく利用可能である補助モデル110と組み合わせた特徴抽出モデル108の計算効率および精度の組合せに基づいて、1つまたは複数のどのモデルを使用するかを決定するようにトレーニングされ得る。たとえば、モデル決定エンジン106は、入力ビデオを処理するために、(特徴抽出モデル108および/または補助モデル110からの)第1の機械学習モデルと第2の機械学習モデルとの間で選定するようにトレーニングされ得る。いくつかの例では、モデル決定エンジン106は、入力ビデオを処理するために、「N」個の数の特徴抽出モデル108のどのセットを使用するかを決定するようにトレーニングされ得、ただし、「N」は1以上の整数である。特徴抽出モデル108の数は、所与の用途に必要とされる程度に多くの機械学習モデルを含むようにされ得る。いくつかの例示的な特徴抽出モデル108は、2D CNN、3D CNN、オーディオ処理モデル、オプティカルフローネットワーク、およびビデオデータを処理するために使用され得る任意の他のニューラルネットワークアーキテクチャを含み得る。いくつかの例では、モデル決定エンジン106は、特徴抽出モデル108の数に等しいN個の出力クラスを分類することが可能であるようにトレーニングされた分類ニューラルネットワークを含み得る。たとえば、モデル決定エンジン106は、ビデオデータを処理することができ、ビデオデータを処理することに基づいて、N個のクラスのための確率を決定することができる。モデル決定エンジン106は、N個のクラスの中から最高確率値を有するクラスに関連付けられる所与のモデルを(特徴抽出モデル108から)選択することができる。いくつかの例では、モデル決定エンジン106のニューラルネットワークは、入力ビデオフレームから1つまたは複数の特徴ベクトルを生成する内部層と、1つまたは複数の特徴ベクトルの特徴をN個のクラスに合成する全結合層とを含み得る。モデル決定エンジン106をトレーニングする例が、以下で提供される。
(モデル決定エンジン106がトレーニングされた後の)推論の間に、モデル決定エンジン106は、ビデオレトリーバ102から、および/または記憶デバイス104から、入力ビデオまたはビデオ部分を表すビデオの1つまたは複数のフレームを受信することができる。いくつかの例では、ビデオレトリーバ102および/または記憶デバイス104から、モデル決定エンジン106によって受信された、入力ビデオまたはビデオ部分を表すビデオの1つまたは複数のフレームは、上記で説明したような入力ビデオの部分である。いくつかの例では、モデル決定エンジン106は、入力ビデオまたはビデオ部分の分類(たとえば、N個のクラスの中で最高確率を有するクラス)を生成することができる。場合によっては、モデル決定エンジン106は、入力ビデオまたはビデオ部分の各フレームを順次処理して、各入力ビデオ、ビデオ部分、またはビデオフレームのための分類を生成することができる。いくつかの実装形態では、モデル決定エンジン106は、(たとえば、複数の連続フレームからの特徴を平均すること、および分類を生成するために、多層パーセプトロン(MLP)、全結合層、または他のニューラルネットワーク構成要素を使用して、平均された特徴を処理することによって)入力ビデオまたはビデオ部分の複数の連続フレームから分類を生成することができる。
いくつかの例では、モデル決定エンジンによって生成された分類は、入力ビデオ(たとえば、入力ビデオ全体)をさらに処理するために、特徴抽出モデル108のうちのどの1つを使用するかを決定するために使用され得る。いくつかの例では、分類は、入力ビデオの一部分(たとえば、入力ビデオの1つまたは複数のフレーム)をさらに処理するために、特徴抽出モデル108からのどのモデルを使用するかを決定するために使用され得、そこで、ビデオの各部分は、ビデオの他の部分とは別個の分類を受信することができる。一例として、ビデオの最初の90フレームは、静的なシーンを含んでいることがあり、アクションが、ビデオの最後の150フレームの間にビデオ内で開始することがある。そのような例では、モデル決定エンジン106は、(モデル決定エンジン106によって決定された1つまたは複数の分類に基づいて)最初の90フレームを処理するために、2D CNNを使用することを決定することができ、最後の150フレームを処理するために、3D CNNを使用することを決定することができる。いくつかの例では、モデル決定エンジン106によって出力された分類は、記憶デバイス104に記憶され得る。
いくつかの例では、分類を生成することに加えて、モデル決定エンジン106はまた、入力ビデオまたはビデオ部分に基づいて、特徴を生成することもできる。たとえば、モデル決定エンジン106は、入力ビデオから特徴を生成する2D CNNを含み得る。特徴は、後でモデル決定エンジン106の層(たとえば、全結合層または他の層)に入力されて、(たとえば、上記で説明したように、入力ビデオまたはその部分を処理するために、どの特徴抽出モデル108が使用されるべきであるかを示す)分類が生成され得る。いくつかの例では、モデル決定エンジン106内で生成された特徴はまた、記憶デバイス104に記憶され得る。モデル決定エンジン106によって生成された特徴は、追加の処理のために補助モデル110のうちの1つもしくは複数によって入力として使用され得るか、または出力分類器112において、ビデオを分類するために直接使用され得る。いくつかの例では、モデル決定エンジン106によって生成された特徴は、記憶デバイス104に記憶され得る。
特徴抽出モデル108は、入力ビデオまたはビデオ部分に関連付けられた特徴を学習するようにトレーニングされ得る。いくつかの例では、特徴抽出モデル108は、モデル決定エンジン106がそこから選択することができる少なくとも2つの特徴抽出モデルを含み得る。いくつかの例では、特徴抽出モデル108は、異なるニューラルネットワークアーキテクチャを使用してビデオデータから特徴を抽出する、異なるニューラルネットワークバックボーンを各々有することができる。たとえば、特徴抽出モデル108からのある特徴抽出モデルは、個々のビデオフレーム(または、ビデオの一部でない画像)から空間特徴を抽出するようにトレーニングされ得る2D CNNを含み得る。特徴抽出モデル108からの別の特徴抽出モデルは、フレームのシーケンスから空間特徴と時間特徴の両方を抽出するようにトレーニングされ得る3D CNNを含み得る。いくつかの例では、3D CNNは、3D CNNによって生成された特徴のための時間分解能と計算コストとの間の所望のトレードオフをもたらす、3つのフレーム、5つのフレーム、または任意の他の数のフレームを含むビデオの一部分にわたる畳み込みを実行することによって、空間特徴および時間特徴を生成するようにトレーニングされ得る。場合によっては、特徴抽出モデル108からの別の特徴抽出モデルは、入力ビデオに関連付けられたオーディオ情報から特徴を抽出するようにトレーニングされ得るオーディオモデルであり得る。特徴抽出モデル108からの別の特徴抽出モデルは、複数のビデオフレームにわたって物体または特徴(たとえば、エッジ、形状)の動きを検出するようにトレーニングされ得るオプティカルフローモデルを含み得る。いくつかの例では、特徴抽出モデル108からの2つ以上の特徴抽出モデルは、同様のモダリティ(たとえば、2D CNN、3D CNN、または他のCNN)を使用するが、異なるアーキテクチャとともに動作することができる。異なるアーキテクチャは、異なる計算コストを有し得る。たとえば、特徴抽出モデル108のうちの2つは、両方とも2D CNNアーキテクチャを含むことがあり、そこで、2D CNNのうちの第1のものが、第2の2D CNNに対して、空間特徴を生成する際により低い精度を有するが、より低い計算コストも有する。特徴抽出モデル108は、入力ビデオを分類するために後で使用され得る特徴を抽出するために使用され得る。特徴抽出モデル108をトレーニングする例が、以下で提供される。
(特徴抽出モデル108がトレーニングされた後の)推論の間に、(たとえば、モデル決定エンジン106によって選択された)選択された特徴抽出モデル108は、ビデオレトリーバ102、記憶デバイス104、および/またはモデル決定エンジン106から、1つまたは複数のフレームを受信することができる。選択される特徴抽出モデル108は、上記で説明したように、モデル決定エンジン106によって生成された分類に基づいて活性化され得る。いくつかの例では、モデル決定エンジン106は、(たとえば、選択された特徴抽出モデル108に開始するように命令するコマンドまたは信号を送ることによって)選択された特徴抽出モデル108を直接活性化することができる。いくつかの例では、特徴抽出モデル108は、モデル決定エンジン106から(たとえば、モデル決定エンジン106から直接、記憶デバイス104からなど)出力された分類を取り出すことができる。選択された特徴抽出モデル108によって抽出された特徴は、補助モデル110への入力として提供され得る。
モデル決定エンジン106によって選択されたモデルのタイプに応じて、選択された特徴抽出モデル108は、1つもしくは複数のフレームのうちの各フレームを連続的に(たとえば、一度に1つのフレーム)、または複数のフレームを同時に処理することができる。たとえば、2D CNNが特徴抽出モデル108から選択されるとき、2D CNNは、各フレームから(たとえば、そのフレームを個々に処理することに基づいて)空間特徴を抽出することができる。別の例では、3D CNNが特徴抽出モデル108から選択されるとき、3D CNNは、複数の連続フレームから(たとえば、複数のフレームを同時に処理することに基づいて)空間特徴および時間特徴を抽出することができる。場合によっては、2D CNNを選択することが好ましい場合がある。たとえば、2D CNNは、3D CNNまたは他のモデルと比較して、(たとえば、モデルを使用して特徴を生成するために必要とされる浮動小数点演算(FLOP)の数によって測定される)比較的低い計算コストを有し得る。いくつかの例では、2D CNNと3D CNNとの間の計算コストの比は、3D CNNによって同時に処理されるビデオフレームの数Kの関数であり得、ただし、Kは、時間次元における3D CNNカーネルの深度に等しくなり得る。場合によっては、3D CNNを選択することが好ましい場合がある。たとえば、3D CNNは、特定のビデオまたはビデオの部分内のアクションを理解するための強い時間バイアスを提供することができる。一例では、2D CNNは、分析されているビデオまたはビデオの部分が(たとえば、壁掛けカメラからの)静的なシーンを示し、シーン内で動きがほとんどまたはまったくないとき、モデル決定エンジン106によって選択され得る。そのような例では、モデル決定エンジン106は、ビデオの特性(たとえば、静的なシーン)が、2D CNNがビデオのために使用されるべきであるようなものであると決定することができる。別の例では、3D CNNは、分析されているビデオまたはビデオの部分が動的なシーン(たとえば、スポーツイベントなど、移動する物体を含む、静的なまたは移動するカメラによって撮影されたシーン)を示すとき、モデル決定エンジン106によって選択され得る。そのような例では、モデル決定エンジン106は、ビデオの特性(たとえば、シーン内の動き)が、3D CNNがビデオのために使用されるべきであるようなものであると決定することができる。同時に複数のフレームにわたって、ビデオデータから特徴を抽出することによって、アクションを検出するための3D CNNの能力によって、一度に1つのフレームからしか特徴を抽出することができない2D CNNと比較して、ビデオコンテンツのより正確な理解を生じることができる。
場合によっては、特徴抽出モデル108からの特徴抽出モデルの出力は、各フレームから、またはフレームのシーケンスから抽出された特徴を表す特徴ベクトル(または他の特徴表現)を含み得る。場合によっては、単一の特徴ベクトルが1つの入力フレームから抽出され得、特徴ベクトルがその入力フレームの特徴を表す(たとえば、フレームごとに空間特徴を生成する2D CNNの場合)。入力フレームから抽出された(たとえば、特徴ベクトルとして表された)特徴は、入力フレーム内に含まれている情報を含む、フレームの表現を提供する。場合によっては、単一の特徴ベクトルが複数の入力フレームから抽出され得、特徴ベクトルが、複数の入力フレームの特徴に関連付けられたすべての情報を含んでいる(たとえば、複数のフレームにわたって空間特徴および時間特徴を生成する、3D CNNまたはオプティカルフローネットワークの場合)。例示的な一例では、特徴抽出モデルによってフレームごとに、または複数のフレームについて生成された特徴ベクトルは、1×2048ベクトル(特徴ベクトルが、2048個の値の長さをもつ1次元の特徴ベクトルであることを示す)であり得る。いくつかの例では、記憶デバイス104は、(たとえば、各フレームまたはフレームのグループについて抽出された特徴ベクトルを記憶することによって)特徴抽出モデル108によって入力ビデオまたはビデオ部分から抽出された特徴を記憶するために使用され得る。場合によっては、テンソルまたは他の表現など、特徴ベクトル以外の特徴表現が使用され得る。
補助モデル110は、ビデオを分類するために使用され得る追加の情報を用いて、特徴抽出モデル108によって抽出された特徴を補うようにトレーニングされ得る。(たとえば、補助モデル110がトレーニングされた後の)推論の間に、補助モデル110は、特徴抽出モデル108によって出力された特徴を受信することができ、さらなる処理を提供することができる。いくつかの例では、全結合層(図示せず)が、特徴抽出モデル108と補助モデル110との間に含まれ得る。一例では、上述のように、2D CNNを利用する特徴抽出モデルは、生成する特徴において強い空間バイアスを有することができるが、複数のフレームにわたるいかなる時間情報も含んでいないことがあり、その理由は、2D CNNが一度にビデオの単一のフレームにおいてのみ動作するからである。いくつかの例では、複数のフレームにわたる時間情報を生成するために、補助モデル110からの補助モデルが、複数のフレームについて2D CNNによって生成された特徴に適用され得る。一例では、補助モデルは、複数のフレームのための時間情報を生成するために、複数のフレームについて(特徴抽出モデル108から選択された)2D CNNによって生成された特徴に適用され得る、1D畳み込みニューラルネットワークを含み得る。(補助モデルの例としての)1D畳み込みニューラルネットワークの例示的な例について、以下で図2A~図2Dに関して以下で説明する。
図2A~図2Cは、図1の全体論的ビデオ理解システム100において特徴抽出モデル108によって生成された特徴に適用される補助モデル110として使用され得る、例示的な畳み込み演算を示す。図2A~図2Cは、図1に関して上記で説明したように、2D CNN特徴抽出モデルによって出力された5つの連続フレームからの5つの1×2048特徴ベクトルの合成を含む、(図2Aにおける)合成特徴ベクトル210、(図2Bにおける)合成特徴ベクトル212、および(図2Cにおける)合成特徴ベクトル214を含む、合成特徴ベクトルを示す。得られた合成特徴ベクトル210、212、および214は、5×2048の次元を各々有する(各合成特徴ベクトル210、212、および214が、2D CNNから出力された5つの連続フレームからの特徴を含むことを示す)。図2A~図2Cの図示の例では、合成特徴ベクトル210、212、および214における各キューブ(色が黒か白かにかかわらず)は、合成特徴ベクトルの1つの値を表す。図2A~図2Dの合成特徴ベクトル210、212、214、および216のキューブにおける黒い陰影は、合成特徴ベクトルに適用され得る異なる畳み込みフィルタを示す(ここで、畳み込みフィルタは、経時的にデータにわたって移動する)。図2Aの例では、選択された畳み込みフィルタ211は、時間次元におけるすべての5つの値にわたって、かつ(矢印221によって示された方向の)3つのチャネルにわたって広がる、5×3カーネルである。図2Aの例では、カーネルは、畳み込みを実行するために、(矢印221によって示されるように)チャネル次元に沿って移動する。
図2Bの例では、選択された畳み込みフィルタ213は、時間次元における3つの値およびチャネル次元における1つの値にわたって広がる、3×1カーネルである。3×1カーネルは、(チャネル次元における矢印223および時間次元における矢印225によって示されるように)時間次元とチャネル次元の両方に沿って移動する。場合によっては、3×1カーネルは、最初に各チャネルのための時間次元において、時間次元において一度に1つの「列」(1のストライド値に対応する)だけ移動して、第1のチャネルのための3つの新しい畳み込み出力値を生成する。場合によっては、次いで、3×1カーネルは、合成特徴ベクトルのチャネル次元における次の「行」(1のストライド値に対応する)に移動する。次いで、3×1カーネルは、時間次元において移動する3つの畳み込みを繰り返して、第2のチャネルのための3つの追加の新しい畳み込み出力値を生成することができる。いくつかの例では、このプロセスは、チャネル次元における「行」ごとに繰り返して、3×2048畳み込み出力を生成することができる。場合によっては、追加のニューラルネットワーク層が、3×2048畳み込み出力から1×2048出力を生成するために使用され得る。例示的な一例では、一度に1つの「行」(1のストライド値に対応する)だけチャネル次元に沿って移動する、(たとえば、3×1カーネルを使用する)追加の畳み込みが、3×2048畳み込み出力に適用されて、1×2048合成特徴ベクトルを生じることができる。図2Bに示された畳み込みフィルタは、カーネルが時間次元とチャネル次元の両方に沿って移動するので、2D畳み込みと見なされ得る。
図2Cの例では、選択された畳み込みフィルタ215は、時間次元における3つの値およびチャネル次元におけるすべての2048個の値にわたって広がる、3×2048フィルタカーネルである。第1の3×2048カーネルは、一度に1つのキューブ、一度に2つのキューブなど、(矢印227によって示されるように)時間次元に沿って移動する。例示的な一例では、第1の3×2048カーネルは、第1の位置における3×2048個の特徴の畳み込みに基づいて、第1の畳み込み出力値を作成する。そのような例では、第1の3×2048カーネルは、一度に1つの「列」だけ時間次元において移動し、合計3×1個の畳み込み出力値のための2つの追加の値を生成することができる。そのような例では、このプロセスが、2047個の追加の3×2048カーネルを用いて繰り返されて、3×2048合成畳み込み出力ベクトルが生成され得る。いくつかの例では、追加のニューラルネットワーク層(たとえば、畳み込み層)が、3×2048畳み込み出力から1×2048出力を生成するために使用され得る。いくつかの実装形態では、図2Cに記載された畳み込みフィルタ215は、データの時間次元中に存在する合成特徴ベクトル214からの再発パターンをキャプチャするために使用され得る。図2Cに示された畳み込みは、各カーネルが時間次元のみに沿って移動するので、1D畳み込みと見なされ得る。
図2Dは、図2Aに示された1D畳み込みの出力の一例を示す。畳み込みフィルタ211(合成特徴ベクトル210における黒いキューブによって示される)は、次元1×2048の新しい特徴ベクトル216を生成するために使用され得る。図示のように、新しい特徴ベクトル216の第1の要素(黒いキューブ217によって示される)は、合成特徴ベクトル210の(時間次元における)最初の3つの「行」に適用された5×3畳み込みフィルタカーネルに基づいて生成される。同様に、新しい特徴ベクトル216の第2の要素は、5×3畳み込みフィルタを(たとえば、矢印221の方向に沿って)1行だけ進めること、および合成特徴ベクトル210のそれぞれの要素に畳み込みを適用することによって生成され得る。フィルタカーネルが(矢印221によって示されるように)チャネル次元において移動するにつれて、新しい特徴ベクトル216の各後続の要素が、5×3畳み込みフィルタを適用することに基づいて生成され得る。得られた新しい特徴ベクトル216は、上述のように、次元1×2048を有することができ、ここで、新しい特徴ベクトル216の各要素が、合成特徴ベクトル210に適用された畳み込みフィルタの結果を表す。この技法を使用して、複数のフレームからの特徴を合成することによって、いかなる時間情報もなしに、元の特徴が個々のフレームから抽出されるにもかかわらず、特徴についての時間情報が生成され得る。そのような技法は、3次元畳み込みを実行する全計算コストを招くことなしに、入力ビデオのより全体論的な理解のための時間情報を含める利点を提供する。
図2A~図2Dに関する上記の例は、合成特徴ベクトルが2D CNNから出力されることに関して説明されているが、図2A~図2Dに記載されている畳み込みフィルタは、特徴ベクトルが生じるニューラルネットワークのタイプにかかわらず、任意の特徴ベクトルに適用され得ることを理解されたい。加えて、図2A~図2Cの例は、5×2048の次元を有する合成特徴ベクトルを示すが、記載されているフィルタが異なる次元を有する特徴ベクトルに適用され得ることは、当業者には理解されよう。たとえば、特徴データの3つのフレームのみを表す合成特徴ベクトルは、3×2048の次元を有し得る。別の例では、特徴データの5つのフレームを表す合成特徴ベクトルは、1024個の特徴など、より少ない特徴を有する場合があり、その場合の合成特徴ベクトルは、5×1024の次元を有し得る。
図1に戻ると、追加の補助モデル110は、上述のように、特徴抽出モデル108からの特徴をさらに処理するために提供され得る。いくつかの例では、特徴抽出モデル108によって生成された特徴に適用される(補助モデル110からの)補助モデルは、特徴抽出モデル108の出力に追加の帰納バイアスを適用しないことがある。たとえば、図2Dに関して上記で説明したように、(補助モデル110から選択された)1D畳み込み補助モデルは、ビデオが動きを含んでいない(たとえば、静的なシーン)か、または3D CNNの増大する計算量から利益を得るために十分でない少量の動きを含んでいるとき、(特徴抽出モデル108からの)2D CNN特徴抽出モデルによって抽出されたビデオの特徴に基づいて、ビデオのための時間情報を生成するために使用され得る。一例として、分析するためのシーン内に物体または人々の時々の移動があり得る、固定ロケーションに向けられたIPカメラからのシーンなど、入力ビデオが静的なシーンを含んでいるとき、1D畳み込み補助モデルが選択され得る。そのような手法は、計算量を低減することができ、その理由は、著しくより多くのデータを処理することが必要になり得る、(たとえば、3D CNNを用いて)ビデオフレームから直接、空間情報および時間情報を同時に抽出することではなく、2D CNNによって抽出されたビデオフレームの空間特徴から、時間情報が処理され得るからである。
補助モデルの別の例は、非ローカルモデル(アテンションモデルまたは非ローカルアテンションモデルとも呼ばれる)である。非ローカルモデルは、各ビデオフレームからの特徴を、ビデオフレームのセット中の1つまたは複数の他のビデオフレーム(たとえば、1つおきのビデオフレーム)からの特徴と比較することによって、2D CNN特徴抽出モデルによって抽出された特徴から時間情報を抽出することができる。たとえば、5つのビデオフレームのセットの場合、第1のフレーム特徴が、第2、第3、第4、および第5のフレームの各々の特徴と別個に比較されて、遠く離れたフレーム(たとえば、第1および第5のフレーム、第1および第4のフレーム、第2および第5のフレーム、第2および第4のフレームなど)内のイベントまたはアクションが関係付けられるか否かが決定され得る。多数のフレームの場合、非ローカル補助モデルによる比較の数が大きくなり得る。非ローカルモデルの利益は、密接にグループ化されたフレーム(たとえば、連続フレーム)からの情報のみを分析するモデルによって検出されない関係を検出することができることである。たとえば、1D畳み込み補助モデルとは対照的に、非ローカルモデルの帰納バイアスは、関係付けられたアクションが時間的に一緒にグループ化されるようになることを必ずしも仮定するとは限らない。ビデオにおけるこれらのタイプの非ローカル関係を決定しようと試みることによって、全体論的ビデオ理解システム100は、ビデオ内のより幅広い範囲にわたる(たとえば、時間的に分離されているより多くのフレームにわたる)特性を分析するための能力に基づいて、より全体論的になり得る。非ローカル補助モデル110が有用であり得る例示的な一例は、ドミノが倒れるビデオであり、ここで、最初のフレーム内でドミノが倒れる影響は、多数のフレーム後まで、最後のドミノにおいて見られないことがある。最初のドミノが倒れることと、最後のドミノが倒れることとの間の関係は、1D畳み込みによって補われた3D CNNまたは2D CNNによって検出されないことがあるが、非ローカルモデルによって補われた2D CNNによって検出され得る。
2D CNN特徴抽出モデル108によって抽出された特徴に適用され得る別の例示的な補助モデルは、グラフ畳み込みネットワークである。いくつかの例では、グラフ畳み込みネットワークは、分類器112によって適用されることになる最後の分類器の知識を利用して、特徴抽出モデルから(特徴抽出モデル108から)の特徴をいくつかの概念に関係付けるために、(補助モデル110のうちの)補助モデルとして使用され得る。いくつかの例では、グラフ畳み込みネットワークは、受信する特徴に、概念または関係バイアスを適用する。一例では、グラフ畳み込みネットワークは、特徴抽出モデルによって生成された特徴(たとえば、ボール、子供、草など)の存在に基づいて、分類「サッカーをする子供」がビデオまたはビデオ部分に適用されると推論することが可能であり得る。いくつかの実装形態では、このことは、特徴を概念および/または出力分類器または分類に関係付けることによって行われ得る。場合によっては、補助モデルは、特徴抽出モデルによって生成された特徴に、いかなる追加の帰納バイアスも適用しないことがある。たとえば、補助モデルは、特徴抽出モデルによって生成された特徴を、出力分類器112が分類するようにトレーニングされるクラスのうちの1つに接続する目的に役立ち得る。特徴抽出モデル108からの特徴抽出モデルが3D CNNである、例示的な一例では、補助モデル110は、多層パーセプトロン(MLP)または全結合層であり得る。たとえば、モデル決定エンジン106は、ビデオまたはビデオ部分が大量の動きを含んでいること(たとえば、カメラも動いているスポーツイベントのビデオ)に基づいて、MLP補助モデル110とともに特徴抽出モデル108から3D CNNを選択し得る。いくつかの例では、補助モデル110の出力は、記憶デバイス104に記憶され得る。
出力分類器112は、1つまたは複数の分類を用いて、入力ビデオまたはビデオ部分(あるいは、入力ビデオまたはビデオ部分に関連付けられた特徴)を分類するようにトレーニングされ得る。例示的なビデオおよび分類ラベルを含むトレーニングデータセットが、図10および図11に関して説明する技法などを使用して、出力分類器112をトレーニングするために使用され得る。(たとえば、出力分類器112がトレーニングされた後の)推論の間に、出力分類器112は、補助モデル110から出力を受信することができ、出力を使用して、入力ビデオまたはビデオ部分を分類することができる。例示的な分類は、「ピアノを演奏すること」、「サッカーをする子供」、および出力分類器112が分類するようにトレーニングされる任意の他の分類を含み得る。
場合によっては、モデル決定エンジン106と、特徴抽出モデル108と、補助モデル110と、出力分類器112とを含むシステムは、単一のエンドツーエンドトレーニングシーケンスにおいてトレーニングされ得る。エンドツーエンドトレーニングシーケンスの一実装形態では、ガンベルソフトマックス層(Gumbel Softmax layer)(ガンベル層(Gumbel layer)とも呼ばれる)が、エンドツーエンドトレーニングを容易にすることができる。ガンベル層は、バックプロパゲーショントレーニングプロセスが実行され得るように、依然として微分可能でありながら、モデル決定エンジン106が離散決定を行うことを可能にすることができる。いくつかの例では、バックプロパゲーショントレーニングプロセスは、ニューラルネットワークの各々のノード(たとえば、モデル決定エンジン106、特徴抽出モデル108、補助モデル110、および出力分類器112)の重み(および場合によっては、バイアスなどの他のパラメータ)を調節するために実行され得る。図10に関してより詳細に説明するように、バックプロパゲーションは、フォワードパス、損失関数、バックワードパス、および重み更新を含み得る。フォワードパス、損失関数、バックワードパス、およびパラメータ更新は、各トレーニング反復について(たとえば、トレーニングセットからのデータの各バッチについて、またはトレーニングデータセット全体について)実行され得る。バックプロパゲーションプロセスは、モデル決定エンジン106、特徴抽出モデル108、補助モデル110、および出力分類器112のパラメータの重みが正確に調整されるまで、トレーニングデータの各セットについて、一定数の反復にわたって繰り返され得る。いくつかの例では、エンドツーエンドトレーニングプロセスにおいて使用される損失関数は、クロスエントロピー(CE)損失、バイナリクロスエントロピー(BCE)損失、FLOP損失、一様損失、それらの任意の組合せ、または任意の他の好適な損失関数を含み得る。いくつかの例では、エンドツーエンドトレーニングプロセスにおいて使用される損失関数は、複数の損失関数の重み付けされた組合せ(たとえば、異なる重み付けを伴うBCE損失およびFLOP損失の組合せ)を含み得る。
場合によっては、全体論的ビデオ理解システム100全体とともにエンドツーエンドトレーニングプロセスを使用して、モデル決定エンジン106をトレーニングすることは、困難であり得る。たとえば、モデル決定エンジン106は、特徴抽出モデル108、補助モデル110、および分類器112の過去の統計量に基づいて、どのモデルを選択するかを予測することができ、これらのモデルは、トレーニングのエンドツーエンドの性質の結果として、トレーニングの各反復の間に変化する。いくつかの例では、全体論的ビデオ理解システム100をエンドツーエンドでトレーニングするのではなく、3段階トレーニングプロセスが利用され得る。たとえば、3段階トレーニングプロセスの第1の段階の間に、特徴抽出モデル108がトレーニングされ得る。上記で説明したエンドツーエンドトレーニングプロセスと同様に、特徴抽出モデル108の各々のノードの重み(および場合によっては、バイアスなどの他のパラメータ)を調節するために、バックプロパゲーショントレーニングプロセスが実行され得る。損失関数は、(たとえば、トレーニングデータに関連付けられたグランドトゥルースラベルに基づいて)既知の出力またはグランドトゥルースに対する、特徴抽出モデル108の出力における誤差を分析するために使用され得る。例示的な一例では、クロスエントロピー損失関数が使用され得る。場合によっては、他の損失関数が使用され得る。特徴抽出モデル108をトレーニングした後、特徴抽出モデル108の重み(および場合によっては、バイアスなどの他のパラメータ)が、固定(または「凍結」)され得る。
いくつかの例では、補助モデル110は、トレーニングされた特徴抽出モデル108によって抽出された特徴を使用して、3段階トレーニングプロセスの第2の段階においてトレーニングされ得る。場合によっては、補助モデルは、特徴抽出モデル108について説明したプロセスと同様のバックプロパゲーショントレーニングプロセスを使用してトレーニングされ得る。トレーニング後、補助モデル110の重み(および場合によっては、バイアスなどの他のパラメータ)が、固定または凍結され得る。いくつかの例では、モデル決定エンジン106は、特徴抽出モデル108および補助モデル110がトレーニングされた後、3段階トレーニングプロセスの最後の段階においてトレーニングされ得る。場合によっては、3段階トレーニングプロセスの間に、モデル決定エンジン106は、固定されたモデル(たとえば、特徴抽出モデル108および補助モデル110)のセットの中の1つまたは複数のどのモデルが、入力ビデオまたはビデオ部分を処理するために選択されるべきであるかを学習するようにトレーニングされ得る。いくつかの例では、同じデータセットが、3段階トレーニングプロセスのすべての3つのトレーニング段階のために使用され得る。モデル決定エンジン106をトレーニングするために使用され得る例示的な損失関数を含む、全体論的ビデオ理解システムをトレーニングする追加の詳細が、以下の図3の説明に関して提供される。
図3は、全体論的ビデオ理解システム300の別の例を示す図である。図示のように、全体論的ビデオ理解システム300の構成要素は、モデル決定エンジン306と、ビデオ処理モデル313A、313B~313Mと、分類器312とを含む。図3の全体論的ビデオ理解システム300の1つまたは複数の構成要素は、図1の全体論的ビデオ理解システム100の構成要素と同様であり得、それらの構成要素のような同様の動作を実行することができる。たとえば、モデル決定エンジン306および分類器312は、図1のモデル決定エンジン106および出力分類器112と同様であり得、同様の動作を実行することができる。ビデオ処理モデル313A、313B~313Mは、図1の特徴抽出モデル108の例である。
いくつかの例では、モデル決定エンジン306は、入力ビデオ302またはビデオ部分(以下で説明するビデオクリップυij)を処理するために、ビデオ処理モデル313A、313B~313Mからの1つまたは複数のどのモデルを使用するかを決定するようにトレーニングされ得る。場合によっては、モデル決定エンジン306は、入力ビデオ302を処理する際のビデオ処理モデル313A、313B~313Mの計算効率および精度の組合せに基づいて、1つまたは複数のどのモデルを使用するかを決定するようにトレーニングされ得る。いくつかの例では、モデル決定エンジン306は、ビデオ処理モデル313A、313B~313Mの数に等しいN個のクラスを分類するようにトレーニングされた、分類ニューラルネットワークを含み得る。たとえば、モデル決定エンジン306は、ビデオデータを処理することができ、ビデオデータを処理することに基づいて、N個のクラスのための確率を決定することができる。モデル決定エンジン306は、N個のクラスの中から最高確率値を有するクラスに関連付けられるビデオ処理モデルを(ビデオ処理モデル313A、313B~313Mから)選択することができる。いくつかの例では、モデル決定エンジン306のニューラルネットワークは、入力ビデオ302またはビデオ部分から1つまたは複数の特徴ベクトルを生成する内部層を含み得る。場合によっては、モデル決定エンジン306のニューラルネットワークは、1つまたは複数の特徴ベクトルの特徴をN個のクラスに合成する全結合層をさらに含み得る。
(モデル決定エンジン306がトレーニングされた後の)推論の間に、モデル決定エンジン306は、入力ビデオ302またはビデオ部分を処理するために、ビデオ処理モデル313A、313B~313Mのうちのどの1つまたは複数を使用するかを決定することができる。再び図1を参照すると、いくつかの実装形態では、モデル決定エンジン306は、ビデオレトリーバ102から、および/または記憶デバイス104から、入力ビデオ302またはビデオ部分を受信することができる。いくつかの例では、入力ビデオは、J個の等しいサイズの部分vijに分解され得る。再び図1を参照すると、場合によっては、ビデオ処理モデル313A、313B~313Mは、(特徴抽出モデル108からの)1つの特徴抽出モデルと、(補助モデル110からの)対応する補助モデルとを各々含み得る。上述のように、入力ビデオ302またはビデオ部分を処理することに基づいて、モデル決定エンジン306は、(たとえば、精度および計算量の組合せに基づいて)ビデオ処理モデル313A、313B~313Mの各利用可能なモデルが特定の入力ビデオ302またはビデオ部分のための最良の出力を生じるようになる確率を表す分類(たとえば、N個のクラス)を生成することができる。いくつかの例では、モデル決定エンジン306は、入力ビデオ302またはビデオ部分を処理するために、単一のビデオ処理モデル(たとえば、N個のクラスの中で最高確率を有するクラスに関連付けられたビデオ処理モデル)を選択することができる。場合によっては、モデル決定エンジン306によって生じた分類は、ワンホット表現であり得、そこで、選択されたモデルは1の値を有し、選択されないモデルは0の値を有する。例示的な一例では、2つのビデオ処理モデルを含む全体論的ビデオ理解システム300の場合、分類ベクトル[1 0]は、モデル決定エンジン306が入力ビデオ302またはビデオ部分vijを処理するために、ビデオ処理モデル313A、313B~313Mから最初のビデオ処理モデルを選択したことを示すことができる。
いくつかの例では、モデル決定エンジン306は、入力ビデオ302を処理するために、ビデオ処理モデル313A、313B~313Mから2つ以上のビデオ処理モデルを選択することができる。たとえば、モデル決定エンジン306は、ビデオ処理モデル313A、313B~313Mからの明らかな最良選定モデルがないとき、入力ビデオ302またはビデオ部分を処理するために、2つ以上のビデオ処理モデルを選択することができる。いくつかの例では、ビデオ処理モデル313A、313B~313Mからの2つ以上の選択されたビデオ処理モデルの出力は、分類器312による入力ビデオ302またはビデオ部分の最後の分類の前に合成され得る。例示的な一例では、2つの選択されたモデルの出力は、平均化によって合成され得る。場合によっては、分類器312は、ビデオ処理モデル313A、313B~313Mからの選択されたビデオ処理モデルの出力(または、2つ以上の選択されたビデオ処理モデルからの合成された出力)を受信することができる。出力を使用して、分類器312は、入力ビデオ302またはビデオ部分を分類することができる。例示的な分類は、「ピアノを演奏すること」、「サッカーをする子供」、「サンドイッチを作ること」、および「クラシック音楽を聴くこと」を含む。図1を参照すると、記憶デバイス104は、ビデオ処理モデル313A、313B~313Mからの選択されたビデオ処理モデル(または複数のモデル)によって、ビデオ302のフレームから抽出された特徴を記憶するために使用され得る。
図3の全体論的ビデオ理解システム300のためのトレーニングプロセスの例示的な一例では、V個のビデオを含んでいるデータセットDが、トレーニングプロセスのために使用され得る。データセットDについて、υij(図3における入力ビデオ302に対応し得る)は、ビデオVからのビデオ(ここで、このビデオはυi∈Vとして表される)のJ個の均一に離間した(かつ潜在的に重複する)クリップを表す。ビデオクリップυijは、全体論的ビデオ理解システム300によって処理され得る入力ビデオ302の部分の一例として使用される(たとえば、各ビデオクリップυijが一部分を含む)。φmという項は、モデル決定エンジン306による選択のために利用可能であるニューラルネットワーク(たとえば、図3におけるビデオ処理モデル313A、313B~313M)を表す。特定のビデオクリップυijについて、(ビデオ処理モデル313A、313B~313Mから)選択されたニューラルネットワークは、予測
を提供することができる。場合によっては、各個々のニューラルネットワークφmが、次のようにクロスエントロピー(CE)損失を用いて別個にトレーニングされ得る。
ただし、
は期待値であり、損失関数は、すべてのクリップυijおよび関連付けられたラベルyiについて、データセットDにわたって反復的に評価される。場合によっては、バイナリクロスエントロピー(BCE)損失関数が、各個々のニューラルネットワークφmをトレーニングするために使用され得る。いくつかの態様では、BCE損失関数は、複数の分類ラベルを単一のビデオに適用するように、ニューラルネットワークφmをトレーニングするために使用され得る。
例示的な一例では、すべてのモデルφmは、1e-4の初期学習率を有するAdamオプティマイザとともに、10個のエポックについてトレーニングされ得る。エポックは、所与のモデルを通したデータセット全体の1つのパスである。そのような例では、モデルφmは、それぞれ、エポック2およびエポック7において1e-5および1e-6まで調整され得る。例示的な一例では、ビデオクリップυijの入力解像度は、上記で説明したように、入力ビデオ302の最小寸法を224にリサイズし、中心クロップを抽出した後、224×224である。例示的な例では、トレーニングの間に、各ビデオ処理モデル313A~313Mは、特定のデータセットのクラスへの、(p=0.5)であるドロップアウト層および線形層を含む分類層で終了することができる。
上記で説明したように、3段階トレーニングプロセスでは、特徴抽出モデル108が、第1の段階において個々にトレーニングされ得る。個々の特徴抽出モデル108がトレーニングされると、補助モデル110が、第2の段階において、固定または凍結された重みとともに、トレーニングされた特徴抽出モデル108を使用してトレーニングされ得る。図3に戻ると、いくつかの例では、ビデオ処理モデル313A、313B~313Mは、図1において説明したような、特徴抽出モデル108と補助モデル110の両方を組み込むことができる。そのような例では、第1のトレーニング段階は、特徴抽出モデルに適用され得、第2のトレーニング段階は、上記で説明したクロスエントロピー損失を使用して、ビデオ処理モデル313内に組み込まれた補助モデルに適用され得る。第3の段階において、モデル決定エンジン306は、どのニューラルネットワーク(たとえば、ビデオ処理モデル313A、313B~313Mのうちのどれ)を特定のビデオクリップに適用するかを予測するようにトレーニングされ得る。モデル決定エンジン306は、関数π(υij)によって数学的に表され得る。いくつかの実装形態では、モデル決定エンジン306は、ビデオまたはビデオ部分を処理するために、どのモデルを使用するかを選定し、ここで、決定エンジン306の選定は、aij=π(υij)によって定義され得る。決定エンジン306の選定aij(たとえば、選択されたモデルm)からの予測
は、以下によって表され得る。
ただし、
は、インジケータ関数であり、φmij)は、モデルmの出力分類である。
モデル決定エンジン306のためのグランドトゥルースラベルyiは、データセットDのビデオクリップυijをニューラルネットワークφmに通すことによって推論され得る。モデル決定エンジン306の精度は、以下のクロスエントロピー(CE)損失関数(ソフトマックス損失とも呼ばれる)によって評価され得る。
いくつかの例では、argmaxmは、最大の負のクロスエントロピーをもつ(ニューラルネットワークφmから選定された)ニューラルネットワークのための値1をもつワンホット表現を返す。
上記のCE損失Lπに加えて、追加の損失関数が、モデル決定エンジン306による決定を最適化するために適用され得る。たとえば、一様損失項も使用され得る。一様損失項は、モデル決定エンジン306に、平均して、以下で表されるように等しい回数で、総数Mの利用可能なニューラルネットワーク(たとえば、図3のビデオ処理モデル313A、313B~313M)の中の各ニューラルネットワークφmを選択させる。
最後に、システム全体の効率を対象とする損失関数が使用され得、そこで、FLOPの総数によって表される計算量の量が最適化され得る。そのような損失関数(FLOP損失と呼ばれる)の一例は、次のようになる。
上記の3つの損失関数を組み合わせる全損失関数が、モデル決定エンジン306をトレーニングするために使用され得る。全損失関数は、次のように数学的に表され得る。
L=Lπ+αLuniform+βLflops
ただし、αおよびβは、全損失関数Lを調整するために適用され得る重みである。たとえば、βを増すと、全損失関数がFLOP損失を考慮に入れる程度を増すことができるが、βを0に設定すると、全損失関数にFLOP損失を無視させることになる。
図4は、全体論的ビデオ理解システム400の一例を示す図である。図示のように、全体論的ビデオ理解システム400の構成要素は、モデル決定エンジン406と、特徴抽出モデル408と、補助モデル410と、分類器412とを含む。図4の例では、特徴抽出モデルは、特徴抽出部分429(場合によっては、モデル決定エンジン406の一部であり得る)と、第1の特徴抽出モデル431と、第2の特徴抽出モデル433とを含む。補助モデル410は、第1の補助モデル435と、第2の補助モデル437と、第3の補助モデル439とを含む。モデル決定エンジン406によって処理される入力ビデオ402は、(たとえば、図1のビデオレトリーバ102および/または記憶デバイス104から取り出された)完全なビデオまたはビデオ部分であり得る。
図4の全体論的ビデオ理解システム400の1つまたは複数の構成要素は、図1の全体論的ビデオ理解システム100、および/または本明細書で説明する全体論的ビデオ理解システムの他の例のいずれかの構成要素と同様であり得、それらの構成要素のような同様の動作を実行することができる。たとえば、補助モデル410および分類器412は、図1の補助モデル110および出力分類器112と同様であり得、同様の動作を実行することができる。図4の特徴抽出モデル408は、以下で説明することを除いて、図1の全体論的ビデオ理解システムの構成要素と同様であり得、それらの構成要素のような同様の部分を実行することができる。
上記で説明したものと同様に、モデル決定エンジン406は、入力ビデオ402またはビデオ部分を処理するために、特徴抽出モデル408からのどの特徴抽出モデルを使用するかを決定するようにトレーニングされ得る。モデル決定エンジン406はまた、入力ビデオ402またはビデオ部分から特徴を抽出するようにトレーニングされ得る。(たとえば、モデル決定エンジン406がトレーニングされた後の)推論の間に、モデル決定エンジンは、入力ビデオ402またはビデオ部分を処理するために、特徴抽出モデル408からのどの特徴抽出モデルを使用するかを決定する、分類プロセスにおけるステップとして、入力ビデオ402またはビデオ部分から特徴を抽出することができる。いくつかの例では、モデル決定エンジン406は、特徴抽出モデル408からの所与のモデルによって生成された特徴が、特徴抽出モデル408の他のモデルからの特徴と比較したとき、最良の所望の成果(たとえば、精度および計算量の最良の組合せ)を提供すると決定することができる。上述のように、いくつかの実装形態では、特徴抽出部分429は、モデル決定エンジン406の一部であり得、特徴抽出モデル408のうちの1つと見なされ得る。図4に示されているように、モデル決定エンジン406の特徴抽出部分429を含む、各特徴抽出モデル408は、図1に関して上記で説明したように、補助モデル410に関連付けられ得る。
全体論的ビデオ理解システム400の例示的な一例では、モデル決定エンジン406は、MobilenetV2ニューラルネットワークを含み、モデル431は、Resnet-50ニューラルネットワークを含み、モデル433は、Slowfastニューラルネットワークを含む。そのような例示的な例では、補助モデル435および補助モデル437は、1D畳み込みネットワーク(たとえば、図2Aおよび図2Dに関して上記で説明した1D畳み込みネットワーク)を各々含み得る。同じ例を続けると、補助モデル439はMLPを含み得る。MobileNetV2ネットワークおよびResnet-50ネットワークは、個々のビデオフレームから空間特徴を抽出する2D CNNである。MobileNetV2ネットワークおよびResnet-50ネットワークからの空間特徴は、補助1D畳み込みネットワークからの時間情報で補われ得る。Slowfastネットワークは、複数のビデオフレームの3D畳み込みにおいて空間情報と時間情報の両方を含む特徴を抽出する、3D CNNを含む。そのような例では、MobileNetV2ネットワーク(モデル決定エンジン406)は、最も計算集約的でないことがあり、Resnet-50ネットワーク(モデル431)は、MobileNetV2よりも計算集約的であるが、Slowfastよりも計算集約的でないことがあり、Slowfast(モデル433)は、最も計算集約的であり得る。モデル決定エンジン406が、利用可能な特徴抽出モデル(たとえば、特徴抽出部分429、ならびに第1の特徴抽出モデル431および第2の特徴抽出モデル433)の各々を選択し得る(たとえば、入力ビデオ402またはその部分内のコンテンツのタイプに基づく)状況の例については、図1に関して上記で説明している。
図5は、全体論的ビデオ理解システム500を示す図である。図示のように、全体論的ビデオ理解システム500の構成要素は、モデル決定エンジン506と、特徴抽出モデル508と、補助モデル510と、合成器511と、分類器512とを含む。図5の全体論的ビデオ理解システム500の1つまたは複数の構成要素は、図1の全体論的ビデオ理解システム100、および/または本明細書で説明する全体論的ビデオ理解システムの他の例のいずれかの構成要素と同様であり得、それらの構成要素のような同様の動作を実行することができる。たとえば、特徴抽出モデル508、補助モデル510、および分類器512は、図1の特徴抽出モデル108、補助モデル110、および出力分類器112と同様であり得、同様の動作を実行することができる。入力ビデオ502は、モデル決定エンジン506によって処理され得る。一例として図1を参照すると、入力ビデオ502は、ビデオレトリーバ102から、または記憶デバイス104から取り出され得る。図4に示されているように、例示的な全体論的ビデオ理解システム400は、特徴抽出モデル408と補助モデル410との間の1対1(1:1)の関係を含む。図5の全体論的ビデオ理解システム500は、特徴抽出モデル508の各特徴抽出モデルが補助モデル510と1対多(1:多)または多対多(多:多)の関係を有し得る構成を示す。
いくつかの例では、モデル決定エンジン506は、入力ビデオ502またはビデオ部分を処理するために、どの特徴抽出モデル508が使用されることになるかを決定するようにトレーニングされ得る。モデル決定エンジン506はまた、ターゲット目標を達成するために(特徴抽出モデル508から選択された)特徴抽出モデルによって生成された特徴に、補助モデル510からのどの補助モデルを適用するかを決定するようにトレーニングされ得る。ターゲット目的の一例は、効率と精度との間の最適なバランスを達成することである。いくつかの例では、(補助モデル510から)選択された補助モデルとの(特徴抽出モデル508から)選択された特徴抽出モデルの各ペアリングは、図3のビデオ処理モデル313A、313B~313Mのうちの1つと同様であり得る。
全体論的ビデオ理解システム500は、上記で説明した3ステップトレーニングプロセスを使用してトレーニングされ得る。たとえば、モデル決定エンジン506は、上記で説明したように、特徴抽出モデル508および補助モデル510が(トレーニング後の固定または凍結された重みとともに)トレーニングされた後、第3のステップにおいてトレーニングされ得る。(たとえば、モデル決定エンジン506がトレーニングされた後の)推論の間に、モデル決定エンジン506は、入力ビデオ502またはビデオ部分を処理するために、特徴抽出モデル508からのどの特徴抽出モデル、および補助モデル510からのどの補助モデルが使用されることになるかを、入力ビデオ502または入力ビデオ502の一部分(たとえば、入力ビデオ502のクリップυij)に基づいて決定することができる。
いくつかの実装形態では、モデル決定エンジン506は、補助モデル510からの1つまたは複数の補助モデルとペアにされた単一の特徴抽出モデル508の選択を可能にする分類を出力することができる。一例では、モデル決定エンジンは、特徴抽出モデル508からの特徴抽出モデルの出力を処理するために、O個の(ただし、Oは、1つまたは複数、2つ以上、または他の数である)補助モデルを選択することができる。そのような例では、補助モデル510からのO個の補助モデルの各々は、特徴抽出モデル508からの選択された特徴抽出モデルによって抽出された特徴を受信することができる。O個の補助モデルのうちの各補助モデルは、特徴を処理することができ、出力を生じることができ、O個の補助モデルからO個の合計出力(たとえば、特徴ベクトル)を生じる。いくつかの例では、合成器511は、O個の出力を受信することができ、O個の出力を単一の出力(たとえば、単一の特徴ベクトル)に合成することができる。例示的な一例では、合成器511は、O個の出力を平均して、O個の出力を、入力ビデオ502またはビデオ部分を分類するために分類器512に提供され得る単一の出力に合成することができる。例示的な一例では、合成器511は、O個の出力を連結して、O個の出力を単一の出力に合成することができ、単一の出力が、次いで、入力ビデオ502またはビデオ部分を分類するために分類器512に提供され得る。
図5は、モデル決定エンジン506が特徴抽出モデル508から単一の特徴抽出モデル(たとえば、特徴抽出モデル541)を選択する、例示的な場合を強調している。選択された特徴抽出モデル541からの特徴は、補助モデル510からの2つの選択された補助モデル(たとえば、補助モデル543および補助モデル545)によって受信される。さらに、そのような例示的な例では、選択された補助モデル543の出力547、および選択された補助モデル545の出力549が、合成器511によって受信される。上記で説明したように、合成器511は、(たとえば、出力547および549に関連付けられた特徴ベクトルの値を平均することによって、出力547に関連付けられた特徴ベクトルの値と出力549に関連付けられた特徴ベクトルの値とを連結すること、または他の方法で出力547および549を合成することによって)2つの出力547および549を合成することができる。
いくつかの例では、モデル決定エンジン506は、入力ビデオ502を処理するための(たとえば、単一の補助モデル510とペアにされた単一の特徴抽出モデル508を選択する)ワンホット分類を出力することができる。いくつかの実装形態では、補助モデル510からのただ1つの補助モデルが出力を生じるとき、合成器511は、分類のために分類器512に(出力を変更することなしに)直接、出力を渡すことができる。
図6は、全体論的ビデオ理解システム600の別の例を示す図である。図示のように、全体論的ビデオ理解システム600の構成要素は、モデル決定エンジン606と、特徴抽出モデルと、補助モデル610と、合成器611と、分類器612と、第2の補助モデル決定エンジン651とを含む。図示のように、特徴抽出モデルは、第1の特徴抽出モデル608Aと、第2の特徴抽出モデル608Bとを含む。補助モデル610は、第1の補助モデル653と、第2の補助モデル655と、第3の補助モデル657と、第4の補助モデル659とを含む。図6の全体論的ビデオ理解システム600の1つまたは複数の構成要素は、図1の全体論的ビデオ理解システム100、および/または本明細書で説明する全体論的ビデオ理解システムの他の例のいずれかの構成要素と同様であり得、それらの構成要素のような同様の動作を実行することができる。たとえば、モデル決定エンジン606、特徴抽出モデル608Aおよび608B、補助モデル610、ならびに分類器612は、図1の特徴抽出モデル108、補助モデル110、および出力分類器112と同様であり得、同様の動作を実行することができる。場合によっては、図6の全体論的ビデオ理解システム600の合成器611は、図5の全体論的ビデオ理解システム500の合成器511と同様であり得、同様の動作を実行することができる。
入力ビデオ602は、モデル決定エンジン606によって処理され得る。一例として図1を参照すると、入力ビデオ602またはビデオ部分は、ビデオレトリーバ102または記憶デバイス104から取り出され得る。図6は、特徴抽出モデル608Aおよび608Bと補助モデル610との間に配設され得る、2次モデル決定エンジン651の概念を導入する。図示のように、2次モデル決定エンジン651は、第1の特徴抽出モデル608Aから特徴を受信することができる。2次モデル決定エンジン651は、第1の特徴抽出モデル608Aによって生成された特徴を処理するために、第1の特徴抽出モデル608Aに結合される補助モデル610(たとえば、補助モデル653、655、および657)からのどの補助モデルを使用するかを決定するようにトレーニングされ得る。場合によっては、モデル決定エンジン651は、計算効率および精度の所望の組合せに基づいて、第1の特徴抽出モデル608Aの特徴をさらに処理するために、補助モデル653、655、および657のうちのどれを使用するかを決定するようにトレーニングされ得る。
(2次モデル決定エンジン651がトレーニングされた後の)推論の間に、2次モデル決定エンジン651は、モデル決定エンジン606による決定に基づいて、第1の特徴抽出モデル608Aから特徴を受信することができる。一例では、第1の特徴抽出モデル608Aから受信された特徴の特性に基づいて、2次モデル決定エンジン651は、第1の特徴抽出モデル608Aからの特徴をさらに処理するために、補助モデル653、655、および/または657のうちのどの1つまたは複数が使用されるべきであるかを決定することができる。いくつかの例では、2次モデル決定エンジン651は、補助モデル653、655、および/または657のうちの2つ以上を選択することができる。例示的な一例では、2次モデル決定エンジン651は、補助モデル653および655を選択することができる。そのような例では、選択された補助モデル653および655は、各々、第1の特徴抽出モデル608Aによって入力ビデオ602から抽出された特徴を受信し、受信された特徴を処理し、合成器611にそれぞれの出力を提供することができる。合成器611は、補助モデル653および655から受信された出力を(たとえば、出力を平均すること、出力を連結すること、または他の方法で出力を合成することによって)合成することができる。合成器611は、合成された出力を、ビデオまたはビデオ部分の分類のために分類器612に渡すことができる。
モデル決定エンジン606が、入力ビデオ602またはビデオ部分から特徴を抽出するために、第2の特徴抽出モデル608Bを選択する別の例では、モデル決定エンジン651は、入力ビデオ602またはビデオ部分に対してアクションを実行しないことが可能である。そのような例では、第2の特徴抽出モデル608Bによって生成された特徴が、さらなる処理のために補助モデル659に出力され得る。補助モデル659は、その出力を合成器611に提供することができる。次いで、合成器611は、出力を、入力ビデオ602またはビデオ部分の分類のために分類器612に転送することができる。
2次モデル決定エンジン651を利用する原理は、3つの補助モデル653、655、657が第1の特徴抽出モデル608Aからの入力を受信するように構成され、1つの補助モデル659が第2の特徴抽出モデル608Bからの入力を受信するように結合される、2つの特徴抽出モデル608Aおよび608Bの特定のトポロジーに限定されないことを、当業者は理解されたい。任意の他の好適な構成が、モデル決定エンジン651とともに使用され得る。たとえば、場合によっては、2次モデル決定エンジン651は、特徴抽出モデル608Aおよび608Bのうちの1つによって生成された特徴を処理するために使用され得る、少なくとも2つの補助モデルがある、任意の構成において使用され得る。いくつかの例では、複数の2次モデル決定エンジン651が使用され得、そこで、特徴抽出モデル608Aおよび608Bのうちの2つ以上が、2つ以上の補助モデル610に結合される。
図7は、全体論的ビデオ理解システム700のための代替構成を示す図である。図示のように、全体論的ビデオ理解システム700の構成要素は、特徴抽出モデルと、補助モデル710と、合成器711と、分類器712とを含む。特徴抽出モデルは、第1の特徴抽出モデル708Aと、第2の特徴抽出モデル708Bとを含む。補助モデル710は、第1の補助モデル753と、第2の補助モデル755と、第3の補助モデル757と、第4の補助モデル759とを含む。図7の全体論的ビデオ理解システム700の構成要素は、図6の全体論的ビデオ理解システム600、および/または本明細書で説明する全体論的ビデオ理解システムの他の例のいずれかの構成要素と同様であり得、それらの構成要素のような同様の動作を実行することができる。たとえば、全体論的ビデオ理解システム700の各構成要素は、図6の対応する構成要素と同様であり得、同様の動作を実行することができる。図7の全体論的ビデオ理解システム700は、モデル決定エンジン(たとえば、モデル決定エンジン606)または2次モデル決定エンジン(たとえば、2次モデル決定エンジン651)を含まず、代わりに、入力ビデオ702またはビデオ部分を処理するために、利用可能な特徴抽出モデル708Aと708Bの両方と、対応する補助モデル753、755、757、および759とを利用する。
入力ビデオ702は、第1の特徴抽出モデル708Aおよび第2の特徴抽出モデル708Bによって処理され得る。一例として図1を参照すると、入力ビデオ702は、ビデオレトリーバ102または記憶デバイス104から取り出され得る。補助モデル753、755、および757は、第1の特徴抽出モデル708Aによって出力された特徴(たとえば、1つまたは複数の特徴ベクトル)を処理することができる。補助モデル759は、第2の特徴抽出モデル708Bによって出力された1つまたは複数の特徴(たとえば、特徴ベクトル)を処理することができる。図7の例では、合成器711は、補助モデル753、755、757、および759の出力のすべてを(たとえば、平均すること、連結することなどによって)合成し、合成された出力を分類器712に提供する。分類器712は、合成器711からの出力(たとえば、合成特徴ベクトル)に基づいて、入力ビデオ702またはビデオ部分を分類することができる。
図7の構成では、すべての利用可能な経路を通して(たとえば、特徴抽出モデルのすべて、および補助モデル710のすべてを通して)入力ビデオ702を処理することが、入力ビデオの特性にかかわらず行われる。図7に示された全体論的ビデオ理解システム700は、入力ビデオ702への単一の固定されたモデルの適用と比較して、複数の特徴抽出モデル(たとえば、特徴抽出モデル708Aおよび特徴抽出モデル708B)および(上記の図1に関して説明した異なる帰納バイアスを各々適用することができる)複数の補助モデル710が適用され得るという意味で、全体論的である。
以下のTable 2(表2)は、Table 1(表1)において上記で示され、その後に説明された、4つのモデル2~5を利用した、2つの構成を比較した実験結果を示す。Table 2(表2)は、モデル間で選択するためにモデル決定エンジンを使用する(mAPにおいて測定された)潜在的な性能を、複数のモデルからの結果を平均する戦略に対して比較する。たとえば、Table 2(表2)の第1の行は、同時にすべての4つのモデル2~5を通して入力ビデオを処理した、図7の全体論的ビデオ理解システム700と同様の構成のための実験結果を示す。図7の合成器711は、4つのモデル2~5の出力を平均した。実験では、合成された出力は、図7の分類器712によって分類された。
Table 2(表2)の第2の行は、どのモデルが最良の精度を提供するかについての実験データに基づいて、各入力ビデオまたはビデオ部分を処理するための最良のモデルまたはモデルのサブセットを選択するための実験結果を示す。Table 2(表2)の第2の行における値は、各入力ビデオまたはビデオ部分のための行1において平均されたモデルのうちの1つまたは複数を選択することによって取得された。Table 2(表2)の第2の行に示されているように、平均精度、および個々のカテゴリー(たとえば、アクション、概念、イベント、物体、およびシーン)にわたる精度は、第1の行に示された平均化と比較して向上した。Table 2(表2)は、本開示で説明するモデル決定エンジン(たとえば、図1におけるモデル決定エンジン106)を利用することによって、すべてのモデルを選んで結果を平均する手法と比較して、精度を向上させることができることを示す。
図8は、固定されたモデルのみを利用する手法、および処理経路(たとえば、各経路は、特徴抽出モデルおよび補助モデルのペアリングを表すことができる)の間でランダムに選択する手法と比較された、図6に関するモデル決定エンジン606を使用する全体論的ビデオ理解システム600の相対的性能の実験プロットを示す。実験結果のためのmAPが、垂直軸上にプロットされており、クリップ当たりのGFLOPにおいて測定された計算量が、水平軸上にプロットされている。図8におけるプロットに関連する実験では、モデル決定エンジン606は、MobileNetV2を使用して実装された。実験では、本明細書で説明する各構成が、同じビデオデータセットを使用してテストされた。Resnet-50を使用して実装された2D CNNが、第1の特徴抽出モデル608Aとして使用された。第2のモデル決定エンジン651は、すべての3つの補助モデル653、655、および657を第1の特徴抽出モデル608Aの出力に適用するように設定された。たとえば、モデル決定エンジン606が、ビデオ(または、ビデオクリップυijなど、ビデオの部分)を処理するために、第1の特徴抽出モデル608Aを選択したときはいつでも、第1の特徴抽出モデル608Aによって生成された特徴は、すべての3つの補助モデル653、655、および657を通して処理された。合成器611は、(たとえば、補助モデルからの特徴を平均すること、連結すること、または他の方法で合成することによって)3つの補助モデルからの出力を合成した。合成器611は、合成された出力を、分類のために分類器612に提供した。実験では、(図2Aおよび図2Bに関して説明した)時間次元にわたる1D畳み込みが、補助モデル653のために使用され、非ローカル時間モデルが補助モデル655のために使用され、グラフ畳み込みが、補助モデル657のために使用された。Slowfastモデルを使用して実装された3D CNNが、第2の特徴抽出モデル608Bのために使用され、MLPが、補助モデル659として使用された。実験では、モデル決定エンジン606が、ビデオ(またはビデオの部分)を処理するために、第2の特徴抽出モデル608Bを選択したときはいつでも、第2の特徴抽出モデル608Bの特徴が補助モデル659に入力され、合成器611は、いかなる動作も実行せず(単一の結果のみがその入力に渡されたため)、補助モデル659の出力が分類器612によって分類された。
図8のプロットにおけるデータポイント836Aおよび836Gは、第1の特徴抽出モデル608Aと第2の特徴抽出モデル608Bとの間で選定するために、モデル決定エンジン606を使用した結果を示す。たとえば、データポイント836Aは、モデル決定エンジン606が第1の特徴抽出モデル608Aを常に選択する結果を表し、データポイント836Gは、モデル決定エンジン606が第2の特徴抽出モデル608Bを常に選択する結果を表す。データポイント836A、836B、836C、836D、836E、836F、および836Gのグループは、それぞれ、比率[0.0, 0.1, 0.3, 0.5, 0.7, 0.9, 1.0]に従って、第1の特徴抽出モデル608Aと第2の特徴抽出モデル608Bとの間でランダムに選択する結果を表し、ただし、0.0は、第1の特徴抽出モデル608Aを常に選択することを表し、1.0は、第2の特徴抽出モデル608Bを常に選択することを表す。図示のように、データポイント830のためのmAPは、データポイント836Aと836Gの両方を上回り、モデル決定エンジン606を使用することが、排他的に第1の特徴抽出モデル608Aまたは第2の特徴抽出モデル608Bのいずれかを使用することよりも精度を向上させることを示す。平均して向上した精度に基づいて、図8におけるプロットは、モデル決定エンジン606がビデオの視覚特徴または時間特徴に基づいてモデルを選ぶことを示す。
上述のように、本明細書で説明する全体論的ビデオ理解システム(たとえば、全体論的ビデオ理解システム100、300、400、500、および/または600)および関連する技法は、システムが、複数のカテゴリー(たとえば、アクション、属性、イベント、物体、およびシーン)にわたるビデオコンテンツを効率的および正確に分類するために、ビデオ処理機械学習モデルの間で適応的に選択することを可能にすることができる。たとえば、全体論的ビデオ理解システム100を使用して、静的なシーンを含んでいる第1のビデオ部分は、第1のビデオ部分からシーン内の物体を検出するための空間特徴を抽出するために、2D CNNによって分析され得、スポーツイベントを含んでいる第2のビデオ部分は、第2のビデオ部分から物体およびそれらの物体に関連付けられたアクションを検出するために、空間特徴および時間特徴を抽出するために、3D CNNによって分析され得る。関連するビデオ部分の特性(たとえば、関連するビデオ部分の情報のタイプ、動きなど)に好適であり、他の利用可能な特徴抽出モデル108よりも計算集約的でない(特徴抽出モデル108からの)特徴抽出モデルを選択するために、モデル決定エンジン106を利用することによって、システム(たとえば、コンピューティングシステム)のコンピューティングリソースおよび電力リソースが他の動作のために節約され得る。システムのコンピューティングリソースおよび電力リソースを節約することに加えて、異なる帰納バイアスとともに様々な補助モデル110を含むことで、より多種多様なカテゴリーを認識することを専門とするモデルを提供することによって、全体論的ビデオ理解システム100をより全体論的にすることができる。比較して、すべての入力ビデオのために固定されたモデルを含むシステムは、分析されているビデオが、固定されたモデルが検出するように最適化されるデータのカテゴリーを含んでいるとき、良好に実行し得るが、分析されているビデオが異なるカテゴリーの情報を含んでいたとき、精度を失い、かつ/または不要な計算量を消費することがある。
図9は、いくつかの例による、全体論的ビデオ理解システムを使用してビデオを処理するプロセス900の一例を示すフロー図である。ブロック902において、プロセス900は、第1のビデオを取得することを含む。いくつかの例では、プロセス900は、記憶デバイスから第1のビデオを取得することができる。例示的な一例では、記憶デバイスは、図1に示されている記憶デバイス104、および/または図12に示されている記憶デバイス1230を含む。
ブロック904において、プロセス900は、機械学習モデル決定エンジンを使用して、(たとえば、第1のビデオの少なくとも一部分を処理するために使用するために)機械学習モデルのセットから第1の機械学習モデルを決定することを含む。第1の機械学習モデルは、第1のビデオの少なくともその部分の1つまたは複数の特性に基づいて決定され得る。例示的な一例では、モデル決定エンジンは、図1に示されたモデル決定エンジン106を含む。いくつかの例では、モデル決定エンジンは、ニューラルネットワーク(たとえば、MobileNetV2ニューラルネットワークおよび/またはResnet-50ニューラルネットワーク)を含む。例示的な一例では、機械学習モデルのセットは、図1に示された特徴抽出モデル108を含む。別の例示的な例では、機械学習モデルのセットは、図3に示されたモデル313A、313B~313Mを含む。
いくつかの例では、第1の機械学習モデルは、上記で説明したように、畳み込みニューラルネットワーク(CNN)を含む。たとえば、いくつかの例では、CNNは、2次元CNN(たとえば、MobileNetV2またはResnet-50)、3次元CNN(たとえば、Slowfast)、または他のCNNを含む。場合によっては、第1の機械学習モデルは、機械学習モデルのセットにおける他の機械学習モデルのうちの少なくともいくつか中に含まれたCNNとは異なる、第1のタイプのCNNを含み得る。いくつかの例では、第1のビデオの少なくともその部分の1つまたは複数の特性は、空間特性、時間特性、および/またはオーディオ特性を含む。
ブロック906において、プロセス900は、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理することを含む。本明細書で説明するように、第1のビデオの少なくともその部分を処理することは、処理の中でも、第1のビデオの少なくともその部分から特徴を抽出すること、1つまたは複数の補助モデルを使用して、特徴を処理すること、および第1のビデオの少なくともその部分を分類することを含み得る。
いくつかの例では、プロセス900は、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理することに基づいて、第1のビデオの少なくともその部分の分類を決定することを含み得る。いくつかの例では、分類の間に決定されたクラスは、特に、サッカーをすること、バイオリンを演奏すること、音楽を聴くことを含み得る。例示的な一例では、図1に示された出力分類器112が分類を決定する。いくつかの例では、プロセス900は、上記で説明したように、第1のビデオの少なくともその部分中に含まれた複数のクラスを識別する分類を決定することを含む。
いくつかの例では、プロセス900は、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出することを含む。場合によっては、第1の機械学習モデルは、2次元(2D)CNNなどのニューラルネットワークを含む。そのような場合、2D CNNは、2つの空間次元において、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出することができる。いくつかの実装形態では、第1の機械学習モデルは、3D CNNを含む。そのような実装形態では、3D CNNは、2つの空間次元と時間次元とにおいて、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出することができる。
プロセス900は、第1の補助モデルを使用して、第1の機械学習モデルによって第1のビデオの少なくともその部分から抽出された第1の1つまたは複数の特徴を処理することを含み得る。例示的な一例では、第1の補助モデルは、図1に示された補助モデル110中に含まれた補助モデルを含む。場合によっては、第1の補助モデルは、1次元(1D)CNNなどのニューラルネットワークを含む。たとえば、第1の補助モデルが1D CNNを含むとき、第1の1つまたは複数の特徴は、第1のビデオの少なくともその部分の、第1のフレームに基づく第1の特徴ベクトルと、第2のフレームに基づく第2の特徴ベクトルとを含み得る。そのような場合、1D CNNは、少なくとも第1の特徴ベクトルおよび第2の特徴ベクトルから、第1のビデオの少なくともその部分の時間情報を生成することができる。例示的な一例では、1D CNNは、図2Dに示された、上記で説明した畳み込みを実行する。場合によっては、第1の補助モデルは、多層パーセプトロンを含む。いくつかの実装形態では、第1の補助モデルは、グラフ畳み込みネットワークを含む。場合によっては、第1の補助モデルは、非ローカルモデルを含む。いくつかの例では、プロセス900は、第1の補助モデルを使用して、第1の1つまたは複数の特徴を処理することに基づいて、第1のビデオの少なくともその部分の第1の分類を決定することを含む。
いくつかの例では、プロセス900は、機械学習モデル決定エンジンを使用して、(たとえば、第1のビデオの少なくとも別の部分を処理するために使用するために)機械学習モデルのセットから第2の機械学習モデルを決定することを含む。第2の機械学習モデルは、第1のビデオの少なくとも別の部分の1つまたは複数の特性に基づいて決定され得る。場合によっては、プロセス900は、第2の機械学習モデルを使用して、第1のビデオの少なくとも別の部分を処理することを含む。一態様では、第2の機械学習モデルは、第1の機械学習モデルの1つまたは複数のニューラルネットワーク(たとえば、CNN)とは異なるニューラルネットワーク(たとえば、CNN)を含み得る。場合によっては、プロセス900は、第2の機械学習モデルを使用して、第1のビデオの少なくとも別の部分から第2の1つまたは複数の特徴を抽出することを含む。プロセス900は、第2の補助モデルを使用して、第2の機械学習モデルによって第1のビデオの少なくとも別の部分から抽出された第2の1つまたは複数の特徴を処理することを含み得る。いくつかの例では、プロセス900は、第2の補助モデルからの1つまたは複数の特徴に基づいて、第1のビデオの少なくとも別の部分の第2の分類を決定することができる。
いくつかの例では、プロセス900は、第2のビデオを取得することができる。プロセス900は、(たとえば、第2のビデオの少なくとも一部分を処理するために使用するために)第2の機械学習モデルを決定することができる。第2の機械学習モデルは、第2のビデオの少なくともその部分の1つまたは複数の特性に基づいて決定され得る。いくつかの例では、プロセス900は、記憶デバイスから第2のビデオを取得することができる。例示的な一例では、記憶デバイスは、図1に示されている記憶デバイス104、および/または図12に示されている記憶デバイス1230を含む。プロセス900は、第2の機械学習モデルを使用して、第2のビデオの少なくともその部分を処理することができる。
いくつかの例では、プロセス900は、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理するために使用するための、機械学習モデルのセットからの第1の機械学習モデルの決定と並行して、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出することを含む。場合によっては、機械学習モデル決定エンジンは、第1の機械学習モデルと共通のニューラルネットワークを共有する。例示的な一例では、第1の機械学習モデルと共通のニューラルネットワークを共有するモデル決定エンジンは、図4に示されているような、モデル決定エンジン406および特徴抽出構成要素429を含み得る。
いくつかの例では、本明細書で説明するプロセス(たとえば、プロセス900および/または本明細書で説明する他のプロセス)は、コンピューティングデバイスまたは装置によって実行され得る。一例では、プロセスのうちの1つまたは複数は、図1の全体論的ビデオ理解システム100によって実行され得る。別の例では、プロセスのうちの1つまたは複数は、図12に示されるコンピューティングシステム1200によって実行され得る。たとえば、図12に示されるコンピューティングシステム1200を伴うコンピューティングデバイスは、全体論的ビデオ理解システム100の構成要素を含むことができ、図9のプロセス900および/または本明細書で説明する他のプロセスの動作を実施することができる。
コンピューティングデバイスは、モバイルデバイス(たとえば、モバイルフォン)、デスクトップコンピューティングデバイス、タブレットコンピューティングデバイス、ウェアラブルデバイス(たとえば、VRヘッドセット、ARヘッドセット、ARグラス、ネットワーク接続ウォッチもしくはスマートウォッチ、または他のウェアラブルデバイス)、車両もしくは車両のコンピューティングデバイス(たとえば、車両の運転者監視システム(DMS))、サーバコンピュータ、ロボティックデバイス、テレビジョン、ならびに/またはプロセス900および/もしくは本明細書で説明する他のプロセスを含む、本明細書で説明するプロセスを実行するためのリソース能力を有する任意の他のコンピューティングデバイスなどの、任意の好適なデバイスを含み得る。場合によっては、コンピューティングデバイスまたは装置は、1つもしくは複数の入力デバイス、1つもしくは複数の出力デバイス、1つもしくは複数のプロセッサ、1つもしくは複数のマイクロプロセッサ、1つもしくは複数のマイクロコンピュータ、1つもしくは複数のカメラ、1つもしくは複数のセンサー、および/または本明細書で説明するプロセスのステップを実行するように構成される他の構成要素などの、様々な構成要素を含んでよい。いくつかの例では、コンピューティングデバイスは、ディスプレイ、データを通信および/もしくは受信するように構成されたネットワークインターフェース、それらの任意の組合せ、ならびに/または他の構成要素を含んでよい。ネットワークインターフェースは、インターネットプロトコル(IP)ベースのデータまたは他のタイプのデータを通信および/または受信するように構成され得る。
コンピューティングデバイスの構成要素は、回路で実装され得る。たとえば、構成要素は、1つもしくは複数のプログラマブル電子回路(たとえば、マイクロプロセッサ、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、中央処理ユニット(CPU)、および/または他の好適な電子回路)を含み得る、電子回路もしくは他の電子ハードウェアを含むことができ、かつ/またはそれらを使用して実装されることが可能であり、かつ/あるいは本明細書で説明する様々な動作を実行するために、コンピュータソフトウェア、ファームウェア、もしくはそれらの任意の組合せを含むことができ、かつ/またはそれらを使用して実装されることが可能である。
プロセス900は、論理フロー図として示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組合せで実施され得る動作のシーケンスを表す。コンピュータ命令の文脈では、動作は、1つまたは複数のプロセッサによって実行されると、記載された動作を実行する、1つまたは複数のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実行するかまたは特定のデータタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が説明される順序は、限定として解釈されることを意図せず、説明される任意の数の動作は、プロセスを実装するために任意の順序で、かつ/または並列に組み合わせられ得る。
追加として、プロセス900および/または本明細書で説明する他のプロセスは、実行可能命令を用いて構成された1つまたは複数のコンピュータシステムの制御下で実行されてよく、1つもしくは複数のプロセッサ上で、ハードウェアによって、またはそれらの組合せで、集合的に実行するコード(たとえば、実行可能命令、1つもしくは複数のコンピュータプログラム、または1つもしくは複数のアプリケーション)として実装されてよい。上述のように、コードは、たとえば、1つまたは複数のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で、コンピュータ可読記憶媒体または機械可読記憶媒体上に記憶され得る。コンピュータ可読記憶媒体または機械可読記憶媒体は非一時的であり得る。
上述のように、本開示の様々な態様は、機械学習モデルまたはシステムを使用することができる。図10は、上記で説明した全体論的ビデオ理解システムを実装するために使用され得る、深層学習ニューラルネットワーク1000の例示的な例である。入力層1020は入力データを含む。例示的な一例では、入力層1020は、入力ビデオフレームのピクセルを表すデータを含み得る。ニューラルネットワーク1000は、複数の隠れ層1022a、1022b~1022nを含む。隠れ層1022a、1022b~1022nは「n」個の隠れ層を含み、ただし、「n」は1以上の整数である。隠れ層の数は、所与の用途に必要とされる程度に多くの層を含むようになされ得る。ニューラルネットワーク1000は、隠れ層1022a、1022b~1022nによって実行される処理から生じる出力を提供する、出力層1021をさらに含む。例示的な一例では、出力層1021は、入力ビデオフレームの中の物体のための分類を提供することができる。分類は、アクティビティのタイプを分類するクラス(たとえば、サッカーをすること、ピアノを演奏すること、ピアノを聴くこと、ギターを演奏することなど)を含み得る。
ニューラルネットワーク1000は、相互接続されたノードの多層ニューラルネットワークである。各ノードは情報を表すことができる。ノードに関連する情報は異なる層の間で共有され、情報が処理されるにつれて各層が情報を保持する。場合によっては、ニューラルネットワーク1000はフィードフォワードネットワークを含むことができ、その場合、ネットワークの出力がそれ自体にフィードバックされるフィードバック接続はない。場合によっては、ニューラルネットワーク1000はリカレントニューラルネットワークを含むことができ、リカレントニューラルネットワークは、入力において読み取りながらノードにわたって情報が搬送されることを可能にするループを有することができる。
様々な層間のノード間相互接続を通じて、情報がノード間で交換され得る。入力層1020のノードは、最初の隠れ層1022aの中のノードのセットを活性化することができる。たとえば、図示のように、入力層1020の入力ノードの各々は、最初の隠れ層1022aのノードの各々に接続される。最初の隠れ層1022aのノードは、活性化関数を入力ノード情報に適用することによって、各入力ノードの情報を変換することができる。変換から導出された情報は、次いで、次の隠れ層1022bのノードに渡され得、そうしたノードを活性化することができ、次の隠れ層1022bは、それら自体の指定された機能を実行することができる。例示的な機能は、畳み込み、アップサンプリング、データ変換、および/または任意の他の好適な機能を含む。隠れ層1022bの出力は、次いで、次の隠れ層のノードを活性化することができ、以下同様である。最後の隠れ層1022nの出力は、出力層1021の1つまたは複数のノードを活性化することができ、そこにおいて出力が提供される。場合によっては、ニューラルネットワーク1000の中のノード(たとえば、ノード1026)は、複数の出力線を有するものとして示されるが、ノードは単一の出力を有し、ノードから出力されるものとして示されるすべての線が同じ出力値を表す。
場合によっては、各ノードまたはノード間の相互接続は、ニューラルネットワーク1000のトレーニングから導出されるパラメータのセットである、重みを有することができる。ニューラルネットワーク1000がトレーニングされると、トレーニングされたニューラルネットワークと呼ばれることがあり、1つまたは複数のアクティビティを分類するために使用され得る。たとえば、ノード間の相互接続は、相互接続されたノードについて学習された情報を表すことができる。相互接続は、(たとえば、トレーニングデータセットに基づいて)調整され得る調整可能な数値重みを有することができ、ニューラルネットワーク1000が、入力に対して適応的であること、およびますます多くのデータが処理されるにつれて学習できることを可能にする。
ニューラルネットワーク1000は、出力層1021を通じて出力を提供するために、異なる隠れ層1022a、1022b~1022nを使用して、入力層1020の中のデータからの特徴を処理するように事前トレーニングされる。ニューラルネットワーク1000が、フレーム内の運転者によって実行されているアクティビティを識別するために使用される一例では、ニューラルネットワーク1000は、上記で説明したように、フレームとラベルの両方を含むトレーニングデータを使用してトレーニングされ得る。たとえば、トレーニングフレームは、ネットワークに入力され得、各トレーニングフレームが、(特徴抽出機械学習システムのための)フレーム内の特徴を示すラベル、または各フレーム内のアクティビティのクラスを示すラベルを有する。説明の目的で物体分類を使用する一例では、トレーニングフレームは、数字2の画像を含むことができ、その場合、画像のためのラベルは[0 0 1 0 0 0 0 0 0 0]であり得る。
場合によっては、ニューラルネットワーク1000は、バックプロパゲーションと呼ばれるトレーニングプロセスを使用して、ノードの重みを調節することができる。上述のように、バックプロパゲーションプロセスは、フォワードパス、損失関数、バックワードパス、および重み更新を含み得る。フォワードパス、損失関数、バックワードパス、およびパラメータ更新は、1回のトレーニング反復の間に実行される。そのプロセスは、層の重みが正確に調整されるようにニューラルネットワーク1000が十分良好にトレーニングされるまで、トレーニング画像のセットごとに、ある回数の反復にわたって繰り返され得る。
フレーム内の物体を識別する例の場合、フォワードパスは、トレーニング画像をニューラルネットワーク1000に通すことを含み得る。ニューラルネットワーク1000がトレーニングされる前に、最初に重みがランダム化される。例示的な一例として、フレームは、画像のピクセルを表す数字のアレイを含み得る。アレイの中の各数字は、アレイの中のその位置におけるピクセル強度を表す0から255までの値を含むことができる。一例では、アレイは、28行および28列のピクセルならびに3つの色成分(たとえば、赤色成分、緑色成分、および青色成分、またはルーマ成分および2つのクロマ成分など)を有する、数字の28×28×3アレイを含み得る。
上述のように、ニューラルネットワーク1000のための最初のトレーニング反復では、初期化において重みがランダムに選択されることに起因して、出力は、いずれの特定のクラスへの選好も与えない値を含む可能性がある。たとえば、出力が、物体が異なるクラスを含む確率を伴うベクトルである場合、異なるクラスの各々の確率値は等しく、または少なくとも非常に似ていることがある(たとえば、10個のあり得るクラスに対して、各クラスは0.1という確率値を有することがある)。初期の重みを用いると、ニューラルネットワーク1000は、低レベルの特徴を決定することが不可能であるので、物体の分類が何である可能性があるかの正確な決定を行うことができない。出力の中の誤差を分析するために、損失関数が使用され得る。クロスエントロピー損失など、任意の好適な損失関数定義が使用され得る。損失関数の別の例は、
として定義される、平均2乗誤差(MSE)を含む。損失は、Etotalの値に等しくなるように設定され得る。
実際の値は予測される出力とは大きく異なるので、最初のトレーニング画像に対して損失(または、誤差)は大きい。トレーニングの目標は、予測される出力がトレーニングラベルと同じになるように、損失の量を最小化することである。ニューラルネットワーク1000は、どの入力(重み)がネットワークの損失に最も寄与したかを決定することによってバックワードパスを実行することができ、損失が減り最終的に最小になるように、重みを調整することができる。ネットワークの損失に最も寄与した重みを決定するために、重みに関する損失の微分係数(dL/dWとして示され、ただし、Wは特定の層における重みである)が計算され得る。微分係数が計算された後、フィルタのすべての重みを更新することによって、重み更新が実行され得る。たとえば、重みは、勾配の反対方向で重みが変化するように更新され得る。重み更新は、
として示すことができ、ただし、wは重みを示し、wiは初期重みを示し、ηは学習率を示す。学習率は任意の好適な値に設定することができ、高い学習率はより大きい重み更新を含み、より小さい値はより小さい重み更新を示す。
ニューラルネットワーク1000は、任意の適切なディープネットワークを含み得る。一例は、畳み込みニューラルネットワーク(CNN)を含み、畳み込みニューラルネットワーク(CNN)は、入力層と出力層との間の複数の隠れ層とともに入力層および出力層を含む。CNNの隠れ層は、一連の畳み込み層、非線形層、(ダウンサンプリングのための)プーリング層、および全結合層を含む。ニューラルネットワーク1000は、特に、オートエンコーダ、ディープビリーフネット(DBN)、リカレントニューラルネットワーク(RNN)などの、CNN以外の任意の他のディープネットワークを含み得る。
図11は、畳み込みニューラルネットワーク(CNN)1100の例示的な例である。CNN1100の入力層1120は、画像またはフレームを表すデータを含む。たとえば、データは画像のピクセルを表す数字のアレイを含むことができ、アレイの中の各数字は、アレイの中のその位置におけるピクセル強度を表す0から255までの値を含む。上記のことからの前の例を使用すると、アレイは、28行および28列のピクセルならびに3つの色成分(たとえば、赤色成分、緑色成分、および青色成分、またはルーマ成分および2つのクロマ成分など)を有する、数字の28×28×3アレイを含むことができる。画像は、畳み込み隠れ層1122a、随意の非線形活性化層、プーリング隠れ層1122b、および全結合隠れ層1122cを通過させられて、出力層1124における出力を得ることができる。各隠れ層のうちの1つしか図11に示されないが、複数の畳み込み隠れ層、非線形層、プーリング隠れ層、および/または全結合層が、CNN1100の中に含まれ得ることを、当業者は諒解されよう。前に説明したように、出力は、物体の単一のクラスを示すことができるか、または画像の中の物体を最良に表すクラスの確率を含み得る。
CNN1100の最初の層は、畳み込み隠れ層1122aである。畳み込み隠れ層1122aは、入力層1120の画像データを分析する。畳み込み隠れ層1122aの各ノードは、受容野と呼ばれる入力画像のノード(ピクセル)の領域に接続される。畳み込み隠れ層1122aは、1つまたは複数のフィルタであると考えることができ(各フィルタは異なる活性化または特徴マップに対応する)、フィルタの各々の畳み込みの反復は、畳み込み隠れ層1122aのノードまたはニューロンである。たとえば、各々の畳み込みの反復においてフィルタが担当する入力画像の領域が、フィルタの受容野である。例示的な一例では、入力画像が28×28アレイを含み、かつ各フィルタ(および、対応する受容野)が5×5アレイである場合、畳み込み隠れ層1122aの中に24×24個のノードがある。各ノードが入力画像においてその特定の局所受容野を分析することを学習するように、ノードとそのノードのための受容野との間の各接続は、重み、および場合によっては全体のバイアスを学習する。隠れ層1122aの各ノードは、同じ重みおよびバイアス(共有される重みおよび共有されるバイアスと呼ばれる)を有する。たとえば、フィルタは、重み(数字)のアレイ、および入力と同じ深度を有する。フィルタは、(入力画像の3つの色成分に従って)ビデオフレームの例では3という深度を有する。フィルタアレイの説明のための例示的なサイズは、ノードの受容野のサイズに対応する5×5×3である。
畳み込み隠れ層1122aの畳み込みの性質は、畳み込み層の各ノードがその対応する受容野に適用されることによるものである。たとえば、畳み込み隠れ層1122aのフィルタは、入力画像アレイの左上隅角において開始することができ、入力画像の周りで畳み込むことができる。上述のように、フィルタの各畳み込み反復は、畳み込み隠れ層1122aのノードまたはニューロンと見なされ得る。各畳み込み反復において、フィルタの値は、画像の対応する個数の元のピクセル値と乗算される(たとえば、5×5フィルタアレイは、入力画像アレイの左上隅角において入力ピクセル値の5×5アレイで乗算される)。各畳み込み反復からの乗算は一緒に加算されて、その反復またはノードに対する総計を取得することができる。そのプロセスは、次に、畳み込み隠れ層1122aの中の次のノードの受容野に従って、入力画像の中の次のロケーションにおいて継続される。たとえば、フィルタは、あるステップ量(ストライドと呼ばれる)だけ次の受容野まで移動され得る。ストライドは、1または他の好適な量に設定され得る。たとえば、ストライドが1に設定される場合、フィルタは、各畳み込み反復において1ピクセルだけ右に移動される。入力ボリュームの固有の各ロケーションにおいてフィルタを処理することは、そのロケーションに対するフィルタ結果を表す数字を生み出し、畳み込み隠れ層1122aのノードごとに総計値が決定される結果となる。
入力層から畳み込み隠れ層1122aへのマッピングは、活性化マップ(または特徴マップ)と呼ばれる。活性化マップは、入力ボリュームの各ロケーションにおいてフィルタ結果を表す各ノードの値を含む。活性化マップは、入力ボリュームに対するフィルタの各反復から生じる様々な総計値を含むアレイを含み得る。たとえば、5×5フィルタが28×28入力画像の各ピクセルに適用される場合(1というストライド)、活性化マップは24×24アレイを含む。畳み込み隠れ層1122aは、画像の中の複数の特徴を識別するためにいくつかの活性化マップを含み得る。図11に示される例は、3つの活性化マップを含む。3つの活性化マップを使用して、畳み込み隠れ層1122aは、3つの異なる種類の特徴を検出することができ、各特徴は画像全体にわたって検出可能である。
いくつかの例では、畳み込み隠れ層1122aの後、非線形隠れ層が適用され得る。非線形層は、線形演算を計算していたシステムに非線形性を導入するために使用され得る。非線形層の1つの説明のための例は、正規化線形ユニット(ReLU)層である。ReLU層は、入力ボリュームの中の値のすべてに関数f(x)=max(0,x)を適用することができ、そのことは、すべての負の活性化を0に変える。したがって、ReLUは、畳み込み隠れ層1122aの受容野に影響を及ぼすことなく、CNN1100の非線形の性質を高めることができる。
畳み込み隠れ層1122aの後(かつ、使用されるときは非線形隠れ層の後)に、プーリング隠れ層1122bが適用され得る。プーリング隠れ層1122bは、畳み込み隠れ層1122aからの出力の中の情報を簡略化するために使用される。たとえば、プーリング隠れ層1122bは、畳み込み隠れ層1122aから出力される各活性化マップを取り込むことができ、プーリング関数を使用して圧縮された活性化マップ(または特徴マップ)を生成する。マックスプーリングは、プーリング隠れ層によって実行される関数の一例である。平均プーリング、L2ノルムプーリング、または他の好適なプーリング関数などの、他の形態のプーリング関数が、プーリング隠れ層1122bによって使用され得る。プーリング関数(たとえば、マックスプーリングフィルタ、L2ノルムフィルタ、または他の好適なプーリングフィルタ)は、畳み込み隠れ層1122aの中に含まれる各活性化マップに適用される。図11に示される例では、3つのプーリングフィルタは、畳み込み隠れ層1122aの中の3つの活性化マップのために使用される。
いくつかの例では、マックスプーリングは、(たとえば、2×2というサイズを有する)マックスプーリングフィルタを、(たとえば、2というストライドなどの、フィルタの次元に等しい)あるストライドを用いて、畳み込み隠れ層1122aから出力された活性化マップに適用することによって、使用され得る。マックスプーリングフィルタからの出力は、フィルタがその周りで畳み込む、あらゆる部分領域の中の最大数を含む。一例として2×2フィルタを使用すると、プーリング層の中の各ユニットは、前の層の中の2×2ノード(各ノードは活性化マップの中の値である)の領域を要約することができる。たとえば、活性化マップの中の4つの値(ノード)は、フィルタの各反復において2×2のマックスプーリングフィルタによって分析され、4つの値からの最大値が「マックス」値として出力される。そのようなマックスプーリングフィルタが、24×24ノードという寸法を有する畳み込み隠れ層1122aからの活性化フィルタに適用される場合、プーリング隠れ層1122bからの出力は、12×12ノードのアレイである。
いくつかの例では、L2ノルムプーリングフィルタも使用され得る。L2ノルムプーリングフィルタは、(マックスプーリングにおいて行われるように最大値を計算するのではなく)活性化マップの2×2領域(または、他の好適な領域)の中の値の2乗和の平方根を計算すること、および計算された値を出力として使用することを含む。
直観的には、プーリング関数(たとえば、マックスプーリング関数、L2ノルムプーリング関数、または他のプーリング関数)は、所与の特徴が画像の領域の中のどこかで見つかるかどうかを決定し、厳密な位置情報を廃棄する。このことは、特徴が見つけられていると、特徴の厳密なロケーションは、他の特徴に対するその近似的なロケーションほど重要ではないので、特徴検出の結果に影響を及ぼすことなく行うことができる。マックスプーリング(ならびに、他のプーリング方法)は、プーリングされるはるかに少ない特徴しかないという利点をもたらし、したがって、CNN1100のより後の層において必要とされるパラメータの数を減らす。
ネットワークの中の接続の最終の層は、プーリング隠れ層1122bからのあらゆるノードを出力層1124の中の出力ノードのうちのあらゆる出力ノードに接続する、全結合層である。上記の例を使用すると、入力層は、入力画像のピクセル強度を符号化する28×28ノードを含み、畳み込み隠れ層1122aは、3つの活性化マップへの5×5の(フィルタのための)局所受容野の適用に基づく3×24×24の隠れ特徴ノードを含み、プーリング隠れ層1122bは、3つの特徴マップの各々にわたる2×2の領域へのマックスプーリングフィルタの適用に基づく3×12×12の隠れ特徴ノードの層を含む。この例を拡張すると、出力層1124は10個の出力ノードを含み得る。そのような例では、3×12×12のプーリング隠れ層1122bのあらゆるノードが、出力層1124のあらゆるノードに接続される。
全結合層1122cは、前のプーリング隠れ層1122bの(高レベル特徴の活性化マップを表すはずである)出力を取得することができ、特定のクラスに最も相関する特徴を決定する。たとえば、全結合層1122cは、特定のクラスに最も強く相関する高レベル特徴を決定することができ、高レベル特徴に対する重み(ノード)を含むことができる。全結合層1122cおよびプーリング隠れ層1122bの重みの間で積が計算されて、異なるクラスに対する確率を取得することができる。たとえば、ビデオフレームの中の物体が人であることを予測するためにCNN1100が使用されている場合、人々の高レベル特徴(たとえば、2本の脚がある、物体の上部に顔がある、2つの目が顔の左上および右上にある、鼻が顔の中央にある、口が顔の下部にある、ならびに/または人に一般的な他の特徴)を表す活性化マップに高い値が存在する。
いくつかの例では、出力層1124からの出力は、M次元ベクトル(前の例では、M=10)を含み得る。Mは、画像内の物体を分類するとき、CNN1100がそこから選定しなければならないクラスの数を示す。他の例示的な出力も提供され得る。M次元ベクトルの中の各数は、物体があるクラスである確率を表すことができる。例示的な一例では、物体の10個の異なるクラスが[0 0 0.05 0.8 0 0.15 0 0 0 0]であることを、10次元の出力ベクトルが表す場合、ベクトルは、画像が物体の第3のクラス(たとえば、犬)である確率が5%であり、画像が物体の第4のクラス(たとえば、人間)である確率が80%であり、画像が物体の第6のクラス(たとえば、カンガルー)である確率が15%であることを示す。クラスの確率は、物体がそのクラスの一部であることの信頼性レベルであると考えられ得る。
図12は、本技術のいくつかの態様を実装するためのシステムの一例を示す図である。詳細には、図12はコンピューティングシステム1200の一例を示し、コンピューティングシステム1200は、たとえば、システムの構成要素が接続1205を使用して互いに通信している、内部コンピューティングシステム、リモートコンピューティングシステム、カメラ、またはそれらの任意の構成要素を構成する、任意のコンピューティングデバイスであり得る。接続1205は、バスを使用した物理接続、またはチップセットアーキテクチャなどにおけるプロセッサ1210への直接接続であり得る。接続1205はまた、仮想接続、ネットワーク接続、または論理接続であり得る。
いくつかの実施形態では、コンピューティングシステム1200は、本開示において説明された機能が、データセンター、複数のデータセンター、ピアネットワークなどに分散され得る分散型システムである。いくつかの実施形態では、説明されたシステム構成要素の1つまたは複数は、そのために構成要素が説明される機能の一部またはすべてを各々実行するような多くの構成要素を表す。いくつかの実施形態では、構成要素は物理デバイスまたは仮想デバイスであり得る。
例示的なシステム1200は、少なくとも1つの処理ユニット(CPUまたはプロセッサ)1210と、読み取り専用メモリ(ROM)1220およびランダムアクセスメモリ(RAM)1225などのシステムメモリ1215を含む様々なシステム構成要素をプロセッサ1210に結合する接続1205とを含む。コンピューティングシステム1200は、プロセッサ1210と直接接続されるか、プロセッサ1210に極めて近接しているか、またはプロセッサ1210の一部として統合される、高速メモリのキャッシュ1212を含み得る。
プロセッサ1210は、任意の汎用プロセッサ、ならびにプロセッサ1210を制御するように構成された、記憶デバイス1230の中に記憶されるサービス1232、1234、および1236などのハードウェアサービスまたはソフトウェアサービス、ならびにソフトウェア命令が実際のプロセッサ設計の中に組み込まれる専用プロセッサを含むことができる。プロセッサ1210は基本的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、完全に自己完結型のコンピューティングシステムであってもよい。マルチコアプロセッサは、対称でも非対称でもよい。
ユーザ対話を可能にするために、コンピューティングシステム1200は、発話のためのマイクロフォン、ジェスチャー入力またはグラフィカル入力のためのタッチセンシティブスクリーン、キーボード、マウス、モーション入力、発話などの、任意の数の入力機構を表すことができる、入力デバイス1245を含む。コンピューティングシステム1200はまた、出力デバイス1235を含むことができ、これはいくつかの出力機構の1つまたは複数であり得る。いくつかの事例では、マルチモーダルシステムは、ユーザがコンピューティングシステム1200と通信するために複数のタイプの入力/出力を提供することを可能にし得る。コンピューティングシステム1200は通信インターフェース1240を含むことができ、これは全般に、ユーザ入力およびシステム出力を支配して管理することができる。通信インターフェースは、オーディオジャック/プラグ、マイクロフォンジャック/プラグ、ユニバーサルシリアルバス(USB)ポート/プラグ、Apple(登録商標)Lightning(登録商標)ポート/プラグ、Ethernetポート/プラグ、光ファイバーポート/プラグ、プロプライエタリ有線ポート/プラグ、BLUETOOTH(登録商標)ワイヤレス信号転送、BLUETOOTH(登録商標)低エネルギー(BLE)ワイヤレス信号転送、IBEACON(登録商標)ワイヤレス信号転送、無線周波識別(RFID)ワイヤレス信号転送、近距離通信(NFC)ワイヤレス信号転送、専用短距離通信(DSRC)ワイヤレス信号転送、802.11 Wi-Fiワイヤレス信号転送、ワイヤレスローカルエリアネットワーク(WLAN)信号転送、可視光通信(VLC)、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)、赤外線(IR)通信ワイヤレス信号転送、公衆交換電話網(PSTN)信号転送、統合サービスデジタルネットワーク(ISDN)信号転送、3G/4G/5G/LTEセルラーデータネットワークワイヤレス信号転送、アドホックネットワーク信号転送、電波信号転送、マイクロ波信号転送、赤外線信号転送、可視光信号転送、紫外光信号転送、電磁スペクトルに沿ったワイヤレス信号転送、またはそれらの何らかの組合せを利用するものを含む、有線および/またはワイヤレスのトランシーバを使用する有線通信またはワイヤレス通信の、受信および/または送信を実行または容易にし得る。通信インターフェース1240はまた、1つまたは複数の全地球航法衛星システム(GNSS)システムに関連する1つまたは複数の衛星からの1つまたは複数の信号の受信に基づいて、コンピューティングシステム1200のロケーションを決定するために使用される、1つまたは複数のGNSS受信機またはトランシーバを含み得る。GNSSシステムは、限定はされないが、米国の全地球測位システム(GPS)、ロシアの全地球航法衛星システム(GLONASS)、中国の北斗航法衛星システム(BDS)、および欧州のGalileo GNSSを含む。任意の特定のハードウェア構成上で動作することに対して制約がなく、したがって、ここでの基本的な特徴は、それらが開発されるにつれて、改善されたハードウェア構成またはファームウェア構成のために容易に置き換えられてよい。
記憶デバイス1230は、不揮発性のかつ/または非一時的なかつ/またはコンピュータ可読のメモリデバイスであってよく、ハードディスク、または磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、磁気ストリップ/ストライプ、任意の他の磁気記憶媒体、フラッシュメモリ、メモリスタメモリ、任意の他のソリッドステートメモリ、コンパクトディスク読取り専用メモリ(CD-ROM)光ディスク、再書き込み可能コンパクトディスク(CD)光ディスク、デジタルビデオディスク(DVD)光ディスク、ブルーレイディスク(BDD)光ディスク、ホログラフィック光ディスク、別の光媒体、セキュアデジタル(SD)カード、マイクロセキュアデジタル(microSD)カード、メモリスティック(登録商標)カード、スマートカードチップ、EMVチップ、加入者識別モジュール(SIM)カード、ミニ/マイクロ/ナノ/ピコSIMカード、別の集積回路(IC)チップ/カード、ランダムアクセスメモリ(RAM)、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュEPROM(FLASHEPROM)、キャッシュメモリ(L1/L2/L3/L4/L5/L#)、抵抗性ランダムアクセスメモリ(RRAM/ReRAM)、位相変化メモリ(PCM)、スピン転送トルクRAM(STT-RAM)、別のメモリチップもしくはカートリッジ、および/またはそれらの組合せなどの、コンピュータによってアクセス可能であるデータを記憶できる他のタイプのコンピュータ可読媒体であってよい。
記憶デバイス1230は、そのようなソフトウェアを定義するコードがプロセッサ1210によって実行されるとシステムに機能を実行させる、ソフトウェアサービス、サーバ、サービスなどを含み得る。いくつかの実施形態では、特定の機能を実行するハードウェアサービスは、機能を実行するために、プロセッサ1210、接続1205、出力デバイス1235などの必要なハードウェア構成要素に関してコンピュータ可読媒体の中に記憶された、ソフトウェア構成要素を含み得る。
本明細書で使用する「コンピュータ可読媒体」という用語は、限定はしないが、ポータブルまたは非ポータブルの記憶デバイス、光記憶デバイス、ならびに命令および/またはデータを記憶、格納、または搬送することが可能な様々な他の媒体を含む。コンピュータ可読媒体は、データが記憶されることが可能な、かつワイヤレスにまたは有線接続を介して伝搬する搬送波および/または一時的な電子信号を含まない、非一時的媒体を含んでよい。非一時的媒体の例は、限定はしないが、磁気ディスクもしくはテープ、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリ、またはメモリデバイスを含み得る。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組合せを表すことがある、コードおよび/または機械実行可能命令を記憶していることがある。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を渡すことおよび/または受けることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を使用して渡され、転送され、または送信されてよい。
いくつかの実施形態では、コンピュータ可読記憶デバイス、媒体、およびメモリは、ビットストリームなどを含むケーブルまたはワイヤレス信号を含み得る。しかしながら、言及されるとき、非一時的コンピュータ可読記憶媒体は、エネルギー、キャリア信号、電磁波、および信号それ自体などの媒体を明確に除く。
本明細書で提供する実施形態および例の完全な理解を与えるために、上記の説明において具体的な詳細が提供されている。しかしながら、本実施形態がこれらの具体的な詳細なしに実践され得ることが当業者によって理解されよう。説明を明快にするために、いくつかの事例では、本技術は、デバイスと、デバイス構成要素と、ソフトウェア、またはハードウェアとソフトウェアの組合せにおいて具現された方法におけるステップまたはルーチンとを備える機能ブロックを含む個々の機能ブロックを含むものとして提示されることがある。図に示されるものおよび/または本明細書で説明されるもの以外の追加の構成要素が使用されてよい。たとえば、不必要な詳細で実施形態を不明瞭にしないように、回路、システム、ネットワーク、プロセス、または他の構成要素がブロック図の形態で構成要素として示されることがある。他の事例では、実施形態を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不必要な詳細なしに示されることがある。
個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスまたは方法として上記で説明されることがある。フローチャートは動作を逐次プロセスとして説明することがあるが、動作の多くは並行してまたは同時に実行され得る。加えて、動作の順序は並べ替えられてよい。プロセスは、その動作が完了するときに終了するが、図に含まれない追加のステップを有することがある。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに相当することがある。プロセスが関数に相当するとき、その終了は、その関数が呼出し関数またはメイン関数に戻ることに相当し得る。
上記で説明した例によるプロセスおよび方法は、記憶されているか、またはそうでなければコンピュータ可読媒体から入手可能なコンピュータ実行可能命令を使用して実装され得る。そのような命令は、たとえば、汎用コンピュータ、専用コンピュータ、もしくは処理デバイスに、特定の機能もしくは機能のグループを実行させるか、またはそうでなければ実行するように汎用コンピュータ、専用コンピュータ、もしくは処理デバイスを構成する、命令およびデータを含み得る。使用されるコンピュータリソースの部分は、ネットワークを介してアクセス可能であり得る。コンピュータ実行可能命令は、たとえば、アセンブリ言語、ファームウェア、ソースコードなどの、バイナリ、中間フォーマット命令であってもよい。命令、使用される情報、および/または説明された例による方法の間に作成された情報を記憶するために使用され得るコンピュータ可読媒体の例は、磁気または光ディスク、フラッシュメモリ、不揮発性メモリを備えたUSBデバイス、ネットワーク接続された記憶デバイスなどを含む。
これらの開示によるプロセスおよび方法を実装するデバイスは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せを含むことができ、様々なフォームファクタのうちのいずれかをとることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードにおいて実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメント(たとえば、コンピュータプログラム製品)は、コンピュータ可読媒体または機械可読媒体に記憶され得る。プロセッサは、必要なタスクを実行し得る。フォームファクタの典型的な例は、ラップトップ、スマートフォン、モバイルフォン、タブレットデバイスまたは他の小型フォームファクタパーソナルコンピュータ、携帯情報端末、ラックマウントデバイス、スタンドアロンデバイスなどを含む。本明細書で説明する機能は、周辺装置またはアドインカードにおいても具現され得る。そのような機能は、さらなる例として、異なるチップの中の回路基板または単一のデバイスの中で実行される異なるプロセス上でも実装され得る。
命令、そのような命令を伝えるための媒体、命令を実行するためのコンピューティングリソース、およびそのようなコンピューティングリソースをサポートするための他の構造は、本開示で説明する機能を提供するための例示的な手段である。
上記の説明では、本出願の態様は、それらの特定の実施形態を参照しながら説明されているが、本出願がそれらに限定されないことを当業者は認識されよう。したがって、本出願の例示的な実施形態が本明細書で詳細に説明されているが、本発明の概念が別のやり方で様々に具現および採用され得ることと、従来技術によって限定される場合を除き、添付の特許請求の範囲がそのような変形を含むものと解釈されることが意図されることとを理解されたい。上記で説明された適用例の様々な特徴および態様は、個別にまたは一緒に使用され得る。さらに、実施形態は、本明細書のより広い趣旨および範囲から逸脱することなく、本明細書で説明するもの以外の任意の数の環境および適用例において利用され得る。したがって、本明細書および図面は、限定的ではなく例示的であると見なされるべきである。例示のために、方法は特定の順序で説明された。代替実施形態では、説明された順序とは異なる順序で方法が実行され得ることを諒解されたい。
本明細書において使用される、よりも小さい(「<」)およびよりも大きい(「>」)という記号または用語は、本説明の範囲から逸脱することなく、それぞれ、以下(「≦」)および以上(「≧」)という記号で置き換えられ得ることを、当業者は諒解されよう。
構成要素がいくつかの動作を実行する「ように構成される」ものとして説明される場合、そのような構成は、たとえば、動作を実行するように電子回路もしくは他のハードウェアを設計することによって、動作を実行するようにプログラマブル電子回路(たとえば、マイクロプロセッサ、または他の好適な電子回路)をプログラムすることによって、またはそれらの任意の組合せで達成され得る。
「に結合された」という句は、直接もしくは間接的にのいずれかで別の構成要素に物理的に接続された任意の構成要素、および/または、直接もしくは間接的にのいずれかで別の構成要素と通信している(たとえば、有線もしくはワイヤレス接続および/または他の好適な通信インターフェースを介して別の構成要素に接続された)任意の構成要素を指す。
セット「のうちの少なくとも1つ」および/またはセットのうちの「1つまたは複数」と記載する請求項の文言または他の文言は、セットの1つのメンバーまたはセットの(任意の組合せでの)複数のメンバーが請求項を満足することを示す。たとえば、「AおよびBのうちの少なくとも1つ」または「AまたはBのうちの少なくとも1つ」を記載する請求項の文言は、A、B、またはAおよびBを意味する。別の例では、「A、B、およびCのうちの少なくとも1つ」または「A、B、またはCのうちの少なくとも1つ」を記載する請求項の文言は、A、B、C、またはAおよびB、またはAおよびC、またはBおよびC、またはAおよびBおよびCを意味する。セット「のうちの少なくとも1つ」および/またはセットのうちの「1つまたは複数」という文言は、セットに列挙される項目にセットを限定しない。たとえば、「AおよびBのうちの少なくとも1つ」または「AまたはBのうちの少なくとも1つ」を記載する請求項の文言は、A、B、またはAおよびBを意味することができ、加えて、AおよびBのセットに列挙されていない項目をさらに含むことができる。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上記で説明された。そのような機能が、ハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約によって決まる。当業者は、説明する機能性を特定の適用例ごとに様々な方法で実装し得るが、そのような実装決定は、本出願の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書で説明する技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなどの、様々なデバイスのうちのいずれかにおいて実装され得る。モジュールまたは構成要素として説明する任意の特徴は、集積論理デバイスの中で一緒に、または個別であるが相互動作可能な論理デバイスとして別々に実装され得る。ソフトウェアにおいて実装される場合、技法は、実行されると、上記で説明した方法のうちの1つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、FLASHメモリ、磁気または光データ記憶媒体などの、メモリまたはデータ記憶媒体を備えてよい。技法は、追加または代替として、伝搬される信号または波などの、命令またはデータ構造の形態のプログラムコードを搬送または通信するとともに、コンピュータによってアクセスされ、読み取られ、かつ/または実行され得る、コンピュータ可読通信媒体によって少なくとも部分的に実現されてよい。
プログラムコードは、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積論理回路もしくは個別論理回路などの、1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明する技法のうちのいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明する技法の実装に適した任意の他の構造もしくは装置のうちのいずれかを指すことがある。
本開示の例示的な態様は、以下を含む。
態様1:ビデオデータを処理する方法であって、第1のビデオを取得するステップと、機械学習モデル決定エンジンを使用して、(たとえば、第1のビデオの少なくとも一部分を処理するために使用するために)機械学習モデルのセットから第1の機械学習モデルを決定するステップであって、第1の機械学習モデルが、第1のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、ステップと、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理するステップとを含む方法。
態様2:第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理するステップに基づいて、第1のビデオの少なくともその部分の分類を決定するステップをさらに含む、態様1の方法。
態様3:第1の機械学習モデルを使用して、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出するステップと、第1の補助モデルを使用して、第1の1つまたは複数の特徴を処理するステップと、第1の補助モデルを使用して、第1の1つまたは複数の特徴を処理するステップに基づいて、第1のビデオの少なくともその部分の第1の分類を決定するステップとをさらに含む、態様1または2のうちのいずれか1つの方法。
態様4:第1の補助モデルが、1次元畳み込みニューラルネットワークを含み、第1の1つまたは複数の特徴が、第1のビデオの少なくともその部分の第1のフレームに基づく第1の特徴ベクトルと、第1のビデオの少なくともその部分の第2のフレームに基づく第2の特徴ベクトルとを含み、第1の補助モデルが、少なくとも第1の特徴ベクトルおよび第2の特徴ベクトルから、第1のビデオの少なくともその部分の時間情報を生成する、態様3の方法。
態様5:第1の補助モデルが、多層パーセプトロンを含む、態様3または4のうちのいずれか1つの方法。
態様6:第1の補助モデルが、グラフ畳み込みネットワークを含む、態様3から5のうちのいずれか1つの方法。
態様7:第1の補助モデルが、非ローカルモデルを含む、態様3から6のうちのいずれか1つの方法。
態様8:機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第2の機械学習モデルを決定するステップであって、第2の機械学習モデルが、第1のビデオの少なくとも別の部分の1つまたは複数の特性に基づいて決定される、ステップと、第2の機械学習モデルを使用して、第1のビデオの少なくとも別の部分を処理するステップとをさらに含む、態様1から7のうちのいずれか1つの方法。
態様9:第2の機械学習モデルを使用して、第1のビデオの少なくとも別の部分から第2の1つまたは複数の特徴を抽出するステップと、第2の補助モデルを使用して、第2の1つまたは複数の特徴を処理するステップと、第2の補助モデルを使用して、第2の1つまたは複数の特徴を処理するステップに基づいて、第1のビデオの少なくとも別の部分の第2の分類を決定するステップとをさらに含む、態様8の方法。
態様10:第1の機械学習モデルが、2次元CNNを含む、態様1から9のうちのいずれか1つの方法。
態様11:2D CNNが、2つの空間次元において、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出する、態様10の方法。
態様12:第1の機械学習モデルが、3次元(3D)CNNを含む、態様1から11のうちのいずれか1つの方法。
態様13:3D CNNが、2つの空間次元と時間次元とにおいて、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出する、態様12の方法。
態様14:第2のビデオを取得するステップと、機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第2の機械学習モデルを決定するステップであって、第2の機械学習モデルが、第2のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、ステップと、第2の機械学習モデルを使用して、第2のビデオの少なくともその部分を処理するステップとをさらに含む、態様1から13のうちのいずれか1つの方法。
態様15:第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理するために使用するための、機械学習モデルのセットからの第1の機械学習モデルの決定と並行して、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出するステップをさらに含む、態様1から14のうちのいずれか1つの方法。場合によっては、機械学習モデル決定エンジンは、第1の機械学習モデルと共通のニューラルネットワークを共有する。
態様16:第1のビデオの少なくともその部分の1つまたは複数の特性が、空間特性および時間特性を含む、態様1から15のうちのいずれか1つの方法。
態様17:第1のビデオの少なくともその部分の1つまたは複数の特性が、オーディオ特性を含む、態様1から16のうちのいずれか1つの方法。
態様18:ビデオデータを処理するための装置であって、メモリと、メモリに結合された1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサが、第1のビデオを取得すること、機械学習モデル決定エンジンを使用して、(たとえば、第1のビデオの少なくとも一部分を処理するために使用するために)機械学習モデルのセットから第1の機械学習モデルを決定することであって、第1の機械学習モデルが、第1のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、こと、および第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理することを行うように構成される、装置。
態様19:1つまたは複数のプロセッサが、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理することに基づいて、第1のビデオの少なくともその部分の分類を決定することを行うように構成される、態様18の装置。
態様20:1つまたは複数のプロセッサが、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出すること、第1の補助モデルを使用して、第1の1つまたは複数の特徴を処理すること、および第1の補助モデルを使用して、第1の1つまたは複数の特徴を処理することに基づいて、第1のビデオの少なくともその部分の第1の分類を決定することを行うように構成される、態様18または19の装置。
態様21:第1の補助モデルが、1次元畳み込みニューラルネットワークを含み、第1の1つまたは複数の特徴が、第1のビデオの少なくともその部分の第1のフレームに基づく第1の特徴ベクトルと、第1のビデオの少なくともその部分の第2のフレームに基づく第2の特徴ベクトルとを含み、第1の補助モデルが、少なくとも第1の特徴ベクトルおよび第2の特徴ベクトルから、第1のビデオの少なくともその部分の時間情報を生成する、態様20の装置。
態様22:第1の補助モデルが、多層パーセプトロンを含む、態様20または21のうちのいずれか1つの装置。
態様23:第1の補助モデルが、グラフ畳み込みネットワークを含む、態様20から22のうちのいずれか1つの装置。
態様24:第1の補助モデルが、非ローカルモデルを含む、態様20から23のうちのいずれか1つの装置。
態様25:1つまたは複数のプロセッサが、機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第2の機械学習モデルを決定することであって、第2の機械学習モデルが、第1のビデオの少なくとも別の部分の1つまたは複数の特性に基づいて決定される、こと、および第2の機械学習モデルを使用して、第1のビデオの少なくとも別の部分を処理することを行うように構成される、態様18から24のうちのいずれか1つの装置。
態様26:1つまたは複数のプロセッサが、第2の機械学習モデルを使用して、第1のビデオの少なくとも別の部分から第2の1つまたは複数の特徴を抽出すること、第2の補助モデルを使用して、第2の1つまたは複数の特徴を処理すること、および第2の補助モデルを使用して、第2の1つまたは複数の特徴を処理することに基づいて、第1のビデオの少なくとも別の部分の第2の分類を決定することを行うように構成される、態様25の装置。
態様27:第1の機械学習モデルが、2次元CNNを含む、態様18から26のうちのいずれか1つの装置。
態様28:2D CNNが、2つの空間次元において、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出する、態様27の装置。
態様29:第1の機械学習モデルが、3次元(3D)CNNを含む、態様18から28のうちのいずれか1つの装置。
態様30:3D CNNが、2つの空間次元と時間次元とにおいて、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出する、態様29の装置。
態様31:1つまたは複数のプロセッサが、第2のビデオを取得すること、機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第2の機械学習モデルを決定することであって、第2の機械学習モデルが、第2のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、こと、および第2の機械学習モデルを使用して、第2のビデオの少なくともその部分を処理することを行うように構成される、態様18から30のうちのいずれか1つの装置。
態様32:機械学習モデル決定エンジンが、第1の機械学習モデルと共通のニューラルネットワークを共有し、1つまたは複数のプロセッサが、第1の機械学習モデルを使用して、第1のビデオの少なくともその部分を処理するために使用するための、機械学習モデルのセットからの第1の機械学習モデルの決定と並行して、第1のビデオの少なくともその部分から第1の1つまたは複数の特徴を抽出することを行うように構成される、態様18から31のうちのいずれか1つの装置。
態様33:第1のビデオの少なくともその部分の1つまたは複数の特性が、空間特性および時間特性を含む、態様18から32のうちのいずれか1つの装置。
態様34:第1のビデオの少なくともその部分の1つまたは複数の特性が、オーディオ特性を含む、態様18から33のうちのいずれか1つの装置。
態様35:1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに態様1から34の動作のうちのいずれかを実行させる命令を記憶した、非一時的コンピュータ可読記憶媒体。
態様36:態様1から34の動作のうちのいずれかを実行するための手段を備える、装置。
100、300、400、500、600、700 全体論的ビデオ理解システム
102 ビデオレトリーバ
104、1230 記憶デバイス
106、406、506、606 モデル決定エンジン
108 特徴抽出モデル、2D CNN特徴抽出モデル
110 補助モデル、非ローカル補助モデル、MLP補助モデル
112 出力分類器、分類器
210、212、214 合成特徴ベクトル
211、213、215 畳み込みフィルタ
216 合成特徴ベクトル、新しい特徴ベクトル
217 黒いキューブ
221、223、225、227 矢印
302 入力ビデオ、ビデオ
306 モデル決定エンジン、決定エンジン
312、412、512、612、712 分類器
313 ビデオ処理モデル
313A、313B~313M ビデオ処理モデル、モデル
402、502、602、702 入力ビデオ
408、508、541 特徴抽出モデル
410、510、543、545、610、710 補助モデル
429 特徴抽出部分、特徴抽出構成要素
431 第1の特徴抽出モデル、モデル
433 第2の特徴抽出モデル、モデル
435、653、753 第1の補助モデル、補助モデル
437、655、755 第2の補助モデル、補助モデル
439、657、757 第3の補助モデル、補助モデル
511、611、711 合成器
547、549 出力
608A、708A 第1の特徴抽出モデル、特徴抽出モデル
608B、708B 第2の特徴抽出モデル、特徴抽出モデル
651 第2の補助モデル決定エンジン、2次モデル決定エンジン、モデル決定エンジン、第2のモデル決定エンジン
659、759 第4の補助モデル、補助モデル
830、836A、836B、836C、836D、836E、836F、836G データポイント
1000 深層学習ニューラルネットワーク、ニューラルネットワーク
1020、1120 入力層
1021、1124 出力層
1022a、1022b~1022n 隠れ層
1026 ノード
1100 畳み込みニューラルネットワーク(CNN)、CNN
1122a 畳み込み隠れ層、隠れ層
1122b プーリング隠れ層
1122c 全結合隠れ層、全結合層
1200 コンピューティングシステム、システム
1205 接続
1210 プロセッサ、処理ユニット(CPUまたはプロセッサ)
1212 キャッシュ
1215 システムメモリ
1220 読み取り専用メモリ(ROM)
1225 ランダムアクセスメモリ(RAM)
1232、1234、1236 サービス
1235 出力デバイス
1240 通信インターフェース
1245 入力デバイス

Claims (30)

  1. ビデオデータを処理するための装置であって、
    メモリと、
    前記メモリに結合された1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
    第1のビデオを取得すること、
    機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第1の機械学習モデルを決定することであって、前記第1の機械学習モデルが、前記第1のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、こと、および
    前記第1の機械学習モデルを使用して、前記第1のビデオの少なくとも前記一部分を処理すること
    を行うように構成される、装置。
  2. 前記1つまたは複数のプロセッサが、
    前記第1の機械学習モデルを使用して、前記第1のビデオの少なくとも前記一部分を処理することに基づいて、前記第1のビデオの少なくとも前記一部分の分類を決定すること
    を行うように構成される、請求項1に記載の装置。
  3. 前記1つまたは複数のプロセッサが、
    前記第1の機械学習モデルを使用して、前記第1のビデオの少なくとも前記一部分から第1の1つまたは複数の特徴を抽出すること、
    第1の補助モデルを使用して、前記第1の1つまたは複数の特徴を処理すること、および
    前記第1の補助モデルを使用して、前記第1の1つまたは複数の特徴を処理することに基づいて、前記第1のビデオの少なくとも前記一部分の第1の分類を決定すること
    を行うように構成される、請求項1に記載の装置。
  4. 前記第1の補助モデルが、1次元畳み込みニューラルネットワーク(CNN)を含み、
    前記第1の1つまたは複数の特徴が、前記第1のビデオの少なくとも前記一部分の第1のフレームに基づく第1の特徴ベクトルと、前記第1のビデオの少なくとも前記一部分の第2のフレームに基づく第2の特徴ベクトルとを含み、
    前記第1の補助モデルが、少なくとも前記第1の特徴ベクトルおよび前記第2の特徴ベクトルから、前記第1のビデオの少なくとも前記一部分の時間情報を生成する、請求項3に記載の装置。
  5. 前記第1の補助モデルが、多層パーセプトロンを含む、請求項3に記載の装置。
  6. 前記第1の補助モデルが、グラフ畳み込みネットワークを含む、請求項3に記載の装置。
  7. 前記第1の補助モデルが、非ローカルモデルを含む、請求項3に記載の装置。
  8. 前記1つまたは複数のプロセッサが、
    前記機械学習モデル決定エンジンを使用して、前記機械学習モデルのセットから第2の機械学習モデルを決定することであって、前記第2の機械学習モデルが、前記第1のビデオの少なくとも別の部分の1つまたは複数の特性に基づいて決定される、こと、および
    前記第2の機械学習モデルを使用して、前記第1のビデオの前記少なくとも別の部分を処理すること
    を行うように構成される、請求項1に記載の装置。
  9. 前記1つまたは複数のプロセッサが、
    前記第2の機械学習モデルを使用して、前記第1のビデオの前記少なくとも別の部分から第2の1つまたは複数の特徴を抽出すること、
    第2の補助モデルを使用して、前記第2の1つまたは複数の特徴を処理すること、および
    前記第2の補助モデルを使用して、前記第2の1つまたは複数の特徴を処理することに基づいて、前記第1のビデオの前記少なくとも別の部分の第2の分類を決定すること
    を行うように構成される、請求項8に記載の装置。
  10. 前記第1の機械学習モデルが、2次元(2D)CNNを含む、請求項1に記載の装置。
  11. 前記2D CNNが、2つの空間次元において、前記第1のビデオの少なくとも前記一部分から第1の1つまたは複数の特徴を抽出する、請求項10に記載の装置。
  12. 前記第1の機械学習モデルが、3次元(3D)CNNを含む、請求項1に記載の装置。
  13. 前記3D CNNが、2つの空間次元と時間次元とにおいて、前記第1のビデオの少なくとも前記一部分から第1の1つまたは複数の特徴を抽出する、請求項12に記載の装置。
  14. 前記1つまたは複数のプロセッサが、
    第2のビデオを取得すること、
    前記機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第2の機械学習モデルを決定することであって、前記第2の機械学習モデルが、前記第2のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、こと、および
    前記第2の機械学習モデルを使用して、前記第2のビデオの少なくとも前記一部分を処理すること
    を行うように構成される、請求項1に記載の装置。
  15. 前記機械学習モデル決定エンジンが、前記第1の機械学習モデルと共通のニューラルネットワークを共有し、前記1つまたは複数のプロセッサが、
    前記第1の機械学習モデルを使用して、前記第1のビデオの少なくとも前記一部分を処理するために使用するための、前記機械学習モデルのセットからの前記第1の機械学習モデルの決定と並行して、前記第1のビデオの少なくとも前記一部分から第1の1つまたは複数の特徴を抽出すること
    を行うように構成される、請求項1に記載の装置。
  16. 前記第1のビデオの少なくとも前記一部分の前記1つまたは複数の特性が、空間特性および時間特性を含む、請求項1に記載の装置。
  17. 前記第1のビデオの少なくとも前記一部分の前記1つまたは複数の特性が、オーディオ特性を含む、請求項1に記載の装置。
  18. ビデオデータを処理する方法であって、
    第1のビデオを取得するステップと、
    機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第1の機械学習モデルを決定するステップであって、前記第1の機械学習モデルが、前記第1のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、ステップと、
    前記第1の機械学習モデルを使用して、前記第1のビデオの少なくとも前記一部分を処理するステップと
    を含む方法。
  19. 前記第1の機械学習モデルを使用して、前記第1のビデオの少なくとも前記一部分を処理するステップに基づいて、前記第1のビデオの少なくとも前記一部分の分類を決定するステップ
    をさらに含む、請求項18に記載の方法。
  20. 前記第1の機械学習モデルを使用して、前記第1のビデオの少なくとも前記一部分から第1の1つまたは複数の特徴を抽出するステップと、
    第1の補助モデルを使用して、前記第1の1つまたは複数の特徴を処理するステップと、
    前記第1の補助モデルを使用して、前記第1の1つまたは複数の特徴を処理するステップに基づいて、前記第1のビデオの少なくとも前記一部分の第1の分類を決定するステップと
    をさらに含む、請求項18に記載の方法。
  21. 前記第1の補助モデルが、1次元CNNを含み、
    前記第1の1つまたは複数の特徴が、前記第1のビデオの第1のフレームに基づく第1の特徴ベクトルと、前記第1のビデオの第2のフレームに基づく第2の特徴ベクトルとを含み、
    前記第1の補助モデルが、少なくとも前記第1の特徴ベクトルおよび前記第2の特徴ベクトルから、前記第1のビデオの少なくとも前記一部分の時間情報を生成する、請求項20に記載の方法。
  22. 前記機械学習モデル決定エンジンを使用して、前記機械学習モデルのセットから第2の機械学習モデルを決定するステップであって、前記第2の機械学習モデルが、前記第1のビデオの少なくとも別の部分の1つまたは複数の特性に基づいて決定される、ステップと、
    前記第2の機械学習モデルを使用して、前記第1のビデオの前記少なくとも別の部分を処理するステップと
    をさらに含む、請求項18に記載の方法。
  23. 前記第2の機械学習モデルを使用して、前記第1のビデオの前記少なくとも別の部分から第2の1つまたは複数の特徴を抽出するステップと、
    第2の補助モデルを使用して、前記第2の1つまたは複数の特徴を処理するステップと、
    前記第2の補助モデルを使用して、前記第2の1つまたは複数の特徴を処理するステップに基づいて、前記第1のビデオの前記少なくとも別の部分の第2の分類を決定するステップと
    をさらに含む、請求項22に記載の方法。
  24. 前記第1の機械学習モデルを使用して、前記第1のビデオの少なくとも前記一部分を処理するために使用するための、前記機械学習モデルのセットからの前記第1の機械学習モデルの決定と並行して、前記第1のビデオの少なくとも前記一部分から第1の1つまたは複数の特徴を抽出するステップをさらに含み、前記機械学習モデル決定エンジンが、前記第1の機械学習モデルと共通のニューラルネットワークを共有する、請求項18に記載の方法。
  25. 前記第1の機械学習モデルが、2D CNNを含む、請求項18に記載の方法。
  26. 前記2D CNNが、2つの空間次元において、前記第1のビデオの少なくとも前記一部分から第1の1つまたは複数の特徴を抽出する、請求項25に記載の方法。
  27. 前記第1の機械学習モデルが、3D CNNを含む、請求項18に記載の方法。
  28. 第2のビデオを取得するステップと、
    前記機械学習モデル決定エンジンを使用して、機械学習モデルのセットから第2の機械学習モデルを決定するステップであって、前記第2の機械学習モデルが、前記第2のビデオの少なくとも一部分の1つまたは複数の特性に基づいて決定される、ステップと、
    前記第2の機械学習モデルを使用して、前記第2のビデオの少なくとも前記一部分を処理するステップと
    をさらに含む、請求項18に記載の方法。
  29. 前記第1のビデオの少なくとも前記一部分の前記1つまたは複数の特性が、空間特性および時間特性を含む、請求項18に記載の方法。
  30. 前記第1のビデオの少なくとも前記一部分の前記1つまたは複数の特性が、オーディオ特性を含む、請求項18に記載の方法。
JP2023552087A 2021-03-31 2022-01-27 全体論的ビデオ理解のためのビデオモデルの適応的使用 Pending JP2024511932A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/219,460 2021-03-31
US17/219,460 US11842540B2 (en) 2021-03-31 2021-03-31 Adaptive use of video models for holistic video understanding
PCT/US2022/014137 WO2022211891A1 (en) 2021-03-31 2022-01-27 Adaptive use of video models for holistic video understanding

Publications (1)

Publication Number Publication Date
JP2024511932A true JP2024511932A (ja) 2024-03-18

Family

ID=80447671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023552087A Pending JP2024511932A (ja) 2021-03-31 2022-01-27 全体論的ビデオ理解のためのビデオモデルの適応的使用

Country Status (8)

Country Link
US (1) US11842540B2 (ja)
EP (1) EP4315273A1 (ja)
JP (1) JP2024511932A (ja)
KR (1) KR20230163382A (ja)
CN (1) CN116997938A (ja)
BR (1) BR112023019163A2 (ja)
TW (1) TW202240451A (ja)
WO (1) WO2022211891A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6800453B1 (ja) * 2020-05-07 2020-12-16 株式会社 情報システムエンジニアリング 情報処理装置及び情報処理方法
US20240211802A1 (en) * 2022-12-22 2024-06-27 Lumana Inc. Hybrid machine learning architecture for visual content processing and uses thereof

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982351A (zh) * 2012-11-15 2013-03-20 河北省电力公司电力科学研究院 基于bp神经网络的瓷绝缘子振动声学检测数据分类方法
KR20180057409A (ko) 2016-11-22 2018-05-30 박진수 오디오 신호 기반의 영상 분류 방법 및 영상 분류 장치
US11568325B2 (en) * 2017-05-16 2023-01-31 Sony Interactive Entertainment Inc. Learning apparatus, estimation apparatus, learning method, and program
US10796152B2 (en) * 2018-09-21 2020-10-06 Ancestry.Com Operations Inc. Ventral-dorsal neural networks: object detection via selective attention
US20200202167A1 (en) * 2018-12-20 2020-06-25 Here Global B.V. Dynamically loaded neural network models
US11663815B2 (en) * 2020-03-27 2023-05-30 Infosys Limited System and method for inspection of heat recovery steam generator

Also Published As

Publication number Publication date
CN116997938A (zh) 2023-11-03
BR112023019163A2 (pt) 2023-10-17
WO2022211891A1 (en) 2022-10-06
US11842540B2 (en) 2023-12-12
TW202240451A (zh) 2022-10-16
EP4315273A1 (en) 2024-02-07
KR20230163382A (ko) 2023-11-30
US20220318553A1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
CN112507898B (zh) 一种基于轻量3d残差网络和tcn的多模态动态手势识别方法
US10275719B2 (en) Hyper-parameter selection for deep convolutional networks
WO2022042713A1 (zh) 一种用于计算设备的深度学习训练方法和装置
US11443514B2 (en) Recognizing minutes-long activities in videos
US20220101539A1 (en) Sparse optical flow estimation
JP2024511932A (ja) 全体論的ビデオ理解のためのビデオモデルの適応的使用
US11941822B2 (en) Volumetric sampling with correlative characterization for dense estimation
WO2022104026A1 (en) Consistency measure for image segmentation processes
US11694301B2 (en) Learning model architecture for image data semantic segmentation
US20180165539A1 (en) Visual-saliency driven scene description
US11636694B2 (en) Video-based activity recognition
EP4058940A1 (en) Permutation invariant convolution (pic) for recognizing long-range activities
US20230386052A1 (en) Scene segmentation and object tracking
US20240233331A1 (en) Message passing network based object signature for object tracking
US20230419087A1 (en) Adapters for quantization
WO2024012171A1 (zh) 二值量化方法、神经网络的训练方法、设备以及存储介质
US20240020844A1 (en) Feature conditioned output transformer for generalizable semantic segmentation
US20240070812A1 (en) Efficient cost volume processing within iterative process
WO2024147911A1 (en) Message passing network based object signature for object tracking
WO2024049590A1 (en) Efficient cost volume processing within iterative process
WO2023249821A1 (en) Adapters for quantization
TW202326510A (zh) 持續的兩階段活動辨識
WO2023091925A1 (en) Panoptic segmentation with panoptic, instance, and semantic relations
CN113761992A (zh) 一种视频动作识别方法及设备