본문 바로가기
시스템

스테레오 Depth Camera로 고령자의 행동을 실시간 인식하는 방법

by 프레스러쉬 2026. 9. 17.

스테레오 Depth Camera로 고령자의 행동을 실시간 인식하는 방법

— RGB 영상을 저장하지 않고도 사람의 위치·자세·행동을 인식하는 깊이 기반 비전 시스템

고령화가 진행될수록 독거노인, 요양시설, 병원, 실버타운 등에서 사람의 행동을 지속적으로 관찰하고 위험 상황을 빠르게 파악하는 기술의 중요성이 커집니다. 그러나 일반 RGB 카메라는 사람의 얼굴과 생활 모습이 그대로 촬영되기 때문에 사생활 침해 문제가 항상 따라옵니다. 웨어러블 센서는 이런 문제를 피할 수 있지만 사용자가 항상 착용해야 하고, 센서를 벗어두거나 충전하지 않으면 시스템이 무력화됩니다.

이번 글에서 살펴볼 논문은 이러한 문제를 해결하기 위해 스테레오 Depth Camera가 만들어내는 깊이 영상만을 사용해 고령자의 행동을 인식하는 방법을 제안합니다. 연구진은 실제 일본의 노인 요양시설에서 장기간 데이터를 수집했고, 단순한 포즈 인식이 아니라 침대에 앉기, 눕기, 휠체어에 앉기, 서기, 이동 과정, 도움을 받는 상태, 낙상과 같은 생활 행동을 지속적인 장시간 프레임 속에서 자동으로 구분하도록 시스템을 설계했습니다.

1. 왜 RGB 카메라가 아니라 Depth Camera인가?

이 연구의 첫 번째 특징은 RGB 영상 자체를 저장하지 않았다는 점입니다. 연구진은 고령자의 실제 생활이 이루어지는 침실에 카메라를 설치했지만, 사생활 보호를 위해 RGB 프레임은 기록하지 않고 사람과 물체까지의 거리 정보만 기록했습니다.

Depth Camera의 장점은 매우 분명합니다. 사람의 얼굴이나 옷의 색깔을 정밀하게 볼 수 없어 개인정보 노출 위험이 낮으면서도, 사람의 실루엣과 3차원 위치, 바닥으로부터의 높이, 침대 위인지 바닥 위인지 등의 정보를 얻을 수 있습니다. 특히 사람의 낙상과 같은 사건은 단순한 2차원 윤곽보다 바닥과 사람 중심점 사이의 3차원 거리를 이용하면 더 안정적으로 판단할 수 있습니다.

논문에서 사용한 카메라는 320×180 해상도로 1 fps의 깊이 프레임을 기록했습니다. 속도가 빠르지는 않지만, 실제 요양시설의 생활 행동은 자동차나 산업용 고속 물체처럼 급격하지 않기 때문에 장시간 모니터링을 위한 현실적인 선택이었습니다.

2. 전체 시스템의 처리 흐름

논문의 전체 흐름은 다음과 같이 이해하면 쉽습니다.

Depth Camera → Depth 영상 전처리 → ROI 추출 → 배경 제거 → 사람 검출·추적 → 행동 특징 추출 → SVM 분류 → 장시간 연속 영상에서 행동 확정

흥미로운 점은 모든 판단을 딥러닝 한 모델에 맡기지 않았다는 것입니다. 기하학적으로 확실한 부분은 깊이와 시차 관계, UV-disparity, 배경 차분, 거리 계산과 같은 전통 비전 방식으로 처리하고, 행동 분류에는 DMA·DMH·HOG 특징과 SVM을 사용했습니다. 즉, 물리 기반 특징과 통계 기반 분류기를 적절히 혼합한 실용적 구조입니다.

3. 깊이 영상 전처리: Hole Filling과 Bilateral Filtering

