KR20230040163A - Method and apparatus for pixel-wise matching original contents with target contents - Google Patents

Method and apparatus for pixel-wise matching original contents with target contents Download PDF

Info

Publication number
KR20230040163A
KR20230040163A KR1020210123431A KR20210123431A KR20230040163A KR 20230040163 A KR20230040163 A KR 20230040163A KR 1020210123431 A KR1020210123431 A KR 1020210123431A KR 20210123431 A KR20210123431 A KR 20210123431A KR 20230040163 A KR20230040163 A KR 20230040163A
Authority
KR
South Korea
Prior art keywords
crop
cuts
cut
matching
crop cut
Prior art date
Application number
KR1020210123431A
Other languages
Korean (ko)
Other versions
KR102632640B1 (en
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 KR1020210123431A priority Critical patent/KR102632640B1/en
Publication of KR20230040163A publication Critical patent/KR20230040163A/en
Application granted granted Critical
Publication of KR102632640B1 publication Critical patent/KR102632640B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

As a method for matching an original content and a target content comprising a plurality of cuts, provided is the method that generates crop cuts corresponding to cuts of the original content and the target content through preprocessing, determines the crop cut of the target content most similar to the crop cut of the original content as a pair, and matches the original content and the target content by matching the crop cuts included in the pair as a pixel unit.

Description

원본 콘텐츠와 타겟 콘텐츠를 픽셀 단위로 매칭하는 방법 및 장치{METHOD AND APPARATUS FOR PIXEL-WISE MATCHING ORIGINAL CONTENTS WITH TARGET CONTENTS}Method and apparatus for matching original content and target content in pixel units

본 개시는 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법 및 장치에 관한 것으로, 보다 자세하게는, 복수의 컷들을 포함하는 원본 콘텐츠에 대해 원본 콘텐츠의 복제 콘텐츠에 해당하는 타겟 콘텐츠를 픽셀 단위로 매칭하는 방법 및 장치와 관련된다.The present disclosure relates to a method and apparatus for matching original content with target content, and more particularly, to a method for matching target content corresponding to duplicate content of original content to original content including a plurality of cuts in pixel units, and related to the device.

최근 만화 및 카툰과 같은 콘텐츠를 온라인으로 제공하는 소위 웹툰 콘텐츠 제공 서비스에 대한 관심이 높아지고 있다. 이러한, 웹툰 콘텐츠는 인물, 동물, 사물 등의 모습을 캐릭터로서 표현하여 나타내고, 지문이나 대사를 통해 유머나 풍자 또는 일정한 줄거리를 담음으로써 독자들에게 읽을거리를 제공한다. Recently, interest in a so-called webtoon content providing service that provides content such as cartoons and cartoons online is increasing. These webtoon contents express characters, animals, objects, etc. as characters, and provide readers with something to read by including humor, satire, or a certain plot through fingerprints or lines.

이러한 웹툰 콘텐츠는 독자가 해당 웹툰 콘텐츠를 스크롤링하는 것에 의해 독자에게 읽힐 수 있다. 웹툰 콘텐츠는 복수의 컷들을 포함하며, 독자는 스크롤링을 통해 복수의 컷들을 순차적으로 확인함으로써 웹툰 콘텐츠를 열람할 수 있다. These webtoon contents can be read by the reader by scrolling the corresponding webtoon contents. The webtoon content includes a plurality of cuts, and the reader can browse the webtoon content by sequentially checking the plurality of cuts through scrolling.

웹툰 콘텐츠는 디지털화된 콘텐츠로서 예컨대, 이미지와 같은 형태로 제공되며, 이러한 이미지와 같은 형태의 웹툰 콘텐츠는 2차적인 복제 및 가공이 상대적으로 쉽다. 웹툰 콘텐츠에 대한 불법적인 복제 및 가공을 방지하기 위해, 웹툰 콘텐츠 내에는 소정의 식별 정보가 삽입될 수 있고, 불법적인 복제 및 가공된 웹툰 콘텐츠로부터 이러한 식별 정보를 추출함으로써 불법적인 복제 및 가공을 수행한 주체를 탐지해 낼 수 있다. Webtoon content is digitized content and is provided in the form of, for example, an image, and secondary copying and processing of webtoon content in the form of such an image is relatively easy. In order to prevent illegal copying and processing of webtoon contents, predetermined identification information can be inserted into webtoon contents, and illegal copying and processing are performed by extracting such identification information from illegally copied and processed webtoon contents. One subject can be detected.

불법적인 복제 및 가공된 웹툰 콘텐츠로부터 식별 정보를 추출하거나, 불법적인 복제 및 가공된 웹툰 콘텐츠의 가공 이력(예컨대, 이미지 프로세싱 히스토리)을 분석하기 위해서는, 원본 웹툰 콘텐츠와 복제 및 가공된 웹툰 콘텐츠 간의 세밀한 매칭이 먼저 수행되어야 한다. In order to extract identification information from illegally reproduced and processed webtoon contents or to analyze the processing history (e.g., image processing history) of illegally copied and processed webtoon contents, detailed information between the original webtoon contents and the reproduced and processed webtoon contents is analyzed. Matching must be done first.

한편, 한국공개특허 제10-2011-0123393호(공개일 2011년 11월 15일)에는 온라인 상의 직거래를 통해 모바일 디지털 콘텐츠 형태의 만화를 제공하는 기술이 개시되어 있다.On the other hand, Korean Patent Publication No. 10-2011-0123393 (published on November 15, 2011) discloses a technology for providing cartoons in the form of mobile digital contents through direct online transactions.

상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있으며, 종래 기술이 통상의 기술자에게 제시할 수 있는 것을 포함하지 않을 수 있다.The information described above is for illustrative purposes only and may include material that does not form part of the prior art, and may not include what the prior art may suggest to those skilled in the art.

일 실시예는, 전처리를 통해 원본 콘텐츠와 타겟 콘텐츠의 컷들에 대응하는 크롭 컷들을 생성하고, 원본 콘텐츠의 크롭 컷과 가장 유사한 타겟 콘텐츠의 크롭 컷을 페어로서 결정하고, 페어에 포함된 크롭 컷들을 픽셀 단위로 매칭시켜 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법을 제공할 수 있다.One embodiment generates crop cuts corresponding to cuts of original content and target content through preprocessing, determines a crop cut of target content most similar to a crop cut of original content as a pair, and determines the crop cuts included in the pair. It is possible to provide a method of matching original content and target content by matching in pixel units.

일 실시예는, 원본 콘텐츠의 각 컷과 가장 유사한 타겟 콘텐츠의 컷을 결정하고, 유사 컷들 간에 1차적인 매칭(coarse matching)을 수행하고, 유사 컷들에 대해 보다 세밀한 2차적인 매칭(fine-grained matching)을 수행함으로써 원본 콘텐츠와 타켓 콘텐츠를 픽셀 단위로 매칭하는 방법을 제공할 수 있다. An embodiment determines cuts of the target content that are most similar to each cut of the original content, performs coarse matching between the similar cuts, and fine-grained fine-grained secondary matching for the similar cuts. matching), it is possible to provide a method of matching original content and target content in units of pixels.

일 측면에 있어서, 컴퓨터 시스템에 의해 수행되는, 복수의 제1 컷들을 포함하는 원본 콘텐츠와 복수의 제2 컷들을 포함하는 타겟 콘텐츠를 매칭하는 방법에 있어서, 상기 원본 콘텐츠와 상기 타겟 콘텐츠를 전처리함으로써, 상기 제1 컷들에 대응하는 제1 크롭 컷들과 상기 제2 컷들에 대응하는 제2 크롭 컷들을 생성하는 단계, 상기 제1 크롭 컷들의 각 제1 크롭 컷과, 상기 제2 크롭 컷들 중에서 상기 각 제1 크롭 컷과 가장 유사한 제2 크롭 컷과의 페어를 결정하는 단계 및 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 매칭시키는 단계를 포함하는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법이 제공된다.In one aspect, a method of matching original content including a plurality of first cuts and target content including a plurality of second cuts, performed by a computer system, by pre-processing the original content and the target content. generating first crop cuts corresponding to the first cuts and second crop cuts corresponding to the second cuts, each first crop cut of the first crop cuts and each of the second crop cuts Determining a pair with a second crop cut that is most similar to the first crop cut, and matching the first crop cut and the second crop cut included in the pair in pixel units, A matching method is provided.

상기 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법은, 상기 제1 크롭 컷들과 상기 제2 크롭 컷들의 픽셀 단위의 매칭 결과에 기반하여, 상기 타겟 콘텐츠로부터 상기 타겟 콘텐츠를 생성한 사용자에 대한 식별 정보를 추출하는 단계를 더 포함할 수 있다. The method of matching the original content and the target content may extract identification information about a user who created the target content from the target content based on a matching result of the first crop cuts and the second crop cuts in units of pixels. It may further include steps to do.

상기 제1 크롭 컷들은, 상기 원본 콘텐츠를 소정의 제1 크기 단위로 크롭한 것들로서, 상기 원본 콘텐츠를 소정의 제1 중복률을 갖도록 크롭한 것들을 포함하고, 상기 제2 크롭 컷들은, 상기 타겟 콘텐츠를 소정의 제2 크기 단위로 크롭한 것들로서, 상기 타겟 콘텐츠를 소정의 제2 중복률을 갖도록 크롭한 것들을 포함할 수 있다. The first crop cuts are crops obtained by cropping the original content in units of a first predetermined size, and include crops obtained by cropping the original content to have a first predetermined overlapping rate, and the second crop cuts include the target Contents cropped in units of a predetermined second size may include crops obtained by cropping the target content to have a predetermined second overlapping rate.

상기 제2 크기 단위는 상기 제1 크기 단위보다 더 크고, 상기 제1 크롭 컷들의 수는 상기 제2 크롭 컷들의 수와 동일할 수 있다. The second size unit may be larger than the first size unit, and the number of first crop cuts may be equal to the number of second crop cuts.

상기 페어를 결정하는 단계는, 상기 각 제1 크롭 컷의 피쳐들을 추출하는 단계, 상기 제2 크롭 컷들의 각 제2 크롭 컷의 피쳐들을 추출하는 단계 및 상기 각 제1 크롭 컷의 피쳐들과 상기 각 제2 크롭 컷의 피쳐들 간에 결정된 코릴레이션(correlation)에 기반하여, 제1 크롭 컷과, 해당 제1 크롭 컷에 대해 위치 간의 매칭을 나타내는 키 포인트의 수가 가장 많은 제2 크롭 컷을 페어로서 결정하는 단계를 포함할 수 있다. The step of determining the pair may include extracting features of each first crop cut, extracting features of each second crop cut of the second crop cuts, and features of each first crop cut and the Based on the correlation determined between the features of each second crop cut, the first crop cut and the second crop cut with the largest number of key points indicating matching between positions with respect to the corresponding first crop cut are paired. It may include a decision-making step.

상기 키 포인트는 상기 페어를 이루는 제1 크롭 컷과 제2 크롭 컷 간에 대칭적으로 매칭되는 위치를 나타낼 수 있다. The key point may represent a symmetrically matched position between the first crop cut and the second crop cut forming the pair.

상기 페어로서 결정하는 단계는, 제1 크롭 컷의 피쳐들과 제2 크롭 컷의 피쳐들 간의 코릴레이션 맵을 생성하는 단계 - 상기 코릴레이션 맵은 코릴레이션 매트릭스를 포함하고, 상기 코릴레이션 매트릭스의 행 및 열은 제1 크롭 컷 내의 위치 및 제2 크롭 컷 내의 위치를 각각 나타내고, 상기 코릴레이션 매트릭스의 각 요소는 피쳐들 간의 코릴레이션 값을 나타냄 -, 상기 코릴레이션 매트릭스의 각 행별로 코릴레이션 값이 상위인 적어도 하나의 제1 값 및 상기 제1 값의 상기 코릴레이션 매트릭스에서의 제1 위치와, 상기 코릴레이션 매트릭스의 각 열별로 코릴레이션 값이 상위인 적어도 하나의 제2 값 및 상기 제2 값의 상기 코릴레이션 매트릭스에서의 위치를 결정하는 단계, 상기 코릴레이션 매트릭스와 동일한 크기의 초기화된 행렬의 상기 제1 위치에 대응하는 위치에 상기 제1 값을 할당하여 제1 행렬을 생성하고, 상기 코릴레이션 매트릭스와 동일한 크기의 초기화된 제2 행렬의 상기 제2 위치에 위치에 대응하는 위치에 상기 제2 값을 할당하여 제2 행렬을 생성하는 단계, 상기 제1 행렬 및 상기 제2 행렬을 요소별 곱(element-wise product)하여 제3 행렬을 생성하는 단계 및 상기 제3 행렬에서 0이 아닌 요소를 키 포인트로서 결정하는 단계를 포함할 수 있다. The determining as a pair may include generating a correlation map between features of a first crop cut and features of a second crop cut, the correlation map including a correlation matrix, and a row of the correlation matrix. and columns represent positions in the first crop cut and positions in the second crop cut, respectively, and each element of the correlation matrix represents a correlation value between features -, a correlation value for each row of the correlation matrix At least one first value that is different from the first position in the correlation matrix of the first value, and at least one second value that has a different correlation value for each column of the correlation matrix and the second value Determining a position of in the correlation matrix, generating a first matrix by assigning the first value to a position corresponding to the first position of an initialized matrix having the same size as the correlation matrix, generating a second matrix by allocating the second value to a position corresponding to the second position of an initialized second matrix having the same size as a relation matrix; It may include generating a third matrix by performing an element-wise product, and determining a non-zero element in the third matrix as a key point.

상기 페어로서 결정하는 단계는, 상기 제1 크롭 컷들 중 제1 순서의 제1 크롭 컷의 피쳐들과 상기 제2 크롭컷들 중 제2 순서의 제2 크롭 컷의 피쳐들과 매칭되는 것으로 결정된 때, 상기 제1 순서의 다음의 순서인 제1 크롭 컷의 피쳐들과의 코릴레이션을 결정하기 위한 서치 스페이스를 상기 제2 크롭 컷들 중에서 소정의 수의 제2 크롭 컷들의 피쳐들로 결정하는 단계 및 상기 다음의 순서인 제1 크롭 컷의 피쳐들과 상기 서치 스페이스에 포함된 제2 크롭 컷들의 피쳐들 간에 결정된 코릴레이션에 기반하여, 상기 다음의 순서인 제1 크롭 컷과, 상기 서치 스페이스에 포함된 피쳐들과 연관된 제2 크롭 컷들 중에서 상기 키 포인트의 수가 가장 많은 제2 크롭 컷을 페어로서 결정하는 단계를 포함하고, 상기 서치 스페이스로서 결정되는 소정의 수의 제2 크롭 컷들의 피쳐들은 상기 제2 순서 전후의 소정의 수의 제2 크롭 컷들의 피쳐들을 포함할 수 있다. In the step of determining as a pair, when it is determined that the features of the first crop cut in the first order among the first crop cuts match the features of the second crop cut in the second order among the second crop cuts. , Determining a search space for determining a correlation with features of a first crop cut following the first order by a predetermined number of features of second crop cuts among the second crop cuts, and Based on the correlation determined between the features of the first crop cut in the next order and the features of the second crop cuts included in the search space, the first crop cut in the next order and included in the search space. and determining, as a pair, second crop cuts having the largest number of key points among second crop cuts associated with the selected features, wherein the features of a predetermined number of second crop cuts determined as the search space are selected as a pair. It may include features of a predetermined number of second crop cuts before and after the second order.

상기 페어로서 결정하는 단계는, 상기 제1 컷들의 순서에 따라, 상기 각 제1 크롭 컷에 대해 순차적으로 상기 각 제1 크롭 컷과 페어가 되는 제2 크롭 컷을 결정하는 단계를 포함할 수 있다. The determining as a pair may include sequentially determining a second crop cut paired with each of the first crop cuts according to an order of the first cuts. .

상기 픽셀 단위로 매칭시키는 단계는, 상기 키 포인트에 기반하여 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷에 대한 어파인 변환(affine transform)을 위한 어파인 매트릭스를 추정하는 단계를 포함할 수 있다. The matching in pixel units may include estimating an affine matrix for affine transform of the first crop cut and the second crop cut included in the pair based on the key point. can

상기 어파인 매트릭스는 상기 페어에 포함된 제1 크롭 컷의 제2 크롭 컷으로의 스케일 변환 및 이동(translation) 변환을 고려하되, 상기 페어에 포함된 제1 크롭 컷의 제2 크롭 컷으로의 회전 변환은 고려하지 않도록 구성될 수 있다. The affine matrix considers scale conversion and translation conversion of the first crop cut included in the pair to the second crop cut, and the rotation of the first crop cut included in the pair to the second crop cut. Transformations can be configured not to be taken into account.

추출된 상기 각 제1 크롭 컷의 피쳐들은 상기 원본 콘텐츠와 연관된 하이 레벨(high-level) 피쳐들이고, 추출된 상기 각 제2 크롭 컷의 피쳐들은 상기 타겟 콘텐츠와 연관된 하이 레벨 피쳐들일 수 있다. The extracted features of each of the first crop cut may be high-level features associated with the original content, and the extracted features of each of the second crop cut may be high-level features associated with the target content.

