KR20220019501A - 딥러닝 기반 전자책 자동변환 서비스 제공 방법 - Google Patents

딥러닝 기반 전자책 자동변환 서비스 제공 방법 Download PDF

Info

Publication number
KR20220019501A
KR20220019501A KR1020200099981A KR20200099981A KR20220019501A KR 20220019501 A KR20220019501 A KR 20220019501A KR 1020200099981 A KR1020200099981 A KR 1020200099981A KR 20200099981 A KR20200099981 A KR 20200099981A KR 20220019501 A KR20220019501 A KR 20220019501A
Authority
KR
South Korea
Prior art keywords
deep learning
book
content area
scan data
data
Prior art date
Application number
KR1020200099981A
Other languages
English (en)
Other versions
KR102562170B1 (ko
Inventor
손현
Original Assignee
(주)아이웨이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)아이웨이 filed Critical (주)아이웨이
Priority to KR1020200099981A priority Critical patent/KR102562170B1/ko
Publication of KR20220019501A publication Critical patent/KR20220019501A/ko
Application granted granted Critical
Publication of KR102562170B1 publication Critical patent/KR102562170B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/155Segmentation; Edge detection involving morphological operators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00169Digital image input

Abstract

딥러닝 기반 전자책 자동변환 서비스 제공 방법이 제공되며, 사용자 단말로부터 전자책 변환 요청이 수신되는 경우, 전자책 변환 요청된 종이책의 스캔 데이터를 입력받는 단계, 기 생성된 딥러닝 모델에 기반하여 스캔 데이터 중 종이책에 대응하는 콘텐츠 영역이 배치된 위치 및 형태를 파악하는 단계, 딥러닝 모델에 기반하여 스캔 데이터 중 콘텐츠 영역을 제외한 영역에서 콘텐츠 영역으로 인식되는 오류를 제거하기 위하여 노이즈 제거를 수행하는 단계 및 딥러닝 모델에 의해 도출된 콘텐츠 영역의 중심선 및 콘텐츠 영역의 양단을 OpenCV를 이용하여 사용자 단말에서 지정한 납품기준에 대응하도록 이미지 가공을 수행하는 단계를 포함한다.

Description

