Skip to content

limjustin/Handwriting_Correction_Website

 
 

Repository files navigation

Introduction

2020년 제 14회 공개 SW 개발자 대회 참여 프로젝트

https://www.oss.kr/dev_competition

손글씨 교정 웹사이트(Hand-Writing Correction Website)

https://github.com/jiminAn/hand_writing_correction_website


Role

팀원 역할 책임
daehoon12(강대훈) PM 👑, 서브 코더 프로젝트와 관련된 모든 활동 담당 및 관리, 데이터 추출 및 저장 관련 코더
jiminAn(안지민) 메인 코더 AI모델 개발의 메인 코더
Rudy-009(이승준) 테스트 담당자, 서브 코더 AI 프로그램 개발의 서브 코더 및 테스트 실행 및 관리
limjustin(임재영) 웹 디자인 및 설계 Full Stack Development (HTML, CSS, Server)
sja3410(안선정) 데이터 관리자, 서브 코더 프로젝트에 필요한 데이터 수집 및 관리, 데이터 추출 및 저장 관련 코더

Stack

  • Model : tensorflow, keras, Python

  • Web : Node.js, css, javascript, HTML

  • Data : OpenCV, Python


Procedure

  1. EMNIST 기반의 데이터를 CNN 모델로 학습시킨다.

  2. 웹에 구현된 원고지에 글씨를 쓴다.

  3. OpenCV로 쓴 글씨를 인식해 이미지로 저장한다.

  4. 모델이 글씨를 인식하고 글꼴을 선택한다.

  5. 글꼴에 맞춰 글씨를 쓴다.


Model

image-20200930195006846

Hyperparameters

  • Batch Size = 32

  • Epoch = 50

  • Optimizer = adam

  • Loss Function = categorical_crossentropy


Website

Initial Page

web1


Main Page

web2

  • 사용자는 캔버스 위에 자신의 손글씨를 작성

web3

  • 손글씨를 작성한 후, Download 버튼을 누르고 원하는 글씨체를 선택

downloadfile

  • 사용자는 자신이 쓴 손글씨를 직접 다운로드 가능

Practice Page

web4

  • 사용자가 선택한 글씨체 중 하나를 골라서 오른쪽 캔버스에 가이드 글씨로 표시

web5

  • 색깔, 굵기를 조절하여 직접 가이드 글씨 위에 손글씨 작성 가능

resultweb

  • 사용자가 작성한 손글씨 직접 다운로드 가능

Website Demo Video

: 아래 사진을 클릭하면 유트브에서 시연영상을 확인할 수 있습니다
시연영상

Documentation

문서 정리


20200810 글자 추출 코드 작성 (Ver 1.0) , 강대훈
20200814 글자 유사도 비교 코드 작성(Ver 1.0), 안지민&이승준
20200816 로컬이미지로 학습 데이터 셋 만들기(Ver 1.0), 안지민
20200817 폰트별 알파벳 이미지 추출 (Ver 1.0), 강대훈
20200818 폰트별 알파벳 이미지 추출 (Ver 1.1, 소문자 추출 추가) , 강대훈
20200818 생성된 데이터 셋으로 훈련하기(Ver 1.0), 안지민
20200818 생성된 모델로 테스트하기(Ver 1.0), 안지민
20200822 생성된 모델로 테스트하기(Ver 1.1, Dataization 반환값 수정), 안지민
20200823 과적합 진단을 위한 모델 학습과정 그래프그리기(Ver 1.0), 안지민
20200825 정확도 문제로 인해 기존 데이터를 EMNIST 데이터로 변경, 강대훈
20200826 mnist(숫자),emnist(알파벳) 데이터를 이용한 cnn 코드 (Ver 1.0), 안지민
20200826 훈련된 모델을 로드하여 그림판으로 입력값을 넣어 숫자,알파벳 예측 (Ver 1.0), 안지민
20200827 연속된 알파벳을 크롭하여 문자 하나하나 분리하는 코드(Ver 1.0), 안선정
20200827 크롭한 문자 수만큼 모델은 로드하여 알파벳을 예측하는 코드(Ver 1.0), 안선정
20200829 emnist(알파벳) 데이터를 이용한 cnn 코드 에포크 10->100, 성능 93->98% 증가 (Ver 1.1), 안지민
20200902 웹사이트 최종본 완성 (Ver 1.1), 강대훈&안지민&이승준&안선정&임재영

About

Keras를 활용한 손글씨 교정 사이트 (‘20 제 14회 공개 SW 개발자 대회)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 63.5%
  • Python 18.1%
  • JavaScript 8.5%
  • HTML 6.9%
  • SCSS 1.5%
  • CSS 1.5%