네이버 영수증 리뷰해보신 분 거수! 맛집 도장깨기를 좋아하는 인턴즈는 가끔 영수증 후기를 남기곤 합니다.사진만으로 직접 영수증 글자가 인식되는 신기한 광경에 감탄한 적이 한두 번이 아닙니다!
일상 속에서 OCR은 꽤 자주 사용됩니다!이처럼 이미지를 통해 문자를 인식하는 최첨단 OCR 기술은 OCR팀의 연구로 만들어집니다.참새가 방앗간을 그냥 지나칠 수는 없다!호기심 많은 인턴스가 이번에는 OCR 기술에 대해 알아봤습니다.그럼 OCR팀의 이버드 리더가 설명해주신 (감사합니다!) 흥미로운 OCR의 세계로 떠나볼까요?

렛츠고! OCROO?
OCR은 광학 문자 인식(Optical Character Recognition)의 약자로 시각적 이미지에 있는 문자를 분석, 인식하는 기술입니다.처음에 말씀드린 영수증 리뷰를 생각하면 이해하기 쉬울 것 같아요!사진 속 텍스트 영역을 자동으로 검출하고 그 의미까지 파악하는 기술이라고 보시면 됩니다.OCR 기술의 궁극적인 목적은 ‘문서를 이해하는 것’입니다.이것은 단순히 글자를 읽는 것뿐만 아니라 이 글자가 이름인지 가격인지 등을 파악하는 것입니다.이 목적을 달성하기 위해서는 아래 사진과 같이 복잡한 단계를 거쳐야 합니다.

