DOI QR코드

DOI QR Code

Development of a Blocks Recognition Application for Children's Education using a Smartphone Camera

스마트폰 카메라 기반 아동 교육용 산수 블록 인식 애플리케이션 개발

  • Park, Sang-A (Computer Science and Engineering, Soonchunhyang University) ;
  • Oh, Ji-Won (Computer Science and Engineering, Soonchunhyang University) ;
  • Hong, In-Sik (Computer Science and Engineering, Soonchunhyang University) ;
  • Nam, Yunyoung (Computer Science and Engineering, Soonchunhyang University)
  • Received : 2019.02.28
  • Accepted : 2019.07.16
  • Published : 2019.08.31

Abstract

Currently, information society is rapidly changing and demands innovation and creativity in various fields. Therefore, the importance of mathematics, which can be the basis of creativity and logic, is emphasized. The purpose of this paper is to develop a math education application that can further expand the logical thinking of mathematics and allow voluntary learning to occur through the use of readily available teaching aid for children to form motivation and interest in learning. This paper provides math education applications using a smartphone and blocks for children. The main function of the application is to shoot with the camera and show the calculated values. When a child uses a block to make a formula and shoots a block using a camera, you can directly see the calculated value of your formula. The preprocessing process, text extraction, and character recognition of the photographed images have been implemented using OpenCV libraries and Tesseract-OCR libraries.

현재 정보사회는 빠르게 격변하며 다양한 분야에서 혁신과 창의성을 요구하고 있으며 논리적 사고의 근간이 될 수 있는 수학의 중요성이 강조되고 있다. 본 논문의 목적은 아동들에게 수학 학습에 대한 동기와 흥미를 유발하기 위해 아동들이 손쉽게 사용할 수 있는 교구를 이용하여 수학영역의 논리적인 사고가 더욱 확장되고 자발적 학습이 일어날 수 있는 수학교육 애플리케이션을 개발하는 것이다. 본 논문에서는 스마트 기기와 블록을 이용하여 수학 교육 애플리케이션을 설계하고 구현하였다. 애플리케이션의 주 기능은 카메라를 이용한 촬영과 수식 계산 값 확인이다. 아동이 산수 교육용 블록을 이용해 수식을 만든 뒤 카메라를 이용하여 블록을 촬영하면 자신이 만든 수식의 계산 값을 직접 확인할 수 있다. 촬영한 이미지의 전 처리 과정과 텍스트 추출, 문자인식은 OpenCV 라이브러리와 Tesseract-OCR 라이브러리로 구현하였다.

Keywords

1. 서론

우리가 살아가고 있는 정보사회는 빠르게 격변하며 예술이나 경제 사회 등 다양한 분야에서 혁신과 창의성을 요구하고 있다. 창의성과 논리적 사고의 근간이 될 수 있는 수학은 더욱 그 중요성이 강조되고 있다. 현재 우리나라 교육과정은 학습자의 인지적 측면과 더불어 정의적 측면에 대한 배려도 매우 중시되고 있다. 따라서 학생들에게 수학 학습에 대한 긍정적인 태도를 형성하고 흥미를 유발하기 위해 적절한 학습 자료를 투입하는 것에 대한 관심이 고조되고 있다[1]. 아동들이 손쉽게 사용할 수 있는 교구나 실물을 통한 상호작용을 통해 호기심과 흥미를 자극 할 때 수학영역의 논리적인 사고가 더욱 확장되고 자발적 학습이 일어날 수 있을 것이라고 기대한다.

교구를 활용한 수학 활동이 아동에게 미치는 긍정적 영향에 대한 선행연구로는 게임 교구를 활용한 수학활동이 유아의 수학적 능력 발달에 미치는 영향[2], 수학 교구를 활용한 클럽활동이 학생들의 수학적 성향 및 도형 학습력에 미치는 영향[3]등이 있다.

시대의 흐름에 맞춰 아동 수학교구도 발전하여 스마트폰 애플리케이션이나 웹사이트 등 다양한 교육용 소프트웨어[4-6]로 존재하는데 이러한 기술은 에듀테크(Edutech)라는 형태로 주목 받고 있다[7]. 본 논문에서는 다양한 소프트웨어 중 아동의 접근성과 사용 환경에 제약이 가장 적은 스마트기기 애플리케이션을 개발하였다.