상기 픽셀 단위로 매칭시키는 단계는, 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 1차적으로 매칭시키는 단계 및 상기 제1 크롭 컷과, 상기 제1 크롭 컷과의 1차적인 매칭에 따라 매칭된 크롭 컷에 기반하여, 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 2차적으로 매칭시키는 단계를 포함하고, 상기 2차적으로 매칭시키는 단계는, 상기 페어에 포함된 제1 크롭 컷의 로우 레벨(low-level) 피쳐들을 추출하는 단계, 매칭된 크롭 컷의 로우 레벨 피쳐들을 추출하는 단계, 상기 페어에 포함된 제1 크롭 컷의 로우 레벨 피쳐들과 상기 매칭된 크롭 컷의 로우 레벨 피쳐들 간에 결정된 코릴레이션(correlation)에 기반하여, 상기 페어에 포함된 제1 크롭 컷과 상기 매칭된 크롭 컷의 위치 간의 매칭을 나타내는 키 포인트를 결정하는 단계 및 상기 페어에 포함된 제1 크롭 컷 및 상기 매칭된 제2 크롭 컷에 대해 결정된 키 포인트에 기반하여, 상기 페어에 포함된 제1 크롭 컷과 상기 매칭된 크롭 컷에 대한 어파인 변환을 위한 어파인 매트릭스를 추정하는 단계를 포함할 수 있다. The matching on a pixel-by-pixel basis includes the step of primarily matching the first crop cut and the second crop cut included in the pair and the primary matching between the first crop cut and the first crop cut. and secondarily matching a first crop cut and a second crop cut included in the pair based on the matched crop cut according to the above, wherein the secondarily matching step comprises: Extracting low-level features of the crop cut, extracting low-level features of the matched crop cut, low-level features of the first crop cut included in the pair and the matched crop cut determining a key point representing a matching between a first crop cut included in the pair and a position of the matched crop cut, based on a correlation determined between low-level features; and estimating an affine matrix for affine transformation between a first crop cut included in the pair and the matched crop cut, based on key points determined for the crop cut and the matched second crop cut; can do.

상기 어파인 매트릭스를 추정하는 단계는, 상기 페어에 포함된 제1 크롭 컷 및 상기 매칭된 크롭 컷에 대해 결정된 키 포인트를 샘플링하는 단계 및 상기 샘플링된 키 포인트에 기반하여 상기 어파인 매트릭스를 추정하는 단계를 포함하고, 상기 어파인 매트릭스가 수렴할 때까지, 상기 키 포인트를 샘플링하는 단계 및 상기 샘플링된 키 포인트에 기반하여, 상기 어파인 매트릭스를 추정하는 단계를 반복할 수 있다. The estimating of the affine matrix may include sampling key points determined for the first crop cut included in the pair and the matched crop cut, and estimating the affine matrix based on the sampled key points. The step of sampling the key point and the step of estimating the affine matrix based on the sampled key point may be repeated until the affine matrix converges.

상기 어파인 매트릭스는 RANSAC 알고리즘을 사용하여 추정될 수 있다. The affine matrix can be estimated using the RANSAC algorithm.

상기 피쳐들은 인공신경망 기반의 모델을 사용하여 추출되고, 상기 하이 레벨 피쳐들과 상기 로우 레벨 피쳐들은 상기 인공신경망 기반의 모델에 포함된 서로 다른 레이어의 출력으로부터 각각 추출되고, 상기 하이 레벨 피쳐들은 상기 로우 레벨 피쳐들에 비해, 상기 인공신경망 기반의 모델의 출력에 더 가까운 레이어의 출력으로부터 추출된 것일 수 있다. The features are extracted using an artificial neural network-based model, the high-level features and the low-level features are extracted from outputs of different layers included in the artificial neural network-based model, respectively, and the high-level features are Compared to low-level features, it may be extracted from an output of a layer closer to the output of the artificial neural network-based model.

상기 원본 콘텐츠는 웹툰 콘텐츠이고, 상기 타겟 콘텐츠는 상기 웹툰 콘텐츠를 복제하여 가공된 콘텐츠일 수 있다. The original content may be webtoon content, and the target content may be content processed by copying the webtoon content.

다른 일 측면에 있어서, 복수의 제1 컷들을 포함하는 원본 콘텐츠와 복수의 제2 컷들을 포함하는 타겟 콘텐츠를 매칭하는 컴퓨터 시스템에 있어서, 상기 컴퓨터 시스템에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 원본 콘텐츠와 상기 타겟 콘텐츠를 전처리함으로써, 상기 제1 컷들에 대응하는 제1 크롭 컷들과 상기 제2 컷들에 대응하는 제2 크롭 컷들을 생성하고, 상기 제1 크롭 컷들의 각 제1 크롭 컷과, 상기 제2 크롭 컷들 중에서 상기 각 제1 크롭 컷과 가장 유사한 제2 크롭 컷과의 페어를 결정하고, 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 매칭시키는, 컴퓨터 시스템이 제공된다. In another aspect, in a computer system that matches original content including a plurality of first cuts with target content including a plurality of second cuts, at least one implemented to execute a command readable by the computer system. a processor, wherein the at least one processor generates first crop cuts corresponding to the first cuts and second crop cuts corresponding to the second cuts by pre-processing the original content and the target content; A pair of each first crop cut of the first crop cuts and a second crop cut most similar to each of the first crop cuts among the second crop cuts is determined, and a first crop cut included in the pair and a second crop cut included in the pair are determined. A computer system for matching 2 cropped cuts on a pixel-by-pixel basis is provided.

웹툰 콘텐츠와 같이, 복수의 컷들을 포함하는 원본 콘텐츠에 대해 원본 콘텐츠를 복제 및 가공한 타겟 콘텐츠를 픽셀 단위로 세밀하게 매칭시킬 수 있다. Like webtoon content, original content including a plurality of cuts may be precisely matched in pixel units with target content obtained by copying and processing the original content.

원본 콘텐츠를 복제 및 가공한 타겟 콘텐츠를 픽셀 단위로 매칭함으로써, 타겟 콘텐츠로부터 (워터마크 정보와 같은) 복제 및 가공을 수행한 주체를 식별하기 위한 식별 정보 및/또는 복제 및 가공에 대한 히스토리 정보를 추출할 수 있다. By matching target content that has been copied and processed from the original content on a pixel-by-pixel basis, identification information (such as watermark information) to identify the subject of copying and processing from the target content and/or history information on copying and processing is provided. can be extracted.

원본 콘텐츠의 컷들과 타겟 콘텐츠의 컷들로부터 하이 레벨(high-level) 피쳐들을 추출하여 1차적인 매칭(coarse matching)을 수행하고, 1차적인 매칭의 결과와 1차적인 매칭에 따른 유사 컷들에 대해 추출된 로우 레벨(low-level) 피쳐들을 사용하여 보다 세밀한 2차적인 매칭(fine-grained matching)을 수행함으로써, 원본 콘텐츠와 타켓 콘텐츠 간에 정밀한 픽셀 단위의 매칭이 이루어질 수 있다.Coarse matching is performed by extracting high-level features from cuts of the original content and cuts of the target content, and the results of the primary matching and similar cuts according to the primary matching are performed. By performing fine-grained matching using the extracted low-level features, precise pixel-by-pixel matching between original content and target content can be achieved.

도 1은 일 실시예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법을 나타낸다.
도 2는 일 실시예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법을 수행하는 컴퓨터 시스템을 나타낸다.
도 3은 일 실시예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법을 수행하는 컴퓨터 시스템의 프로세서를 나타낸다.
도 4는 일 실시예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법을 나타내는 흐름도이다.
도 5는 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 전처리하여 생성된 컷들 중에서 유사한 컷들의 페어를 결정하는 방법을 나타내는 흐름도이다.
도 6은 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 전처리하여 생성된 컷들 중에서 유사한 컷들의 페어를 결정함에 있어서, 기준이 되는 키 포인트를 결정하는 방법을 나타내는 흐름도이다.
도 7은 일 예에 따른, 서치 스페이스를 사용하여 피쳐들 간의 코릴레이션을 결정하고, 원본 콘텐츠와 타겟 콘텐츠를 전처리하여 생성된 컷들 중에서 유사한 컷들의 페어를 결정하는 방법을 나타내는 흐름도이다.
도 8은 일 예에 따른, 어파인 매트릭스를 추정하여 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법을 나타내는 흐름도이다.
도 9 및 10은 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠 간의 파인-그레인드(fine-grained) 매칭을 수행하기 위해 어파인 매트릭스를 추정하는 방법을 나타내는 흐름도이다.
도 11은 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 전처리하는 방법을 나타낸다.
도 12는 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠로부터의 피쳐 추출 방법을 나타낸다.
도 13은 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠 간의 코스(coarse) 매칭의 결과와 파인-그레인드 매칭의 결과의 비교를 나타낸다.
1 illustrates a method of matching original content and target content according to an embodiment.
2 illustrates a computer system performing a method of matching source content and target content, according to one embodiment.
3 illustrates a processor of a computer system performing a method of matching source content and target content, according to one embodiment.
4 is a flowchart illustrating a method of matching original content and target content, according to an exemplary embodiment.
5 is a flowchart illustrating a method of determining a pair of similar cuts among cuts generated by preprocessing original content and target content, according to an example.
6 is a flowchart illustrating a method of determining a key point serving as a reference when determining a pair of similar cuts among cuts generated by preprocessing original content and target content, according to an example.
7 is a flowchart illustrating a method of determining a correlation between features using a search space and determining a pair of similar cuts among cuts generated by pre-processing original content and target content, according to an example.
8 is a flowchart illustrating a method of matching original content and target content by estimating an affine matrix, according to an example.
9 and 10 are flowcharts illustrating a method of estimating an affine matrix to perform fine-grained matching between original content and target content, according to an example.
11 illustrates a method of preprocessing original content and target content according to an example.
12 illustrates a method of extracting features from original content and target content according to an example.
13 illustrates a comparison between a result of coarse matching and a result of fine-grain matching between original content and target content, according to an example.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 일 실시예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법을 나타낸다.1 illustrates a method of matching original content and target content according to an embodiment.

도 1을 참조하여, 복수의 컷들을 포함하여 구성되는, 예컨대, 웹툰 콘텐츠와 같은 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법에 대해 설명한다. Referring to FIG. 1 , a method of matching original content including a plurality of cuts, for example, webtoon content, and target content will be described.

원본 콘텐츠는 복수의 컷들(이하, 제1 컷들이라고 함)을 포함할 수 있다. 제1 컷들은, 사용자 단말과 같은 단말을 통해 원본 콘텐츠가 열람될 때, 순차적으로 노출됨으로써 의미적 연관성을 가질 수 있다. 원본 콘텐츠의 제1 컷들은 순차적으로 배열될 수 있고, 제1 컷들은 순차적으로 노출될 때 유기적으로 연결되는 스토리를 형성할 수 있다. 원본 콘텐츠를 열람하는 사용자는 이러한 원본 콘텐츠의 스토리를 이해하는 것을 통해, 원본 콘텐츠를 즐길 수 있다. The original content may include a plurality of cuts (hereinafter referred to as first cuts). The first cuts may have semantic relevance by being sequentially exposed when the original content is browsed through a terminal such as a user terminal. The first cuts of the original content may be sequentially arranged, and when the first cuts are sequentially exposed, an organically connected story may be formed. A user viewing the original content can enjoy the original content by understanding the story of the original content.

일례로, 원본 콘텐츠는 웹툰 콘텐츠로서, 유/무선 네트워크를 기반으로 인터넷을 통해 제공되는 디지털 콘텐츠 형태의 만화를 포함할 수 있다. 원본 콘텐츠의 제1 컷들은, 예컨대, 사용자가 사용자 단말의 화면을 스크롤링함에 따라 순차적으로 제공될 수 있다. For example, the original content is webtoon content, and may include digital content type cartoons provided over the Internet based on a wired/wireless network. The first cuts of the original content may be sequentially provided as the user scrolls the screen of the user terminal, for example.

원본 콘텐츠는 콘텐츠 제공 서버를 통해 클라이언트(client)인 사용자 단말에 제공되는 것일 수 있다. 콘텐츠 제공 서버는 웹툰 콘텐츠인 원본 콘텐츠를 제공하는 서비스 플랫폼일 수 있다. The original content may be provided to a user terminal serving as a client through a content providing server. The content providing server may be a service platform that provides original content such as webtoon content.

타겟 콘텐츠는 원본 콘텐츠를 복제함으로써 생성된 것일 수 있다. 예컨대, 타겟 콘텐츠는 웹툰 콘텐츠인 원본 콘텐츠를 복제하여 가공함으로써 생성된 것일 수 있다. 타겟 콘텐츠는 원본 콘텐츠의 제1 컷들에 대응하는 복수의 컷들(이하, 제2 컷들 또는 불펌 컷들이라고 함)을 포함할 수 있다.Target content may be created by duplicating original content. For example, the target content may be generated by copying and processing original content, which is webtoon content. The target content may include a plurality of cuts (hereinafter referred to as second cuts or invalid cuts) corresponding to the first cuts of the original content.

일례로, 타겟 콘텐츠는 원본 콘텐츠를 불법으로 복제한 것일 수 있고, 원본 콘텐츠에 대해 리사이징 및/또는 이미지 처리(이미지 변환/변경 처리, 해상도 변환 처리, 색상 변경 처리 등)가 수행된 것일 수 있다. 말하자면, 타겟 콘텐츠는 게시 또는 배포되는 환경에 맞게 원본 콘텐츠가 리사이징 또는 변환되거나 포함된 언어(말풍선 등에 포함된 대사)가 변역된 것일 수 있다.For example, the target content may be an illegal copy of the original content, and may be one on which resizing and/or image processing (image conversion/change processing, resolution conversion processing, color change processing, etc.) has been performed on the original content. In other words, the target content may be original content that has been resized or converted to suit an environment in which it is posted or distributed, or included language (dialogue included in speech bubbles, etc.) translated.

실시예에서는, 원본 콘텐츠와 타겟 콘텐츠를 픽셀 단위로 매칭시킴으로써, 타켓 콘텐츠가 포함하고 있는 워터마크 정보가 타겟 콘텐츠로부터 추출되도록 할 수 있다. 이러한 워터마크 정보는 복제 및 가공을 수행한 주체를 식별하기 위한 식별 정보 및/또는 복제 및 가공에 대한 히스토리 정보를 포함할 수 있다. 따라서, 실시예를 통해서는, 타겟 콘텐츠를 생성한 주체를 식별하여 제재할 수 있다. In an embodiment, watermark information included in the target content may be extracted from the target content by matching the original content and the target content in pixel units. This watermark information may include identification information for identifying a subject who performed duplication and processing and/or history information on duplication and processing. Therefore, through the embodiment, it is possible to identify and sanction the subject who created the target content.

도시된 예시에서는, 원본 콘텐츠가 포함하는 제1 컷(10)과 타겟 콘텐츠가 포함하는 제2 컷들 간의 매칭에 따라, 제1 컷(10)과 매칭되는(즉, 제1 컷(10)과 가장 유사도/관련도가 높은) 제2 컷(20)을 결정하고, 제1 컷(10)과 컷(30)에 대한 픽셀 단위의 매칭이 수행되는 방법이 도시되었다.In the illustrated example, according to the matching between the first cut 10 included in the original content and the second cuts included in the target content, the first cut 10 is matched (ie, the first cut 10 is closest to the first cut 10). A method of determining the second cut 20 (which has a high degree of similarity/relatedness) and matching the first cut 10 and the cut 30 in units of pixels is illustrated.

도시된 제1 컷(10)은 원본 콘텐츠가 포함하는 제1 컷이, 소정의 전처리 프로세스에 따라, 전처리된 것일 수 있다. 전술한 제2 컷은 타겟 콘텐츠가 포함하는 제2 컷이 소정의 전처리 프로세스에 따라, 전처리된 것일 수 있다. 컷(20)은 제1 컷(10)과 가장 유사도/관련도가 높은 제2 컷일 수 있다. 전처리 프로세스에 대해서는 후술될 도 3 내지 도 13을 참조하여 더 자세하게 설명한다. The illustrated first cut 10 may be a first cut included in the original content that has been pre-processed according to a predetermined pre-processing process. The aforementioned second cut may be obtained by pre-processing the second cut included in the target content according to a predetermined pre-processing process. The cut 20 may be a second cut having the highest similarity/relatedness to the first cut 10 . The pretreatment process will be described in more detail with reference to FIGS. 3 to 13 to be described later.

제1 컷(10)에 대해, 타겟 콘텐츠가 포함하는 제2 컷들 중에서 유사도/관련도가 가장 높은 컷(20)이 매칭될 수 있다. 제1 컷(10)과 컷(20)은 유사한 컷들을 이루는 페어로서 구성될 수 있고, 제1 컷(10)과 컷(20)은 픽셀 단위로 매칭될 수 있다. 예컨대, 제1 컷(10) 및 컷(20)에 대한 어파인(affine) 매트릭스를 추정하여 제1 컷(10) 및 컷(20)을 매칭할 수 있고, 이러한 매칭의 결과가 되는 컷은 컷(30)으로서 표현될 수 있다. 매칭의 결과는 도시된 잔차(40)로서 표현될 수 있다. 잔차(40)에서 회색 부분은 매칭이 잘 된 부분을 나타낼 수 있고, 흰색 및 검은색 부분은 매칭이 잘 되지 않은 부분을 나타낼 수 있다. 매칭이 완벽하게 되면, 잔차(40)에는 회색 부분만이 표시될 수 있다.With respect to the first cut 10, the cut 20 having the highest similarity/relatedness among the second cuts included in the target content may be matched. The first cut 10 and the cut 20 may be configured as a pair of similar cuts, and the first cut 10 and the cut 20 may be matched on a pixel basis. For example, the first cut 10 and the cut 20 may be matched by estimating an affine matrix for the first cut 10 and the cut 20, and the cut resulting from such matching is a cut. It can be expressed as (30). The result of matching can be expressed as the residual 40 shown. In the residual 40, a gray part may represent a well-matched part, and white and black parts may represent a poorly matched part. When the matching is perfect, only the gray part can be displayed in the residual 40 .

