# 映像からのストーリー生成: イベント選択器と文生成器の同時学習

西村太一 ${ }^{1}$ 橋本敦史 ${ }^{2}$ 牛久祥孝 2 森信介 ${ }^{3}$
1 京都大学大学院 情報学情報学研究科 2 オムロンサイニックエックス株式会社
3 京都大学 学術情報メディアセンター
taichitary@gmail.com \{atsushi.hashimoto,yoshitaka.ushiku\}@sinicx.com
forest@i.kyoto-u.ac.jp

## 概要

本研究では，映像からストーリーを生成するこ と，つまり，映像から記述すべき重要なイベント を過不足なく検出し，その説明文を生成すること を目的とする。この課題は, Dense Video Captioning (DVC) として取り組まれてきたが，既存モデルは主 に映像から密にイベントを予測することに焦点を当 てており，ストーリー性について考慮したものでは なかった。 そこで本研究では，映像からストーリー を生成する上で従来の方法と異なるアプローチを取 る.それは，既存の DVC モデルの密な出力をイべ ント候補の集合とみなし，この集合から適切なイベ ントを選択しつつ文を生成する手法である．実験で は，提案手法と従来モデルを比較して優れた性能を 示しただけでなく，正しくストーリーを生成できて いることも分かった.

## 1 はじめに

数秒から数十秒の映像からその説明文を生成する ことを目的とする Video Captioning は，近年急速に 発展を遂げてきた $[1,2,3]$. 一方で, 比較的長い映像 をもとに，映像からストーリーを生成すること，つ まり映像から記述すべき重要なイベントを検出し， その説明文を生成すること，は未だ発展途上の挑戦的な課題である。この技術を確立できれば，自然言語をクエリとした動画のイベントの検索も可能とな るし, 出力したイベントと文の組み合わせは動画の 概要を把握する上でも有用であろう. 本研究では,映像からストーリーを生成する課題に取り組む。

この課題は, Vision and Language 分野において Dense Video Captioning [4] (DVC) として定式化され 取り組まれており，近年は Transformer [5] をべース

図 1 本研究の課題の概要. 既存の DVC モデルが出力し たイベント候補集合からストーリーを構成する上で欠か せないイベントを選択しつつ文を生成する。

にしたモデルが提案されている [6,7]. しかし，こう したモデルは入力の映像について密にイベントを予測することに焦点を当て取り組まれており，ストー リー性について考慮したものではなかった. Fujuta ら [8] によると，100を超えるような過剩なイベン トの出力を行うことが報告されている. これは検索 の観点からは有用であるかもしれないが，人が読ん で理解するようなストーリー性の観点からは不適切 であろう。

そこで本研究では，映像からストーリーを生成す るために，従来の方法と異なるアプローチを取る。 それは，既存のDVC モデルの出力をイベント候補 の集合と見なし，この集合から適切なイベント列を 抽出するという方法である (図 1). 節 2 ではこのア プローチがストーリー生成に有効であることを既存 の DVC モデルの出力をもとに議論し，この分析を もとに，節 3 にてイベントを候補から選択するイベ ント選択器と選択したイベントから文を生成する文生成器を同時学習する手法を提案する.

実験では，DVC においてよく利用されるデータ セットの 1 つである YouCook2 [9]を用いて提案手法 を評価した。その結果，従来の DVC モデルと比較 して正しくストーリーを生成できていることが分 かった.

## 2 既存の DVC モデルの出力の分析

既存の DVC モデルは正解のイベント数を大幅に 超過してイベントを出力することが Fujita ら [8] に よって指摘されている. そこで，我々は出力のイべ ント集合から正しいイベントを選択できれば正し いストーリーが得られるのではないかと考えた。こ れを検証するため，映像中の正解のイベントに対し て, DVC モデルの出力集合の中で最もイベント間の 重なり，つまり temporal Intersection over Union (tIoU) が大きいものを選択した時の評価結果を調査する.本研究ではこの手法をオラクルと呼ぶこととする. なお，データセットとしては YouCook2 [9]を用い て, DVC モデルとして PDVC [7] を検証に用いる. PDVC を選んだのは, 現状このモデルが DVC におい て最も性能が高く, イベント候補数 $N$ をあらかじめ 設定できるからである1).

