https://arxiv.org/abs/2212.03229

 

Rethinking Video ViTs: Sparse Video Tubes for Joint Image and Video Learning

We present a simple approach which can turn a ViT encoder into an efficient video model, which can seamlessly work with both image and video inputs. By sparsely sampling the inputs, the model is able to do training and inference from both inputs. The model

arxiv.org

현재 Arxiv에만 올라온 논문, 2022년 12월 6일에 공개

 

Unoffical Implementation

https://github.com/daniel-code/TubeViT

 

GitHub - daniel-code/TubeViT: An unofficial implementation of TubeViT in "Rethinking Video ViTs: Sparse Video Tubes for Joint Im

An unofficial implementation of TubeViT in "Rethinking Video ViTs: Sparse Video Tubes for Joint Image and Video Learning" - GitHub - daniel-code/TubeViT: An unofficial implementation of T...

github.com

Abstract

  • 저자들은 ViT Encoder를 Image, Video Input모두에서 원활하게 작동할 수 있는 효율적인 Video Model로 전환할 수 있는 간단한 접근 방식을 제시
  • Input을 Sparsely Sampling함으로써 Model은 Image, Video Input에 대해 Training과 Inference가 가능
  • 이 Model은 Scalable이 간편하고, Full Finetuning 없이 PreTrain된 ViT에 쉽게 적응함

Introduction

  • ViT는 Visual Representation Learning에서 다재다능하고, Image UnderStanding, Multimodal, Self-Supervised에서 잘 이용됨
  • 하지만 Video에서 Adaptations을 어렵고, 계산량이 많음
    - ViViT, MTV, TimeSformer에서는 많은 수의 Frame을 처리하도록 설계
  • Video Understanding은 Computer Vision의 주요 Task
    - 3D CNN으로 Spatiotemporal information을 학습하여 처리
  • Image에 대한 메커니즘을 차용하기도 하는데, Kernel을 3D로 부풀려 Pretrain된 CNN의 Weight를 이용(I3D)
    - 그러나 Video에 적용되면 이런 Kernel들은 더이상 Image에 적용 불가능

  • 또한 대부분은 Previous Work는 Image, Video를 완전히 다른 Input으로 취급하여 Video.또는 Image Input에 대해 독립적인 방법을 제공함
    - 이는 두 가지 모두를 처리할 수 있는 Model설계가 어려움
    - 동시에 Image와 Video Input은 본질적으로 관련이 있으며 Single Visual Backbone은 Input 중 하나 또는 둘 다를 처리할 수 있어야 함
  • 몇몇 접근에서 Video, Image에 대해 동시에 처리하도록 함(Co-Training)
    - Perceiver, Flamingo는 같은 Model은 Input을 Resampling하고 Fixed Number Feature로 압축하여 해결
    - 그러나 이런 Resampling은 Long Video에는 Cost가 많음
    - 대표적으로 Flamingo는 Video은 1FPS로 Sampling된 개별 Frame으로 취급하여 Temporal 정보를 제한
    - 낮은 FPS Sampling 및 Frame별 Modeling은 Something-Something과 같이 Short Action을 인식하는데 좋지 않음
    - 반대로 높은 Frame에서는 계산이 불가능

