BMN: Boundary-Matching Network for Temporal Action Proposal Generation 리뷰 (ICCV 2019)
영상에서 어떠한 행동(action)이 일어나는 구간을 찾아내는 Temporal Action Detection 모델은 일반적으로 이미지에서의 Object Detection과 유사하게 액션이 일어나는 것으로 보이는 구간을 찾아내는 proposal과 이렇게 제안된 구간이 어떤 액션에 속하는지, 혹은 사실 액션이 없는 background 영역인지 판별하는 분류(classification)의 두 단계로 구성된다.
이 논문의 저자들은 기존의 여러 연구를 통해 classification은 꽤나 잘 수행하게 되었지만, proposal의 성능이 아직 부족한 것이 temporal action detection의 한계라고 지적하며, 따라서 더 좋은 temporal proposal 방법을 사용하여 성능을 개선할 수 있다고 주장한다.. 저자들이 주목하는 좋은 proposal 생성의 조건은 다음과 같다.
- 실제로 액션이 발생한 영역을 정확하게 탐지할 수 있는 유연한 길이와 정확한 경계의 temporal proposal 생성
- proposal에 대한 적절하고 신뢰할 만한 confidence score 생성
기존의 방법론들은 흔히 "top-down" 방식의 proposal 생성을 수행했다. 고정된 크기의 sliding window 형식으로 영상을 몇 개의 영역으로 나누고, 이들 각각에 대해 동시에 confidence score를 계산한 것이다. 이러한 방법은 일반적으로 액션 영역을 유연하고 정확하게 잘 잡아내는 proposal을 생성하지 못한다.
한편, Boundary-Sensitive Network (BSN)에서는 "bottum-up" 방식의 proposal 생성을 적용했다. 이는 두 단계로 수행되는데, 먼저 시간적 경계(temporal boundary)를 정의하고 이를 조합하여 proposal을 생성한다. 그다음, 이 proposal들의 confidence score를 계산하는 것이다. 이를 통해 유연한 길이의 정확한 proposal을 만들 수 있게 되었으나, BSN은 세 가지 문제가 있었다.
- proposal feature의 생성과 confidence evaluation이 proposal들에 각각 수행되어 비효율적이다.
- BSN이 생성한 proposal feature는 시간적인 맥락을 파악하기에 충분하지 않다.
- BSN은 여러 단계로 구성되는데, 통합된 프레임워크가 아니다.
저자들은 BSN의 이러한 한계를 극복하여, 여러 proposal들의 confidence를 맥락을 충분히 고려하며, 동시에 계산하고자 새로운 방식인 Boundary-Matching (BM) 방식을 제안한다.
이 방식에서, 각 proposal은 시작 경계와 끝 경계의 매칭 쌍(Matching pair of Boundaries)으로 나타나며, 이들은 2차원의 BM confidence map을 통해 연속적인 시작 경계들과 시간 길이들의 densely distributed proposal로 나타난다. BM confidence Map은 BM layer가 생성하는 BM feature map으로부터 생성되며, 이때 BM feature map은 풍부한 시간적 맥락 정보를 포함하고 있다.
저자들이 주장하는 contribution은 다음과 같다.
- densly distributed proposal들의 confidence score를 계산하는 Boundary Matching 방식을 제안한다. 이는 쉽게 신경망에 적용할 수 있다.
- 효율적이고 효과적인 end-to-end temporal action proposal 생성 방법인 Boundary-Matching Network (BMN)를 제안한다.
- SOTA를 달성하였다.
Related Work
- 기존 Action Recognition 방법들은 크게 RGB와 Optical Flow를 사용하는 two stream 방식과 3D 합성곱을 활용해 바로 영상의 모션 정보를 잡아내는 방법이 있다.
- 이 논문은 이러한 action recognition 모델들을 통해 untrimmed video에서 시각정 정보를 추출하였다.
- 일반적으로 temporal action detection 문제는 proposal과 classification 단계를 통합하여 하나의 방법으로 생각하는데, 이 논문은 새로운 proposal 방법을 통해 성능과 효율성을 향상하였다.
Approach
문제 정의
편집되지 않은 영상을 $l_v$개의 프레임들의 시퀀스 $X = \{ x_n \}^{l_v}_{n=1}$로 나타낸다. 해당 영상에 대한 temporal annotation은 $\Psi_g = \{ \psi_n = (t_{s, n}, t_{e, n})\}^{N_g}_{n=1}$로 나타낼 수 있는데, $t_{s, n}$은 액션 $\psi_n$의 시작 시간이고, $t_{e, n}$은 끝 시간이다. 이 논문에서는 action detection이 아닌 proposal generation 만을 다루기 때문에, 액션의 클래스를 나타내는 어노테이션은 필요하지 않다. 모델은 $\Psi_g$를 정확하게 잘 포함하는 $\Psi_p$를 만들어야 한다.
Feature Encoding
BMN으로 proposal을 생성하기에 앞서, 영상으로부터 시각적인 feature를 뽑아내는 과정을 거친다. 저자들은 RGB와 Optical Flow를 사용하는 Two-stream convolutional networks for action recognition in video의 feature encoding 신경망을 가져와 사용했다. RGB, Optical Flow 신경망의 마지막 fc-layer의 출력을 연결하여 $x_{t_n}$프레임에 대한 visual feature $f_{t_n} \in R^C$를 얻었다. ($C$는 특성의 길이이다.) 주어진 $l_v$길이의 편집되지 않은 영상 $X$에 대하여, 특성 시퀀스는 $F = \{ f_{t_n} \}^{l_f}_{n=1}\in R^C{\times l_f}$와 같이 정의된다. 연산량을 줄이기 위하여 $\sigma$ 간격으로 특성을 추출하였으므로, $l_f = l_v / \sigma$가 된다.
Boundary-Matching Mechanism
Boundary-Matching (BM) 방법에서 하나의 proposal $\psi$는 시작 경계 $t_s$와 끝 경계 $t_e$의 쌍으로 구성된다. BM을 수행하여, 위 그림과 같은 confidence map $M_C$를 얻고자 한다. 이때 각 축은 proposal의 시작 경계와 길이를 의미한다. 예를 들어, $M_C(i, j)$는 시작 경계가 $t_s = t_j$이고 길이가 $d=t_i$, 즉 끝 경계가 $t_e = t_j + t_i$인 proposal $\psi_{i,j}$의 confidence score를 의미한다. 즉, BM confidence map을 통해 각 proposal의 confidence score들을 얻을 수 있다. 이러한 BM confidence map은 아래 설명할 BM Layer를 통해 만들 수 있다.
Boundary-Matching Layer
먼저 BM feature map $M_F \in R^{C\times N \times D\times T}$를 feature $S_F \in R^{C\times T}$로부터 생성한 후, 이 feature map에 합성곱 신경망을 적용하여 BM confidence map $M_C\in R^{D\times T}$를 생성할 것이다. $D$는 사전 정의된 최장 proposal 길이이다. BM Layer의 목표는 영상의 feature sequence $S_F$에서 균등하게 $N$개의 $t_s, t_e$로 구성된 proposal $\psi_{i, j}$들을 추출하여 proposal feature $m^f_{i,j} \in R^{C\times N}$을 만드는 것이다. 이렇게 생성한 feature를 조합하여 BM feature map을 만들 수 있는데, 이때 두 가지 어려움이 있다. 하나는 정수가 아닌 지점에서 feature를 샘플링하는 것이고, 하나는 모든 proposal의 feature를 동시에 추출하는 것이다.
위 그림과 같이, 저자들은 $T$ 길이의 feature sequence에서 균등한 $N$길이의 feature를 추출하기 위해 temporal feature sequence $S_F \in R^{C\times T}$와 sampling mask weight $W\in R^{N\times T}$의 점곱을 통해 수행했다.
각 proposal $\psi_{i,j}$에 대해, 가중치 $w_{i,j}\in r^{N\times T}$를 생성하였는데 이때 확장된 시간 영역 $[t_s - 0.25d, t_e + 0.25d]$에서 균등하게 $N$개의 영역을 샘플링했다. 정수가 아닌 지점 $t_n$의 샘플링은 아래와 같은 sampling mask $w_{i,j,n,}\in R^T$를 정의하여 수행하였다. ($dec$와 $floor$는 각각 소수점과 정수부를 나누는 함수이다.)
$$ w_{i,j,n}[t] = \begin{cases} 1-dec(t_n) \text{if } t = floor(t_n) \\
dec(t_n) \text{if } t = floor(t_n) + 1\\
0 \text{if } t = \text{others} \end{cases}$$
proposal $\psi_{i,j}$에 대하여, 위 식을 통해 가중치 $w_{i,j} \in R^{N\times T}$를 얻을 수 있다.
변수가 많아 헷갈리는데 정리하면, $C$ 길이의 feature를 갖는 $T$개의 프레임 시퀀스에서 $N$개의 프레임을 샘플링하여 $C\times N$ 크기의 BM feature를 만들기 위하여, $N\times T$ 크기의 weight matrix를 만들어 점곱을 적용하는 것이다.
이때, $w_{i, j} \in R^{N\times T}$를 $W\in R^{N\times T \times D\times T}$로 확장하여 모든 proposal에 대응하게 하여 BM feature map $M_F\in R^{C\times N\times D\times T}$를 만들 수 있다. weight matrix가 딱히 변화하는 값이 아니라 사전 생성해 둘 수 있기 때문에, 이는 오랜 연산을 필요로 하지 않는다.
Boundary-Matching Label
학습 과정에서, BM confidence map $M_C$와 같은 크기의 BM label map $G_C \in R^{D\times T}$를 정의한다. $g^c_{i,j} \in [0, 1]$는 proposal $\psi_{i,j}$와 실제 액션 간의 최대 IoU를 나타낸다.
BM 방법은 temporal feature sequence $S_F$로부터 BM feature map $M_F$를 생성하고, 여기에 합성곱을 통해 다시 BM confidence map $M_C$를 계산하는 과정을 $G_C$를 BM label 삼아 지도학습하여 학습된다.
Boundary-Matching Network
여러 단계로 나누어진 프레임워크를 갖는 BSN과 달리, BMN은 boundary probabilities sequence와 proposal confidence map을 동시에 생성한다. BMN은 위 그림에 나타난 세 가지 모듈을 동시에 학습한다. 입력 영상은 Feature Extraction을 거쳐 feature sequence로 변환되고, 이는 다시 Base Module을 거친 다음, 각 위치가 시작 경계 혹은 끝 경계일 확률을 계산하는 Temporal Evaluation Module과 BM layer를 포함하며 BM confidence map을 생성하는 Proposal Evaluation Module에 입력된다.
Base Module
이 모듈은 feature extractor가 만든 feature sequence를 다시금 가공하며 receptive field를 확장하는 backbone의 역할을 수행한다. untrimmed video의 길이는 가변적이기 때문에, 저자들은 긴 $l_\omega$ 길이를 가진 observation window를 사용하여 untrimmed feature sequence를 분할하였다. 이때 $l_\omega$의 크기는 데이터셋에 따라 달라진다. observation window $\omega$는 다음과 같이 정의된다. $\omega = \{ t_{\omega, s}, t_{\omega, e}, \Psi_\omega F_\omega \}$ $t_{\omega, s}, t_{\omega, e}$는 각각 $\omega$의 시작과 끝 시간을 의미하며, $\Psi, F$는 각각 window의 annotation과 feature sequence이다.
Temporal Evaluation Module (TEM)
TEM은 영상 속의 어떤 영역이 액션의 시작 혹은 끝 경계일 확률을 평가한다. 이렇게 생성된 확률은 후처리 과정에서 proposal을 생성할 떄 활용된다. 출력 층에 해당하는 $conv1d_4$는 두 개의 출력을 가지며, 시그모이드 함수를 출력 함수로 갖는다. TEM의 출력은 입력된 window의 각 영역의 시작 경계 확률 시퀀스 $P_{S, \omega} = \{ p^s_{t_n} \}^{l_n}_{n=1}$와 끝 경계 확률 시퀀스 $P_{E, \omega} = \{ p^e_{t_n} \}^{l_n}_{n=1}$이다.
Proposal Evaluation Module (PEM)
PEM은 Boundary-Matching (BM) confidence map을 생성한다. PEM은 BM layer와 몇 개의 3d, 2d 합성곱 계층으로 구성되어 있다.
앞서 설명한 것처럼 BM layer는 temporal feature sequence $S$를 BM feature map $M_F$로 변환한다. 생성된 BM feature map은 몇 개의 합성곱 계층을 거쳐, 두 개의 BM confidence map $M_{CC}, M_{CR} \in R^{D\times T}$을 생성하는데, 이는 각각 이진 분류와 회귀 손실 함수로 학습된다.
BMN 학습
TEM은 지역적인 맥락을 학습하여 boundary를 찾아내고, PEM은 전역적인 맥락을 학습하여 Boundary Matching Confidence를 계산한다. 지역적 패턴과 전역적 패턴을 동시에 학습해야 하는 BMN의 학습 방법을 들여다보자.
TEM은 시작 경계의 확률 $P_S$와 끝 경계의 확률 $P_E$를 예측한다. TEM의 손실함수는 이들에 대한 손실함수의 합이다. 이때 각 손실은 binary logistic regression loss $L_bl$을 사용한다.
$$ L_{TEM} = L_{bl}(P_S, G_S) + L_{bl}(P_E, G_E)$$
PEM은 BM confidence map $M_{CC}, M_{CR}$을 생성하는데, 각각은 binary classification loss와 regression loss로 학습된다.
$$L_{PEM} = L_C(M_{CC}, G_C) + \lambda \cdot L_R(M_{CR}, G_C)$$
전체 학습은 아래의 손실 함수로 이루어진다. $L_2$는 L2 규제를 의미한다.
$$ L = L_{LEM} + \lambda_1 L_{GEM} + \lambda_2 L_2(\Theta)$$
BMN 추론
BMN은 예측 시에 boundary probability sequences $G_S, G_E$와 BM confidence map $M_{CC}, M_{CR}$을 생성한다. 최종 결과를 얻기 위해, 먼저 boundary probabilities 중에서 candidate proposal을 만들고, 이들의 확률과 confidence score들을 병합해야 한다. 마지막으로 중복 예측을 제거하면 된다.
Candidate proposal 생성: 먼저 $0.5\cdot \max(p)$보다 높거나, $\max(p^s)$ 즉 영상에서 가장 높은 확률을 갖는, $p^s_{t_n}$으로 시작하는 모든 temporal location $t_n$을 기록한다. 이 candidate starting location들은 $B_S = \{ t_{s,i} \}^{N_S}_{i=1}$로 그룹화된다. 같은 방법으로 끝 경계들의 집합 $B_E$도 만든다.
그 다음, 길이가 사전 정의된 최대 길이 $D$보다 짧은 $B_S, B_E$에 포함된 $t_s, t_e$들을 매칭하여 proposal 들을 생성한다. 생성된 proposal은 다음과 같이 나타낼 수 있다. $\psi = (t_s, t_e, p^s_{t_s}, p^e_{t_e}, p_{cc}, p_{cr})$. $p^s_{t_s}, p^e_{t_e}$는 시작 경계와 끝 경계 $t_s, t_e$의 확률을 의미하며, $p_{cc}, p_{cr}$은 proposal에 대한 confidence score를 의미한다. 이렇게 candidate proposal set $\Psi = \{ \psi_i\}^{N_p}_{i=1}$들을 얻을 수 있다.
Score Fusion: 더 신뢰할만한 confidence score를 만들기 위해, 앞서 classification과 regression 두 방법으로 얻은 confidence score를 융합한다.
$$ p_f = p^s_{t_s} \cdot p^e_{t_e} \cdot \sqrt{p_{cc} \cdot p_{cr}}$$
융합을 거쳐 각 proposal은 다음과 같이 변한다. $\psi = (t_s, t_e, p_f)$
중복 proposal 제거: 이제 중복된 proposal들을 제거하기 위해 NMS를 적용한다. BMN에서는 Soft-NMS를 적용하여 중복을 제거하였다.
Experiments
저자들은 Action Detection에서 흔히 사용되는 THUMOS-14와 ActivityNet-1.3에서 실험을 진행하였다. Temporal Action Proposal Generation의 성능을 평가하기 위해, 저자들은 여러 IoU 임계값에 따른 Average Recall (AR)을 평가하였다. 또한 평균 proposal 갯수(AN) 대비 AR (AR@AN), AR vs. AN 커브(AUC)도 지표로 사용하였다.
먼저 ActivityNet에서의 비교를 보면, 기존 SOTA 방법론들 대비 성능이 향상되었으며, 특히 [17]로 나타난 BSN에 비해 약 1% 정도의 유의미한 성능 향상이 있었다.
THUMOS-14 데이터셋에서의 비교 결과도 살펴보면, 기존 방법론들 대비 거의 모든 AR@AN 설정에서 성능이 앞섰으며, 특히 Soft NMS를 적용하면 성능 향상이 더 커졌다. 저자들은 3D 합성곱 기반 특성과 2Stream(RGB+Optical Flow) 기반 특성을 각각 활용하여 성능을 비교하였는데, 어떤 특성을 사용해도 BMN은 기존 방법 대비 좋은 성능을 보여 저자들이 제안한 Proposal Generation이 유효함을 보였다.
Ablation Study
저자들은 BMN의 각 모듈들의 효과를 확인하기 위해, BSN과 BMN, BMN의 각 모듈 적용 여부에 따른 성능 및 속도를 비교해보았다. BSN과 BMN의 구조가 유사하여, BSN과 BMN에 TEM만을 적용하였을 때는 비슷한 성능을 보였다. PEM을 적용한 결과, 두 모델 모두 성능이 크게 증가하여, PEM이 proposal 생성에 중추적인 역할을 함을 확인할 수 있었다. 각 proposal에 대한 confidence를 따로 계산하는 BSN에 비하여, BMN은 모든 proposal에 대한 score를 한번에 계산하여 추론 속도가 훨씬 빨랐다. BMN은 또한 모든 모듈을 함께 학습할 수 있어, 성능과 학습 속도면에서도 우수했다.
일반화 성능
BMN이 학습 과정에서 본 적 없는 액션에 대하여도 proposal을 잘 생성하는지 확인하기 위해, ActivityNet에서 서로 겹치지 않는 "Sports, Exercise, and Recreation"과 "Socializing, Relaxing, and Leisure" subset을 분리하여 각각 seen과 unseen 카테고리로 분류하였다. 그 다음 모델을 seen 데이터에서만 학습시킨 것과 unseen 데이터까지 포함하여 학습시킨 다음 unseen 카테고리에 대한 proposal 성능을 확인하였는데, 성능 감소가 미미하여 BMN이 액션 proposal을 처음보는 액션에 대해서도 잘 수행함을 확인하였다.
Action Detection 성능
BMN 모델을 실제로 Action Detection에 적용하여 성능을 측정한 결과, 기존 모델들에 proposal generator를 BMN으로 바꾸니 성능이 향상됨을 확인할 수 있었다. 표 6에서는 BMN을 Proposal 기반 detection 모델에 적용한 결과 성능이 향상됨을 확인할 수 있으며, 표 7을 보면 video-level classifier인 UntrimmedNet에 적용하여도 성능 향상이 확인됨을 볼 수 있다.
결론
이 논문에서는 Action Detection의 성능을 향상시키기 위해 Temporal Proposal Generation에 집중하여, 더 정확하고 빠르게 proposal을 생성하고자 하였다. 이를 위해 기존의 sliding window나 anchor 방식이 아닌, 영상의 각 영역이 temporal boundary일 확률을 파악하고, 확률이 높은 boundary 간의 matching을 수행하여 proposal을 생성하였으며, proposal의 confidence를 BM confidence map을 통해 한번에 계산하여 좋은 proposal과 confidence score를 생성하였다.
접근을 처음부터 proposal generation으로 한 것이 새로운 방식이라 느껴졌으며, 실험 단계에서 이에 걸맞게 proposal generation 성능을 평가한 점, 다양한 model에 proposal generator를 BMN으로 바꾸어 실험하여 proposal generation의 유효성을 보인 점이 인상깊었다.
'Deep Learning > 논문 리뷰' 카테고리의 다른 글
댓글
이 글 공유하기
다른 글
-
Background Suppression Network for Weakly-Supervised Temporal Action Localization 리뷰 [AAAI 2020]
Background Suppression Network for Weakly-Supervised Temporal Action Localization 리뷰 [AAAI 2020]
2023.07.04 -
Vision Transformer 리뷰 (ViT)
Vision Transformer 리뷰 (ViT)
2023.06.29 -
TAL-Net: Rethinking the Faster R-CNN Architecture for Temporal Action Localization 리뷰 (CVPR 2018)
TAL-Net: Rethinking the Faster R-CNN Architecture for Temporal Action Localization 리뷰 (CVPR 2018)
2023.06.05 -
R-C3D: Region Convolutional 3D Network for Temporal Activity Detection 리뷰 (ICCV 2017)
R-C3D: Region Convolutional 3D Network for Temporal Activity Detection 리뷰 (ICCV 2017)
2023.06.01