評価尺度. 評価には，DVC の評価によく利用され る 2 種類の評価尺度を用いる. 1 つ目は DVC その ものと共に提案されたもので，本研究ではdvc_eval [4] と呼ぶ. この評価尺度では, 予測したイベント 集合と正解のイベント集合の全ての組み合わせの tIoU を計算し, それが閾値 $\theta \in\{0.3,0.5,0.7,0.9\} を$超えた場合に METEOR [10] や CIDEr-D [11] などの 文の自動評価尺度を計算し，その平均を取ることで 評価される。この評価尺度は個々の予測イベントに 対するイベント自体や生成文の正しさは評価できる が，動画全体でのストーリー性を考慮する仕組みに はなっていない。これを解決する評価尺度として，我々は SODA [8] も評価する。この評価尺度では,正解のイベントと予測イベントの間で動画全体のス トーリー性を考慮したスコア (tIoU と文の自動評価尺度の積) が最大となる対応関係を動的計画法を用 いて探索し評価を行う. 動画全体のストーリー性を 評価するのに適しているため, 本研究では dvc_eval より SODAを重視する。

## 2.1 評価結果

定量的評価. 表 1 にオラクルの評価結果を，表 2 にイベントの予測結果を示す. PDVC と比較して，両方の評価尺度で高い性能を示している. イベント 予測結果において強調すべき点として, 閾値が 0.7

1）PDVC では，イベント候補数 $N$ を設定してモデルを学習し，予測時はイベントの確信度スコアが高い順に並び替えて $K$ 個選択する. $N$ は十分に大きい数が設定される $(N=100)$. な お，Kも予測対象である.表 1 オラクルと PDVC の DVC 評価結果.

表 2 オラクルと PDVC のイベント予測結果.

から 0.9 にかけてオラクルの評価結果が大きく下が ることである。つまり，正解のイベントに対してオ ラクルの選択をしても， tIoU が 0.9 を超えるものは 多くないことが分かる.

オラクルのイベントの IIOU の分布. 図 2 にオラ クルと正解のイベント間での IIoU の分布を示す.学習データ，検証データともに $N$ を十分に増やす と，オラクルの選択するイベントの tIoU は大きくな ることが分かる．例えば， $N=100$ において，オラ クルの選択するイベントの tIoU の平均はそれぞれ 74.6\%，70.4\%であり，多くのイベントが 0.7 から 0.9 の間にあることが分かる。

## 3 提案手法

前節の分析において，イベント候補の中には 正解のイベントと高い tIoU を持つイベントが存在し，それを選ぶことができれば正しいストー リーが得られることが分かった. これに基づき，本節では，イベントを選択するイベント選択器 とそれに対応する文を生成する文生成器を同時に学習しストーリーを生成する手法を提案 する. 図 3 に提案手法の概要を示す. 入力とし てイベント候補列 $\boldsymbol{X}=\left(\boldsymbol{x}_{1}, \boldsymbol{x}_{2}, \ldots, \boldsymbol{x}_{n}, \ldots, \boldsymbol{x}_{N}\right)$ が 与えられる. 期待する出力は， $\boldsymbol{X}$ 中のオラクル で選ぶイベントの添字とそれに対応する文の組 $(\boldsymbol{C}, \boldsymbol{Y})=\left(\left(c_{1}, \boldsymbol{y}_{1}\right), \ldots,\left(c_{t}, \boldsymbol{y}_{t}\right), \ldots,\left(c_{T}, \boldsymbol{y}_{T}\right)\right)$ である $(T$ はイベント数). 提案手法は, $t$ 番目においてイベン トを1つ選択し，それに対応する文を生成する。こ の処理をイベント選択器がイベントの出力を終了す るまで再帰的に繰り返す。

図 2 オラクルにより選択されたイベントの tIoU のヒス トグラム。

## 3.1 イベント選択器

イベントのエンコード，イベント選択器は，入力のイベント系列 $\boldsymbol{X}$ の中から正しいイベントを選択することを目的とする，イベント選択器は Event Encoder と Event Transformer の 2 つのモジュールから なる. Event Encoder は入力の各イベント $\boldsymbol{x}_{n}$ を中間表現 $e_{n}$ へ変換する. 本研究では, Event Encoder とし て，映像の事前学習モデルの 1つである Howto100M [12] によって学習済みの MIL-NCE モデル [13] を用 いる.

