STUDY/paper review

1.SlowFast Networks for Video Recognition(ICCV 2019)

officialhoyoon 2024. 3. 12. 10:19

 

Task : Human action classification & detection 

 

related Work는 크게 두가지로 설정 할 수 있다. 

1. 3D ConvNets 

 

2. Optical flow for video recognition 

two - stream network (spatial stream 과 temporal stream 으로 두개로 나눔) 

 

 

오늘의 paper 에서는 2 번째 방법을 사용함!! 

 

Basic idea : Two pathway 

 

slow pathway 

    -low frame rate

    -capturing spatial semantics

     - many channel

     -전체 계산량의 80%를 차지

 

Fast pathway

   -high frame rate

   -capturing motion information 

   -small channel

   -전체 계산량의 20 %만 차지함

 

parameters

*lateral connection 

   fast layer에서 slow layer로 옮겨 주는 것임. 

*t (타우) 

   입력 프레임간들의 차이를 나타냄 

*a(알파) 

   입력 프레임간들의 간격을 기준으로 a배 해줘서 프레임을 넣어줌 

 *b(베타) 

    slow와 fast 사이의 체널 사이의 간격을 나타냄. 

 

Basic instantiation of a SlowFast network

 

backbone  : ResNet-50 

dimension : {T x S2 , C} 

{temporal(시간), spatial2(frame별 이지미 X x Y),c (Channel)}

오랜지색을 보면  fast pathway가 더 적은 채널을 사용하는 것을 알 수 있음 

초록색을 보면 fast pathway가 더 많은 frame을 사용한것을 보여줌. 

 

 

Lateral Connections

 

residual block이 끝나는 stage 마다 lateral connection을 진행함. 

 

global average pooling 을 진행한 후 concatenated(결합) 을 한 후 

FC classifier layer로 진행함. 

 

feature shape 

 

Methodology

 

Data set: kinetics-400 , kinetics- 600 , Charades 

 

traing : 

not using ImageNet training , using kinetics 

"Accurate, large mini-batch SGD: training ImageNet in 1hour " 의 방법을 그대로 사용함 

temporal sampling, spatial sampling 

 

 

Inference 

 실제 inference -time이 효율적이라고 강조함.  

(sampling을 30번 했을때 각각의 sample을 가지고 계산을 했을때 flop가 나오는지로 inference -time을 비교)

FLOPS = FLoating point Operations Per Second

GFLOPS = GPU FLoating point Operations Per Second

 

 

kinetic -400, kinetic-600,charades 

not-local blocks 

프레임들간에서 어떤 프레임에 어떤 연관이 있는지 알아내는 block임 . 

시간이 많이 지나감에도 프레임들간의 변화를 알 수 있어서 long range 에서도 성능 향상을 이끌어 낼 수 있음. 

 

 

slow-path  VS slow - path + fast - path 

 

 x축은 컴퓨팅 계산량을 나타내고 y축은 accuracy를 나타냄. 

여기서 주의 해야 할점은 x,y축의 scale을 잘 비교 해야 한다는 것임. 

 

또 이 그래프에서 유의미한 결과를 알 수 있는 것은 slow-path만 사용 했을때 계산량을 2배 늘린 것 보다. slow- path에 fast-path를 합친 것이 accuracy 향상에 많은 도움을 받게 됨. 

 

 

Ablations study on the Fast Pathway design(fast -path가 모델에 얼마나 영향을 미치는지 ) 

 

slow - only할때 보다 fast까지 합쳤을 때 lateral connection을 진행 했을때 어떤 경우에도 accurcact가 증가함. 

그 중에서도 T_conv 방법을 선택했을 때 가장 큰 향상을 보임 

 

fast -path의 b값에 따라서 1/6이나 1/8일때 가장 큰 accuracy를 보였음.

1/32를 했을 때 연산량은 많아지지 않았음에도 accuracy가 늘어난 것을 보임. 

 

fast -pathway에서 모든 이미지를 비교하지 않아도 되는데  이미지 크기를 절반씩 줄인것, gray-scale, time diff 를 사용 했을 때 gray -scale에서 큰 효과를 보임. 

 

 

AVA action detection 

 

data set : 

"AVA: A video Dataset of Spatio-temporally localized aomic visual action" 

human action에 대해서 localization과 bounding box를 쳐줌. 

 

Architecture 

Fast R-CNN 

ROI pooling ==> SLowFast 로 변경함. 

Region propoasals  ==> (Faster R-CNN with ResNeXt-101)  

 

 

Audiovisual SlowFast Nentworks 

slow-fast 에다가 음성신호도 넣어서 faster 층을 더 넣어서 성능을 향상 시키는 것임!!