MPU 기반 낙상 감지 스마트 워치

사용 기술
콘테스트 프로젝트 진행 상황
각 Quest를 단계적으로 완성하는 프로젝트입니다.
Quest 1: STM32Cube.AI 개발 환경 구축하기
2022.08.07
1. Analyze 기능

2. Show graph 기능

3. network_analyze_report.txt
첨부파일에 첨부하였습니다.
Quest 2: 퀘스트2 제출 합니다.
2022.08.14
저의 경우 다른 분의 내용이나 txt파일의 행렬이 잘못된 경우가 존재해서 텍스트 파일들을 모두 수정해서 몇몇 에러를 해결 했습니다. 간혹
사진을 남기지 못해서 죄송합니다;;;;
*무슨무슨 라인에서 예상치필드랑 갯수가 다르다면 텍스트 문서를 한번 확인해보시면 좋을것 같습니다.
*차원 에러의 경우 저는 다른분이 실행하신 방법인 파이참에서 해당 파일을 그냥 run버튼을 눌러서 해결 했습니다...(허무... 또르륵)
11. Accuracy 그래프를 Capture하여 제출합니다.

12. Model Loss Function 그래프를 Capture하여 제출합니다.

13. Confusion matrix 그래프를 Capture하여 제출합니다.

14. ..\HAR\results\ 경로에서 아래와 같이 생성된 Model 파일을 STM32CubeMX에 STM32L475VGTx로 새프로젝트를 생성하여 STM32Cube.AI로 Network을 추가하여 Analyze 결과를 제출합니다.

Analyze 결과 화면에서 표기된 Creating txt report file 경로에서 network_analyze_report.txt 파일을 제출합니다.
파일 첨부
Quest 3: Quest 3 B-L475E-IOT01A 보드에 바이너리 파일 라이팅하기 _ 츄라이
2022.09.07
결과 영상은 다음과 같습니다.
reset을 진행한뒤

제공된 코드를 import를 진행해서 정상적으로 컴파일 되는 것을 확인 했습니다.(cube ide를 안깔았다는걸 모르고 진행한 삽질이... 읍읍)

퀘스트에서 주어진 내용인 ble 모듈의 이름을 변경하기위해서 다음과 같이 코드를 수정 해줍니다.
정상적으로 빌드와 업로드가 진행된다면 다음과 같이 변경된 이름으로 앱에서 등장하는 것을 확인 할 수 있습니다. 여러 센서 데이터를 받거나 코드상에서 주어진 센서 데이터를 기반으로 여러 동작을 유추하는 등의 기능을 앱을 통해서 확인 할 수 있는 좋은 시간이였던것 같습니다.
Quest 4: Quest4 B-L475E-IOT01A 보드 가속도 센서 활용하여 AI 모델을 위한 Dataset 구성하기
2022.09.18
연결방법은 친절하게 올려주신 설명을 참고하여 쉽게 따라 할 수 있었습니다.
이전에 업로드한 기기를 연결합니다.

라벨링 추가 하고 제작을 진행합니다.
저의 경우 보조 배터리에 연결하여 산책하면서 데이터를 수집하였습니다.
로깅후 점퍼 연결을 변경하여 로깅 데이터를 PC로 옮겨 줍니다.
각의 라벨링에 대해서 10개의 csv 파일들을 저장 및 압축하여 파일 첨부 드립니다.
아래는 각 라벨링의 로깅 파일 정보 입니다.
Quest 5: 새로 생성한 학습된 Model을 STM32Cube.AI를 사용하여 프로젝트에 적용하기
2022.09.25
성공 조건 및 가산 항목 : (**Mobile App에서는 다양한 Activity에 대한 수정이나 추가가 어려운 부분이 있기 때문에, 가령 보드를 좌우로 흔드는 데이터를 로깅하여 모델링하고 App에서는 Run으로 인식하게 하는 환경을 설정하는 것과 같이 설명과 함께 영상을 보내주시면 평가에 가산점이 부여됩니다.)
Quest5: 새로 생성한 학습된 Model을 STM32Cube.AI를 사용하여 프로젝트에 적용하기
이전 quest4에서 제작한 CSV 데이터 로그를 이용하여 새로운 모델을 만들었습니다. 이 과정중 python 버전이 3.7에서 3.6으로 변경 되었으며 keras의 경우 2.4.3 버전으로 변경된 상태로 학습이 진행되었습니다.(그래서 그런지... 3.7에서는 예제 코드 실행에 좀 오류가 발생 했던것 같습니다... 물론 수정 했지만...)

python3.6를 기준으로 정상적으로 수집된 데이터들이 다음과 같이 Log_data에 적용 하여 학습 진행 했습니다.

학습결과를 확인 해보게 되면

걷기와 조깅 스탠딩이 80% 이상으로 준수 했지만 계단을 오르내리는 부분에서는 조금 낮은 정확성인 68%대을 보여주는 것을 확인 할 수 있었습니다.
본 학습을 데이터를 기반으로 생성된

가중치 데이터 파일을 STM32CUBEMX에 새 프로젝트를 통해서 정상적으로 가중치 파일이 인식되었다면 다음과 같이 그래프 확인이 가능하고 코드 생성이 진행 됩니다.

생성된 프로젝트 파일들중 일부 파일들을 quest3에서 사용된 보드 파일에 덮어 씌웁니다.

해당 과정을 정상적으로 이행하였다면 다음과 같이 정상적으로 컴파일이 진행 됩니다.
이제 동작 확인을 통해서 다음과 같은 결과 영상을 확인 하였습니다.
Quest 6: Quest 6 STM32Cube.AI와 B-L475E-IOT01A 보드를 이용하여 본인만의 AI 프로젝트를 만들기
2022.10.02
> 가속도 센서를 응용하시거나 다양한 센서의 데이터 로깅을 통해 STM32Cube.AI에서
> 지원가능한 상용 머신러닝툴을 사용하여 Neural Network Model을 만들고
> STM32Cube.AI로 변환한 C code Model를 적용한 어플리케이션을 자유롭게 만들어 보시면 됩니다.
업데이트 예정
1. 낙상 데이터 수집
2. 레이블 학습
3. STM32 code 적용
4. 최종 동작 영상
프로젝트 갤러리
프로젝트 제작 과정과 최종 결과물을 담은 이미지 갤러리입니다.



















프로젝트 자료실
프로젝트를 재현하거나 학습하는데 필요한 모든 자료를 제공합니다.
등록된 자료가 없습니다.
프로젝트 소개
사용 기술
코드 & 회로도
등록된 코드/회로 자료가 없습니다.
댓글 0개
아직 댓글이 없습니다. 첫 댓글을 남겨보세요!

.jpg)