그림1

  • 이러한 Limitation을 극복하고자 TubeViT라는 Simple, Effective Model을 제안
    - Image, Video Input에 Standard ViT Model을 원활하게 활용
    - 또한 Joint Image and Video Learning을 위한 Lightweight Approach를 소개
  • 저자들의 방법은 Video에서 다양한 Size의 3D Space-Time Tube를 Sampling하여 Vision Transformer에서 사용되는 Learnable Token을 생성(그림1)
  • Sparse Video Tube를 사용해 Model은 Input중 하나에 쉽게 적용이 가능하며, Training 및 Fine Tuning을 위해 Data Source중 하나 또는 둘다 잘 활용이 가능함
  • Sparse VIdeo Tube는 자연스럽에 Original Video Signal과 Image Signal를 처리하는데, 이는 Video의 Action 기타 Sptio Temporal 정보를 이해하는데 중요함  

  • Video Model은 Train이 비쌈
    - Previous Work에서는 Frozen Model을 이용하거나, Video에 Adapting하는 방식을 이용
    - 해당 저자들은 이러한 아이디어를 확장하여 Sparse Video Tube를 사용하여 훨씬 더 큰 ViT Model을 Lightweight Training이 있는 Video에 적용
    - 따라서 적은 Resources로 강력한 Large Video Model 생성이 가능
  • K400,600,700 SSv2에서 SOTA
  • 또한 From Scratch 또는 ImageNet-1k 및 Kinetics Dataset에서 Train되고, 매우 큰 Dataset(JFT-300M)에서 Training 한 것보다 성능이 우수함, videoMAE같이 Video를 이용하여 Pretraining한 것보다 성능이 우수함
  • 또한 Sparse Video Tube을 이용하여 Image, Video 모두에 대해 Training된 Weight를 잘 공유할 수 있음
  • 이는 Kernel을 Inflate하거나 새로운(I3D), New Temporal Specific Layer를 추가는 이전 작업과는 대조적
  • Sparse Sampling으로 인해 Token 수가 낮게 유지됨, 이는 FLOP를 줄이고 Accuracy을 향상시키는 데에도 중요하다는 것을 알게됨

    저자들의 Contribution
  • Sparse Video Tube기법을 개발
    - 다양한 Size의 3D Space-Time Tube로 Video을 Sparsely하게 Sampling하여 얻음
  • ViT 아키텍처를 Video에 쉽게 Adapt 시키는 Universal Visual Backbone
  • Joint Image and Video Understanding , Either Input
  • Easy-to-Scale Approach For Video Understanding, Already trained Large ViT Model을 사용가능

Related Work

  • Video Understanding을 해결하기 위해 많은 연구가 진행됨
    - 3D CNN, Video Transformer 하지만 문제점이 많음

  • transformers focus on only a few tokens
    - Frame은 Redundant Information(중복된 정보)을 가지고 있음
    - 따라서 Frame Sampling을 하기 위한 전략을 세움
    - 몇몇 연구에서는 Token의 개수를 줄여서 Redundant를 줄이기 위해 노력했지만, 일반적으로 Dense하게 시작하고, 휴리스틱하게 줄이는 방법을 이용함
    - 저자들은 초기 Input을 더 Sparse 하게 Sampling하여 효율성을 증가시켰음

  • VideoMAE는 Video Pretrianing으로 연구
    - Masking이 유익하다는 결과를 얻음
    - 그러나 Single Tube Shape를 이용하고, Non-Overlapping Patch이용, Image Video를 Co-Training 이용하지 않음

  • MTV, SlowFast Network에서 다양한 View, Stream에서 이점을 발견
    - MTV도 비슷하게 다양한 Tube을 이용하지만, Sparse Sampling을 통해 여러개의 작은 View당 Encoder가 아닌 단일 ViT Encoder Model을 사용
    - 이는 Image와 접근 방식을 더욱 통합
  • 또 다른 Video Understanding의 또 다른 작업은 Pretraining동안 Image Dataset을 활용하는 것
    - Image Dataset은 Annotation이 더 잘 달리고, 풍부한 Semantic Information을 제공(Dataset이 많음)
    - 한 가지 Approach는 Kernel을 Inflating하는 것
    - Image에서 Pretraining -> 그리고 Video로 Training하는 방식을 진행
  • Image and Video를 Joint하게 처리하는 방법도 있음
    - 이러한 Apporach는 비효율적일 수 있는 두개의 Input을 모두 처리하기 위해 아키텍처를 조정
    - Image 입력을 1Frame의 Video로 생각하거나, Input을 먼저 Encoding하기 위해 별도의 Network를 이용

  • Previous Work와 다르게 저자들의 방법은 Simple and Straightforward
    - 중요한 차이점은 Tube가 Raw Input에 Sparsely하게 적용되고, 서로 다르 모양의 Overlapping Tube, 단일 Shared Backbone을 이용
    - 두번째로 중요한 것은 모델이 Image, Video 양식 사이에서 완전히 공유되어, 두 Task모두 성능 향상이 가능하고, Vision작업에 일반적으로 적용가능

Method

