KR20230027945A - Apparatus and method for indexing of video - Google Patents

Apparatus and method for indexing of video Download PDF

Info

Publication number
KR20230027945A
KR20230027945A KR1020210110288A KR20210110288A KR20230027945A KR 20230027945 A KR20230027945 A KR 20230027945A KR 1020210110288 A KR1020210110288 A KR 1020210110288A KR 20210110288 A KR20210110288 A KR 20210110288A KR 20230027945 A KR20230027945 A KR 20230027945A
Authority
KR
South Korea
Prior art keywords
feature vector
indexing
image
elements
query
Prior art date
Application number
KR1020210110288A
Other languages
Korean (ko)
Inventor
이영구
무하마드 누만 칸
김태연
Original Assignee
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경희대학교 산학협력단 filed Critical 경희대학교 산학협력단
Priority to KR1020210110288A priority Critical patent/KR20230027945A/en
Publication of KR20230027945A publication Critical patent/KR20230027945A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/56Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/732Query formulation
    • G06F16/7343Query language or query format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed are an image indexing apparatus and a method for performing the same. The image indexing apparatus according to an embodiment comprises: an indexing unit which acquires a feature batch for an input image, extracts a first feature vector and metadata from the obtained feature batch, connects some of the elements of the first feature vector to generate a second feature vector, packages the second feature vector and the metadata to index the second feature vector; a query management unit which obtains a user's query and determines a rank for the obtained user's query based on the obtained user's query and the indexed second feature vector; and a load balancing unit which controls load distribution for the indexing and ranking at preset intervals. Accordingly, the present invention can measure similarity between a plurality of images.

Description

영상 인덱싱 장치 및 방법{APPARATUS AND METHOD FOR INDEXING OF VIDEO}Video indexing device and method {APPARATUS AND METHOD FOR INDEXING OF VIDEO}

개시되는 실시예들은 영상을 검색하기 위한 영상 인덱싱 기술에 관한 것이다.The disclosed embodiments relate to image indexing techniques for retrieving images.

대부분의 영상은 서로 이웃하는 화소(pixel) 값이 상관관계를 가지고 있으며, 이에 따라 영상을 구성하는 데이터는 필요 이상의 정보를 포함할 가능성이 있다. In most images, pixel values adjacent to each other have a correlation, and accordingly, data constituting an image may contain more information than necessary.

한편, 영상 검색에서 인덱싱은 매우 중요한 역할을 한다. 영상에서 인식된 텍스트, 오디오 스트림에서 추출한 음성 특징(feature) 및 영상 프레임에서 추출한 시각적 특징에 기초하여 영상이 검색될 수 있다. 그 중에서도 전역 특징(Global Feature)을 제공하기 위한 CNN(Convolutional Neural Network) 모델에 대한 연구가 다양하게 진행되고 있다. Meanwhile, indexing plays a very important role in image search. An image may be searched based on text recognized from an image, audio features extracted from an audio stream, and visual features extracted from an image frame. Among them, various studies are being conducted on a Convolutional Neural Network (CNN) model to provide global features.

그러나, 기존의 CNN 모델에 대한 연구들에서 영상 데이터는 본질적으로 크고, 빅 데이터를 처리할 때 추출된 특징 벡터(Feature)의 수가 많으며, 전역 특징 벡터의 차원이 높아 인덱싱 및 검색에 소요되는 과도한 계산 비용이 많이 드는 문제가 있었다. However, in studies on existing CNN models, image data is inherently large, the number of feature vectors extracted when processing big data is large, and the dimension of global feature vectors is high, resulting in excessive computation required for indexing and retrieval. There was a costly problem.

특히, 텍스트 기반 검색의 경우, 역-인덱싱 기반 검색에서 전역 특징을 적용시키기 위해 역-인덱싱에 적합한 표현으로 변환없이 영상 검색에 필요한 복수 영상들의 사이의 유사도를 계산할 수 없는 한계가 있었다.In particular, in the case of text-based retrieval, there is a limitation in that similarity between multiple images required for image retrieval cannot be calculated without conversion into an expression suitable for inverse-indexing to apply global features in reverse-indexing-based retrieval.

대한민국 등록특허 제 10-0359234호(2002.10.18. 공개)Republic of Korea Patent Registration No. 10-0359234 (published on October 18, 2002)

개시되는 실시예들은 위한 영상을 검색하기 위한 영상 인덱싱 장치 및 방법을 제공하기 위한 것이다.Disclosed embodiments are to provide an image indexing apparatus and method for searching an image for a target.

일 실시예에 따라 영상 인덱싱 장치는, 입력된 영상에 대한 특징 배치(feature batch)를 획득하고, 상기 획득한 특징 배치로부터 제 1 특징 벡터 및 메타데이터를 추출하고, 상기 제 1 특징 벡터의 원소 중 일부를 연결하여 제 2 특징 벡터를 생성하고, 상기 제 2 특징 벡터 및 상기 메타 데이터를 패키징하여 상기 제 2 특징 벡터를 인덱싱하는 인덱싱부, 사용자의 쿼리를 획득하고, 상기 획득된 사용자의 쿼리 및 상기 인덱싱된 제 2 특징 벡터에 기초하여 상기 획득된 사용자의 쿼리에 대한 순위를 결정하는 쿼리 관리부 및 사전 설정된 주기마다 상기 인덱싱 및 상기 순위 결정에 대한 로드 분산을 제어하는 로드 밸런싱부를 포함한다.According to an embodiment, an image indexing apparatus obtains a feature batch for an input image, extracts a first feature vector and metadata from the obtained feature batch, and selects elements of the first feature vector. An indexing unit that connects parts to generate a second feature vector, packages the second feature vector and the meta data, and indexes the second feature vector; obtains a user's query; and a query management unit that determines a ranking of the user's query based on the indexed second feature vector, and a load balancing unit that controls load distribution for the indexing and ranking at every predetermined period.

상기 인덱싱부는, 상기 제 1 특징 벡터의 원소를 정량화한 후, 상기 정량화된 제 1 특징 벡터의 원소 중 일부를 연결하여 상기 제 2 특징 벡터를 생성할 수 있다.The indexing unit may generate the second feature vector by quantifying elements of the first feature vector and then connecting some of the quantified elements of the first feature vector.

