그래프 컨볼루션으로 보는 아탁시성 보행 탐지와 중증도 추정
초록
본 논문은 2D 비디오에서 추출한 인체 골격 데이터를 그래프 형태로 변환하고, 특수 설계된 시공간 그래프 컨볼루션 네트워크(AtGCN)를 적용해 아탁시성 보행을 정확히 구분하고 SARA 점수 기반 중증도를 예측한다. 작은 데이터셋(최대 149영상)에도 효과적으로 학습하도록 사전학습된 액션 인식 모델을 층을 잘라 재학습하고, 영상을 보행 주기 단위로 분할하는 데이터 증강 기법을 도입하였다. 실험 결과, 정확도 93.46%, MAE 0.4169를 달성하며 기존 모델보다 5배 이상 작은 파라미터 수로 우수한 성능을 보였다.
상세 분석
AtGCN은 기존 스켈레톤 기반 액션 인식에 사용된 ST‑GCN(Spatial‑Temporal Graph Convolutional Network)을 기반으로, 아탁시성 보행의 미세한 변화를 포착하도록 몇 가지 핵심 설계를 추가하였다. 첫째, 입력 전처리 단계에서 OpenPose와 DeepSORT를 결합해 18개의 관절 좌표와 신뢰도 점수를 2D 시퀀스로 추출한다. 둘째, 보행 주기 검출을 위해 양쪽 발목 간 거리를 시간축에 따라 추적하고, Savitzky‑Golay 평활 및 이동 평균 필터를 적용해 노이즈를 제거한다. 이렇게 얻어진 각 보행 주기는 하나의 그래프 샘플로 사용된다. 그래프는 K개의 관절을 V, T개의 프레임을 시간 축으로 하는 V×T 노드 집합으로 구성되며, 관절 간 연결(H)과 시간 축 연결을 통해 intra‑frame 및 inter‑frame 엣지를 만든다. 노드 특징은 (x, y, confidence) 3차원 벡터이며, 이는 배치 정규화 후 네트워크에 입력된다.
시공간 그래프 컨볼루션은 두 단계로 구현된다. 공간 파트는 관절 간 거리 기반으로 이웃을 정의하고, 거리 비례에 따라 라벨을 0,1,2로 구분하는 spatial configuration partitioning을 적용한다. 시간 파트는 일정 윈도우(Γ) 내에서 동일 관절의 전후 프레임을 연결해 temporal label을 부여한다. 이렇게 라벨링된 이웃 집합에 대해 가중치 w(l) 를 학습함으로써, 각 노드의 공간‑시간 정보를 동시에 집계한다. 네트워크는 6개의 ST‑GCN 블록(첫 4개 64채널, 뒤 2개 128채널, temporal kernel=9)으로 구성되고, 중간에 dropout(0.5)과 글로벌 평균 풀링을 삽입해 과적합을 방지한다. 분류 헤드는 Softmax, 회귀 헤드는 1×1 Conv를 사용해 SARA 점수를 직접 예측한다.
데이터가 극히 제한적인 상황을 고려해, Kinetics‑400에서 사전학습된 10‑block ST‑GCN 모델을 단계적으로 잘라(l=5,6,7) 재학습하였다. 층을 줄이는 과정은 파라미터 수를 0.38M~0.78M 수준으로 유지하면서도 성능 저하를 최소화한다. 학습은 SGD(lr=3e‑5, batch=64, epochs=500)로 진행되었으며, 단일 V100 GPU에서 2시간 내외에 수렴한다.
실험은 공개된 Auto‑Gait(149영상)와 CA‑Gait(40영상) 두 데이터셋에서 10‑fold·5‑fold 교차검증을 수행했다. AtGCN(l=6)은 정확도 93.46%와 F1 93.76%를 기록했으며, 기존 Random‑Forest 기반 Auto‑Gait(≈83% 정확도)와 경량 GaitGraph(≈84% 정확도)보다 10% 이상 높은 성능을 보였다. 또한 파라미터 수가 5.5배 적음에도 불구하고 MAE 0.4169로 중증도 예측에서도 우수했다. Ablation 실험에서는 그래프 구성(공간·시간 엣지 포함)과 시공간 컨볼루션 블록 수가 성능에 미치는 영향을 확인했으며, 특히 시간 윈도우 Γ=9와 6‑block 구성이 최적임을 밝혔다.
이와 같이 AtGCN은 작은 의료 영상 데이터셋에서도 효과적인 특징 학습과 일반화 능력을 입증했으며, 2D 카메라만으로도 아탁시성 보행을 정밀히 진단할 수 있는 실용적인 솔루션을 제시한다.
댓글 및 학술 토론
Loading comments...
의견 남기기