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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000007781 pre-processing Methods 0.000 claims abstract description 29
- 239000011159 matrix material Substances 0.000 claims description 116
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 72
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 5
- 238000013519 translation Methods 0.000 claims description 5
- 230000003362 replicative effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- HDAJUGGARUFROU-JSUDGWJLSA-L MoO2-molybdopterin cofactor Chemical compound O([C@H]1NC=2N=C(NC(=O)C=2N[C@H]11)N)[C@H](COP(O)(O)=O)C2=C1S[Mo](=O)(=O)S2 HDAJUGGARUFROU-JSUDGWJLSA-L 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation 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/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8352—Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image 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
Description
본 개시는 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법 및 장치에 관한 것으로, 보다 자세하게는, 복수의 컷들을 포함하는 원본 콘텐츠에 대해 원본 콘텐츠의 복제 콘텐츠에 해당하는 타겟 콘텐츠를 픽셀 단위로 매칭하는 방법 및 장치와 관련된다.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
도시된 제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
제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
한편, 컷(30)은 제1 컷(10)과 컷(20) 간의 1차적인 매칭(예컨대, 코스 매칭(coarse matching))의 결과로서 결정되는 컷일 수 있다. 제1 컷(10)과 컷(30)은 보다 세밀한 매칭을 위해 2차적으로 매칭(예컨대, 파인-그레인드 매칭(fine-grained matching))될 수 있다. 이와 같은 2차적인 매칭에 따라 원본 콘텐츠와 타겟 콘텐츠는 픽셀 단위로 세밀하게 매칭될 수 있다. Meanwhile, the
원본 콘텐츠와 타겟 콘텐츠가 포함하는 컷들에 대한 전처리와, 유사한 컷들의 페어 결정, 유사한 컷들 간의 픽셀 단위의 매칭은 후술될 컴퓨터 시스템에 의해 수행될 수 있다. 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
컴퓨터 시스템(100)은 적어도 하나의 컴퓨팅 장치를 포함하도록 구성될 수 있고, 컴퓨팅 장치는 원본 콘텐츠를 관리하는 사용자나 관리자의 단말 또는 서버로 구현될 수 있다. The
컴퓨터 시스템(100)은 도시된 것처럼, 메모리(130), 프로세서(120), 통신부(110) 및 입출력 인터페이스(140)를 포함할 수 있다.As shown, the
메모리(130)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 비소멸성 대용량 기록장치는 메모리(130)와 분리되어 별도의 영구 저장 장치로서 포함될 수도 있다. 또한, 메모리(130)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(130)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신부(110)를 통해 메모리(130)에 로딩될 수도 있다. The
프로세서(120)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(130) 또는 통신부(110)에 의해 프로세서(120)로 제공될 수 있다. 예를 들어, 프로세서(120)는 메모리(130)에 로딩된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. The
통신부(110)는 컴퓨터 시스템(100)이 다른 장치(사용자 단말 또는 다른 서버 등)와 통신하기 위한 구성일 수 있다. 말하자면, 통신부(110)는 다른 장치에 대해 데이터 및/또는 정보를 전송/수신하는, 컴퓨터 시스템(100)의 안테나, 데이터 버스, 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다.The
입출력 인터페이스(140)는 키보드 또는 마우스 등과 같은 입력 장치 및 디스플레이나 스피커와 같은 출력 장치와의 인터페이스를 위한 수단일 수 있다.The input/
프로세서(120)는 컴퓨터 시스템(100)의 구성 요소들을 관리할 수 있고, 전술한 전처리, 유사 컷들의 페어 결정 및 매칭을 수행하기 위한 프로그램 또는 어플리케이션을 실행할 수 있고, 상기 프로그램 또는 어플리케이션의 실행 및 데이터의 처리 등에 필요한 연산을 처리할 수 있다. 프로세서(120)는 컴퓨터 시스템(100)의 적어도 하나의 프로세서(CPU 또는 GPU 등) 또는 프로세서 내의 적어도 하나의 코어(core)일 수 있다.The
또한, 실시예들에서 컴퓨터 시스템(100) 및 프로세서(120)는 도시된 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 예컨대, 프로세서(120)는 도 3에서 도시된 것과 같은 구성들(예컨대, 310 내지 330)을 포함할 수 있다. Also, in embodiments,
도 3에서 도시된 것처럼, 프로세서(120)는 전처리부(110), 제1 매칭부(320) 및 제2 매칭부(330)를 포함할 수 있다. 이러한 구성들(310 내지 310)은 전술한 프로세서(120)의 일부이거나 프로세서(120)에 의해 구현되는 기능일 수 있다. 프로세서(120)가 포함하는 이러한 구성들(310 내지 310)은, 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)에 따라 프로세서(120)가 수행하는 서로 다른 기능들(different functions)의 표현일 수 있다.As shown in FIG. 3 , the
전처리부(310)는 제1 컷들을 포함하는 원본 콘텐츠와 제1 컷들을 포함하는 타겟 콘텐츠에 대한 전처리 프로세스를 수행하는 구성일 수 있다. 예컨대, 전처리부(310)는 원본 콘텐츠(또는, 제1 컷들) 및 타겟 콘텐츠(또는, 제2 컷들)을 크롭/리사이징함으로써, 원본 콘텐츠(또는, 제1 컷들)로부터 제1 크롭 컷들을 생성하고, 타겟 콘텐츠(또는, 제2 컷들)로부터 제2 크롭 컷들을 생성할 수 있다. The
제1 매칭부(320)는 전처리에 따라 생성된 제1 크롭 컷들과 제2 크롭 컷들에 기반하여, 유사한 컷들의 페어를 결정할 수 있고, 결정된 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 1차적으로 매칭(예컨대, 코스 매칭(coarse matching))할 수 있다. 제1 매칭부(320)는 제1 크롭 컷들과 제2 크롭 컷들의 각각에 대해 피쳐들(예컨대, 하이 레벨의 피쳐들)을 추출하고, 피쳐들의 코릴레이션에 기반하여 유사한 컷들의 페어를 결정할 수 있으며, 페어에 포함된 컷들에 대해 코스 매칭을 수행할 수 있다. 제1 매칭부(320)는 코스 매칭부(coarse matcher)로도 명명될 수 있다. The
제2 매칭부(330)는 제1 매칭부(320)에 의한 처리에 따라 결정된 유사한 컷들의 페어와 제1 매칭부(320)에 의한 매칭 결과에 기반하여, 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 2차적으로 매칭(예컨대, 파인-그레인드 매칭(fine-grained matching))할 수 있다. 구체적으로, 제2 매칭부(320)는 유사한 컷들의 페어에 포함된 제1 크롭 컷과, 해당 제1 크롭 컷과 제1 매칭부(320)에 의한 코스 매칭에 따라 결정된 크롭 컷(즉, 코스 매칭된 크롭 컷)의 각각에 대해 피쳐들(예컨대, 로우 레벨의 피쳐들)을 추출하고, 추출된 피쳐들의 코릴레이션에 기반하여, 페어에 포함된 컷들에 대해 파인-그레인드 매칭을 수행할 수 있다. 제2 매칭부(330)는 파인-그레인드 매칭부(fine-grained matcher)로도 명명될 수 있다.The
전술한 코스 매칭 및 파인-그레인드 매칭은 모두 컷들을 픽셀 단위로 매칭하는 것일 수 있으나, 파인-그레인드 매칭은 코스 매칭에 비해 로우 레벨의 피쳐들을 고려함으로써 보다 컷들을 세밀하게 매칭하는 것일 수 있다. 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
이상 도 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
도 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
단계(410)에서, 컴퓨터 시스템(100)은 제1 컷들을 포함하는 원본 콘텐츠와 제2 컷들을 포함하는 타겟 콘텐츠를 획득할 수 있다. 컴퓨터 시스템(100)의 사용자에 의한 조작에 따라, 원본 콘텐츠와 타겟 콘텐츠는 컴퓨터 시스템(100)으로 로딩될 수 있다. 전술한 것처럼, 일례로, 원본 콘텐츠는 웹툰 콘텐츠이고 타겟 콘텐츠는 해당 웹툰 콘텐츠를 복제 및 가공한 것일 수 있다. 원본 콘텐츠와 타겟 콘텐츠는 웹툰의 특정한 회차일 수 있다. 원본 콘텐츠 및 타겟 콘텐츠 중 적어도 하나는 하나의 이미지 파일로 구성될 수 있다. 말하자면, 원본 콘텐츠 및 타겟 콘텐츠 중 적어도 하나는 복수의 컷들을 포함하는 하나의 이미지 파일의 형태일 수 있다. At
단계(420)에서, 컴퓨터 시스템(100)은 원본 콘텐츠와 타겟 콘텐츠를 전처리함으로써, 제1 컷들에 대응하는 제1 크롭 컷들과 제2 컷들에 대응하는 제2 크롭 컷들을 생성할 수 있다. 예컨대, 컴퓨터 시스템(100)은 원본 콘텐츠와 타겟 콘텐츠를 크롭/리사이징함으로써 제1 크롭 컷들 및 제2 크롭 컷들을 생성할 수 있다. In
아래에서는, 일 예에 따른 전처리 프로세스를 통해, 제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 크롭 컷들을 생성할 수 있다.
도 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
한편, 타겟 콘텐츠는 원본 콘텐츠와는 상이한 사이즈를 가질 수 있다. Meanwhile, the target content may have a different size from that of the original content.
컴퓨터 시스템(100)은 원본 콘텐츠를 제2 크기 단위(예컨대, 높이 단위)로 크롭함으로써 제2 크롭 컷들을 생성할 수 있다. 또한, 컴퓨터 시스템(100)은 타겟 콘텐츠를 일정 크기(예컨대, 일정 높이)만큼 쉬프트하여 제2 크기 단위로 그롭함으로써 제2 크롭 컷들을 생성할 수 있다.
도 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
도시된 것처럼, 제2 크롭 컷(1020)은 제1 크롭 컷(1010)에 비해 더 크고 redundant하게 생성될 수 있다. 원본 콘텐츠의 높이가 타겟 콘텐츠와 (거의) 일치하는 경우 제2 크롭 컷(1020)의 크기는 제1 크롭 컷(1010)의 두 배가 될 수 있다. 제1 크롭 컷들의 수는 제2 크롭 컷들의 수와 동일하게 될 수 있다 As shown, the
예컨대, 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
컴퓨터 시스템(100)은 각 제1 크롭 컷으로부터 추출된 피쳐들과 각 제2 크롭 컷으로부터 추출된 피쳐들 간의 코릴레이션에 기반하여, 제1 크롭 컷과 가장 유사한 피쳐들을 갖는 제2 크롭 컷을 해당 제1 크롭 컷과의 페어로서 결정할 수 있다. The
유사한 컷들의 페어를 결정하는 방법에 대해서는, 후술될 도 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
구체적으로, 유사한 컷들의 페어가 결정되고, 컴퓨터 시스템(100)은 상기 페어가 포함하는 제1 크롭 컷과 제2 크롭 컷을 코스 매칭할 수 있다. 컴퓨터 시스템(100)은 이러한 코스 매칭의 결과로서, 제1 크롭 컷과 코스 매칭된 크롭 컷을 결정(또는 생성)할 수 있다. 코스 매칭된 크롭 컷은 예컨대, 도 1을 참조하여 전술된 컷(30)에 대응할 수 있다. Specifically, a pair of similar cuts is determined, and the
컴퓨터 시스템(100)은 상기 페어에 포함된 제1 크롭 컷과 상기 코스 매칭된 크롭 컷에 대해 파인-그레인드 매칭을 수행할 수 있다. 컴퓨터 시스템(100)은 파인-그레인드 매칭을 통해 컷들 간의 어파인 변환을 위한 어파인 매트릭스를 추정할 수 있고, 추정되는 어파인 매트릭스가 수렴하게 될 때까지 파인-그레인드 매칭을 반복할 수 있다. 즉, 컴퓨터 시스템(100)은 제1 크롭 컷과 파인-그레인드 매칭된 크롭 컷에 대해 다시 파인-그레인드 매칭을 수행하여 어파인 매트릭스의 추정을 반복할 수 있다.The
추정된 어파인 매트릭스가 수렴하게 되면, 컴퓨터 시스템(100)은 상기 페어에 포함된 제2 크롭 컷에 대해 수렴한 어파인 매트릭스를 적용함으로써 최종적인 파인-그레인드 매칭의 결과를 얻을 수 있다. 이처럼, 최종적인 매칭 결과를 얻음에 있어서는, (파인-그레인드 매칭된 크롭 컷이 아닌) 페어에 포함된 제2 크롭 컷을 사용함으로써, 파인-그레인드 매칭의 누적에 의한 인터폴레이션 손실을 방지할 수 있다. When the estimated affine matrix converges, the
전술한 방법에 따라, 모든 원본 콘텐츠에 포함된 제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
식별 정보는, 예컨대, 원본 콘텐츠에 대한 콘텐츠 열람자 정보를 포함할 수 있다. 콘텐츠 열람 정보는 원본 콘텐츠를 열람한 또는 구매한(혹은, 열람 또는 구매 요청한) 사용자에 대한 정보를 포함할 수 있다. 콘텐츠 열람 정보는 해당 사용자를 식별하기 위한 정보로서, 사용자 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
이에 따라 실시예에서는, 불펌 사이트와 같은 공간에 타겟 콘텐츠가 게재된 경우에, 불법적으로 원본 콘텐츠를 복제 및 가공한 사용자를 식별하여 제재할 수 있으며, 해당 사용자에 의한 원본 콘텐츠에 대한 프로세싱 히스토리를 파악할 수 있다. 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
도 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
제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
이에 따라, 일례로, 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
키 포인트는 페어를 이루는 제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
아래에서는, 전술한 키 포인트를 결정하는 방법에 대해 더 자세하게 설명한다. 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
코릴레이션 맵은 예컨대, 아래의 수학식 1에 따라 생성될 수 있다.The correlation map may be generated, for example, according to
상기 수학식 1에서, f ori 는 원본 콘텐츠의 제1 크롭 컷으로부터 추출된 피쳐들(예컨대, 4300*1024)을 나타낼 수 있고, f priate 는 타겟 콘텐츠의 제2 크롭 컷으로부터 추출된 피쳐들(예컨대, 8600*1024)을 나타낼 수 있다. h와 h'는 제1 크롭 컷으로부터 추출된 피쳐들의 높이와 제2 크롭 컷으로부터 추출된 피쳐들의 높이를 각각 나타낼 수 있고, w와 w'는 제1 크롭 컷으로부터 추출된 피쳐들의 폭과 제2 크롭 컷으로부터 추출된 피쳐들의 폭을 각각 나타낼 수 있다. In
생성되는 코릴레이션 맵은 코릴레이션 매트릭스를 포함할 수 있다. 코릴레이션 매트릭스의 행 및 열은 제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
컴퓨터 시스템(100)은 이러한 결정된 제1 값들과 제2 값들 중에서 제1 크롭 컷과 제2 크롭 컷 간에 대칭적으로 매칭되는 위치에 해당하는 값들만을 키 포인트에 해당하는 값으로서 결정할 수 있다. 대칭적으로 매칭되는 위치란 제1 크롭 컷의 일 위치를 기준으로 거기에 매칭되는 제2 크롭 컷의 일 위치가, 제2 크롭컷의 상기 일 위치를 기준으로 제1 크롭 컷의 상기 일 위치에도 매칭되는 경우를 나타낼 수 있다. The
단계(630)에서, 컴퓨터 시스템(100)은, 이러한 키 포인트를 결정하기 위해, 코릴레이션 매트릭스와 동일한 크기의 초기화된 행렬의 상기 제1 위치에 대응하는 위치에 제1 값을 할당하여 제1 행렬을 생성하고, 코릴레이션 매트릭스와 동일한 크기의 초기화된 제2 행렬의 상기 제2 위치에 위치에 대응하는 위치에 상기 제2 값을 할당하여 제2 행렬을 생성할 수 있다. 초기화된 행렬은 요소 전부가 0인 행렬을 의미하며, 따라서, 생성된 제1 행렬 및 제2 행렬은 값이 할당된 요소를 제외하고는, 나머지 요소들은 모두 0이 될 수 있다. In
단계(640)에서, 컴퓨터 시스템(100)은 생성된 제1 행렬 및 제2 행렬을 요소별 곱(element-wise product)하여 제3 행렬을 생성할 수 있다. 이와 같은 연산에 따라, 제3 행렬에서는, 제1 크롭 컷과 제2 크롭 컷의 대칭적으로 매칭되는 위치에 해당하는 값을 제외하고는, 나머지 요소들이 모두 0이 될 수 있다.In
단계(650)에서, 컴퓨터 시스템(100)은 이러한 제3 행렬에서 0이 아닌 요소를 키 포인트로서 결정할 수 있다. 키 포인트에 의해 제1 크롭 컷과 제2 크롭 컷 간의 관계에서 매칭되는 위치가 결정될 수 있다. At
컴퓨터 시스템(100)은 제3 행렬에서 0이 아닌 요소들의 수를 카운트함으로써, 제1 크롭 컷과 제2 크롭 컷 간의 관계에서 키 포인트의 수를 결정할 수 있다.
컴퓨터 시스템(100)은 제1 크롭 컷의 피쳐들과 제2 크롭 컷들의 각각의 피쳐들(또는, 소정의 서치 스페이스에 포함되는 제2 크롭 컷들 각각의 피쳐들)에 대해 전술한 단계들(610 내지 650)을 수행함으로써, 각 제1 크롭 컷에 대해 키 포인트들의 수가 가장 많은 제2 크롭 컷을 결정하여, 제1 크롭 컷과 제2 크롭 컷을 페어링할 수 있다.The
아래에서는, 도 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
단계(720)에서, 컴퓨터 시스템(100)은, 상기 다음의 순서인 제1 크롭 컷의 피쳐들과 서치 스페이스에 포함된 제2 크롭 컷들의 피쳐들 간에 결정된 코릴레이션에 기반하여, 상기 다음의 순서인 제1 크롭 컷과, 서치 스페이스에 포함된 피쳐들과 연관된 제2 크롭 컷들 중에서 키 포인트의 수가 가장 많은 제2 크롭 컷을 페어로서 결정할 수 있다. 말하자면, 제1 크롭 컷에 대해 설정된 서치 스페이스 내에서 키 포인트의 수가 가장 많은 제2 크롭 컷이 해당 제1 크롭 컷의 페어로서 결정될 수 있다. In
단계(730)에서, 컴퓨터 시스템(100)은, 제1 컷들의 순서에 따라, 각 제1 크롭 컷에 대해 순차적으로 각 제1 크롭 컷과 페어가 되는 제2 크롭 컷을 결정할 수 있다. In
일례로, 서치 스페이스는 최대 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
도 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
단계(820)에서, 컴퓨터 시스템(100)은, 추정된 어파인 매트릭스를 사용하여 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 매칭할 수 있다. In
추정된 어파인 매트릭스는 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.
어파인 매트릭스는 픽셀 단위의 어파인 변환을 위한 것일 수 있다. The affine matrix may be for affine transformation in units of pixels.
전술한 코스 매칭을 수행함에 있어서는, 컴퓨터 시스템(100)은 전술한 페어링 프로세스를 수행하기 위해 추출한 하이 레벨 피쳐들을 간의 코릴레이션을 고려하여 결정된 키 포인트들을 사용하여 어파인 매트릭스를 추정할 수 있다. In performing the above-described course matching, the
이러한 코스 매칭의 경우 페어에 포함되는 제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
또한, 컴퓨터 시스템(100)은 유사한 컷들의 페어에 포함된 제1 크롭 컷과, 상기 제1 크롭 컷과의 1차적인 매칭에 따라 매칭된 크롭 컷에 기반하여, 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 2차적으로 매칭(파인-그레인드 매칭)시킬 수 있다. 아래에서는, 도 9 및 도 10을 참조하여 이러한 2차적인 매칭을 수행하는 방법에 대해 더 자세하게 설명한다. In addition, the
단계(910)에서, 컴퓨터 시스템(100)은, 도 5 내지 7을 참조하여 결정된 페어에 포함된 제1 크롭 컷의 로우 레벨(low-level) 피쳐들을 추출할 수 있고, 상기 제1 크롭 컷과의 전술한 1차적인 매칭(코스 매칭)에 따라 결정된 크롭 컷(즉, 코스 매칭된 크롭 컷)의 로우 레벨 피쳐들을 추출할 수 있다.At
상기 제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
이에 따라, 일례로, 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
이처럼, 하이 레벨 피쳐들은 로우 레벨 피쳐들에 비해, 인공신경망 기반의 모델의 출력(예컨대, 분류를 위한 레이어)에 더 가까운 레이어의 출력으로부터 추출된 것일 수 있다. 따라서, 도 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
단계(930)에서, 컴퓨터 시스템(100)은, 상기 페어에 포함된 제1 크롭 컷 및 상기 제1 크롭 컷과의 전술한 1차적인 매칭(코스 매칭)에 따라 결정된 크롭 컷(즉, 코스 매칭된 크롭 컷)에 대해 결정된 키 포인트에 기반하여, 상기 페어에 포함된 제1 크롭 컷과 상기 코스 매칭된 크롭 컷에 대한 어파인 변환을 위한 어파인 매트릭스를 추정할 수 있다. In
어파인 매트릭스는 어파인 변환(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
도 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.
아래에서는, 도 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
단계(1020)에서, 컴퓨터 시스템(100)은, 단계(1010)에서 샘플링된 키 포인트에 기반하여 어파인 매트릭스를 추정할 수 있다. 즉, 컴퓨터 시스템(100)은 불필요한 연산을 줄이고, 원본 콘텐츠 및 타겟 콘텐츠 간의 매칭의 속도를 높이기 위해 (모든 키 포인트가 아닌) 샘플링된 키 포인트에 기반하여 어파인 매트릭스를 추정할 수 있다.At
이 때, 컴퓨터 시스템(100)은 파인-그레인드 매칭의 정확성을 보다 높이기 위해, 어파인 매트릭스가 수렴할 때까지, 상기 제1 크롭 컷과 파인-그레인드 매칭된 크롭 컷(즉, 추정된 어파인 매트릭스가 적용된 크롭 컷)을 입력으로서 사용하여, 전술한 단계(1010)의 키 포인트를 샘플링하는 단계 및 단계(1020)의 샘플링된 키 포인트에 기반하여, 상기 어파인 매트릭스를 추정하는 단계를 반복할 수 있다. 추정되는 어파인 매트릭스가 일정하게 되거나, 추정되는 어파인 매트릭스의 요소의 값 변화가 소정의 값 이내가 되면, 컴퓨터 시스템(100)은 반복을 중지할 수 있다. At this time, in order to further increase the accuracy of fine-grain matching, the
컴퓨터 시스템(100)은, 수렴에 따라 최종적으로 추정된 어파인 매트릭스를 사용하여 상기 페어에 포함된 제1 크롭 컷과 제2 크롭 컷을 픽셀 단위로 매칭할 수 있다.The
요컨대, 실시예에서는, 전술한 도 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
컴퓨터 시스템(100)은 상기 페어에 포함된 제1 크롭 컷과 상기 코스 매칭된 크롭 컷에 대해 파인-그레인드 매칭을 수행할 수 있다. 컴퓨터 시스템(100)은 파인-그레인드 매칭을 통해 상기 제1 크롭 컷과 상기 코스 매칭된 크롭 컷 간의 어파인 변환을 위한 어파인 매트릭스를 추정할 수 있고, 추정되는 어파인 매트릭스가 수렴하게 될 때까지 파인-그레인드 매칭을 반복할 수 있다. 즉, 컴퓨터 시스템(100)은 제1 크롭 컷과 파인-그레인드 매칭된 크롭 컷에 대해 다시 파인-그레인드 매칭을 수행하여 어파인 매트릭스의 추정을 반복할 수 있다.The
추정된 어파인 매트릭스가 수렴하게 되면, 컴퓨터 시스템(100)은 상기 페어에 포함된 제2 크롭 컷에 대해 수렴한 어파인 매트릭스를 적용함으로써 최종적인 파인-그레인드 매칭의 결과를 얻을 수 있다. 이처럼, 최종적인 매칭 결과를 얻음에 있어서는, (파인-그레인드 매칭된 크롭 컷이 아닌) 페어에 포함된 제2 크롭 컷을 사용함으로써, 파인-그레인드 매칭의 누적에 의한 인터폴레이션 손실을 방지할 수 있다.When the estimated affine matrix converges, the
전술한 바와 같이 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 컷들에 대응하는 제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 크롭 컷들과 상기 제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 중복률을 갖도록 크롭한 것들을 포함하고,
상기 제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.
상기 제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 크롭 컷의 피쳐들을 추출하는 단계;
상기 제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.
상기 키 포인트는 상기 페어를 이루는 제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.
상기 페어로서 결정하는 단계는,
제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.
상기 페어로서 결정하는 단계는,
상기 제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.
상기 페어로서 결정하는 단계는,
상기 제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.
상기 픽셀 단위로 매칭시키는 단계는,
상기 키 포인트에 기반하여 상기 페어에 포함된 제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.
상기 어파인 매트릭스는 상기 페어에 포함된 제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.
추출된 상기 각 제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.
상기 픽셀 단위로 매칭시키는 단계는,
상기 페어에 포함된 제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.
상기 어파인 매트릭스를 추정하는 단계는,
상기 페어에 포함된 제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.
상기 어파인 매트릭스는 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.
상기 피쳐들은 인공신경망 기반의 모델을 사용하여 추출되고,
상기 하이 레벨 피쳐들과 상기 로우 레벨 피쳐들은 상기 인공신경망 기반의 모델에 포함된 서로 다른 레이어의 출력으로부터 각각 추출되고,
상기 하이 레벨 피쳐들은 상기 로우 레벨 피쳐들에 비해, 상기 인공신경망 기반의 모델의 출력에 더 가까운 레이어의 출력으로부터 추출된 것인, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.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.
상기 원본 콘텐츠는 웹툰 콘텐츠이고,
상기 타겟 콘텐츠는 상기 웹툰 콘텐츠를 복제하여 가공된 콘텐츠인, 원본 콘텐츠와 타겟 콘텐츠를 매칭하는 방법.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 컷들에 대응하는 제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.
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)
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 |
-
2021
- 2021-09-15 KR KR1020210123431A patent/KR102632640B1/en active IP Right Grant
Patent Citations (3)
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 |