Sparse Video Tubes

  • 저자들은 Simple And Straightforward Method를 제안, Image와 Video 모두에 원활하게 적용이 가능함
  • Image에 대한 Standard ViT의 Tokenization Approach방식인 16x16 Kernel이 있는 2D Conv이용
  • Sparseness 가 Video에 효과적이라는 관찰을 기반으로 진행(Token이 많아지면 성능이 나빠짐)
  • Video를 Dense하게 Tokenize하는 Prior Work를 따르기 보다는 2D Kernel을 이용하지만, 예를 들면 16번쨰 Frame에 큰 Temporal Stride를 이용
  • 따라서 32 x 224 x 224 Video Clip의 경우 6k개의 Token(32 x 14 x 14)가 아닌 392개의 Token이 생성 
    - 392개의 Token이 생기는 과정 (16, 32 Frame), 14 x 14 x 2 = 392
  • 하지만 이런 Sparse Spatial Sampling은 Information을 손실이 발생할 수도 있음
    - 예를들어 Quick Or Short Action(매우 작은 Frame에 발생하는 Action 및 크기가 작은 Action)
  • 그러므로 저자들은 Low Spatial Resolution으로 많은Frame에서 정보를 얻기 위해 16x4x4 Tube같은 다양한 모양의 Sparse Tube를 만듬
  • 이러한 Tube는 어떠한 Shape도 가능하고, 이것들의 효과를 실험적으로 증명
  • 중요한것은 이러한 Tube들은 Large Stride를 가지고, Sparsely Sampling함
  • 또한 Patch가 항상 (0,0,0)에서 시작되지 않도록 Optionally 하게 Start Offset을 추가하여 Tube간에 Overlap을 줄일 수 있음(그림2)
  • MTV에서도 이런 접근을 해지만, 여러 Transformer에 의해 Dense하게 처리하므로 연산량을 많음
  • 또한 Previous Work와 다르게 (같은)Tube간의 Overlapping도 가능함
    - 예를들면 Tube (T x H x W)에 대해 Spatio-Temporal Stride (Ts, Hs, Ws), (x, y, z) offset 적용 가능
    - 이런 설계를 통해, 저자들의 접근 바식은 Image and Video의 시각 정보의 원활한 Fusion이 가능하게함(다양한 Patch Embdding방식을 이용, Sparse, etc..)
  • Sparse Spatial Sampling은 Image 및 Frame Token을 공유 가능
    Spase Video Tube는 낮은 수의 Video Specific Token을 생성
  • 이를 통해 Image와 Video간에 ViT Model을 잘 공유함 

Positional embedding for sparse video tubes

  • 저자들의 Approach 중에 핵심적인 측면은 Positional Embedding
  • Language Model에서 Relative Positional Embedding은 흔하고 효과적인 접근법인
  • 하지만 여기서 두 Token사이의 Relative Position은 최소한의 의미를 가지며, 원본 Video나 Image에서 Patch Tube가 어디에서 왔는지에 대한 실제 Reference를 없음(정말로 상대적인 Position만을 제공함, Bias Map을 이용해)
  • ViViT, ViT, TimeSformer에서는 Learnable Positional Embedding을 이용하지만, 각 Patch가 Overlapping되는 경우 어디에서 왔는지 반영하지 않아 모델에게 이런 방식은 어려움
  • 대신에 Fixed sine/Cosine Embedding을 이용하기로 함
    - 중요한 것은 저자들은 Positional Embedding을 적용할 때 각 Tube의 Stride, Kernel Shape, Offset을 고려
    - 이 방식은 Positional Embedding이 해당 Tube의 Spatio-Tmeporal Location을 갖도록 보장함
  • (T는 Constant Hyperparameter), (j는 0 ~ d//6(d는 Embedding Dim))
  • (t, x, y는 0 ~ T, H, W), zi ∈ R(T×H×W×D):
  • 이것들은 Spatio-Temporal Position Embedding을 토큰 Zi의 Feature Dimension에 추가
  • Transformer에서 처럼 각 Channel에 대해 다른 Wavelength가 추가됨
  • d//6은 6개의 요소가 존재하기 때문에 이용(각 x,y,t에 대한 Sin 및 Cosine값), 이는 Representation의 각 Channel에 대한 Position Value를 생성
  • 중요한 것은 zi[t,x,y]는 Tube의 Center를 나타내는데, 모든 Stride와 Offset을 고려하여 Tube의 Center를 나타냄(채널 치수는 표현안함)
  • Tokenization Step이후에 모든 Token을 연결하고, Standard Transforemr Model을 적용
  • 이런 간단한 구조를 통해 Model은 모든 Input간에 대부분의 Weight를 공유할 수 있고, 이는 좋음!

Sparse Tube Construction

  • 저자들은 Visual Tube를 만드는 몇가지 Method를 탐구
    - Core Approach는 2개의 Tube로 구성됨
    - Image를 Token화 하는데 사용되는 1 x 16 x 16 x d, Video에 추가로 사용되는 8 x 8 x 8 x d Tube 2개로 구성됨
    - 이 두개의 Tube는 모두 16 x 16 x 16 Stride를 가지고있고, 강력한 성능을 제공, 몇가지 Variation을 탐구
  • Multi-Tube
    -  저자들의 Core-Apporach는 다양한 Size의 여러개의 Tube를 추가
    - 예를 들어 Temporally Long and Spatial Small Tube를 이용하여 긴 Action을 학습 16 x 4 x 4
    - 아니면 Spatial 정보에 집중하는 2 x 16 x 16 Tube를 이용
    - 많은 Variation이 있고 실험적으로 이를 탐구(Shape 및 Stride)

정확하지않음 추측

  • Space-to-Depth
    - 또 다른 Core Approach는 Depth to Space에서 영감을 받은 Space to Depth이다
    - 만약 Factor가 2일때 Tube의 Channel수를 2배로 줄이는데, 그러면 튜브의 모양이 T x H x W x d/2이 됨
    - 그 뒤에 두개의 Token을 Channel Axis을 따라 병합함
  • Interpolated Kernels
    - 이 Setting을 위해 각 Tube에 대해 Unique Kernel을 갖는 대신에 모양이 8 x 8 x 8인 1개의 3D Kernel을 학습
    - 그런 다음에 Tri-Linear interpolation으로 Kernel을 Tube 구성에 따라 4 x 16 x 16, 32 x 4 x 4 등 다양한 Size로 Reshape을 진행
    - 8 x 8 x 8의 Single Kernel을 이용해서 다양한 Size의 Kernel을 생성 가능 
    - 몇가지 장점이 존재하는데,
      1) Video Stream에서만 사용되는 Learnable Parameter를 줄일 수 있음
      2) Kernel을 좀더 Flexible하게 이용이 가능함
    - 예를 들면 더 긴 Video를 처리하기 위해 길게 만들거나(Temporal 축으로 길게),
    - (작은 Object를 찾기 위해 Spatial을 크게 만들수도 있음 ??)
  • TubeViT의 접근법은 위에서 언급한 Multi-Tube와 Space-To-Depth의 조합으로 구성되고, Setting은 Supplemental 에서 제공, Interpolated Kernel을 Ablation에서 실험진행

