KR20220111188A - 이미지 검색 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 기록 매체 - Google Patents

이미지 검색 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 기록 매체 Download PDF

Info

Publication number
KR20220111188A
KR20220111188A KR1020220004812A KR20220004812A KR20220111188A KR 20220111188 A KR20220111188 A KR 20220111188A KR 1020220004812 A KR1020220004812 A KR 1020220004812A KR 20220004812 A KR20220004812 A KR 20220004812A KR 20220111188 A KR20220111188 A KR 20220111188A
Authority
KR
South Korea
Prior art keywords
feature
node
sub
current node
information gain
Prior art date
Application number
KR1020220004812A
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 KR20220111188A publication Critical patent/KR20220111188A/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/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/53Querying
    • G06F16/538Presentation of query results
    • 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/55Clustering; Classification
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • G06K9/6282
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • 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/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • 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)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Library & Information Science (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 인텔리전트 클라우드, 컴퓨터 비전 및 딥 러닝 등의 인공 지능의 분야에 관한 이미지 검색 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 기록 매체를 개시한다. 상기 방법은 검색 대상의 이미지 세트 중의 이미지 특징을 획득하고, 획득된 특징에 따라 결정 트리를 생성하는 단계; 결정 트리 내의 노드에 대응하는 문제를 각각 배치하는 단계; 및 사용자의 이미지 검색 요청을 수신하였을 경우, 배치된 문제에 따라 사용자에게 질문하고, 사용자의 회답을 결합하여, 결정 트리로부터 하나의 최적의 경로를 선택하고, 최적의 경로에서의 리프 노드에 대응하는 이미지를 검색된 이미지로 하는 단계;를 포함할 수 있다. 본 발명에 기재된 해결 방식을 적용하면, 키워드를 사용하지 않아도 사용자가 원하는 이미지를 편리하고 정확하게 검색할 수 있다.

Description

이미지 검색 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 기록 매체 {IMAGE SEARCHING METHOD AND DEVICE, ELECTRONIC EQUIPMENT AND COMPUTER READABLE STORAGE MEDIUM}
본 발명은 인공 지능(artificial intelligence, AI) 기술 분야에 관한 것으로, 특히, 인텔리전트 클라우드, 컴퓨터 비전 및 딥 러닝 등의 분야의 이미지 검색 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 기록 매체에 관한 것이다.
현재, 사용자의 이미지 수는 폭발적인 증가 추세를 보여주고 있다. 검색은 클라우드 앨범 제품의 기본 기능으로서, 사용자에게 이미지(예를 들어, 사진) 검색 능력을 제공할 수 있고, 이미지 수가 점점 많아지면, 검색 기능도 더 중요해진다.
기존의 검색 방식은 주로 키워드에 기반하여 검색하는 방식이며, 즉, 사용자가 키워드를 입력하면, 클라우드는 키워드를 조건에 가장 잘 맞는 카테고리 그룹에 매핑하고, 해당 카테고리의 이미지를 출력한다. 그러나, 이러한 방식은 사용자가 찾고자 하는 이미지에 대해 명확한 기억을 가지고, 키워드를 사용하여 명확히 표현할 수 있을 경우에만 적용된다. 많은 경우, 사용자가 검색 대상의 이미지에 대해 모호한 기억만을 가질 수 있으며, 예를 들어, 대략 어느 시간 범위와 어느 사람이 어느 장소에 있는 이미지만 기억한다. 이러한 경우에 대해, 현재, 아직 좋은 해결 방식이 없다.
본 발명은 이미지 검색 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 기록 매체를 제공한다.
이미지 검색 방법은
검색 대상의 이미지 세트 중의 이미지 특징을 획득하고, 상기 특징에 따라 결정 트리를 생성하고, 상기 결정 트리 내의 노드에 대응하는 문제를 각각 배치하는 단계;
사용자의 이미지 검색 요청을 수신하였을 경우, 상기 문제에 따라 사용자에게 질문하고, 상기 사용자의 회답을 결합하여, 상기 결정 트리로부터 하나의 최적의 경로를 선택하고, 상기 최적의 경로에서의 리프 노드에 대응하는 이미지를 검색된 이미지로 하는 단계;를 포함한다.
이미지 검색 장치는, 전처리 모듈 및 검색 모듈을 포함하고,
상기 전처리 모듈은 검색 대상의 이미지 세트 중의 이미지 특징을 획득하고, 상기 특징에 따라 결정 트리를 생성하고, 상기 결정 트리 내의 노드에 대응하는 문제를 각각 배치하는데 사용되고,
상기 검색 모듈은 사용자의 이미지 검색 요청을 수신하였을 경우, 상기 문제에 따라 사용자에게 질문하고, 상기 사용자의 회답을 결합하여, 상기 결정 트리로부터 하나의 최적의 경로를 선택하고, 상기 최적의 경로에서의 리프 노드에 대응하는 이미지를 검색된 이미지로 하는데 사용된다.
전자 기기에 있어서,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 통신 연결되는 메모리;를 포함하고,
상기 메모리에는 상기 적어도 하나의 프로세서에 의해 수행 가능한 명령이 저장되어 있고, 상기 명령이 상기 적어도 하나의 프로세서에 의해 수행되어, 상기 적어도 하나의 프로세서가 상술한 방법이 수행된다.
컴퓨터 명령이 저장되어 있는 비일시적 컴퓨터 판독 가능 기록 매체에 있어서,
상기 컴퓨터 명령은 컴퓨터가 상술한 방법을 수행하도록 한다.
컴퓨터 프로그램 제품에 있어서, 컴퓨터 프로그램을 포함하고, 상기 컴퓨터 프로그램이 프로세서에 의해 수행될 때, 상술한 방법을 구현한다.
상기 개시된 실시예는 하기와 같은 이점 또는 유익한 효과를 가진다. 결정 트리에 기반한 이미지 퍼지 검색 방식을 사용하고, 획득된 이미지 특징에 의해 생성된 결정 트리에 기반하여, 사용자에게 주도적으로 질문하여 유도하고, 사용자의 회답을 결합하여, 사용자가 찾고자 하는 이미지를 결정하여, 키워드를 사용하지 않아도 사용자가 원하는 이미지를 편리하고 정확하게 찾을 수 있도록 구현할 수 있다.
본 명세서에서 설명된 내용은 본 발명의 실시예의 키 또는 중요한 특징을 식별하려는 것이 아니고, 또한 본 발명의 범위를 제한하려는 것도 아닌 것을 이해하여야 한다. 본 발명의 다른 특징은 이하의 명세서를 통해 용이하게 이해할 수 있다.
첨부 도면은 본 해결수단을 더 잘 이해하기 위한 것으로, 본 발명에 대해 한정하는 것으로 구성되지 않는다.
도 1은 본 발명에 기재된 이미지 검색 방법의 실시예의 흐름도이다.
도 2는 본 발명에 기재된 결정 트리의 구조 개략도이다.
도 3은 본 발명에 기재된 결정 트리에 기반한 이미지 퍼지 검색 방식의 구현 프로세스의 개략도이다.
도 4는 본 발명에 기재된 개량 후의 제2 결정 트리의 생성 알고리즘을 따라 생성된 결정 트리의 개략도이다.
도 5는 본 발명에 기재된 이미지 검색 장치의 실시예(50)의 구성의 구조 개략도이다.
도 6은 본 발명의 실시예를 실시하는데 사용할 수 있는 예시적인 전자 기기(600)의 개략적인 블록도를 도시한다.
하기는 첨부된 도면을 결부하여 본 발명의 예시적 실시예를 설명하되, 여기에는 이해를 돕기 위한 본 발명의 실시예의 다양한 세부 사항이 포함되며, 이는 단지 예시적인 것으로 간주되어야 한다. 따라서, 본 기술분야의 통상의 기술자는 본 발명의 범위와 사상을 벗어나지 않으면서, 여기서 설명되는 실시예에 대한 다양한 변경과 수정이 이루어질 수 있음을 이해해야 한다. 마찬가지로, 명확성 및 간결성을 위해, 아래의 설명에서 공지된 기능과 구조에 대한 설명을 생략한다.
또한, 본 명세서의 용어 “및/또는"은 관련 대상에서의 관련 관계를 설명하며 3가지 관계가 존재함을 나타낸다. 예를 들어 A 및/또는 B는, A가 단독으로 존재; A와 B가 동시에 존재; B가 단독으로 존재하는 3가지 경우를 표현할 수 있다. 캐릭터 "/"는 일반적으로 전후 관련 대상이 "또는"의 관계를 가짐을 나타낸다.
도 1은 본 발명에 기재된 이미지 검색 방법의 실시예의 흐름도이다. 도 1에 도시된 바와 같이, 하기와 같은 구체적인 구현 패러다임을 포함한다.
단계 101에서, 검색 대상의 이미지 세트 중의 이미지 특징을 획득하고, 획득된 특징에 따라 결정 트리를 생성하고, 결정 트리 내의 노드에 대응하는 문제를 각각 배치한다.
단계 102에서, 사용자의 이미지 검색 요청을 수신하였을 경우, 상기 문제에 따라 사용자에게 질문하고, 사용자의 회답을 결합하여, 결정 트리로부터 하나의 최적의 경로를 선택하고, 최적의 경로에서의 리프 노드에 대응하는 이미지를 검색된 이미지로 한다.
상술한 방법의 실시예에 기재된 해결 방식에서, 결정 트리에 기반한 이미지 퍼지 검색 방식을 사용하고, 획득된 이미지 특징에 의해 생성된 결정 트리에 기반하여, 사용자에게 주도적으로 질문하여 유도하고, 사용자의 회답을 결합하여, 사용자가 찾고자 하는 이미지를 결정하여, 키워드를 사용하지 않아도 사용자가 원하는 이미지를 편리하고 정확하게 찾을 수 있도록 구현할 수 있는 것을 알 수 있다.
결정 트리(Decision Tree)는 분류 결정 트리 등으로도 불릴 수 있고, 예측 모델이며, 어떻게 실례를 분류하는 트리 구조를 설명하는데 사용되고, 노드와 유향 에지로 구성된다. 여기서, 노드는 내부 노드와 리프 노드 두 가지 유형으로 분류할 수 있고, 내부 노드는 중간 노드 등으로도 불릴 수 있고, 내부 노드는 하나의 특징 또는 속성을 나타내고, 리프 노드는 하나의 카테고리를 나타낸다.
도 2는 본 발명에 기재된 결정 트리의 구조 개략도이다. 도 2에 도시된 바와 같이, 여기에서 구형 노드는 리프 노드를 나타내고, 타원형 노드는 내부 노드를 나타낸다.
본 발명에 기재된 결정 트리에 기반한 이미지 퍼지 검색 방식에서, 먼저, 검색 대상의 이미지 세트 중의 이미지 특징을 획득할 수 있고, 그 다음, 획득된 특징에 따라 결정 트리를 생성할 수 있고, 결정 트리 내의 노드에 각각 대응하는 문제를 배치할 수 있다.
검색 대상의 이미지 세트는 어떤 사용자의 이미지 세트를 가리킬 수 있다. 본 발명에서, 어떻게 검색 대상의 이미지 세트 중의 이미지 특징을 획득할지에 대해 한정하지 않는다. 예를 들어, 이미지 특징 모델을 사용하여 이미지의 특징을 추출할 수 있다.
획득된 이미지의 특징은 구체적으로, 어떤 특징을 포함할지에 대해 마찬가지로 한정하지 않는다. 예를 들어, 촬영 시간, 촬영 장소, 동물, 인물 등을 포함할 수 있다.
또한, 결정 트리 내의 노드에 배치하는 문제는 일반적으로, 사용자가 쉽게 이해할 수 있는 시맨틱스를 표현하는 문제이다.
사용자의 이미지 검색 요청을 수신하였을 경우, 배치된 문제에 따라 사용자에게 질문하고, 사용자의 회답을 결합하여, 결정 트리로부터 하나의 최적의 경로를 선택할 수 있고, 최적의 경로에서의 리프 노드에 대응하는 이미지를 검색된 이미지, 즉 타겟 이미지로 할 수 있다.
구체적으로, 결정 트리로 최적의 경로를 선택할 때, 결정 트리의 루트 노드를 현재 노드로 하고, 하기의 제1 처리를 수행할 수 있고, 현재 노드에 대응하는 문제를 따라 사용자에게 질문하고, 사용자의 회답을 획득하고, 현재 노드의 서브 노드로부터 해당 회답에 매칭하는 서브 노드를 결정하고, 매칭하는 서브 노드가 리프 노드로 결정되었을 경우, 루트 노드로부터 해당 리프 노드까지의 경로를 필요한 최적의 경로로 하고, 그렇지 않은 경우, 매칭하는 서브 노드를 현재 노드로 하고, 제1 처리를 반복 수행한다.
상기의 설명에 기반하여, 도 3은 본 발명에 기재된 결정 트리에 기반한 이미지 퍼지 검색 방식의 구현 프로세스의 개략도이다.
도 3에 도시된 바와 같이, 결정 트리를 생성하고, 결정 트리 내의 노드에 대응하는 문제를 배치한 후, 먼저, 루트 노드에 대응하는 문제에 따라 사용자에게 질문할 수 있고, "사진에 TA가 있습니까?" 이며, 사용자의 회답이 "예"라고 가정하면, 도 3에 도시된 것과 같은 "예"에 매칭하는 노드를 결정할 수 있고, 해당 노드는 루트 노드의 서브 노드이며, 표현을 간단하게 하기 위해, 해당 노드를 노드 1이라고 부른다.
그 다음, 노드 1에 대응하는 문제에 따라 사용자에게 질문할 수 있고, "사진은 어느 계절에 촬영하였습니까?" 이며, 사용자의 회답이 "가을" 이라고 가정하면, 도 3에 도시된 것과 같은 "가을"에 매칭하는 노드를 결정할 수 있고, 해당 노드는 노드 1의 서브 노드이며, 표현을 간단하게 하기 위해, 해당 노드를 노드 2이라고 부른다.
그 다음, 노드 2에 대응하는 문제에 따라 사용자에게 질문할 수 있고, "사진은 어느 장소에서 촬영하였습니까?" 사용자의 회답이 "베이징"이라고 가정하면, 도 3에 도시된 것과 같은 "베이징"에 매칭하는 노드를 결정할 수 있고, 해당 노드는 노드 2의 서브 노드이며, 표현을 간단하게 하기 위해, 해당 노드를 노드 3이라고 부른다.
그 다음, 노드 3에 대응하는 문제에 따라 사용자에게 질문할 수 있고, "사진은 실내에서 촬영했습니까?" 이며, ... , 그 다음, 노드 p (p는 3보다 크다)에 대응하는 문제에 따라 사용자에게 질문할 수 있고, "사진에 건물이 있습니까?" 이며, 사용자의 회답이 "예" 라고 가정하면, 도 3에 도시된 것과 같은 "예"에 매칭하는 노드를 결정할 수 있고, 노드가 p+1 이라고 가정하면, 노드 p+1은 리프 노드이기 때문에, 루트 노드로부터 노드 p+1 까지의 경로를 필요한 최적의 경로로 할 수 있다.
나아가, "국경절에 TA가 베이징 천안문에서의 사진이다"와 같은 최적의 경로에서의 리프 노드에 대응하는 이미지를 검색된 이미지로 할 수 있다.
검색된 이미지의 수는 하나 또는 하나 이상일 수 있고, 하나 이상일 때, 수가 미리 결정된 한계값보다 클 경우, 그 중에서 일부의 이미지를 선택할 수도 있고, 선택된 일부의 이미지를 최종 결과로서 사용자에게 돌려주고, 어떻게 선택하는지는 한정하지 않는다.
클라우드 앨범을 예로서, 시간이 지날수록, 사용자가 클라우드 앨범 내의 이미지에 대한 기억은 점점 모호해지고, 이런 상황에서, 키워드를 사용하여 이미지의 검색을 할 수 없으며, 본 발명에 기재된 결정 트리에 기반한 이미지 퍼지 검색 방식은 지원 사용자가 필요한 이미지를 편리하고 정확하게 찾을 수 있도록 도와줄 수 있다.
나아가, 본 발명에 기재된 결정 트리에 기반한 이미지 퍼지 검색 방식의 검색 속도가 빠르고, 결과 세트로 신속히 수렴될 수 있고, 검색 효율을 향상시킬 수 있다.
또한, 본 발명에 기재된 결정 트리에 기반한 이미지 퍼지 검색 방식은 이미지 특징을 따라 전면적으로 사용하여 결정을 내릴 수 있고, 각각의 결정은 모두 사용자가 관련되지 않은 이미지를 제거하도록 정확하게 지원할 수 있고, 결과를 검색할 수 없는 상황이 발생하지 않고, 검색 성공률 등을 향상시킨다.
결정 트리를 분류할 때, 실례의 각 특징을 테스트하고, 결과에 따라 이를 서브 노드에 분배하고, 가능한 빠르게 결정 트리를 사용하여 분류하기 위해 내부 노드의 구조와 순서 등은 매우 중요하다.
구체적으로, 본 발명에서, 어떻게 결정 트리를 생성하는지는 검색 속도 등에 직접적인 영향을 준다. 실제 응용에서, 획득된 이미지의 특징에 따라, 미리 결정된 특징 선택 기준에 의해, 결정 트리를 생성할 수 있다.
특징 선택 기준을 제정하는 목적은 특징을 사용하여 데이터 세트를 분할하고, 분할 후의 데이터 세트의 순도는 분할 전의 데이터 세트의 순도보다 높고, 불확실성은 분할 전의 데이터 세트의 불확실성보다 낮으며, 결정 트리의 생성 과정은 특징 선택 기준을 만족하는 특징을 사용하여 데이터 세트를 순도는 보다 높고, 불확실성은 보다 작은 데이터 세트로 연속적으로 분할하는 과정이다.
현재, 비교적 자주 사용되고 있는 특징 선택 기준은 정보 이득, 정보 이득비 및 지니 지수를 포함하고, 하기에서 각각 설명한다.
1) 정보 이득(information gain)
정보론에서, 엔트로피는 랜덤 변수의 불확실성을 표현하는데 사용되고, 정보 이득은 엔트로피 정보론을 기초로 한다.
임의의 특징 A는 데이터 세트 D에 대한 정보 이득 g (D, A)에 대해, 데이터 세트 D의 경험 엔트로피 H(D)와 주어진 특징 A의 조건에서 데이터 세트 D의 경험 조건 엔트로피 H(D|A)의 차이로 정의할 수 있고, 수학 표현식은 다음과 같이 표현할 수 있다.
g(D, A) = H(D) - H(D|A); (1)
상기 표현식은 데이터 세트 D의 초기 엔트로피에서 특징 A를 알게 된 후의 데이터 세트 D의 엔트로피를 빼고, 하나의 불확실한 사물에 대해, 관련되는 정보를 조금 더 알고 있는 한, 엔트로피는 일반적으로, 감소할 수 있고, H(D)는 일반적으로, H(D|A)보다 크고, H(D)과 H(D|A)의 차이는 정보 이득의 정도를 정량화하는 것을 이해할 수 있다.
결정 트리를 생성하는 프로세스는 정보 이득을 사용하여 특징 선택 기준으로 하고, 결정 트리를 재귀적으로 구축하는 프로세스로 변환할 수 있고, 해당 프로세스는 반복 이분법 3세대(ID3, Iterative Dichotomiser 3) 알고리즘의 구현 프로세스에 대응한다.
ID3 알고리즘의 구현 프로세스는 구체적으로, 하기와 같은 단계를 포함할 수 있다.
루트 노드를 현재 노드로 하고, 원래의 데이터 세트를 현재 노드에 대응하는 데이터 세트로 하고, 원래의 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 하기의 제4 처리를 수행하고,
현재 노드에 대응하는 특징 세트 중의 각 특징이 현재 노드에 대응하는 데이터 세트에 대한 정보 이득을 각각 획득하고, 현재 노드에 대응하는 특징 세트에 각각 특징 1, 특징 2 및 특징 3인 3개의 특징이 포함된다고 가정하면, 3개의 정보 이득을 획득할 수 있고,
정보 이득이 최대의 특징을 선택하고, 특징 2이라고 가정하면, 나아가, 특징 2에 대응하는 부동한 특징값에 대응하는 노드를 각각 확립하고, 확립된 노드를 현재 노드의 서브 노드로 할 수 있고, 예를 들어, 특징 2는 촬영 장소이며, 대응하는 특징값은 베이징, 상해, 광저우 등을 포함하면, 각 특징값에 대응하는 서브 노드를 각각 확립할 수 있고,
현재 노드의 각 서브 노드에 대해, 각각 현재 노드에 대응하는 데이터 세트로부터 해당 서브 노드에 매칭하는 데이터를 선택하고, 해당 서브 노드에 대응하는 데이터 세트를 구성하고, 매칭하는 데이터는 선택된 특징의 특징값이 해당 서브 노드에 대응하는 특징값의 데이터이며, 예를 들어, 어떤 서브 노드에 대응하는 특징값이 베이징이면, 현재 노드에 대응하는 데이터 세트로부터 촬영 장소가 베이징인 데이터를 선택하고, 해당 서브 노드에 대응하는 데이터 세트를 구성할 수 있고,
선택된 특징을 특징 2와 같은 현재 노드에 대응하는 특징 세트로부터 삭제하고, 업데이트 후의 특징 세트를 획득하고,
현재 노드의 각 서브 노드에 대해, 해당 서브 노드가 리프 노드로 결정되었을 경우, 해당 서브 노드에 대한 처리를 종료하고, 그렇지 않은 경우, 해당 서브 노드를 현재 노드로 하고, 업데이트 후의 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 루트 노드로부터 시작하는 모든 경로에서의 마지막 하나의 노드가 모두 리프 노드일 때까지, 제4 처리를 반복 수행한다.
실제 응용에서, 어떤 서브 노드에 대응하는 데이터 세트에는 하나의 카테고리, 즉 단일인 카테고리만을 포함하고, 계속 분할할 수 없을 경우, 해당 서브 노드가 리프 노드로 결정될 수 있다.
2) 정보 이득비(information gain ratio)
ID3 알고리즘은 오버피팅하기 쉬워, 정보 이득이 특징값이 많은 특징에 편향하는 비교적 큰 결점이 있다. 원인은 어떤 특징에 대응하는 특징값이 비교적으로 많을 경우, 해당 특징에 따라 분할하면 순도가 보다 높은 부분집합을 보다 용이하게 획득할 수 있고, 따라서, 분할 후의 엔트로피는 더 낮으며, 분할 전의 엔트로피는 일정하기 때문에, 획득된 정보 이득은 더 커진다.
상기의 문제에 대해, 정보 이득비의 개념을 제공하고, 정보 이득에 대한 특징값의 수의 영향을 약화시킬 수 있다.
임의의 특징 A가 데이터 세트 D에 대한 정보 이득비 gR(D, A)이며, 정보 이득 g(D, A)와 데이터 세트 D가 특징 A에 대한 엔트로피 HA(D)의 비율로 정의할 수 있고, 즉 :
Figure pat00001
(2)
여기서,
Figure pat00002
(3)
N는 특징 A에 대응하는 특징값의 수를 나타내고, Di는 데이터 세트 D 중의 특징 A의 값이 특징값 i의 데이터로 구성되는 데이터 세트를 나타내고, lDl는 데이터 세트 D에 포함되는 데이터의 수를 나타내고, lDil는 데이터 세트 Di에 포함되는 데이터의 수를 나타낸다.
상기 표현식은 하나의 특징에 대응하는 특징값이 많을수록, 불확실성이 높아져, HA(D)이 커지는 것을 나타낸다.
정보 이득비와 정보 이득의 관계는, 다음과 같이 나타낼 수 있고,
정보 이득비=정보 이득×페널티 파라미터; (4)
여기서, 페널티 파라미터는
Figure pat00003
이기 때문에, 정보 이득에 대한 특징값의 수의 영향을 일정한 프로그램에서 상쇄한다.
정보 이득비는, C4.5 알고리즘에 대응하고, C4.5 알고리즘의 구현 프로세스는 ID3 알고리즘과 유사하며, ID3 알고리즘 내의 정보 이득을 정보 이득비로 대체하는 것 뿐이다.
3) 지니 계수(Gini coefficient)
ID3 알고리즘에서 정보 이득을 사용하여 특징을 선택하고, 정보 이득이 큰 특징을 우선적으로 선택하고, C4.5 알고리즘에는 정보 이득비를 사용하여 특징을 선택하고, 특징값의 수가 많은 것으로 인해 정보 이득이 비교적 큰 문제를 감소시킨다. 분류 및 회귀 트리(CART, Classification and Regression Tree) 알고리즘은 지니 계수를 사용하여 특징을 선택하고, 지니 계수는 불순도를 나타내고, 지니 계수가 작을수록, 불순도가 낮으며, 특징이 더 좋으며, 이는 정보 이득(비)와 반대이다.
데이터 세트 D의 순도는 지니 계수로 측정할 수 있고, 즉 데이터 세트 D의 지니 계수는, 다음과 같이 정의할 수 있고,
Figure pat00004
; (5)
여기서, p(xi)는 데이터 x가 카테고리 i에 속하는 확률을 나타내고, n는 카테고리의 수를 나타내고, 즉 데이터 세트 D에는 n개의 카테고리가 포함되고, Gini(D)는 데이터 세트 D로부터 랜덤으로 선택된 하나의 데이터가 잘못 분류되는 확률을 반영하고, 즉 샘플 세트 내에서 하나의 랜덤으로 선택된 샘플이 잘못 분류되는 확률을 나타내고, 지니 계수가 작을수록, 샘플 세트 내에서 선택된 샘플이 잘못 분류되는 확률이 작아지는 것을 나타내고, 다시 말하면, 샘플 세트의 순도가 높을수록, 반대로, 순도가 낮아진다.
데이터 세트 D에 대해, 특징 A가 있는 특정한 특징값 a를 취하는지 여부에 따라, 데이터 세트 D를 D1과 D2의 두 데이터 세트(또는 데이터 서브세트라고 부른다)로 분할할 수 있다.
이에 따라, 특징 A에 대응하는 특징값 a가 데이터 세트 D에 대한 지니 계수는, 다음과 같이 정의할 수 있고,
Figure pat00005
Figure pat00006
(6)
여기서, lDl는 데이터 세트 D에 포함되는 데이터의 수, 즉 샘플의 수를 나타내고, lD1l은 데이터 세트 D1에 포함되는 데이터의 수를 나타내고, lD2l는 데이터 세트 D2에 포함되는 데이터의 수를 나타낸다.
ID3 알고리즘과 C4.5 알고리즘과 비교하면, CART 알고리즘의 하나의 이점은 이산 특징값을 처리할 수 있고, 연속 특징값을 처리할 수도 있다. 예를 들어, 이미지의 촬영 시간은 하나의 연속 특징값이며, 계절에 따라 분할하여 지니 계수 등을 계산할 수 있다.
CART 알고리즘의 구현 프로세스는 구체적으로, 하기와 같은 단계를 포함할 수 있다.
루트 노드를 현재 노드로 하고, 원래의 데이터 세트를 현재 노드에 대응하는 데이터 세트로 하고, 원래의 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 하기의 제5 처리를 수행하되:
현재 노드에 대응하는 특징 세트 중의 각 특징에 대해, 해당 특징에 대응하는 각 특징값이 현재 노드에 대응하는 데이터 세트에 대한 지니 계수를 각각 획득하는 단계;
획득된 각 지니 계수로부터 값이 가장 작은 지니 계수를 선택하고, 선택된 지니 계수에 대응하는 특징(특징 A라고 가정한다) 및 대응하는 특징의 특징값(특징값 a라고 가정한다)을 최적인 특징(optimal feature)과 최적인 세그멘테이션 포인트(optimal segmentation point)로 사용하는 단계;
최적인 특징과 최적인 세그멘테이션 포인트에 따라, 현재 노드에 대응하는 데이터 세트를 D1과 D2에 두 개의 데이터 세트에 분할하고, 현재 노드에 두 개의 서브 노드를 생성하는 단계 - 하나의 서브 노드는 데이터 세트 D1에 대응하고, 다른 하나의 서브 노드는 데이터 세트 D2에 대응하고, 데이터 세트 D1 내의 데이터 특징 A의 값은 특징값 a이며, 데이터 세트 D2 내의 데이터 특징 A의 값은 특징값 a가 아님 -;
현재 노드의 각 서브 노드에 대해, 미리 결정된 조건에 적합하다고 결정되었을 경우, 해당 서브 노드에 대한 처리를 종료할 수 있는 단계를 포함하되, 예를 들어, 해당 서브 노드에 대응하는 데이터 세트에 포함되는 데이터의 수가 미리 결정된 한계값보다 작을 경우, 예를 들어, 상기 한계값이 2이거나, 또는, 해당 서브 노드에 대응하는 데이터 세트의 지니 계수가 미리 결정된 한계값보다 작을 경우 등은, 미리 결정된 조건에 적합하다고 간주할 수 있고, 미리 결정된 조건에 적합하지 않다고 결정되었을 경우, 해당 서브 노드를 현재 노드로 하고, 제5 처리 등을 반복 수행할 수 있다.
상술한 바와 같이, 본 발명에서, 획득된 이미지의 특징에 따라, 미리 결정된 특징 선택 기준에 의해, 결정 트리를 생성할 수 있다.
미리 결정된 특징 선택 기준은 정보 이득, 정보 이득비, 지니 계수 중의 하나를 포함할 수 있다. 또는, 미리 결정된 특징 선택 기준은 정보 이득 및 정보 이득비를 포함할 수 있다. 또는, 미리 결정된 특징 선택 기준은 정보 이득, 정보 이득비 및 지니 계수를 포함할 수 있다.
미리 결정된 특징 선택 기준이 정보 이득일 경우, ID3 알고리즘을 따라 결정 트리를 생성할 수 있다. 미리 결정된 특징 선택 기준이 정보 이득비일 경우, C4.5 알고리즘을 따라 결정 트리를 생성할 수 있다. 미리 결정된 특징 선택 기준이 지니 계수일 경우, CART 알고리즘을 따라 결정 트리를 생성할 수 있다. 미리 결정된 특징 선택 기준이 정보 이득 및 정보 이득비일 경우, 개량 후의 제1 결정 트리 생성 알고리즘을 따라 결정 트리를 생성할 수 있다. 미리 결정된 특징 선택 기준이 정보 이득, 정보 이득비 및 지니 계수를 포함할 경우, 개량 후의 제2 결정 트리 생성 알고리즘을 따라 결정 트리를 생성할 수 있다. 구체적으로 어느 알고리즘을 사용하여 결정 트리를 생성하는지는 실제 수요에 따라 결정할 수 있고, 매우 유연하고 편리하다.
여기서, 개량 후의 제1 결정 트리 생성 알고리즘이 구체적인 구현 프로세스는 하기와 같은 단계를 포함할 수 있다.
루트 노드를 현재 노드로 하고, 원래의 데이터 세트를 현재 노드에 대응하는 데이터 세트로 하고, 원래의 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 원래의 데이터 세트는 검색 대상의 이미지 세트일 수 있고, 원래의 특징 세트는 획득된 이미지의 특징으로 구성된 특징 세트일 수 있고, 하기의 제2 처리를 수행하고,
정보 이득 및 정보 이득비를 결합하여, 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택하고, 최적인 특징에 대응하는 부동한 특징값에 대해, 대응하는 노드를 각각 확립하고, 확립된 노드를 현재 노드의 서브 노드로 하고,
현재 노드의 각 서브 노드에 대해, 각각 현재 노드에 대응하는 데이터 세트로부터 해당 서브 노드에 매칭하는 데이터를 선택하고, 해당 서브 노드에 대응하는 데이터 세트를 구성하고, 매칭하는 데이터는 최적인 특징의 특징값이 해당 서브 노드에 대응하는 특징값인 데이터이며,
최적인 특징을 현재 노드에 대응하는 특징 세트로부터 삭제하고, 업데이트 후의 특징 세트를 획득하고,
현재 노드의 각 서브 노드에 대해, 해당 서브 노드가 리프 노드로 결정되었을 경우, 해당 서브 노드에 대한 처리를 종료하고, 그렇지 않은 경우, 해당 서브 노드를 현재 노드로 하고, 업데이트 후의 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 루트 노드로부터 시작하는 모든 경로에서의 마지막 하나의 노드가 모두 리프 노드일 때까지, 제2 처리를 반복 수행한다.
여기서, 정보 이득 및 정보 이득비를 결합하여, 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택하는 방식은 현재 노드에 대응하는 특징 세트 중의 각 특징이 현재 노드에 대응하는 데이터 세트에 대한 정보 이득을 각각 획득하는 단계; 획득된 각 정보 이득의 평균치를 계산하고, 현재 노드에 대응하는 특징 세트 중의 각 특징으로부터 대응하는 정보 이득이 평균치보다 큰 특징을 선택하는 단계; 선택된 각 특징이 현재 노드에 대응하는 데이터 세트에 대한 정보 이득비를 각각 획득하는 단계; 및 정보 이득비가 최대인 특징을 최적인 특징으로 하는 단계; 를 포함할 수 있다.
C4.5 알고리즘의 결점은 정보 이득비가 특징값이 비교적 적은 특징에 편향하는 것이며, 원인은 특징값이 적을 경우, HA(D)의 값은 작아져, 상응하게, 그의 역수가 비교적 크므로, 정보 이득비도 비교적 크고, 개량 후의 제1 결정 트리 생성 알고리즘은 일정한 정도에서 이 문제를 해결할 수 있고, 해당 알고리즘에서, 정보 이득 또는 정보 이득비의 최대의 특징을 직접 선택하지 않고, 먼저, ID3 알고리즘을 사용하여 평균치 이상의 특징을 획득하고, 그 다음, 그 중에서 정보 이득비가 최대의 특징 등을 선택함으로써, ID3 알고리즘과 C4.5 알고리즘의 이점을 동시에 고려한다.
개량 후의 제2 결정 트리 생성 알고리즘이 구체적인 구현 프로세스는 하기와 같은 단계를 포함할 수 있다.
루트 노드를 현재 노드로 하고, 원래의 데이터 세트를 현재 노드에 대응하는 데이터 세트로 하고, 원래의 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 원래의 데이터 세트는 검색 대상의 이미지 세트일 수 있고, 원래의 특징 세트는 획득된 이미지의 특징으로 구성된 특징 세트일 수 있고, 하기의 제3 처리를 수행할 수 있고,
정보 이득 및 정보 이득비를 결합하여, 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택하고, 지니 계수를 통해, 최적인 특징에 대응하는 각 특징값으로부터 M개의 특징값을 선택하고, M은 양의 정수이며, 최적인 특징에 대응하는 특징값의 수보다 작고, 선택되지 않은 특징값을 나머지 특징값으로 하고, 나머지 특징값을 하나의 전체로 하고, M개의 특징값 및 나머지 특징값에 대응하는 노드를 각각 확립하고, 확립된 M+1개의 노드를 현재 노드의 서브 노드로 하고,
현재 노드의 각 서브 노드에 대해, 각각 현재 노드에 대응하는 데이터 세트로부터 해당 서브 노드에 매칭하는 데이터를 선택하고, 해당 서브 노드에 대응하는 데이터 세트를 구성하고, 매칭하는 데이터는 최적인 특징의 특징값이 해당 서브 노드에 대응하는 특징값인 데이터이며,
최적인 특징을 현재 노드에 대응하는 특징 세트로부터 삭제하고, 업데이트 후의 특징 세트를 획득하고,
현재 노드의 각 서브 노드에 대해, 해당 서브 노드가 리프 노드로 결정되었을 경우, 해당 서브 노드에 대한 처리를 종료하고, 그렇지 않은 경우, 해당 서브 노드를 현재 노드로 하고, 업데이트 후의 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 루트 노드로부터 시작하는 모든 경로에서의 마지막 하나의 노드가 모두 리프 노드일 때까지, 제3 처리를 반복 수행한다.
여기서, 정보 이득 및 정보 이득비를 결합하여, 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택하는 방식은 현재 노드에 대응하는 특징 세트 중의 각 특징이 현재 노드에 대응하는 데이터 세트에 대한 정보 이득을 각각 획득하는 단계; 획득된 각 정보 이득의 평균치를 계산하고, 현재 노드에 대응하는 특징 세트 중의 각 특징으로부터 대응하는 정보 이득이 평균치보다 큰 특징을 선택하는 단계; 선택된 각 특징이 현재 노드에 대응하는 데이터 세트에 대한 정보 이득비를 각각 획득하는 단계; 및 정보 이득비가 최대인 특징을 상기 최적인 특징으로 하는 단계; 를 포함할 수 있다.
지니 계수를 통해, 최적인 특징에 대응하는 각 특징값으로부터 M개의 특징값을 선택하는 방식은: 최적인 특징에 대응하는 각 특징값이 현재 노드에 대응하는 데이터 세트에 대한 지니 계수를 각각 획득하는 단계; 및 획득된 각 지니 계수를 작은 것부터 큰 것 순서대로 정렬하고, 정렬 후 앞의 M 위에 있는 지니 계수를 선택하고, 선택된 M개의 지니 계수에 대응하는 특징값을 최적인 특징에 대응하는 각 특징값으로부터 선택된 M개의 특징값으로 하는 단계;를 포함할 수 있다. M의 구체적인 값은 실제 수요에 따라 결정할 수 있다.
도 4는 본 발명에 기재된 개량 후의 제2 결정 트리의 생성 알고리즘을 따라 생성된 결정 트리의 개략도이다. 설명해야 하는 바로는, 표현을 간단하게 하기 위해, 도 4에서 결정 트리의 구조를 간략화하고, 실제의 구조는 일반적으로, 도 4에 도시된 것보다 복잡하다.
도 4에 도시된 바와 같이, 루트 노드로부터 시작하고, 루트 노드를 현재 노드로 하고, 검색 대상의 이미지 세트를 현재 노드에 대응하는 데이터 세트로 하고, 획득된 이미지의 특징으로 구성된 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 먼저, 현재 노드에 대응하는 특징 세트 중의 각 특징이 현재 노드에 대응하는 데이터 세트에 대한 정보 이득을 각각 획득하고, 획득된 각 정보 이득의 평균치를 계산하고, 현재 노드에 대응하는 특징 세트 중의 각 특징으로부터 대응하는 정보 이득이 평균치보다 큰 특징을 선택하고, 선택된 각 특징이 현재 노드에 대응하는 데이터 세트에 대한 정보 이득비를 각각 획득하고, 정보 이득비가 최대인 특징을 최적인 특징으로 할 수 있다.
예를 들어, 현재 노드에 대응하는 특징 세트에 3개의 특징이 포함되고, 각각 특징 1, 특징 2 및 특징 3이며, 상응하게, 3개의 정보 이득을 획득할 수 있고, 3개의 정보 이득의 평균치를 계산하고, 3개의 특징으로부터 대응하는 정보 이득이 평균치보다 큰 특징을 선택할 수 있고, 특징 1과 특징 2를 선택한다고 가정하면, 나아가, 특징 1 및 특징 2에 대응하는 정보 이득비를 각각 획득하고, 정보 이득비가 최대의 특징인 예를 들어, 특징 1을 최적인 특징으로 할 수 있다.
그 다음, 최적인 특징에 대응하는 각 특징값이 현재 노드에 대응하는 데이터 세트에 대한 지니 계수를 각각 획득할 수 있고, 획득된 각 지니 계수를 작은 것부터 큰 것 순서대로 정렬하고, 정렬 후 앞의 M 위에 있는 지니 계수를 선택하고, 선택된 M개의 지니 계수에 대응하는 특징값을 최적인 특징에 대응하는 각 특징값으로부터 선택된 M개의 특징값으로 할 수 있고, 선택되지 않은 특징값을 나머지 특징값으로 할 수 있다. 나아가, 나머지 특징값을 하나의 전체로 하고, M개의 특징값 및 나머지 특징값에 대응하는 노드를 각각 확립하고, 확립된 M+1개의 노드를 현재 노드의 서브 노드로 하고, 현재 노드의 각 서브 노드에 대해, 각각 현재 노드에 대응하는 데이터 세트로부터 해당 서브 노드에 매칭하는 데이터를 선택하고, 해당 서브 노드에 대응하는 데이터 세트를 구성할 수 있고, 매칭하는 데이터는 최적인 특징의 특징값이 해당 서브 노드에 대응하는 특징값인 데이터이다.
예를 들어, 최적인 특징은 특징 1이며, 특징 1은 각각 특징값 1, 특징값 2, 특징값 3 및 특징값 4인 4개의 특징값에 대응하면, 특징값 1, 특징값 2, 특징값 3 및 특징값 4에 대응하는 지니 계수를 각각 획득할 수 있고, 획득된 4개의 지니 계수를 작은 것부터 큰 것 순서대로 정렬할 수 있고, 정렬 후 앞의 2위에 있는 지니 계수를 선택하고, 선택된 2개의 지니 계수에 대응하는 특징값이 각각 특징값 1 및 특징값 2이라고 가정하면, 특징값 3 및 특징값 4를 나머지 특징값으로 할 수 있고, 특징값 1, 특징값 2 및 나머지 특징값에 대해, 대응하는 노드를 각각 확립하고, 확립된 3개의 노드를 현재 노드에 대응하는 서브 노드로 하고, 또한, 각 서브 노드에 대해, 나아가, 각각 현재 노드에 대응하는 데이터 세트로부터 해당 서브 노드에 매칭하는 데이터를 선택하고, 해당 서브 노드에 대응하는 데이터 세트를 구성할 수 있고, 예를 들어, 특징값 1에 대응하는 서브 노드에 대해, 현재 노드에 대응하는 데이터 세트로부터 특징 1의 값이 특징값 1인 데이터를 선택하고, 해당 서브 노드에 대응하는 데이터 세트를 구성할 수 있다.
그 다음, 최적인 특징을 현재 노드에 대응하는 특징 세트로부터 삭제하고, 업데이트 후의 특징 세트를 획득할 수 있다. 예를 들어, 특징 1을 특징 1, 특징 2 및 특징 3으로 구성되는 특징 세트로부터 삭제함으로써, 특징 2 및 특징 3으로 구성되는 업데이트 후의 특징 세트를 획득할 수 있다.
현재 노드의 각 서브 노드에 대해, 해당 서브 노드가 리프 노드로 결정되었을 경우, 해당 서브 노드에 대한 처리를 종료할 수 있고, 그렇지 않은 경우, 해당 서브 노드를 현재 노드로 하고, 업데이트 후의 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 루트 노드로부터 시작하는 모든 경로에서의 마지막 하나의 노드가 모두 리프 노드일 때까지, 상술한 처리를 반복 수행할 수 있다.
예를 들어, 각각 특징값 1에 대응하는 서브 노드, 특징값 2에 대응하는 서브 노드 및 나머지 특징값에 대응하는 서브 노드인 모두 3개의 서브 노드가 존재한다고 가정하면, 여기서, 특징값 1에 대응하는 서브 노드가 리프 노드이며, 도 4에 도시된 바와 같은 구형 노드이며, 해당 서브 노드에 대한 처리를 종료할 수 있고, 특징값 2에 대응하는 서브 노드 및 나머지 특징값에 대응하는 서브 노드에 대해, 각각 이를 현재 노드로 하고, 업데이트 후의 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 상술한 처리를 반복 수행하고, 처리 후, 2개의 서브 노드를 각각 획득하고, 모두 리프 노드라고 가정하면, 결정 트리의 확립을 완료할 수 있다.
상술한 알고리즘에서, 정보 이득과 정보 이득비를 결합하여, 먼저, ID3 알고리즘을 사용하여 평균치 이상의 특징을 획득하고, 그 다음에, 다시, 그 중에서 정보 이득비가 최대의 특징 등을 선택함으로써, ID3 알고리즘과 C4.5 알고리즘의 이점을 동시에 고려하고, 또한, 결정된 최적인 특징에 대해, 나아가, 지니 계수를 사용하여 값이 낮은 몇 가지의 특징값을 선택하고, 나머지의 특징값을 나머지 특징값으로 함으로써, 특징값이 너무 많은 것으로 인해 문제 옵션이 너무 많은 등의 문제를 감소할 수 있다는 것을 알 수 있다.
이상은 방법의 실시예에 대해 설명하였지만, 하기는 장치의 실시예를 통해, 본 발명에 기재된 해결 방식을 더 설명한다.
도 5는 본 발명에 기재된 이미지 검색 장치의 실시예(50)의 구성의 구조 개략도이다. 도 5에 도시된 바와 같이, 전처리 모듈(501)과 검색 모듈(502)을 포함한다.
전처리 모듈(501)은 검색 대상의 이미지 세트 중의 이미지 특징을 획득하고, 획득된 특징에 따라 결정 트리를 생성하고, 결정 트리 내의 노드에 대응하는 문제를 각각 배치하는데 사용된다.
검색 모듈(502)은 사용자의 이미지 검색 요청을 수신하였을 경우, 배치된 문제에 따라 사용자에게 질문하고, 사용자의 회답을 결합하여, 결정 트리로부터 하나의 최적의 경로를 선택하고, 최적의 경로에서의 리프 노드에 대응하는 이미지를 검색된 이미지로 하는데 사용된다.
구체적으로, 검색 모듈(502)은 결정 트리의 루트 노드를 현재 노드로 하고, 하기의 제1 처리를 수행할 수 있고, 현재 노드에 대응하는 문제를 따라 사용자에게 질문하는 단계; 사용자의 회답을 획득하고, 현재 노드의 서브 노드로부터 해당 회답에 매칭하는 서브 노드를 결정하고, 매칭하는 서브 노드가 리프 노드로 결정되었을 경우, 루트 노드의 시작으로부터 리프 노드의 종료까지의 경로를 최적의 경로로 하고, 그렇지 않은 경우, 매칭하는 서브 노드를 현재 노드로 하고, 제1 처리를 반복 수행한다.
또한, 전처리 모듈(501)은 획득된 특징에 따라, 미리 결정된 특징 선택 기준에 따라, 결정 트리를 생성할 수 있다. 미리 결정된 특징 선택 기준은 정보 이득을 포함하고, 또는, 미리 결정된 특징 선택 기준은 정보 이득비를 포함하고, 또는, 미리 결정된 특징 선택 기준은 지니 계수를 포함하고, 또는, 미리 결정된 특징 선택 기준은 정보 이득을 포함하고 및 정보 이득비; 또는, 미리 결정된 특징 선택 기준은 정보 이득, 정보 이득비 및 지니 계수를 포함한다.
여기서, 미리 결정된 특징 선택 기준이 정보 이득 및 정보 이득비를 포함할 경우, 전처리 모듈(501)은 루트 노드를 현재 노드로 하고, 검색 대상의 이미지 세트를 현재 노드에 대응하는 데이터 세트로 하고, 획득된 이미지의 특징으로 구성된 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 하기의 제2 처리를 수행하고, 정보 이득 및 정보 이득비를 결합하여, 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택하고, 최적인 특징에 대응하는 부동한 특징값에 대해, 대응하는 노드를 각각 확립하고, 확립된 노드를 현재 노드의 서브 노드로 하고, 현재 노드의 각 서브 노드에 대해, 각각 현재 노드에 대응하는 데이터 세트로부터 해당 서브 노드에 매칭하는 데이터를 선택하고, 해당 서브 노드에 대응하는 데이터 세트를 구성하고, 매칭하는 데이터는 최적인 특징의 특징값이 해당 서브 노드에 대응하는 특징값인 데이터이며, 최적인 특징을 현재 노드에 대응하는 특징 세트로부터 삭제하고, 업데이트 후의 특징 세트를 획득하고, 현재 노드의 각 서브 노드에 대해, 해당 서브 노드가 리프 노드로 결정되었을 경우, 해당 서브 노드에 대한 처리를 종료하고, 그렇지 않은 경우, 해당 서브 노드를 현재 노드로 하고, 업데이트 후의 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 루트 노드로부터 시작하는 모든 경로에서의 마지막 하나의 노드가 모두 리프 노드일 때까지, 제2 처리를 반복 수행할 수 있다.
미리 결정된 특징 선택 기준이 정보 이득, 정보 이득비 및 지니 계수를 포함할 경우, 전처리 모듈(501)은 루트 노드를 현재 노드로 하고, 검색 대상의 이미지 세트를 현재 노드에 대응하는 데이터 세트로 하고, 획득된 이미지의 특징으로 구성된 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 하기의 제3 처리를 수행하고, 정보 이득 및 정보 이득비를 결합하여, 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택하고, 지니 계수를 통해, 최적인 특징에 대응하는 각 특징값으로부터 M개의 특징값을 선택하고, M은 양의 정수이며, 최적인 특징에 대응하는 특징값의 수보다 작고, 선택되지 않은 특징값을 나머지 특징값으로 하고, 나머지 특징값을 하나의 전체로 하고, M개의 특징값 및 나머지 특징값에 대응하는 노드를 각각 확립하고, 확립된 M+1개의 노드를 현재 노드의 서브 노드로 하고, 현재 노드의 각 서브 노드에 대해, 각각 현재 노드에 대응하는 데이터 세트로부터 해당 서브 노드에 매칭하는 데이터를 선택하고, 해당 서브 노드에 대응하는 데이터 세트를 구성하고, 매칭하는 데이터는 최적인 특징의 특징값이 해당 서브 노드에 대응하는 특징값인 데이터이며, 최적인 특징을 현재 노드에 대응하는 특징 세트로부터 삭제하고, 업데이트 후의 특징 세트를 획득하고, 현재 노드의 각 서브 노드에 대해, 해당 서브 노드가 리프 노드로 결정되었을 경우, 해당 서브 노드에 대한 처리를 종료하고, 그렇지 않은 경우, 해당 서브 노드를 현재 노드로 하고, 업데이트 후의 특징 세트를 현재 노드에 대응하는 특징 세트로 하고, 루트 노드로부터 시작하는 모든 경로에서의 마지막 하나의 노드가 모두 리프 노드일 때까지, 제3 처리를 반복 수행할 수 있다.
정보 이득 및 정보 이득비를 결합하여, 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택할 때, 전처리 모듈(501)은 현재 노드에 대응하는 특징 세트 중의 각 특징이 현재 노드에 대응하는 데이터 세트에 대한 정보 이득을 각각 획득하고, 획득된 각 정보 이득의 평균치를 계산하고, 현재 노드에 대응하는 특징 세트 중의 각 특징으로부터 대응하는 정보 이득이 평균치보다 큰 특징을 선택하고, 선택된 각 특징이 현재 노드에 대응하는 데이터 세트에 대한 정보 이득비를 각각 획득하고, 정보 이득비가 최대인 특징을 최적인 특징으로 할 수 있다.
지니 계수를 통해, 최적인 특징에 대응하는 각 특징값으로부터 M개의 특징값을 선택할 때, 전처리 모듈(501)은 최적인 특징에 대응하는 각 특징값이 현재 노드에 대응하는 데이터 세트에 대한 지니 계수를 각각 획득할 수 있고, 획득된 각 지니 계수를 작은 것부터 큰 것 순서대로 정렬하고, 정렬 후 앞의 M 위에 있는 지니 계수를 선택하고, 선택된 M개의 지니 계수에 대응하는 특징값을 최적인 특징에 대응하는 각 특징값으로부터 선택된 M개의 특징값으로 할 수 있다.
도 5에 도시된 장치의 실시예의 구체적인 작업 프로세스는 전술한 방법의 실시예의 관련 설명을 참조하고, 여기에서 설명을 생략한다.
즉, 상기 장치의 실시예에 기재된 해결 방식을 사용하여, 결정 트리에 기반한 이미지 퍼지 검색 방식을 사용할 수 있고, 획득된 이미지 특징에 의해 생성된 결정 트리에 기반하여, 사용자에게 주도적으로 질문하여 유도하고, 사용자의 회답을 결합하여, 사용자가 찾고자 하는 이미지를 결정하여, 키워드를 사용하지 않아도 사용자가 원하는 이미지를 편리하고 정확하게 찾을 수 있도록 구현할 수 있고, 개량 후의 결정 트리 생성 알고리즘을 제공하여, 검색 효율 등을 향상시킬 수 있다.
본 발명에 기재된 해결 방식은 인공 지능의 분야에 응용될 수 있고, 특히, 인텔리전트 클라우드, 컴퓨터 비전 및 딥 러닝 등의 분야에 관계한다.
인공 지능은 연구하여 인간의 일부 사고 과정과 지능행위(예를 들어, 학습, 추리, 사고, 계획 등)을 컴퓨터로 시뮬레이션하는 것을 연구하는 학과이며, 하드웨어 차원의 기술이 있을 뿐만 아니라 소프트웨어 차원의 기술도 있으며, 인공 지능 하드웨어 기술은 일반적으로, 예를 들어, 센서, 전용 인공 지능 칩, 클라우드 컴퓨팅, 분산 스토리지, 빅 데이터 처리 등의 기술을 포함하고, 인공 지능 소프트웨어 기술은 주로, 컴퓨터 비전 기술, 음성 인식 기술, 자연 언어 처리 기술 및 기계 학습/딥 러닝, 빅 데이터 처리 기술, 지식 그래프 기술 등의 몇 가지 방향을 포함한다.
본 발명의 실시예에 따르면, 본 발명은 전자 기기, 판독 가능 기록 매체 및 컴퓨터 프로그램 제품을 더 제공한다.
도 6에 도시된 바와 같이, 본 발명의 실시예를 구현하는데 사용되는 예시적인 전자 기기(600)의 블록도이다. 전자 기기는 랩톱 컴퓨터, 데스크톱 컴퓨터, 운영 플랫폼, 서버, 블레이드 서버, 대형 컴퓨터, 및 다른 적합한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 의미한다. 전자 기기는 개인 디지털 처리, 셀룰러폰, 스마트폰, 웨어러블 기기 및 다른 유사한 계산 장치와 같은 다양한 형태의 이동 장치를 의미할 수도 있다. 본문에서 나타낸 부재, 이들의 연결과 관계, 및 이들의 기능은 단지 예시적인 것으로, 본문에서 설명 및/또는 요구된 본 발명의 구현을 한정하지 않는다.
도 6에 도시된 바와 같이, 기기(600)는 계산 유닛(601)을 포함하고, 계산 유닛(601)은 판독 전용 메모리(ROM)(602)에 저장되어 있는 컴퓨터 프로그램 또는 저장 유닛(608)으로부터 랜덤 액세스 메모리(RAM)(603)에 로드된 컴퓨터 프로그램에 따라, 다양한 적절한 동작과 처리를 실행할 수 있다. RAM(603)에는 기기(600)가 동작하는데 필요한 여러 가지 프로그램과 데이터도 저장할 수 있다. 계산 유닛(601), ROM(602) 및 RAM(603)는 버스(604)를 통해 서로 연결된다. 입력/출력(I/O) 인터페이스(605)도 버스(604)에 연결된다.
기기(600) 중의 복수 컴포넌트는 I/O 인터페이스(605)에 연결되고, 키보드, 마우스 등과 같은 입력 유닛(606); 여러 가지 타입의 디스플레이, 스피커 등과 같은 출력 유닛(607); 디스크, 광디스크 등과 같은 저장 유닛(608) 및 네트워크 카드, 모뎀, 무선통신 트랜시버 등과 같은 통신 유닛(609)을 포함한다. 통신 유닛(609)은 전자 기기(600)가 인터넷 등과 같은 컴퓨터 네트워크 및 여러 가지 통신 네트워크 중의 적어도 하나를 통해 다른 기기와 정보/데이터를 교환할 수 있다.
계산 유닛(601)은 여러 가지 처리와 계산 능력을 갖춘 범용 처리 컴포넌트 및 전용 처리 컴포넌트 중의 적어도 하나일 수 있다. 계산 유닛(601)의 일부 예는, 중앙 처리 유닛(CPU), 그래픽스 처리 유닛(GPU), 다양한 전용 인공지능(AI) 계산 팁, 다양한 기계학습 모델 알고리즘을 실행하는 계산 유닛, 디지털 신호 프로세서(DSP) 및 임의의 적절한 프로세서, 컨트롤러, 마이크로 컨트롤러 등을 포함하지만, 이에 한정되지 않는다. 계산 유닛(601)은 본 발명에 기재된 방법 등과 같은 상기의 다양한 방법과 처리를 실행한다. 예를 들면, 일부 실시예에서, 본 발명에 기재된 방법은 저장 유닛(608) 등과 같은 기계 판독 가능 매체에 유형적으로 포함되는 컴퓨터 소프트웨어 프로그램으로 구현할 수 있다. 일부 실시예에서, 컴퓨터 프로그램의 일부 또는 전부는 ROM(602) 및 통신 유닛(609) 중의 적어도 하나를 통해 전자 기기(600)에 로드 및/또는 인스톨될 수 있다. 컴퓨터 프로그램이 RAM(603)에 로드되어 계산 유닛(601)에 의해 실행될 경우, 상기의 본 발명에 기재된 방법의 하나 또는 복수의 단계를 실행할 수 있다. 대안적으로, 다른 실시예에서, 계산 유닛(601)은 다른 임의의 적절한 방식(예를 들면, 펌웨어에 의해)을 통해 본 발명에 기재된 방법을 실행하도록 구성될 수 있다.
여기서 설명된 시스템 및 기술의 다양한 실시형태는 디지털 전자 회로 시스템, 집적 회로 시스템, 필드 프로그래밍 가능한 게이트 어레이(FPGA), 특정 용도 대상 집적 회로(ASIC), 특정 용도 대상 표준제품(ASSP), 시스템 온 칩 시스템(SOC), 부하 프로그래밍 가능 논리 장치(CPLD), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 결합에서 구현될 수 있다. 이러한 다양한 실시형태는 하나 또는 다수의 컴퓨터 프로그램에서의 구현을 포함할 수 있고, 상기 하나 또는 다수의 컴퓨터 프로그램은 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템에서 실행 및/또는 해석될 수 있으며, 상기 프로그램 가능 프로세서는 전용 또는 범용 프로그램 가능 프로세서일 수 있고, 저장 시스템, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치로부터 데이터 및 명령을 수신할 수 있으며, 데이터 및 명령을 상기 저장 시스템, 상기 적어도 하나의 입력 장치, 및 상기 적어도 하나의 출력 장치에 전송할 수 있다.
본 발명의 방법을 실시하기 위한 프로그램 코드는 하나 또는 복수의 프로그래밍 언어의 임의의 결합을 사용하여 작성할 수 있다. 이러한 프로그램 코드는 프로그램 코드가 프로세서 또는 컨트롤러에 의해 실행될 때 흐름도 및 블록도 중의 적어도 하나에 규정된 기능/동작이 실행되도록, 대형 기계(슈퍼 컴퓨터), 전용 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치의 프로세서 또는 컨트롤러에 제공할 수 있다. 프로그램 코드는 완전히 기계에서 실행되거나, 부분적으로 기계에서 실행되거나, 독립된 소프트웨어 패키지로서 부분적으로 기계에서 실행되고, 부분적으로 리모트 기계에서 실행되거나 또는 완전히 리모트 기계 또는 서버에서 실행될 수 있다.
본 발명의 문맥에서, 기계 판독 가능 매체는 명령 실행 시스템, 장치 또는 기기의 사용, 또는 명령 실행 시스템, 장치 또는 기기와 결합하여 사용되는 프로그램을 포함하거나 저장할 수 있는 유형적인 매체일 수 있다. 기계 판독 가능 매체는 기계 판독 가능 신호 매체 또는 기계 판독 가능 기록 매체일 수 있다. 기계 판독 가능 매체는 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치 또는 기기, 또는 상술한 내용의 임의의 적절한 결합을 포함하지만, 이에 한정되지 않는다. 기계 판독 가능 기록 매체의 더 구체적인 예는 하나 또는 복수의 와이어에 기반한 전기 연결, 휴대용 컴퓨터 디스크, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능 프로그래머블 판독 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 포터블 컴팩트 디스크 판독 전용 메모리(CD-ROM), 광학 저장 장치, 자기 저장 장치 또는 상술한 내용의 임의의 적절한 결합을 포함한다.
사용자와의 인터랙션을 제공하기 위하여, 컴퓨터에서 여기서 설명된 시스템 및 기술을 실시할 수 있고, 상기 컴퓨터는 사용자에게 정보를 표시하기 위한 표시 장치(예를 들어, CRT(음극선관) 또는 LCD(액정 표시 장치) 모니터); 및 키보드 및 지향 장치(예를 들어, 마우스 또는 트랙 볼)를 구비하며, 사용자는 상기 키보드 및 상기 지향 장치를 통해 컴퓨터에 입력을 제공한다. 다른 타입의 장치는 또한 사용자와의 인터랙션을 제공할 수 있는데, 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 감지 피드백(예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백)일 수 있고; 임의의 형태(소리 입력, 음성 입력, 또는 촉각 입력)로 사용자로부터의 입력을 수신할 수 있다.
여기서 설명된 시스템 및 기술은 백엔드 부재를 포함하는 계산 시스템(예를 들어, 데이터 서버로 사용됨), 또는 미들웨어 부재를 포함하는 계산 시스템(예를 들어, 애플리케이션 서버), 또는 프론트 엔드 부재를 포함하는 계산 시스템(예를 들어, 그래픽 사용자 인터페이스 또는 네트워크 브라우저를 구비하는 사용자 컴퓨터인 바, 사용자는 상기 그래픽 사용자 인터페이스 또는 상기 네트워크 브라우저를 통해 여기서 설명된 시스템 및 기술의 실시형태와 인터랙션할 수 있음), 또는 이러한 백엔드 부재, 미들웨어 부재, 또는 프론트 엔드 부재의 임의의 결합을 포함하는 계산 시스템에서 구현될 수 있다. 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들어, 통신 네트워크)을 통해 시스템의 부재를 서로 연결시킬 수 있다. 통신 네트워크의 예는, 근거리 통신망(LAN), 광역망(WAN), 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있고 일반적으로 통신 네트워크를 통해 서로 인터랙션한다. 대응되는 컴퓨터에서 실행되고 또한 서로 클라이언트-서버 관계를 가지는 컴퓨터 프로그램을 통해 클라이언트 및 서버의 관계를 생성한다. 서버는 클라우드 서버일 수 있고, 클라우드 계산 또는 클라우드 호스트일 수도 있으며, 클라우드 계산 서비스 시스템 중의 하나의 호스트 제품일 수 있어, 종래의 물리 호스트와 가상화 프라이빗 서버("VPS")에 존재하는 관리 곤란도가 높고, 업무 확장성이 약한 것을 해결한다. 서버는 분산 시스템의 서버일 수 있거나, 또는 블록 체인을 결합한 서버일 수도 있다.
위에서 설명된 다양한 형태의 프로세스를 사용하여 단계를 재배열, 추가 또는 삭제할 수 있음을 이해해야 한다. 예를 들어, 본 발명에 기재된 각 단계는 동시에, 순차적으로, 또는 상이한 순서로 수행될 수 있으며, 본 발명에 개시된 기술적 해결수단이 이루고자 하는 결과를 구현할 수 있는 한, 본문은 여기서 한정되지 않는다.
상기 구체적인 실시형태는 본 발명의 보호 범위를 한정하지 않는다. 본 기술분야의 통상의 기술자는, 설계 요구 및 다른 요소에 따라 다양한 수정, 결합, 서브 결합 및 대체를 진행할 수 있음을 이해해야 한다. 본 발명의 정신 및 원칙 내에서 이루어진 임의의 수정, 등가 교체 및 개선 등은 모두 본 발명의 보호 범위 내에 포함되어야 한다.

