(57)【要約】  ビデオ時間セグメントを検索するための方法およびシステムが提供される。この方法では、ビデオを分析して、ビデオのフレーム特徴情報を取得する；フレーム特徴情報はエンコーダに入力され、ビデオの時間情報に関する第１のデータを出力する；第１のデータおよびビデオのビデオ時間セグメントを検索するための検索記述は、第２のデータを出力するためにデコーダに入力される；注意計算トレーニングは、第１データと第２データに基づき行われる；検索記述に対応するビデオのビデオ時間セグメントは、注意計算トレーニングに応じて確定される。
2021516407.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ時間セグメントを検索するための方法において、前記方法は、
ビデオを分析して、前記ビデオのフレーム特徴情報を取得することと、
前記フレーム特徴情報をエンコーダに入力して、前記ビデオの時間情報に関する第１のデータを出力することと、
前記第１のデータと前記ビデオのビデオ時間セグメントを検索するための検索記述とをデコーダに入力して、第２のデータを出力することと、
前記第１のデータおよび前記第２のデータに基づき、注意計算トレーニングを行うことと、
前記注意計算トレーニングに応じて、前記検索記述に対応する前記ビデオのビデオ時間セグメントを確定することとを含む、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項２】
請求項１に記載の方法において、前記第１のデータおよび前記第２のデータに基づき注意計算トレーニングを行うことは、
前記第１のデータおよび前記第２のデータを、前記エンコーダおよび前記デコーダと接続される注意層に入力することと、
前記注意層において、各ビデオ時間セグメントと前記検索記述に含まれる各記述用語との相関に基づいて、前記ビデオの各ビデオ時間セグメントの時間的注意重みデータを取得することと、
前記注意層において、前記第１の情報および前記時間的注意重みデータに基づいて、加重平均データを取得し、加重平均ベクトル情報を、前記注意層および前記デコーダと接続されるＦＣ層に出力することと、
前記ＦＣ層で、前記加重平均データと前記第２のデータに基づいて最終注意データを取得し、前記最終注意データを前記デコーダに出力することとを含む、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項３】
請求項２に記載の方法において、前記時間的注意重みデータは、下記の数式、
【数１】
2021516407.tif 000006
によって取得され、ここ、
ｈｓは前記第１のデータを表し、ｈｔは前記第２のデータを表し、Ｗは非正規化時間スコアを生成するための重み行列を表し、αｔｓは前記時間的注意重みを表し、ｃｔ、ｈｓ、ｈｔはタイムステップベースで計算される、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項４】
請求項３に記載の方法において、前記加重平均データは、下記の数式、
【数２】
2021516407.tif 000007
によって取得され、ここ、
ｃｔは前記加重平均データを表す、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項５】
請求項４に記載の方法において、前記最終注意データは下記の数式
【数３】
2021516407.tif 000008
によって取得され、ここ、
ａｔは前記最終注意データを表し、Ｗｃはａｔを生成するための重み行列を表す、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項６】
請求項３に記載の方法において、前記注意計算トレーニングに応じて前記ビデオの前記ビデオ時間セグメントを確定することは、
前記ビデオの各ビデオ時間セグメントについて、前記検索記述に含まれるすべての記述用語に関するすべての時間的注意重みを合計することと、
合計された時間的注意重みが閾値よりも大きいビデオ時間セグメントを、検索される前記ビデオ時間セグメントと確定することとを含む、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項７】
請求項２に記載の方法において、前記第１のデータは、前記エンコーダの現在の状態ベクトル表現を表し、前記第２のデータは、前記デコーダの現在のターゲット隠し状態ベクトル表現を表す、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項８】
請求項１に記載の方法において、前記ビデオを分析して、前記ビデオのフレーム特徴情報を取得することは、
前記ビデオをビデオ時間セグメントに分割することと、
前記ビデオ時間セグメントを複数の層を含有する畳み込みニューラルネットワーク（ＣＮＮ）に入力することと、
前記ビデオの前記フレーム特徴情報として前記ＣＮＮから特徴を抽出することとを含む、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項９】
請求項１に記載の方法において、前記検索記述は、テキスト入力またはテキストに変換可能な音声入力である、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項１０】
請求項１に記載の方法において、前記エンコーダは、スタック型リカレントニューラルネットワーク（ＲＮＮ）で実装され、前記デコーダは、別のスタック型ＲＮＮで実装される、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項１１】
ビデオ時間セグメントを検索するためのシステムにおいて、
入力されたビデオのフレーム特徴情報を抽出するように構成されるエクストラクタと、
前記エクストラクタと接続され、前記フレーム特徴情報に基づき前記ビデオの時間情報を取得するように構成されるエンコーダと、
前記エンコーダと接続され、前記エンコーダからの前記時間情報を受信し、外部からの検索記述を受信し、前記時間情報および前記検索記述に基づき前記デコーダの状態情報を取得するように構成されるデコーダと、
前記エンコーダおよび前記デコーダと接続され、前記エンコーダからの前記時間情報および前記デコーダからの前記状態情報を受信し、前記時間情報および前記状態情報に基づき注意計算を行うように構成される層ジェネレータはと、
前記層ジェネレータと接続され、前記層ジェネレータでの前記注意計算に基づき、前記検索記述に対応する前記ビデオのビデオ時間セグメントを確定するように構成されるプロセッサとを備える、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１２】
請求項１１に記載のシステムにおいて、前記層ジェネレータは、
前記エンコーダと前記デコーダと接続され、各ビデオ時間セグメントと前記検索記述の各記述用語との相関に基づいて前記ビデオの各ビデオ時間セグメントの時間的注意重みを取得し、前記時間的注意重みに基づき前記時間情報の加重平均情報を取得するように構成される注意層ジェネレータと、
前記デコーダと前記注意層ジェネレータと接続され、前記加重平均情報と前記状態情報に基づいて最終注意情報を取得し、前記デコーダに前記最終注意情報を出力するＦＣ層ジェネレータとを備える、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１３】
請求項１２に記載のシステムにおいて、前記時間的注意重みは、下記の数式、
【数４】
2021516407.tif 000009
によって取得され、ここ、
ｈｓは前記時間情報を表し、ｈｔは前記デコーダの前記状態情報を表し、Ｗは非正規化時間スコアを生成するための重み行列を表し、αｔｓは前記時間的注意重みを表し、ｃｔ、ｈｓ、ｈｔはタイムステップベースで計算される、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１４】
請求項１３に記載のシステムにおいて、前記加重平均情報は、下記の数式、
【数５】
2021516407.tif 000010
によって取得され、ここ、
ｃｔは前記加重平均情報を表す、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１５】
請求項１４に記載のシステムにおいて、前記最終注意情報は下記の数式
【数６】
2021516407.tif 000011
によって取得され、ここ、
ａｔは前記最終注意情報を表し、Ｗｃはａｔを生成するための重み行列を表す、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１６】
請求項１１に記載のシステムにおいて、前記プロセッサは、
前記ビデオの各ビデオ時間セグメントについて、前記検索記述に含有されるすべての記述用語に関するすべての時間的注意重みを合計するように構成される加算回路と、
閾値よりも大きい合計された時間的注意重みを持つビデオ時間セグメントを前記ビデオ時間セグメントとして検索し、検索されたビデオ時間セグメントをディスプレイに提供して表示するように構成される検索回路とを備える、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１７】
コンピュータシステムにおいて、
データを格納しかつデータへのアクセスを提供するための少なくとも１つの非一時的なコンピュータメモリと、
データにアクセスするように前記少なくとも１つの非一時的なコンピュータメモリと接続される少なくとも１つのプロセッサと、
ビデオのフレーム特徴情報を抽出するように構成される、前記少なくとも１つの非一時的なコンピュータメモリによって格納可能であり、前記少なくとも１つのプロセッサによって実行可能な畳み込みニューラルネットワーク（ＣＮＮ）と、
前記少なくとも１つの非一時的なコンピュータメモリによって格納可能であり、前記少なくとも１つのプロセッサによって実行可能なビデオ記述ベースのモデラとを備え、
前記モデラは、
前記ＣＮＮと接続され、前記ビデオの前記フレーム特徴情報に基づき前記ビデオの時間情報を取得するように構成される第１のスタック型リカレントニューラルネットワーク（ＲＮＮ）と、
前記第１のＲＮＮと接続され、前記時間情報および検索記述に基づき隠し表現ベースの出力を作るように構成される第２のスタック型ＲＮＮと、
前記第１のＲＮＮおよび前記第２のＲＮＮと接続され、前記時間情報および前記隠し表現ベースの出力に基づいて前記ビデオ内の各ビデオ時間セグメントの時間的注意重みを取得するように構成される注意層階層時間メモリ（ＨＴＭ）とを備える、ことを特徴とするコンピュータシステム。
【請求項１８】
請求項１７に記載のシステムにおいて、前記注意層ＨＴＭは、下記の数式
【数７】
2021516407.tif 000012
によって時間的注意重みを取得するように構成される、ここ、
ｈｓは、第１のスタック型ＲＮＮから出力される時間情報を表し、
ｈｔは、第２のスタック型ＲＮＮから出力される隠し表現を表し、
Ｗは、非正規化される時間スコアを生成するための重み行列を表す、ことを特徴とするコンピュータシステム。
【請求項１９】
請求項１８に記載のシステムにおいて、前記モデラはさらに、
前記注意層ＨＴＭおよび前記第２のスタック型ＲＮＮと接続され、前記第２のスタック型ＲＮＮに入力を提供するように構成されるＦＣ層ＨＴＭを備える、ことを特徴とするコンピュータシステム。
【請求項２０】
請求項１９に記載のシステムにおいて、前記注意層ＨＴＭはさらに、下記の数式
【数８】
2021516407.tif 000013
のようにコンテキストベクトルｃｔを取得し、前記コンテキストベクトルを前記ＦＣ層ＨＴＭに出力するように構成される、ことを特徴とするコンピュータシステム。
【請求項２１】
請求項２０に記載のシステムにおいて、前記ＦＣ層ＨＴＭは、下記の数式
【数９】
2021516407.tif 000014
のように最終注意ベクトルを取得し、前記最終注意ベクトルを前記第２のスタック型ＲＮＮに入力するように構成され、ここ、
Ｗｃはａｔを生成するための重み行列を表す、ことを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、機械学習に関し、特に、ビデオ時間セグメントを検索するための方法およびシステムに関する。
【背景技術】
【０００２】
ビデオの瞬間を自然言語で位置特定することは、ビジネスの可能性および応用、例えばビデオ検索、ビデオの要約、ビデオの記述、および質問への回答などが非常に大きくて重要な研究テーマである。ただし、ほとんどの既存のシステムは、自然言語でビデオクリップ全体を検索するように設計されている。これは、ビデオで何が発生するかを確定するが、いつ発生するかは確定しない。以前のいくつかの仕事は、瞬間検索システムを提案しようとするが、位置特定されたビデオセグメントと参照表現の膨大なペア、または対応する瞬間を一意に識別するテキストの記述を含む必要があるビデオデータセットが不足しているため、非常に限られている精度しか達成できない。
【０００３】
ほとんどの既存のシステムは、自然言語検索が与えられた場合、（ビデオ内の瞬間ではなく）特定のビデオを検索することを目的としている。自然言語ビデオ検索方法は、自然言語検索が与えられた特定のビデオを検索することを目的としている。現在の方法は、従来の画像言語の埋め込みと同様のディープビデオ言語の埋め込みを採用している。このような全体のビデオ検索については、［１］「Ｍ．Ｏｔａｎｉ，Ｙ．Ｎａｋａｓｈｉｍａ，Ｅ．Ｒａｈｔｕ，Ｊ．Ｈｅｉｋｋｉｌａ，ａｎｄＮ．Ｙｏｋｏｙａ．“Ｌｅａｒｎｉｎｇ  ｊｏｉｎｔ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｏｆ  ｖｉｄｅｏｓ  ａｎｄ  ｓｅｎｔｅｎｃｅｓ  ｗｉｔｈ  ｗｅｂ  ｉｍａｇｅ  ｓｅａｒｃｈ，”Ｉｎ  ＥＣＣＶ  Ｗｏｒｋｓｈｏｐｓ，２０１６」、［２］「Ａ．Ｔｏｒａｂｉ，Ｎ．Ｔａｎｄｏｎ，ａｎｄ  Ｌ．Ｓｉｇａｌ．“Ｌｅａｒｎｉｎｇ  ｌａｎｇｕａｇｅ  ｖｉｓｕａｌ  ｅｍｂｅｄｄｉｎｇ  ｆｏｒ  ｍｏｖｉｅ  ｕｎｄｅｒｓｔａｎｄｉｎｇ  ｗｉｔｈ  ｎａｔｕｒａｌ  ｌａｎｇｕａｇｅ，”ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ａｒＸｉｖ：１６０９．０８１２４，２０１６」、および［３］「Ｒ．Ｘｕ，Ｃ．Ｘｉｏｎｇ，Ｗ．Ｃｈｅｎ，ａｎｄ  Ｊ．Ｊ．Ｃｏｒｓｏ．“Ｊｏｉｎｔｌｙ  ｍｏｄｅｌｉｎｇ  ｄｅｅｐ  ｖｉｄｅｏ  ａｎｄ  ｃｏｍｐｏｓｉｔｉｏｎａｌ  ｔｅｘｔ  ｔｏ  ｂｒｉｄｇｅ  ｖｉｓｉｏｎ  ａｎｄ  ｌａｎｇｕａｇｅ  ｉｎ  ａ  ｕｎｉｆｉｅｄ  ｆｒａｍｅｗｏｒｋ，”ｉｎ  ＡＡＡＩ，２０１５」を参照する。ただし、このカテゴリの方法では、セグメントレベルのビデオ検索を実現できない。
【０００４】
以前のいくつかの仕事は、効率的なアクション検出のために時間的アクションの提案を活用しており、提案は関連する時間ウィンドウを識別する。ただし、このカテゴリの方法は、ビデオでの潜在的なイベント提案のみを予測できるが、検索タスクを支援することはできない。このような時間的アクションの提案については、［４］「Ｂｕｃｈ  ｅｔ  ａｌ．，ＳＳＴ：“Ｓｉｎｇｌｅ−Ｓｔｒｅａｍ  Ｔｅｍｐｏｒａｌ  Ａｃｔｉｏｎ  Ｐｒｏｐｏｓａｌｓ，”ＣＶＰＲ  ２０１７」、［５］「Ｅｓｃｏｒｃｉａ  ｅｔ  ａｌ．，ＤＡＰｓ：“Ｄｅｅｐ  Ａｃｔｉｏｎ  Ｐｒｏｐｏｓａｌｓ  ｆｏｒ  Ａｃｔｉｏｎ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ，”ＥＣＣＶ  ２０１６」を参照する。
【０００５】
以前のいくつかの仕事（たとえば、［６］「Ｈｅｎｄｒｉｃｋｓ  ｅｔ  ａｌ．，“Ｌｏｃａｌｉｚｉｎｇ  Ｍｏｍｅｎｔｓ  ｉｎ  Ｖｉｄｅｏ  ｗｉｔｈ  Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ，”ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ２０１７」を参照）は、ペアの時間的記述データセットに基づいてビデオ内の時間セグメントを検索することを研究した。ただし、このようなペアのデータセットは労働集約的であり、実際に取得することは困難である。
【発明の概要】
【０００６】
この開示で説明される主題の１つの革新的な態様によれば、ビデオ時間セグメントを検索する方法が提供される。この方法は、ビデオを分析してビデオのフレーム特徴情報を取得すること、フレーム特徴情報をエンコーダに入力してビデオの時間情報に関する第１のデータを出力すること、第１のデータおよびビデオ時間セグメントを検索するための検索記述を入力することを含んでもよい。第２のデータを出力するためにビデオをデコーダに入力し、第１のデータおよび第２のデータに基づき注意計算トレーニングを実施し、注意計算トレーニングに応じて検索記述に対応するビデオのビデオ時間セグメントを確定する。
【０００７】
本開示で説明する主題の別の革新的な態様によれば、ビデオ時間セグメントを検索する方法が提供される。この方法は、ビデオを分析してビデオのフレーム特徴情報を取得することを含んでもよい。第１のデータと第２のデータに基づき注意計算トレーニングを行う。第１のデータはビデオの時間情報に関連し、入力としてフレームの特徴情報を用いてエンコーダを介して取得される。第２のデータは入力として少なくとも第１のデータと検索記述を用いてデコーダを介して取得される。注意計算トレーニングに応じて、検索記述に対応するビデオのビデオ時間セグメントを確定する。
【０００８】
本開示で説明する主題の別の革新的な態様によれば、ビデオ時間セグメントを検索するためのシステムが提供される。システムは、システムに入力されるビデオのフレーム特徴情報を抽出するように構成されるエクストラクタと、エクストラクタと接続され、フレーム特徴情報に基づきビデオの時間情報を取得するように構成されるエンコーダと、エンコーダと接続され、エンコーダから時間情報を受信し、外部から検索記述を受信し、時間情報および検索記述に基づきデコーダの状態情報を取得するように構成されるデコーダと、エンコーダおよびデコーダと接続され、エンコーダからの時間情報およびデコーダからの状態情報を受信し、時間情報および状態情報に基づき注意計算を行うように構成される層ジェネレータはと、層ジェネレータと接続され、層ジェネレータでの注意計算に基づき検索記述に対応するビデオのビデオ時間セグメントを確定するように構成されるプロセッサとを備える。
【０００９】
一つの実施形態として、システムの層ジェネレータは、注意層ジェネレータおよびＦＣ層ジェネレータをさらに備えてもよい。注意層ジェネレータは、エンコーダとデコーダと接続され、各ビデオ時間セグメントと検索記述の各記述用語との相関に基づいて、ビデオの各ビデオ時間セグメントの時間的注意重みを取得し、時間的注意重みに基づき、時間情報の加重平均情報を取得する。ＦＣ層ジェネレータは、デコーダおよび注意層ジェネレータと接続され、加重平均情報および状態情報に基づいて最終注意情報を取得し、最終注意情報をデコーダに出力するように構成される。
【００１０】
本開示で説明する主題のさらに別の革新的な態様によれば、コンピュータシステムが提供される。システムは、データを格納およびデータへのアクセスを提供するための少なくとも１つの非一時的なコンピュータメモリと、データにアクセスするように非一時的なコンピュータメモリと接続される少なくとも１つのプロセッサと、ビデオのフレーム特徴情報を抽出するように構成される、少なくとも１つの非一時的なコンピュータメモリによって格納可能であり、少なくとも１つのプロセッサによって実行可能な畳み込みニューラルネットワーク（ＣＮＮ）と、少なくとも１つの非一時的なコンピュータメモリによって格納可能であり、少なくとも１つのプロセッサによって実行可能なビデオ記述ベースのモデラとを備える。モデラは、ＣＮＮと接続され、ビデオのフレーム特徴情報に基づきビデオの時間情報を取得するように構成される第１のスタック型リカレントニューラルネットワーク（ＲＮＮ）と、第１のＲＮＮと接続され、時間情報および検索記述に基づき隠し表現ベースの出力を作るように構成される第２のスタック型ＲＮＮと、第１のＲＮＮおよび第２のＲＮＮと接続され、時間情報および隠し表現ベースの出力に基づいてビデオ内の各ビデオ時間セグメントの時間的注意重みを取得するように構成される注意層階層時間メモリ（ＨＴＭ）とを備えてもよい。モデラは、注意層ＨＴＭおよび第２のスタック型ＲＮＮと接続され、第２のスタック型ＲＮＮに入力を提供するように構成されるＦＣ層ＨＴＭをさらに備えてもよい。
【００１１】
本開示で説明する主題のさらに別の革新的な態様によれば、コンピュータシステムが提供される。コンピュータシステムは、少なくとも１つのプロセッサと命令を格納する少なくとも１つの非一時的メモリとを備える。当該命令は、少なくとも１つのプロセッサによって実行されるとコンピュータシステムと動作可能であり、ビデオを分析してビデオのフレーム特徴情報を取得し、フレーム特徴情報をエンコーダに入力してビデオの時間情報に関する第１のデータを出力し、第１のベクトルとビデオのビデオ時間セグメントを検索するための検索記述をデコーダに入力して第２のデータを出力し、第１のデータおよび第２のデータに基づき注意計算トレーニングを行い、注意計算トレーニングに応じて検索記述に対応するビデオのビデオ時間セグメントを確定する。
【図面の簡単な説明】
【００１２】
【図１】図１は、ビデオ時間セグメント検索動作のための例示的なシステムのブロック図である。
【図２】図２は、例示的なコンピューティングシステムのブロック図である。
【図３】図３は、例示的なビデオ時間セグメント検索エンジンのブロック図である。
【図４】図４は、ビデオ時間セグメントを検索するための方法を示す概略フローチャートである。
【図５】図５は、ビデオ時間セグメントを検索するためのシステムを示す概略ブロック図である。
【図６】図６は、提案されるビデオ時間セグメント検索フレームワークを示す概略図である。
【図７】図７は、提案されるビデオ時間セグメント検索フレームワークを示す別の概略図である。
【図８】図８は、検索記述に含まれる各記述用語の時間的注意重みを示す概略図である。
【図９】図９は、注意重みの合計に基づく時間的アクションの位置特定を示す概略図である。
【図１０】図１０（図１０Ａおよび図１０Ｂを含む）は、時間セグメント検索の結果を示す。
【発明を実施するための形態】
【００１３】
本開示は、自然言語によるビデオ検索、特に、自然言語クエリが与えられたビデオ内の特定のビデオまたは時間間隔を検索することを目的とする弱監視学習に基づく自然言語によるビデオ時間セグメント検索に関する技術を提供する。弱監視学習は、弱い監視で機能する機械学習技術を指す。具体的には、弱監視学習は、弱監視学習によって予測モデルを構築しようとするさまざまな研究を網羅する包括的な用語である。この文脈では、弱監視学習については詳しく説明せず、ビデオ検索に焦点を当てる。
【００１４】
ビデオ時間セグメントの検索に関して、上記のヘンドリックスの従来の方法では、位置特定されたビデオセグメントと参照表現の巨大なペア、または対応する瞬間を一意に識別するテキストの記述を維持する必要がある。ヘンドリックスアーキテクチャを実現するには、多大な労力と大きなストレージスペースが必要である。
【００１５】
これを念頭に置いて、本開示ではビデオ時間セグメント検索技術が提供され、これは、前述のヘンドリックスのペアの瞬間記述データを必要とせずに、自然言語のテキスト記述が与えられたビデオから特定の時間セグメントまたは瞬間を効率的かつ効果的に検索できる。いくつかの実施形態では、この技術は、以下でさらに論じられるように、ビデオおよびテキスト記述などの検索記述に基づくことができる。ビデオフレーム（対応するビデオセグメントの情報なし）とテキストの記述が与えられると、提案される技術は、ビデオから時間間隔（時間セグメント、時間間隔、時間フレーム、ビデオフレーム、ビデオクリップとも呼ばれ、これらの用語は、衝突がない場合は交換可能である））を自動的に学習できる。以下で詳しく説明する注意メカニズムに基づくテキスト記述に対応する。したがって、この開示は、ビデオの瞬間の検索を現実世界の仕事で実現可能にし、テキストの位置特定ビデオセグメントの人によるラベル付けの巨大なコストを回避する。
【００１６】
ここで説明する実施形態は、多くの場合、テキスト記述に基づくビデオ時間セグメント検索に関連しているが、ここで説明する技術は、音声入力などの他の適切な領域に適用でき、その場合、音声を後続のビデオ時間セグメント検索のテキストに変換できる。
【００１７】
以下において、本開示は、同様の参照番号が同様の要素を指すために使用される添付の図面の図における限定としてではなく、例として示される。
【００１８】
図１は、ビデオ時間セグメント検索動作のための例示的なシステムのブロック図である。図示のように、システム１００は、プラットフォーム１０１、クライアント装置１０３、およびサーバ１０５を備える。システム１００のこれらのエンティティは、ネットワーク１１１を介して通信可能と接続される。図１は例として提供されており、システム１００は追加および／またはより少ない構成要素を備えてもよく、構成要素を組み合わせ、および／または１つ以上の構成要素を追加の構成要素に分割してもよい。例えば、プラットフォーム１０１は、サーバー１０５に集積されてもよい。
【００１９】
ネットワーク１１１は、有線および／または無線の従来のタイプであってもよく、多数の異なる構成を有してもよい。たとえば、ネットワーク１１１は、１つまたは複数のローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＬＡＮ）、パブリックネットワーク、プライベートネットワーク、  仮想ネットワーク、ピアツーピアネットワークなどを含んでもよい。
【００２０】
プラットフォーム１０１は、ビデオ、オーディオ、記事などのような様々なネットワークリソースの集積であってもよい。プラットフォーム１０１は、様々なデータ情報を格納するためのデータストア１０７を備えるネットワークサーバーであってもよい。あるいは、プラットフォーム１０１は、データ記憶装置であってもよい。
【００２１】
クライアント装置１０３は、メモリ、プロセッサ、および／または通信ユニットを備えてもよい。クライアント装置１０３は、ネットワーク１１１と接続され、サーバ１０５との間でデータを送受信することができる。クライアント装置１０３の非限定的な例には、携帯電話、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）または情報を処理し、ネットワーク１１１にアクセスできるその他の電子装置が含まれる。
【００２２】
サーバー１０５は、エンジン１０９を備えてもよい。エンジン１０９は、クライアント装置１０３および／またはプラットフォーム１０１からデータを受信して処理するように動作可能なコンピュータロジックを含む。いくつかの実施形態では、エンジン１０９は、ビデオ時間セグメント検索エンジンであり、クライアント装置１０３からのテキスト記述およびプラットフォーム１０１からのビデオに基づいてビデオ時間セグメント検索を行うように構成される。いくつかの実施形態では、エンジン１０９は、クライアント装置１０３からのテキスト記述に基づいてビデオ時間セグメント検索を行うように構成される。そして、ビデオは、クライアント装置１０３にローカルに格納される。いくつかの実施形態では、エンジン１０９は、１つまたは複数のコンピュータ装置の１つまたは複数のプロセッサによって実行可能なソフトウェアを使用して実装されてもよい。いくつかの実施形態では、エンジン１０９は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）などのハードウェアを使用して実装されてもよい。いくつかの実施形態では、エンジン１０９はハードウェアとソフトウェアの組み合わせを使用して実装されてもよい。
【００２３】
図２は、クライアント装置１０３またはサーバ１０５のアーキテクチャを表すことができる例示的なコンピューティングシステム２００のブロック図である。クライアント装置１０３のコンポーネントまたはサーバ１０５のコンポーネントは、バス２１０を介して接続および通信することができる。
【００２４】
図示のように、コンピューティングシステム２００は、クライアント装置１０３のアーキテクチャを表すことができる。この場合、図示のように、クライアント装置１０３は、プロセッサ、メモリ、および通信ユニットを備えてもよい。クライアント装置１０３は、入力装置２０１および出力装置２０３をさらに備える。入力装置２０１は、ユーザからの様々な制御入力（テキスト、音声など）を受信するように構成される任意の標準装置を備えてもよい。入力装置２０１の非限定的な例には、キーボード、マウス、タッチスクリーン、マイクロフォン、スピーカーまたは他のオーディオ入力装置などが含まれる。出力装置２０３は、ユーザまたは外部装置に情報を出力または表示するように構成される任意の標準装置とすることができる。出力装置の非限定的な例には、情報をユーザーに提示するためのディスプレイ／モニターが含まれる。これに関連して、一実施形態では、出力情報は、ビデオ時間セグメント（言い換えれば、ビデオクリップ）である。
【００２５】
クライアント装置１０３はまた、ビデオ再生のためにインストールされたアプリを有してもよい。アプリに関しては、本開示は特に限定されない。
【００２６】
代替として、コンピューティングシステム２００は、プロセッサ、メモリ、および通信ユニットを備えるサーバ１０５のアーキテクチャ、ならびにエンジン１０９を表すことができ、図３を参照して、これらは以下詳細に説明される。
【００２７】
図３は、例示的なビデオ時間セグメント検索エンジンのブロック図である。図示されるように、ビデオ時間セグメント検索エンジン１０９は、モデラ３００および畳み込みニューラルネットワーク（ＣＮＮ）３０１などの様々なサブコンポーネントを備えてもよい。モデラ３００は、入力データを使用してビデオ時間セグメント検索をモデル化またはトレーニングするように構成され、ＣＮＮ  ３０１、エンコーダ３０３、デコーダ３０５、注意層ジェネレータ３０７、およびＦＣ層ジェネレータ３０９を備えてもよい。一部の実施形態では、コンポーネント３０１、３０３、３０５、３０７、および３０９の１つまたは複数は、図２に示すプロセッサのようなプロセッサによって実行可能な命令のセットである。さらなる実施形態では、コンポーネント３０１、３０３、３０５、３０７、および３０９のうちの１つまたは複数は、図２に示されているメモリなどのメモリに格納可能である。
【００２８】
ビデオ時間セグメント検索エンジン１０９は、ビデオ時間セグメントを検索するように動作可能なコンピュータロジックを含む。いくつかの実施形態では、本明細書でさらに詳細に説明するように、ＣＮＮ  ３０１への入力情報はビデオを含んでもよい。ビデオに複数のビデオクリップが含まれている。「ビデオクリップ」はビデオの短いクリップで、通常はより長い録画の一部である。本明細書で言及される「ビデオクリップ」は、より緩く使用され、従来のテレビ番組の長さより短い任意の短いビデオを意味する。デコーダ３０５への入力情報は、テキストまたは音声を含んでもよい。音声入力の場合、デコーダに音声テキストコンバーターを装備してもよい。例えば、デコーダの入力は、ビデオ内で、説明に適合またはマッチするいくつかのビデオクリップまたはビデオセグメントをサーチするための検索説明であってもよい。
【００２９】
トレーニング段階の間、ＣＮＮ３０１は、ビデオ入力のフレーム特徴情報（言い換えれば、フレーム特徴）を抽出するように構成される。抽出されたフレーム特徴のベクトル表現は、エンコーダ３０３に送られる。エンコーダ３０３は、時間情報を記録し、エンコーダ３０３の現在の状態情報をデコーダ３０５と注意層ジェネレータ３０７の両方に出力するように構成される。デコーダ３０５は、エンコーダ３０３の出力と検索記述などのトレーニング入力を受信し、その現在の隠し表現を注意層ジェネレータ３０７に出力するように構成される。したがって、注意層ジェネレータ３０７は、エンコーダ３０３とデコーダ３０５両方の出力受信し、注意計算を行うことができ、各ビデオクリップおよびターゲットワード（すなわち、検索記述における記述用語）とソースビデオ全体のコンパクトな表現のためのコンテキストベクトルとの間の相関を示すための時間的注意重みなどのパラメータを取得する。注意層ジェネレータ３０７の出力（たとえば、コンテキストベクトル）はＦＣ層ジェネレータ３０９に供給され、最終注意ベクトルを取得する。最終注意ベクトルは、デコーダ３０５の後続のトレーニングおよび出力のためにその入力としてデコーダ３０５に提供される。
【００３０】
このようなトレーニングの間、注意層は注意層ジェネレータ３０７で収得され、ＦＣ層はＦＣ層ジェネレータ３０９で収得される。注意層およびＦＣ層については、以下でさらに詳細に説明する。
【００３１】
このようにエンジン１０９によってトレーニングされたモデルにより、レファレンス段階で、モデルのトレーニング中に巨大なペア瞬間記述データが必要なく、サーバー１０５は特定の時間ビデオセグメントを（クライアント装置１０３を介して入力されたユーザーの検索記述に基づいて）検索でき、従来の方法の問題を解消する。
【００３２】
上記のトレーニング段階およびレファレンス段階について、図を参照してさらに説明する。
【００３３】
図４は、ビデオ時間セグメントを検索する方法を示す概略フローチャートを示す。図４に示されるように、ビデオ時間セグメントを検索するための方法は、トレーニング段階および推論段階を含んでもよい。トレーニング段階では、受信したビデオがＣＮＮによって分析され、ビデオのフレーム機能情報が取得される。次に、フレーム特徴情報は、エンコーダ（例えば、ＬＳＴＭ／ＲＮＮ）に入力されて、ビデオの時間情報に関する第１のベクトル（ｈｓ）などの第１のデータを出力する。第１のベクトルおよびビデオのビデオ時間セグメントを検索するための検索記述は、デコーダ（例えば、ＬＳＴＭ／ＲＮＮ）に入力されて、第２のベクトル（ｈｔ）などの第２のデータを出力する。その後、第１のベクトル（ｈｓ）および第２のベクトル（ｈｔ）に基づき（例えば、注意層で）注意計算トレーニングが行われる。
【００３４】
注意計算トレーニングは、次のようにして達成できる。第１のベクトルおよび第２のベクトルは、エンコーダおよびデコーダと接続される注意層に入力される。注意層では、各ビデオ時間セグメントと検索記述に含まれる各記述用語との相関に基づいて、ビデオの各ビデオ時間セグメントの時間的注意重み（αｔ）が取得される。注意層では、時間的注意重み（αｔ）と第２のベクトル（ｈｔ）に基づいて、第１のベクトルの加重平均ベクトル（ｃｔ）などの加重平均データが取得され、注意層およびデコーダと接続しているＦＣ層に出力される。最後に、ＦＣ層で、加重平均ベクトルと第２のベクトルに基づいて、最終注意ベクトル（ａｔ）が取得され、デコーダに出力される。
【００３５】
図４に示す方法を実施するために、ビデオ時間セグメントを検索するためのシステムも提供される。図５は、ビデオ時間セグメントを検索するためのシステムを示す概略ブロック図である。図示のように、システム５０は、エクストラクタ５２（２Ｄ／３Ｄ  ＣＮＮなど）、エンコーダ５４（ＬＳＴＭ／ＲＮＮなど）、デコーダ５６（ＬＳＴＭ／ＲＮＮなど）、および学習層ための層ジェネレータ５８を備える。一実施例では、エンコーダ５４およびデコーダ５６は、別個のＬＳＴＭで実装することができる。いくつかの例では、システム５０は、プロセッサ５３をさらに備えてもよい。一実施形態では、プロセッサ５３は、上記のコンポーネント５２、５４、５６、および５８と接続される。あるいは、プロセッサ５３は、層ジェネレータ５８と接続されてもよい。いくつかの例では、プロセッサ５３は、システム５０の検索結果などの情報をユーザに表示するためのディスプレイとさらと接続されてもよい。いくつかの例では、デコーダ５６は、データを入力するための入力装置５７と接続されるように構成されてもよい。上述のように、入力装置は、キーボード、タッチスクリーンなどのテキスト入力用の入力装置、またはマイクなどの音声入力用の入力装置とすることができる。システム５０の構成要素を以下に詳細に説明する。
【００３６】
エクストラクタ５２は、それに入力されたビデオのフレーム特徴情報を抽出するように構成され、それに入力されたビデオのフレーム特徴情報を抽出するように構成される。エンコーダ５４は、エクストラクタ５２と接続され、フレーム特徴情報に基づきビデオの時間情報（第１のベクトルｈｓに対応する）を取得するように構成される。デコーダ５６は、エンコーダ５４と接続され、エンコーダ５４から時間情報を受信し、外部から（例えば、入力装置５７から）検索記述を受信し、時間情報および検索記述に基づき、デコーダ５６の状態情報（第２のベクトルｈｔに対応する）を取得するように構成される。層ジェネレータ５８は、エンコーダ５４およびデコーダ５６と接続され、エンコーダ５４からの時間情報およびデコーダ５６からの状態情報を受信し、時間情報および状態情報に基づき注意計算を行うように構成される。
【００３７】
いくつかの実施形態では、層ジェネレータ５８は、注意層を生成するための注意層ジェネレータ５８１と、ＦＣ層を生成するためのＦＣ層ジェネレータ５８２とを含んでもよい。注意層ジェネレータ５８１およびＦＣ層ジェネレータ５８２は、層ジェネレータ５８に集積されるように示されているが、他のアーキテクチャも使用することができる。例えば、注意層ジェネレータ５８１およびＦＣ層ジェネレータ５８２は、互いに分離してもよい。
【００３８】
注意層ジェネレータ５８１は、エンコーダ５４およびデコーダ５６と接続され、各ビデオ時間セグメントと各ビデオ時間セグメントの各記述用語との相関に基づいて、ビデオの各ビデオ時間セグメントの時間的注意重み（αｔ）を取得するように構成される。検索記述、および時間的注意重み（αｔ）に基づき、第１のベクトルの加重平均ベクトル（ｃｔ）を取得する。ここで参照するパラメータについては、後で詳しく説明する。
【００３９】
ＦＣ層ジェネレータ５８２は、デコーダ５６および注意層ジェネレータ５８１と接続され、加重平均ベクトル（ｃｔ）および状態情報（ｈｔ）に基づいて最終注意ベクトル（ａｔ）を取得し、最終注意ベクトルを出力するように構成される。ここで参照されるパラメータについては、以下で詳細に説明する。
【００４０】
プロセッサ５３は、層ジェネレータ５８と接続され、層ジェネレータにおける注意計算に基づきビデオのビデオ時間セグメントを確定するように構成される。プロセッサ５３はまた、ディスプレイ５５と接続されてもよく、システム５０の検索結果をディスプレイ５５に提供して表示する。
【００４１】
一実施形態として、プロセッサ５３は、推論段階中に使用可能にされるであろう、加算回路５３１および検索回路５３２を含備える。加算回路５３１は、推論段階で、ビデオの各ビデオ時間セグメントについて、検索記述のすべての記述用語に関するすべての時間的注意重みを合計するように構成される。検索回路５３２は、加算回路５３１と接続され、加算回路５３１の合計結果に基づいてビデオ時間セグメントを検索またはピックアップするように構成される。一実施例では、検索回路５３２は、ビデオ時間セグメントになる閾値よりも大きい合計された時間的注意重みを有するビデオ時間セグメントを検索するように構成され、検索されたビデオ時間セグメントをディスプレイに提供して表示する。合計された時間的注意重みが閾値よりも大きいビデオ時間セグメントがない場合、検索回路５３２は、ＮＵＬＬ結果または適格なビデオ時間セグメントが検索されなかったことを示す情報を供給する。
【００４２】
プロセッサ５３は、さらに、ソーティング機能を備えていてもよい。ソーティング機能は、合計された時間的注意重みに基づいてビデオ時間セグメントをソーティングすることを目的としている。当然のことながら、ソーティング機能は、加算回路５３１に集積することができ、または検索回路５３２に集積することもできる。あるいは、ソーティング機能は、加算回路５３１および検索回路５３２から独立し、それらと接続されるコンポーネントを介して達成することができる。本開示は特に限定されない。
【００４３】
図４のトレーニング段階および推論段階での動作、ならびに図５に示されているシステムの動作は、図６および図７を参照するとさらによく理解されるであろう。中には、自然言語によるビデオ時間セグメント検索（つまり、時間アクションの位置特定）のために提案されたシーケンスツーシーケンスのモデルがそれぞれ示されている。
【００４４】
トレーニング段階
図示されているように、注意モジュールを備えた標準のエンコーダ／デコーダＬＳＴＭフレームワークが採用されている。提案される技術は、トレーニング段階で、検索記述に含まれる各記述用語との相関に基づいて異なるビデオフレームに加重することができる注意層を学習することを目的としている。主にデコーダを次のワードジェネレータとして使用する従来のキャプション方法とは異なり、この提案される技術では、ビデオフレーム（ｘ１、．．．、ｘｎ）から構成されるビデオだけでなく、検索の記述（ｙ１、．．．、ｙｍ）も異例的に、学習したエンコーダデコーダに入力される。一方、検索記述に含まれる各用語の時間的注意重みαｔは、ビデオ内の対応する時間セグメントを示すために保持される。
【００４５】
トレーニング段階では、ビデオセグメントの説明を揃える必要はない。一対の時間的記述データセットが必要とされる従来技術と比較して、システムメモリを節約することができ、それによってプロセッサの効率を改善する。
【００４６】
Ｉ．ＣＮＮとエンコーダ
ビデオクリップを説明するために、フレーム特徴エクストラクタが採用され、ＣＮＮまたは３Ｄ  ＣＮＮ（Ｃ３Ｄなど、大規模なビデオデータセットでトレーニングされた３Ｄ  ＣＮＮを使用してビデオクリップの時空間特徴を学習することを目的としている）のいずれかを使用できる。図６及び図７に示すように、ＣＮＮには映像が入力される。「Ｋａｉｍｉｎｇ  Ｈｅ，Ｘｉａｎｇｙｕ  Ｚｈａｎｇ，Ｓｈａｏｑｉｎｇ  Ｒｅｎ，ａｎｄ  Ｊｉａｎ  Ｓｕｎ，“Ｄｅｅｐ  Ｒｅｓｉｄｕａｌ  Ｌｅａｒｎｉｎｇ  ｆｏｒ  Ｉｍａｇｅ  Ｒｅｃｏｇｎｉｔｉｏｎ，”ＣＶＰＲ  ２０１６」では、ここで使用できるＣＮＮの例を示している。「Ｄ．Ｔｒａｎ，Ｌ．Ｂｏｕｒｄｅｖ，Ｒ．Ｆｅｒｇｕｓ，Ｌ．Ｔｏｒｒｅｓａｎｉ，ａｎｄ  Ｍ．Ｐａｌｕｒｉ，“Ｌｅａｒｎｉｎｇ  Ｓｐａｔｉｏｔｅｍｐｏｒａｌ  Ｆｅａｔｕｒｅｓ  ｗｉｔｈ  ３Ｄ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ，”ＩＣＣＶ  ２０１５」は、ここで使用できる３Ｄ  ＣＮＮの例を示しており、その内容全体が参照により本明細書に組み込まれる。一実施例では、ビデオは、１６フレームのクリップに分割され、次に、例えばＣ３Ｄモデルの入力に適合するように２２４×２２４にサイズ変更される。ＣＮＮまたは３Ｄ  ＣＮＮからのフレーム機能情報、たとえば、ニューラルネットワークの最後の全接続層（つまり、ｓｏｆｔｍａｘ出力層の前の最後のＦＣ層）は、各ビデオクリップに対して抽出される。
【００４７】
図６は、経時的に展開されたＬＳＴＭスタックを示す。図示のように、抽出されたＦＣ層特徴は、エンコーダに送られる。エンコーダは、各ＬＳＴＭユニットの出力が現在の状態ベクトルｈｓである時間情報を記録するために、スタック型ＲＮＮ（ＬＳＴＭなどの第１のスタック型ＲＮＮと呼ばれる）で実装できる。ところで、ご覧のように、エンコーダの各ＬＳＴＭユニットの出力は、デコーダと注意層に提供される。ＬＳＴＭがエンコードしているこの段階では、クロスエントロピーの損失はない。
【００４８】
ＩＩ．デコーダと注意層
ビデオ内のすべてのビデオフレームがエンコーダによって使い果たされた後、デコーダ、たとえば、スタック型ＲＮＮ（第２のスタック型ＲＮＮ、たとえばＬＳＴＭと呼ばれることもある）は、文の開始（＜ＳＯＳ＞）タグ。現在の隠し表現を単語の序列にデコードし始めるように指示する。デコーダはエンコーダの最後の隠し状態（ｈｓ）で初期化されるため、ソース情報にアクセスできる。図６から分かるように、エンコーダの現在の状態ベクトルｈｓがデコーダに供給される。具体的には、図７に示すように、現在の状態ベクトルｈｓ１、ｈｓ２、ｈｓ３、およびｈｓ４がデコーダに供給される。「単語の序列」は、検索の記述に含有される記述用語を指し、例えば、「ｄｒｉｂｂｌｉｎｇ」、「ａ」、「ｂａｓｋｅｔｂａｌｌ」はそれぞれ記述用語である。
【００４９】
図面では、現在の隠し表現はｈｔとして表されている。例えば、「ｄｒｉｂｂｌｉｎｇ  ａ  ｂａｓｋｅｔｂａｌｌ」（「バスケットボールをドリブルする」）という検索記述がユーザにより入力された場合：
タイムステップ００：入力＝‘＜ＳＯＳ＞’、デコーダの隠し表現＝ｈ０；
タイムステップ０１：入力＝‘ｄｒｉｂｂｌｉｎｇ’、デコーダ隠し表現＝ｈ１；
タイムステップ０２：入力＝‘ａ’、デコーダ隠し表現＝ｈ２；
タイムステップ０２：入力＝‘ｂａｓｋｅｔｂａｌｌ’、デコーダの隠し表現＝ｈ３；等々。
【００５０】
ベクトルｈｔとｈｓは、時間ステップベースで計算される。エンコーダ側では、「１つのタイムステップ」は、１つのビデオフレーム／クリップ／セグメントの入力または読み取りを指す。デコーダ側では、「１つのタイムステップ」は、「ｄｒｉｂｂｌｉｎｇ」、「ａ」、「ｂａｓｋｅｔｂａｌｌ」など、１つの単語または単語の序列の入力または読み取りを指す。
【００５１】
以下、注意層とＦＣ層での注意計算について詳しく述べる。図６に示すように、ｈｓとして表されるエンコーダの出力およびｈｔとして表されるデコーダの出力は、注意計算のために注意層に提供される。具体的には、図７に示すように、エンコーダから出力されるベクトルｈｓ１、ｈｓ２、ｈｓ３、ｈｓ４と、エンコーダから出力されるベクトルｈｔ１、ｈｔ２、ｈｔ３、ｈｔ４が注意層に入力される。デコーダに関しては、その出力ベクトルもＦＣ層に提供される。図６に示すように、出力ベクトルｈｔはＦＣ層に供給される。
【００５２】
注意計算は、すべてのデコーダタイムステップで発生する。注意計算には、次の段階が含まれる。最初に、図６に示すように、注意層で、デコーダからの現在のターゲット隠し状態ｈｔがエンコーダからのすべてのソース状態ｈｓと比較され、時間的注意重みαｔ＝［αｔ１、αｔ１、．．．、αｔＳ］を導出する。ここで、Ｗは正規化されていない時間スコアを生成するための重み行列であり、次のように現れる行列Ｗｃと区別されるＷｓとして表すことができる。
【数１】
2021516407.tif 000003
【００５３】
注意重みに基づいて、コンテキストベクトルｃｔをソース状態の加重平均として取得できる。
【数２】
2021516407.tif 000004
【００５４】
ＦＣ層で、注意層から取得したコンテキストベクトルｃｔとデコーダから取得した現在のターゲット隠し状態ｈｔを組み合わせて、最終注意ベクトルａｔを生成する。Ｗｃはａｔを生成するための重み行列である。
【数３】
2021516407.tif 000005
【００５５】
図６に示されるように、最終注意ベクトルａｔは、その入力としてデコーダに提供され、それに基づいて、デコーダは、後続の出力を生成する。最終注意ベクトルの数は、検索記述に含まれる記述用語の数と一致する。例として「＜ＳＯＳ＞ｄｒｉｂｂｌｉｎｇ  ａ  ｂａｓｋｅｔｂａｌｌ」を引き続き使用して、ＦＣ層では、４つの最終注意ベクトルが取得され、デコーダに入力される。
【００５６】
復号化段階でトレーニングしている間、図６または図７のモデルは、ビジュアルフレーム序列の隠し表現（ｈｔ）、最終注意ベクトル（ａｔ）、およびそれが見た前の言葉が与えられた場合に、予測出力文の対数尤度を最大化できる。パラメーターθと出力序列Ｙ＝（ｙ１、…、ｙｍ）を持つモデルの場合、これは次のように定式化される。
【００５７】
arg maxθΣlog p( yt | ht-1, at-1, yt-1; θ)
この対数尤度は、確率的勾配降下法を使用してトレーニングデータセット全体で最適化される。損失は、ＬＳＴＭがデコードを学習しているときにのみ計算される。この操作の目的は、図６または図７のニューラルネットワーク全体の方向をトレーニングして、各コンポーネント（たとえば、注意層）のパラメーターを取得することである。
【００５８】
推論段階
ビデオフレームの序列（ｘ１、．．．、ｘｎ）と検索記述（ｙ１、．．．、ｙｍ）が与えられると、図６または図７に示されているアーキテクチャを用いて、推論段階で、対応する検索記述のビデオ時間セグメントをビデオにおいて検出できる。図８の「ｄｒｉｂｂｌｉｎｇ  ａ  ｂａｓｋｅｔｂａｌｌ」の検索記述例として、提案されるシステムは、各記述用語に関して各ビデオセグメントの注意重みを徐々に収集する。たとえば、図８の２行目に示すように、サーチ用語「ｄｒｉｂｂｌｉｎｇ」の最も可能性のある期間は、ビデオ時間セグメント３と４にあり、注意重みはそれぞれ０．４５と０．４である。
【００５９】
検索記述全体の時間セグメントを位置特定するために、各時間セグメントまたは時間間隔のすべての時間的注意重み（すなわち、Σαｔ）が合計され、事前定義された閾値を使用して、最も可能性のある時間セグメントが識別される。例えば、閾値よりも大きい注意の合計を有するビデオセグメントは、対応するサーチのための検出されたイベントとして確定されるであろう。注意の合計が閾値よりも大きいセグメントがない状況がある。この場合、システムはこのサーチに対してＮｕｌｌまたはエンプティの結果を返すことがある。
【００６０】
例えば、図８に示すように、時間セグメント１（最も左のセグメント）の時間的注意重みの合計は次のとおりである。
【００６１】
Σ αt1=α1 +α2+α3+α4=0.14+0.01+0.01+0.01=0.17
同様に、時間セグメント４（左から４番目のセグメント）の時間的注意重みの合計は次のとおりである。
【００６２】
Σ αt4=α1 +α2+α3+α4=0.14+0.40+0.60+0.35=1.49
他のセグメントの重みの合計も同様に取得できる。具体的には、Σαｔ１＝０．１７、Σαｔ２＝０．２１、Σαｔ３＝０．９９、Σαｔ４＝１．４９、Σαｔ５＝０．５９、Σαｔ６＝０．２７、Σαｔ７＝０．１９である。たとえば、事前定義された閾値は０．５である。これに基づいて、図９に示すように、「ｄｒｉｂｂｌｉｎｇ  ａ  ｂａｓｋｅｔｂａｌｌ」というサーチの時間間隔は、暗領域として確定することができる。つまり、ビデオセグメントｘ３〜ｘ５が取得されるビデオセグメントとして確定される。
【００６３】
したがって、ビデオ（セグメントｘ１〜ｘ７を含む）と検索の記述が与えられると、提案される技術は、ビデオ内の対応する時間セグメントの位置を特定するのに役立つ。図１０（Ａ）に示すように、提案されるシステムは、「ｄｒｉｂｂｌｉｎｇ  ａ  ｂａｓｋｅｔｂａｌｌ」という時間的イベントを最もよく表すビデオセグメントｘ３〜ｘ５を返す。
【００６４】
別の例として、ビデオとサーチオブジェクトの記述が与えられた場合、提案される技術は、ビデオ内の指定されたオブジェクトの対応する時間セグメントを位置特定するのに役立つ。図１０（Ｂ）に示すように、提案されるシステムは、時間セグメントに「ｈｏｏｐ」のオブジェクトを含むビデオセグメントｘ２およびｘ６〜ｘ７を返す。
【００６５】
冗長を避けるために、同じまたは類似の部品の重複した説明は、本明細書では行われないことに留意されたい。例えば、ベクトルｈｔ、ｈｓ、αｔｓ、ａｔなどのデータまたは情報の計算は、衝突することなく本開示の様々な実施形態に等しく適用することができる。
【００６６】
本発明またはその任意の部分または機能は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実装されてもよく、１つ以上のコンピュータシステムまたは他の処理システムで実装されてもよい。本発明の動作を実行し、本明細書に記載の機能を実行することができるコンピュータシステムは、通信インフラストラクチャ（例えば、通信バス、クロスオーバー・バー、またはネットワーク）と接続される１つまたは複数のプロセッサを備えてもよい。様々なソフトウェアの実施形態は、そのような例示的なコンピュータシステムに関して説明されている。この説明を読んだ後、当業者には、他のコンピュータシステムおよび／またはアーキテクチャを使用して本発明を実施する方法が明らかになるであろう。
【００６７】
コンピュータシステムは、ディスプレイユニット上に表示するために、通信インフラストラクチャから（またはフレームバッファから）グラフィックス、テキスト、および他のデータを転送するディスプレイインターフェースを備えてもよい。表示インターフェースはブラウザーと通信できる。コンピュータシステムはまた、メインメモリ、好ましくはランダムアクセスメモリを備え、二次メモリおよびデータベースも備えてもよい。二次メモリは、例えば、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブなどであるハードディスクドライブおよび／またはリムーバブルストレージドライブを含んでもよい。リムーバブルストレージドライブは、よく知られている方法でリムーバブルストレージユニットから読み取りおよび／またはリムーバブルストレージユニットへ書き込みを行う。リムーバブルストレージユニットは、リムーバブルストレージドライブによって読み書きされるフロッピーディスク、磁気テープ、光ディスクなどであってもよい。理解されるように、リムーバブルストレージユニットは、コンピュータソフトウェアおよび／またはデータが内部に格納されているコンピュータ使用可能記憶媒体またはコンピュータ可読媒体を含んでもよい。
【００６８】
コンピュータシステムはまた、ソフトウェアおよびデータがコンピュータシステムと外部装置との間で転送されることを可能にする通信インターフェースを備えてもよい。コンピュータプログラム媒体およびコンピュータ使用可能媒体は、一般に、リムーバブルストレージドライブ、ハードディスクドライブにインストールされたハードディスク、および信号などの媒体を指す。これらのコンピュータプログラム製品は、コンピュータシステムにソフトウェアを提供する。
【００６９】
コンピュータプログラムまたは制御ロジックは、メインメモリおよび／または二次メモリに格納されている。コンピュータプログラムはまた、通信インターフェースを介して受信されてもよい。そのようなコンピュータプログラムまたは制御ロジック（ソフトウェア）は、実行されると、本明細書で論じるように、コンピュータシステムまたはそのプロセッサで動作して、本発明の特徴および機能を実行することができる。
【００７０】
前述の説明は、例示および説明の目的で提示されてきた。網羅的であること、または仕様を開示された正確な形式に限定することを目的としている。上記の教示に照らして、多くの修正および変更が可能である。本開示の範囲は、この詳細な説明によってではなく、本出願の請求の範囲によって限定されることが意図されている。
【図１】
2021516407.tif 000015
【図２】
2021516407.tif 000016
【図３】
2021516407.tif 000017
【図４】
2021516407.tif 000018
【図５】
2021516407.tif 000019
【図６】
2021516407.tif 000020
【図７】
2021516407.tif 000021
【図８】
2021516407.tif 000022
【図９】
2021516407.tif 000023
【図１０】
2021516407.tif 000024
【手続補正書】
【提出日】令和2年9月23日(2020.9.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、機械学習に関し、特に、ビデオ時間セグメントを検索するための方法およびシステムに関する。
【背景技術】
【０００２】
ビデオの瞬間を自然言語で位置特定することは、ビジネスの可能性および応用、例えばビデオ検索、ビデオの要約、ビデオの記述、および質問への回答などが非常に大きくて重要な研究テーマである。ただし、ほとんどの既存のシステムは、自然言語でビデオクリップ全体を検索するように設計されている。これは、ビデオで何が発生するかを確定するが、いつ発生するかは確定しない。以前のいくつかの仕事は、瞬間検索システムを提案しようとするが、位置特定されたビデオセグメントと参照表現の膨大なペア、または対応する瞬間を一意に識別するテキストの記述を含む必要があるビデオデータセットが不足しているため、非常に限られている精度しか達成できない。
【０００３】
ほとんどの既存のシステムは、自然言語検索が与えられた場合、（ビデオ内の瞬間ではなく）特定のビデオを検索することを目的としている。自然言語ビデオ検索方法は、自然言語検索が与えられた特定のビデオを検索することを目的としている。現在の方法は、従来の画像言語の埋め込みと同様のディープビデオ言語の埋め込みを採用している。このような全体のビデオ検索については、［１］「Ｍ．Ｏｔａｎｉ，Ｙ．Ｎａｋａｓｈｉｍａ，Ｅ．Ｒａｈｔｕ，Ｊ．Ｈｅｉｋｋｉｌａ，ａｎｄＮ．Ｙｏｋｏｙａ．“Ｌｅａｒｎｉｎｇ  ｊｏｉｎｔ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｏｆ  ｖｉｄｅｏｓ  ａｎｄ  ｓｅｎｔｅｎｃｅｓ  ｗｉｔｈ  ｗｅｂ  ｉｍａｇｅ  ｓｅａｒｃｈ，”Ｉｎ  ＥＣＣＶ  Ｗｏｒｋｓｈｏｐｓ，２０１６」、［２］「Ａ．Ｔｏｒａｂｉ，Ｎ．Ｔａｎｄｏｎ，ａｎｄ  Ｌ．Ｓｉｇａｌ．“Ｌｅａｒｎｉｎｇ  ｌａｎｇｕａｇｅ  ｖｉｓｕａｌ  ｅｍｂｅｄｄｉｎｇ  ｆｏｒ  ｍｏｖｉｅ  ｕｎｄｅｒｓｔａｎｄｉｎｇ  ｗｉｔｈ  ｎａｔｕｒａｌ  ｌａｎｇｕａｇｅ，”ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ａｒＸｉｖ：１６０９．０８１２４，２０１６」、および［３］「Ｒ．Ｘｕ，Ｃ．Ｘｉｏｎｇ，Ｗ．Ｃｈｅｎ，ａｎｄ  Ｊ．Ｊ．Ｃｏｒｓｏ．“Ｊｏｉｎｔｌｙ  ｍｏｄｅｌｉｎｇ  ｄｅｅｐ  ｖｉｄｅｏ  ａｎｄ  ｃｏｍｐｏｓｉｔｉｏｎａｌ  ｔｅｘｔ  ｔｏ  ｂｒｉｄｇｅ  ｖｉｓｉｏｎ  ａｎｄ  ｌａｎｇｕａｇｅ  ｉｎ  ａ  ｕｎｉｆｉｅｄ  ｆｒａｍｅｗｏｒｋ，”ｉｎ  ＡＡＡＩ，２０１５」を参照する。ただし、このカテゴリの方法では、セグメントレベルのビデオ検索を実現できない。
【０００４】
以前のいくつかの仕事は、効率的なアクション検出のために時間的アクションの提案を活用しており、提案は関連する時間ウィンドウを識別する。ただし、このカテゴリの方法は、ビデオでの潜在的なイベント提案のみを予測できるが、検索タスクを支援することはできない。このような時間的アクションの提案については、［４］「Ｂｕｃｈ  ｅｔ  ａｌ．，ＳＳＴ：“Ｓｉｎｇｌｅ−Ｓｔｒｅａｍ  Ｔｅｍｐｏｒａｌ  Ａｃｔｉｏｎ  Ｐｒｏｐｏｓａｌｓ，”ＣＶＰＲ  ２０１７」、［５］「Ｅｓｃｏｒｃｉａ  ｅｔ  ａｌ．，ＤＡＰｓ：“Ｄｅｅｐ  Ａｃｔｉｏｎ  Ｐｒｏｐｏｓａｌｓ  ｆｏｒ  Ａｃｔｉｏｎ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ，”ＥＣＣＶ  ２０１６」を参照する。
【０００５】
以前のいくつかの仕事（たとえば、［６］「Ｈｅｎｄｒｉｃｋｓ  ｅｔ  ａｌ．，“Ｌｏｃａｌｉｚｉｎｇ  Ｍｏｍｅｎｔｓ  ｉｎ  Ｖｉｄｅｏ  ｗｉｔｈ  Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ，”ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ２０１７」を参照）は、ペアの時間的記述データセットに基づいてビデオ内の時間セグメントを検索することを研究した。ただし、このようなペアのデータセットは労働集約的であり、実際に取得することは困難である。
【発明の概要】
【０００６】
この開示で説明される主題の１つの革新的な態様によれば、ビデオ時間セグメントを検索する方法が提供される。この方法は、ビデオを分析してビデオのフレーム特徴情報を取得すること、フレーム特徴情報をエンコーダに入力してビデオの時間情報に関する第１のデータを出力すること、第１のデータおよびビデオ時間セグメントを検索するための検索記述を入力することを含んでもよい。第２のデータを出力するためにビデオをデコーダに入力し、第１のデータおよび第２のデータに基づき注意計算トレーニングを実施し、注意計算トレーニングに応じて検索記述に対応するビデオのビデオ時間セグメントを確定する。
【０００７】
本開示で説明する主題の別の革新的な態様によれば、ビデオ時間セグメントを検索する方法が提供される。この方法は、ビデオを分析してビデオのフレーム特徴情報を取得することを含んでもよい。第１のデータと第２のデータに基づき注意計算トレーニングを行う。第１のデータはビデオの時間情報に関連し、入力としてフレームの特徴情報を用いてエンコーダを介して取得される。第２のデータは入力として少なくとも第１のデータと検索記述を用いてデコーダを介して取得される。注意計算トレーニングに応じて、検索記述に対応するビデオのビデオ時間セグメントを確定する。
【０００８】
本開示で説明する主題の別の革新的な態様によれば、ビデオ時間セグメントを検索するためのシステムが提供される。システムは、システムに入力されるビデオのフレーム特徴情報を抽出するように構成されるエクストラクタと、エクストラクタと接続され、フレーム特徴情報に基づきビデオの時間情報を取得するように構成されるエンコーダと、エンコーダと接続され、エンコーダから時間情報を受信し、外部から検索記述を受信し、時間情報および検索記述に基づきデコーダの状態情報を取得するように構成されるデコーダと、エンコーダおよびデコーダと接続され、エンコーダからの時間情報およびデコーダからの状態情報を受信し、時間情報および状態情報に基づき注意計算を行うように構成される層ジェネレータはと、層ジェネレータと接続され、層ジェネレータでの注意計算に基づき検索記述に対応するビデオのビデオ時間セグメントを確定するように構成されるプロセッサとを備える。
【０００９】
一つの実施形態として、システムの層ジェネレータは、注意層ジェネレータおよび全接続層ジェネレータをさらに備えてもよい。注意層ジェネレータは、エンコーダとデコーダと接続され、各ビデオ時間セグメントと検索記述の各記述用語との相関に基づいて、ビデオの各ビデオ時間セグメントの時間的注意重みを取得し、時間的注意重みに基づき、時間情報の加重平均情報を取得する。全接続層ジェネレータは、デコーダおよび注意層ジェネレータと接続され、加重平均情報および状態情報に基づいて最終注意情報を取得し、最終注意情報をデコーダに出力するように構成される。
【００１０】
本開示で説明する主題のさらに別の革新的な態様によれば、コンピュータシステムが提供される。システムは、データを格納およびデータへのアクセスを提供するための少なくとも１つの非一時的なコンピュータメモリと、データにアクセスするように非一時的なコンピュータメモリと接続される少なくとも１つのプロセッサと、ビデオのフレーム特徴情報を抽出するように構成される、少なくとも１つの非一時的なコンピュータメモリによって格納可能であり、少なくとも１つのプロセッサによって実行可能な畳み込みニューラルネットワーク（ＣＮＮ）と、少なくとも１つの非一時的なコンピュータメモリによって格納可能であり、少なくとも１つのプロセッサによって実行可能なビデオ記述ベースのモデラとを備える。モデラは、ＣＮＮと接続され、ビデオのフレーム特徴情報に基づきビデオの時間情報を取得するように構成される第１のスタック型リカレントニューラルネットワーク（ＲＮＮ）と、第１のＲＮＮと接続され、時間情報および検索記述に基づき隠し表現ベースの出力を作るように構成される第２のスタック型ＲＮＮと、第１のＲＮＮおよび第２のＲＮＮと接続され、時間情報および隠し表現ベースの出力に基づいてビデオ内の各ビデオ時間セグメントの時間的注意重みを取得するように構成される注意層階層時間メモリ（ＨＴＭ）とを備えてもよい。モデラは、注意層ＨＴＭおよび第２のスタック型ＲＮＮと接続され、第２のスタック型ＲＮＮに入力を提供するように構成される全接続層ＨＴＭをさらに備えてもよい。
【００１１】
本開示で説明する主題のさらに別の革新的な態様によれば、コンピュータシステムが提供される。コンピュータシステムは、少なくとも１つのプロセッサと命令を格納する少なくとも１つの非一時的メモリとを備える。当該命令は、少なくとも１つのプロセッサによって実行されるとコンピュータシステムと動作可能であり、ビデオを分析してビデオのフレーム特徴情報を取得し、フレーム特徴情報をエンコーダに入力してビデオの時間情報に関する第１のデータを出力し、第１のベクトルとビデオのビデオ時間セグメントを検索するための検索記述をデコーダに入力して第２のデータを出力し、第１のデータおよび第２のデータに基づき注意計算トレーニングを行い、注意計算トレーニングに応じて検索記述に対応するビデオのビデオ時間セグメントを確定する。
【図面の簡単な説明】
【００１２】
【図１】図１は、ビデオ時間セグメント検索動作のための例示的なシステムのブロック図である。
【図２】図２は、例示的なコンピューティングシステムのブロック図である。
【図３】図３は、例示的なビデオ時間セグメント検索エンジンのブロック図である。
【図４】図４は、ビデオ時間セグメントを検索するための方法を示す概略フローチャートである。
【図５】図５は、ビデオ時間セグメントを検索するためのシステムを示す概略ブロック図である。
【図６】図６は、提案されるビデオ時間セグメント検索フレームワークを示す概略図である。
【図７】図７は、提案されるビデオ時間セグメント検索フレームワークを示す別の概略図である。
【図８】図８は、検索記述に含まれる各記述用語の時間的注意重みを示す概略図である。
【図９】図９は、注意重みの合計に基づく時間的アクションの位置特定を示す概略図である。
【図１０】図１０（図１０Ａおよび図１０Ｂを含む）は、時間セグメント検索の結果を示す。
【発明を実施するための形態】
【００１３】
本開示は、自然言語によるビデオ検索、特に、自然言語クエリが与えられたビデオ内の特定のビデオまたは時間間隔を検索することを目的とする弱監視学習に基づく自然言語によるビデオ時間セグメント検索に関する技術を提供する。弱監視学習は、弱い監視で機能する機械学習技術を指す。具体的には、弱監視学習は、弱監視学習によって予測モデルを構築しようとするさまざまな研究を網羅する包括的な用語である。この文脈では、弱監視学習については詳しく説明せず、ビデオ検索に焦点を当てる。
【００１４】
ビデオ時間セグメントの検索に関して、上記のヘンドリックスの従来の方法では、位置特定されたビデオセグメントと参照表現の巨大なペア、または対応する瞬間を一意に識別するテキストの記述を維持する必要がある。ヘンドリックスアーキテクチャを実現するには、多大な労力と大きなストレージスペースが必要である。
【００１５】
これを念頭に置いて、本開示ではビデオ時間セグメント検索技術が提供され、これは、前述のヘンドリックスのペアの瞬間記述データを必要とせずに、自然言語のテキスト記述が与えられたビデオから特定の時間セグメントまたは瞬間を効率的かつ効果的に検索できる。いくつかの実施形態では、この技術は、以下でさらに論じられるように、ビデオおよびテキスト記述などの検索記述に基づくことができる。ビデオフレーム（対応するビデオセグメントの情報なし）とテキストの記述が与えられると、提案される技術は、ビデオから時間間隔（時間セグメント、時間間隔、時間フレーム、ビデオフレーム、ビデオクリップとも呼ばれ、これらの用語は、衝突がない場合は交換可能である））を自動的に学習できる。以下で詳しく説明する注意メカニズムに基づくテキスト記述に対応する。したがって、この開示は、ビデオの瞬間の検索を現実世界の仕事で実現可能にし、テキストの位置特定ビデオセグメントの人によるラベル付けの巨大なコストを回避する。
【００１６】
ここで説明する実施形態は、多くの場合、テキスト記述に基づくビデオ時間セグメント検索に関連しているが、ここで説明する技術は、音声入力などの他の適切な領域に適用でき、その場合、音声を後続のビデオ時間セグメント検索のテキストに変換できる。
【００１７】
以下において、本開示は、同様の参照番号が同様の要素を指すために使用される添付の図面の図における限定としてではなく、例として示される。
【００１８】
図１は、ビデオ時間セグメント検索動作のための例示的なシステムのブロック図である。図示のように、システム１００は、プラットフォーム１０１、クライアント装置１０３、およびサーバ１０５を備える。システム１００のこれらのエンティティは、ネットワーク１１１を介して通信可能と接続される。図１は例として提供されており、システム１００は追加および／またはより少ない構成要素を備えてもよく、構成要素を組み合わせ、および／または１つ以上の構成要素を追加の構成要素に分割してもよい。例えば、プラットフォーム１０１は、サーバー１０５に集積されてもよい。
【００１９】
ネットワーク１１１は、有線および／または無線の従来のタイプであってもよく、多数の異なる構成を有してもよい。たとえば、ネットワーク１１１は、１つまたは複数のローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＬＡＮ）、パブリックネットワーク、プライベートネットワーク、  仮想ネットワーク、ピアツーピアネットワークなどを含んでもよい。
【００２０】
プラットフォーム１０１は、ビデオ、オーディオ、記事などのような様々なネットワークリソースの集積であってもよい。プラットフォーム１０１は、様々なデータ情報を格納するためのデータストア１０７を備えるネットワークサーバーであってもよい。あるいは、プラットフォーム１０１は、データ記憶装置であってもよい。
【００２１】
クライアント装置１０３は、メモリ、プロセッサ、および／または通信ユニットを備えてもよい。クライアント装置１０３は、ネットワーク１１１と接続され、サーバ１０５との間でデータを送受信することができる。クライアント装置１０３の非限定的な例には、携帯電話、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）または情報を処理し、ネットワーク１１１にアクセスできるその他の電子装置が含まれる。
【００２２】
サーバー１０５は、エンジン１０９を備えてもよい。エンジン１０９は、クライアント装置１０３および／またはプラットフォーム１０１からデータを受信して処理するように動作可能なコンピュータロジックを含む。いくつかの実施形態では、エンジン１０９は、ビデオ時間セグメント検索エンジンであり、クライアント装置１０３からのテキスト記述およびプラットフォーム１０１からのビデオに基づいてビデオ時間セグメント検索を行うように構成される。いくつかの実施形態では、エンジン１０９は、クライアント装置１０３からのテキスト記述に基づいてビデオ時間セグメント検索を行うように構成される。そして、ビデオは、クライアント装置１０３にローカルに格納される。いくつかの実施形態では、エンジン１０９は、１つまたは複数のコンピュータ装置の１つまたは複数のプロセッサによって実行可能なソフトウェアを使用して実装されてもよい。いくつかの実施形態では、エンジン１０９は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）などのハードウェアを使用して実装されてもよい。いくつかの実施形態では、エンジン１０９はハードウェアとソフトウェアの組み合わせを使用して実装されてもよい。
【００２３】
図２は、クライアント装置１０３またはサーバ１０５のアーキテクチャを表すことができる例示的なコンピューティングシステム２００のブロック図である。クライアント装置１０３のコンポーネントまたはサーバ１０５のコンポーネントは、バス２１０を介して接続および通信することができる。
【００２４】
図示のように、コンピューティングシステム２００は、クライアント装置１０３のアーキテクチャを表すことができる。この場合、図示のように、クライアント装置１０３は、プロセッサ、メモリ、および通信ユニットを備えてもよい。クライアント装置１０３は、入力装置２０１および出力装置２０３をさらに備える。入力装置２０１は、ユーザからの様々な制御入力（テキスト、音声など）を受信するように構成される任意の標準装置を備えてもよい。入力装置２０１の非限定的な例には、キーボード、マウス、タッチスクリーン、マイクロフォン、スピーカーまたは他のオーディオ入力装置などが含まれる。出力装置２０３は、ユーザまたは外部装置に情報を出力または表示するように構成される任意の標準装置とすることができる。出力装置の非限定的な例には、情報をユーザーに提示するためのディスプレイ／モニターが含まれる。これに関連して、一実施形態では、出力情報は、ビデオ時間セグメント（言い換えれば、ビデオクリップ）である。
【００２５】
クライアント装置１０３はまた、ビデオ再生のためにインストールされたアプリを有してもよい。アプリに関しては、本開示は特に限定されない。
【００２６】
代替として、コンピューティングシステム２００は、プロセッサ、メモリ、および通信ユニットを備えるサーバ１０５のアーキテクチャ、ならびにエンジン１０９を表すことができ、図３を参照して、これらは以下詳細に説明される。
【００２７】
図３は、例示的なビデオ時間セグメント検索エンジンのブロック図である。図示されるように、ビデオ時間セグメント検索エンジン１０９は、モデラ３００および畳み込みニューラルネットワーク（ＣＮＮ）３０１などの様々なサブコンポーネントを備えてもよい。モデラ３００は、入力データを使用してビデオ時間セグメント検索をモデル化またはトレーニングするように構成され、ＣＮＮ  ３０１、エンコーダ３０３、デコーダ３０５、注意層ジェネレータ３０７、および全接続層ジェネレータ３０９を備えてもよい。一部の実施形態では、コンポーネント３０１、３０３、３０５、３０７、および３０９の１つまたは複数は、図２に示すプロセッサのようなプロセッサによって実行可能な命令のセットである。さらなる実施形態では、コンポーネント３０１、３０３、３０５、３０７、および３０９のうちの１つまたは複数は、図２に示されているメモリなどのメモリに格納可能である。
【００２８】
ビデオ時間セグメント検索エンジン１０９は、ビデオ時間セグメントを検索するように動作可能なコンピュータロジックを含む。いくつかの実施形態では、本明細書でさらに詳細に説明するように、ＣＮＮ  ３０１への入力情報はビデオを含んでもよい。ビデオに複数のビデオクリップが含まれている。「ビデオクリップ」はビデオの短いクリップで、通常はより長い録画の一部である。本明細書で言及される「ビデオクリップ」は、より緩く使用され、従来のテレビ番組の長さより短い任意の短いビデオを意味する。デコーダ３０５への入力情報は、テキストまたは音声を含んでもよい。音声入力の場合、デコーダに音声テキストコンバーターを装備してもよい。例えば、デコーダの入力は、ビデオ内で、説明に適合またはマッチするいくつかのビデオクリップまたはビデオセグメントをサーチするための検索説明であってもよい。
【００２９】
トレーニング段階の間、ＣＮＮ３０１は、ビデオ入力のフレーム特徴情報（言い換えれば、フレーム特徴）を抽出するように構成される。抽出されたフレーム特徴のベクトル表現は、エンコーダ３０３に送られる。エンコーダ３０３は、時間情報を記録し、エンコーダ３０３の現在の状態情報をデコーダ３０５と注意層ジェネレータ３０７の両方に出力するように構成される。デコーダ３０５は、エンコーダ３０３の出力と検索記述などのトレーニング入力を受信し、その現在の隠し表現を注意層ジェネレータ３０７に出力するように構成される。したがって、注意層ジェネレータ３０７は、エンコーダ３０３とデコーダ３０５両方の出力受信し、注意計算を行うことができ、各ビデオクリップおよびターゲットワード（すなわち、検索記述における記述用語）とソースビデオ全体のコンパクトな表現のためのコンテキストベクトルとの間の相関を示すための時間的注意重みなどのパラメータを取得する。注意層ジェネレータ３０７の出力（たとえば、コンテキストベクトル）は全接続層ジェネレータ３０９に供給され、最終注意ベクトルを取得する。最終注意ベクトルは、デコーダ３０５の後続のトレーニングおよび出力のためにその入力としてデコーダ３０５に提供される。
【００３０】
このようなトレーニングの間、注意層は注意層ジェネレータ３０７で収得され、全接続層は全接続層ジェネレータ３０９で収得される。注意層および全接続層については、以下でさらに詳細に説明する。
【００３１】
このようにエンジン１０９によってトレーニングされたモデルにより、レファレンス段階で、モデルのトレーニング中に巨大なペア瞬間記述データが必要なく、サーバー１０５は特定の時間ビデオセグメントを（クライアント装置１０３を介して入力されたユーザーの検索記述に基づいて）検索でき、従来の方法の問題を解消する。
【００３２】
上記のトレーニング段階およびレファレンス段階について、図を参照してさらに説明する。
【００３３】
図４は、ビデオ時間セグメントを検索する方法を示す概略フローチャートを示す。図４に示されるように、ビデオ時間セグメントを検索するための方法は、トレーニング段階および推論段階を含んでもよい。トレーニング段階では、受信したビデオがＣＮＮによって分析され、ビデオのフレーム機能情報が取得される。次に、フレーム特徴情報は、エンコーダ（例えば、ＬＳＴＭ／ＲＮＮ）に入力されて、ビデオの時間情報に関する第１のベクトル（ｈｓ）などの第１のデータを出力する。第１のベクトルおよびビデオのビデオ時間セグメントを検索するための検索記述は、デコーダ（例えば、ＬＳＴＭ／ＲＮＮ）に入力されて、第２のベクトル（ｈｔ）などの第２のデータを出力する。その後、第１のベクトル（ｈｓ）および第２のベクトル（ｈｔ）に基づき（例えば、注意層で）注意計算トレーニングが行われる。
【００３４】
注意計算トレーニングは、次のようにして達成できる。第１のベクトルおよび第２のベクトルは、エンコーダおよびデコーダと接続される注意層に入力される。注意層では、各ビデオ時間セグメントと検索記述に含まれる各記述用語との相関に基づいて、ビデオの各ビデオ時間セグメントの時間的注意重み（αｔ）が取得される。注意層では、時間的注意重み（αｔ）と第２のベクトル（ｈｔ）に基づいて、第１のベクトルの加重平均ベクトル（ｃｔ）などの加重平均データが取得され、注意層およびデコーダと接続している全接続層に出力される。最後に、全接続層で、加重平均ベクトルと第２のベクトルに基づいて、最終注意ベクトル（ａｔ）が取得され、デコーダに出力される。
【００３５】
図４に示す方法を実施するために、ビデオ時間セグメントを検索するためのシステムも提供される。図５は、ビデオ時間セグメントを検索するためのシステムを示す概略ブロック図である。図示のように、システム５０は、エクストラクタ５２（２Ｄ／３Ｄ  ＣＮＮなど）、エンコーダ５４（ＬＳＴＭ／ＲＮＮなど）、デコーダ５６（ＬＳＴＭ／ＲＮＮなど）、および学習層ための層ジェネレータ５８を備える。一実施例では、エンコーダ５４およびデコーダ５６は、別個のＬＳＴＭで実装することができる。いくつかの例では、システム５０は、プロセッサ５３をさらに備えてもよい。一実施形態では、プロセッサ５３は、上記のコンポーネント５２、５４、５６、および５８と接続される。あるいは、プロセッサ５３は、層ジェネレータ５８と接続されてもよい。いくつかの例では、プロセッサ５３は、システム５０の検索結果などの情報をユーザに表示するためのディスプレイとさらと接続されてもよい。いくつかの例では、デコーダ５６は、データを入力するための入力装置５７と接続されるように構成されてもよい。上述のように、入力装置は、キーボード、タッチスクリーンなどのテキスト入力用の入力装置、またはマイクなどの音声入力用の入力装置とすることができる。システム５０の構成要素を以下に詳細に説明する。
【００３６】
エクストラクタ５２は、それに入力されたビデオのフレーム特徴情報を抽出するように構成され、それに入力されたビデオのフレーム特徴情報を抽出するように構成される。エンコーダ５４は、エクストラクタ５２と接続され、フレーム特徴情報に基づきビデオの時間情報（第１のベクトルｈｓに対応する）を取得するように構成される。デコーダ５６は、エンコーダ５４と接続され、エンコーダ５４から時間情報を受信し、外部から（例えば、入力装置５７から）検索記述を受信し、時間情報および検索記述に基づき、デコーダ５６の状態情報（第２のベクトルｈｔに対応する）を取得するように構成される。層ジェネレータ５８は、エンコーダ５４およびデコーダ５６と接続され、エンコーダ５４からの時間情報およびデコーダ５６からの状態情報を受信し、時間情報および状態情報に基づき注意計算を行うように構成される。
【００３７】
いくつかの実施形態では、層ジェネレータ５８は、注意層を生成するための注意層ジェネレータ５８１と、全接続層を生成するための全接続層ジェネレータ５８２とを含んでもよい。注意層ジェネレータ５８１および全接続層ジェネレータ５８２は、層ジェネレータ５８に集積されるように示されているが、他のアーキテクチャも使用することができる。例えば、注意層ジェネレータ５８１および全接続層ジェネレータ５８２は、互いに分離してもよい。
【００３８】
注意層ジェネレータ５８１は、エンコーダ５４およびデコーダ５６と接続され、各ビデオ時間セグメントと各ビデオ時間セグメントの各記述用語との相関に基づいて、ビデオの各ビデオ時間セグメントの時間的注意重み（αｔ）を取得するように構成される。検索記述、および時間的注意重み（αｔ）に基づき、第１のベクトルの加重平均ベクトル（ｃｔ）を取得する。ここで参照するパラメータについては、後で詳しく説明する。
【００３９】
全接続層ジェネレータ５８２は、デコーダ５６および注意層ジェネレータ５８１と接続され、加重平均ベクトル（ｃｔ）および状態情報（ｈｔ）に基づいて最終注意ベクトル（ａｔ）を取得し、最終注意ベクトルを出力するように構成される。ここで参照されるパラメータについては、以下で詳細に説明する。
【００４０】
プロセッサ５３は、層ジェネレータ５８と接続され、層ジェネレータにおける注意計算に基づきビデオのビデオ時間セグメントを確定するように構成される。プロセッサ５３はまた、ディスプレイ５５と接続されてもよく、システム５０の検索結果をディスプレイ５５に提供して表示する。
【００４１】
一実施形態として、プロセッサ５３は、推論段階中に使用可能にされるであろう、加算回路５３１および検索回路５３２を含備える。加算回路５３１は、推論段階で、ビデオの各ビデオ時間セグメントについて、検索記述のすべての記述用語に関するすべての時間的注意重みを合計するように構成される。検索回路５３２は、加算回路５３１と接続され、加算回路５３１の合計結果に基づいてビデオ時間セグメントを検索またはピックアップするように構成される。一実施例では、検索回路５３２は、ビデオ時間セグメントになる閾値よりも大きい合計された時間的注意重みを有するビデオ時間セグメントを検索するように構成され、検索されたビデオ時間セグメントをディスプレイに提供して表示する。合計された時間的注意重みが閾値よりも大きいビデオ時間セグメントがない場合、検索回路５３２は、ＮＵＬＬ結果または適格なビデオ時間セグメントが検索されなかったことを示す情報を供給する。
【００４２】
プロセッサ５３は、さらに、ソーティング機能を備えていてもよい。ソーティング機能は、合計された時間的注意重みに基づいてビデオ時間セグメントをソーティングすることを目的としている。当然のことながら、ソーティング機能は、加算回路５３１に集積することができ、または検索回路５３２に集積することもできる。あるいは、ソーティング機能は、加算回路５３１および検索回路５３２から独立し、それらと接続されるコンポーネントを介して達成することができる。本開示は特に限定されない。
【００４３】
図４のトレーニング段階および推論段階での動作、ならびに図５に示されているシステムの動作は、図６および図７を参照するとさらによく理解されるであろう。中には、自然言語によるビデオ時間セグメント検索（つまり、時間アクションの位置特定）のために提案されたシーケンスツーシーケンスのモデルがそれぞれ示されている。
【００４４】
トレーニング段階
図示されているように、注意モジュールを備えた標準のエンコーダ／デコーダＬＳＴＭフレームワークが採用されている。提案される技術は、トレーニング段階で、検索記述に含まれる各記述用語との相関に基づいて異なるビデオフレームに加重することができる注意層を学習することを目的としている。主にデコーダを次のワードジェネレータとして使用する従来のキャプション方法とは異なり、この提案される技術では、ビデオフレーム（ｘ１、．．．、ｘｎ）から構成されるビデオだけでなく、検索の記述（ｙ１、．．．、ｙｍ）も異例的に、学習したエンコーダデコーダに入力される。一方、検索記述に含まれる各用語の時間的注意重みαｔは、ビデオ内の対応する時間セグメントを示すために保持される。
【００４５】
トレーニング段階では、ビデオセグメントの説明を揃える必要はない。一対の時間的記述データセットが必要とされる従来技術と比較して、システムメモリを節約することができ、それによってプロセッサの効率を改善する。
【００４６】
Ｉ．ＣＮＮとエンコーダ
ビデオクリップを説明するために、フレーム特徴エクストラクタが採用され、ＣＮＮまたは３Ｄ  ＣＮＮ（Ｃ３Ｄなど、大規模なビデオデータセットでトレーニングされた３Ｄ  ＣＮＮを使用してビデオクリップの時空間特徴を学習することを目的としている）のいずれかを使用できる。図６及び図７に示すように、ＣＮＮには映像が入力される。「Ｋａｉｍｉｎｇ  Ｈｅ，Ｘｉａｎｇｙｕ  Ｚｈａｎｇ，Ｓｈａｏｑｉｎｇ  Ｒｅｎ，ａｎｄ  Ｊｉａｎ  Ｓｕｎ，“Ｄｅｅｐ  Ｒｅｓｉｄｕａｌ  Ｌｅａｒｎｉｎｇ  ｆｏｒ  Ｉｍａｇｅ  Ｒｅｃｏｇｎｉｔｉｏｎ，”ＣＶＰＲ  ２０１６」では、ここで使用できるＣＮＮの例を示している。「Ｄ．Ｔｒａｎ，Ｌ．Ｂｏｕｒｄｅｖ，Ｒ．Ｆｅｒｇｕｓ，Ｌ．Ｔｏｒｒｅｓａｎｉ，ａｎｄ  Ｍ．Ｐａｌｕｒｉ，“Ｌｅａｒｎｉｎｇ  Ｓｐａｔｉｏｔｅｍｐｏｒａｌ  Ｆｅａｔｕｒｅｓ  ｗｉｔｈ  ３Ｄ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ，”ＩＣＣＶ  ２０１５」は、ここで使用できる３Ｄ  ＣＮＮの例を示しており、その内容全体が参照により本明細書に組み込まれる。一実施例では、ビデオは、１６フレームのクリップに分割され、次に、例えばＣ３Ｄモデルの入力に適合するように２２４×２２４にサイズ変更される。ＣＮＮまたは３Ｄ  ＣＮＮからのフレーム機能情報、たとえば、ニューラルネットワークの最後の全接続層（つまり、ｓｏｆｔｍａｘ出力層の前の最後の全接続層）は、各ビデオクリップに対して抽出される。
【００４７】
図６は、経時的に展開されたＬＳＴＭスタックを示す。図示のように、抽出された全接続層特徴は、エンコーダに送られる。エンコーダは、各ＬＳＴＭユニットの出力が現在の状態ベクトルｈｓである時間情報を記録するために、スタック型ＲＮＮ（ＬＳＴＭなどの第１のスタック型ＲＮＮと呼ばれる）で実装できる。ところで、ご覧のように、エンコーダの各ＬＳＴＭユニットの出力は、デコーダと注意層に提供される。ＬＳＴＭがエンコードしているこの段階では、クロスエントロピーの損失はない。
【００４８】
ＩＩ．デコーダと注意層
ビデオ内のすべてのビデオフレームがエンコーダによって使い果たされた後、デコーダ、たとえば、スタック型ＲＮＮ（第２のスタック型ＲＮＮ、たとえばＬＳＴＭと呼ばれることもある）は、文の開始（＜ＳＯＳ＞）タグ。現在の隠し表現を単語の序列にデコードし始めるように指示する。デコーダはエンコーダの最後の隠し状態（ｈｓ）で初期化されるため、ソース情報にアクセスできる。図６から分かるように、エンコーダの現在の状態ベクトルｈｓがデコーダに供給される。具体的には、図７に示すように、現在の状態ベクトルｈｓ１、ｈｓ２、ｈｓ３、およびｈｓ４がデコーダに供給される。「単語の序列」は、検索の記述に含有される記述用語を指し、例えば、「ｄｒｉｂｂｌｉｎｇ」、「ａ」、「ｂａｓｋｅｔｂａｌｌ」はそれぞれ記述用語である。
【００４９】
図面では、現在の隠し表現はｈｔとして表されている。例えば、「ｄｒｉｂｂｌｉｎｇ  ａ  ｂａｓｋｅｔｂａｌｌ」（「バスケットボールをドリブルする」）という検索記述がユーザにより入力された場合：
タイムステップ００：入力＝‘＜ＳＯＳ＞’、デコーダの隠し表現＝ｈ０；
タイムステップ０１：入力＝‘ｄｒｉｂｂｌｉｎｇ’、デコーダ隠し表現＝ｈ１；
タイムステップ０２：入力＝‘ａ’、デコーダ隠し表現＝ｈ２；
タイムステップ０３：入力＝‘ｂａｓｋｅｔｂａｌｌ’、デコーダの隠し表現＝ｈ３；等々。
【００５０】
ベクトルｈｔとｈｓは、時間ステップベースで計算される。エンコーダ側では、「１つのタイムステップ」は、１つのビデオフレーム／クリップ／セグメントの入力または読み取りを指す。デコーダ側では、「１つのタイムステップ」は、「ｄｒｉｂｂｌｉｎｇ」、「ａ」、「ｂａｓｋｅｔｂａｌｌ」など、１つの単語または単語の序列の入力または読み取りを指す。
【００５１】
以下、注意層と全接続層での注意計算について詳しく述べる。図６に示すように、ｈｓとして表されるエンコーダの出力およびｈｔとして表されるデコーダの出力は、注意計算のために注意層に提供される。具体的には、図７に示すように、エンコーダから出力されるベクトルｈｓ１、ｈｓ２、ｈｓ３、ｈｓ４と、デコーダから出力されるベクトルｈｔ１、ｈｔ２、ｈｔ３、ｈｔ４が注意層に入力される。デコーダに関しては、その出力ベクトルも全接続層に提供される。図６に示すように、出力ベクトルｈｔは全接続層に供給される。
【００５２】
注意計算は、すべてのデコーダタイムステップで発生する。注意計算には、次の段階が含まれる。最初に、図６に示すように、注意層で、デコーダからの現在のターゲット隠し状態ｈｔがエンコーダからのすべてのソース状態ｈｓと比較され、時間的注意重みαｔ＝［αｔ１、αｔ２、．．．、αｔＳ］を導出する。ここで、Ｗは正規化されていない時間スコアを生成するための重み行列であり、次のように現れる行列Ｗｃと区別されるＷｓとして表すことができる。
【数１】
2021516407.tif 000025
【００５３】
注意重みに基づいて、コンテキストベクトルｃｔをソース状態の加重平均として取得できる。
【数２】
2021516407.tif 000026
【００５４】
全接続層で、注意層から取得したコンテキストベクトルｃｔとデコーダから取得した現在のターゲット隠し状態ｈｔを組み合わせて、最終注意ベクトルａｔを生成する。Ｗｃはａｔを生成するための重み行列である。
【数３】
2021516407.tif 000027
【００５５】
図６に示されるように、最終注意ベクトルａｔは、その入力としてデコーダに提供され、それに基づいて、デコーダは、後続の出力を生成する。最終注意ベクトルの数は、検索記述に含まれる記述用語の数と一致する。例として「＜ＳＯＳ＞ｄｒｉｂｂｌｉｎｇ  ａ  ｂａｓｋｅｔｂａｌｌ」を引き続き使用して、全接続層では、４つの最終注意ベクトルが取得され、デコーダに入力される。
【００５６】
復号化段階でトレーニングしている間、図６または図７のモデルは、ビジュアルフレーム序列の隠し表現（ｈｔ）、最終注意ベクトル（ａｔ）、およびそれが見た前の言葉が与えられた場合に、予測出力文の対数尤度を最大化できる。パラメーターθと出力序列Ｙ＝（ｙ１、…、ｙｍ）を持つモデルの場合、これは次のように定式化される。
【００５７】
arg maxθΣlog p( yt | ht-1, at-1, yt-1; θ)
この対数尤度は、確率的勾配降下法を使用してトレーニングデータセット全体で最適化される。損失は、ＬＳＴＭがデコードを学習しているときにのみ計算される。この操作の目的は、図６または図７のニューラルネットワーク全体の方向をトレーニングして、各コンポーネント（たとえば、注意層）のパラメーターを取得することである。
【００５８】
推論段階
ビデオフレームの序列（ｘ１、．．．、ｘｎ）と検索記述（ｙ１、．．．、ｙｍ）が与えられると、図６または図７に示されているアーキテクチャを用いて、推論段階で、対応する検索記述のビデオ時間セグメントをビデオにおいて検出できる。図８の「ｄｒｉｂｂｌｉｎｇ  ａ  ｂａｓｋｅｔｂａｌｌ」の検索記述例として、提案されるシステムは、各記述用語に関して各ビデオセグメントの注意重みを徐々に収集する。たとえば、図８の２行目に示すように、サーチ用語「ｄｒｉｂｂｌｉｎｇ」の最も可能性のある期間は、ビデオ時間セグメント３と４にあり、注意重みはそれぞれ０．４５と０．４である。
【００５９】
検索記述全体の時間セグメントを位置特定するために、各時間セグメントまたは時間間隔のすべての時間的注意重み（すなわち、Σαｔ）が合計され、事前定義された閾値を使用して、最も可能性のある時間セグメントが識別される。例えば、閾値よりも大きい注意の合計を有するビデオセグメントは、対応するサーチのための検出されたイベントとして確定されるであろう。注意の合計が閾値よりも大きいセグメントがない状況がある。この場合、システムはこのサーチに対してＮｕｌｌまたはエンプティの結果を返すことがある。
【００６０】
例えば、図８に示すように、時間セグメント１（最も左のセグメント）の時間的注意重みの合計は次のとおりである。
【００６１】
Σ αt1=α1 +α2+α3+α4=0.14+0.01+0.01+0.01=0.17
同様に、時間セグメント４（左から４番目のセグメント）の時間的注意重みの合計は次のとおりである。
【００６２】
Σ αt4=α1 +α2+α3+α4=0.14+0.40+0.60+0.35=1.49
他のセグメントの重みの合計も同様に取得できる。具体的には、Σαｔ１＝０．１７、Σαｔ２＝０．２１、Σαｔ３＝０．９９、Σαｔ４＝１．４９、Σαｔ５＝０．５９、Σαｔ６＝０．２７、Σαｔ７＝０．１９である。たとえば、事前定義された閾値は０．５である。これに基づいて、図９に示すように、「ｄｒｉｂｂｌｉｎｇ  ａ  ｂａｓｋｅｔｂａｌｌ」というサーチの時間間隔は、暗領域として確定することができる。つまり、ビデオセグメントｘ３〜ｘ５が取得されるビデオセグメントとして確定される。
【００６３】
したがって、ビデオ（セグメントｘ１〜ｘ７を含む）と検索の記述が与えられると、提案される技術は、ビデオ内の対応する時間セグメントの位置を特定するのに役立つ。図１０（Ａ）に示すように、提案されるシステムは、「ｄｒｉｂｂｌｉｎｇ  ａ  ｂａｓｋｅｔｂａｌｌ」という時間的イベントを最もよく表すビデオセグメントｘ３〜ｘ５を返す。
【００６４】
別の例として、ビデオとサーチオブジェクトの記述が与えられた場合、提案される技術は、ビデオ内の指定されたオブジェクトの対応する時間セグメントを位置特定するのに役立つ。図１０（Ｂ）に示すように、提案されるシステムは、時間セグメントに「ｈｏｏｐ」のオブジェクトを含むビデオセグメントｘ２およびｘ６〜ｘ７を返す。
【００６５】
冗長を避けるために、同じまたは類似の部品の重複した説明は、本明細書では行われないことに留意されたい。例えば、ベクトルｈｔ、ｈｓ、αｔｓ、ａｔなどのデータまたは情報の計算は、衝突することなく本開示の様々な実施形態に等しく適用することができる。
【００６６】
本発明またはその任意の部分または機能は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実装されてもよく、１つ以上のコンピュータシステムまたは他の処理システムで実装されてもよい。本発明の動作を実行し、本明細書に記載の機能を実行することができるコンピュータシステムは、通信インフラストラクチャ（例えば、通信バス、クロスオーバー・バー、またはネットワーク）と接続される１つまたは複数のプロセッサを備えてもよい。様々なソフトウェアの実施形態は、そのような例示的なコンピュータシステムに関して説明されている。この説明を読んだ後、当業者には、他のコンピュータシステムおよび／またはアーキテクチャを使用して本発明を実施する方法が明らかになるであろう。
【００６７】
コンピュータシステムは、ディスプレイユニット上に表示するために、通信インフラストラクチャから（またはフレームバッファから）グラフィックス、テキスト、および他のデータを転送するディスプレイインターフェースを備えてもよい。表示インターフェースはブラウザーと通信できる。コンピュータシステムはまた、メインメモリ、好ましくはランダムアクセスメモリを備え、二次メモリおよびデータベースも備えてもよい。二次メモリは、例えば、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブなどであるハードディスクドライブおよび／またはリムーバブルストレージドライブを含んでもよい。リムーバブルストレージドライブは、よく知られている方法でリムーバブルストレージユニットから読み取りおよび／またはリムーバブルストレージユニットへ書き込みを行う。リムーバブルストレージユニットは、リムーバブルストレージドライブによって読み書きされるフロッピーディスク、磁気テープ、光ディスクなどであってもよい。理解されるように、リムーバブルストレージユニットは、コンピュータソフトウェアおよび／またはデータが内部に格納されているコンピュータ使用可能記憶媒体またはコンピュータ可読媒体を含んでもよい。
【００６８】
コンピュータシステムはまた、ソフトウェアおよびデータがコンピュータシステムと外部装置との間で転送されることを可能にする通信インターフェースを備えてもよい。コンピュータプログラム媒体およびコンピュータ使用可能媒体は、一般に、リムーバブルストレージドライブ、ハードディスクドライブにインストールされたハードディスク、および信号などの媒体を指す。これらのコンピュータプログラム製品は、コンピュータシステムにソフトウェアを提供する。
【００６９】
コンピュータプログラムまたは制御ロジックは、メインメモリおよび／または二次メモリに格納されている。コンピュータプログラムはまた、通信インターフェースを介して受信されてもよい。そのようなコンピュータプログラムまたは制御ロジック（ソフトウェア）は、実行されると、本明細書で論じるように、コンピュータシステムまたはそのプロセッサで動作して、本発明の特徴および機能を実行することができる。
【００７０】
前述の説明は、例示および説明の目的で提示されてきた。網羅的であること、または仕様を開示された正確な形式に限定することを目的としている。上記の教示に照らして、多くの修正および変更が可能である。本開示の範囲は、この詳細な説明によってではなく、本出願の請求の範囲によって限定されることが意図されている。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオ時間セグメントを検索するための方法において、前記方法は、
ビデオを分析して、前記ビデオのフレーム特徴情報を取得することと、
前記フレーム特徴情報をエンコーダに入力して、前記ビデオの時間情報に関する第１のデータを出力することと、
前記第１のデータと前記ビデオのビデオ時間セグメントを検索するための検索記述とをデコーダに入力して、第２のデータを出力することと、
前記第１のデータおよび前記第２のデータに基づき、注意計算トレーニングを行うことと、
前記注意計算トレーニングに応じて、前記検索記述に対応する前記ビデオのビデオ時間セグメントを確定することとを含む、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項２】
請求項１に記載の方法において、前記第１のデータおよび前記第２のデータに基づき注意計算トレーニングを行うことは、
前記第１のデータおよび前記第２のデータを、前記エンコーダおよび前記デコーダと接続される注意層に入力することと、
前記注意層において、各ビデオ時間セグメントと前記検索記述に含まれる各記述用語との相関に基づいて、前記ビデオの各ビデオ時間セグメントの時間的注意重みデータを取得することと、
前記注意層において、前記第１の情報および前記時間的注意重みデータに基づいて、加重平均データを取得し、加重平均ベクトル情報を、前記注意層および前記デコーダと接続される全接続層に出力することと、
前記全接続層で、前記加重平均データと前記第２のデータに基づいて最終注意データを取得し、前記最終注意データを前記デコーダに出力することとを含む、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項３】
請求項２に記載の方法において、前記時間的注意重みデータは、下記の数式、
【数１】
2021516407.tif 000028
によって取得され、ここで、
ｈｓは前記第１のデータを表し、ｈｔは前記第２のデータを表し、Ｗは非正規化時間スコアを生成するための重み行列を表し、αｔｓは前記時間的注意重みを表し、ｈｓ、ｈｔはタイムステップベースで計算される、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項４】
請求項３に記載の方法において、前記加重平均データは、下記の数式、
【数２】
2021516407.tif 000029
によって取得され、ここで、
ｃｔは前記加重平均データを表す、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項５】
請求項４に記載の方法において、前記最終注意データは下記の数式
【数３】
2021516407.tif 000030
によって取得され、ここで、
ａｔは前記最終注意データを表し、Ｗｃはａｔを生成するための重み行列を表す、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項６】
請求項３に記載の方法において、前記注意計算トレーニングに応じて前記ビデオの前記ビデオ時間セグメントを確定することは、
前記ビデオの各ビデオ時間セグメントについて、前記検索記述に含まれるすべての記述用語に関するすべての時間的注意重みを合計することと、
合計された時間的注意重みが閾値よりも大きいビデオ時間セグメントを、検索される前記ビデオ時間セグメントと確定することとを含む、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項７】
請求項２に記載の方法において、前記第１のデータは、前記エンコーダの現在の状態ベクトル表現を表し、前記第２のデータは、前記デコーダの現在のターゲット隠し状態ベクトル表現を表す、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項８】
請求項１に記載の方法において、前記ビデオを分析して、前記ビデオのフレーム特徴情報を取得することは、
前記ビデオをビデオ時間セグメントに分割することと、
前記ビデオ時間セグメントを複数の層を含有する畳み込みニューラルネットワーク（ＣＮＮ）に入力することと、
前記ビデオの前記フレーム特徴情報として前記ＣＮＮから特徴を抽出することとを含む、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項９】
請求項１に記載の方法において、前記検索記述は、テキスト入力またはテキストに変換可能な音声入力である、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項１０】
請求項１に記載の方法において、前記エンコーダは、スタック型リカレントニューラルネットワーク（ＲＮＮ）で実装され、前記デコーダは、別のスタック型ＲＮＮで実装される、ことを特徴とするビデオ時間セグメントを検索するための方法。
【請求項１１】
ビデオ時間セグメントを検索するためのシステムにおいて、
入力されたビデオのフレーム特徴情報を抽出するように構成されるエクストラクタと、
前記エクストラクタと接続され、前記フレーム特徴情報に基づき前記ビデオの時間情報を取得するように構成されるエンコーダと、
前記エンコーダと接続され、前記エンコーダからの前記時間情報を受信し、外部からの検索記述を受信し、前記時間情報および前記検索記述に基づき前記デコーダの状態情報を取得するように構成されるデコーダと、
前記エンコーダおよび前記デコーダと接続され、前記エンコーダからの前記時間情報および前記デコーダからの前記状態情報を受信し、前記時間情報および前記状態情報に基づき注意計算を行うように構成される層ジェネレータはと、
前記層ジェネレータと接続され、前記層ジェネレータでの前記注意計算に基づき、前記検索記述に対応する前記ビデオのビデオ時間セグメントを確定するように構成されるプロセッサとを備える、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１２】
請求項１１に記載のシステムにおいて、前記層ジェネレータは、
前記エンコーダと前記デコーダと接続され、各ビデオ時間セグメントと前記検索記述の各記述用語との相関に基づいて前記ビデオの各ビデオ時間セグメントの時間的注意重みを取得し、前記時間的注意重みに基づき前記時間情報の加重平均情報を取得するように構成される注意層ジェネレータと、
前記デコーダと前記注意層ジェネレータと接続され、前記加重平均情報と前記状態情報に基づいて最終注意情報を取得し、前記デコーダに前記最終注意情報を出力する全接続層ジェネレータとを備える、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１３】
請求項１２に記載のシステムにおいて、前記時間的注意重みは、下記の数式、
【数４】
2021516407.tif 000031
によって取得され、ここで、
ｈｓは前記時間情報を表し、ｈｔは前記デコーダの前記状態情報を表し、Ｗは非正規化時間スコアを生成するための重み行列を表し、αｔｓは前記時間的注意重みを表し、ｈｓ、ｈｔはタイムステップベースで計算される、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１４】
請求項１３に記載のシステムにおいて、前記加重平均情報は、下記の数式、
【数５】
2021516407.tif 000032
によって取得され、ここで、
ｃｔは前記加重平均情報を表す、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１５】
請求項１４に記載のシステムにおいて、前記最終注意情報は下記の数式
【数６】
2021516407.tif 000033
によって取得され、ここで、
ａｔは前記最終注意情報を表し、Ｗｃはａｔを生成するための重み行列を表す、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１６】
請求項１１に記載のシステムにおいて、前記プロセッサは、
前記ビデオの各ビデオ時間セグメントについて、前記検索記述に含有されるすべての記述用語に関するすべての時間的注意重みを合計し、合計された時間的注意重みを取得するように構成される加算回路と、
閾値よりも大きい合計された時間的注意重みを持つビデオ時間セグメントを前記ビデオ時間セグメントとして検索し、検索されたビデオ時間セグメントをディスプレイに提供して表示するように構成される検索回路とを備える、ことを特徴とするビデオ時間セグメントを検索するためのシステム。
【請求項１７】
コンピュータシステムにおいて、
データを格納しかつデータへのアクセスを提供するための少なくとも１つの非一時的なコンピュータメモリと、
データにアクセスするように前記少なくとも１つの非一時的なコンピュータメモリと接続される少なくとも１つのプロセッサと、
ビデオのフレーム特徴情報を抽出するように構成される、前記少なくとも１つの非一時的なコンピュータメモリによって格納可能であり、前記少なくとも１つのプロセッサによって実行可能な畳み込みニューラルネットワーク（ＣＮＮ）と、
前記少なくとも１つの非一時的なコンピュータメモリによって格納可能であり、前記少なくとも１つのプロセッサによって実行可能なビデオ記述ベースのモデラとを備え、
前記モデラは、
前記ＣＮＮと接続され、前記ビデオの前記フレーム特徴情報に基づき前記ビデオの時間情報を取得するように構成される第１のスタック型リカレントニューラルネットワーク（ＲＮＮ）と、
前記第１のＲＮＮと接続され、前記時間情報および検索記述に基づき隠し表現ベースの出力を作るように構成される第２のスタック型ＲＮＮと、
前記第１のＲＮＮおよび前記第２のＲＮＮと接続され、前記時間情報および前記隠し表現ベースの出力に基づいて前記ビデオ内の各ビデオ時間セグメントの時間的注意重みを取得するように構成される注意層階層時間メモリ（ＨＴＭ）とを備える、ことを特徴とするコンピュータシステム。
【請求項１８】
請求項１７に記載のシステムにおいて、前記注意層ＨＴＭは、下記の数式
【数７】
2021516407.tif 000034
によって時間的注意重みを取得するように構成される、ここで、
αｔｓは前記時間的注意重みを表し、
ｈｓは、第１のスタック型ＲＮＮから出力される時間情報を表し、
ｈｔは、第２のスタック型ＲＮＮから出力される隠し表現を表し、
Ｗは、非正規化される時間スコアを生成するための重み行列を表す、ことを特徴とするコンピュータシステム。
【請求項１９】
請求項１８に記載のシステムにおいて、前記モデラはさらに、
前記注意層ＨＴＭおよび前記第２のスタック型ＲＮＮと接続され、前記第２のスタック型ＲＮＮに入力を提供するように構成される全接続層ＨＴＭを備える、ことを特徴とするコンピュータシステム。
【請求項２０】
請求項１９に記載のシステムにおいて、前記注意層ＨＴＭはさらに、下記の数式
【数８】
2021516407.tif 000035
のようにコンテキストベクトルｃｔを取得し、前記コンテキストベクトルを前記全接続層ＨＴＭに出力するように構成される、ことを特徴とするコンピュータシステム。
【請求項２１】
請求項２０に記載のシステムにおいて、前記全接続層ＨＴＭは、下記の数式
【数９】
2021516407.tif 000036
のように最終注意ベクトルを取得し、前記最終注意ベクトルを前記第２のスタック型ＲＮＮに入力するように構成され、ここで、
Ｗｃはａｔを生成するための重み行列を表す、ことを特徴とするコンピュータシステム。
【国際調査報告】
2021516407.tif 000037
2021516407.tif 000038