M5StickC에 의한 제스처 인식(2)~샘플 코드에 의한 제스처 인식

M5StickC에 의한 제스처 인식


  • 이번은, 샘플 코드에 의한 제스처 인식을 목표로 합니다.

  • M5StickC 계열 프로그램 관련 기사


  • M5StickC에 의한 제스처 인식(1)~설치로부터 가속도 취득까지

  • M5StickC에 의한 제스처 인식(2)~샘플 코드에 의한 제스처 인식 (이 기사)
  • M5StickC에 의한 제스처 인식(3)~Wi-Fi 접속과 학습 데이터 생성
  • M5StickC에 의한 제스처 인식 (4) ~ 오리지널 데이터에 의한 제스처 인식
  • M5StickC에 의한 음성 인식
    ※ 현재 상태가 예정됩니다

  • 제스처 인식


  • Tensorflow-lite를 사용하여 Magic Wand를 사용하는 예가 있었기 때문에 먼저 샘플을 움직여서 원래 제스처를 인식하는 것까지 목표로합니다.
  • 참고는 다음 사이트에서

  • M5Stick-C+TensorFlow Lite로 제스처 인식
  • 샘플에 관해서는, 저자의 분이 GitHub 에 정리해 주고 있으므로, 사용해 주세요.
  • 우선, GitHub에서 다운로드합니다.
  • 그런 다음 PlatformIO에서 새 프로젝트를 만듭니다. 그런 다음 GitHub에서 다운로드한 파일을 PlatformIO에서 만든 프로젝트로 드래그 앤 드롭합니다(복사).
  • 이 프로젝트는 "0", "W", "∠"의 움직임을 인식하고 디스플레이에 표시하도록 되어 있습니다.
  • 디스플레이의 출력은 "output_handler.cc"에 정의되어 있습니다.
  • 제스처를 인식하기 위한 학습 데이터는 "magic_wand_model_data.cc"에 정의되어 있습니다. 또, 「magic_wand_model_data.cc.new」에도 정의되고 있어 이쪽이 새로운 모델인 것처럼, 내용을 바꿔도 좋을까 생각합니다.
  • 다운로드 한 샘플에서 화면에 얻은 가속도 데이터를 표시하려면 "loop 함수"에 다음을 추가하는 것이 좋습니다.

    main.cpp
    M5.Lcd.printf("ID: %d\n", gesture_index);
    M5.Lcd.printf("%+4.0f : %+4.0f : %+4.0f\nW %3.2f/R %3.2f/S %3.2f", \
                f[381], f[382], f[383], p[0], p[1], p[2]);
    
  • 프로그램을 작성한 후 "Build"를 눌러 빌드합니다. 오류가 없으면 그대로 "Upload"하면 가속도가 디스플레이에 표시됩니다. 또 「Upload and Monitor」를 클릭하면, PlatformIO내에서 시리얼 통신으로 취득한 가속도의 데이터를 볼 수 있다.

  • 좋은 웹페이지 즐겨찾기