1.SlowFast Networks for Video Recognition(ICCV 2019)
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
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 층을 더 넣어서 성능을 향상 시키는 것임!!