NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    딥러닝 딥러닝 학습에 사용할 캡챠 데이타셋 다운로드. (Download the captcha dataset to use for dee…

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 업무 자동화~! 특히 웹 업무를 자동화 하는 경우 캡챠를 만나는 경우가 많을겁니다. 캡챠(Completely Automated Public Turing test to tell Computers and Humans Apart, 컴퓨터와 인간을 구분하는 완전히 자동화된 공개 튜링 테스트)의 원래 의도는 어떤 시스템을 조작하는 주체가 인간인지 기계 또는 소프트웨어인지 구별하기 위해 만들어 졌습니다. 초창기에는 컴퓨터의 성능과 알고리즘의 미숙함(?)으로 간단한 테스트로 인간과 컴퓨터를 구분해 낼 수 있었지만, 현재는 많이 어렵다고 할 수 있습니다. 그래서 다양한 방법들이 시도되고 발전하고 있죠~

    BNiMrGk.png

     

     

    2007년 캡챠 개발팀은 이 작업을 내부가 아닌 외부에서 처리하면 어떨까하는 아이디어를 내게 됩니다. 재능 기부를 하게 만든거죠. 과거부터 존재했던 OCR은 정자체로 쓰인 글자만 판독할 수 있었습니다. 수많은 고서를 디지털화하는데 많은 인력과 비용이 소모되고 있었는데요. 이것도 완벽하지는 않아서 추가적인 비용이 계속해서 발생하고 있었습니다. 그래서 캡챠의 후속판인 리캡챠(reCAPTCHA)를 만들어서 서비스를 이용하는 사람들이 문제를 풀도록 만들었습니다. 리캡챠는 2개의 단어를 문제로 냅니다. 하나는 정답이고, 다른 하나는 OCR이 인식하지 못한 단어입니다. 이 때 사용자가 두 단어를 모두 입력하면 컴퓨터는 자신이 아는 답을 쓴 상대방을 사람으로 가정하고, 그가 쓴 다른 단어도 정답이라고 가정하면서 정확도를 점점 높입니다. 이렇게 구글을 이용하는 전세계 수많은 사람들의 무료 재능 기부(?)로 인해서 정확한 완료 시기는 모르겠지만, 아주 짧은 시간에 모든 고서를 디지털화에 성공했다고 합니다.

    RILj4Un.gif

     

     

    그리고, 누구나 예측할 있었던 구글의 전략도 잘 드러나고 있습니다. 언제부터인가 구글이 문자로 된 캡챠가 아닌 신호등이나 도로, 사람, 표지판등등을 자동 입력 방지로 사용하고 있었습니다. 여기서 왜 이런 빅데이타를 수집하고 있을까하고 생각해보셨을겁니다. 누구나 어떤 의도로 이런 도로, 신호등, 표지판, 자동차, 자전거와 같은 이미지로 캡챠를 만들었을까 궁금했을겁니다. 몇년 후 구글은 무인카를 시장에 내놓게 됩니다. 수많은 사용자를 보유한 구글이 무료로 도로 상황을 학습할 수 있는 데이타를 모아왔던 것입니다. 이렇듯 캡챠가 반드시 반복적인 자동 입력을 방어하기 위한 목적으로만 사용되는건 아닙니다. 전세계 수많은 사람들의 행동 또는 생활 패턴을 분석해서 다른 어떤 가치(?)를 만들어 낼 수 있습니다.

    IacLPMV.png

     

     

    정작 제목에 적힌 내용보다는 캡챠의 역사와 그동안의 히스토리에 대해 말했는데요. 결론은~ 딥러닝, 인공지능이 발전하면서 캡챠도 같이 발전하고 있다는겁니다. 그렇지만, 캡챠는 사용자의 불편함이나 레거시 시스템에 영향을 주면 안된다는 패널티가 존재하기에 결국은 존폐의 위기를 맞을수밖에 없지 않을까 생각합니다. 아무튼, 아직까지는 자신의 역할을 잘 수행해 내는듯 하지만요^^; 아무튼 캡챠를 딥러닝으로 해독할 수 있는지 테스트 하려면 아래 사이트로 이동해서 데이타셋을 다운로드 받으세요.

    [ 캡챠 데이타셋 ]

    Ervf5jJ.png

     

     

    약 9mb의 파일을 다운로드하고, 압축을 풀면 아래 캡챠 이미지들이 들어 있습니다.

    Y21ltL1.png

     

     

    이 이미지들을 원본 그래도 사용할수는 없습니다. 이미 엔지엠소프트웨어의 YOLO를 이용한 딥러닝 이미지 분석을 사용해본 분들은 전처리를 어떻게 해야 할지 감이 오실겁니다. 데이타셋 만드는 도구를 이용한다면 상당히 어려운 작업이 될겁니다. 이미지가 너무 많기 때문이죠. 그래서 데이타셋 규칙을 알면 간단한 프로그램을 하나 만들어서 이미지들을 인덱싱하고 라벨링 작업을 마친 데이타셋을 만들어줘야 합니다. 또한, jpg 이미지 포멧을 사용하기 때문에 엔지엠소프트웨어의 이미지 변환 도구를 사용해서 png를 모두 jpg로 변환해야 합니다. 이미지 딥러닝 방법은 [ 딥러닝 ] 게시판을 참고 해주세요. 기타 궁금한 사항은 질문 주시면 답변 드리겠습니다^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.