Claims (18)

  1. 이미지 검색 방법(image searching method)에 있어서,
    검색 대상의 이미지 세트 중의 이미지 특징을 획득하고, 상기 특징에 따라 결정 트리를 생성하고, 상기 결정 트리 내의 노드에 대응하는 문제를 각각 배치하는 단계; 및
    사용자의 이미지 검색 요청을 수신하였을 경우, 상기 문제에 따라 사용자에게 질문하고, 상기 사용자의 회답을 결합하여, 상기 결정 트리로부터 하나의 최적의 경로를 선택하고, 상기 최적의 경로에서의 리프 노드에 대응하는 이미지를 검색된 이미지로 하는 단계;
    를 포함하는,
    이미지 검색 방법.
  2. 제1항에 있어서,
    상기 결정 트리로부터 하나의 최적의 경로를 선택하는 단계는,
    상기 결정 트리의 루트(root) 노드를 현재 노드로 사용하여, 제1 처리를 수행하고는 단계를 포함하되,
    상기 제1 처리는:
    상기 현재 노드에 대응하는 문제를 따라 상기 사용자에게 질문하는 단계;
    상기 사용자의 회답을 획득하고, 상기 현재 노드의 서브 노드로부터 상기 회답에 매칭하는 서브 노드를 결정하는 단계; 및
    상기 매칭하는 서브 노드가 리프 노드로 결정되었을 경우, 상기 루트 노드로부터 시작하여 상기 리프 노드까지 종료되는 경로를 상기 최적의 경로로 하고, 그렇지 않은 경우, 상기 매칭하는 서브 노드를 상기 현재 노드로 지정하고, 상기 제1 처리를 반복 수행하는 단계;를 포함하는,
    이미지 검색 방법.
  3. 제1항에 있어서,
    상기 특징에 따라 결정 트리를 생성하는 단계는,
    상기 특징에 따라, 미리 결정된 특징 선택 기준에 따라, 상기 결정 트리를 생성하는 단계를 포함하고,
    상기 미리 결정된 특징 선택 기준은 정보 이득(information gain)을 포함하고,
    또는, 상기 미리 결정된 특징 선택 기준은 정보 이득비(information gain ratio)를 포함하고,
    또는, 상기 미리 결정된 특징 선택 기준은 지니 계수(Gini coefficient)를 포함하고,
    또는, 상기 미리 결정된 특징 선택 기준은 상기 정보 이득 및 상기 정보 이득비를 포함하고,
    또는, 상기 미리 결정된 특징 선택 기준은 상기 정보 이득, 상기 정보 이득비 및 상기 지니 계수를 포함하는,
    이미지 검색 방법.
  4. 제3항에 있어서,
    상기 미리 결정된 특징 선택 기준이 상기 정보 이득 및 상기 정보 이득비를 포함할 경우, 상기 결정 트리를 생성하는 단계는,
    루트 노드를 현재 노드로 사용하고, 상기 검색 대상의 이미지 세트를 상기 현재 노드에 대응하는 데이터 세트로 지정하고, 획득된 이미지의 특징으로 구성된 특징 세트를 상기 현재 노드에 대응하는 특징 세트로 사용하여, 제2 처리를 수행하는 단계를 포함하되,
    상기 제2 처리는:
    상기 정보 이득 및 상기 정보 이득비를 결합하여, 상기 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택하는 단계; 상기 최적인 특징에 대응하는 부동한 특징값에 대해, 대응하는 노드를 각각 확립하고, 확립된 노드를 상기 현재 노드의 서브 노드로 사용하는 단계;
    상기 현재 노드의 각각의 서브 노드에 대해, 각각 상기 현재 노드에 대응하는 데이터 세트로부터 상기 서브 노드에 매칭하는 데이터를 선택하여, 상기 서브 노드에 대응하는 데이터 세트를 구성하는 단계 - 상기 매칭하는 데이터는 상기 최적인 특징의 특징값이 상기 서브 노드에 대응하는 특징값인 데이터임 -;
    상기 최적인 특징을 상기 현재 노드에 대응하는 특징 세트로부터 삭제하고, 업데이트 후의 특징 세트를 획득하는 단계; 및
    상기 현재 노드의 각각의 서브 노드에 대해, 상기 서브 노드가 리프 노드로 결정되었을 경우, 상기 서브 노드에 대한 처리를 종료하고, 그렇지 않은 경우, 상기 서브 노드를 상기 현재 노드로 하고, 상기 업데이트 후의 특징 세트를 상기 현재 노드에 대응하는 특징 세트로 하고, 상기 루트 노드로부터 시작하는 모든 경로에서의 마지막 하나의 노드가 모두 리프 노드일 때까지, 상기 제2 처리를 반복 수행하는 단계;를 포함하는,
    이미지 검색 방법.
  5. 제3항에 있어서,
    상기 미리 결정된 특징 선택 기준이 상기 정보 이득, 상기 정보 이득비 및 상기 지니 계수를 포함할 경우, 상기 결정 트리를 생성하는 단계는,
    루트 노드를 현재 노드로 사용하고, 상기 검색 대상의 이미지 세트를 상기 현재 노드에 대응하는 데이터 세트로 지정하고, 획득된 이미지의 특징으로 구성된 특징 세트를 상기 현재 노드에 대응하는 특징 세트로 사용하여, 제3 처리를 수행하는 단계를 포함하되,
    상기 제3 처리는:
    상기 정보 이득 및 상기 정보 이득비를 결합하여, 상기 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택하는 단계; 상기 지니 계수를 통해, 상기 최적인 특징에 대응하는 각각의 특징값으로부터 M개(M은 양의 정수임)의 특징값을 선택하고, 상기 최적인 특징에 대응하는 특징값의 수보다 작고, 선택되지 않은 특징값을 나머지 특징값으로 하고, 상기 나머지 특징값을 하나의 전체로 하고, 상기 M개의 특징값 및 상기 나머지 특징값에 대응하는 노드를 각각 확립하고, 확립된 M+1개의 노드를 상기 현재 노드의 서브 노드로 사용하는 단계;
    상기 현재 노드의 각각의 서브 노드에 대해, 각각 상기 현재 노드에 대응하는 데이터 세트로부터 상기 서브 노드에 매칭하는 데이터를 선택하여, 상기 서브 노드에 대응하는 데이터 세트를 구성하는 단계 - 상기 매칭하는 데이터는 상기 최적인 특징의 특징값이 상기 서브 노드에 대응하는 특징값인 데이터임 -;
    상기 최적인 특징을 상기 현재 노드에 대응하는 특징 세트로부터 삭제하고, 업데이트 후의 특징 세트를 획득하는 단계; 및
    상기 현재 노드의 각각의 서브 노드에 대해, 상기 서브 노드가 리프 노드로 결정되었을 경우, 상기 서브 노드에 대한 처리를 종료하고, 그렇지 않은 경우, 상기 서브 노드를 상기 현재 노드로 사용하고, 상기 업데이트 후의 특징 세트를 상기 현재 노드에 대응하는 특징 세트로 지정하고, 상기 루트 노드로부터 시작하는 모든 경로에서의 마지막 하나의 노드가 모두 리프 노드일 때까지, 상기 제3 처리를 반복 수행하는 단계;를 포함하는,
    이미지 검색 방법.
  6. 제5항에 있어서,
    상기 정보 이득 및 상기 정보 이득비를 결합하여, 상기 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택하는 단계는,
    상기 현재 노드에 대응하는 특징 세트 중의 각각의 특징이 상기 현재 노드에 대응하는 데이터 세트에 대한 정보 이득을 각각 획득하는 단계;
    획득된 각각의 정보 이득의 평균치를 계산하고, 상기 현재 노드에 대응하는 특징 세트 중의 각각의 특징으로부터 대응하는 정보 이득이 상기 평균치보다 큰 특징을 선택하는 단계;
    선택된 각각의 특징이 상기 현재 노드에 대응하는 데이터 세트에 대한 정보 이득비를 각각 획득하는 단계; 및
    정보 이득비가 최대인 특징을 상기 최적인 특징으로 하는 단계;를 포함하는,
    이미지 검색 방법.
  7. 제5항에 있어서,
    상기 지니 계수를 통해, 상기 최적인 특징에 대응하는 각각의 특징값으로부터 M개의 특징값을 선택하는 단계는,
    상기 최적인 특징에 대응하는 각각의 특징값이 상기 현재 노드에 대응하는 데이터 세트에 대한 지니 계수를 각각 획득하는 단계;
    획득된 각각의 지니 계수를 작은 것부터 큰 것 순서대로 정렬하고, 정렬 후 앞의 M위에 있는 지니 계수를 선택하는 단계; 및
    선택된 M개의 지니 계수에 대응하는 특징값을 상기 최적인 특징에 대응하는 각각의 특징값으로부터 선택된 M개의 특징값으로 사용하는 단계;를 포함하는,
    이미지 검색 방법.
  8. 이미지 검색 장치(image searching device)에 있어서,
    전처리 모듈과 검색 모듈을 포함하고,
    상기 전처리 모듈은 검색 대상의 이미지 세트 중의 이미지 특징을 획득하고, 상기 특징에 따라 결정 트리를 생성하고, 상기 결정 트리 내의 노드에 대응하는 문제를 각각 배치하는데 사용되고,
    상기 검색 모듈은 사용자의 이미지 검색 요청을 수신하였을 경우, 상기 문제에 따라 사용자에게 질문하고, 상기 사용자의 회답을 결합하여, 상기 결정 트리로부터 하나의 최적의 경로를 선택하고, 상기 최적의 경로에서의 리프 노드에 대응하는 이미지를 검색된 이미지로 사용하는데 사용되는,
    이미지 검색 장치.
  9. 제8항에 있어서,
    상기 검색 모듈은 상기 결정 트리의 루트 노드를 현재 노드로 사용하여, 제1 처리를 수행하고,
    상기 제1 처리는:
    상기 현재 노드에 대응하는 문제를 따라 상기 사용자에게 질문하고, 상기 사용자의 회답을 획득하고, 상기 현재 노드의 서브 노드로부터 상기 회답에 매칭하는 서브 노드를 결정하고, 상기 매칭하는 서브 노드가 리프 노드로 결정되었을 경우, 상기 루트 노드로부터 시작하여 상기 리프 노드까지 종료되는 경로를 상기 최적의 경로로 하고, 그렇지 않은 경우, 상기 매칭하는 서브 노드를 상기 현재 노드로 사용하고, 상기 제1 처리를 반복 수행하는 것인,
    이미지 검색 장치.
  10. 제8항에 있어서,
    상기 전처리 모듈은 상기 특징에 따라, 미리 결정된 특징 선택 기준에 따라, 상기 결정 트리를 생성하고,
    상기 미리 결정된 특징 선택 기준은 정보 이득을 포함하고,
    또는, 상기 미리 결정된 특징 선택 기준은 정보 이득비를 포함하고,
    또는, 상기 미리 결정된 특징 선택 기준은 지니 계수를 포함하고,
    또는, 상기 미리 결정된 특징 선택 기준은 상기 정보 이득 및 상기 정보 이득비를 포함하고,
    또는, 상기 미리 결정된 특징 선택 기준은 상기 정보 이득, 상기 정보 이득비 및 상기 지니 계수를 포함하는,
    이미지 검색 장치.
  11. 제10항에 있어서,
    상기 미리 결정된 특징 선택 기준이 상기 정보 이득 및 상기 정보 이득비를 포함할 경우,
    상기 전처리 모듈은 루트 노드를 현재 노드로 사용하고, 상기 검색 대상의 이미지 세트를 상기 현재 노드에 대응하는 데이터 세트로 지정하고, 획득된 이미지의 특징으로 구성된 특징 세트를 상기 현재 노드에 대응하는 특징 세트로 사용하여, 제2 처리를 수행하고,
    상기 제2 처리는:
    상기 정보 이득 및 상기 정보 이득비를 결합하여, 상기 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택하고, 상기 최적인 특징에 대응하는 부동한 특징값에 대해, 대응하는 노드를 각각 확립하고, 확립된 노드를 상기 현재 노드의 서브 노드로 하고, 상기 현재 노드의 각각의 서브 노드에 대해, 각각 상기 현재 노드에 대응하는 데이터 세트로부터 상기 서브 노드에 매칭하는 데이터를 선택하여, 상기 서브 노드에 대응하는 데이터 세트를 구성하고, 상기 매칭하는 데이터는 상기 최적인 특징의 특징값이 상기 서브 노드에 대응하는 특징값인 데이터이며, 상기 최적인 특징을 상기 현재 노드에 대응하는 특징 세트로부터 삭제하고, 업데이트 후의 특징 세트를 획득하고, 상기 현재 노드의 각각의 서브 노드에 대해, 상기 서브 노드가 리프 노드로 결정되었을 경우, 상기 서브 노드에 대한 처리를 종료하고, 그렇지 않은 경우, 상기 서브 노드를 상기 현재 노드로 하고, 상기 업데이트 후의 특징 세트를 상기 현재 노드에 대응하는 특징 세트로 하고, 상기 루트 노드로부터 시작하는 모든 경로에서의 마지막 하나의 노드가 모두 리프 노드일 때까지, 상기 제2 처리를 반복 수행하는 것인,
    이미지 검색 장치.
  12. 제10항에 있어서,
    상기 미리 결정된 특징 선택 기준이 상기 정보 이득, 상기 정보 이득비 및 상기 지니 계수를 포함할 경우,
    상기 전처리 모듈은 루트 노드를 현재 노드로 사용하고, 상기 검색 대상의 이미지 세트를 상기 현재 노드에 대응하는 데이터 세트로 지정하고, 획득된 이미지의 특징으로 구성된 특징 세트를 상기 현재 노드에 대응하는 특징 세트로 사용하여, 제3 처리를 수행하고,
    상기 제3 처리는:
    상기 정보 이득 및 상기 정보 이득비를 결합하여, 상기 현재 노드에 대응하는 특징 세트로부터 하나의 최적인 특징을 선택하고, 상기 지니 계수를 통해, 상기 최적인 특징에 대응하는 각각의 특징값으로부터 M개의 특징값을 선택하고, M은 양의 정수이며, 상기 최적인 특징에 대응하는 특징값의 수보다 작고, 선택되지 않은 특징값을 나머지 특징값으로 하고, 상기 나머지 특징값을 하나의 전체로 하고, 상기 M개의 특징값 및 상기 나머지 특징값에 대응하는 노드를 각각 확립하고, 확립된 M+1개의 노드를 상기 현재 노드의 서브 노드로 하고, 상기 현재 노드의 각각의 서브 노드에 대해, 각각 상기 현재 노드에 대응하는 데이터 세트로부터 상기 서브 노드에 매칭하는 데이터를 선택하여, 상기 서브 노드에 대응하는 데이터 세트를 구성하고, 상기 매칭하는 데이터는 상기 최적인 특징의 특징값이 상기 서브 노드에 대응하는 특징값인 데이터이며, 상기 최적인 특징을 상기 현재 노드에 대응하는 특징 세트로부터 삭제하고, 업데이트 후의 특징 세트를 획득하고, 상기 현재 노드의 각각의 서브 노드에 대해, 상기 서브 노드가 리프 노드로 결정되었을 경우, 상기 서브 노드에 대한 처리를 종료하고, 그렇지 않은 경우, 상기 서브 노드를 상기 현재 노드로 하고, 상기 업데이트 후의 특징 세트를 상기 현재 노드에 대응하는 특징 세트로 하고, 상기 루트 노드로부터 시작하는 모든 경로에서의 마지막 하나의 노드가 모두 리프 노드일 때까지, 상기 제3 처리를 반복 수행하는 것인,
    이미지 검색 장치.
  13. 제12항에 있어서,
    상기 전처리 모듈은 상기 현재 노드에 대응하는 특징 세트 중의 각각의 특징이 상기 현재 노드에 대응하는 데이터 세트에 대한 정보 이득을 각각 획득하고, 획득된 각각의 정보 이득의 평균치를 계산하고, 상기 현재 노드에 대응하는 특징 세트 중의 각각의 특징으로부터 대응하는 정보 이득이 상기 평균치보다 큰 특징을 선택하고, 선택된 각각의 특징이 상기 현재 노드에 대응하는 데이터 세트에 대한 정보 이득비를 각각 획득하고, 정보 이득비가 최대인 특징을 상기 최적인 특징으로 하는,
    이미지 검색 장치.
  14. 제12항에 있어서,
    상기 전처리 모듈은 상기 최적인 특징에 대응하는 각각의 특징값이 상기 현재 노드에 대응하는 데이터 세트에 대한 지니 계수를 각각 획득하고, 획득된 각각의 지니 계수를 작은 것부터 큰 것 순서대로 정렬하고, 정렬 후 앞의 M 위에 있는 지니 계수를 선택하고, 선택된 M개의 지니 계수에 대응하는 특징값을 상기 최적인 특징에 대응하는 각각의 특징값으로부터 선택된 M개의 특징값으로 사용하는,
    이미지 검색 장치.
  15. 전자 기기에 있어서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 통신 연결되는 메모리;를 포함하고,
    상기 메모리에는 상기 적어도 하나의 프로세서에 의해 수행 가능한 명령이 저장되어 있고, 상기 명령이 상기 적어도 하나의 프로세서에 의해 수행되어, 상기 적어도 하나의 프로세서에 의해 제1항 내지 제7항 중 어느 한 항의 방법이 수행되도록 하는,
    전자 기기.
  16. 컴퓨터 명령이 저장되어 있는 비일시적 컴퓨터 판독 가능 기록 매체에 있어서,
    상기 컴퓨터 명령은 상기 컴퓨터가 제1항 내지 제7항 중 어느 한 항의 방법을 수행하도록 하는,
    비일시적 컴퓨터 판독 가능 기록 매체.
  17. 컴퓨터 프로그램 제품에 있어서,
    컴퓨터 프로그램을 포함하고, 상기 컴퓨터 프로그램이 프로세서에 의해 수행될 때, 제1항 내지 제7항 중 어느 한 항의 방법을 구현하는,
    컴퓨터 프로그램 제품.
  18. 비일시적 컴퓨터 판독 가능 기록 매체에 저장되어 있는 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 상기 컴퓨터가 제1항 내지 제7항 중 어느 한 항의 방법을 수행하도록 하는,
    비일시적 컴퓨터 판독 가능 기록 매체에 저장되어 있는 컴퓨터 프로그램.