상기 인덱싱부는, 사전 설정된 정량화 요소(Quantization factor)에 기초하여 상기 제 1 특징 벡터의 원소를 정량화하고, 상기 정량화된 제 1 특징 벡터의 원소 중 기 설정된 기준을 만족하는 원소를 연결하여 상기 제 2 특징 벡터를 생성할 수 있다.The indexing unit quantifies elements of the first feature vector based on a preset quantization factor, connects elements that satisfy a preset criterion among elements of the quantified first feature vector, and obtains the second feature. Vectors can be created.

상기 정량화 요소는 하기 수학식을 만족할 수 있다.The quantification factor may satisfy the following equation.

(수학식)(mathematical expression)

Figure pat00001
Figure pat00001

Figure pat00002
: 상기 제1 벡터의 i(이때, i는 1≤j≤N을 만족하는 정수, N은 상기 제1 벡터의 차원)번째 차원의 원소를 정량화하기 위한 정량화 요소
Figure pat00002
: Quantification element for quantifying the element of the i-th dimension of the first vector (where i is an integer satisfying 1≤j≤N, and N is the dimension of the first vector)

Figure pat00003
: 자연로그
Figure pat00003
: natural logarithm

Figure pat00004
: 특징 벡터의 차원
Figure pat00004
: Dimensions of feature vectors

Figure pat00005
: 상기 i번째 차원의 원소
Figure pat00005
: element of the i-th dimension

상기 로드 밸런싱부는, 가중 라운드로빈 방식(Weighted Round Robin Method)에 기초하여 상기 인덱싱 및 상기 순위 결정 중 적어도 하나에 대한 로드 분산을 제어할 수 있다.The load balancing unit may control load distribution for at least one of the indexing and the ranking based on a weighted round robin method.

TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 상기 인덱싱 된 제 2 특징 벡터 및 상기 사용자의 쿼리에 대한 특징 벡터 사이의 유사도를 계산하고, 상기 계산된 유사도에 기초하여 상기 사용자의 쿼리에 대한 영상을 검색하는 영상 검색부를 더 포함할 수 있다.A similarity between the indexed second feature vector and the feature vector for the user's query is calculated using TF-IDF (Term Frequency-Inverse Document Frequency), and based on the calculated similarity, for the user's query An image search unit for searching for an image may be further included.

일 실시예에 따라 영상 인덱싱 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 입력된 영상에 대한 특징 배치(feature batch)를 획득하고, 상기 획득한 특징 배치로부터 제 1 특징 벡터 및 메타데이터를 추출하고, 상기 제 1 특징 벡터의 원소 중 일부를 연결하여 제 2 특징 벡터를 생성하고, 상기 제 2 특징 벡터 및 상기 메타 데이터를 패키징하여 상기 제 2 특징 벡터를 인덱싱하는 단계, 사용자의 쿼리를 획득하고, 상기 획득된 사용자의 쿼리 및 상기 인덱싱된 제 2 특징 벡터에 기초하여 상기 획득된 사용자의 쿼리에 대한 순위를 결정하는 단계 및 사전 설정된 주기마다 상기 인덱싱 및 상기 순위 결정에 대한 로드 분산을 제어하는 단계를 포함한다.According to an embodiment, an image indexing method is a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, and includes disposing features of an input image. (feature batch) is obtained, a first feature vector and metadata are extracted from the obtained feature batch, a second feature vector is generated by connecting some of the elements of the first feature vector, and the second feature vector and indexing the second feature vector by packaging the metadata, obtaining a user's query, and ranking the obtained user's query based on the obtained user's query and the indexed second feature vector. and controlling the load distribution for the indexing and the ranking at every preset period.

상기 인덱싱하는 단계는, 상기 제 1 특징 벡터의 원소를 정량화한 후, 상기 정량화된 제 1 특징 벡터의 원소 중 일부를 연결하여 차원 축소된 제 2 특징 벡터를 생성할 수 있다.In the indexing, after quantifying the elements of the first feature vector, a dimensionally reduced second feature vector may be generated by connecting some of the quantified elements of the first feature vector.

상기 인덱싱하는 단계는, 사전 설정된 정량화 요소(Quantization factor)에 기초하여 상기 제 1 특징 벡터의 원소를 정량화하고, 상기 정량화된 상기 제 1 특징 벡터의 원소 중 기 설정된 기준을 만족하는 원소를 연결하여 상기 제 2 특징 벡터를 생성할 수 있다.The indexing may include quantifying elements of the first feature vector based on a preset quantization factor, and connecting elements that satisfy a preset criterion among the quantified elements of the first feature vector to determine the indexing of the first feature vector. A second feature vector may be generated.

상기 정량화 요소는 하기 수학식을 만족할 수 있다.The quantification factor may satisfy the following equation.

(수학식)(mathematical expression)

Figure pat00006
Figure pat00006

Figure pat00007
: 상기 제 1 특징 벡터의 i(이때, i는 1≤j≤N을 만족하는 정수, N은 상기 제1 벡터의 차원)번째 차원의 원소를 정량화하기 위한 정량화 요소
Figure pat00007
: Quantification element for quantifying the element of the i-th dimension of the first feature vector (where i is an integer satisfying 1≤j≤N, and N is the dimension of the first vector)

Figure pat00008
: 자연로그
Figure pat00008
: natural logarithm

Figure pat00009
: 특징 벡터의 차원
Figure pat00009
: Dimensions of feature vectors

Figure pat00010
: 상기 i번째 차원의 원소
Figure pat00010
: element of the i-th dimension

상기 제어하는 단계는, 가중 라운드로빈 방식(Weighted Round Robin Method)에 기초하여 상기 인덱싱 및 상기 순위 결정 중 적어도 하나에 대한 로드 분산을 제어할 수 있다.The controlling may control load distribution for at least one of the indexing and the ranking based on a weighted round robin method.

상기 영상 인덱싱 방법은, TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 상기 인덱싱 된 제 2 특징 벡터 및 상기 사용자의 쿼리에 대한 특징 벡터 사이의 유사도를 계산하고, 상기 계산된 유사도에 기초하여 상기 사용자의 쿼리에 대한 영상을 검색하는 단계를 더 포함할 수 있다.The image indexing method calculates a similarity between the indexed second feature vector and the feature vector for the user's query using TF-IDF (Term Frequency-Inverse Document Frequency), and based on the calculated similarity, The method may further include retrieving an image corresponding to the user's query.

개시되는 실시예들에 따르면, 영상 정보를 특징 벡터의 원소를 정수화하여 재정렬하고, 특징 벡터의 일부 원소를 제거함으로써, 영상에 담겨 있는 중요한 정보는 보존하고 덜 중요한 정보를 제거하여 인덱싱 및 검색에 소요되는 계산 비용을 줄일 수 있다. According to the disclosed embodiments, image information is rearranged by integerizing the elements of the feature vector, and some elements of the feature vector are removed, thereby preserving important information contained in the image and removing less important information to be indexed and searched. can reduce the computational cost.

개시되는 실시예들에 따르면, 영상 정보에서 추출된 특징 벡터를 이용하여 TF-IDF의 유사성을 측정함으로써, 복수의 영상 사이의 유사도를 측정할 수 있다.According to the disclosed embodiments, the similarity between a plurality of images may be measured by measuring the similarity of TF-IDF using feature vectors extracted from image information.

도 1은 일 실시예에 따른 영상 인덱싱 장치를 설명하기 위한 블록도이다.
도 2는 일 실시예에 따른 인덱싱 방법을 설명하기 위한 수도 코드(pseudocode)의 예시도이다.
도 3은 일 실시예에 따른 특징 벡터 생성 방법을 설명하기 위한 수도 코드(pseudocode)의 예시도이다.
도 4는 일 실시예에 따른 특징 벡터 생성 과정을 나타낸 그래프의 예시도이다.
도 5는 일 실시예에 따른 영상 인덱싱 방법을 설명하기 위한 순서도이다.
도 6은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.
1 is a block diagram illustrating an image indexing apparatus according to an exemplary embodiment.
2 is an exemplary diagram of a pseudocode for explaining an indexing method according to an exemplary embodiment.
3 is an exemplary diagram of pseudocode for explaining a feature vector generation method according to an exemplary embodiment.
4 is an exemplary view of a graph illustrating a feature vector generation process according to an embodiment.
5 is a flowchart illustrating an image indexing method according to an exemplary embodiment.
6 is a block diagram illustrating a computing environment including a computing device according to an exemplary embodiment.

이하, 도면을 참조하여 구체적인 실시 형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 개시되는 실시예들은 이에 제한되지 않는다.Hereinafter, specific embodiments will be described with reference to the drawings. The detailed descriptions that follow are provided to provide a comprehensive understanding of the methods, devices and/or systems described herein. However, this is only an example and disclosed embodiments are not limited thereto.

실시예들을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 개시되는 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 개시되는 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the disclosed embodiments, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the disclosed embodiments, which may vary according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout this specification. Terminology used in the detailed description is merely for describing the embodiments and should in no way be limiting. Unless expressly used otherwise, singular forms of expression include plural forms. In this description, expressions such as "comprising" or "comprising" are intended to indicate any characteristic, number, step, operation, element, portion or combination thereof, one or more other than those described. It should not be construed to exclude the existence or possibility of any other feature, number, step, operation, element, part or combination thereof.

도 1은 일 실시예에 따른 영상 인덱싱 장치를 설명하기 위한 블록도이다.1 is a block diagram illustrating an image indexing apparatus according to an exemplary embodiment.

일 실시예에 따른 영상 인덱싱 장치(100)는 영상을 분석하여 영상에 담긴 중요 정보를 보존하고, 중요하지 않은 정보가 제거된 특징 벡터를 이용하여 영상 빅데이터 검색을 위해 특징 벡터를 인덱싱한다. The image indexing apparatus 100 according to an embodiment analyzes an image, preserves important information included in the image, and indexes the feature vector for image big data search using a feature vector from which unimportant information has been removed.

구체적으로, 일 실시예에 따르면 영상 인덱싱 장치(100)는 빅데이터 처리를 위한 통합 엔진 분석이 가능한 예를 들어, Apache Spark 위에서 구현될 수 있다. Specifically, according to an embodiment, the image indexing device 100 may be implemented on Apache Spark, for example, capable of analyzing an integrated engine for big data processing.

도시된 바와 같이, 일 실시예에 따른 영상 인덱싱 장치(100)는 인덱싱부(110), 쿼리 관리부(120) 및 로드 밸런싱부(130)를 포함한다. As shown, the image indexing apparatus 100 according to an embodiment includes an indexing unit 110, a query management unit 120, and a load balancing unit 130.

인덱싱부(110)는 입력된 영상에 대한 특징 배치(feature batch)를 획득하고, 획득한 특징 배치로부터 제 1 특징 벡터 및 메타데이터를 추출하고, 제 1 특징 벡터의 원소 중 일부를 연결하여 제 2 특징 벡터를 생성하고, 제 2 특징 벡터 및 메타 데이터를 패키징하여 제 2 특징 벡터를 인덱싱한다.The indexing unit 110 obtains a feature batch for the input image, extracts a first feature vector and metadata from the obtained feature batch, connects some of the elements of the first feature vector, and then obtains a second feature batch. A feature vector is generated, and the second feature vector is indexed by packaging the second feature vector and metadata.

일 실시예에 따르면, 인덱싱부(110)는 영상에 대한 특징 배치를 인덱싱할 수 있다.According to an embodiment, the indexing unit 110 may index a feature arrangement of an image.

구체적으로, 일 실시예에 따르면, 인덱싱부(110)는 클라우드에서 실행 중인 다양한 영상 분석 서비스를 포함하는 서비스 풀(Service Pool)을 통해 영상 데이터를 획득할 수 있다. Specifically, according to an embodiment, the indexing unit 110 may obtain image data through a service pool including various image analysis services running in the cloud.

