이 프로젝트는 스마트폰 센서 데이터를 활용하여 보행자의 이동 경로를 추정하는 보행자 추측 항법(PDR)을 구현한 Python 기반 시스템입니다. 걸음 검출, 이동 방향 계산, 이동 경로 시각화의 주요 단계를 포함합니다.
-
데이터 로드 및 전처리
- 센서 데이터 파일(
.csv
)을 읽어들이고, 필요한 형식으로 전처리합니다.
- 센서 데이터 파일(
-
걸음 검출 6A3D
- 가속도 센서 데이터를 기반으로 걸음 발생 시점을 탐지합니다.
-
이동 방향 계산
- 자이로스코프 데이터를 사용하여 이동 방향(Heading)을 계산합니다.
-
이동 경로 계산
- 보폭과 방향 데이터를 이용해 보행자의 이동 경로를 추정합니다.
-
경로 시각화
- 예측된 이동 경로와 실제 경로를 비교하여 시각화합니다.
project/
├── data/ # 센서 데이터 파일 저장 폴더
│ └── sensor_data_2.csv # 센서 데이터 파일
├── src/ # 주요 기능별 Python 코드
│ ├── data_loader.py # 데이터 로드 및 전처리
│ ├── detect_steps.py # 걸음 검출
│ ├── getHeading.py # 이동 방향 계산
│ └── plot_PDR_path.py # 경로 계산 및 시각화
├── main.py # 프로젝트 실행 스크립트
├── requirements.txt # 필요한 라이브러리 목록
└── README.md # 프로젝트 설명
이 프로젝트에서 사용된 데이터는 안드로이드 기반 스마트폰(S22 Ultra 모델)을 활용하여 수집되었습니다. 데이터 수집의 주요 조건은 다음과 같습니다:
-
센서 종류 및 샘플링 타임
- 가속도, 지자계, 자이로스코프, 기압, 오리엔테이션(Pitch, Roll, Yaw).
- 샘플링 주기: 50Hz.
-
수집 환경
- 실내 공간: 크기 21m x 13m.
- 실험 모션: 휴대폰을 보고 걷는 모션.
-
실제 걸음 수
- 실험 중 실제 걸음 수: 약 420걸음.
-
실험 경로
- 실내 공간에서 3바퀴를 도는 경로를 기반으로 데이터 수집.
이 프로젝트는 한림대학교 정보과학대학 김보성이 수행한 연구로,
차세대항법연구실의 지원을 받아 보행자 추측 항법(PDR) 기술을 개발하였습니다.
-
필요한 라이브러리 설치 프로젝트에서 사용된 Python 라이브러리를 설치하려면 다음 명령어를 실행하세요:
pip install -r requirements.txt