KR1020220004812A 2021-02-01 2022-01-12 이미지 검색 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 기록 매체 KR20220111188A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110136576.0 2021-02-01
CN202110136576.0A CN112948608B (zh) 2021-02-01 2021-02-01 图片查找方法、装置、电子设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
KR20220111188A true KR20220111188A (ko) 2022-08-09

Family

ID=76240677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220004812A KR20220111188A (ko) 2021-02-01 2022-01-12 이미지 검색 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 기록 매체

Country Status (4)

Country Link
US (1) US20220245465A1 (ko)
JP (1) JP7347551B2 (ko)
KR (1) KR20220111188A (ko)
CN (1) CN112948608B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4113379A1 (en) * 2021-06-28 2023-01-04 Siemens Aktiengesellschaft Method and system for semi-automatic completion of an engineering project
KR102567138B1 (ko) * 2021-12-30 2023-08-17 가천대학교 산학협력단 머신러닝 기반 모발 건강 진단 방법 및 시스템
CN115757801B (zh) * 2022-12-22 2023-11-03 北京壹永科技有限公司 用于医疗文本的基于决策树的模型训练方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100371934C (zh) * 2005-05-30 2008-02-27 北大方正集团有限公司 一种用于基于内容的海量图片快速检索的索引构建方法
US9324034B2 (en) * 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
JP6224528B2 (ja) * 2014-06-03 2017-11-01 Kddi株式会社 属性値が付与された情報要素を絞り込んで検索する対話検索プログラム、装置及び方法
CN106156127B (zh) * 2015-04-08 2020-06-16 深圳市腾讯计算机系统有限公司 选择数据内容向终端推送的方法及装置
JP6357140B2 (ja) * 2015-09-18 2018-07-11 Psソリューションズ株式会社 画像判定方法
JP6719082B2 (ja) * 2016-07-04 2020-07-08 パナソニックIpマネジメント株式会社 決定木生成装置、決定木生成方法、決定木生成プログラム及び質問システム
CN108875955B (zh) * 2017-05-10 2023-04-18 腾讯科技(深圳)有限公司 基于参数服务器的梯度提升决策树的实现方法及相关设备
US11954612B2 (en) * 2017-09-05 2024-04-09 International Business Machines Corporation Cognitive moderator for cognitive instances
CN107678531B (zh) * 2017-09-30 2020-12-01 Oppo广东移动通信有限公司 应用清理方法、装置、存储介质及电子设备
CN107741976B (zh) * 2017-10-16 2021-07-09 泰康保险集团股份有限公司 智能应答方法、装置、介质和电子设备
CN108764321B (zh) * 2018-05-21 2019-08-30 Oppo广东移动通信有限公司 图像识别方法和装置、电子设备、存储介质
JP7028746B2 (ja) * 2018-10-05 2022-03-02 株式会社日立製作所 質問生成装置および質問生成方法
CN110046179B (zh) * 2018-12-25 2023-09-08 创新先进技术有限公司 一种报警维度的挖掘方法、装置及设备
CN110532363B (zh) * 2019-08-27 2022-07-29 华侨大学 一种基于决策树的任务导向型自动对话方法
CN111385188A (zh) * 2019-11-22 2020-07-07 百度在线网络技术(北京)有限公司 对话元素的推荐方法、装置、电子设备和介质
CN111340121B (zh) * 2020-02-28 2022-04-12 支付宝(杭州)信息技术有限公司 目标特征的确定方法及装置
CN112101419A (zh) * 2020-08-17 2020-12-18 清华大学 基于众包的高效分类系统及其创建、使用方法

