<関連出願の相互参照>
本開示は、2021年5月28日に提出した、出願番号が202110589375.6で、発明の名称が「ビデオ認識モデルをトレーニングする方法、装置、機器及び記憶媒体」である中国特許出願に基づく優先権を主張し、当該特許出願の全文を引用により本開示に組み込む。
本開示は、人工知能分野に関し、具体的にコンピュータビジョンと深層学習技術に関し、ビデオ解析シーンに適用できる。
ビデオ認識ことは、すなわち、入力されたビデオをビデオコンテンツによって分類することである。ビデオ認識は、コンピュータビジョンコミュニティにおいて最も活性化された研究テーマの1つである。ビデオ認識方法を評価する二つの最も重要な点は分類精度と推論コストである。最近のビデオ認識は認識精度の点で大きく成功したが、計算コストが厖大であるため、依然として難しい課題となっている。
現在、深層学習に関連する方法に対して、ビデオ認識の精度を向上させる仕事は主に高次動作のセマンティックをキャプチャするネットワーク構造の設計に集中しており、ネットワークに入力されたフレームは等間隔またはランダムな間隔でサンプリングすることによって得られている。推論過程では、得られたスニペットの結果を平均している。この方法は短尺のビデオでは効果的であるが、より長く、より豊富な情報を有する長尺のビデオではその精度が大きく低下してしまう。
本開示の実施形態は、ビデオ認識モデルをトレーニングするための方法、装置、機器、記憶媒体およびプログラム製品を提供する。
第1の態様では、本開示の実施形態は、ビデオ認識モデルをトレーニングする方法であって、実際のカテゴリラベルがアノテートされたサンプルビデオを複数のサンプルビデオスニペットに分割するステップと、サンプルビデオスニペットから一部のサンプルビデオフレームをサンプリングし、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得るステップと、ビデオの入力に応じて変化する畳み込みカーネルを有する動的スニペット融合モジュールを用いて、特徴情報を畳み込み融合して融合特徴情報を得るステップと、融合特徴情報を全結合層に入力して、サンプルビデオの予測カテゴリを得るステップと、実際のカテゴリラベルと予測カテゴリとの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得るステップと、を含む方法を提供する。
第2の態様では、本開示の実施形態は、ビデオを認識する方法であって、認識対象ビデオを取得するステップと、認識対象ビデオを複数の認識すべきビデオスニペットに分割するステップと、認識すべきビデオスニペットから一部の認識すべきビデオフレームをサンプリングし、ビデオ認識モデルに入力して認識対象ビデオのカテゴリを得るステップとを含み、ビデオ認識モデルは、第1の態様のいずれか1つの実施形態に記載の方法によりトレーニングされて得る方法を提供する。
第3の態様では、本開示の実施形態は、ビデオ認識モデルをトレーニングする装置であって、実際のカテゴリラベルがアノテートされたサンプルビデオを複数のサンプルビデオスニペットに分割するように構成される分割モジュールと、サンプルビデオスニペットから一部のサンプルビデオフレームをサンプリングし、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得るように構成される抽出モジュールと、ビデオの入力に応じて変化する畳み込みカーネルを有する動的スニペット融合モジュールにより特徴情報を畳み込み融合して融合特徴情報を得るように構成される融合モジュールと、融合特徴情報を全結合層に入力してサンプルビデオの予測カテゴリを得るように構成される予測モジュールと、実際のカテゴリラベルと予測カテゴリとの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得るように構成される調整モジュールとを備える装置を提供する。
第4の態様では、本開示の実施形態は、ビデオを認識する装置であって、認識対象ビデオを取得するように構成される取得モジュールと、認識対象ビデオを複数の認識すべきビデオスニペットに分割するように構成される分割モジュールと、認識すべきビデオスニペットから一部の認識すべきビデオフレームをサンプリングし、ビデオ認識モデルに入力して前記認識対象ビデオのカテゴリを得るように構成される認識モジュールとを備え、ビデオ認識モデルは、第1の態様のいずれか1つの実施形態に記載の方法によりトレーニングされて得る装置を提供する。
第5の態様では、本開示の実施形態は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと通信可能に接続されたメモリとを備える電子機器であって、メモリには、少なくとも1つのプロセッサによって実行可能な指令が格納されており、指令が少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに第1の態様のいずれか1つの実施形態に記載の方法または第2の態様のいずれか1つの実施形態に記載の方法を実行させる、電子機器を提供する。
第6の態様では、本開示の実施形態は、コンピュータ指令が格納されている非一時的コンピュータ可読記憶媒体であって、コンピュータ指令はコンピュータに第1の態様のいずれか1つの実施形態に記載の方法または第2の態様のいずれか1つの実施形態に記載の方法を実行させるために用いられる非一時的コンピュータ可読記憶媒体を提供する。
第7の態様では、本開示の実施形態は、プロセッサによって実行されると、第1の態様のいずれか1つの実施形態に記載の方法または第2の態様のいずれか1つの実施形態に記載の方法が実行されるコンピュータプログラムを含むコンピュータプログラム製品を提供する。
本開示の実施形態によって提供されたビデオ認識モデルをトレーニングする方法、装置、機器、記憶媒体およびプログラム製品は、動的スニペット融合モジュールを設計することにより、ビデオ認識モデルの畳み込みカーネルが、トレーニングおよび推論においてビデオの入力に応じて変化するようにすることができ、認識精度を向上させることができる。ビデオ認識モデルは動的畳み込み融合の認識方式を採用して、融合スニペットの畳み込みカーネルパラメータは入力されたビデオによって変化することができ、単に1種の畳み込みカーネルを使用する場合に比較してより精確なタイムドメインの感知を実現でき、認識精度を高めると同時に計算の複雑さを増加させることがない。特に、より長く、より豊かな情報を持つ長尺のビデオの認識精度を向上させることができる。中尺、長尺のビデオの分類、テレビドラマコンテンツの分類などに応用できる。
なお、発明の概要に記載された内容は、本開示の実施形態のかなめとなる特徴または重要な特徴を限定することを意図するものではなく、本開示の範囲を限定するものでもない。本開示の他の特徴は、以下の説明によって理解しやすくなる。
本開示の他の特徴、目的および利点は、以下の図面を参照してなされる非限定的な実施形態に係る詳細な説明を読むことにより、より明らかになる。図面は本開示をよりよく理解するために用いられ、本開示に対する限定を構成するものではない。
本開示に係るビデオ認識モデルをトレーニングする方法の一実施形態を示すフローチャートである。
本開示に係るビデオ認識モデルをトレーニングする方法のもう一つの実施形態を示すフローチャートである。
本開示の実施形態に係るビデオ認識モデルをトレーニングする方法を実現可能なシーンを示す図である。
ビデオ認識モデルの構造概略図である。
DSA Blockの構造概略図である。
本開示に係るビデオ認識方法の一実施形態を示すフローチャートである。
本開示に係るビデオ認識モデルをトレーニングする装置の一実施形態を示す構造概略図である。
本開示に係るビデオ認識装置の一実施形態を示す構造概略図である。
本開示の実施形態に係るビデオ認識モデルをトレーニングする方法またはビデオを認識する方法を実現するための電子機器のブロック図である。
以下は、図面を参照して本開示の例示的な実施形態を説明し、ここで理解を助けるため、本開示の実施形態の様々な詳細を記載するが、これらは単なる例示的なものに過ぎないことを理解すべきである。従って、本開示の範囲および要旨を逸脱しない限り、当業者は本明細書の実施形態に対して様々な変更および修正を行うことができることを理解すべきである。なお、以下の説明では、明確化および簡略化のため、公知の機能および構成については説明を省略する。
なお、本開示の実施形態および実施形態における特徴は、矛盾を生じない限り、相互に組み合わせることができる。以下、図面および実施形態を参照しながら本開示を詳細に説明する。
図1は、本開示に係るビデオ認識モデルをトレーニングする方法の一実施形態のフロー100を示す。当該ビデオ認識モデルをトレーニングする方法は、次のステップを含む。
ステップ101では、サンプルビデオを複数のサンプルビデオスニペットに分割する。
本実施形態において、ビデオ認識モデルをトレーニングする方法の実行主体は、サンプルビデオセットを取得することができる。上記実行主体は、サンプルビデオセット内のサンプルビデオについて、サンプルビデオを複数のサンプルビデオスニペットに分割することができる。
ここで、サンプルビデオセットは、実際のカテゴリラベルでアノテートされた大量のサンプルビデオを含んでもよい。サンプルビデオにアノテートされた実際のカテゴリラベルは、他のビデオ認識モデルを用いて分類されて得ることもできるし、手動で分類されて得ることもできるが、ここでは限定しない。
ここで、サンプルビデオは、サンプルビデオスニペットを様々な方法で分割することができる。例えば、サンプルビデオをビデオの長さに応じて均等に分割して同じ長さの複数のサンプルビデオスニペットを得る。また、例えば、サンプルビデオを固定の長さで分割し、複数の固定の長さのサンプルビデオスニペットを得る。さらに、例えば、サンプルビデオをランダムに分割してランダムな長さを有する複数のサンプルビデオスニペットを得る。
ステップ102では、サンプルビデオスニペットから一部のサンプルビデオフレームをサンプリングし、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得る。
本実施形態では、複数のサンプルビデオスニペットにおけるサンプルビデオスニペットについて、上記実行主体は、サンプルビデオスニペットから一部のサンプルビデオフレームをサンプリングし、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得ることができる。一部のサンプルビデオフレームのみをサンプリングし、特徴抽出ネットワークに入力して特徴抽出を行うことで、トレーニングの作業量を低減させ、トレーニング時間を短縮させることができる。
このうち、特徴抽出ネットワークは、ビデオから特徴を抽出するために用いられることができ、特徴を抽出するための各種のニューラルネットワークを含むが、これらに限定されることはない。例えば、CNN(Convolutional Neural Network,畳み込みニューラルネットワーク)である。
ここで、サンプルビデオスニペットは、様々な方法でサンプルビデオフレームをサンプリングすることができる。例えば、サンプルビデオスニペットを等間隔でサンプリングして、複数の等間隔のサンプルビデオフレームを得る。また、例えば、サンプルビデオスニペットをランダムにサンプリングし、複数のランダムな間隔を有するサンプルビデオフレームを得る。
ステップ103では、特徴情報を、動的スニペット融合モジュールを用いて畳み込み融合して融合特徴情報を得る。
本実施形態では、上記実行主体は、特徴情報を、動的スニペット融合モジュール(DSA Module)を用いて畳み込み融合して融合特徴情報を得ることができる。
ここで、動的スニペット融合モジュールの畳み込みカーネルは、ビデオの入力に応じて変化し得る。異なるビデオが特徴情報において表れた差異、特に特徴チャネルにおいて表れた差異に対して、動的スニペット融合モジュールは、動的畳み込みカーネルを生成する。畳み込みカーネルは、入力されたビデオの変化に応じて変化し、かつ入力チャネルに関連する。畳み込みカーネルは、ビデオの各ビデオスニペットの特徴情報を畳み込み融合することにより、ビデオの長タイムドメインの検知とモデリングを実現する。
一般的に、ビデオ認識モデルは、複数の残差層を含むことができ、残差層は、動的スニペット融合モジュールを内部に配置することができる。実際、設定する動的融合モジュールが多いほど、融合回数が多いほど、認識精度は高くなるが、計算量が大きくなってしまう。従って、認識精度要求と計算量要求を総合的に考慮して、設定する動的融合モジュールの数を決定することができる。あるいは、ビデオ認識モデルの複数の残差層は、少なくとも1つの動的スニペット融合モジュールを、間隔を置いて配置してもよい。例えば、ビデオ認識モデルは、Res2、Res3、Res4およびRes5を含む。Res3とRes5の内部に2つの動的融合モジュールをそれぞれ設ける。
ステップ104では、融合特徴情報を全結合層に入力してサンプルビデオの予測カテゴリを得る。
本実施形態では、上記実行主体は、融合特徴情報を全結合層に入力して分類することにより、サンプルビデオの予測カテゴリを得ることができる。ここで、全結合層は、サンプルビデオが予め設定された各カテゴリに属するスコアを出力することができる。
ステップ105では、実際のカテゴリラベルと予測カテゴリの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得る。
本実施形態では、上記実行主体は、実際のカテゴリラベルと予測カテゴリの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得ることができる。なお、パラメータを調整する目的は、実際のカテゴリラベルと予測カテゴリの差異を十分小さくするためである。
本実施形態のいくつかのオプション的な実施形態では、上記実行主体は、まず、実際のカテゴリラベルと予測カテゴリに基づいてクロスエントロピー損失を計算し、次に、SGD(Stochastic Gradient Descent,確率的勾配降下)によりクロスエントロピー損失を最適化し、クロスエントロピー損失が収束するまでパラメータの更新を継続し、ビデオ認識モデルを得ることができる。
本開示の実施形態に提供されたビデオ認識モデルをトレーニングする方法は、動的スニペット融合モジュールを設計することにより、ビデオ認識モデルの畳み込みカーネルを、トレーニングおよび推論において入力されたビデオに応じて変化させることによって認識精度を向上させることができる。ビデオ認識モデルは動的畳み込み融合の認識方式を採用して、融合スニペットの畳み込みカーネルパラメータは入力されたビデオに従って変化することができ、単に1種の畳み込みカーネルを使用する場合に比較してより精確なタイムドメインの検知を実現でき、認識精度を高めることができると同時に計算の複雑さを増加させることがない。特に、より長く、より豊かな情報を有する長尺のビデオの認識精度を向上させることができる。中尺、長尺のビデオの分類、テレビドラマコンテンツの分類などに応用できる。
次に、本開示に係るビデオ認識モデルをトレーニングする方法のもう一つの実施形態のフロー200を示す図2を参照する。当該ビデオ認識モデルをトレーニングする方法は、次のステップを含む。
ステップ201では、サンプルビデオをビデオの長さに応じて均等に分割して複数のサンプルビデオスニペットを得る。
本実施形態において、ビデオ認識モデルをトレーニングする方法の実行主体は、サンプルビデオセットを取得することができる。上記実行主体は、サンプルビデオセット内のサンプルビデオについて、ビデオの長さによってサンプルビデオを均等に分割し、複数のサンプルビデオスニペットを得ることができる。例えば、10秒のサンプルビデオの場合、2秒毎に均等に分割し、長さが2秒のサンプルビデオを5つ得る。
ここで、サンプルビデオセットは、実際のカテゴリラベルでアノテートされた大量のサンプルビデオを含んでもよい。サンプルビデオにアノテートされた実際のカテゴリラベルは、他のビデオ認識モデルを用いて分類して得ることもできるし、手動で分類して得ることもできるが、ここでは限定しない。
ステップ202では、サンプルビデオスニペットを等間隔でサンプリングして一部のサンプルビデオフレームを得、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得る。
本実施形態では、複数のサンプルビデオスニペットにおけるサンプルビデオスニペットについて、上記実行主体は、サンプルビデオスニペットを等間隔でサンプリングして一部のサンプルビデオフレームを得、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得ることができる。一部のサンプルビデオフレームのみをサンプリングし、特徴抽出ネットワークに入力して特徴抽出を行うことで、トレーニング作業量を低減させ、トレーニング時間を短縮させることができる。例えば、2秒のサンプルビデオスニペットについて、0.25秒毎に均等にサンプリングし、8フレームのサンプルビデオフレームを得る。
このうち、特徴抽出ネットワークは、ビデオから特徴を抽出するために用いられることができ、特徴を抽出するための各種のニューラルネットワークを含むが、これらに限定されることはない。例えば、CNNである。
ここでは、ビデオの長さに応じてサンプルビデオを均等に分割し、分割によって得られたサンプルビデオを等間隔でサンプリングすることにより、特徴抽出ネットワークがサンプルビデオの各位置の特徴情報を抽出することができる。
ステップ203では、特徴情報をチャネル次元で第1の特徴情報と第2の特徴情報とに分割する。
本実施形態では、上記実行主体は、特徴情報をチャネル次元で第1の特徴情報と第2の特徴情報とに分割することができる。第1の特徴情報と第2の特徴情報は異なるチャネル次元に対応する。
本実施形態のいくつかのオプション的な実施形態では、上記実行主体は、予め設定されたスーパーパラメータβに基づいて、特徴情報をチャネル次元において第1の特徴情報と第2の特徴情報とに分割してもよい。ここで、第1の特徴情報のチャネル次元はβCであってもよく、第2の特徴情報のチャネル次元は(1-β)Cであってもよい。Cは、特徴情報のチャネル次元である。βはスーパーパラメータであり、その値の取り得る範囲は(0,1)である。第1の特徴情報は畳み込み演算が必要であり、第2の特徴情報は連結演算のみが必要であるため、スーパーパラメータβを調整することで畳み込み計算量を制御することができる。通常、スーパーパラメータβの取り得る範囲を(0,0.5)とすることで、畳み込み計算量を低減させることができる。
ステップ204では、畳み込みカーネル生成分岐ネットワークによりサンプルビデオに対応する畳み込みカーネルを決定する。
本実施形態では、上記実行主体は、畳み込みカーネル生成分岐ネットワークによりサンプルビデオに対応する畳み込みカーネルを決定することができる。
ここで、動的スニペット融合モジュール(DSA Module)は、畳み込みカーネル生成分岐ネットワークを含んでもよい。畳み込みカーネル生成分岐ネットワークは、畳み込みカーネルの生成に用いることができる。畳み込みカーネルは、入力されたビデオの変化に応じて変化してもよい。
本実施形態のいくつかのオプション的な実施形態では、上記実行主体は、まず、第1の特徴情報のチャネル次元βC、サンプルビデオのスニペット数U、サンプルビデオスニペットのサンプリングフレーム数T、サンプルビデオフレームの高さHと幅Wとの積βC×U×T×H×Wを計算し、この積βC×U×T×H×Wを畳み込みカーネル生成分岐ネットワークに入力することにより、サンプルビデオに対応する畳み込みカーネルを迅速に求めることができる。このうち、畳み込みカーネル生成分岐ネットワークは、1つのGAP(Global Average Pooling,グローバル平均プーリング層)と2つのFC(Fully Connected Layer,全結合層)を含んでもよい。
ステップ205では、サンプルビデオに対応する畳み込みカーネルを用いて第1の特徴情報に対して畳み込みを行い、畳み込み結果を得る。
本実施形態では、上記実行主体はサンプルビデオに対応する畳み込みカーネルを用いて第1の特徴情報に対して畳み込みを行い、畳み込み結果を得ることができる。
ステップ206では、畳み込み結果を第2の特徴情報と連結して融合特徴を得る。
本実施形態では、上記実行主体は、畳み込み結果と第2の特徴情報とを連結して融合特徴を得ることができる。特徴情報をチャネル次元で第1の特徴情報と第2の特徴情報に分割し、第1の特徴情報のみに対して畳み込みを行い、第2の特徴情報と連結して融合特徴を得ることにより、畳み込み計算量を低減させることができる。
ステップ207では、融合特徴情報を全結合層に入力してサンプルビデオの予測カテゴリを得る。
ステップ208では、実際のカテゴリラベルと予測カテゴリの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得る。
本実施形態では、ステップ207~208の具体的な動作は、図1に示す実施形態のステップ104~105の動作に詳しく説明したので、ここではその説明を省略する。
図2から分かるように、図1の対応する実施形態と比較すると、本実施形態におけるビデオ認識モデルをトレーニングする方法は、ビデオ分割ステップ、ビデオフレームサンプリングステップ、および畳み込み融合ステップを強調した。このように、本実施形態では、ビデオの長さに応じてサンプルビデオを均等に分割し、分割したサンプルビデオを等間隔でサンプリングすることにより、特徴抽出ネットワークがサンプルビデオの各位置の特徴情報を抽出することができるようにする。特徴情報をチャネル次元で第1の特徴情報と第2の特徴情報に分割し、第1の特徴情報に対して畳み込みを行い第2の特徴情報と連結して融合特徴を得ることにより、畳み込み計算量を低減させることができる。
さらに、本開示の実施形態に係るビデオ認識モデルをトレーニングする方法を実現可能なシーンを示す図3を参照する。図3に示すように、サンプルビデオを4つのサンプルビデオスニペット(Snippets)に均等に分割し、各サンプルビデオスニペットから4フレーム分のビデオフレームを等間隔でサンプリングする。4つのサンプルビデオスニペットの4フレームのビデオフレームをCNN Layersにそれぞれ入力し、4つのサンプルビデオスニペットの特徴情報を得る。4つのサンプルビデオスニペットの特徴情報をDSAモジュールにより畳み込み融合し、得られた融合特徴をCNN Layersにそれぞれ入力して処理する。
さらに、ビデオ認識モデルの構造概略図を示す図4を参照する。図4に示すように、ビデオ認識モデルは、畳み込み層と、複数の残差層と、全結合層とを含んでもよく、複数の残差層は、動的スニペット融合モジュールを、間隔を置いて設置してもよい。具体的には、ビデオ認識モデルは、Conv1、Res2、Res3、Res4、Res5およびFCを含む。サンプルビデオのSnippetsは、Conv1、Res2、Res3、Res4、Res5、FCの処理を経て、サンプルビデオの予測カテゴリ(各予め設定されたカテゴリに属するscore)を得る。Res3とRes5の内部には2つの動的融合モジュールがそれぞれ設けられている。図4はRes3の構成のみを示しており、2つのRes Blockと2つのDSA Blockとを含んでいる。Res5の構成は、Res3の構成と同様であり、図3には示していない。
DSA Blockの構造概略図を示す図5を参照する。このうち、図5は、2種類のDSA Blockを示している。図5AはDSA Block(for TSM)を示しており、2D DSA Blockである。図5BはDSA Block(for I3D)を示しており、3D DSA Blockである。図5Cは、DSA Block(for TSM)とDSA Block(for I3D)におけるDSA Moduleの構造概略図を示す。DSA Moduleは、1つのGAPと2つのFCを含む。特徴情報は、チャネル次元において、第1の特徴情報βCと第2の特徴情報(1-β)Cとに分割されている。積βC×U×T×H×WをGAPに入力してβC×Uを得る。βC×UをFCに入力してβC×aUを得る。βC×aUをFCに入力してβC×Lを得る。βC×LをβC×U×T×H×Wと畳み込み、(1-β)C×U×T×H×Wと連結する。
さらに、本開示に係るビデオを認識する方法の一実施形態のフロー600を示す図6を参照する。当該ビデオを認識する方法は、次のステップを含む。
ステップ601では、認識対象ビデオを取得する。
本実施形態において、ビデオを認識する方法の実行主体は、認識対象ビデオを取得することができる。
ステップ602では、認識対象ビデオを複数の認識すべきビデオスニペットに分割する。
本実施形態では、上記実行主体は、認識対象ビデオを複数の認識すべきビデオスニペットに分割することができる。
ここで、認識対象ビデオの分割方法については、サンプルビデオの分割方法を参照することができ、ここではその説明を省略する。
本実施形態のいくつかのオプション的な実施形態では、認識対象ビデオの分割粒度は、ビデオ認識モデルをトレーニングするためのサンプルビデオの分割粒度よりも大きい。ビデオ認識モデルをトレーニングするためのサンプルビデオの数は膨大であり、サンプルビデオの分割粒度を小さくすることでトレーニング時間を短縮させることができる。また、認識対象ビデオの分割粒度を大きくすることにより、認識精度を向上させることができる。例えば、10秒のサンプルビデオの場合、2秒毎に均等に分割し、長さが2秒のサンプルビデオを5つ得る。10秒の認識対象ビデオに対して、1秒毎に均等に分割して、1秒の認識すべきビデオスニペットを得る。
ステップ603では、認識すべきビデオスニペットから一部の認識すべきビデオフレームをサンプリングし、ビデオ認識モデルに入力して認識対象ビデオのカテゴリを得る。
本実施形態では、認識すべきビデオスニペットから一部の認識すべきビデオフレームをサンプリングし、ビデオ認識モデルに入力して予測し、予測結果を集約することにより、認識対象ビデオのカテゴリを得ることができる。
ここで、認識すべきビデオスニペットのサンプリング方法については、サンプルビデオスニペットのサンプリング方法を参照することができ、ここではその説明を省略する。ビデオ認識モデルは、ビデオの分類に用いることができ、図1~図2のいずれかの実施形態によって提供された方法によりトレーニングされるものであり、ここではその説明を省略する。
本開示の実施形態に提供されたビデオを認識する方法は、動的スニペット融合に基づく効率的なビデオ認識方法であって、動的スニペット融合モジュールを設計することにより、ビデオ認識モデルの畳み込みカーネルをトレーニングおよび推論において入力されたビデオに応じて変化させることによって認識精度を向上させることができる。ビデオ認識モデルは動的畳み込み融合の認識方式を採用して、融合スニペットの畳み込みカーネルパラメータは入力されたビデオによって変化することができ、単に1種の畳み込みカーネルを使用する場合に比較してより精確なタイムドメインの検知を実現でき、認識精度を高めると同時に計算の複雑さを増加させることがない。特に、より長く、より豊かな情報を有する長尺のビデオの認識精度を向上させることができる。中尺、長尺のビデオの分類、テレビドラマコンテンツの分類などに利用可能である。
更に図7を参照すると、上記の各図に示された方法の実施態様として、本開示は、ビデオ認識モデルをトレーニングする装置の一実施形態を提供し、当該装置の実施形態は、図1に示された方法の実施形態に対応しており、当該装置は、具体的に様々な電子機器に適用することができる。
図7に示すように、本実施形態のビデオ認識モデルをトレーニングする装置700は、分割モジュール701と、抽出モジュール702と、融合モジュール703と、予測モジュール704と、調整モジュール705とを備えてもよい。このうち、分割モジュール701は、実際のカテゴリラベルがアノテートされたサンプルビデオを複数のサンプルビデオスニペットに分割するように構成される。抽出モジュール702は、サンプルビデオスニペットから一部のサンプルビデオフレームをサンプリングし、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得るように構成される。融合モジュール703は、ビデオの入力に応じて変化する畳み込みカーネルを有する動的スニペット融合モジュールにより特徴情報を畳み込み融合して融合特徴情報を得るように構成される。予測モジュール704は、融合特徴情報を全結合層に入力してサンプルビデオの予測カテゴリを得るように構成される。調整モジュール705は、実際のカテゴリラベルと予測カテゴリとの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得るように構成される。
本実施形態において、ビデオ認識モデルをトレーニングする装置700における分割モジュール701、抽出モジュール702、融合モジュール703、予測モジュール704および調整モジュール705の具体的な処理およびそれらによって奏される技術的効果は、それぞれ図1の対応する実施形態におけるステップ101~105の関連する説明を参照することができ、ここではその説明を省略する。
本実施形態のいくつかのオプション的な実施形態では、融合モジュール703は、特徴情報をチャネル次元で第1の特徴情報と第2の特徴情報とに分割するように構成される分割サブモジュールと、畳み込みカーネル生成分岐ネットワークにより、サンプルビデオに対応する畳み込みカーネルを決定するように構成される決定サブモジュールと、サンプルビデオに対応する畳み込みカーネルを用いて第1の特徴情報に対して畳み込みを行い、畳み込み結果を得るように構成される畳み込みサブモジュールと、畳み込み結果と第2の特徴情報とを連結して融合特徴を得るように構成される連結サブモジュールと、を備える。
本実施形態のいくつかのオプション的な実施形態では、分割サブモジュールは、さらに特徴情報を、予め設定されたスーパーパラメータβに基づいてチャネル次元で第1の特徴情報と第2の特徴情報とに分割するよう構成され、第1の特徴情報のチャネル次元はβCであり、第2の特徴情報のチャネル次元は(1-β)Cであり、Cは特徴情報のチャネル次元である。
本実施形態のいくつかのオプション的な実施形態では、決定サブモジュールは、さらに、第1の特徴情報のチャネル次元βCと、サンプルビデオのスニペット数と、サンプルビデオスニペットのサンプリングフレーム数と、サンプルビデオフレームの高さと幅との積を算出し、積を畳み込みカーネル生成分岐ネットワークに入力して、サンプルビデオに対応する畳み込みカーネルを得るように構成される。
本実施形態のいくつかのオプション的な実施形態では、畳み込みカーネル生成分岐ネットワークは、1つのグローバル平均プーリング層と2つの全結合層を含む。
本実施形態のいくつかのオプション的な実施形態では、ビデオ認識モデルは複数の残差層を含み、複数の残差層には少なくとも1つの動的スニペット融合モジュールが間隔を置いて設けられる。
本実施形態のいくつかのオプション的な実施形態では、分割モジュール701は、サンプルビデオをビデオの長さに応じて均等に分割して複数のサンプルビデオスニペットを得るようにさらに構成され、抽出モジュール1002は、サンプルビデオスニペットを等間隔でサンプリングして一部のサンプルビデオフレームを得るようにさらに構成される。
本実施形態のいくつかのオプション的な実施形態では、調整モジュール705は、実際のカテゴリラベルと予測カテゴリに基づいて、クロスエントロピー損失を計算し、確率的勾配降下を用いてクロスエントロピー損失を最適化し、クロスエントロピー損失が収束するまでパラメータの更新を継続し、ビデオ認識モデルを得るようにさらに構成される。
更に図8を参照すると、上記の各図に示された方法の実施態様として、本開示は、ビデオを認識する装置の一実施形態を提供し、当該装置の実施形態は、図6に示された方法の実施形態に対応しており、当該装置は、具体的に様々な電子機器に適用することができる。
図8に示すように、本実施形態のビデオを認識する装置800は、取得モジュール801と、分割モジュール802と認識モジュール803とを備えてもよい。取得モジュール801は、認識対象ビデオを取得するように構成される。分割モジュール802は、認識対象ビデオを複数の認識すべきビデオスニペットに分割するように構成される。認識モジュール803は、認識すべきビデオスニペットから一部の認識すべきビデオフレームをサンプリングし、ビデオ認識モデルに入力して認識対象ビデオのカテゴリを得るように構成される。ビデオ認識モデルは、図1~図2のいずれか1つの実施形態に記載の方法によりトレーニングされて得る。
本実施形態において、ビデオを認識する装置800において、取得モジュール801、分割モジュール802および認識モジュール803の具体的な処理およびそれらによって奏される技術的効果は、それぞれ図6の対応する実施形態におけるステップ601~603の関連する説明を参照することができ、ここではその説明を省略する。
本実施形態のいくつかのオプション的な実施形態では、認識対象ビデオの分割粒度は、ビデオ認識モデルをトレーニングするためのサンプルビデオの分割粒度よりも大きい。
本開示の技術方案では、関連するユーザ個人情報の取得、記憶および応用などは、いずれも関連法律法規の規定に準拠し、且つ公序良俗に反しない。
本開示の実施形態によれば、本開示はさらに電子機器、読み取り可能な記憶媒体およびコンピュータプログラムを提供する。
図9は、本開示の実施形態を実施するために使用できる例示的な電子機器900の概略ブロック図を示している。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレード型サーバ、メインフレームコンピュータおよびその他の適切なコンピュータ等の様々な形態のデジタルコンピュータを表す。また、電子機器は、個人デジタル動作、携帯電話、スマートフォン、ウェアラブル機器およびその他の類似する計算装置等の様々な形態のモバイルデバイスを表すことができる。なお、ここで示したコンポーネント、それらの接続関係、およびそれらの機能はあくまでも例示であり、ここで記述および/または要求した本開示の実施形態を限定することを意図するものではない。
図9に示すように、機器900は、読み出し専用メモリ(ROM)902に記憶されているコンピュータプログラムまたは記憶ユニット908からランダムアクセスメモリ(RAM)903にロードされたコンピュータプログラムによって様々な適当な動作および処理を実行することができる計算ユニット901を備える。RAM903には、機器900の動作に必要な様々なプログラムおよびデータがさらに格納されることが可能である。計算ユニット901、ROM902およびRAM903は、バス904を介して互いに接続されている。入/出力(I/O)インターフェース905もバス904に接続されている。
機器900において、キーボード、マウスなどの入力ユニット906と、様々なタイプのディスプレイ、スピーカなどの出力ユニット907と、磁気ディスク、光ディスクなどの記憶ユニット908と、ネットワークカード、モデム、無線通信送受信機などの通信ユニット909とを含む複数のコンポーネントは、I/Oインターフェース905に接続されている。通信ユニット909は、電子機器900がインターネットなどのコンピュータネットワークおよび/または様々な電気通信ネットワークを介して他の装置と情報またはデータのやりとりを可能にする。
計算ユニット901は、処理及び計算能力を有する様々な汎用および/または専用処理コンポーネントであってもよい。計算ユニット901のいくつかの例示として、中央処理装置(CPU)、グラフィックスプロセシングユニット(GPU)、様々な専用人工知能(AI)計算チップ、機械学習モデルアルゴリズムを実行する様々な計算ユニット、デジタルシグナルプロセッサ(DSP)、および任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されることはない。計算ユニット901は、上述したビデオ認識モデルをトレーニングする方法のような様々な方法および処理を実行する。例えば、いくつかの実施形態では、ビデオ認識モデルをトレーニングする方法は、記憶ユニット908などの機械可読媒体に有形に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施形態では、コンピュータプログラムの一部または全部は、ROM902および/または通信ユニット909を介して電子機器900にロードおよび/またはインストールされてもよい。コンピュータプログラムがRAM903にロードされ、計算ユニット901によって実行されると、上述したビデオ認識モデルをトレーニングする方法の1つまたは複数のステップを実行可能である。あるいは、他の実施形態では、計算ユニット901は、他の任意の適切な形態によって(例えば、ファームウェアを介して)ビデオ認識モデルをトレーニングする方法を実行するように構成されていてもよい。
ここで説明するシステムおよび技術の様々な実施形態はデジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせにおいて実現することができる。これらの各実施形態は、1つまたは複数のコンピュータプログラムに実装され、当該1つまたは複数のコンピュータプログラムは少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行および/または解釈することができ、当該プログラマブルプロセッサは専用または汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置および少なくとも1つの出力装置からデータおよび指令を受信することができ、且つデータおよび指令を当該記憶システム、当該少なくとも1つの入力装置および当該少なくとも1つの出力装置に伝送することを含み得る。
本開示の方法を実施するためのプログラムコードは、1つまたは複数のプログラミング言語のあらゆる組み合わせで作成されてもよい。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、または他のプログラミング可能なデータ処理装置のプロセッサまたはコントローラに提供されることができ、これらのプログラムコードがプロセッサまたはコントローラによって実行されると、フローチャートおよび/またはブロック図に規定された機能または動作が実施される。プログラムコードは、完全にデバイス上で実行されることも、部分的にデバイス上で実行されることも、スタンドアロンソフトウェアパッケージとして部分的にデバイス上で実行されながら部分的にリモートデバイス上で実行されることも、または完全にリモートデバイスもしくはサーバ上で実行されることも可能である。
本開示のコンテキストでは、機械可読媒体は、有形の媒体であってもよく、指令実行システム、装置または機器が使用するため、または指令実行システム、装置または機器と組み合わせて使用するためのプログラムを含むか、または格納してもよい。機械可読媒体は、機械可読信号媒体または機械可読記憶媒体であり得る。機械可読媒体は、電子的、磁気的、光学的、電磁的、赤外線の、または半導体のシステム、装置または機器、またはこれらのあらゆる適切な組み合わせを含むことができるが、これらに限定されない。機械可読記憶媒体のより具体的な例には、1本または複数本のケーブルに基づく電気的接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、コンパクトディスク読み取り専用メモリ(CD-ROM)、光学記憶装置、磁気記憶装置、またはこれらのあらゆる適切な組み合わせが含まれ得る。
ユーザとのインタラクションを提供するために、ここで説明するシステムと技術は、ユーザに情報を表示するための表示装置(例えば、陰極線管(CathodeRayTube,CRT)またはLCD(液晶ディスプレイ)モニタ)と、キーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)とを備えるコンピュータ上で実装することができ、ユーザが該キーボードおよび該ポインティングデバイスを介してコンピュータに入力を提供できる。他の種類の装置もユーザとのやりとりを行うことに用いることができる。例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであるいかなる形態のセンシングフィードバックであってもよく、且つ音入力、音声入力若しくは触覚入力を含むいかなる形態でユーザからの入力を受信してもよい。
ここで説明したシステムおよび技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバ)に実施されてもよく、またはミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)に実施されてもよく、またはフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインターフェースまたはウェブブラウザを有するユーザコンピュータ)に実施されてもよく、ユーザは該グラフィカルユーザインターフェースまたはウェブブラウザを介してここで説明したシステムおよび技術の実施形態とインタラクションしてもよく、またはこのようなバックエンドコンポーネント、ミドルウェアコンポーネントまたはフロントエンドコンポーネントのいずれかの組み合わせを含むコンピューティングシステムに実施されてもよい。また、システムの各コンポーネントの間は、通信ネットワーク等の任意の形態または媒体を介してデジタルデータ通信により接続されていてもよい。通信ネットワークとしては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)およびインターネットなどを含む。
コンピュータシステムは、クライアントとサーバとを含んでもよい。クライアントとサーバは、通常、互いに離れており、通信ネットワークを介してやりとりを行う。クライアントとサーバとの関係は、互いにクライアント-サーバの関係を有するコンピュータプログラムをそれぞれのコンピュータ上で動作することによって生成される。サーバはクラウドサーバであってもよく、分散システムのサーバ、あるいはブロックチェーンを結合したサーバであってもよい。
なお、上述した様々な形態のフローを用いて、ステップを並び替え、追加または削除を行うことができることを理解すべきである。例えば、本開示に記載された各ステップは、本開示に開示された技術方案の所望の結果が達成できる限り、並行して実行されてもよく、順番に実行されてもよく、異なる順番で実行されてもよい。本明細書はここで制限しない。
上記具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者であれば、設計要件および他の要因に応じて、様々な修正、組み合わせ、副次的な組み合わせ、および置換を行うことができることを理解すべきである。本開示の趣旨および原理を逸脱せずに行われたあらゆる修正、均等な置換および改善などは、いずれも本開示の保護範囲内に含まれるべきである。
<関連出願の相互参照>
本開示は、2021年5月28日に提出した、出願番号が202110589375.6で、発明の名称が「ビデオ認識モデルをトレーニングする方法、装置、機器及び記憶媒体」である中国特許出願に基づく優先権を主張し、当該特許出願の全文を引用により本開示に組み込む。
本開示は、人工知能分野に関し、具体的にコンピュータビジョンと深層学習技術に関し、ビデオ解析シーンに適用できる。
ビデオ認識ことは、すなわち、入力されたビデオをビデオコンテンツによって分類することである。ビデオ認識は、コンピュータビジョンコミュニティにおいて最も活性化された研究テーマの1つである。ビデオ認識方法を評価する二つの最も重要な点は分類精度と推論コストである。最近のビデオ認識は認識精度の点で大きく成功したが、計算コストが厖大であるため、依然として難しい課題となっている。
現在、深層学習に関連する方法に対して、ビデオ認識の精度を向上させる仕事は主に高次動作のセマンティックをキャプチャするネットワーク構造の設計に集中しており、ネットワークに入力されたフレームは等間隔またはランダムな間隔でサンプリングすることによって得られている。推論過程では、得られたスニペットの結果を平均している。この方法は短尺のビデオでは効果的であるが、より長く、より豊富な情報を有する長尺のビデオではその精度が大きく低下してしまう。
本開示の実施形態は、ビデオ認識モデルをトレーニングするための方法、装置、電子機器、記憶媒体およびコンピュータプログラムを提出する。
第1の態様では、本開示の実施形態は、ビデオ認識モデルをトレーニングする方法であって、実際のカテゴリラベルがアノテートされたサンプルビデオを複数のサンプルビデオスニペットに分割するステップと、サンプルビデオスニペットから一部のサンプルビデオフレームをサンプリングし、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得るステップと、ビデオの入力に応じて変化する畳み込みカーネルを有する動的スニペット融合モジュールを用いて、特徴情報を畳み込み融合して融合特徴情報を得るステップと、融合特徴情報を全結合層に入力して、サンプルビデオの予測カテゴリを得るステップと、実際のカテゴリラベルと予測カテゴリとの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得るステップと、を含む方法を提供する。
第2の態様では、本開示の実施形態は、ビデオを認識する方法であって、認識対象ビデオを取得するステップと、認識対象ビデオを複数の認識すべきビデオスニペットに分割するステップと、認識すべきビデオスニペットから一部の認識すべきビデオフレームをサンプリングし、ビデオ認識モデルに入力して認識対象ビデオのカテゴリを得るステップとを含み、ビデオ認識モデルは、第1の態様のいずれか1つの実施形態に記載の方法によりトレーニングされて得る方法を提供する。
第3の態様では、本開示の実施形態は、ビデオ認識モデルをトレーニングする装置であって、実際のカテゴリラベルがアノテートされたサンプルビデオを複数のサンプルビデオスニペットに分割するように構成される分割モジュールと、サンプルビデオスニペットから一部のサンプルビデオフレームをサンプリングし、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得るように構成される抽出モジュールと、ビデオの入力に応じて変化する畳み込みカーネルを有する動的スニペット融合モジュールにより特徴情報を畳み込み融合して融合特徴情報を得るように構成される融合モジュールと、融合特徴情報を全結合層に入力してサンプルビデオの予測カテゴリを得るように構成される予測モジュールと、実際のカテゴリラベルと予測カテゴリとの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得るように構成される調整モジュールとを備える装置を提供する。
第4の態様では、本開示の実施形態は、ビデオを認識する装置であって、認識対象ビデオを取得するように構成される取得モジュールと、認識対象ビデオを複数の認識すべきビデオスニペットに分割するように構成される分割モジュールと、認識すべきビデオスニペットから一部の認識すべきビデオフレームをサンプリングし、ビデオ認識モデルに入力して前記認識対象ビデオのカテゴリを得るように構成される認識モジュールとを備え、ビデオ認識モデルは、第1の態様のいずれか1つの実施形態に記載の方法によりトレーニングされて得る装置を提供する。
第5の態様では、本開示の実施形態は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと通信可能に接続されたメモリとを備える電子機器であって、メモリには、少なくとも1つのプロセッサによって実行可能な指令が格納されており、指令が少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに第1の態様のいずれか1つの実施形態に記載の方法または第2の態様のいずれか1つの実施形態に記載の方法を実行させる、電子機器を提供する。
第6の態様では、本開示の実施形態は、コンピュータ指令が格納されている非一時的コンピュータ可読記憶媒体であって、コンピュータ指令はコンピュータに第1の態様のいずれか1つの実施形態に記載の方法または第2の態様のいずれか1つの実施形態に記載の方法を実行させるために用いられる非一時的コンピュータ可読記憶媒体を提供する。
第7の態様では、本開示の実施形態は、プロセッサによって実行されると、第1の態様のいずれか1つの実施形態に記載の方法または第2の態様のいずれか1つの実施形態に記載の方法が実行されるコンピュータプログラムを提供する。
本開示の実施形態によって提供されたビデオ認識モデルをトレーニングする方法、装置、機器、記憶媒体およびプログラム製品は、動的スニペット融合モジュールを設計することにより、ビデオ認識モデルの畳み込みカーネルが、トレーニングおよび推論においてビデオの入力に応じて変化するようにすることができ、認識精度を向上させることができる。ビデオ認識モデルは動的畳み込み融合の認識方式を採用して、融合スニペットの畳み込みカーネルパラメータは入力されたビデオによって変化することができ、単に1種の畳み込みカーネルを使用する場合に比較してより精確なタイムドメインの感知を実現でき、認識精度を高めると同時に計算の複雑さを増加させることがない。特に、より長く、より豊かな情報を持つ長尺のビデオの認識精度を向上させることができる。中尺、長尺のビデオの分類、テレビドラマコンテンツの分類などに応用できる。
なお、発明の概要に記載された内容は、本開示の実施形態のかなめとなる特徴または重要な特徴を限定することを意図するものではなく、本開示の範囲を限定するものでもない。本開示の他の特徴は、以下の説明によって理解しやすくなる。
本開示の他の特徴、目的および利点は、以下の図面を参照してなされる非限定的な実施形態に係る詳細な説明を読むことにより、より明らかになる。図面は本開示をよりよく理解するために用いられ、本開示に対する限定を構成するものではない。
本開示に係るビデオ認識モデルをトレーニングする方法の一実施形態を示すフローチャートである。
本開示に係るビデオ認識モデルをトレーニングする方法のもう一つの実施形態を示すフローチャートである。
本開示の実施形態に係るビデオ認識モデルをトレーニングする方法を実現可能なシーンを示す図である。
ビデオ認識モデルの構造概略図である。
DSA Blockの構造概略図である。
本開示に係るビデオ認識方法の一実施形態を示すフローチャートである。
本開示に係るビデオ認識モデルをトレーニングする装置の一実施形態を示す構造概略図である。
本開示に係るビデオ認識装置の一実施形態を示す構造概略図である。
本開示の実施形態に係るビデオ認識モデルをトレーニングする方法またはビデオを認識する方法を実現するための電子機器のブロック図である。
以下は、図面を参照して本開示の例示的な実施形態を説明し、ここで理解を助けるため、本開示の実施形態の様々な詳細を記載するが、これらは単なる例示的なものに過ぎないことを理解すべきである。従って、本開示の範囲および要旨を逸脱しない限り、当業者は本明細書の実施形態に対して様々な変更および修正を行うことができることを理解すべきである。なお、以下の説明では、明確化および簡略化のため、公知の機能および構成については説明を省略する。
なお、本開示の実施形態および実施形態における特徴は、矛盾を生じない限り、相互に組み合わせることができる。以下、図面および実施形態を参照しながら本開示を詳細に説明する。
図1は、本開示に係るビデオ認識モデルをトレーニングする方法の一実施形態のフロー100を示す。当該ビデオ認識モデルをトレーニングする方法は、次のステップを含む。
ステップ101では、サンプルビデオを複数のサンプルビデオスニペットに分割する。
本実施形態において、ビデオ認識モデルをトレーニングする方法の実行主体は、サンプルビデオセットを取得することができる。上記実行主体は、サンプルビデオセット内のサンプルビデオについて、サンプルビデオを複数のサンプルビデオスニペットに分割することができる。
ここで、サンプルビデオセットは、実際のカテゴリラベルでアノテートされた大量のサンプルビデオを含んでもよい。サンプルビデオにアノテートされた実際のカテゴリラベルは、他のビデオ認識モデルを用いて分類されて得ることもできるし、手動で分類されて得ることもできるが、ここでは限定しない。
ここで、サンプルビデオは、サンプルビデオスニペットを様々な方法で分割することができる。例えば、サンプルビデオをビデオの長さに応じて均等に分割して同じ長さの複数のサンプルビデオスニペットを得る。また、例えば、サンプルビデオを固定の長さで分割し、複数の固定の長さのサンプルビデオスニペットを得る。さらに、例えば、サンプルビデオをランダムに分割してランダムな長さを有する複数のサンプルビデオスニペットを得る。
ステップ102では、サンプルビデオスニペットから一部のサンプルビデオフレームをサンプリングし、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得る。
本実施形態では、複数のサンプルビデオスニペットにおけるサンプルビデオスニペットについて、上記実行主体は、サンプルビデオスニペットから一部のサンプルビデオフレームをサンプリングし、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得ることができる。一部のサンプルビデオフレームのみをサンプリングし、特徴抽出ネットワークに入力して特徴抽出を行うことで、トレーニングの作業量を低減させ、トレーニング時間を短縮させることができる。
このうち、特徴抽出ネットワークは、ビデオから特徴を抽出するために用いられることができ、特徴を抽出するための各種のニューラルネットワークを含むが、これらに限定されることはない。例えば、CNN(Convolutional Neural Network,畳み込みニューラルネットワーク)である。
ここで、サンプルビデオスニペットは、様々な方法でサンプルビデオフレームをサンプリングすることができる。例えば、サンプルビデオスニペットを等間隔でサンプリングして、複数の等間隔のサンプルビデオフレームを得る。また、例えば、サンプルビデオスニペットをランダムにサンプリングし、複数のランダムな間隔を有するサンプルビデオフレームを得る。
ステップ103では、特徴情報を、動的スニペット融合モジュールを用いて畳み込み融合して融合特徴情報を得る。
本実施形態では、上記実行主体は、特徴情報を、動的スニペット融合モジュール(DSA Module)を用いて畳み込み融合して融合特徴情報を得ることができる。
ここで、動的スニペット融合モジュールの畳み込みカーネルは、ビデオの入力に応じて変化し得る。異なるビデオが特徴情報において表れた差異、特に特徴チャネルにおいて表れた差異に対して、動的スニペット融合モジュールは、動的畳み込みカーネルを生成する。畳み込みカーネルは、入力されたビデオの変化に応じて変化し、かつ入力チャネルに関連する。畳み込みカーネルは、ビデオの各ビデオスニペットの特徴情報を畳み込み融合することにより、ビデオの長タイムドメインの検知とモデリングを実現する。
一般的に、ビデオ認識モデルは、複数の残差層を含むことができ、残差層は、動的スニペット融合モジュールを内部に配置することができる。実際、設定する動的融合モジュールが多いほど、融合回数が多いほど、認識精度は高くなるが、計算量が大きくなってしまう。従って、認識精度要求と計算量要求を総合的に考慮して、設定する動的融合モジュールの数を決定することができる。あるいは、ビデオ認識モデルの複数の残差層は、少なくとも1つの動的スニペット融合モジュールを、間隔を置いて配置してもよい。例えば、ビデオ認識モデルは、Res2、Res3、Res4およびRes5を含む。Res3とRes5の内部に2つの動的融合モジュールをそれぞれ設ける。
ステップ104では、融合特徴情報を全結合層に入力してサンプルビデオの予測カテゴリを得る。
本実施形態では、上記実行主体は、融合特徴情報を全結合層に入力して分類することにより、サンプルビデオの予測カテゴリを得ることができる。ここで、全結合層は、サンプルビデオが予め設定された各カテゴリに属するスコアを出力することができる。
ステップ105では、実際のカテゴリラベルと予測カテゴリの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得る。
本実施形態では、上記実行主体は、実際のカテゴリラベルと予測カテゴリの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得ることができる。なお、パラメータを調整する目的は、実際のカテゴリラベルと予測カテゴリの差異を十分小さくするためである。
本実施形態のいくつかのオプション的な実施形態では、上記実行主体は、まず、実際のカテゴリラベルと予測カテゴリに基づいてクロスエントロピー損失を計算し、次に、SGD(Stochastic Gradient Descent,確率的勾配降下)によりクロスエントロピー損失を最適化し、クロスエントロピー損失が収束するまでパラメータの更新を継続し、ビデオ認識モデルを得ることができる。
本開示の実施形態に提供されたビデオ認識モデルをトレーニングする方法は、動的スニペット融合モジュールを設計することにより、ビデオ認識モデルの畳み込みカーネルを、トレーニングおよび推論において入力されたビデオに応じて変化させることによって認識精度を向上させることができる。ビデオ認識モデルは動的畳み込み融合の認識方式を採用して、融合スニペットの畳み込みカーネルパラメータは入力されたビデオに従って変化することができ、単に1種の畳み込みカーネルを使用する場合に比較してより精確なタイムドメインの検知を実現でき、認識精度を高めることができると同時に計算の複雑さを増加させることがない。特に、より長く、より豊かな情報を有する長尺のビデオの認識精度を向上させることができる。中尺、長尺のビデオの分類、テレビドラマコンテンツの分類などに応用できる。
次に、本開示に係るビデオ認識モデルをトレーニングする方法のもう一つの実施形態のフロー200を示す図2を参照する。当該ビデオ認識モデルをトレーニングする方法は、次のステップを含む。
ステップ201では、サンプルビデオをビデオの長さに応じて均等に分割して複数のサンプルビデオスニペットを得る。
本実施形態において、ビデオ認識モデルをトレーニングする方法の実行主体は、サンプルビデオセットを取得することができる。上記実行主体は、サンプルビデオセット内のサンプルビデオについて、ビデオの長さによってサンプルビデオを均等に分割し、複数のサンプルビデオスニペットを得ることができる。例えば、10秒のサンプルビデオの場合、2秒毎に均等に分割し、長さが2秒のサンプルビデオを5つ得る。
ここで、サンプルビデオセットは、実際のカテゴリラベルでアノテートされた大量のサンプルビデオを含んでもよい。サンプルビデオにアノテートされた実際のカテゴリラベルは、他のビデオ認識モデルを用いて分類して得ることもできるし、手動で分類して得ることもできるが、ここでは限定しない。
ステップ202では、サンプルビデオスニペットを等間隔でサンプリングして一部のサンプルビデオフレームを得、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得る。
本実施形態では、複数のサンプルビデオスニペットにおけるサンプルビデオスニペットについて、上記実行主体は、サンプルビデオスニペットを等間隔でサンプリングして一部のサンプルビデオフレームを得、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得ることができる。一部のサンプルビデオフレームのみをサンプリングし、特徴抽出ネットワークに入力して特徴抽出を行うことで、トレーニング作業量を低減させ、トレーニング時間を短縮させることができる。例えば、2秒のサンプルビデオスニペットについて、0.25秒毎に均等にサンプリングし、8フレームのサンプルビデオフレームを得る。
このうち、特徴抽出ネットワークは、ビデオから特徴を抽出するために用いられることができ、特徴を抽出するための各種のニューラルネットワークを含むが、これらに限定されることはない。例えば、CNNである。
ここでは、ビデオの長さに応じてサンプルビデオを均等に分割し、分割によって得られたサンプルビデオを等間隔でサンプリングすることにより、特徴抽出ネットワークがサンプルビデオの各位置の特徴情報を抽出することができる。
ステップ203では、特徴情報をチャネル次元で第1の特徴情報と第2の特徴情報とに分割する。
本実施形態では、上記実行主体は、特徴情報をチャネル次元で第1の特徴情報と第2の特徴情報とに分割することができる。第1の特徴情報と第2の特徴情報は異なるチャネル次元に対応する。
本実施形態のいくつかのオプション的な実施形態では、上記実行主体は、予め設定されたスーパーパラメータβに基づいて、特徴情報をチャネル次元において第1の特徴情報と第2の特徴情報とに分割してもよい。ここで、第1の特徴情報のチャネル次元はβCであってもよく、第2の特徴情報のチャネル次元は(1-β)Cであってもよい。Cは、特徴情報のチャネル次元である。βはスーパーパラメータであり、その値の取り得る範囲は(0,1)である。第1の特徴情報は畳み込み演算が必要であり、第2の特徴情報は連結演算のみが必要であるため、スーパーパラメータβを調整することで畳み込み計算量を制御することができる。通常、スーパーパラメータβの取り得る範囲を(0,0.5)とすることで、畳み込み計算量を低減させることができる。
ステップ204では、畳み込みカーネル生成分岐ネットワークによりサンプルビデオに対応する畳み込みカーネルを決定する。
本実施形態では、上記実行主体は、畳み込みカーネル生成分岐ネットワークによりサンプルビデオに対応する畳み込みカーネルを決定することができる。
ここで、動的スニペット融合モジュール(DSA Module)は、畳み込みカーネル生成分岐ネットワークを含んでもよい。畳み込みカーネル生成分岐ネットワークは、畳み込みカーネルの生成に用いることができる。畳み込みカーネルは、入力されたビデオの変化に応じて変化してもよい。
本実施形態のいくつかのオプション的な実施形態では、上記実行主体は、まず、第1の特徴情報のチャネル次元βC、サンプルビデオのスニペット数U、サンプルビデオスニペットのサンプリングフレーム数T、サンプルビデオフレームの高さHと幅Wとの積βC×U×T×H×Wを計算し、この積βC×U×T×H×Wを畳み込みカーネル生成分岐ネットワークに入力することにより、サンプルビデオに対応する畳み込みカーネルを迅速に求めることができる。このうち、畳み込みカーネル生成分岐ネットワークは、1つのGAP(Global Average Pooling,グローバル平均プーリング層)と2つのFC(Fully Connected Layer,全結合層)を含んでもよい。
ステップ205では、サンプルビデオに対応する畳み込みカーネルを用いて第1の特徴情報に対して畳み込みを行い、畳み込み結果を得る。
本実施形態では、上記実行主体はサンプルビデオに対応する畳み込みカーネルを用いて第1の特徴情報に対して畳み込みを行い、畳み込み結果を得ることができる。
ステップ206では、畳み込み結果を第2の特徴情報と連結して融合特徴を得る。
本実施形態では、上記実行主体は、畳み込み結果と第2の特徴情報とを連結して融合特徴を得ることができる。特徴情報をチャネル次元で第1の特徴情報と第2の特徴情報に分割し、第1の特徴情報のみに対して畳み込みを行い、第2の特徴情報と連結して融合特徴を得ることにより、畳み込み計算量を低減させることができる。
ステップ207では、融合特徴情報を全結合層に入力してサンプルビデオの予測カテゴリを得る。
ステップ208では、実際のカテゴリラベルと予測カテゴリの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得る。
本実施形態では、ステップ207~208の具体的な動作は、図1に示す実施形態のステップ104~105の動作に詳しく説明したので、ここではその説明を省略する。
図2から分かるように、図1の対応する実施形態と比較すると、本実施形態におけるビデオ認識モデルをトレーニングする方法は、ビデオ分割ステップ、ビデオフレームサンプリングステップ、および畳み込み融合ステップを強調した。このように、本実施形態では、ビデオの長さに応じてサンプルビデオを均等に分割し、分割したサンプルビデオを等間隔でサンプリングすることにより、特徴抽出ネットワークがサンプルビデオの各位置の特徴情報を抽出することができるようにする。特徴情報をチャネル次元で第1の特徴情報と第2の特徴情報に分割し、第1の特徴情報に対して畳み込みを行い第2の特徴情報と連結して融合特徴を得ることにより、畳み込み計算量を低減させることができる。
さらに、本開示の実施形態に係るビデオ認識モデルをトレーニングする方法を実現可能なシーンを示す図3を参照する。図3に示すように、サンプルビデオを4つのサンプルビデオスニペット(Snippets)に均等に分割し、各サンプルビデオスニペットから4フレーム分のビデオフレームを等間隔でサンプリングする。4つのサンプルビデオスニペットの4フレームのビデオフレームをCNN Layersにそれぞれ入力し、4つのサンプルビデオスニペットの特徴情報を得る。4つのサンプルビデオスニペットの特徴情報をDSAモジュールにより畳み込み融合し、得られた融合特徴をCNN Layersにそれぞれ入力して処理する。
さらに、ビデオ認識モデルの構造概略図を示す図4を参照する。図4に示すように、ビデオ認識モデルは、畳み込み層と、複数の残差層と、全結合層とを含んでもよく、複数の残差層は、動的スニペット融合モジュールを、間隔を置いて設置してもよい。具体的には、ビデオ認識モデルは、Conv1、Res2、Res3、Res4、Res5およびFCを含む。サンプルビデオのSnippetsは、Conv1、Res2、Res3、Res4、Res5、FCの処理を経て、サンプルビデオの予測カテゴリ(各予め設定されたカテゴリに属するscore)を得る。Res3とRes5の内部には2つの動的融合モジュールがそれぞれ設けられている。図4はRes3の構成のみを示しており、2つのRes Blockと2つのDSA Blockとを含んでいる。Res5の構成は、Res3の構成と同様であり、図3には示していない。
DSA Blockの構造概略図を示す図5を参照する。このうち、図5は、2種類のDSA Blockを示している。図5AはDSA Block(for TSM)を示しており、2D DSA Blockである。図5BはDSA Block(for I3D)を示しており、3D DSA Blockである。図5Cは、DSA Block(for TSM)とDSA Block(for I3D)におけるDSA Moduleの構造概略図を示す。DSA Moduleは、1つのGAPと2つのFCを含む。特徴情報は、チャネル次元において、第1の特徴情報βCと第2の特徴情報(1-β)Cとに分割されている。積βC×U×T×H×WをGAPに入力してβC×Uを得る。βC×UをFCに入力してβC×aUを得る。βC×aUをFCに入力してβC×Lを得る。βC×LをβC×U×T×H×Wと畳み込み、(1-β)C×U×T×H×Wと連結する。
さらに、本開示に係るビデオを認識する方法の一実施形態のフロー600を示す図6を参照する。当該ビデオを認識する方法は、次のステップを含む。
ステップ601では、認識対象ビデオを取得する。
本実施形態において、ビデオを認識する方法の実行主体は、認識対象ビデオを取得することができる。
ステップ602では、認識対象ビデオを複数の認識すべきビデオスニペットに分割する。
本実施形態では、上記実行主体は、認識対象ビデオを複数の認識すべきビデオスニペットに分割することができる。
ここで、認識対象ビデオの分割方法については、サンプルビデオの分割方法を参照することができ、ここではその説明を省略する。
本実施形態のいくつかのオプション的な実施形態では、認識対象ビデオの分割粒度は、ビデオ認識モデルをトレーニングするためのサンプルビデオの分割粒度よりも大きい。ビデオ認識モデルをトレーニングするためのサンプルビデオの数は膨大であり、サンプルビデオの分割粒度を小さくすることでトレーニング時間を短縮させることができる。また、認識対象ビデオの分割粒度を大きくすることにより、認識精度を向上させることができる。例えば、10秒のサンプルビデオの場合、2秒毎に均等に分割し、長さが2秒のサンプルビデオを5つ得る。10秒の認識対象ビデオに対して、1秒毎に均等に分割して、1秒の認識すべきビデオスニペットを得る。
ステップ603では、認識すべきビデオスニペットから一部の認識すべきビデオフレームをサンプリングし、ビデオ認識モデルに入力して認識対象ビデオのカテゴリを得る。
本実施形態では、認識すべきビデオスニペットから一部の認識すべきビデオフレームをサンプリングし、ビデオ認識モデルに入力して予測し、予測結果を集約することにより、認識対象ビデオのカテゴリを得ることができる。
ここで、認識すべきビデオスニペットのサンプリング方法については、サンプルビデオスニペットのサンプリング方法を参照することができ、ここではその説明を省略する。ビデオ認識モデルは、ビデオの分類に用いることができ、図1~図2のいずれかの実施形態によって提供された方法によりトレーニングされるものであり、ここではその説明を省略する。
本開示の実施形態に提供されたビデオを認識する方法は、動的スニペット融合に基づく効率的なビデオ認識方法であって、動的スニペット融合モジュールを設計することにより、ビデオ認識モデルの畳み込みカーネルをトレーニングおよび推論において入力されたビデオに応じて変化させることによって認識精度を向上させることができる。ビデオ認識モデルは動的畳み込み融合の認識方式を採用して、融合スニペットの畳み込みカーネルパラメータは入力されたビデオによって変化することができ、単に1種の畳み込みカーネルを使用する場合に比較してより精確なタイムドメインの検知を実現でき、認識精度を高めると同時に計算の複雑さを増加させることがない。特に、より長く、より豊かな情報を有する長尺のビデオの認識精度を向上させることができる。中尺、長尺のビデオの分類、テレビドラマコンテンツの分類などに利用可能である。
更に図7を参照すると、上記の各図に示された方法の実施態様として、本開示は、ビデオ認識モデルをトレーニングする装置の一実施形態を提供し、当該装置の実施形態は、図1に示された方法の実施形態に対応しており、当該装置は、具体的に様々な電子機器に適用することができる。
図7に示すように、本実施形態のビデオ認識モデルをトレーニングする装置700は、分割モジュール701と、抽出モジュール702と、融合モジュール703と、予測モジュール704と、調整モジュール705とを備えてもよい。このうち、分割モジュール701は、実際のカテゴリラベルがアノテートされたサンプルビデオを複数のサンプルビデオスニペットに分割するように構成される。抽出モジュール702は、サンプルビデオスニペットから一部のサンプルビデオフレームをサンプリングし、特徴抽出ネットワークに入力してサンプルビデオスニペットの特徴情報を得るように構成される。融合モジュール703は、ビデオの入力に応じて変化する畳み込みカーネルを有する動的スニペット融合モジュールにより特徴情報を畳み込み融合して融合特徴情報を得るように構成される。予測モジュール704は、融合特徴情報を全結合層に入力してサンプルビデオの予測カテゴリを得るように構成される。調整モジュール705は、実際のカテゴリラベルと予測カテゴリとの差異に基づいてパラメータ調整を行い、ビデオ認識モデルを得るように構成される。
本実施形態において、ビデオ認識モデルをトレーニングする装置700における分割モジュール701、抽出モジュール702、融合モジュール703、予測モジュール704および調整モジュール705の具体的な処理およびそれらによって奏される技術的効果は、それぞれ図1の対応する実施形態におけるステップ101~105の関連する説明を参照することができ、ここではその説明を省略する。
本実施形態のいくつかのオプション的な実施形態では、融合モジュール703は、特徴情報をチャネル次元で第1の特徴情報と第2の特徴情報とに分割するように構成される分割サブモジュールと、畳み込みカーネル生成分岐ネットワークにより、サンプルビデオに対応する畳み込みカーネルを決定するように構成される決定サブモジュールと、サンプルビデオに対応する畳み込みカーネルを用いて第1の特徴情報に対して畳み込みを行い、畳み込み結果を得るように構成される畳み込みサブモジュールと、畳み込み結果と第2の特徴情報とを連結して融合特徴を得るように構成される連結サブモジュールと、を備える。
本実施形態のいくつかのオプション的な実施形態では、分割サブモジュールは、さらに特徴情報を、予め設定されたスーパーパラメータβに基づいてチャネル次元で第1の特徴情報と第2の特徴情報とに分割するよう構成され、第1の特徴情報のチャネル次元はβCであり、第2の特徴情報のチャネル次元は(1-β)Cであり、Cは特徴情報のチャネル次元である。
本実施形態のいくつかのオプション的な実施形態では、決定サブモジュールは、さらに、第1の特徴情報のチャネル次元βCと、サンプルビデオのスニペット数と、サンプルビデオスニペットのサンプリングフレーム数と、サンプルビデオフレームの高さと幅との積を算出し、積を畳み込みカーネル生成分岐ネットワークに入力して、サンプルビデオに対応する畳み込みカーネルを得るように構成される。
本実施形態のいくつかのオプション的な実施形態では、畳み込みカーネル生成分岐ネットワークは、1つのグローバル平均プーリング層と2つの全結合層を含む。
本実施形態のいくつかのオプション的な実施形態では、ビデオ認識モデルは複数の残差層を含み、複数の残差層には少なくとも1つの動的スニペット融合モジュールが間隔を置いて設けられる。
本実施形態のいくつかのオプション的な実施形態では、分割モジュール701は、サンプルビデオをビデオの長さに応じて均等に分割して複数のサンプルビデオスニペットを得るようにさらに構成され、抽出モジュール1002は、サンプルビデオスニペットを等間隔でサンプリングして一部のサンプルビデオフレームを得るようにさらに構成される。
本実施形態のいくつかのオプション的な実施形態では、調整モジュール705は、実際のカテゴリラベルと予測カテゴリに基づいて、クロスエントロピー損失を計算し、確率的勾配降下を用いてクロスエントロピー損失を最適化し、クロスエントロピー損失が収束するまでパラメータの更新を継続し、ビデオ認識モデルを得るようにさらに構成される。
更に図8を参照すると、上記の各図に示された方法の実施態様として、本開示は、ビデオを認識する装置の一実施形態を提供し、当該装置の実施形態は、図6に示された方法の実施形態に対応しており、当該装置は、具体的に様々な電子機器に適用することができる。
図8に示すように、本実施形態のビデオを認識する装置800は、取得モジュール801と、分割モジュール802と認識モジュール803とを備えてもよい。取得モジュール801は、認識対象ビデオを取得するように構成される。分割モジュール802は、認識対象ビデオを複数の認識すべきビデオスニペットに分割するように構成される。認識モジュール803は、認識すべきビデオスニペットから一部の認識すべきビデオフレームをサンプリングし、ビデオ認識モデルに入力して認識対象ビデオのカテゴリを得るように構成される。ビデオ認識モデルは、図1~図2のいずれか1つの実施形態に記載の方法によりトレーニングされて得る。
本実施形態において、ビデオを認識する装置800において、取得モジュール801、分割モジュール802および認識モジュール803の具体的な処理およびそれらによって奏される技術的効果は、それぞれ図6の対応する実施形態におけるステップ601~603の関連する説明を参照することができ、ここではその説明を省略する。
本実施形態のいくつかのオプション的な実施形態では、認識対象ビデオの分割粒度は、ビデオ認識モデルをトレーニングするためのサンプルビデオの分割粒度よりも大きい。
本開示の技術方案では、関連するユーザ個人情報の取得、記憶および応用などは、いずれも関連法律法規の規定に準拠し、且つ公序良俗に反しない。
本開示の実施形態によれば、本開示はさらに電子機器、読み取り可能な記憶媒体およびコンピュータプログラムを提供する。
図9は、本開示の実施形態を実施するために使用できる例示的な電子機器900の概略ブロック図を示している。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレード型サーバ、メインフレームコンピュータおよびその他の適切なコンピュータ等の様々な形態のデジタルコンピュータを表す。また、電子機器は、個人デジタル動作、携帯電話、スマートフォン、ウェアラブル機器およびその他の類似する計算装置等の様々な形態のモバイルデバイスを表すことができる。なお、ここで示したコンポーネント、それらの接続関係、およびそれらの機能はあくまでも例示であり、ここで記述および/または要求した本開示の実施形態を限定することを意図するものではない。
図9に示すように、機器900は、読み出し専用メモリ(ROM)902に記憶されているコンピュータプログラムまたは記憶ユニット908からランダムアクセスメモリ(RAM)903にロードされたコンピュータプログラムによって様々な適当な動作および処理を実行することができる計算ユニット901を備える。RAM903には、機器900の動作に必要な様々なプログラムおよびデータがさらに格納されることが可能である。計算ユニット901、ROM902およびRAM903は、バス904を介して互いに接続されている。入/出力(I/O)インターフェース905もバス904に接続されている。
機器900において、キーボード、マウスなどの入力ユニット906と、様々なタイプのディスプレイ、スピーカなどの出力ユニット907と、磁気ディスク、光ディスクなどの記憶ユニット908と、ネットワークカード、モデム、無線通信送受信機などの通信ユニット909とを含む複数のコンポーネントは、I/Oインターフェース905に接続されている。通信ユニット909は、電子機器900がインターネットなどのコンピュータネットワークおよび/または様々な電気通信ネットワークを介して他の装置と情報またはデータのやりとりを可能にする。
計算ユニット901は、処理及び計算能力を有する様々な汎用および/または専用処理コンポーネントであってもよい。計算ユニット901のいくつかの例示として、中央処理装置(CPU)、グラフィックスプロセシングユニット(GPU)、様々な専用人工知能(AI)計算チップ、機械学習モデルアルゴリズムを実行する様々な計算ユニット、デジタルシグナルプロセッサ(DSP)、および任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されることはない。計算ユニット901は、上述したビデオ認識モデルをトレーニングする方法のような様々な方法および処理を実行する。例えば、いくつかの実施形態では、ビデオ認識モデルをトレーニングする方法は、記憶ユニット908などの機械可読媒体に有形に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施形態では、コンピュータプログラムの一部または全部は、ROM902および/または通信ユニット909を介して電子機器900にロードおよび/またはインストールされてもよい。コンピュータプログラムがRAM903にロードされ、計算ユニット901によって実行されると、上述したビデオ認識モデルをトレーニングする方法の1つまたは複数のステップを実行可能である。あるいは、他の実施形態では、計算ユニット901は、他の任意の適切な形態によって(例えば、ファームウェアを介して)ビデオ認識モデルをトレーニングする方法を実行するように構成されていてもよい。
ここで説明するシステムおよび技術の様々な実施形態はデジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせにおいて実現することができる。これらの各実施形態は、1つまたは複数のコンピュータプログラムに実装され、当該1つまたは複数のコンピュータプログラムは少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行および/または解釈することができ、当該プログラマブルプロセッサは専用または汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置および少なくとも1つの出力装置からデータおよび指令を受信することができ、且つデータおよび指令を当該記憶システム、当該少なくとも1つの入力装置および当該少なくとも1つの出力装置に伝送することを含み得る。
本開示の方法を実施するためのプログラムコードは、1つまたは複数のプログラミング言語のあらゆる組み合わせで作成されてもよい。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、または他のプログラミング可能なデータ処理装置のプロセッサまたはコントローラに提供されることができ、これらのプログラムコードがプロセッサまたはコントローラによって実行されると、フローチャートおよび/またはブロック図に規定された機能または動作が実施される。プログラムコードは、完全にデバイス上で実行されることも、部分的にデバイス上で実行されることも、スタンドアロンソフトウェアパッケージとして部分的にデバイス上で実行されながら部分的にリモートデバイス上で実行されることも、または完全にリモートデバイスもしくはサーバ上で実行されることも可能である。
本開示のコンテキストでは、機械可読媒体は、有形の媒体であってもよく、指令実行システム、装置または機器が使用するため、または指令実行システム、装置または機器と組み合わせて使用するためのプログラムを含むか、または格納してもよい。機械可読媒体は、機械可読信号媒体または機械可読記憶媒体であり得る。機械可読媒体は、電子的、磁気的、光学的、電磁的、赤外線の、または半導体のシステム、装置または機器、またはこれらのあらゆる適切な組み合わせを含むことができるが、これらに限定されない。機械可読記憶媒体のより具体的な例には、1本または複数本のケーブルに基づく電気的接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、コンパクトディスク読み取り専用メモリ(CD-ROM)、光学記憶装置、磁気記憶装置、またはこれらのあらゆる適切な組み合わせが含まれ得る。
ユーザとのインタラクションを提供するために、ここで説明するシステムと技術は、ユーザに情報を表示するための表示装置(例えば、陰極線管(CathodeRayTube,CRT)またはLCD(液晶ディスプレイ)モニタ)と、キーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)とを備えるコンピュータ上で実装することができ、ユーザが該キーボードおよび該ポインティングデバイスを介してコンピュータに入力を提供できる。他の種類の装置もユーザとのやりとりを行うことに用いることができる。例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであるいかなる形態のセンシングフィードバックであってもよく、且つ音入力、音声入力若しくは触覚入力を含むいかなる形態でユーザからの入力を受信してもよい。
ここで説明したシステムおよび技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバ)に実施されてもよく、またはミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)に実施されてもよく、またはフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインターフェースまたはウェブブラウザを有するユーザコンピュータ)に実施されてもよく、ユーザは該グラフィカルユーザインターフェースまたはウェブブラウザを介してここで説明したシステムおよび技術の実施形態とインタラクションしてもよく、またはこのようなバックエンドコンポーネント、ミドルウェアコンポーネントまたはフロントエンドコンポーネントのいずれかの組み合わせを含むコンピューティングシステムに実施されてもよい。また、システムの各コンポーネントの間は、通信ネットワーク等の任意の形態または媒体を介してデジタルデータ通信により接続されていてもよい。通信ネットワークとしては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)およびインターネットなどを含む。
コンピュータシステムは、クライアントとサーバとを含んでもよい。クライアントとサーバは、通常、互いに離れており、通信ネットワークを介してやりとりを行う。クライアントとサーバとの関係は、互いにクライアント-サーバの関係を有するコンピュータプログラムをそれぞれのコンピュータ上で動作することによって生成される。サーバはクラウドサーバであってもよく、分散システムのサーバ、あるいはブロックチェーンを結合したサーバであってもよい。
なお、上述した様々な形態のフローを用いて、ステップを並び替え、追加または削除を行うことができることを理解すべきである。例えば、本開示に記載された各ステップは、本開示に開示された技術方案の所望の結果が達成できる限り、並行して実行されてもよく、順番に実行されてもよく、異なる順番で実行されてもよい。本明細書はここで制限しない。
上記具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者であれば、設計要件および他の要因に応じて、様々な修正、組み合わせ、副次的な組み合わせ、および置換を行うことができることを理解すべきである。本開示の趣旨および原理を逸脱せずに行われたあらゆる修正、均等な置換および改善などは、いずれも本開示の保護範囲内に含まれるべきである。