딥러닝 기반 전자책 자동변환 서비스 제공 방법{METHOD FOR PROVIDING DEEP LEARNING BASED PAPER BOOK DIGITIZING SERVICE}
본 발명은 딥러닝 기반 전자책 자동변환 서비스 제공 방법에 관한 것으로, 평판 스캔 작업에서 종이책을 분해하지 않고 전자책으로 생성할 때, 스캔 데이터 중 콘텐츠가 존재하는 콘텐츠 영역만을 노이즈나 오류없이 추출할 수 있는 방법을 제공한다.
북스캔(Book Scan)이란 인쇄물 형태의 종이책을 스캔장비를 이용하여 이미지 파일 또는 PDF 파일과 같은 전자책으로 변환하는 작업을 의미한다. 스마트폰과 태블릿PC와 같은 스마트 기기의 사용자가 늘어남에 따라 전자책의 필요성이 증가하였지만, 출판업계 입장에서는 각기 다른 전자책 단말기를 지원해야 하는 번거로움과 출판 구조문제로 인하여 종이책에 비해 전자책의 출간 비율이 매우 낮다. 이로 인해 출판업체가 아닌 저작물 소유권자가 직접 스캐너 장비를 이용하여 종이책을 전자문서로 변환하기 시작하였다. 개인이 구매하기에 비싼 북스캔 장비들로 인해 북스캔 대행 서비스라는 새로운 형태의 서비스도 생겨났으며, 북스캔 대행업체는 금품을 대가로 소비자가 위탁한 종이책을 스캔하여 JPG 파일 또는 PDF 파일과 같은 전자책 형태로 제공하고 있다.
이때, 카메라로 촬영한 종이책을 스캔 문서를 생성하거나, 전자책 파일을 수신하여 전자책을 생성하는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국등록특허 제10-2082301호(2020년02월27일 공고) 및 한국등록특허 제10-2075874호(2020년03월17일 공고)에는, 일반 카메라로 촬영한 한 장의 문서 영상으로부터 텍스트 라인을 추출하고, 추출된 텍스트라인을 스캔 문서 평면상으로 투영 시키는 투영식을 최적화시키는 파라미터를 산출하되, 문서 영상의 평면과 카메라가 이루는 각도와, 문서 영상의 단면 및 카메라의 초점 거리에 기초하여 투영 최적화를 이루는 구성과, 전자책 포맷 파일을 수신하고, 수신한 전자책 포맷 파일의 유효성을 검정한 후, 디지털로 엑세스가 가능한 전자책 형태의 파일로 변환하는 구성이 각각 개시되어 있다.
다만, 상술한 구성들은 진정한 의미의 북스캔, 종이책을 한장한장 분리하는 해체작업을 거치지 않고 사람이 페이지를 넘겨가며 스캔을 뜨는 방식으로부터 전자책을 만드는 것이 아니라, 구글 드라이브에서도 이미 공지공용의 기술로 제공하고 있는 촬영된 사진을 스캔 데이터로 전환하는 방법이나, 전자책 포맷으로 이미 만들어진 파일을 전자책으로 변환하는 단순한 방법만을 개시하고 있다. 최근 각종 도서관에서 장서를 보관하기 위해서나 북스캔 서비스를 이용 및 납품을 요청하는 경우가 증가하고 있으나, 책을 절대로 분해하지 않아야 하는 평판 작업이 주를 이루고 있기 때문에 로봇 스캔도 이용할 수가 없어서 한장 한장 종이책을 사람이 스캔한 후, 스캔된 영역을 제외한 나머지 영역과 중심선을 수동으로 일일이 지정한 후 한 페이지를 좌측 페이지와 우측 페이지인 2 장의 이미지로 생성하고 있는 것이 현 실정이다. 이에, 종이책을 분해하지 않으면서 고가의 장비없이도 사람의 노동력 및 시간을 아낄 수 있도록 자동으로 종이책을 전자책으로 생성할 수 있는 플랫폼이 요구된다.
본 발명의 일 실시예는, 종이책을 분해하지 않고 평판 작업을 한 스캔 데이터로부터 종이책의 콘텐츠 영역의 경계선(Boundary), 중심선 및 양단의 라인을 딥러닝 모델을 통하여 추출하고, 추출된 경계선 이외의 콘텐츠 영역이 아닌 부분, 중심선 및 양단의 영역을 제거한 후 좌측 페이지 및 우측 페이지와 같이 2 장의 이미지로 자동으로 분리하여 주며, 상단의 수평라인이 기울어진 경우 기울기를 보정하고 납품요청된 DPI(Dots Per Inch)에 대응하도록 이미지를 변환하여 종이책을 전자책으로 제공할 수 있고, 딥러닝 모델을 생성하기 위한 학습 데이터도 콘텐츠 영역, 중심선 및 양단의 라인을 기본 임계처리(GrayScale) 및 적응 임계처리(Thresholding)을 포함한 종이책의 위치, 크기 및 형태 파악 알고리즘과, 형태 변환(Morphological Transformation)의 오프닝 및 클로징을 적용함으로써 자동으로 생성할 수 있는, 딥러닝 기반 전자책 자동변환 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 사용자 단말로부터 전자책 변환 요청이 수신되는 경우, 전자책 변환 요청된 종이책의 스캔 데이터를 입력받는 단계, 기 생성된 딥러닝 모델에 기반하여 스캔 데이터 중 종이책에 대응하는 콘텐츠 영역이 배치된 위치 및 형태를 파악하는 단계, 딥러닝 모델에 기반하여 스캔 데이터 중 콘텐츠 영역을 제외한 영역에서 콘텐츠 영역으로 인식되는 오류를 제거하기 위하여 노이즈 제거를 수행하는 단계 및 딥러닝 모델에 의해 도출된 콘텐츠 영역의 중심선 및 콘텐츠 영역의 양단을 OpenCV를 이용하여 사용자 단말에서 지정한 납품기준에 대응하도록 이미지 가공을 수행하는 단계를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 스캔 작업자의 실수나 종이책의 크기가 일정하지 않은 경우, 또 종이책의 두께로 인하여 종이책의 양단에 종이책의 두께까지 스캔되는 경우와 같이 복잡다양한 변수가 발생한다고 할지라도 다양한 종류의 변수를 학습한 딥러닝 모델을 이용하여 제거할 수 있도록 하고, 종이책을 분해하지 않고 평판 작업을 한 스캔 데이터로부터 종이책의 콘텐츠 영역의 경계선(Boundary), 중심선 및 양단의 라인을 딥러닝 모델을 통하여 추출하고, 추출된 경계선 이외의 콘텐츠 영역이 아닌 부분, 중심선 및 양단의 영역을 제거한 후 좌측 페이지 및 우측 페이지와 같이 2 장의 이미지로 자동으로 분리하여 주며, 상단의 수평라인이 기울어진 경우 기울기를 보정하고 납품요청된 DPI(Dots Per Inch)에 대응하도록 이미지를 변환하여 종이책을 전자책으로 제공할 수 있고, 딥러닝 모델을 생성하기 위한 학습 데이터도 콘텐츠 영역, 중심선 및 양단의 라인을 기본 임계처리(GrayScale) 및 적응 임계처리(Thresholding)을 포함한 종이책의 위치, 크기 및 형태 파악 알고리즘과, 형태 변환(Morphological Transformation)의 오프닝 및 클로징을 적용함으로써 자동으로 생성할 수 있다.
도 1은 본 발명의 일 실시예에 따른 딥러닝 기반 전자책 자동변환 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 자동변환 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 내지 도 10은 본 발명의 일 실시예에 따른 딥러닝 기반 전자책 자동변환 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 딥러닝 기반 전자책 자동변환 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 딥러닝 기반 전자책 자동변환 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 딥러닝 기반 전자책 자동변환 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 자동변환 서비스 제공 서버(300), 적어도 하나의 품질 검사 단말(400)을 포함할 수 있다. 다만, 이러한 도 1의 딥러닝 기반 전자책 자동변환 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 자동변환 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 자동변환 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 적어도 하나의 품질 검사 단말(400)과 연결될 수 있다. 또한, 적어도 하나의 품질 검사 단말(400)은, 네트워크(200)를 통하여 자동변환 서비스 제공 서버(300)와 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 사용자 단말(100)은, 딥러닝 기반 전자책 자동변환 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 전자책 자동변환 서비스를 이용하여 종이책을 전자책으로 변환하고자 하는 고객의 단말일 수 있다. 이때, 사용자 단말(100)은, 자동변환 서비스 제공 서버(300)로 납품요청을 전송하면서, 종이책의 정보, 원하는 전자책의 크기, DPI, 해상도, 파일 포맷 등을 지정해주는 단말일 수 있다. 그리고, 사용자 단말(100)은, 자동변환 서비스 제공 서버(300)로부터 전자책 파일을 수신하여 납품을 받는 단말일 수 있다. 이때, 사용자는, 도서관의 공공도서관 디지털 전담부서, 교육기관의 담당자 등 다양할 수 있으나 나열된 자들로 한정되지는 않는다.
여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
자동변환 서비스 제공 서버(300)는, 딥러닝 기반 전자책 자동변환 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 자동변환 서비스 제공 서버(300)는, 종이책을 스캔한 스캔 데이터를 입력받고, 스캔 데이터 중 책 페이지가 존재하는 콘텐츠 영역의 경계선(Boundary)을 탐색하고, 중심선을 찾고, 양단의 책의 두께만큼 스캔된 영역을 검색하는 서버일 수 있다. 그리고, 자동변환 서비스 제공 서버(300)는, 경계선을 기준으로 나머지 영역은 제거하고, 중심선 및 두께만큼 스캔된 영역을 모두 제거함으로써 좌측 페이지 및 우측 페이지를 포함하는 2 장의 이미지를 출력 데이터로 출력하는 서버일 수 있다. 또, 자동변환 서비스 제공 서버(300)는, 이미지의 상단의 기울기를 측정한 후 수평으로 맞추는 기울기 보정을 수행한 후 사용자 단말(100)에서 설정한 납품기준 DPI에 맞게 이미지를 변환하는 서버일 수 있다. 이를 위하여, 자동변환 서비스 제공 서버(300)는, 딥러닝 모델을 구축하기 위한 학습 데이터를 자동 또는 수동으로 생성하고, 적어도 하나의 딥러닝 모델을 모델링함으로써, 평판 작업에서 종이책이 아닌데 종이책으로 잘린 부분이나, 중심선을 못찾고 콘텐츠 영역이 중간에 잘리는 등의 오류가 발생하지 않도록 하는 서버일 수 있다. 또, 자동변환 서비스 제공 서버(300)는, 딥러닝 모델의 모델링을 수행하기 이전에, 학습 속도를 증가시키기 위해 GPU에서 수행할 수 있도록 설정하는 서버일 수 있다.
여기서, 자동변환 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
적어도 하나의 품질 검사 단말(400)은, 딥러닝 기반 전자책 자동변환 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하는 직원의 단말일 수 있다. 이때, 적어도 하나의 품질 검사 단말(400)은, 자동변환 서비스 제공 서버(300)에서 학습을 수행하기 이전 학습 데이터가 자동 또는 수동으로 생성된 후에, 학습 데이터가 제대로 된 학습 데이터인지를 검사하는 직원의 단말일 수 있다.
여기서, 적어도 하나의 품질 검사 단말(400)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 품질 검사 단말(400)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 품질 검사 단말(400)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
도 2는 도 1의 시스템에 포함된 자동변환 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 내지 도 10은 본 발명의 일 실시예에 따른 딥러닝 기반 전자책 자동변환 서비스가 구현된 일 실시예를 설명하기 위한 도면이다. 도 2를 참조하면, 자동변환 서비스 제공 서버(300)는, 입력부(310), 파악부(320), 제거부(330), 수행부(340), 각도조절부(350), 변환부(360), 수동생성부(370), 자동생성부(380) 및 딥러닝부(390)를 포함할 수 있다.
본 발명의 일 실시예에 따른 자동변환 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100) 및 적어도 하나의 품질 검사 단말(400)로 딥러닝 기반 전자책 자동변환 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100) 및 적어도 하나의 품질 검사 단말(400)은, 딥러닝 기반 전자책 자동변환 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100) 및 적어도 하나의 품질 검사 단말(400)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.
도 2를 참조하면, <스캔 데이터 수집 단계>
입력부(310)는, 사용자 단말(100)로부터 전자책 변환 요청이 수신되는 경우, 전자책 변환 요청된 종이책의 스캔 데이터를 입력받을 수 있다. 이때, 종이책을 전자책으로 작업하는 과정에 대하여 간단히 설명한다. 스캔의 종류는 종이책을 해체하지 않고 스캔하는 평판 작업과, 종이책을 해체 후 스캔하는 작업을 하는 일반 로봇 스캔이 존재한다. 종이책을 전자책으로 만들기 위해서는, 우선 i) 스캔, ii) 수정 및 보정, iii) 검수, iv) 수정 및 v) 재검수의 공정을 거쳐 제작되게 되는데, 스캔 방법에 따라 수정 및 보정의 양이 차이가 나긴 하지만 대부분의 전자책 변환 공정은 스캔 결과를 육안으로 확인한 후, 이미지 툴을 사용하여 전자책 규격에 맞게끔 자르는 작업과, 글자 기울기를 맞추는 작업, 1 차 검수, 수정 작업, 2 차 검수 작업을 거치는데 엄청난 인력과 시간이 소요되고 있다. 또, 고가의 로봇 스캐너 같은 경우 종이책의 해체 없이 이미지 추출은 가능하지만, 비용과 작업시간, 그리고 추후 장비관리 등에 대한 제한을 받고 있다. 또, 단순히 이미지를 자르는 프로그램은 로봇 스캔에 일정 부분 적용이 가능하긴 하지만 책을 절대 분해하지 않아야 하는 평판 스캔 작업에서는 여러 가지 변수, 예를 들어, 모든 종이책의 크기가 일정하지 않은 점, 종이책 두께로 인해 양옆 사이드 위치가 일정하지 않은 점, 종이책 중심선의 위치가 서로 다른 점, 스캔 작업자가 자신의 팔을 함께 스캔하거나 수평을 맞추지 않은 경우 등 이미지를 자르는 프로그램을 사용하는 것이 무용지물인 경우가 대다수이다. 본 발명의 일 실시예에서는, i) 내지 v) 과정 중 i) 과정만을 사람이 수행한 후, 나머지 ii) 내지 v) 과정은 자동으로 처리되도록 설계된다. 이에 따라, 입력부(310)는, i)의 과정의 결과를 수집하여 그 다음 처리를 위해 스캔 데이터를 넘겨주게 된다.
<콘텐츠 영역 파악 및 노이즈 제거 단계>
파악부(320)는, 기 생성된 딥러닝 모델에 기반하여 스캔 데이터 중 종이책에 대응하는 콘텐츠 영역이 배치된 위치 및 형태를 파악할 수 있고, 제거부(330)는, 딥러닝 모델에 기반하여 스캔 데이터 중 콘텐츠 영역을 제외한 영역에서 콘텐츠 영역으로 인식되는 오류를 제거하기 위하여 노이즈 제거를 수행할 수 있다. 이때, 파악부(320) 및 제거부(330)는, 콘텐츠 영역이 배치된 위치 및 형태를 파악하기 이전에, 기본 임계처리(GrayScale) 후 적응 임계처리(Thresholding)를 수행하여 종이책의 형태를 파악하는 단계를 포함할 수 있다. 여기서, 기본 임계처리는 스캔 데이터의 전 영역에 대하여 기 설정된 임계값으로 이진화를 수행하는 것이고, 적응 임계처리는 스캔 데이터 내 일부 영역 내의 이웃한 픽셀의 값을 이용하여 일부 영역에 적용할 기준 임계값을 자체적으로 계산하는 것이다.
도 3a를 참조하면, 종이책이 스캔된 스캔 데이터를 도시한다. 이때, 콘텐츠 영역은 종이책의 페이지 부분이고, 여기서 제거해야 할 것들은, 도 3a의 종이책이 위치하지 않은 영역(검은색 부분), 도 3b의 중심선 영역(좌측 페이지 및 우측 페이지로 나뉘어져야 하므로), 또, 도 3b의 콘텐츠 영역을 제외한, 종이책의 두께가 스캔된 부분이다. 이 세 가지를 제거해야 좌측 페이지 및 우측 페이지로 디지털 이미지화가 되는데, 이 세 가지의 과정을 수행하기 위해 가장 처음 해야 할 일은, 종이책이 위치한 위치, 영역, 크기 및 형태 등을 파악해야 하는 일이다. 즉, 어느 것이 종이책이고 어느 것이 사람 팔인지 또는 종이책 영역이 아닌 영역은 무엇인지 등을 구분해야 하는 것이다.
도 4를 참조하면, 문자가 포함된 이미지, 즉 스캔 데이터에서 문자는 곧 종이책의 내용을 의미하기 때문에 노이즈가 있거나, 저화질 이미지 내 문자를 효율적으로 추출하기 위해서는 최적의 이미지 전처리 과정이 필요하다. 예를 들어, 이미지 전처리로는 이진화(Binarization), DPI조정, 노이즈 제거, 이미지 회전, 테두리 제거 등이 쓰이고 있다. 이진 이미지의 데이터는 문자 인식 모델의 입력정보로써 결과 도출에 중요한 정보로 이용된다. 따라서 그레이스케일 이미지에서 이진 이미지로의 변환은 문자 인식에서 중요한 전처리 과정이다. 전처리 과정 중 그레이스케일 이미지를 이진 이미지로 변환하기 위한 임계값 설정 방법은 전역 임계(Global thresholding)값과 적응형 임계값이 있다. 적응형 임계값 설정은 주변 영역 정보를 참조함으로써 측면에서 전역 임계값보다 합리적인 결과를 도출하여 OCR에서 주요 기법으로 쓰이고 있다. 다만, 분리하고자 하는 객체(Object)와 배경 영역 픽셀의 광도(Intensity)값의 차이가 작은 경우 올바른 임계치 값을 선정하지 못하는 문제가 발생한다. 즉, 임계치의 설정에 따라서 이진화 결과가 상이하게 나타난다.
이에 따라, 본 발명의 일 실시예에 따른 파악부(320) 및 제거부(330)는, 종이책이 위치한 영역을 파악하기 위하여 기본 임계처리 및 적응 임계처리 두 가지, 즉 전역 임계값 및 적응형 임계값을 모두 이용한다. 전자의 기본 임계처리(전역 임계값)를 하는 경우 단순히 이미지 전체에 적용을 하기 때문에 종이책의 형태를 파악하기가 어렵다. 이에 따라, 전자의 기본 임계처리를 수행한 후, 다시 적응 임계처리를 수행함으로써 종이책의 위치, 형태 등을 파악함으로써 정확히 경계선(Boundary)을 설정할 수 있도록 한다. 이때, 예를 들면 복잡도가 높은 스캔 데이터의 이미지 영역의 처리를 위하여 문자와 주변 영역 픽셀 값의 광도 차이를 특정 기법을 이용하여 강제적으로 발생시켜 효율적인 적응형 임계값 도출로 이진화를 수행할 수도 있다.
본 발명의 일 실시예에 따른 적응 임계처리의 전처리 과정을 설명한다. 예를 들어, 이미지의 복잡도는 이미지 내의 문자의 픽셀 광도와 주변 픽셀 광도의 차이가 작을수록 복잡도가 커지게 된다. 적응 임계처리를 이용하여 이진화를 할 경우, 종이책 영역, 즉 콘텐츠 영역의 부분의 정보만 남기기 위하여 콘텐츠 영역에 해당하는 픽셀과, NXN의 주변 픽셀 간의 광도 차이가 필요하다. 이때, 스캔 데이터에서 콘텐츠 영역의 픽셀과 주변 픽셀 광도 차이를 분리하기 위하여 이진화된 이미지를 바탕으로 형태학 변환(Morphological transformation)의 팽창(Dilation)을 수행하고, 적응형 임계값 산출 시 광도 차 계산에 견고하기 위해 컨투어(Contour) 연산을 하여 콘텐츠 영역을 컨케이브 헐(Concave hull) 형태로 확보할 수 있다. 이때, 형태학 변환의 팽창 연산은 이하 수학식 1과 같다.
Figure pat00001
이때, BIGOPLUS 기호는 팽창을 의미하며, A는 입력 이미지인 스캔 데이터를 의미하고, B는 콘텐츠 영역을 의미하며, B의 각 좌표값 u, v에서 A 픽셀 좌표값 a, b 만큼 이동하여 더한 값을 팽창의 결과로 한다. 원본 그레이 스케일 이미지 위에 콘텐츠 영역의 광도를 조정하고, 콘텐츠 영역 전체의 광도 값이 변하므로 콘텐츠 영역에 해당하는 픽셀의 복원 과정이 필요하다. 산출된 콘텐츠 영역 이미지는 마스킹 역할을 하여, 적응형 임계값을 이용한 이진 이미지를 콘텐츠 영역과 합성한 연산을 수행하여 그레이 스케일 이미지를 생성한다. 논리곱 수행을 하지 않고 합성을 하는 이유는 형태학 변환을 이용한 콘텐츠 영역이 모든 콘텐츠 영역을 적출할 수 없는 경우도 존재하기 때문이다. 이러한 경우, 복잡도가 낮은 영역 뿐만 아니라, 복잡도가 높은 영역에서도 콘텐츠 영역 픽셀과 콘텐츠 영역 주변 픽셀의 광도차에 의해서 이진화가 잘 이루어질 수 있다.
정리하면, 파악부(320) 및 제거부(330)는, 스캔 데이터 중 콘텐츠 영역을 제외한 영역에서 콘텐츠 영역으로 인식되는 오류를 제거하기 위하여 노이즈 제거를 수행할 때, 형태 변형(Morphological Transformation) 기법 중 팽창(Dilation) 및 침식(Erosion)을 포함한 오프닝(Opening) 또는 클로징(Closing)을 적용할 수 있다. 그리고, 오프닝은 콘텐츠 영역을 제외한 영역에서 콘텐츠 영역으로 인식되는 오류를 제거하기 위하여 침식을 적용 후 팽창을 적용하는 것이고, 클로징은 스캔 데이터 중 콘텐츠 영역에 대응하는 종이책의 윤곽선 추출의 정확도를 높이기 위하여 팽창을 적용 후 침식을 적용하는 것이다. 파악부(320) 및 제거부(330)의 각 구성은 분리될 수도 있지만 하나의 단계에서 수행될 수도 있다.
<콘텐츠 영역 추출 및 분할 단계>
수행부(340)는, 딥러닝 모델에 의해 도출된 콘텐츠 영역의 중심선 및 콘텐츠 영역의 양단을 OpenCV를 이용하여 사용자 단말(100)에서 지정한 납품기준에 대응하도록 이미지 가공을 수행할 수 있다. 이때, 수행부(340)는, 중심선 및 콘텐츠 영역의 양단을 제거하고 좌측 페이지 및 우측 페이지에 대응하는 2 장의 이미지로 분리할 수 있다. 즉, 파악부(320) 및 제거부(330)에서 종이책의 형태, 위치 및 영역을 파악하여 중심선, 콘텐츠 영역, 콘텐츠 영역을 제외한 영역, 양단에 종이책의 두께가 함께 스캔된 부분을 모두 파악하고 노이즈까지 제거했으면, 이렇게 파악된 부분을 제거하여 두 장의 이미지로 분리하는 작업이 요구된다.
이때, 도 8a를 참조하면, 스캔 데이터를 보면 검은색 영역 내에 스캔 작업자의 팔도 스캔이 되었고, 형광등도 함께 찍혀 중간에 빛이 수평으로 들어간 것을 알 수 있다. 만약, 밝은 부분만을 콘텐츠 영역으로 지정한다면 형광등과 팔도 함께 추출되어 콘텐츠 영역이 사람의 팔과 형광등까지 포함되는 오류가 발생할 수 있다. 이때, 후술하겠지만 딥러닝 모델로 상술한 오류가 없도록 종이책의 콘텐츠 영역의 경계선, 중심선, 양단의 두께가 스캔된 영역을 파악 및 제거하도록 학습된 모델에서 콘텐츠 영역만을 추출하도록 모델링이 되었으므로, 도 8a와 같은 스캔 데이터가 입력되더라도 도 8b와 같이 콘텐츠 영역이 추출되고, 이 중에서도 중심선과 양단 영역은 딥러닝 모델로 추출되었으므로 이렇게 추출된 필요없는 부분을 콘텐츠 영역으로부터 제거함으로써 도 8c와 같이 좌측 페이지와 우측 페이지를 포함하는 두 장의 이미지로 분리되어 사람의 손을 거치지 않고도 종이책의 페이지가 전자책의 페이지로 변환된 것을 알 수 있다.
<기울기 보정 단계>
각도조절부(350)는, 수행부(340)에서 딥러닝 모델에 의해 도출된 콘텐츠 영역의 중심선 및 콘텐츠 영역의 양단을 OpenCV를 이용하여 사용자 단말(100)에서 지정한 납품기준에 대응하도록 이미지 가공을 수행한 후, 이미지 가공이 완료된 이미지의 상단과 이미지의 중심점이 수평면과 이루는 직선 간의 각도인 외각값이 기 설정된 오차범위 내로 수렴하고, 이미지의 상단이 수평면을 이루는 직선과 일치하도록 기울기 조정을 수행할 수 있다. 이때 도 9를 참조하면, 스캔 작업자가 바쁘거나 초보이거나 실수를 한 경우에는 종이책이 수평을 맞추어 스캔이 되지 않고 기울어지게 스캔이 되어 스캔 데이터가 생성되는 경우가 종종 존재한다. 이를 수동으로 사람이 하나하나 회전값을 주어 맞추어주기에는 스캔 데이터와 페이지가 너무 많으므로, 본 발명의 일 실시예에서는 OpenCV 이미지 가공 알고리즘을 이용하여 기울기를 보정하도록 한다. 이때, OpenCV 모먼트(Moment)의 Contour Approximation 함수를 통하여 추출된 콘텐츠 영역 내 외각값을 추출하고, Image Moment를 이용하여 콘텐츠 영역의 중심점을 추출하며, 추출된 중심점의 값을 이용하여 외각각도 계산을 통해 라인을 직선으로 되게끔 기울기를 조절할 수 있다.
이때, 각도조절부(350)는 파악부(320)에서 기본 임계처리시에 콘텐츠 영역 내에 포함된 글자 영역과 페이지 영역의 색상이 구분이 되기 때문에, 글자 영역을 찾은 후, 한 줄의 글자가 시작되는 상하단 부분(A)과, 한 줄의 글자가 종료되는 상하단 부분(B)을 이어 임의의 사각형으로 만든 후, 모든 줄에 동일한 작업을 반복할 수 있다. 그리고, A-B가 이루는 각도의 평균을 구한 후, 그 평균의 각도만큼 회전시키는 방법으로 이용할 수도 있다.
<납품기준에 맞는 DPI 변환 단계>
변환부(360)는, 수행부(340)에서 딥러닝 모델에 의해 도출된 콘텐츠 영역의 중심선 및 콘텐츠 영역의 양단을 OpenCV를 이용하여 사용자 단말(100)에서 지정한 납품기준에 대응하도록 이미지 가공을 수행한 후, 납품기준에 대응하도록 DPI(Dots Per Inch) 변환을 수행할 수 있다. 각 도서관이나 전담부서별로 원하는 규격이나 해상도 등이 존재할 수 있으므로 이에 맞도록 보정, 변환 등을 수행하는 단계인데, 이는 공지된 기술과 동일하므로 상세히 설명하지 않는다.
<학습 데이터 생성 단계>
본 발명의 일 실시예에 따른 딥러닝 모델을 구축하기 위해서는, 우선 학습 데이터의 수집이 필요하다. 학습 데이터는 이하와 같이 수동 및 자동으로 수집 및 구축할 수 있으며 도 3 및 도 4를 참조하여 설명한다.
수동생성부(370)는, 입력부(310)에서 사용자 단말(100)로부터 전자책 변환 요청이 수신되는 경우, 전자책 변환 요청된 종이책의 스캔 데이터를 입력받기 이전에, 적어도 하나의 종류의 스캔 데이터를 학습 데이터로 수집하고, 수동으로 학습 데이터 내 중심선 위치 및 콘텐츠 영역의 양단을 경계(Boundary)로 설정한 후 클래스(Class)명을 지정하여 XML 파일 형태로 저장할 수 있다. 이때, 수동생성부(370)는, 학습 데이터 및 경계가 설정된 XML 파일을 동일한 명칭으로 설정하여 학습 데이터로 세팅할 수 있다. 이때, 학습 데이터를 생성할 때에는 예를 들어, LabelImg를 이용할 수 있다. 중심선이 제거될 때에는 중심선만 제거되어야지 글자까지 같이 잘려나가면 안된다. 또, 양단에서도 종이책의 두께가 스캔된 부분이 잘려나가야지 글자가 잘리는 일이 있으면 안된다. 이에 따라 OpenCV를 이용하여 학습 데이터를 자동으로 생성할 수도 있다. 이 과정은 상술한 파악부(330) 및 제거부(340)에서 수행한 과정과 동일할 수 있다.
자동생성부(380)는, 입력부(310)에서 사용자 단말(100)로부터 전자책 변환 요청이 수신되는 경우, 전자책 변환 요청된 종이책의 스캔 데이터를 입력받기 이전에, 적어도 하나의 종류의 스캔 데이터를 학습 데이터로 수집하고, 자동으로 학습 데이터를 기본 임계처리 후 적응 임계처리를 수행하여 학습 데이터 내 콘텐츠 영역의 위치, 크기 및 형태를 파악할 수 있고, 형태 변형(Morphological Transformation) 기법 중 팽창(Dilation) 및 침식(Erosion)을 포함한 오프닝(Opening) 또는 클로징(Closing)을 적용하여 콘텐츠 영역을 제외한 영역에서 발생한 노이즈를 제거할 수 있다. 또, 자동생성부(380)는, 학습 데이터 내 이미지 경계(Boundary)가 설정된 XML 파일을 동일한 명칭으로 설정하여 학습 데이터로 세팅할 수 있다.
<학습 데이터 학습 및 모델링 단계>
딥러닝부(390)는, 입력부(310)에서 사용자 단말(100)로부터 전자책 변환 요청이 수신되는 경우, 전자책 변환 요청된 종이책의 스캔 데이터를 입력받기 이전에, 도 5와 같이 적어도 하나의 종류의 스캔 데이터를 학습 데이터로 수집하고 적어도 하나의 종류의 딥러닝 모델을 이용하여 스캔 데이터 내 콘텐츠 영역, 중심선 및 콘텐츠 영역의 양단을 도출하도록 학습을 진행할 수 있다. 이때, 도 6과 같이 적어도 하나의 딥러닝 모델의 학습을 진행하기 이전에, 적어도 하나의 딥러닝 모델이 그래픽카드의 GPU 사용하도록 설정할 수 있다.
수동생성부(370) 및 자동생성부(380)에서 학습 데이터를 수동 및 자동으로 마련했으면, 딥러닝부(390)에서는 이를 이용하여 적어도 하나의 딥러닝 학습모델을 모델링하고 학습을 진행하는 과정을 거치게 된다. 시스템 구축 및 순서상으로는 수동생성부(370), 자동생성부(380) 및 딥러닝부(390)의 과정이 입력부(310)보다는 먼저 진행되지만, 사용자 단말(100)의 납품요청 및 의뢰가 들어온 후 처리되는 과정을 먼저 설명하였기 때문에 학습 데이터 생성 및 딥러닝 단계가 나중에 설명될 뿐, 순서가 바뀐 것은 아님은 자명하다 할 것이다. 이때, 딥러닝은 DL4J YOLO 객체 검출을 이용할 수 있고, 언어는 JAVA로, GPU 지원을 위한 1.0.0 버전을 사용할 수 있다. 이때, 딥러닝 기반 FAST 객체 탐색 방법은 CNN, YOLO, SSD가 존재하는데, 이 중 이미지를 그리드(Grid)로 분할하고 같은 패턴을 학습하여 그리드의 신뢰도를 계산 후 비슷한 패턴을 찾아내는 도 7과 같은 YOLO 객체 검출 방법을 사용하기로 한다. 이때, 딥러닝부(390)는, YOLO에 학습 데이터를 입력(INPUT)하고, 구축된 학습 모델(HIDDEN)과 비교분석 후, 분석결과 이미지(OUTPUT)를 출력하는 프로세스를 갖춘 딥러닝을 모델링할 수 있다.
또한, 도 6과 같이 학습을 진행하기 이전에, 딥러닝부(390)는, GPU 사용을 위한 사전 작업도 하게 되는데, 학습 시간을 줄이고 학습 과정의 속도를 높이기 위해, 그래픽카드의 GPU 사용하기로 한다. 이때, 해당 그래픽 카드에 해당하는 CUDA 설치가 필요한데, NVIDIA 최신 그래픽카드 드라이버 설치 후, CUDA 다운로드하는 방법을 이용할 수 있다. 이때, 딥러닝부(390)는, DL4J YOLO 객체 검출과 연계하하고, CUDA 동기화(Synchronize)를 진행하여 학습 모델 설정 시 GPU를 사용하도록 소스코드를 이용할 수도 있다.
이렇게 속도 향상을 위한 GPU 설정도 완료되었으면, 딥러닝부(390)는 학습 데이터를 모델링, 즉 스캔 데이터 중 콘텐츠 영역의 위치, 콘텐츠 영역의 양단에 종이책의 두께까지 함께 스캔된 부분의 위치, 중심선, 스캔 결과물 중 작업자의 실수와 같은 예외사항을 학습하는 모델링을 수행하게 된다. 이러한 다양한 학습 데이터로부터 어느 것을 추출해야 하고, 어느 것을 버려야, 즉 잘라서 제거해야 하는지를 딥러닝부(390)에서 학습하는 경우, 이후 새로운 스캔 데이터가 입력으로 들어오더라도 어느 부분까지를 콘텐츠 영역으로 볼 것인지, 어느 부분은 버리고 자를 것인지, 어느 부분은 자르지 말아야 하는지 등을 파악할 수 있게 된다.
딥러닝부(390)는 Epoch를 50번으로 설정 후, 배치 사이즈는 4Size로 설정하여, 1 Epoch 동안 2500회 학습을 50번을 하게끔 설정할 수 있다. 만약, 스캔 데이터로부터 추출되는 콘텐츠 영역의 정확도가 낮거나 오류가 발생했을 때에는 Epoch의 횟수 또는 배치 사이즈를 조절하여 학습하도록 설정할 수도 있다. 이때, 딥러닝부(390)는 학습이 종료된 후에도 이전에 구축되었던 모델링을 이용하여 이어서 학습할 수 있도록 설정할 수도 있다. 또, 딥러닝부(390)는 학습 모델을 적응적으로 적용할 수 있도록 설정할 수도 있는데, 학습을 하면서 생성된 학습 모델을 사용하기 위해서는 해당 학습 모델을 호출 및 호출된 이미지에 적용하는 애플리케이션을 생성하고, 학습에 사용된 클래스를 세팅하여 비교분석하도록 설정할 수도 있다.
상술한 모든 단계를 정리한 것이 도 10이다. 도 10을 보면,
① 본 발명의 일 실시예에 따른 자동변환 서비스 제공 서버(300)는, 학습 데이터를 자동 또는 수동으로 생성하고, ② GPU 설정을 한 후 GPU 상에서 학습 데이터가 학습될 수 있도록 하며, ③ 학습 데이터의 학습 결과에 대한 품질 검사를 인간의 개입으로 처리한 후, 오류가 발생했거나 품질이 낮은 경우 다시 학습 데이터에 업데이트하여 오류의 패턴을 분석하고 제거하는 방향으로 학습이 되도록 한다. 그리고, ④ 학습이 완료된 경우, 자동변환 서비스 제공 서버(300)는, 적어도 하나의 종류의 학습 모델을 생성한다.
한편, ⑤ 자동변환 서비스 제공 서버(300)는 사용자 단말(100)에서 종이책을 전자책으로 만들어달라는 요청이 수신되면, ⑥ 이미 구축한 학습 모델, 즉 적어도 하나의 종류의 딥러닝 모델을 이용하여 스캔 데이터로부터 콘텐츠 영역만이 깔끔하게 잘린 결과 이미지를 도출하고, ⑦ 기울기를 처리한 후 ⑧ DPI 변환 처리 후 사용자 단말(100)로 전송될 수 있다. 물론, 기울기 처리는 상술한 바와 같이 기본 임계처리 과정에서 수행될 수 있음은 상술한 바와 같다.
이와 같은 도 2 내지 도 10의 딥러닝 기반 전자책 자동변환 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 딥러닝 기반 전자책 자동변환 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 11은 본 발명의 일 실시예에 따른 도 1의 딥러닝 기반 전자책 자동변환 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 11을 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 11에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.
도 11을 참조하면, 자동변환 서비스 제공 서버는, 사용자 단말로부터 전자책 변환 요청이 수신되는 경우, 전자책 변환 요청된 종이책의 스캔 데이터를 입력받는다(S1100).
그리고, 자동변환 서비스 제공 서버는, 기 생성된 딥러닝 모델에 기반하여 스캔 데이터 중 종이책에 대응하는 콘텐츠 영역이 배치된 위치 및 형태를 파악하고(S1200), 딥러닝 모델에 기반하여 스캔 데이터 중 콘텐츠 영역을 제외한 영역에서 콘텐츠 영역으로 인식되는 오류를 제거하기 위하여 노이즈 제거를 수행한다(S1300).
또, 자동변환 서비스 제공 서버는, 딥러닝 모델에 의해 도출된 콘텐츠 영역의 중심선 및 콘텐츠 영역의 양단을 OpenCV를 이용하여 사용자 단말에서 지정한 납품기준에 대응하도록 이미지 가공을 수행한다(S1400).
상술한 단계들(S1100~S1400)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S1100~S1400)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 11의 딥러닝 기반 전자책 자동변환 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 10을 통해 딥러닝 기반 전자책 자동변환 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 11을 통해 설명된 일 실시예에 따른 딥러닝 기반 전자책 자동변환 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 딥러닝 기반 전자책 자동변환 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 딥러닝 기반 전자책 자동변환 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (10)

  1. 자동변환 서비스 제공 서버에서 실행되는 자동변환 서비스 제공 방법에 있어서,
    사용자 단말로부터 전자책 변환 요청이 수신되는 경우, 상기 전자책 변환 요청된 종이책의 스캔 데이터를 입력받는 단계;
    기 생성된 딥러닝 모델에 기반하여 상기 스캔 데이터 중 상기 종이책에 대응하는 콘텐츠 영역이 배치된 위치 및 형태를 파악하는 단계;
    상기 딥러닝 모델에 기반하여 상기 스캔 데이터 중 상기 콘텐츠 영역을 제외한 영역에서 콘텐츠 영역으로 인식되는 오류를 제거하기 위하여 노이즈 제거를 수행하는 단계; 및
    상기 딥러닝 모델에 의해 도출된 상기 콘텐츠 영역의 중심선 및 콘텐츠 영역의 양단을 OpenCV를 이용하여 상기 사용자 단말에서 지정한 납품기준에 대응하도록 이미지 가공을 수행하는 단계;
    를 포함하는 딥러닝 기반 딥러닝 기반 전자책 자동변환 서비스 제공 방법.
  2. 제 1 항에 있어서,
    상기 기 생성된 딥러닝 모델에 기반하여 상기 스캔 데이터 중 상기 종이책에 대응하는 콘텐츠 영역이 배치된 위치 및 형태를 파악하는 단계는,
    상기 콘텐츠 영역이 배치된 위치 및 형태를 파악하기 이전에, 기본 임계처리(GrayScale) 후 적응 임계처리(Thresholding)를 수행하여 상기 종이책의 형태를 파악하는 단계;
    를 포함하고,
    상기 기본 임계처리는 상기 스캔 데이터의 전 영역에 대하여 기 설정된 임계값으로 이진화를 수행하는 것이고, 상기 적응 임계처리는 상기 스캔 데이터 내 일부 영역 내의 이웃한 픽셀의 값을 이용하여 상기 일부 영역에 적용할 기준 임계값을 자체적으로 계산하는 것인, 딥러닝 기반 딥러닝 기반 전자책 자동변환 서비스 제공 방법.
  3. 제 1 항에 있어서,
    상기 스캔 데이터 중 상기 콘텐츠 영역을 제외한 영역에서 콘텐츠 영역으로 인식되는 오류를 제거하기 위하여 노이즈 제거를 수행하는 단계는,
    형태 변형(Morphological Transformation) 기법 중 팽창(Dilation) 및 침식(Erosion)을 포함한 오프닝(Opening) 또는 클로징(Closing)을 적용하는 단계;
    를 포함하고,
    상기 오프닝은 상기 콘텐츠 영역을 제외한 영역에서 콘텐츠 영역으로 인식되는 오류를 제거하기 위하여 침식을 적용 후 팽창을 적용하고,
    상기 클로징은 상기 스캔 데이터 중 상기 콘텐츠 영역에 대응하는 종이책의 윤곽선 추출의 정확도를 높이기 위하여 팽창을 적용 후 침식을 적용하는 것인, 딥러닝 기반 딥러닝 기반 전자책 자동변환 서비스 제공 방법.
  4. 제 1 항에 있어서,
    상기 딥러닝 모델에 의해 도출된 상기 콘텐츠 영역의 중심선 및 콘텐츠 영역의 양단을 OpenCV를 이용하여 상기 사용자 단말에서 지정한 납품기준에 대응하도록 이미지 가공을 수행하는 단계는,
    상기 중심선 및 콘텐츠 영역의 양단을 제거하고 좌측 페이지 및 우측 페이지에 대응하는 2 장의 이미지로 분리하는 단계;
    를 포함하는 것인, 딥러닝 기반 딥러닝 기반 전자책 자동변환 서비스 제공 방법.
  5. 제 1 항에 있어서,
    상기 딥러닝 모델에 의해 도출된 상기 콘텐츠 영역의 중심선 및 콘텐츠 영역의 양단을 OpenCV를 이용하여 상기 사용자 단말에서 지정한 납품기준에 대응하도록 이미지 가공을 수행하는 단계 이후에,
    상기 이미지 가공이 완료된 이미지의 상단과 상기 이미지의 중심점이 수평면과 이루는 직선 간의 각도인 외각값이 기 설정된 오차범위 내로 수렴하고, 상기 이미지의 상단이 상기 수평면을 이루는 직선과 일치하도록 기울기 조정을 수행하는 단계;
    를 더 포함하는 것인, 딥러닝 기반 딥러닝 기반 전자책 자동변환 서비스 제공 방법.
  6. 제 1 항에 있어서,
    상기 딥러닝 모델에 의해 도출된 상기 콘텐츠 영역의 중심선 및 콘텐츠 영역의 양단을 OpenCV를 이용하여 상기 사용자 단말에서 지정한 납품기준에 대응하도록 이미지 가공을 수행하는 단계 이후에,
    상기 납품기준에 대응하도록 DPI(Dots Per Inch) 변환을 수행하는 단계;
    를 더 포함하는 것인, 딥러닝 기반 딥러닝 기반 전자책 자동변환 서비스 제공 방법.
  7. 제 1 항에 있어서,
    상기 사용자 단말로부터 전자책 변환 요청이 수신되는 경우, 상기 전자책 변환 요청된 종이책의 스캔 데이터를 입력받는 단계 이전에,
    적어도 하나의 종류의 스캔 데이터를 학습 데이터로 수집하고, 수동으로 상기 학습 데이터 내 중심선 위치 및 콘텐츠 영역의 양단을 경계(Boundary)로 설정한 후 클래스(Class)명을 지정하여 XML 파일 형태로 저장하는 단계;
    상기 학습 데이터 및 경계가 설정된 XML 파일을 동일한 명칭으로 설정하여 학습 데이터로 세팅하는 단계;
    를 더 포함하는 것인, 딥러닝 기반 딥러닝 기반 전자책 자동변환 서비스 제공 방법.
  8. 제 1 항에 있어서,
    상기 사용자 단말로부터 전자책 변환 요청이 수신되는 경우, 상기 전자책 변환 요청된 종이책의 스캔 데이터를 입력받는 단계 이전에,
    적어도 하나의 종류의 스캔 데이터를 학습 데이터로 수집하고, 자동으로 상기 학습 데이터를 기본 임계처리 후 적응 임계처리를 수행하여 상기 학습 데이터 내 콘텐츠 영역의 위치, 크기 및 형태를 파악하는 단계;
    형태 변형(Morphological Transformation) 기법 중 팽창(Dilation) 및 침식(Erosion)을 포함한 오프닝(Opening) 또는 클로징(Closing)을 적용하여 상기 콘텐츠 영역을 제외한 영역에서 발생한 노이즈를 제거하는 단계;
    상기 학습 데이터 내 이미지 경계(Boundary)가 설정된 XML 파일을 동일한 명칭으로 설정하여 학습 데이터로 세팅하는 단계;
    를 더 포함하는 것인, 딥러닝 기반 딥러닝 기반 전자책 자동변환 서비스 제공 방법.
  9. 제 1 항에 있어서,
    상기 사용자 단말로부터 전자책 변환 요청이 수신되는 경우, 상기 전자책 변환 요청된 종이책의 스캔 데이터를 입력받는 단계 이전에,
    적어도 하나의 종류의 스캔 데이터를 학습 데이터로 수집하고 적어도 하나의 종류의 딥러닝 모델을 이용하여 상기 스캔 데이터 내 콘텐츠 영역, 중심선 및 콘텐츠 영역의 양단을 도출하도록 학습을 진행하는 단계;
    를 더 포함하고,
    상기 상기 적어도 하나의 딥러닝 모델의 학습을 진행하기 이전에, 상기 적어도 하나의 딥러닝 모델이 그래픽카드의 GPU 사용하도록 설정하는 것인, 딥러닝 기반 전자책 자동변환 서비스 제공 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