Depth Camera의 원시 데이터는 생각보다 깨끗하지 않습니다. 반사율이 낮거나, 카메라가 깊이를 계산하지 못하거나, 물체 경계에서 스테레오 매칭이 불안정하면 깊이값이 비어 있는 hole이 발생합니다. 또한 동일 평면에서도 깊이값이 조금씩 흔들리는 noise가 존재합니다.

연구진은 먼저 손실된 깊이 값을 채우기 위해 filling-from-left 방식을 적용하고, 경계를 유지하면서 노이즈를 완화하기 위해 bilateral filtering을 적용했습니다. 일반 Gaussian smoothing은 사람 실루엣 경계를 흐릴 수 있지만 bilateral filter는 공간 거리뿐 아니라 값의 차이까지 고려하기 때문에 경계를 상대적으로 잘 보존합니다.

그리고 사람이 없는 초기 30프레임을 평균하여 하나의 평균 배경 깊이 영상을 만들었습니다. 이 배경 영상은 이후 사람이 들어왔을 때 현재 프레임과 비교하여 전경 객체를 분리하는 기준으로 사용됩니다.

4. Depth를 Disparity로 바꾸는 이유

스테레오 비전에서 disparity는 두 카메라에서 동일 물체가 서로 다른 x 위치에 나타나는 픽셀 차이를 의미합니다. 기본 관계는 단순합니다. 초점거리와 baseline이 고정되면 가까운 물체일수록 disparity가 커지고, 멀리 있는 물체일수록 disparity가 작아집니다.

즉, Depth와 Disparity는 역비례 관계에 있습니다. 연구진은 이미 Depth Camera에서 획득한 거리 데이터를 다시 disparity 형태로 변환한 뒤, 이를 U-disparity와 V-disparity로 재구성하여 방 안의 구조를 구분합니다.

이 과정은 매우 중요합니다. 깊이 영상을 그대로 픽셀 단위로 분석하는 대신, 행과 열 방향으로 disparity 히스토그램을 만들면 바닥·침대·커튼처럼 넓고 평평한 구조가 기하학적인 패턴으로 나타나기 때문입니다.

5. UV-Disparity Map으로 방의 구조를 이해한다

U-disparity는 각 열(column)마다 disparity 값의 분포를 누적한 영상이고, V-disparity는 각 행(row)마다 disparity 값의 분포를 누적한 영상입니다. 연구진은 이를 이용해 방 안의 공간 구조를 크게 세 영역으로 나눴습니다.

① Floor Region
바닥은 연속적인 평면이기 때문에 V-disparity 상에서 일정한 기울기의 직선 형태로 나타납니다. 이 직선을 Hough Line Transform으로 검출하여 바닥 영역을 결정합니다.

② Bed Region
침대는 바닥처럼 완전히 평평하지 않기 때문에 동일한 방식의 직선 검출이 적합하지 않습니다. 대신 V-disparity에서 connected component labeling을 수행하고, 가장 큰 픽셀 집합을 침대 후보로 선택합니다. 이후 높이와 disparity의 최소·최대값을 이용하여 침대 영역을 확정합니다.

③ Ignored Region
바닥과 침대 영역을 제외한 나머지 구조물은 무시 영역으로 정의합니다.

이렇게 방의 구조를 미리 알고 있으면 사람을 단순히 검출하는 것을 넘어, 그 사람이 바닥에 있는지, 침대에 있는지까지 판단할 수 있습니다. 예를 들어 사람 blob의 70% 이상이 침대 영역과 겹치면 침대 위에 있다고 보고, 30% 이상이 바닥 영역에 속하면 바닥에 있다고 판단합니다.

6. 배경 제거와 '커튼 제거'가 흥미로운 이유

실내 행동 인식에서 배경 제거는 필수입니다. 연구진은 현재 깊이영상과 평균 배경영상 사이의 픽셀별 차이를 계산하고, 그 차이가 임계값보다 큰 영역을 foreground로 추출했습니다.