한편, 컷(30)은 제1 컷(10)과 컷(20) 간의 1차적인 매칭(예컨대, 코스 매칭(coarse matching))의 결과로서 결정되는 컷일 수 있다. 제1 컷(10)과 컷(30)은 보다 세밀한 매칭을 위해 2차적으로 매칭(예컨대, 파인-그레인드 매칭(fine-grained matching))될 수 있다. 이와 같은 2차적인 매칭에 따라 원본 콘텐츠와 타겟 콘텐츠는 픽셀 단위로 세밀하게 매칭될 수 있다. Meanwhile, the cut 30 may be a cut determined as a result of primary matching (eg, coarse matching) between the first cut 10 and the cut 20 . The first cut 10 and the cut 30 may be secondarily matched (eg, fine-grained matching) for more precise matching. According to this secondary matching, the original content and the target content may be finely matched in pixel units.

원본 콘텐츠와 타겟 콘텐츠가 포함하는 컷들에 대한 전처리와, 유사한 컷들의 페어 결정, 유사한 컷들 간의 픽셀 단위의 매칭은 후술될 컴퓨터 시스템에 의해 수행될 수 있다. Pre-processing of cuts included in the original content and the target content, determining a pair of similar cuts, and matching pixel units between similar cuts may be performed by a computer system that will be described later.

보다 상세한 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법에 대해서는 도 2 내지 도 13을 참조하여 후술한다. A more detailed method of matching original content and target content will be described later with reference to FIGS. 2 to 13 .

도 2는 일 실시예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법을 수행하는 컴퓨터 시스템을 나타낸다. 2 illustrates a computer system performing a method of matching source content and target content, according to one embodiment.

도 3은 일 실시예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법을 수행하는 컴퓨터 시스템의 프로세서를 나타낸다.3 illustrates a processor of a computer system performing a method of matching source content and target content, according to one embodiment.

컴퓨터 시스템(100)은 전술한 원본 콘텐츠와 타겟 콘텐츠 간의 픽셀 단위의 매칭을 수행하는 장치일 수 있다. 컴퓨터 시스템(100)은 원본 콘텐츠와 타겟 콘텐츠를 전처리하고, 전처리된 원본 콘텐츠의 컷과 가장 유사한 타겟 콘텐츠의 컷을 페어로서 결정하고, 결정된 페어에 포함된 컷들 간의 픽셀 단위의 매칭을 수행할 수 있다. The computer system 100 may be a device that performs pixel unit matching between the aforementioned original content and target content. The computer system 100 may pre-process the original content and the target content, determine a cut of the target content most similar to a cut of the pre-processed original content as a pair, and perform pixel unit matching between the cuts included in the determined pair. .

컴퓨터 시스템(100)은 적어도 하나의 컴퓨팅 장치를 포함하도록 구성될 수 있고, 컴퓨팅 장치는 원본 콘텐츠를 관리하는 사용자나 관리자의 단말 또는 서버로 구현될 수 있다. The computer system 100 may be configured to include at least one computing device, and the computing device may be implemented as a terminal or server of a user or administrator who manages original content.

컴퓨터 시스템(100)은 도시된 것처럼, 메모리(130), 프로세서(120), 통신부(110) 및 입출력 인터페이스(140)를 포함할 수 있다.As shown, the computer system 100 may include a memory 130, a processor 120, a communication unit 110, and an input/output interface 140.

메모리(130)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 비소멸성 대용량 기록장치는 메모리(130)와 분리되어 별도의 영구 저장 장치로서 포함될 수도 있다. 또한, 메모리(130)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(130)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신부(110)를 통해 메모리(130)에 로딩될 수도 있다. The memory 130 is a computer-readable recording medium and may include a random access memory (RAM), a read only memory (ROM), and a permanent mass storage device such as a disk drive. Here, the ROM and the non-perishable mass storage device may be separated from the memory 130 and included as a separate permanent storage device. Also, an operating system and at least one program code may be stored in the memory 130 . These software components may be loaded from a computer-readable recording medium separate from the memory 130 . The separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD/CD-ROM drive, and a memory card. In another embodiment, software components may be loaded into the memory 130 through the communication unit 110 rather than a computer-readable recording medium.

프로세서(120)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(130) 또는 통신부(110)에 의해 프로세서(120)로 제공될 수 있다. 예를 들어, 프로세서(120)는 메모리(130)에 로딩된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. The processor 120 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. Instructions may be provided to the processor 120 by the memory 130 or the communication unit 110 . For example, processor 120 may be configured to execute instructions received according to program code loaded into memory 130 .

통신부(110)는 컴퓨터 시스템(100)이 다른 장치(사용자 단말 또는 다른 서버 등)와 통신하기 위한 구성일 수 있다. 말하자면, 통신부(110)는 다른 장치에 대해 데이터 및/또는 정보를 전송/수신하는, 컴퓨터 시스템(100)의 안테나, 데이터 버스, 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다.The communication unit 110 may be a component for the computer system 100 to communicate with other devices (user terminals or other servers). In other words, the communication unit 110 is a hardware module or network such as an antenna, a data bus, a network interface card, a network interface chip, and a networking interface port of the computer system 100 that transmits/receives data and/or information to other devices. It may be a software module such as a device driver or networking program.

입출력 인터페이스(140)는 키보드 또는 마우스 등과 같은 입력 장치 및 디스플레이나 스피커와 같은 출력 장치와의 인터페이스를 위한 수단일 수 있다.The input/output interface 140 may be a means for interfacing with an input device such as a keyboard or mouse and an output device such as a display or speaker.

프로세서(120)는 컴퓨터 시스템(100)의 구성 요소들을 관리할 수 있고, 전술한 전처리, 유사 컷들의 페어 결정 및 매칭을 수행하기 위한 프로그램 또는 어플리케이션을 실행할 수 있고, 상기 프로그램 또는 어플리케이션의 실행 및 데이터의 처리 등에 필요한 연산을 처리할 수 있다. 프로세서(120)는 컴퓨터 시스템(100)의 적어도 하나의 프로세서(CPU 또는 GPU 등) 또는 프로세서 내의 적어도 하나의 코어(core)일 수 있다.The processor 120 may manage components of the computer system 100, execute a program or application for performing the above-described preprocessing, pair determination and matching of similar cuts, and execute the program or application and data It is possible to process necessary operations such as processing of . The processor 120 may be at least one processor (such as a CPU or GPU) of the computer system 100 or at least one core within the processor.

또한, 실시예들에서 컴퓨터 시스템(100) 및 프로세서(120)는 도시된 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 예컨대, 프로세서(120)는 도 3에서 도시된 것과 같은 구성들(예컨대, 310 내지 330)을 포함할 수 있다. Also, in embodiments, computer system 100 and processor 120 may include more components than those shown. For example, the processor 120 may include components (eg, 310 to 330) as shown in FIG. 3 .

도 3에서 도시된 것처럼, 프로세서(120)는 전처리부(110), 제1 매칭부(320) 및 제2 매칭부(330)를 포함할 수 있다. 이러한 구성들(310 내지 310)은 전술한 프로세서(120)의 일부이거나 프로세서(120)에 의해 구현되는 기능일 수 있다. 프로세서(120)가 포함하는 이러한 구성들(310 내지 310)은, 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)에 따라 프로세서(120)가 수행하는 서로 다른 기능들(different functions)의 표현일 수 있다.As shown in FIG. 3 , the processor 120 may include a pre-processing unit 110 , a first matching unit 320 and a second matching unit 330 . These components 310 to 310 may be part of the aforementioned processor 120 or functions implemented by the processor 120 . These components 310 to 310 included in the processor 120 may perform different functions performed by the processor 120 according to a control instruction according to an operating system code or at least one computer program code. functions).

전처리부(310)는 제1 컷들을 포함하는 원본 콘텐츠와 제1 컷들을 포함하는 타겟 콘텐츠에 대한 전처리 프로세스를 수행하는 구성일 수 있다. 예컨대, 전처리부(310)는 원본 콘텐츠(또는, 제1 컷들) 및 타겟 콘텐츠(또는, 제2 컷들)을 크롭/리사이징함으로써, 원본 콘텐츠(또는, 제1 컷들)로부터 제1 크롭 컷들을 생성하고, 타겟 콘텐츠(또는, 제2 컷들)로부터 제2 크롭 컷들을 생성할 수 있다. The preprocessing unit 310 may be a component that performs a preprocessing process on original content including first cuts and target content including first cuts. For example, the pre-processing unit 310 generates first cropped cuts from the original content (or first cuts) by cropping/resizing the original content (or first cuts) and the target content (or second cuts); , second cropped cuts may be generated from the target content (or second cuts).

제1 매칭부(320)는 전처리에 따라 생성된 제1 크롭 컷들과 제2 크롭 컷들에 기반하여, 유사한 컷들의 페어를 결정할 수 있고, 결정된 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 1차적으로 매칭(예컨대, 코스 매칭(coarse matching))할 수 있다. 제1 매칭부(320)는 제1 크롭 컷들과 제2 크롭 컷들의 각각에 대해 피쳐들(예컨대, 하이 레벨의 피쳐들)을 추출하고, 피쳐들의 코릴레이션에 기반하여 유사한 컷들의 페어를 결정할 수 있으며, 페어에 포함된 컷들에 대해 코스 매칭을 수행할 수 있다. 제1 매칭부(320)는 코스 매칭부(coarse matcher)로도 명명될 수 있다. The first matching unit 320 may determine a pair of similar cuts based on the first crop cuts and the second crop cuts generated according to the preprocessing, and select the first crop cut and the second crop cut included in the determined pair. Primary matching (eg, coarse matching) may be performed. The first matching unit 320 may extract features (eg, high-level features) for each of the first crop cuts and the second crop cuts, and determine a pair of similar cuts based on the correlation of the features. and course matching can be performed on the cuts included in the pair. The first matching unit 320 may also be referred to as a coarse matcher.

제2 매칭부(330)는 제1 매칭부(320)에 의한 처리에 따라 결정된 유사한 컷들의 페어와 제1 매칭부(320)에 의한 매칭 결과에 기반하여, 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 2차적으로 매칭(예컨대, 파인-그레인드 매칭(fine-grained matching))할 수 있다. 구체적으로, 제2 매칭부(320)는 유사한 컷들의 페어에 포함된 제1 크롭 컷과, 해당 제1 크롭 컷과 제1 매칭부(320)에 의한 코스 매칭에 따라 결정된 크롭 컷(즉, 코스 매칭된 크롭 컷)의 각각에 대해 피쳐들(예컨대, 로우 레벨의 피쳐들)을 추출하고, 추출된 피쳐들의 코릴레이션에 기반하여, 페어에 포함된 컷들에 대해 파인-그레인드 매칭을 수행할 수 있다. 제2 매칭부(330)는 파인-그레인드 매칭부(fine-grained matcher)로도 명명될 수 있다.The second matching unit 330 determines the first crop cuts included in the pair based on the pair of similar cuts determined by the processing by the first matching unit 320 and the matching result by the first matching unit 320. The second crop cut may be secondarily matched (eg, fine-grained matching). Specifically, the second matching unit 320 is a crop cut (ie, course) determined according to a first crop cut included in a pair of similar cuts and course matching between the corresponding first crop cut and the first matching unit 320. For each of the matched crop cuts), features (eg, low-level features) are extracted, and fine-grain matching is performed on the cuts included in the pair based on the correlation of the extracted features. there is. The second matching unit 330 may also be referred to as a fine-grained matcher.

전술한 코스 매칭 및 파인-그레인드 매칭은 모두 컷들을 픽셀 단위로 매칭하는 것일 수 있으나, 파인-그레인드 매칭은 코스 매칭에 비해 로우 레벨의 피쳐들을 고려함으로써 보다 컷들을 세밀하게 매칭하는 것일 수 있다. Both the above-described coarse matching and fine-grained matching may match cuts in pixel units, but fine-grained matching may match cuts more precisely by considering low-level features compared to coarse matching. .

프로세서(120)의 구성들(310 내지 310)에 의한, 전처리 프로세스, 1차적인 매칭 및 2차적인 매칭의 보다 상세한 내용에 대해서는 후술될 도 4 내지 도 13을 참조하여 더 자세하게 설명된다. Further details of the preprocessing process, the primary matching, and the secondary matching by the components 310 to 310 of the processor 120 will be described in more detail with reference to FIGS. 4 to 13 to be described later.

이상 도 1을 참조하여 전술된 기술적 특징에 대한 설명은, 도 2 및 도 3에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.Since descriptions of the technical features described above with reference to FIG. 1 may be applied as they are to FIGS. 2 and 3 , overlapping descriptions will be omitted.

후술될 상세한 설명에서, 컴퓨터 시스템(100) 또는 프로세서(120)의 구성들(310 내지 330)에 의해 수행되는 동작은 설명의 편의상 컴퓨터 시스템(100)에 의해 수행되는 동작으로 설명될 수 있다. In the detailed description to be described later, operations performed by the components 310 to 330 of the computer system 100 or processor 120 may be described as operations performed by the computer system 100 for convenience of description.

도 4는 일 실시예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법을 나타내는 흐름도이다. 4 is a flowchart illustrating a method of matching original content and target content, according to an exemplary embodiment.

도 4를 참조하여, 컴퓨터 시스템(100)이 제1 컷들을 포함하는 원본 콘텐츠와 복수의 제2 컷들을 포함하는 타겟 콘텐츠를 매칭하는 방법을 더 자세하게 설명한다. Referring to FIG. 4 , a method in which the computer system 100 matches original content including first cuts and target content including a plurality of second cuts will be described in more detail.

단계(410)에서, 컴퓨터 시스템(100)은 제1 컷들을 포함하는 원본 콘텐츠와 제2 컷들을 포함하는 타겟 콘텐츠를 획득할 수 있다. 컴퓨터 시스템(100)의 사용자에 의한 조작에 따라, 원본 콘텐츠와 타겟 콘텐츠는 컴퓨터 시스템(100)으로 로딩될 수 있다. 전술한 것처럼, 일례로, 원본 콘텐츠는 웹툰 콘텐츠이고 타겟 콘텐츠는 해당 웹툰 콘텐츠를 복제 및 가공한 것일 수 있다. 원본 콘텐츠와 타겟 콘텐츠는 웹툰의 특정한 회차일 수 있다. 원본 콘텐츠 및 타겟 콘텐츠 중 적어도 하나는 하나의 이미지 파일로 구성될 수 있다. 말하자면, 원본 콘텐츠 및 타겟 콘텐츠 중 적어도 하나는 복수의 컷들을 포함하는 하나의 이미지 파일의 형태일 수 있다. At step 410, the computer system 100 may obtain original content including first cuts and target content including second cuts. Original content and target content may be loaded into the computer system 100 according to manipulation by a user of the computer system 100 . As described above, for example, the original content may be webtoon content and the target content may be reproduction and processing of the corresponding webtoon content. Original content and target content may be a specific episode of a webtoon. At least one of original content and target content may be composed of one image file. In other words, at least one of the original content and the target content may be in the form of one image file including a plurality of cuts.

단계(420)에서, 컴퓨터 시스템(100)은 원본 콘텐츠와 타겟 콘텐츠를 전처리함으로써, 제1 컷들에 대응하는 제1 크롭 컷들과 제2 컷들에 대응하는 제2 크롭 컷들을 생성할 수 있다. 예컨대, 컴퓨터 시스템(100)은 원본 콘텐츠와 타겟 콘텐츠를 크롭/리사이징함으로써 제1 크롭 컷들 및 제2 크롭 컷들을 생성할 수 있다. In operation 420, the computer system 100 may generate first crop cuts corresponding to the first cuts and second crop cuts corresponding to the second cuts by pre-processing the original content and the target content. For example, the computer system 100 may generate first crop cuts and second crop cuts by cropping/resizing the original content and the target content.

아래에서는, 일 예에 따른 전처리 프로세스를 통해, 제1 크롭 컷 및 제2 크롭 컷을 생성하는 방법에 대해 더 자세하게 설명한다. Hereinafter, a method of generating a first crop cut and a second crop cut through a preprocessing process according to an example will be described in detail.

관련하여, 도 11은 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 전처리하는 방법을 나타낸다.In this regard, FIG. 11 illustrates a method of pre-processing original content and target content according to an example.

컴퓨터 시스템(100)은 원본 콘텐츠를 제1 크기 단위(예컨대, 높이 단위)로 크롭함으로써 제1 크롭 컷들을 생성할 수 있다. 또한, 컴퓨터 시스템(100)은 원본 콘텐츠를 일정 크기(예컨대, 일정 높이)만큼 쉬프트하여 제1 크기 단위로 그롭함으로써 제1 크롭 컷들을 생성할 수 있다. Computer system 100 may generate first crop cuts by cropping the original content by a first size unit (eg, height unit). Also, the computer system 100 may generate first crop cuts by shifting the original content by a predetermined size (eg, a predetermined height) and grouping the original content in units of a first size.

도 11에서 도시된 제1 크롭 컷(1010)은 생성된 제1 크롭 컷을 나타낼 수 있다. 이에 따라, 생성되는 제1 크롭 컷들은, 원본 콘텐츠를 소정의 제1 크기 단위로 크롭한 것들로서, 원본 콘텐츠를 소정의 제1 중복률을 갖도록 크롭한 것들을 포함하게 될 수 있다. 이 때, 제1 중복률은 50%일 수 있으며, 일례로, 전술한 제1 크기 단위가 1600 픽셀인 경우, 쉬프트되는 일정 크기는 800 픽셀이 될 수 있다. 컴퓨터 시스템(100)은 원본 콘텐츠를 제1 크기 단위(1600 픽셀)로 크롭하여 N개의 제1 크롭 컷들을 생성할 수 있고, 원본 콘텐츠를 일정 크기(800 픽셀)만큼 쉬프트하여 다시 제1 크기 단위(1600 픽셀)로 크롭함으로써 N개의 제1 크롭 컷들(50%의 중복률을 갖는 제1 컷들)을 생성할 수 있다. 따라서, 원본 콘텐츠에 대해서는 총 2N개의 제1 크롭 컷들이 생성될 수 있다. A first crop cut 1010 shown in FIG. 11 may represent the generated first crop cut. Accordingly, the first cropped cuts that are generated may include those obtained by cropping the original content by a predetermined first size unit, and those obtained by cropping the original content to have a predetermined first overlapping rate. In this case, the first overlapping rate may be 50%, and for example, when the first size unit described above is 1600 pixels, the shifted constant size may be 800 pixels. The computer system 100 may generate N first crop cuts by cropping the original content by a first size unit (1600 pixels), shifting the original content by a predetermined size (800 pixels), and again by the first size unit ( 1600 pixels), N first crop cuts (first cuts having an overlap rate of 50%) may be generated. Accordingly, a total of 2N first crop cuts may be generated for the original content.

