마주봄 · mmWave 알고리즘 비교 자료

mmWave 자세 판정 알고리즘 비교

· 승민

개요

전처리 EMA + 분류 XGBoost, 정확도 75.1% (3명·녹화 9개). 처음 보는 사람 65.4~73.5%.

항목내용
센서TI IWR6843 (3D People Tracking 펌웨어), 천장 2.7m 설치, 약 18 프레임/초
판정할 자세 (5종)섬, 침대 위 앉음, 걸터앉음, 누움, 옆누움
데이터녹화 9개: lee 7개, vic 1개, kim 1개(11-12). 자세마다 60초씩 수집
평가 프레임mmWave 프레임 37,773개 (섬 8,173 · 침대 위 앉음 6,559 · 걸터앉음 6,988 · 누움 7,960 · 옆누움 8,093). lee 27,744 · vic 4,935 · kim 5,094
평가 방법녹화 하나씩 빼고 시험 (Leave-one-recording-out, 9회). 학습에 쓰지 않은 녹화로만 정확도를 냄. 추가로 사람 하나씩 빼고 시험(Leave-one-person-out)
지표정확도(Accuracy), macro F1 (5개 자세의 F1 평균)

입력 데이터 (RAW)

프레임마다 환자 트랙 값 8개.

값단위뜻어디서 나오나
zm몸 중심 높이 (바닥 기준)트랙 위치 (TLV 1010)
head_zm머리 쪽 높이: 소속 반사점 높이의 90% 백분위반사점 (TLV 1020 + 1011)
speedm/s수평 이동 속도트랙 속도
vzm/s세로 속도트랙 속도
npts개그 사람에게 연결된 반사점 수반사점
bed_distm침대 영역까지 거리 (안이면 0)트랙 위치 + 침대 꼭짓점
xm방 안 좌우 위치트랙 위치
ym방 안 앞뒤 위치트랙 위치

전처리 알고리즘 비교

EMA 선택 · 분류기는 XGBoost로 고정.

전처리 알고리즘방법정확도macro F1EMA와 정확도 차이
지수 평활 (EMA, α=0.1)새 값 10% + 직전 평활값 90%75.1%74.3%—
칼만 필터 (1차원)예측값과 측정값을 불확실성 비율로 섞음74.2%73.3%−0.8%p
Savitzky-Golay최근 1초에 2차 다항식을 맞추고 가장 최근 값을 씁72.3%71.3%−2.8%p
이동 평균 (1초)최근 18프레임의 평균72.3%71.7%−2.8%p

분류 알고리즘 비교

XGBoost 선택 · 전처리는 EMA로 고정.

분류 알고리즘설정정확도macro F1XGBoost와 정확도 차이
XGBoost트리 300개, 학습률 0.05, 깊이 6, 히스토그램 분할, 자세별 균형 가중75.1%74.3%—
LightGBM트리 300개, 학습률 0.05, 잎 31개, 균형 가중74.7%73.9%−0.4%p
HistGradientBoosting트리 300개, 학습률 0.05, 균형 가중74.6%73.7%−0.5%p
MLP 신경망은닉층 64-32, 조기 종료73.2%72.7%−1.9%p

알고리즘 조합 결과

EMA + XGBoost가 16개 조합 중 1위 · 칸은 정확도.

전처리 \ 분류기XGBoostHistGradientBoostingCatBoostMLP 신경망
EMA75.1%74.6%72.9%73.2%
Savitzky-Golay72.3%75.0%73.8%72.6%
칼만 필터74.2%73.3%74.1%71.9%
이동 평균72.3%73.6%72.1%72.4%

상위 5개 조합의 녹화별 꾸준함 (평균 순위는 낮을수록 좋음).

조합정확도macro F1녹화별 평균 순위 (낮을수록 좋음)상위 4위 안에 든 녹화
EMA + XGBoost75.1%74.3%7.25 / 9
Savitzky-Golay + HistGradientBoosting75.0%74.6%6.84 / 9
EMA + HistGradientBoosting74.6%73.7%7.62 / 9
칼만 필터 + XGBoost74.2%73.3%6.91 / 9
칼만 필터 + CatBoost74.1%73.0%7.32 / 9

결과표

녹화 9개 전체의 자세별 대표값 · 분류 % = XGBoost 평균 확률.

섬 (Standing)

구분인풋 (RAW)전처리 (EMA)분류아웃풋
높이 z (m)1.531.52섬 (95%)섬
머리 높이 head_z (m)1.581.55
반사점 수 (개)89.7
프레임 수8,173--8,173
맞힌 비율---96%
가장 많이 틀린 판정---걸터앉음 1%

사람별 정확도.

측정자프레임녹화 하나씩 빼고 시험사람 하나씩 빼고 시험가장 낮은 자세 (사람 빼고 시험)
lee27,74476.9%65.4% (vic·kim 녹화 2개로만 학습)옆누움 48%
vic4,93566.4%66.4%침대 위 앉음 17%
kim5,09473.5%73.5%옆누움 23%

한계