Also Published As

Publication number Publication date
CN112948608B (zh) 2023-08-22
JP2022117941A (ja) 2022-08-12
JP7347551B2 (ja) 2023-09-20
US20220245465A1 (en) 2022-08-04
CN112948608A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
KR20220111188A (ko) 이미지 검색 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 기록 매체
CN113255694B (zh) 训练图像特征提取模型和提取图像特征的方法、装置
US8676725B1 (en) Method and system for entropy-based semantic hashing
CN114549874B (zh) 多目标图文匹配模型的训练方法、图文检索方法及装置
US20220058222A1 (en) Method and apparatus of processing information, method and apparatus of recommending information, electronic device, and storage medium
US11200444B2 (en) Presentation object determining method and apparatus based on image content, medium, and device
KR102654884B1 (ko) 대화형 정보 제공 서비스 방법 및 이를 위한 장치
CN112100396B (zh) 一种数据处理方法和装置
CN112506864B (zh) 文件检索的方法、装置、电子设备及可读存储介质
CN112000763B (zh) 兴趣点竞争关系确定方法、装置、设备和介质
WO2021030899A1 (en) Automated image retrieval with graph neural network
CN114880505A (zh) 图像检索方法、装置及计算机程序产品
WO2021253938A1 (zh) 一种神经网络的训练方法、视频识别方法及装置
JP2018173909A (ja) 学習プログラム、学習方法および学習装置
CN110209895B (zh) 向量检索方法、装置和设备
WO2023077944A1 (zh) 用于输出信息的方法、装置、设备以及存储介质
CN113590774B (zh) 事件查询方法、装置以及存储介质
CN115329850A (zh) 信息比对方法、装置、电子设备及存储介质
US11676050B2 (en) Systems and methods for neighbor frequency aggregation of parametric probability distributions with decision trees using leaf nodes
US20220284023A1 (en) Estimating computational cost for database queries
CN114461837A (zh) 一种图像处理方法、装置及电子设备
CN116362955A (zh) 图数据存储、访问、处理方法、训练方法、设备及介质
CN113554145B (zh) 确定神经网络的输出的方法、电子设备和计算机程序产品
CN113239054A (zh) 信息生成方法、相关装置及计算机程序产品
US9292555B2 (en) Information processing device