SBF: An Effective Representation to Augment Skeleton for Video-based Human Action Recognition
이 논문은 기존 2D 스키레톤 기반 동작 인식의 한계를 극복하기 위해 관절의 깊이, 신체 윤곽, 그리고 사람 - 물체 상호작용 정보를 통합한 'Scale-Body-Flow(SBF)' 표현과 이를 예측하는 'SFSNet' 네트워크를 제안하여, 추가 주석 없이도 기존 최첨단 방법보다 높은 정확도를 달성함을 보여줍니다.
원저자:Zhuoxuan Peng, Yiyi Ding, Yang Lin, S. -H. Gary Chan
기존의 많은 AI 는 비디오 속 사람의 행동을 분석할 때, 마치 **동화책에 나오는 '막대기 사람 (Stick Figure)'**만 보고 판단합니다.
장점: 데이터가 작고 계산이 빨라 효율적입니다.
단점: 막대기 사람은 3 차원 깊이 (앞/back), 몸의 윤곽, 그리고 물체와의 상호작용을 알 수 없습니다.
실제 실패 사례 (비유):
깊이 (Depth): 사람이 "쪼그려 앉는 것"과 "의자에 앉는 것"을 정면에서 보면 막대기 사람으로는 구분이 안 됩니다. (어느 쪽이 더 가까이 있는 건지 알 수 없으니까요.)
윤곽 (Contour): 사람이 "주머니에 손을 넣는 것"을 할 때, 막대기 사람은 손이 몸과 겹치는지 알 수 없어 "물건을 떨어뜨리는 것"으로 오해할 수 있습니다.
상호작용 (Interaction): 사람이 "공을 던지는 것"을 할 때, 막대기 사람은 공의 움직임을 보지 못해 단순히 "손을 흔드는 것"으로 착각할 수 있습니다.
💡 2. 해결책: "SBF" (스케일 - 바디 - 플로우)
저자들은 막대기 사람 (스켈레톤) 에 세 가지 추가 정보를 더해서 행동을 더 잘 이해하게 만들었습니다. 이를 SBF라고 부릅니다.
Scale (크기/깊이) 맵:
비유: 카메라에 가까울수록 사람이 커 보이는 원리를 이용합니다.
역할: "이 관절이 화면에서 얼마나 크게 보이는가?"를 기록합니다. 크기가 크면 가까이 있다는 뜻이므로, 깊이 정보를 얻어 "쪼그려 앉기"와 "앉기"를 구분할 수 있게 됩니다.
Body (몸) 맵:
비유: 막대기 사람 주변에 실제 사람의 몸통 윤곽선을 그려줍니다.
역할: 막대기 사람만으로는 보이지 않는 몸의 일부 (예: 몸통과 겹친 손) 를 채워줍니다. "주머니에 손을 넣는" 동작을 정확히 파악할 수 있게 해줍니다.
Flow (흐름) 맵:
비유: 사람과 물체 사이의 **공기의 흐름 (움직임)**을 감지합니다.
역할: 사람이 물체와 어떻게 상호작용하는지 보여줍니다. "공을 던지는" 동작에서 공이 날아가는 흐름을 포착하면, 단순한 손 흔들기와 구별됩니다.
🤖 3. 어떻게 만들었나? "SFSNet" (지능형 그림자 그리기)
이 세 가지 정보 (SBF) 를 비디오에서 어떻게 뽑아낼까요? 보통은 사람이 하나하나 직접 표시해줘야 (Annotation) 하지만, 이 논문은 추가로 사람이 일할 필요가 없습니다.
기존의 뼈대 (Skeleton) + AI 의 눈 (Optical Flow): AI 는 이미 알고 있는 '막대기 사람'의 위치와, 비디오 프레임 사이의 '흐름 (Optical Flow)'만 보고 스스로 SBF 를 그려냅니다.
비유: 마치 그림자를 보고 물체의 3 차원 형태를 상상하듯이, AI 는 뼈대와 흐름만 보고 "아, 이 부분은 몸통이겠구나", "저 부분은 물체가 움직이는 구나"라고 스스로 추론하여 SBF 맵을 완성합니다.
🏆 4. 결과: 더 똑똑해졌지만, 여전히 가볍다
이 새로운 방법 (SBF) 을 적용한 결과:
정확도 대폭 상승: 특히 어려운 상황 (옆에서 찍은 영상, 복잡한 동작) 에서 기존 기술보다 훨씬 잘 작동합니다. (예: NTU120 데이터셋에서 2.2% 이상 향상)
효율성 유지: 무거운 3D 카메라나 추가 센서가 필요하지 않고, 기존 막대기 사람 방식과 비슷하게 빠르고 가볍게 작동합니다.
📝 한 줄 요약
"기존의 '막대기 사람'만으로는 알 수 없던 깊이, 몸의 모양, 물체와의 상호작용을, AI 가 스스로 '그림자'처럼 그려내어 추가 비용 없이 행동을 훨씬 정확하게 알아맞히는 기술을 개발했습니다."
이 기술은 로봇이 사람을 더 잘 이해하거나, 감시 카메라가 이상 행동을 더 정확하게 탐지하는 등 다양한 분야에서 쓰일 수 있을 것으로 기대됩니다.
1. 연구 배경 및 문제 정의 (Problem)
비디오 기반 인간 행동 인식 (HAR) 분야에서 2D 스키레톤 (관절 좌표) 은 계산 효율성과 간결성으로 인해 가장 널리 사용되는 중간 표현 (Intermediate Representation) 입니다. 그러나 기존 스키레톤 기반 접근법은 다음과 같은 한계로 인해 많은 일반적인 장면에서 성능이 저하됩니다.
깊이 (Depth) 정보 부재: 2D 평면상의 관절 위치만으로는 관절의 깊이 (Camera depth) 를 알 수 없어, '앉기'와 '쪼그려 앉기'와 같은 동작을 구분하기 어렵습니다.
신체 윤곽 (Body Contour) 정보 결여: 스키레톤은 관절과 뼈대만 표현하므로 신체 전체의 윤곽이나 특정 부위의 중첩 (Overlap) 정보를 놓칩니다 (예: 주머니에 손을 넣는 동작).
사물과의 상호작용 (Human-Object Interaction, HOI) 무시: 스키레톤은 사람과 사물 간의 상호작용을 포착하지 못해, '던지기'를 '손 흔들기'로 오인하는 등의 오류가 발생합니다.
기존 해결책의 한계: 사물 정보를 추가하는 기존 방법들은 추가적인 주석 (Annotation) 이 필요하여 실용적인 배포가 어렵습니다.
2. 제안 방법론 (Methodology)
저자들은 스키레톤의 한계를 보완하기 위해 **SBF (Scale-Body-Flow)**라는 새로운 표현 방식을 제안하고, 이를 추출하기 위한 SFSNet을 개발했습니다.
A. SBF (Scale-Body-Flow) 표현
SBF 는 2D 스키레톤을 보강하는 세 가지 이진 맵 (Binary Maps) 으로 구성됩니다.
Scale Map Volume (크기 맵 볼륨): 각 관절의 카메라 평면상 크기를 나타냅니다. 카메라에 가까운 관절일수록 크기가 커지는 원리를 이용하여 깊이 (Depth) 정보를 간접적으로 포착합니다.
Body Map (신체 맵): 전체 인체의 윤곽을 나타내는 맵으로, 스키레톤에서 누락된 신체 부위의 정보를 보완합니다.
Flow Map (흐름 맵): 광학 흐름 (Optical Flow) 값을 기반으로 생성되며, 사람과 사물 간의 상호작용으로 인한 움직임을 포착합니다.
B. SFSNet (SBF 추출 네트워크)
SBF 를 비디오에서 추출하기 위해 제안된 세그멘테이션 네트워크입니다.
학습 방식: 추가적인 주석 (Ground Truth) 없이 기존 스키레톤 추출과 비지도 광학 흐름 (Unsupervised Optical Flow) 추정만으로도 학습이 가능합니다.
Simplified PointRend (SPR) 모듈: 픽셀 수준의 정밀한 주석 대신, 스키레톤 관절 좌표와 광학 흐름 추정값으로부터 생성된 **희소 점 주석 (Sparse Point Annotations)**을 사용하여 각 맵 (Scale, Body, Flow) 을 학습합니다.
Scale Head: 관절 위치를 양 (Positive), 나머지를 음 (Negative) 으로 샘플링.
Body Head: 관절 연결 선분을 양, 배경을 음으로 샘플링.
Flow Head: 배경과 다른 광학 흐름 값을 가진 영역을 양으로 정의.
HAR 파이프라인: 추출된 SBF 맵과 스키레톤 히트맵을 결합하여 3D CNN (PoseConv3D 기반) 에 입력합니다. 이를 SBFConv3D라고 명명합니다.
3. 주요 기여 (Key Contributions)
새로운 표현 방식 (SBF): 추가 주석 비용 없이 스키레톤에 깊이, 윤곽, 상호작용 정보를 통합하여 HAR 정확도를 획기적으로 높이는 새로운 표현을 제안했습니다.
효율적인 추출 네트워크 (SFSNet): 스키레톤과 비지도 광학 흐름만으로 SBF 를 예측할 수 있도록 설계된 네트워크로, 데이터 주석 부담을 최소화했습니다.
광범위한 실험 검증: NTU RGB+D, NTU RGB+D 120, UCF101, HMDB51 등 주요 데이터셋에서 기존 최첨단 (SOTA) 스키레톤 기반 방법 및 사물 통합 방법들을 능가하는 성능을 입증했습니다.