KR20220109731A - Method, apparatus and computer program for clustering using mean-feature - Google Patents

Method, apparatus and computer program for clustering using mean-feature Download PDF

Info

Publication number
KR20220109731A
KR20220109731A KR1020210013100A KR20210013100A KR20220109731A KR 20220109731 A KR20220109731 A KR 20220109731A KR 1020210013100 A KR1020210013100 A KR 1020210013100A KR 20210013100 A KR20210013100 A KR 20210013100A KR 20220109731 A KR20220109731 A KR 20220109731A
Authority
KR
South Korea
Prior art keywords
cluster
clustering
feature
average
mean
Prior art date
Application number
KR1020210013100A
Other languages
Korean (ko)
Other versions
KR102632588B1 (en
Inventor
박지훈
고승용
박현준
서현양
Original Assignee
네이버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Priority to KR1020210013100A priority Critical patent/KR102632588B1/en
Publication of KR20220109731A publication Critical patent/KR20220109731A/en
Application granted granted Critical
Publication of KR102632588B1 publication Critical patent/KR102632588B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • G06K9/6255

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

The present invention relates to a clustering method using a mean-feature, and a device and a computer program thereof, and more particularly, to a method for performing the clustering for a plurality of object samples in a clustering device, which comprises: a cluster generating step of generating a plurality of clusters by classifying a plurality of object samples; a mean-feature calculation step of calculating a mean-feature including each mean value of a plurality of features used to classify the object samples, with respect to each of the clusters; and an additional sample clustering step of performing clustering on one or more newly added second object samples using the mean-feature of the clusters. Therefore, a computing resource can be dramatically reduced, and quickly and effectively processed.

Description

평균-피쳐를 이용한 클러스터링 방법, 장치 및 컴퓨터 프로그램 {Method, apparatus and computer program for clustering using mean-feature}Clustering method, apparatus and computer program using mean-feature {Method, apparatus and computer program for clustering using mean-feature}

본 발명은 평균-피쳐를 이용한 클러스터링 방법, 장치 및 컴퓨터 프로그램에 관한 것으로서, 보다 구체적으로는 사진이나 동영상 등에 포함되는 얼굴 등의 객체에 대한 클러스터링을 수행함에 있어, 복수의 객체 샘플에 대한 피쳐들의 평균치에 대응하는 평균-피쳐를 이용하여 클러스터링을 수행함으로써, 상기 피쳐들을 저장하고 처리하는데 소요되는 저장 공간과 연산량을 줄이면서도 보다 신속하고 효과적으로 클러스터링을 수행할 수 있는 클러스터링 방법, 장치 및 컴퓨터 프로그램에 관한 것이다.The present invention relates to a clustering method, apparatus, and computer program using average-features, and more particularly, in clustering an object such as a face included in a photo or video, the average value of features for a plurality of object samples By performing clustering using the average-feature corresponding to .

최근 스마트폰 등 디지털 장치의 사용이 폭넓게 확산되면서, 사용자들은 다수의 사진이나 동영상 등 컨텐츠를 생성하거나, 나아가 다른 사용자들이 생성하여 서버 등에 업로드한 다량의 컨텐츠들을 검색하여 자신이 원하는 컨텐츠를 선택하여 사용하는 경우가 일상적으로 이루어지고 있다. Recently, with the widespread use of digital devices such as smartphones, users create content such as photos and videos, or search for content that other users have created and uploaded to servers, etc., and select and use the content they want. This is done on a daily basis.

그런데, 사용자가 다량의 컨텐츠에서 자신이 원하는 인물이나 사물 등의 객체가 포함된 컨텐츠를 찾아내는 것은 매우 번거로운 작업이 될 수 있다. 즉, 사용자는 상기 다량의 컨텐츠를 일일이 열어 자신이 원하는 인물이나 사물 등이 포함되어 있는지 여부를 확인할 수 있겠으나, 이러한 경우 사용자는 다량의 컨텐츠에서 자신이 원하는 컨텐츠를 찾기 위하여 매우 많은 시간과 노력을 들여야 하는 어려움이 따른다.However, it can be a very cumbersome task for a user to find content that includes an object such as a person or thing desired by the user from a large amount of content. That is, the user can open the large amount of content one by one and check whether a desired person or object is included. In this case, the user spends a lot of time and effort to find the desired content from the large amount of content There are difficulties involved

이에 대하여, 서버 등에서 기계 학습 등을 이용해 상기 사진이나 동영상 등에 포함되는 객체를 미리 인식하거나 분류하여 두고, 사용자가 입력하는 검색어 등에 대응하여 제공함으로써, 사용자가 자신이 원하는 객체를 포함하는 사진이나 동영상 등을 보다 용이하게 사용할 수 있도록 하는 서비스가 시도되고 있다. 예를 들어, 대한민국 공개특허 제 10-2012-0064581호에서는 주어진 영상에 포함된 인물의 얼굴 영역을 검출하고, 검출된 얼굴 영역에서 얼굴 특징 기술자를 추출한 후, 상기 영상에 포함된 인물이 누구인지 인식하거나 분류하여 사용자에게 제공하는 영상 분류 방법 및 장치를 개시하고 있다.In contrast, by recognizing or classifying objects included in the photo or video in advance using machine learning, etc. on a server, etc., and providing the object in response to a search word input by a user, a photo or video including an object desired by the user, etc. A service to make it easier to use is being tried. For example, in Korean Patent Application Laid-Open No. 10-2012-0064581, a face region of a person included in a given image is detected, a facial feature descriptor is extracted from the detected face region, and the person included in the image is recognized. Disclosed is a method and apparatus for classifying an image to provide a user with or by classifying it.

그런데, 기계 학습 등을 이용해 다량의 사진이나 동영상을 분석하여 객체를 정확히 인식하고 분류하기 위해서 많은 전산 자원(computing resource)가 소요되는 문제가 따르게 된다. However, there is a problem that a lot of computing resources are required to accurately recognize and classify objects by analyzing a large amount of photos or videos using machine learning or the like.

특히, 사진이나 동영상 등에 포함된 사람의 얼굴을 정확히 분류하는 것은 매우 어려운 작업으로서 이를 위해서는 다수의 피쳐(예를 들어, 512 차원의 피쳐)를 사용하여야 하고, 이에 따라 다량의 사진이나 동영상 등에 포함된 얼굴의 피쳐들을 저장하고 처리하기 위해서는 막대한 저장 공간 및 연산량이 요구된다. In particular, it is a very difficult task to accurately classify a person's face included in a photo or video. In order to store and process facial features, a huge amount of storage and computation is required.

이로 인하여, 서비스 제공자의 입장에서는 사람의 얼굴 등과 같이 분류가 어려운 객체를 클러스터링(clustering)하기 위해서는 시스템의 구축 및 운영을 위해 막대한 비용이 소요되는 어려움이 초래될 수 있으며, 나아가 다량의 자료를 분석하고 처리하는데 상당한 시간이 소요되는 문제도 따르게 된다.For this reason, from the service provider's point of view, in order to cluster objects that are difficult to classify, such as a human face, it may be difficult to construct and operate a system, and it may be difficult to analyze a large amount of data and There are also problems that take a considerable amount of time to process.

대한민국 공개특허 제10-2012-0064581호(2012년 6월 19일 공개)Republic of Korea Patent Publication No. 10-2012-0064581 (published on June 19, 2012)

본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해 창안된 것으로, 사람의 얼굴 등의 객체에 대한 클러스터링(clustering)을 수행함에 있어 소요되는 저장 공간 및 연산량 등의 전산 자원(computing resource)을 획기적으로 줄이고 신속하고 효과적으로 처리할 수 있는 클러스터링 방법, 장치 및 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.The present invention was devised to solve the problems of the prior art as described above, and it dramatically reduces computing resources such as storage space and amount of computation required for clustering objects such as human faces. An object of the present invention is to provide a clustering method, apparatus, and computer program that can reduce

특히, 본 발명에서는 사람의 얼굴 등과 같이 분류가 어려운 객체를 클러스터링하기 위한 시스템의 구축 및 운용에 막대한 비용이 소요되는 문제를 해결하고, 다량의 객체를 처리하는데 상당한 시간이 소요되는 문제를 개선할 수 있는 클러스터링 방법, 장치 및 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.In particular, in the present invention, it is possible to solve the problem that it takes a lot of time to construct and operate a system for clustering objects that are difficult to classify, such as a human face, and it can improve the problem that it takes a lot of time to process a large number of objects. An object of the present invention is to provide a clustering method, an apparatus, and a computer program.

상기 과제를 해결하기 위한 본 발명의 한 측면에 따른 클러스터링 방법은, 클러스터링 장치에서 복수의 객체 샘플에 대한 클러스터링을 수행하는 방법에 있어서, 상기 복수의 객체 샘플을 분류하여 복수의 클러스터를 생성하는 클러스터 생성 단계; 상기 복수의 각 클러스터에 대하여, 상기 객체 샘플을 분류하는데 사용되는 복수의 피쳐에 대한 각 평균치를 포함하는 평균-피쳐를 산출하는 평균-피쳐 산출 단계; 및 상기 복수의 클러스터에 대한 평균-피쳐를 이용하여, 새롭게 추가된 하나 이상의 제2 객체 샘플에 대한 클러스터링을 수행하는 추가 샘플 클러스터링 단계; 를 포함하는 것을 특징으로 한다.In a clustering method according to an aspect of the present invention for solving the above problems, in a method of performing clustering on a plurality of object samples in a clustering device, cluster generation for generating a plurality of clusters by classifying the plurality of object samples step; an average-feature calculating step of calculating, for each of the plurality of clusters, an average-feature including each average value for a plurality of features used to classify the object sample; and an additional sample clustering step of performing clustering on one or more newly added second object samples using the average-features for the plurality of clusters. It is characterized in that it includes.

본 발명의 다른 측면에 따른 컴퓨터 프로그램은 상기 기재된 클러스터링 방법의 각 단계를 컴퓨터에서 실행시키기 위한 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램인 것을 특징으로 한다.A computer program according to another aspect of the present invention is characterized in that it is a computer program stored in a computer-readable medium for executing each step of the above-described clustering method in a computer.

본 발명의 또 다른 측면에 따른 클러스터링 장치는, 복수의 객체 샘플에 대한 클러스터링을 수행하는 클러스터링 장치에 있어서, 상기 복수의 객체 샘플을 분류하여 복수의 클러스터를 생성하는 클러스터 생성부; 상기 복수의 각 클러스터에 대하여, 상기 객체 샘플을 분류하는데 사용되는 복수의 피쳐에 대한 각 평균치를 포함하는 평균-피쳐를 산출하는 평균-피쳐 산출부; 및 상기 복수의 클러스터에 대한 평균-피쳐를 이용하여, 새롭게 추가된 하나 이상의 제2 객체 샘플에 대한 클러스터링을 수행하는 추가 샘플 클러스터링 수행부;를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a clustering apparatus for clustering a plurality of object samples, comprising: a cluster generator configured to generate a plurality of clusters by classifying the plurality of object samples; an average-feature calculation unit for calculating, for each of the plurality of clusters, an average-feature including an average value of each of the plurality of features used to classify the object sample; and an additional sample clustering performing unit configured to perform clustering on one or more newly added second object samples by using the average-features of the plurality of clusters.

본 발명의 일 실시예에 따르면, 사람의 얼굴 등의 객체에 대한 클러스터링(clustering)을 수행함에 있어 소요되는 저장 공간 및 연산량 등의 전산 자원(computing resource)을 획기적으로 줄이고 신속하고 효과적으로 처리할 수 있게 된다.According to an embodiment of the present invention, it is possible to dramatically reduce computing resources such as storage space and computational amount required for clustering an object such as a human face and process it quickly and effectively. do.

또한, 본 발명의 일 실시예에 따르면, 특히 사람의 얼굴 등과 같이 분류가 어려운 객체를 클러스터링하기 위한 시스템의 구축 및 운용에 막대한 비용이 소요되는 문제를 해결하고, 다량의 객체를 처리하는데 상당한 시간이 소요되는 문제를 개선할 수 있게 된다.In addition, according to an embodiment of the present invention, in particular, it solves the problem of huge cost in building and operating a system for clustering objects that are difficult to classify, such as a human face, and requires a considerable amount of time to process a large number of objects. problems can be improved.

본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 본 발명의 일 실시예에 따른 클러스터링 서비스 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 클러스터링 서비스 제공의 구체적인 실시예이다.
도 3은 본 발명의 일 실시예에 따른 클러스터링 방법의 순서도이다.
도 4 내지 도 5는 본 발명의 일 실시예에 따른 객체의 피쳐 및 이를 이용한 클러스터 생성을 예시하는 도면이다.
도 6은 본 발명의 일 실시예에 따른 클러스터에 대한 평균-피쳐 산출을 예시하는 도면이다.
도 7과 도 8에서는 본 발명의 일 실시예에 따른 클러스터의 병합을 예시하는 도면이다.
도 9는 본 발명의 일 실시예에 따른 해싱 함수를 이용한 유사도 판단을 설명하는 도면이다.
도 10 내지 도 11은 본 발명의 일 실시예에 따른 클러스터링 방법의 구체적인 실시예를 도시하는 도면이다.
도 12는 본 발명의 일 실시예에 따른 클러스터링 서비스 제공 시스템의 구체적인 실시예를 도시하는 도면이다.
도 13 내지 도 14는 본 발명의 일 실시예에 따른 클러스터링 방법에 대한 의사 코드를 예시하는 도면이다.
도 15 내지 도 17은 본 발명의 일 실시예에 따른 클러스터링 방법의 효과를 설명하는 도면이다.
도 18은 본 발명의 일 실시예에 따른 클러스터링 장치의 구성도이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included as a part of the detailed description to help the understanding of the present invention, provide embodiments of the present invention, and together with the detailed description, explain the technical spirit of the present invention.
1 is a block diagram of a system for providing a clustering service according to an embodiment of the present invention.
2 is a detailed example of providing a clustering service according to an embodiment of the present invention.
3 is a flowchart of a clustering method according to an embodiment of the present invention.
4 to 5 are diagrams illustrating an object feature and cluster generation using the same according to an embodiment of the present invention.
6 is a diagram illustrating average-feature calculation for a cluster according to an embodiment of the present invention.
7 and 8 are diagrams illustrating cluster merging according to an embodiment of the present invention.
9 is a diagram for explaining a similarity determination using a hashing function according to an embodiment of the present invention.
10 to 11 are diagrams illustrating specific examples of a clustering method according to an embodiment of the present invention.
12 is a diagram illustrating a specific embodiment of a system for providing a clustering service according to an embodiment of the present invention.
13 to 14 are diagrams illustrating pseudo code for a clustering method according to an embodiment of the present invention.
15 to 17 are diagrams for explaining an effect of a clustering method according to an embodiment of the present invention.
18 is a block diagram of a clustering apparatus according to an embodiment of the present invention.

본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 권리범위를 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 해당 분야의 통상의 기술자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the scope of the present invention. In addition, the technical terms used in the present invention should be interpreted as meanings generally understood by those of ordinary skill in the art to which the present invention belongs, unless otherwise defined in the present invention, and excessively comprehensive It should not be construed as a human meaning or in an excessively reduced meaning. In addition, when the technical term used in the present invention is an erroneous technical term that does not accurately express the spirit of the present invention, it should be understood by being replaced with a technical term that can be correctly understood by those skilled in the art. In addition, general terms used in the present invention should be interpreted as defined in advance or according to the context before and after, and should not be interpreted in an excessively reduced meaning.

또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서, "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, the singular expression used in the present invention includes the plural expression unless the context clearly dictates otherwise. In the present invention, terms such as "consisting of" or "comprising" should not be construed as necessarily including all of the various elements or several steps described in the invention, some of which elements or some steps are included. It should be construed that it may not, or may further include additional components or steps.

또한, 본 발명에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 아니된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 제2구성 요소로 명명될 수 있고, 유사하게 제2구성 요소도 제1 구성요소로 명명될 수 있다.In addition, terms including ordinal numbers such as first, second, etc. used in the present invention may be used to describe the components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numerals regardless of reference numerals, and overlapping descriptions thereof will be omitted.

또한, 본 발명을 설명함에 있어서 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 기술사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 기술사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.In addition, in the description of the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easy understanding of the technical spirit of the present invention, and should not be construed as limiting the technical spirit of the present invention by the accompanying drawings.

이하에서는, 본 발명에 따른 클러스터링 방법, 장치 및 컴퓨터 프로그램의 예시적인 실시형태들을 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of a clustering method, apparatus and computer program according to the present invention will be described in detail with reference to the accompanying drawings.

먼저, 도 1에서는 본 발명의 일 실시예에 따른 클러스터링 서비스 제공 시스템(100)의 구성도를 보여주고 있다. 도 1에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 클러스터링 서비스 제공 시스템 (100)은 사진이나 동영상 등에 포함되는 인물이나 사물 등의 객체에 대한 클러스터링을 수행하는 클러스터링 장치(120)와 사용자 단말(110)을 포함하여 구성될 수 있다.First, FIG. 1 shows a configuration diagram of a system 100 for providing a clustering service according to an embodiment of the present invention. As can be seen in FIG. 1 , the clustering service providing system 100 according to an embodiment of the present invention includes a clustering device 120 and a user for performing clustering on objects such as people or things included in a picture or a video. It may be configured to include the terminal 110 .

이때, 상기 사용자 단말(110)로서는 스마트폰, 태블릿 PC, PDA, 휴대전화 등 휴대 단말기가 사용될 수 있고, 그외에도 퍼스널 컴퓨터(PC), 노트북 PC 등 다양한 종류의 단말들이 채택될 수 있다.In this case, as the user terminal 110 , a mobile terminal such as a smart phone, a tablet PC, a PDA, or a mobile phone may be used, and in addition, various types of terminals such as a personal computer (PC) and a notebook PC may be employed.

또한, 본 발명에서는 사진이나 동영상 등에 포함되는 사람의 얼굴 등 객체(object)를 분류하여 클러스터링(clustering)을 수행할 수 있으나, 본 발명이 반드시 이에 한정되는 것을 아니며 이외에도 다양한 객체에 대한 클러스터링을 위하여 사용될 수도 있다.In addition, in the present invention, clustering can be performed by classifying objects such as faces of people included in photos or moving pictures, but the present invention is not necessarily limited thereto and can be used for clustering various objects. may be

이에 따라, 본 발명의 일 실시예에 따른 클러스터링 장치(120)에서는, 도 2에서 볼 수 있는 바와 같이, 사진이나 동영상 등에 포함되는 사람의 얼굴 등 객체(도 2의 (a))를 분류하여 클러스터(cluster)를 생성하여 두고(도 2의 (b)), 이를 이용하여 사용자의 요청 등에 따라 사용자 단말(110)로 특정한 사람을 포함하는 사진이나 동영상 등의 컨텐츠를 사용자 단말(110)로 제공할 수도 있다(도 2의 (c)).Accordingly, in the clustering device 120 according to an embodiment of the present invention, as can be seen in FIG. 2 , an object (FIG. 2(a)) such as a human face included in a photo or a video is classified and clustered. (cluster) is created (FIG. 2 (b)), and using this, content such as a photo or video including a specific person is provided to the user terminal 110 according to the user's request, etc. It may also be possible (FIG. 2(c)).

이때, 상기 클러스터링 장치(120)는 하나 혹은 둘 이상의 서버(server)를 이용하여 구현될 수 있으나, 본 발명이 반드시 이에 한정되는 것은 아니며 이외에도 전용 장치로 구현되거나, 다수의 정보 처리 장치가 연동되는 클라우드 시스템 등 정보 처리가 가능한 다양한 장치를 이용하여 구현될 수도 있다.In this case, the clustering device 120 may be implemented using one or two or more servers, but the present invention is not necessarily limited thereto. It may be implemented using various devices capable of processing information, such as a system.

또한, 상기 사용자 단말(110)과 클러스터링 장치(120)를 연결하는 네트워크(130)로서는 유선 네트워크와 무선 네트워크를 포함할 수 있으며, 구체적으로, 근거리 통신망 (LAN: Local Area Network), 도시권 통신망 (MAN: Metropolitan Area Network), 광역 통신망 (WAN: Wide Area Network) 등의 다양한 통신망을 포함할 수 있다. 또한, 상기 네트워크(130)는 공지의 월드 와이드 웹(WWW: World Wide Web)을 포함할 수도 있다. 그러나, 본 발명에 따른 통신 네트워크(130)는 상기 열거된 네트워크에 국한되지 않고, 공지의 무선 데이터 네트워크나 공지의 전화 네트워크 또는 공지의 유무선 텔레비전 네트워크를 적어도 일부로 포함할 수도 있다.In addition, the network 130 connecting the user terminal 110 and the clustering device 120 may include a wired network and a wireless network, and specifically, a local area network (LAN), a metropolitan area network (MAN) : It may include various communication networks such as Metropolitan Area Network) and Wide Area Network (WAN). In addition, the network 130 may include a well-known World Wide Web (WWW). However, the communication network 130 according to the present invention is not limited to the above-listed networks, and may include at least a part of a well-known wireless data network, a well-known telephone network, or a well-known wired/wireless television network.

