SlowFast Networks [Kor]

Christoph et al. / SlowFast Networks for Video Recognition / ICCV 2019

1. Problem definition

ëłž ë…ŒëŹžì—ì„œ 닀룚는 ëŹžì œëŠ” video recoginion입니닀. Image RecognitionêłŒ ë§ˆì°Źê°€ì§€ëĄœ visual data넌 받아서, 읎 video가 ëŹŽì—‡ì„ ë‚˜íƒ€ë‚Žêł ìž 하는지 읞식을 하는 ëŹžì œìž…ë‹ˆë‹€. Video Recognition task는 Image RecognitionêłŒ ë§ˆì°Źê°€ì§€ëĄœ ì—ŹëŸŹ ì„žë¶€ë¶„ì•ŒëĄœ 나뉘얎질 수 있는데, ê·ž 쀑 읎 ë…ŒëŹžì—ì„œëŠ” 2가지 ë°©ëČ•ì„ ì‚Źìš©í•˜ì—Ź 성늄을 ëłŽì—ŹìŁŒêł  있슔니닀.

  • Video Action Recogniton (ëč„디였 동작 읞식)

읞간의 동작 읞식은 영상 읎핎에 쀑요한 역할을 í•˜êł  있슔니닀. 읞간의 행동을 읞식하는 Ʞ쀀은 왞부 ëȘšìŠ”, êčŠìŽ, ꎑ학 흐멄, ê·žëŠŹêł  신ìČŽ êłšêČ©êłŒ 같은 ì—ŹëŸŹ 가지 ì–‘ì‹ìœŒëĄœ 읞식될 수 있슔니닀. 귞렇Ʞ에 만앜 학슔된 network가 Action Recognition을 잘 수행한닀멎, ëč„디였넌 잘 ìŽí•Ží•œë‹€êł  핎석할 수 있슔니닀.

  • Video Action Detection (ëč„디였 동작 êČ€ì¶œ)

ìŒë°˜ì ìœŒëĄœ 동작 êČ€ì¶œì€ 동작 읞식읎나 ë¶„ë„˜ëłŽë‹€ 얎렀욎 task로 알렀젞 있슔니닀. ëč„디였 낎에서 동작을 읞식할 뿐만 아니띌, 귞에 따넞 Bounding box(êČœêł„ 상자)넌 귞렀알 하Ʞ ë•ŒëŹžì— 더 얎렀욎 task입니닀. Action Recognition볎닀 얎렀욎 taskìŽëŻ€ëĄœ 읎 task넌 잘 핎낎멎 더 ëč„디였넌 잘 ìŽí•Ží•œë‹€êł  핎석할 수 있슔니닀.

2. Motivation

Video 데읎터는 Image볎닀 더 ë‹€ëŁšêž° 얎렀욎데 ê·ž 읎유는 (H,W,C)에 더핎서 (H,W,C,T)ìČ˜ëŸŒ Channel dimension 뒀에 추가된 Temporal(시간축) 도메읞을 ê°€ì§€êł  ìžˆêł , 데읎터셋 íŹêž° 자ìȮ도 더 íŹêž° ë•ŒëŹžìž…ë‹ˆë‹€.

하지만 읎전 ì—°ê”Źë“€ì—ì„œëŠ” ëč„디였 데읎터셋에 대한 íŠč성을 êł ë €í•˜ì§€ì•Šêł  êł”ê°„ì¶•(Spatial) ë„ë©”ìžêłŒ 시간축(Temporal) 도메읞을 똑같읎 ìČ˜ëŠŹë„Œ 했었슔니닀. 읎에 ëłž ë…ŒëŹžì—ì„œëŠ” 두개의 íŠč성을 êł ë €í•˜ì—Ź 두개의 닀넞 ë„€íŠžì›ŒíŹë„Œ ì‚Źìš©í•Žì„œ 닀넞 ì •ëłŽë„Œ 배워알 í•œë‹€êł  ìŁŒìž„í•©ë‹ˆë‹€.

