KR20230095980A - 그래프-기반 색상 설명 생성 - Google Patents

그래프-기반 색상 설명 생성 Download PDF

Info

Publication number
KR20230095980A
KR20230095980A KR1020237015768A KR20237015768A KR20230095980A KR 20230095980 A KR20230095980 A KR 20230095980A KR 1020237015768 A KR1020237015768 A KR 1020237015768A KR 20237015768 A KR20237015768 A KR 20237015768A KR 20230095980 A KR20230095980 A KR 20230095980A
Authority
KR
South Korea
Prior art keywords
color
graph
nodes
node
implemented method
Prior art date
Application number
KR1020237015768A
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 KR20230095980A publication Critical patent/KR20230095980A/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/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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
    • 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/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

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)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Library & Information Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Macromonomer-Based Addition Polymer (AREA)
  • Luminescent Compositions (AREA)
  • Image Analysis (AREA)

Abstract

그래프-기반 색상 생성(GRAPH-BASED COLOR DESCRIPTION GENERATION)
색상에 대한 자언어 설명을 생성하기 위한 방법, 시스템 및 컴퓨터 프로그램 제품이 제공된다. 상기 방법은 튜플들의 리스트(a list of tuples)를 획득하는 단계, 상기 튜플들 각각을 노드(a node)로 사용하고 인간의 인지(human perception) 관점에서 노드들의 색상들 사이의 차이가 미리 정해진 범위를 벗어날 때 상기 노드들 사이에 엣지들(edges)을 추가함으로써 그래프를 생성하는 단계, 외부 색상 비교 데이터베이스에 저장된 외부 색상 비교 설명들에 기초하여 상기 엣지들을 필터링하는 단계(filtering), 인간의 인지 관점에서 색상 차이(the color difference)에 기초하여 가장 가까운 이웃 노드를 발견하고 새로운 노드와 상기 가장 가까운 이웃 사이에 새로운 엣지(a new edge)를 추가함으로써 상기 그래프에 새로운 노드를 통합하는 단계(incorporating), 메시지 전달(message passing) 및 상기 노드들의 색상들을 초기 시드들(initial seeds)로 사용함으로써 상기 그래프에서 노드들 각각에 대한 특징 벡터(a feature vector)를 학습하는 단계, 및 준-감독 방식(a semi-supervised fashion)으로 순환 신경망 기반 디코더(a recurrent neural network (RNN)-based decoder)에 대한 초기 상태들로서 상기 학습된 특징 벡터들 각각을 사용함으로써 상기 새로운 노드의 설명을 생성하는 단계를 포함한다.

Description

그래프-기반 색상 설명 생성
본 발명은 일반적으로 색상 명명(color naming)에 관한 것으로, 보다 상세하게는, 그래프-기반 색상 설명들(graph-based color descriptions)을 생성하는 것에 관한 것이다.
색상은 주요 시각적 단서들(the main visual cues) 중 하나이며, 색상의 물리학 및 정신 물리학(psychophysics)에서 시작하여 실제 문제들에서 색상 원리들의 사용에 이르기까지, 다양한 수준들에서 광범위하게 연구되어 왔다. 이들은 정확한 렌더링(accurate rendering), 디스플레이와 재생(display and reproduction), 이미지 필터링(image filtering), 코딩(coding), 검색(retrieval) 및 과학적 시각화(scientific visualization), 컴퓨터 그래픽(computer graphics), 이미지(image)와 영상 처리(video processing)에서의 수많은 다른 애플리케이션들을 포함한다. 흥미롭게도, 색상 명명은 가장 일반적인 시각적 작업들(the most common visual tasks) 중 하나를 나타내지만, 엔지니어링 커뮤니티(the engineering community)에서 큰 관심을 받지 못했다.
그러나 오늘날 빠르게 발전하는 시각적 기술들과 멀티미디어(multimedia), 정교한 사용자 인터페이스와 인간-기계 상호 작용들의 발달로 인해 개별 색상들의 이름을 명명하고 특정 색상의 객체들(objects)을 가리키며 색체 구성의 인상을 전달하는 기능이 점점 더 중요한 작업이 되고 있다. 색상 단서들(Color cues)은 대화형 시각화(interactive visualization) 및 컴퓨터 그래픽들에서 사용될 수 있다. 색상 명명은 자연스러운 사용자 인터페이스 디자인(user interface design)을 용이하게 한다. 더 높은 수준의 색상 기술자들(color descriptors)을 추출하는 것은 이미지 분석 및 컴퓨터 비전(computer vision)에서 어려운 문제를 나타내는데, 이들 기술자들이 종종 이미지 콘텐츠(image content)에 대한 링크를 제공하기 때문이다. 이미지 분할과 결합할 때, 색상 명명을 사용하여 색상별로 객체를 선택하고, 이미지의 모양(the appearance of the image)을 설명하며 시맨틱 주석들(semantic annotations)을 생성할 수 있는 것이 바람직하다.
본 발명의 제1 실시예에 따라, 색상에 대한 자연어 설명(a description in natural language for a color)을 생성하기 위한 방법이 제공된다. 상기 방법은 튜플들의 리스트(a list of tuples)를 획득하는 단계 - 상기 튜플들 각각은 색상 및 설명을 포함함 -, 상기 튜플들 각각을 노드(a node)로 사용하고 인간의 인지(human perception) 관점에서 노드들의 색상들 사이의 차이가 미리 정해진 범위를 벗어날 때 상기 노드들 사이에 엣지들(edges)을 추가함으로써 그래프를 생성하는 단계, 외부 색상 비교 데이터베이스에 저장된 외부 색상 비교 설명들에 기초하여 상기 엣지들을 필터링하는 단계(filtering), 인간의 인지 관점에서 색상 차이(the color difference)에 기초하여 가장 가까운 이웃 노드를 발견하고 새로운 노드와 상기 가장 가까운 이웃 사이에 새로운 엣지(a new edge)를 추가함으로써 상기 그래프에 새로운 노드를 통합하는 단계(incorporating) - 상기 새로운 노드는 상기 튜플들의 리스트에 포함되지 않고 설명이 없는 새로운 색상을 포함함 -, 메시지 전달(message passing) 및 상기 노드들의 색상들을 초기 시드들(initial seeds)로 사용함으로써 상기 그래프에서 노드들 각각에 대한 특징 벡터(a feature vector)를 학습하는 단계, 및 준-감독 방식(a semi-supervised fashion)으로 순환 신경망 기반 디코더(a recurrent neural network (RNN)-based decoder)에 대한 초기 상태들로서 상기 학습된 특징 벡터들 각각을 사용함으로써 상기 새로운 노드의 설명을 생성하는 단계를 포함한다.
본 발명의 다른 실시예에 따라, 색상에 대한 자연어 설명(a description in natural language for a color)을 생성하기 위한 방법이 제공된다. 상기 방법은 튜플들의 리스트를 획득하는 단계 - 상기 튜플들 각각은 색상 및 설명을 포함함 -, 상기 튜플들 각각을 노드로 사용하고 유사 임계값(a similarity threshold)에 기초한 노드들 사이에 엣지들을 추가함으로써 그래프를 생성하는 단계, 외부 색상 비교 데이터베이스에 저장된 외부 색상 비교 설명들에 기초하여 상기 엣지들을 필터링하는 단계, 및 상기 유사 임계값에 기초하여 가장 가까운 이웃 노드를 발견하고 새로운 노드와 상기 가장 가까운 이웃 노드 사이에 새로운 엣지를 추가함으로써 상기 그래프에 새로운 노드를 통합하는 단계를 포함한다.
색상에 대한 자연어 설명을 생성하기 위한 컴퓨터 프로그램 제품이 제공되며, 상기 컴퓨터 프로그램 제품은 프로그램 명령들이 구현된 컴퓨터 판독 가능 저장 매체를 포함하고, 상기 프로그램 명령들은 컴퓨터에 의해 실행 가능하며, 상기 컴퓨터가 방법을 수행하도록 하고, 상기 방법은 튜플들의 리스트(a list of tuples)를 획득하는 단계 - 상기 튜플들 각각은 색상 및 설명을 포함함 -, 상기 튜플들 각각을 노드(a node)로 사용하고 인간의 인지(human perception) 관점에서 노드들의 색상들 사이의 차이가 미리 정해진 범위를 벗어날 때 상기 노드들 사이에 엣지들(edges)을 추가함으로써 그래프를 생성하는 단계, 외부 색상 비교 데이터베이스에 저장된 외부 색상 비교 설명들에 기초하여 상기 엣지들을 필터링하는 단계(filtering), 인간의 인지 관점에서 색상 차이(the color difference)에 기초하여 가장 가까운 이웃 노드를 발견하고 새로운 노드와 상기 가장 가까운 이웃 사이에 새로운 엣지(a new edge)를 추가함으로써 상기 그래프에 새로운 노드를 통합하는 단계(incorporating) - 상기 새로운 노드는 상기 튜플들의 리스트에 포함되지 않고 설명이 없는 새로운 색상을 포함함 -, 메시지 전달(message passing) 및 상기 노드들의 색상들을 초기 시드들(initial seeds)로 사용함으로써 상기 그래프에서 노드들 각각에 대한 특징 벡터(a feature vector)를 학습하는 단계, 및 준-감독 방식(a semi-supervised fashion)으로 순환 신경망 기반 디코더(a recurrent neural network (RNN)-based decoder)에 대한 초기 상태들로서 상기 학습된 특징 벡터들 각각을 사용함으로써 상기 새로운 노드의 설명을 생성하는 단계를 포함한다.
색상에 대한 자연어 설명을 생성하기 위한 컴퓨터 프로그램 제품이 제공되며, 상기 컴퓨터 프로그램 제품은 프로그램 명령들이 구현된 컴퓨터 판독 가능 저장 매체를 포함하고, 상기 프로그램 명령들은 컴퓨터에 의해 실행 가능하며, 상기 컴퓨터가 방법을 수행하도록 하고, 상기 방법은 튜플들의 리스트를 획득하는 단계 - 상기 튜플들 각각은 색상 및 설명을 포함함 -, 상기 튜플들 각각을 노드로 사용하고 유사 임계값(a similarity threshold)에 기초한 노드들 사이에 엣지들을 추가함으로써 그래프를 생성하는 단계, 외부 색상 비교 데이터베이스에 저장된 외부 색상 비교 설명들에 기초하여 상기 엣지들을 필터링하는 단계, 및 상기 유사 임계값에 기초하여 가장 가까운 이웃 노드를 발견하고 새로운 노드와 상기 가장 가까운 이웃 노드 사이에 새로운 엣지를 추가함으로써 상기 그래프에 새로운 노드를 통합하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따라, 색상에 대한 자연어 설명을 생성하기 위한 방법이 제공된다. 상기 방법은 색상 관계들을 구조화하기 위해 그래프를 생성하는 단계 - 상기 그래프는 복수의 노드들 및 엣지들을 포함함 -, 색상 비교 설명들에 기초하여 중복 엣지들을 제거하는 단계, 유사 임계값에 기초하여 상기 그래프에 새로운 엣지들을 갖는 새로운 노드들을 통합하는 단계, 상기 그래프의 노드들 각각에 대한 특징 벡터를 학습하는 단계, 및 상기 특징 벡터들을 채용하여 상기 새로운 노드들의 설명을 생성하는 단계를 포함하고, 상기 특징 벡터는 준-감독 방식으로 신경망에 공급된다.
예시적인 실시예들이 다른 주제들을 참조하여 설명된다는 점에 유의해야 한다. 특히, 일부 실시예들은 방법 유형의 청구항들을 참조하여 기술되는 반면, 다른 실시예들은 장치 유형의 청구항들을 참조하여 기술되었다. 그러나, 당업자는 전술한 설명 및 후술할 설명으로부터, 달리 공지하지 않는 한, 한 유형의 주제에 속하는 특징들의 모든 조합에 더하여, 다른 주제와 관련된 특징들 사이의 모든 조합, 특히 방법 유형 청구항들의 특징들과 장치 유형 청구항들의 특징들 사이의 모든 조합도 또한 본 발명의 범위 내에 포함됨을 이해할 것이다.
이들 및 다른 특징 및 이점은 첨부된 도면들과 함께 읽혀 질 예시적인 실시예들의 다음의 상세한 설명으로부터 명백해질 것이다.
본 발명은 다음 도면들을 참조하여 바람직한 실시예들의 다음 설명에서 세부사항을 제공할 것이다:
도 1은 본 발명의 일 실시예에 따른 문맥상의 색상 그래프(color graph) 생성을 도시하는 예시적인 도면이다;
도 2는 본 발명의 일 실시예에 따른 엣지 필터링(edge filtering)을 도시하는 예시적인 도면이다;
도 3은 본 발명의 일 실시예에 따른 라벨 없는 추가(unlabeled node addition)를 도시하는 예시적인 도면이다;
도 4는 본 발명의 일 실시예에 따른 색상 기반 노드 특징 학습(color-based node feature learning)을 도시하는 예시적인 도면이다;
도 5는 본 발명의 일 실시예에 따른 설명 생성을 도시하는 예시적인 도면이다;
도 6은 본 발명의 일 실시예에 따른 문맥상의 색상 그래프 생성을 위한 예시적인 방법의 블록도/흐름도(a block/flow diagram)이다;
도 7은 본 발명의 일 실시예에 따른 엣지 필터링을 위한 예시적인 방법의 블록도/흐름도이다;
도 8은 본 발명의 일 실시예에 따른 라벨 없는 추가를 위한 예시적인 방법의 블록도/흐름도이다;
도 9는 본 발명의 일 실시예에 따른 색상 기반 노드 특징 학습을 위한 예시적인 방법의 블록도/흐름도이다;
도 10은 본 발명의 일 실시예에 따른 설명 생성을 위한 예시적인 방법의 블록도/흐름도이다;
도 11은 본 발명의 일 실시예에 따른 준-감독 방식(a semi-supervised fashion)으로 설명 생성을 수행하기 위해 훈련 세트(a training set)를 그래프로 구성하기 위한 예시적인 방법의 블록도/흐름도이다;
도 12는 본 발명의 일 실시예에 따른 예시적인 클라우드 컴퓨팅 환경(an exemplary cloud computing environment)의 블륵도/흐름도이다; 그리고
도 13은 본 발명의 일 실시예에 따른 예시적인 추상화 모델 계층의 개략도(a schematic diagram)이다.
도면 전체에서, 동일 또는 유사한 참조 번호는 동일 또는 유사한 엘리멘트들(elements)을 나타낸다.
본 발명에 따른 예시적인 실시예들은 색상에 대한 설명을 자연어로 생성하는 것을 제공한다. 색상 그라운딩 작업들(color grounding tasks)을 통해 언어와 색상 인식 간의 관계를 특성화할 수 있다. 언어와 색상 사이의 매핑(a mapping)을 학습하는 것은 인간 표현의 출현의 여러 가지 측면들을 이해하는 데 중요하다. 색상 그라운딩의 적용은, 예를 들어, 여론(비정형, 추상적)을 예측하고 그러한 여론을 브랜딩 지원(support branding), 사용자 반응 유추 등을 위해 사용하기 위한 광고 및/또는 마케팅(marketing)과 관련이 있다. 색상 그라운딩 작업은 색상에 대한 설명을 자연어로 생성하는 방법을 학습하는 것이다. 본 발명의 실시예들은 훈련 세트를 그래프로 구성하고 준-감독 방식으로 설명 생성을 수행한다.
색상 공간들(color spaces)은 명확한 방식으로 색상 사양(color specification)을 허용하지만, 일상 생활에서 색상들은 주로 그들의 이름들로 식별된다. 이것은 상당히 일반적인 색상 어휘를 필요로 하고 정확함과는 거리가 멀지만, 색상을 그 것의 이름으로 식별하는 것은 모두가 이해하는 의사소통 방법이다. 따라서, 색상 이름들 선택하기 위한 어휘, 구문 및 표준 방법을 설계하려는 여러 시도들이 있었다. 당업자에게 알려진 먼셀 색상 체계(Munsell color order system)는 색의 정확한 사양을 요구하는 애플리케이션에서 널리 사용된다. 예를 들면, 페인트, 직물 등의 생산을 포함한다. 그것은 산업 표준으로 자주 사용되며, 1,200개의 정밀하게 제어되는 색상들의 샘플들(칩(chips))을 포함하는 먼셀의 색상 북(Munsell's Book of Color)으로 보완된다. 상기 칩들은 그들 사이의 단위 단계들(unit steps)이 지각적으로 동일하도록(perceptually equal) 배열된다. 각 칩은 3-파트 코드(a 3-part code)로 식별된다. 명도(The brightness scale)는 검은색이 0/, 흰색이 10/로 표시된 먼셀 값(the Munsell value)으로 표시된다. 먼셀 채도(Munsell chroma)는 2단계(/2, /4,…, /10)로 증가한다. 색조 척도(The hue scale)는 빨강(red, R), 주황(yellow-red, YR), 노랑(yellow, Y), 연두(green-yellow, GY), 녹색(green, G), 청록(blue-green, BG), 파랑(blue, B), 남색(purple-blue, PB), 보라(purple, P), 자주(red-purple, RP) 등 10가지 색조(hue)로 구분되며, 각 색조는 10가지 섹션들(sections)로 더 나누어질 수 있다. 그러나, 색상 기반 처리(color-based processing)를 위한 먼셀 시스템의 주목할 만한 단점 중 한가지는 하나 하나의 색상 공간들(any color spaces)로부터 먼셀로의 정확한 변환(the exact transform)이 결여되어 있다는 것이다. 예를 들어, 다른 사람들에 의해 제안된 변환은 상당히 복잡하고 때로는 CIE XYZ의 특정 영역들에 대해 부정확하다.
색상들을 명명하는데 사용되는 3000개 이상의 영어 단어들과 구문들의 제1 목록이 마즈(Maerz)와 폴(Paul)에 의해 고안되었고 색상 사전(a Dictionary of colors)으로 출판되었다. 더 자세한 내용은 미국국립표준국(The National Bureau of Standards)에서 출판된 사전에 포함되어 있다. 여기에는 생물학, 지질학, 우표수집, 섬유, 염료, 페인트 산업과 같은 특정 분야들에서 일반적으로 사용되는 약 7500개의 다양한 이름들이 포함되어있다. 두 사전들 모두 희귀하거나 난해한 단어들의 예를 포함하고 있으며 용어들이 체계적이지 않은 방식으로 나열되어 있어 일반적인 사용에 적합하지 않다.
미국국립표준국은 색상 공간에서 267개 영역들에 대한 색상 이름들의 ISCC-NBS 사전을 개발하였다. 이 사전은 색상 공간의 3차원인 색조(hue), 명도(brightness), 채도(saturation)에 따라 색상들(colors)을 설명하기 위해 영어 용어들을 채용한다. ISCC-NBS 모델에서 한 가지 문제점은 체계적인 구문(systematic syntax)이 결여되어있다는 것이다. 이 문제는 새로운 색상 명명 시스템(Color-Naming System, CNS)을 설계하는 과정에서 해결되었다. CNS는 부분적으로 ISCC-NBS 모델을 기반으로 한다. 동일한 3차원을 사용하지만 이들 차원들로부터의 단어들을 결합하는 데 사용되는 규칙들은 공식적인 구문(a formal syntax)으로 정의된다. 색상 명명 방법 (Color-Naming Method, CNM)이라고 하는 CNS 모델의 확장은 CNS 모델에 설명한 것과 유사한 체계적인 구문을 사용하고 CNM로부터의 색상 이름들을 먼셀 시스템의 색상 범위들로 매핑한다. 앞서 언급한 모든 방법들은 먼셀 모델과 밀접한 관련이 있으므로 먼셀 색상 공간 내에서 각각의 이름을 찾는 방법에 관한 설명을 제공한다.
그러나, 이들 방법들을 사용하여 색상 샘플에 색상 이름을 붙이고, 명명된 색상들의 예들를 언급하고, 장면에서의 색상 영역과 객체들을 설명하고, 궁극적으로 이미지의 색체 구성을 전달하는 것이 쉽지 않다.
본 발명의 예시적인 실시예들은 그래프-기반 색상 설명 메커니즘(a graph-based color description) 또는 구조(structure)를 생성하여 그러한 문제점들을 완화하는 방법 및 시스템을 개시한다. 훈련 세트는 그래프로 구성되어 있으며 준-감독 방식으로 설명 생성을 수행한다. 본 발명의 예시적인 실시예들은 색상 표현의 전체적 인식(global perception)을 포함하는 문맥 정보(contextual information)를 사용한다. 인간의 인지 능력(human perception)을 사용하면 보다 현실적인 색상 관계들(color relationships)이 가능하고, 그래프-기반 표현들(graph-based representations)을 통해 이웃 노드들(neighboring nodes)이 정보/문맥을 공유할 수 있으며, 문맥 정보는 정확한 일치가 충족되지 않을 때 유용한 다양성을 제공하여 잠재적으로 더 많은 색상 언어 연관성(color-language associations)을 발견할 수 있게 한다. 또한, 본 발명의 예시적인 실시예들의 관점에서, 표준 모델들에 비해 적은 암기 문제들(fewer memorization issues)이 제시된다.
본 발명은 주어진 예시적인 아키텍처(architecture)의 관점에서 설명될 것이라는 점을 이해해야 한다; 그러나, 다른 아키텍처, 구조, 기판 재료 및 프로세스(process) 특징 및 단계/블록(blocks)은 본 발명의 범위 내에서 변경될 수 있다. 명확성을 위해 특정 기능을 모든 도면에 표시할 수는 없는 점에 유의해야 한다. 이는 청구항의 임의의 특정 실시예, 예시 또는 범위를 제한하는 것으로 해석되지 않는다.
본 발명의 다양한 예시적인 실시예들이 아래에 설명되어 있다. 명확성을 위해 실제 구현의 모든 기능이 이 명세서에 설명되어 있는 것은 아니다. 물론 이러한 실제 실시예의 개발에서 시스템 관련 및 비즈니스 관련 제약의 준수와 같은 구현마다 다를 수 있는 개발자들의 특정 목표를 달성하기 위해 수많은 구현 특정 결정이 내려져야 한다는 것은 이해되어야 할 것이다. 더욱이, 그러한 개발 노력은 복잡하고 시간 소모적일 수 있지만, 그럼에도 불구하고 본 발명의 이점을 갖는 당업자에게는 일상적인 일이 될 것으로 이해될 것이다.
도 1은 본 발명의 일 실시예에 따른 문맥상의 색상 그래프 생성(contextual color graph generation)을 도시하는 예시적인 도면이다.
문맥상의 색상 그래프 생성(10)을 위해, 데이터(12)는 유사 임계값(similarity threshold) t에 기초한 그래프로 구성된다. 임계값 t 델타(Delta) E에 기초하여 정의되며, 델타 E는 인간이 색상 차이들(color differences)을 인식하는 방법을 설명하는 메트릭(a metric)이다 (RGB 공간에서 거리들이 선형으로 인식되지 않기 때문에 유용한 메트릭이다). 구체적으로, 만일 두 가지 색상들 사이의 델타 E 값이 11과 49 사이에 있다면, 예시적인 방법은 링크를 생성한다. 만일 델타 E 값이 상기 범위를 벗어난다면(너무 유사하거나, 거의 동일하거나, 또는 너무 먼 경우), 예시적인 방법은 엣지를 추가하지 않는다.
상기 문맥상의 색상 그래프는 하나의 비제한적인 예에서, 제1 색상(20), 제2 색상(22), 제3 색상(24), 제 4 색상(26), 제5 색상(28), 제6 색상(30) 및 제7 색상(32)를 포함할 수 있다. 제1 색상(20)은 엣지(11)을 통해 제2 색상(22)에 연결된다. 제2 색상(22)는 엣지(13)을 통해 제3 색상(24)에 연결된다. 제3 색상(24)는 엣지(17)을 통해 제4 색상(26)과 연결된다. 제1 색상(20)은 엣지(15)를 통해 제4 색상(26)에 연결된다. 제3 색상(24)은 엣지(19)를 통해 제5 색상(28)에 연결된다. 제4 색상(26)은 엣지(21)을 통해 제5 색상(28)에 연결된다. 제4 색상(26)은 엣지(23)을 통해 제6 색상(30)에 연결된다. 제5 색상(28)은 엣지(25)를 통해 제6 색상(30)에 연결된다. 제5 색상(28)은 엣지(27)을 통해 제7 색상(32)에 연결된다.
데이터(12)는 (색상, 설명) 튜플들(tuples)
Figure pct00001
의 리스트 T로 지정될 수 있으며, 여기서
Figure pct00002
는 RGB튜플로 표현되는 색상이고,
Figure pct00003
는 토큰들의 시퀀스(sequence of tokens)이다.
그래프 G는 다음과 같이 주어질 수 있다:
Figure pct00004
델타 E(또는 dE)는 두 가지 색상들 사이의 "거리"를 나타내는 단일의 수(a single number)이다. 1.0의 dE는 육안으로 볼 수 있는 가장 작은 색상 차이(the smallest color difference)라는 것이 기본 사상이다. 따라서 1.0보다 작은 모든 dE는 감지할 수 없으며 이 때문에 1.0보다 큰 모든 dE는 감지할 수 있다. 그러나, 1보다 큰 일부 색상 차이들은 완벽하게 허용될 수 있으나(perfectly acceptable), 눈에 띄지 않을 수도 있다(even unnoticeable). 또한, 두 개의 노란색들과 두 개의 파란색들 사이의 동일 dE 색상 차이는 눈에는 동일 차이로 보이지 않을 수 있으며 관찰자의 눈에는 다르게 보일 수 있는 다른 장소들이 있다.
델타 E 레벨들은 표시된 색상과 입력 내용의 원래 색상 표준 간의 차이이다. 델타 E 레벨이 낮을수록 정확도가 높다(greater accuracy)는 것을 나타내며 델타 E 레벨이 높을수록 불일치가 크다(a significant mismatch)는 것을 나타낸다. 델타 E의 "E"는 독일어로 감각(sensation)을 뜻하는 "Empfindung"을 의미한다. 전체적으로, 델타 E라는 용어는 감각의 차이를 의미한다. 예시적인 실시예들은 새로운 색상들을 정의하는데 도움이 되는 그래프-기반 방법을 만들거나 생성한다.
도 2는 본 발명의 일 실시예에 따른 엣지 필터링(edge filtering)을 도시한 예시적인 도면이다.
엣지 필터링을 위해, 중복되거나 실행 불가능한 엣지들(redundant or unfeasible edges)을 제거하기 위해 외부 데이터 색상 비교 데이터베이스(35)의 외부 데이터가 사용된다. 색상 비교 데이터(40)이 사용된다. 색상 비교 데이터는 하나의 비제한적인 예에서, 여러 개의 서로 다른 색상들(41 내지 48)을 포함할 수 있다. 각 엣지에 대해, 만일 (소스(source), 타겟(target)) 쌍이 상기 데이터 세트의 어떠한 쌍에 근접하면, 엣지는 계속되거나 유지된다(kept or maintained). 그렇지 않으면, 엣지는 제거된다. 이것은 결국 학습을 용이하게 하는 보다 부드러운 전환들(smoother transitions)(예: 급격한 색상 변경들을 피하기 위한)의 획득을 가능하게 한다. 엣지를 제거하면 문맥상의 색상 그래프(10')이 생성된다. 그러한 그래프(10')에서, 3개의 엣지들이 제거되었다. 제거된 제1 엣지는 번호(50)으로 지정되고 제1 색상(20)과 제4 색상(26) 사이에 위치한다. 제거된 제2 엣지는 번호(52)로 지정되고 제3 색상(24)와 제5 색상(28) 사이에 위치한다. 제거된 제3 엣지는 번호(54)로 지정되고 제4 색상(26)과 제5 색상(28) 사이에 위치한다. 따라서, 외부 데이터에 기초하여, 그러한 3개의 엣지들이 중복되거나 실행 불가능한 엣지들로 결정되었다. 외부 데이터는, 비교 색상 데이터만 저장하기 위한 맞춤형 데이터베이스인, 외부 데이터 색상 비교 데이터베이스(35)에 저장된다는 점에 유의한다.
도 3은 본 발명의 일 실시예에 따른 라벨 없는 추가(unlabeled node addition)를 도시하는 예시적인 도면이다.
라벨 없는 추가의 경우, 보이지 않는 색상(an unseen color)이 주어지면, 라벨 없는(설명은 없고 색상만 있음)로 표시된다. 보이지 않는 색상(62)는 색상 차이들의 측면에서 가장 가까운 이웃을 발견함으로써 메인 그래프(60)에 통합된다. 다시, 이 프로세스를 위해, 인간의 인지 능력 메트릭 델타 E(, the human perception metric Delta E)가 임계값(도 1의 문맥상의 색상 그래프 생성과 관련하여 전술한 것과 동일한 구성)으로 사용된다. 노드(62)가 그래프(60)에 추가된 후, 목표(the goal)는 엣지들이 라벨 있는 노드들의 세트(the set of labeled nodes)로부터 라벨 없는들로 제공하는 문맥 정보를 사용하고 그 것으로 노드
Figure pct00005
에 대한 설명
Figure pct00006
를 학습하는 것이다. 새로운 노드(62)는 엣지(61)과 엣지(63)을 가진다. 엣지(61)은 새로운 노드(62)를 제5 색상(28)에 연결하거나 링크하고, 엣지(63)은 새로운 노드(62)를 제7 노드(32)에 연결하거나 링크한다. 따라서, 노드(62)의 색상은 색상들(28, 32)과 비슷하거나 가깝다.
도 4는 본 발명의 일 실시예에 따른 색상 기반 노드 특징 학습(color-based node feature learning)을 도시하는 예시적인 도면(70)이다.
색상 기반 노드 특징 학습의 경우, 색상이 초기 시드(an initial seed)로 사용되고 메시지 전달 알고리즘(a message passing algorithm)이 모든 노드들에 대한 특징 벡터(a feature vector)를 학습하는 데 사용된다. 이를 통해 각가의 최종 벡터는 각 색상과 그 주변 이웃들 간의 관계를 인코딩한다.
구체적으로, 5가지 색상들이 도시되어 있다. 따라서, 5개의 벡터들이 생성된다. 예를 들어, 제4 색상(26)은 특징 벡터(72)를 가지며, 제5 색상(28)은 특징 벡터(76)을 가지고, 제6 색상(30)은 특징 벡터(74)를 가지고, 제7 색상(32)는 특징 벡터(78)을 갖고, 그리고 새로운 노드(62)는 특징 벡터(80)을 갖는다. 색상들(28, 32) 및 색상들(30, 32), 및 색상들(26, 30) 사이의 화살표들은 서로 다른 색상들 사이에 개발된 관계들을 나타낸다.
메시지 전달 알고리즘(the message passing algorithm, MPA)는 코드의 그래픽 모델에서 작동하는 일종의 확률 전파 알고리즘(probability propagation algorithm)이라는 것에 주목해야 한다. MPA는 또한 결과가 달성되거나 프로세스가 중단될 때까지 가변 노드(the variable node)와 점검 노드(check node) 사이에 메시지들이 반복적으로 전달되고 전달받기(pass back and forth) 때문에 반복 알고리즘(an iterative algorithm)이라고도 한다.
도 5는 본 발명의 일 실시예에 따른 설명 생성(description generation)을 도시하는 예시적인 도면(90)이다.
설명 생성을 위해, 학습된 벡터들은 준-감독 설정(a semi-supervised setting)에 사용된다. 각 벡터는 순환 신경망(a recurrent neural network, RNN) 기반 디코더(decoder)(92, 94 및 96)으로 전달되며 생성을 위한 초기 시드 역할을 한다. RNN의 손실은 그래프의 라벨 부분(the labeled part)에서 계산된다. 따라서, 학습은 관련된 모든 표현들(라벨 있는 표현과 라벨이 없는 표현들 모두)에 영향을 미친다. 게다가, 새로운 노드(62)의 특징 벡터(80)는 가중치들(w 1 , w2 및 w3)를 생성하기 위해 디코더들(92, 94 및 96)을 통과한다.
도 6은 본 발명의 일 실시예에 따른 문맥상의 색상 그래프 생성(contextual color graph generation)을 위한 예시적인 방법의 블록도/흐름도이다.
블록(110)에서, 데이터는 유사 임계값(a similarity threshold value)에 기초한 그래프로서 구조화되며(structured), 상기 유사 임계값은 델타(Delta) E(인간이 색상 차이들을 인지하는 방법을 설명하는 메트릭(metric))에 기초하여 정의된다.
블록(112)에서, 두 가지 색상들에 대한 델타 E 값이 11과 49사이에 있는지가 결정된다. YES인 경우, 프로세스는 블록(114)로 진행한다. NO인 경우 프로세스는 블록(116)으로 진행한다.
블록(114)에서, 두 가지 색상들 사이에 링크(a link)가 생성된다.
블록(118)에서, 문맥상의 색상 그래프 생성이 수행된 후, 엣지 필터링이 시작된다.
블록(116)에서, 델타 E값이 11과 49사이에 있지 않으면, 두 가지 색상들 사이에 어떤 연결도 정의되지 않는다.
도 7은 본 발명의 일 실시예에 따른 엣지 필터링을 위한 예시적인 방법의 블록도/흐름도이다.
블록(120)에서, 도 6을 참조하여 설명된 바와 같이, 문맥상의 색상 그래프가 생성된다.
블록(122)에서, 엣지 필터링 프로세스(the edge filtering process)를 시작하기 위해 적어도 색상 비교 데이터를 포함하는 외부 데이터가 채용된다.
블록(124)에서, (소스(source), 타겟(target)) 쌍이 색상 비교 데이터에서 어떠한 쌍에 가까운지가 결정된다. YES인 경우, 프로세스는 블록(126)으로 진행한다. NO인 경우, 프로세서는 블록(128)로 진행한다.
블록(126)에서, 상기 엣지(the edge)가 유지되거나 계속된다(maintained or kept).
블록(129)에서, 엣지 필터링이 수행된 후, 라벨 없는 노드 추가(unlabeled node addition)가 발생한다.
블록(128)에서, 만일 상기 쌍이 색상 비교 자료의 어떠한 쌍에도 근접하지 않으면, 상기 엣지는 제거된다.
도 8은 본 발명의 일 실시예에 따른 라벨 없는 노드 추가(unlabeled node addition)를 위한 예시적인 방법의 블록도/흐름도이다.
블록(120)에서, 도 6을 참조하여 설명된 바와 같이 문맥상의 색상 그래프가 생성된다.
블록(118)에서, 도 7을 참조하여 설명된 바와 같이 엣지 필터링이 수행된다.
블록(130)에서, 보이지 않는 색상(an unseen color)은 라벨 없는 노드(설명 없음)로 표시된다
블록(132)에서, 보이지 않는 색상은 색상 차이들 측면에서 가장 가까운 이웃을 발견함으로써 메인 그래프(main graph)(노드로서)에 통합된다.
블록(134)에서, 라벨 없는 노드 추가를 수행한 후, 색상 기반 노드 특징 학습(color-based node feature learning)이 수행된다.
도 9는 본 발명의 일 실시예에 따른 색상 기반 노드 특징 학습(color-based node feature learning)을 위한 예시적인 방법의 블록도/흐름도이다.
블록(120)에서, 도 6을 참조하여 설명된 바와 같이 문맥상의 색상 그래프가 생성된다.
블록(118)에서, 도 7을 참조하여 설명된 바와 같이 엣지 필터링이 수행된다.
블록(129)에서, 도 8을 참조하여 설명된 바와 같이 문맥상의 색상 그래프에 대해 라벨 없는 노드 추가가 수행된다.
블록(140)에서, 메시지 전달 알고리즘(a message passing algorithm)이 각 색상과 그 주변 이웃들 사이의 관계를 인코딩하기 위해 모든 노드들에 대한 특징 벡터(a feature vector)를 학습하도록 채용된다.
블록(142)에서, 색상 기반 노드 특징 학습을 수행한 후, 설명 생성(description generation)이 발생한다.
도 10은 본 발명의 일 실시예에 따른 설명 생성(description generation)을 위한 예시적인 방법의 블록도/흐름도이다.
블록(120)에서, 도 6을 참조하여 설명된 바와 같이, 문맥상의 색상 그래프가 생성된다.
블록(118)에서, 도 7을 참조하여 설명된 바와 같이, 엣지 필터링이 수행된다.
블록(129)에서, 도 8을 참조하여 설명된 바와 같이, 문맥상의 색상 그래프에 대해 라벨 없는 노드 추가가 수행된다.
블록(140)에서, 도 9을 참조하여 설명된 바와 같이, 특징 벡터는 문맥상의 색상 그래프의 모든 노드들에 대해 학습된다.
블록(150)에서, 학습된 벡터들은 설명 생성을 위해 준-감독 설정(a semi-supervised setting)에 사용된다(각 벡터는 RNN기반 디코더(a RNN-based decoder)로 전달되어 생성을 위한 초기 시드 역할을 한다).
블록(152)에서, 색상-대-언어 매핑들(the color-to-language mappings)이 테이블 형식(a table format)으로 통합되고 컴퓨팅 장치(a computing device)에 디스플레이 된다.
도 11은 본 발명의 일 실시예에 따른 준-감독 방식(a semi-supervised fashion)으로 설명 생성을 수행하기 위해 훈련 세트를 그래프로 구조화(structuring)하기 위한 예시적인 방법의 블록도/흐름도이다.
블록(210)에서, 튜플들의 리스트(a list of tuples)를 획득하며, 튜플들 각각은 색상 및 설명을 포함한다.
블록(220)에서, 튜플들 각각을 노드로 사용하여 그래프를 생성하고, 인간의 인지 관점에서 노드들의 색상들 사이의 차이들이 미리 정해진 범위를 벗어날 때 상기 노드들 사이에 엣지들을 추가한다.
블록(230)에서, 외부 데이터베이스에 저장된 외부 색상 비교 설명들에 기초하여 상기 엣지들을 필터링한다.
블록(240)에서, 인간의 인지 관점에서 색상 차이에 기초하여 가장 가까운 이웃 노드를 발견함으로써 상기 그래프에 새로운 노드를 통합하고, 상기 새로운 노드와 상기 이웃 노드 사이에 엣지를 추가하며, 상기 새로운 노드는 리스트에 포함되지 않고 설명이 없는 새로운 색상을 포함한다.
블록(250)에서, 메시지 전달 알고리즘 및 상기 노드들의 색상들을 초기 시드들로 사용하여 상기 그래프의 노드들 각각에 대한 특징 벡터를 학습한다.
블록(260)에서, 준-감독 방식으로 RNN기반 디코터에 대한 초기 상태로서 학습된 특징 벡터들 각각을 사용하여 새로운 노드의 설명을 생성한다.
요약하면, 본 발명의 예시적인 실시예들은 색상 표현들의 글로벌 인식(global perception)을 포함하는 문맥 정보(contextual information)를 사용한다. 인간의 인지 능력을 사용하면 보다 현실적인 색상 관계들이 가능하고, 그래프-기반 표현들을 사용하면 이웃 노드들이 정보/문맥을 공유할 수 있으며, 문맥 정보는 정확한 매핑(an exact match)이 충족되지 않을 때 유용한 다양성을 제공하여 잠재적으로 더 많은 색상-언어 연관성들의 발견에 이르게 할 수 있다. 추가로, 표준 모델들에 비해 암기 문제가 적다(fewer memorization issues). 또한, 색상-대-언어 매핑에 대해 데이터 세트당 하나의 그래프만 생성된다. 따라서, 색상 관계들을 구조화하기 위해 모델이 학습되고 그래프가 사용되며, 여러 생성 및 검색 작업들에 사용될 수 있는 구문적으로 유효한 설명들이 생성된다.
도 12는 본 발명의 일 실시예에 따른 예시적인 클라우드 컴퓨팅 환경의 블록도/흐름도이다.
본 발명은 클라우드 컴퓨팅에 관해서 상세한 설명들을 포함하지만, 여기서 설명된 그러한 기술적 사상들의 구현은 클라우드 컴퓨팅 환경에만 한정되는 것은 아님을 이해하여야 한다. 오히려, 본 발명의 실시 예들은 지금 알려져 있거나 또는 나중에 개발될 모든 다른 유형의 컴퓨팅 환경과 함께 구현될 수 있다.
클라우드 컴퓨팅은, 최소한의 관리 노력 또는 서비스 제공자와의 상호작용으로 빠르게 제공되고 해제될 수 있는, 구성 가능한(configurable) 컴퓨팅 자원들(예를 들어, 네트워크들, 네트워크 대역폭, 서버들, 처리, 메모리, 스토리지, 애플리케이션들, 가상 머신들, 및 서비스들)의 공유 풀에 대한 편리한 주문형(on-demand) 네트워크 액세스를 가능하게 하는 서비스 전달 모델이다. 이 클라우드 모델은 적어도 5가지의 특성(characteristics), 적어도 3가지 서비스 모델(service models), 및 적어도 4가지 배치 모델(deployment models)을 포함할 수 있다.
특성들은 다음과 같다:
주문형 셀프-서비스(On-demand self-service): 클라우드 소비자는, 서비스 제공자와의 인적 상호작용을 필요로 하지 않고 필요한 만큼 자동적으로, 서버 시간(server time) 및 네트워크 스토리지 같은 컴퓨팅 용량들을 일방적으로 제공(provision)할 수 있다.
광역 네트워크 액세스(Broad network access): 혼성의 씬 또는 씩 클라이언트 플랫폼들(heterogeneous thin or thick client platforms)(예를 들어, 모바일폰들, 랩탑들, 및 PDA들)에 의한 사용을 장려하는 표준 메커니즘들을 통해 액세스되는 기능들을 네트워크를 통해서 이용할 수 있다.
자원 풀링(Resource pooling): 제공자의 컴퓨팅 자원들은, 각기 다른 물리적 및 가상 자원들을 요구(demand)에 따라 동적으로 할당 및 재할당하는, 멀티-테넌트 모델(a multi-tenant model)을 사용하는 다수의 소비자들에게 서비스할 수 있도록 풀에 넣어둔다(pooled). 소비자는 일반적으로 제공된 자원들의 정확한 위치를 제어할 수 없거나 그에 대한 지식이 없지만 더 높은 추상 수준에서(예를 들어, 국가, 주, 또는 데이터센터) 위치를 명시할 수 있다는 점에서 위치 독립성이 있다.
기민한 탄력성(Rapid elasticity): 용량들(capabilities)이 기민하게 탄력적으로 제공되어 (어떤 경우엔 자동으로) 신속히 규모를 확장할 수도 있고(scale out) 그리고 탄력적으로 해제되어 신속히 규모를 축소할 수도 있다(scale in). 소비자에게 제공할 수 있는 가능성이 종종 무제한이고 언제든지 원하는 수량으로 구매할 수 있는 것처럼 보인다.
측정 가능한 서비스(Measured service): 클라우드 시스템들은 자원 사용을 자동으로 제어하고 최적화하는데, 서비스의 유형(예를 들어, 스토리지, 처리, 대역폭, 및 활성 사용자 계정)에 적절한 추상화 수준에서(at some level of abstraction) 계측 기능을 이용하여서 그렇게 한다. 자원 사용량은 모니터 되고, 제어되고, 그리고 보고될 수 있으며 이로써 이용하는 서비스의 제공자와 사용자 모두에게 투명성을 제공한다.
서비스 모델들(Service Models)은 다음과 같다:
소프트웨어 서비스(Software as a Service)(SaaS): 소비자에게 제공되는 서비스는 클라우드 하부구조 상에서 실행되는 제공자의 애플리케이션들을 사용하게 해주는 것이다. 애플리케이션들은 웹 브라우저(예를 들어, 웹기반 이메일) 같은 씬(thin) 클라이언트 인터페이스를 통해 여러 클라이언트 장치들에서 액세스 가능하다. 소비자는 네트워크, 서버들, 운영 체제들, 스토리지, 또는 개별 애플리케이션 능력들을 포함하는 하부 클라우드 하부구조를 관리하거나 제어하지 않는다. 단, 제한된 사용자-특정 애플리케이션 구성 세팅들은 예외로서 가능하다.
플랫폼 서비스(Platform as a Service)(PaaS): 소비자에게 제공되는 서비스는 제공자에 의해 지원되는 프로그래밍 언어들 및 도구들을 이용하여 생성된 소비자-생성 또는 획득 애플리케이션들을 클라우드 하부구조에 배치하게 해주는 것이다. 소비자는 네트워크, 서버들, 운영 체제들, 또는 스토리지를 포함하는 하부 클라우드 하부구조를 관리하거나 제어하지 않는다. 그러나 배치된 애플리케이션들에 대해서 그리고 가능한 경우 애플리케이션 호스팅 환경 구성들에 대해서 제어할 수 있다.
하부구조 서비스(Infrastructure as a Service)(IaaS): 소비자에게 제공되는 서비스는 처리, 스토리지, 네트워크, 및 기타 기본 컴퓨팅 자원들을 제공하여 주는 것이며, 여기서 소비자는 임의의 소프트웨어를 배치 및 실행할 수 있고, 이 소프트웨어에는 운영 체제들과 애플리케이션들이 포함될 수 있다. 소비자는 하부 클라우드 하부구조를 관리하거나 제어하지 않지만, 운영 체제들, 스토리지, 배치된 애플리케이션들, 및 가능한 경우 선택된 네트워킹 컴포넌트들의 제한적인 제어(예를 들어, 호스트 방화벽들)에 대하여 제어할 수 있다.
배치 모델들(Deployment Models)은 다음과 같다:
사설 클라우드(Private cloud): 클라우드 하부구조는 오직 한 조직(an organization)을 위해서 운영되고, 그 조직 또는 제3자에 의해 관리될 수 있으며 옥내(on-premises) 또는 옥외(off-premises)에 위치할 수 있다.
커뮤니티 클라우드(Community cloud): 클라우드 하부구조는 여러 조직들에 의해 공유되고 관심사(예를 들어, 선교, 보안 요건, 정책, 및 규정 준수 심사)를 공유하는 특정 커뮤니티를 지원하며, 여러 조직들 또는 제3자에 의해 관리될 수 있으며 옥내(on-premises) 또는 옥외(off-premises)에 위치할 수 있다.
공공 클라우드(Public cloud): 클라우드 하부구조는 일반 대중 또는 대규모 산업 집단에서 이용할 수 있으며 클라우드 서비스를 판매하는 조직이 소유한다.
하이브리드 클라우드(Hybrid cloud): 클라우드 하부구조는 둘 또는 그 이상의 클라우드들(사설, 커뮤니티, 또는 공공)이 혼합된 구성이며, 이들은 고유한 주체들로 있지만 데이터 및 애플리케이션 이식가능성(portability)을 가능하게 해주는 표준화된 또는 소유권 있는 기술(예를 들어, 클라우드들 사이의 부하 균형을 위한 클라우드 버스팅(cloud bursting))에 의해 서로 결합되어 있다
클라우드 컴퓨팅 환경은 상태비보존(statelessness), 낮은 결합(low coupling), 모듈 방식(modularity), 및 의미적 상호운용성(semantic interoperability)에 집중하는 서비스를 지향한다. 클라우드 컴퓨팅의 중심에는 상호 연결된 노드들의 네트워크를 포함하는 하부구조가 있다
이제 도 12를 참조하면, 예시적인 클라우드 컴퓨팅 환경(1250)이 도시된다. 도시된 바와 같이, 클라우드 컴퓨팅 환경(1250)은 예를 들어 개인 휴대 정보 단말기(PDA) 또는 휴대폰(1254A), 데스크탑 컴퓨터(1254B), 랩탑 컴퓨터(1254C), 및/또는 자동차용 컴퓨터 시스템(1254N)과 통신할 수 있는 것과 같이, 클라우드 소비자가 사용하는 로컬 컴퓨팅 디바이스가 하나 또는 그 이상의 클라우드 컴퓨팅 노드들(1210)을 포함한다. 노드들(1210)은 서로 통신할 수 있다. 이들은 여기에 기술된 바와 같은 사설, 커뮤니티, 공공, 또는 하이브리드 클라우드들 또는 이들의 조합 등의 하나 또는 그 이상의 네트워크들에서 물리적으로 또는 가상으로 그룹화될 수 있다(도시되지 않음). 이것은 클라우드 소비자가 로컬 컴퓨팅 장치 상에 자원들을 유지할 필요가 없게 클라우드 컴퓨팅 환경(1250)이 하부구조, 플랫폼들 및/또는 소프트웨어를 서비스로서 제공할 수 있게 해준다. 도 12에 도시된 컴퓨팅 장치들(1254A-N)의 유형들은 단지 예시의 목적으로 기술한 것이며 컴퓨팅 노드들(1210)과 클라우드 컴퓨팅 환경(1250)은 모든 유형의 네트워크 및/또는 네트워크 주소지정가능 연결을 통해서 (예를 들어, 웹 브라우저를 사용하여) 모든 유형의 컴퓨터화된 디바이스와 통신할 수 있다는 것을 이해해야 한다.
이제 도 13을 참조하면, 클라우드 컴퓨팅 환경(1250) (도 12)에 의해 제공되는 일 세트의 기능별 추상화 층들이 도시된다. 도 13에 도시된 컴포넌트들, 층들, 및 기능들은 단지 예시의 목적이며 본 발명의 바람직한 실시 예들은 이것에 한정되지 않는다는 것을 미리 이해해야 한다. 도시된 바와 같이, 다음의 층들과 그에 대응하는 기능들이 제공된다:
하드웨어 및 소프트웨어 층(1360)은 하드웨어 및 소프트웨어 컴포넌트들을 포함한다. 하드웨어 컴포넌트들의 예들에는: 메인프레임들(1361); RISC(Reduced Instruction Set Computer) 아키텍처 기반 서버들(1362); 서버들(1363); 블레이드 서버들(1364); 스토리지 디바이스들(1365); 그리고 네트워크 및 네트워킹 컴포넌트들(1366)이 포함된다. 일부 실시 예들에서, 소프트웨어 컴포넌트들은 네트워크 애플리케이션 서버 소프트웨어(1367) 및 데이터베이스 소프트웨어(1368)를 포함한다.
가상화 층(1370)은 추상화 층을 제공하며 이로부터 다음의 가상 주체들의 예들이 제공될 수 있다: 가상 서버들(1371); 가상 스토리지(1372); 가상 사설 네트워크를 포함하는, 가상 네트워크들(1373); 가상 애플리케이션들 및 운영 체제들(1374); 및 가상 클라이언트들(1375).
한 예에서, 관리 층(1380)은 아래에 기술하는 기능들을 제공한다.
자원 제공(Resource provisioning)(1381)은 클라우드 컴퓨팅 환경 내에서 작업들을 수행하는 데 이용되는 컴퓨팅 자원들 및 기타 자원들의 동적 조달을 제공한다.
계측 및 가격 책정(Metering and Pricing)(1382)은 자원들이 클라우드 컴퓨팅 환경 내에서 이용될 때 비용 추적, 및 이 자원들의 소비에 대한 요금 청구 또는 송장을 제공한다. 한 예에서, 이 자원들은 애플리케이션 소프트웨어 라이센스를 포함할 수 있다. 보안(Security)은 데이터 및 기타 자원들에 대한 보호뿐 아니라 클라우드 소비자들과 작업들에 대한 신원 확인을 제공한다. 사용자 포털(User portal)(1383)은 소비자들 및 시스템 관리자들에게 클라우드 컴퓨팅 환경에 대한 액세스를 제공한다. 서비스 수준 관리(Service level management)(1384)는 요구되는 서비스 수준이 충족되도록 클라우드 컴퓨팅 자원 할당 및 관리를 제공한다. 서비스 수준 협약서(SLA) 기획 및 충족(planning and fulfillment)(1385)은 SLA에 부합하는 예상되는 미래 요건에 맞는 클라우드 컴퓨팅 자원들의 사전-배치(pre-arrangement) 및 조달(procurement)을 제공한다.
워크로드 층(1390)은 클라우드 컴퓨팅 환경이 이용될 수 있는 기능들의 예들을 제공한다. 이 층에서 제공될 수 있는 워크로드들과 기능들의 예들은 다음을 포함한: 맵핑 및 네비게이션(1391); 소프트웨어 개발 및 라이프사이클 관리(1392); 가상 교실 훈련 전달(1393); 데이터 분석 처리(1394); 트랜잭션 처리(1395); 및 클라우드 서버들에서 그래프-기반 색상 설명(a graph-based color description)(1396).
본 명세서에서 사용되는 용어들 "데이터", "콘텐츠", "정보" 및 이와 유사한 용어들은 다양한 실시예들에 따라 캡처(captured), 전송, 수신, 표시 및/또는 저장될 수 있는 데이터를 지칭하기 위해 상호 교환적으로 사용될 수 있다. 따라서, 그러한 용어들의 사용은 본 발명의 정신과 범위를 제한하는 것으로 간주되어서는 안 된다. 또한, 여기에서 컴퓨팅 장치가 다른 컴퓨팅 장치로부터 데이터를 수신하는 것으로 설명되는 경우, 데이터는 다른 컴퓨팅 장치로부터 직접 수신되거나 예를 들어 하나 또는 그 이상의 서버들(servers), 중계기들(relays), 라우터들(routers), 네트워크 액세스 포인트들(network access points), 기지국들 및/또는 등과 같은 하나 또는 그 이상의 중간 컴퓨팅 장치들을 통해 간접적으로 수신될 수도 있다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에서 기술된 주제의 실시예들은 사용자에게 정보를 표시하기 위한 디스플레이 장치, 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 장치(a pointing device), 예를 들어 마우스 또는 트랙볼(a trackball)을 가지는 컴퓨터에서 구현될 수 있다. 다른 종류의 기기는 사용자와의 상호작용을 제공하는 데도 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 감각적 피드백의 모든 형태가 될 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각적 입력을 포함한 모든 형태로 수신될 수 있다.
본 발명은 시스템, 방법, 및/또는 컴퓨터 프로그램 제품일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 스토리지 매체(또는 매체들)을 포함할 수 있고, 컴퓨터 판독가능 스토리지 매체(또는 매체들)는 컴퓨터 판독가능 프로그램 명령들을 가지며, 컴퓨터 판독가능 프로그램 명령들은 프로세서로 하여금 본 발명의 실시 예들(aspects)을 수행하도록 하기 위한 것이다.
컴퓨터 판독가능 스토리지 매체는 명령 실행 디바이스에서 사용하기 위한 명령들을 보유 및 저장할 수 있는 유형적인(tangible) 디바이스일 수 있다. 컴퓨터 판독가능 스토리지 매체는, 예를 들어, 전자 스토리지 디바이스, 자기 스토리지 디바이스, 광학 스토리지 디바이스, 전자기 스토리지 디바이스, 반도체 스토리지 디바이스, 또는 앞서 언급한 것들의 어떤 적절한 조합일 수 있으나, 이러한 것들로 한정되는 것은 아니다. 컴퓨터 판독가능 스토리지 매체의 더 많은 구체적인 예들의 리스트(전체를 다 열거한 것은 아님)는 또한, 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 억세스 메모리(random access memory, RAM), 읽기 전용 메모리(read-only memory, ROM), 소거가능 프로그램가능 읽기 전용 메모리(erasable programmable read-only memory, EPROM 또는 플래쉬 메모리), 스태틱 랜덤 억세스 메모리(static random access memory, SRAM), 휴대용 컴팩트 디스크 읽기 전용 메모리(portable compact disc read-only memory, CD-ROM), 디지털 다용도 디스크(digital versatile disk, DVD), 메모리 스틱, 플로피 디스크, 펀치-카드들 또는 기록된 명령들을 갖는 홈(groove)에서 볼록한 구조들과 같은 기계적으로 인코딩된 디바이스, 및 앞서 열거한 것들의 어떤 적절한 조합을 포함할 수 있다. 여기서 사용되는 것과 같이, 컴퓨터 판독가능 스토리지 매체는, 무선 전파(radio waves) 또는 다른 자유롭게 전파되는 전자기파, 도파관 또는 다른 전송 매질을 통해 전파되는 전자기파(예컨대, 광섬유 케이블을 통과하는 광 펄스), 또는 와이어를 통해 전송되는 전기적 신호와 같은 일시적인 신호들 그 자체로 구성되는 것은 아니다.
여기에 설명되는 컴퓨터 판독가능 프로그램 명령들은, 예를 들어, 인터넷, 근거리 통신망, 광역 통신망 및/또는 무선 통신망과 같은 통신망을 통해 컴퓨터 판독가능 스토리지 매체로부터 각각의 컴퓨팅/처리 디바이스들로, 또는 내부 컴퓨터 또는 외부 스토리지 디바이스로 다운로드될 수 있다. 통신망은 동선 전송 케이블, 광 전송 섬유, 무선 전송, 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 엣지 서버를 포함할 수 있다. 각각의 컴퓨팅/처리 디바이스에서 네트워크 어댑터 카드 또는 네트워크 인터페이스는, 각각의 컴퓨팅/처리 디바이스 내 컴퓨터 판독가능 스토리지 매체에 저장하기 위해 통신망으로부터 컴퓨터 판독가능 프로그램 명령들을 수신하고 컴퓨터 판독가능 프로그램 명령들을 전송한다.
본 발명의 동작들을 수행하기 위한 컴퓨터 판독가능 프로그램 명령들은 어셈블러 명령(assembler instructions), 명령-세트-아키텍쳐(instruction-set-architecture, ISA) 명령, 머신 명령(machine instructions), 머신 종속 명령(machine dependent instructions), 마이크로코드, 펌웨어 명령(firmware instructions), 상태-세팅 데이터(state-setting data), 집적 회로망용 구성 데이터(configuration data for integrated circuitry), 또는 하나 또는 그 이상의 프로그래밍 언어들의 어떤 조합으로 작성된 소스 코드 또는 객체 코드(object code)일 수 있다. 상기 프로그래밍 언어들은 스몰토크(Smalltalk), C++ 등과 같은 객체 지향 프로그래밍 언어(object oriented programming language), 및 "C" 프로그래밍 언어 또는 유사 프로그래밍 언어들과 같은 절차형 프로그래밍 언어들을 포함한다. 컴퓨터 판독가능 프로그램 명령들은 독립형(stand-alone) 소프트웨어 패키지로서 사용자의 컴퓨터 상에서 전적으로, 사용자의 컴퓨터 상에서 부분적으로 실행될 수 있고, 사용자의 컴퓨터 상에서 부분적으로 그리고 원격 컴퓨터 상에서 부분적으로 실행될 수 있고, 또는 원격 컴퓨터 또는 서버 상에서 전적으로 실행될 수 있다. 후자의 시나리오에 있어서, 원격 컴퓨터는 근거리 통신망(LAN) 또는 광역 통신망(WAN)을 포함하는 어떤 유형의 통신망을 통해 사용자의 컴퓨터에 연결될 수 있고, 또는 그 연결은 외부 컴퓨터에 대해 이뤄질 수 있다(예컨대, 인터넷 서비스 공급자(Internet Service Provider)를 사용하여 인터넷을 통해서). 몇몇 실시예들에 있어서, 본 발명의 측면들을 수행하기 위해, 예를 들어, 프로그램가능 로직 회로망(programmable logic circuitry), 필드-프로그램가능 게이트 어레이(field-programmable gate arrays, FPGA), 또는 프로그램가능 로직 어레이(Programmable logic arrays, PLA)를 포함하는 전기 회로망(electronic circuitry)은 전기 회로망을 고객 맞춤 제작(customize)하기 위해 컴퓨터 판독가능 프로그램 명령들의 상태 정보를 이용함으로써 컴퓨터 판독가능 프로그램 명령들을 실행할 수 있다.
본 발명의 실시 예들은 여기서 발명의 실시예들에 따른 방법들, 장치들(시스템들), 및 컴퓨터 프로그램 제품들의 플로우챠트 설명들 및/또는 블록 다이어그램들을 참조하여 설명된다. 플로우챠트 설명들 및/또는 블록 다이어그램들에서 플로우챠트 설명들 및/또는 블록 다이어그램들의 각각의 블록, 및 블록들의 조합들은 컴퓨터 판독가능 프로그램 명령들에 의해 구현될 수 있다는 것이 이해된다.
이들 컴퓨터 판독가능 프로그램 명령들은 머신(machine)을 생성하기 위해 범용 컴퓨터(general purpose computer), 전용 컴퓨터(special purpose computer), 또는 다른 프로그램가능 데이터 처리 장치의 프로세서에게 제공될 수 있으며, 그리하여 컴퓨터 또는 다른 프로그램가능 데이터 처리 장치의 프로세서를 통해 실행될 때 그 명령들이 플로우챠트 및/또는 블록 다이어그램 블록 또는 블록들에 명시된 기능들/동작들을 구현하기 위한 수단을 생성하도록 한다. 이들 컴퓨터 판독가능 프로그램 명령들은 또한 컴퓨터 판독가능 스토리지에 저장될 수 있으며, 컴퓨터 판독가능 스토리지는 컴퓨터, 프로그램가능 데이터 처리 장치, 및/또는 다른 디바이스들이 특정 방식으로 기능하도록 지시할 수 있다. 그리하여, 내부에 저장된 명령들을 갖는 컴퓨터 판독가능 스토리지 매체가 플로우챠트 및/또는 블록 다이어그램의 블록 또는 블록들에 명시된 기능/동작의 측면들을 구현하는 명령들을 포함하는 제조 물품을 포함하도록 한다.
컴퓨터 판독가능 프로그램 명령들은 또한 컴퓨터, 다른 프로그램가능 데이터 처리 장치, 또는 다른 다바이스 상으로 로딩되어 컴퓨터, 다른 프로그램가능 장치 또는 다른 디바이스 상에서 수행될 일련의 동작 단계들로 하여금 컴퓨터로 구현된 프로세스를 생성하게 할 수 있다. 그리하여 컴퓨터, 다른 프로그램가능 장치, 또는 다른 디바이스 상에서 실행되는 명령들이 플로우챠트 및/또는 블록 다이어그램의 블록 또는 블록들에 명시된 기능들/동작들을 구현하도록 한다.
도면들에서 플로우챠트 및 블록 다이어그램들은 본 발명의 다양한 실시예들에 따른 시스템들, 방법들, 및 컴퓨터 프로그램 제품들의 가능한 구현의 아키텍쳐, 기능성, 및 동작을 보여준다. 이 점에서, 플로우챠트 또는 블록 다이어그램들에서의 각각의 블록은 모듈, 세그먼트, 또는 명령들의 일부분을 나타낼 수 있으며, 이는 명시된 논리적 기능(들)을 구현하기 위한 하나 또는 그 이상의 실행가능한 명령들을 포함한다. 몇몇 다른 구현들에 있어서, 블록들에 기재되어 있는 기능들은 도면들에 기재되어 있는 순서를 벗어나서 발생할 수도 있다. 예를 들어, 연속해서 보여지는 두 개의 블록들은, 사실, 실질적으로 동시에 일어날 수 있고, 또는 블록들은 때로는 관련된 기능에 따라 역순으로 실행될 수도 있다. 또한, 블록 다이어그램들 및/또는 플로우챠트 그림의 각각의 블록, 및 블록 다이어그램들 및/또는 플로우챠트 그림에서의 블록들의 조합들은 명시된 기능들 또는 동작들(acts)을 수행하거나 전용 하드웨어와 컴퓨터 명령들의 조합들을 수행하는 전용 하드웨어 기반 시스템들에 의해 구현될 수 있다는 것이 주목될 수 있다.
본 명세서에서 본 원리들의 "하나의 실시예" 또는 "일 실시예"에 대한 참조뿐만 아니라 이들의 다른 변형들은 본 실시예들과 관련하여 추가로 설명된 특정한 특징, 구조, 특성 등이 본 원리들의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 명세서 전반에 걸쳐 다양한 위치에 나타나는 "하나의 실시예에서" 또는 "일 실시예에서" 문구의 출현 및 기타 변형이 반드시 모두 동일한 실시예를 지칭하는 것은 아니다.
다음의 "/", "및/또는" 그리고 "중 적어도 하나의"의 사용은, 예를 들어, "A/B", "A 및/또는 B", 그리고 "A와 B 중 적어도 하나"의 경우에는, 제1목록의 옵션(A)만 선택하거나, 제2목록의 옵션(B)만 선택하거나, 또는 두 옵션(A 및 B)를 모두 선택하는 것을 포함하는 것으로 이해할 수 있다. 추가적인 예로서, "A, B 및/또는 C"와 "A, B 및 C 중 적어도 하나"의 경우, 이러한 표현은 제1 목록의 옵션(A)만 선택하거니, 제2 목록의 옵션(B)만 선택하거나, 제3 목록의 옵션(C)만 선택하거나, 제1 및 제2 목록의 옵션(A 및 B)만 선택하거나, 제1 및 제3 목록의 옵션(A 및 C)만 선택하거나, 제2 및 제3 목록의 옵션(B 및 C)만 선택하거나, 또는 세 가지 옵션(A 및 B 및 C) 모두를 선택하는 것을 포함하도록 이해할 수 있다. 이는 열거된 항목만큼 확장될 수 있으며, 이는 관련 기술 분야의 통상의 기술자가 쉽게 알 수 있다.
색상에 대한 설명을 자연어로 생성하기 위한 시스템 및 방법의 바람직한 실시예들을 기술했지만(이는 설명을 위한 것이며 제한되지 않는다), 상기 기술적 사상에 비추어 당업자에 의해 수정들 및 변형들이 이루어질 수 있다는 점을 주목해야 한다. 따라서 첨부된 청구항들에 의해 요약된 발명의 범위에 속하는 설명된 특정 실시예들에서 변경이 이루어질 수 있다는 것을 이해해야 한다. 특허법에 의해 요구되는 세부사항 및 특수성과 함께 본 발명의 측면들을 설명하였으므로, 특허증에 의해 청구되고 보호받기 원하는 것이 첨부된 청구범위에 명시되어 있다.

Claims (25)

  1. 색상에 대한 자연어 설명(a description in natural language for a color)을 생성하기 위한 컴퓨터 구현 방법에 있어서, 상기 컴퓨터 구현 방법은:
    튜플들의 리스트(a list of tuples)를 획득하는 단계 - 상기 튜플들 각각은 색상 및 설명을 포함함 -;
    상기 튜플들 각각을 노드(a node)로 사용하고 인간의 인지(human perception) 관점에서 노드들의 색상들 사이의 차이가 미리 정해진 범위를 벗어날 때 상기 노드들 사이에 엣지들(edges)을 추가함으로써 그래프를 생성하는 단계;
    외부 색상 비교 데이터베이스에 저장된 외부 색상 비교 설명들에 기초하여 상기 엣지들을 필터링하는 단계(filtering);
    인간의 인지 관점에서 색상 차이(the color difference)에 기초하여 가장 가까운 이웃 노드를 발견하고 새로운 노드와 상기 가장 가까운 이웃 사이에 새로운 엣지(a new edge)를 추가함으로써 상기 그래프에 새로운 노드를 통합하는 단계(incorporating) - 상기 새로운 노드는 상기 튜플들의 리스트에 포함되지 않고 설명이 없는 새로운 색상을 포함함 -;
    메시지 전달(message passing) 및 상기 노드들의 색상들을 초기 시드들(initial seeds)로 사용함으로써 상기 그래프에서 노드들 각각에 대한 특징 벡터(a feature vector)를 학습하는 단계; 및
    준-감독 방식(a semi-supervised fashion)으로 순환 신경망 기반 디코더(a recurrent neural network (RNN)-based decoder)에 대한 초기 상태들로서 상기 학습된 특징 벡터들 각각을 사용함으로써 상기 새로운 노드의 설명을 생성하는 단계를 포함하는
    컴퓨터 실행 방법.
  2. 제 1항에 있어서, 상기 엣지들을 필터링하는 단계는 상기 그래프로부터 중복되거나 실행 불가능한 엣지들(redundant or unfeasible edges)을 제거하는 단계를 포함하는
    컴퓨터 구현 방법.
  3. 제 1항에 있어서, 인간의 인지 관점에서 상기 색상의 차이는 메트릭 델타(metric Delta) E에 의해 제공되는
    컴퓨터 구현 방법.
  4. 제 3항에 있어서, 만일 두 가지 색상들 사이의 델타 E가 11과 49 사이에 있다면, 상기 두 가지 색상들 사이에 엣지가 생성되는
    컴퓨터 구현 방법.
  5. 제 1항에 있어서, 상기 새로운 노드가 상기 그래프에 추가된 후, 상기 엣지들로부터의 문맥 정보(contextual information)가 상기 새로운 노드에 대한 설명을 학습하기 위해 라벨 있는 노드의 세트(a set of labeled nodes)로부터 라벨 없는 노드의 세트(a set of unlabeled nodes)로 사용되는
    컴퓨터 구현 방법.
  6. 제 1항에 있어서, 상기 RNN에서의 손실(loss)은 상기 그래프의 라벨 있는 부분(a labeled portion of the graph)에서 계산되는
    컴퓨터 구현 방법.
  7. 제 1항에 있어서, 상기 새로운 노드는 라벨 없는 노드로 정의되는
    컴퓨터 구현 방법.
  8. 색상에 대한 자연어 설명을 생성하기 위한 컴퓨터 구현 방법에 있어서, 상기 컴퓨터 구현 방법은:
    튜플들의 리스트를 획득하는 단계 - 상기 튜플들 각각은 색상 및 설명을 포함함 -;
    상기 튜플들 각각을 노드로 사용하고 유사 임계값(a similarity threshold)에 기초한 노드들 사이에 엣지들을 추가함으로써 그래프를 생성하는 단계;
    외부 색상 비교 데이터베이스에 저장된 외부 색상 비교 설명들에 기초하여 상기 엣지들을 필터링하는 단계; 및
    상기 유사 임계값에 기초하여 가장 가까운 이웃 노드를 발견하고 새로운 노드와 상기 가장 가까운 이웃 노드 사이에 새로운 엣지를 추가함으로써 상기 그래프에 새로운 노드를 통합하는 단계를 포함하는
    컴퓨터 구현 방법.
  9. 제 8항에 있어서, 상기 새로운 노드는 상기 튜플들의 리스트에 포함되지 않은 새로운 색상을 포함하고 설명이 없는
    컴퓨터 구현 방법.
  10. 제 9항에 있어서, 상기 컴퓨터 구현 방법은 상기 그래프에서 상기 노드들 각각에 대한 특징 벡터를 학습하는 단계를 더 포함하는
    컴퓨터 구현 방법.
  11. 제 10항에 있어서, 상기 특징 벡터는 메시지 전달 및 상기 노드들의 색상들을 초기 시드들로 사용함으로써 학습되는
    컴퓨터 구현 방법.
  12. 제 11항에 있어서, 상기 컴퓨터 구현 방법은 상기 학습된 특징 벡트들 각각을 초기 상태들로 지정함으로써 상기 새로운 노드의 설명을 생성하는 단계를 더 포함하는
    컴퓨터 구현 방법.
  13. 제 12항에 있어서, 상기 초기 상태들은 준-감독 방식으로 순환 신경망(RNN) 기반 디코더에 공급되는
    컴퓨터 구현 방법.
  14. 제 13항에 있어서, 상기 유사 임계값은 미리 결정된 범위 밖의 인간의 인지 관점에서 상기 노드들의 색상 차이인
    컴퓨터 구현 방법.
  15. 제 14항에 있어서, 인간의 인지 관점에서 상기 색상의 차이는 메트릭 델타 E에 의해 제공되는
    컴퓨터 구현 방법.
  16. 제 15항에 있어서, 만일 두 가지 색상들 사이의 델타 E가 11과 49 사이이면, 상기 두 가지 색상들 사이에 엣지가 생성되는
    컴퓨터 구현 방법.
  17. 제 16항에 있어서, 상기 RNN에서의 손실은 상기 그래프의 라벨 있는 부분에서 계산되는
    컴퓨터 구현 방법.
  18. 제 8항에 있어서, 상기 엣지를 필터링하는 단계는 상기 그래프로부터 중복되거나 실행 불가능한 엣지를 제거하는 단계를 포함하는
    컴퓨터 구현 방법.
  19. 제 8항에 있어서, 상기 새로운 노드가 상기 그래프에 추가된 후, 상기 엣지들로부터의 문맥 정보가 상기 새로운 노드에 대한 설명을 학습하기 위해 라벨 있는 노드들의 세트로부터 라벨 없는 노드들의 세트로 사용되는
    컴퓨터 구현 방법.
  20. 색상에 대한 자연어 설명을 생성하기 위한 컴퓨터 프로그램 제품에 있어서, 상기 컴퓨터 프로그램 제품은 프로그램 명령들이 구현된 컴퓨터 판독 가능 저장 매체를 포함하고, 상기 프로그램 명령들은 컴퓨터에 의해 실행 가능하며, 상기 컴퓨터가 방법을 수행하도록 하고, 상기 방법은:
    튜플들의 리스트(a list of tuples)를 획득하는 단계 - 상기 튜플들 각각은 색상 및 설명을 포함함 -;
    상기 튜플들 각각을 노드(a node)로 사용하고 인간의 인지(human perception) 관점에서 노드들의 색상들 사이의 차이가 미리 정해진 범위를 벗어날 때 상기 노드들 사이에 엣지들(edges)을 추가함으로써 그래프를 생성하는 단계;
    외부 색상 비교 데이터베이스에 저장된 외부 색상 비교 설명들에 기초하여 상기 엣지들을 필터링하는 단계(filtering);
    인간의 인지 관점에서 색상 차이(the color difference)에 기초하여 가장 가까운 이웃 노드를 발견하고 새로운 노드와 상기 가장 가까운 이웃 사이에 새로운 엣지(a new edge)를 추가함으로써 상기 그래프에 새로운 노드를 통합하는 단계(incorporating) - 상기 새로운 노드는 상기 튜플들의 리스트에 포함되지 않고 설명이 없는 새로운 색상을 포함함 -;
    메시지 전달(message passing) 및 상기 노드들의 색상들을 초기 시드들(initial seeds)로 사용함으로써 상기 그래프에서 노드들 각각에 대한 특징 벡터(a feature vector)를 학습하는 단계; 및
    준-감독 방식(a semi-supervised fashion)으로 순환 신경망 기반 디코더(a recurrent neural network (RNN)-based decoder)에 대한 초기 상태들로서 상기 학습된 특징 벡터들 각각을 사용함으로써 상기 새로운 노드의 설명을 생성하는 단계를 포함하는
    컴퓨터 프로그램 제품.
  21. 제 20항에 있어서, 상기 새로운 노드가 상기 그래프에 추가된 후, 상기 엣지들로부터의 문맥 정보(contextual information)가 상기 새로운 노드에 대한 설명을 학습하기 위해 라벨 있는 노드의 세트(a set of labeled nodes)로부터 라벨 없는 노드의 세트(a set of unlabeled nodes)로 사용되는
    컴퓨터 프로그램 제품.
  22. 색상에 대한 자연어 설명을 생성하기 위한 컴퓨터 프로그램 제품에 있어서, 상기 컴퓨터 프로그램 제품은 프로그램 명령들이 구현된 컴퓨터 판독 가능 저장 매체를 포함하고, 상기 프로그램 명령들은 컴퓨터에 의해 실행 가능하며, 상기 컴퓨터가 방법을 수행하도록 하고, 상기 방법은:
    튜플들의 리스트를 획득하는 단계 - 상기 튜플들 각각은 색상 및 설명을 포함함 -;
    상기 튜플들 각각을 노드로 사용하고 유사 임계값(a similarity threshold)에 기초한 노드들 사이에 엣지들을 추가함으로써 그래프를 생성하는 단계;
    외부 색상 비교 데이터베이스에 저장된 외부 색상 비교 설명들에 기초하여 상기 엣지들을 필터링하는 단계; 및
    상기 유사 임계값에 기초하여 가장 가까운 이웃 노드를 발견하고 새로운 노드와 상기 가장 가까운 이웃 노드 사이에 새로운 엣지를 추가함으로써 상기 그래프에 새로운 노드를 통합하는 단계를 포함하는
    컴퓨터 프로그램 제품.
  23. 제 22항에 있어서, 특징 벡터는 상기 그래프에서 상기 노드들 각각에 대해 학습되고, 상기 특징 벡터는 메시지 전달 및 상기 노드들의 색상들을 초기 시드들로 사용함으로써 학습되는
    컴퓨터 프로그램 제품.
  24. 제 23항에 있어서, 상기 새로운 노드의 설명은 상기 학습된 벡터들 각각을 준-감독 방식으로 순환 신경망(RNN) 기반 디코터에 공급되는 초기 상태들로 지정함으로써 생성되는
    컴퓨터 프로그램 제품.
  25. 색상에 대한 자연어 설명을 생성하기 위한 컴퓨터 구현 방법에 있어서, 상기 컴퓨터 구현 방법은:
    색상 관계들을 구조화하기 위해 그래프를 생성하는 단계 - 상기 그래프는 복수의 노드들 및 엣지들을 포함함 -;
    색상 비교 설명들에 기초하여 중복 엣지들을 제거하는 단계;
    유사 임계값에 기초하여 상기 그래프에 새로운 엣지들을 갖는 새로운 노드들을 통합하는 단계;
    상기 그래프의 노드들 각각에 대한 특징 벡터를 학습하는 단계; 및
    상기 특징 벡터들을 채용하여 상기 새로운 노드들의 설명을 생성하는 단계를 포함하고, 상기 특징 벡터는 준-감독 방식으로 신경망에 공급되는
    컴퓨터 구현 방법.
KR1020237015768A 2020-11-20 2021-11-16 그래프-기반 색상 설명 생성 KR20230095980A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/100,018 US11436771B2 (en) 2020-11-20 2020-11-20 Graph-based color description generation
US17/100,018 2020-11-20
PCT/IB2021/060583 WO2022106986A1 (en) 2020-11-20 2021-11-16 Graph-based color description generation

Publications (1)

Publication Number Publication Date
KR20230095980A true KR20230095980A (ko) 2023-06-29

Family

ID=81658448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237015768A KR20230095980A (ko) 2020-11-20 2021-11-16 그래프-기반 색상 설명 생성

Country Status (8)

Country Link
US (1) US11436771B2 (ko)
JP (1) JP2023549647A (ko)
KR (1) KR20230095980A (ko)
CN (1) CN116601673A (ko)
AU (1) AU2021384021B2 (ko)
DE (1) DE112021006076T5 (ko)
GB (1) GB2615498B (ko)
WO (1) WO2022106986A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102614051B1 (ko) * 2023-07-17 2023-12-14 (주)인포시즈 그래프 데이터베이스를 이용한 이상 징후 탐지 방법및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004027695A1 (en) 2002-09-20 2004-04-01 International Business Machines Coporation Color naming, color categorization and describing color composition of images
US7339701B2 (en) * 2002-12-16 2008-03-04 Xerox Corporation Method for darkness correction of trapped pixels
CN101556652B (zh) 2009-04-15 2011-11-30 北京联合大学 一种基于机器学习的中国书画颜色分层分析方法
JP5682569B2 (ja) 2009-10-16 2015-03-11 日本電気株式会社 色彩解析装置、色彩解析方法、及び色彩解析プログラム
WO2013021889A1 (ja) 2011-08-05 2013-02-14 楽天株式会社 色名決定装置、色名決定方法、情報記録媒体、ならびに、プログラム
US8918434B2 (en) 2012-04-24 2014-12-23 International Business Machines Corporation Optimizing sparse schema-less data in relational stores
US9846951B2 (en) * 2016-03-31 2017-12-19 Konica Minolta Laboratory U.S.A., Inc. Determining a consistent color for an image
TWI687825B (zh) 2018-12-03 2020-03-11 國立臺灣師範大學 對應自然語言至色彩組合之方法與系統
US11735320B2 (en) 2018-12-04 2023-08-22 Merative Us L.P. Dynamic creation and manipulation of data visualizations
DE202020005787U1 (de) * 2019-01-29 2022-06-21 Twitter, Inc. Ereignisdetektierung in Echtzeit auf sozialen Datenströmen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102614051B1 (ko) * 2023-07-17 2023-12-14 (주)인포시즈 그래프 데이터베이스를 이용한 이상 징후 탐지 방법및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Also Published As

Publication number Publication date
US20220165006A1 (en) 2022-05-26
AU2021384021A9 (en) 2024-09-19
AU2021384021A1 (en) 2023-06-01
AU2021384021B2 (en) 2023-09-07
CN116601673A (zh) 2023-08-15
GB202307407D0 (en) 2023-07-05
US11436771B2 (en) 2022-09-06
WO2022106986A1 (en) 2022-05-27
JP2023549647A (ja) 2023-11-29
GB2615498A (en) 2023-08-09
GB2615498B (en) 2024-01-03
DE112021006076T5 (de) 2023-09-14

Similar Documents

Publication Publication Date Title
US10831733B2 (en) Interactive adjustment of decision rules
US20190155911A1 (en) Context-aware translation memory to facilitate more accurate translation
US11178087B2 (en) Aggregating redundant messages in a group chat
US10348659B1 (en) Chat message processing
US20230127523A1 (en) Managing container images in groups
US20200183996A1 (en) Social media tag suggestion based on product recognition
US20210182340A1 (en) Resolving user expression having dependent intents
US10917478B2 (en) Cloud enabling resources as a service
AU2021384021B2 (en) Graph-based color description generation
US10776411B2 (en) Systematic browsing of automated conversation exchange program knowledge bases
US10168999B2 (en) Software object definition and integration
US20200279152A1 (en) Lexicographic deep reinforcement learning using state constraints and conditional policies
US12019673B2 (en) Digital semantic structure conversion
US20170103142A1 (en) Defining pairing rules for connections
US20210049491A1 (en) Qubit sensory representation
US20210065257A1 (en) Counterbalancing bias of user reviews
US20200356531A1 (en) Derived relationship for collaboration documents
US20230410387A1 (en) Color replacement for the colorblind using an automatic image colorization artificial intelligence model
CN113206819B (zh) 基于多级别会话描述符的信令发送方法及装置
US20220309245A1 (en) Automated natural language generation and selection
US11823078B2 (en) Connected insights in a business intelligence application
US11023476B2 (en) Testing pairings to determine whether they are publically known
US20220200935A1 (en) Generating a chatbot utilizing a data source
US20210358321A1 (en) System and method for natural language triad analysis of educational text

Legal Events

Date Code Title Description
A201 Request for examination