게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
어제 답변 받은 내용 간단하게 적어 봅니다 (tesseract, OCR)
게시물ID : programmer_20132짧은주소 복사하기
작성자 : GoToTheMoon
추천 : 1
조회수 : 3116회
댓글수 : 0개
등록시간 : 2017/03/30 15:28:11
서론
필기 인식을 하기 위해서 남긴 질문에

Q. 필기 인식에 관련한 API 는 없을까요?
A. OCR 방식 또는 머신러닝에 넣을 문자데이터셋을 찾아서 해보세요.

라는 답변을 얻고 OCR 관련 찾아본 내용을 오유에 남겨둠.



본론(간단한 조사 및 사용경험에 대한 내용)

tesseract-ocr 라는 오픈소스 OCR을 찾게 됨. :: 구글에서 지원? 하는 대규모 오픈소스.
설치및 사용에는 3.05 버전을 사용하려고 함. (2.xx, 4.00 버전등의 상/하위 버전이 존재하며, 3.04,3.05가 안정적인 버젼인것으로 보임.)
설치후, 문제는 기본언어외의 언어팩을 설치파일에서 추가 할 경우 에러가 발생함. 이른 추가적인 언어의 설치파일이 4.00 버젼의 것을 받아오기 때문에 (설치 과정중에 네트워크를 통한 추가언어를 가져오기 때문) 이 문제는 해당 언어 훈련팩 (TrainedData) 을 따로 받아 프로그램의 폴더에 넣어야 함.
 Tesseract 깃저장소
 Tesseract 훈련팩

설치 후, 몇몇 간단한 소스를 테스트 및 기본적인 조사 (구글링) 하면서 알게 된 것들
1. 사진 통째로 넣어도 인식함. (폭넓은 입력)
2. 다양한 언어, 기호로 사용가능 (영어부터 한글,한자 및 숫자기호등 다양한 출력형태)
3. 단일문자,단어처리도 가능. (추가적인 입력변수등으로) 
4. 출력단어의 유형이 많을수록, 인식률이 저하. (한국어, 한자 같은 언어가 이에 해당) 
5. 상용프로그램에 비해 낮은 인식률 (4번의 영향이 매우 큰것으로 추정)
6. 낮은 인식률에 대해서는 이미지보정 + 경험적&보정 적인 방법을 사용하면 상용프로그램을 이길 수 있음. 


OCR 방식 기본이론
원래는 스캔 (스캐너) 에 이용되는 방식을 이용해 (TIFF 형식의 파일들) 그 양식을 문자로 치환하는 방식이나 알고리즘
예전에는 바이너리파일형식 (2진데이터) 뿐이었기 때문에, 이를 문자로 치환 하는 방법.

가장 실제적인 례로 슈퍼, 편의점의 제품인식용 바코드기기가 가장 기본적인 OCR 하드웨어
원리상의 이론은 QR 코드도 거의 같은 것으로 생각됨.
바코드 기기는 1차원배열 (선의 굵기와 간격, 갯수조합) 로 소프트웨어에서 출력
QR 코드는 2차원배열을 감식함에 있어, 대상의 정보를 기준점 (3개의 큰 기둥점) 과 그 내부정보를 입력받아, 소프트웨어에서 출력
 3개의 기둥은 회전된 경우를 알아보기 위함이고, 내부의 도트들의 위치에 따라 정보를 표시하는것으로 추정된다.

Tesseract 는 이러한 OCR기기에 있어서 소프트웨어 처리부분에 해당된다고 보여진다.
tesseract 의 특징은
 - 수평입력 (qr코드와 같은 회전된 경우에 대한 판정 X)
 - 다양한 언어에 맞춰, 해당 훈련팩을 교체하면 된다. (숫자, 영어, 한글 등등 100여 가지의 훈련팩 존재) 


결과
 본인은 처음에 필기 (혹은 간단한 스캐치) 를 통해서 어떤 유형인지를 판단하기 위한 정도의 수준을 구현하기 위함이었으나, 그 기능 이상의 것들을 쉽게 제공하는 듯 하다.

 tesseract 를 이용해서 필기를 인식 가능한가? 라는 부분에서 결과적으로 yes.
but, 만약 사용자 유형의 스캐치 (ex ┘, ┐,┌ 등의 기호) 를 얻고자 한다면, 해당 훈련팩을 제작하여 사용해야 한다.
 이는 곧 제스처 입력 (ex 터치스크린 상에서의 처음 접촉 위치에서 드래그되고 떼어낸 위치 까지의 순서경로정보) 에 대한 프로그램 독자유형을 제작할수 있다고 보여진다. 이것은 기본적인 모션인식 기술의 부분이라고 보여진다.) 

 추가적으로 생각된 한글의 입력에 있어서, 한글의 경우 조합형 언어이기 때문에, 글자를 적더라도 한획이 추가될때 마다 다른 글자로 바뀌는 유연성이 타 언어 보다 매우 크다. (그에 따른 혼동도 존재.) 만약 한글필기인식 + OCR 을 사용함에 있어서는 특별한 보정기법을 사용해야 할것으로 생각된다.
 상용 제품(스마트폰) 에는 어느정도 고안된 방법들이 사용되어야 하지만, 실제로는 화면상의 그림을 그대로 문자와 대조-인식하는 OCR 의 기본기법만이 그대로 적용된 것으로 보이지만, 그래도 꽤 괜찮은 수준으로 보인다. 네이버한자검색등의 필기검색은, 한자 찾기가 매우 수월해 보이기도 한다.

 그러나, 필기는 본 의미는 검색용 임시조각이 아니라 말 그대로 "필기" 이다. 필기의 완성은 그것을 필기하고, 다른 사람들이 모두 똑같이 인식되는것으로 바꿔주는 것 (OCR기기의 인식으로 표현하고자 하는 대상의 행동수행) 이 가장 기본적인 목적이라고 생각한다. 

 이 표현에 있어서 독자적인 표현 (중2병문자 인식) 도 가능하기 때문에, 넓은 분야에서 이 기법(도구) 는 즉시 활용 할 가치가 높은것으로 생각된다.


이상으로 답변 받은 내용에 대한 짧은 조사내용와 개인적인 의견을 남기는 걸로 질문답변에 대한 감사를 표합니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호