읎렇êȌ 두개의 íŠč성을 êł ë €í•˜ëŠ” ë°©ëČ•ì€ 영임넘의 시각 시슀템 ì—°ê”Źì—ì„œ motivation을 ë°›ì•˜ë‹€êł  ë§í•˜êł  있슔니닀. 영임넘 망막 신êČœì ˆ 시슀템에는 두가지 ìą…ë„˜ì˜ ì…€ëĄœ ê”Źì„±ë˜ì–ŽìžˆëŠ”ë° 하나는 P-cell ìŽêł  닀넞 하나는 M-cell 입니닀. ì—Źêž°ì„œ P-cell은 시슀템에서 80퍌섌튞 정도넌 ì°šì§€í•˜êł  읎 셀읎 하는 역할은 êł”ê°„ì ìž ì„žë¶€ì‚Źí•­(Spatial details)듀을 배우는데 êž°ì—Źë„Œ í•œë‹€êł  합니닀. ê·žëŠŹêł  M-cell은 시슀템에서 20퍌섌튞 정도 찚지넌 하는데 ëč ë„ž 시각적 변화, 슉 시각적읞 êČƒë“€(Temoral details)넌 ë°°ìšŽë‹€êł  읎 싀험에서는 ë°ížˆêł  있었슔니닀.

  • 3D Convolution

2D ConvNets읎 (H,W,C)의 kernel size로 움직읞닀멎, 3D ConvNets은 (H,W,C,T)의 Kernel로 ì›€ì§ì—Źì„œ data넌 ìČ˜ëŠŹí•œë‹€ëŠ” 점읎 닀늅니닀. 2D Convolution에서 T dimension을 ì¶”ê°€í•˜ì—Ź Spatiotemporal domainêčŒì§€ ìČ˜ëŠŹê°€ ê°€ëŠ„í•˜ë„ëĄ 바Ꟍ ëȘšëžìž…니닀. 하지만, ëłž ë…ŒëŹžì—ì„œ 지적한바와 같읎 êł”ê°„ì¶•(Spatial) ë„ë©”ìžêłŒ 시간축(Temporal) 도메읞을 똑같읎 ìČ˜ëŠŹë„Œ 한닀는 닚점읎 있슔니닀.

  • Optical Flow Video Recognition

ꎑ학 흐늄은 픜셀ë‹č ì˜ˆìžĄìŽë©° ìŁŒìš” 아읎디얎는 밝Ʞ가 ìŒì •í•˜ë‹€êł  가정한닀는 êČƒìž…ë‹ˆë‹€. 슉, 시간읎 지낚에 따띌 화멎에서 픜셀 밝Ʞ가 ì–Žë–»êȌ 읎동하는지 ì¶”ì •í•˜ë €êł  합니닀. 하지만 ꎑ학흐늄은 음음읎 수작업읎 듀얎간 ë°ìŽí„°ìŽì—Źì„œ representation을 ë°°ìšž 때, deep learning network가 human error나 biased된 읞풋을 받는닀는 닚점읎 있슔니닀.

Idea

ìŽëŸŹí•œ êł”ê°„ì¶•(Spatial) ë„ë©”ìžêłŒ 시간축(Temporal) 도메읞읎 닀넎닀는 점을 ëłž ë…ŒëŹžì—ì„œëŠ” ìžì§€í•˜ì—Źì„œ, 두개의 ì •ëłŽë„Œ 따로 ë°°ìšž 수 ìžˆë„ëĄ two-stream 슉 두개의 network넌 ìŽìš©í•˜êł  있슔니닀. 하나는 Slow Pathway로 말 ê·žëŒ€ëĄœ ìȜìȜ히 배우지만 êł”ê°„ì (Spatial)읞 ì •ëłŽë„Œ ë°°ìš°êł  닀넞 하나는 Fast Pathway로 ëč ë„ŽêȌ 배우지만 시각적(Temporal)읞 ì •ëłŽë„Œ ë°°ìšŽë‹€êł  ì†Œê°œí•˜êł  있슔니닀.

3. Method

앞서 Idea에서 ì„€ëȘ…드렞던 êČƒêłŒ 같읎, 두개의 network넌 í™œìš©í•˜ì—Ź 학슔을 í•˜êł  있슔니닀. ê·ž 두개의 network는 ì—ŹëŸŹ 멎에서 ìą€ 닀넞 êČƒë“€ìŽ 있는데 밑에서 ìą€ 더 자섞히 ì„€ëȘ…ë“œëŠŹë„ëĄ 하êČ ìŠ”ë‹ˆë‹€. ê·žëŠŹêł  ê·ž 두개의 networks넌 학슔시킀는 동안 ê·ž 둘의 ì •ëłŽë„Œ 잘 활용하Ʞ 위핎서 Lateral ConnectionìœŒëĄœ 연êČ°í•˜ì—Źì„œ ì •ëłŽë„Œ ìŁŒêł  있슔니닀. 두개의 backbone architecture로는 CNN-based멎 전부 적용읎 ê°€ëŠ„í•˜ë‹€êł  ëłž ë…ŒëŹžì€ ë§í•˜êł  있슔니닀.

  • Slow Pathway

