天天看點

CVPR2021 MotionRNN: A Flexible Model for Video Prediction with Spacetime-Varying Motions

動機

1、現實世界的運動是非常複雜的,總是在空間和時間上變化。在降水預報中,要準确預測随時空變化的運動,如雷達回波的變形、積累或消散,具有極大的挑戰性。

2、最新的已知的視訊預測模型,如PredRNN、MIM和Conv-TT-LSTM,主要關注于捕捉随時間的變化簡單的狀态轉換。它們忽略了運動中複雜的變化,是以在高度變化的情況下不能準确地預測。

3、基于光流的方法使用局部不變狀态轉換來捕捉短期的時間依賴性,但缺乏對長期運動趨勢的表征。當模組化不斷變化的運動時,這些方法的效果可能會嚴重退化。

4、本文發現,實體世界的運動可以自然地分解為瞬态變化和運動趨勢。考慮到運動的分解,應該捕捉運動的瞬态變化和運動趨勢,以便更好地進行時空變運動預測。

瞬态變化可以看成是各局部區域瞬時的變形、耗散、速度變化等變化。例如,當一個人跑步時,身體的不同部位會随着時間發生各種短暫的運動變化,例如左右腿交替向前走。而且,自然的時空過程,特别是實體運動也遵循着這一規律。視訊的運動趨勢可以看成是運動遵循視訊序列中實體世界背後的特征,例如物體的慣性,雷達回波的氣象學,或其他實體定律。

方法

提出了一種新的MotionRNN架構。為了能夠對時空變化的運動進行更有表現力的模組化,MotionRNN設計了MotionGRU單元,用于高維隐藏狀态的轉換,該單元分别被專門設計用來捕捉瞬态變化和運動趨勢。受ResNet中殘差shortcuts的啟發,在提出的架構内跨層次改進了運動Highway,以防止捕獲的運動消失,并為MotionRNN提供有用的上下文時空資訊。MotionRNN是靈活的,可以很容易地适應現有的預測模型。

MotionRNN:通常,基于RNN的時空預測模型采用堆疊塊的形式。在此架構中,隐狀态在預測塊之間的傳輸由内門控制。然而,當涉及到時空變化的運動時,門控資訊流将被不斷地對運動的瞬态變化做出的快速反應所淹沒。此外,還缺乏運動趨勢模組化。為了應對時空變化運動模組化的挑戰,MotionRNN架構在不改變原始狀态轉換流的情況下,将堆疊層之間的MotionGRU單元作為操作符納入。MotionGRU可以捕捉運動,并根據學習到的運動将狀态轉換到隐藏狀态。然而,當過渡特征穿過多層時,運動會模糊甚至消失。是以,MotionRNN引入了運動Highway,為運動上下文資訊提供了另一種捷徑。通過輸出門的複用,将預測塊的輸出與之前的隐含狀态進行補償。這種Highway連接配接為隐藏狀态提供了額外的細節,并平衡了不變部分和可變運動部分。MotionRNN架構将MotionGRU插入到原始RNN塊的各層之間。

MotionGRU:對于時空變化的運動模組化,提出了MotionGRU單元,通過對運動變化模組化來進行基于運動的狀态轉換。在視訊預測中,運動可以表示為對應于RNN中隐藏狀态轉換的像素位移。使用MotionGRU來學習相鄰狀态之間的像素偏移量。學習到的像素偏移量由運動濾波器表示。考慮到真實世界的運動是由瞬态變化和運動趨勢組成的,在MotionGRU中專門設計了兩個子產品,分别對這兩個子產品進行模組化。如下所示:

  1. 瞬态變化:在視訊中,每個時間步長的瞬态變化不僅基于空間語境,而且具有較高的時間相關性。例如,一個男人揮舞的手在相鄰的架構之間幾乎是連續的手臂旋轉角度。基于瞬态變化的時空相關性,采用ConvGRU來學習瞬态變化。通過ConvGRU,學習到的瞬态變化能夠考慮到瞬态狀态,并保持變化的時空一緻性。
  2. 運動趨勢:在跑步的場景中,這個人的身體每走一步都會上下擺動,同時他還會繼續前進。在這種情況下,運動遵循向前的趨勢。在視訊預測中,通常需要通過整個幀序列來獲得運動趨勢。然而,這是很難實作的。這種困境類似于強化學習中的獎勵預測。受時序差分學習的啟發,采用一種累積的方法來捕捉運動變化模式。使用之前的運動濾波器作為目前運動趨勢的估計,該運動濾波器由瞬态變化和趨勢動量組合而成。趨勢動量是運動濾波器的動量更新,也在偏移空間中。通過動量更新,這種趨勢估計具有更大的跨時間系數。在學習到的運動濾波器的基礎上,通過Warp運算得到新的過渡狀态。