도 3에서는 본 발명의 일 실시예에 따른 클러스터링 방법의 순서도를 도시하고 있다. 도 3에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 클러스터링 방법은, 클러스터링 장치(120)에서 복수의 객체 샘플에 대한 클러스터링을 수행하는 방법에 있어서, 상기 복수의 객체 샘플을 분류하여 복수의 클러스터를 생성하는 클러스터 생성 단계(S110), 상기 복수의 각 클러스터에 대하여, 상기 객체 샘플을 분류하는데 사용되는 복수의 피쳐에 대한 각 평균치를 포함하는 평균-피쳐를 산출하는 평균-피쳐 산출 단계(S120) 및 상기 복수의 클러스터에 대한 평균-피쳐를 이용하여, 새롭게 추가된 하나 이상의 제2 객체 샘플에 대한 클러스터링을 수행하는 추가 샘플 클러스터링 단계(S130)를 포함할 수 있다.3 is a flowchart of a clustering method according to an embodiment of the present invention. As can be seen in FIG. 3 , in the clustering method according to an embodiment of the present invention, in the clustering apparatus 120 performing clustering on a plurality of object samples, the plurality of object samples are classified A cluster generation step (S110) of generating a cluster of S120) and an additional sample clustering step (S130) of performing clustering on one or more newly added second object samples using the average-features of the plurality of clusters.