한편, 타겟 콘텐츠는 원본 콘텐츠와는 상이한 사이즈를 가질 수 있다. Meanwhile, the target content may have a different size from that of the original content.

컴퓨터 시스템(100)은 원본 콘텐츠를 제2 크기 단위(예컨대, 높이 단위)로 크롭함으로써 제2 크롭 컷들을 생성할 수 있다. 또한, 컴퓨터 시스템(100)은 타겟 콘텐츠를 일정 크기(예컨대, 일정 높이)만큼 쉬프트하여 제2 크기 단위로 그롭함으로써 제2 크롭 컷들을 생성할 수 있다. Computer system 100 may generate second crop cuts by cropping the original content by a second size unit (eg, height unit). Also, the computer system 100 may generate second crop cuts by shifting the target content by a predetermined size (eg, a predetermined height) and grouping the target content in units of a second size.

도 11에서 도시된 제2 크롭 컷(1020)은 생성된 제2 크롭 컷을 나타낼 수 있다. 이에 따라, 생성되는 제2 크롭 컷들은, 타겟 콘텐츠를 소정의 제2 크기 단위로 크롭한 것들로서, 원본 콘텐츠를 소정의 제2 중복률을 갖도록 크롭한 것들을 포함하게 될 수 있다. 이 때, 전술한 제1 중복률과 제2 중복률은 상이하게 설정될 수 있고, 제2 중복률은 75%일 수 있다. 제2 크기 단위는 타겟 콘텐츠의 크기(높이)(즉, 불펌 높이)에 따라 상이하게 될 수 있고, 예컨대, 타겟 콘텐츠의 높이/N*2일 수 있다. 이 때, N은 원본 콘텐츠의 컷 수 또는 전술한 원본 콘텐츠를 제1 크기 단위로 크롭한 개수 N과 같을 수 있다. 제2 크기 단위는 제1 크기 단위보다 더 클 수 있고, 예컨대, 제1 크기 단위의 2배가 될 수 있다. 컴퓨터 시스템(100)은 타겟 콘텐츠를 제2 크기 단위로 크롭하여 제2 크롭 컷들을 생성할 수 있고, 제2 크롭 컷들 간에 75%(3/4)의 중복률을 갖도록 타겟 콘텐츠를 크롭하여 제2 크롭 컷들을 생성할 수 있다. 결과적으로, 타겟 콘텐츠에 대해서는 총 2N개의 제2 크롭 컷들이 생성될 수 있다. A second crop cut 1020 shown in FIG. 11 may represent the generated second crop cut. Accordingly, the generated second crop cuts may include those obtained by cropping the target content in units of a second predetermined size, and those obtained by cropping the original content to have a predetermined second overlapping rate. In this case, the aforementioned first overlapping rate and second overlapping rate may be set differently, and the second overlapping rate may be 75%. The second size unit may be different according to the size (height) of the target content (ie, non-perm height), and may be, for example, the height of the target content/N*2. In this case, N may be equal to the number N of cuts of the original content or the number N of cropping the original content in the first size unit. The second size unit may be larger than the first size unit, eg, twice the first size unit. The computer system 100 may generate second crop cuts by cropping the target content by a second size unit, and crop the target content to have an overlap ratio of 75% (3/4) between the second crop cuts to generate the second crop cuts. Crop cuts can be created. As a result, a total of 2N second crop cuts may be generated for the target content.

도시된 것처럼, 제2 크롭 컷(1020)은 제1 크롭 컷(1010)에 비해 더 크고 redundant하게 생성될 수 있다. 원본 콘텐츠의 높이가 타겟 콘텐츠와 (거의) 일치하는 경우 제2 크롭 컷(1020)의 크기는 제1 크롭 컷(1010)의 두 배가 될 수 있다. 제1 크롭 컷들의 수는 제2 크롭 컷들의 수와 동일하게 될 수 있다 As shown, the second crop cut 1020 may be created larger and redundant than the first crop cut 1010 . When the height of the original content is (almost) identical to that of the target content, the size of the second crop cut 1020 may be twice that of the first crop cut 1010 . The number of first crop cuts may be equal to the number of second crop cuts.

예컨대, 800 픽셀만큼을 쉬프트하여 원본/타겟 콘텐츠를 크롭하는 경우에는, 일례로, 원본/타겟 콘텐츠에서 위로부터 800 픽셀만큼은 버리고, 아래 800 픽셀은 제로 패딩하여, 제1 크기 단위(N)/제2 크기 단위(타겟 콘텐츠의 높이/N*2)로 크롭이 수행될 수 있다. 이에 따라, 특정한 컷(예컨대, 도신된 '어퍼컷' 장면)에 대해 다른 위상으로 두 번 크롭된 크롭 컷들이 생성될 수 있다. For example, in the case of cropping the original/target content by shifting by 800 pixels, for example, 800 pixels from the top of the original/target content are discarded, and the bottom 800 pixels are zero-padded, so that the first size unit (N)/th Cropping may be performed in 2 size units (height of the target content/N*2). Accordingly, crop cuts cropped twice with different phases may be generated for a particular cut (eg, an 'uppercut' scene shown).

2N 개의 크롭 컷들을 생성하고, 타겟 콘텐츠에 대해서는 더 크고 redundant한 크롭 컷을 생성함으로써 결과적인 원본 콘텐츠와 타겟 콘텐츠 간의 매칭의 정확도를 높일 수 있다. By generating 2N crop cuts and generating a crop cut that is larger and redundant for the target content, matching accuracy between the resultant original content and the target content may be increased.

단계(430)에서, 컴퓨터 시스템(100)은 제1 크롭 컷들의 각 제1 크롭 컷과, 제2 크롭 컷들 중에서 상기 각 제1 크롭 컷과 가장 유사한 제2 크롭 컷과의 페어를 결정할 수 있다. 상기 페어는 전술한 유사한 컷들의 페어에 대응할 수 있다. 단계(430)의 페어링 프로세스는 전술한 제1 매칭부(320)에 의해 수행되는 것일 수 있다. In operation 430, the computer system 100 may determine a pair of each first crop cut of the first crop cuts and a second crop cut most similar to each first crop cut among the second crop cuts. The pair may correspond to a pair of similar cuts described above. The pairing process of step 430 may be performed by the first matching unit 320 described above.

컴퓨터 시스템(100)은 각 제1 크롭 컷으로부터 추출된 피쳐들과 각 제2 크롭 컷으로부터 추출된 피쳐들 간의 코릴레이션에 기반하여, 제1 크롭 컷과 가장 유사한 피쳐들을 갖는 제2 크롭 컷을 해당 제1 크롭 컷과의 페어로서 결정할 수 있다. The computer system 100 selects a second crop cut having features most similar to the first crop cut based on a correlation between features extracted from each first crop cut and features extracted from each second crop cut. It can be determined as a pair with the first crop cut.

유사한 컷들의 페어를 결정하는 방법에 대해서는, 후술될 도 5 내지 도 7을 참조하여 더 자세하게 설명된다. A method of determining a pair of similar cuts will be described in more detail with reference to FIGS. 5 to 7 to be described later.

단계(440)에서, 컴퓨터 시스템(100)은 결정된 컷들의 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 매칭시킬 수 있다. 예컨대, 컴퓨터 시스템(100)은 전술한 코스 매칭을 통해 제1 크롭 컷과 제2 크롭 컷을 1차적으로 픽셀 단위로 매칭시킬 수 있다. 또한, 컴퓨터 시스템(100)은 전술한 파인-그레인드 매칭을 통해 제1 크롭 컷과 상기 코스 매칭에 따라 결정된 크롭 컷(즉, 코스 매칭된 크롭 컷)을 픽셀 단위로 매칭시킬 수 있다. 예컨대, 컴퓨터 시스템(100)은 1차적으로 제1 크롭 컷과 제2 크롭 컷들의 하이 레벨 피쳐들 간의 코릴레이션에 기반한 코스 매칭을 수행할 수 있고, 2차적으로 제1 크롭 컷과 1차적으로 매칭된(코스 매칭된) 크롭 컷들의 로우 레벨 피쳐들 간의 코릴레이션에 기반한 파인-그레인드 매칭을 수행할 수 있다.In step 440, the computer system 100 may match the first crop cut and the second crop cut included in the determined pair of cuts in a pixel unit. For example, the computer system 100 may first match the first crop cut and the second crop cut in units of pixels through the above-described course matching. In addition, the computer system 100 may match the first crop cut and the crop cut determined according to the course matching (ie, the coarse matched crop cut) on a pixel basis through the above-described fine-grain matching. For example, the computer system 100 may firstly perform course matching based on correlations between the high level features of the first crop cut and the second crop cuts, and secondarily match the first crop cut with the first order. It is possible to perform fine-grain matching based on correlation between low-level features of cropped (course matched) crop cuts.

구체적으로, 유사한 컷들의 페어가 결정되고, 컴퓨터 시스템(100)은 상기 페어가 포함하는 제1 크롭 컷과 제2 크롭 컷을 코스 매칭할 수 있다. 컴퓨터 시스템(100)은 이러한 코스 매칭의 결과로서, 제1 크롭 컷과 코스 매칭된 크롭 컷을 결정(또는 생성)할 수 있다. 코스 매칭된 크롭 컷은 예컨대, 도 1을 참조하여 전술된 컷(30)에 대응할 수 있다. Specifically, a pair of similar cuts is determined, and the computer system 100 may course-match the first crop cut and the second crop cut included in the pair. As a result of the course matching, the computer system 100 may determine (or generate) a first crop cut and a course-matched crop cut. The course matched crop cut may correspond to the cut 30 described above with reference to FIG. 1 , for example.

컴퓨터 시스템(100)은 상기 페어에 포함된 제1 크롭 컷과 상기 코스 매칭된 크롭 컷에 대해 파인-그레인드 매칭을 수행할 수 있다. 컴퓨터 시스템(100)은 파인-그레인드 매칭을 통해 컷들 간의 어파인 변환을 위한 어파인 매트릭스를 추정할 수 있고, 추정되는 어파인 매트릭스가 수렴하게 될 때까지 파인-그레인드 매칭을 반복할 수 있다. 즉, 컴퓨터 시스템(100)은 제1 크롭 컷과 파인-그레인드 매칭된 크롭 컷에 대해 다시 파인-그레인드 매칭을 수행하여 어파인 매트릭스의 추정을 반복할 수 있다.The computer system 100 may perform fine-grain matching on the first crop cut included in the pair and the coarse matched crop cut. The computer system 100 may estimate an affine matrix for affine transformation between cuts through fine-grained matching, and may repeat fine-grained matching until the estimated affine matrix converges. . That is, the computer system 100 may repeat the estimation of the affine matrix by performing fine-grain matching again on the first crop cut and the fine-grain matched crop cut.

추정된 어파인 매트릭스가 수렴하게 되면, 컴퓨터 시스템(100)은 상기 페어에 포함된 제2 크롭 컷에 대해 수렴한 어파인 매트릭스를 적용함으로써 최종적인 파인-그레인드 매칭의 결과를 얻을 수 있다. 이처럼, 최종적인 매칭 결과를 얻음에 있어서는, (파인-그레인드 매칭된 크롭 컷이 아닌) 페어에 포함된 제2 크롭 컷을 사용함으로써, 파인-그레인드 매칭의 누적에 의한 인터폴레이션 손실을 방지할 수 있다. When the estimated affine matrix converges, the computer system 100 may obtain a final fine-grain matching result by applying the converged affine matrix to the second crop cut included in the pair. As such, in obtaining the final matching result, interpolation loss due to accumulation of fine-grain matching can be prevented by using the second crop cut included in the pair (not the crop cut with fine-grain matching). there is.

전술한 방법에 따라, 모든 원본 콘텐츠에 포함된 제1 크롭 컷들에 대해, 타겟 콘텐츠의 제2 크롭 컷들에 대한 픽셀 단위의 매칭이 이루어짐으로써, 원본 콘텐츠와 타겟 콘텐츠는 픽셀 단위로 매칭될 수 있다. According to the above-described method, matching is performed in pixel units with the second crop cuts of the target content with respect to the first crop cuts included in all original content, so that the original content and the target content may be matched in a pixel unit.

제1 크롭 컷과 제2 크롭 컷 간에의 픽셀 단위의 매칭을 수행하는 방법에 대해서는, 후술될 도 8 내지 도 10을 참조하여 더 자세하게 설명된다. A method of performing pixel unit matching between the first crop cut and the second crop cut will be described in more detail with reference to FIGS. 8 to 10 to be described later.

단계(450)에서, 컴퓨터 시스템(100)은 제1 크롭 컷들과 제2 크롭 컷들의 픽셀 단위의 매칭 결과에 기반하여, 타겟 콘텐츠로부터 타겟 콘텐츠를 생성한 사용자에 대한 식별 정보를 추출할 수 있다. 예컨대, 컴퓨터 시스템(100)은 원본 콘텐츠와 타겟 콘텐츠가 픽셀 단위로 매칭됨에 따라, 타겟 콘텐츠로부터 워터마크 정보를 획득할 수 있다.In operation 450, the computer system 100 may extract identification information about a user who created the target content from the target content, based on a matching result of the first crop cuts and the second crop cuts in units of pixels. For example, the computer system 100 may obtain watermark information from the target content as the original content and the target content are matched on a pixel-by-pixel basis.

식별 정보는, 예컨대, 원본 콘텐츠에 대한 콘텐츠 열람자 정보를 포함할 수 있다. 콘텐츠 열람 정보는 원본 콘텐츠를 열람한 또는 구매한(혹은, 열람 또는 구매 요청한) 사용자에 대한 정보를 포함할 수 있다. 콘텐츠 열람 정보는 해당 사용자를 식별하기 위한 정보로서, 사용자 ID 를 포함할 수 있다. 이 때, 사용자 ID 는 원본 콘텐츠를 열람하기 위해 콘텐츠 제공 서비스에 가입할 때 등록한 사용자 식별 ID 일 수 있다. 이러한 식별 ID는 원본 콘텐츠 열람 시 사용자가 로그인한 ID 일 수 있다. Identification information may include, for example, content viewer information for original content. Content viewing information may include information about a user who has viewed or purchased (or requested to view or purchase) original content. Content viewing information is information for identifying a corresponding user and may include a user ID. In this case, the user ID may be a user identification ID registered when subscribing to a content providing service in order to view original content. This identification ID may be an ID logged in by a user when viewing original content.

식별 정보는 원본 콘텐츠의 특정 위치의 픽셀들에 부가되어 있을 수 있고, 기 설정된 표식 폼에서 정의되어 있는 색상, 위치, 형태, 또는 순서에 따라, 픽셀들에 부가될 수 있다. Identification information may be added to pixels at a specific location of the original content, and may be added to pixels according to a color, location, shape, or order defined in a preset display form.

한편, 컴퓨터 시스템(100)은 제1 크롭 컷들과 제2 크롭 컷들의 픽셀 단위의 매칭 결과에 기반하여, 원본 콘텐츠로부터 타겟 콘텐츠로의 프로세싱 히스토리를 분석한 분석 정보를 획득할 수 있다. 예컨대, 컴퓨터 시스템(100)은 제1 크롭 컷들과 제2 크롭 컷들의 픽셀 단위의 매칭 결과에 기반하여, 타켓 콘텐츠가 원본 콘텐츠를 어떻게 가공한 것인지를 결정할 수 있다. 말하자면, 컴퓨터 시스템(100)은 타켓 콘텐츠가 원본 콘텐츠에 대해 어떠한 처리(예컨대, i) 색상 변환, ii) 객체 추가(번역, 불펌 사이트의 워터마크 추가), iii) 해상도 변경, iv) 리사이징, v) 크롭(여백 제거 등), vi) 디노이징 처리, vii) 압축 처리(JPEG 90) 등)에 따라 생성된 것인지를 결정할 수 있다. Meanwhile, the computer system 100 may obtain analysis information obtained by analyzing a processing history from original content to target content based on a matching result of the first crop cuts and the second crop cuts in units of pixels. For example, the computer system 100 may determine how the original content is processed as the target content, based on a pixel unit matching result of the first crop cuts and the second crop cuts. In other words, the computer system 100 performs any processing (eg, i) color conversion on the original content, ii) object addition (translation, adding watermarks for illegal sites), iii) resolution change, iv) resizing, v ) crop (removal of blank space, etc.), vi) denoising process, vii) compression process (JPEG 90, etc.)

이에 따라 실시예에서는, 불펌 사이트와 같은 공간에 타겟 콘텐츠가 게재된 경우에, 불법적으로 원본 콘텐츠를 복제 및 가공한 사용자를 식별하여 제재할 수 있으며, 해당 사용자에 의한 원본 콘텐츠에 대한 프로세싱 히스토리를 파악할 수 있다. Accordingly, in the embodiment, when target content is posted in a space such as a bullying site, a user who illegally copied and processed the original content can be identified and sanctioned, and the processing history of the original content by the user can be identified. can

이상, 도 1 내지 도 3과 도 11을 참조하여 전술된 기술적 특징에 대한 설명은, 도 4에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.Above, the description of the technical features described above with reference to FIGS. 1 to 3 and FIG. 11 may also be applied to FIG. 4 as it is, and thus duplicate descriptions are omitted.