KR1020200099981A 2020-08-10 2020-08-10 딥러닝 기반 전자책 자동변환 서비스 제공 방법 KR102562170B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200099981A KR102562170B1 (ko) 2020-08-10 2020-08-10 딥러닝 기반 전자책 자동변환 서비스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200099981A KR102562170B1 (ko) 2020-08-10 2020-08-10 딥러닝 기반 전자책 자동변환 서비스 제공 방법

Publications (2)

Publication Number Publication Date
KR20220019501A true KR20220019501A (ko) 2022-02-17
KR102562170B1 KR102562170B1 (ko) 2023-08-01

Family

ID=80493325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200099981A KR102562170B1 (ko) 2020-08-10 2020-08-10 딥러닝 기반 전자책 자동변환 서비스 제공 방법

Country Status (1)

Country Link
KR (1) KR102562170B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102478630B1 (ko) * 2022-05-24 2022-12-16 정준 이미지 데이터의 포맷 변환 방법 및 장치
KR102647227B1 (ko) * 2023-05-10 2024-03-13 한화시스템 주식회사 함포 배열 조정 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101225482B1 (ko) * 2012-02-15 2013-01-23 인텔 코오퍼레이션 디지털 영상 처리 방법, 장치, 및 컴퓨터로 판독 가능한 기록 매체
KR101766787B1 (ko) * 2016-11-04 2017-08-09 (주)한국플랫폼서비스기술 Gpu장치를 기반으로 하는 딥러닝 분석을 이용한 영상 보정 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101225482B1 (ko) * 2012-02-15 2013-01-23 인텔 코오퍼레이션 디지털 영상 처리 방법, 장치, 및 컴퓨터로 판독 가능한 기록 매체
KR101766787B1 (ko) * 2016-11-04 2017-08-09 (주)한국플랫폼서비스기술 Gpu장치를 기반으로 하는 딥러닝 분석을 이용한 영상 보정 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102478630B1 (ko) * 2022-05-24 2022-12-16 정준 이미지 데이터의 포맷 변환 방법 및 장치
KR102543025B1 (ko) * 2022-05-24 2023-06-13 정준 이미지 데이터의 포맷 변환 방법 및 장치
KR102647227B1 (ko) * 2023-05-10 2024-03-13 한화시스템 주식회사 함포 배열 조정 장치 및 방법