아래에서는 도 3을 참조하여 본 발명의 일 실시예에 따른 클러스터링 방법을 각 단계별로 나누어 자세하게 검토한다. Hereinafter, the clustering method according to an embodiment of the present invention will be reviewed in detail with reference to FIG. 3 by dividing each step.

먼저, 상기 클러스터 생성 단계(S110)에서는 상기 복수의 객체 샘플을 분류하여 복수의 클러스터를 생성하게 된다.First, in the cluster generation step ( S110 ), a plurality of clusters are generated by classifying the plurality of object samples.

이때, 본 발명의 일 실시예로서 상기 클러스터 생성 단계(110)에서는, 도 4에서 볼 수 있는 바와 같이, DBSCAN 등 종래의 클러스터링 알고리즘을 사용하여 상기 복수의 객체 샘플에 대한 클러스터링을 수행할 수 있다. 그러나, 본 발명이 반드시 이에 한정되는 것은 아니며 이외에도 사람의 얼굴 등 객체를 적절히 클러스터링 할 수 있는 다양한 알고리즘이 사용될 수 있다.In this case, in the cluster generation step 110 as an embodiment of the present invention, as shown in FIG. 4 , clustering may be performed on the plurality of object samples using a conventional clustering algorithm such as DBSCAN. However, the present invention is not necessarily limited thereto, and various algorithms capable of appropriately clustering objects such as a human face may be used.

보다 구체적으로, 도 5에서 볼 수 있는 바와 같이, 상기 클러스터 생성 단계(S110)에서는, 먼저 사진(501)이나 동영상 등에 포함되는 사람의 얼굴 등 객체(도 5의 502, 503)를 식별할 수 있다.More specifically, as can be seen in FIG. 5 , in the cluster creation step ( S110 ), an object ( 502 , 503 in FIG. 5 ) such as a human face included in a photo 501 or a video may be identified first. .

이어서, 상기 식별된 객체(도 5의 502, 503)에 대하여 피쳐(feature)를 산출하게 된다. 특히, 사람의 얼굴 등과 같이 분류가 어려운 객체의 경우는 정확도를 확보하기 위하여 다수의 피쳐를 사용하는 것이 필요하게 된다.Subsequently, features are calculated for the identified objects ( 502 and 503 in FIG. 5 ). In particular, in the case of an object that is difficult to classify, such as a human face, it is necessary to use a plurality of features to secure accuracy.

이에 대하여, 상기 객체에 대한 피쳐는 복수 차원의 피쳐 벡터(feature vector)로 구현될 수 있다(도 5의 504, 505). In contrast, the feature of the object may be implemented as a multi-dimensional feature vector ( 504 and 505 in FIG. 5 ).

보다 구체적인 예를 들어, 본 발명의 일 실시예에 따른 클러스터링 방법에서는, 사람의 얼굴에 대한 정확한 분류를 위하여 512 차원의 피쳐 벡터를 사용할 수 있으며, 이러한 경우 각 객체 샘플에 대한 512차원의 피쳐 벡터를 저장하기 위한 저장 공간 및 연산을 위한 연산량이 크게 증가할 수 있다.As a more specific example, in the clustering method according to an embodiment of the present invention, a 512-dimensional feature vector may be used for accurate classification of a human face. In this case, a 512-dimensional feature vector for each object sample is obtained. A storage space for storing and an amount of computation for an operation may be greatly increased.

이에 대하여, 본 발명의 일 실시예에 따른 클러스터링 방법에서는, 상기 각 객체 샘플에 대한 피쳐 벡터를 대신하여 복수의 객체 샘플을 포함하는 각 클러스터에 대한 평균-피쳐(mean-feature)를 사용함으로써, 객체에 대한 클러스터링(clustering)을 수행함에 있어 소요되는 저장 공간 및 연산량 등의 전산 자원(computing resource)을 획기적으로 줄이고 신속하고 효과적으로 처리할 수 있을 뿐만 아니라, 특히 사람의 얼굴 등과 같이 분류가 어려운 객체를 클러스터링하기 위한 시스템의 구축 및 운용에 막대한 비용이 소요되는 문제를 해결하고, 다량의 객체를 처리하는데 상당한 시간이 소요되는 문제도 개선할 수 있게 된다.In contrast, in the clustering method according to an embodiment of the present invention, by using a mean-feature for each cluster including a plurality of object samples instead of the feature vector for each object sample, the object In addition to dramatically reducing computational resources such as storage space and computational amount required for performing clustering, it can be processed quickly and effectively, and in particular, it clusters objects that are difficult to classify, such as human faces. It is possible to solve the problem of costly construction and operation of the system for this purpose, and to improve the problem of taking a considerable amount of time to process a large number of objects.

이에 따라, 상기 평균-피쳐 산출 단계(S120)에서는, 상기 복수의 각 클러스터에 대하여, 상기 객체 샘플을 분류하는데 사용되는 복수의 피쳐에 대한 각 평균치를 포함하는 평균-피쳐를 산출하게 된다.Accordingly, in the average-feature calculation step S120, for each of the plurality of clusters, an average-feature including each average value of the plurality of features used to classify the object sample is calculated.

이때, 상기 평균-피쳐 산출 단계(S120)에서는, 상기 객체 샘플을 분류하는데 사용되는 N차원의 피쳐 벡터에 대하여, 각 차원에 대한 복수의 객체 샘플의 평균치를 산출하여 N차원의 평균-피쳐를 산출할 수 있다.In this case, in the average-feature calculation step S120, with respect to the N-dimensional feature vector used to classify the object sample, the average value of a plurality of object samples for each dimension is calculated to calculate the N-dimensional average-feature can do.

보다 구체적으로, 상기 평균-피쳐는 하기 수학식 1을 사용하여 산출될 수 있다.More specifically, the average-feature may be calculated using Equation 1 below.

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

수학식 1에서는 512차원을 가지는 n개의 피쳐 벡터에 대하여, 각 차원에 대한 평균치를 산출하여 평균-피쳐를 산출하는 경우를 예시하고 있다.Equation 1 exemplifies the case of calculating the average-feature by calculating the average value for each dimension with respect to n feature vectors having 512 dimensions.

그러나, 본 발명이 이에 한정되는 것은 아니며, 사용되는 객체의 특성 등에 따라 차원 등이 달라질 수 있고, 나아가 피쳐 벡터 이외의 다른 형식으로 상기 평균-피쳐를 구성하는 것도 가능하다.However, the present invention is not limited thereto, and dimensions and the like may vary depending on the characteristics of an object used, and furthermore, it is possible to configure the average-feature in a format other than a feature vector.

보다 구체적으로, 도 6에서 볼 수 있는 바와 같이, 5개의 객체 샘플에 대한 복수의 피쳐(도 6(a)의 F1-F5)가 존재하는 경우, 상기 클러스터 생성 단계(S110)에서는 DBSCAN 등의 알고리즘을 이용하여 각 피쳐들간의 유사도 비교를 통해(도 6의 (a)-(d)) 유사한 객체들의 군집인 클러스터를 생성할 수 있다(도 6의 (e)).More specifically, as can be seen in FIG. 6 , when a plurality of features (F1-F5 in FIG. 6(a)) for five object samples exist, in the cluster generation step S110, an algorithm such as DBSCAN A cluster, which is a cluster of similar objects, can be generated by comparing the similarity between features ((a)-(d) of FIG. 6) using

이어서, 상기 평균-피쳐 산출 단계(S120)에서는, 상기 클러스터에 포함되는 복수의 피쳐(도 6(e)의 F1-F5)에 대한 평균치를 산출하여 상기 클러스터에 대한 평균-피쳐를 산출할 수 있게 된다(도 6(f)의 M1).Next, in the average-feature calculation step S120, average values for a plurality of features included in the cluster (F1-F5 in FIG. 6(e)) are calculated so that the average-features for the cluster can be calculated. (M1 in Fig. 6(f)).