그런데 실제 요양시설에는 예상하지 못한 문제가 있었습니다. 밤에는 침대 주변의 커튼이 내려오면서 카메라 시야에 큰 foreground 물체로 나타났습니다. 단순한 배경 차분만 사용하면 이 커튼이 사람으로 오인되거나 사람의 실루엣을 방해할 수 있습니다.

연구진은 다시 U-disparity를 활용했습니다. 커튼은 수직 방향으로 넓고 평평하기 때문에 U-disparity에서 뚜렷한 직선 구조가 발생합니다. Hough Line Transform으로 이 직선을 찾고 해당 픽셀을 제거했습니다.

이 사례는 실제 산업용 머신비전에서도 매우 중요한 교훈을 줍니다. 현장의 nuisance object를 없애는 전처리 로직이 전체 AI 모델보다 더 중요할 수 있다는 점입니다.

7. 사람 검출과 추적은 어떻게 했을까?

사람 검출은 '사람은 일정 시간 움직이지만 가구는 움직이지 않는다'는 가정을 활용했습니다. 연속된 두 Depth Frame 간의 깊이 차이를 계산하고, bounding box 내부에서 변화량이 충분히 크면 움직이는 객체로 판단합니다.

일시적인 물체 이동 때문에 휠체어 등이 사람으로 잘못 판단되는 것을 막기 위해, 단 두 프레임만 보고 결정하지 않고 10초 구간을 관찰했습니다. 이 기간 중 6초 이상 움직임이 검출되면 최종적으로 사람 객체로 인정했습니다.

이후 프레임 간 추적은 세 가지 정보를 함께 사용했습니다.

  • Centroid 사이의 Euclidean Distance
  • Blob Area의 변화량
  • 평균 Depth의 변화량

세 조건이 모두 일정 범위 이내이면 동일한 사람으로 연결했습니다. 이 방식은 복잡한 딥 트래커에 비해 단순하지만, 고정된 실내 환경과 낮은 프레임 속도에서는 계산량이 작고 해석하기 쉽다는 장점이 있습니다.

8. 한 장의 Depth Image로는 행동을 알기 어렵다

사람이 앉아 있는지, 일어서려고 하는지, 눕는 중인지 구분하려면 한 장의 정지 영상만으로는 부족합니다. 그래서 이 논문은 프레임 하나의 모양이 아니라 시간에 따라 사람의 3D 실루엣이 어떻게 변화했는지를 특징으로 만듭니다.

그 핵심이 바로 DMA와 DMH입니다.

9. DMA — Depth Motion Appearance

DMA는 일정 행동 구간에 포함된 여러 Depth Frame을 하나로 누적하여, 전체 동작이 만들어내는 3차원 형태와 외형을 표현합니다. 쉽게 말하면 '이 동작을 수행하는 동안 사람의 몸이 공간적으로 어느 영역을 차지했는가'를 한 장의 표현으로 압축한 것입니다.

예를 들어 휠체어에 계속 앉아 있는 행동은 상체 중심의 비교적 안정적인 형상이 만들어지고, 침대에 눕는 행동은 상체의 높이가 낮아지면서 길게 퍼지는 형상이 만들어집니다. DMA는 이러한 전체적인 3D shape를 담기에 적합합니다.

10. DMH — Depth Motion History

DMA가 전체 외형을 잘 표현하는 반면, 시간 흐름의 방향성을 충분히 담지는 못합니다. 이를 보완하기 위해 DMH가 사용됩니다.

DMH는 이전 프레임과 현재 프레임의 Depth 차이가 임계값 이상이면 해당 위치를 '최근 움직임'으로 갱신하고, 시간이 지나면 그 값이 점차 감소하도록 만든 Motion History 계열의 표현입니다. 따라서 단순히 '사람이 어느 위치에 있었는가'가 아니라 '최근 어디가 움직였고, 그 움직임이 어떻게 변화했는가'가 반영됩니다.