이때, 서비스 풀은 클라우드를 통해 연결된 소스, 예를 들어, IPCAM, 스마트폰, 드론 등으로부터 영상 데이터를 획득하여 영상 분석 작업을 수행할 수 있다. At this time, the service pool may perform an image analysis task by obtaining image data from a source connected through the cloud, for example, IPCAM, a smartphone, a drone, and the like.

일 실시예에 따르면, 인덱싱부(110)는 서비스 풀로부터 획득한 영상 데이터를 디코딩하여 JSON(JavaScript Object Notation)을 통해 속성 값 쌍의 형태로 표현된 특징 배치를 획득할 수 있다. According to an embodiment, the indexing unit 110 may decode image data acquired from the service pool to obtain a feature arrangement expressed in the form of a property value pair through JSON (JavaScript Object Notation).

도 2는 일 실시예에 따른 인덱싱 방법을 설명하기 위한 수도 코드(pseudocode)의 예시도이다.2 is an exemplary diagram of a pseudocode for explaining an indexing method according to an exemplary embodiment.

구체적으로, 도 2는 인덱싱부(130)에 의해 수행되는 특징 배치 획득 및 인덱싱 과정을 포함한 알고리즘 1을 도시한다. Specifically, FIG. 2 shows Algorithm 1 including a process of obtaining a feature arrangement and indexing performed by the indexing unit 130 .

도 2를 참조하면, 알고리즘 1(200)은 알고리즘 1을 수행하기 위한 입출력 정보 및 파라미터(210), 영상 데이터 디코딩 함수(220), 영상 데이터 변환 함수(230), 병렬 처리를 위한 맵핑 함수(240) 및 일괄 인덱싱을 위한 파티션 함수(250)를 포함한다. Referring to FIG. 2, Algorithm 1 (200) includes input/output information and parameters 210 for performing Algorithm 1, an image data decoding function 220, an image data conversion function 230, and a mapping function 240 for parallel processing. ) and a partition function 250 for batch indexing.

먼저, 인덱싱부(130)는 영상 데이터 디코딩 함수(220)를 통해 영상 데이터를 디코딩하여 특징 벡터 및 메타 데이터를 추출할 수 있다. First, the indexing unit 130 may decode image data through the image data decoding function 220 to extract feature vectors and meta data.

이후, 인덱싱부(130)는 영상 데이터 변환 함수(230)를 통해 빅 데이터 처리 서비스에서 제공하는 기본 단위 예를 들어, RDD(Resilient Distributed Dataset, Apache Spark에서 사용되는 기본 데이터 구조)로 변환할 수 있다.Thereafter, the indexing unit 130 may convert the image data into a basic unit provided by a big data processing service, for example, RDD (Resilient Distributed Dataset, a basic data structure used in Apache Spark) through the image data conversion function 230. .

이후, 인덱싱부(130)는 병렬 처리를 위한 맵핑 함수(240)를 통해 변환된 RDDf에서 특징 벡터, 메타데이터를 패키징(packaging)하여 RDDp로 맵핑할 수 있다.Thereafter, the indexing unit 130 may package feature vectors and metadata in the converted RDDf through the mapping function 240 for parallel processing and map them to RDDp.

이후, 인덱싱부(130)는 파티션 함수(250)를 통해 파티션별로 RDDp를 맵핑함으로써, 파티션별로 RDD를 일괄 인덱싱하여 네트워크 트래픽을 줄일 수 있다.Thereafter, the indexing unit 130 may reduce network traffic by collectively indexing RDDs for each partition by mapping RDDp for each partition through the partition function 250 .

한편, 일 실시예에 따르면, 인덱싱부(110)는 사전 설정된 정량화 요소(Quantization factor)에 기초하여 상기 제 1 특징 벡터의 원소를 정량화하고, 정량화된 제 1 특징 벡터의 원소 중 기 설정된 기준을 만족하는 원소를 연결(concatenate)하여 제 2 특징 벡터를 생성할 수 있다.Meanwhile, according to an embodiment, the indexing unit 110 quantifies elements of the first feature vector based on a preset quantization factor, and satisfies a preset criterion among the quantified elements of the first feature vector. A second feature vector may be generated by concatenating the elements.

도 3은 일 실시예에 따른 특징 벡터 생성 방법을 설명하기 위한 수도 코드(pseudocode)의 예시도이다.3 is an exemplary diagram of pseudocode for explaining a feature vector generation method according to an exemplary embodiment.

구체적으로, 도 3은 인덱싱부(130)에 의해 수행되는 특징 벡터 생성 알고리즘 2를 도시한다. Specifically, FIG. 3 shows feature vector generation algorithm 2 performed by the indexing unit 130 .

도 3을 참조하면, 알고리즘 2(300)는 알고리즘 2를 수행하기 위한 입출력 정보 및 초기화 함수(310), 특징 벡터 정량화 함수(320) 및 특징 벡터 생성 함수(330)를 포함한다. Referring to FIG. 3 , Algorithm 2 (300) includes input/output information for performing Algorithm 2, an initialization function 310, a feature vector quantification function 320, and a feature vector generating function 330.

먼저, 인덱싱부(130)는 특징 벡터 정량화 함수(320)를 통해 사전 설정된 정량화 요소(Quantization factor)에 기초하여 상기 제 1 특징 벡터의 원소를 정수로 정량화할 수 있다. First, the indexing unit 130 may quantify elements of the first feature vector into integers based on a quantization factor preset through the feature vector quantization function 320 .

일 실시예에 다르면 사전 설정된 정량화 요소(Quantization factor (Q))는 알고리즘 1의 특징 벡터 정량화 함수(320)에 포함된 pfd

Figure pat00011
를 의미할 수 있다. According to an embodiment, the preset quantization factor (Q) is pfd included in the feature vector quantification function 320 of Algorithm 1.
Figure pat00011
can mean

정량화 요소의 고정 상수 값을 e2으로 대체하고, 특징 벡터 차수의 log 를 사용함으로써, '0'에 가까운 특징 벡터의 값들로 인해 발생하는 빈 인코딩으로 인한 영상의 누락되는 것을 방지 할 수 있다.By replacing the fixed constant value of the quantification factor with e 2 and using the log of the order of the feature vector, it is possible to prevent image omission due to bin encoding caused by feature vector values close to '0'.

이후, 인덱싱부(130)는 특징 벡터 생성 함수(330)를 통해 정량화된 제 1 특징의 원소에 기초하여 제 1 특징 벡터의 원소 중 '0'을 만족하는 일부 원소를 제거하고, 일부 원소가 제거된 제1 특징 벡터를 연결하여 차원 축소된 제 2 특징 벡터를 생성할 수 있다.Thereafter, the indexing unit 130 removes some elements satisfying '0' among the elements of the first feature vector based on the elements of the first feature quantified through the feature vector generation function 330, and some elements are removed. A dimensionally reduced second feature vector may be generated by concatenating the first feature vectors.

이때, 기 설정된 기준은 특징 벡터의 원소가 '0'이 아닌 것을 의미할 수 있다.In this case, the predetermined criterion may mean that an element of the feature vector is not '0'.

특징 벡터 생성 함수(330)는 정량화된 제 1 특징 벡터를 정렬하는 Soft(tfv) 함수, 정량화된 제1 특징 벡터의 원소가 '0'인 원소를 제거하는 Prune(tsvp) 함수, 문자열을 Hex로 변환하는 ToHex(v) 및 정량화된 제 1 특징 벡터의 원소가 '0'인 일부 원소가 제외된 제 1 특징 벡터를 연결하는 ToSeries(hd, v), Concat(FV, ec) 함수를 포함할 수 있다. The feature vector generation function 330 includes a Soft(tfv) function for sorting the quantified first feature vector, a Prune(tsvp) function for removing elements having '0' elements of the quantified first feature vector, and converting a character string into Hex. It may include ToHex(v) that converts and ToSeries(hd, v), Concat(FV, ec) functions that connect the first feature vector from which some elements of which elements of the quantified first feature vector are '0' are excluded. there is.

도 4는 일 실시예에 따른 특징 벡터 생성 과정을 나타낸 그래프의 예시도이다.4 is an exemplary view of a graph illustrating a feature vector generation process according to an embodiment.

도 4에서는 설명의 편이 위해 제 1 특징 벡터, f = {0.9, 0.4, 1.6, 0.8, 1.4, 0.3, 0.8, 0.5, 0.2, 1.5}인 것으로 가정하여 설명한다. In FIG. 4, for convenience of description, it is assumed that the first feature vector, f = {0.9, 0.4, 1.6, 0.8, 1.4, 0.3, 0.8, 0.5, 0.2, 1.5}.

도 4의 (a)는 제 1 특징 벡터의 원소를 나타낸 그래프이다. 4(a) is a graph showing the elements of the first feature vector.

도 4의 (b)는 제 1 특징 벡터의 원소를 정량화한 결과를 나타낸 그래프이다. 4(b) is a graph showing the result of quantifying the elements of the first feature vector.

제1 특징 벡터의 원소을 정량화하기 위한 정량화 요소는 하기 수학식 1로 나타낼 수 있다. A quantification factor for quantifying an element of the first feature vector may be represented by Equation 1 below.

Figure pat00012
Figure pat00012

Figure pat00013
: 상기 제1 벡터의 i(이때, i는 1≤j≤N을 만족하는 정수, N은 상기 제1 벡터의 차원)번째 차원의 원소를 정량화하기 위한 정량화 요소
Figure pat00013
: Quantification element for quantifying the element of the i-th dimension of the first vector (where i is an integer satisfying 1≤j≤N, and N is the dimension of the first vector)

Figure pat00014
: 자연로그
Figure pat00014
: natural logarithm

Figure pat00015
: 특징 벡터의 차원
Figure pat00015
: Dimensions of feature vectors

Figure pat00016
: 상기 i번째 차원의 원소
Figure pat00016
: element of the i-th dimension

도 4의 (c)는 정량화된 제 1 특징 벡터의 원소를 정렬(Sorting)한 결과를 나타낸 그래프이다. 4(c) is a graph showing a result of sorting the elements of the quantified first feature vector.

도 4의 (d)는 정렬된 특징 벡터 값에 기초하여 제 1 특징 벡터의 원소 중 특징 벡터 원소가 '0'인 일부 원소를 제거한 결과를 나타낸 그래프이다.4(d) is a graph showing the result of removing some elements having feature vector elements of '0' among the elements of the first feature vector based on the sorted feature vector values.

쿼리 관리부(130)는 사용자의 쿼리를 획득하고, 획득된 사용자의 쿼리 및 인덱싱된 제 2 특징 벡터에 기초하여 획득된 사용자의 쿼리에 대한 순위를 결정한다.The query management unit 130 obtains a user's query and determines a rank for the obtained user's query based on the obtained user's query and the indexed second feature vector.

로드 밸런싱부(140)는 사전 설정된 주기마다 인덱싱 및 순위 결정에 대한 로드 분산을 제어한다. The load balancing unit 140 controls load distribution for indexing and ranking at each preset period.

일 실시예에 따르면, 로드 밸런싱부(140)는 가중 라운드로빈 방식(Weighted Round Robin Method)에 기초하여 인덱싱 및 순위 결정 중 적어도 하나에 대한 로드 분산을 제어할 수 있다. According to an embodiment, the load balancer 140 may control load distribution for at least one of indexing and ranking based on a weighted round robin method.

이때, 가중 라운드로빈 방식은 인덱싱부 및 쿼리 관리부 각각 마다 가중치를 설정하고, 가중치가 높은 곳을 우선 순위를 매기는 방식을 의미한다. 주로 분산 대상 주체의 트래픽 처리 능력이 상이한 경우 적용될 수 있다. In this case, the weighted round robin method means a method in which weights are set for each of the indexing unit and the query management unit, and priorities are given to places with high weights. Mainly, it can be applied when the traffic processing capability of the subject to be distributed is different.

한편, 일 실시예에 따르면, 영상 인덱싱 장치(100)는 영상 검색부(미도시)를 더 포함할 수 있다. Meanwhile, according to an embodiment, the image indexing apparatus 100 may further include an image search unit (not shown).

구체적으로, 일 실시예에 따르면, 영상 검색부는 청구항 1에 있어서, TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 상기 제 2 특징 벡터 및 상기 사용자의 쿼리에 대한 특징 벡터 사이의 유사도를 계산하고, 상기 계산된 유사도에 기초하여 상기 사용자의 쿼리에 대한 영상을 검색할 수 있다. Specifically, according to an embodiment, the image search unit according to claim 1, calculates a similarity between the second feature vector and the feature vector for the user's query using TF-IDF (Term Frequency-Inverse Document Frequency) And, based on the calculated similarity, an image corresponding to the user's query may be searched.

이때, TF-IDF 유사도는 수학식 2를 통해 계산될 수 있다.At this time, the TF-IDF similarity may be calculated through Equation 2.

Figure pat00017
Figure pat00017

Figure pat00018
: TF-IDF 유사도
Figure pat00018
: TF-IDF similarity

Figure pat00019
: 인덱싱 된 제 2 특징 벡터
Figure pat00019
: indexed second feature vector

Figure pat00020
: 사용자의 쿼리에 대한 특징 벡터
Figure pat00020
: the feature vector for the user's query

도 5는 일 실시예에 따른 영상 인덱싱 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating an image indexing method according to an exemplary embodiment.

도 5에 도시된 방법은 예를 들어, 전술한 영상 인덱싱 장치(100)에 의해 수행될 수 있다. The method shown in FIG. 5 may be performed by, for example, the above-described image indexing apparatus 100 .

510 단계에서, 영상 인덱싱 장치(100)는 입력된 영상에 대한 특징 배치(feature batch)를 획득하고, 획득한 특징 배치로부터 제 1 특징 벡터 및 메타데이터를 추출하고, 제 1 특징 벡터의 원소 중 일부를 연결하여 제 2 특징 벡터를 생성하고, 제 2 특징 벡터 및 상기 메타 데이터를 패키징하여 제 2 특징 벡터를 인덱싱한다.In step 510, the image indexing apparatus 100 acquires a feature batch for the input image, extracts a first feature vector and metadata from the acquired feature batch, and extracts some of the elements of the first feature vector. is connected to generate a second feature vector, and the second feature vector is indexed by packaging the second feature vector and the meta data.

520 단계에서, 영상 인덱싱 장치(100)는 사용자의 쿼리를 획득하고, 획득된 사용자의 쿼리 및 인덱싱된 제 2 특징 벡터에 기초하여 획득된 사용자의 쿼리에 대한 순위를 결정한다.In step 520, the video indexing apparatus 100 obtains the user's query and determines a rank for the obtained user's query based on the obtained user's query and the indexed second feature vector.

530 단계에서, 영상 인덱싱 장치(100)는 사전 설정된 주기마다 인덱싱 및 순위 결정에 대한 로드 분산을 제어한다.In step 530, the image indexing apparatus 100 controls load distribution for indexing and ranking determination at each preset period.

도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.In the illustrated flowchart, the method is divided into a plurality of steps, but at least some of the steps are performed in reverse order, combined with other steps, performed together, omitted, divided into detailed steps, or not shown. One or more steps may be added and performed.

도 6은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.6 is a block diagram illustrating a computing environment including a computing device according to an exemplary embodiment.

도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.In the illustrated flowchart, the method is divided into a plurality of steps, but at least some of the steps are performed in reverse order, combined with other steps, performed together, omitted, divided into detailed steps, or not shown. One or more steps may be added and performed.

도 6은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.6 is a block diagram illustrating and describing a computing environment 10 including a computing device according to an exemplary embodiment. In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components other than those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 영상 인덱싱 장치(100)일 수 있다.The illustrated computing environment 10 includes a computing device 12 . In one embodiment, computing device 12 may be image indexing device 100 .

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.Computing device 12 includes at least one processor 14 , a computer readable storage medium 16 and a communication bus 18 . Processor 14 may cause computing device 12 to operate according to the above-mentioned example embodiments. For example, processor 14 may execute one or more programs stored on computer readable storage medium 16 . The one or more programs may include one or more computer-executable instructions, which when executed by processor 14 are configured to cause computing device 12 to perform operations in accordance with an illustrative embodiment. It can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. Program 20 stored on computer readable storage medium 16 includes a set of instructions executable by processor 14 . In one embodiment, computer readable storage medium 16 includes memory (volatile memory such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, other forms of storage media that can be accessed by computing device 12 and store desired information, or any suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communications bus 18 interconnects various other components of computing device 12, including processor 14 and computer-readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24 . An input/output interface 22 and a network communication interface 26 are connected to the communication bus 18 . Input/output device 24 may be coupled to other components of computing device 12 via input/output interface 22 . Exemplary input/output devices 24 include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touchscreen), a voice or sound input device, various types of sensor devices, and/or a photographing device. input devices, and/or output devices such as display devices, printers, speakers, and/or network cards. The exemplary input/output device 24 may be included inside the computing device 12 as a component constituting the computing device 12, or may be connected to the computing device 12 as a separate device distinct from the computing device 12. may be

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Meanwhile, embodiments of the present invention may include a program for performing the methods described in this specification on a computer, and a computer readable recording medium including the program. The computer readable recording medium may include program instructions, local data files, local data structures, etc. alone or in combination. The media may be specially designed and configured for the present invention, or may be commonly available in the field of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and specially configured to store and execute program instructions such as ROM, RAM, and flash memory. Hardware devices are included. Examples of the program may include not only machine language codes generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter.

이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.Although representative embodiments of the present invention have been described in detail above, those skilled in the art will understand that various modifications are possible to the above-described embodiments without departing from the scope of the present invention. . Therefore, the scope of the present invention should not be limited to the described embodiments and should not be defined, and should be defined by not only the claims to be described later, but also those equivalent to these claims.

10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 영상 인덱싱 장치
110: 인덱싱부
120: 쿼리 관리부
130: 로드 밸런싱부
10: Computing environment
12: computing device
14: Processor
16: computer readable storage medium
18: communication bus
20: program
22: I/O interface
24: I/O device
26: network communication interface
100: image indexing device
110: indexing unit
120: query management unit
130: load balancing unit

Claims (12)

입력된 영상에 대한 특징 배치(feature batch)를 획득하고, 상기 획득한 특징 배치로부터 제 1 특징 벡터 및 메타데이터를 추출하고, 상기 제 1 특징 벡터의 원소 중 일부를 연결하여 제 2 특징 벡터를 생성하고, 상기 제 2 특징 벡터 및 상기 메타 데이터를 패키징하여 상기 제 2 특징 벡터를 인덱싱하는 인덱싱부;
사용자의 쿼리를 획득하고, 상기 획득된 사용자의 쿼리 및 상기 인덱싱된 제 2 특징 벡터에 기초하여 상기 획득된 사용자의 쿼리에 대한 순위를 결정하는 쿼리 관리부; 및
사전 설정된 주기마다 상기 인덱싱 및 상기 순위 결정에 대한 로드 분산을 제어하는 로드 밸런싱부를 포함하는, 영상 인덱싱 장치.
A feature batch of an input image is acquired, a first feature vector and metadata are extracted from the acquired feature batch, and a second feature vector is generated by connecting some elements of the first feature vector. and an indexing unit for indexing the second feature vector by packaging the second feature vector and the meta data;
a query management unit that obtains a user's query and determines a rank for the obtained user's query based on the obtained user's query and the indexed second feature vector; and
And a load balancing unit for controlling load distribution for the indexing and the ranking for each predetermined period.
청구항 1에 있어서,
상기 인덱싱부는,
상기 제 1 특징 벡터의 원소를 정량화한 후, 상기 정량화된 제 1 특징 벡터의 원소 중 일부를 연결하여 상기 제 2 특징 벡터를 생성하는, 영상 인덱싱 장치
The method of claim 1,
The indexing unit,
After quantifying the elements of the first feature vector, some of the elements of the quantified first feature vector are connected to generate the second feature vector, an image indexing device
청구항 2에 있어서,
상기 인덱싱부는,
사전 설정된 정량화 요소(Quantization factor)에 기초하여 상기 제 1 특징 벡터의 원소를 정량화하고, 상기 정량화된 제 1 특징 벡터의 원소 중 기 설정된 기준을 만족하는 원소를 연결하여 상기 제 2 특징 벡터를 생성하는, 영상 인덱싱 장치.
The method of claim 2,
The indexing unit,
quantifying the elements of the first feature vector based on a preset quantization factor, and generating the second feature vector by connecting elements satisfying a preset criterion among the elements of the quantified first feature vector; , image indexing device.
청구항 3에 있어서,
상기 정량화 요소는 하기 수학식을 만족하는, 영상 인덱싱 장치.
(수학식)
Figure pat00021

Figure pat00022
: 상기 제1 특징 벡터의 i(이때, i는 1≤j≤N을 만족하는 정수, N은 상기 제1 벡터의 차원)번째 차원의 원소를 정량화하기 위한 정량화 요소
Figure pat00023
: 자연로그
Figure pat00024
: 특징 벡터의 차원
Figure pat00025
: 상기 i번째 차원의 원소
The method of claim 3,
The quantification factor satisfies the following equation, the image indexing device.
(mathematical expression)
Figure pat00021

Figure pat00022
: Quantification element for quantifying the element of the i-th dimension of the first feature vector (where i is an integer satisfying 1≤j≤N, and N is the dimension of the first vector)
Figure pat00023
: natural logarithm
Figure pat00024
: Dimensions of feature vectors
Figure pat00025
: element of the i-th dimension
청구항 1에 있어서,
상기 로드 밸런싱부는, 가중 라운드로빈 방식(Weighted Round Robin Method)에 기초하여 상기 인덱싱 및 상기 순위 결정 중 적어도 하나에 대한 로드 분산을 제어하는, 영상 인덱싱 장치.
The method of claim 1,
The load balancing unit controls load distribution for at least one of the indexing and the ranking based on a weighted round robin method.
청구항 1에 있어서,
TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 상기 인덱싱 된 제 2 특징 벡터 및 상기 사용자의 쿼리에 대한 특징 벡터 사이의 유사도를 계산하고, 상기 계산된 유사도에 기초하여 상기 사용자의 쿼리에 대한 영상을 검색하는 영상 검색부를 더 포함하는, 영상 인덱싱 장치.
The method of claim 1,
A similarity between the indexed second feature vector and the feature vector for the user's query is calculated using TF-IDF (Term Frequency-Inverse Document Frequency), and based on the calculated similarity, for the user's query An image indexing apparatus further comprising an image search unit for searching an image.
하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
입력된 영상에 대한 특징 배치(feature batch)를 획득하고, 상기 획득한 특징 배치로부터 제 1 특징 벡터 및 메타데이터를 추출하고, 상기 제 1 특징 벡터의 원소 중 일부를 연결하여 제 2 특징 벡터를 생성하고, 상기 제 2 특징 벡터 및 상기 메타 데이터를 패키징하여 상기 제 2 특징 벡터를 인덱싱하는 단계;
사용자의 쿼리를 획득하고, 상기 획득된 사용자의 쿼리 및 상기 인덱싱된 제 2 특징 벡터에 기초하여 상기 획득된 사용자의 쿼리에 대한 순위를 결정하는 단계; 및
사전 설정된 주기마다 상기 인덱싱 및 상기 순위 결정에 대한 로드 분산을 제어하는 단계를 포함하는, 영상 인덱싱 방법.
one or more processors; and
A method performed in a computing device having a memory storing one or more programs executed by the one or more processors,
A feature batch of an input image is acquired, a first feature vector and metadata are extracted from the acquired feature batch, and a second feature vector is generated by connecting some elements of the first feature vector. and indexing the second feature vector by packaging the second feature vector and the meta data;
obtaining a user's query and determining a rank for the obtained user's query based on the obtained user's query and the indexed second feature vector; and
And controlling the load distribution for the indexing and the ranking at every preset period.
청구항 7에 있어서,
상기 인덱싱하는 단계는,
상기 제 1 특징 벡터의 원소를 정량화한 후, 상기 정량화된 제 1 특징 벡터의 원소 중 일부를 연결하여 차원 축소된 제 2 특징 벡터를 생성하는, 영상 인덱싱 방법.
The method of claim 7,
In the indexing step,
After quantifying the elements of the first feature vector, some of the elements of the quantified first feature vector are connected to generate a dimensionally reduced second feature vector.
청구항 8에 있어서,
상기 인덱싱하는 단계는,
사전 설정된 정량화 요소(Quantization factor)에 기초하여 상기 제 1 특징 벡터의 원소를 정량화하고, 상기 정량화된 상기 제 1 특징 벡터의 원소 중 기 설정된 기준을 만족하는 원소를 연결하여 상기 제 2 특징 벡터를 생성하는, 영상 인덱싱 방법.
The method of claim 8,
In the indexing step,
Elements of the first feature vector are quantified based on a preset quantization factor, and elements satisfying a preset criterion are connected among the quantified elements of the first feature vector to generate the second feature vector. , image indexing method.
청구항 9에 있어서,
상기 정량화 요소는 하기 수학식을 만족하는, 영상 인덱싱 방법.
(수학식)
Figure pat00026

Figure pat00027
: 상기 제 1 특징 벡터의 i(이때, i는 1≤j≤N을 만족하는 정수, N은 상기 제1 벡터의 차원)번째 차원의 원소를 정량화하기 위한 정량화 요소
Figure pat00028
: 자연로그
Figure pat00029
: 특징 벡터의 차원
Figure pat00030
: 상기 i 번째 차원의 원소
The method of claim 9,
The quantification factor satisfies the following equation, image indexing method.
(mathematical expression)
Figure pat00026

Figure pat00027
: Quantification element for quantifying the element of the i-th dimension of the first feature vector (where i is an integer satisfying 1≤j≤N, and N is the dimension of the first vector)
Figure pat00028
: natural logarithm
Figure pat00029
: Dimensions of feature vectors
Figure pat00030
: element of the i-th dimension
청구항 7에 있어서,
상기 제어하는 단계는, 가중 라운드로빈 방식(Weighted Round Robin Method)에 기초하여 상기 인덱싱 및 상기 순위 결정 중 적어도 하나에 대한 로드 분산을 제어하는, 영상 인덱싱 방법.
The method of claim 7,
The controlling step controls load distribution for at least one of the indexing and the ranking based on a weighted round robin method.
청구항 7에 있어서,
TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 상기 인덱싱 된 제 2 특징 벡터 및 상기 사용자의 쿼리에 대한 특징 벡터 사이의 유사도를 계산하고, 상기 계산된 유사도에 기초하여 상기 사용자의 쿼리에 대한 영상을 검색하는 단계를 더 포함하는, 영상 인덱싱 방법.
The method of claim 7,
A similarity between the indexed second feature vector and the feature vector for the user's query is calculated using TF-IDF (Term Frequency-Inverse Document Frequency), and based on the calculated similarity, for the user's query An image indexing method, further comprising retrieving an image.
KR1020210110288A 2021-08-20 2021-08-20 Apparatus and method for indexing of video KR20230027945A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210110288A KR20230027945A (en) 2021-08-20 2021-08-20 Apparatus and method for indexing of video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210110288A KR20230027945A (en) 2021-08-20 2021-08-20 Apparatus and method for indexing of video

Publications (1)

Publication Number Publication Date
KR20230027945A true KR20230027945A (en) 2023-02-28

Family

ID=85326910

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210110288A KR20230027945A (en) 2021-08-20 2021-08-20 Apparatus and method for indexing of video

Country Status (1)

Country Link
KR (1) KR20230027945A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100359234B1 (en) 1999-07-06 2002-11-01 학교법인 한국정보통신학원 Method for constructing and retrievalling a data base of a medical image by using a content-based indexing technique and recording medium thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100359234B1 (en) 1999-07-06 2002-11-01 학교법인 한국정보통신학원 Method for constructing and retrievalling a data base of a medical image by using a content-based indexing technique and recording medium thereof

Similar Documents

Publication Publication Date Title
JP7164729B2 (en) CROSS-MODAL INFORMATION SEARCH METHOD AND DEVICE THEREOF, AND STORAGE MEDIUM
KR102151328B1 (en) Order clustering and method and device to combat malicious information
WO2019232099A1 (en) Neural architecture search for dense image prediction tasks
US8559731B2 (en) Personalized tag ranking
US20160127388A1 (en) Similarity search and malware prioritization
US9202255B2 (en) Identifying multimedia objects based on multimedia fingerprint
KR101481253B1 (en) Method and system for providing summery of text document using word cloud
JP2022510704A (en) Cross-modal information retrieval methods, devices and storage media
US11074310B2 (en) Content-based management of links to resources
CN113361578B (en) Training method and device for image processing model, electronic equipment and storage medium
KR102021057B1 (en) Apparatus and method for extracting paragraph in document
CN110362663B (en) Adaptive multi-perceptual similarity detection and analysis
KR102334236B1 (en) Method and application of meaningful keyword extraction from speech-converted text data
KR101877161B1 (en) Method for context-aware recommendation by considering contextual information of document and apparatus for the same
US20210279279A1 (en) Automated graph embedding recommendations based on extracted graph features
CN111695349A (en) Text matching method and text matching system
CN110750615B (en) Text repeatability judgment method and device, electronic equipment and storage medium
KR102334255B1 (en) Text data collection platform construction and integrated management method for AI-based voice service
CN110210038B (en) Core entity determining method, system, server and computer readable medium thereof
CN110046279B (en) Video file feature prediction method, medium, device and computing equipment
CN110147223B (en) Method, device and equipment for generating component library
CN113536763A (en) Information processing method, device, equipment and storage medium
KR20210111677A (en) Method for clipping neural networks, method for calculating convolution of neural networks and apparatus for performing the methods
KR101772333B1 (en) INTELLIGENT JOIN TECHNIQUE PROVIDING METHOD AND SYSTEM BETWEEN HETEROGENEOUS NoSQL DATABASES
KR20230027945A (en) Apparatus and method for indexing of video

Legal Events

Date Code Title Description
E902 Notification of reason for refusal