實驗細節

主幹模型。為了驗證MotionRNN的通用性,使用多個預測模型作為主幹模型,包括ConvLSTM、PredRNN、MIM和E3D-LSTM。在所有的基準測試中,基于這些模型的MotionRNN有四個堆疊的塊,包含64個通道隐藏狀态。對于E3D-LSTM,将MotionGRU内部的編碼器和解碼器替換為3D卷積,将3D feature map降采樣為2D,其他操作保持不變。

訓練過程。使用L1+L2 loss進行訓練,以同時增強生成幀的銳度和平滑度,使用初始學習速率為0.0003的ADAM優化器。動量因子α設定為0.5。為了提高記憶體效率,MotionGRU的學習過濾器大小被設定為3×3。批處理的大小設定為8,訓練過程在100,000次疊代後停止。所有實驗都在PyTorch中實作,在NVIDIA TITAN-V GPUs上進行。

測試基準。在以下三個具有挑戰性的基準上廣泛評估我們提出的MotionRNN:

  1. 人類運動。采用human3.6M資料集,該資料集包含來自真實世界的17個不同場景的360萬種姿勢的人類動作。将每個RGB幀的大小調整為128×128的分辨率。現實生活中的人類運動要複雜得多。例如,當一個人在走路的時候,人體的不同部位會有不同的短暫變化,例如胳膊和腿在彎曲,身體在搖擺。複雜的運動變化将使預測真實人體的運動成為一項非常具有挑戰性的任務。
  2. 降水臨近預報。降水臨近預報是視訊預報的重要應用。惡劣天氣雷達回波的累積、變形、消散或擴散是預報的難點。該基準使用了上海雷達資料集,其中包含了來自上海氣象局的不斷變化的雷達地圖。上海的資料集有40000個連續的雷達觀測資料,每12分鐘收集一次,36000個序列用于訓練,4000個序列用于測試。每一幀都被調整為64×64的分辨率。
  3. 變化的移動數字。引入了由64×64的分辨率的幀序列組成的變化移動MNIST (V-MNIST)資料集。之前移動MNIST或MNIST++的數字移動速度較低,沒有數字變化。相比之下,變化的移動MNIST迫使所有數字同時移動、旋轉和縮放。V-MNIST是通過對兩個不同的MNIST數字采樣而實時生成的,其中100,000個序列用于訓練,10,000個序列用于測試。

評價名額。對于人類運動,使用架構結構相似度指數測度(SSIM),均方誤差(MSE),平均絕對誤差(MAE)來評價我們的模型。除了這些常見的度量标準,還使用Fr´echet視訊距離(FVD),這是人類對生成視訊的定性判斷的度量标準。FVD既可以測量視訊内容的時間一緻性,也可以測量每幀視訊的品質。對于降水臨近預報,預測過去5次觀測的未來10個雷達回波幀,包括未來兩小時的天氣情況。使用梯度差分損失(GDL)來測量預測幀的銳度。GDL越低,真實銳度相似度越高。對于雷達回波強度,将dBZ中的像素值進行轉換,将Critical Success Index(CSI)分别在門檻值為30dbz、40dbz、50dbz進行比較。CSI定義為CSI = Hits+Misses+ FalseAlarms,其中Hits對應Hits true positive,Misses對應false positive,false alarms對應false negative。CSI越高,預測效果越好。與MSE相比,CSI度量方法對總是伴随着高變化的運動的高強度回波特别敏感。對于變化的移動數字,根據之前的10幀預測未來的10幀。使用MSE、SSIM、GDL和峰值信噪比(PSNR)作為評價名額。

實驗結果表明,Motion Highway可以有效地避免運動模糊,并将物體限制在正确的位置。MotionRNN在上述的三個基準上都取得了最先進的性能。

結論
  1. 與以前的預測學習方法不同,本文方法側重于對運動内的變化進行模組化,它可以根據時空資訊學習顯式的瞬态變化,并從之前的積累中以統一的方式記住運動趨勢。
  2. MotionRNN不會改變原始預測模型中的狀态轉換流。是以,MotionRNN具有很高的靈活性,可以适應多種預測架構,如ConvLSTM、PredRNN、MIM、E3D-LSTM以及其他基于RNN的預測模型。在現有預測模型的基礎上,可以顯著地增強時空變運動模組化。
  3. 通過MotionGRU和Motion Highway,本文提出的MotionRNN架構可以應用于各種運動變化的場景,無縫補償現有的模型。