본문 바로가기

그냥, 코딩

티처블머신(Teachable Machine) 소개 및 실습

반응형
이 자료는 한국인공지능협회에서 진행한 2021년 사업주 직업능력 개발훈련으로 BASIC AI(32시간)-박성주 강사의 온라인 교육내용을 참고한 것입니다. 

 

티처블머신: 구글에서 만든 분류(classification)을 위한 프로그램

  • 쉽고 빠르게 인공지능을 구현할 수 있다. → 프로토타입에 활용하는 용도로 많이 사용

https://teachablemachine.withgoogle.com/

 

Teachable Machine

Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or coding required.

teachablemachine.withgoogle.com

 

티처블머신으로 할 수 있는 것?

 

<포즈, 행동, 얼굴인식, 랜드마크 등 활용 라이브러리> - '자세'를 분류하는데 활용

 

MediaPipe

End-to-end acceleration Built-in fast ML inference and processing accelerated even on common hardware Build once, deploy anywhere Unified solution works across Android, iOS, desktop/cloud, web and IoT Free and open source Framework and solutions both under

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번 학습시키는 작업을 하는 것. 

 

<인식률을 조정하는 환경설정>

 

Ultralytics

 

ultralytics.com

 

GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite. Contribute to ultralytics/yolov5 development by creating an account on GitHub.

github.com

YOLOV5를 통해 사람을 인식하고 분류하고 있는 것을 알 수 있다.&amp;nbsp;

- 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이다)

 

 

반응형