나아가, 본 발명의 일 실시예에 따른 클러스터링 방법에서는, 상기 평균-피쳐 산출 단계(S120)에서, 제1 클러스터에 대한 평균-피쳐와 제2 클러스터의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우, 상기 제1 클러스터와 상기 제2 클러스터를 병합하여 제3 클러스터를 생성할 수 있다.Furthermore, in the clustering method according to an embodiment of the present invention, in the mean-feature calculation step S120, when the distance between the mean-feature of the first cluster and the mean-feature of the second cluster is within a predetermined reference value , a third cluster may be created by merging the first cluster and the second cluster.

보다 구체적으로, 도 7에서 볼 수 있는 바와 같이, 복수의 피쳐에 대한 클러스터링을 수행하여 제1 클러스터(도 7(a)의 F2-F5)와 제2 클러스터(도 7(a)의 F3-F4)가 산출되고, 상기 제1 클러스터에 대한 평균 피쳐(도 7(b)의 M1)와 상기 제2 클러스터의 평균-피쳐(도 7(b)의 M2)의 거리가 미리 정해진 기준치 이내에 있는 경우, 본 발명에서는 상기 제1 클러스터와 상기 제2 클러스터를 병합하여 제3 클러스터를 생성하고 이에 대한 평균 피쳐(도 7(c)의 M3)를 산출하여 클러스터링에 사용할 수 있으며, 이를 통해 평균-피쳐의 개수가 증가하는 것을 방지하여 보다 효과적으로 저장 공간과 연산량의 증가를 억제할 수 있게 된다.More specifically, as can be seen in FIG. 7 , clustering is performed on a plurality of features to form a first cluster (F2-F5 in FIG. 7A ) and a second cluster (F3-F4 in FIG. 7A ). ) is calculated, and the distance between the average feature for the first cluster (M1 in Fig. 7(b)) and the average-feature (M2 in Fig. 7(b)) of the second cluster is within a predetermined reference value, In the present invention, a third cluster is created by merging the first cluster and the second cluster, and an average feature (M3 in FIG. 7(c)) is calculated and used for clustering, through which the average-number of features It is possible to more effectively suppress the increase in the storage space and the amount of computation by preventing the increase in .

나아가, 본 발명의 일 실시예에 따른 클러스터링 방법에서, 상기 제3 클러스터에 대한 평균-피처는, 상기 제1 클러스터에 포함되는 객체 샘플의 갯수와 상기 제2 클러스터에 포함되는 객체 샘플의 갯수를 고려하여, 상기 제1 클러스터의 평균-피쳐와 상기 제2 클러스터의 평균-피쳐를 가중 평균하여 산출될 수 있다.Furthermore, in the clustering method according to an embodiment of the present invention, the average-feature for the third cluster considers the number of object samples included in the first cluster and the number of object samples included in the second cluster. Thus, the weighted average of the average-features of the first cluster and the average-features of the second cluster may be calculated.

보다 구체적인 예를 들어, 도 8에서 볼 수 있는 바와 같이, DBSCAN 등의 알고리즘을 이용하여 복수의 클러스터를 생성하고, 각 클러스터에 대한 평균-피쳐를 생성하는 경우(도 8(a)의 M1-M4), 상기 복수의 클러스터 중 일부 클러스터들의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우, 상기 일부 클러스터들을 병합하여 새로운 클러스터를 생성할 수 있으며(도 8(b)의 M1-M3), 이때 상기 새로운 클러스터에 대한 평균-피처(도 8(b)의 C1)는, 상기 제1 클러스터에 포함되는 객체 샘플의 개수(도 8(b)에서 M1에 대응하는 3개)와 상기 제2 클러스터에 포함되는 객체 샘플의 갯수(도 8(b)에서 M2에 대응하는 4개) 및 제3 클러스터(도 8(b)에서 M3에 대응하는 4개)를 고려하여, 상기 각 클러스터의 평균-피쳐를 가중 평균하여 산출될 수 있다(도 8(b)에서 C1 = 3/11 * M1 + 4/11 * M2 + 4/11 * M3).As a more specific example, as shown in FIG. 8 , when a plurality of clusters are generated using an algorithm such as DBSCAN and an average-feature for each cluster is generated (M1-M4 in FIG. 8(a)) ), when the average-feature distance of some clusters among the plurality of clusters is within a predetermined reference value, a new cluster may be created by merging the some clusters (M1-M3 in FIG. 8(b)), in which case the The mean-feature (C1 in FIG. 8(b)) for the new cluster is the number of object samples included in the first cluster (3 corresponding to M1 in FIG. 8(b)) and included in the second cluster. In consideration of the number of object samples (four corresponding to M2 in FIG. 8(b)) and the third cluster (four corresponding to M3 in FIG. 8(b)), the average-features of each cluster are weighted. It can be calculated by averaging (C1 = 3/11 * M1 + 4/11 * M2 + 4/11 * M3 in FIG. 8(b)).

나아가, 본 발명의 일 실시예에 따른 클러스터링 방법에서, 기존의 클러스터에 대한 평균-피쳐와 병합하여 생성된 클러스터의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우, 상기 기존의 클러스터와 상기 새롭게 생성된 클러스터를 다시 병합하여 새로운 클러스터를 생성하는 과정을 반복하여 수행할 수 있다.Furthermore, in the clustering method according to an embodiment of the present invention, when the average-feature distance of the cluster generated by merging the average-feature of the existing cluster is within a predetermined reference value, the existing cluster and the newly generated The process of creating a new cluster by merging the old clusters again can be repeated.

보다 구체적인 예를 들어, 도 8의 (c)에서 상기 제1 내지 제3 클러스터가 병합되어 생성된 제5 클러스터의 평균-피쳐(도 8(c)의 C1)와 기존에 존재하던 제4 클러스터의 평균-피쳐(도 8(c)의 M4) 간의 거리가 미리 정해진 기준치 이내에 있는 경우, 상기 클러스터들을 병합하여 제6 클러스터를 생성할 수 있으며(도 8(c)의 M1-M4), 이때 상기 제6 클러스터에 대한 평균-피처(도 8(c)의 C2)는, 상기 제5 클러스터에 포함되는 객체 샘플의 개수(도 8(c)에서 11개)와 상기 제4 클러스터에 포함되는 객체 샘플의 갯수(도 8(c)에서 M4에 대응하는 4개)를 고려하여, 상기 각 클러스터의 평균-피쳐를 가중 평균하여 산출될 수 있다(도 8(c)에서 C2 = 11/15 * C1 + 4/15 * M4).As a more specific example, in FIG. 8(c) , the average-feature of a fifth cluster (C1 in FIG. 8(c)) generated by merging the first to third clusters and the existing fourth cluster When the distance between the mean-features (M4 in FIG. 8(c)) is within a predetermined reference value, a sixth cluster may be created by merging the clusters (M1-M4 in FIG. 8(c)), in which case the first The average-feature for 6 clusters (C2 in FIG. 8(c)) is the number of object samples included in the fifth cluster (11 in FIG. 8(c)) and the number of object samples included in the fourth cluster. Considering the number (four corresponding to M4 in FIG. 8(c) ), the average-features of each cluster may be weighted and calculated (C2 = 11/15 * C1 + 4 in FIG. 8(c) ) /15 * M4).

이에 따라, 본 발명의 일 실시예에 따른 클러스터링 장치(120) 및 방법에서는, 클러스터링을 수행하기 위하여 복수의 클러스터에 속하는 각 객체 샘플에 대한 피쳐를 저장하지 않고 각 클러스터에 대한 평균-피쳐를 저장하여 사용할 수 있으며, 이로 인해 객체에 대한 클러스터링(clustering)을 수행함에 있어 소요되는 저장 공간 및 연산량 등의 전산 자원을 획기적으로 줄이고 신속하고 효과적인 클러스터링을 수행할 수 있게 된다.Accordingly, in the clustering apparatus 120 and method according to an embodiment of the present invention, in order to perform clustering, the average-feature for each cluster is stored without storing the feature for each object sample belonging to a plurality of clusters. Therefore, it is possible to dramatically reduce computational resources such as storage space and computational amount required to perform clustering on objects, and perform fast and effective clustering.

다음으로, 상기 추가 샘플 클러스터링 단계(S130)에서는, 상기 복수의 클러스터에 대한 평균-피쳐를 이용하여, 새롭게 추가된 하나 이상의 제2 객체 샘플에 대한 클러스터링을 수행하게 된다.Next, in the additional sample clustering step ( S130 ), clustering is performed on one or more newly added second object samples using the average-features of the plurality of clusters.

이때, 상기 추가 샘플 클러스터링 단계(S130)에서는, 상기 제2 객체 샘플에 의하여 하나 이상의 새로운 클러스터가 생성되는 경우, 상기 새로운 클러스터에 대한 평균-피처를 산출하여 클러스터링에 사용할 수 있다.In this case, in the additional sample clustering step ( S130 ), when one or more new clusters are generated by the second object sample, an average-feature for the new cluster may be calculated and used for clustering.

또한, 상기 추가 샘플 클러스터링 단계(S130)에서는, 상기 제2 객체 샘플에 의하여 하나 이상의 클러스터에 포함되는 객체 샘플의 갯수가 변경되는 경우, 상기 하나 이상의 클러스터에 대한 평균-피처를 갱신하여 클러스터링에 사용할 수도 있다.In addition, in the additional sample clustering step ( S130 ), when the number of object samples included in one or more clusters is changed by the second object sample, the average-features for the one or more clusters may be updated and used for clustering. have.

이에 따라, 본 발명의 일 실시예에 따른 클러스터링 방법에서는, 사람의 얼굴 등의 객체에 대한 클러스터링을 수행함에 있어 필요한 연산량을 효과적으로 감축하여 신속하게 클러스터링 작업을 처리할 수 있게 된다.Accordingly, in the clustering method according to an embodiment of the present invention, it is possible to quickly process the clustering task by effectively reducing the amount of computation required to perform clustering on an object such as a human face.