아래에서는 도 5 내지 도 7을 참조하여 유사한 컷들의 페어를 결정하는 방법에 대해 더 자세하게 설명한다. 유사한 컷들의 페어를 결정하는 페어링 프로세스는 전술한 제1 매칭부(320)에 의해 수행될 수 있다. 즉, 이러한 페어링 프로세스는 전술한 코스 매칭의 전단계로서 수행될 수 있다. A method for determining a pair of similar cuts will be described in more detail below with reference to FIGS. 5 to 7 . A pairing process for determining a pair of similar cuts may be performed by the first matching unit 320 described above. That is, this pairing process may be performed as a previous step of course matching.

도 5는 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 전처리하여 생성된 컷들 중에서 유사한 컷들의 페어를 결정하는 방법을 나타내는 흐름도이다.5 is a flowchart illustrating a method of determining a pair of similar cuts among cuts generated by preprocessing original content and target content, according to an example.

단계(510)에서, 컴퓨터 시스템(100)은 전처리 프로세스를 통해 생성된 각 제1 크롭 컷의 피쳐들을 추출할 수 있고, 전처리 프로세스를 통해 생성된 각 제2 크롭 컷의 피쳐들을 추출할 수 있다. 단계(510)에서 추출된 각 제1 크롭 컷의 피쳐들은 상기 원본 콘텐츠와 연관된 하이 레벨(high-level) 피쳐들일 수 있고, 추출된 각 제2 크롭 컷의 피쳐들은 타겟 콘텐츠와 연관된 하이 레벨 피쳐들일 수 있다. At step 510, the computer system 100 may extract features of each first crop cut generated through the pre-processing process and extract features of each second crop cut generated through the pre-processing process. The features of each first crop cut extracted in step 510 may be high-level features associated with the original content, and the features of each extracted second crop cut may be high-level features associated with the target content. can

제1 크롭 컷으로부터 추출된 피쳐들과 제2 크롭 컷으로부터 추출된 피쳐들은 인공신경망 기반의 모델을 사용하여 추출될 수 있다. 예컨대, 이러한 피쳐들은 ResNet을 사용하여 추출될 수 있다. The features extracted from the first crop cut and the features extracted from the second crop cut may be extracted using an artificial neural network-based model. For example, these features can be extracted using ResNet.

일례로, 제1 크롭 컷으로부터 추출된 피쳐들과 제2 크롭 컷으로부터 추출된 피쳐들은 ResNet50 에 기반한 모델(MOCO ResNet50 (v2) pretrained 모델)을 사용하여 추출될 수 있다. 관련하여, 도 12는 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠로부터의 피쳐 추출 방법을 나타낸다.For example, the features extracted from the first crop cut and the features extracted from the second crop cut may be extracted using a model based on ResNet50 (MOCO ResNet50 (v2) pretrained model). In this regard, FIG. 12 illustrates a method for extracting features from source content and target content according to an example.

도 12에서 도시된 것처럼, 제1 크롭 컷 및 제2 크롭 컷으로부터 추출되는 하이 레벨 피쳐들은 ResNet50의 layer4(1210)의 출력(피쳐 맵)으로부터 추출된 것일 수 있다. 이 때, layer4는 1024개의 채널을 갖고 1/16로 출력의 차수를 줄일 수 있다. layer4는 분류(classification)를 위한 레이어의 바로 전단에 위치될 수 있다. As shown in FIG. 12 , high-level features extracted from the first crop cut and the second crop cut may be extracted from an output (feature map) of layer4 1210 of ResNet50. At this time, layer 4 has 1024 channels and can reduce the order of the output to 1/16. Layer 4 may be positioned just before a layer for classification.

이에 따라, 일례로, 1600*690 픽셀 크기의 제1 크롭 컷에 대해서는 100*43*1024의 피쳐들이 추출될 수 있다. 3200*690 픽셀 크기의 제2 크롭 컷에 대해서는 200*43*1024의 피쳐들이 추출될 수 있다.Accordingly, for example, features of 100*43*1024 may be extracted for the first crop cut having a size of 1600*690 pixels. Features of 200*43*1024 may be extracted for the second crop cut having a size of 3200*690 pixels.

단계(520)에서, 컴퓨터 시스템(100)은 각 제1 크롭 컷의 피쳐들과 각 제2 크롭 컷의 피쳐들 간에 결정된 코릴레이션(correlation)에 기반하여, 제1 크롭 컷과, 해당 제1 크롭 컷에 대해 위치 간의 매칭을 나타내는 키 포인트의 수가 가장 많은 제2 크롭 컷을 페어로서 결정할 수 있다. 코릴레이션의 값은 제1 크롭 컷의 일 위치(일 위치의 피쳐)와 제2 크롭 컷의 일 위치(일 위치의 피쳐) 간의 상관관계 또는 연관성을 수치화한 것일 수 있고, 상관관계 또는 연관성이 높을 수록 큰 값이될 수 있다. In step 520, the computer system 100 determines the first crop cut and the corresponding first crop based on the correlations determined between the features of each first crop cut and the features of each second crop cut. Second crop cuts having the largest number of key points indicating matching between locations for cuts may be determined as a pair. The correlation value may be a numerical value of the correlation or association between one position (feature at one position) of the first crop cut and one position (feature at one position) of the second crop cut, and the correlation or correlation is high. It can be a larger value.

키 포인트는 페어를 이루는 제1 크롭 컷과 제2 크롭 컷 간에 대칭적으로 매칭되는 위치를 나타낼 수 있다. 말하자면, 키 포인트가 나타내는 제1 크롭 컷 내의 위치 및 제2 크롭 컷 내의 위치는 서로 대응하는 위치일 수 있다. The key point may represent a symmetrically matched position between the first crop cut and the second crop cut forming a pair. In other words, the position in the first crop cut and the position in the second crop cut indicated by the key point may correspond to each other.

컴퓨터 시스템(100)은 각 제1 크롭 컷의 피쳐들과 각 제2 크롭 컷의 피쳐들에 대한 코릴레이션 맵을 생성할 수 있고, 생성된 코릴레이션 맵에 기반하여, 제1 크롭 컷 및 제2 크롭 컷의 서로 대응하는 위치를 나타내는 키 포인트들을 식별할 수 있다. 컴퓨터 시스템(100)은 각 제1 크롭 컷에 대해 이러한 키 포인트들의 수가 가장 많은 제2 크롭 컷을 결정하여, 제1 크롭 컷과 제2 크롭 컷을 페어링할 수 있다. The computer system 100 may generate a correlation map for features of each first crop cut and features of each second crop cut, and based on the generated correlation map, the first crop cut and the second crop cut. Key points representing positions of crop cuts corresponding to each other may be identified. The computer system 100 may pair the first crop cut with the second crop cut by determining, for each first crop cut, a second crop cut having the greatest number of such key points.

아래에서는, 전술한 키 포인트를 결정하는 방법에 대해 더 자세하게 설명한다. In the following, a method of determining the aforementioned key point is described in more detail.

관련하여, 도 6은 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠를 전처리하여 생성된 컷들 중에서 유사한 컷들의 페어를 결정함에 있어서, 기준이 되는 키 포인트를 결정하는 방법을 나타내는 흐름도이다.In this regard, FIG. 6 is a flowchart illustrating a method of determining a key point serving as a reference when determining a pair of similar cuts among cuts generated by preprocessing original content and target content, according to an example.

단계(610)에서, 컴퓨터 시스템(100)은 제1 크롭 컷의 피쳐들과 제2 크롭 컷의 피쳐들 간의 코릴레이션 맵을 생성할 수 있다. At step 610, the computer system 100 may generate a correlation map between features of the first crop cut and features of the second crop cut.

코릴레이션 맵은 예컨대, 아래의 수학식 1에 따라 생성될 수 있다.The correlation map may be generated, for example, according to Equation 1 below.

Figure pat00001
Figure pat00001

상기 수학식 1에서, f ori 는 원본 콘텐츠의 제1 크롭 컷으로부터 추출된 피쳐들(예컨대, 4300*1024)을 나타낼 수 있고, f priate 는 타겟 콘텐츠의 제2 크롭 컷으로부터 추출된 피쳐들(예컨대, 8600*1024)을 나타낼 수 있다. hh'는 제1 크롭 컷으로부터 추출된 피쳐들의 높이와 제2 크롭 컷으로부터 추출된 피쳐들의 높이를 각각 나타낼 수 있고, ww'는 제1 크롭 컷으로부터 추출된 피쳐들의 폭과 제2 크롭 컷으로부터 추출된 피쳐들의 폭을 각각 나타낼 수 있다. In Equation 1, f ori may represent features extracted from the first crop cut of the original content (eg, 4300*1024), and f priate may represent features extracted from the second crop cut of the target content (eg, 4300*1024). , 8600*1024). h and h' may represent the heights of features extracted from the first crop cut and the heights of features extracted from the second crop cut, respectively, and w and w' may represent the widths of features extracted from the first crop cut and the heights of features extracted from the second crop cut, respectively. Widths of features extracted from the crop cut may be respectively indicated.

생성되는 코릴레이션 맵은 코릴레이션 매트릭스를 포함할 수 있다. 코릴레이션 매트릭스의 행 및 열은 제1 크롭 컷 내의 위치 및 제2 크롭 컷 내의 위치를 각각 나타낼 수 있고, 코릴레이션 매트릭스의 각 요소(element)는 피쳐들 간의 코릴레이션 값을 나타낼 수 있다. The generated correlation map may include a correlation matrix. Rows and columns of the correlation matrix may indicate positions within the first crop cut and positions within the second crop cut, respectively, and each element of the correlation matrix may indicate a correlation value between features.

단계(620)에서, 컴퓨터 시스템(100)은 코릴레이션 매트릭스의 각 행별로 코릴레이션 값이 상위인 적어도 하나의 제1 값 및 해당 제1 값의 상기 코릴레이션 매트릭스에서의 제1 위치(행 및 열의 위치)와, 코릴레이션 매트릭스의 각 열별로 코릴레이션 값이 상위인 적어도 하나의 제2 값 및 제2 값의 코릴레이션 매트릭스에서의 위치(행 및 열의 위치)를 결정할 수 있다. 일례로, 컴퓨터 시스템(100)은 값이 상위인 2개의 제1 값을 각 행별로 결정하고, 값이 상위인 2개의 제2 값을 각 열별로 결정할 수 있다. 이에 따라, 컴퓨터 시스템(100)은 제1 크롭 컷의 각각의 위치에 대해 연관성이 상위인 제2 크롭 컷의 위치(들)에 해당하는 제1 값을 결정할 수 있고, 제2 크롭 컷의 각각의 위치에 대해 연관성이 상위인 제1 크롭 컷의 위치(들) 에 해당하는 제2 값을 결정할 수 있다. In step 620, the computer system 100 performs at least one first value having a different correlation value for each row of the correlation matrix and a first position (row and column) of the corresponding first value in the correlation matrix. position), at least one second value having a different correlation value for each column of the correlation matrix, and positions (row and column positions) of the second value in the correlation matrix. For example, the computer system 100 may determine two first values having different values for each row and determine two second values having different values for each column. Accordingly, the computer system 100 may determine a first value corresponding to the location(s) of the second crop cut having a higher correlation with respect to each location of the first crop cut, and It is possible to determine a second value corresponding to the position(s) of the first crop cut having a different correlation with respect to positions.

컴퓨터 시스템(100)은 이러한 결정된 제1 값들과 제2 값들 중에서 제1 크롭 컷과 제2 크롭 컷 간에 대칭적으로 매칭되는 위치에 해당하는 값들만을 키 포인트에 해당하는 값으로서 결정할 수 있다. 대칭적으로 매칭되는 위치란 제1 크롭 컷의 일 위치를 기준으로 거기에 매칭되는 제2 크롭 컷의 일 위치가, 제2 크롭컷의 상기 일 위치를 기준으로 제1 크롭 컷의 상기 일 위치에도 매칭되는 경우를 나타낼 수 있다. The computer system 100 may determine only values corresponding to positions symmetrically matched between the first crop cut and the second crop cut among the determined first and second values as values corresponding to key points. A symmetrically matched position means that a position of a second crop cut matched to a position of the first crop cut based on a position of the first crop cut is also located at the position of the first crop cut based on the position of the second crop cut. Matching cases may be indicated.

단계(630)에서, 컴퓨터 시스템(100)은, 이러한 키 포인트를 결정하기 위해, 코릴레이션 매트릭스와 동일한 크기의 초기화된 행렬의 상기 제1 위치에 대응하는 위치에 제1 값을 할당하여 제1 행렬을 생성하고, 코릴레이션 매트릭스와 동일한 크기의 초기화된 제2 행렬의 상기 제2 위치에 위치에 대응하는 위치에 상기 제2 값을 할당하여 제2 행렬을 생성할 수 있다. 초기화된 행렬은 요소 전부가 0인 행렬을 의미하며, 따라서, 생성된 제1 행렬 및 제2 행렬은 값이 할당된 요소를 제외하고는, 나머지 요소들은 모두 0이 될 수 있다. In step 630, the computer system 100 assigns a first value to a position corresponding to the first position of the initialized matrix having the same size as the correlation matrix to determine such a key point, thereby generating a first matrix. And a second matrix may be generated by assigning the second value to a position corresponding to the second position of the initialized second matrix having the same size as the correlation matrix. An initialized matrix means a matrix in which all elements are 0, and therefore, all other elements of the generated first matrix and second matrix may be 0 except for elements to which values are assigned.

단계(640)에서, 컴퓨터 시스템(100)은 생성된 제1 행렬 및 제2 행렬을 요소별 곱(element-wise product)하여 제3 행렬을 생성할 수 있다. 이와 같은 연산에 따라, 제3 행렬에서는, 제1 크롭 컷과 제2 크롭 컷의 대칭적으로 매칭되는 위치에 해당하는 값을 제외하고는, 나머지 요소들이 모두 0이 될 수 있다.In step 640, the computer system 100 may generate a third matrix by element-wise producting the generated first matrix and the second matrix. According to such an operation, in the third matrix, all elements other than values corresponding to symmetrically matched positions of the first crop cut and the second crop cut may be 0.

단계(650)에서, 컴퓨터 시스템(100)은 이러한 제3 행렬에서 0이 아닌 요소를 키 포인트로서 결정할 수 있다. 키 포인트에 의해 제1 크롭 컷과 제2 크롭 컷 간의 관계에서 매칭되는 위치가 결정될 수 있다. At step 650, computer system 100 can determine the non-zero elements in this third matrix as key points. A matching position in the relationship between the first crop cut and the second crop cut may be determined by the key point.

컴퓨터 시스템(100)은 제3 행렬에서 0이 아닌 요소들의 수를 카운트함으로써, 제1 크롭 컷과 제2 크롭 컷 간의 관계에서 키 포인트의 수를 결정할 수 있다. Computer system 100 may determine the number of key points in the relationship between the first crop cut and the second crop cut by counting the number of non-zero elements in the third matrix.

컴퓨터 시스템(100)은 제1 크롭 컷의 피쳐들과 제2 크롭 컷들의 각각의 피쳐들(또는, 소정의 서치 스페이스에 포함되는 제2 크롭 컷들 각각의 피쳐들)에 대해 전술한 단계들(610 내지 650)을 수행함으로써, 각 제1 크롭 컷에 대해 키 포인트들의 수가 가장 많은 제2 크롭 컷을 결정하여, 제1 크롭 컷과 제2 크롭 컷을 페어링할 수 있다.The computer system 100 performs the steps 610 described above for the features of the first crop cut and the respective features of the second crop cuts (or the features of each of the second crop cuts included in the predetermined search space). to 650), a second crop cut having the greatest number of key points may be determined for each first crop cut, and the first crop cut and the second crop cut may be paired.

아래에서는, 도 7을 참조하여, 키 포인트를 결정함에 있어서 소정의 서치 스페이스를 사용하는 내용에 대해 더 자세하게 설명한다. Below, with reference to FIG. 7, details of using a predetermined search space in determining a key point will be described in detail.

관련하여, 도 7은 일 예에 따른, 서치 스페이스를 사용하여 피쳐들 간의 코릴레이션을 결정하고, 원본 콘텐츠와 타겟 콘텐츠를 전처리하여 생성된 컷들 중에서 유사한 컷들의 페어를 결정하는 방법을 나타내는 흐름도이다. In this regard, FIG. 7 is a flowchart illustrating a method of determining a correlation between features using a search space and determining a pair of similar cuts among cuts generated by preprocessing original content and target content, according to an example.

실시예에서는, 유사한 컷들의 페어를 결정함에 있어서 불필요한 연산을 줄이고, 원본 콘텐츠 및 타겟 콘텐츠 간의 매칭의 속도를 높이기 위해 소정의 서치 스페이스를 설정하여 사용할 수 있다.In an embodiment, a predetermined search space may be set and used in order to reduce unnecessary calculations in determining pairs of similar cuts and to speed up matching between original content and target content.

원본 콘텐츠와 타겟 콘텐츠는 제공되는 방향이 정해져 있으므로, 원본 콘텐츠와 타겟 콘텐츠에 포함된 컷들은 순서를 가질 수 있다. 따라서, 제1 크롭 컷들과 제2 크롭 컷들 역시 소정의 순서를 가질 수 있다. Since the direction in which original content and target content are provided is determined, cuts included in original content and target content may have an order. Accordingly, the first crop cuts and the second crop cuts may also have a predetermined order.

서치 스페이스는 이러한 제1 크롭 컷들과 제2 크롭 컷들의 소정의 순서에 따라 결정될 수 있다. The search space may be determined according to a predetermined order of the first crop cuts and the second crop cuts.

단계(710)에서, 컴퓨터 시스템(100)은, 제1 크롭 컷과 제2 크롭 컷을 페어로서 결정함에 있어서, 제1 크롭 컷에 대한 코릴레이션 결정을 위한 제2 크롭 컷들로 구성된 서치 스페이스를 결정할 수 있다. 예컨대, 컴퓨터 시스템(100)은, 제1 크롭 컷들 중 제1 순서의 제1 크롭 컷의 피쳐들과 제2 크롭컷들 중 제2 순서의 제2 크롭 컷의 피쳐들과 매칭되는 것으로 결정된 때(말하자면, 제1 순서의 제1 크롭 컷과 제2 순서의 제2 크롭 컷이 서로 페어인 것으로 결정된 때), 제1 순서의 다음의 순서인 제1 크롭 컷의 피쳐들과의 코릴레이션을 결정하기 위한 서치 스페이스를 제2 크롭 컷들 중에서 소정의 수의 제2 크롭 컷들의 피쳐들로 결정할 수 있다. 이 때, 서치 스페이스로서 결정되는 상기 소정의 수의 제2 크롭 컷들의 피쳐들은 제2 순서 전후의 소정의 수의 제2 크롭 컷들의 피쳐들을 포함할 수 있다.In step 710, the computer system 100 determines a search space composed of second crop cuts for determining a correlation with respect to the first crop cut in determining the first crop cut and the second crop cut as a pair. can For example, when the computer system 100 determines that features of a first order of first crop cuts among first crop cuts match features of a second order of second crop cuts of second crop cuts ( That is, when it is determined that the first crop cut of the first order and the second crop cut of the second order are paired with each other), determining correlations with features of the first crop cut of the next order of the first order A search space for search may be determined by features of a predetermined number of second crop cuts among the second crop cuts. In this case, the predetermined number of features of the second crop cuts determined as the search space may include a predetermined number of features of the second crop cuts before and after the second order.

단계(720)에서, 컴퓨터 시스템(100)은, 상기 다음의 순서인 제1 크롭 컷의 피쳐들과 서치 스페이스에 포함된 제2 크롭 컷들의 피쳐들 간에 결정된 코릴레이션에 기반하여, 상기 다음의 순서인 제1 크롭 컷과, 서치 스페이스에 포함된 피쳐들과 연관된 제2 크롭 컷들 중에서 키 포인트의 수가 가장 많은 제2 크롭 컷을 페어로서 결정할 수 있다. 말하자면, 제1 크롭 컷에 대해 설정된 서치 스페이스 내에서 키 포인트의 수가 가장 많은 제2 크롭 컷이 해당 제1 크롭 컷의 페어로서 결정될 수 있다. In step 720, the computer system 100 performs the next order, based on the determined correlation between the features of the first crop cut, which is the next order, and the features of the second crop cuts included in the search space. A first crop cut with , and a second crop cut having the largest number of key points among second crop cuts associated with features included in the search space may be determined as a pair. In other words, a second crop cut having the largest number of key points within a search space set for the first crop cut may be determined as a corresponding first crop cut pair.

단계(730)에서, 컴퓨터 시스템(100)은, 제1 컷들의 순서에 따라, 각 제1 크롭 컷에 대해 순차적으로 각 제1 크롭 컷과 페어가 되는 제2 크롭 컷을 결정할 수 있다. In operation 730 , the computer system 100 may sequentially determine a second crop cut paired with each first crop cut for each first crop cut according to the order of the first crop cuts.

일례로, 서치 스페이스는 최대 10개의 제2 크롭 컷들의 피쳐들로 설정될 수 있고, 매칭된 제2 크롭 컷의 피쳐들을 기준으로 전후로 5개의 제2 크롭 컷들의 피쳐들을 포함하도록 구성될 수 있다. 가령, 첫 번째의 제1 크롭 컷에 매칭되는 제2 크롭 컷의 피쳐들을 찾기 위한 서치 스페이스는 첫 번째 내지 다섯 번째 제2 크롭 컷들의 피쳐들이 될 수 있다. 이 때, 첫 번째의 제1 크롭 컷의 피쳐들이 세 번째의 제2 크롭 컷의 피쳐들과 매칭되는 경우, 두 번째의 제1 크롭 컷에 매칭되는 제2 크롭 컷의 피쳐들을 찾기 위한 서치 스페이스는 첫 번째 내지 여덟 번째(3+5) 제2 크롭 컷들의 피쳐들이 될 수 있다. 특정한 제1 크롭 컷의 피쳐들에 대해 서치 스페이스 내에서 매칭되는 제2 크롭 컷의 피쳐들이 결정되지 않는 경우(즉, 매칭(페어링)이 실패하는 경우)에는, 컴퓨터 시스템(100)은 모든 제2 크롭 컷들의 피쳐들을 서치 스페이스로 설정할 수 있다. For example, the search space may be set to a maximum of 10 features of the second crop cuts, and may be configured to include features of 5 second crop cuts before and after based on the matched features of the second crop cuts. For example, a search space for finding features of a second crop cut that matches the first crop cut may be features of first to fifth second crop cuts. In this case, when the features of the first first crop cut match the features of the third second crop cut, the search space for finding the features of the second crop cut that matches the second first crop cut is The first to eighth (3+5) second crop cuts may be features. When features of a second crop cut that match the features of a particular first crop cut within the search space are not determined (ie, when matching (pairing) fails), the computer system 100 performs all second crop cut features. Features of crop cuts can be set as a search space.

도 5 내지 도 7을 참조하여 설명한 바에 따라, 실시예에서는 코스 매칭 및 파인-그레인드 매칭을 수행하기 위한 유사한 컷들의 페어가 결정될 수 있다. As described with reference to FIGS. 5 to 7 , in an embodiment, a pair of similar cuts for performing course matching and fine-grain matching may be determined.

이상, 도 1 내지 도 4와 도 11을 참조하여 전술된 기술적 특징에 대한 설명은, 도 5 내지 도 7과 도 12에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 4 and FIG. 11 may be applied to FIGS. 5 to 7 and FIG. 12 as they are, so duplicate descriptions are omitted.

도 8 내지 도 10을 참조하여 제1 크롭 컷과 제2 크롭 컷 간에의 픽셀 단위의 매칭을 수행하는 방법에 대해 더 자세하게 설명한다.A method of performing pixel unit matching between the first crop cut and the second crop cut will be described in more detail with reference to FIGS. 8 to 10 .

도 8은 일 예에 따른, 어파인 매트릭스를 추정하여 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법을 나타내는 흐름도이다. 도 8을 참조하여 아래에서 설명되는 크롭 컷들 간의 매칭을 수행하는 방법은 전술한 1차적인 매칭(즉, 코스 매칭)을 수행하는 방법에 해당할 수 있다.8 is a flowchart illustrating a method of matching original content and target content by estimating an affine matrix, according to an example. A method of performing matching between crop cuts described below with reference to FIG. 8 may correspond to the method of performing the above-described primary matching (ie, course matching).

단계(810)에서, 컴퓨터 시스템(100)은, 유사한 컷들의 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 매칭함에 있어서, 도 5 내지 도 7을 참조하여 결정된 키 포인트에 기반하여 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷에 대한 어파인 변환(affine transform)을 위한 어파인 매트릭스를 추정할 수 있다. 어파인 매트릭스는 제1 크롭 컷으로부터 제2 크롭 컷으로의, 또는, 제2 크롭 컷으로부터 제1 크롭 컷으로의 어파인 변환을 수행하기 위한 것일 수 있다. In step 810, the computer system 100 matches the first crop cut and the second crop cut included in the pair of similar cuts on a pixel-by-pixel basis based on the key point determined with reference to FIGS. 5 to 7 Thus, an affine matrix for affine transform of the first crop cut and the second crop cut included in the pair can be estimated. The affine matrix may be for performing affine transformation from the first crop cut to the second crop cut or from the second crop cut to the first crop cut.

단계(820)에서, 컴퓨터 시스템(100)은, 추정된 어파인 매트릭스를 사용하여 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 매칭할 수 있다. In step 820, the computer system 100 may match the first crop cut and the second crop cut included in the pair on a pixel-by-pixel basis using the estimated affine matrix.

추정된 어파인 매트릭스는 3*3 행렬일 수 있다. 다만, 어파인 매트릭스는 상기 페어에 포함된 제1 크롭 컷의 제2 크롭 컷으로의 스케일 변환(예컨대, 가로/세로 리사이징) 및 이동(translation)(x축 및 y축 방향으로의 이동) 변환을 고려하되, 상기 페어에 포함된 제1 크롭 컷의 제2 크롭 컷으로의 회전(rotation) 변환은 고려하지 않도록 구성될 수 있다. 말하자면, 원본 콘텐츠와 타겟 콘텐츠 간에는 회전 변환은 이루어지지 않는 것으로 가정될 수 있다. The estimated affine matrix may be a 3*3 matrix. However, the affine matrix performs scale conversion (e.g., horizontal/vertical resizing) and translation (movement in the x-axis and y-axis directions) of the first crop cut included in the pair to the second crop cut. However, rotation conversion of the first crop cut included in the pair to the second crop cut may be configured not to be considered. In other words, it may be assumed that no rotation conversion is performed between the original content and the target content.

일례로, 어파인 매트릭스는 RANSAC 알고리즘을 사용하여 추정될 수 있다. 컴퓨터 시스템(100)은 각 크롭 컷(즉, 크롭 컷들의 페어)에 대해 매칭된 키 포인트들을 대상으로 어파인 매트릭스를 추정할 수 있다. 키 포인트가 결정되면, 제1 크롭 컷과 제2 크롭 컷 간에 매칭되는 위치 정보 쌍(즉, (x,y), (x',y'))이 결정될 수 있고, 이를 사용하여 RANSAC 알고리즘을 통해 어파인 매트릭스가 추정될 수 있다. As an example, an affine matrix can be estimated using the RANSAC algorithm. Computer system 100 may estimate an affine matrix for matched key points for each crop cut (ie, pair of crop cuts). When the key point is determined, a pair of positional information (that is, (x,y), (x',y')) matched between the first crop cut and the second crop cut may be determined, and using this, through the RANSAC algorithm An affine matrix can be estimated.

어파인 매트릭스는 픽셀 단위의 어파인 변환을 위한 것일 수 있다. The affine matrix may be for affine transformation in units of pixels.

전술한 코스 매칭을 수행함에 있어서는, 컴퓨터 시스템(100)은 전술한 페어링 프로세스를 수행하기 위해 추출한 하이 레벨 피쳐들을 간의 코릴레이션을 고려하여 결정된 키 포인트들을 사용하여 어파인 매트릭스를 추정할 수 있다. In performing the above-described course matching, the computer system 100 may estimate an affine matrix using key points determined by considering correlation between high-level features extracted to perform the above-described pairing process.

이러한 코스 매칭의 경우 페어에 포함되는 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 근사하게 매칭시킬 수는 있으나, 픽셀 단위로 정확하게 매칭시키지는 못할 수 있다. 페어에 포함되는 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 보다 세밀하게 매칭시키기 위해 파인-그레인드 매칭이 수행될 수 있다. In the case of such coarse matching, the first crop cut and the second crop cut included in the pair may be approximately matched in pixel units, but may not be accurately matched in pixel units. Fine-grain matching may be performed to more precisely match the first crop cut and the second crop cut included in the pair in pixel units.

관련하여, 도 9 및 10은 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠 간의 파인-그레인드(fine-grained) 매칭을 수행하기 위해 어파인 매트릭스를 추정하는 방법을 나타내는 흐름도이다.In this regard, FIGS. 9 and 10 are flowcharts illustrating a method of estimating an affine matrix to perform fine-grained matching between original content and target content, according to an example.

컴퓨터 시스템(100)은 전술한 도 8을 참조하여 설명한 것처럼, 유사한 컷들의 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 1차적으로 매칭(코스 매칭)시킬 수 있다.As described above with reference to FIG. 8 , the computer system 100 may primarily match (course matching) the first crop cut and the second crop cut included in a pair of similar cuts.

또한, 컴퓨터 시스템(100)은 유사한 컷들의 페어에 포함된 제1 크롭 컷과, 상기 제1 크롭 컷과의 1차적인 매칭에 따라 매칭된 크롭 컷에 기반하여, 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 2차적으로 매칭(파인-그레인드 매칭)시킬 수 있다. 아래에서는, 도 9 및 도 10을 참조하여 이러한 2차적인 매칭을 수행하는 방법에 대해 더 자세하게 설명한다. In addition, the computer system 100 determines the first crop cut included in the pair of similar cuts and the first crop included in the pair based on the matched crop cut according to the primary matching with the first crop cut. The cut and the second crop cut may be secondarily matched (fine-grain matching). Below, a method of performing this secondary matching will be described in more detail with reference to FIGS. 9 and 10 .

단계(910)에서, 컴퓨터 시스템(100)은, 도 5 내지 7을 참조하여 결정된 페어에 포함된 제1 크롭 컷의 로우 레벨(low-level) 피쳐들을 추출할 수 있고, 상기 제1 크롭 컷과의 전술한 1차적인 매칭(코스 매칭)에 따라 결정된 크롭 컷(즉, 코스 매칭된 크롭 컷)의 로우 레벨 피쳐들을 추출할 수 있다.At step 910, the computer system 100 may extract low-level features of a first crop cut included in the pair determined with reference to FIGS. It is possible to extract low-level features of a crop cut (ie, a crop cut with a course match) determined according to the above-described primary matching (course matching) of .

상기 제1 크롭 컷으로부터 추출된 로우 레벨 피쳐들과 상기 코스 매칭된 크롭 컷으로부터 추출된 로우 레벨 피쳐들은 인공신경망 기반의 모델을 사용하여 추출될 수 있다. 예컨대, 이러한 피쳐들은 ResNet을 사용하여 추출될 수 있다. The low-level features extracted from the first crop cut and the low-level features extracted from the coarsely matched crop cut may be extracted using an artificial neural network-based model. For example, these features can be extracted using ResNet.

일례로, 제1 크롭 컷 및 코스 매칭된 크롭 컷으로부터 추출된 로우 레벨 피쳐들은 ResNet50 에 기반한 모델(MOCO ResNet50 (v2) pretrained 모델)을 사용하여 추출될 수 있다. 관련하여, 도 12는 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠로부터의 피쳐 추출 방법을 나타낸다.As an example, the low-level features extracted from the first crop cut and the course matched crop cut can be extracted using a model based on ResNet50 (MOCO ResNet50 (v2) pretrained model). In this regard, FIG. 12 illustrates a method for extracting features from source content and target content according to an example.

도 12에서 도시된 것처럼, 제1 크롭 컷 및 코스 매칭된 크롭 컷으로부터 추출되는 로우 레벨 피쳐들은 ResNet50의 layer3(1220)의 출력(피쳐 맵)으로부터 추출된 것일 수 있다. 이 때, layer3은 512개의 채널을 갖고 1/8로 출력의 차수를 줄일 수 있다. layer3은 전술한 하이 레벨 피쳐들의 추출에 사용되는 layer4의 전단에 위치될 수 있다. As shown in FIG. 12 , low-level features extracted from the first crop cut and the course matched crop cut may be extracted from an output (feature map) of layer3 1220 of ResNet50. At this time, layer 3 has 512 channels and can reduce the order of the output to 1/8. Layer 3 may be located before layer 4 used for the extraction of high-level features described above.

이에 따라, 일례로, 1600*690 픽셀 크기의 제1 크롭 컷에 대해서는 200*86*1024의 피쳐들이 추출될 수 있다. 3200*690 픽셀 크기의 코스 매칭된 크롭 컷에 대해서는 400*86*1024의 피쳐들이 추출될 수 있다.Accordingly, for example, features of 200*86*1024 may be extracted for the first crop cut having a size of 1600*690 pixels. For a course matched crop cut with a size of 3200*690 pixels, 400*86*1024 features can be extracted.

이처럼, 각 제1 크롭 컷과 각 제2 크롭 컷(및 코스 매칭된 크롭 컷)의 하이 레벨 피쳐들 및 로우 레벨 피쳐들은, ResNet50과 같은, 인공신경망 기반의 모델을 사용하여 추출될 수 있다. 하이 레벨 피쳐들과 로우 레벨 피쳐들은 인공신경망 기반의 모델에 포함된 서로 다른 레이어의 출력(예컨대, 피쳐 맵)으로부터 각각 추출될 수 있다. 예컨대, 하이 레벨 피쳐들과 로우 레벨 피쳐들은 ResNet50의 layer4의 출력(피쳐 맵)과 layer3의 출력(피쳐 맵)으로부터 각각 추출될 수 있다. As such, high-level features and low-level features of each first crop cut and each second crop cut (and course matched crop cut) may be extracted using an artificial neural network-based model, such as ResNet50. High-level features and low-level features may be extracted from outputs (eg, feature maps) of different layers included in the artificial neural network-based model. For example, high-level features and low-level features can be extracted from the output (feature map) of layer 4 and the output (feature map) of layer 3 of ResNet50, respectively.

이처럼, 하이 레벨 피쳐들은 로우 레벨 피쳐들에 비해, 인공신경망 기반의 모델의 출력(예컨대, 분류를 위한 레이어)에 더 가까운 레이어의 출력으로부터 추출된 것일 수 있다. 따라서, 도 12에서 도시된 것처럼, 로우 레벨 피쳐들은 입력에 대한 리덕션(reduction)이 하이 레벨 피쳐들보다 더 적은 것으로서, 하이 레벨 피쳐들에 비해 콘텐츠의 보다 세밀한 피쳐를 나타낼 수 있다. As such, high-level features may be extracted from an output of a layer closer to an output of an artificial neural network-based model (eg, a layer for classification) than low-level features. Thus, as shown in FIG. 12, low-level features have less reduction to the input than high-level features, which can represent more fine-grained features of the content than high-level features.