Slow Pathway는 3D ConvolutionêłŒ 같읎, (H,W,C,T)의 input data넌 ìȘ멬할 수 있는 network넌 ì‚Źìš©í•˜êł  ì—Źêž°ì„œ 제음 큏êȌ 닀넞점은 ëȘšë“  input frames넌 쓰지 ì•Šêł  τ\tau의 stride넌 가지는 data넌 활용했닀는 점입니닀. 예넌듀얎, τ=16\tau = 16읎멎, 32fps을 가지는 input viedo에서는 2개의 frame을 í™œìš©í•˜ì˜€ë‹€êł  ëłŒ 수 있슔니닀.

  • Fast Pathway

Fast Pathway의 전ìČŽì ìž ê”ŹìĄ°ëŠ” Slow Pathway와 큏êȌ 닀넎지 않슔니닀. 하지만, 시간적(Temporal)적읞 ì •ëłŽë„Œ ë°°ìš°êž° 위핎서 ì€‘ì ì ìœŒëĄœ 2개 정도의 ëł€í˜•ì„ 하였슔니닀.

  • 높은 프레임 ëč„윚

Slow Pathway볎닀 α\alpha의 배만큌 더 많읎 프레임을 샘플합니닀. 슉, τ/α\tau/\alpha만큌의 stride넌 가진닀는 êČƒìž…ë‹ˆë‹€. 예넌듀얎, τ/α=16/8=2\tau/\alpha = 16 / 8 = 2읎멎, 32fps넌 가지는 input video에서는 16개의 frame을 í™œìš©í•˜ì˜€ë‹€êł  ëłŒ 수 있슔니닀.

  • ë‚źì€ 채널 ê°Żìˆ˜

두개의 networks넌 two-streamë°©ì‹ìœŒëĄœ 욎용을 하êȌ 된닀멎, 전ìČŽì ìž architecture가 ꔉ임히 ëŹŽê±°ì›Œì§„ë‹€ëŠ” 닚점읎 있슔니닀. 영임넘 시신êČœ 시슀템에서 M-cells가 20% 정도넌 ì°šì§€í•˜êł  있었던 만큌, network넌 ê°€ëłêȌ 만듀Ʞ 위핎서 Fast pathway의 Channel ê°Żìˆ˜ë„Œ ÎČ\beta만큌 ì€„ì—Ź 쀍니닀. ëłž ë…ŒëŹžì—ì„œëŠ” ÎČ\beta 값에 대한 Ablation study넌 ì§„í–‰í•˜ì—Ź ÎČ=1/8\beta = 1/8ê°’ìœŒëĄœ ì§€ì •í•˜ì˜€ë‹€êł  ë§í•˜êł  있슔니닀. 읎에 따띌 전ìČŽ 연상량의 ~20%정도넌 ì°šì§€í•œë‹€êł  말합니닀. 또한 ìŽëŸŹí•œ ë‚źì€ 채널 ê°Żìˆ˜ë„Œ ìœ ì§€í•šìœŒëĄœìš, Fast pathway가 채널 ê°Żìˆ˜ê°€ 적Ʞ ë•ŒëŹžì— êł”ê°„ì (Spatial) ì •ëłŽë„Œ 덜 ë°°ìšŽë‹€êł  ìŁŒìž„í•˜êł  있슔니닀.

  • Lateral Connections

두개의 netowrk넌 ë…ëŠœì ìœŒëĄœ 욎영하멎서도, ê·ž 둘의 합ìčœ ì •ëłŽë„Œ 나쀑에 활용할 수 ìžˆë„ëĄ í•©ìłì€˜ì•Œ 합니닀. 하지만, 두개의 feature shape은 network의 형태가 ë‹ŹëŒì„œ 닀넞 형태로 나였êȌ 됩니닀. Slow Pathway는 {TT, S2S^2, CC}의 shape을 가지지만, Fast Pathway는 {αT\alpha T, S2S^2, ÎČC\beta C}의 shape을 ê°€ì§€ëŻ€ëĄœ ê·ž 둘을 ìœ êž°ì ìœŒëĄœ 잘 연êȰ할 수 ìžˆë„ëĄ 3D convolution을 í™œìš©í•˜ì—Ź 연êČ°í•˜êł  있슔니닀. êČ°ê”­ì—ëŠ” Fast Pathway의 ì •ëłŽê°€ Slow Pathway가 잘 동작할 수 ìžˆë„ëĄ 도움을 ìŁŒëŠ” 형태로 되는데, 둘의 ì •ëłŽëŠ” ë§€ "stage"마닀 í•©ìłì§€êȌ 됩니닀. ì—Źêž°ì„œ 말하는 ë§€ "stage"는 ResNet architectureêž°ì€€ìœŒëĄœ Block읎나 Pool을 í•˜êł  난 ë‹€ìŒìŽëŒêł  생각하시멎 됩니닀.

Figure 1: SlowFast Architecture
  • Instantiations

ë…ŒëŹžì—ì„œ ì‚Źìš©ëœ ResNet-50êž°ë°˜ Instantiations입니닀. Slow Pathway가 stride넌 16을 가지는 반멎, Fast Pathway는 2넌 ê°€ì§€êł  ìžˆêł , 읎에 따띌 channels의 ê°Żìˆ˜ë„ 1/8읎 된 ëȘšìŠ”을 ëłŽì—ŹìŁŒêł  있슔니닀. ê·žëŠŹêł  output size에서도 Fast Pathway는 더 높은 temporal resolution읞 32넌 ê°€ì§€êł  ìžˆêł  Slow Pathway는 4넌 ê°€ì§€êł  있슔니닀.

Figure 2: Instantiations

4. Experiment & Result

Experimental Setup

  • Dataset

ëłž ë…ŒëŹžì—ì„œëŠ” Kinetics-400, Kinetics-600 ê·žëŠŹêł  Charades넌 Video Action Classification (ëč„디였 동작 분넘)에 ì‚Źìš©í•˜êł  있슔니닀. Video Action Detection(ëč„디였 동작 êČ€ì¶œ)을 위핎서는 AVA dataset을 ìŽìš©í•˜êł  있슔니닀.

  • Training Setup

전에 있던 ë°©ëČ•ë“€êłŒ 달멬, ImageNetìœŒëĄœ pretraining을 하지 않았슔니닀. Optimizer로는 SGD넌 ì‚Źìš©í•˜ì—Ź 학슔 하였슔니닀. Training에서는 쎝 αTxt\alpha T x t개의 프레임에서 Slow Pathway는 T만큌 Fast Pathway는 αT\alpha T만큌 sample핎서 튞레읎닝을 ì‹œí‚€êł  있슔니닀. Inference에서는 쎝 10 큎늜을 뜑아서, ê·žêČƒì„ 3ëȈ cropì„í•˜ì—Ź 쎝 1개의 ëč„디였에서 30개넌 ìƒ˜í”Œí•˜ì—Ź inferenceí•˜êł  있었슔니닀.

Result

Figure 3: Result-Kinetics400

Kinetics-400에서 위와 같읎 SlowFast networks가 SOTA의 êČ°êłŒë„Œ ëłŽì—ŹìŁŒêł  있슔니닀. BaselineìœŒëĄœ 삌은 R(2+1)DëłŽë‹€ë„ 앜 6%6\%정도의 상ìŠč폭을 ëłŽì—ŹìŁŒêł  ìžˆêł , 또 눈에 띄는êČƒì€ GFLOPs x views읞데, SlowFast는 30개의 sampleê°Żìˆ˜ë§Œ 읎용한 반멎, Baseline은 115개의 sample을 ìŽìš©í•˜êł  있슔니닀.

Figure 4: Result-AVAdection

AVA-Detection task에서도 SOTA의 êČ°êłŒë„Œ ëłŽì—ŹìŁŒêł  있슔니닀. ì—Źêž°ì„œ 한가지 ìŁŒì˜í•  점은, SlowFast Networksê·ž 자ìČŽëĄœë§Œì€ Detection tasks넌 수행할 수 없얎서, Faster R-CNN에서 ROI(Region of Interest)넌 받아서 ê·ž 위에 Classification하는 network만 SlowFast넌 썚서 accuracy넌 ê”Źí–ˆë‹€ëŠ” 점읎 있슔니닀.

Figure 5: accuracy-tradeoff

위 귞늌에서는 얌마나 Fast Pathway가 helpful한지 나타낮는 귞늌입니닀. 파란색 점에서 ìŽˆëĄìƒ‰ ì ìœŒëĄœ ì˜ŹëŒê°„ 상ìŠč폭읎, Slow Pathway 한개만 썌을 ë•ŒëłŽë‹€ Fast Pathway넌 추가하였을 떄 상ìŠč폭을 나타낮는 점입니닀. 또 ëčšê°„색 화삎표는, network íŹêž°ê°€ 두배가 되었는데도 더 ìĄ°ê·žë§ˆí•œ network읞 Fast Pathway넌 추가한 êČƒìŽ í›šì”Ź Accuracy도 ë†’êł  연산량도 적은 êČƒì„ ëłŒ 수 있슔니닀.

5. Conclusion

ëłž ë…ŒëŹžì—ì„œëŠ” 시간적(Temporal) ì •ëłŽëŠ” íŠčëł„í•˜êž° ë•ŒëŹžì— 닀넎êȌ 닀뀄알 í•œë‹€êł  ë§í•˜êł  있슔니닀. 읎에따띌 시간적(Temporal) ë„ë©”ìžêłŒ êł”ê°„ì (Spatial) 도메읞의 ì •ëłŽë„Œ 닀넎êȌ 학슔하는 Two-Streams로 두개의 network넌 만듀얎 학슔을 ì‹œí‚€ì—ˆêł , 귞에 따띌 놀띌욎 êČ°êłŒë„Œ ëłŽì—ŹìŁŒêł  있슔니닀.

하지만, Fast Pathway에서 Channel ê°Żìˆ˜ë„Œ ì€„ìŽêł , temporal resolution을 높읞êČƒìŽ í•„ì—°ì ìœŒëĄœ Fast Pathway가 시간적(Temporal) 도메읞의 ì •ëłŽë„Œ 학슔하는지는 ì˜ëŹžìŽ 듭니닀. ëŹŒëĄ  êČ°êłŒì ìœŒëĄœ Fast Pathway넌 추가한 êČƒìŽ 도움읎 되었지만, 읎 Fast Pathway에 대한 Ablation Studies만 ìžˆêł  ëŹŽì—‡ì„ ë°°ìš°êł  있는지 Quatlitative적읞 분석읎 전혀 없는 점읎 ì•„ì‰ŹìšŽ 점읞 êȃ 같슔니닀.

Take home message (였늘의 ꔐ훈)

시간축(Temporal)êłŒ êł”ê°„ì¶•(Spatial)한 ì •ëłŽëŠ” 닀넞 íŠč성을 가지Ʞ ë•ŒëŹžì— 닀넎êȌ 닀뀄알 한닀. 두개의 networks넌 따로 ì‚Źìš©í•˜ëŠ” êČƒìŽ 한개의 network넌 ë‘ë°°íŹêž°ëĄœ 만드는 êČƒëłŽë‹€ 더 큰 성늄을 낌 수도 있닀. 닀넞 분알에서 motivation을 얻얎서 AI/ML분알에 접ëȘ©ì„ 시킀는 êČƒìŽ 평소에는 ëłŽì§€ ëȘ»í•˜ì˜€ë˜ ìƒˆëĄœìšŽ ë°©ëČ•ìœŒëĄœ ëŹžì œë„Œ 접귌할 수도 있닀.

Author / Reviewer information

Author

êč€ì˜ˆì°Ź (Yechan Kim)

  • M.S student, Graduate School of AI, KAIST

  • yechankim@kaist.ac.kr

Reviewer

  1. Korean name (English name): Affiliation / Contact information

  2. Korean name (English name): Affiliation / Contact information

  3. ...

Reference & Additional materials

  1. Feichtenhofer, Christoph, et al. "Slowfast networks for video recognition." Proceedings of the IEEE/CVF international conference on computer vision. 2019.

Last updated

Was this helpful?