Image and Video Joint Training

  • 위에서 설명한 것과 같이, 저자들의 접근 방식은 Image, Video 두 Input모두 원활하게 adapt함
  • Image+Video Joint Input은 드물지만, 이 둘을 함께 사용하는 능력은 Training시에 중요하다(Many Dataset Valuable Annotations, ImageNet, Kinetics)
  • Jointly Training은 저자들의 방식이 매우 쉬움
  • Image는 2D Kernel에 의해 Token이 되고, Video는 2D Patch(Large Temporal Stride), Sparse Tube에 의해 Token이됨 
  • 그 뒤에 Standard ViT에 전달되고, 두 경우 모두 Position Embedding이 제공됨
  • 이 Position Embedding Apporah는 Joint-Training이 효과적이기 위해 필요
  • 이를 Section4의 Joint Training에서 입증

Image-To-Video Scaling Up of Models

  • 또한 Model은 더 효율적으로 Scaling Up하는 방법을 제안함
  • Training Large ViT Model은 연산량이 너무 비쌈, 특히 Video의 경우에는 더 문제임
  • 저자들의 Model은 거의 모든 구성요소가 Image와 Video 모두에서 공유되기 때문에, 저자들은 Heavy Fine Tuning없이 큰 Model을 활용하는 방법을 탐구
  • 첫번째
    - 저자들은 Jointly Image and Video에 대해 더 작은 Model을 공동으로 Training을 진행

    - 이것은 Tube에 대한 Weight Set을 제공
    - 그런 다음 Large-Pre-Trained Image ViT를 가져오고, Tube를 더 추가함( 그림에서 보면 2D Patch LargeModel, Small Model에서 학습시킨 Tube Patch들을 Large Model에 적응시킴)

    - 이런 Tube들은 Small Model과 같은 Kernel Weight를 사용하여 추가적인 Training을 피할 수 있음

    - 일반적으로 큰 ViT는 더 큰 Embedding Dimension을 이용하므로, 다시 Space-To-Depth Transform을 사용하여 새로운 Weight없이 적절한 Channel을 가진 Token을 생성
  • 두번째
    - Network에서 특정 Point를 Pick하고, 그 이전 Layer를 모두 Freeze시킴
    - 예를 들자면 ViT-H의 32개의 Layer중에 26번째를 Point로 잡으면 아래와 같이 Network에 Gate Connection을추가
    - s는 Network가 ViT Model의 Frozen Layer이고(s = 26), z0은 Tube의 Raw Input Token
    - 알파는 Learned Gating Parameter로, 0으로 초기화

    - 학습 초기에는 이 Gate는 Representation에 영향을 미치지 않으므로, ViT는 변경이 되지 않지만, 해당 Point에서는 Raw Tube를 통합하는 방법을 배울수 있고, Later Weight를 Refine가능함 