우와~ 생각보다 훨씬 복잡하죠?그럼 이 모든 과정이 OCR인가요? 그건 아니에요!OCR은 그 중에서 Text Detection과 Text Recognition 단계만 다루는 기술입니다.그럼 OCR을 이해하기 위해서 이 두 단계에 대해서 알아보겠습니다.먼저 Text Detection은 이미지 중 어느 부분이 문자 영역인지 알아보는 단계입니다.
글자 인식을 할 때는 하얀 배경이나 형형색색의 그림은 필요 없잖아요.이렇게 필요 없는 부분은 모두 걸러내고 필요한 문자 영역만 함정처럼 골라내는 것이 OCR의 첫 단계입니다!다음으로 Text Recognition 단계를 거쳐 영역 내 문자의 값을 하나하나 살펴보도록 하겠습니다.이 지브라 문자가 d,o,g로 구성되어 있다는 것을 아는 단계가 바로 이 Text Recognition 단계입니다!쉽게 말하면 이 단계를 거치지 않으면 “나름대로 번역자도 모르는 꼴”이 되어 버리는 것입니다. OCR은 이렇게 활용됩니다!앞서 설명드린 OCR 기술은 일상의 다양한 장소에서 활동하고 있습니다! 하나의 예시부터 시작해 볼까요?네이버페이 혹은 기타 간편결제 서비스로 카드를 등록한 경험은 있죠?카드를 사진으로 찍기만 하면 이름, 카드번호, 유효기간 등이 자동으로 딱! 인식되는 이 편리한 기능에도 OCR이 숨어 있습니다.주민등록등본, 사업자등록증 같은 정형화된 문서가 아니더라도 영수증, 명함 등 비정형 문서의 텍스트까지 깔끔하게 인식하고 텍스트로 변환시키는 기능 이후에도 OCR이 함께 한다는 사실! 또 음악을 많이 듣는 사람들 집중!! 음악 앱을 한번 바꾸면 예전에 쌓아온 나의 주옥같은 플레이리스트들이 다 사라지고 하나하나 검색해서 찾아보고 저장하고. 다들 한번쯤은 겪어봤죠?하나씩 옮기는 건 이제 멈춰!네이버 바이브에서는 예전에 음악 앱에서 들었던 플레이리스트를 캡처해서 가져오면 자동으로 문자를 인식해서 바이브 플레이리스트로 마음대로 옮겨줍니다!(아주 좋은 기능…)) 이 꿀기능에도 OCR이 숨어있다고 합니다.그리고 책을 읽어주는 램프, 클로버 램프도 OCR 기술을 활용하고 있습니다!클로버 램프가 비추는 책 속 텍스트를 OCR 기술이 인식하고 변환시켜 아이들에게 직접 글을 읽어줄 수 있게 되는 것입니다!일상 곳곳에 숨어있는 OCR 덕분에 삶의 질이 쑥쑥 올라가는 걸 느끼시나요? OCR의 한계점과 극복 노력이렇게 폭풍 성장 중인 OCR인데 아직 좀 더 연구해서 고민해야 할 숙제가 남아 있대요. 1 THE CAT? THE CHT?여러분은 이걸 뭐라고 읽었나요?바로 위의 고양이 그림도 그렇고 자연스럽게 THE CAT라고 읽히잖아요! 사람의 머릿속에는 language model(언어 모델)이 아주 잘 들어있어서 가장 높은 확률을 가진 결과물을 자동으로 인지하곤 합니다.하지만 OCR은 사진 속 H와 A가 모양이 같다는 점을 그대로 인식하고 ‘THE CAT’가 아닌 다른 말로 인식하게 되는 것입니다.초코만점 감사합니까?또한 이러한 오류가 발생할 수도 있습니다.텍스트 간격이 좁을 경우 분명히 두 줄의 텍스트인데, 이를 하나의 큰 글자로 인식하고 전혀 다른 텍스트로 변환하는 문제가 생길 수도 있습니다.그래서 두 줄의 텍스트를 인식하면 각각의 글자가 어디에 있는지 명확히 파악한 후 멀티라인에서 잘 읽을 수 있도록 꾸준히 연구하고 있다고 합니다!실제로 위의 ‘초코 만점 감사합니다’ 사례 역시 꾸준한 연구와 개선으로 현재는 올바르게 인식되고 있다는 점!3천차만별 손글씨 인식까지?OCR팀의 고민은 여기서 끝나지 않습니다!워드프로세서 등으로 작성된 텍스트는 글꼴 변화가 크지 않아 텍스트 인식이 어렵지 않지만, 사람들이 직접 쓴 손글씨의 경우 모든 사람이 다른 글자를 쓰고 있기 때문에 인식률이 떨어질 수밖에 없는 문제점에 직면하게 됩니다.하지만 포기하지 않고 꾸준한 연구를 거듭한 OCR팀은 적은 수의 손글씨 샘플을 적절히 활용하여 손글씨도 훌륭하게 인식할 수 있게 되었고,이 기술을 활용한 한글날 나눔 손글씨 공모전도 열었습니다! (한글날 나눔 손글씨 공모전 : 사용자가 작성한 256자 손글씨를 클로바오크 기술을 활용하여 손글씨를 폰트로 제작하여 무료 폰트로 배포한 캠페인입니다.) 이 공모전에서 OCR팀은 네이버 사용자분들의 손글씨를 완벽하게 인식하여 총 109분의 손글씨를 폰트로 만들었습니다.그리고 이 나눔글씨는 다시 사용자에게 무료로 배포하기까지 했습니다! (정말 멋지죠?)?)기업에서 활용되는 OCR 기술그럼 OCR기술은 기업에서 어떻게 활용되고 있나요.폼 인식(Form recognition)과정의 일부로서 활용되고 있습니다.이 과정은 일반적인 문자 인식과 달리 특정의 틀 속으로 정리된 정보를 읽고 정리하는 기술입니다.이 기술이 왜 필요한지요?우리가 구청에 제출하는 각종 신청서, 엑셀로 정리하는 표, 은행에 가서 채우는 서류는 일반적인 책과 달리 읽어야 할 것, 여러분 아신다고 생각합니다.문자가 있다고 무작정 왼쪽에서 오른쪽으로 보지 않고 각 문자가 어느 칸에 있는가에 의해서 자르고 읽지 않으면 이해할 수 없다는 것입니다!이를 돕는 것이 폼 인식(Form recognition)입니다.여기에는 총 3가지 기술이 있는데, 그 중에서도 비교적 간단한 2개 기술에 대해서 설명합니다!첫째는 문서 등록(Document registration)입니다.이 기술은 정해진 템플릿(Template)이 있는 정형화된 문서를 인식하기 위한 기술입니다.정형화된 문서를 읽기에는 먼저 템플릿을 등록할 필요가 있습니다.이렇게 문서 템플릿을 먼저 등록하면 컴퓨터를 통해서 입력 값(Value)을 위치별로 끊고 미리 지정하고 둘 수 있습니다.문자란 함부로 왼쪽에서 오른쪽으로 읽는 것을 방지할 수 있습니다!그 후, 화상이 입력되면 그 화상의 특징점(keypoint)을 통해서 해당 영상이 이 템플릿을 활용했는지를 조사합니다.만약 맞다면 사전 등록된 템플릿 입력 값 영역에 의해서 데이터를 정확히 읽을 수 있습니다.~이 기술은 각종 신분증을 인식하는 데도 사용되는 재미 있는 기술입니다.그런데 여기서 이상한 것!한국의 신분 증명서는 정형화된 문서임에도 불구하고 Document Registration방식으로는 인식하지 않습니다.왜냐하면 한국의 신분증에는 특징점(keypoint)이 없고 이미지를 입력해도 어떤 템플릿이 사용되었는지 인식할 수 없기 때문입니다.그래서 한국의 신분증은 Document Registration으로 인식하는 다른 나라들과는 달리 특히 파싱(parsing) 방식으로 인식하는 방법을 사용하고 있습니다(parsing: 컴퓨터가 일련의 문자열을 어휘 분석 단위로 분해하여 기계어(바이너리)로 변환하는 과정).두 번째는 표 인식(Table Recognition)입니다.이 기술은 표(Table) 형식으로 정리된 데이터를 읽고 엑셀 형식으로 추출하는 데 사용됩니다.따라서 이 기술은 정보를 표 형식으로 정리하고 활용하는 데 유용하게 활용할 수 있습니다.예를 들어 손으로 장부를 작성하는 가게를 생각해 봅시다.만약 이 기술이 없다면 점주는 표에 작성된 데이터를 옮기기 위해 엑셀을 켜고 장부와 일일이 비교하면서 직접 엑셀 파일에 데이터를 하나씩 옮겨 입력해야 합니다.(엑셀 지옥…상상만 해도 끔찍합니다) 하지만 OCR 기술 덕분에 그럴 필요 없이 장부 사진을 탁! 찍어서 제대로 읽으면 정보를 한 번에 옮길 수 있다는 사실~엑셀 지옥에서 빠져나가는 OCR 기술… 너무 좋네요!휴~ 하고 OCR 기술을 하나하나 알아봤어요.쉬울 줄 알았던 문자인식에 이렇게 많은 기술이 숨어있었다니! 집 한쪽 구석에 놓인 클로버 램프가 새삼 다르네요~ 혹시 오늘 포스팅에서 OCR 기술에 더 관심이 있으신 분들은 아래 링크를 참고해주세요.CLOVA OCR – 네이버 클로버 정확하고 빠른 텍스트 추출, CLOVA OCR을 경험해보세요.clova.aiCLOVA OCR – 네이버 클로버 정확하고 빠른 텍스트 추출, CLOVA OCR을 경험해보세요.clova.aiCLOVA OCR – 네이버 클로버 정확하고 빠른 텍스트 추출, CLOVA OCR을 경험해보세요.clova.ai