イベントの選択. 次に，イベント間の関係性を考慮するために, $\boldsymbol{e}_{n}$ に Positional Encoding (PE) と各イ ベントの情報 (開始時間, 終了時間)を埋め込んだべ クトルと共に加算した後, Event Transformer へ入力 する.この Event Transformer は MART [14] を基にし ており，前に選択したイベントの情報を記憶する役割を持つメモリベクトル $V_{t}^{l}$ が Transformer $の ~ l$ 層ご とに入っている点が通常の Transformer と異なって いる. Event Transformer の出力 $\boldsymbol{h}_{n}$ とメモリベクト ル $V_{t}^{l}$ を用いて，以下のように $n$ 番目のイベントが 選択される確率 $p\left(n \mid \boldsymbol{V}_{t}^{l}, \boldsymbol{X}\right)$ を計算する.

$
\begin{aligned}
\boldsymbol{V}_{t} & =\max \left(\boldsymbol{V}_{t}^{1}, \ldots, \boldsymbol{V}_{t}^{l}, \ldots, \boldsymbol{V}_{t}^{L}\right) \\
p\left(n \mid \boldsymbol{V}_{t}^{l}, \boldsymbol{X}\right) & =\frac{\exp \left(\left(\boldsymbol{h}_{n}^{t}\right)^{T} \boldsymbol{V}_{t}\right)}{\sum_{i} \exp \left(\left(\boldsymbol{h}_{i}^{t}\right)^{T} \boldsymbol{V}_{t}\right)}
\end{aligned}
$

ここで, $\max (\cdot)$ はべクトルの要素ごとの最大値を 取る、イベント選択器は, 学習時は Gumbel softmax [15]を用いてイベントを 1 つ選択する。これにより， イベントの選択を微分可能なまま処理でき，End-toend の学習が可能となる. 推論時は $p\left(n \mid \boldsymbol{V}_{t}^{l}, \boldsymbol{X}\right)$ の値 が最大となるイベントを選択して文生成器へ送る.

## 3.2 文生成器

文生成器は選択されたイベントに対応する文を 生成する。ここで，選択されたイベントの添字を $\hat{c}_{t}$ とすると，イベントベクトルは $\boldsymbol{h}_{\hat{c}_{t}}$ と書ける. 文生成器は, まず $t$ 番目のイベントに対応する文 $\boldsymbol{y}_{t}$ の単語列を訓練済みの GloVe [16] を介して単語の 分散表現へ変換する. 次に，これらを $\boldsymbol{h}_{\hat{c}_{t}}$ の次元数と同じになるように 2 層の多層パーセプトロン によって変換し， $\boldsymbol{h}_{\hat{c}_{t}}$ および PE と加算する. 最後 に, Event Transformer ど同様にメモリを持つ Senence Transformer へ入力し，その出力を softmax 層を通す ことで出力単語の条件付き確率分布を得る.

## 3.3 メモリの更新

Event Transformer と Sentence Transformer のメモリ モジュール $V_{t}^{l}, S_{t}^{l}$ は別々に更新することも可能であ る.しかし，直感的には，相互的に情報を共有する ことが映像全体で一貫したストーリーの出力を得る のに有効だろうと考えられる。これを実現するため に，我々はメモリモジュールを以下の式に則って更新する.

$
\begin{aligned}
& \hat{\boldsymbol{V}}_{t}=f_{1}\left(\boldsymbol{V}_{t}\right) \odot \sigma\left(g_{2}\left(g_{1}\left(\boldsymbol{S}_{t}\right)\right)\right) \\
& \hat{\boldsymbol{S}}_{t}=g_{1}\left(\boldsymbol{S}_{t}\right) \odot \sigma\left(f_{2}\left(f_{1}\left(\boldsymbol{V}_{t}\right)\right)\right)
\end{aligned}
$

ここで, $f_{*}(\cdot), g_{*}(\cdot)$ は 1 層の線形層, $\odot, \sigma$ はアダマー ル積およびシグモイド関数を表す。得られた $\hat{V}_{t}$ と $\hat{S}_{t}$ をそれぞれの新たなメモリベクトルとして $t+1$番目の処理に活用する.

## 3.4 学習

2 つの損失関数の和を計算してモデル全体を学習 させる.1つ目は，イベント選択器を学習させるた めのもので，以下の式で表される負の対数尤度 $L_{e}$ を最小化する。

$
L_{e}=-\sum_{(\boldsymbol{X}, \boldsymbol{C})} \log p\left(\boldsymbol{C} \mid \boldsymbol{X}, \boldsymbol{V}_{1}^{l}, \ldots, \boldsymbol{V}_{T}^{l}\right)
$

2 つ目は, 文生成器を学習させるためのもので， $t$番目の文 $\boldsymbol{y}_{t}$ に対し以下の負の対数尤度 $L_{s}$ を最小化 する。

$
L_{s}=-\sum_{(\boldsymbol{X}, \boldsymbol{C}, \boldsymbol{Y})} \sum_{t} \log p\left(\boldsymbol{y}_{t} \mid \boldsymbol{h}_{\hat{c}_{t}}, \boldsymbol{S}_{<t}^{l}\right)
$

## 4 実験

データセット．実験では，学習および評価のデー タセットとして，YouCook2 [9]を利用した。この

図 3 提案手法の概要図.

表 3 提案手法と比較モデルの DVC 評価結果.

データセットは, YouTube 上の料理動画に対して イベントと対応する文のアノテーションがされた データセットである (イベントの数は 3 から 16). YouCook2 ではテストセットが公開されていない.先行研究との公平な比較を行うために, 以下の結果 は全て検証セットでの評価結果である.

比較モデル. 比較モデルとして，提案手法と同様に Transformer をべースとした DVC 手法である Masked Transformer [6] と PDVC [7] を採用した.ま た，イベントの候補数 $N$ は 100 として設定した.

## 4.1 定量評価

表 3 に評価結果を示す. 提案手法はベースライン の手法よりも高い性能を，とりわけSODA において 顕著な差が見られた. また，メモリの更新方法を比較すると，共有して更新する方が別々に更新するよ
りも概ね高い性能を示すことも分かった。

## 4.2 定性評価

図 4(付録) に Ground Truth に加えオラクル, PDVC,提案手法の予測結果を示す. PDVC はストーリー性 を無視したイベント予測を行っているのに対し，提案手法は動画全体を考慮して，イベント間の重なり を少なくかつ正しく予測できていることが分かる. また, 出力文を比較しても, 提案手法はいくつかの 材料の認識の失敗はあるが，ストーリー性に沿った 文章を生成できていることが分かる (混ぜる $\rightarrow$ 入れ る $\rightarrow$ 浸ける $\rightarrow$ 揚げる).

## 5 まとめ

本研究では，映像からストーリーを生成すること を目的とする. 既存の DVC モデルの出力を分析し たところ，出力からうまくイベントを選べば正しい ストーリーを得られることが分かった。この分析を もとに，イベントを選択するイベント選択器と文を 生成する文生成器を同時学習するモデルを提案し た. 実験では，提案手法が既存手法と比較して正し くストーリーを生成できていることが分かった.

## 謝辞

本研究は JSPS 科研費 JP21J20250 の助成を受けた ものです.

## 参考文献

[1] Ganchao Tan, Daqing Liu, Meng Wang, and Zheng-Jun Zha. Learning to discretely compose reasoning module networks for video captioning. In Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), 2020.

[2] Jeff Donahue, Lisa Anne Hendricks, Marcus Rohrbach, Subhashini Venugopalan, Sergio Guadarrama, Kate Saenko, and Trevor Darrell. Long-term recurrent convolutional networks for visual recognition and description. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015.

[3] Yangyu Chen, Shuhui Wang, Weigang Zhang, and Qingming Huang. Less is more: Picking informative frames for video captioning. In Proceedings of the European Conference on Computer Vision (ECCV), 2020.

[4] Ranjay Krishna, Kenji Hata, Frederic Ren, Li Fei-Fei, and Juan Carlos Niebles. Dense-captioning events in videos. In Proceedings of the International Conference on Computer Vision (ICCV), 2017.

