Play With AI > Chapter 6. 나만의 이미지 분류 모델 만들기

[실습하기] 나만의 이미지 분류 모델 만들기(1)

  엔트리로 구현하기

지금부터 엔트리의 이미지 모델 학습 기능을 사용하여 나만의 이미지 분류 모델을 만들어보겠습니다.


[STEP 1] 각 클래스에 모자 이미지(클래스당 5개 이상)를 삽입하고, 모델 학습시키기 

 

 1) 엔트리 공유 주소 http://naver.me/G19O3Zbc 에 접속하여, 코드보기를 클릭합니다 


 

 

 2) 먼저 이미지를 분류할 수 있는 인공지능 모델을 만들어보겠습니다. ‘인공지능’ 블록 꾸러미에서 ‘모델 학습하기’를 클릭합니다.

 

 

 3) ‘새로 만들기’를 선택한 뒤 ‘이미지’를 클릭합니다.

 


4) 먼저 모델의 이름을 정해봅시다. 여기서는 ‘모자 색깔’이라고 정했습니다.



5) 각 클래스의 이름을 ‘빨간모자’, ‘파란모자’라고 정해줍니다.


 

 6) 각 클래스에 이미지를 삽입합니다. 촬영을 누르고 부록에 있는 이미지를 카메라에 비춘 뒤 ’촬영하기‘버튼을 클릭합니다. (*학습시키고 싶은 이미지가 파일 형태로 있다면 ‘업로드’ 버튼을 눌러서 이미지를 삽입하는 방법도 가능합니다.) 

 

 7) 학습 데이터를 충분하게 삽입합니다. 엔트리에서는 클래스별로 5개 이상의 이미지 파일이 필요합니다.


8) 모델을 학습시킬 때 클래스별로 비슷한 수의 학습 데이터를 제공해야 합니다. 한 클래스의 학습 데이터가 다른 클래스의 학습 데이터보다 더 많거나 적으면 이미지를 잘못 분류할 수도 있습니다.

 

 9) ‘모델 학습하기’ 버튼을 눌러주세요.

10) ‘부록’에 있는 ‘테스트용 모자’를 색칠하고 우리가 학습시킨 모델이 제대로 분류하는지 확인합니다. 분류기가 잘 동작하면 아래의 ‘추가하기’ 버튼을 눌러주세요.


[잠깐] 클래스별로 학습 데이터 수를 왜 비슷하게 해야 할까요?

한 클래스의 학습 데이터가 다른 클래스보다 더 많으면 분류를 잘못하는 경우가 생깁니다. 다음 그림과 같이 모델을 학습시킨다고 생각해봅시다. 빨간 모자 클래스에는 총 20개의 학습 데이터가 있습니다. 그리고 종류도 다양합니다. 반면에 파란 모자 학습 데이터는 종류도 한 가지이고 개수는 5개밖에 입력하지 않았습니다. 이렇게 모델을 학습한 결과 파란 모자를 빨간 모자로 잘못 분류하는 경우가 생깁니다. 그렇기 때문에 이미지 분류 모델을 만들 때에는 각 클래스별로 학습 데이터의 수를 비슷하게 맞추어야 합니다.


 

 11) 인공지능 블록에 우리가 학습시킨 이미지 분류기 모델 블록이 추가된 것을 확인할 수 있습니다.




[STEP 2] 사람 오브젝트의 블록 조립하기

 

12) 먼저 사람 오브젝트를 클릭하여 블록을 조립하겠습니다. 우선 ‘속성’에서 ‘신호’를 누르고 ’신호 추가하기‘를 클릭합니다. ‘빨간모자’라고 신호의 이름을 쓰고 확인을 클릭합니다.


 

13) 같은 방법으로 ‘파란 모자’ 신호도 만들어 줍니다.


14) 다시 블록으로 돌아와서 블록을 조립해보겠습니다. ‘안녕을 4초 동안 말하기’ 블록을 가져와 다음과 같이 내용을 수정합니다.

15) ‘학습한 모델로 인식하기’ 블록을 넣으면 이미지 분류를 시작합니다. 이 블록을 가져온 뒤 다음과 같이 블록을 조립합니다.


16) 인식한 이미지의 인식 결과를 확인하고 신호를 보냅니다. 신호 보내기 블록을 이용하면 다른 오브젝트에게 신호를 보낼 수 있습니다. 인식 결과가 ‘빨간 모자’이면 ‘빨간 모자 신호 보내기’ 블록으로 신호를 보냅니다. 


17) 같은 방법으로 인식 결과가 ‘파란 모자’일 때는 파란 모자 신호를 보낼 수 있도록 블록을 조립합니다.

 

18) ‘안녕을 4초 동안 말하기’ 블록을 가져와 다음과 같이 내용을 수정하고 조립합니다.



[STEP 3] 모자1 오브젝트를 모자를 인식한 이미지에 따라 색이 바뀌도록 조립하기

 

19) 이번엔 모자들이 인식한 이미지에 따라 색이 바뀌도록 만들어봅시다. 먼저 ‘모자1’ 오브젝트 블록부터 만들어봅시다. 시작하기 버튼을 눌렀을 때는 모자가 숨겨져 있도록 만들기 위해 ‘모양 숨기기’ 버튼을 다음과 같이 조립합니다.


 

20) 신호를 받으면 모자의 모양이 나타나고 인식한 색깔로 변할 수 있도록 블록을 조합해 보겠습니다. 우선 다음과 같이 블록을 조립하면 이미지 인식 결과가 빨간색일 때 모자 오브젝트의 모양이 나타나고 오브젝트의 색깔을 빨간색으로 바꿀 수 있습니다. 


 

21) 같은 방법으로 이미지 인식 결과가 ‘파란 모자’이면 모자 오브젝트의 색깔이 파란색으로 바뀔 수 있도록 블록을 조립합니다. 



 

22) 모자 오브젝트를 클릭하면 사람 머리로 이동할 수 있도록 다음과 같이 블록을 조립합니다.




[STEP 4] 모자2, 모자3 오브젝트도 같은 방법으로 조립한 후, 프로그램 작동 확인하기 

23) 모자2 오브젝트를 클릭하고 같은 방법으로 블록을 조립해봅니다.



24) 모자3 오브젝트를 클릭하고 같은 방법으로 블록을 조립해봅니다.

25) '시작하기’ 버튼을 클릭하여 프로그램이 잘 동작하는지 확인해봅시다. 이미지 인식을 하는 창이 나오면 ‘업로드’라고 되어있는 부분을 클릭하여 촬영으로 바꿉니다.


26) 테스트 모자를 촬영한 뒤 ‘추가하기’ 버튼을 클릭하고 프로그램이 잘 동작하는지 확인해봅니다.



 프로그램에 대해 이야기해봅시다.
Q. 이번 시간에 만든 작품은 엔트리의 어떤 인공지능 관련 기능을 사용하였나요?

Q. 작품을 만들면서 어떤 생각이 들었나요?