스마트기기의 교육적 활용을 살펴보면, 공간과 시간의 제약 없이 다양한 학습 기회를 제공할 수 있으며, 다양한 간접 체험을 할 수 있고, 상호작용이 가능하다는 장점이 있다[8]. 또한 집중 시간이 짧은 유아의 교육매체로 유아용 애플리케이션을 활용한 스마트기기가 적합하며[9], 미래세대의 디지털 격차를 방지하는 동시에 시각적 사고 등 특정 유형의 지능발달에 도움을 줄 수 있을 것이라는 선행연구가 있다[10]. 그러나 스마트기기가 우리 생활에 긍정적인 역할만 하는 것은 아니다. 아동들은 일상생활에서 자연스럽게 스마트기기를 접하게 되었고 스마트기기가 아동의 장난감이 되고 있다. 아동들이 사용하는 애플리케이션을 비롯한 다양한 콘텐츠들이 교육적 검증이나 규제 없이 무분별하게 제공되고 있어 아동의 발달이 제한적일 수 있고, 주의집중력결핍, 과몰입과 같은 문제점이 나타나고 있다. 아동의 무분별한 스마트기기 사용으로 인한 악영향을 막기 위해 스마트기기는 부수적인 장치로 사용되고 산수 교육용 블록놀이를 중심으로 학습이 이루어진다.

2015 개정교육과정의 초등수학 학년 군별 내용 요소에 따르면 초등 3~4학년에 세 자리 수의 덧셈과 뺄셈을 배운다. 따라서 유아기인 만 2세부터 초등 4학년까지를 주 사용대상으로 한다. 애플리케이션의 주 기능은 카메라를 이용한 촬영과 계산 값 확인이다. 아동이 산수 교육용 블록을 이용해 수학문제를 만든 뒤 카메라를 이용하여 산수교육용 블록을 촬영하면 자신이 만든 수학문제의 답을직접 확인할 수 있기 때문에 효과적으로 블록놀이를 통한 학습이 이루어진다. 이 학습을 통해 아동들의 학습경험을 형성하고 흥미를 유발하기 위한 학습 교구로써 수학학습 애플리케이션을 개발하였다.

2. 관련 애플리케이션

현재 출시되어있는 수학용 애플리케이션을 분석하고 시판되는 수학용 애플리케이션들의 한계점은 다음과 같다.

2.1 기존 수학 애플리케이션 분석

2.1.1 토도 수학

토도 수학은 미취학 아동부터 초등 2학년 수준의 수학을 공부할 수 있도록 디자인된 수학 애플리케이션이다[11]. 토도 수학은 미국의 표준 교육 과정인 Common Core State Standards를 중심으로 개발되었으며, 한국의 수학 교육과정도 참고 됐다. 수학의 핵심 기초 영역을 학습할 수 있도록 검증된 학습 기법에 기반을 두어 제작됐다. 게임 플레이와 그래픽을 통해 어린 학습자들이 흥미를 이끌고수 개념으로부터 도형에 이르기 까지 수학의 핵심적인 기초 개념들을 공고히 할 수 있도록 도와준다.

(그림 1) 토도 수학(Figure 1) Todo Math

2.1.2 수학이 야호

수학이 야호는 4세부터 초등학교 저학년 어린이 대상으로 숫자를 읽고 사용할 수 있도록 구성한 수학학습 프로그램이다[12].

생활 속 소재를 활용하여 수학 동화 애니메이션과 노래, 놀이 등을 구성함으로써 수학 개념을 놀이와 함께 자연스럽게 익힐 수 있도록 도와준다. 수학에 대한 흥미와 내적 동기를 길러주어 정답을 찾기까지의 창의적인 문제해결 과정을 체계화 시켜준다. 수학이 야호 애플리케이션은 EBS 방송 커리큘럼에 맞춰 매 호마다 기본 학습 표,야호의 칭찬 스티커, 나만의 수학놀이 등 아이들이 방송프로그램을 보며 수학을 배울 수 있도록 제작됐다.

