Nothing Special   »   [go: up one dir, main page]

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

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

Info

Publication number
KR20220018633A
KR20220018633A KR1020227003264A KR20227003264A KR20220018633A KR 20220018633 A KR20220018633 A KR 20220018633A KR 1020227003264 A KR1020227003264 A KR 1020227003264A KR 20227003264 A KR20227003264 A KR 20227003264A KR 20220018633 A KR20220018633 A KR 20220018633A
Authority
KR
South Korea
Prior art keywords
matrix
image
matching
coding
determining
Prior art date
Application number
KR1020227003264A
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 베이징 징동 젼스 인포메이션 테크놀로지 씨오., 엘티디.
Publication of KR20220018633A publication Critical patent/KR20220018633A/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/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/5846Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • 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/53Querying
    • G06F16/535Filtering based on additional data, e.g. user or group profiles
    • 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
    • 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/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • 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/7335Graphical querying, e.g. query-by-region, query-by-sketch, query-by-trajectory, GUIs for designating a person/face/object as a query predicate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • 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
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • G06V10/464Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7753Incorporation of unlabelled data, e.g. multiple instance learning [MIL]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

본 발명의 실시예는 이미지 검색 방법을 공개하였다. 상기 방법의 구체적인 실시형태는, 타깃 아이템의 스케치에 대해 특징 추출을 수행하여 얻은 제1 매트릭스를 획득하는 단계; 타깃 아이템에 대응되는 키워드 세트 중의 키워드의 단어 벡터로 구성되는 제2 매트릭스를 획득하되, 키워드 세트 중의 키워드는 타깃 아이템을 설명하기 위한 것인 단계; 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 얻은 제3 매트릭스 세트를 획득하는 단계; 제3 매트릭스 세트 중의 제3 매트릭스에 대해, 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정하는 단계; 및 결정된 매칭도에 기반하여, 이미지 세트에서 기설정 개수의 이미지를 선택하고, 선택된 이미지를 송신하는 단계를 포함한다. 상기 실시형태는 아이템의 스케치 및 키워드에 기반하여 검색하는 것을 구현하였다.

Description