또한, 본 발명의 일 실시예에 따른 클러스터링 방법에서, 상기 추가 샘플 클러스터링 단계(S130)에서는, 기존의 제1 클러스터에 대한 평균-피쳐와, 상기 제2 객체 샘플에 의하여 추가되거나 변경된 제2 클러스터의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우, 상기 제1 클러스터와 상기 제2 클러스터를 병합하여 제3 클러스터를 생성할 수도 있다.In addition, in the clustering method according to an embodiment of the present invention, in the additional sample clustering step ( S130 ), the average-feature for the existing first cluster and the second cluster added or changed by the second object sample When the average-feature distance is within a predetermined reference value, a third cluster may be generated by merging the first cluster and the second cluster.

나아가, 상기 추가 샘플 클러스터링 단계(S130)에서, 상기 병합에 의해 생성되는 제3 클러스터에 대한 평균-피처는, 상기 제1 클러스터에 포함되는 객체 샘플의 갯수와 상기 제2 클러스터에 포함되는 객체 샘플의 갯수를 고려하여, 상기 제1 클러스터의 평균-피쳐와 상기 제2 클러스터의 평균-피쳐를 가중 평균하여 산출될 수 있다.Furthermore, in the additional sample clustering step (S130), the average-feature for the third cluster generated by the merging is the number of object samples included in the first cluster and the number of object samples included in the second cluster. In consideration of the number, the weighted average may be calculated by averaging the average-feature of the first cluster and the average-feature of the second cluster.

또한, 상기 추가 샘플 클러스터링 단계(S130)에서, 기존의 제4 클러스터에 대한 평균-피쳐와, 상기 병합된 제3 클러스터의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우, 상기 제4 클러스터와 상기 제3 클러스터를 다시 병합하여 새로운 클러스터를 생성하는 과정을 반복하여 수행될 수도 있다.In addition, in the additional sample clustering step ( S130 ), when the distance between the mean-feature for the existing fourth cluster and the mean-feature of the merged third cluster is within a predetermined reference value, the fourth cluster and the The process of creating a new cluster by merging the third cluster again may be repeated.

또한, 본 발명의 일 실시예에 따른 클러스터링 방법에서, 상기 추가 샘플 클러스터링 단계(S130)에서는, 상기 제2 객체 샘플에 대한 해싱(hasging) 함수값에 대응되는 객체 샘플 또는 클러스터에 한정하여 유사도를 판단하여 클러스터링을 수행할 수도 있다.In addition, in the clustering method according to an embodiment of the present invention, in the additional sample clustering step ( S130 ), the similarity is determined by limiting the object sample or cluster corresponding to the hashing function value for the second object sample. to perform clustering.

보다 구체적인 예를 들어, 도 9에서 볼 수 있는 바와 같이, 제1 클러스터(도 9의 910)에 대응하는 해싱 함수값이 제1 값(Bucket 1)에 해당하고, 새롭게 추가된 제2 객체 샘플(도 9의 940)의 해싱 함수값도 상기 제1 값(Bucket 1)에 해당하는 경우, 상기 추가 샘플 클러스터링 단계(S130)에서는 상기 제1 값(Bucket 1)에 대응되는 객체 샘플 또는 클러스트에 한정하여 유사도를 판단하여 클러스터링을 수행하여 연산량을 효과적으로 감축할 수 있게 된다.As a more specific example, as can be seen in FIG. 9 , the hashing function value corresponding to the first cluster ( 910 in FIG. 9 ) corresponds to the first value (Bucket 1), and the newly added second object sample ( When the hashing function value of 940 of FIG. 9 also corresponds to the first value (Bucket 1), in the additional sample clustering step (S130), it is limited to an object sample or cluster corresponding to the first value (Bucket 1). By determining the similarity and performing clustering, it is possible to effectively reduce the amount of computation.

나아가, 도 9에서 제2 클러스터(도 9의 920)와 같이 서로 다른 복수의 해싱 함수값에 대응하는 경우(Bucket 3 및 Bucket 4), 상기 복수의 해싱 함수값에 대응하는 경우를 모두 고려하여 상기 추가되는 객체 샘플에 대한 유사도를 판단할 수도 있다.Furthermore, in FIG. 9, cases corresponding to a plurality of different hashing function values (Bucket 3 and Bucket 4) as in the second cluster (920 in FIG. 9) in FIG. 9 and cases corresponding to the plurality of hashing function values are considered. It is also possible to determine the degree of similarity with respect to the added object sample.

또한, 도 10과 도 11에서는 본 발명의 일 실시예에 따른 클러스터링 방법 및 장치의 구체적인 실시예를 도시하고 있다.10 and 11 show specific examples of a clustering method and apparatus according to an embodiment of the present invention.

먼저, 도 10에서 볼 수 있는 바와 같이, 클러스터링 프로세스가 개시되면 LSH(Local Sensitive Hashing) 블록(1010)에서는 앞서 도 9에서 설명한 바와 같이 처리하고자 하는 객체 샘플에 대한 해싱(hasging) 함수값에 대응되는 객체 샘플 또는 클러스터에 한정하여 유사도를 비교할 수 있도록 비교 후보를 추출하게 된다.First, as can be seen in FIG. 10 , when the clustering process is started, the LSH (Local Sensitive Hashing) block 1010 corresponds to the hashing function value for the object sample to be processed as described in FIG. 9 above. Comparison candidates are extracted so that similarity can be compared by limiting to object samples or clusters.

또한, DBSCAN 블록(1020)에서는 DBSCAN 알고리즘을 사용하여 상기 비교 후보로 추출된 객체 샘플 또는 클러스터의 평균-피쳐와의 유사도 비교를 통해 클러스터링 작업을 수행하게 된다. 이때, 앞서 설명한 바와 같이 DBSCAN 알고리즘 이외에 다양한 클러스터링 알고리즘이 사용될 수도 있다.Also, in the DBSCAN block 1020 , the clustering operation is performed by comparing the similarity with the average-feature of the object sample or cluster extracted as the comparison candidate using the DBSCAN algorithm. In this case, as described above, various clustering algorithms may be used in addition to the DBSCAN algorithm.

이어서, 평균-피쳐(Mean-feature) 블록(1030)에서는 생성된 클러스터에 대한 평균-피쳐를 산출하거나 갱신하게 된다.Subsequently, in the mean-feature block 1030 , a mean-feature for the generated cluster is calculated or updated.

또한, 평균-피쳐 병합(Merge Mean-feature) 블록(1040)에서는 소정의 거리 이내에 위치하는 유사한 평균-피쳐들을 병합할 수 있다. Also, in the Merge Mean-feature block 1040 , similar mean-features located within a predetermined distance may be merged.

나아가, 이러한 과정들은 반복하여 수행되면서 클러스터 및 평균-피쳐(mean-feature)가 추가적으로 병합하면서, 클러스터링에 소요되는 저장 공간 및 연산량을 더욱 감소시킬 수도 있다.Furthermore, as these processes are repeatedly performed, clusters and mean-features are additionally merged, thereby further reducing storage space and computational amount required for clustering.

또한, 도 11에서 볼 수 있는 바와 같이, 종래에는(도 11의 (a)) 하나의 객체 샘플(도 11(a)의 A1)에 대한 클러스터링을 위하여 복수의 객체 샘플(도 11(a)의 F2-F8) 각각에 대한 연산이 수행되어야 하였으나, 본 발명의 일 실시예에 따른 클러스터링 방법에서는 상기 DBSCAN 블록(1020)을 통해 복수의 객체 샘플(도 11의 (b3))에 대하여 클러스터를 생성하고, 상기 평균-피쳐(Mean-feature) 블록(1030)을 통해 평균-피쳐를 산출한 후(도 11의 (b2)), 상기 LSH 블록(1010)을 통해 비교 후보로 추출된 객체 샘플 또는 클러스터에 한정하여 유사도를 비교함으로써, 클러스터링에 소요되는 저장 공간과 연산량을 획기적으로 감축할 수 있게 된다.In addition, as can be seen in FIG. 11, in the prior art (FIG. 11(a)), for clustering one object sample (A1 in FIG. 11(a)), a plurality of object samples (FIG. 11(a)) F2-F8) had to be calculated, but in the clustering method according to an embodiment of the present invention, a cluster is created for a plurality of object samples ((b3 in FIG. 11)) through the DBSCAN block 1020, and , after calculating the average-feature through the mean-feature block 1030 ((b2) of FIG. 11), the object sample or cluster extracted as a comparison candidate through the LSH block 1010 By limiting and comparing similarities, it is possible to dramatically reduce the amount of storage space and computation required for clustering.

또한, 도 12는 본 발명의 일 실시예에 따른 클러스터링 서비스 제공 시스템(100)의 구체적인 실시예를 도시하고 있다.12 shows a specific embodiment of the clustering service providing system 100 according to an embodiment of the present invention.

도 12에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 클러스터링 서비스 제공 시스템(100)에서, 데이터셋(1210)은 이미지 데이터(1211)와 레이블 정보(1212) 등으로 구성될 수 있으며, 특정한 스토리지(1220)에 저장될 수 있다.12, in the clustering service providing system 100 according to an embodiment of the present invention, the dataset 1210 may be composed of image data 1211 and label information 1212, and the like. It may be stored in a specific storage 1220 .

이에 대하여, 이미지 데이터 추출 서버(1230)는 상기 데이터셋(1210)의 이미지에서 각종 메타 데이터와 피쳐 정보를 추출하는 기능(1231)을 구비하게 되며, 추출된 메타 데이터와 피쳐 정보는 데이터베이스(1240)에 저장될 수 있다.In contrast, the image data extraction server 1230 has a function 1231 for extracting various types of metadata and feature information from the image of the dataset 1210 , and the extracted metadata and feature information are stored in the database 1240 . can be stored in

이어서, 클러스터링 시뮬레이터(1250)에서는 도 10 내지 도 11에서 설명한 바와 같이 본 발명에 따른 클러스터링 방법을 적용하여 클러스터링 작업을 수행하게 된다.Next, the clustering simulator 1250 performs a clustering operation by applying the clustering method according to the present invention as described with reference to FIGS. 10 to 11 .

이때, 사용자는 웹 UI(1260)를 통해 시뮬레이터를 실행하고(1261), 산출된 결과에 대한 시각화(1262)와 품질 평가(1263)를 수행할 수 있게 된다.At this time, the user can execute the simulator through the web UI 1260 ( 1261 ), and perform visualization ( 1262 ) and quality evaluation ( 1263 ) of the calculated result.