Also Published As

Publication number Publication date
KR102562170B1 (ko) 2023-08-01

Similar Documents

Publication Publication Date Title
US9805281B2 (en) Model-based dewarping method and apparatus
US7835589B2 (en) Photographic document imaging system
WO2020119420A1 (zh) 前端页面生成方法、装置、计算机设备及存储介质
WO2018223994A1 (zh) 中文打印字符图像合成方法及装置
US8472726B2 (en) Document comparison and analysis
US20050221856A1 (en) Cellular terminal image processing system, cellular terminal, and server
KR102562170B1 (ko) 딥러닝 기반 전자책 자동변환 서비스 제공 방법
JP2011022867A (ja) 画像処理装置、画像処理システムおよびプログラム
CN105825214A (zh) 一种基于tesseract引擎的文字识别方法及装置
CN111145124A (zh) 一种图像倾斜的校正方法及装置
JP2014164622A (ja) 情報システム及びサーバー
CN110717397A (zh) 一种基于手机相机的在线翻译系统
CN106844567A (zh) 一种纸质稿件转换为网络文本页面的方法及系统
CN113627442A (zh) 医疗信息的录入方法、装置、设备及存储介质
AU2020273367A1 (en) Photographic document imaging system
CN112232390A (zh) 一种高像素大图像的识别方法和系统
JP2021033721A (ja) 情報処理システム、その制御方法、及びプログラム
CN117908742A (zh) 图像处理方法以及装置、电子设备及存储介质
JP2020095430A (ja) 情報処理装置、その制御方法とプログラム
CN117422945A (zh) 训练样本生成方法、电子设备及计算机存储介质
JP2023034823A (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
AU2011253975A1 (en) Photographic document imaging system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant