KR102201390B1 - 이미지 검색 방법 및 장치 - Google Patents

이미지 검색 방법 및 장치 Download PDF

Info

Publication number
KR102201390B1
KR102201390B1 KR1020190114720A KR20190114720A KR102201390B1 KR 102201390 B1 KR102201390 B1 KR 102201390B1 KR 1020190114720 A KR1020190114720 A KR 1020190114720A KR 20190114720 A KR20190114720 A KR 20190114720A KR 102201390 B1 KR102201390 B1 KR 102201390B1
Authority
KR
South Korea
Prior art keywords
image
graph
subgraphs
nodes
subgraph
Prior art date
Application number
KR1020190114720A
Other languages
English (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 KR1020190114720A priority Critical patent/KR102201390B1/ko
Application granted granted Critical
Publication of KR102201390B1 publication Critical patent/KR102201390B1/ko

Links

Images

Classifications

    • 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/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • G06K9/00624
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

컴퓨팅 장치의 이미지 검색 방법이 제공된다. 컴퓨팅 장치는 질의문 또는 질의 이미지를 분석하여 복수의 제1 노드를 가지는 제1 그래프를 생성하고, 제1 그래프로부터 복수의 제1 서브그래프를 샘플링한다. 복수의 이미지를 포함하는 이미지 세트의 각 이미지에 대해서 복수의 제2 노드를 가지는 제2 그래프가 샘플링되고, 제2 그래프로부터 복수의 제2 서브그래프가 샘플링되어 있다. 컴퓨팅 장치는 각 이미지에 대해서 생성된 복수의 제2 서브그래프와 복수의 제1 서브그래프 사이의 유사도를 계산하고, 복수의 이미지 중에서 유사도가 가장 높은 이미지를 출력한다.

Description

이미지 검색 방법 및 장치{IMAGE RETRIEVAL METHOD AND APPARATUS}
본 발명은 이미지 검색 방법 및 장치에 관한 것이다.
현재 입력된 문장 또는 이미지에 대응하는 이미지를 검색하는 기술이 제안되고 있다. 이미지 검색 기술의 한 예로 이미지에 붙어 있는 태그 정보를 기초로 동일 또는 유사한 태그 정보를 가지는 이미지를 검색하는 방법이 있다. 이미지 검색 기술의 다른 예로 기계 학습을 통해 이미지로부터 특징 벡터를 추출하고, 특징 벡터를 기초로 이미지에 포함되어 있는 객체 정보를 검색하는 기술이 있다.
그러나 이러한 이미지 검색 기술은 단순한 질의에 해당하는 이미지를 검색할 수는 있지만, 복잡한 질의문 또는 질의 이미지에 해당하는 이미지를 검색할 수 없다는 문제점이 있다. 예를 들면, 질의가 "소녀"인 경우에 "소녀"가 포함되어 있는 이미지를 검색할 수 있지만, 질의가 "검은색 테이블에서 햄버거를 먹는 소녀"인 경우에 이 질의에 해당하는 이미지를 정확하게 검색할 수 없다는 문제점이 있다.
본 발명이 이루고자 하는 과제는 복잡한 질의문이나 이미지가 입력되더라도 정확한 이미지를 검색할 수 있는 이미지 검색 방법 및 장치를 제공하는 것이다.
본 발명의 한 실시예에 따르면, 컴퓨팅 장치의 이미지 검색 방법이 제공된다. 상기 컴퓨팅 장치는 질의문 또는 질의 이미지를 입력받고, 상기 질의문 또는 질의 이미지를 분석하여 복수의 제1 노드를 가지는 제1 그래프를 생성하고, 상기 제1 그래프로부터 복수의 제1 서브그래프를 샘플링한다. 또한, 상기 컴퓨팅 장치는 복수의 이미지를 포함하는 이미지 세트의 각 이미지에 대해서 생성된 복수의 제2 노드를 가지는 제2 그래프로부터 샘플링된 복수의 제2 서브그래프와 상기 복수의 제1 서브그래프 사이의 유사도를 계산하고, 상기 복수의 이미지 중에서 상기 유사도가 가장 높은 이미지를 출력한다.
상기 컴퓨팅 장치는 상기 제1 그래프에서 소정 개수의 제1 노드를 샘플링하여 각 제1 서브그래프를 샘플링할 수 있다. 이 경우, 상기 제2 그래프에서 소정 개수의 제2 노드가 샘플링되어 각 제2 서브그래프가 샘플링될 수 있다.
상기 컴퓨팅 장치는 상기 질의문을 분석하여 상기 질의문으로부터 복수의 단어 토큰과 단어 토큰 사이의 관계를 추출하고, 상기 단어 토큰과 상기 관계에 기초해서 상기 단어 토큰을 상기 복수의 제1 노드로 가지는 상기 제1 그래프를 생성할 수 있다.
상기 제1 그래프에서, 두 단어 토큰 사이의 의존도에 기초해서 상기 두 단어 토큰 사이의 엣지가 정의될 수 있다.
상기 컴퓨팅 장치는 상기 질의문으로부터 생성된 상기 제1 그래프와 상기 제2 그래프의 쌍을 표현하는 표현 벡터를 생성하고, 상기 표현 벡터에 기초해서 상기 유사도를 계산할 수 있다.
상기 제2 그래프에서, 각 제2 서브그래프에 포함되는 소정 개수의 제2 노드에 기초해서 각 제2 서브그래프의 의미(semantic) 벡터가 정의될 수 있다. 이 경우, 상기 컴퓨팅 장치는 상기 제1 그래프에서, 각 제1 서브그래프에 포함되는 소정 개수의 제1 노드에 기초해서 각 제1 서브그래프의 의미 벡터를 정의하고, 상기 복수의 제1 서브그래프의 상기 의미 벡터의 집합, 상기 복수의 제2 서브그래프의 의미 벡터의 집합 및 가중치 행렬에 기초해서, 상기 표현 벡터를 생성할 수 있다.
상기 가중치 행렬은 학습 이미지와 상기 학습 이미지에 대한 정답인 설명문의 쌍, 그리고 상기 학습 이미지와 상기 학습 이미지에 대한 오답인 설명문의 쌍을 기초로 학습될 수 있다.
상기 학습 이미지와 상기 정답인 설명문의 쌍에서 계산되는 상기 유사도가 상기 학습 이미지와 상기 오답인 설명문의 쌍에서 계산되는 상기 유사도에 비해 소정 값만큼 크도록 상기 가중치 행렬이 학습될 수 있다.
상기 컴퓨팅 장치는 상기 질의 이미지로부터 복수의 객체를 검출하고, 상기 객체의 이름 및 상기 객체의 의미 정보를 예측하고, 상기 이름 및 상기 의미 정보를 상기 복수의 제1 노드로 가지는 상기 제1 그래프를 생성할 수 있다.
상기 의미 정보는 상기 복수의 객체 중 적어도 일부 객체의 속성 및 두 객체 사이의 관계를 포함할 수 있다.
상기 컴퓨팅 장치는 상기 질의 이미지로부터 각 객체에 해당하는 영역을 추출하고, 상기 영역에 해당하는 부이미지로부터 대응하는 객체의 이름을 예측하고, 상기 부이미지의 특징과 상기 이름에 기초해서 대응하는 객체의 속성을 예측하고, 두 객체의 이름 및 상기 두 객체 해당하는 영역의 위치 정보에 기초해서 상기 두 객체 사이의 관계를 예측할 수 있다.
상기 제2 그래프에서, 상기 속성과 상기 속성에 해당하는 객체의 상기 이름 사이에서 엣지가 정의되고, 제1 객체와 제2 객체 사이에 상기 관계가 예측될 때, 상기 제1 객체의 이름과 상기 관계 사이 및 상기 관계와 상기 제2 객체 사이에서 엣지가 정의될 수 있다.
상기 컴퓨팅 장치는 상기 질의 이미지로부터 생성된 상기 제1 그래프를 표현하는 제1 표현 벡터를 생성하고, 상기 각 이미지에 대해서 생성된 상기 제2 그래프를 표현하는 제2 표현 벡터와 상기 제1 표현 벡터 사이의 유사도를 계산할 수 있다.
상기 제2 그래프에서, 상기 제2 표현 벡터는 상기 복수의 제2 서브그래프의 의미 벡터에 기초해서 생성되고, 각 제2 서브그래프의 상기 의미 벡터는 각 제2 서브그래프에 포함되는 소정 개수의 제2 노드에 기초해서 정의될 수 있다. 이 경우, 상기 컴퓨팅 장치는 상기 제1 그래프에서, 각 제1 서브그래프에 포함되는 소정 개수의 제1 노드에 기초해서 각 제1 서브그래프의 의미 벡터를 정의하고, 상기 복수의 제1 서브그래프의 상기 의미 벡터에 기초해서 상기 제1 그래프를 표현하는 상기 제1 표현 벡터를 생성할 수 있다.
본 발명의 다른 실시예에 따르면, 하나 이상의 명령어를 저장하는 메모리와 프로세서를 포함하는 이미지 검색 장치가 제공된다. 상기 프로세서는 상기 명령어를 실행함으로써, 질의문을 입력받고, 상기 질의문을 분석하여 복수의 제1 노드를 가지는 제1 그래프를 생성하고, 상기 제1 그래프로부터 복수의 제1 서브그래프를 샘플링하고, 복수의 이미지를 포함하는 이미지 세트의 각 이미지에 대해서 생성된 복수의 제2 노드를 가지는 제2 그래프로부터 샘플링된 복수의 제2 서브그래프와 상기 복수의 제1 서브그래프 사이의 유사도를 계산하고, 상기 복수의 이미지 중에서 상기 유사도가 가장 높은 이미지를 출력한다.
본 발명의 또 다른 실시예에 따르면, 하나 이상의 명령어를 저장하는 메모리와 프로세서를 포함하는 이미지 검색 장치가 제공된다. 상기 프로세서는 상기 명령어를 실행함으로써, 질의 이미지를 입력받고, 상기 질의 이미지를 분석하여 복수의 제1 노드를 가지는 제1 그래프를 생성하고, 상기 제1 그래프로부터 복수의 제1 서브그래프를 샘플링하고, 복수의 이미지를 포함하는 이미지 세트의 각 이미지에 대해서 생성된 복수의 제2 노드를 가지는 제2 그래프로부터 샘플링된 복수의 제2 서브그래프와 상기 복수의 제1 서브그래프 사이의 유사도를 계산하고, 상기 복수의 이미지 중에서 상기 유사도가 가장 높은 이미지를 출력한다.
본 발명의 실시예에 따르면, 질의문이나 질의 이미지가 입력되는 경우, 질의문이나 질의 이미지의 답변에 해당하는 이미지를 정확하게 검색할 수 있다.
도 1은 본 발명의 한 실시예에 따른 이미지 검색 장치와 학습 환경을 예시하는 도면이다.
도 2는 본 발명의 한 실시예에 따른 이미지 검색 방법에서 이미지 그래프 생성 절차를 나타내는 흐름도이다.
도 3는 이미지 그래프 생성에 사용되는 이미지의 한 예를 나타내는 도면이다.
도 4 및 도 5은 각각 도 3에 예시한 이미지를 기초로 생성된 이미지 그래프의 예를 나타내는 도면이다.
도 6은 본 발명의 한 실시예에 따른 이미지 검색 방법에서 문장 그래프 생성 절차를 나타내는 흐름도이다.
도 7a, 도 7b 및 도 7c는 각각 도 3에 예시한 이미지를 설명하는 설명문을 기초로 생성된 문장 그래프의 예를 나타내는 도면이다.
도 8은 본 발명의 한 실시예에 따른 이미지 검색 장치를 위한 타깃 모델의 학습 방법을 나타내는 흐름도이다.
도 9는 본 발명의 한 실시예에 따른 이미지 검색 방법을 나타내는 흐름도이다.
도 10은 본 발명의 다른 실시예에 따른 이미지 검색 방법을 나타내는 흐름도이다.
도 11은 본 발명의 한 실시예에 따른 컴퓨팅 장치의 한 예를 나타내는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
아래 설명에서, 타깃 모델(target model)이란 태스크를 수행하는 모델이자, 기계 학습을 통해 구축하고자 하는 모델을 의미할 수 있다. 타깃 모델은 신경망을 포함하는 임의의 기계학습 모델에 기반하여 구현될 수 있으므로, 본 발명은 타깃 모델의 구현 방식에 의해 한정되지 않는다.
또한, 신경망(neural network)이란 신경 구조를 모방하여 고안된 모든 종류의 기계 학습 모델을 포괄하는 용어이다. 가령, 신경망은 인공 신경망(artificial neural network; ANN), 컨볼루션 신경망(convolutional neural network; CNN) 등과 같이 모든 종류의 신경망 기반 모델을 포함할 수 있다.
다음, 본 발명의 실시예에 따른 이미지 검색 방법 및 장치를 첨부된 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 한 실시예에 따른 이미지 검색 장치와 학습 환경을 예시하는 도면이다.
도 1을 참고하면, 이미지 검색 장치(100)는 태스크를 수행하기 위해 주어진 이미지(110)과 이미지를 설명하는 설명문(120)의 쌍에 대해 기계 학습을 수행하는 컴퓨팅 장치이다. 설명문으로는 복수의 문장이 입력될 수 있다. 보다 구체적으로, 이미지 검색 장치(100)는 이미지(110)과 설명문(120)의 쌍을 기계 학습하여 타깃 모델을 구축할 수 있다. 또한, 이미지 검색 장치(100)는 타깃 모델을 통해 태스크를 수행함으로써 질의문 또는 질의 이미지(130)의 정답에 해당하는 이미지(140)를 검색할 수 있다.
한 실시예에서, 이미지는 정지 영상일 수 있다. 다른 실시예에서, 이미지는 동영상일 수 있다.
컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop), 서버(server) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 상기 컴퓨팅 장치의 한 예는 도 11을 참고하여 설명한다.
도 1에는 이미지 검색 장치(100)가 하나의 컴퓨팅 장치로 구현되는 예가 도시되어 있지만, 실제 물리적 환경에서 이미지 검색 장치(100)의 기능은 복수의 컴퓨팅 장치에 의해 구현될 수 있으며, 또는 복수의 컴퓨팅 장치가 서로 다른 기능을 나누어 구현할 수도 있다.
도 2는 본 발명의 한 실시예에 따른 이미지 검색 방법에서 이미지 그래프 생성 절차를 나타내는 흐름도이다. 도 3는 이미지 그래프 생성에 사용되는 이미지의 한 예를 나타내는 도면이고, 도 4 및 도 5은 각각 도 3에 예시한 이미지를 기초로 생성된 이미지 그래프의 예를 나타내는 도면이다.
도 2를 참고하면, 이미지 검색 장치는 이미지를 입력 받는다(S210). 이미지 검색 장치는 이미지에 포함되어 있는 복수의 객체를 검출하면서 각 객체에 해당하는 영역의 위치 정보를 얻는다(S220). 어떤 실시예에서, 객체 검출은 다양한 객체 검출 방법으로 통해 수행될 수 있으며, 예를 들면 영역 기반 컨볼루션 신경망(region-based convolutional neural network, R-CNN) 또는 faster R-CNN 객체 검출을 통해 수행될 수 있다. 어떤 실시예에서, 객체에 해당하는 영역은 경계 상자(bounding box) 형태로 추출될 수 있다. 이 경우, 위치 정보는 경계 상자의 4개의 좌표값으로 주어질 수 있다. 아래에서는 객체의 영역이 경계 상자 형태로 추출되는 것으로 가정해서 설명한다. 도 3에 도시한 예를 참고하면, 남자에 해당하는 영역, 신발에 해당하는 영역 등이 등이 검출될 수 있다.
이미지 검색 장치는 각 경계 상자에 해당하는 부이미지(sub-image)로부터 객체의 이름을 예측한다(S230). 어떤 실시예에서, 이미지 검색 장치는 경계 상자에 해당하는 부이미지를 이름 예측 모델에 입력으로 넣어서 미리 정의한 복수의 객체 중 하나로 예측할 수 있다. 한 실시에에서, 이름 예측 모델은 신경망, 예를 들면 컨볼루션 신경만에 기반하여 구현될 수 있다. 이름 예측 모델로 기존의 다양한 모델을 사용할 수 있으므로, 그 설명을 생략한다.
다음, 이미지 검색 장치는 검출한 객체의 의미(semantic) 정보를 예측한다(S240, S250). 이러한 의미 정보는 검출한 객체 중에서 일부 객체의 속성 및 두 객체 사이의 관계를 포함할 수 있다.
구체적으로, 이미지 검색 장치는 각 경계 상자에 해당하는 부이미지(sub-image)의 특징(feature)과 예측한 이름에 기초해서 해당하는 객체의 속성을 예측한다(S240). 속성은 예를 들면 색상, 형태, 질감 등일 수 있다. 어떤 실시예에서, 이미지 검색 장치는 부이미지의 속성과 이름을 속성 예측 모델에 입력으로 넣어서 미리 정의한 복수의 속성 중 하나로 예측할 수 있다. 한 실시예에서, 속성 예측 모델은 신경망, 예를 들면 컨볼루션 신경만에 기반하여 구현될 수 있다. 속성 예측 모델로 기존의 다양한 모델을 사용할 수 있으므로, 그 설명을 생략한다. 이와 같이, 부이미지의 특징뿐만 아니라 부이미지에서 예측된 이름을 함께 입력으로 사용함으로써, 특징만으로 예측하기 어려운 속성을 예측할 수 있어서 속성 예측의 정확도를 높일 수 있다. 예를 들면, 부이미지에 포함된 객체가 곰인형인 경우, 곰인형이 있는 영역의 특징만으로 속성을 예측한다면 곰인형의 속성으로 "털이 많은(hairy)" 속성을 예측하기 어려울 수 있다. 그러나 "곰인형"이라는 객체의 이름이 함께 사용된다면, "털이 많은(hairy)" 속성을 정확하게 예측할 가능성이 높아질 수 있다.
다음, 이미지 검색 장치는 두 객체 사이의 관계를 예측한다(S250). 어떤 실시예에서, 이미지 검색 장치는 두 객체가 포함되는 영역을 추출하고 추출한 영역에 대한 특징을 추출할 수 있다. 즉, 이미지 검색 장치는 두 객체의 경계 박스의 합집합을 구하고, 합집합의 특징을 추출할 수 있다. 다음, 이미지 검색 장치는 추출한 특징과 각 객체의 이름 및 위치 정보를 사용하여서 두 객체 사이의 관계를 예측할 수 있다. 한 실시예에서, 두 객체 사이의 관계는 관계 예측 모델을 통해 예측될 수 있으며, 관계 예측 모델은 신경망, 예를 들면 컨볼루션 신경만에 기반하여 구현될 수 있다. 관계 예측 모델로 기존의 다양한 모델을 사용할 수 있으므로, 그 설명을 생략한다. 이와 같이, 영역의 특징뿐만 아니라 각 객체의 이름과 위치 정보를 함께 입력으로 사용함으로써, 두 객체 사이의 관계를 정확하게 예측할 수 있어서 관계 예측의 정확도를 높일 수 있다. 예를 들면, "사람"과 "사과"라는 두 객체 사이의 관계를 예측하는 경우, 특징만을 사용하는 경우보다 이름을 함께 사용하면, "사과"가 "사람"을 "들고 있다"라는 관계보다 "사과"가 "사람"에 의해 "들려 있다"라는 관계가 정확하게 예측될 수 있다. 즉, 관계를 예측할 때 두 객체 사이의 방향성이 결정될 수 있다.
이미지 검색 장치는 단계 S220 내지 S250을 통해 예측한 정보를 기초로 이미지 그래프를 생성한다(S260).
예를 들면, 도 3에 도시한 이미지로부터 도 4에 도시한 이미지 그래프가 생성될 수 있다. 도 4에 도시한 이미지 그래프에서 각 노드는 대응하는 객체의 이름에 해당하고, 각 노드에 대응하는 객체의 속성이 태그되어 있다. 두 노드 사이의 엣지에는 두 노드(즉, 두 객체) 사이의 관계 정보가 태그되어 있다.
도 3에서 신발을 신고 모자를 쓰고 있는 남자가 프리스비(frisbee)를 던지고 있으므로, 도 4에 도시한 것처럼, "남자(man)"와 "신발(shoes, shoe)" 사이의 관계 및 "남자(man)"와 "모자(hat)" 사이의 관계로 "위(on)"가 결정될 수 있으며, "남자"와 "프리스비"의 관계로 "던지는(throwing)"이 결정될 수 있다. 또한, 하나의 신발에 흰색 마크가 표시되어 있으므로, 하나의 "신발(show)"에 "흰색(white)"가 태그될 수 있다. 또한, 남자와 공원에 있는 다른 사람이 함께 프리스비 던지기를 하고 있으므로, "공원(park")와 "사람(person)" 사이의 관계로 "안(in)"이 결정되고, "사람(person)"과 "프리스비(frisbee)" 사이의 관계로 "함께(with)"가 결정될 수 있다. 또한 관계와 함께 의존도도 결정될 수 있다.
그러나 아래에서 설명할 문장 그래프에는 노드와 엣지만 존재할 뿐, 노드와 엣지에 어떤 정보도 태그되어 있지 않으므로, 문장 그래프와 이미지 그래프의 구조에 차이가 있다. 따라서, 어떤 실시예에서, 이미지 검색 장치는 이미지 그래프를 도 4에 도시한 이미지 그래프(Gi)와 다르게 생성할 수 있다(S260). 이 경우, 이미지 그래프(Gi)는 노드와 엣지(Vi, Ei)로 정의될 수 있다. Vi는 노드의 집합({vi 1, vi 2, ..., vi S})이고, 객체의 이름, 객체의 속성 및 관계가 노드가 될 수 있다. Ei는 엣지의 집합이며, 의존도를 지시할 수 있다. 한 실시예에서, 이름에 해당하는 노드(vi j)가 속성(vi k)을 가지면, 이름에 해당하는 노드(vi j)와 속성에 해당하는 노드(vi k) 사이의 엣지(Ei j,k)는 '1'의 값을 가질 수 있다. 또한, 두 노드(vi j, vi k)가 관계(vi l)를 가지면, 노드(vi j)와 관계에 해당하는 노드(vi l) 사이의 엣지(Ei j,l)와 관계에 해당하는 노드(vi l)와 노드(vi k)와 사이의 엣지(Ei l,k)는 각각 '1'의 값을 가질 수 있다. 그렇지 않은 경우, 엣지(Ei)는 '0'의 값(즉, 엣지가 존재하지 않음)을 가질 수 있다. 도 3에 도시한 이미지에 기초하여서 생성된 이미지 그래프는 도 5와 같이 표시될 수 있다.
도 6은 본 발명의 한 실시예에 따른 이미지 검색 방법에서 문장 그래프 생성 절차를 나타내는 흐름도이며, 도 7a, 도 7b 및 도 7c는 각각 도 3에 예시한 이미지를 설명하는 설명문을 기초로 생성된 문장 그래프의 예를 나타내는 도면이다.
도 6을 참고하면, 이미지 검색 장치는 이미지에 대한 설명문을 자연 언어 형태로 입력 받는다(S610). 이미지 검색 장치는 설명문에 대해 의존 구문 분석(dependency parsing)을 수행하여 의존 트리(dependency tree)를 구한다(S620). 이러한 의존 구문 분석은 기존의 자연어 처리 방법, 예를 들면 스페이시(Space) 라이브러리(https://spacy.io/)를 사용할 수 있다.
다음, 이미지 검색 장치는 의존 구문 분석을 통해 추출된 단어 토큰(token)과 단어 토큰 사이의 관계에 기초해서 문장 그래프를 생성한다(S630). 도 5를 참고로 하여 설명한 이미지 그래프와 유사하게, 문장 그래프(Gq)도 노드와 엣지(Vq, Eq)로 정의될 수 있다. Vq는 노드의 집합({vq 1, vq 2, ..., vq Q})이고, 단어 토큰이 될 수 있다. Eq는 엣지의 집합이며, 단어 토큰 사이의 관계를 나타내는 의존도를 지시할 수 있다.
예를 들면, 도 3에 도시한 이미지를 설명하는 설명문으로 "man catching frisbee from behind", "a young man playing frisbee" 및 "group of people on grass at park"가 제시될 수 있다. 그러면, 이미지 검색 장치는 "man catching frisbee from behind"로부터 도 7a에 도시한 문장 그래프를 생성할 수 있다. 도 7a를 참고하면, "man catching frisbee from behind"로부터 "man", "catching", "frisbee", "from", "behind"의 단어 토큰(노드)가 추출되고, "man"과 "catching" 사이의 의존도, "catching"과 "frisbee" 사이의 의존도, "catching"과 "from" 사이의 의존도 및 "from"과 "behind" 사이의 의존도에 기초해서 엣지가 생성될 수 있다. 마찬가지로, 이미지 검색 장치는 "a young man playing frisbee" 및 "group of people on grass at park"의 설명문으로부터 각각 도 7b 및 도 7c에 도시한 문장 그래프를 생성할 수 있다.
도 8은 본 발명의 한 실시예에 따른 이미지 검색 장치를 위한 타깃 모델의 학습 방법을 나타내는 흐름도이다.
도 8을 참고하면, 이미지 검색 장치는 이미지 그래프(Gi)로부터 복수의 서브그래프(예를 들면, ni개의 서브그래프)를 샘플링하고, 문장 그래프(Gq)로부터 복수의 서브그래프(예를 들면, nq개의 서브그래프)를 샘플링한다(S810). 그래프 매칭은 NP-hard (non-deterministic polynomial-time hard) 문제 중 하나이므로, 그래프 매칭 알고리즘을 사용하여서 이미지 그래프(Gi)와 문장 그래프(Gq)의 유사도를 판단하기는 어렵다. 따라서 그래프로부터 생성된 서브그래프를 사용할 수 있다. 어떤 실시예에서, 서브그래프는 서브그래프 매칭 알고리즘에 의해 생성될 수 있다. 한 실시예에서, 서브그래프 매칭 알고리즘은 랜덤워크(random walk) 기반의 서브그래프 매칭 알고리즘일 수 있다.
랜덤워크 기반으로 서브그래프를 생성하는 경우, 각 서브그래프는 랜덤워크의 경로(path)로 정의된다. 이미지 검색 장치는 이미지 그래프에서 각 노드(v)에서의 초기 확률(P0)에 기초해서 첫 번째 노드(v0)를 샘플링하고, 다음 노드로 천이하면서 k개의 노드를 더 샘플링할 수 있다(v0→v1→...→vk). 이때, i번째 노드(vi)에서의 천이(transition) 확률에 따라 천이될 다음 노드(vi+1)가 랜덤하게 선택될 수 있다. 어떤 실시예에서, 초기 확률(P0)은 해당 노드에서의 아웃고잉 엣지 수에 비례하게 결정되고, 노드(v)에서 노드(u)로의 천이 확률(Pv,u)은 수학식 1에 의해 결정될 수 있다.
Figure 112019095345998-pat00001
여기서, deg+(v)는 노드(v)에서의 아웃고잉 엣지 수이고, Q는 해당 그래프(즉, 이미지 그래프 또는 문장 그래프)에서 전체 노드의 개수이며, ε은 임의의 작은 값이다.
이미지 검색 장치는 랜덤하게 k번 워킹하면서 거친 (k+1)개의 노드(즉, 단어 토큰)를 순차적으로 나열하여서 서브그래프를 정의할 수 있다. 따라서, 서브그래프는 연속되는 단어 토큰으로 이루어질 수 있다. 이미지 검색 장치는 이러한 동작을 반복해서 이미지 그래프로부터 ni개의 서브그래프를 생성할 수 있다.
이미지 검색 장치는 동일한 방식으로 문장 그래프로부터 nq개의 서브그래프를 생성할 수 있다.
다음, 이미지 검색 장치는 각 서브그래프의 의미(semantic)를 정의한다(S820). 어떤 실시예에서, 이미지 검색 장치는 각 서브그래프의 의미를 해당 서브그래프에 포함되는 k개의 단어 토큰의 평균으로 정의할 수 있다.
한 실시예에서, 각 서브그래프에서 각 단어 토큰(vi)은 dglove-차원의 단어 벡터(gi)로 정의될 수 있다. 이 경우, 각 서브그래프의 의미는 단어 벡터의 평균값, 즉 dglove-차원의 벡터 평균값으로 정의될 수 있다. 각 서브그래프의 의미(y(m))는 수학식 2와 같이 정의될 수 있다.
Figure 112019095345998-pat00002
여기서, f()는 단순 평균 함수(simple mean function)이며, gi는 노드(vi)의 n차원 벡터이다.
한 실시예에서, 단어 벡터로 페닝턴(Pennington) 등이 "GloVe: Global Vectors for Word Representation" 논문에서 제안한 dglove-차원(예를 들면, 300 차원)의 Glove 벡터가 사용될 수 있다. 따라서, 이미지 그래프에서 ni개의 서브그래프의 의미가 ni×dglove 차원의 행렬(Yi), 즉 ni개의 서브그래프의 의미 벡터의 집합으로 표현되고, 문장 그래프에서 nq개의 서브그래프의 의미가 nq×dglove 차원의 행렬(Yq), 즉 nq개의 서브그래프의 의미 벡터의 집합으로 표현될 수 있다.
다음, 이미지 검색 장치는 서브그래프의 의미를 사용하여서 이미지 그래프와 문장 그래프 사이의 의미 유사도를 계산한다(S830, S840, S850).
어떤 실시예에서, 이미지 검색 장치는 이미지 그래프의 각 서브그래프의 의미와 문장 그래프의 각 서브그래프의 의미 사이의 유사도를 측정하기 위해서 공동 어텐션 맵(co-attention map)을 생성할 수 있다(S830). 즉, 이미지 그래프의 ni개의 서브그래프의 의미와 문장 그래프의 nq개의 서브그래프의 의미에 의해 이루어지는 ni×nq개의 쌍에 대해서 유사도가 측정될 수 있다. 한 실시예에서, 유사도는 하위 쌍일차 풀링(low-rank bilinear pooling) 방법을 통해 유사도가 측정될 수 있다. 이 경우, 공동 어텐션 맵(Α)은 수학식 3과 같이 정의되는 nq×ni 차원의 행렬일 수 있다.
Figure 112019095345998-pat00003
여기서,
Figure 112019095345998-pat00004
는 두 행렬의 원소 단위 곱셈을 수행하는 하다마드(Hadamard) 곱을 나타내고, W는 nq×ni의 가중치 행렬이며(W∈Rnq×ni), Wq 및 Wi는 dglove×dcommon의 가중치 행렬이고(Wq,Wi∈Rdglove×dcommon), W, Wq 및 Wi는 학습되는 파라미터이다. 또한 Yq는 nq×dglove 차원의 행렬로 표현된 문장 그래프에서 nq개의 서브그래프의 의미(의미 벡터)의 집합이고(Yq∈Rnq×dglove), Yi는 ni×dglove 차원의 행렬로 표현된 이미지 그래프에서 ni개의 서브그래프의 의미(의미 벡터)의 집합이다(Yi∈Rni×dglove).
이미지 검색 장치는 공동 어텐션 맵을 사용해서 이미지 그래프와 문장 그래프를 통합하여 이미지 그래프와 문장 그래프 쌍을 표현하는 표현 벡터를 생성할 수 있다(S840). 한 실시예에서, 이미지 검색 장치는 이미지 그래프, 문장 그래프 및 공동 어텝션 맵에 쌍일차 연산자(bilinear operator)를 적용하여 이미지 그래프와 문장 그래프를 통합할 수 있다. 예를 들면, 이미지 검색 장치는 수학식 4와 같이 이미지 그래프와 문장 그래프를 통합할 수 있다. 그리고 이미지 검색 장치는 수학식 4를 통해 생성된 dcommon×dcommon 차원의 Z 행렬에서 행끼리 합산하여서 dcommon 크기의 표현 벡터(z)를 생성할 수 있다.
Figure 112019095345998-pat00005
여기서, Uq와 Ui는 dglove×dcommon 차원의 가중치 행렬이며(Uq,Ui∈Rdglove×dcommon), 학습되는 파라미터이다.
이미지 검색 장치는 표현 벡터(z)를 유사도 계산 함수에 넣어 유사도(f(z))를 계산한다(S850). 유사도 계산 함수는 표현 벡터(z)를 스코어(score)로 출력하기 위한 함수로, 예를 들면 신경망에 기반한 모델로 구현될 수 있다.
다음, 이미지 검색 장치는 유사도(z)를 사용해서 타깃 모델의 가중치 행렬(W, Wq, Wi, Uq, Ui)를 학습한다(S860). 이를 위해, 이미지와 설명문 사이의 정답쌍(zi) 세트와 오답쌍(zj) 세트를 준비한다. 정답쌍(zi)은 이미지와 해당 이미지에 대한 정답인 설명문 사이의 표현 벡터에 해당하며, 오답쌍(zj)은 이미지와 해당 이미지에 대한 오답인 설명문 사이의 표현 벡터에 해당한다. 어떤 실시예에서, 이미지 검색 장치는 정답쌍(zi)의 유사도(f(zi))와 오답쌍(zj)의 유사도(f(zj))를 비교하여, 정답쌍(zi)의 유사도(f(zi))가 오답쌍(zj)의 유사도(f(zj))에 비해 소정 값(a)만큼 크도록 가중치 행렬을 학습할 수 있다. 한 실시예에서, 이미지 검색 장치는 학습의 목표를 나타내는 손실(loss)을 수학식 5와 같이 정의하여서 손실을 줄이도록 타깃 모델의 가중치 행렬을 학습할 수 있다. 따라서, 오답쌍에 해당하는 그래프의 구조보다 정답쌍에 해당하는 그래프의 구조에 높은 가중치가 부여되도록 가중치 행렬이 학습될 수 있다.
Figure 112019095345998-pat00006
다음, 본 발명의 다양한 실시예에 따른 이미지 검색 방법에 대해서 도 9 및 도 10을 참고로 하여 설명한다.
어떤 실시예에서, 이미지 검색 장치는 도 2 내지 도 4를 참고로 하여 설명한 것처럼, 이미지 세트의 다양한 이미지에 대해서 이미지 그래프를 생성하여 데이터베이스로 저장하고 있을 수 있다. 한 실시예에서, 이미지 검색 장치는 도 4를 참고로 하여 설명한 이미지 그래프(Vi, Ei)를 저장하여 둘 수 있다. 다른 실시예에서, 이미지 검색 장치는 이미지 그래프(Vi, Ei)로부터 생성한 ni개의 서브그래프의 의미 벡터의 집합(Yi)을 저장하여 둘 수 있다. 어떤 실시예서, 이미지 검색 장치는 이미지 그래프에 대한 정보만 저장하고, 이미지는 저장하지 않을 수 있다. 이 경우, 데이터베이스의 용량을 줄일 수 있다.
어떤 실시예에서, 이미지 검색 장치는 이미지와 설명문 사이의 정답쌍 세트와 오답쌍 세트를 기초로 타깃 모델의 가중치 행렬을 학습하여 둘 수 있다.
도 9는 본 발명의 한 실시예에 따른 이미지 검색 방법을 나타내는 흐름도이다.
도 9를 참고하면, 이미지 검색 장치는 사용자로부터 질의문을 입력받는다(S910). 이미지 검색 장치는 질의문으로부터 문장 그래프(Gq)를 생성한다(S920). 어떤 실시예에서, 이미지 검색 장치는 도 6 내지 도 7c를 참고로 하여 설명한 것처럼 질의문으로부터 문장 그래프(Gq)를 생성할 수 있다.
이미지 검색 장치는 저장되어 있는 각 이미지의 이미지 그래프(Gi)와 입력된 질의문의 문장 그래프(Gq) 사이의 유사도를 계산한다(S930). 어떤 실시예에서, 이미지 검색 장치는 도 8의 단계 S810 내지 S850을 참고로 하여 설명한 것처럼 이미지 그래프(Gi)의 ni개의 서브그래프의 의미 벡터(Yi)와 문장 그래프(Gq)의 nq개의 서브그래프의 의미 벡터(Yq)를 통합하여 표현 벡터(z)를 생성하고, 표현 벡터(z)로 유사도(f(z))를 계산할 수 있다.
다음, 이미지 검색 장치는 복수의 이미지에 대해서 계산된 유사도(f(z)) 중에서 가장 높은 유사도(f(z))에 해당하는 이미지를 질의문의 답변에 해당하는 이미지로 출력한다(S940).
도 10은 본 발명의 다른 실시예에 따른 이미지 검색 방법을 나타내는 흐름도이다.
도 10을 참고하면, 이미지 검색 장치는 사용자로부터 질의 이미지를 입력받는다(S1010). 이미지 검색 장치는 질의 이미지로부터 이미지 그래프(Gi)를 생성한다(S1020). 어떤 실시예에서, 이미지 검색 장치는 도 3 내지 도 5를 참고로 하여 설명한 것처럼 질의 이미지로부터 이미지 그래프(Gi)를 생성할 수 있다.
이미지 검색 장치는 저장되어 있는 각 이미지의 이미지 그래프(Gi)와 입력된 질의 이미지의 이미지 그래프(Gi) 사이의 유사도를 계산한다(S1030). 어떤 실시예에서, 이미지 검색 장치는 도 8의 단계 S810 및 S820을 참고로 하여 설명한 것처럼 저장된 질의 이미지에 해당하는 이미지 그래프(Gi)의 ni개의 서브그래프의 의미 벡터(Yi)를 계산할 수 있다. 다음, 이미지 검색 장치는 질의 이미지에 해당하는 이미지 그래프(Gi)의 ni개의 서브그래프의 의미 벡터(Yi)를 평균 풀링(average pooling)하여 질의 이미지에 해당하는 이미지 그래프를 표현하는 벡터, 즉 표현 벡터(z2)를 생성할 수 있다. 마찬가지로, 한 실시예에서, 이미지 검색 장치는 이미지 세트의 다양한 이미지에 해당하는 이미지 그래프를 표현하는 표현 벡터(z1)를 각각 계산할 수 있다. 다른 실시예에서, 이미지 검색 장치는 이미지 세트의 다양한 이미지에 해당하는 표현 벡터(z1)를 미리 계산하여 저장하여 둘 수 있다.
다음, 이미지 검색 장치는 복수의 이미지에 대해서 계산된 표현 벡터(z1) 중에서 질의 이미지의 표현 벡터(z2)와 가장 유사도가 높은 이미지를 질의 이미지의 답변에 해당하는 이미지로 출력한다(S1040). 어떤 실시예에서, 이미지 검색 장치는 두 표현 벡터의 차이의 크기를 최소로 하는 표현 벡터(z1) 또는 두 표현 벡터 사이의 거리를 최소로 하는 표현 벡터(z1)를 가장 유사도가 높은 이미지로 출력할 수 있다.
이와 같이, 본 발명의 다양한 실시예에 따르면, 질의문이나 질의 이미지가 입력되는 경우, 질의문이나 질의 이미지의 답변에 해당하는 이미지를 정확하게 검색할 수 있다.
다음, 본 발명의 한 실시예에 따른 이미지 검색 장치를 구현할 수 있는 예시적인 컴퓨팅 장치(200)에 대하여 도 11을 참고로 하여 설명한다.
도 11은 본 발명의 한 실시예에 따른 컴퓨팅 장치의 한 예를 나타내는 도면이다.
도 11을 참고하면, 컴퓨팅 장치(1100)는 프로세서(1110), 메모리(1120), 저장 장치(1130), 통신 인터페이스(1140) 및 버스(1150)를 포함한다. 컴퓨팅 장치(1100)는 다른 범용적인 구성 요소를 더 포함할 수 있다.
프로세서(1110)는 컴퓨팅 장치(1100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1110)는 CPU(central processing unit), MPU(microprocessor unit), MCU(micro controller unit), GPU(graphic processing unit) 등의 다양한 프로세싱 유닛 중 적어도 하나로 구현될 수 있으며, 병렬 프로세싱 유닛으로 구현될 수도 있다. 또한, 프로세서(1110)는 위에서 설명한 이미지 검색 방법을 실행하기 위한 프로그램에 대한 연산을 수행할 수 있다.
메모리(1120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1120)는 위에서 설명한 이미지 검색 방법을 실행하기 위하여 저장 장치(1130)로부터 컴퓨터 프로그램(1131)을 로드할 수 있다. 저장 장치(1130)는 프로그램(1131)을 비임시적으로 저장할 수 있다. 저장 장치(1130)는 비휘발성 메모리로 구현될 수 있다.
통신 인터페이스(1140)는 컴퓨팅 장치(1100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(1140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다.
버스(1150)는 컴퓨팅 장치(1100)의 구성 요소간 통신 기능을 제공한다. 버스(1150)는 주소 버스(address bus), 데이터 버스(data bus) 및 제어 버스(control bus) 등 다양한 형태의 버스로 구현될 수 있다.
컴퓨터 프로그램(1131)은 메모리(1120)에 로드될 때 프로세서(1110)로 하여금 이미지 검색 방법을 수행하도록 하는 명령어(instructions)를 포함할 수 있다. 즉, 프로세서(1110)는 명령어를 실행함으로써, 이미지 검색 방법을 위한 동작을 수행할 수 있다.
위에서 설명한 본 발명의 한 실시예에 따른 이미지 검색 방법 또는 장치는 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 컴퓨터 프로그램으로 구현될 수 있다. 한 실시예에서, 컴퓨터가 읽을 수 있는 매체는 이동형 기록 매체이거나 고정식 기록 매체일 수 있다. 다른 실시예에서, 컴퓨터가 읽을 수 있는 매체에 기록된 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 다른 컴퓨팅 장치에 설치되어 실행될 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (20)

  1. 컴퓨팅 장치의 이미지 검색 방법으로서,
    질의문 또는 질의 이미지를 입력받는 단계,
    상기 질의문 또는 질의 이미지를 분석하여 복수의 제1 노드를 가지는 제1 그래프를 생성하는 단계,
    상기 제1 그래프로부터 복수의 제1 서브그래프를 샘플링하는 단계,
    복수의 이미지를 포함하는 이미지 세트의 각 이미지에 대해서 생성된 복수의 제2 노드를 가지는 제2 그래프로부터 샘플링된 복수의 제2 서브그래프와 상기 복수의 제1 서브그래프 사이의 유사도를 계산하는 단계, 그리고
    상기 복수의 이미지 중에서 상기 유사도가 가장 높은 이미지를 출력하는 단계를 포함하며,
    상기 유사도를 계산하는 단계는,
    상기 질의문으로부터 생성된 상기 제1 그래프와 상기 제2 그래프의 쌍을 표현하는 표현 벡터를 생성하는 단계, 그리고
    상기 표현 벡터에 기초해서 상기 유사도를 계산하는 단계를 포함하고,
    상기 제2 그래프에서, 각 제2 서브그래프에 포함되는 소정 개수의 제2 노드에 기초해서 각 제2 서브그래프의 의미(semantic) 벡터가 정의되며,
    상기 표현 벡터를 생성하는 단계는,
    상기 제1 그래프에서, 각 제1 서브그래프에 포함되는 소정 개수의 제1 노드에 기초해서 각 제1 서브그래프의 의미 벡터를 정의하는 단계, 그리고
    상기 복수의 제1 서브그래프의 상기 의미 벡터의 집합, 상기 복수의 제2 서브그래프의 의미 벡터의 집합 및 가중치 행렬에 기초해서, 상기 표현 벡터를 생성하는 단계를 포함하는
    이미지 검색 방법.
  2. 제1항에서,
    상기 복수의 제1 서브그래프를 샘플링하는 단계는, 상기 제1 그래프에서 소정 개수의 제1 노드를 샘플링하여 각 제1 서브그래프를 샘플링하는 단계를 포함하며,
    상기 제2 그래프에서 소정 개수의 제2 노드가 샘플링되어 각 제2 서브그래프가 샘플링되는
    이미지 검색 방법.
  3. 제1항에서,
    상기 제1 그래프를 생성하는 단계는,
    상기 질의문을 분석하여 상기 질의문으로부터 복수의 단어 토큰과 단어 토큰 사이의 관계를 추출하는 단계, 그리고
    상기 단어 토큰과 상기 관계에 기초해서 상기 단어 토큰을 상기 복수의 제1 노드로 가지는 상기 제1 그래프를 생성하는 단계
    를 포함하는 이미지 검색 방법.
  4. 제3항에서,
    상기 제1 그래프에서, 두 단어 토큰 사이의 의존도에 기초해서 상기 두 단어 토큰 사이의 엣지가 정의되는 이미지 검색 방법.
  5. 삭제
  6. 삭제
  7. 제1항에서,
    상기 가중치 행렬은 학습 이미지와 상기 학습 이미지에 대한 정답인 설명문의 쌍, 그리고 상기 학습 이미지와 상기 학습 이미지에 대한 오답인 설명문의 쌍을 기초로 학습되는 이미지 검색 방법.
  8. 제7항에서,
    상기 학습 이미지와 상기 정답인 설명문의 쌍에서 계산되는 상기 유사도가 상기 학습 이미지와 상기 오답인 설명문의 쌍에서 계산되는 상기 유사도에 비해 소정 값만큼 크도록 상기 가중치 행렬이 학습되는 이미지 검색 방법.
  9. 삭제
  10. 삭제
  11. 컴퓨팅 장치의 이미지 검색 방법으로서,
    질의문 또는 질의 이미지를 입력받는 단계,
    상기 질의문 또는 질의 이미지를 분석하여 복수의 제1 노드를 가지는 제1 그래프를 생성하는 단계,
    상기 제1 그래프로부터 복수의 제1 서브그래프를 샘플링하는 단계,
    복수의 이미지를 포함하는 이미지 세트의 각 이미지에 대해서 생성된 복수의 제2 노드를 가지는 제2 그래프로부터 샘플링된 복수의 제2 서브그래프와 상기 복수의 제1 서브그래프 사이의 유사도를 계산하는 단계, 그리고
    상기 복수의 이미지 중에서 상기 유사도가 가장 높은 이미지를 출력하는 단계를 포함하며,
    상기 제1 그래프를 생성하는 단계는,
    상기 질의 이미지로부터 복수의 객체를 검출하는 단계,
    상기 객체의 이름 및 상기 객체의 의미(semantic) 정보를 예측하는 단계,
    상기 이름 및 상기 의미 정보를 상기 복수의 제1 노드로 가지는 상기 제1 그래프를 생성하는 단계를 포함하고,
    상기 의미 정보는 상기 복수의 객체 중 적어도 일부 객체의 속성 및 두 객체 사이의 관계를 포함하며,
    상기 예측하는 단계는,
    상기 질의 이미지로부터 각 객체에 해당하는 영역을 추출하는 단계,
    상기 영역에 해당하는 부이미지로부터 대응하는 객체의 이름을 예측하는 단계,
    상기 부이미지의 특징과 상기 이름에 기초해서 대응하는 객체의 속성을 예측하는 단계, 그리고
    두 객체의 이름 및 상기 두 객체 해당하는 영역의 위치 정보에 기초해서 상기 두 객체 사이의 관계를 예측하는 단계
    를 포함하는 이미지 검색 방법.
  12. 제11항에서,
    상기 제2 그래프에서, 상기 속성과 상기 속성에 해당하는 객체의 상기 이름 사이에서 엣지가 정의되고, 제1 객체와 제2 객체 사이에 상기 관계가 예측될 때, 상기 제1 객체의 이름과 상기 관계 사이 및 상기 관계와 상기 제2 객체 사이에서 엣지가 정의되는 이미지 검색 방법.
  13. 삭제
  14. 컴퓨팅 장치의 이미지 검색 방법으로서,
    질의문 또는 질의 이미지를 입력받는 단계,
    상기 질의문 또는 질의 이미지를 분석하여 복수의 제1 노드를 가지는 제1 그래프를 생성하는 단계,
    상기 제1 그래프로부터 복수의 제1 서브그래프를 샘플링하는 단계,
    복수의 이미지를 포함하는 이미지 세트의 각 이미지에 대해서 생성된 복수의 제2 노드를 가지는 제2 그래프로부터 샘플링된 복수의 제2 서브그래프와 상기 복수의 제1 서브그래프 사이의 유사도를 계산하는 단계, 그리고
    상기 복수의 이미지 중에서 상기 유사도가 가장 높은 이미지를 출력하는 단계를 포함하며,
    상기 유사도를 계산하는 단계는,
    상기 질의 이미지로부터 생성된 상기 제1 그래프를 표현하는 제1 표현 벡터를 생성하는 단계, 그리고
    상기 각 이미지에 대해서 생성된 상기 제2 그래프를 표현하는 제2 표현 벡터와 상기 제1 표현 벡터 사이의 유사도를 계산하는 단계를 포함하고,
    상기 제2 그래프에서, 상기 제2 표현 벡터는 상기 복수의 제2 서브그래프의 의미 벡터에 기초해서 생성되고, 각 제2 서브그래프의 상기 의미 벡터는 각 제2 서브그래프에 포함되는 소정 개수의 제2 노드에 기초해서 정의되며,
    상기 제1 표현 벡터를 생성하는 단계는,
    상기 제1 그래프에서, 각 제1 서브그래프에 포함되는 소정 개수의 제1 노드에 기초해서 각 제1 서브그래프의 의미 벡터를 정의하는 단계, 그리고
    상기 복수의 제1 서브그래프의 상기 의미 벡터에 기초해서 상기 제1 그래프를 표현하는 상기 제1 표현 벡터를 생성하는 단계
    를 포함하는 이미지 검색 방법.
  15. 삭제
  16. 삭제
  17. 하나 이상의 명령어를 저장하는 메모리, 그리고
    프로세서를 포함하며,
    상기 프로세서는 상기 명령어를 실행함으로써,
    질의문을 입력받고,
    상기 질의문을 분석하여 복수의 제1 노드를 가지는 제1 그래프를 생성하고,
    상기 제1 그래프로부터 복수의 제1 서브그래프를 샘플링하고,
    복수의 이미지를 포함하는 이미지 세트의 각 이미지에 대해서 생성된 복수의 제2 노드를 가지는 제2 그래프로부터 샘플링된 복수의 제2 서브그래프와 상기 복수의 제1 서브그래프 사이의 유사도를 계산하고,
    상기 복수의 이미지 중에서 상기 유사도가 가장 높은 이미지를 출력하며,
    상기 프로세서는,
    상기 질의문으로부터 생성된 상기 제1 그래프와 상기 제2 그래프의 쌍을 표현하는 표현 벡터를 생성하고,
    상기 표현 벡터에 기초해서 상기 유사도를 계산하며,
    상기 제2 그래프에서, 각 제2 서브그래프에 포함되는 소정 개수의 제2 노드에 기초해서 각 제2 서브그래프의 의미(semantic) 벡터가 정의되며,
    상기 프로세서는,
    상기 제1 그래프에서, 각 제1 서브그래프에 포함되는 소정 개수의 제1 노드에 기초해서 각 제1 서브그래프의 의미 벡터를 정의하고,
    상기 복수의 제1 서브그래프의 상기 의미 벡터의 집합, 상기 복수의 제2 서브그래프의 의미 벡터의 집합 및 가중치 행렬에 기초해서, 상기 표현 벡터를 생성하는
    이미지 검색 장치.
  18. 삭제
  19. 삭제
  20. 하나 이상의 명령어를 저장하는 메모리, 그리고
    프로세서를 포함하며,
    상기 프로세서는 상기 명령어를 실행함으로써,
    질의 이미지를 입력받고,
    상기 질의 이미지를 분석하여 복수의 제1 노드를 가지는 제1 그래프를 생성하고,
    상기 제1 그래프로부터 복수의 제1 서브그래프를 샘플링하고,
    복수의 이미지를 포함하는 이미지 세트의 각 이미지에 대해서 생성된 복수의 제2 노드를 가지는 제2 그래프로부터 샘플링된 복수의 제2 서브그래프와 상기 복수의 제1 서브그래프 사이의 유사도를 계산하고,
    상기 복수의 이미지 중에서 상기 유사도가 가장 높은 이미지를 출력하며,
    상기 프로세서는,
    상기 질의 이미지로부터 생성된 상기 제1 그래프를 표현하는 제1 표현 벡터를 생성하고,
    상기 각 이미지에 대해서 생성된 상기 제2 그래프를 표현하는 제2 표현 벡터와 상기 제1 표현 벡터 사이의 유사도를 계산하며,
    상기 제2 그래프에서, 상기 제2 표현 벡터는 상기 복수의 제2 서브그래프의 의미 벡터에 기초해서 생성되고, 각 제2 서브그래프의 상기 의미 벡터는 각 제2 서브그래프에 포함되는 소정 개수의 제2 노드에 기초해서 정의되며,
    상기 프로세서는,
    상기 제1 그래프에서, 각 제1 서브그래프에 포함되는 소정 개수의 제1 노드에 기초해서 각 제1 서브그래프의 의미 벡터를 정의하고,
    상기 복수의 제1 서브그래프의 상기 의미 벡터에 기초해서 상기 제1 그래프를 표현하는 상기 제1 표현 벡터를 생성하는
    이미지 검색 장치.
KR1020190114720A 2019-09-18 2019-09-18 이미지 검색 방법 및 장치 KR102201390B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190114720A KR102201390B1 (ko) 2019-09-18 2019-09-18 이미지 검색 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190114720A KR102201390B1 (ko) 2019-09-18 2019-09-18 이미지 검색 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102201390B1 true KR102201390B1 (ko) 2021-01-08

Family

ID=74127789

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190114720A KR102201390B1 (ko) 2019-09-18 2019-09-18 이미지 검색 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102201390B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282777A (zh) * 2021-04-20 2021-08-20 北京沃东天骏信息技术有限公司 一种模型训练方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110085951A (ko) * 2011-06-09 2011-07-27 인하대학교 산학협력단 시멘틱 기반의 이미지 검색 방법
KR101201093B1 (ko) * 2004-03-02 2012-11-13 마이크로소프트 코포레이션 그래프-기반 랭킹을 사용하여 텍스트의 단어와 개념을 랭킹하는 방법 및 시스템
KR20120127408A (ko) * 2010-01-18 2012-11-21 인터내셔널 비지네스 머신즈 코포레이션 개인화 태그 랭킹
US20140324864A1 (en) * 2013-04-12 2014-10-30 Objectvideo, Inc. Graph matching by sub-graph grouping and indexing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101201093B1 (ko) * 2004-03-02 2012-11-13 마이크로소프트 코포레이션 그래프-기반 랭킹을 사용하여 텍스트의 단어와 개념을 랭킹하는 방법 및 시스템
KR20120127408A (ko) * 2010-01-18 2012-11-21 인터내셔널 비지네스 머신즈 코포레이션 개인화 태그 랭킹
KR20110085951A (ko) * 2011-06-09 2011-07-27 인하대학교 산학협력단 시멘틱 기반의 이미지 검색 방법
US20140324864A1 (en) * 2013-04-12 2014-10-30 Objectvideo, Inc. Graph matching by sub-graph grouping and indexing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282777A (zh) * 2021-04-20 2021-08-20 北京沃东天骏信息技术有限公司 一种模型训练方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
KR102177412B1 (ko) 이미지와 텍스트간 유사도 매칭 시스템 및 방법
Mei et al. Closing loops without places
WO2018196718A1 (zh) 图像消歧方法、装置、存储介质和电子设备
US11599749B1 (en) Method of and system for explainable knowledge-based visual question answering
WO2016026135A1 (en) Face alignment with shape regression
CN111539197A (zh) 文本匹配方法和装置以及计算机系统和可读存储介质
US20210279279A1 (en) Automated graph embedding recommendations based on extracted graph features
US11928142B2 (en) Information processing apparatus and information processing method
JP2018022496A (ja) 自然言語処理装置に用いられるトレーニングデータを作成する方法と機器
CN112560823B (zh) 基于分布学习的自适应方差和权重的人脸年龄估计方法
US20220164687A1 (en) Method for providing explainable artificial intelligence
US20230237084A1 (en) Method and apparatus for question-answering using a database consist of query vectors
CN113761124A (zh) 文本编码模型的训练方法、信息检索方法及设备
CN115186133A (zh) 视频生成方法、装置、电子设备及介质
JP7259935B2 (ja) 情報処理システム、情報処理方法およびプログラム
CN111090765B (zh) 一种基于缺失多模态哈希的社交图像检索方法及系统
CN113516142A (zh) 文本图像匹配方法、装置、设备及存储介质
CN114972774A (zh) 特定区域的图像描述生成方法、装置、设备及存储介质
KR102201390B1 (ko) 이미지 검색 방법 및 장치
US12056184B2 (en) Method and apparatus for generating description information of an image, electronic device, and computer readable storage medium
CN114490926A (zh) 一种相似问题的确定方法、装置、存储介质及终端
CN114021541A (zh) 演示文稿生成方法、装置、设备及存储介质
CN117009599A (zh) 数据检索方法、装置、处理器及电子设备
CN113821610A (zh) 信息匹配方法、装置、设备及存储介质
CN114328904A (zh) 内容处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant