프로젝트 대표이미지
프로젝트 제목 없음
Godeureum 생성일2022. 7. 29 조회1715 좋아요3 스크랩2 댓글0
 
첨부 파일 비공개 기술 미판매 유사 개발 의뢰 미수락

Quest 5 수행결과를 제출합니다.

2022. 9. 25 (일) 23:44 최종수정 2022. 9. 26 (월) 00:00 Godeureum 조회 425 좋아요 1 스크랩 1 댓글 0

1. 학습 모델을 C언어로 변환하는 툴의 버전차이로 인한 문제의 해결

  Anaconda.Navigator에서 Python 3.6과 Keras 2.2.4을 기반으로하는 환경을 빌드하고 해당환경을 베이스로 하여 Pycharm을 실행합니다.

2. Keras 기반의 새로운 Neural Network Model 을 생성합니다.

 Quest4에서 수집한 데이터를 HAR의 하위 폴더인 Log_data에 넣고, shell에서

> python RunMe.py --dataDir=Log_data 명령를 통하여 모델을 생성합니다.

이때, 여러 모듈들이 설치되어 있지 않아서 ">pip install pandas" 등의 명령을 통하여 필요한 모듈을 설치해 줍니다.

이때 설치한  모듈은 pandas, matplotlib, tqdm, sklearn 등입니다.

Accuracy가 각각 Jogging : 94.72 %, Stationary: 98.24 %, Stairs: 75.85 %, Walking:82.16 %로 나왔습니다.
 
결과 모델인 har_ign모델은 HAR하위 폴더인 results에 생성됩니다.
 
 
3. 생성된 har_ign 모델을 STM32CubeMX에서 C언어 코드로 생성합니다.
이때,  Build 문제가 발생하지 않도록 X-CUBE_AI softwarepack의버전을 5.0.0으로 설정하고, har_ign 모델을 import 한 후 GENERATE CODE 버튼을 눌러 코드를 생성합니다.
 
 
4. 빈 프로젝트에서 생성된 코드 파일을 FP-AI-SENSING1 프로젝트로 옮겨 Build하여 Binary code를 생성합니다.
이때, 옮겨지는 코드 파일은 har_ign.c, har_ign.h, har_ign_data.c, har_ign_data.h 등 4개 파일이며, FP-AI-SENSING1 프로젝트의 기존의 파일을 대체합니다.
생성된4개의 파일은 X-CUBE-AI\App 폴더에 존재하며, 복사하여 FP-AI-SENSING1 프로젝트의 Src폴더dhk, Inc 폴더의 C코드와 H코드 형식이 각 코드를 대체합니다. 
4개의파일을 복사 대체한 이후 STM32CubeIDE에서 FP-AI-SENSING1 프로젝트를 로딩하여 Build하여 Binary 코드를 생성합니다.
 
5. Binary code를 보드에 라이팅합니다.
 PC와 B-L475E-IOT01A 보드를 USB로 ST-link에 연결한 후, SENSING1\STM32CubeIDE폴더의 CleanSENSING1.bat를 실행하여 보드를 초기화 한 후 STM32CubeProgrammer를 사용하여 Applications\SENSING1\Binary 의 경로에 부트로더 바이너리 “SENSING1_BL.bin” 파일을 라이팅합니다.
 
6. 휴대폰의 ST BLE SENSOR 앱과 B-L475E-IOT01A 보드를 Bluetooth로 연결하여 Activity Recognition을 실행하여 AI프로젝트가 잘 동작되는지 결과를 확인합니다. 
보드에 전원을 공급할 보조배터리와 B-L475E-IOT01A 보드를 수납한 작은 가방을 허리띠를 사용하여 허리에 차고, 실제로 걷고 달리고 멈추면서 보드의 AI 동작을 확인하였습니다.
 
7. Human Activity Recognition의 결과를 영상을 통하여 제출합니다.

 

 

 
 
첨부파일
20220925-154109_ST BLE Sensor.mp4 다운로드