Experiment

  • Kinetics 400, Kinetics 600, Kinetics 700,and SomethingSomething V2
  • main results are trained jointly on ImageNet-1k (of 1.2M images) and the video data
  • 90M Base (B), 311M Large (L). A 635M Huge (H)
  • ‘created’ with Image-to-Video scaling.

Main Result

  • 4개의 Tube Configuration을 이용, Input 32x224x224
    - (8x8x8, stride=(16,32,32))
    - (16x4x4, stride=(6,32,32), offset=(4,8,8))
    - (4x12x12, stride=(16,32,32), offset=(0,16,16))
    - (1x16x16, stride=(32,16,16)) 
  • 총 559개의 Token만이 생기고, 많은 Tube Configuration을 Test, Space-to-Depth도 이용, Create는 Image-To-Video Scaling Up기법을 이용한 경우, 연산량을 아끼고 성능을 개선함 

  • K400, K600, K700, SSv2에서 모두 SOTA에 달성
  • 의미있는것은 Large Pretraining Data를 사용한 Model보다 좋은 결과를 얻음(CoCa 1.8B, JFT, MTV-H)
  • SSv2는 Dynamic Activities이지만 저자들의 접근법이 잘 맞아 SOTA에 달성

  • Joint Image+Video Training
    - Kinetics는 Spatial Information이 중요한 데이터셋

    - K-600에서 진행한 결과 ImageNet + Kinetics Jointly가 가장 좋은성능이 나옴
  • 저자들은 또한 TimeSformer Method Dense Patch, inflated 3D Kernel(ViViT)에서 이용된것을 Test
    - 두 경우 모두 제안된 접근된 제안방식이 모두 효과적
  • 또한 저자들은 Pretraining시에 Small Model을 이용하여 연산량이 적은 것이다.
  • Sainty Check로 ImageNet에서 성능을 확인했는데, 저자들의 ViT-B 모델이 좋은 성능을보임(일반적으로 Pretraining한 결과보다, 물론 튜닝도 안하고, Data Augmentation, Learning Schedules 조정안함)

Scaling Video Training With Sparse Video Tube

  • Table6에서 저자들은 증명했는데, Small TubeViT Model을 이용해서 Large-Scale Image Only Pretrain 모델을 어떻게 적용할 수 있는지 보여준다
  • 저자들은 이미 Pre-Train된 ViT-H를 활용하는것으로 시작
  • TubeViT-B에서 Learned Tube를 가져와 ViT-H Image Tokenizer와 함께 사용해 이전과 동일한 Video Token Set을 생성
  • 그런 다음에 이것들은 ViT-H의 Input으로 사용되고, Latter Part만 Video Data에 대해 Fine Tuning을 진행
  • 이것은 Model을 Full Finetuining하는 것이 아니므로 계산량이 저렴하고, 거대한 ViT Model을 확장하고 활용할 수 있는 효과적인 방법
  • Gate또한 훌륭하다는것을 확인, Update가중치가 줄어들어 Training Time이 43% 감소 (튜브정보를 넣어줘서 Encoder를 통과하면서 바뀐데이터에 Tube정보를 직방으로 넣어줌),ViT is unchanged. However, it can learn to incorporate the raw tubes at this point and further refine the later weights.
  • Even pretraining of handful of layers can achieve performance approaching the full model training

Detrimental Effects of Too Many Tokens

  • 다음으로 Figure4와 같이 Model에 사용된 Token수의 효과를 연구
  • 이 결과가 저자들의 접근방식이 왜 잘 작동하는지에 대한 또 다른 핵심
  • Token의 수가 너무 많으면 성능이 떨어짐
  • 예를 들어 Self-Attention이 더 긴 Sequence를 학습하기 위해 고군분투하거나, 더 긴 Sequence를 학습하기에 충분한 데이터가 없거나, Model이 더 긴 Sequence에 Overfitting할수도 있기 때문이다.
  • 이 결과는 현재 Dataset의 경우 Sparse Sampling이 Video를 처리하는데 효과적이고 효율적인 방법임을 나타냄
  • 또한, 길고 조밀하게 샘플링된 시퀀스를 사용하는 기존의 것이 이것에 의해 영향을 받을 수 있으며, 아마도 인수 분해된 주의 모듈이 필요한 또 다른 이유일 것이다.??

