티처블머신(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