이미지 검색 방법 및 장치
본 발명의 실시예는 컴퓨터 기술 분야에 관한 것으로, 구체적으로 이미지 검색 방법 및 장치에 관한 것이다.
현재, 이미지 검색은 통상적으로 텍스트에 기반한 이미지 검색 및 콘텐츠에 기반한 이미지 검색을 포함한다. 여기서, 텍스트에 기반한 이미지 검색은 통상적으로 텍스트 설명의 방식을 이용하여 이미지의 특징을 설명하며, 이미지 라이브러리 중의 각 이미지에 대응되는 텍스트 설명과 매칭하여 검색 결과를 결정한다. 콘텐츠에 기반한 이미지 검색은 통상적으로 이미지의 색상, 패턴, 배치 등 특징에 따라, 이미지 라이브러리 중의 각 이미지에 대응되는 색상, 패턴, 배치 등 특징을 매칭하여 검색 결과는 결정한다.
이미지에 대한 텍스트 설명은 통상적으로 일정한 주관성을 갖기에, 검색 결과의 정확성에 영향을 일으킬 수 있다. 원본 이미지가 비교적 풍부한 색상, 패턴 등 특징을 구비하기에, 종래의 일부 콘텐츠에 기반한 이미지 검색은, 통상적으로 사용자가 아이템 검색의 원본 이미지를 제공해야 한다. 이 밖에, 이미지에서 추출한 색상, 패턴 등 특징은 일반적으로 모두 이미지의 객관적인 설명 정보로서, 이미지의 시맨틱 정보를 표현하기 어렵다.
본 발명의 실시예는 이미지 검색 방법 및 장치를 제공한다.
제1 양태에 따르면, 본 발명의 실시예는 이미지 검색 방법을 제공하는 바, 상기 방법은, 타깃 아이템의 스케치에 대해 특징 추출을 수행하여 얻은 제1 매트릭스를 획득하는 단계; 타깃 아이템에 대응되는 키워드 세트 중의 키워드의 단어 벡터로 구성되는 제2 매트릭스를 획득하되, 키워드 세트 중의 키워드는 타깃 아이템을 설명하기 위한 것인 단계; 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 얻은 제3 매트릭스 세트를 획득하는 단계; 제3 매트릭스 세트 중의 제3 매트릭스에 대해, 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정하는 단계; 및 결정된 매칭도에 기반하여, 이미지 세트에서 기설정 개수의 이미지를 선택하고, 선택된 이미지를 송신하는 단계를 포함한다.
일부 실시예에서, 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 제3 매트릭스의 매칭도에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정하는 단계는, 제1 매트릭스의 제1 기설정 가중치를 획득하고, 제2 매트릭스의 제2 기설정 가중치를 획득하는 단계; 및 획득된 제1 기설정 가중치 및 제2 기설정 가중치에 기반하여, 제1 매트릭스와 상기 제3 매트릭스의 매칭도 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도의 가중합에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정하는 단계를 포함한다.
일부 실시예에서, 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 제3 매트릭스의 매칭도는, 각각 제1 매트릭스, 제2 매트릭스, 상기 제3 매트릭스를 타깃 매트릭스로 사용하고, 타깃 매트릭스에 대해 코딩 처리를 수행하여, 제1 코딩 매트릭스, 제2 코딩 매트릭스, 제3 코딩 매트릭스를 얻되, 코딩 처리는 타깃 매트릭스를 이진법 코딩 매트릭스로 매핑하기 위한 것인 단계; 및 제1 코딩 매트릭스와 제3 코딩 매트릭스의 매칭도를 제1 매트릭스와 상기 제3 매트릭스의 매칭도로 결정하고, 제2 코딩 매트릭스와 제3 코딩 매트릭스의 매칭도를 제2 매트릭스와 상기 제3 매트릭스의 매칭도로 결정하는 단계를 통해 결정된다.
일부 실시예에서, 코딩 처리는, 타깃 매트릭스의 각 행 벡터 중의 행 벡터 S에 대해, S에 포함되는 각 요소를 C 그룹으로 분해하되, C는 코딩 매트릭스의 열 개수를 표시하는 단계; C 그룹 중의 그룹에 대해, 상기 그룹에 포함되는 요소의 값의 통계적 특징을 결정하고; 얻은 통계적 특징이 타깃 임계값 T보다 큰 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 1로 결정하며; 얻은 통계적 특징이 T보다 작은 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 0으로 결정하는 단계; 및 C 그룹 중의 각 그룹에 각각 대응되는 코딩 값은 코딩 매트릭스의 한 행을 구성하여, 코딩 매트릭스를 얻는 단계를 수행하는 것을 포함한다.
일부 실시예에서, S에 포함되는 각 요소를 C 그룹으로 분해하는 단계는, S에 포함되는 요소의 개수와 C의 엔트로피를 결정하고, 결정된 엔트로피에 따라 C 그룹 중의 각 그룹에 포함되는 요소의 개수를 결정하는 단계를 포함한다.
일부 실시예에서,
Figure pct00001
[1] 이고, 여기서, D는 S에 포함되는 요소의 개수를 표시하고, Si는 S의 i번째 요소의 값을 표시한다.
일부 실시예에서, 코딩 처리는, 타깃 매트릭스의 각 행 벡터에 대해 각각, 행 벡터에 대해 정규화 처리를 수행하고, 행 벡터의 정규화 결과에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 업데이트 처리를 수행하여 업데이트된 타깃 매트릭스를 얻되, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값과 각 요소에 각각 대응되는 정규화 결과는 양의 상관 관계이고; 업데이트된 타깃 매트릭스의 각 행 벡터 중의 행 벡터 S에 대해, S에 포함되는 각 요소를 C 그룹으로 분해하되, C는 코딩 매트릭스의 열 개수를 표시하는 단계; C 그룹 중의 그룹에 대해, 상기 그룹에 포함되는 요소의 값의 통계적 특징을 결정하고; 얻은 통계적 특징이 타깃 임계값 T보다 큰 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 1로 결정하며; 얻은 통계적 특징이 T보다 작은 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 0으로 결정하는 단계; C 그룹 중의 각 그룹에 각각 대응되는 코딩 값은 코딩 매트릭스의 한 행을 구성하여, 코딩 매트릭스를 얻는 단계를 수행하는 것을 포함한다.
일부 실시예에서, 행 벡터의 정규화 결과에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계는, 행 벡터의 정규화 결과 및 기설정 조절 파라미터 λ에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계를 포함하되, 여기서, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값은 λ와 양의 상관 관계이다.
일부 실시예에서, 행 벡터의 정규화 결과 및 기설정 조절 파라미터 λ에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계는, 행 벡터에 포함되는 각 요소 중의 요소에 대해, 상기 요소에 대응되는 정규화 결과와 λ의 곱셈의 제곱근을 상기 요소에 대응되는 업데이트 값으로 결정하는 단계를 포함한다.
일부 실시예에서, 제1 매트릭스는, 스케치를 적어도 두 개의 서브 이미지로 분해하는 단계; 미리 트레이닝된 콘볼루션 신경망을 이용하여 각각 적어도 두 개의 서브 이미지에 대해 특징 추출을 수행하여, 적어도 두 개의 서브 이미지에 각각 대응되는 특징 벡터를 얻는 단계; 및 적어도 두 개의 서브 이미지에 각각 대응되는 특징 벡터로 구성되는 매트릭스를 제1 매트릭스로 결정하는 단계를 통해 획득된다.
일부 실시예에서, 콘볼루션 신경망은, 스케치 세트를 획득하고, 스케치 세트 중의 각 스케치에 각각 대응되는 매칭 이미지 세트를 획득하되, 여기서, 스케치 및 대응되는 매칭 이미지 세트 중의 매칭 이미지는 동일한 아이템을 나타내기 위한 단계; 스케치 세트에서 스케치를 선택하고, 하기와 같은 트레이닝 단계를 수행하되, 상기 단계는, 초기 모델을 이용하여 선택된 스케치 및 타깃 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 스케치 및 타깃 이미지 세트 중의 각 이미지에 각각 대응되는 출력 매트릭스를 얻는 단계; 얻은 스케치에 대응되는 출력 매트릭스가 각각 타깃 이미지 세트 중의 각 이미지에 각각 대응되는 출력 매트릭스의 매칭도에 대응되는 것으로 결정하고 , 대응되는 매칭도가 기설정 임계값보다 큰 이미지를 선택하는 단계; 선택된 이미지 및 입력된 스케치에 대응되는 매칭 이미지 세트에 따라, 선택된 이미지에 대응되는 재현율 및/또는 정확률을 결정하고, 결정된 재현율 및/또는 정확률에 따라, 초기 모델이 트레이닝 완료되었는 지의 여부를 결정하는 단계이며, 초기 모델이 트레이닝 완료된 것으로 결정된 것에 응답하여, 트레이닝 완료된 초기 모델을 콘볼루션 신경망으로 결정하는 단계; 초기 모델이 트레이닝 미완료된 것으로 결정된 것에 응답하여, 결정된 재현율 및/또는 정확률에 따라, 초기 모델의 파라미터를 조절하고, 조절된 초기 모델을 초기 모델로 결정하며, 스케치 세트에서 스케치를 다시 선택하여, 계속하여 상기 트레이닝 단계를 수행하는 단계를 통해 트레이닝되어 획득된다.
제2 양태에 따르면, 본 발명의 실시예는 이미지 검색 장치를 제공하는 바, 상기 장치는, 타깃 아이템의 스케치에 대해 특징 추출을 수행하여 얻은 제1 매트릭스를 획득하는 획득 유닛; 제3 매트릭스 세트 중의 제3 매트릭스에 대해, 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정하는 결정 유닛; 및 결정된 매칭도에 기반하여, 이미지 세트에서 기설정 개수의 이미지를 선택하고, 선택된 이미지를 송신하는 송신 유닛을 포함하되, 획득 유닛은 또한, 타깃 아이템에 대응되는 키워드 세트 중의 키워드의 단어 벡터로 구성되는 제2 매트릭스를 획득하도록 구성되며, 키워드 세트 중의 키워드는 타깃 아이템을 설명하기 위한 것이고; 획득 유닛은 또한, 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 얻은 제3 매트릭스 세트를 획득하도록 구성된다.
일부 실시예에서, 결정 유닛은 또한, 제1 매트릭스의 제1 기설정 가중치를 획득하고, 제2 매트릭스의 제2 기설정 가중치를 획득하며; 획득된 제1 기설정 가중치 및 제2 기설정 가중치에 기반하여, 제1 매트릭스와 상기 제3 매트릭스의 매칭도 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도의 가중합에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정하도록 구성된다.
일부 실시예에서, 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 제3 매트릭스의 매칭도는, 각각 제1 매트릭스, 제2 매트릭스, 상기 제3 매트릭스를 타깃 매트릭스로 사용하고, 타깃 매트릭스에 대해 코딩 처리를 수행하여, 제1 코딩 매트릭스, 제2 코딩 매트릭스, 제3 코딩 매트릭스를 얻되, 코딩 처리는 타깃 매트릭스를 이진법 코딩 매트릭스로 매핑하기 위한 것인 단계; 및 제1 코딩 매트릭스와 제3 코딩 매트릭스의 매칭도를 제1 매트릭스와 상기 제3 매트릭스의 매칭도로 결정하고, 제2 코딩 매트릭스와 제3 코딩 매트릭스의 매칭도를 제2 매트릭스와 상기 제3 매트릭스의 매칭도로 결정하는 단계를 통해 결정된다.
일부 실시예에서, 코딩 처리는, 타깃 매트릭스의 각 행 벡터 중의 행 벡터 S에 대해, S에 포함되는 각 요소를 C 그룹으로 분해하되, C는 코딩 매트릭스의 열 개수를 표시하는 단계; C 그룹 중의 그룹에 대해, 상기 그룹에 포함되는 요소의 값의 통계적 특징을 결정하고; 얻은 통계적 특징이 타깃 임계값 T보다 큰 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 1로 결정하며; 얻은 통계적 특징이 T보다 작은 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 0으로 결정하는 단계; 및 C 그룹 중의 각 그룹에 각각 대응되는 코딩 값은 코딩 매트릭스의 한 행을 구성하여, 코딩 매트릭스를 얻는 단계를 수행하는 것을 포함한다.
일부 실시예에서, S에 포함되는 각 요소를 C 그룹으로 분해하는 단계는, S에 포함되는 요소의 개수와 C의 엔트로피를 결정하고, 결정된 엔트로피에 따라 C 그룹 중의 각 그룹에 포함되는 요소의 개수를 결정하는 단계를 포함한다.
일부 실시예에서,
Figure pct00002
이고, 여기서, D는 S에 포함되는 요소의 개수를 표시하고, Si는 S의 i번째 요소의 값을 표시한다.
일부 실시예에서, 코딩 처리는, 타깃 매트릭스의 각 행 벡터에 대해 각각, 행 벡터에 대해 정규화 처리를 수행하고, 행 벡터의 정규화 결과에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 업데이트 처리를 수행하여 업데이트된 타깃 매트릭스를 얻으며, 여기서, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값과 각 요소에 각각 대응되는 정규화 결과는 양의 상관 관계이고; 업데이트된 타깃 매트릭스의 각 행 벡터 중의 행 벡터 S에 대해, S에 포함되는 각 요소를 C 그룹으로 분해하되, C는 코딩 매트릭스의 열 개수를 표시하는 단계; C 그룹 중의 그룹에 대해, 상기 그룹에 포함되는 요소의 값의 통계적 특징을 결정하고; 얻은 통계적 특징이 타깃 임계값 T보다 큰 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 1로 결정하며; 얻은 통계적 특징이 T보다 작은 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 0으로 결정하는 단계; C 그룹 중의 각 그룹에 각각 대응되는 코딩 값은 코딩 매트릭스의 한 행을 구성하여, 코딩 매트릭스를 얻는 단계를 수행하는 것을 포함한다.
일부 실시예에서, 행 벡터의 정규화 결과에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계는, 행 벡터의 정규화 결과 및 기설정 조절 파라미터 λ에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계를 포함하되, 여기서, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값은 λ와 양의 상관 관계이다.
일부 실시예에서, 행 벡터의 정규화 결과 및 기설정 조절 파라미터 λ에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계는, 행 벡터에 포함되는 각 요소 중의 요소에 대해, 상기 요소에 대응되는 정규화 결과와 λ의 곱셈의 제곱근을 상기 요소에 대응되는 업데이트 값으로 결정하는 단계를 포함한다.
일부 실시예에서, 제1 매트릭스는, 스케치를 적어도 두 개의 서브 이미지로 분해하는 단계; 미리 트레이닝된 콘볼루션 신경망을 이용하여 각각 적어도 두 개의 서브 이미지에 대해 특징 추출을 수행하여, 적어도 두 개의 서브 이미지에 각각 대응되는 특징 벡터를 얻는 단계; 및 적어도 두 개의 서브 이미지에 각각 대응되는 특징 벡터로 구성되는 매트릭스를 제1 매트릭스로 결정하는 단계를 통해 획득된다.
일부 실시예에서, 콘볼루션 신경망은, 스케치 세트를 획득하고, 스케치 세트 중의 각 스케치에 각각 대응되는 매칭 이미지 세트를 획득하되, 여기서, 스케치 및 대응되는 매칭 이미지 세트 중의 매칭 이미지는 동일한 아이템을 나타내기 위한 것이며; 스케치 세트에서 스케치를 선택하고, 하기와 같은 트레이닝 단계를 수행하되, 상기 단계는, 초기 모델을 이용하여 선택된 스케치 및 타깃 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 스케치 및 타깃 이미지 세트 중의 각 이미지에 각각 대응되는 출력 매트릭스를 얻는 단계; 얻은 스케치에 대응되는 출력 매트릭스가 각각 타깃 이미지 세트 중의 각 이미지에 각각 대응되는 출력 매트릭스의 매칭도에 대응되는 것으로 결정하고 , 대응되는 매칭도가 기설정 임계값보다 큰 이미지를 선택하는 단계; 선택된 이미지 및 입력된 스케치에 대응되는 매칭 이미지 세트에 따라, 선택된 이미지에 대응되는 재현율 및/또는 정확률을 결정하고, 결정된 재현율 및/또는 정확률에 따라, 초기 모델이 트레이닝 완료되었는 지의 여부를 결정하는 단계이며, 초기 모델이 트레이닝 완료된 것으로 결정된 것에 응답하여, 트레이닝 완료된 초기 모델을 콘볼루션 신경망으로 결정하는 단계; 및 초기 모델이 트레이닝 미완료된 것으로 결정된 것에 응답하여, 결정된 재현율 및/또는 정확률에 따라, 초기 모델의 파라미터를 조절하고, 조절된 초기 모델을 초기 모델로 결정하며, 스케치 세트에서 스케치를 다시 선택하여, 계속하여 상기 트레이닝 단계를 수행하는 단계를 통해 트레이닝되어 획득된다.
제3 양태에 따르면, 본 발명의 실시예는 전자 기기를 제공하는 바, 상기 전자 기기는 하나 이상의 프로세서; 하나 이상의 프로그램을 저장하는 저장 장치를 포함하되; 하나 이상의 프로그램이 하나 이상의 프로세서에 의해 실행될 경우, 하나 이상의 프로세서가 제1 양태 중 어느 하나의 실시형태와 같이 설명된 방법을 구현하도록 한다.
제4 양태에 따르면, 본 발명의 실시예는 컴퓨터 프로그램이 저장되는 컴퓨터 판독 가능 매체를 제공하는 바, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 경우 제1 양태 중 어느 하나의 실시형태와 같이 설명된 방법을 구현한다.
본 발명의 실시예에서 제공하는 이미지 검색 방법 및 장치는, 아이템의 스케치 및 대응되는 키워드에 따라 각각 이미지 세트 중의 각 이미지와 매칭하고, 매칭 결과에 따라 검색 결과를 결정하며, 사용자가 아이템의 원본 이미지를 검색에 제공하지 못할 경우, 아이템의 스케치를 이용하여 검색을 구현할 수 있고, 아이템의 키워드를 동시에 이용하여 검색함으로써, 검색 과정이 이미지의 시맨틱 정보에 융합되도록 하여, 이미지의 오검 확률과 검출 누락 확률을 감소하여, 검색 결과의 정확성을 향상한다.
하기의 도면에 따른 비한정적인 실시예의 상세한 설명을 열독 및 참조하면, 본 발명의 기타 특징, 목적 및 장점은 더욱 뚜렷해진다.
도 1은 본 발명의 일 실시예가 응용 가능한 예시적인 시스템의 아키텍처도이다.
도 2는 본 발명의 이미지 검색 방법에 따른 실시예의 흐름도이다.
도 3은 본 발명의 실시예에 따른 이미지 검색 방법의 응용 장면의 모식도이다.
도 4는 본 발명의 이미지 검색 방법에 따른 다른 한 실시예의 흐름도이다.
도 5는 본 발명의 이미지 검색 장치에 따른 실시예의 구조 모식도이다.
도 6은 본 발명의 실시예를 구현하기 위한 전자 기기의 구조 모식도이다.
아래 첨부 도면 및 실시예를 참조하여 본 발명을 더 상세히 설명한다. 여기서 설명되는 구체적인 실시예는 관련 발명을 해석하기 위한 것일뿐 본 발명은 이에 한정되지 않음을 이해할 수 있을 것이다. 이 밖에, 설명의 편의를 위해 도면에는 해당 발명과 관련된 부분만이 도시되었음을 유의해야 한다.
모순되지 않는 한 본 발명의 실시예 및 실시예의 특징은 서로 조합될 수 있음을 유의해야 한다. 아래 첨부 도면을 참조하고 실시예를 참조하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 이미지 검색 방법 또는 이미지 검색 장치를 구현할 수 있는 예시적 시스템 아키텍처(100)이다.
도 1에 도시된 바와 같이, 시스템 아키텍처(100)는 단말 기기(101, 102, 103), 네트워크(104) 및 서버(105)를 포함할 수 있다. 네트워크(104)는 단말 기기(101, 102, 103)와 서버(105) 사이에서 통신 링크의 매체를 제공한다. 네트워크(104)는 다양한 연결 타입을 포함할 수 있는 바, 예를 들면 유선, 무선 통신 링크 또는 광섬유 케이블 등이다.
단말 기기(101, 102, 103)는 네트워크(104)를 통해 서버(105)와 인터랙션을 진행함으로써 메시지 등을 송수신할 수 있다. 단말 기기(101, 102, 103)에는 다양한 통신 클라이언트 애플리케이션이 설치될 수 있는 바, 예를 들면, 브라우저 애플리케이션, 검색 애플리케이션, 이미지 처리 애플리케이션 등이다.
단말 기기(101, 102, 103)는 하드웨어일 수 있고 소프트웨어일 수도 있다. 단말 기기(101, 102, 103)가 하드웨어인 경우 다양한 전자 기기일 수 있으며, 스마트폰, 태블릿PC, 전자책 단말기, 휴대형 랩톱 및 데스크톱 등을 포함하나 이에 한정되는 것은 아니다. 단말 기기(101, 102, 103)가 소프트웨어인 경우 상기 열거된 전자 기기에 설치될 수 있다. 복수의 소프트웨어 또는 소프트웨어 모듈(예를 들면 분산형 서비스를 제공하기 위한 복수 개의 소프트웨어 또는 소프트웨어 모듈)로 구현되거나, 하나의 소프트웨어 또는 소프트웨어 모듈로 구현될 수 있으며 여기서는 구체적으로 한정하지 않는다.
서버(105)는 다양한 서비스를 제공하는 서버일 수 있고, 예를 들면 단말 기기(101, 102, 103)에 설치된 클라이언트 애플리케이션이 백엔드 지원의 백그라운드 서버를 제공한다. 서버(105)는 단말 기기(101, 102, 103)가 송신한 타깃 아이템의 스케치 및 키워드 세트를 수신할 수 있고, 타깃 아이템의 스케치 및 키워드 세트를 각각 처리하여, 처리 결과에 따라 이미지 세트에서 타깃 아이템의 스케치 및 키워드 세트와 매칭되는 이미지를 선택하고, 선택된 이미지를 단말 기기(101, 102, 103)에 송신한다.
설명해야 할 것은, 상기 타깃 아이템의 스케치 및 키워드 세트는 서버(105)의 로컬에 직접 저장될 수도 있고, 서버(105)는 로컬에 저장된 타깃 아이템의 스케치 및 키워드 세트를 직접 추출하여 처리할 수 있으며, 이때, 단말 기기(101, 102, 103) 및 네트워크(104)가 존재하지 않을 수 있다.
설명해야 할 것은, 본 발명의 실시예에서 제공하는 이미지 검색 방법은 일반적으로 서버(105)에 의해 수행되고, 상응하게, 이미지 검색 장치는 일반적으로 서버(105)에 설치된다.
또 지적해야 할 것은, 단말 기기(101, 102, 103)에 이미지 처리 애플리케이션을 설치할 수도 있고, 단말 기기(101, 102, 103)는 이미지 처리 애플리케이션에 기반하여 안면 이미지를 처리할 수도 있으며, 이때, 이미지 검색 방법은 단말 기기(101, 102, 103)로 수행할 수도 있고, 상응하게, 이미지 검색 장치는 단말 기기(101, 102, 103)에 설치될 수도 있다. 이때, 예시적인 아키텍처(100)에는 서버(105) 및 네트워크(104)가 존재하지 않을 수 있다.
설명해야 할 것은, 서버(105)는 하드웨어일 수 있고, 소프트웨어일 수도 있다. 서버가 하드웨어일 경우, 복수 개의 서버로 구성된 분산형 서버 클러스터로 구현될 수 있고, 하나의 서버로 구현될 수도 있다. 서버(105)가 소프트웨어인 경우 복수의 소프트웨어 또는 소프트웨어 모듈(예를 들면 분산형 서비스를 제공하는 복수 개의 소프트웨어 또는 소프트웨어 모듈)로 구현되거나, 하나의 소프트웨어 또는 소프트웨어 모듈로 구현될 수 있으며 여기서는 구체적으로 한정하지 않는다.
이해해야 할 것은 도 1 중의 단말 기기, 네트워크 및 서버의 개수는 예시적인 것일 뿐이며, 실제 필요에 따라 임의의 개수의 단말 기기, 네트워크 및 서버를 구비할 수 있다.
계속하여 도 2를 참조하면, 본 발명의 이미지 검색 방법에 따른 실시예의 흐름(200)이다. 상기 이미지 검색 방법은 하기의 단계를 포함한다.
단계(201)에서, 타깃 아이템의 스케치에 대해 특징 추출을 수행하여 얻은 제1 매트릭스를 획득한다.
본 실시예에서, 타깃 아이템은 사용자의 검색 타깃일 수 있는 바, 즉 사용자가 검색하고자 하는 이미지가 종래의 아이템을 나타낸다. 타깃 아이템의 스케치는 아이템의 설계 또는 형체 개념을 초기화로 표현하기 위한 것일 수 있다. 예를 들면, 타깃 아이템의 스케치는 아이템의 구조 및 크기, 및 아이템의 각 부재의 상대적인 위치 관계 등을 나타낼 수 있다.
본 실시예에서, 사용자는 타깃 아이템의 스케치를 제작할 수 있고, 사용자가 기존의 일부 스케치 라이브러리(예컨대 Sketchy이미지 라이브러리)에서 타깃 아이템의 스케치를 선택할 수도 있다.
본 실시예에서, 스케치에 대해 특징 추출을 수행하는 것은 스케치의 일부 이미지 정보를 추출할 수 있다. 일반적으로, 스케치에 대해 분석 처리를 수행하여 스케치의 각 픽셀점이 스케치의 어느 한 특징을 표현할 수 있는 지의 여부를 결정할 수 있다. 구체적으로, 기존의 다양한 이미지 특징 추출 방법을 이용하여 스케치에 대해 특징 추출을 수행할 수 있다.
예를 들면, SURF(척도 불편 특징의 변환)에 기반한 특징 추출 방법을 이용하여 타깃 아이템의 스케치의 특징을 추출할 수 있다. 또 예를 들면, 딥러닝의 특징 추출 방법에 기반하여 타깃 아이템의 스케치의 특징을 추출할 수 있다.
선택 가능하게, 스케치에 대한 특징 추출 결과는 특징 벡터일 수 있다. 이때, 추출하여 얻은 특징 벡터를 상기 제1 매트릭스로 간주할 수 있다.
본 실시예의 일부 선택 가능한 실시형태에서, 먼저 스케치를 적어도 두 개의 서브 이미지로 분해할 수 있다. 그 다음 미리 트레이닝된 콘볼루션 신경망을 이용하여 각각 적어도 두 개의 서브 이미지에 대해 특징 추출을 수행하여, 적어도 두 개의 서브 이미지에 각각 대응되는 특징 벡터를 얻으며, 적어도 두 개의 서브 이미지에 각각 대응되는 특징 벡터로 구성되는 매트릭스를 상기 제1 매트릭스로 간주할 수 있다.
여기서, 스케치에 대한 분해 방법은 유연하게 선택할 수 있다. 예를 들면, 스케치의 기하 중심을 중심점으로 할 수 있고, 수평 및 수직 두 개 방향으로, 스케치를 4개의 서브 이미지로 평균 분해할 수 있다.
여기서, 획득된 적어도 두 개의 서브 이미지에 각각 대응되는 특징 벡터가 매트릭스를 구성하는 방식은 본 기술분야의 통상의 기술자에 의해 미리 설정될 수 있다. 예를 들면, 지정된 순서에 따라 순차적으로 배열하여 제1 매트릭스를 얻는다.
스케치를 분해하는 방식을 통해, 이후의 매칭 과정에서 목적성이 있게 대응 위치의 이미지 영역을 매칭하도록 하는 바, 즉 매칭 과정에서 더욱 정확한 위치 정보를 구비하도록 하여, 매칭 결과의 정확도의 증가에 유리하며, 검색 결과의 정확도를 더 향상할 수 있다.
콘볼루션 신경망을 이용하여 타깃 아이템의 스케치에 대해 특징 추출을 수행할 경우, 콘볼루션 신경망은 이미지의 특징을 추출하기 위한, 사전 트레이닝 완료된 다양한 타입의 신경망(예컨대 딥러닝 모델 등)일 수 있다.
일반적으로, 콘볼루션 신경망은 몇몇의 콘볼루션층, 풀링층, 완전 연결층으로 구성될 수 있다. 여기서, 콘볼루션층은 콘볼루션층에 입력된 이미지에 대해 콘볼루션 조작을 수행하여 특징을 추출하기 위한 것이고, 풀링층은 콘볼루션층의 출력 결과에 대해 압축하여 주요 특징을 추출하기 위한 것이며, 완전 연결층은 추출하여 얻은 이미지의 각 부분 특징을 융합하여, 완전 연결층 이전의 각 층에서 학습한 분산형 특징으로 샘플 표시 공간에 매핑한 것을 표시할 수 있다.
선택 가능하게, 이미지의 특징을 추출하기 위한 콘볼루션 신경망은 하기의 단계를 통해 트레이닝 획득될 수 있다.
단계(1)에서, 스케치 세트를 획득하고, 스케치 세트 중의 각 스케치에 각각 대응되는 매칭 이미지 세트를 획득한다.
본 단계에서, 다양한 이미지 처리 애플리케이션을 이용하여 대량의 스케치를 생성함으로써, 스케치 세트를 구성할 수 있고, 제3자 데이터 플랫폼에서 스케치 세트를 획득할 수도 있다. 스케치 세트에 대응되는 매칭 이미지 세트 중의 매칭 이미지 및 스케치는 동일한 아이템을 나타내기 위한 것일 수 있다. 여기서, 임의의 스케치에 대해, 상기 스케치에 대응되는 매칭 이미지 세트 중의 매칭 이미지는 기술자에 의해 지정될 수 있고, 제3자 데이터 플랫폼에서 획득할 수도 있다.
단계(2)에서, 스케치 세트에서 스케치를 선택하고, 하기의 트레이닝 단계(1) 내지 트레이닝 단계(3)을 수행한다.
본 단계에서, 스케치 세트에서 스케치를 선택하는 방식은 상이한 응용 장면에 따라 유연하게 설정할 수 있다. 예를 들면, 스케치 세트에서 기설정 개수의 스케치를 랜덤으로 선택할 수 있다. 또 예를 들면, 스케치 세트에서 선택되지 않은, 기설정 개수의 스케치를 선택할 수 있다.
트레이닝 단계(1)에서, 초기 모델을 이용하여 선택된 스케치 및 타깃 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여, 스케치 및 타깃 이미지 세트 중의 각 이미지에 각각 대응되는 출력 매트릭스를 얻는다.
여기서, 초기 모델은 다양한 타입의 트레이닝되지 않았거나 트레이닝 완료되지 않은 인공 신경망일 수 있다. 예를 들면, 딥러닝 모델이다. 초기 모델은 트레이닝되지 않았거나 트레이닝 완료되지 않은 다양한 인공 신경망에 대해 조합하여 얻은 모델일 수도 있다. 구체적으로, 기술자는 실제의 애플리케이션 수요에 따라(예컨대 콘볼루션층의 층수, 콘볼루션 커널의 크기 등) 초기 모델을 구축할 수 있다.
여기서, 타깃 이미지 세트는 기술자에 의해 미리 설정될 수 있다. 선택 가능하게, 타깃 이미지 세트는 상기 이미지 세트일 수 있다.
트레이닝 단계(2)에서, 얻은 스케치에 대응되는 출력 매트릭스가 각각 타깃 이미지 세트 중의 각 이미지에 각각 대응되는 출력 매트릭스의 매칭도에 대응되는 것으로 결정하고, 대응되는 매칭도가 기설정 임계값보다 큰 이미지를 선택한다.
여기서, 두 개의 출력 매트릭스의 매칭도의 산출 방법은 기존의 다양한 매트릭스 매칭 알고리즘을 사용할 수 있다. 예를 들면, 기설정 방식에 따라 각각 두 개의 매트릭스를 벡터로 플래트닝하고, 그 다음 산출하여 얻은 두 개의 벡터 사이의 유사도를 두 개의 출력 매트릭스의 매칭도로 한다.
여기서, 기설정 임계값은 기술자에 의해 실제의 응용 수요에 따라 미리 설정할 수 있다.
트레이닝 단계(3)에서, 선택된 이미지 및 입력된 스케치에 대응되는 매칭 이미지 세트에 따라, 선택된 이미지에 대응되는 재현율 및/또는 정확률을 결정하고, 결정된 재현율 및/또는 정확률에 따라, 초기 모델이 트레이닝 완료되었는 지의 여부를 결정한다.
여기서, 재현율은 원하는 이미지가 검출될 정도를 특성화하기 위한 것이다. 일반적으로, 재현율은 선택된 이미지 및 매칭 이미지 세트의 교집합에 포함되는 이미지 개수와 타깃 이미지 세트에 포함된, 입력된 스케치와 동일한 아이템을 나타내는 이미지의 총 개수의 비율로 표시될 수 있다.
여기서, 정확률은 검색된 기대 이미지가 검색된 모든 이미지에서 차지하는 백분율을 특성화할 수 있다. 일반적으로, 정확률은 선택된 이미지 및 매칭 이미지 세트의 교집합에 포함되는 이미지 개수와 매칭 이미지 세트에 포함되는 이미지의 총 개수의 비율을 이용하여 표시할 수 있다.
선택 가능하게, 재현율 및/또는 정확률을 결정한 후, 기설정된 손실 함수의 값을 결정할 수 있고, 결정된 손실 함수의 값에 따라 초기 모델이 트레이닝 완료되었는 지의 여부를 결정한다. 여기서, 손실 함수의 산출 방식은 기술자에 의해 미리 설정될 수 있다. 예를 들면, 기설정된 손실 함수는 결정된 재현율 및/또는 정확률과 기설정된 재현율 및/또는 정확률의 차이 정도를 특성화할 수 있다. 이때, 결정된 손실 함수의 값이 기설정 손실 임계값보다 작은 지의 여부에 따라 초기 모델이 트레이닝 완료되었는 지의 여부를 결정한다.
결정된 재현율 및/또는 정확률에 따라, 초기 모델 트레이닝이 완료된 것으로 결정된다면, 트레이닝 완료된 초기 모델이 상기 이미지의 특징을 추출하기 위한 콘볼루션 신경망인 것으로 결정할 수 있다.
결정된 재현율 및/또는 정확률에 따라, 초기 모델이 트레이닝 완료되지 않은 것으로 결정되면, 결정된 재현율 및/또는 정확률에 따라, 초기 모델의 파라미터를 조절하고, 조절된 후의 초기 모델을 초기 모델로 결정할 수 있으며, 스케치 세트에서 스케치를 다시 선택하여, 계속하여 상기 트레이닝 단계(1) 내지 트레이닝 단계(3)을 수행한다.
구체적으로, 손실 함수의 값에 따라, 기울기 하강 및 오차역전파법을 이용하여 초기 모델 각 층의 파라미터를 조절하여, 조절된 후의 초기 모델에 대응되는 재현율 및/또는 정확률이 최대한 비교적 높을 수 있도록 한다.
본 실시예에서, 다른 전자 기기로 먼저 타깃 아이템의 스케치에 대해 특징 추출을 수행하여 제1 매트릭스를 얻을 수 있다. 이때, 이미지 검색 방법의 수행 주체(예컨대 도 1에 도시된 서버(105))는 다른 전자 기기로 제1 매트릭스를 획득할 수 있다. 이해할 수 있는 것은, 상기 수행 주체로 먼저 타깃 아이템의 스케치에 대해 특징 추출을 수행하여 제1 매트릭스를 얻을 수도 있다. 이때, 상기 수행 주체는 직접 로컬에서 제1 매트릭스를 획득할 수 있다.
단계(202)에서, 타깃 아이템에 대응되는 키워드 세트 중의 키워드의 단어 벡터로 구성되는 제2 매트릭스를 획득한다.
본 실시예에서, 키워드 세트 중의 키워드는 타깃 아이템을 설명하기 위한 것이다. 키워드 세트 중의 키워드는 사용자에 의해 미리 설정될 수 있다. 여기서, 키워드 세트 중의 키워드의 단어 벡터는 기존의 다양한 단어 벡터를 생성하기 위한 방법(예컨대 Word2Vec, FastText 등)을 이용하여 결정할 수 있다.
여기서, 키워드 세트 중의 각 키워드의 단어 벡터가 제2 매트릭스를 구성하는 방식은 기술자에 의해 미리 설정될 수 있다. 예를 들면, 기설정 순서에 따라, 각 키워드에 각각 대응되는 단어 벡터를 순차적으로 배열하여 상기 제2 매트릭스를 얻을 수 있다.
본 실시예에서, 다른 전자 기기에 의해 키워드 세트 중의 각 키워드의 단어 벡터를 미리 생성하고, 그 다음 제2 매트릭스를 얻는다. 이때, 상기 수행 주체는 다른 전자 기기에서 제2 매트릭스를 획득할 수 있다. 이해할 수 있는 것은, 상기 수행 주체에 의해 미리 키워드 세트 중의 각 키워드의 단어 벡터를 생성하고, 그 다음 제2 매트릭스를 얻을 수도 있다. 이때, 상기 수행 주체는 직접 로컬에서 제2 매트릭스를 획득할 수 있다.
선택 가능하게, 키워드의 단어 벡터를 미리 생성한 후, 키워드와 단어 벡터 사이의 대응 관계를 저장하여, 다음 번에 다시 사용할 경우, 키워드에 대응되는 단어 벡터를 직접 사용하도록 하여, 이미지 검색 속도를 향상하는 데 유리할 수 있다. 이때, 단어 벡터가 신경망(예컨대 Word2Vec 등)을 통해 얻은 것이라면, 일정 시간 간격 후에, 새로운 키워드 및 대응되는 단어 벡터를 이용하여 신경망을 다시 트레이닝하여, 신경망을 업데이트할 수도 있다.
단계(203)에서, 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 얻은 제3 매트릭스 세트를 획득한다.
본 실시예에서, 기존의 다양한 이미지 특징 추출 방법을 이용하여 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행할 수 있다. 예를 들면, SURF(척도 불변 특징 변환)에 기반한 특징 추출 방법을 이용하여 이미지 세트 중의 각 이미지의 특징을 추출할 수 있다. 또 예를 들면, 딥러닝에 기반한 특징 추출 방법을 이용하여 이미지 세트 중의 각 이미지의 특징을 추출할 수 있다.
선택 가능하게, 동일한 콘볼루션 신경망을 이용하여 각각 타깃 아이템의 스케치 및 이미지 세트 중의 각 이미지에 대해 특징 추출을 수행하여, 타깃 아이템의 스케치에 대응되는 제1 매트릭스 및 이미지 세트 중의 각 이미지에 각각 대응되는 제3 매트릭스를 얻을 수 있다.
선택 가능하게, 이미지 세트에 포함되는 이미지가 일반적으로 대용량이고, 이미지 세트의 업데이트 빈도는 통상적으로 매우 낮다. 따라서, 이미지 세트 중의 이미지에 대해 특징 추출을 미리 수행하여, 각 이미지에 각각 대응되는 제3 매트릭스를 얻은 후, 각 이미지와 대응되는 제3 매트릭스 사이의 대응 관계를 저장하여, 얻은 후 각 이미지에 대응되는 제3 매트릭스를 직접 사용하므로, 각 이미지를 다시 처리하여 각 이미지에 각각 대응되는 제3 매트릭스를 얻을 필요가 없기에, 이미지 검색 속도의 향상에 유리하다. 이미지 세트가 업데이트될 경우, 업데이트 부분과 대응되는 제3 매트릭스 사이의 대응 관계를 더 저장할 수 있다. 이때, 제3 매트릭스가 콘볼루션 신경망을 이용하여 얻은 것이면, 이미지 세트가 업데이트될 경우, 업데이트 부분을 이용하여 콘볼루션 신경망을 더욱 트레이닝하여, 콘볼루션 신경망을 업데이트할 수도 있다.
단계(204)에서, 제3 매트릭스 세트 중의 제3 매트릭스에 대해, 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 제3 매트릭스의 매칭도에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정한다.
본 실시예에서, 기존의 다양한 매트릭스 매칭 알고리즘을 이용하여 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도를 산출할 수 있다. 획득된 두 개의 매칭도 종합에 기반하여 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정한다. 여기서, 구체적으로, 획득된 두 개의 매칭도 종합에 기반하여 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정하는 방법을 유연하게 설정할 수 있다.
선택 가능하게, 양자 중의 최대치 또는 양자의 평균치를 결정하여 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도로 할 수 있다.
선택 가능하게, 제1 매트릭스의 제1 기설정 가중치를 획득하고, 제2 매트릭스의 제2 기설정 가중치를 획득할 수 있다. 그 다음 획득된 제1 기설정 가중치 및 제2 기설정 가중치에 기반하여, 제1 매트릭스와 상기 제3 매트릭스의 매칭도 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도의 가중합에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정한다.
여기서, 제1 기설정 가중치 및 제2 기설정 가중치는 기술자에 의해 미리 설정될 수 있고, 사용자에 의해 제1 기설정 가중치 및 제2 기설정 가중치가 입력될 수도 있다. 선택 가능하게, 제1 기설정 가중치 및 제2 가중치의 값의 범위는 [0-1]일 수 있고, 제1 기설정 가중치 및 제2 기설정 가중치의 합은 1과 같다.
선택 가능하게, 제1 매트릭스와 상기 제3 매트릭스의 매칭도 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도의 가중합을 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도로 결정할 수 있고, 가중합을 결정한 후, 가중합에 대응되는 기설정 함수의 값을 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도로 할 수도 있다. 여기서, 기설정 함수는 기술자에 의해 미리 설정될 수 있다.
이해할 수 있는 것은, 일부 상황에서 사용자가 제1 기설정 가중치를 0 또는 제2 기설정 가중치를 0으로 설정할 경우, 단지 타깃 아이템의 스케치 또는 타깃 아이템의 키워드 세트 중의 키워드에 따라 이미지 검색을 구현할 수 있다. 즉 사용자는 실제 수요에 따라 상이한 검색 방식을 유연하게 설정하여, 타깃 아이템의 스케치 및 타깃 아이템의 키워드 세트 중의 키워드가 검색 결과에 대한 영향 정도를 제어함으로써, 검색 결과의 정확도의 향상에 유리하다.
단계(205)에서, 결정된 매칭도에 기반하여, 이미지 세트에서 기설정 개수의 이미지를 선택하고, 선택된 이미지를 송신한다.
본 실시예에서, 기설정 개수는 기술자에 의해 미리 설정될 수 있다. 이미지 세트 중의 각 이미지가 매칭도에 각각 대응되는 것을 얻은 후, 이미지 세트에서 이미지를 선택하는 방식은 유연하게 설정할 수 있다.
예를 들면, 대응되는 매칭도가 높은 것에서 낮은 것으로의 순서에 따라, 이미지 세트에서 기설정 개수의 이미지를 선택한다. 또 예를 들면, 기설정된 매칭도 임계값에 따라 이미지 세트에서 이미지 서브 세트를 먼저 선택하고, 그 다음 이미지 서브 세트에서 기설정 개수의 이미지를 선택한다.
본 실시예에서, 이미지 세트에서 선택된 이미지를 다른 전자 기기에 송신할 수 있다. 예를 들면, 상기 수행 주체와 연결되는 사용자 단말기(예컨대 도 1에 도시된 바와 같은 단말 기기(101, 102, 103))에 송신할 수 있다.
선택 가능하게, 타깃 아이템의 스케치와 이미지 세트에서 선택된 이미지 사이의 대응 관계를 저장할 수도 있다. 이로써, 타깃 아이템의 스케치를 다시 획득할 경우, 저장된 대응 관계에 따라, 타깃 아이템의 스케치와 매칭되는, 이미지 세트 중의 이미지를 신속하게 획득할 수 있다.
계속하여 도 3을 참조하면, 도 3은 본 실시예에 따른 이미지 검색 방법의 응용 장면의 모식도(300)이다. 도 3의 응용 장면에서, 상기 수행 주체는 사용자는 이가 사용하는 단말 장치(308)를 통해 입력한 스케치(301)를 미리 획득하고, 그 다음 스케치(301)의 기하 중심을 중심점으로 하여, 수평 및 수직 두 개의 방향에서, 스케치(301)를 서브 이미지(3011), 서브 이미지(3012), 서브 이미지(3013) 및 서브 이미지(3014)로 분해한다. 그 후, 얻은 4개의 서브 이미지를 각각 미리 트레이닝된 콘볼루션 신경망에 입력하여, 4개의 서브 이미지에 각각 대응되는 특징 벡터를 얻을 수 있으며, 4개의 서브 이미지에 각각 대응되는 특징 벡터로 제1 매트릭스(302)를 구성한다.
상기 수행 주체는 사용자가 단말 장치(308)를 통해 입력한 키워드 세트(303)를 먼저 획득할 수 있다. 여기서, 키워드 세트(303)는 "물컵", "작은 용량", "뚜껑 없음" 및 "손잡이 달림" 총 4개의 키워드를 포함한다. 그 후, 미리 트레이닝된 Word2Vec 모델을 이용하여 4개의 키워드에 각각 대응되는 단어 벡터를 생성할 수 있고, 4개의 키워드에 각각 대응되는 단어 벡터로 구성되는 제2 매트릭스(304)를 얻는다.
상기 수행 주체는 이미지 세트(305) 중의 각 이미지를 미리 처리하여, 각 이미지에 각각 대응되는 제3 매트릭스를 얻으며, 제3 매트릭스 세트(306)를 얻을 수 있다. 여기서, 이미지 세트(305) 중의 이미지의 처리 과정은 상기 스케치(301)의 처리 과정과 유사하다. 이미지 세트(305) 중의 하나의 이미지를 구현예로 설명하면, 상기 이미지의 기하 중심을 중심점으로 하고, 수평 및 수직 두 개의 방향에서, 상기 이미지를 4개의 서브 이미지로 분해한다. 그 후, 얻은 4개의 서브 이미지를 각각 미리 트레이닝된 콘볼루션 신경망에 입력하여, 4개의 서브 이미지에 각각 대응되는 특징 벡터를 얻고, 4개의 서브 이미지에 각각 대응되는 특징 벡터로 상기 이미지에 대응되는 제3 매트릭스를 구성할 수 있다.
그 후, 제3 매트릭스 세트(306) 중의 각 제3 매트릭스에 각각 대응되는 종합 매칭도를 결정할 수 있다. 제3 매트릭스 세트(306) 중의 하나의 제3 매트릭스를 구현예로 설명하면, 상기 제3 매트릭스와 제1 매트릭스(302)의 매칭도를 각각 제1 매칭도로 결정할 수 있고, 아울러 상기 제3 매트릭스와 제2 매트릭스(304)의 매칭도를 제2 매칭도로 결정한다. 그 다음 미리 설정된 제1 가중치 및 제2 가중치에 따라, 제1 매칭도 및 제2 매칭도의 가중합을 상기 제3 매트릭스에 대응되는 종합 매칭도로 결정할 수 있다.
그 후, 대응되는 매칭도를 큰 것에서 작은 것으로의 순서에 따라, 이미지 세트(305)에서 기설정 개수의 이미지를 선택하여 타깃 이미지로 하고, 타깃 이미지 세트(307)를 얻으며, 타깃 이미지 세트(307)를 사용자가 사용하는 단말 장치(308)에 푸시하여 디스플레이한다.
본 발명의 상기 실시예에서 제공하는 이미지 검색 방법은 아이템의 스케치 및 키워드에 기반하여 검색하는 것을 구현하여, 사용자가 아이템의 원본 이미지를 제공할 수 없어 초래되는 검색 불가 또는 검색 결과 정확도가 비교적 낮은 상황을 방지할 수 있다. 아울러, 스케치가 제공하는 아이템의 크기, 구조 등 특징, 및 키워드가 제공하는 아이템의 시맨틱 특징을 결합하여, 검색 결과의 정확성을 보장한다.
도 4를 더 참조하면, 이미지 검색 방법의 또 하나의 실시예의 흐름(400)을 시사하였다. 상기 이미지 검색 방법의 흐름(400)은 하기의 단계를 포함한다.
단계(401)에서, 타깃 아이템의 스케치에 대해 특징 추출을 수행하여 얻은 제1 매트릭스를 획득한다.
단계(402)에서, 타깃 아이템에 대응되는 키워드 세트 중의 키워드의 단어 벡터로 구성되는 제2 매트릭스를 획득한다.
단계(403)에서, 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 얻은 제3 매트릭스 세트를 획득한다.
상기 단계(401), 단계(402) 및 단계(403)의 구체적인 수행 과정은 도 2에 대응되는 실시예 중의 단계(201), 단계(202) 및 단계(203)의 관련 설명을 참조할 수 있고, 여기서 더 설명하지 않는다.
단계(404)에서, 제3 매트릭스 세트 중의 제3 매트릭스에 대해, 각각 제1 매트릭스, 제2 매트릭스, 상기 제3 매트릭스를 타깃 매트릭스로 사용하고, 타깃 매트릭스에 대해 코딩 처리를 수행하여, 제1 코딩 매트릭스, 제2 코딩 매트릭스, 제3 코딩 매트릭스를 얻는다.
본 실시예에서, 코딩 처리는 타깃 매트릭스를 이진법 코딩 매트릭스로 매핑하기 위한 것일 수 있다. 여기서, 이진법 코딩 매트릭스는 포함되는 요소의 값이 "0" 및 "1"인 매트릭스를 가리킬 수 있다.
선택 가능하게, 코딩 처리는, 먼저 타깃 매트릭스를 기설정 차원의 매트릭스로 전환하고, 그 다음 매트릭스 중의 각 요소에 대해 정규화 처리를 수행하여, 매트릭스에 포함되는 각 요소의 값의 범위가 [0-1]이 되도록 하는 것을 포함할 수 있다. 그 후, 값이 기설정 기준치보다 큰 요소의 코딩 값을 "1"로 설정하고, 값이 기설정 기준치보다 크지 않은 요소의 코딩 값을 "0"으로 설정할 수 있다. 여기서, 기설정 차원 및 기설정 기준치는 모두 기술자에 의해 미리 설정될 수 있다.
여기서, 기존의 일부 데이터 처리 애플리케이션을 이용하여 타깃 매트릭스를 기설정 차원의 매트릭스로 전환할 수 있고, 기설정 차원에 따라 풀링 윈도우를 설정하여, 타깃에 대해 풀링 조작(예컨대 평균 풀링)을 수행하여, 타깃 매트릭스를 기설정 차원의 매트릭스로 전환할 수도 있다.
제1 매트릭스, 제2 매트릭스, 제3 매트릭스에 대해 코딩 처리를 수행하는 것을 통해, 대응되게 생성된 제1 코딩 매트릭스, 제2 코딩 매트릭스, 제3 코딩 매트릭스의 차원을 제어할 수 있고, 제1 코딩 매트릭스, 제2 코딩 매트릭스, 제3 코딩 매트릭스를 이진법 코딩 매트릭스로 되도록 함으로써, 차후 매트릭스 매칭을 수행하는 난이도를 감소하여, 매트릭스 매칭의 속도를 크게 향상할 수 있다.
선택 가능하게, 코딩 처리는 하기의 단계를 포함할 수 있다.
(1) 타깃 매트릭스의 각 행 벡터 중의 행 벡터 S에 대해, 하기의 단계를 수행할 수 있다.
단계(1)에서, S에 포함되는 각 요소를 C 그룹으로 분해한다. 여기서, C는 코딩 매트릭스의 열 개수를 표시할 수 있다.
본 단계에서, C는 기술자에 의해 미리 설정될 수 있다. 분해하여 얻은 각 구성 성분에 각각 포함되는 요소의 개수도 기술자에 의해 미리 설정될 수 있다.
선택 가능하게, S에 포함되는 요소의 개수와 C의 엔트로피를 먼저 결정하고, 그 다음 결정된 엔트로피에 따라 C 그룹 중의 각 그룹에 포함되는 요소의 개수를 결정할 수 있다.
예를 들면, 최대한 많은 그룹에 포함되는 요소 개수가 결정된 엔트로피의 반올림 또는 버림 끝수 자름의 결과와 같도록 한다.
단계(2)에서, C 그룹 중의 그룹에 대해, 상기 그룹에 포함되는 요소의 값의 통계적 특징을 결정한다.
본 단계에서, 통계적 특징은 총합, 기대, 제곱, 최대치, 기준차 중의 하나를 포함하지만 이에 한하지 않는다. 구체적으로 어떠한 통계적 특징을 사용하는 지는 기술자에 의해 상이한 응용 장면에 따라 선택될 수 있다.
단계(3)에서, 얻은 통계적 특징이 타깃 임계값 T보다 큰 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 1로 결정하며; 얻은 통계적 특징이 T보다 작은 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 0으로 결정한다.
본 단계에서, 타깃 임계값 T는 기술자에 의해 미리 설정될 수 있다.
선택 가능하게,
Figure pct00003
이다. 여기서, D는 S에 포함될 수 있는 요소의 개수를 표시하고, Si는 S의 i번째 요소의 값을 표시한다.
(2) C 그룹 중의 각 그룹에 각각 대응되는 코딩 값은 코딩 매트릭스의 한 행을 구성하여, 코딩 매트릭스를 얻는다.
상이한 응용 장면에 따라, 각 행 벡터를 분해한 각 그룹에 포함되는 요소 개수를 제어하는 것을 통해, 각 구성 성분에 각각 대응되는 통계적 특징을 통계적 특징으로 하여 코딩 처리를 구현하는 것은, 더욱 많은 원시 정보를 보류하는 데 유리하고, 차후의 매트릭스 매칭 및 이미지 검색의 정확도를 향상한다.
선택 가능하게, 코딩 처리는 하기와 같이 포함할 수 있다.
첫째, 타깃 매트릭스의 각 행 벡터에 대해 각각 하기의 업데이트 처리를 수행하여 업데이트된 타깃 매트릭스를 획득하는 바, 행 벡터에 대해 정규화 처리를 수행하고, 행 벡터의 정규화 결과에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정한다. 여기서, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값과 각 요소에 각각 대응되는 정규화 결과는 양의 상관 관계이다.
여기서, 정규화 처리는 구체적으로, 먼저 행 벡터에 포함되는 각 요소의 값의 총합을 결정하고, 그 다음 행 벡터에 포함되는 각 요소를 결정하며 결정된 총합의 엔트로피를 각 요소에 대응되는 정규화 결과로 하는 것을 포함할 수 있다.
선택 가능하게, 각 요소에 대응되는 정규화 결과를 직접 각 요소에 각각 대응되는 업데이트 값으로 할 수 있다.
선택 가능하게, 행 벡터의 정규화 결과 및 기설정 조절 파라미터 λ에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정할 수 있다. 여기서, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값은 λ과 양의 상관 관계일 수 있다.
예를 들면, 행 벡터에 포함되는 각 요소 중의 요소에 대해, 상기 요소에 대응되는 정규화 결과와 λ의 곱셈을 결정하여 상기 요소에 대응되는 업데이트 값으로 할 수 있다. 또 예를 들면, 행 벡터에 포함되는 각 요소 중의 요소에 대해, 상기 요소에 대응되는 정규화 결과와 λ의 곱셈의 제곱근을 상기 요소에 대응되는 업데이트 값으로 결정할 수 있다.
둘째, 업데이트된 타깃 매트릭스의 각 행 벡터 중의 행 벡터 S에 대해, 하기의 단계를 수행하는 바, S에 포함되는 각 요소를 C 그룹으로 분해하되, C는 코딩 매트릭스의 열 개수를 표시하며; C 그룹 중의 그룹에 대해, 상기 그룹에 포함되는 요소의 값의 통계적 특징을 결정하고; 얻은 통계적 특징이 타깃 임계값 T보다 큰 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 1로 결정하며; 얻은 통계적 특징이 T보다 작은 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 0으로 결정한다.
셋째, C 그룹 중의 각 그룹에 각각 대응되는 코딩 값은 코딩 매트릭스의 한 행을 구성하여, 코딩 매트릭스를 얻을 수 있다.
여기서, 상기 단계의 둘째 및 셋째의 구체적인 수행 과정은 상기 단계(2) 및 (3)의 관련 설명을 참조 가능하며, 여기서 더 설명하지 않는다.
먼저 제1 매트릭스, 제2 매트릭스, 제3 매트릭스의 각 행 벡터에 대해 정규화 처리를 수행하여 제1 매트릭스, 제2 매트릭스, 제3 매트릭스를 업데이트하는 것을 통해, 제1 매트릭스, 제2 매트릭스, 제3 매트릭스의 노이즈를 감소할 수 있으며, 제1 매트릭스, 제2 매트릭스, 제3 매트릭스의 보편성과 안정성을 향상하고, 차후의 매트릭스 매칭 과정의 정확도를 보장할 수 있다.
단계(405)에서, 제1 코딩 매트릭스와 제3 코딩 매트릭스의 매칭도를 제1 매트릭스와 상기 제3 매트릭스의 매칭도로 결정하고, 제2 코딩 매트릭스와 제3 코딩 매트릭스의 매칭도를 제2 매트릭스와 상기 제3 매트릭스의 매칭도로 결정한다.
단계(406)에서, 결정된 매칭도에 기반하여, 이미지 세트에서 기설정 개수의 이미지를 선택하고, 선택된 이미지를 송신한다.
본 단계의 구체적인 수행 과정은 도 2의 대응되는 실시예 중의 단계(205)의 관련 설명을 참조 가능하기에, 여기서 더 설명하지 않는다.
설명해야 할 것은, 본 발명 중의 타깃 매트릭스(제1 매트릭스, 제2 매트릭스, 제3 매트릭스 세트 중의 제3 매트릭스를 포함)의 구체적인 구성 방식은 유연하게 설정할 수 있다. 예를 들면, 타깃 매트릭스가 벡터일 경우, 이는 행 벡터일 수 있고, 열 벡터일 수도 있다. 타깃 매트릭스가 약간의 벡터로 구성될 경우, 각 벡터를 행에 따라 타깃 매트릭스를 구성할 수 있고, 각 벡터를 열에 따라 타깃 매트릭스를 구성할 수도 있다. 매트릭스에 대해 말하자면, 하나의 매트릭스의 행은 상기 매트릭스의 전치 매트릭스의 열이다. 따라서, 본 발명의 "행"은 "열"로 대체될 수도 있고, 대응되는 "열"은 "행"으로 대체될 수도 있다.
도 4에서 볼 수 있다시피, 도 2에 대응되는 실시예와 비교하면, 본 실시예 중의 이미지 검색 방법의 흐름(400)은 매트릭스 매칭 과정에서, 매트릭스에 대해 코딩 처리를 수행하여, 매칭 산출을 위한 매트릭스의 차원 및 계산량을 제어함으로써, 매트릭스 매칭 과정의 난이도 및 계산량을 감소하였고, 매칭 속도를 증가하여, 이미지 검색 속도를 향상하였다.
도 5를 더 참조하면, 상기 각 도면에 도시된 방법에 대한 구현으로서, 본 발명은 이미지 검색 장치의 하나의 실시예를 제공하였고, 상기 장치 실시예는 도 2에 도시된 방법 실시예와 서로 대응되며, 상기 장치는 구체적으로 다양한 전자 기기에 응용될 수 있다.
도 5에 도시된 바와 같이, 본 실시예가 제공하는 이미지 검색 장치(500)는 획득 유닛(501), 결정 유닛(502) 및 송신 유닛(503)을 포함한다. 여기서, 획득 유닛(501)은 타깃 아이템의 스케치에 대해 특징 추출을 수행하여 얻은 제1 매트릭스를 획득하도록 구성되고; 획득 유닛(501)은 또한, 타깃 아이템에 대응되는 키워드 세트 중의 키워드의 단어 벡터로 구성되는 제2 매트릭스를 획득하도록 구성되며, 키워드 세트 중의 키워드는 타깃 아이템을 설명하기 위한 것이고; 획득 유닛(501)은 또한, 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 얻은 제3 매트릭스 세트를 획득하도록 구성되며; 결정 유닛(502)은 제3 매트릭스 세트 중의 제3 매트릭스에 대해, 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정하도록 구성되고; 송신 유닛(503)은 결정된 매칭도에 기반하여, 이미지 세트에서 기설정 개수의 이미지를 선택하고, 선택된 이미지를 송신하도록 구성된다.
본 실시예에서, 이미지 검색 장치(500)에서, 획득 유닛(501), 결정 유닛(502) 및 송신 유닛(503)의 구체적인 처리 및 이에 수반되는 기술적 효과는 각각 도 2에 대응되는 실시예 중의 단계(201), 단계(202), 단계(203), 단계(204) 및 단계(205)의 관련 설명을 참조 가능하기에, 여기서 더 설명하지 않는다.
본 실시예의 일부 선택 가능한 실시형태에서, 결정 유닛(502)은 또한, 제1 매트릭스의 제1 기설정 가중치를 획득하고, 제2 매트릭스의 제2 기설정 가중치를 획득하며; 획득된 제1 기설정 가중치 및 제2 기설정 가중치에 기반하여, 제1 매트릭스와 상기 제3 매트릭스의 매칭도 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도의 가중합에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정하도록 구성된다.
본 실시예의 일부 선택 가능한 실시형태에서, 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 제3 매트릭스의 매칭도는 하기의 단계를 통해 결정되는 바, 각각 제1 매트릭스, 제2 매트릭스, 상기 제3 매트릭스를 타깃 매트릭스로 사용하고, 타깃 매트릭스에 대해 코딩 처리를 수행하여, 제1 코딩 매트릭스, 제2 코딩 매트릭스, 제3 코딩 매트릭스를 얻으며, 여기서, 코딩 처리는 타깃 매트릭스를 이진법 코딩 매트릭스로 매핑하기 위한 것이고; 제1 코딩 매트릭스와 제3 코딩 매트릭스의 매칭도를 제1 매트릭스와 상기 제3 매트릭스의 매칭도로 결정하고, 제2 코딩 매트릭스와 제3 코딩 매트릭스의 매칭도를 제2 매트릭스와 상기 제3 매트릭스의 매칭도로 결정한다.
본 실시예의 일부 선택 가능한 실시형태에서, 코딩 처리는 하기와 같이 포함하되, 타깃 매트릭스의 각 행 벡터 중의 행 벡터 S에 대해, 하기의 단계를 수행하는 바, S에 포함되는 각 요소를 C 그룹으로 분해하되, C는 코딩 매트릭스의 열 개수를 표시하고; C 그룹 중의 그룹에 대해, 상기 그룹에 포함되는 요소의 값의 통계적 특징을 결정하며; 얻은 통계적 특징이 타깃 임계값 T보다 큰 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 1로 결정하고; 얻은 통계적 특징이 T보다 작은 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 0으로 결정하며; C 그룹 중의 각 그룹에 각각 대응되는 코딩 값은 코딩 매트릭스의 한 행을 구성하여, 코딩 매트릭스를 얻는다.
본 실시예의 일부 선택 가능한 실시형태에서, S에 포함되는 각 요소를 C 그룹으로 분해하는 단계는, S에 포함되는 요소의 개수와 C의 엔트로피를 결정하고, 결정된 엔트로피에 따라 C 그룹 중의 각 그룹에 포함되는 요소의 개수를 결정하는 단계를 포함한다.
본 실시예의 일부 선택 가능한 실시형태에서,
Figure pct00004
이고, 여기서, D는 S에 포함되는 요소의 개수를 표시하고, Si는 S의 i번째 요소의 값을 표시한다.
본 실시예의 일부 선택 가능한 실시형태에서, 코딩 처리는 하기와 같이 포함하되, 타깃 매트릭스의 각 행 벡터에 대해 각각 하기와 같은 업데이트 처리를 수행하여 업데이트된 타깃 매트릭스를 획득하는 바, 행 벡터에 대해 정규화 처리를 수행하고, 행 벡터의 정규화 결과에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하며, 여기서, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값과 각 요소에 각각 대응되는 정규화 결과는 양의 상관 관계이고; 업데이트된 타깃 매트릭스의 각 행 벡터 중의 행 벡터 S에 대해, 하기의 단계를 수행하는 바, S에 포함되는 각 요소를 C 그룹으로 분해하되, C는 코딩 매트릭스의 열 개수를 표시하며; C 그룹 중의 그룹에 대해, 상기 그룹에 포함되는 요소의 값의 통계적 특징을 결정하고; 얻은 통계적 특징이 타깃 임계값 T보다 큰 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 1로 결정하며; 얻은 통계적 특징이 T보다 작은 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 0으로 결정하고; C 그룹 중의 각 그룹에 각각 대응되는 코딩 값은 코딩 매트릭스의 한 행을 구성하여, 코딩 매트릭스를 얻는다.
본 실시예의 일부 선택 가능한 실시형태에서, 행 벡터의 정규화 결과에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계는, 행 벡터의 정규화 결과 및 기설정 조절 파라미터 λ에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계를 포함하되, 여기서, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값은 λ와 양의 상관 관계이다.
본 실시예의 일부 선택 가능한 실시형태에서, 행 벡터의 정규화 결과 및 기설정 조절 파라미터 λ에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계는, 행 벡터에 포함되는 각 요소 중의 요소에 대해, 상기 요소에 대응되는 정규화 결과와 λ의 곱셈의 제곱근을 상기 요소에 대응되는 업데이트 값으로 결정하는 단계를 포함한다.
본 실시예의 일부 선택 가능한 실시형태에서, 제1 매트릭스는 하기의 단계를 통해 획득되는 바, 스케치를 적어도 두 개의 서브 이미지로 분해하고; 미리 트레이닝된 콘볼루션 신경망을 이용하여 각각 적어도 두 개의 서브 이미지에 대해 특징 추출을 수행하여, 적어도 두 개의 서브 이미지에 각각 대응되는 특징 벡터를 얻으며; 적어도 두 개의 서브 이미지에 각각 대응되는 특징 벡터로 구성되는 매트릭스를 제1 매트릭스로 결정한다.
본 실시예의 일부 선택 가능한 실시형태에서, 콘볼루션 신경망은 하기의 단계를 통해 트레이닝 획득되는 바, 스케치 세트를 획득하고, 스케치 세트 중의 각 스케치에 각각 대응되는 매칭 이미지 세트를 획득하되, 여기서, 스케치 및 대응되는 매칭 이미지 세트 중의 매칭 이미지는 동일한 아이템을 나타내기 위한 것이며; 스케치 세트에서 스케치를 선택하고, 하기의 트레이닝 단계를 수행하는 바, 초기 모델을 이용하여 선택된 스케치 및 타깃 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 스케치 및 타깃 이미지 세트 중의 각 이미지에 각각 대응되는 출력 매트릭스를 얻으며; 얻은 스케치에 대응되는 출력 매트릭스가 각각 타깃 이미지 세트 중의 각 이미지에 각각 대응되는 출력 매트릭스의 매칭도에 대응되는 것으로 결정하고, 대응되는 매칭도가 기설정 임계값보다 큰 이미지를 선택하하며; 선택된 이미지 및 입력된 스케치에 대응되는 매칭 이미지 세트에 따라, 선택된 이미지에 대응되는 재현율 및/또는 정확률을 결정하고, 결정된 재현율 및/또는 정확률에 따라, 초기 모델이 트레이닝 완료되었는 지의 여부를 결정하며; 초기 모델이 트레이닝 완료된 것으로 결정된 것에 응답하여, 트레이닝 완료된 초기 모델을 콘볼루션 신경망으로 결정하고; 초기 모델이 트레이닝 미완료된 것으로 결정된 것에 응답하여, 결정된 재현율 및/또는 정확률에 따라, 초기 모델의 파라미터를 조절하고, 조절된 초기 모델을 초기 모델로 결정하며, 스케치 세트에서 스케치를 다시 선택하여, 계속하여 상기 트레이닝 단계를 수행한다.
본 발명의 상기 실시예가 제공하는 장치는, 획득 유닛에 의해, 타깃 아이템의 스케치에 대해 특징 추출을 수행하여 얻은 제1 매트릭스를 획득하고; 타깃 아이템에 대응되는 키워드 세트 중의 키워드의 단어 벡터로 구성되는 제2 매트릭스를 획득하되, 키워드 세트 중의 키워드는 타깃 아이템을 설명하기 위한 것이며; 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 얻은 제3 매트릭스 세트를 획득하고; 결정 유닛에 의해, 제3 매트릭스 세트 중의 제3 매트릭스에 대해, 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정하며; 송신 유닛에 의해, 결정된 매칭도에 기반하여, 이미지 세트에서 기설정 개수의 이미지를 선택하고, 선택된 이미지를 송신하는 것을 통해, 사용자가 아이템의 원본 이미지를 제공 불가하여 초래되는 검색 불가 또는 검색 결과 정확도가 낮은 상황을 방지할 수 있다. 아울러, 스케치가 제공하는 아이템의 크기, 구조 등 특징, 및 키워드가 제공하는 아이템의 시맨틱 특징을 결부하여, 검색 결과의 정확성을 보장할 수 있다.
아래 도 6을 참조하면 본 발명의 실시예에 따른 전자 기기(예를 들면 도 1의 서버)(600)를 구현할 수 있는 구조 모식도이다. 본 발명의 실시예 중의 단말 장치는 예컨대 모바일폰, 노트북, 디지털 방송 수신기, PDA(개인 휴대 정보 단말기), PAD(태블릿 PC), PMP(휴대형 멀티미디어 플레이어), 차량용 단말기(예를 들면 차량용 내비게이션 단말기) 등과 같은 모바일 단말기 및 예컨대 디지털 TV, 데스크톱 등 고정 단말기를 포함하지만 이에 한하지 않는다. 도 6에 도시된 전자 기기는 하나의 예시일 뿐, 본 발명의 실시예의 기능 또는 사용범위에 대한 어떠한 한정도 아니다.
도 6에 도시된 바와 같이, 전자 기기(600)는 판독 전용 메모리(ROM)(602)에 저장된 프로그램 또는 저장 장치(608)로부터 랜덤 액세스 메모리(RAM)(603)로 로딩된 프로그램에 따라 다양하고 적절한 동작 및 처리를 수행할 수 있는 처리 장치(예를 들면 중앙 처리 장치, 그래픽 처리 장치 등)(601)를 포함한다. RAM(603)에는 또한 전자 기기(600)의 조작에 필요한 다양한 프로그램 및 데이터가 저장된다. 처리 장치(601), ROM(602) 및 RAM(603)은 버스(604)를 통해 서로 연결된다. 입/출력(I/O) 인터페이스(605) 역시 버스(604)에 연결된다.
일반적으로, 예를 들면 터치 스크린, 터치 패드, 키보드, 마우스, 카메라, 마이크, 가속도계, 자이로스코프 등을 포함하는 입력 장치(606); 예를 들면 액정 디스플레이(LCD), 스피커, 진동기 등을 포함하는 출력 장치(607); 예를 들면 자기 테이프, 하드 드라이버 등을 포함하는 저장 장치(608); 및 통신 장치(609)는 I/O 인터페이스(605)에 연결될 수 있다. 통신 장치(609)는 전자기기(600)가 무선 또는 유선으로 다른 기기와 통신하여 데이터를 교환하도록 허용할 수 있다. 비록 도 6에서 다양한 장치를 갖는 전자 기기(600)를 나타냈지만, 모든 도시된 장치를 실시하거나 구비할 필요는 없음을 이해해야 한다. 보다 많거나 보다 적은 장치를 대체적으로 실시하거나 구비할 수 있다. 도 6에서 시사된 각 프레임은 하나의 장치를 대표할 수 있고, 수요에 따라 여러 개의 장치를 대표할 수도 있다.
특히, 본 발명의 실시예에 따르면, 앞에서 흐름도를 참조하여 설명한 과정은 컴퓨터 소프트웨어 프로그램으로서 구현될 수 있다. 예를 들면, 본 발명의 실시예는 컴퓨터 판독 가능 매체에 베어링된 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품을 포함하고, 상기 컴퓨터 프로그램은 흐름도에 도시된 방법을 수행하기 위한 프로그램 코드를 포함한다. 이런 실시예에서, 상기 컴퓨터 프로그램은 통신 장치(609)를 통해 네트워크로부터 다운로드 및 설치될 수 있거나 및/또는 ROM(602)으로부터 설치될 수 있다. 상기 컴퓨터 프로그램이 처리 장치(601)에 의해 실행될 때, 본 발명의 방법에 한정된 상기 기능들이 수행된다.
본 발명의 실시예의 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 신호 매체 또는 컴퓨터 판독 가능 매체 또는 이 양자의 임의의 조합일 수 있음에 유의해야 한다. 컴퓨터 판독 가능 매체는 예를 들면, 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치 또는 소자, 또는 이들의 임의의 조합일 수 있지만, 이에 한정되지 않는다. 컴퓨터 판독 가능 매체의 보다 구체적인 예는 하나 또는 복수의 도선에 의한 전기적 연결, 휴대용 컴퓨터 디스크, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능 프로그램 가능 읽기 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대용 컴팩트 디스크 판독 전용 메모리(CD-ROM), 광학 저장 장치, 자기 저장 장치 또는 이들의 임의의 적절한 조합을 포함할 수 있지만, 이에 한정되지 않는다. 본 발명의 실시예에서, 컴퓨터 판독 가능 매체는 명령 실행 시스템, 장치 또는 소자 또는 이들과 결합되어 사용될 수 있는 프로그램을 포함하거나 저장할 수 있는 임의의 타입의 매체일 수 있다. 본 발명의 실시예에서, 컴퓨터 판독 가능 신호 매체는 컴퓨터 판독 가능 프로그램 코드를 베어링하는 베이스 밴드 또는 캐리어의 일부로 전파되는 데이터 신호를 포함할 수 있다. 이러한 전파된 데이터 신호는 전자기 신호, 광학 신호, 또는 상기 임의의 적절한 조합을 포함하지만 이에 한정되지 않는 다양한 형태를 취할 수 있다. 컴퓨터 판독 가능 신호 매체는 또한 명령 실행 시스템, 장치 또는 소자에 사용되거나 이와 결합하여 사용하기 위한 프로그램을 전송, 전파 또는 전송할 수 있는 컴퓨터 판독 가능 매체 이외의 임의의 컴퓨터 판독 가능 매체일 수 있다. 컴퓨터 판독 가능 매체에 포함된 프로그램 코드는 전기선, 광섬유 케이블, RF 등, 또는 상기의 임의의 적절한 조합을 포함하지만 이에 한정되지 않는 임의의 적절한 매체에 의해 전송될 수 있다.
상기 컴퓨터 판독 가능 매체는 상기 전자 기기에 포함될 수 있거나 상기 전자 기기에 조립되지 않고 별도로 존재할 수 있다. 상기 컴퓨터 판독 가능 매체에는 하나 또는 복수의 프로그램이 베어링되어, 상기 하나 또는 복수의 프로그램이 상기 전자 기기에 의해 실행시 상기 전자 기기로 하여금 타깃 아이템의 스케치에 대해 특징 추출을 수행하여 얻은 제1 매트릭스를 획득하는 단계; 타깃 아이템에 대응되는 키워드 세트 중의 키워드의 단어 벡터로 구성되는 제2 매트릭스를 획득하되, 키워드 세트 중의 키워드는 타깃 아이템을 설명하기 위한 것인 단계; 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 얻은 제3 매트릭스 세트를 획득하는 단계; 제3 매트릭스 세트 중의 제3 매트릭스에 대해, 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 제2 매트릭스와 상기 제3 매트릭스의 매칭도에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 타깃 아이템의 매칭도를 결정하는 단계; 및 결정된 매칭도에 기반하여, 이미지 세트에서 기설정 개수의 이미지를 선택하고, 선택된 이미지를 송신하는 단계를 수행하도록 한다.
본 발명의 동작을 수행하기 위한 컴퓨터 프로그램 코드는 하나 또는 하나 이상의 프로그래밍 언어, 또는 그들의 조합으로 작성될 수 있다. 상기 프로그래밍 언어는 Java, Smalltalk, C++를 비롯한 객체 지향 프로그래밍 언어와 "C" 언어 또는 유사한 프로그래밍 언어를 비롯한 기존 절차적 프로그래밍 언어를 포함한다. 프로그램 코드는 완전히 사용자의 컴퓨터에서 실행되거나, 부분적으로 사용자의 컴퓨터에서 실행되거나, 독립형 소프트웨어 패키지로서 실행되거나, 일부는 사용자의 컴퓨터에서 실행되고 일부는 원격 컴퓨터에서 실행되거나, 또는 완전히 원격 컴퓨터 또는 서버에서 실행될 수 있다. 원격 컴퓨터의 경우 원격 컴퓨터는 LAN 또는 WAN을 포함한 모든 종류의 네트워크를 통해 사용자의 컴퓨터에 연결되거나 외부 컴퓨터에 연결될 수 있다(예를 들면, 인터넷 서비스 제공 업체를 이용하여 인터넷을 통해 연결).
도면의 흐름도 및 블록도는 본 발명의 다양한 실시예에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 구현 가능한 아키텍처, 기능 및 동작을 도시한다. 이 점에서, 흐름도 또는 블록도의 각 블록은 지정된 논리적 기능을 구현하기 위한 하나 또는 하나 이상의 실행 가능한 명령을 포함하는 모듈, 프로그램 세그먼트 또는 코드의 일부를 나타낼 수 있다. 일부 대안적인 구현에서, 블록에 표기된 기능은 또한 도면에 도시된 것과 다른 순서로 구현될 수 있음에 유의해야 한다. 예를 들면, 연속적으로 표현된 2개의 블록은 실제로 병렬 실행될 수 있고, 관련 기능에 따라 때때로 역순으로 실행될 수도 있다. 또한, 블록도 및/또는 흐름도의 각 블록, 및 블록도 및/또는 흐름도에서 블록의 조합은 지정된 기능 또는 동작을 수행하는 전용 하드웨어 기반 시스템에서 구현될 수 있거나 전용 하드웨어와 컴퓨터 명령어를 조합하여 구현할 수도 있음에 유의해야 한다.
본 발명의 실시예들에 설명된 유닛들은 소프트웨어 또는 하드웨어에 의해 구현될 수 있다. 설명된 유닛은 또한 프로세서, 예를 들면 획득 유닛, 결정 유닛 및 송신 유닛을 포함하는 프로세서에 설치될 수도 있다. 여기서 이들 유닛의 명칭은 경우에 따라서는 유닛 자체로 한정되지 않으며, 예를 들면, 송신 유닛은 "결정된 매칭도에 기반하여, 이미지 세트에서 기설정 개수의 이미지를 선택하고, 선택된 이미지를 송신하는 유닛"으로 설명될 수도 있다.
상기 설명은 본 발명의 바람직한 실시예 및 적용된 기술의 원리에 대한 설명일 뿐이다. 본 발명이 속하는 기술분야의 통상의 기술자들은 본 발명에 언급된 본 발명의 범위는 상기 기술적 특징의 특정 조합에 따른 기술적 해결수단에 한정되지 않으며, 동시에 본 발명의 사상을 벗어나지 않으면서 상기 기술적 특징 또는 그 등가 특징에 대해 임의로 조합하여 형성된 다른 기술적 해결수단, 예를 들면, 상기 특징과 본 발명에 공개된(단 이에 한정되지 않음) 유사한 기능을 구비하는 기술적 특징을 서로 교체하여 형성된 기술적 해결수단을 포함함을 이해하여야 한다.

