Fine-grained Video Captioning for Sports Narrativeを読んだ

Huanyu Yu, Shuo Cheng, Bingbing Ni, Minsi Wang, Jian Zhang, Xiaokang Yang
CVPR 2018
[pdf](http://openaccess.thecvf.com/content_cvpr_2018/papers/Yu_Fine-Grained_Video_Captioning_CVPR_2018_paper.pdf)
#1. どんなものか？
スポーツに関するビデオについてのキャプション生成を行う．
また，その学習のためにFine-grained Sports Narrativeデータセット(FSN)を作成した．
そして，機械翻訳評価に用いられる[METEOR](https://www.cs.cmu.edu/~alavie/papers/BanerjeeLavie2005-final.pdf)を改良した新たな評価尺度FCE(Fine-Grained Captioning Evaluation)を提案する．
#2. 先行研究との違いは何か？
ビデオ中の人物の時間上の位置，スケルトンモーションや人物間の相互作用などの特徴を利用することで細かな記述を実現する．
![スクリーンショット 2018-09-14 16.38.36.png](https://qiita-image-store.s3.amazonaws.com/0/287553/6c44538e-a29e-73e1-23f1-4bc318596646.png)

#3. 技術や手法のキモは何か？
提案するネットワークは以下のサブネットワークで構成される．
1) a spatio-temporal entity localization and role discovering sub-network
チームのパーティションとプレーヤーのローカライゼーションを行うサブネットワーク
2) a fine-grained action modeling sub-network for local skeleton motion description
人間の骨格検出を行い，それによって行動を捉えるサブネットワーク
3) a group relationship modeling sub-network to model interactions between players
プレーヤー間の関係をモデル化するサブネットワーク
![スクリーンショット 2018-09-14 16.58.27.png](https://qiita-image-store.s3.amazonaws.com/0/287553/856ac968-cd81-8814-c362-eae56330a63c.png)
各サブネットワークで検出された特徴は２つのLSTMを使用して融合し，その融合された特徴を自然言語を生成する双方向エンコーダデコーダに入力する．

### 1)Spatial-Temporal Entity Localization and Role Discovering
まず，プレイヤーとボールをバックグラウンドからセグメント化する畳み込みネットワークを事前にトレーニングする．
オリジナルのクロスエントロピー損失（$ \mathcal{L_{cross}} $）とグルーピング損失（$ \mathcal{L_{group}} $）を組み合わせてネットワークを最適化する．
$$ \mathcal{L_{total}} = \lambda_1\mathcal{L_{cross}} + \lambda_2\mathcal{L_{group}} $$
入力フレームに対して出力する確率マップを$ P=(p_{1,1,1},\dots,p_{H,W,K} ) $とする．ここで，$ p_{i,j,k}$はピクセル$(i,j)$でクラス$k$である確率を表す．ここで$K=4$であり，クラス0はボール，クラス1,2は２つのチーム，クラス3はバックグラウンドを示す．
$$ \mathcal{L_{cross}} = -\frac{\sum_{i=1}^{H}\sum_{j=1}^{W}1[y_{i,j}^* = 0]\log p_{i,j,0}}{\sum_{i=1}^{H}\sum_{j=1}^{W}1[y_{i,j}^* = 0]} -\frac{\sum_{i=1}^{H}\sum_{j=1}^{W}1[y_{i,j}^* \neq 0]\log (1-p_{i,j,0})}{\sum_{i=1}^{H}\sum_{j=1}^{W}1[y_{i,j}^* \neq 0]} $$

チーム$n$からサンプリングされたラベルづけされたピクセルの位置を$ S_n = (y_1,\dots, y_{|S_n|}), n \in (1,2)  $とすると$p_{y_i,c}$(チーム$c$に属するピクセル$y_i$の確率)を用いてグルーピング損失は次のように定義される．
$$ \mathcal{L_{group} = \sum_{c=1}^{2}\sum_{n=1}^{2}\frac{1}{|S_n|}\sum_{y_i \in S_n}|p_{y_i,c}-[\frac{1}{|S_n|}\sum_{y_i \in S_n}p_{y_i,c}+\frac{1}{2}]|} + \sum_{c=1}^{2}\cos|\frac{1}{|S_1|}\sum_{y_i \in S_1}p_{y_i,c}-\frac{1}{|S_2|}\sum_{y_i \in S_2}p_{y_i,c}| $$

### 2)Fine-Grained Action Modeling
まず，プレーヤーのキーポイントを検出する．その際に不要な観客のキーポイントなどを1)の確率マップを使用することで除去する．次に，オプティカルフローを使用して，個々のプレーヤーの動きを符号化する．
ここでは，プレーヤー間の関係を分析しない．
### 3)Group Relationship Modeling
プレーヤー同士の関係をモデル化する．
1)での確率マップから得られた複数のバウンディングボックスをマージする．プレーヤー1人が含まれるバウンディングボックスを１０個ペアにして１つの大きなバウンディングボックスにする．
各プレーヤーのバウンディングボックス領域のベクトル表現を統合して，１つの大きなバウンディングボックスのベクトル表現を得る．

###  Narrative Generation
1)~3)で個々の行動特徴ベクトルと関係特徴ベクトルを取得すると、次の段階で自然言語記述を生成する．自然言語生成モジュールには，エンコーダ・デコーダアーキテクテャーを使用する．
エンコーダは２層の双方向LSTMであり，個々の行動特徴と，関係特徴をビデオ内のすべてのフレームにまたがって融合させ，潜在空間にエンコードする．
デコーダはセンテンスLSTMとパラグラフLSTMが含まれる．センテンスLSTMは文の状態によって次の単語を生成するが，パラグラフLSTMは前の生成された文についてセマンティックコンテキストを生成する．
デコーダは各タイムステップで語彙セット内すべての単語に関する分布Pを出力する．
$$ P(w_t^n|c_{1:n-1},w_{t-1}^n,h_{t-1}) $$
ここで、$h_{t-1}$はタイムステップ$t-1$からの隠れ状態、$c_{1：n-1}$はパラグラフLSTMの出力、$w_t^n$は文nのt番目の単語である．
キャプション損失（$\mathcal{L_{cap}}$）を小さくするようにトレーニングする．
$$ \mathcal{L_{cap}} = - \sum_{n=1}^{N}\sum_{t=1}^{T_n}\log P(w_t^n|c_{1:n-1},w_{t-1}^n,h_{t-1}) /\sum_{n=1}^{N}T_n  $$

# 4.どうやって有効性を検証したか？
自前のデータセットFine-grained Sports Narrative(FSN)を使用して従来手法と比較する．
![スクリーンショット 2018-09-17 16.32.19.png](https://qiita-image-store.s3.amazonaws.com/0/287553/44ffca7f-a93f-3d81-3bbe-d274a6f3d228.png)

* [LSTM-YT](https://arxiv.org/abs/1412.4729)
* [S2VT](https://arxiv.org/abs/1505.00487)
* [H-RNN](https://arxiv.org/abs/1510.07712)
* [DenseCap-event](https://arxiv.org/abs/1705.00754)

実際に生成された文章
![スクリーンショット 2018-09-17 16.39.02.png](https://qiita-image-store.s3.amazonaws.com/0/287553/5f8735df-7b44-0bbc-c3f2-5c86c19b789a.png)

# 5. 議論はあるか？
# 6. 次に読むべき論文
* [Hierarchical boundary-aware neural encoder for video captioning](https://arxiv.org/abs/1611.09312)
* [Semantic compositional networks for visual captioning](https://arxiv.org/abs/1611.08002)
* [Video captioning with multi-faceted attention](https://arxiv.org/abs/1612.00234)