Peeking into the Future: Predicting Future Person Activities and Locations in Videos

# Peeking into the Future:  Predicting Future Person Activities and Locations in Videos  
サーベイ3本目  
論文リンクは以下.  
https://arxiv.org/pdf/1902.03748v3.pdf  
authorがCMU/Stanford/Google AI強そう


key
> joint modeling of paths and activities benefits future path prediction
> 
> study the future path prediction jointly with the intention
>  
>  our techniques focus on predicting a few seconds into the future,and should not be useful non-routine activities

# 概要
従来の動作認識(行動予測)では，人の意思を反映したものではない．  
画像から特徴を抽出して推定するものが主．しかし，人の行動は，意思によって決まるものである．  
本論文では，人の動きを動画内から観察される意図をmodelingする．
  
本論文では，future path/future activities を同時に推測する，multi-task learning modelとして，`Next`を提案する．  

**従来手法との違い**   
・人に関する特徴をpointではなく，周りの物体/人とのinteractionや，body movementなどから得る．  
・学習を促進するため，auxiliary task(activity location prediction etc)を導入


# ネットワーク(called Next)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287291/dc7bbfd1-de23-d65f-5f22-40ff7ca43734.png)

  
使用するネットワークは，上記．
従来手法では，人の特徴を空間上に点として簡略化して，抽出していたが，本手法では，それぞれの人の豊富な情報を抽出するために，人の情報をencodeするmoduleとして，  
`Person Behavior Module`と`Person Interaction Module`を使用．  
これらによって，人の行動の習慣や，人と人/物の相互作用などの情報を抽出する．  
  
また，抽出された情報から．LSTMを用いて，人の軌跡を推定する`Trajectory Generator`と，行動ラベルを予測する`Activity prediction`を実装する．  
`Activity Prediction`では，画像を様々なgridに分割(Manhattan Grid)し，行動の起こる場所を推定するLocation predictionも行う．


## Person Behavior Module
このモジュールでは，画像内にある全ての人の特徴を抽出する．  


<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287291/cdb94146-eeab-c05b-7636-0ba81d8344b3.png',width=600>

このModuleでは，  
### ・Person Appearance Encoder  
画像に写っている人/物体のBBoxを`RoIAlign`を用いて抽出する．  
### ・Person Keypoint Encoder  
MSCOCOdatasetを用いて，人の keypoint informationを抽出する．  
1は，人のappearanceの抽出，2は，人のbody movementの抽出が目的．  
どちらもLSTMでencodingを行う．  

## Person Interaction Module

<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287291/2bc8f798-a59c-b52e-61a5-a4f8f074eb85.png',width=600>  

このModuleでは，人と人やsurroundingsの相互作用を抽出する  
### ・Person-Scene Encoder
semantic segmentationを利用して周辺環境のpixel-levelの情報からCNNで特徴量mapを作成し，そこに人の情報を付与する．その後LSTMでencoding

### ・Person-Object Encoder


<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287291/d2df4543-20b0-ca2e-45cc-2c47993cb424.png',width=400>  


ここでは，Person Behaviour moduleで得た人と周辺物体/人のBBoxから，上式で，幾何距離．Boxの比を求める．  
**対数関数を用いることで，近くの物や人によって影響される可能性が高いという観察を反映.**  
これらから人間の行動に関して，周りから受ける影響を抽出したい．


## Visual Feature Tensor Q
上記4つのモジュールから生成される以下の4つの特徴(同次元)  
・外観  
・体の各部の動き  
・人-シーンの関係  
・人-人(or物)間の関係

に，一つ前の時刻の軌跡情報  


<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287291/913712c3-6b05-7cf1-47bb-f5f12816627f.png',width=400>

を加えた，5つのVisual Feature Tensor Qを作成．

## Trajectory Generator

将来の軌跡の予測をする．  


<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287291/1f89ad2a-14ec-e3aa-4dd2-eda970a9b151.png',width=200>

et-1は，t-1秒の予測軌跡からembeddingで抽出．  

qtは，Qの主要特徴(salient)を抽出した特徴量  
以下の式で導出される  
attetion matrix Atと，Sequence attentionmatrix　Btを得た後，

<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287291/953a8401-816a-b8b6-8c6d-c487b9018078.png',width=400>  

内積にて類似性を抽出して，からqtを算出．

<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287291/66567ac2-8ef3-6ba5-dfd5-ba8a9dcfbded.png',width=300>

## Activity Prediction
### Activity location prediction(with Manhatttan Grid)
1,まず，画像をh*wのマンハッタングリッドに分割．  
2,二つのConvolutionにより位置分類と，位置回帰を行う．

・位置分類  
最終位置がManhattan Gridのどの位置になるのか予想  
・位置回帰  
グリッドの中心と最終的な位置座標の差を予測

これらを同時に行うことで，robustな予測が行える．  

### Activity label prediction

<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287291/43008d25-60f4-3059-744b-7cc6ef1ca828.png',width=400>  

未来のラベル予測．ラベルは，マルチラベルも考える