KR20220162585A - Device and method for web auto generator for extracting web design properties - Google Patents

Device and method for web auto generator for extracting web design properties Download PDF

Info

Publication number
KR20220162585A
KR20220162585A KR1020210103033A KR20210103033A KR20220162585A KR 20220162585 A KR20220162585 A KR 20220162585A KR 1020210103033 A KR1020210103033 A KR 1020210103033A KR 20210103033 A KR20210103033 A KR 20210103033A KR 20220162585 A KR20220162585 A KR 20220162585A
Authority
KR
South Korea
Prior art keywords
web
design
extracting
properties
unit
Prior art date
Application number
KR1020210103033A
Other languages
Korean (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 (주)애니로직
Publication of KR20220162585A publication Critical patent/KR20220162585A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Document Processing Apparatus (AREA)
  • Preliminary Treatment Of Fibers (AREA)
  • Auxiliary Devices For And Details Of Packaging Control (AREA)

Abstract

The present invention relates to a web publishing technology and, more specifically, to a device and method for generating web documents extracting web design properties, which use deep learning to convert design-related files such as images into files which can be recognized on a web. According to an embodiment of the present invention, it is possible to produce and generate the web page capable of web service by detecting and analyzing an object in an image or a screen design using deep learning.

Description

웹 디자인 속성을 추출하는 웹 문서 생성 장치 및 방법 { DEVICE AND METHOD FOR WEB AUTO GENERATOR FOR EXTRACTING WEB DESIGN PROPERTIES }Web document generation device and method for extracting web design properties { DEVICE AND METHOD FOR WEB AUTO GENERATOR FOR EXTRACTING WEB DESIGN PROPERTIES }

본 발명은 웹 퍼블리싱 기술에 관한 것으로, 더욱 상세하게는 딥 러닝을 이용해 이미지와 같은 디자인 관련 파일을 웹 페이지로 변환하고, 웹 문서를 생성하는 웹 디자인 속성을 추출하는 웹 문서 생성 장치 및 방법에 대한 것이다.The present invention relates to web publishing technology, and more particularly, to a web document generation device and method for converting design-related files such as images into web pages using deep learning and extracting web design attributes for generating web documents. will be.

웹 개발 업계에서는 만성적인 개발자 부족을 해결하기 위한 인력 공급과 효율성을 위한 구조 개선을 요구하고 있다. 기존의 체계적 웹 개발 프로세스는 기획 - 디자인 - 퍼블리싱 - 개발을 포함하는데 기획 이후의 개발 과정은 반복적인 작업을 다수 내포하고 있다. 특히 디자인에서 이어지는 퍼블리싱 과정은 디자인 관련 파일(이미지 또는 디자인 프로그램 파일)을 웹에서 인식할 수 있는 파일로 변환시켜주는 과정이기 때문에 일종의 기계적인 번역 작업이라고 할 수 있다. 이런 작업에 많은 개발자 인력이 투입되고 있으며 늘어나는 개발자 인구에도 불구하고 수요가 충족되지 못하는 이유 중 하나이다. 이에 포토샵 프로그램과 같은 전문 디자인 툴에서는 디자인 파일을 웹 문서로 자동 변환시켜 주는 등의 노력이 있었으나 실제 현장에서 사용하기엔 부족한 기계적인 번역에 불과하여 여전히 개발 인력을 투입하여 해결하고 있는 실정이다.The web development industry is demanding manpower supply and structural improvements for efficiency to address the chronic developer shortage. The existing systematic web development process includes planning - design - publishing - development, but the development process after planning involves many repetitive tasks. In particular, the publishing process following design is a process of converting design-related files (images or design program files) into files that can be recognized on the web, so it can be called a kind of mechanical translation work. It takes a lot of developer manpower to do this, and it's one of the reasons why demand is not being met despite the growing developer population. In response, professional design tools such as Photoshop programs have made efforts to automatically convert design files into web documents, but it is only a mechanical translation that is insufficient for actual field use, so development personnel are still involved in solving the problem.

1. 한국 등록특허공보 제10-1991297 호 “문서 편집 인터페이스의 커스터마이징을 지원하는 웹 기반 문서 편집 지원 장치 및 그 동작 방법”(등록일자: 2019년 06월 14일)1. Korea Patent Registration No. 10-1991297 “Web-based document editing support device supporting customization of document editing interface and its operation method” (Registration date: June 14, 2019)

본 발명은 딥 러닝을 이용하여 이미지에서 객체 정보와 이미지 속성 정보를 추출하고 레이아웃을 구성하여 웹 페이지로 빠르게 변환하는 웹 디자인 속성을 추출하는 웹 문서 생성 장치 및 방법을 제공한다.The present invention provides a web document generation apparatus and method for extracting object information and image property information from an image using deep learning, constructing a layout, and extracting web design properties that are rapidly converted into a web page.

본 발명의 일 측면에 따르면, 웹 디자인 속성을 추출하는 웹 문서 생성 장치를 제공한다.According to one aspect of the present invention, a web document generating apparatus for extracting web design properties is provided.

본 발명의 일 실시 예에 따른 웹 페이지 영역 분할을 이용하는 웹 디자인 속성을 추출하는 웹 문서 생성 장치는 웹 페이지로 변환하려는 데이터를 입력 받는 입력부, 데이터에서 웹 페이지로 표현할 영역을 탐지하고 분할하는 영역 분할부, 데이터에 포함된 객체를 탐지하는 객체 탐지부, 객체가 여러 영역에 중복되는 경우 영역에 맞춰 객체의 위치와 크기를 보정하는 보정부, 객체에 포함된 디자인 속성 정보를 추출하는 디자인 속성부, 분할된 영역, 객체 및 디자인 속성 정보 중 어느 하나를 포함하여 웹 페이지의 레이아웃을 구성하는 레이아웃 구성부 및 웹 페이지를 구현하기 위한 정보를 파일을 생성하는 생성부를 포함할 수 있다.According to an embodiment of the present invention, a web document generation apparatus for extracting web design properties using web page area segmentation includes an input unit for receiving data to be converted into a web page, and a region separator for detecting and dividing a region to be expressed as a web page from data. An object detection unit that detects objects included in installment, data, a correction unit that corrects the position and size of an object in accordance with the area when an object overlaps in multiple areas, a design property unit that extracts design property information included in an object, It may include a layout configuration unit that configures the layout of the web page including any one of the divided areas, objects, and design property information, and a generation unit that creates a file of information for implementing the web page.

본 발명의 다른 일 측면에 따르면, 웹 디자인 속성을 추출하는 웹 문서 생성 방법 및 이를 실행하는 컴퓨터 프로그램을 제공한다.According to another aspect of the present invention, a web document generation method for extracting web design properties and a computer program for executing the same are provided.

본 발명의 일 실시 예에 따른 웹 디자인 속성을 추출하는 웹 문서 생성 방법은 웹 페이지로 변환하려는 데이터를 입력 받는 단계, 데이터에서 웹 페이지로 표현할 영역을 탐지하고 분할하는 단계, 데이터에 포함된 객체를 탐지하는 단계, 객체가 여러 영역에 중복되는 경우 영역에 맞춰 객체의 위치와 크기를 보정하는 단계, 객체에 포함된 디자인 속성 정보를 추출하는 단계, 분할된 영역, 객체 및 디자인 속성 정보 중 어느 하나를 포함하여 웹 페이지의 레이아웃을 구성하는 단계 및 웹 페이지를 구현하기 위한 정보를 파일을 생성하는 단계를 포함할 수 있다.A web document creation method for extracting web design properties according to an embodiment of the present invention includes the steps of receiving data to be converted into a web page, detecting and dividing an area to be expressed as a web page in the data, and selecting an object included in the data. Detecting, correcting the position and size of an object in accordance with the area if the object overlaps in multiple areas, extracting design property information included in the object, dividing area, object and design property information It may include configuring the layout of the web page and generating a file with information for implementing the web page.

본 발명의 일 실시 예에 따르면, 딥 러닝을 활용하여 이미지 또는 화면 설계서 등의 데이터에 포함된 객체를 탐지하고 분석하여 웹 서비스가 가능한 웹 페이지를 제작하고 생성할 수 있다.According to an embodiment of the present invention, it is possible to produce and generate a web page capable of web service by detecting and analyzing an object included in data such as an image or a screen design by utilizing deep learning.

또한, 본 발명의 일 실시 예에 따르면, 기존의 웹 퍼블리싱 과정을 개선하여 웹 페이지 작성 시간을 단축하여 생산성을 향상시킬 수 있다.In addition, according to an embodiment of the present invention, it is possible to improve productivity by reducing web page creation time by improving the existing web publishing process.

또한 본 발명의 일 실시 예에 따르면, 생성된 웹 페이지를 표현하는 웹 문서를 생성하고 저장하여 제공하므로 관리 또는 수정이 용이하다.In addition, according to an embodiment of the present invention, since a web document representing a generated web page is generated, stored, and provided, management or modification is easy.

도 1 내지 도 4는 본 발명의 일 실시예에 따른 웹 디자인 속성을 추출하는 웹 문서 생성 장치를 설명하기 위한 도면들.
도 5는 본 발명의 일 실시예에 따른 웹 디자인 속성을 추출하는 웹 문서 생성 방법을 설명하기 위한 도면.
도 6 내지 도 16은 본 발명의 일 실시 예에 따른 웹 디자인 속성을 추출하는 웹 문서 생성 장치를 실행하여 웹 페이지를 생성하는 예시들.
1 to 4 are diagrams for explaining a web document generating apparatus for extracting web design attributes according to an embodiment of the present invention.
5 is a diagram for explaining a web document generation method for extracting web design properties according to an embodiment of the present invention.
6 to 16 are examples of generating a web page by executing a web document generating apparatus for extracting web design properties according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated in the drawings and will be described in detail through detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the present invention, if it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. Also, as used in this specification and claims, the terms "a" and "an" are generally to be construed to mean "one or more" unless stated otherwise.

이하, 본 발명의 바람직한 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. do it with

본 발명은 딥 러닝을 이용해 이미지 또는 화면 설계서를 분석하여 웹 페이지로 구현할 수 있다. The present invention can be implemented as a web page by analyzing an image or screen design using deep learning.

도 1내지 도 4는 본 발명의 일 실시예에 따른 웹 디자인 속성을 추출하는 웹 문서 생성 장치를 설명하기 위한 도면들이다.1 to 4 are diagrams for explaining a web document generating apparatus for extracting web design properties according to an embodiment of the present invention.

도 1은 본 발명의 일 실시예에 따른 웹 디자인 속성을 추출하는 웹 문서 생성 장치를 간략히 예시한 블록도이다.1 is a block diagram briefly illustrating a web document generating apparatus for extracting web design properties according to an embodiment of the present invention.

도 1을 참조하면, 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 입력부(100), 영역 분할부(200), 객체 탐지부(300), 디자인 속성부(400), 레이아웃 구성부(500), 및 생성부(600)를 포함할 수 있다.Referring to FIG. 1 , the web document creation device 10 for extracting web design properties includes an input unit 100, a region segmentation unit 200, an object detection unit 300, a design property unit 400, a layout configuration unit ( 500), and a generator 600.

입력부(100)는 웹 페이지로 변환 생성하려는 데이터를 입력 받는다. 예를 들면 입력부(100)는 화면 설계서의 이미지와 같은 디자인 파일 또는 기획서 등 일 수 있다.The input unit 100 receives data to be converted into a web page. For example, the input unit 100 may be a design file such as an image of a screen design document or a plan document.

영역 분할부(200)는 입력 받은 데이터에서 웹 페이지로 표현할 영역을 탐지하고 분할한다. 영역 분할부(200)는 입력 받은 데이터에 포함된 객체를 탐지하고 위치와 크기를 추출한다. 예를 들면, 영역 분할부(200)는 입력 받은 데이터의 영역을 OpenCV 라이브러리와 이미지 프로세싱 알고리즘을 이용해 HTML에서 표현할 수 있는 영역으로 분할할 수 있다.The region dividing unit 200 detects and divides a region to be expressed as a web page in the input data. The region segmentation unit 200 detects an object included in the input data and extracts its location and size. For example, the region divider 200 may divide the region of input data into regions that can be expressed in HTML using the OpenCV library and image processing algorithm.

웹 페이지는 기본적으로 직사각형으로 구성되어 있다. 컴포넌트를 포함한 이미지가 직사각형이 아닌 경우에도, 웹 페이지에서는 이미지에 포함된 컴포넌트를 구성할 수 있는 사각형의 영역으로 생성해야 한다. 영역 분할부(200)는 직사각형으로 입력 받은 데이터의 영역을 분할할 수 있다. Web pages are basically made up of rectangles. Even if the image including the component is not rectangular, the web page must create a rectangular area that can compose the component included in the image. The region dividing unit 200 may divide the region of the input data into rectangles.

본 발명의 실시 예에 따라, 영역 분할부(200)는 단색 또는 그라디언트의 일반 배경이라 가정하고 분할을 진행한다. 영역 분할부(200)는 HTML에서 사용되는 padding과 margin을 고려하여 가장자리에서 시작하여 색 변화가 시작되는 곳을 내부 영역의 시작으로 판별하고 분할할 수 있다. 영역 분할부(200)는 배경색과 같은 선을 기준으로 하여 여러 영역으로 분할할 수 있다.According to an embodiment of the present invention, the region dividing unit 200 proceeds with division assuming that the background is a plain background of a solid color or gradient. The area divider 200 may determine the starting point of the color change starting from the edge as the start of the inner area and divide the area by considering the padding and margin used in HTML. The area divider 200 may divide the area into several areas based on the same line as the background color.

본 발명의 실시 예에 따라, 영역 분할부(200)는 같은 색을 같은 영역으로 판단하는 영역 확장(region growing) 알고리즘을 이용해 추가 분할을 수행한다. 예를 들면, 영역 분할부(200)는 한 영역 내에서 다른 컴포넌트에 의해 감싸져 구분될 수 없는 경우에 영역 확장(region growing) 알고리즘을 이용하여 추가 분할할 수 있다. 영역 확장(region growing) 알고리즘은 한 영역 내에서 다른 컴포넌트에 의해 겹쳐져서 선으로 구분될 수 없는 경우를 고려해 같은 색을 같은 영역으로 판단할 수 있다. 예를 들어, 영역 분할부(200)는 영역 분할된 이미지를 2d 배열로 저장하고, 2d 배열의 각 점을 Seed 로 정한 후 각각의 점에 대하여 이미 처리된 상태가 아니라면 영역 확장(region growing) 알고리즘을 이용할 수 있다. 영역 분할부(200)는 영역 확장(region growing) 알고리즘을 이용해 일정 임계 값(threshold)을 넘어가는 부분을 edge 로 가정하고, 동일한 색을 가지는 영역의 크기와 위치를 반환하여 영역을 분할할 수 있다.According to an embodiment of the present invention, the region dividing unit 200 performs additional division using a region growing algorithm that determines the same color as the same region. For example, the region dividing unit 200 may additionally divide a region by using a region growing algorithm when it cannot be distinguished because it is surrounded by other components within one region. A region growing algorithm may determine the same color as the same region in consideration of a case where a region cannot be distinguished by a line because it is overlapped by another component. For example, the region division unit 200 stores the region-divided image in a 2d array, sets each point of the 2d array as a Seed, and then performs a region growing algorithm for each point if it has not already been processed. is available. The region divider 200 assumes a portion exceeding a certain threshold as an edge using a region growing algorithm, and returns the size and position of the region having the same color to divide the region. .

영역 분할부(200)는 분할 과정에서 서로 다른 알고리즘에 의해 발견되는 중복된 영역을 정리한다. 영역 분할부(200)는 배경색과 같은 선을 기준으로 영역 분할을 하거나 영역 확장(region growing) 알고리즘으로 영역 분할을 할 수 있으므로 서로 같은 영역을 찾아 영역이 중복될 수 있다. 웹 페이지는 하나의 영역에 하나의 컴포넌트를 구성하므로 웹 페이지의 구조에 맞도록 중복되는 영역을 제거할 수 있다.The region division unit 200 arranges overlapping regions found by different algorithms in the division process. Since the region division unit 200 divides regions based on a line having the same background color or divides regions using a region growing algorithm, regions that are identical to each other can be found and regions can be overlapped. Since a web page constitutes one component in one area, overlapping areas can be removed to fit the structure of the web page.

웹 페이지는 트리 구조를 이루고 있기 때문에 영역 분할부(200)는 분할한 영역의 리스트를 루트(root)가 하나인 형태로 변경한다. 즉, 영역 분할부(200)는 영역을 구성하는 x, y, width, height 정보를 이용하여 포함관계를 판단하고 parent-children구조로 변환시켜 트리 구조를 구현할 수 있다.Since the web page has a tree structure, the region divider 200 changes the list of divided regions into a form with one root. That is, the region dividing unit 200 may implement a tree structure by determining an inclusion relationship using x, y, width, and height information constituting the region and converting the region into a parent-children structure.

영역 분할부(200)는 HTML상에서는 별개의 영역이지만 실제 다른 영역과 함께 구현되어 일부분으로 취급되는 속성을 하나의 영역으로 통합할 수 있다. 예를 들면, 보더(border) 속성은 HTML상으로는 이미지 영역과 별개의 영역이지만, 웹 페이지 상에서는 이미지의 일부분에 해당하는 속성으로 취급할 수 있다. 영역 분할부(200)는 이미지의 일부분으로 취급되는 border속성을 이미지 영역으로 함께 통합할 수 있다.The region divider 200 is a separate region on HTML, but is actually implemented together with other regions to integrate attributes treated as a part into one region. For example, a border attribute is an area separate from an image area on HTML, but can be treated as an attribute corresponding to a part of an image on a web page. The region divider 200 may integrate border properties treated as part of the image into the image region.

영역 분할부(200)는 모든 영역을 직사각형으로 분할하기 때문에 서로 겹쳐질 수 있다. 이때 영역 분할부(200)는 z-index를 계산하여 겹친 영역 중 어떤 영역이 앞(위)에 표시되고, 어떤 영역이 뒤(아래)에 표시되어야 하는지 겹친 영역의 상하를 판별할 수 있다.Since the region divider 200 divides all regions into rectangles, they may overlap each other. At this time, the region divider 200 may calculate the z-index to determine which region should be displayed in the front (top) and which region should be displayed in the back (bottom) among the overlapped regions, the top and bottom of the overlapped region.

객체 탐지부(300)는 입력 받은 데이터에 포함된 객체를 탐지할 수 있다. 객체 탐지부(300)은 입력 받은 데이터에 포함된 UI 객체의 좌표, 종류, 계층관계 및 태그 속성을 추출한다. 객체 탐지부(300)는 합성곱 신경망(CNN)을 이용한 객체 탐지 학습 모델로 입력 받은 데이터에 표현된 객체를 탐지할 수 있다. 예를 들면 객체 탐지부(300)은 합성곱 신경망(CNN)을 이용하여 이미지 상에 객체가 존재하는 위치와 해당 객체가 무엇인지 판별한다. 객체 탐지부(300)은 OCR을 이용해 객체 내의 문자열을 탐지하고 문자열의 위치와 문자를 추출한다.The object detection unit 300 may detect an object included in the input data. The object detection unit 300 extracts the coordinates, type, hierarchical relationship, and tag properties of the UI object included in the input data. The object detection unit 300 may detect an object represented in input data with an object detection learning model using a convolutional neural network (CNN). For example, the object detection unit 300 uses a convolutional neural network (CNN) to determine a position where an object exists on an image and what the corresponding object is. The object detection unit 300 detects a string in an object using OCR and extracts the position and character of the string.

객체 탐지부(300)는 객체를 판별하여 객체 유형, 위치 및 크기를 포함하는 객체 리스트를 추출할 수 있다. The object detection unit 300 may determine an object and extract an object list including an object type, location, and size.

객체 탐지부(300)는 객체 탐지 학습 모델의 데이터 셋으로 웹 컴포넌트 데이터를 수집하여 학습을 진행할 수 있다. 객체 탐지부(200)는 웹 크롤링을 이용해야 객체 탐지 학습을 위한 데이터를 수집할 수 있다. 예를 들면 객체 탐지부(300)는 보유 중인 웹 퍼블리싱 파일들, 상용 페이지, 웹 크롤러가 수집한 브랜드 페이지, 국내외 쇼핑몰 페이지 등을 수집하여 데이터 셋을 생성할 수 있다. 객체 탐지부(300)는 수집된 데이터 중에 유효한 데이터를 걸러 내기 위해 검수 작업을 진행할 수 있다. 객체 탐지부(300)는 수집한 유효한 데이터를 저장하고, 쿼리 조건에 따라 데이터를 추출하여 각 학습 모델에 알맞은 입력 형식으로 변환할 수 있다.The object detection unit 300 may perform learning by collecting web component data as a data set of an object detection learning model. The object detection unit 200 may collect data for object detection learning only by using web crawling. For example, the object detection unit 300 may create a data set by collecting web publishing files, commercial pages, brand pages collected by a web crawler, domestic and foreign shopping mall pages, and the like. The object detection unit 300 may perform inspection work to filter out valid data from among the collected data. The object detection unit 300 may store collected valid data, extract data according to query conditions, and convert the data into an input format suitable for each learning model.

웹 페이지는 사용자의 디바이스 별 화면이 다를 수 있어 화면의 크기가 고정되어 있지 않기 때문에 이미지의 크기 또한 유동적이다. 객체 탐지부(300)는 크기가 유동적인 이미지를 학습할 수 있는 스케일로 분할하여 과도한 높이 또는 너비의 입력 데이터의 생성을 방지할 수 있다.The size of the image is also flexible because the screen size of the web page is not fixed because the screen of each user's device can be different. The object detection unit 300 may prevent generation of input data having an excessive height or width by dividing an image having a flexible size into a learnable scale.

도 2를 참조하면, 객체 탐지부(300)는 이미지 내의 객체가 이미지를 분할하는 과정에서 잘리지 않도록 한다. 자세히 설명하면, 객체 탐지부(300)는 도 2(a)와 같이 이미지를 분할하는 경우가 발생한다. 객체 탐지부(300)는 도 2(b)와 같이 이미지를 분할할 때 서로 겹치는 영역을 두어 이미지 내의 객체가 잘리지 않도록 할 수 있다. 예를 들면 객체 탐지부(300)는 이미지 내의 객체가 잘리는 것을 방지하기 위해 kernel 기법 중 스트라이드(stride)를 이용하여 이미지를 분할할 때 서로 겹치는 영역을 두어 이미지 내의 객체가 분할되지 않도록 할 수 있다.Referring to FIG. 2 , the object detection unit 300 prevents objects in an image from being cropped in the process of segmenting the image. In detail, the object detection unit 300 may divide an image as shown in FIG. 2 (a). As shown in FIG. 2(b), the object detection unit 300 may prevent objects in the image from being cut by placing overlapping areas when segmenting the image. For example, the object detection unit 300 may prevent objects in the image from being segmented by providing overlapping regions when segmenting the image using a stride among kernel techniques in order to prevent the object in the image from being cut.

또한 객체 탐지부(300)은 스케일 요소를 고려한 입력 데이터를 생성한다. 예를 들면 객체 탐지부(300)은 조각 낸 이미지 또는 잘라낸 이미지들을 묶어서 생성한 이미지를 입력 데이터로 생성하는 전처리를 수행할 수 있다. 웹 페이지의 크기는 사용자의 디바이스에 따라 크기 및 구성이 유동적이기 때문에, 객체 탐지부(300)은 스케일에 대한 불확실성을 줄이기 위한 전처리를 수행할 수 있다.Also, the object detection unit 300 generates input data considering the scale factor. For example, the object detection unit 300 may perform preprocessing of generating a fragmented image or an image generated by binding the cut images as input data. Since the size and configuration of the web page are flexible according to the user's device, the object detection unit 300 may perform preprocessing to reduce uncertainty about the scale.

실시 예에 따라, 객체 탐지부(300)는 객체 탐지 학습 모델로 moblieNet을 이용할 수 있다. 객체 탐지부(300)는 온전한 하나의 이미지가 아니라 구간 별로 나눈 멀티 스케일(multi scale)이 적용된 이미지를 입력 데이터로 사용할 수 있다. 하지만 멀티 스케일(Multi scale)이 적용된 여러 구간 별 이미지를 입력 값으로 사용하면 예측에 많은 계산 시간이 소요될 수 있다. 1920*1040 크기의 웹페이지 이미지를 예로 들면, 멀티 스케일(multi scale)을 적용하면 534장의 분할된 이미지로 재구성되어 객체 탐지 학습 모델의 입력 데이터가 된다. 산술적으로 1장의 이미지에서 객체를 예상하는 시간보다 534배의 시간이 더 소요될 수 있다. 따라서 객체 탐지부(300)는 빠른 계산에 가장 적합한 mobile Net을 사용할 수 있다.According to an embodiment, the object detection unit 300 may use moblieNet as an object detection learning model. The object detection unit 300 may use as input data a multi-scaled image divided by section rather than a complete image. However, if multi-scaled images for each section are used as input values, a lot of computation time may be required for prediction. For example, if a web page image with a size of 1920*1040 is applied, multi-scale is reconstructed into 534 divided images, which become input data for an object detection learning model. Arithmetically, it may take 534 times longer than the time to predict an object from one image. Therefore, the object detection unit 300 may use a mobile net most suitable for fast calculation.

웹 페이지는 이미지의 크기도 유동적이지만 이미지 내의 객체의 크기도 유동적이다. 예를 들어 radio button 나 checkbox와 같은 크기가 작은 객체의 경우 인식이나 추출에 문제가 없지만 table이나 navigation 과 같은 크기가 유동적이면서 비교적 큰 객체는 추출하는데 문제가 발생할 수 있다. 객체 탐지부(300)는 객체의 크기에 따라 이미지 크기를 조정하여 객체가 온전히 포함될 수 있도록 한다.In a web page, the size of an image is flexible, but the size of an object in an image is also flexible. For example, there is no problem in recognizing or extracting small objects such as radio buttons or checkboxes, but problems in extracting relatively large objects such as tables or navigation that are flexible in size may occur. The object detection unit 300 adjusts the size of the image according to the size of the object so that the object can be completely included.

객체 탐지부(300)는 각 객체를 탐지하고 추출하기 위한 학습 모델을 탐지 객체에 따라 개별로 생성하고 학습할 수 있다. 객체 탐지부(300)는 유사한 형태를 가지는 UI를 분류하여 UI그룹을 생성하고 객체 탐지 학습 모델을 이용할 수 있다. 예를 들면 객체 탐지부(300)는 navigation 및 pagination은 유사한 UI로 같은 UI 그룹으로 생성하여 동일한 객체 탐지 학습 모델을 이용할 수 있다. 웹 트랜드는 항상 변화하기 때문에 시간에 지남에 따라 새로운 UI가 생성될 수 있다. 객체 탐지부(300)는 각 UI에 따라 가중치(weight)를 다르게 하여 개별 객체 탐지 학습 모델을 이용할 수 있다. 객체 탐지부(300)는 독립적인 개별 학습 모델을 사용하여 새로운 UI 등장 시 전체 학습 모델을 수정할 필요 없이 새로운 모듈로 추가하여 쉽게 사용할 수 있다.The object detection unit 300 may individually create and learn a learning model for detecting and extracting each object according to the detected object. The object detection unit 300 may create a UI group by classifying UIs having a similar shape and use an object detection learning model. For example, the object detection unit 300 may use the same object detection learning model by generating navigation and pagination in the same UI group. Because web trends are always changing, new UIs can be created over time. The object detection unit 300 may use an individual object detection learning model with a different weight according to each UI. The object detection unit 300 uses an independent individual learning model, and when a new UI appears, it can be easily used by adding a new module without needing to modify the entire learning model.

객체 탐지부(300)는 가중치를 달리할 뿐만 아니라 hyper parameter tuning 과정을 통해 UI별로 최적화된 학습 모델을 구현할 수 있다.The object detection unit 300 may implement a learning model optimized for each UI through a hyperparameter tuning process as well as different weights.

도 3을 참조하면, 객체 탐지부(300)는 이미지의 특징을 유지하기 위해 분할된 영역 이미지를 더 크게 변환하여 학습할 수 있다. 객체 탐지부(300)는 서로 다른 크기로 분할된 이미지를 큰 UI의 경우 그대로 학습하고, 작은 UI의 경우 학습 모델의 입력 사이즈에 맞게 확대하여 학습할 수 있다. Referring to FIG. 3 , the object detection unit 300 may learn by converting a divided region image to a larger size in order to maintain the characteristics of the image. The object detection unit 300 may learn images divided into different sizes as they are in the case of a large UI, and may learn by enlarging them according to the input size of the learning model in the case of a small UI.

객체 탐지부(300)는 찾고자 하는 대상의 크기와 종횡비가 다양하기 때문에 큰 UI와 작은 UI로 구분 지어 학습할 수 있는 학습 모델을 구현할 수 있다. 객체 탐지부(300)는 각 레이어가 좀 더 많은 정보량을 바탕으로 판단할 수 있도록 kernel 사이즈를 확장할 수 있다. 예를 들면, 객체 탐지부(300)는 작은 UI를 탐지하기 위해 600*600 사이즈로 학습 모델에서 사용하는 데이터 셋의 최소 이미지 크기로 분할하여 객체를 탐지할 수 있다. 또한 객체 탐지부(300)는 웹 페이지의 기본적인 1920*1080 사이즈로 이미지를 분할하여 객체를 탐지할 수 있다.Since the object detection unit 300 has various sizes and aspect ratios of objects to be found, it is possible to implement a learning model capable of learning by classifying into a large UI and a small UI. The object detection unit 300 may expand the kernel size so that each layer can be determined based on a larger amount of information. For example, in order to detect a small UI, the object detection unit 300 may detect an object by dividing it into a minimum image size of a data set used in a learning model with a size of 600*600. Also, the object detection unit 300 may detect an object by dividing an image into a basic 1920*1080 size of a web page.

객체 탐지부(300)는 객체 탐지 위치의 오차를 줄이기 위해 일반적으로 학습에 사용되는 IoU 기준인 0.5 수준보다 높은 0.8 수치를 적용하여 정확한 위치를 탐지할 수 있도록 한다. The object detection unit 300 applies a value of 0.8, which is higher than the IoU standard of 0.5, which is generally used for learning, in order to reduce the error of the object detection position, so that an accurate position can be detected.

객체 탐지부(300)는 멀티 스케일(multi scale)을 적용하여 다양한 크기의 UI를 탐지할 수 있다. 하지만 객체 탐지부(300)는 객체 탐지할 때 정확한 pixel 단위의 위치까지 추출하기는 쉽지 않다. The object detection unit 300 may detect UIs of various sizes by applying a multi-scale. However, when the object detection unit 300 detects an object, it is not easy to extract an accurate pixel unit location.

이에 객체 탐지부(300)는 멀티 스케일(multi scale) 적용으로 인해 오차가 증폭될 수 있음을 감안하여 이를 보정하는 과정을 수행한다. 객체 탐지부(300)은 객체가 있는 것으로 판단되는 바운딩 상자(bounding box)들을 예측한다. 객체 탐지부(300)은 멀티 스케일(multi-scale)로 예측된 바운딩 상자들 중 겹친 부분을 처리한다. 객체 탐지부(300)은 멀티 스케일로 예측되어 스케일마다 바운딩 상자의 의미가 다른 부분을 감안하여 일정 커널(kernel) 구간별로 비교한다. 객체 탐지부(300)은 non max suppression(loU)을 수행하여 가장 높은 컨피던스 값을 가진 바운딩 상자만 남긴다. 예를 들면, 객체 탐지부(300)는 이미지의 미분 값을 계산할 수 있는 OpenCV 라이브러리의 sobel 기능을 이용해 이미지에서 경계 상자(bounding box) 후보군을 추출하고, 후보군 중 IoU를 기준으로 위치를 보정할 수 있다.Accordingly, the object detection unit 300 performs a process of correcting the error considering that the error may be amplified due to the multi-scale application. The object detection unit 300 predicts bounding boxes in which objects are determined. The object detection unit 300 processes an overlapping portion among bounding boxes predicted in multi-scale. The object detection unit 300 compares each predetermined kernel section in consideration of the part where the meaning of the bounding box is different for each scale that is predicted in multi-scale. The object detection unit 300 performs non max suppression (loU) and leaves only the bounding box with the highest confidence value. For example, the object detection unit 300 may extract a bounding box candidate group from an image using the sobel function of the OpenCV library capable of calculating the differential value of the image, and correct the position of the candidate group based on IoU. have.

보정부(400)는 영역 분할 정보와 객체 탐지 정보를 이용해 탐지한 객체를 포함한 분할 영역을 찾거나 객체를 표현할 수 있는 가장 근접한 분할 영역을 찾아 매칭한다. The correction unit 400 finds a segmented area including the detected object using the segmentation information and the object detection information, or finds and matches the closest segmented area that can represent the object.

보정부(400)는 탐지한 객체가 여러 영역에 중복되는 경우 영역에 맞춰 객체의 위치와 크기를 보정한다. 분할 영역의 위치와 크기는 픽셀 단위로 추출한 객체의 위치와 크기 정보보다 더 정확할 수 있다. 따라서 보정부(400)는 분할 영역 정보에 맞추어 객체의 위치와 크기 정보를 보정할 수 있다.The correction unit 400 corrects the position and size of the object according to the area when the detected object overlaps in several areas. The position and size of the segmentation area may be more accurate than the position and size information of the object extracted in pixel units. Therefore, the correction unit 400 may correct the position and size information of the object according to the segmentation area information.

도 4를 참조하면, 객체 탐지부(300)가 멀티 스케일(multi scale)을 적용하여 객체 탐지 학습 모델을 학습하고 보정부(400)가 위치 보정을 완료하면 정확도가 90% 이상임을 알 수 있다. 도3(a)는 객체 탐지부(300)가 테스트를 위한 상용 웹 페이지에 multi scale을 적용한 것이다. 도 3(b)는 도 3(a)를 입력하여 객체 탐지 학습 모델 수행 후 보정부(400)가 영역 분할 정보에 따라 위치 보정을 완료한 결과로 도 3(c)의 실제 웹 페이지와 거의 유사하다는 것을 확인할 수 있다.Referring to FIG. 4 , when the object detection unit 300 applies multi-scale to learn the object detection learning model and the correction unit 400 completes position correction, it can be seen that the accuracy is 90% or higher. 3(a) shows that the object detection unit 300 applies multi scale to a commercial web page for testing. 3(b) is almost similar to the actual web page of FIG. 3(c) as a result of the correction unit 400 completing location correction according to region segmentation information after performing the object detection learning model by inputting FIG. 3(a). can confirm that it is.

다시 도 1을 참조하면, 디자인 속성부(500)는 탐지한 객체 컴포넌트의 디자인 속성을 추출한다. 디자인 속성은 웹 페이지에서 CSS라고도 칭하는데, 모든 UI는 모든 CSS 속성을 적용할 수 있으므로 UI와는 독립적으로 추출되어야 한다. 디자인 속성부(5000)은 추출한 객체의 UI 배치에 필요한 CSS 정보를 추출한다. Referring back to FIG. 1 , the design property unit 500 extracts design properties of detected object components. Design properties are also referred to as CSS in web pages, and since all UIs can apply all CSS properties, they must be extracted independently of the UI. The design property unit 5000 extracts CSS information required for UI arrangement of the extracted object.

디자인 속성부(500)은 CSS 속성을 잘 추출하기 위해 이미지 특정 부분을 강조하는 커널(Kernel) 프로세스로 전처리 할 수 있다. 디자인 속성부(500)은 커널 프로세스를 이용해 반환된 이미지 마스크를 통해 꼭지점 정보나 유효한 수평, 수직 경계선, 단색으로 이루어진 영역을 통해 선에 관한 정보(width, color, radius)를 담고 있는 Line과 면에 대한 정보(background-color)를 담고 있는 Area의 리스트를 추출할 수 있다. 디자인 속성부(500)는 전처리된 Line과 Area 정보에서 UI객체에 적용될 수 있는 CSS 속성을 추출할 수 있다. The design property unit 500 may perform preprocessing with a kernel process that emphasizes a specific part of an image in order to extract CSS properties well. The design property unit 500 displays line and plane information containing line-related information (width, color, radius) through vertex information, valid horizontal and vertical border lines, and areas composed of solid colors through the image mask returned using the kernel process. A list of Areas containing information (background-color) can be extracted. The design property unit 500 may extract CSS properties applicable to UI objects from preprocessed Line and Area information.

디자인 속성부(500)는 CSS 구성 요소를 크게 레이아웃(layout), 보더(border), 폰트(font) 및 컬러(color)로 나눌 수 있다. 디자인 속성부(500)는 레이아웃(layout), 보더(border), 폰트(font) 및 컬러(color) 중 어느 하나를 포함하여 CSS 속성을 추출할 수 있다.The design property unit 500 can largely divide CSS components into layout, border, font, and color. The design property unit 500 may extract CSS properties including any one of layout, border, font, and color.

레이아웃(Layout)은 UI를 이미지 상의 위치를 웹 브라우저(ex. chrome) 상에서 동일한 위치에 배치하는데 필요한 CSS 속성이다. 디자인 속성부(500)는 분할한 영역의 정보를 통해 margin, padding 등의 UI 배치에 필요한 CSS 속성을 추출할 수 있다.Layout is a CSS property required to place the UI in the same position on the image as on the web browser (ex. chrome). The design property unit 500 may extract CSS properties required for UI arrangement, such as margin and padding, through information on the divided area.

보더(Border)는 객체의 외곽선에 대한 CSS 속성이다. Border의 CSS는 다시 width, color, style, radius의 네 항목으로 다시 구분되고, 이 CSS 속성들을 경계선 사변을 별도로 얻어야 한다. 디자인 속성부(500)는 border가 존재하는지 유무를 우선 판단하고, 경계선 사변의 정보를 각각 추출할 수 있다. 예를 들면, 디자인 속성부(500)는 보더(Border) 측정이 필요한 UI를 대상으로 상하좌우의 중심점에서 중심방향으로 진행하여 보더(border)의 크기와 색을 추출할 수 있다. 이때 디자인 속성부(400)는 이미지나 반투명 영역 위에서 보더(border)는 의미가 없기 때문에 해당 영역이 시작점이라면 보더를 측정하지 않는다. 디자인 속성부(400)는 보더(border) 반경을 추출하기 위해 x축 변화량과 y축 변화량을 나타낸 이미지를 앤드(and) 연산하여 모서리 영역만 부각시킨다. 디자인 속성부(400)는 모서리 영역만 부각시킨 이미지를 통해 역시 상하좌우 중심점에서 외각방향(ex. top-left, top-right)으로 진행하여 보더 반경을 추출할 수 있다.Border is a CSS property for the outline of an object. Border's CSS is further divided into four items of width, color, style, and radius, and these CSS properties must be obtained separately. The design property unit 500 may first determine whether a border exists or not, and extract information on the border line projections, respectively. For example, the design property unit 500 may extract the size and color of a border by proceeding from the center point of the top, bottom, left, and right to the center of the UI for which border measurement is required. At this time, the design property unit 400 does not measure the border if the corresponding area is the starting point because the border has no meaning on the image or translucent area. In order to extract the border radius, the design property unit 400 performs an AND operation on the image representing the amount of change in the x-axis and the amount of change in the y-axis to highlight only the corner area. The design property unit 400 may also extract the border radius by proceeding from the top, bottom, left, and right center points in outer directions (eg, top-left, top-right) through the image in which only the corner area is highlighted.

폰트(Font)는 텍스트와 관련된 전반적인 CSS 속성들이다. 이 중에서 웹에서 사용되는 폰트 스타일(font-style)은 매일매일 추가로 생성되고 있는 상황이기 때문에 현실적으로 얻을 수 있는 방법은 없다. 따라서 기본으로 하나의 폰트 스타일( font-style)을 적용하여 텍스트 UI에 활용된다. 예를 들면 디자인 속성부(500)는 가장 빈도가 높게 사용되는 폰트 스타일(font-style)로 영어는 "Sans-serif", 한글은 “Sans KR”을 사용할 수 있다. 또한 디자인 속성부(500)는 OCR을 이용한 획득한 텍스트 정보와 영역 정보를 활용하여 폰트(font)에 관련된 디자인 정보를 얻어낼 수 있다.Fonts are overall CSS properties related to text. Among them, there is no realistic way to obtain the font-style used on the web, as additional font-styles are being created every day. Therefore, by default, one font-style is applied and used for text UI. For example, the design attribute unit 500 may use "Sans-serif" for English and "Sans KR" for Korean as the most frequently used font-style. In addition, the design property unit 500 may obtain design information related to a font by utilizing text information and region information acquired using OCR.

컬러(Color)는 텍스트의 색을 의미하는 "color"와 배경색을 의미하는 “background-color”를 추출해야 한다. 디자인 속성부(500)는 UI 영역 내에서 이미지 파일을 제외한 나머지에서 제일 빈번하게 사용되는 색을 배경색으로 할 수 있다. 또한 디자인 속성부(500)는 CSS 추출이 필요한 대상이 텍스트라면 UI 영역에서 배경색과 차이가 가장 큰 색을 텍스트의 컬러(color)로 추출할 수 있다. 이때 디자인 속성부(500)는 UI 색들 간의 차이를 단순히 값의 차이가 아닌, 사람이 색차이를 구분하는 역치를 얻어낼 수 있는 수식을 활용할 수 있다. 예를 들면, 속성부(500)는 RGB 처럼 Lab이라는 색공간 값의 차를 통해 측정하는 수학식 1을 이용할 수 있다.For Color, "color" meaning the color of the text and "background-color" meaning the background color must be extracted. The design property unit 500 may set the most frequently used color as the background color in the UI area except for image files. In addition, if the object requiring CSS extraction is text, the design property unit 500 may extract a color having the largest difference from the background color in the UI area as the color of the text. At this time, the design property unit 500 may utilize a formula by which the difference between UI colors is not simply a difference in value, but a threshold value for distinguishing a color difference by a person. For example, the property unit 500 may use Equation 1, which is measured through differences in color space values called Lab, like RGB.

Figure pat00001
Figure pat00001

폰트(font)의 경우 보통 얇기 때문에 간섭색에 취약하다. 따라서 디자인 속성부(500)는 배경생과 가장 먼 색을 선택하므로 간섭색들을 무시할 수 있다.Since fonts are usually thin, they are vulnerable to interference colors. Therefore, since the design property unit 500 selects a color farthest from the background color, interference colors can be ignored.

레이아웃 구성부(600)는 분할 영역, 탐지 객체 및 객체에서 추출한 디자인 속성 중 어느 하나를 포함하여 웹 페이지의 레이아웃을 구성한다.The layout configuration unit 600 configures a layout of a web page including any one of a divided area, a detection object, and a design attribute extracted from the object.

레이아웃 구성부(600)는 측정 오차 때문에 발생하는 페이지의 완성도 저하를 해결하기 위해 위치, 크기 등의 디자인 속성과 레이아웃 속성 값이 비슷하다고 판단되는 객체를 클래스로 묶어 디자인 속성과 레이아웃 속성 값을 동일하게 변경할 수 있다. 레이아웃 구성부(600)는 비슷하다고 판단되는 대상을 화면 상 배치와 UI 타입에 의해 결정한다. 예를 들면, 레이아웃 구성부(600)는 HTML DoM 트리 상 서로 연관된 (부모-자식, 형제 관계 등) 객체인지 또는 페이지 구조상 비슷한 x, y 좌표 상에 있는지 등을 보고 레이아웃 속성이 동일한 클래스로 포함할지 말지 판단할 수 있다. 또는 레이아웃 구성부(600)는 페이지에 존재하는 같은 UI끼리 비슷한 색상 (RGB값 비교), 비슷한 크기나 보더 종류, 색상 등을 보고 디자인 속성이 동일한 클래스로 포함할지 말지 판단할 수 있다. 레이아웃 구성부(600)는 디자인 속성 또는 레이아웃 속성이 동일 클래스로 포함되는 연관된 객체들 간 위치, 크기, 색상 등의 속성을 다수 또는 처음 객체와 정렬되도록 변경할 수 있다.In order to solve the deterioration in completeness of the page caused by measurement errors, the layout configuration unit 600 groups objects that are determined to have similar design properties and layout property values, such as position and size, into a class, and sets the design property and layout property values to be the same. can be changed The layout configuration unit 600 determines objects that are determined to be similar based on the arrangement on the screen and the UI type. For example, the layout configuration unit 600 looks at whether objects are related to each other (parent-child, sibling relationship, etc.) on the HTML DoM tree or on similar x, y coordinates on the page structure, and whether the layout properties are included in the same class. You can decide whether or not to. Alternatively, the layout configuration unit 600 may determine whether or not to include the UIs in a class having the same design property by looking at similar colors (RGB value comparison), similar sizes, border types, colors, etc. between the same UIs existing on the page. The layout configuration unit 600 may change properties such as position, size, color, etc. of related objects including design properties or layout properties in the same class to be aligned with multiple or first objects.

레이아웃 구성부(600)는 화면 설계서의 트리 구성 형태를 웹 문서에서 쓰이는 일반적인 형식으로 변환할 수 있다. 예를 들면 레이아웃 구성부(600)는 HTML에서 사용 가능한 형태로 객체의 위치 또는 트리 구조를 재 구성할 수 있다. 레이아웃 구성부(600)는 x, y 좌표와 데이터 값으로 가지고 있는 객체의 디자인 및 레이아웃 정보를 HTML로 구현가능한 CSS 값으로 변환할 수 있다. The layout configuration unit 600 may convert the tree configuration form of the screen design document into a general form used in web documents. For example, the layout configuration unit 600 may reconfigure the position of an object or a tree structure in a form usable in HTML. The layout configuration unit 600 may convert design and layout information of an object having x, y coordinates and data values into CSS values that can be implemented in HTML.

화면 설계서의 이미지를 구성하는 트리 형태는 웹 페이지로 표현할 수 없거나 사용되지 않는 형식일 수 있다. 레이아웃 구성부(600)는 화면 설계서에서 탐지한 객체 UI 컴포넌트를 알맞은 위치에 추가하고 보정 및 배치를 할 수 있다. 레이아웃 구성부(600)는 웹 페이지 배치의 기본에 속하지 않거나 트리의 하위 요소가 다수이면 웹 페이지에 영역을 추가하여 구성이 가능한 형태로 배치할 수 있다. 예를 들면, HTML 은 보통 absolute 좌표계를 사용하지 않는 이상 일정한 틀에 계층 구조를 가지고 상대좌표를 이용하여 원하는 UI를 배치한다. 레이아웃 구성부(600)는 필요한 빈 div를 추가하여 HTML에서 일반적으로 배치하는 형식을 모방할 수 있다. The tree form constituting the image of the screen design document may be in a format that cannot be expressed in a web page or is not used. The layout configuration unit 600 may add the object UI component detected in the screen design document to an appropriate position, correct and arrange it. If the layout configuration unit 600 does not belong to the basics of web page arrangement or has a plurality of lower elements of the tree, it can be arranged in a form that can be configured by adding an area to the web page. For example, HTML usually has a hierarchical structure in a certain frame and arranges the desired UI using relative coordinates unless an absolute coordinate system is used. The layout component 600 can add the necessary empty divs to mimic the format commonly laid out in HTML.

레이아웃 구성부(600)는 절대 좌표와 문자열 데이터로 가지고 있는 값을 웹에서 사용 가능한 형태로 변환할 수 있다. . 레이아웃 구성부(600)는 x, y 좌표와 데이터 값으로 가지고 있는 디자인 및 레이아웃 정보를 웹 페이지에서 해독 가능한 CSS 속성으로 변환시켜준다. 레이아웃 구성부(600)는 절대좌표로 표현한 이미지 위의 탐지된 객체와 이를 웹에서 구현하기 위해 추가된 div (container)의 상대좌표 배치를 위해서 필요한 CSS 속성 값을 계산할 수 있다. The layout configuration unit 600 may convert the values of absolute coordinates and character string data into a form usable on the web. . The layout configuration unit 600 converts design and layout information in x, y coordinates and data values into CSS properties that can be read from the web page. The layout configuration unit 600 may calculate CSS property values necessary for the relative coordinate arrangement of the detected object on the image expressed in absolute coordinates and the div (container) added to implement it on the web.

레이아웃을 위해 기본적으로 사용하는 CSS 속성은 최소 8가지 (float, display, position, width, height, padding, margin, [top, right, bottom, left])이다. 레이아웃 구성부(600)는 각각을 사전 구성된 트리구조에 따라 알맞게 계산할 수 있다. 레이아웃 구성부(600)는 사람의 인식에 따라 가운데 컨텐츠 영역을 부여하거나, 가로 또는 세로 정렬, 자주 사용하는 배치용 클래스 등 기계적으로 이루어지지 않는 CSS 속성을 산출할 수 있다.There are at least eight CSS properties that are basically used for layout (float, display, position, width, height, padding, margin, [top, right, bottom, left]). The layout configuration unit 600 may appropriately calculate each of them according to a pre-configured tree structure. The layout configuration unit 600 may assign a content area in the middle according to human perception, or calculate CSS properties that are not mechanically performed, such as horizontal or vertical alignment, and frequently used placement classes.

웹 페이지 배치의 기본은 가로, 세로 또는 그리드 형식이다. 레이아웃 구성부(600)는 구조적인 반복이 탐지되면 리스트 형식으로 판단한다. 레이아웃 구성부(600)는 반복적으로 배치된 영역 또는 컴포넌트를 조건에 따라 하나의 영역에 포함시켜 일정한 간격으로 ul 또는 ol 등의 태그를 부여할 수 있다.The basis for web page layout is horizontal, vertical or grid format. The layout configuration unit 600 determines in the form of a list when structural repetition is detected. The layout configuration unit 600 may include repetitively arranged areas or components in one area according to conditions and assign tags such as ul or ol at regular intervals.

레이아웃 구성부(600)는 이해가 쉽고 유지보수가 편리하도 inline-style 부여를 최대한 자제하고 서로 연관된 객체들에 부여된 CSS 속성을 클래스로 묶어줄 수 있다 이 때 레이아웃 구성부(600)는 클래스명을 기계적 명명이 아닐 이해 가능한 수준을 부여할 수 있다.The layout component 600 can refrain from applying inline-style as much as possible and group the CSS properties assigned to objects related to each other into classes for easy understanding and convenient maintenance. can be given a level of comprehension that is not mechanical naming.

생성부(700)는 이미지에서 추출한 분할 영역, 객체 정보 및 디자인 정보를 HTML 및 CSS 등 웹 페이지를 구현할 수 있는 정보를 파일로 변환하여 생성한다.The generating unit 700 converts information capable of implementing a web page, such as HTML and CSS, from the segmented area, object information, and design information extracted from the image into a file and creates the file.

생성부(700)는 CSS 정보를 카테고리별로 비교하고 통합하여 저장한다. 예를 들면, 생성부(700)는 프로젝트 단위 공동 CSS, 컴포넌트 종류 별 공동 CSS, 개별 레이아웃 CSS 및 특정 용도별 공통 CSS 등으로 분류하여 저장된 정보를 토대로 조건을 지정하여 생성할 수 있다.The generation unit 700 compares CSS information by category, integrates them, and stores them. For example, the generation unit 700 may classify CSS into common CSS for each project unit, common CSS for each component type, individual layout CSS, common CSS for each specific purpose, etc., and designate conditions based on stored information to create the CSS.

생성부(700)는 컴포넌트의 종류나 디자인에 영향을 받지 않고 사이트 내에서 반복적으로 등장하는 속성을 프로젝트 단위의 통합 CSS에 저장한다. 예를 들면 생성부(700)는 "in", "clear", "margin_top10", “등과 같이 사이트 전반에 걸쳐 모든 컴포넌트에 적용될 수 있는 CSS를 프로젝트 단위의 통합 CSS로 저장할 수 있다.The generation unit 700 stores properties that repeatedly appear in the site in the integrated CSS for each project, regardless of the type or design of the component. For example, the generation unit 700 may store CSS applicable to all components throughout the site, such as "in", "clear", "margin_top10", and the like, as integrated CSS for each project.

생성부(700)는 동일 컴포넌트끼리 비교하여 공통된 속성을 추출해 통합하여 컴포넌트 종류 단위의 통합 CSS를 생성한다. 예를 들면 생성부(700)는 주로 크기, 색, 모양으로 구분하고, 크기는 "btn_size1", "btn_size2" 등과 같이 반복적으로 등장하는 크기를 하나의 클래스로 묶어 적용한다. 색의 경우도 마찬가지로 생성부(700)는 "btn_color1", "btn_color_red" 등과 같이 클래스로 묶어 적용할 수 있다. 모양의 경우 생성부(700)는 주로 border와 같이 컴포넌트의 외향을 변경할 수 있는 속성을 기준으로 반복을 판단하고 “"btn_circle" 등과 같이 이름을 적용할 수 있다.The generation unit 700 compares identical components, extracts and integrates common properties, and generates integrated CSS in component type units. For example, the generation unit 700 mainly classifies the size, color, and shape, and applies the size by grouping repeatedly appearing sizes such as "btn_size1" and "btn_size2" into one class. Similarly, in the case of color, the generation unit 700 may group and apply classes such as "btn_color1" and "btn_color_red". In the case of a shape, the generation unit 700 may determine repetition based on a property that can change the appearance of a component, such as a border, and may apply a name such as “btn_circle”.

생성부(700)는 HTML 파일과 함께 CSS 파일과 js 파일이 적용되도록 메타데이터를 추가한다.The generation unit 700 adds metadata so that the CSS file and the js file are applied along with the HTML file.

생성부(700)는 용도 카테고리 별 파일을 CSS를 생성하고, 별도의 파일로 저장할 수 있다. 예를 들면 생성부(700)는 생성한 CSS 파일을 CSS 폴더 아래에 별도로 저장할 수 있다. 생성부(700)는 웹 퍼블리셔가 생성하는 파일의 형태와 문장 구조를 모방하여 생성하고 추후 관리 및 수정이 용이하도록 일정 기준에 따라 정렬시켜준다.The generation unit 700 may generate CSS files for each use category and store them as separate files. For example, the generating unit 700 may separately store the generated CSS file under the CSS folder. The generating unit 700 imitates the shape and sentence structure of files created by web publishers and creates them, and sorts them according to a certain criterion so that later management and modification are easy.

도 5는 본 발명의 일 실시예에 따른 웹 디자인 속성을 추출하는 웹 문서 생성 방법을 도시한 도면이다. 이하 설명하는 각 과정은 단계에서 웹 디자인 속성을 추출하는 웹 문서 생성 장치를 구성하는 각 기능부가 수행하는 과정이나, 본 발명의 간결하고 명확한 설명을 위해 각 단계의 주체를 웹 디자인 속성을 추출하는 웹 문서 생성 장치로 통칭하도록 한다.5 is a diagram illustrating a web document creation method for extracting web design properties according to an embodiment of the present invention. Each process to be described below is a process performed by each functional unit constituting a web document generating device that extracts web design properties at each step, but for concise and clear explanation of the present invention, the subject of each step is a web design property extracting web design property. Let it be collectively referred to as a document generating device.

도5를 참조하면, S510 단계에서 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 변환하고자 하는 이미지 또는 화면 설계서 파일을 입력한다.Referring to FIG. 5 , the web document generating device 10 extracting web design properties in step S510 inputs an image or screen design file to be converted.

S520 단계에서 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 입력된 파일의 영역을 분할한다. 예를 들면 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 이미지 프로세싱 알고리즘을 이용해 영역을 분할할 수 있다. 또한 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 영역 확장(region growing) 알고리즘을 이용해 영역을 추가 분할할 수 있다. 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 서로 다른 알고리즘에 의해 발생하는 중복된 영역을 정리하여 영역을 분할할 수 있다.In step S520, the web document generating device 10 that extracts the web design properties divides the input file area. For example, the web document generating device 10 that extracts web design properties may divide the area using an image processing algorithm. In addition, the web document generating apparatus 10 for extracting web design attributes may additionally divide a region by using a region growing algorithm. The web document generating apparatus 10 for extracting web design properties may divide the area by arranging overlapping areas generated by different algorithms.

S530 단계에서 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 입력된 파일에서 웹 페이지를 구성하기 위한 객체를 탐지한다. 예를 들면 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 웹페이지 UI와 관련된 다양한 객체 및 객체의 위치와 크기 정보를 합성곱 신경망(CNN)을 이용해 추출한다.In step S530, the web document generating device 10 that extracts web design properties detects an object for constructing a web page from the input file. For example, the web document generating apparatus 10 for extracting web design properties extracts various objects related to a web page UI and information on the location and size of objects using a convolutional neural network (CNN).

웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 객체의 크기에 따라 이미지 크기를 조정하여 객체가 온전히 포함될 수 있도록 한다. 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 멀티 스케일(multi scale)을 적용하여 다양한 크기의 UI를 탐지할 수 있다. 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 멀티 스케일(multi scale) 적용으로 인해 오차가 증폭될 수 있음을 감안하여 이를 보정하는 과정을 수행할 수 있다. 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 찾고자 하는 대상의 크기와 종횡비가 다양하기 때문에 큰 UI와 작은 UI로 구분 지어 학습할 수 있는 학습 모델을 구현할 수 있다. 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 각 객체를 탐지하고 추출하기 위한 학습 모델을 탐지 객체에 따라 개별로 생성하고 학습할 수 있다. 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 객체 탐지 위치의 오차를 줄이기 위해 일반적으로 학습에 사용되는 IoU 기준인 0.5 수준보다 높은 0.8 수치를 적용하여 정확한 위치를 탐지할 수 있도록 한다. The web document generating apparatus 10 for extracting web design properties adjusts the image size according to the size of the object so that the object can be included in its entirety. The web document generating apparatus 10 for extracting web design properties may detect UIs of various sizes by applying multi scales. The web document generating device 10 that extracts web design attributes may perform a process of correcting them in consideration of the fact that errors may be amplified due to multi-scale application. The web document generation device 10 that extracts web design properties can implement a learning model capable of learning by classifying into a large UI and a small UI because the size and aspect ratio of the object to be found are diverse. The web document generating apparatus 10 for extracting web design properties may individually generate and learn a learning model for detecting and extracting each object according to the detected object. The web document generation device 10 that extracts web design properties applies a value of 0.8, which is higher than the IoU standard of 0.5, which is generally used for learning, in order to reduce the error of the object detection position, so that an accurate position can be detected.

S540 단계에서 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 추출한 객체를 포함한 분할 영역을 찾거나 객체를 표현할 수 있는 가장 근접한 분할 영역을 찾아 매칭하고, 영역 정보에 맞추어 객체의 위치와 크기 정보를 보정할 수 있다.In step S540, the web document generating device 10 that extracts the web design properties finds a segmented area including the extracted object or finds and matches the closest segmented area capable of representing the object, and matches the position and size information of the object according to the area information. can be corrected.

S550 단계에서 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 탐지된 객체의 디자인 정보를 추출한다. 예를 들면 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 추출한 객체의 UI 배치에 필요한 CSS 정보를 추출할 수 있다. 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 CSS 구성 요소를 크게 레이아웃(layout), 보더(border), 폰트(font) 및 컬러(color)로 나누고, 그 중 어느 하나를 포함하여 추출할 수 있다. 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 CSS 속성을 잘 추출하기 위해 이미지 특정 부분을 강조하는 커널(Kernel) 프로세스로 전처리 할 수 있다.In step S550, the web document generating device 10 extracting web design properties extracts design information of the detected object. For example, the web document generating device 10 that extracts web design properties may extract CSS information required for UI arrangement of the extracted object. The web document generation device 10 that extracts web design properties divides CSS components into layout, border, font, and color, and extracts any one of them. can The web document generating apparatus 10 for extracting web design properties may perform preprocessing with a kernel process that emphasizes a specific part of an image in order to extract CSS properties well.

S560 단계에서 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 분할 영역, 탐지 객체 및 객체에서 추출한 디자인 속성 중 어느 하나를 포함하여 웹 페이지의 레이아웃을 구성한다. In step S560, the web document generating device 10 extracting the web design properties configures the layout of the web page including any one of a partition area, a detection object, and a design property extracted from the object.

S570단계에서 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 CSS 속성을 카테고리별로 비교하고 통합하여 저장한다. 예를 들면, 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 프로젝트 단위 공동 CSS, 컴포넌트 종류 별 공동 CSS, 개별 레이아웃 CSS 및 특정 용도별 공통 CSS 등으로 분류하여 저장된 정보를 토대로 조건을 지정하여 생성할 수 있다.In step S570, the web document generating device 10 that extracts web design properties compares, integrates, and stores CSS properties by category. For example, the web document generating device 10 for extracting web design properties is classified into common CSS for each project unit, common CSS for each component type, individual layout CSS, common CSS for each specific purpose, etc., and is generated by specifying conditions based on stored information. can do.

S580단계에서 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 이미지에서 추출한 분할 영역, 객체 정보 및 디자인 속성 정보를 HTML 및 CSS 등 웹 페이지를 구현할 수 있는 정보를 파일로 변환하여 생성하고 저장한다. 웹 디자인 속성을 추출하는 웹 문서 생성 장치(10)는 저장한 파일을 제공하여 수정 및 관리가 쉽도록 한다.The web document generating device 10 extracting web design properties in step S580 converts the segmented area, object information, and design property information extracted from the image into a file, such as HTML and CSS, to create and store the information capable of implementing the web page. . The web document generating device 10 for extracting web design properties provides stored files so that modification and management are easy.

도 6 내지 도 16은 본 발명의 일 실시 예에 따른 딥 러닝 기반 웹 문서 생성 장치를 실행하여 웹 페이지를 생성하는 예시들이다.6 to 16 are examples of generating a web page by executing an apparatus for generating a web document based on deep learning according to an embodiment of the present invention.

도6을 참조하면, 딥 러닝 기반 웹 문서 생성 장치(10)가 웹 페이지로 생성하려는 화면 설계 이미지 예시이다. 예를 들면, 입력부(100)는 생성하기 원하는 웹 페이지의 이미지 또는 화면 설계서를 입력 받는다.Referring to FIG. 6 , an example of a screen design image to be generated as a web page by the deep learning-based web document generating apparatus 10 is shown. For example, the input unit 100 receives an image of a web page or a screen design document to be created.

도 7은 영역 분할부(200)가 영역 분할을 수행한 결과 예시 화면이고, 도 8은 객체 탐지부(300)가 객체 탐지 모델 학습 후 탐지한 객체를 표시한 예시 화면이다.FIG. 7 is an example screen showing a result of region segmentation performed by the region dividing unit 200, and FIG. 8 is an example screen displaying objects detected by the object detection unit 300 after learning an object detection model.

도 9 및 도 10은 보정부(400)가 영역 분할 정보와 객체 탐지 정보를 이용해 객체의 유형, 위치 및 크기 등을 보정한 객체 탐지 결과 예시 화면들이다.9 and 10 are example screens of object detection results in which the correction unit 400 corrects the type, location, and size of an object using region segmentation information and object detection information.

도 9를 참조하면, 보정부(400)는 도7의 객체 탐지부(300)가 정확하게 탐지하지 못한 객체의 위치와 크기를 도 8의 영역 분할부(200) 정보를 이용해 보정을 진행하여 정확한 객체 탐지 결과를 추출할 수 있다.Referring to FIG. 9 , the correction unit 400 corrects the position and size of the object that the object detection unit 300 of FIG. 7 failed to accurately detect using the information of the region dividing unit 200 of FIG. Detection results can be extracted.

도 10을 참조하면, 보정부(400)는 객체 탐지부(300)가 탐지하지 못했던 하위 UI들을 영역 분할 정보를 이용해 빠짐없이 생성할 수 있다.Referring to FIG. 10 , the correction unit 400 may generate all sub-UIs that the object detection unit 300 could not detect using region segmentation information.

도 11은 딥 러닝 기반 웹 문서 생성 장치(10)가 객체를 탐지하고, OCR을 이용해 문자를 판별하고 CSS 정보를 추출하여 UI 객체를 추출하여 웹 페이지로 구현한 예시화면이다.11 is an example screen in which the deep learning-based web document generation apparatus 10 detects an object, determines a character using OCR, extracts CSS information, and extracts a UI object and implements it as a web page.

도 11을 참조하면, 딥 러닝 기반 웹 문서 생성 장치(10)는 UI 객체를 추출하고 저장하여 입력된 이미지와 동일한 웹 페이지를 구현할 수 있다. 도 7의 입력 이미지와 비교했을 때, 딥 러닝 기반 웹 문서 생성 장치(10)가 차이 없이 HTML을 이용한 웹 페이지로 잘 구현한 것을 확인할 수 있다.Referring to FIG. 11 , the deep learning-based web document generation apparatus 10 may implement the same web page as an input image by extracting and storing a UI object. When compared with the input image of FIG. 7 , it can be seen that the deep learning-based web document generating device 10 is well implemented as a web page using HTML without a difference.

도 12 및 도 13을 참조하면, 딥 러닝 기반 웹 문서 생성 장치(10)가 추출한 CSS 정보 및 객체를 탐지하여 생성한 HTML 문서 정보 예시들을 확인할 수 있다.Referring to FIGS. 12 and 13 , examples of HTML document information generated by detecting objects and CSS information extracted by the deep learning-based web document generating apparatus 10 may be checked.

도 14 내지 도 16을 참조하면, 딥 러닝 기반 웹 문서 생성 장치(10)가 생성한 파일과 연결된 CSS 파일을 카테고리별로 폴더를 생성하고 저장한 예시들을 확인할 수 있다.Referring to FIGS. 14 to 16 , examples in which folders are created and stored for each category of CSS files linked to files generated by the deep learning-based web document generation apparatus 10 can be checked.

상술한 웹 디자인 속성을 추출하는 웹 문서 생성 방법은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The web document generation method for extracting web design properties described above may be implemented as computer readable code on a computer readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded on the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet, installed in the other computing device, and thus used in the other computing device.

이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though all the components constituting the embodiment of the present invention have been described as being combined or operated as one, the present invention is not necessarily limited to these embodiments. That is, within the scope of the object of the present invention, all of the components may be selectively combined with one or more to operate.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시 예 들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although actions are shown in a particular order in the drawings, it should not be understood that the actions must be performed in the specific order shown or in a sequential order, or that all shown actions must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be understood as requiring such separation, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is

이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been looked at mainly by its embodiments. Those skilled in the art to which the present invention pertains will be able to understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from a descriptive point of view rather than a limiting point of view. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the equivalent scope will be construed as being included in the present invention.

10: 웹 디자인 속성을 추출하는 웹 문서 생성 장치
100: 입력부
200: 영역 분할부
300: 객체 탐지부
400: 보정부
500: 디자인 속성부
600: 레이아웃 구성부
700: 생성부
10: Web document generation device extracting web design properties
100: input unit
200: area dividing unit
300: object detection unit
400: correction unit
500: design property part
600: layout component
700: generating unit

Claims (9)

웹 디자인 속성을 추출하는 웹 문서 생성 장치에 있어서,
웹 페이지로 변환하려는 데이터를 입력 받는 입력부;
상기 데이터에서 웹 페이지로 표현할 영역을 탐지하고 분할하는 영역 분할부;
상기 데이터에 포함된 객체를 탐지하는 객체 탐지부;
상기 객체가 여러 영역에 중복되는 경우 영역에 맞춰 객체의 위치와 크기를 보정하는 보정부;
상기 객체에 포함된 디자인 속성 정보를 추출하는 디자인 속성부;
분할된 상기 영역, 상기 객체 및 상기 디자인 속성 정보 중 어느 하나를 포함하여 웹 페이지의 레이아웃을 구성하는 레이아웃 구성부; 및
상기 웹 페이지를 구현하기 위한 정보를 파일을 생성하는 생성부
를 포함하는 웹 디자인 속성을 추출하는 웹 문서 생성 장치.
In the web document generating device for extracting web design properties,
an input unit for receiving data to be converted into a web page;
a region divider for detecting and dividing a region to be expressed as a web page in the data;
an object detection unit detecting an object included in the data;
a correction unit correcting the position and size of the object according to the area when the object overlaps in several areas;
a design property unit extracting design property information included in the object;
a layout configuration unit configuring a layout of a web page by including any one of the divided area, the object, and the design property information; and
Generation unit for generating a file of information for implementing the web page
A web document generating device for extracting web design properties including a.
제1항에 있어서,
상기 디자인 속성부는
레이아웃(layout), 보더(border), 폰트(font) 및 컬러(color) 중 어느 하나를 포함하여 CSS 속성을 추출하는 웹 디자인 속성을 추출하는 웹 문서 생성 장치.
According to claim 1,
the design properties
A web document creation device that extracts web design properties including CSS properties including any one of layout, border, font, and color.
제1항에 있어서,
상기 디자인 속성부는
CSS 속성을 잘 추출하기 위해 이미지 특정 부분을 강조하는 커널(Kernel) 프로세스로 전처리하는 웹 디자인 속성을 추출하는 웹 문서 생성 장치.
According to claim 1,
the design properties
A web document creation device that extracts web design properties that are preprocessed with a kernel process that emphasizes specific parts of an image in order to extract CSS properties well.
제1항에 있어서,
상기 레이아웃 구성부는
HTML에서 사용 가능한 형태로 객체의 위치 또는 트리 구조를 재 구성하는 웹 디자인 속성을 추출하는 웹 문서 생성 장치.
According to claim 1,
The layout component
A web document generator that extracts web design properties that reorganize the location or tree structure of objects into a usable form in HTML.
웹 디자인 속성을 추출하는 웹 문서 생성 장치가 실행하는 웹 디자인 속성을 추출하는 웹 문서 생성 방법에 있어서,
웹 페이지로 변환하려는 데이터를 입력 받는 단계;
상기 데이터에서 웹 페이지로 표현할 영역을 탐지하고 분할하는 단계;
상기 데이터에 포함된 객체를 탐지하는 단계;
상기 객체가 여러 영역에 중복되는 경우 영역에 맞춰 객체의 위치와 크기를 보정하는 단계;
상기 객체에 포함된 디자인 속성 정보를 추출하는 단계;
분할된 상기 영역, 상기 객체 및 상기 디자인 속성 정보 중 어느 하나를 포함하여 웹 페이지의 레이아웃을 구성하는 단계; 및
상기 웹 페이지를 구현하기 위한 정보를 파일을 생성하는 단계
를 포함하는 웹 디자인 속성을 추출하는 웹 문서 생성 방법.
A web document generation method for extracting web design properties, which is executed by a web document generating apparatus for extracting web design properties,
Receiving data to be converted into a web page;
detecting and segmenting a region to be expressed as a web page in the data;
detecting an object included in the data;
correcting the position and size of the object according to the region when the object overlaps with several regions;
extracting design attribute information included in the object;
configuring a layout of a web page by including any one of the divided area, the object, and the design property information; and
Generating a file of information for implementing the web page
A web document creation method that extracts web design properties including
제5항에 있어서
상기 객체에 포함된 디자인 속성 정보를 추출하는 단계는
레이아웃(layout), 보더(border), 폰트(font) 및 컬러(color) 중 어느 하나를 포함하여 CSS 속성을 추출하는 웹 디자인 속성을 추출하는 웹 문서 생성 방법.
According to claim 5
The step of extracting design attribute information included in the object
A web document creation method for extracting web design properties including CSS properties including any one of layout, border, font and color.
제5항에 있어서
상기 객체에 포함된 디자인 속성 정보를 추출하는 단계는
CSS 속성을 잘 추출하기 위해 이미지 특정 부분을 강조하는 커널(Kernel) 프로세스로 전처리하는 웹 디자인 속성을 추출하는 웹 문서 생성 방법.
According to claim 5
The step of extracting design attribute information included in the object
A web document creation method that extracts web design properties that are preprocessed with a kernel process that emphasizes specific parts of an image to extract CSS properties well.
제5항에 있어서
상기 분할된 상기 영역, 상기 객체 및 상기 디자인 속성 정보 중 어느 하나를 포함하여 웹 페이지의 레이아웃을 구성하는 단계는
HTML에서 사용 가능한 형태로 객체의 위치 또는 트리 구조를 재 구성하는 웹 디자인 속성을 추출하는 웹 문서 생성 방법.
According to claim 5
Configuring the layout of the web page by including any one of the divided area, the object, and the design property information
A web document creation method that extracts web design properties that reorganize the location or tree structure of objects into a usable form in HTML.
제5항 내지 제8항의 웹 디자인 속성을 추출하는 웹 문서 생성 방법 중 어느 하나를 실행하는 컴퓨터가 판독 가능한 기록매체에 기록된 컴퓨터 프로그램.
A computer program recorded on a computer-readable recording medium that executes any one of the web document creation methods for extracting web design attributes of claims 5 to 8.
KR1020210103033A 2021-06-01 2021-08-05 Device and method for web auto generator for extracting web design properties KR20220162585A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210070999 2021-06-01
KR1020210070999 2021-06-01

Publications (1)

Publication Number Publication Date
KR20220162585A true KR20220162585A (en) 2022-12-08

Family

ID=83446086

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020210103031A KR102446035B1 (en) 2021-06-01 2021-08-05 Device and method for web auto generator based on deep learning
KR1020210103032A KR20220162584A (en) 2021-06-01 2021-08-05 Device and method for web auto generator using segmentation
KR1020210103033A KR20220162585A (en) 2021-06-01 2021-08-05 Device and method for web auto generator for extracting web design properties

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020210103031A KR102446035B1 (en) 2021-06-01 2021-08-05 Device and method for web auto generator based on deep learning
KR1020210103032A KR20220162584A (en) 2021-06-01 2021-08-05 Device and method for web auto generator using segmentation

Country Status (1)

Country Link
KR (3) KR102446035B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101991297B1 (en) 2018-04-16 2019-06-20 주식회사 한글과컴퓨터 Web-based document editing support apparatus for customizing document editing interface and operating method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4860342B2 (en) * 2005-05-30 2012-01-25 富士フイルム株式会社 Album creating apparatus, album creating method, and album creating program
CN104573715B (en) * 2014-12-30 2017-07-25 百度在线网络技术(北京)有限公司 The recognition methods in image subject region and device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101991297B1 (en) 2018-04-16 2019-06-20 주식회사 한글과컴퓨터 Web-based document editing support apparatus for customizing document editing interface and operating method thereof

Also Published As

Publication number Publication date
KR20220162584A (en) 2022-12-08
KR102446035B1 (en) 2022-09-23

Similar Documents

Publication Publication Date Title
JP4781924B2 (en) White space graph and tree for content adaptive scaling of document images
CN106886418B (en) HTML interface control label
CN105723358B (en) System and method for interactive website and the automatic conversion of application
US8862986B2 (en) Arranging graphic objects on a page with relative position based control
US20180349730A1 (en) User Interface Creation from Screenshots
US20090002764A1 (en) Arranging graphic objects on a page with relative area based control
CN110009721A (en) Generate the triangle gridding of the image indicated by curve
US9529438B2 (en) Printing structured documents
US10691936B2 (en) Column inferencer based on generated border pieces and column borders
US10783325B1 (en) Visual data mapping
KR20140015812A (en) Methodology of gis based automatic schematic diagram creation system for supporting input data generation of 1-dimensional water quality model
CN113989414A (en) Method and system for drawing cross-section diagram and computer storage medium
Parente et al. Integration of convolutional and adversarial networks into building design: A review
Götzelmann et al. Form Follows Function: Aesthetic Interactive Labels.
KR102446035B1 (en) Device and method for web auto generator based on deep learning
US20230124881A1 (en) Techniques for extraction of vectorized content of an oil and gas play within an unstructured file
Kasperowski et al. Top-Down Drawings of Compound Graphs
CN117391643B (en) Knowledge graph-based medical insurance document auditing method and system
JP4213558B2 (en) Document layout analysis program, computer-readable storage medium storing document layout analysis program, document layout analysis method, and document layout analysis apparatus
US11600028B1 (en) Semantic resizing of line charts
da Silva et al. The Visual SuperTree: similarity-based multi-scale visualization
Akiyama et al. Synthetic chart image generator: An application for generating chart image datasets
CN115759020A (en) Form information extraction method, form template configuration method and electronic equipment
Burget et al. Automatic annotation of online articles based on visual feature classification
CN117131838A (en) Form page generation method and device based on form image, electronic equipment and medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal