티스토리 뷰

생활/주절주절

ocr 부터 captcha 까지...

Jaeyeon Baek 2016. 5. 17. 10:57

ocr 부터 captcha 까지...

orc 아니다 (..)


2단계 인증을 위해 통상 사용되는 그림 문자를 입력 할 수 있는 폼을 개발하고자 했다.

웹 개발자가 아니다 보니 어디부터 시작해야 하는지, 검색어는 무엇으로 해야 하는지 무지했다.


우연치 않게 알게 된 검색어는 ocr

검색을 진행하다 보니 뭔가.. 닭 잡는데 소 잡는 칼 쓰는 느낌...?

인공지능이.. 학습을 어쩌고.. 구글에서 인수를 했고.. 음? 

절대 컴파일이며 인식이 잘 되지 않아서 그런 것은 아니고..

여하튼.

OCR

광학 문자 인식(Optical character recognition; OCR)은 사람이 쓰거나 기계로 인쇄한 문자의 영상을 이미지 스캐너로 획득하여 기계가 읽을 수 있는 문자로 변환하는 것이다.


이미지 스캔으로 얻을 수 있는 문서의 활자 영상을 컴퓨터가 편집 가능한 문자코드 등의 형식으로 변환하는 소프트웨어로써 일반적으로 OCR이라고 하며, OCR은 인공지능이나 기계 시각(machine vision)의 연구분야로 시작되었다.


거울이나 렌즈 등의 광학 기술을 이용한 광학 문자 인식과 스캐너 및 알고리즘에 의한 디지털 문자 인식은 다른 영역으로 생각되었으나 이제는 광학 문자 인식이라는 말이 디지털 문자 인식을 포함하는 것으로 간주되었다.


초기 시스템은 특정한 서체를 읽기 위해 미리 해당 서체의 샘플을 읽는 것을 뜻하는 "트레이닝"이 필요했지만, 지금은 대부분의 서체를 높은 확률로 변환이 가능하다. 몇몇 시스템에서는 읽어들인 이미지에서 그것과 거의 일치하는 워드 프로세서 파일과 같은 문서 포맷으로 된 출력 파일을 생성할 수 있으며, 그 중에는 이미지처럼 문서 이외의 부분이 포함되어있어도 제대로 인식하는 것도 있다.


하고자 하는 것과는 의미가 조금 다르다.


그저 이런 것을 원한 것인데...


그래서 더 찾아본 결과 그림 문자와 연관 된 검색어는 captcha

CAPTCHA

CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart, 완전 자동화된 사람과 컴퓨터 판별,캡차)는 HIP(Human Interaction Proof) 기술의 일종으로, 어떠한 사용자가 실제 사람인지 컴퓨터 프로그램인지를 구별하기 위해 사용되는 방법이다. 사람은 구별할 수 있지만 컴퓨터는 구별하기 힘들게 의도적으로 비틀거나 덧칠한 그림을 주고 그 그림에 쓰여 있는 내용을 물어보는 방법이 자주 사용된다. 이것은 기존의 텍스트와 이미지를 일그러뜨린 형태로 변형한 후 인식 대상이 변형된 이미지로부터 기존 이미지를 도출해 낼 수 있는지를 확인하는 방식의 테스트이다. 컴퓨터 프로그램이 변형시킨 이미지는 사람이 쉽게 인식 할 수 있지만 컴퓨터 프로그램은 변형된 이미지를 인식하지 못하므로 테스트를 통과하지 못한다면 테스트 대상이 사람이 아님을 판정할 수 있다. 흔히 웹사이트 회원가입을 할 때 뜨는 자동가입방지 프로그램 같은 곳에 쓰인다.


CAPTCHA는 기기가 사람을 대상으로 하는 테스트이므로 사람에 가까운 기기를 대상으로 하는 테스트인 튜링 테스트(Turing test)에서 용어를 따와 리버스 튜링 테스트(Reverse Turing test)라고 부르기도 한다.


이제 좀 그럴 싸 하군.

관련된 여러 오픈소스를 둘러보고 라이선스에 부합되지 않는 선에서 처리 하도록 했다.


굉장히 재미있는 분야고, 나중에 시간이 있으면 꼭 더 깊이 있게 살펴봐야겠다... 

'생활 > 주절주절' 카테고리의 다른 글

요즘 관심 있는 것들..  (0) 2016.06.03
한별농장 방문  (2) 2016.05.30
ocr 부터 captcha 까지...  (2) 2016.05.17
우리는 프로그래밍하는 법을 잊어버렸는가?  (0) 2016.04.22
프로그래머 면접 - 경력  (0) 2016.04.19
16.04.16 세월호 2주기  (0) 2016.04.18
댓글
  • 프로필사진 captcha captcha ocr 이 가능한 오픈소스가 있는지요? 무척 궁금한 분야여서 후기 부탁드려 봅니다. 2016.11.15 16:39
  • 프로필사진 BlogIcon Jaeyeon Baek 아래를 참고해보시면 될 것 같습니다.

    ocr : https://github.com/search?utf8=%E2%9C%93&q=ocr&type=Repositories&ref=searchresults

    captcha : https://github.com/search?utf8=%E2%9C%93&q=captcha&type=Repositories&ref=searchresults
    2016.11.16 19:16 신고
댓글쓰기 폼