Claims (14)

  1. 이미지 검색 방법으로서,
    타깃 아이템의 스케치에 대해 특징 추출을 수행하여 얻은 제1 매트릭스를 획득하는 단계;
    타깃 아이템에 대응되는 키워드 세트 중의 키워드의 단어 벡터로 구성되는 제2 매트릭스를 획득하는 단계로서, 상기 키워드 세트 중의 키워드는 상기 타깃 아이템을 설명하기 위한 것인, 상기 제2 매트릭스를 획득하는 단계;
    이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 얻은 제3 매트릭스 세트를 획득하는 단계;
    상기 제3 매트릭스 세트 중의 제3 매트릭스에 대해, 상기 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 상기 제2 매트릭스와 상기 제3 매트릭스의 매칭도에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 상기 타깃 아이템의 매칭도를 결정하는 단계; 및
    결정된 매칭도에 기반하여, 상기 이미지 세트에서 기설정 개수의 이미지를 선택하고, 선택된 이미지를 송신하는 단계
    를 포함하는, 이미지 검색 방법.
  2. 제1항에 있어서,
    상기 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 상기 제2 매트릭스와 상기 제3 매트릭스의 매칭도에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 상기 타깃 아이템의 매칭도를 결정하는 단계는,
    상기 제1 매트릭스의 제1 기설정 가중치를 획득하고, 상기 제2 매트릭스의 제2 기설정 가중치를 획득하는 단계; 및
    획득된 제1 기설정 가중치 및 제2 기설정 가중치에 기반하여, 상기 제1 매트릭스와 상기 제3 매트릭스의 매칭도 및 상기 제2 매트릭스와 상기 제3 매트릭스의 매칭도의 가중합에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 상기 타깃 아이템의 매칭도를 결정하는 단계
    를 포함하는, 이미지 검색 방법.
  3. 제1항에 있어서,
    상기 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 상기 제2 매트릭스와 상기 제3 매트릭스의 매칭도는,
    상기 제1 매트릭스, 제2 매트릭스, 상기 제3 매트릭스를 각각 타깃 매트릭스로 사용하고, 타깃 매트릭스에 대해 코딩 처리를 수행하여, 제1 코딩 매트릭스, 제2 코딩 매트릭스, 제3 코딩 매트릭스를 얻는 단계로서, 상기 코딩 처리는 타깃 매트릭스를 이진법 코딩 매트릭스로 매핑하기 위한 것인, 상기 제1 코딩 매트릭스, 제2 코딩 매트릭스, 제3 코딩 매트릭스를 얻는 단계; 및
    상기 제1 코딩 매트릭스와 상기 제3 코딩 매트릭스의 매칭도를 상기 제1 매트릭스와 상기 제3 매트릭스의 매칭도로 결정하고, 상기 제2 코딩 매트릭스와 상기 제3 코딩 매트릭스의 매칭도를 상기 제2 매트릭스와 상기 제3 매트릭스의 매칭도로 결정하는 단계
    를 통해 결정되는, 이미지 검색 방법.
  4. 제3항에 있어서,
    상기 코딩 처리는, 타깃 매트릭스의 각 행 벡터 중의 행 벡터 S에 대해,
    S에 포함되는 각 요소를 C 그룹으로 분해하되, C는 코딩 매트릭스의 열 개수를 표시하는 단계;
    C 그룹 중의 그룹에 대해, 상기 그룹에 포함되는 요소의 값의 통계적 특징을 결정하고; 얻은 통계적 특징이 타깃 임계값 T보다 큰 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 1로 결정하며; 얻은 통계적 특징이 T보다 작은 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 0으로 결정하는 단계; 및
    C 그룹 중의 각 그룹에 각각 대응되는 코딩 값은 코딩 매트릭스의 한 행을 구성하여, 코딩 매트릭스를 얻는 단계
    를 수행하는 것을 포함하는, 이미지 검색 방법.
  5. 제4항에 있어서,
    상기 S에 포함되는 각 요소를 C 그룹으로 분해하는 단계는,
    S에 포함되는 요소의 개수와 C의 엔트로피를 결정하고, 결정된 엔트로피에 따라 C 그룹 중의 각 그룹에 포함되는 요소의 개수를 결정하는 단계를 포함하는, 이미지 검색 방법.
  6. 제4항에 있어서,
    Figure pct00005
    , D는 S에 포함되는 요소의 개수를 표시하고, Si는 S의 i번째 요소의 값을 표시하는, 이미지 검색 방법.
  7. 제3항에 있어서,
    상기 코딩 처리는,
    타깃 매트릭스의 각 행 벡터에 대해 각각, 행 벡터에 대해 정규화 처리를 수행하고, 행 벡터의 정규화 결과에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 업데이트 처리를 수행하여 업데이트된 타깃 매트릭스를 얻는 단계로서, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값과 각 요소에 각각 대응되는 정규화 결과는 양의 상관 관계인, 상기 업데이트된 타깃 매트릭스를 얻는 단계;
    업데이트된 타깃 매트릭스의 각 행 벡터 중의 행 벡터 S에 대해,
    S에 포함되는 각 요소를 C 그룹으로 분해하되, C는 코딩 매트릭스의 열 개수를 표시하는 단계;
    C 그룹 중의 그룹에 대해, 상기 그룹에 포함되는 요소의 값의 통계적 특징을 결정하고; 얻은 통계적 특징이 타깃 임계값 T보다 큰 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 1로 결정하며; 얻은 통계적 특징이 T보다 작은 것으로 결정된 것에 응답하여, 상기 그룹의 코딩 값을 0으로 결정하는 단계; 및
    C 그룹 중의 각 그룹에 각각 대응되는 코딩 값은 코딩 매트릭스의 한 행을 구성하여, 코딩 매트릭스를 얻는 단계
    를 수행하는 것을 포함하는, 이미지 검색 방법.
  8. 제7항에 있어서,
    상기 행 벡터의 정규화 결과에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계는,
    행 벡터의 정규화 결과 및 기설정 조절 파라미터 λ에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계를 포함하되, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값은 λ와 양의 상관 관계인 이미지 검색 방법.
  9. 제8항에 있어서,
    상기 행 벡터의 정규화 결과 및 기설정 조절 파라미터 λ에 따라, 행 벡터에 포함되는 각 요소에 각각 대응되는 업데이트 값을 결정하는 단계는,
    행 벡터에 포함되는 각 요소 중의 요소에 대해, 상기 요소에 대응되는 정규화 결과와 λ의 곱셈의 제곱근을 상기 요소에 대응되는 업데이트 값으로 결정하는 단계를 포함하는, 이미지 검색 방법.
  10. 제1항에 있어서,
    상기 제1 매트릭스는,
    상기 스케치를 적어도 두 개의 서브 이미지로 분해하는 단계;
    미리 트레이닝된 콘볼루션 신경망을 이용하여 각각 상기 적어도 두 개의 서브 이미지에 대해 특징 추출을 수행하여, 상기 적어도 두 개의 서브 이미지에 각각 대응되는 특징 벡터를 얻는 단계; 및
    상기 적어도 두 개의 서브 이미지에 각각 대응되는 특징 벡터로 구성되는 매트릭스를 제1 매트릭스로 결정하는 단계
    를 통해 획득되는, 이미지 검색 방법.
  11. 제10항에 있어서,
    상기 콘볼루션 신경망은,
    스케치 세트를 획득하고, 스케치 세트 중의 각 스케치에 각각 대응되는 매칭 이미지 세트를 획득하되, 스케치 및 대응되는 매칭 이미지 세트 중의 매칭 이미지는 동일한 아이템을 나타내기 위한 단계;
    스케치 세트에서 스케치를 선택하고, 하기와 같은 트레이닝 단계를 수행하되, 상기 트레이닝 단계는, 초기 모델을 이용하여 선택된 스케치 및 타깃 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 스케치 및 타깃 이미지 세트 중의 각 이미지에 각각 대응되는 출력 매트릭스를 얻는 단계; 얻은 스케치에 대응되는 출력 매트릭스가 각각 타깃 이미지 세트 중의 각 이미지에 각각 대응되는 출력 매트릭스의 매칭도에 대응되는 것으로 결정하고, 대응되는 매칭도가 기설정 임계값보다 큰 이미지를 선택하는 단계; 선택된 이미지 및 입력된 스케치에 대응되는 매칭 이미지 세트에 따라, 선택된 이미지에 대응되는 재현율 및/또는 정확률을 결정하고, 결정된 재현율 및/또는 정확률에 따라, 초기 모델이 트레이닝 완료되었는 지의 여부를 결정하는 단계이며,
    초기 모델이 트레이닝 완료된 것으로 결정된 것에 응답하여, 트레이닝 완료된 초기 모델을 상기 콘볼루션 신경망으로 결정하는 단계; 및
    초기 모델이 트레이닝 미완료된 것으로 결정된 것에 응답하여, 결정된 재현율 및/또는 정확률에 따라, 초기 모델의 파라미터를 조절하고, 조절된 초기 모델을 초기 모델로 결정하며, 스케치 세트에서 스케치를 다시 선택하여, 계속하여 상기 트레이닝 단계를 수행하는 단계를 통해 트레이닝되어 획득되는, 이미지 검색 방법.
  12. 이미지 검색 장치로서,
    타깃 아이템의 스케치에 대해 특징 추출을 수행하여 얻은 제1 매트릭스를 획득하는 획득 유닛;
    상기 제3 매트릭스 세트 중의 제3 매트릭스에 대해, 상기 제1 매트릭스와 상기 제3 매트릭스의 매칭도, 및 상기 제2 매트릭스와 상기 제3 매트릭스의 매칭도에 따라, 상기 제3 매트릭스에 대응되는 이미지가 나타내는 아이템과 상기 타깃 아이템의 매칭도를 결정하는 결정 유닛; 및
    결정된 매칭도에 기반하여, 상기 이미지 세트에서 기설정 개수의 이미지를 선택하고, 선택된 이미지를 송신하는 송신 유닛
    을 포함하되,
    상기 획득 유닛은 또한, 타깃 아이템에 대응되는 키워드 세트 중의 키워드의 단어 벡터로 구성되는 제2 매트릭스를 획득하도록 구성되고, 상기 키워드 세트 중의 키워드는 상기 타깃 아이템을 설명하기 위한 것이며;
    상기 획득 유닛은 또한, 이미지 세트 중의 각 이미지에 대해 각각 특징 추출을 수행하여 얻은 제3 매트릭스 세트를 획득하도록 구성되는, 이미지 검색 장치.
  13. 전자 기기로서,
    하나 이상의 프로세서; 및
    하나 이상의 프로그램이 저장되는 저장 장치
    를 포함하되; 상기 하나 이상의 프로그램이 상기 하나 이상의 프로세서에 의해 실행될 경우, 상기 하나 이상의 프로세서가 제1항 내지 제11항 중 어느 한 항에 따른 방법을 구현하도록 하는, 전자 기기.
  14. 컴퓨터 프로그램이 저장되는 컴퓨터 판독 가능 매체로서,
    상기 프로그램이 프로세서에 의해 실행될 경우 제1항 내지 제11항 중 어느 한 항에 따른 방법을 구현하도록 하는, 컴퓨터 판독 가능 매체.