또한, 도 13 내지 도 14는 본 발명의 일 실시예에 따른 클러스터링 방법에 대한 의사 코드를 예시하고 있다.13 to 14 illustrate pseudo code for a clustering method according to an embodiment of the present invention.

먼저, 도 13에서는 본 발명의 일 실시예에 따른 클러스터링 방법에서 복수의 클러스터의 병합에 대한 평균-피쳐의 산출을 위한 의사 코드를 예시하고 있다.First, FIG. 13 exemplifies a pseudo code for calculating an average-feature for merging a plurality of clusters in a clustering method according to an embodiment of the present invention.

도 13에서 볼 수 있는 바와 같이, 상기 복수의 클러스터의 병합에 대한 새로운 평균-피쳐(도 13의 new_feature)를 산출함에 있어, 각 클러스터에 포함되는 객체 샘플의 갯수를 고려하여(weight := cluster.elements), 각 클러스터의 평균-피쳐를 가중 평균하여 산출할 수 있게 된다.13, in calculating the new average-feature (new_feature in FIG. 13) for the merging of the plurality of clusters, the number of object samples included in each cluster is considered (weight:= cluster. elements), which can be calculated by averaging the average-features of each cluster.

또한, 도 14에서는 본 발명의 일 실시예에 따른 클러스터링 방법에서 평균-피쳐를 사용하여 새로운 객체 샘플(element)를 분류하는 의사 코드를 예시하고 있다.Also, FIG. 14 exemplifies pseudo code for classifying a new object sample (element) using an average-feature in the clustering method according to an embodiment of the present invention.

도 14에서 볼 수 있는 바와 같이, 상기 복수의 클러스터에 각각에 대하여 어, 각 클러스터의 평균-피쳐와 상기 새로운 객체 샘플 간의 거리를 고려하여(getDistance(cluster, element)) 상기 새로운 객체 샘플이 속하게 되는 타겟 클러스터(target_cluster)를 산출할 수 있다.As can be seen in FIG. 14 , for each of the plurality of clusters, the new object sample to which the new object sample belongs by considering the distance between the mean-feature of each cluster and the new object sample (getDistance(cluster, element)) A target cluster (target_cluster) may be calculated.

나아가, 도 15 내지 도 17에서는 본 발명의 일 실시예에 따른 클러스터링 방법에서의 저장 공간 및 연산량의 감축 정도와 클러스터링 성능을 각각 보여주고 있다.Furthermore, FIGS. 15 to 17 show the degree of reduction in the storage space and the amount of computation and the clustering performance in the clustering method according to an embodiment of the present invention, respectively.

이때, 도 15 내지 도 17에서 S1은 종래의 DBSCAN 알고리즘에 의한 결과이고, S2는 DBSCAN 알고리즘에 본 발명에 따른 평균-피쳐(mean-feature)를 적용한 결과이며, S3는 DBSCAN 알고리즘에 본 발명에 따른 평균-피쳐(mean-feature) 및 평균-피쳐 병합(merged mean-feature)을 적용한 결과이고, S4는 DBSCAN 알고리즘에 본 발명에 따른 평균-피쳐(mean-feature), 평균-피쳐 병합(merged mean-feature) 및 LSH(Local Sensitive Hashing)를 모두 적용한 결과를 말한다.At this time, in FIGS. 15 to 17, S1 is the result of the conventional DBSCAN algorithm, S2 is the result of applying the mean-feature according to the present invention to the DBSCAN algorithm, and S3 is the DBSCAN algorithm according to the present invention. S4 is the result of applying mean-feature and mean-feature merged (merged mean-feature), and S4 is the mean-feature, mean-feature merged (merged mean-) according to the present invention to the DBSCAN algorithm. feature) and LSH (Local Sensitive Hashing) are applied.

또한, 도 15 내지 도 17에서 PRESET1은 인물수 12명에 대하여, PRESET2는 인물수 30명에 대하여, PRESET3은 인물수 60명에 대하여, PRESET4는 인물수 90명에 대하여 각각 얼굴당 이미지 개수를 10 또는 20으로 하여 테스트용 데이터 셋을 구성해 시뮬레이션을 수행한 경우를 말한다.15 to 17, PRESET1 for 12 people, PRESET2 for 30 people, PRESET3 for 60 people, and PRESET4 for 90 people. Or 20, it refers to the case where the test data set is configured and simulation is performed.

먼저, 도 15에서 볼 수 있는 바와 같이, 소요되는 저장 공간을 비교해 보면, 종래 DBSCAN알고리즘(S1)에서 소요되는 저장 공간을 100으로 하여 비교할 경우, 본 발명에 따른 S2-S4에서는 각각 22.83 내지 31.64의 범위를 가지는 바, 소요되는 저장 공간을 획기적으로 줄일 수 있음을 확인할 수 있다. 나아가, 저장 공간의 측면에서는 S3가 상대적으로 더욱 우수한 결과치를 보여주었다.First, as can be seen in FIG. 15 , when comparing the required storage space, when the storage space required in the conventional DBSCAN algorithm (S1) is 100 and compared, in S2-S4 according to the present invention, each of 22.83 to 31.64 is As it has a range, it can be confirmed that the required storage space can be remarkably reduced. Furthermore, in terms of storage space, the S3 showed relatively better results.

또한, 도 16에서 볼 수 있는 바와 같이, 소요되는 연산량을 비교해 보면, 종래 DBSCAN알고리즘(S1)에서 소요되는 연산량을 100으로 하여 비교할 경우, 본 발명에 따른 S2-S4에서는 각각 14.26 내지 48.23의 범위를 가지는 바, 소요되는 연산량도 획기적으로 줄일 수 있음을 확인할 수 있다. 나아가, 연산량의 측면에서는 S4가 상대적으로 더욱 우수한 결과치를 보여주었다.In addition, as can be seen in FIG. 16, when comparing the amount of computation required, when comparing the amount of computation required in the conventional DBSCAN algorithm (S1) as 100, in S2-S4 according to the present invention, the range of 14.26 to 48.23 is respectively As a result, it can be confirmed that the amount of computation required can also be remarkably reduced. Furthermore, in terms of computational amount, S4 showed relatively better results.

또한, 도 17에서 볼 수 있는 바와 같이, 클러스터링 성능을 비교해보면, 종래 DBSCAN알고리즘(S1)에서의 클러스터링 성능(Jaccard Index 기준)을 100으로 하여 비교할 경우, 본 발명에 따른 S2-S4에서는 각각 103.23 내지 115.44의 범위를 가지는 바, 클러스터링 성능의 저하도 크지 않아 감내할 만한 수준임을 확인할 수 있다. In addition, as can be seen in FIG. 17, when comparing the clustering performance, when comparing the clustering performance (based on the Jaccard Index) in the conventional DBSCAN algorithm (S1) as 100, in S2-S4 according to the present invention, each of 103.23 to 103.23 to Since it has a range of 115.44, it can be confirmed that the degradation of clustering performance is not too large, which is an acceptable level.

또한, 본 발명의 또 다른 측면에 따른 컴퓨터 프로그램은 앞서 살핀 클러스터링 방법의 각 단계를 컴퓨터에서 실행시키기 위하여 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램인 것을 특징으로 한다. 상기 컴퓨터 프로그램은 컴파일러에 의해 만들어지는 기계어 코드를 포함하는 컴퓨터 프로그램뿐만 아니라, 인터프리터 등을 사용해서 컴퓨터에서 실행될 수 있는 고급 언어 코드를 포함하는 컴퓨터 프로그램일 수도 있다. 이때, 상기 컴퓨터로서는 퍼스널 컴퓨터(PC)나 노트북 컴퓨터 등에 한정되지 아니하며, 서버, 스마트폰, 태블릿 PC, PDA, 휴대전화 등 중앙처리장치(CPU)를 구비하여 컴퓨터 프로그램을 실행할 수 있는 일체의 정보처리 장치를 포함한다. In addition, the computer program according to another aspect of the present invention is characterized in that it is a computer program stored in a computer-readable medium in order to execute each step of the above salpin clustering method in a computer. The computer program may be a computer program including a machine language code generated by a compiler, as well as a computer program including a high-level language code that can be executed in a computer using an interpreter or the like. In this case, the computer is not limited to a personal computer (PC) or notebook computer, and includes a central processing unit (CPU) such as a server, smart phone, tablet PC, PDA, mobile phone, etc. to process any information that can execute a computer program. includes the device.

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

또한, 도 18에서는 본 발명의 일 실시예에 따른 클러스터링 장치(120)의 구성도를 예시하고 있다. In addition, FIG. 18 exemplifies the configuration of the clustering device 120 according to an embodiment of the present invention.

도 18에서 볼 수 있는 바와 같이 본 발명의 일 실시예에 따른 클러스터링 장치(120)는 클러스터 생성부(121), 평균-피쳐 산출부(122) 및 추가 샘플 클러스터링 수행부(123)를 포함하여 구성될 수 있다.As can be seen in FIG. 18 , the clustering device 120 according to an embodiment of the present invention includes a cluster generator 121 , an average-feature calculator 122 , and an additional sample clustering performer 123 . can be

이어서, 아래에서는 본 발명의 일 실시예에 따른 클러스터링 장치(120)를 각 구성요소 별로 나누어 살핀다. 본 발명의 일 실시예에 따른 클러스터링 장치 (120)에 대한 보다 자세한 내용은 앞서 설명한 본 발명의 일 실시예에 따른 클러스터링 방법에 대한 설명으로부터 유추될 수 있는 바, 아래에서 보다 자세한 설명은 생략한다.Next, below, the clustering device 120 according to an embodiment of the present invention will be divided for each component. A more detailed description of the clustering device 120 according to an embodiment of the present invention can be inferred from the description of the clustering method according to an embodiment of the present invention described above, and a more detailed description will be omitted below.

먼저, 상기 클러스터 생성부(121)에서는 상기 복수의 객체 샘플을 분류하여 복수의 클러스터를 생성하게 된다.First, the cluster generating unit 121 generates a plurality of clusters by classifying the plurality of object samples.

