데이터 분석 프로젝트

[개인 프로젝트] 알파벳 필기 인식 프로젝트

  • -
728x90
반응형

📚 알파벳 필기 인식 프로젝트

📌 프로젝트 개요 

수행 기간  2020.11 - 2020.12
사용 데이터  30*30 px 필기 이미지 데이터 제작 (125장)
내용  직접 30*30 픽셀의 이미지에 필기 데이터를 제작하고,
이를 활용한 알파벳 필기 인식 프로그램을 구축하여 이미지에 작성된 알파벳을 예측
성과 전공 학부 ‘전산수학’ A+ 학점

처음으로 머신러닝과 딥러닝을 구현해본 프로젝트다.

개인 프로젝트였기에 데이터 생성과 정제,
학습과 성능 평가까지 데이터 분석 프로젝트에서 수행하는 모든 과정을 직접 구현했으며,
이 프로젝트를 계기로 빅데이터 분석학을 연계전공했다.

보다 간단한 프로젝트지만, 진로 결정에 큰 영향을 미쳤음에 의의를 두며 다음은 프로젝트 보고서다.


📑 프로젝트 보고서

1. Make Data File

1) 직접 알파벳 5개에 대한 필기 데이터를 만든다.

  • 본인 이름에 들어가는 알파벳 5개를 중복이 없도록 선택한다. (예: EUNWOO -> E, U, N, W, O 선택)
  • 그림판을 이용하여 30*30 pixel로 각 알파벳마다 25개의 이미지를 생성하고 (총 125개 파일 생성) data1.png ~ data125.png로 이름을 저장한다.


2. Coding

1) 변수 생성

  • 반복문으로 각 데이터 파일을 array 변수 x로 불러오기 (즉, x의 shape은 (125, 900))
  • x의 각 data에 대응하는 알파벳 값(A=1, B=2, C=3, D=4,...)을 저장한 label data(변수 t)를 생성한 뒤
    x와 t를 input.npz 파일에 저장함

2) 머신러닝 프로그램을 알파벳 데이터에 맞게 수정하기

  • 은닉층 변수 개수는 40개로 선정
  • 출력층 변수는 모든 알파벳 갯수 26으로 선정.
  • eta와 초기값, 반복횟수는 적절히 조정함.


3. Test

1) 머신러닝 프로그램을 사용하여 새 데이터로 테스트

  • 머신러닝 학습 후 데이터를 learning.npz에 저장.
  • 선택한 알파벳에 대하여 각각 테스트 데이터를 추가로 만듬. (test1.png~test5.png)
  • 예측결과와 원본 알파벳을 비교.


4. How/Where to Use

방안 내용 문제점
1 스마트 패드의 메모 기능과 접목해,
사람의 필기를 텍스트로 바꾸어주는 기능 개발.
사람마다 필기체가 달라서 필기 인식 오류가 많을 것으로 예상된다. 또한 다국어적용으로 세계에서 이용되기까지 오랜 시간이 소요될 것으로 예상된다.
2 프로그램은 모든 사람에게 같은 글씨체를 보여주고, 사람들은 프로그램에게 개인의 글씨체를 제공하여 개인 잠금 장치로 이용.
개인 업무 보안, 은행 보안 등에서 어떤 단어를 입력하여 잠금을 해제하는 기능 개발.
사람의 글씨체가 같을 때, 보안이 뚫리는 문제가 발생하게 된다. 한 사람이 여러 개의 글씨체를 배웠을 때도 비슷한 문제가 발생할 수 있다. 또한 프로그램 상의 에러가 발생하면 보안 해킹의 위험성도 배제할 수 없다.
3 텍스트, 문장 찾기 기능으로 이용.
사용자가 직접 작성해둔 필기파일에서 찾을 텍스트나 문장을 입력하면 해당 내용이 있는 페이지로 이동하는 기능 개발.
적용할 수 있는 언어의 개수가 많아지면 생길 수 있는 오류도 많아진다.

 


5. 데이터 파일 및 코드 구현 (깃허브 링크)

 

personal_mini_project/2020_알파벳필기인식 at main · osoomin1503/personal_mini_project

개인적으로 진행한 미니 프로젝트들 업로드 공간. Contribute to osoomin1503/personal_mini_project development by creating an account on GitHub.

github.com

320x100
728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.