KR1020227003264A 2019-07-23 2020-03-19 이미지 검색 방법 및 장치 KR20220018633A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910665039.8 2019-07-23
CN201910665039.8A CN112307243B (zh) 2019-07-23 2019-07-23 用于检索图像的方法和装置
PCT/CN2020/080263 WO2021012691A1 (zh) 2019-07-23 2020-03-19 用于检索图像的方法和装置

Publications (1)

Publication Number Publication Date
KR20220018633A true KR20220018633A (ko) 2022-02-15

Family

ID=74192931

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227003264A KR20220018633A (ko) 2019-07-23 2020-03-19 이미지 검색 방법 및 장치

Country Status (5)

Country Link
US (1) US12106555B2 (ko)
JP (1) JP7504192B2 (ko)
KR (1) KR20220018633A (ko)
CN (1) CN112307243B (ko)
WO (1) WO2021012691A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102542220B1 (ko) * 2022-09-19 2023-06-13 아주대학교 산학협력단 자가 지식 증류법 기반 의미론적 영상 분할 방법 및 자가 지식 증류법 기반 의미론적 영상 분할 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115147500B (zh) * 2021-03-30 2024-06-28 中国电信股份有限公司 图像特征的传输方法、装置和系统
CN115098721B (zh) * 2022-08-23 2022-11-01 浙江大华技术股份有限公司 一种人脸特征检索方法、装置及电子设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983237A (en) 1996-03-29 1999-11-09 Virage, Inc. Visual dictionary
KR100451649B1 (ko) 2001-03-26 2004-10-08 엘지전자 주식회사 이미지 검색방법과 장치
WO2010080121A1 (en) * 2008-12-18 2010-07-15 The Regents Of The University Of California, Santa Cruz Training-free generic object detection in 2-d and 3-d using locally adaptive regression kernels
US9449026B2 (en) * 2010-08-31 2016-09-20 Microsoft Technology Licensing, Llc Sketch-based image search
US8447752B2 (en) * 2010-09-16 2013-05-21 Microsoft Corporation Image search by interactive sketching and tagging
JP5833499B2 (ja) 2012-05-29 2015-12-16 Kddi株式会社 高次元の特徴ベクトル集合で表現されるコンテンツを高精度で検索する検索装置及びプログラム
US9202178B2 (en) * 2014-03-11 2015-12-01 Sas Institute Inc. Computerized cluster analysis framework for decorrelated cluster identification in datasets
CN104778242B (zh) * 2015-04-09 2018-07-13 复旦大学 基于图像动态分割的手绘草图图像检索方法及系统
CN105718531B (zh) 2016-01-14 2019-12-17 广州市万联信息科技有限公司 图像数据库的建立方法及图像识别方法
CN106202189A (zh) * 2016-06-27 2016-12-07 乐视控股(北京)有限公司 一种图像搜索方法及装置
US10013765B2 (en) * 2016-08-19 2018-07-03 Mitsubishi Electric Research Laboratories, Inc. Method and system for image registrations
JP7095953B2 (ja) 2017-01-19 2022-07-05 株式会社大林組 画像管理システム、画像管理方法、及び画像管理プログラム
JP6962747B2 (ja) 2017-08-30 2021-11-05 株式会社日立製作所 データ合成装置および方法
CN107895028B (zh) * 2017-11-17 2019-11-29 天津大学 采用深度学习的草图检索方法
JP2018055730A (ja) 2018-01-11 2018-04-05 オリンパス株式会社 画像検索装置および画像検索方法
CN108334627B (zh) * 2018-02-12 2022-09-23 北京百度网讯科技有限公司 新媒体内容的搜索方法、装置和计算机设备
CN108595636A (zh) * 2018-04-25 2018-09-28 复旦大学 基于深度跨模态相关性学习的手绘草图的图像检索方法
CN109033308A (zh) * 2018-07-16 2018-12-18 安徽江淮汽车集团股份有限公司 一种图像检索方法及装置
CN109145140A (zh) 2018-09-08 2019-01-04 中山大学 一种基于手绘轮廓图匹配的图像检索方法及系统
US11093560B2 (en) * 2018-09-21 2021-08-17 Microsoft Technology Licensing, Llc Stacked cross-modal matching
CN109408655A (zh) * 2018-10-19 2019-03-01 中国石油大学(华东) 结合带孔卷积与多尺度感知网络的手绘草图检索方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102542220B1 (ko) * 2022-09-19 2023-06-13 아주대학교 산학협력단 자가 지식 증류법 기반 의미론적 영상 분할 방법 및 자가 지식 증류법 기반 의미론적 영상 분할 장치

Also Published As

Publication number Publication date
CN112307243A (zh) 2021-02-02
JP2022541832A (ja) 2022-09-27
US20220292132A1 (en) 2022-09-15
WO2021012691A1 (zh) 2021-01-28
US12106555B2 (en) 2024-10-01
JP7504192B2 (ja) 2024-06-21
CN112307243B (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
KR102342604B1 (ko) 뉴럴 네트워크 생성 방법 및 장치
US20230024382A1 (en) Video clip positioning method and apparatus, computer device, and storage medium
WO2020094060A1 (zh) 推荐方法及装置
WO2022253061A1 (zh) 一种语音处理方法及相关设备
WO2022016556A1 (zh) 一种神经网络蒸馏方法以及装置
CN111144124B (zh) 机器学习模型的训练方法、意图识别方法及相关装置、设备
CN112035743A (zh) 数据推荐方法、装置、计算机设备以及存储介质
CN111709493B (zh) 对象分类方法、训练方法、装置、设备及存储介质
CN112149699B (zh) 用于生成模型的方法、装置和用于识别图像的方法、装置
KR20220018633A (ko) 이미지 검색 방법 및 장치
US11763204B2 (en) Method and apparatus for training item coding model
CN116977885A (zh) 视频文本任务处理方法、装置、电子设备及可读存储介质
CN113591490B (zh) 信息处理方法、装置和电子设备
CN117437467A (zh) 模型训练方法、装置、电子设备及存储介质
CN113111273B (zh) 一种信息推荐方法、装置、电子设备及存储介质
CN117009560A (zh) 图像处理方法、装置、设备及计算机存储介质
KR20240052055A (ko) 교차-모달 검색 방법 및 관련 디바이스
CN116030832A (zh) 语音检测方法、装置、设备和存储介质
CN113378808B (zh) 人物图像识别方法、装置、电子设备和计算机可读介质
CN116501993B (zh) 房源数据推荐方法及装置
CN115952830B (zh) 数据处理方法、装置、电子设备及存储介质
US20240119077A1 (en) Apparatus and method for sharing and pruning weights for vision and language models
CN113377986B (zh) 图像检索方法和装置
CN114429420B (zh) 图像的生成方法、装置、可读介质和电子设备
CN118503537A (zh) 基于用户生命周期的多任务推荐方法及装置

Legal Events

Date Code Title Description
A201 Request for examination