Main Ablations

  • (a) Position Embedding의 효과를 연구
    - Fixed Cosine Embedding이 훨씬 우수
    - 직관적으로보면 Token을 Sparsely Sampling, Overlapping Token을 이용하므로 해당 방법이 가장 Token의 위치를 잘 Capture
  • (b) Tube의 개수에 따른 성능변화를 측정
    - 이전의 Multi View와 일치하는 이 발견은 다양한 Tube를 가지는것이 Video Understanding에서 우수
  • (c) Depth-to-Space Version을 연구
    - 다시
  • (d) Model이 Training된 것보다 더 많은 Patch를 이용하여 Eval을 진행
    - 이를 위해 Kernel의 Stride를 줄임
    - 처음에는 결과가 개선되지만, 2배 증가한 후에는 Eval Data가 Training Data와 너무 달라 성능이 저하됨
  • (e) 저자들은 Interpolated된 Single kernel의 Ablity를 연구
    - 각 Tube마다 하나씩 N개의 3D Convolution을 갖는 대신에 1개의 8x8x8D Kernel을 이용하고, Interpolation을 진행
    - 놀랍게도 이것이 Network에서 Learnable Parameter를 줄이고 잘 동작한다는 것을 파악
  • (f) Multi-Crop Evaluation을 측정
    - 4 × 3 performs nearly the same as the 10 × 10 setting 거의 비슷
    - 우리는 Single Crop이라도 강력한 성능을 제공한다는 것을 발견, Standard 4×3은 10×10 Setting과 거의 동일한 성능을 발휘하여 Sparse Samplie이 상당히 Suitable하고 추가 정보가 유익하지 않음

  • (c) Depth-to-Space Version을 연구
    - 다시
  • (d) Model이 Training된 것보다 더 많은 Patch를 이용하여 Eval을 진행
    - 이를 위해 Kernel의 Stride를 줄임
    - 처음에는 결과가 개선되지만, 2배 증가한 후에는 Eval Data가 Training Data와 너무 달라 성능이 저하됨

Conclusion

  • 저자들은 Video Recognition을 위한 Sparse Video Tube를 제안
  • Sparse Video Tube를 사용하면 ViT Encoder를 효율적인 Video Model로 전환 가능
  • 접근 방식은 간단하고, Image와 Video Data와의 원활한 Joint Training을 가능하게 하며 여러 Dataset에 거쳐 성능은 개선
  • 또한 제안된 방법으로 Video Model의 좋은 Scailing기법을 제안
  • Joint Training, Token Reduced, Shared Image Video Weight에 대한 여러 실험으로 SOTA달성

Implementation Detail

  • Charades같이 Long Video에만 128 Frame을 이용
  • Large ViT Model학습시에 불안정한것을 확인
    - Weight Decay Value, LR를 줄임, 아니면 Accuracy가 0으로 가거나, Loss가 Flat됨
  • Charades나 SSv2에서는 (작은데이터)에서는 DataAugmentation이나 Dropout, Label Smoothing을 적용
  • 모든 Data에는 RandAugment적용

Full Model Setting

Joint ImageNet and Kinetics Training

  • ImageNet, Kinetics을 공동으로 학습시에 Class 예측을 출력하기 위해 별도의 FC-Layer를 이용
  • ImageNet은 1000, Kinetics는 600개의 Class를 이용
  • 그런 다음에 관련 Head에 대한 Loss를 계산하고 Backpropagation을 진행
  • Charades and SSv2는 Kinetics-600+ImageNet pretrained model and finetune

Additional Experiments on Charades

  • Charades Video는 평균 30초, 또한 Multi Label이므로 다른 설정을 이용함
  • 첫째, Multi Tube방식이 이전 작업만큼 성능이 안좋음
    - Charades는 Object관련 동작이 많고, Temporal Information이 매우 많음 -> 더긴 Video를 포함하기 위해 데이터에 더 적합하도록 Model을 수정
    - Interpolation으로 Tube모양을 늘림• (1 × 16 × 16) • (16 × 16 × 16) • (32 × 8 × 8) • (4 × 32 × 32)
  • 두가지 중요한 요소를 주목

Ablations on Tube Shapes

 

 

+ Recent posts