또한, 상기 평균-피쳐 산출부(122)에서는 상기 복수의 각 클러스터에 대하여, 상기 객체 샘플을 분류하는데 사용되는 복수의 피쳐에 대한 각 평균치를 포함하는 평균-피쳐를 산출하게 된다.In addition, the average-feature calculating unit 122 calculates an average-feature including each average value of a plurality of features used to classify the object sample with respect to each of the plurality of clusters.

마지막으로, 상기 추가 샘플 클러스터링 수행부(123)에서는 상기 복수의 클러스터에 대한 평균-피쳐를 이용하여, 새롭게 추가된 하나 이상의 제2 객체 샘플에 대한 클러스터링을 수행하게 된다.Finally, the additional sample clustering performing unit 123 performs clustering on one or more newly added second object samples using the average-features of the plurality of clusters.

나아가, 본 발명의 일 실시예에 따른 클러스터링 장치(120)에서, 상기 평균-피쳐 산출부(122)에서는, 상기 객체 샘플을 분류하는데 사용되는 N차원의 피쳐 벡터에 대하여, 각 차원에 대한 복수의 객체 샘플의 평균치를 산출하여 N차원의 평균-피쳐를 산출할 수 있다.Furthermore, in the clustering apparatus 120 according to an embodiment of the present invention, the average-feature calculating unit 122 includes a plurality of N-dimensional feature vectors for each dimension with respect to the N-dimensional feature vector used to classify the object sample. By calculating the average value of the object sample, the N-dimensional average-feature may be calculated.

또한, 상기 평균-피쳐 산출부(122)에서는, 제1 클러스터에 대한 평균-피쳐와 제2 클러스터의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우, 상기 제1 클러스터와 상기 제2 클러스터를 병합하여 제3 클러스터를 생성할 수 있다.In addition, the average-feature calculating unit 122 merges the first cluster and the second cluster when the distance between the average-feature of the first cluster and the average-feature of the second cluster is within a predetermined reference value. to create a third cluster.

나아가, 기존의 제4 클러스터에 대한 평균-피쳐와, 상기 병합된 제3 클러스터의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우, 상기 제4 클러스터와 상기 제3 클러스터를 다시 병합하여 새로운 클러스터를 생성하는 과정을 반복할 수도 있다.Furthermore, when the distance between the mean-feature for the existing fourth cluster and the mean-feature of the merged third cluster is within a predetermined reference value, the fourth cluster and the third cluster are merged again to form a new cluster. The creation process may be repeated.

또한, 상기 추가 샘플 클러스터링 수행부(123)에서는, 상기 제2 객체 샘플에 대한 해싱(hasging) 함수값에 대응되는 객체 샘플 또는 클러스터에 한정하여 유사도를 판단하여 클러스터링을 수행할 수도 있다.Also, the additional sample clustering performing unit 123 may perform clustering by determining the similarity by limiting the object sample or cluster corresponding to the hashing function value of the second object sample.

이에 따라, 본 발명의 일 실시예에 따른 클러스터링 방법, 장치 및 컴퓨터 프로그램에서는, 사람의 얼굴 등의 객체에 대한 클러스터링(clustering)을 수행함에 있어 소요되는 저장 공간 및 연산량 등의 전산 자원(computing resource)을 획기적으로 줄이고 신속하고 효과적으로 처리할 수 있게 된다.Accordingly, in the clustering method, apparatus, and computer program according to an embodiment of the present invention, computing resources such as storage space and amount of computation required for clustering an object such as a human face can be drastically reduced and processed quickly and effectively.

또한, 본 발명의 일 실시예에 따른 클러스터링 방법, 장치 및 컴퓨터 프로그램에서는, 특히 사람의 얼굴 등과 같이 분류가 어려운 객체를 클러스터링하기 위한 시스템의 구축 및 운용에 막대한 비용이 소요되는 문제를 해결하고, 다량의 객체를 처리하는데 상당한 시간이 소요되는 문제를 개선할 수 있게 된다.In addition, in the clustering method, apparatus, and computer program according to an embodiment of the present invention, in particular, the problem of building and operating a system for clustering objects that are difficult to classify, such as a human face, is solved, and a large amount of money is required. It is possible to improve the problem of taking a significant amount of time to process the object of

본 명세서에서 설명된 위 실시예 및 도면들은 단지 예시적인 것일 뿐, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 또한, 도면에 도시된 구성요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성요소가 아닐 수 있다.The above embodiments and drawings described herein are illustrative only, and do not limit the scope of the present invention in any way. In addition, the connection or connection members of the lines between the components shown in the drawings illustratively represent functional connections and/or physical or circuit connections, and in an actual device, various functional connections, physical connections that are replaceable or additional may be referred to as connections, or circuit connections. In addition, unless there is a specific reference such as "essential", "importantly", etc., it may not be a necessary component for the application of the present invention.

본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 또한 본 발명 중 방법 발명에서 제시하는 단계들은 반드시 그 선후의 순서에 대한 구속을 의도한 것이 아니며, 각 공정의 본질에 따라 반드시 어느 단계가 선행되어야 하는 것이 아닌 한 순서는 필요에 따라 적절히 변경될 수 있다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해본 발명의 범위가 한정되는 것은 아니다. 또한, 통상의 기술자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등 범주 내에서 설계 조건 및 요소에 따라 구성될 수 있음을 이해할 수 있다.In the specification of the present invention (especially in the claims), the use of the term "above" and similar referential terms may be used in both the singular and the plural. In addition, when a range is described in the present invention, each individual value constituting the range is described in the detailed description of the invention as including the invention to which individual values belonging to the range are applied (unless there is a description to the contrary). same as In addition, the steps presented in the method invention among the present invention are not necessarily intended to limit the order of their precedence and after, and the order may be appropriately changed as necessary unless a certain step must be preceded according to the nature of each process. have. The use of all examples or exemplary terms (eg, etc.) in the present invention is merely for the purpose of describing the present invention in detail, and unless defined by the claims, the scope of the present invention is limited by the examples or exemplary terminology. it's not going to be In addition, those skilled in the art can understand that various modifications, combinations, and changes can be made according to design conditions and elements within the scope of the appended claims or their equivalents.

100 : 클러스터링 서비스 제공 시스템
110, 110a, 110b : 사용자 단말
120 : 클러스터링 장치
121 : 클러스터 생성부
122 : 평균-피쳐 산출부
123 : 추가 샘플 클러스터링 수행부
130 : 네트워크
100: clustering service providing system
110, 110a, 110b: user terminal
120: clustering device
121: cluster creation unit
122: average-feature calculation unit
123: Additional sample clustering unit
130: network

Claims (16)

