엔트리와 함께하는 인공지능 교실 > Chapter 12. 인공지능 모델 기반 융합교육

[Session 02] 채워봐요! 10색 상환(이미지 분류)

 채워봐요! 10색 상환(이미지 분류)

미술 작품은 선, 형, 색 등의 조형요소를 이용하여 다양한 조형원리를 나타내며 만들어진다. 미술 시간에는 여러 조형 요소 중에서도 특히 ‘색’에 대한 학습을 많이 하는데 그중에서도 가장 처음에 학습하는 것이 ‘10색상환’이다. 10색상환 학습을 통해 학생들은 10가지 주요 색상을 알아보고 색을 서로 조합해보기도, 비슷한 색을 함께 묶어보며 색에 대한 친밀도와 이해도를 높인다. 이번 주제에서는 ‘10색상환’을 학생들의 생활 속 모습과 연결지어 본다. 색에 대해 배우는 것에 그치는 것이 아니라 실제 나의 생활 주변에서 ‘10색상환’에 해당하는 색을 찾아보고 인공지능 이미지 인식 모델을 통해 확인해보며 다양한 색에 대한 감각을 기르고 미술적 역량을 향상시키고자 한다. 인공지능 이미지 인식 모델을 만들어 주변의 사물을 카메라에 인식해보고 10색상환을 완성해보는 프로그램을 만들어본다.


학습 목표

인공지능 이미지 분류 모델을 적용하여 미술시간에 사용할 수 있는 색상환 만들기 프로그램을 구현할 수 있다.

학습 준비물

이미지 인식이 가능한 PC 또는 노트북

데이터 수집 아이디어


▲ #미술, #, #이미지 인식, #지도학습, #분류 학습, #채워봐요! 10색상환



 2-1 인공지능 모델 학습하기

이번 주제에서는 음성이 아닌 이미지 데이터를 수집하여 인공지능 이미지 인식 모델 학습을 시켜야 한다. 이미지 데이터는 음성 데이터와 마찬가지로 사용자가 직접 촬영하거나 기존에 만들어진 이미지 데이터를 사용할 수 있다. 준비한 데이터로 인공지능 모델을 학습시키고 테스트를 통해 모델의 정확도를 확인 후, 구분이 잘 되는 정교한 데이터를 추가하여 학습모델의 정확도를 높일 수 있다.

 

 1) 먼저, 엔트리 프로그램에서 를 클릭하여 다음과 같이 ‘분류:이미지’ 학습모델을 선택한 후 를 클릭하여 이미지 모델 학습하기로 들어간다.


2) 다음으로 분류: 이미지 모델 학습하기 화면에서 이미지 모델의 이름을 설정한다. 교재에서는 ‘10색상환’으로 설정하였다.


3) 이제 이미지 분류 모델 학습을 위한 분류 범주를 설정하고 데이터를 입력할 차례이다. ‘찾아봐요! 10색 상환’에서는 총 10개의 클래스로 데이터를 분류한다.  버튼을 눌러 10개의 클래스를 생성하고 ‘빨강’, ‘주황’, ‘노랑’, ‘연두’, ‘초록’, ‘청록’, ‘파랑’, ‘남색’, ‘보라’, ‘자주’의 순서대로 각각의 클래스 이름을 설정한다. 데이터는 사전에 저장한 이미지 또는 바로 촬영하여 이미지를 활용하고 클래스 당 5개 이상의 데이터를 입력하여 인공지능 모델 학습을 진행한다.


 

 

4) 각각의 클래스에 데이터 입력이 완료되면 학습단계에서  버튼을 클릭하여 인공지능 이미지 분류가 가능하도록 학습모델을 제작한다. 엔트리 서버의 환경에 따라 모델 학습이 완료되기까지 시간이 걸릴 수 있으며 인터넷 연결 환경이 원활한지 확인할 필요가 있다. 학습이 완료되면 업로드 또는 촬영의 방식을 통해 학습 결과를 확인할 수 있다. 학습 결과는 분류된 클래스별 정확도를 아래와 같이 퍼센트로 나타내어 보여준다.


 

5) 엔트리 블록 탭의 에 다음의 블록들이 생성되었는지 확인한다. 



 2-2 엔트리 코딩하기

‘찾아봐요! 10색상환’은 주변에서 10색상환에 맞는 색의 물건이나 사진을 찾아보고 이미지 인식을 통해 비어있는 색상환의 색을 완성하는 프로그램이다. 엔트리 프로그램이 시작되면 안내멘트와 함께 이미지 인식을 시작한다. 이미지 인식을 통해 색상환을 모두 완성하면 ‘색상환 완성’이라는 멘트와 함께 프로그램이 종료된다.

 

 1) 우선, 엔트리 오브젝트를 다음과 같이 블러온다. 에서 ‘단색 배경’을 불러와 배치한다.


2) 색상환을 만들기 위해 의  를 눌러 원 모양을 만든다. 크기는 벡터를 누르고 w:185, h:185로 설정하며 테두리는 검정, 안쪽은 흰색으로 색을 채운다. 이렇게 색상 오브젝트를 10개 생성하고 ‘빨강’, ‘주황’, ‘노랑’, ‘연두’, ‘초록’, ‘청록’, ‘파랑’, ‘남색’, ‘보라’, ‘자주’로 이름을 각각 변경한다. 색상 오브젝트는 하나를 만든 뒤, 복제하여 사용할 수 있다.


 

3) 색상 오브젝트를 각각 클릭하고 를 눌러 색칠된 버전으로 같은 크기의(w:185, h:185) 원을 생성한다. 예를 들어 ‘빨강’ 오브젝트의 경우, 가운데 흰색으로 되어 있는 원은 ‘빨강01’로 색상환 색에 알맞게 테두리와 안쪽을 빨강색으로 채운 원은 ‘빨강02’로 이름을 바꾼다.


4) 10가지 색에 알맞게 각각의 색상 오브젝트 모두 아래와 같이 모양을 만든다.


 

5) 10색상환에 맞게 색칠된 모양(예) 빨강02)을 생성할 때는 아래의 표를 참고한다.

 


 

6) 색상 오브젝트를 배치하여 10색상환을 만들어보자. 아래의 표를 참고하여 오브젝트의 위치를 정한다.

 


 

 

 7)  오브젝트를 생성하고 글상자 내용은 ‘10색상환’으로 입력한다.


 

8) 글상자 오브젝트는 10색상환과 배경에 맞게 위치를 설정한다.



배경 오브젝트 구성하기


1)을 클릭하여  블록을 가져온다.

2) 를  클릭하여 블록을 가져와 다음 문구를 입력하고 3초 동안 말하기로 변경 후 결합한다. - 나만의 10색상환을 만들어보자! - 우리 주변의 물건을 이용해 색상환을 완성해보자! - 물건을 가져와 카메라 앞에 보여줘!



3) 이제 비디오 화면이 나타나 이미지인식 기능이 실행되도록 한다. 이미지 인식을 통해 이미지 데이터를 업로드 또는 녹음하여 수집 후, 이전에 생성한 인공지능 학습모델에 따라 10가지 클래스(10색) 중 해당 하는 곳에 분류되도록 한다. 의  블록을 결합한다.


 

 

4) 만약 분류 결과가 빨간색이라면 ‘빨강’ 오브젝트가 ‘빨강01’ 모양에서 ‘빨강02’ 모양으로 바뀌도록 만든다. 이때 배경 오브젝트에서 ‘빨강’ 오브젝트로 명령하기 위해 를 사용한다. 클릭 후 신호 이름을 ‘빨강바꾸기’로 설정한다. 오브젝트의 모양 변경은 다음에 등장할 색상 오브젝트 구성하기 내용을 참고한다.


에서  블록을서 블록을, 서   블록을 가져와 결합한다.

  

  


5) 나머지 9가지 색도 각각 색에 맞게 리스트를 만들고, 분류결과에 따라 신호를 보낼 수 있도록 다음과 같이 블록을 결합한다.



 

6) 자동으로 이미지 인식 기능이 반복하여 작동하다 색상환의 10가지 색이 모두 바뀌었을 때 비디오 화면 보이기를 종료하는 기능을 추가하고자 한다. 이때, ‘리스트’를 활용한다.

를 누르고 ‘색을 채웠나요’라는 이름의 리스트를 생성한다. 색상환의 색이 10가지이므로 리스트의 항목도 10가지로 설정한다. 리스트의 1~10번째 항목은 각각 '빨강'부터 '자주'까지의 색상에 해당하는 것으로 생각한다.


 

리스트 항목은 엔트리 프로그램이 시작되었을 때, 모두 0으로 시작된다. 이미지 인식 모델을 통해 10개의 클래스에 분류하고, 분류 결과에 따라 해당 색상의 리스트항목에 10씩 점수가 추가되게 만든다. 분류 결과에 따라 10개의 색에 모두 1개 이상 분류되면 리스트 항목은 더 이상 0이 아니게 된다. 블록을 이용하여 다음과 같이 코딩한다.

의  블록을, 의 블록을, 의 블록을 결합한다.  블록을 추가하여 가 적절한 속도로 나타날 수 있도록 조절한다.


 

7) 색상환 채우기가 종료되었다면 에서 ‘완료’ 신호를 만들어 글상자 오브젝트가 ‘10색상환 완성!’으로 글상자 내용을 변경하고, 노랑배경과 함께 글자가 나타나도록 만든다. 의  블록을 이용한다. 

  

  


의  블록을 이용하여 엔트리 프로그램이 시작되었을 때 리스트의 내용이 보이지 않게 만든다.

 

배경 오브젝트의 최종 코딩 내용은 다음 페이지를 참고한다.



색상 오브젝트 구성하기

예를 들어 배경 오브젝트에서 빨강바꾸기 신호를 받으면 모양을 '빨강01'에서 '빨강02'로 변경하고 '빨강'입니다를 말하도록 만든다. 그리고 빨강에 해당한느 리스트의 1번째 항목에 10을 추가한다.


1) 을 클릭하여  블록을 가져온다.


2) 를 클릭하여  블록을 가져온다.


3) 의  블록의  블록의  블록을 가져와 아래와 같이 결합한다.


4) 의  블록의 , 블록을 결합하여 아래와 같이 만든다.


 

5) 나머지 9가지 색상 오브젝트도 같은 방식으로 프로그래밍하며 다음과 같이 나타낸다.




글상자 오브젝트 구성하기

색상환 채우기 완료 후 ‘완료’ 신호를 받아 글상자 오브젝트의 문구와 배경색이 변하게 만든다.


1) 을 클릭하여  블록을 가져온다.

2)  의  블록을 가져와 아래와 같이 변경 후 결합한다.


3) 의  블록의  블록의   블록을 가져와 아래와 같이 변경 후 결합한다.