- 경진 대회 개요 및 참가 방법 TinyML Web Trainer를 이용한 모션 or 음성 or 이미지 인식 경량 모델 학습
학습된 경량 모델을 활용한 간단한 응용 프로그램 개발 (Web or Arduino 사용)
“정컴 Tech Week” 참가 Group 단위로 신청: 3명 1조 필수, 10/31 18:00까지 접수
응용 프로그램의 주제 및 개발 내용을 사전에 결정한 뒤, 참가 신청
신청시: 팀원 구성, 역할, 아이템 개요, 필요 부품 기재 필수
단시간에 개발이 완료되어야 하므로 사전 준비가 치밀하게 준비되어야 함
- TinyML 이란? 기존 서버 및 클라우드에서 학습/동작하는 초거대 Machine Leanring(ML) 모델과 달리, 아주 작은 임베디드 컴퓨팅 장치에서 동작할 수 있는 초소형 기계학습 기술
TinyML을 더 자세히 알고 싶다면? → (2023 PNU TinyML 이론 강의 신청 & 실습 신청)
- PNU TinyML Challange 개요 준비물 : 블루투스 기능이 탑재된 노트북, 신선한 어플리케이션 아이디어
제공 물품 : GambaLabs TinyML DevKit 및 어플리케이션 개발용 부품(Arduino, 케이블 등)
개발 절차
Step1. TinyML Web Trainer에 접속하여 웹 브라우저에서 경량 ML 모델 학습
인식 대상 (모션, 음성, 이미지) 중 하나를 선택하고, Devkit을 이용하여 직접 데이터를 수집하고 모델을 학습
“2023 PNU TinyML 강의(11.2. (목) 9:4012:00) & 실습(11.2. (목) 12:0015:00) 을 통해 모델을 학습
Step2. 학습된 경량 ML 모델을 Devkit으로 다운로드
초소형 기계학습 기술을 통해 초소형 컴퓨팅 시스템에서도 모션, 음성, 이미지를 인식할 수 있음
(단, 교육용 TinyML 모델이며, 짧은 시간 학습되는 모델에서는 복잡한 데이터를 정확하게 인식하기 어려우므로, TinyML Challenge의 활용은 간단한 동작, 음성 단어, 색상 또는 도형 정도를 인식하여 동작하는 응용 프로그램을 준비할 것을 추천)
Step3. Devkit을 연동한 응용 프로그램 개발 (Web or Arduino)
Devkit의 인식결과는 Bluetooth 또는 Serial 통신으로 수신할 수 있으며, 인식 결과를 바탕으로 동작하는 간단한 응용 프로그램을 개발
GambaLabs TinyML Devkit [Simple Manual] [Github code]
감바랩스의 GambaLabs TinyML DevKit 보드를 이용하여 3시간만에 개발을 완료해야 하는 일종의 해커톤식 경진대회이다.
팀원은 3명으로, 나는 테스리스 웹 개발 및 TinyML모델 서빙을 담당했다.
TinyML 보드의 성능과 정확도가 그렇게 좋지 않아 고정확도를 요구하는 모션인식이나 음성인식 활용이 불가했다.
따라서 오히려 정확도가 낮음으로써 재미가 생기는 요소를 고려한 모션인식 컨트롤러와 웹버전 테트리스를 개발하였다.
3시간만에 개발을 해야해서 ChatGPT를 적극적으로 활용한 결과 핵심 기능은 모두 탑재한 게임을 완성시켰고 보드를 훈련시켜 웹버전에 탑재하였다.
단순히 컨트롤러를 컴퓨터 블루투스와 연결하기만 하면 연결은 완료되고 시작을 누르면 바로 게임이 시작된다.