클러스터링 장치에서 복수의 객체 샘플에 대한 클러스터링을 수행하는 방법에 있어서,
상기 복수의 객체 샘플을 분류하여 복수의 클러스터를 생성하는 클러스터 생성 단계;
상기 복수의 각 클러스터에 대하여, 상기 객체 샘플을 분류하는데 사용되는 복수의 피쳐에 대한 각 평균치를 포함하는 평균-피쳐를 산출하는 평균-피쳐 산출 단계; 및
상기 복수의 클러스터에 대한 평균-피쳐를 이용하여, 새롭게 추가된 하나 이상의 제2 객체 샘플에 대한 클러스터링을 수행하는 추가 샘플 클러스터링 단계;
를 포함하는 것을 특징으로 하는 클러스터링 방법.
A method for clustering a plurality of object samples in a clustering device, the method comprising:
a cluster generation step of classifying the plurality of object samples to generate a plurality of clusters;
an average-feature calculating step of calculating, for each of the plurality of clusters, an average-feature including each average value for a plurality of features used to classify the object sample; and
an additional sample clustering step of performing clustering on one or more newly added second object samples using the average-features for the plurality of clusters;
A clustering method comprising a.
제1항에 있어서,
상기 평균-피쳐 산출 단계에서는,
상기 객체 샘플을 분류하는데 사용되는 N차원의 피쳐 벡터에 대하여,
각 차원에 대한 복수의 객체 샘플의 평균치를 산출하여 N차원의 평균-피쳐를 산출하는 것을 특징으로 하는 클러스터링 방법.
According to claim 1,
In the average-feature calculation step,
For an N-dimensional feature vector used to classify the object sample,
A clustering method, characterized in that by calculating an average value of a plurality of object samples for each dimension, an average of N-dimensional features is calculated.
제1항에 있어서,
상기 추가 샘플 클러스터링 단계에서는,
상기 제2 객체 샘플에 의하여 하나 이상의 새로운 클러스터가 생성되는 경우, 상기 새로운 클러스터에 대한 평균-피처를 산출하는 것을 특징으로 하는 클러스터링 방법.
According to claim 1,
In the additional sample clustering step,
and calculating a mean-feature for the new cluster when one or more new clusters are generated by the second object sample.
제1항에 있어서,
상기 추가 샘플 클러스터링 단계에서는,
상기 제2 객체 샘플에 의하여 하나 이상의 클러스터에 포함되는 객체 샘플의 갯수가 변경되는 경우, 상기 하나 이상의 클러스터에 대한 평균-피처를 갱신하는 것을 특징으로 하는 클러스터링 방법.
According to claim 1,
In the additional sample clustering step,
and updating the average-feature for the one or more clusters when the number of object samples included in the one or more clusters is changed by the second object sample.
제1항에 있어서,
상기 평균-피쳐 산출 단계에서는,
제1 클러스터에 대한 평균-피쳐와 제2 클러스터의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우,
상기 제1 클러스터와 상기 제2 클러스터를 병합하여 제3 클러스터를 생성하는 것을 특징으로 하는 클러스터링 방법.
According to claim 1,
In the average-feature calculation step,
When the distance between the mean-feature of the first cluster and the mean-feature of the second cluster is within a predetermined reference value,
The clustering method of claim 1, wherein the first cluster and the second cluster are merged to generate a third cluster.
제5항에 있어서,
상기 제3 클러스터에 대한 평균-피처는,
상기 제1 클러스터에 포함되는 객체 샘플의 갯수와 상기 제2 클러스터에 포함되는 객체 샘플의 갯수를 고려하여,
상기 제1 클러스터의 평균-피쳐와 상기 제2 클러스터의 평균-피쳐를 가중 평균하여 산출되는 것을 특징으로 하는 클러스터링 방법.
6. The method of claim 5,
The mean-feature for the third cluster is
Considering the number of object samples included in the first cluster and the number of object samples included in the second cluster,
Clustering method, characterized in that calculated by weighted average of the mean-feature of the first cluster and the mean-feature of the second cluster.
제5항에 있어서,
기존의 제4 클러스터에 대한 평균-피쳐와, 상기 병합된 제3 클러스터의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우,
상기 제4 클러스터와 상기 제3 클러스터를 다시 병합하여 새로운 클러스터를 생성하는 과정을 반복하는 것을 특징으로 하는 클러스터링 방법.
6. The method of claim 5,
When the distance between the mean-feature for the existing fourth cluster and the mean-feature of the merged third cluster is within a predetermined reference value,
and repeating the process of creating a new cluster by merging the fourth cluster and the third cluster again.
제1항에 있어서,
상기 추가 샘플 클러스터링 단계에서는,
기존의 제1 클러스터에 대한 평균-피쳐와, 상기 제2 객체 샘플에 의하여 추가되거나 변경된 제2 클러스터의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우,
상기 제1 클러스터와 상기 제2 클러스터를 병합하여 제3 클러스터를 생성하는 것을 특징으로 하는 클러스터링 방법.
According to claim 1,
In the additional sample clustering step,
When the distance between the mean-feature of the existing first cluster and the mean-feature of the second cluster added or changed by the second object sample is within a predetermined reference value,
The clustering method of claim 1, wherein the first cluster and the second cluster are merged to generate a third cluster.
제1항에 있어서,
상기 추가 샘플 클러스터링 단계에서는,
상기 제2 객체 샘플에 대한 해싱(hasging) 함수값에 대응되는 객체 샘플 또는 클러스터에 한정하여 유사도를 판단하여 클러스터링을 수행하는 것을 특징으로 하는 클러스터링 방법.
According to claim 1,
In the additional sample clustering step,
A clustering method, characterized in that clustering is performed by determining similarity by limiting to an object sample or cluster corresponding to a hashing function value for the second object sample.
제1항에 있어서,
상기 클러스터링 장치에서는,
클러스터링을 수행하기 위하여 복수의 클러스터에 속하는 각 객체 샘플에 대한 피쳐를 저장하지 않고 각 클러스터에 대한 평균-피쳐를 저장하여 사용하는 것을 특징으로 하는 클러스터링 방법.
According to claim 1,
In the clustering device,
A clustering method, characterized in that in order to perform clustering, the average-feature for each cluster is stored and used instead of storing the feature for each object sample belonging to a plurality of clusters.
컴퓨터에서 제1항 내지 제10항 중 어느 한 항에 기재된 클러스터링 방법의 각 단계를 실행시키기 위한 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable medium for executing each step of the clustering method according to any one of claims 1 to 10 on a computer. 복수의 객체 샘플에 대한 클러스터링을 수행하는 클러스터링 장치에 있어서,
상기 복수의 객체 샘플을 분류하여 복수의 클러스터를 생성하는 클러스터 생성부;
상기 복수의 각 클러스터에 대하여, 상기 객체 샘플을 분류하는데 사용되는 복수의 피쳐에 대한 각 평균치를 포함하는 평균-피쳐를 산출하는 평균-피쳐 산출부; 및
상기 복수의 클러스터에 대한 평균-피쳐를 이용하여, 새롭게 추가된 하나 이상의 제2 객체 샘플에 대한 클러스터링을 수행하는 추가 샘플 클러스터링 수행부;
를 포함하는 것을 특징으로 하는 클러스터링 장치.
A clustering device for clustering a plurality of object samples, the clustering device comprising:
a cluster generator to classify the plurality of object samples to generate a plurality of clusters;
an average-feature calculating unit for calculating, for each of the plurality of clusters, an average-feature including an average value for a plurality of features used to classify the object sample; and
an additional sample clustering performing unit configured to cluster one or more newly added second object samples by using the average-features of the plurality of clusters;
A clustering device comprising a.
제12항에 있어서,
상기 평균-피쳐 산출부에서는,
상기 객체 샘플을 분류하는데 사용되는 N차원의 피쳐 벡터에 대하여,
각 차원에 대한 복수의 객체 샘플의 평균치를 산출하여 N차원의 평균-피쳐를 산출하는 것을 특징으로 하는 클러스터링 장치.
13. The method of claim 12,
In the average-feature calculation unit,
For an N-dimensional feature vector used to classify the object sample,
A clustering device, characterized in that by calculating an average value of a plurality of object samples for each dimension, an average of N-dimensional features is calculated.
제12항에 있어서,
상기 평균-피쳐 산출부에서는,
제1 클러스터에 대한 평균-피쳐와 제2 클러스터의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우,
상기 제1 클러스터와 상기 제2 클러스터를 병합하여 제3 클러스터를 생성하는 것을 특징으로 하는 클러스터링 장치.
13. The method of claim 12,
In the average-feature calculation unit,
When the distance between the mean-feature of the first cluster and the mean-feature of the second cluster is within a predetermined reference value,
and generating a third cluster by merging the first cluster and the second cluster.
제14항에 있어서,
기존의 제4 클러스터에 대한 평균-피쳐와, 상기 병합된 제3 클러스터의 평균-피쳐의 거리가 미리 정해진 기준치 이내에 있는 경우,
상기 제4 클러스터와 상기 제3 클러스터를 다시 병합하여 새로운 클러스터를 생성하는 과정을 반복하는 것을 특징으로 하는 클러스터링 장치.
15. The method of claim 14,
When the distance between the mean-feature for the existing fourth cluster and the mean-feature of the merged third cluster is within a predetermined reference value,
and repeating the process of creating a new cluster by merging the fourth cluster and the third cluster again.
제14항에 있어서,
상기 추가 샘플 클러스터링 수행부에서는,
상기 제2 객체 샘플에 대한 해싱(hasging) 함수값에 대응되는 객체 샘플 또는 클러스터에 한정하여 유사도를 판단하여 클러스터링을 수행하는 것을 특징으로 하는 클러스터링 장치.
15. The method of claim 14,
In the additional sample clustering performing unit,
The clustering apparatus according to claim 1, wherein the clustering is performed by determining the similarity by limiting the object sample or cluster corresponding to the hashing function value of the second object sample.
KR1020210013100A 2021-01-29 2021-01-29 Method, apparatus and computer program for clustering using mean-feature KR102632588B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210013100A KR102632588B1 (en) 2021-01-29 2021-01-29 Method, apparatus and computer program for clustering using mean-feature

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210013100A KR102632588B1 (en) 2021-01-29 2021-01-29 Method, apparatus and computer program for clustering using mean-feature

Publications (2)

Publication Number Publication Date
KR20220109731A true KR20220109731A (en) 2022-08-05
KR102632588B1 KR102632588B1 (en) 2024-02-01

Family

ID=82826432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210013100A KR102632588B1 (en) 2021-01-29 2021-01-29 Method, apparatus and computer program for clustering using mean-feature

Country Status (1)

Country Link
KR (1) KR102632588B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080205774A1 (en) * 2007-02-26 2008-08-28 Klaus Brinker Document clustering using a locality sensitive hashing function
JP2011175587A (en) * 2010-02-25 2011-09-08 Nippon Telegr & Teleph Corp <Ntt> User determining device, method and program, and content distribution system
JP2012014269A (en) * 2010-06-29 2012-01-19 Canon Inc Clustering processing device and clustering processing method
KR20120064581A (en) 2010-12-09 2012-06-19 한국전자통신연구원 Mehtod of classfying image and apparatus for the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080205774A1 (en) * 2007-02-26 2008-08-28 Klaus Brinker Document clustering using a locality sensitive hashing function
JP2011175587A (en) * 2010-02-25 2011-09-08 Nippon Telegr & Teleph Corp <Ntt> User determining device, method and program, and content distribution system
JP2012014269A (en) * 2010-06-29 2012-01-19 Canon Inc Clustering processing device and clustering processing method
KR20120064581A (en) 2010-12-09 2012-06-19 한국전자통신연구원 Mehtod of classfying image and apparatus for the same

Also Published As

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

Similar Documents

Publication Publication Date Title
CN108229419B (en) Method and apparatus for clustering images
CN112528025A (en) Text clustering method, device and equipment based on density and storage medium
WO2022105129A1 (en) Content data recommendation method and apparatus, and computer device, and storage medium
US20200177634A1 (en) Hybrid Network Infrastructure Management
JP2020515983A (en) Target person search method and device, device, program product and medium
WO2022037541A1 (en) Image processing model training method and apparatus, device, and storage medium
CN112270686B (en) Image segmentation model training method, image segmentation device and electronic equipment
CN112000822B (en) Method and device for ordering multimedia resources, electronic equipment and storage medium
US11941087B2 (en) Unbalanced sample data preprocessing method and device, and computer device
CN113657087B (en) Information matching method and device
US20210406568A1 (en) Utilizing multiple stacked machine learning models to detect deepfake content
CN111062431A (en) Image clustering method, image clustering device, electronic device, and storage medium
CN113128526B (en) Image recognition method and device, electronic equipment and computer-readable storage medium
CN113657249B (en) Training method, prediction method, device, electronic equipment and storage medium
CN114492601A (en) Resource classification model training method and device, electronic equipment and storage medium
CN113821657A (en) Artificial intelligence-based image processing model training method and image processing method
JP7276483B2 (en) LEARNING DEVICE, CLASSIFIER, LEARNING METHOD AND LEARNING PROGRAM
CN116361567B (en) Data processing method and system applied to cloud office
TWI714321B (en) Method, apparatus and electronic device for database updating and computer storage medium thereof
CN111858936A (en) Intention identification method and device, identification equipment and readable storage medium
CN115169489B (en) Data retrieval method, device, equipment and storage medium
KR20220109731A (en) Method, apparatus and computer program for clustering using mean-feature
CN113610106B (en) Feature compatible learning method and device between models, electronic equipment and medium
CN116030375A (en) Video feature extraction and model training method, device, equipment and storage medium
CN111737371B (en) Data flow detection classification method and device capable of dynamically predicting

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant