수행기록퀘스트6
좌충우돌 Quest_AI Quest6
- 개발하신 어플리케이션이B-L475E-IOT01A 보드에서 구동하는 동영상을 업로드 해주세요.
- 상용 머신러닝 툴에서 사용한 Source Code를 업로드 해주세요.
- B-L475E-IOT01A에 적용된 Application Source Code와 해당 Application에 대한 소개 및 설명을 포함하는 PDF 문서를 업로드 해주세요.
(PDF 문서에는 2번의 머신러닝 툴에서의 Model에 대한 설명도 포함 합니다. 예를 들어 Model의 구성 설명이나 Accuracy 등과 같은 내용을 설명해 주시면 됩니다.)
1차 시도 : Quest -AI Project
지금까지 진행하여 온 Quest AI를 토대로 Human Activity Recognition Model을 이용하여 일상생활에서 간단하게 운동할 수 있는 Activity를 구분할 수 있는 Project를 준비하였습니다.
먼저 간단한 운동기구로 할 수 있는 운동으로 베드민턴, 탁구,줄넘기 등 운동기구 없이 할 수 있는 팔굽혀펴기, 윗몸일으키기를 추가하였고, 달리기, 걷기, Quest기간중에 진행하였던 달리기, 걷기, Stationary등 을 구별할 수 있는지 확인해 보겠습니다.
각 Activity의 학습 Data는 Quest 4와 같이 Data를 취득하였습니다.
단, Data를 취득하기위하여 보조 충전기를 연결하여 손목에 고정하였습니다.
손목에 차고 Data를 취득하기 위하여 안하던 운동을 한 결과 하기와 같은 Data를 취득할 수 있었습니다.
Running / Pingpong / Badminton / Sit-Up / Push-Up / Jumprope / Walking / Stationary 취득 Data
각 항목별 Data를 취득하고 학습을 시키려고 하는 순간 바로 Fail이 발생하였습니다.
문제의 원인은 새로 생성한 Label이 학습 Data에 없기 때문에 Label을 만들줘야 합니다.
그리고 이번 Quest에서 진행한 사항은 것은 HAR관련 학습 Data를 Download받아서 ( WISDM_ar_v1.1_raw ) 학습을 진행한 결과 진행로 생성된 HAR Model을 사용하였으나 기본 학습 Data가 없기 때문에 WISDM_ar_v1.1_raw과 같은 학습 Data를 만들어서 Test를 진행하였습니다.
하지만 위에서 취득한 Data로 변경하여 1차 학습을 시킨 결과는 참담했습니다.
기본 Data가 없는 관계로 얼마 되지 않는 Data를 이용하여 학습 Model을 만든다는 것이 얼마나 무모한 짓인지 알게 되었습니다.
1차 학습 Data로 Test를 진행한 결과.
2차 시도 : Quest -AI Project
2차시도는 기존의 학습 Data를 이용할 수 있도록 Jumprope ( 줄넘기 ) 를 Stairs대신에 추가하였습니다.
학습 Data는 기존의 Data에서 Running / Walking / Stationary를 사용하고 나머지의 Data는 모두 삭제하였습니다. 그리고 Jumprope의 Data를 취득하여 WISDM_ar_v1.1_raw에 추가 하였습니다.
결과는 기존의 학습 Data는 충분한 관계로 Running / Walking / Stationary는 이전과 비슷한 결과는 얻을 수 있었으나 Jumprope를 전혀 Detection하지 못하였습니다.
추정 원인은 기존의 Data는 충분하였으나 Jumprope의 Data는 상대적으로 부족하였기에 발생한 것으로 추정되었습니다. 기존 Data의 5%정도의 Data로 Model을 학습 시키니 줄넘기가 Running으로 판단되었습니다.
3차 시도 : Quest -AI Project
기존의 학습 Data는 33명의 Data를 취합하여 만든것으로 추정됩니다. 따라서 Jumprope와의 Data의 비율을 맞추기 위하여 기존의 Data에서 1 ~8까지만 사용하고 나머지는 모두 삭제하였습니다. 또한 Jumprope의 Data는 추가하여 학습Data의 비율을 조정하였습니다.
Runme.py를 실해행하면 먼저 학습Data와 TestData로 나누기 때문에 가능하면 Jumprope의 Data를 추가할 경우 다른 Data의 위치와 균형이 맞게 배치해 주어야 됩니다. 그렇지 않으면 Model의 학습결과가 다르게 나올 수 있습니다.
하기와 같은 방법으로 Data를 추가하였습니다.
Human1 ( Running/Stationary/Walking + Jumprope )
Human2 ( Running/Stationary/Walking + Jumprope )
Human3 ( Running/Stationary/Walking + Jumprope )
…
Human8 ( Running/Stationary/Walking + Jumprope )
3차 Jumprope의 Data를 추가하고 기존 1 ~ 8 까지의 Data만 사용하여 학습을 진행한 결과.
4차 시도 : Quest -AI Project : Jumprope Data 추가.
KARAS 모델을 사용 하도록 X-CUBE-AI 구성 요소를 구성합니다.
- 추가 소프트웨어 를 확장 하여 STMicroelectronics.X-CUBE-AI.5.0.0 선택
- X-CUBE-AI 구성 요소가 선택 되었는지 확인하십시오모델 선택 찾아보기
- 위와 같이 설정한 훈에 Analyzer를 실행시키면 하기와 같습니다.
- 빈 프로젝트와 har_ign 모델을 적용하여 만든 Code에서 다음과 같이 4개의 파일을 FP-AI-SENSING1 프로젝트에 포함되어 있는 같은 이름의 파일과 대체하여 적용합니다.
하기와 같이 Souce file과 Header File을 Copy한 후 Compile을 진행한다.
- 다시 FP-AI-SENSING1 프로젝트 파일을 빌드하여 Mobile App 과의 연동을 진행합니다.
- 첨부파일
- Quest_AI_IRON.zip 다운로드


로그인 후
참가 상태를 확인할 수 있습니다.