단계(920)에서, 컴퓨터 시스템(100)은, 상기 페어에 포함된 제1 크롭 컷의 로우 레벨 피쳐들과 상기 제1 크롭 컷과의 전술한 1차적인 매칭(코스 매칭)에 따라 결정된 크롭 컷(즉, 코스 매칭된 크롭 컷)의 로우 레벨 피쳐들 간에 결정된 코릴레이션(correlation)에 기반하여, 상기 페어에 포함된 제1 크롭 컷과 상기 코스 매칭된 크롭 컷의 위치 간의 매칭을 나타내는 키 포인트를 결정할 수 있다. 상기 페어에 포함된 제1 크롭 컷과 코스 매칭된 크롭 컷의 위치 간의 매칭을 나타내는 키 포인트를 결정하는 방법에 대해서는 도 5 내지 7을 참조하여 전술된 키 포인트를 결정하는 방법이 유사하게 적용될 수 있다. 예컨대, 도 6을 참조하여 전술된 단계들(610 내지 650)에서 설명된 키 포인트를 결정하는 방법이 단계(920)에 대해서도 유사하게 적용될 수 있다. 따라서, 중복되는 설명은 생략한다. In step 920, the computer system 100 determines the crop cut determined according to the aforementioned primary matching (course matching) between the low-level features of the first crop cut included in the pair and the first crop cut. Based on the correlation determined between the low-level features of (that is, the coarsely matched crop cut), a key point representing a matching between the first crop cut included in the pair and the position of the coarsely matched crop cut can decide The method of determining the key point described above with reference to FIGS. 5 to 7 may be similarly applied to a method of determining a key point indicating a matching between the positions of the first crop cut included in the pair and the position of the coarsely matched crop cut. . For example, the method of determining the key point described in steps 610 to 650 described above with reference to FIG. 6 may be similarly applied to step 920 . Therefore, redundant descriptions are omitted.

단계(930)에서, 컴퓨터 시스템(100)은, 상기 페어에 포함된 제1 크롭 컷 및 상기 제1 크롭 컷과의 전술한 1차적인 매칭(코스 매칭)에 따라 결정된 크롭 컷(즉, 코스 매칭된 크롭 컷)에 대해 결정된 키 포인트에 기반하여, 상기 페어에 포함된 제1 크롭 컷과 상기 코스 매칭된 크롭 컷에 대한 어파인 변환을 위한 어파인 매트릭스를 추정할 수 있다. In step 930, the computer system 100 performs a crop cut (ie, course matching) determined according to the first crop cut included in the pair and the aforementioned primary matching (course matching) with the first crop cut. Based on the key point determined for the selected crop cut), an affine matrix for affine transformation of the first crop cut included in the pair and the coarse matched crop cut may be estimated.

어파인 매트릭스는 어파인 변환(affine transform)을 위한 것으로서, 제1 크롭 컷으로부터 상기 코스 매칭된 크롭 컷으로의, 또는, 제2 크롭 컷으로부터 제1 크롭 컷으로의 어파인 변환을 수행하기 위한 것일 수 있다. The affine matrix is for affine transformation, and is for performing affine transformation from a first crop cut to the course matched crop cut or from a second crop cut to the first crop cut. can

단계(940)에서, 컴퓨터 시스템(100)은, 추정된 어파인 매트릭스를 사용하여 상기 페어에 포함된 제1 크롭 컷과 상기 제1 크롭 컷과의 전술한 1차적인 매칭(코스 매칭)에 따라 결정된 크롭 컷(즉, 코스 매칭된 크롭 컷)을 픽셀 단위로 매칭할 수 있다. 단계들(910 내지 940)에 의해, 상기 페어에 포함된 제1 크롭 컷과 상기 코스 매칭된 크롭 컷 간에 대한 픽셀 단위의 세밀한 매칭이 수행될 수 있다. In step 940, the computer system 100 performs the aforementioned primary matching (course matching) between the first crop cut included in the pair and the first crop cut using the estimated affine matrix. The determined crop cut (ie, the coarse matched crop cut) may be matched in units of pixels. Through steps 910 to 940, detailed pixel-by-pixel matching between the first crop cut included in the pair and the coarsely matched crop cut may be performed.

도 8을 참조하여 전술한 것처럼, 추정된 어파인 매트릭스는 3*3 행렬일 수 있다. 다만, 어파인 매트릭스는 상기 페어에 포함된 제1 크롭 컷의 상기 코스 매칭된 크롭 컷으로의 스케일 변환(예컨대, 가로/세로 리사이징) 및 이동(translation)(x축 및 y축 방향으로의 이동) 변환을 고려하되, 상기 페어에 포함된 제1 크롭 컷의 상기 코스 매칭된 크롭 컷으로의 회전(rotation) 변환은 고려하지 않도록 구성될 수 있다. 말하자면, 원본 콘텐츠와 타겟 콘텐츠 간에는 회전 변환은 이루어지지 않는 것으로 가정될 수 있다. As described above with reference to FIG. 8, the estimated affine matrix may be a 3*3 matrix. However, the affine matrix performs scale conversion (e.g., horizontal/vertical resizing) and translation (movement in the x-axis and y-axis directions) of the first crop cut included in the pair to the course matched crop cut. A transformation may be considered, but a rotation transformation of the first crop cut included in the pair to the coarse matched crop cut may not be considered. In other words, it may be assumed that no rotation conversion is performed between the original content and the target content.

일례로, 어파인 매트릭스는 RANSAC 알고리즘을 사용하여 추정될 수 있다. 컴퓨터 시스템(100)은 각 크롭 컷(즉, 크롭 컷들의 페어)에 대해 매칭된 키 포인트들을 대상으로 어파인 매트릭스를 추정할 수 있다. 키 포인트가 결정되면, 제1 크롭 컷과 제2 크롭 컷 간에 매칭되는 위치 정보 쌍(즉, (x,y), (x',y'))이 결정될 수 있고, 이를 사용하여 RANSAC 알고리즘을 통해 어파인 매트릭스가 추정될 수 있다. 어파인 매트릭스는 픽셀 단위의 어파인 변환을 위한 것일 수 있다. As an example, an affine matrix can be estimated using the RANSAC algorithm. Computer system 100 may estimate an affine matrix for matched key points for each crop cut (ie, pair of crop cuts). When the key point is determined, a pair of positional information (that is, (x,y), (x',y')) matched between the first crop cut and the second crop cut may be determined, and using this, through the RANSAC algorithm An affine matrix can be estimated. The affine matrix may be for affine transformation in units of pixels.

아래에서는, 도 10을 참조하여 파인-그레인드 매칭을 수행하기 위한 어파인 매트릭스를 추정하는 방법을 더 자세하게 설명한다.Below, a method of estimating an affine matrix for performing fine-grain matching will be described in detail with reference to FIG. 10 .

단계(1010)에서, 컴퓨터 시스템(100)은, 상기 페어에 포함된 제1 크롭 컷 및 상기 제1 크롭 컷과의 전술한 1차적인 매칭(코스 매칭)에 따라 결정된 크롭 컷(즉, 코스 매칭된 크롭 컷)에 대해 결정된 키 포인트를 샘플링할 수 있다. In step 1010, the computer system 100 performs a crop cut (ie, course matching) determined according to the first crop cut included in the pair and the aforementioned primary matching (course matching) with the first crop cut. You can sample the key points determined for the selected crop cut).

단계(1020)에서, 컴퓨터 시스템(100)은, 단계(1010)에서 샘플링된 키 포인트에 기반하여 어파인 매트릭스를 추정할 수 있다. 즉, 컴퓨터 시스템(100)은 불필요한 연산을 줄이고, 원본 콘텐츠 및 타겟 콘텐츠 간의 매칭의 속도를 높이기 위해 (모든 키 포인트가 아닌) 샘플링된 키 포인트에 기반하여 어파인 매트릭스를 추정할 수 있다.At step 1020, the computer system 100 may estimate an affine matrix based on the key points sampled at step 1010. That is, computer system 100 may estimate an affine matrix based on sampled key points (rather than all key points) to reduce unnecessary computation and speed up matching between source content and target content.

이 때, 컴퓨터 시스템(100)은 파인-그레인드 매칭의 정확성을 보다 높이기 위해, 어파인 매트릭스가 수렴할 때까지, 상기 제1 크롭 컷과 파인-그레인드 매칭된 크롭 컷(즉, 추정된 어파인 매트릭스가 적용된 크롭 컷)을 입력으로서 사용하여, 전술한 단계(1010)의 키 포인트를 샘플링하는 단계 및 단계(1020)의 샘플링된 키 포인트에 기반하여, 상기 어파인 매트릭스를 추정하는 단계를 반복할 수 있다. 추정되는 어파인 매트릭스가 일정하게 되거나, 추정되는 어파인 매트릭스의 요소의 값 변화가 소정의 값 이내가 되면, 컴퓨터 시스템(100)은 반복을 중지할 수 있다. At this time, in order to further increase the accuracy of fine-grain matching, the computer system 100 performs fine-grain matching with the first crop cut until the affine matrix converges (ie, the estimated affine matched crop cut). The above-described steps of sampling key points in step 1010 and estimating the affine matrix based on the sampled key points in step 1020 are repeated using a crop cut to which an in matrix is applied) as an input. can do. When the estimated affine matrix becomes constant or the change in the value of an element of the estimated affine matrix falls within a predetermined value, the computer system 100 may stop the iteration.

컴퓨터 시스템(100)은, 수렴에 따라 최종적으로 추정된 어파인 매트릭스를 사용하여 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 매칭할 수 있다.The computer system 100 may match the first crop cut and the second crop cut included in the pair in units of pixels using an affine matrix finally estimated according to convergence.

요컨대, 실시예에서는, 전술한 도 5 내지 도 7을 참조하여 설명한 바에 따라, 컴퓨터 시스템(100)이 유사한 제1 크롭 컷 및 제2 크롭 컷의 페어를 결정할 수 있고, 상기 페어가 포함하는 제1 크롭 컷과 제2 크롭 컷을 코스 매칭할 수 있다. 컴퓨터 시스템(100)은 이러한 코스 매칭의 결과로서, 제1 크롭 컷과 코스 매칭된 크롭 컷을 결정(또는 생성)할 수 있다. In short, in an embodiment, as described above with reference to FIGS. 5 to 7 , the computer system 100 may determine a pair of similar first crop cuts and second crop cuts, and the pair includes first crop cuts. The crop cut and the second crop cut may be course-matched. As a result of the course matching, the computer system 100 may determine (or generate) a first crop cut and a course-matched crop cut.

컴퓨터 시스템(100)은 상기 페어에 포함된 제1 크롭 컷과 상기 코스 매칭된 크롭 컷에 대해 파인-그레인드 매칭을 수행할 수 있다. 컴퓨터 시스템(100)은 파인-그레인드 매칭을 통해 상기 제1 크롭 컷과 상기 코스 매칭된 크롭 컷 간의 어파인 변환을 위한 어파인 매트릭스를 추정할 수 있고, 추정되는 어파인 매트릭스가 수렴하게 될 때까지 파인-그레인드 매칭을 반복할 수 있다. 즉, 컴퓨터 시스템(100)은 제1 크롭 컷과 파인-그레인드 매칭된 크롭 컷에 대해 다시 파인-그레인드 매칭을 수행하여 어파인 매트릭스의 추정을 반복할 수 있다.The computer system 100 may perform fine-grain matching on the first crop cut included in the pair and the coarse matched crop cut. The computer system 100 may estimate an affine matrix for affine transformation between the first crop cut and the coarse matched crop cut through fine-grain matching, and when the estimated affine matrix converges Fine-grain matching can be repeated until That is, the computer system 100 may repeat the estimation of the affine matrix by performing fine-grain matching again on the first crop cut and the fine-grain matched crop cut.

추정된 어파인 매트릭스가 수렴하게 되면, 컴퓨터 시스템(100)은 상기 페어에 포함된 제2 크롭 컷에 대해 수렴한 어파인 매트릭스를 적용함으로써 최종적인 파인-그레인드 매칭의 결과를 얻을 수 있다. 이처럼, 최종적인 매칭 결과를 얻음에 있어서는, (파인-그레인드 매칭된 크롭 컷이 아닌) 페어에 포함된 제2 크롭 컷을 사용함으로써, 파인-그레인드 매칭의 누적에 의한 인터폴레이션 손실을 방지할 수 있다.When the estimated affine matrix converges, the computer system 100 may obtain a final fine-grain matching result by applying the converged affine matrix to the second crop cut included in the pair. As such, in obtaining the final matching result, interpolation loss due to accumulation of fine-grain matching can be prevented by using the second crop cut included in the pair (not the crop cut with fine-grain matching). there is.

전술한 바와 같이 2차적인 매칭을 수행함에 따라, 원본 콘텐츠와 타겟 콘텐츠 간의 보다 정확한 픽셀 단위의 매칭이 이루어질 수 있다. As the secondary matching is performed as described above, more accurate pixel unit matching between the original content and the target content can be achieved.

이상, 도 1 내지 도 7 및 도 11을 참조하여 전술된 기술적 특징에 대한 설명은, 도 8 내지 도 10 및 도 12에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.The description of the technical features described above with reference to FIGS. 1 to 7 and 11 may be applied as it is to FIGS. 8 to 10 and 12 , and thus duplicate descriptions are omitted.

도 13은 일 예에 따른, 원본 콘텐츠와 타겟 콘텐츠 간의 코스(coarse) 매칭의 결과와 파인-그레인드 매칭의 결과의 비교를 나타낸다.13 illustrates a comparison between a result of coarse matching and a result of fine-grain matching between original content and target content, according to an example.

도 13에서는, 원본 콘텐츠에 대한 잔차로서 코스 매칭의 결과와 파인-그레인드 매칭의 결과를 도시하였다. In FIG. 13, a result of course matching and a result of fine-grain matching are shown as residuals for the original content.

도시된 것처럼, 코스 매칭의 결과에 비해 파인-그레인드 매칭의 결과가 우수한 것을 확인할 수 있다. As shown, it can be confirmed that the result of fine-grain matching is superior to the result of course matching.

한편, 도시되지는 않았으나, 파인-그레인드 매칭의 결과는 룰-기반(rule-based) 매칭의 결과에 비해서도 훨씬 우수한 성능을 나타낼 수 있다. Meanwhile, although not shown, a result of fine-grain matching may show much better performance than a result of rule-based matching.

이상, 도 1 내지 도 12를 참조하여 전술된 기술적 특징에 대한 설명은, 도 13에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.Above, the description of the technical features described above with reference to FIGS. 1 to 12 may be applied to FIG. 13 as it is, and thus duplicate descriptions are omitted.

실시예를 통해서는, 고정된 피쳐 추출기가 아닌 인공 신경망에 기반한 피쳐 추출기가 사용되고, 이에 기반하여 2차례의 매칭이 수행될 수 있다. In the embodiments, a feature extractor based on an artificial neural network is used instead of a fixed feature extractor, and based on this, matching may be performed twice.

실시예를 통해서는, 원본 콘텐츠에 대해 가해지는 다양한 공격(가공)에 강인한 콘텐츠 매칭 방법이 구현될 수 있고, 자동적인 매칭과 GPU 기반 연산을 통한 고속의 매칭이 가능한 콘텐츠 매칭 방법이 구현될 수 있다.Through the embodiment, a content matching method that is robust against various attacks (processing) applied to the original content can be implemented, and a content matching method capable of automatic matching and high-speed matching through GPU-based calculation can be implemented. .

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), and a programmable PLU (programmable logic unit). logic unit), microprocessor, or any other device capable of executing and responding to instructions. The processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에서 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. The device can be commanded. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. can be embodied in Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. In this case, the medium may continuously store a program executable by a computer or temporarily store the program for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions. In addition, examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

Claims (19)

