Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removing the Background by Adding the Background: Towards Background Robust Self-supervised Video Representation Learning #158

Open
yiskw713 opened this issue Apr 5, 2021 · 0 comments

Comments

@yiskw713
Copy link
Owner

yiskw713 commented Apr 5, 2021

INFO

author

Jinpeng Wang et al.

affiliation

conference or year

CVPR 2021

link

arXiv
実装

概要

動画中の人物行動認識において,背景だけを見て行動分類をしてしまうBackground Cheatingが問題となっている.Background Cheatingをしてしまうと,例えばサッカー場でバク転を行うなど,動きの状況を見ていないと正しく行動を分類できない動画に対応できない.

そこで本研究では,Background Cheatingを軽減するための,self-supervised learningの手法である,Background Erasing (BE)を提案している.
提案法を用いることで,バイアスのあるデータセットであるUCF101やHMDB51や,バイアスの少ないデータセットであるDriving48において精度向上を確認した.

提案手法

Background Erasing

image

元の動画から別々のランダムクロップを施して,二つのクリップを準備する.一方の動画はデータ拡張の集合a1から取り出したデータ拡張を施し3DCNNに入力,特徴マップを得る.
もう一方のクリップには,データ拡張の集合a2から取り出したデータ拡張を施し,Background Erasingを施す.Background Erasingは以下の式のように表せる.

image

ここで,λは[0, γ]の範囲の一様分布から得られた値で,x^(j)はクリップxのj番目のフレームを表す.Tはクリップの長さ(フレーム数)を表す.
簡単に言うと,クリップの中から適当なフレームを選択し,クリップ中の全てのフレームに対して,その選択したフレームを足し合わせる操作を行なっている.

ちなみにBEを施した動画と元の動画のオプティカルフローを比べても,特に大きな変化はなく,動きの情報は保持されているっぽい.

image

他の手法との組み合わせ

BEだけを用いた最適化だとあまりうまくいかないらしく, BEに加えて二つの手法と組み合わせている.

Pretext Task

pretext taskは二つからなる.

  1. M個の操作を含む変換の集合Rの中から,ある変換rを入力クリップxに施し,そのクリップがどの変換をしているかを分類するタスク
  2. 二つのクリップから得られた(C, T)の特徴量のL2距離が近づくように学習を行う.

Constrastive Learning

contrastive learningで用いられるInfoNCE lossを用いる.その際に,negative sampleとして別の動画クリップを使用してしまうと,空間情報が異なるためタスクとして簡単になる,
そこで,よりタスクを難しくするために,同じ動画からクリップを取り出しデータ拡張を施したクリップをhard negative sampleとして使用する.こうすることで,背景の情報は似ているが,動きの情報をが違う動画を用いることができる.

検証

MoCo + BE で精度向上を実現している.

image

date

2021, Apr. 5th

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant