[Session 02] 수신호 출발기(이미지 분류)
수신호 출발기(이미지 분류)
옛날 먼바다에서 항해를 하는 배와 배 사이에 신호를 주고 받을 때는 수신호를 이용하였다. 수신호는 약속된 몇 가지 신호로 의사소통을 한다. 컴퓨터의 카메라는 사람의 눈 역할을 한다. 소리, 텍스트로 전달하기 어려운 경우에는 카메라로 이미지 인식할 수 있다. 인공지능 이미지 모델을 활용하면 이미지를 인식으로 명령을 전달할 수 있다. 본 세션에서는 50미터 달리기 연습을 하기 위한 인공지능 측정기를 개발하고자 한다. 50미터라는 먼 거리에서 출발 신호를 보내고 결승점에서는 피지컬 도구의 초음파 센서로 걸린 시간을 측정할 수 있다. 이미지 분류 모델과 피지컬 도구를 활용한 제품을 개발하는 사례를 실습을 통해 알아보자.
학습 목표
이미지 분류 모델과 피지컬 초음파 센서를 활용하여 50미터 달리기 측정기를 개발할 수 있다.
학습 준비물
코블 교구: 메인보드, 초음파센서, 각도모터, 숫자 전광판, 레고블록
데이터 수집 아이디어
이미지로 신호를 보낼 수 있는 이미지 데이터에는 어떤 것이 있을까? 수신호의 다양한 모양을 크게 다른 모양 2가지를 정하고 이미지 데이터를 수집한다.
▲ #온도센서, #선풍기, #텍스트 인식, #지도학습, #분류 학습, #인공지능 에어컨
2-1 인공지능 모델 학습하기
본 세션에서는 먼 거리에서도 이미지로 명령을 내릴 수 있는 인공지능 이미지 모델을 제작하고자 한다. 운동장 환경의 원거리에서 카메라를 찍어 이미지 데이터를 수집할 수 있으나 실습환경을 고려하여 이미지를 간략히 구성한다.
|   | 1)  | 
| 2) 학습모델명 ‘50미터 달리기’, 클래스 1은 ‘준비’, 클래스 2는 ‘출발’로 정하고, 각 클래스별로 30개 이상의 이미지 데이터를 입력하였다. 결과 테스트에서 인식율이 90% 이상이 나오는 것을 확인하였다. | |
| 
 | 
2-2 엔트리 화면과 오브젝트 구성하기
|   | 1) 위 그림에서 보듯이 화면구성을 한다. 글상자 오브젝트는 ‘준비’, ‘출발’, ‘멈춤’, ‘걸린시간’을 구성하고 배경은 ‘운동장’, 달리는 사람은 ‘축구선수’ 오브젝트를 불러왔다. | 
|   | 2) 신호는 ‘준비’, ‘멈춤’, ‘출발’을 만들고 변수는 ‘기록’, 리스트는 ‘최고기록’을 만들었다. | 
2-3 코블 블록 구성하기
코블 블록 조립을 위한 구성품은 다음과 같다.
초음파 센서는 결승 라인으로 배치하여 도착 시에 감지될 수 있도록 한다. 메인보드의 내장 스피커를 활용하기 때문에 메인보드의 스피커 부분이 가려지지 않게 한다. 각도모터는 기록 갱신이 될 때 깃발이 5초간 올라갈 수 있도록 하기 때문에 결승 라인에 초음파와 연결한다.
2-4 엔트리 블록 코딩하기
 오브젝트 코딩하기
|   |  1)  | 
 
2) 변수 ‘기록’을 생성하고 기록의 초기값을 100으로 정한다. 기록값이 최고기록의 1번째 항목보다 작으면 최고기록의 1번째에 넣는다(최고기록 갱신). 코블 각도모터의 120도는 깃발이 위로 치켜올라간 상태이다.
 
 오브젝트 코딩하기
|   | 1) 출발’ 신호를 받았을 때 초시계가 초기화되어 ‘0’을 가리키도록 한다. | 
|   | 2) 엔트리 화면에서 ‘준비’ 오브젝트를 클릭했을 때 ‘준비’ 신호를 보낸다. | 
 오브젝트 코딩하기
|   | 1) 출발’ 신호를 받았을 때 초시계가 시작하도록 한다. | 
|   | 2) 엔트리 화면에서 ‘출발’ 오브젝트를 클릭했을 때 ‘출발’ 신호를 보낸다. | 
 오브젝트 코딩하기
|   | 1) 코블에 있는 초음파 센서와 대상과의
거리가 4cm 미만이라면 초시계가 멈추
도록  | 
|   | 2) 엔트리 화면에서 ‘멈춤’ 오브젝트를 클릭했을 때 ‘멈춤’ 신호를 보낸다. | 
|   | 3) ‘멈춤’신호를 받으면 초시계를 정지하고 변수 ‘기록’을 ‘초시계값’으로 정한다. | 
 오브젝트 코딩하기
|   | 1) ‘출발’ 신호를 받았을 때 축구선수의 움직임이 달리는 애니메이션이 구현되도록 한다. | 
|   | 2) 키보드의 ‘엔터’키를 입력하여 인공지능의 학습한 모델로 분류하기를 실행한다. 분류결과가 ‘준비’이면 ‘준비’신호, ‘출발’이면 ‘출발’ 신호를 보낸다. | 
|   | 3) '멈춤' 신호를 받았을 때 오브젝트의 모양이 서있는 모양이 되도록 한다. | 
[실행하기]
|   | 1) 프로그램을 실행한 후, 엔터를 눌러 데이터를 입력한다. | 
| 
 | 
2) ‘출발’ 신호를 보내면 부저소리와 함께 달리기가 시작된다. 목적지에 도달하면 초음파 센서에 의해 ‘멈 춤’ 신호가 프로그램으로 전달되어 걸린 시간이 표시된다.
3) 다음의 추가 내용을 넣어서 나만의 수신호 출발기를 만들어 보자.
| •코블 자동차를 만들어 자동차 ‘출발’, ‘도착’ 신호로 속도를 측정하여 보자. 초등학교 5학년 2학기의 물체의 빠르기 측정 실험을 코블 자동차로 할 수 있다. •거리별로 LED가 들어오게 만들어 보자. 출발시 1번 LED 켜기, 50미터에서 2번 LED 켜기, 100미터에서 3번 LED 켜기를 넣어보자. |