본문 바로가기

프로그래밍/머신러닝

#1. 티처블머신(Teachable Machine) 소개

반응형

최근 유투브를 보다가 티쳐블 머신을 활용한 프로젝트를 보다가 아주 감명 깊게 받아서, 이걸 가지고 프로젝트를 한번 해봐야겠다는 생각이 들었습니다.

조코딩 유투브 채널을 보고 한번 만들어 봤어요 ㅎ

 

■ 관상로또 만들어보기

https://facelotto.site/facelotto/

 

관상 로또

내 얼굴이 로또가 될 상인가?!! 오늘 나의 얼굴로 이번주 로또번호를 맞춰보세요.

facelotto.site

 

그럼! 티쳐블 머신에 대해서 알아봅시다.

티쳐블 머신이 무엇인가요?? 구글에서 야침차게 공개한 티쳐블 머신, Version 2입니다.

제작년에 1버전을 사용하고 이번에는 2버전을 런칭 했는데요

티쳐블 머신 자세히 알아보기 링크

 

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

 

 

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.

 

위에 말 처럼 티쳐블 머신은 빠르게 머신러닝을 할 수 있는 기능입니다.

쉽게 말하면 이미지, 사운드, 포즈를 검사 할 수 있는 아주 혁신적인 머신입니다.

 

Teachable Machine은 웹 기반 도구로, 누구나 쉽고 빠르게 액세스 할 수있는 기계 학습 모델을 만들 수 있습니다.

(참고 : 2017 년부터 첫 번째 버전의 Teachable Machine을 찾을 수 있습니다.)

 

 


어떤 기능이 있을까??

와.. 대박~!


아래 글들은 Teachable Machine에 소개하는 내용을 참조해서 작성해 보았습니다!!

 

■ 이미지 기능

 

이미지 사진들을 넣어두면 학습 해주는 최고의 기능!!

파일이나 웹캠을 사용하여 이미지를 분류하는 모델을 생성할 수 있습니다.

Teach a model to classify images using files or your webcam.

 

■ 오디오(Sounds)

 

오디오 파일은 안타깝게도 WAV와 MP3만 제공이 된다고 하네요 ~! 아쉽지만, MP3만해도 아주 유용합니다.

여러분의 오디오를 녹음하여 사용하시면 될 것 같습니다.

짧은 소리 샘플을 녹음하여 오디오를 분류하는 모델을 가르치십시오.

(WAV / MP3 / etc 파일 지원은 곧 제공 될 예정입니다.)

 

■ 행동(Poses)

 

웹캠에서 파일 또는 눈에 띄는 포즈를 사용하여 신체 위치를 분류하는 모델을 가르칩니다.

웹캠이 나의 동작을 감지하여 각 노드별로의 움직임을 실시간으로 잡아줍니다. 어썸!

 

그럼, 티쳐블 머신 사용 방법에 대해서 간략히 알아 보도록 하겠습니다.

 

■ 사용방법

  1. 이미지 모으기 (Gather)
     학습 시키고자 하는 이미지들을 한곳에 모아둡니다. 이때 이미지 별로 그룹핑을 해두는게 좋습니다. 가령 내가 강아지 사진을 학습 시킨다면, 강아지 종별로 그룹핑을 해두면 이미지 학습에 편리하게 사용할 수 있습니다.
  2. 이미지 데이터 업로드 (Image Upload)
    티쳐블 머신을 오픈하여 각각의 CLASS에 이미지들을 드래그 앤 드롭으로 넣어 줍니다. 여기서 CLASS의 이름도 변경이 가능하며, 이 클래스이름을 향후에 리턴해줍니다. 그렇기 때문에, 클래스 이름을 잘 정리해두면 아주 유용할것으로 보입니다.
  3. 학습(Train)
    이미지 학습 버튼 "Train Model"버튼을 누르게 되면 학습이 완료 되었습니다. 모델을 학습 한 다음 즉시 테스트하여 새 예제를 올바르게 분류 할 수 있는지 확인하십시오.
  4. 내보내기(Export)
    이까지 왔다면 아주 잘 하신겁니다. 이제 프로젝트를 내보내기 하여서 자유롭게 사용을 해도 가능합니다. 이때 모델 파일을 다운 받을 수도 있고, 온라인으로 요청하여 데이터를 수신할 수 있습니다. 이때 받은 파일들은 JS파일로 되어 있다는 점 알아두면 좋을 것 같습니다.

예시 ( 티쳐블 머신 블로그 활용)

 

우선, 티쳐블 머신 블로그에서는 다양한 훈련방법을 알려주고 있는데 , 여기서는 바나나를 활용해서 훈련을 시켜주는 것 같습니다.

클래스 4가지 생성

1) 너무 덜익은 바나나

2) 너무 익을 바나나

3) 익은 바나나

4) 아예 다른 이미지

 

이 4가지 이미지를 가지고 테스트를 합니다

 

각각의 이미지를 Hold to Record버튼을 통해서 학습 시켜 줍니다. 

마지막으로 없는 이미지는 바나나없이 내 손을 보여주기 때문에 바나나가있는 클래스의 손을 볼뿐만 아니라 익은 / 등으로 분류되는 손을 이미지에 포함시켜야한다는 상관 관계를 맺습니다.

그 후 트레이닝 버튼을 클릭 학습을 시켜서 알아 봅니다.

잘 작동하는 걸 확인 할 수 있습니다.

 

 

■ 어떻게 이런게 가능할까요??

 

컴퓨터에서 이미지는 숫자와 픽셀의 패턴 일뿐입니다. 따라서 여러분은 바나나 가 무엇인지 실제로 가르쳐주지 않았습니다 . 우리는이 배경 (노란색의 노란 모양)이 잘 익은 바나나라고 표시되어 있습니다. 이것은 컴퓨터의 픽셀 일뿐입니다.

즉 흰색 배경에 노란색을 바나나라고 인식을 한것이죠 픽셀을 인식했다고 보시면 좋을 것 같습니다.

 

자, 그럼 여기서 질문이 있네요

 

배경색을 바꾸면 인식을 잘 할까요??

머신러닝은 아주 당혹스러움을 표현할수 밖에 없죠. 나는 분명 흰색에 노란색만 학습했는데... 갑자기 빨간색을 어디서 튀어 나온거야...그래서 결과 값이 아주 만족스럽지 못할 수 밖에 없습니다.

 

그럼 어떻게 해야 할까요???

간단하죠. 똑같이 덜익은 바바나를 빨간배경에서, 파란배경에서, 일반 사무실 배경에서 모두 학습을 시켜주면 되겠죠??

그럼 정말 원하는 결과 값을 얻을 수 있을 것입니다. 

 

다른 배경에서 인식을 하고 테스트를 해보면 아주 더 잘나오는 걸 확인 할 수 있습니다. 

 

그럼, 이제 여러분의 테스트를 해볼 차례 입니다.

바나나 사진을 찍어서 촬영을 한다면???

과연 어떻게 기계가 반응할까요?? 글을 잘 읽으셨다면 쉽게 답을 찾을 수 있을 것이라 생각됩니다.

 

 

■ 활용

 

이제 이걸 활용하는 일만 남았습니다. 트레이닝한 모델을 Export하여서 여러분의 프로젝트에 직접 활용을 하시길 추천드립니다.

다음에는 오디오/사운드 모델을 만드는 방법을 한번 알아 보겠습니다.

혹시 궁금하신 분들이 있다면, Teachable Machine FAQ에서 모델 사용에 대한 자세한 내용을 확인할 수 있습니다.

 


 

 

 

 

반응형