본문 바로가기
자기계발

6살아이도 10분만에 따라할 수 있는 인공지능 프로그램 만들기

by 한입경제 2021. 4. 11.

저번 포스팅에서 "드라마 스타트업 사물인식 프로그램 5분만에 구현해보기" 라는 주제의 포스팅을 했었는데,

 

이번 포스팅에서는 단 10분만에 따라할 수 있는 인공지능 프로그램을 한 번 만들어보도록 하겠다.

 

그전에, 혹시 드라마 "스타트업 사물인식 프로그램 5분만에 구현하는 방법" 이 궁금하다면 아래 포스팅을 참고 바란다.

go-getter.tistory.com/6

 

드라마 스타트업 사물인식 프로그램, 5분만에 직접 구현하기

내가 사물인식 프로그램을 직접 구현해본다면..? 이번 포스팅에서는 코딩 까막눈도 "단 5분" 만에 드라마 스타트업의 사물 인식 프로그램을 그대로 구현해보는 아주 재밌고 새로운 도전을 해보

go-getter.tistory.com

 

이번에는 직접 머신러닝을 통해 원하는 사물을 학습시키고, 학습된 데이터를 기반으로 나만의 프로그램으로 만들어

보는 아주 새롭고 재밌는 도전을 해보려고 한다.

 

뭔가 어려워보이지만 이번 역시 코딩에 대해 전혀 모르는 분들도 아주 손쉽게 따라할 수 있을 정도로 정말 간단하니,

한 번씩 따라해보고 흥미를 가질 수 있었으면 좋겠다.

 

(이번 포스팅은 유투버 "조코딩" 채널의 실습 포스팅으로, 보다 자세한 내용은 해당 영상을 참고하면 좋을 것 같다)  

--------------------------------------------------------------------------------

 

우선 머신러닝으로 사물인식 프로그램을 구현하기 위해서는 크게 아래 2가지 절차로 이루어진다.

 

1. 머신러닝 프로그램으로 사물 학습 시키기

 

2. 학습된 사물을 활용하여 나만의 프로그램으로 만들어보기.

 

이번 포스팅에서는 갤럭시폰과 아이폰을 각각 학습시켜 핸드폰 기종을 구분할 수 있는 프로그램을 만들어보려고 한다.

(이번 포스팅에서는 1번 절차인 머신러닝을 통한 사물 학습 까지만 실습해보도록 하겠다)

 

우선 머신러닝으로 사물을 학습시키기 위해서는 아래 Teachable machine이라는 웹 사이트를 활용한다.

 

별도 프로그램이나 로그인이 없이도 누구나 자유롭게 인공지능 학습을 구현해볼 수 있는 아주 유용한 사이트이다.

 

teachablemachine.withgoogle.com/

인공지능 학습을 위한 Teachable machine 웹사이트 / 별도 로그인이나 프로그램 설치없이 이용 가능하다.

 

시작하기를 누르면 바로 학습이 가능하며, 오른쪽과 같이 이미지, 오디오, 포즈 / 총 3가지 방식으로의 학습이 가능하다.

 

우리는 우선 가장 쉬운 이미지로 학습을 시켜보자.

 

이미지로 학습을 선택하면 아래처럼 총 3가지 단계가 나오는데, 생각보다 정말 간단하다.

 

이미지 학습은 사물인식-학습-결과 총 3단계로 이루어진다. 

왼쪽에는 내가 학습시킬 데이터를 올리는 공간, 두번째는 이미지를 학습 시키는 공간, 오른쪽은 결과 화면이다.

 

하나씩 진행 해보자.

 

우선 왼쪽 학습 시킬 화면에는 아래와 같이 내가 원하는 사물의 카테고리를 입력해준다.

 

나는 핸드폰 기종을 구분하는 프로그램을 만들것이므로, 갤럭시와 아이폰 2가지 카테고리를 만들었다.

 

구분하고자 하는 카테고리를 입력

 

그리고 이미지 업로드는 이미지와 웹캡 / 2가지 버전으로 업로드 가능하지만, 나는 보다 정확한 데이터 인식을 위해

웹캡으로 선택 후에 더 많은 데이터를 인식 시켜보았다.

 

각각 왼쪽에는 갤럭시 핸드폰을 인식하는 화면, 오른쪽은 아이폰 핸드폰을 인식하는 화면이다.

 

각 갤럭시/아이폰 핸드폰을 인식하는 화면

 

웹캠을 선택 후 저렇게 Hold to record를 오랫동안 쭈욱 눌러주면, 연속으로 다양한 데이터들이 저장된다.

다양한 각도에서의 인식을 위해 이리저리 돌려가면서 인식 시켜 보았다.

 

육안으로도 구분이 잘 안가는데, 과연 잘 인식이 되었을까?

 

가운데 Traing 버튼을 누르면 인식한 데이터를 기반으로 학습을 시작한다.

충분한 데이터를 인식 시켜주었다면, 이제 학습을 시켜보자.

 

가운데 이렇게 "Trainig" 버튼을 눌러주면, 저절로 학습을 시작한다. 학습시간은 데이터의 양에 따라서 차이가 날 것이다.

 

.

.

자 벌써 학습이 끝이 났다. 

 

이제 이렇게 오른쪽 결과 화면에 Export Model을 눌러주기만 하면 핸드폰 기종을 구분해서 인식하는 것을 볼 수 있다.

Export Model을 누르면 오른쪽과 같이 결과 화면이 나온다.

 

우리가 처음에 입력한 카테고리명으로 핸드폰을 구분하여, 각각 아주 정확하게 인식을 하고 있다.

갤럭시 핸드폰(좌), 아이폰 핸드폰(우)

 

처음에 인식 시켰던 데이터를 기반으로, 이렇게 아주 정확하게 판별하고 있다.

 

육안으로도 사실 확인이 어려운데 이렇게 정확한 인식이 가능하다니 참으로 신기하다.

 

사실 인식률은 데이터의 품질과 양에 따라 결정이 된다.

아마 이미지 몇장으로 학습을 시켰다면, 이 정도의 정확한 인식은 이루어지지 않을 것이다.

 

여러분들도 실습을 하게 된다면 최대한 많은 양의 이미지와 고품질 이미지를 통해 학습을 시켜보길 권장한다.

 

 

자 그럼 이번 포스팅에서는 여기까지만 실습을 진행 해보고, 다음 포스팅에서 이러한 데이터를 바탕으로 나만의 프로그램으로 만들어보고 활용해볼 수 있도록 하겠다.

 

 

(이번 포스팅은 유투버 "조코딩" 채널의 실습 포스팅으로, 보다 자세한 내용은 해당 영상을 참고하면 좋을 것 같다)

---------------------------------------------------------------------------------------------------------------------------------

 

 

그전에!  여기까지 실습을 해보았다면, 각자 새롭고 재미난 아이디어로 하나씩 사물 인식을 시켜보았으면 좋겠다.

 

사실 프로그램이라봐야, 이미 다 나와있는 오픈 소스를 복붙 하는 수준밖에 되지 않을테니, 그보다는 항상 새롭고 재밌는 아이디어를 생각하는 습관을 가지는 것이 훨씬 더 중요한 것 같다.

 

 

댓글로 재밌고 새로운 아이디어를 각자 한번씩 남겨주면 정말 재밌을 것 같다.

 

내가 생각한 재밌는 아이디어는 다음 포스팅에서 공개하도록 하겠다.