(그림 2) 수학이 야호(Figure 2) Math is yaho

2.1.3 수학왕코코몽

수학왕코코몽은 어린이 및 유아별 능력에 맞추어 3단계로 구성되어있어 총 세 개의 애플리케이션이 시리즈로있다[13]. 1단계는 수 익히기 연습과 숫자와 친숙해지기, 2단계는 기본적인 수세기와 수의 순서 익히기, 사물의 크기와 길이, 양 비교하기, 3단계는 완결판으로 덧셈, 뺄셈으로 이루어져있다. 인기캐릭터인 코코몽을 사용하여 아이들의 흥미를 유발한다. 아이들 스스로 놀이를 통해 자연스럽게 수학을 익히도록 하여 자기주도 학습을 돕는다.

(그림 3) 수학왕코코몽(Figure 3) Cocomong the king of mathematics

2.1.4 깨비키즈

깨비키즈는 영,유아 어린이들을 대상으로 하고 있다[14]. 모바일 뿐만 아니라 PC와 태블릿에서도 제공이 된다. 모바일 애플리케이션에는 11개의 코너 (아가, 한글, 수학, 영어, 동요, 동화, 창의, 과학, 월드, 초등, 한자)가 있다. 이 중 수학부분은 수학의 기본개념과 사칙연산의 기초를 위한 학습콘텐츠로 이루어져있다.

(그림 4) 깨비키즈(Figure 4) Kebikids

2.1.5 한계점

네 개의 애플리케이션의 가장 큰 단점은 무료로 다운로드가 가능하지만 주요 기능이 모두 유료라는데 있다. 또한 모바일 게임을 통해 학습이 이루어지기 때문에 자칫하면 아이들의 학습동기가 게임이 될 수 있다. 수학왕코코몽과 수학이 야호 역시 인기 TV프로그램 캐릭터와 TV프로그램을 내세워 아이들의 흥미를 유발한다는 장점이 있지만 학습보다는 캐릭터나 TV프로그램에 초점을 맞춰질 수 있다는 단점이 있다. 문제를 풀면 나오는 만화를 보기 위해 학습을 한다거나 학습을 위해 스마트 기기, TV같은 디지털기기에 의존한다면 자기 통제력이 부족한 아이들이 영상미디어에 중독되는 역효과가 발생할 수도 있다. 학습을 위해 애플리케이션을 이용하는 것이 아니라애플리케이션을 이용한 놀이를 위해 학습을 한다면 중독현상 뿐만 아니라 게임과 같은 강한 자극 없이는 학습을기피하는 현상이 일어날 수 있다. 또한, 기존의 아동용 수학교육 애플리케이션에는 스마트기기를 제외한 현실의 수학교구나 카메라를 사용하는 학습 방법이 없기 때문에 실제 현실과는 단절 된 상태에서 학습이 진행된다.

반면에 본 애플리케이션은 아이들이 강한 자극이 없어도 능동적으로 학습할 수 있도록 흥미요소로 블록을 사용한다. 직접 손으로 블록을 만지면서 학습할 수 있고 애플리케이션은 양방향 소통이 가능한 연산이라는 주요 기능으로만 이루어지기 때문에 스마트폰 과의존도 예방할 수 있다.

2.1.6 모바일 기기를 이용한 수학 학습 관련 애플리케이션

[15]에서는 OCR를 이용하여 안드로이드에서 1차 방정식을 계산하여 미지수를 계산하는 방법을 제시하였다. 구글의 Tesseract을 이용하여 글자를 인식하였고 글자 크기가 작아질수록 인식률이 낮아지는 것을 확인하였다. 숫자‘0’과 알파벳 ‘o’, 숫자 3과 숫자 8을 서로 잘못 인식하기도 하였다.

[16][17]에서는 수학을 가르치고 학습하기 위해 다양한 모바일 기기를 이용하여 서로 다른 수학적 컨셉을 다루는 수학용 앱을 제시하였다. 이 중에 PhotoMath[17]는 카메라로 방정식을 촬영하면 분수로 된 문제도 미지수 값을 계산하는 무료애플리키에션이다. 프린트된 숫자와 글자를 인식하도록 되어 있어서 본 논문에서 제시한 숫자 블록은 인식하지 못한다.

3. 설계 및 구현

본 장에서는 관련 애플리케이션의 한계점을 보완한 아동용 수학교육 애플리케이션을 설계하고 구현에 대하여 설명한다.

3.1 설계

카메라에서 찍은 이미지를 미리 학습시킨 trained data와 비교하여 OCR과정을 거친 후 data를 받아 Calculation을 통해 계산식과 그 값을 CameraView에 보여준다. 프로세스의 흐름도는 그림 5와 같다.

OTJBCD_2019_v20n4_29_f0005.png 이미지

(그림 5) 프로세스 흐름도(Figure 5) Process flow chart

삼성 갤럭시 J5 5.1.1버전 LED플래시를 갖춘 1300만화소 후면카메라를 사용하였다.

Android Studio를 사용하며 영상 처리는 OpenCV 라이브러리와 문자인식을 위해서 Tesseract-OCR의 tess-two 6.3.0 라이브러리를 사용하였다.

3.2 구현

블록의 색깔에 상관없이 수학계산을 하기 위해서는 흑백으로 영상을 처리하였다. Android Studio에 OpenCV를 연동한 기본 알고리즘으로 이미지를 흑백모델로 변환 후카메라에 흑백으로 나타나게 한다.

OpenCV로 카메라 전체 영상을 흑백으로 처리하게 되면 노이즈가 많으므로 ROI(Region of interest)를 설정하였다.

3.2.1 ROI 설정 및 흑백 전환

OpenCV로 화면의 전체를 흑백으로 처리하는 과정에서 생긴 문제점을 보완하기 위해 ROI를 설정하여 관심영역을 추출하였다. 관심 영역의 범위는 화면 전체가 아닌 일부를 추출하여 나타낸다. 사용자가 관심 영역의 위치를 찾는 것에 어려움을 느끼지 않도록 영역 구분선을 특정한 색깔로 표시하여 구현하였다. 색상 변환은 그림 6과 그림 7과 같다. ROI 영역 흑백 처리를 위해 OpenCV컬러변환 함수 cvtColor를 사용하였다. 또한, 애플리케이션을 구동할 때 회전에 따른 화면의 요소들이 함께 회전하지 않을 시에 사용에 불편함이 있다. 스마트폰을 회전하지 않았을 때와 90°, 180°, 270°로 회전을 하였을 때 계산 값을 나타내는 텍스트, 인식을 시작하는 버튼, 캡쳐한이미지를 보여주는 ROI영역 등 방향센서 값에 따라 회전하도록 구현하였다.

OTJBCD_2019_v20n4_29_f0006.png 이미지

(그림 6) 색상 변환 전 화면(Figure 6) Screenshot before color conversion

OTJBCD_2019_v20n4_29_f0007.png 이미지

(그림 7) 색상 변환 후 화면(Figure 7) Screenshot after color conversion

3.2.2 Traineddata

애플리케이션에서 인식하고자 하는 문자나 기호를jTess Box Editor 프로그램이나 명령프롬프트 창으로 생성한 데이터로 Tesseract-OCR을 통해 사진을 찍은 이미지와 비교하여 인식하도록 하는 사전에 학습된 데이터이다.

3.2.3 Tesseract-OCR 인식

ROI영역에 표시된 이미지를 Tesseract-OCR의 tess-two 6.3.0 라이브러리를 사용하여 인식을 하기 위해서는 미리학습된 traineddata 파일의 경로를 찾고 스마트폰 기기에 인식할 파일을 복사하여 저장한 후 처리해야 한다. traineddata의 언어를 kor이나 eng로 설정한 후 copyFiles() 함수를 생성하여 AssetManager를 통해 Android Studio 프로그램에서 assets폴더에 넣었던 tessdata를 기기에 복사한다. 마지막으로 카메라로 인식하여 Capture한 이미지를Bitmap으로 받아온 후 Tesseract-OCR 라이브러리를 실행시켜 Image-Processing을 실행시킨다.