[5] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Proceedings of the Advances in Neural Information Processing Systems (NeurIPS), 2017.

[6] Luowei Zhou, Yingbo Zhou, Jason J. Corso, Richard Socher, and Caiming Xiong. End-to-end dense video captioning with masked transformer. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[7] Teng Wang, Ruimao Zhang, Zhichao Lu, Feng Zheng, Ran Cheng, and Ping Luo. End-to-end dense video captioning with parallel decoding. In Proceedings of the International Conference on Computer Vision (ICCV), 2021.

[8] Soichiro Fujita, Tsutomu Hirao, Hidetaka Kamigaito, Manabu Okumura, and Masaaki Nagata. SODA: Story oriented dense video captioning evaluation flamework. In Proceedings of the European Conference on Computer Vision (ECCV), 2020.

[9] Luowei Zhou, Chenliang Xu, and Jason J Corso. Towards automatic learning of procedures from web instructional videos. In Proceedings of the AAAI Conference on Artificial Intelligence (AAAI), 2017.

[10] Satanjeev Banerjee and Alon Lavie. METEOR: An automatic metric for $\mathrm{mt}$ evaluation with improved correlation with human judgments. In Proceedings of the ACL Workshop on Intrinsic and Extrinsic Evaluation Measures for Machine Translation and/or Summarization, 2005.

[11] Ramakrishna Vedantam, C. Lawrence Zitnick, and Devi Parikh. CIDEr: Consensus-based image description evaluation. In Proceedings of the IEEE Conference on Com- puter Vision and Pattern Recognition (CVPR), 2015

[12] Antoine Miech, Dimitri Zhukov, Jean-Baptiste Alayrac, Makarand Tapaswi, Ivan Laptev, and Josef Sivic. HowTo100M: Learning a text-video embedding by watching hundred million narrated video clips. In Proceedings of the International Conference on Computer Vision (ICCV), 2019.

[13] Antoine Miech, Jean-Baptiste Alayrac, Lucas Smaira, Ivan Laptev, Josef Sivic, and Andrew Zisserman. End-to-end learning of visual representations from uncurated instructional videos. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2020.

[14] Jie Lei, Liwei Wang, Yelong Shen, Dong Yu, Tamara Berg, and Mohit Bansal. MART: Memory-augmented recurrent transformer for coherent video paragraph captioning. In Proceedings of the Annual Meeting of the Association for Computational Linguistics (ACL), 2020.

[15] Eric Jang, Shixiang Gu, and Ben Poole. Categorical reparameterization with gumbel-softmax. In The International Conference on Learning Representations (ICLR), 2017.

[16] Jeffrey Pennington, Richard Socher, and Christopher D. Manning. GloVe: Global vectors for word representation. In Proceedings of the Empirical Methods in Natural Language Processing (EMNLP), 2014.

提案手法

## Ground Truth

(1) Add flour eggs baking soda salt and pepper to the bowl and stir

(2) Add cold water to the bowl and stir

(3) Cover the shrimp in the batter and breadcrumbs

(4) Place the shrimp into a pan of hot oil

(5) Remove the shrimp from the pan

## PDVC

(1) Mix flour and pepper in a bowl and mix

(2) Coat the chicken in the flour mixture

(3) Fry the chicken in the oil

## オラクル

(1) Add flour and mix to a bowl and mix

(2) Mix the ingredients in the bowl

(3) Place the chicken in the batter

(4) Fry the chicken in the oil

(5) Remove the soup from the oil

## 提案手法

(1) Mix flour pepper and beer together

(2) Add flour and corn flour to the bowl and mix Place the chicken in the batter

(3) Coat the shrimp in the flour and the batter

(4) Fry the fish in the oil

図 4 Groud Truth，オラクル選択，PDVC，そして提案手法によるイベントの予測結果およびストーリーの比較.
 西村太一 ${ }^{1}$ 橋本敦史 ${ }^{2}$ 牛久祥孝 2 森信介 ${ }^{3}$ 1 京都大学大学院 情報学情報学研究科 2 オムロンサイニックエックス株式会社 3 京都大学 学術情報メディアセンター taichitary@gmail.com \{atsushi.hashimoto,yoshitaka.ushiku\}@sinicx.com forest@i.kyoto-u.ac.jp  