예를 들어 앉아 있다가 일어나는 동작과 서 있다가 앉는 동작은 최종 자세가 비슷해질 수 있지만, DMH는 움직임의 진행 방향이 다르기 때문에 둘을 구별하는 데 도움이 됩니다.

11. HOG로 DMA와 DMH의 형태를 수치화한다

DMA와 DMH를 만든 뒤 바로 분류기에 넣지 않고 HOG(Histogram of Oriented Gradients)를 이용해 특징 벡터로 변환합니다.

사람 실루엣은 먼저 256×176 크기로 정규화되고, 각 DMA와 DMH 맵을 16×16 셀로 나눕니다. 각 셀에서 9방향의 gradient histogram을 계산합니다. 하나의 맵에서 얻는 descriptor는 1584차원이며, DMA와 DMH 두 개를 연결하여 총 3168차원 특징 벡터를 구성합니다.

이 벡터는 이후 Multi-Class Linear SVM에 입력됩니다. 오늘날이라면 CNN이나 Transformer를 사용할 수도 있지만, 이 연구의 목적은 긴 연속 데이터를 실시간에 가깝게 처리하는 것이었기 때문에 HOG+SVM은 매우 현실적인 선택이었습니다.

12. '높이'라는 물리 정보가 낙상 검출을 돕는다

행동 인식에서 이 논문의 또 다른 중요한 특징은 영상 특징만 사용하지 않고 사람 중심점과 바닥 평면 사이의 3차원 거리를 추가했다는 점입니다.

먼저 바닥 픽셀의 3D 좌표를 이용해 평면 방정식을 구합니다. 그다음 사람 silhouette의 centroid를 3차원 좌표로 변환하여, 이 점에서 바닥까지의 수직거리를 계산합니다.

이 거리값은 두 가지 상황에서 특히 유용합니다. 사람이 평소보다 매우 높게 검출되면 간병인이 함께 서 있는 'Receiving Assistance' 가능성을 판단할 수 있고, 반대로 중심점 높이가 매우 낮으면 'Falling' 가능성을 판단할 수 있습니다.

즉, 이 시스템은 영상 형태 특징과 물리적 거리 특징을 함께 결합합니다. 산업용 검사에서도 같은 원칙을 적용할 수 있습니다. AI가 모양을 보고, 기하학적 측정값이 물리적으로 검증하는 Hybrid Vision 구조입니다.

13. 인식하는 8가지 행동

최종 시스템은 다음 8개 상태를 정의했습니다.

  1. Outside the room
  2. Transition
  3. Seated in wheelchair
  4. Standing
  5. Sitting on the bed
  6. Lying on the bed
  7. Receiving assistance
  8. Falling

특히 Transition을 독립 상태로 둔 점이 중요합니다. 고령자는 앉은 상태에서 일어서거나, 앉았다가 눕는 전환 동작 중에 낙상 위험이 가장 커질 수 있기 때문입니다. 단순히 현재 상태만 분류하는 것보다 '상태가 변하는 과정'을 별도의 행동으로 인식한다는 점이 실제 돌봄 시스템에 적합합니다.

14. Automatic Rounding — 긴 영상을 어떻게 행동 단위로 끊을까?

실제 CCTV나 모니터링 시스템의 영상은 5초, 10초짜리 잘 정리된 clip으로 들어오지 않습니다. 수 시간에서 수십 시간짜리 연속 스트림이 들어옵니다. 여기서 '한 행동이 어디서 시작하고 어디서 끝나는가'를 자동으로 찾아야 합니다.

연구진은 Automatic Rounding 방식을 적용했습니다. 프레임을 한 장씩 추가하면서 SVM의 특정 행동 확률을 계속 계산하고, 확률이 기준값을 넘으면 현재까지의 프레임을 하나의 행동 구간으로 확정합니다. 그다음 새 round를 시작합니다.

확률이 충분히 올라가지 않으면 최대 30초까지만 기다리고, 그 안에도 확정되지 않으면 undetermined action으로 처리합니다. 이 방식은 사전에 고정된 길이의 sliding window를 정하지 않아도 된다는 장점이 있습니다.