3.2.4 Tesseract-OCR 학습방법 개선

숫자블록을 인식하는 과정에서 학습시킨 글자의 폰트만 인식하는 문제점을 해결하기 위해 사용할 숫자블록의 이미지를 직접 학습시켰으나 jTessBoxEditor에서 box파일을 만드는 과정에서 색상에 따라 학습이 진행되지 않는 경우가 발생하였다. 색이 어두워질수록 학습 성공률이 높아진다는 점을 인지하고 이미지의 색들을 검은색으로 통일하였다. 이를 위해 그림판에서 별도의 색 변경 작업 과정을 거쳤다. 색 변환 과정은 그림 9과 그림 10와 같다.

그림판으로 포토샵 과정을 거친 후 파일을 tif로 저장하였다. 또한 이미지의 저장경로를 찾아 명령프롬프트 창을 열어 애플리케이션에서 인식할 언어를 생성하였다. 언어를 만드는 과정은 다음과 같이 명령프롬프트 창에서 일련의 과정을 거쳤다. 첫 번째, tesseract.exe 프로그램을 실행시켜 tif파일을 열고 box파일을 만든 후 box파일을jTess Box Editor로 실행시켜 margin, char, box의 좌표, 크기, 넓이 등을 수정한다. jTessBoxEditor 실행화면은 그림 11과 같다. 두 번째, 만들어진 box파일을 tesseract.exe 프로그램에 학습시킨다. 세 번째, unicharset 파일을 생성한 후 shapeclustering 명령어를 사용하여 font_properties 파일의 속성을 가져와서 확장된 unicharset를 만든다. 네 번째, mftraining, cntraining 명령어로 inttemp, shapetable, pffmtable, normproto 파일을 생성한다. 마지막으로 생성한 파일의 이름 앞에 만들 언어의 이름을 넣어 주고, combine하여 trained data를 생성한다.

(그림 9) 원 이미지(Figure 9) Raw Image

OTJBCD_2019_v20n4_29_f0009.png 이미지

(그림 10) 흑백 변환 후 이미지(Figure 10) Image after converting black and white

(그림 11) jTessBoxEditor 화면(Figure 11) Screenshot 

(그림 12) 실행화면(Figure 12) Application screenshot

3.2.5 수식계산

Tesseract-OCR 라이브러리로 Image-Processing한 숫자와 특수기호들을 인식하여 각각

식을 계산하였다. 각각의 계산식들은 String형식인 str로 받아온다. StringTokenizer 생성자를 사용하여 숫자와 특수기호를 분리해주고, 단일 계산식은 덧셈, 뺄셈, 곱셈,나눗셈에 맞게 계산 값을 구해준다. 또한, 복합계산은 Stack을 사용하여 숫자와 특수기호를 저장한 후 후입선출로 우선순위를 검사하여 우선순위가 높은 곱셈과 나눗셈이 나온다면 pop으로 기호와 숫자를 꺼내고 계산 후 push로 저장하고 마지막 계산식을 완료하면 return하도록 하였고, 만약 우선순위가 낮은 덧셈과 뺄셈의 차례가 되었다면 nextToken으로 넘어가도록 하였다.

4. 실험 및 결과

먼저 사용자가 ‘사진을 찍어보세요!’ 버튼을 눌러 후면의 카메라에 접근하도록 해준다. 지정해 놓은 ROI 영역에 맞추어 ‘눌러보세요!’ 버튼을 눌러 촬영하게 되면, OCR을 통해 이미지 처리과정을 거쳐 계산하기 위해 필요한 숫자와 기호를 인식한다. 인식한 숫자와 기호를 ROI영역 위쪽에 표시하고, 그 식 옆에 계산한 값을 출력한다. 또한 ROI 영역 안에는 캡처한 이미지를 표시한다. 다른 계산식을 계산하고 싶다면 retry 버튼을 눌러서 카메라로 ROI 영역에 맞추어 다시 촬영을 한다. 실행화면은 그림12과 같다.

4.2 실험

4.2.1 블록 기울기 변화에 따른 인식

블록의 기울기 변화에 따른 인식을 실험하였다. 첫 번째, 각도가 0°일 때 즉, 블록을 똑바로 놓은 상태에서 인식률을 측정한 결과, 90% 이상의 높은 인식률을 보였다. 두 번째, 좌측으로 2° 씩 회전시키면서 블록의 인식률을 측정한 결과, 4° 에서 10° 각도까지는 각도가 0° 일 때보다는 인식률이 다소 감소하였으나 여전히 높은 인식률을 보였다. 세 번째, 우측으로 2° 씩 회전시키면서 블록의 인식률을 측정한 결과, 4° 에서 22° 까지 회전 각도가 커질수록 인식률이 감소하였으나 여전히 높은 인식률을 보였다. 블록의 좌측 회전과 우측 회전을 비교했을 때 우측 회전이 좌측 회전보다 인식률이 높았다. 좌측으로 12° 이상 회전할 경우 블록 인식이 되지 않거나 숫자 블록 4를 6으로 인식하는 현상이 발생하였다. 또한, 우측으로 24° 이상 회전할 경우 블록 인식이 되지 않거나 촬영한 숫자 블록4를 3으로 인식하는 현상이 발생하였다. 블록 기울기에 따른 인식결과는 표 1과 같다.

(표 1) 블록 기울기 변화에 따른 인식 결과(Table 1) Recognition with block slope change results

OTJBCD_2019_v20n4_29_t0001.png 이미지

4.2.2 카메라 촬영 각도 변화에 따른 인식

카메라 촬영 각도 변화에 따른 인식을 실험하였다. 첫 번째, 90° 각도 즉, 지면과 카메라가 평행 상태에 놓였을 때 인식한 결과 91%의 높은 인식률을 보였다. 두 번째, 10& deg; 각도씩 감소시켜 인식했을 때 90° 각도에서의 인식률보다 감소하지만 해당 블록의 숫자로 인식이 되는 것을 보여준다. 그러나 그 이하의 각도로 감소하였을 때 인식되지 않는다. 카메라 촬영 각도 변화에 따른 인식 결과는 표 2와 같다.

(표 2) 카메라 촬영 각도 변화에 따른 인식 결과(Figure 2) Recognition with Camera taking a pictureangle change results

OTJBCD_2019_v20n4_29_t0002.png 이미지

4.2.3 촬영 밝기 변화에 따른 인식결과

촬영 밝기 변화에 따른 인식을 실험하였다. 첫 번째,표 3과 같이 한국 표준 조도에서 보름달이 비추는 밝기인 5Lux이하에서 실험을 하였을 때 블록 인식이 되지 않는다. 또한 7Lux에서 22Lux까지의 밝기로 촬영하였을 때인식이 안되거나 촬영한 숫자 블록 6을 0으로 인식하는 것을 보여준다. 두 번째, 10W 전구 식 형광등 1개의 밝기인 70Lux 보다 못 미치는 30Lux에서 그 이상인 88 Lux까지 인식이 되는 것을 보여준다. 세 번째, 15W 전구 식 형광등 1개의 밝기 100Lux와 20W 전구 식 형광등 1개의 밝기 150Lux이상의 수치인 112Lux에서 185Lux까지 90%의 인식률을 보인다. 그 이상의 수치인 509Lux부터 빛 반사현상이 없는 한 인식이 가능하다. 촬영 밝기 변화에 따른 인식결과는 표 4와 같다.

(표 3) 한국 표준 조도[18](Table 3) Korean Standard Illumination

OTJBCD_2019_v20n4_29_t0003.png 이미지

(표 4) 촬영 밝기에 따른 인식 결과(Table 4) Recognition with taking a picture brightnesschange results

OTJBCD_2019_v20n4_29_t0004.png 이미지

4.2.4 그림자 변화에 따른 인식

애플리케이션에서 블록의 밝기에 영향을 받아 생기는 그림자 변화에 따른 인식을 실험하였다. 첫 번째, 그림자가 없을 때 인식률은 90%이상의 높은 인식률을 보여주었다. 또한 그림자의 길이가 0.1cm일 때 해당 블록의 숫자로 인식이 가능하다. 두 번째 0.2cm 이상의 그림자가 생성되었을 때 인식이 되지 않거나 촬영한 숫자 블록 6을0으로 인식하는 현상이 발생하였다. 그림자 변화에 따른 인식은 그림 13와 같다.

4.2.5 곱셈 기호와 나눗셈 기호 인식

Tesseract-OCR 인식 개선을 통해 이미지를 가져와서 그림판으로 수정 후 인식률을 높였음에도 불구하고 곱셈 블록과 나눗셈의 블록을 인식하지 못하였다. 그래서 인식률을 높이기 위해 시중에서 판매하는 블록의 곱셈과 나눗셈을 이용하지 않고 따로 제작하여 인식률을 높였다. 제작을 통해 곱셈 블록과 나눗셈 블록의 인식률은 처음의 인식률보다 높아졌으나 나눗셈 블록의 경우 인식률은 50%이다. 나눗셈 블록의 인식률이 낮은 이유를 원 두 개와 직선 하나가 합쳐져서 만들어지므로 원과 직선의 각도, 간격 등이 다르면 인식 여부가 달라짐에 있다고 보았다. 그러므로 나눗셈 계산식을 실행시킬 때는 각도, 숫자와 블록의 간격, 밝기, 그림자 조건을 다 맞추어 실행시켜야 한다.

OTJBCD_2019_v20n4_29_f0012.png 이미지

(그림 13) 그림자 길이에 따른 인식 결과(Figure 13) recognition results by shadow length

4.2.6 배경색에 따른 인식

블록을 놓는 배경의 배경색에 따른 인식을 실험하였다. 첫 번째, 흰색 바탕 무광지 종이를 깔고 애플리케이션을 실행하였을 때 인식률은 약 90%의 인식률을 보여준다. 또한 화이트보드에서 촬영하였을 때 흰색 바탕 무광지의 인식률과 비슷하다. 그러나 다른 색 바탕의 무광지 종이들을 이용하여 애플리케이션을 실행하였을 때 애플리케이션이 중단되는 현상이 발생하여 인식을 하지 못한다.

4.2.7 전체 블록 인식 실험 및 결과 분석

애플리케이션에서 이용하는 각각의 블록에 따른 인식률을 실험하였다. 실험 결과 전체 블록의 평균 인식률은 80.7%를 나타낸다. 전체 블록 인식률은 표 5와 같다.

본 장에서는 블록마다 인식률이 다르게 나타나고 인식이 안 되는 경우가 발생하는 원인을 Tesseract-OCR 인식 방법에 있다고 보았다. Tesseract는 오프라인 문자인식 기법으로 입력된 이미지의 특징점을 추출하고 그 특징점을 이용하여 문자를 인식한다[19]. 문자의 특징점을 추출하는 방법은 원래의 이미지에 아웃라인을 생성한 후에 방향성을 정하고 방향성에 따라 다각형에 근접하게 추출하게 된다. 특징점이 추출된 후 Tesseract 데이터베이스 검색을 통하여 특징점이 비슷한 문자들과의 템플릿 매칭을 통해 특징점과 원본 이미지와의 오차율이 가장 낮은 문자를 선택하게 된다. 때문에 밝기나 그림자 등의 영향을 받게 되면 촬영 된 블록과 학습 된 블록과의 오차율이 높아지므로 비교적 오차율이 낮은 다른 블록으로 인식이되거나 아예 인식이 되지 않는 문제점이 나타난다.

(표 5) 인식률(Table 5) Recognition rate

5. 결론 향후연구과제

본 논문에서는 OCR 기술을 이용하여 애플리케이션과 블록을 이용하여 블록의 문자를 인식하고 문자에서 숫자와 연산자를 구분해 사칙연산 수식을 계산하는 안드로이드 기반 모바일 애플리케이션을 개발하였다. 이미지에서 텍스트를 추출하기 위해 오픈 소스 OCR 엔진인 Tesseract를 사용하였다. 애플리케이션을 실행하고 아동이 블록으로 만든 수식을 촬영하면 계산 결과를 바로 확인이 가능하다. 아동은 놀이를 통해 수학을 접하고 타인의 도움이 없이도 수식 계산 값을 알 수 있다. 스마트기기와 학습자가 상호작용이 가능하므로 기존 일방향적인 아동교육용 애플리케이션과는 차별화된다. 애플리케이션뿐만 아니라실제 산수 교육용 블록을 함께 이용하여 실세계정보를소프트웨어와 연결시키기 때문에 아동의 흥미유발과 스마트기기 과몰입 현상 방지도 가능할 것으로 보인다. 숫자와 연산자 블록에 따라 인식률이 다르기 때문에 일부 수식의 경우 정확히 인식이 되지 않는 경우가 있었다.

기존 문자 학습방법인 Tesseract 데이터베이스 검색을 통한 템플릿 매칭 방법을 개선하거나 문자 인식에 최적화된 블록 제작 등 인식률을 높이기 위해 여러 방면으로 접근하여 인식률을 높이고 더 정확한 계산 값을 출력할 수 있도록 개선해야 한다. 향후 딥러닝을 이용하여 더 많은 글자를 인식 가능하도록 개발하여 개인의 필기체 인식을 통해 학교나 연구소등 다양한 연령대와 다양한 장소에서 활용이 가능하도록 확장할 수 있다.

References

  1. Kyung-min Shin, Effects of Learning Mathematics with Games on Children's Mathematical Attitudes, Graduate School of Education, Seoul National University of Education, 2001. http://www.riss.kr/link?id=T8064816
  2. Ji-Eun Shim, effects of mathematic activity using game tool on the development of child's mathematic ability, Pai Chai University Graduate school, 2008. http://pcu.dcollection.net/public_resource/pdf/000000341088_20190102180242.pdf
  3. Sook-Hyun Son, The Influence of club activities on students' mathematical propensity and their ability to learn shapes, Daegu National University of Education, 2002. http://www.riss.kr/link?id=T8354937
  4. doazoom (1:1 Online study habit training service). https://doazoom.com/
  5. Dlab (SW, HW, Providing 3D printing converged coding training). http://www.daddyslab.com/
  6. classting (Training social networks). https://ko-kr.classting.com/
  7. "The Revolution of Education! What is 'EduTech' for the Future?", public blog of Han-wha life. http://www.lifentalk.com/1820.
  8. Tae-Gyeong Hwang, The use of smart device and the relationships of immersion tendency to self-control and prosocial behavior of preschoolers, Graduate School of Education, Silla University, 2013 http://www.riss.kr/link?id=T13318756
  9. Joo-Yeon Lee, A Survey on the Awareness of the Smartphone App for Early Childhood Education : A Study on the Perception of Parents by the Behavioral Pattern of the child, Kyung Hee University Graduate School of Business Administration, 2011. http://www.riss.kr/link?id=T12321488
  10. Byung-Ho Lee, "An Exploratory Study on Early Childhood Smart Device Usage at Home," Journal of Early Childhood Education, 16, 6, 511-533, 2012. http://210.101.116.28/W_files/kiss5/29001197_pv.pdf
  11. Todo Math https://itunes.apple.com/kr/app/토도수학
  12. Math is yaho https://itunes.apple.com/kr/app/공식-ebs-수학이야호
  13. Cocomong the king of mathematics, https://itunes.apple.com/kr/app/수학왕코코몽
  14. Kebikids https://itunes.apple.com/kr/app/깨비키즈
  15. Chavan, Amey, and Asad Naik. "Linear equation solver in Android using OCR," vol 3, 42-44, 2013. http://iosrjen.org/Papers/vol3_issue5%20(part-1)/H03514244.pdf https://doi.org/10.9790/3021-03514244
  16. Sayed, Fayez. "Mathematics and Mobile Learning," International Association for Development of the Information Society, 2015. https://files.eric.ed.gov/fulltext/ED562425.pdf
  17. Webel, Corey, and Samuel Otten. "PHOTOMATH" MATHEMATICS TEACHER 109.5, 2015. https://math.knue.ac.kr/book.brd/_42.1579.15748653/mt2015-12-368a.pdf
  18. Korean Standard Illumination https://mnews.joins.com/article/16695597
  19. Tesseract-OCR Recognition Method http://jinseongsoft.tistory.com/m/41