on
티처블머신(Teachable Machine) 소개 및 실습
티처블머신(Teachable Machine) 소개 및 실습
반응형
티처블머신: 구글에서 만든 분류(classification)을 위한 프로그램
쉽고 빠르게 인공지능을 구현할 수 있다. → 프로토타입에 활용하는 용도로 많이 사용
https://teachablemachine.withgoogle.com/
티처블머신으로 할 수 있는 것?
<포즈, 행동, 얼굴인식, 랜드마크 등 활용 라이브러리> - '자세'를 분류하는데 활용
미디어파이프(mediapipe) : 구글에서 만든 인공지능 라이브러리 소스(github) : https://github.com/google/mediapipe https://mediapipe.dev/
새 프로젝트 - 이미지 모델 만들기
표준 이미지 모델 - 대부분 용도에 적합 / 삽입된 이미지 모델 - 산업용 컴퓨터에 적합
# 표준 이미지 모델
어떤 큰 이미지를 넣어도 224 x 224로 줄여서 딥러닝 적용. 보통 120 x 120, 180 x 180인데 그만큼 Teachable Machine 성능이 아주 좋다는 의미
TF.js → java script라서 웹서비스, 인터넷·스마트폰에도 서비스 가능하다는 의미
# 삽입된 이미지 모델
96 x 96(흑백)은 단순한 것은 할 수 있지만 복잡한 것은 할 수 없음 → (None, 96,96,1)
아두이노33, Coral, Jetson Nano에 사용
각 Class에 원하는 이미지를 넣어놓고 학습시킨다. 예를 들면, Class1에 고양이사진, Class2에 강아지사진 클래스의 명칭을 지정하고, 해당하는 이미지를 3장씩 드래그앤드롭 한다
- 에포크(epoch) : 인공지능이 훈련데이터 전체를 1번 학습하는 과정
- 배치크기(batch size) : 1번 훈련할 때 처리하는 데이터의 크기
<테스트> : 검증용 데이터 하나씩 가져와서 드래그앤드롭을 한다.
약간의 노이즈(객체 외 배경)이 발생하더라도 잘 분류하는 것을 알 수 있다.
# 데이터 증폭: 하나의 이미지로는 학습시키기에 많지 않다. 그래서 하나의 이미지를 4번 회전시켜서 학습시킨다. 예를 들어 10000개의 사진을 4번 회전하여 40000번 학습시키는 작업을 하는 것.
<인식률을 조정하는 환경설정>
YOLOV5를 통해 사람을 인식하고 분류하고 있는 것을 알 수 있다.
- Confidence Threshold를 낮게 조절할 수록 자세하게 알 수 있다.
# 모델 내보내기
Tensorflow.js 인공지능을 웹서비스로 개발하고 싶을 때 android studio, xcode, objectC, 스위프트, Django, flask, React 등으로 구축
Tensorflow
Tensorflow Lite
# 학습 결과 다운로드
Keras 선택해서 모델 다운로드 압축 풀고 확인
- keras_model.h5: keras 학습 결과 파일(인공지능 학습결과파일)
- labels.txt: class의 정보를 보관하는 파일(컴퓨터는 0부터 시작하기 때문에, 가장 첫번째 label은 0이다)
반응형
from http://jamjamzo.tistory.com/73 by ccl(A) rewrite - 2021-12-15 11:27:03