컴퓨터 시스템에 의해 수행되는, 복수의 제1 컷들을 포함하는 원본 콘텐츠와 복수의 제2 컷들을 포함하는 타겟 콘텐츠를 매칭하는 방법에 있어서,
상기 원본 콘텐츠와 상기 타겟 콘텐츠를 전처리함으로써, 상기 제1 컷들에 대응하는 제1 크롭 컷들과 상기 제2 컷들에 대응하는 제2 크롭 컷들을 생성하는 단계;
상기 제1 크롭 컷들의 각 제1 크롭 컷과, 상기 제2 크롭 컷들 중에서 상기 각 제1 크롭 컷과 가장 유사한 제2 크롭 컷과의 페어를 결정하는 단계; 및
상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 매칭시키는 단계
를 포함하는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
A method of matching original content including a plurality of first cuts and target content including a plurality of second cuts, performed by a computer system, comprising:
generating first crop cuts corresponding to the first cuts and second crop cuts corresponding to the second cuts by pre-processing the original content and the target content;
determining a pair between each first crop cut of the first crop cuts and a second crop cut most similar to each of the first crop cuts among the second crop cuts; and
Matching a first crop cut and a second crop cut included in the pair in units of pixels
Including, a method for matching the original content and the target content.
제1항에 있어서,
상기 제1 크롭 컷들과 상기 제2 크롭 컷들의 픽셀 단위의 매칭 결과에 기반하여, 상기 타겟 콘텐츠로부터 상기 타겟 콘텐츠를 생성한 사용자에 대한 식별 정보를 추출하는 단계
를 더 포함하는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 1,
extracting identification information about a user who created the target content from the target content, based on a matching result of the first crop cuts and the second crop cuts in units of pixels;
Further comprising, a method for matching original content and target content.
제1항에 있어서,
상기 제1 크롭 컷들은,
상기 원본 콘텐츠를 소정의 제1 크기 단위로 크롭한 것들로서, 상기 원본 콘텐츠를 소정의 제1 중복률을 갖도록 크롭한 것들을 포함하고,
상기 제2 크롭 컷들은,
상기 타겟 콘텐츠를 소정의 제2 크기 단위로 크롭한 것들로서, 상기 타겟 콘텐츠를 소정의 제2 중복률을 갖도록 크롭한 것들을 포함하는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 1,
The first crop cuts,
Crops of the original content in units of a first predetermined size, including cropping of the original content to have a first predetermined overlapping rate;
The second crop cuts,
The method of matching original content and target content, including cropping the target content to have a predetermined second overlapping rate, as cropping the target content by a predetermined second size unit.
제3항에 있어서,
상기 제2 크기 단위는 상기 제1 크기 단위보다 더 크고,
상기 제1 크롭 컷들의 수는 상기 제2 크롭 컷들의 수와 동일한, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 3,
the second size unit is larger than the first size unit;
The method of claim 1 , wherein the number of first crop cuts is equal to the number of second crop cuts.
제1항에 있어서,
상기 페어를 결정하는 단계는,
상기 각 제1 크롭 컷의 피쳐들을 추출하는 단계;
상기 제2 크롭 컷들의 각 제2 크롭 컷의 피쳐들을 추출하는 단계; 및
상기 각 제1 크롭 컷의 피쳐들과 상기 각 제2 크롭 컷의 피쳐들 간에 결정된 코릴레이션(correlation)에 기반하여, 제1 크롭 컷과, 해당 제1 크롭 컷에 대해 위치 간의 매칭을 나타내는 키 포인트의 수가 가장 많은 제2 크롭 컷을 페어로서 결정하는 단계
를 포함하는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 1,
The step of determining the pair is,
extracting features of each first crop cut;
extracting features of each second crop cut of the second crop cuts; and
Based on the correlation determined between the features of each of the first crop cuts and the features of each of the second crop cuts, a key point representing matching between a first crop cut and a position for the corresponding first crop cut Determining the second crop cut with the largest number of as a pair
Including, a method for matching the original content and the target content.
제5항에 있어서,
상기 키 포인트는 상기 페어를 이루는 제1 크롭 컷과 제2 크롭 컷 간에 대칭적으로 매칭되는 위치를 나타내는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 5,
Wherein the key point indicates a symmetrically matched position between the first crop cut and the second crop cut constituting the pair.
제5항에 있어서,
상기 페어로서 결정하는 단계는,
제1 크롭 컷의 피쳐들과 제2 크롭 컷의 피쳐들 간의 코릴레이션 맵을 생성하는 단계 - 상기 코릴레이션 맵은 코릴레이션 매트릭스를 포함하고, 상기 코릴레이션 매트릭스의 행 및 열은 제1 크롭 컷 내의 위치 및 제2 크롭 컷 내의 위치를 각각 나타내고, 상기 코릴레이션 매트릭스의 각 요소는 피쳐들 간의 코릴레이션 값을 나타냄 -;
상기 코릴레이션 매트릭스의 각 행별로 코릴레이션 값이 상위인 적어도 하나의 제1 값 및 상기 제1 값의 상기 코릴레이션 매트릭스에서의 제1 위치와, 상기 코릴레이션 매트릭스의 각 열별로 코릴레이션 값이 상위인 적어도 하나의 제2 값 및 상기 제2 값의 상기 코릴레이션 매트릭스에서의 위치를 결정하는 단계;
상기 코릴레이션 매트릭스와 동일한 크기의 초기화된 행렬의 상기 제1 위치에 대응하는 위치에 상기 제1 값을 할당하여 제1 행렬을 생성하고, 상기 코릴레이션 매트릭스와 동일한 크기의 초기화된 제2 행렬의 상기 제2 위치에 위치에 대응하는 위치에 상기 제2 값을 할당하여 제2 행렬을 생성하는 단계;
상기 제1 행렬 및 상기 제2 행렬을 요소별 곱(element-wise product)하여 제3 행렬을 생성하는 단계; 및
상기 제3 행렬에서 0이 아닌 요소를 키 포인트로서 결정하는 단계
를 포함하는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 5,
The step of determining as the pair,
generating a correlation map between features of a first crop cut and features of a second crop cut, the correlation map including a correlation matrix, wherein rows and columns of the correlation matrix are within the first crop cut; represents a position and a position within the second crop cut, respectively, and each element of the correlation matrix represents a correlation value between features;
At least one first value having a different correlation value for each row of the correlation matrix and a first position in the correlation matrix of the first value, and a correlation value having a different correlation value for each column of the correlation matrix determining at least one second value of , and a position of the second value in the correlation matrix;
A first matrix is generated by allocating the first value to a position corresponding to the first position of an initialized matrix having the same size as the correlation matrix, and the second matrix having the same size as the correlation matrix generating a second matrix by assigning the second value to a position corresponding to a second position;
generating a third matrix by element-wise producting the first matrix and the second matrix; and
Determining a non-zero element in the third matrix as a key point
Including, a method for matching the original content and the target content.
제5항에 있어서,
상기 페어로서 결정하는 단계는,
상기 제1 크롭 컷들 중 제1 순서의 제1 크롭 컷의 피쳐들과 상기 제2 크롭컷들 중 제2 순서의 제2 크롭 컷의 피쳐들과 매칭되는 것으로 결정된 때,
상기 제1 순서의 다음의 순서인 제1 크롭 컷의 피쳐들과의 코릴레이션을 결정하기 위한 서치 스페이스를 상기 제2 크롭 컷들 중에서 소정의 수의 제2 크롭 컷들의 피쳐들로 결정하는 단계; 및
상기 다음의 순서인 제1 크롭 컷의 피쳐들과 상기 서치 스페이스에 포함된 제2 크롭 컷들의 피쳐들 간에 결정된 코릴레이션에 기반하여, 상기 다음의 순서인 제1 크롭 컷과, 상기 서치 스페이스에 포함된 피쳐들과 연관된 제2 크롭 컷들 중에서 상기 키 포인트의 수가 가장 많은 제2 크롭 컷을 페어로서 결정하는 단계
를 포함하고,
상기 서치 스페이스로서 결정되는 소정의 수의 제2 크롭 컷들의 피쳐들은 상기 제2 순서 전후의 소정의 수의 제2 크롭 컷들의 피쳐들을 포함하는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 5,
The step of determining as the pair,
When it is determined that the features of the first crop cut in the first order among the first crop cuts match the features of the second crop cut in the second order among the second crop cuts,
determining a search space for determining a correlation with features of a first crop cut following the first order by using a predetermined number of features of second crop cuts among the second crop cuts; and
Based on the correlation determined between the features of the first crop cut in the next order and the features of the second crop cuts included in the search space, the first crop cut in the next order and included in the search space. Determining a second crop cut having the largest number of key points among second crop cuts associated with the selected features as a pair;
including,
The method of matching original content and target content, wherein the features of a predetermined number of second crop cuts determined as the search space include features of a predetermined number of second crop cuts before and after the second order.
제8항에 있어서,
상기 페어로서 결정하는 단계는,
상기 제1 컷들의 순서에 따라, 상기 각 제1 크롭 컷에 대해 순차적으로 상기 각 제1 크롭 컷과 페어가 되는 제2 크롭 컷을 결정하는 단계
를 포함하는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 8,
The step of determining as the pair,
Determining a second crop cut paired with each of the first crop cuts sequentially for each of the first crop cuts according to the order of the first cuts
Including, a method for matching the original content and the target content.
제5항에 있어서,
상기 픽셀 단위로 매칭시키는 단계는,
상기 키 포인트에 기반하여 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷에 대한 어파인 변환(affine transform)을 위한 어파인 매트릭스를 추정하는 단계
를 포함하는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 5,
The step of matching on a pixel-by-pixel basis,
Estimating an affine matrix for affine transform of a first crop cut and a second crop cut included in the pair based on the key point
Including, a method for matching the original content and the target content.
제10항에 있어서,
상기 어파인 매트릭스는 상기 페어에 포함된 제1 크롭 컷의 제2 크롭 컷으로의 스케일 변환 및 이동(translation) 변환을 고려하되, 상기 페어에 포함된 제1 크롭 컷의 제2 크롭 컷으로의 회전 변환은 고려하지 않도록 구성되는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 10,
The affine matrix considers scale conversion and translation conversion of the first crop cut included in the pair to the second crop cut, and the rotation of the first crop cut included in the pair to the second crop cut. A method of matching original content and target content, configured not to consider conversion.
제5항에 있어서,
추출된 상기 각 제1 크롭 컷의 피쳐들은 상기 원본 콘텐츠와 연관된 하이 레벨(high-level) 피쳐들이고,
추출된 상기 각 제2 크롭 컷의 피쳐들은 상기 타겟 콘텐츠와 연관된 하이 레벨 피쳐들인, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 5,
The extracted features of each first crop cut are high-level features associated with the original content;
wherein the extracted features of each second crop cut are high level features associated with the target content.
제12항에 있어서,
상기 픽셀 단위로 매칭시키는 단계는,
상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 1차적으로 매칭시키는 단계; 및
상기 제1 크롭 컷과, 상기 제1 크롭 컷과의 1차적인 매칭에 따라 매칭된 크롭 컷에 기반하여, 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 2차적으로 매칭시키는 단계
를 포함하고,
상기 2차적으로 매칭시키는 단계는,
상기 페어에 포함된 제1 크롭 컷의 로우 레벨(low-level) 피쳐들을 추출하는 단계;
상기 매칭된 크롭 컷의 로우 레벨 피쳐들을 추출하는 단계;
상기 페어에 포함된 제1 크롭 컷의 로우 레벨 피쳐들과 상기 매칭된 크롭 컷의 로우 레벨 피쳐들 간에 결정된 코릴레이션(correlation)에 기반하여, 상기 페어에 포함된 제1 크롭 컷과 상기 매칭된 크롭 컷의 위치 간의 매칭을 나타내는 키 포인트를 결정하는 단계; 및
상기 페어에 포함된 제1 크롭 컷 및 상기 매칭된 크롭 컷에 대해 결정된 키 포인트에 기반하여, 상기 페어에 포함된 제1 크롭 컷과 상기 매칭된 크롭 컷에 대한 어파인 변환을 위한 어파인 매트릭스를 추정하는 단계
를 포함하는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 12,
The step of matching on a pixel-by-pixel basis,
firstly matching a first crop cut and a second crop cut included in the pair; and
Secondarily matching the first crop cut and the second crop cut included in the pair based on the first crop cut and the matched crop cut according to the primary matching of the first crop cut with the first crop cut
including,
In the second matching step,
extracting low-level features of a first crop cut included in the pair;
extracting low-level features of the matched crop cut;
a first crop cut included in the pair and the matched crop based on a correlation determined between low-level features of the first crop cut included in the pair and low-level features of the matched crop cut; determining key points indicating matching between positions of cuts; and
An affine matrix for affine transformation of the first crop cut included in the pair and the matched crop cut based on the key points determined for the first crop cut included in the pair and the matched crop cut step of estimating
Including, a method for matching the original content and the target content.
제13항에 있어서,
상기 어파인 매트릭스를 추정하는 단계는,
상기 페어에 포함된 제1 크롭 컷 및 상기 매칭된 크롭 컷에 대해 결정된 키 포인트를 샘플링하는 단계; 및
상기 샘플링된 키 포인트에 기반하여 상기 어파인 매트릭스를 추정하는 단계
를 포함하고,
상기 어파인 매트릭스가 수렴할 때까지, 상기 키 포인트를 샘플링하는 단계 및 상기 샘플링된 키 포인트에 기반하여 상기 어파인 매트릭스를 추정하는 단계를 반복하는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 13,
Estimating the affine matrix,
sampling a key point determined for a first crop cut included in the pair and the matched crop cut; and
Estimating the affine matrix based on the sampled key points
including,
The method of matching original content and target content by repeating the steps of sampling the key points and estimating the affine matrix based on the sampled key points until the affine matrix converges.
제10항 또는 제13항에 있어서,
상기 어파인 매트릭스는 RANSAC 알고리즘을 사용하여 추정되는, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
The method of claim 10 or 13,
The method of matching original content and target content, wherein the affine matrix is estimated using the RANSAC algorithm.
제13항에 있어서,
상기 피쳐들은 인공신경망 기반의 모델을 사용하여 추출되고,
상기 하이 레벨 피쳐들과 상기 로우 레벨 피쳐들은 상기 인공신경망 기반의 모델에 포함된 서로 다른 레이어의 출력으로부터 각각 추출되고,
상기 하이 레벨 피쳐들은 상기 로우 레벨 피쳐들에 비해, 상기 인공신경망 기반의 모델의 출력에 더 가까운 레이어의 출력으로부터 추출된 것인, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 13,
The features are extracted using an artificial neural network-based model,
The high-level features and the low-level features are extracted from outputs of different layers included in the artificial neural network-based model, respectively;
The method of matching original content and target content, wherein the high-level features are extracted from an output of a layer closer to an output of the artificial neural network-based model than the low-level features.
제1항에 있어서,
상기 원본 콘텐츠는 웹툰 콘텐츠이고,
상기 타겟 콘텐츠는 상기 웹툰 콘텐츠를 복제하여 가공된 콘텐츠인, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.
According to claim 1,
The original content is webtoon content,
The method of matching original content and target content, wherein the target content is content processed by replicating the webtoon content.
제1항의 방법을 상기 컴퓨터 시스템에서 실행시키기 위한 컴퓨터 판독 가능 기록매체에 기록된 프로그램. A program recorded on a computer readable recording medium for executing the method of claim 1 in the computer system. 복수의 제1 컷들을 포함하는 원본 콘텐츠와 복수의 제2 컷들을 포함하는 타겟 콘텐츠를 매칭하는 컴퓨터 시스템에 있어서,
상기 컴퓨터 시스템에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
상기 원본 콘텐츠와 상기 타겟 콘텐츠를 전처리함으로써, 상기 제1 컷들에 대응하는 제1 크롭 컷들과 상기 제2 컷들에 대응하는 제2 크롭 컷들을 생성하고,
상기 제1 크롭 컷들의 각 제1 크롭 컷과, 상기 제2 크롭 컷들 중에서 상기 각 제1 크롭 컷과 가장 유사한 제2 크롭 컷과의 페어를 결정하고,
상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 매칭시키는, 컴퓨터 시스템.
A computer system for matching original content comprising a plurality of first cuts with target content comprising a plurality of second cuts, comprising:
at least one processor implemented to execute instructions readable by the computer system
including,
The at least one processor,
generating first crop cuts corresponding to the first cuts and second crop cuts corresponding to the second cuts by pre-processing the original content and the target content;
Determining a pair of each first crop cut of the first crop cuts and a second crop cut most similar to each of the first crop cuts among the second crop cuts;
A computer system that matches the first crop cut and the second crop cut included in the pair in units of pixels.
KR1020210123431A 2021-09-15 2021-09-15 Method and apparatus for pixel-wise matching original contents with target contents KR102632640B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210123431A KR102632640B1 (en) 2021-09-15 2021-09-15 Method and apparatus for pixel-wise matching original contents with target contents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210123431A KR102632640B1 (en) 2021-09-15 2021-09-15 Method and apparatus for pixel-wise matching original contents with target contents

Publications (2)

Publication Number Publication Date
KR20230040163A true KR20230040163A (en) 2023-03-22
KR102632640B1 KR102632640B1 (en) 2024-02-01

Family

ID=86005858

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210123431A KR102632640B1 (en) 2021-09-15 2021-09-15 Method and apparatus for pixel-wise matching original contents with target contents

Country Status (1)

Country Link
KR (1) KR102632640B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008092594A (en) * 2003-09-30 2008-04-17 Toshiba Corp Moving image processing apparatus
JP2012023462A (en) * 2010-07-12 2012-02-02 Canon Inc Image reading method, image reading system, and image reading device
KR20190142931A (en) * 2018-06-19 2019-12-30 주식회사 에이치앤비트 Code authentication method of counterfeit print image and its application system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008092594A (en) * 2003-09-30 2008-04-17 Toshiba Corp Moving image processing apparatus
JP2012023462A (en) * 2010-07-12 2012-02-02 Canon Inc Image reading method, image reading system, and image reading device
KR20190142931A (en) * 2018-06-19 2019-12-30 주식회사 에이치앤비트 Code authentication method of counterfeit print image and its application system

Also Published As

Publication number Publication date
KR102632640B1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
WO2021017261A1 (en) Recognition model training method and apparatus, image recognition method and apparatus, and device and medium
US9542621B2 (en) Spatial pyramid pooling networks for image processing
CN110276349B (en) Video processing method, device, electronic equipment and storage medium
Wu et al. Deep portrait image completion and extrapolation
CN107209942B (en) Object detection method and image retrieval system
US11568631B2 (en) Method, system, and non-transitory computer readable record medium for extracting and providing text color and background color in image
US20100250588A1 (en) Image searching system and image searching method
CN111814794A (en) Text detection method and device, electronic equipment and storage medium
CN111104813A (en) Two-dimensional code image key point detection method and device, electronic equipment and storage medium
JP2019215647A (en) Information processing device, control method of the same and program
CN110796016A (en) Engineering drawing identification method, electronic equipment and related product
CN111444807A (en) Target detection method, device, electronic equipment and computer readable medium
CN110516731B (en) Visual odometer feature point detection method and system based on deep learning
Kerbiche et al. A robust video watermarking based on feature regions and crowdsourcing
CN112749576B (en) Image recognition method and device, computing equipment and computer storage medium
CN111601181B (en) Method and device for generating video fingerprint data
Kang et al. Combining random forest with multi-block local binary pattern feature selection for multiclass head pose estimation
KR20110087620A (en) Layout based page recognition method for printed medium
KR102632640B1 (en) Method and apparatus for pixel-wise matching original contents with target contents
CN112487943B (en) Key frame de-duplication method and device and electronic equipment
Eken et al. A MapReduce-based distributed and scalable framework for stitching of satellite mosaic images
CN114140488A (en) Video target segmentation method and device and training method of video target segmentation model
CN113538467A (en) Image segmentation method and device and training method and device of image segmentation model
Xiao et al. CTNet: hybrid architecture based on CNN and transformer for image inpainting detection
CN117612215B (en) Identity recognition method, device and medium based on video retrieval

Legal Events

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