15. 실제 요양시설 데이터를 사용한 점이 중요하다

논문은 공개 데이터셋에서 몇 초짜리 동작을 반복 촬영한 것이 아니라, 일본 미야자키현의 실제 요양시설 3개 방에서 실제 생활 데이터를 수집했습니다. 세 고령자의 생활을 각 방에서 6~10일 정도 기록했고, 하루 중 낮잠과 야간 수면을 포함하는 1시간에서 최대 13시간 길이의 연속 데이터가 포함되었습니다.

훈련에는 한 방의 데이터를 사용하고, 나머지 두 방의 데이터를 시험에 사용했습니다. 즉, 완전히 동일한 공간의 데이터만 다시 시험한 것이 아니라 다른 방과 다른 사람에 대한 어느 정도의 일반화 성능을 확인하려고 했습니다.

학습용 action sequence는 총 579개였고, Transition 65개, Wheelchair 80개, Standing 91개, Sitting 243개, Lying 100개로 구성되었습니다.

16. 실험 결과는 어느 정도였나?

테스트는 각 장시간 데이터에서 10분짜리 구간을 무작위로 추출하여 진행했습니다. 필터를 적용하지 않은 결과는 구간에 따라 약 69.2%에서 100%까지였고, 상당수 구간은 90% 이상이었습니다.

오분류는 특히 'Lying on the bed'를 'Sitting on the bed'로 잘못 판단하는 경우처럼 유사한 자세 사이에서 발생했습니다. 이를 줄이기 위해 5프레임 median filter를 적용하자 일부 구간에서는 90.6%였던 정확도가 98.3%까지 향상되었습니다.

하지만 trade-off도 있었습니다. 1 fps 환경에서 5프레임 median filtering을 하면 결과를 얻기까지 약 5초가 필요합니다. 즉, 정확도는 좋아지지만 반응 속도는 떨어집니다. 이 역시 실시간 시스템에서 반드시 고려해야 할 부분입니다.

17. 왜 이 논문이 산업용 머신비전에도 흥미로운가?

이 연구는 의료·복지 분야 논문이지만 산업용 영상장비 관점에서 보면 매우 익숙한 구조가 보입니다.

첫째, ROI를 먼저 좁힙니다. 전체 영상을 AI에 넣는 것이 아니라 바닥, 침대, 무시 영역 등 공간 구조를 먼저 정의합니다. 이는 Tray, Wafer, Robot Cell에서 검사 영역을 사전에 나누는 것과 같습니다.

둘째, nuisance를 제거합니다. 커튼처럼 반복적으로 오검을 만드는 물체를 별도로 제거합니다. 산업현장이라면 반사광, 케이블, Fixture, Gripper, Background Pattern이 이에 해당합니다.

셋째, Appearance와 Geometry를 융합합니다. DMA/DMH/HOG는 영상 기반 특징이고, 바닥까지의 거리는 기하학 기반 특징입니다. 산업용 검사에서는 CNN Feature + Height + Distance + Motor Position + Recipe 정보를 함께 결합하는 방식으로 확장할 수 있습니다.

넷째, 긴 시퀀스에서 '한 순간'보다 '상태 전이'를 봅니다. 이는 로봇의 Pick → Move → Place, Wafer Load → Align → Inspect, Tray Loading의 Cycle State Monitoring과 동일한 철학입니다.

18. 산업용 장비로 발전시킨다면

이 논문의 구조를 산업용 장비에 적용한다면 다음과 같은 모니터링 엔진으로 발전시킬 수 있습니다.

Stereo / Depth Camera → ROI Map → Background / Fixture 제거 → Object Tracking → Motion History → Height / Distance Feature → State Classification → Abnormal Transition Detection

예를 들어 로봇 셀에서는 정상 작업자가 접근하는 상황, 로봇이 정상 위치에 있는 상황, 자재가 Tray에서 빠진 상황, Gripper가 비정상 위치에서 멈춘 상황을 시간축과 공간축을 함께 보면서 판단할 수 있습니다.

또한 단순 영상만 사용하지 않고 PLC 상태, 서보 위치, Vacuum Sensor, Cycle Time을 함께 넣으면 훨씬 강력한 설비 진단 시스템이 됩니다.

19. 오늘날 다시 만든다면 어떻게 바꿀 수 있을까?

이 논문은 2021년 연구이므로, 지금 다시 만든다면 여러 부분을 현대화할 수 있습니다.

  • HOG + SVM 대신 경량 CNN 또는 Temporal Transformer 사용
  • DMA/DMH를 직접 네트워크의 입력 채널로 구성
  • Automatic Rounding 대신 Temporal Segmentation 또는 Online Action Detection 적용
  • 단일 Depth Camera 대신 Stereo + IMU + Radar Fusion
  • Threshold 기반 낙상 대신 Learned Confidence + Rule Fusion
  • Point Cloud는 전체 변환 대신 ROI에만 제한 적용하여 계산량 절감

다만 무조건 Deep Learning으로 모든 것을 치환할 필요는 없습니다. 이 논문의 장점은 각 물리적 의미가 분명하고 디버깅이 쉽다는 데 있습니다. 특히 안전 관련 시스템에서는 '왜 낙상으로 판단했는가'를 설명할 수 있어야 하므로 Geometry 기반 Feature는 여전히 유용합니다.

20. 이 논문에서 가장 배울 점

이 논문의 핵심은 'Depth Camera를 사용했다'는 사실만이 아닙니다. 더 중요한 것은 공간 구조, 시간 정보, 모양 정보, 물리 거리 정보를 단계별로 조합하여 장시간 실환경에서 동작 가능한 시스템을 만들었다는 점입니다.

실제 비전 시스템을 만들 때 성능이 좋지 않으면 흔히 더 큰 AI 모델을 찾습니다. 그러나 현장에서는 ROI를 어떻게 정하는지, 배경을 어떻게 제거하는지, nuisance를 어떻게 걸러내는지, 시간축을 어떻게 보는지가 정확도에 더 큰 영향을 주기도 합니다.

특히 산업용 장비 개발 관점에서는 다음 원칙으로 정리할 수 있습니다.

“AI에게 모든 것을 맡기지 말고, 물리적으로 확실한 것은 기하학과 센서로 해결하고, 애매한 판단만 AI에게 맡긴다.”

이 원칙은 고령자 모니터링뿐 아니라 로봇, 반도체 검사장비, Tray 검사, Wafer Handling, 설비 이상 감지 등에도 그대로 적용할 수 있습니다.

마무리

스테레오 Depth Camera는 단순히 '거리를 재는 카메라'가 아닙니다. 공간 구조를 이해하고, 사람이나 물체의 움직임을 시간축으로 해석하며, 실제 3차원 높이와 위치를 이용하여 행동과 상태를 판단할 수 있는 센서입니다.

이번 연구는 RGB 영상을 저장하지 않으면서도 실제 요양시설의 장시간 생활 데이터를 분석해 다양한 행동을 인식했다는 점에서 실용적 가치가 큽니다. 또한 UV-disparity, 배경 제거, 기하학적 거리, Motion History, HOG, SVM을 하나의 시스템으로 엮었다는 점에서 '좋은 산업용 비전 시스템이 어떻게 구성되는가'를 공부하기에도 매우 좋은 사례입니다.

태그

#스테레오비전 #DepthCamera #깊이카메라 #행동인식 #고령자모니터링 #낙상감지 #AAL #AmbientAssistedLiving #ComputerVision #머신비전 #UVDisparity #DisparityMap #DepthMap #DMA #DMH #HOG #SVM #ObjectTracking #BackgroundSubtraction #실시간비전 #3DVision #산업용비전 #로봇비전 #AI비전 #스마트헬스케어