KR102297392B1 - 이미지 응답형 자동화 어시스턴트를 위한 시스템, 방법 및 장치 - Google Patents

이미지 응답형 자동화 어시스턴트를 위한 시스템, 방법 및 장치 Download PDF

Info

Publication number
KR102297392B1
KR102297392B1 KR1020197036386A KR20197036386A KR102297392B1 KR 102297392 B1 KR102297392 B1 KR 102297392B1 KR 1020197036386 A KR1020197036386 A KR 1020197036386A KR 20197036386 A KR20197036386 A KR 20197036386A KR 102297392 B1 KR102297392 B1 KR 102297392B1
Authority
KR
South Korea
Prior art keywords
data
image
camera
mode
user
Prior art date
Application number
KR1020197036386A
Other languages
English (en)
Other versions
KR20200006563A (ko
Inventor
브로츠고즈키 마르친 노박
구칸 바키르
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020217027310A priority Critical patent/KR102421662B1/ko
Publication of KR20200006563A publication Critical patent/KR20200006563A/ko
Application granted granted Critical
Publication of KR102297392B1 publication Critical patent/KR102297392B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/487Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • 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/903Querying
    • G06F16/9032Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06K9/00671
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0281Customer communication at a business location, e.g. providing product or service information, consulting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/68Food, e.g. fruit or vegetables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • H04N5/23245
    • H04N5/23293
    • G06K2209/17
    • G06K2209/21
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 명세서에 설명된 기술들은 사용자가 자동화 어시스턴트와 상호 작용하고 사용자가 힘든 유형의 입력을 제공할 필요가 없고 및/또는 사용자가 프라이버시 문제를 야기할 수 있는 발화 입력을 제공할 필요 없이(예를 들어, 다른 개인이 근처에 있는 경우) 사용자가 자동화 어시스턴트와 상호 작용하여 자동화 어시스턴트로부터 관련 출력을 얻을 수 있게 한다. 어시스턴트 애플리케이션은 어시스턴트 애플리케이션이 카메라의 시야 내의 다양한 오브젝트에 응답하는 다수의 상이한 이미지 대화 모드에서 동작할 수 있다. 카메라의 시야에서 특정 오브젝트가 검출될 때 이미지 대화 모드가 사용자에게 제안될 수 있다. 사용자가 이미지 대화 모드를 선택하는 경우, 어시스턴트 애플리케이션은 그 후 프리젠테이션을 위해, 선택된 이미지 대화 모드에 기초하고 그리고 카메라의 이미지(들)에 의해 캡처된 오브젝트(들)에 기초하여 출력을 제공할 수 있다.

Description

이미지 응답형 자동화 어시스턴트를 위한 시스템, 방법 및 장치
인간은 본 명세서에서 "자동화 어시스턴트"("디지털 에이전트", "챗봇", "어시스턴트 애플리케이션", "대화형 개인 어시스턴트", "지능형 개인 어시스턴트", "대화 에이전트" 등이라고도 함)로 지칭되는 대화형 소프트웨어 애플리케이션으로 인간 대 컴퓨터 대화에 참여할 수 있다. 예를 들어, (자동화 어시스턴트와 상호 작용할 때 "사용자"로 지칭될 수 있는) 인간은 (i) 일부 경우 텍스트로 변환된 후 처리될 수 있는 발화된 자연어 입력(즉, 발언)을 사용하고 및/또는 (ii) (예를 들어, 타이핑된) 텍스트 자연어 입력을 제공함으로써 커맨드 및/또는 요청을 제공할 수 있다. 특정 자동화 어시스턴트는 사용자로부터의 음성 커맨드에 응답하여 정보(예를 들어, 영화 시간, 영업 시간 등)를 제공하고 및/또는 그 음성 커맨드에 따라 주변 디바이스를 제어할 수 있다. 이러한 특징은 편리하지만 보다 정교한 커맨드를 제공하고, 덜 힘든 입력으로 커맨드를 제공하고, 대응하는 사용자의 프라이버시를 보호하는 커맨드를 제공하고 및/또는 추가 또는 대안적인 이점이 있는 커맨드를 제공하는 방법이 있을 수 있다.
본 명세서에 개시된 구현은 클라이언트 디바이스의 카메라로부터, 이미지(들)에 캡처된 오브젝트들의 속성(들)에 맞춰진 출력을 생성하고, 그 맞춰진 출력이 선택적으로 카메라로부터 실시간 이미지 피드의 프리젠테이션과 함께(예를 들어, 그 위에 그래픽적으로 오버레이된) 클라이언트 디바이스에서 랜더링되게 하는 것에 관한 것이다. 다양한 구현들에서, 카메라에 의해 캡처된 적어도 하나의 이미지는 그 이미지에 의해 캡처된 오브젝트들의 하나 이상의 속성을 결정하도록 처리된다. 또한, 하나 이상의 결정된 속성에 기초하여, 복수의 이용 가능한 대화 모드의 그룹으로부터 하나 이상의 대화 모드의 서브 그룹이 선택된다. 이후 서브 그룹의 대화 모드(들)에 해당하는 선택 가능한 요소(들)는 클라이언트 디바이스의 인터페이스에서 초기 출력으로서 디스플레이되게 된다. 이러한 방식으로, 초기 출력은 처리된 이미지(들) 내의 오브젝트의 결정된 속성(들)에 맞춰진 대화 모드(들)에 대응하는 선택 가능(한) 요소(들)를 포함한다.
선택 가능 요소들 중 하나의 선택에 응답하여, 추가 출력이 디스플레이되게 되고, 여기서 추가 출력은 선택된 요소의 대화 모드에 맞춰지고 그 처리된 이미지(들)의 오브젝트에 맞춰진 오브젝트 데이터를 포함한다. 예를 들어, 오브젝트 데이터는 대화 모드에 기초하고 그리고 (대화 모드의 서브 그룹을 선택하는데 이용된 결정된 속성들을 포함하여 및/또는 이에 부가하여) 오브젝트의 하나 이상의 결정된 속성(들)에 기초하여 공식화된 쿼리에 응답하는 컨텐츠에 기초하여 식별될 수 있다. 쿼리는 선택 가능 요소의 선택에 응답하여 응답형 컨텐츠를 검색하기 위해 발행될 수 있거나, 그 선택 가능 요소의 선택 전에 발행될 수 있다. 또한, 응답형 컨텐츠에 기초한 오브젝트 데이터는 선택 가능 요소의 선택에 응답하여, 추가 출력으로 클라이언트 디바이스에서 청각적으로 또는 그래픽적으로 렌더링될 수 있다. 예를 들어, 오브젝트 데이터는 카메라로부터 렌더링된 실시간 이미지 피드와 함께 그래픽적으로 제시될 수 있다. 이러한 방식으로, 추가 출력은 선택된 대화 모드 및 처리된 이미지(들)의 오브젝트의 결정된 속성(들)에 맞춰진 오브젝트 데이터를 포함한다.
일부 구현들에서, 하나 이상의 컨텍스트 특징은 대화 모드(들)를 선택하고, 다수의 대화 모드(들)에 대한 선택 가능한 요소들에 대한 프리젠테이션 현저성을 결정하고 및/또는 오브젝트 데이터를 결정하는데 추가적으로 사용될 수 있다. 컨텍스트 특징은 예를 들어 컴퓨팅 디바이스의 위치, 시간, 요일, 카메라로부터 이미지에서 최근에 검출된 오브젝트(들)의 특징 등을 포함할 수 있다. 일 예로서, "가격 결정(pricing)" 대화 모드는 컴퓨팅 디바이스의 현재 위치가 "식료품 점"에 있는 경우 "식품 아이템"의 오브젝트 식별자에 기초하여 선택될 수 있는 반면, "가격 결정" 대화 모드는 현재 위치가 컴퓨팅 디바이스의 사용자에 대한 "홈" 위치인 경우 선택되지 않을 수 있다(또는 대응 선택 가능 요소가 덜 현저하게 제시될 수있다). 다른 예로서, 오브젝트 데이터를 결정하기 위해 발행된 쿼리는 컨텍스트 특징에 기초하여 추가로 생성될 수 있다(예를 들어, 컨텍스트 데이터에 기초한 용어(들)를 포함 함).
본 명세서에 개시된 구현의 하나의 특정 예로서, 클라이언트 디바이스의 카메라는 이미지를 캡처할 수 있다. 이미지는 큰 빨간 맛있는 사과(large Red Delicious apple)를 캡처할 수 있으며 "음식(food)", "사과(apple)"및 "빨간 맛있는(Red Delicious)"의 속성을 결정하기 위해 처리될 수 있다. "칼로리" 대화 모드는 하나 이상의 컴퓨터 판독 가능 매체에서 "음식" 속성과 연관되는 것으로 정의되는 "칼로리" 대화 모드에 기초하여, 복수의 이용 가능한 대화 모드의 그룹으로부터 선택될 수 있다. 그런 다음 "칼로리" 대화 모드에 해당하는 선택 가능 요소는 클라이언트 디바이스의 인터페이스에서 초기 출력으로 디스플레이될 수 있다. "칼로리" 선택 가능 요소의 선택에 응답하여, "칼로리" 대화 모드에 맞춰지고, "빨강 맛있는" 및 "사과" 속성에 더 맞춰진 추가 출력이 디스플레이될 수 있다. 예를 들어, "빨간 맛있는 사과의 칼로리"의 쿼리가 검색 엔진으로 전송될 수 있고, "72 칼로리"라는 응답이 수신되고 "72 칼로리"는 클라이언트 디바이스에 디스플레이될 수 있다. 예를 들어, 오브젝트 데이터는 카메라로부터 렌더링된 실시간 이미지 피드와 함께 그래픽으로 제시될 수 있다. 또한, 사용자는 그 후 카메라를 다른 음식 오브젝트로 향하게 하고 그 오브젝트에 대한 칼로리 정보를 수신할 수 있다. 예를 들어, 여전히 "칼로리" 모드에 있는 동안 카메라로 캡처된 추가 이미지는 바나나를 캡처할 수 있으며 "바나나" 속성을 결정하기 위해 처리될 수 있다. 추가 이미지에서 결정되는 "바나나" 속성에 기초하여, "바나나의 칼로리"의 쿼리가 검색 엔진으로 전송될 수 있고, "105 칼로리"라는 응답이 수신되고 "105 칼로리"는 클라이언트 디바이스에 디스플레이될 수 있다.
다양한 구현에서, 본 명세서에 기술된 전술한 및 다른 기술은 사용자가 자동화 어시스턴트와 상호 작용하고, 사용자가 어려운 타이핑 입력을 제공할 필요없이 및/또는 (예를 들어, 다른 개인이 근처에 있는 경우) 사용자가 프라이버시 우려(privacy concerns)를 유발할 수 있는 발화 입력을 제공할 필요없이 자동화 어시스턴트로부터 관련 출력을 얻을 수 있게 한다. 또한, 다양한 구현들은 다른 기술에 비해 관련 입력을 획득하기 위해 필요한 입력 수를 감소시킬 수 있는데, 이는 클라이언트 디바이스 계산 자원을 보존하고 및/또는 스피치 및/또는 기민성 문제가 있는 사용자를 지원할 수 있다. 또한, 본 명세서에 개시된 다양한 구현은 클라이언트 디바이스에서 로컬로 이미지의 처리를 수행하여 이미지에 포함된 오브젝트(들)의 속성(들)을 결정한다. 이러한 다양한 구현들 중 일부에서, 대화 모드의 선택 및/또는 원격 디바이스에서 발생하는 오브젝트 데이터의 결정은 이미지 자체에 대한 참조없이, 결정된 속성에 기초하여 발생할 수 있다. 이러한 방식으로, 대화 모드를 선택하고 및/또는 응답형 오브젝트 데이터를 획득하기 위해 디바이스로부터 이미지가 전송될 필요없이 이미지가 클라이언트 디바이스에서 유지될 수 있으며, 따라서 이미지의 보안을 향상시킨다.
일부 구현들에서, 하나 이상의 프로세서들에 의해 구현되는 방법이 설명된다. 이 방법은 컴퓨팅 디바이스의 카메라로부터 실시간 이미지 피드로 그래픽적으로 표현된 오브젝트에 대한 오브젝트 식별자를 생성하는 단계를 포함할 수 있다. 실시간 이미지 피드는 컴퓨팅 디바이스의 인터페이스에 디스플레이될 수 있고, 상기 오브젝트 식별자를 생성하는 단계는 실시간 이미지 피드로부터 하나 이상의 이미지를 처리하는 단계를 포함할 수 있다. 이 방법은 또한 생성된 오브젝트 식별자에 기초하여, 컴퓨팅 디바이스의 카메라를 통해 어시스턴트 애플리케이션과 상호 작용하기 위해 복수의 대화 모드로부터 대화 모드를 선택하는 단계를 포함할 수 있다. 또한, 이 방법은 대화 모드의 선택에 응답하여, 선택된 대화 모드에 대응하는 선택 가능 요소가 컴퓨팅 디바이스의 인터페이스에 디스플레이되게 하는 단계를 포함할 수 있다. 이 방법은 인터페이스에서, 상기 선택 가능 요소의 선택을 수신하는 단계와, 상기 오브젝트 식별자에 의해 식별된 오브젝트와 관련된 데이터를 검색하기 위해 쿼리가 전송되게 하는 단계와, 상기 선택을 수신하는 것에 응답하여 데이터가 인터페이스에 디스플레이되게 하는 단계를 포함한다.
일부 구현들에서, 방법은 실시간 이미지 피드가 인터페이스에서 디스플레이될 때, 상기 인터페이스에서 오브젝트의 그래픽 표현의 선택을 수신하는 단계를 포함할 수 있다. 또한, 상기 오브젝트 식별자를 생성하는 단계는 오브젝트의 그래픽 표현의 선택을 수신하는 것에 응답할 수 있다. 상기 데이터는 오브젝트의 그래픽 표현을 디스플레이하는 인터페이스와 동시에 디스플레이될 수 있다. 상기 선택 가능 요소는 어시스턴트 애플리케이션이 데이터를 제공하는 이미지 대화 모드를 식별할 수 있다. 일부 구현들에서, 방법은 이미지 데이터와 관련된 컨텍스트 데이터를 결정하는 단계를 포함할 수 있다. 이러한 방식으로, 이미지 대화 모드를 선택하는 단계는 컨텍스트 데이터에 더 기초할 수 있다. 상기 컨텍스트 데이터는 컴퓨팅 디바이스의 위치를 식별하는 지리적 위치 데이터를 포함할 수 있다. 상기 텍스트 데이터는 카메라에 의해 실시간 이미지 피드가 생성되는 시간을 포함할 수 있다.
또 다른 구현에서, 시스템은 카메라와, 디스플레이 디바이스와, 상기 디스플레이 디바이스 및 카메라와 통신하는 하나 이상의 프로세서와 메모리를 포함하는 것으로 설명된다. 상기 메모리는 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 카메라로부터 이미지 데이터를 수신하는 단계를 포함하는 단계들을 수행하게 하는 명령들을 저장하도록 구성될 수 있다. 이미지 데이터는 카메라의 시야에 존재하는 오브젝트를 포함하거나 캡처할 수 있다. 상기 단계들은 이미지 데이터를 처리하는 것에 기초하여, 오브젝트에 대한 오브젝트 식별자를 결정하는 단계와, 선택 가능 요소가 디스플레이 디바이스에서 그래픽적으로 표현되게 하는 단계를 포함할 수 있다. 상기 선택 가능 요소는 카메라를 사용하여 어시스턴트 애플리케이션과 상호 작용하기 위한 대화 모드를 식별할 수 있다. 상기 단계들은 선택 가능 요소의 선택을 수신하는 단계와, 상기 수신된 선택에 대응하는 오브젝트 식별자 및 선택 식별자를 상기 오브젝트 식별자 및 선택 식별자에 기초하여 오브젝트 데이터를 제공하도록 구성된 하나 이상의 원격 디바이스로 전송하는 단계를 더 포함할 수 있다. 상기 단계들은 또한 하나 이상의 원격 디바이스로부터 오브젝트 데이터를 수신하는 단계와; 상기 오브젝트 데이터가 카메라의 시야 내에 존재하는 오브젝트와 동시에 디스플레이 디바이스에서 그래픽적으로 표현되게 하는 단계를 포함할 수 있다. 상기 오브젝트는 하나 이상의 원격 디바이스에서 이용 가능한 상이한 유형의 오브젝트 데이터와 연관될 수 있고, 상기 대화 모드는 어시스턴트 애플리케이션에 의해 디스플레이 디바이스에서 표현될 적어도 하나의 유형의 오브젝트 데이터와 연관될 수 있다. 일부 구현들에서, 상기 단계들은, 카메라의 시야에 다른 오브젝트가 제시되는 것에 응답하여, 상기 다른 오브젝트 데이터가 디스플레이 디바이스에서 그래픽적으로 표현되게 하는 단게를 포함할 수 있다. 상기 다른 오브젝트 데이터는 대화 모드와 관련된 적어도 하나의 유형의 오브젝트 데이터에 대응할 수 있다. 일부 구현들에서, 상기 단계들은 다른 오브젝트가 카메라의 시야에 제시되는 것에 응답하여, 다른 선택 가능 요소가 디스플레이 디바이스에서 그래픽으로 표현되게 하는 단계를 포함할 수 있다. 상기 다른 선택 가능 요소는 카메라를 사용하여 어시스턴트 애플리케이션과 상호 작용할 수 있는 다른 대화 모드를 식별할 수 있다.
또 다른 구현에서, 비-일시적 컴퓨터 판독 가능 매체가 개시된다. 비-일시적 컴퓨터 판독 가능 매체는, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 어시스턴트 애플리케이션이 컴퓨팅 디바이스의 카메라에 의해 제공되는 실시간 이미지 피드에 응답하는 이미지 대화 모드에서 어시스턴트 애플리케이션을 동작시키는 단계를 포함하는 단계를 수행하게 하는 명령들을 저장할 수 있다. 상기 단계들은 어시스턴트 애플리케이션이 상기 이미지 피드가 디스플레이되는 컴퓨팅 디바이스의 인터페이스에 오브젝트 데이터를 제공하게 하는 단계를 포함할 수 있다. 상기 오브젝트 데이터는 이미지 피드에 그래픽으로 표현된 제 1 오브젝트 및 상기 이미지 대화 모드와 관련된 데이터 유형에 대응할 수 잇다. 상기 단계들은 인터페이스에서, 상기 카메라가 지향하는 제 2 오브젝트의 그래픽 표현의 선택을 수신하는 단계와, 상기 어시스턴트 애플리케이션이 상기 컴퓨팅 디바이스의 인터페이스에서 다른 오브젝트 데이터를 제공하게 하는 단계를 더 포함할 수 있다. 상기 다른 오브젝트 데이터는 이미지 대화 모드와 관련된 데이터 유형에 대응할 수 잇다. 일부 구현들에서, 상기 단계들은 이미지 피드와 관련된 컨텍스트 데이터를 생성하는 단계와, 컨텍스트 데이터에 따라 데이터 유형을 선택하는 단계를 포함할 수 있다. 상기 데이터 유형에는 금전 데이터, 영양 데이터 및/또는 사실 데이터가 포함될 수 있다. 상기 컨텍스트 데이터는 컴퓨팅 디바이스와 관련된 지리적 위치 데이터 및/또는 이미지 피드와 관련된 시간 데이터를 포함할 수 있다.
일부 구현들에서, 상기 단계들은 어시스턴트 애플리케이션이 제 2 오브젝트의 그래픽 표현의 선택의 수신에 응답하여 다른 오브젝트 데이터에 대한 제 3 자 에이전트 애플리케이션을 쿼리하게 하는 단계를 포함할 수 있다. 다른 구현에서, 어시스턴트 애플리케이션이 제 3 자 에이전트 애플리케이션을 쿼리하게 하는 단계는 다른 오브젝트에 대응하는 오브젝트 식별자가 제 3 자 에이전트 애플리케이션을 호스팅하는 원격 디바이스로 전송되게 하는 단계를 포함할 수 있다. 상기 인터페이스는 터치 스크린 디스플레이이고, 상기 제 2 오브젝트의 그래픽 표현의 선택은 터치 스크린 디스플레이에서의 터치 입력일 수 있다. 상기 단계들은 어시스턴트 애플리케이션이 컴퓨팅 디바이스의 인터페이스에서 선택 가능 요소를 제공하게 하는 단계를 더 포함하고, 상기 선택 가능 요소는 어시스턴트 애플리케이션을 통해 이용 가능한 다른 이미지 대화 모드를 식별할 수 잇다.
또한, 일부 구현예는 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서를 포함하며, 하나 이상의 프로세서는 관련 메모리에 저장된 명령들을 실행하도록 동작 가능하고, 상기 명령들은 본 명세서에 설명된 하나 이상의 방법을 수행하도록 구성된다. 프로세서는 하나 이상의 그래픽 처리 장치(GPU), 중앙 처리 장치(CPU) 및/또는 텐서 처리 장치(TPU)를 포함할 수 있다. 일부 구현예는 본 명세서에 설명된 하나 이상의 방법을 수행하기 위해 하나 이상의 프로세서에 의해 실행 가능한 컴퓨터 명령들을 저장하는 하나 이상의 비-일시적 컴퓨터 판독 가능 저장 매체를 포함한다.
본 명세서에서 더 상세하게 설명된 전술한 개념 및 추가 개념의 모든 조합은 본 명세서에 개시된 주제의 일부인 것으로 고려된다는 것을 이해해야 한다. 예를 들어, 본 개시의 끝에 나타나는 청구된 주제의 모든 조합은 본 명세서에 개시된 주제의 일부인 것으로 고려된다.
도 1은 다양한 이미지 대화 모드에서 동작 가능한 자동화 어시스턴트 애플리케이션을 제공하기 위한 시스템을 도시한다.
도 2a는 다수의 상이한 이미지 대화 모드에서 동작할 수 있는 자동화 어시스턴트 애플리케이션을 포함하거나 액세스하는 컴퓨팅 디바이스의 뷰를 도시한다.
도 2b는 이미지 대화 모드에서 동작하는 컴퓨팅 디바이스의 뷰를 도시한다.
도 3a는 컨텍스트 데이터 및 이미지 데이터를 사용하여 데이터를 제공 및/또는 특정 컨트롤들을 실행할 수 있는 자동화 어시스턴트 애플리케이션을 동작시키는 컴퓨팅 디바이스의 뷰를 도시한다.
도 3b는 사용자가 카메라를 오브젝트로 지향할 때 오브젝트의 가격 결정이 인터페이스에 제시되는 가격 결정 이미지 대화 모드에서 자동화 어시스턴트를 동작시키는 컴퓨팅 디바이스의 뷰를 도시한다.
도 4는 컴퓨팅 디바이스의 카메라에 의해 제공되는 실시간 이미지 피드로부터의 이미지 데이터를 사용하여 자동화 어시스턴트 애플리케이션과 상호 작용하는 방법을 도시한다.
도 5는 컴퓨팅 디바이스의 카메라가 지향되는 오브젝트에 기초하여 컴퓨팅 디바이스의 인터페이스에서 오브젝트 데이터를 제공하는 방법을 도시한다.
도 6은 예시적인 컴퓨터 시스템의 블록도이다.
본 명세서에 개시된 다양한 구현에서, 특정 오브젝트가 클라이언트 디바이스의 카메라의 가시 범위 내에 제공되는 것에 응답하여 클라이언트 디바이스에서 특정 정보가 (예를 들어, 청각적 및/또는 그래픽적으로) 제시될 수 있게 할 수 있는 자동화 어시스턴트가 제공된다. 일부 구현들에서, 자동화 어시스턴트는 원격 디바이스(예를 들어, 원격 서버)의 계산 자원을 활용하여 카메라로부터의 이미지들을 처리하여 이미지에서 특정 오브젝트를 식별할 수 있다. 이에 응답하여, 원격 디바이스 또는 자동화 어시스턴트는 기능을 제안하고 및/또는 식별된 오브젝트들과 관련된 젱보를 제공할 수 있다. 예를 들어, 특정 오브젝트가 이미지에서 식별될 때, 자동화 어시스턴트는 유사한 오브젝트들에 대해 설정된 사전 결정된 프로세스(예를 들어, 특정 오브젝트의 분류(들)에 부합하는 임의의 오브젝트에 대해 설정된 프로세스)에 따라 응답할 수 있다. 예를 들어, 사용자는 구두 명령 또는 다른 인터페이스 입력을 통해, 카메라가 하나 이상의 특정 속성을 갖는 오브젝트를 향할 때 특정 정보를 제공하기 위해 자동화 어시스턴트에 대한 선호도를 생성할 수 있다(예를 들어, "어시스턴트, 내가 자동차로 카메라를 향할 때 자동차에 대한 경쟁 가격 결정 옵션을 보여 주겠니"(여기서 특정 속성은 "자동차"의 분류이다)). 부가적으로 또는 대안적으로, 자동화 어시스턴트는 그 자동화 어시스턴트를 생성한 당사자에 의해 및/또는 다른 사용자에 의해 생성된 구성을 사용하여 사전 구성될 수 있다. 예를 들어, 하나 이상의 사용자가 그들의 카메라에 의해 보여지는 특정 오브젝트들에 특정 방식으로 응답하기 위해 자동화 어시스턴트에 대한 기본 설정을 만드는 경우, 그 기본 설정을 다른 자동화 어시스턴트에서 사전 구성되거나 그와 공유될 수 있다. 제조자 또는 제 3자는 자동화 어시스턴트가 컴퓨팅 디바이스 카메라의 가시 범위 내에 존재하는 특정 오브젝트에 응답하는 이미지 대화 모드에 따라 작동하도록 자동화 어시스턴트를 구성할 수 있다.
자동화 어시스턴트를 채용하는 컴퓨팅 디바이스는 웨어러블 디바이스, 셀룰러 디바이스, 태블릿 컴퓨터 및/또는 자동화 어시스턴트를 호스팅할 수 있는 임의의 다른 디바이스일 수 있다. 일부 구현들에서, 컴퓨팅 디바이스는 적어도 마이크로폰, 디스플레이(예를 들어, 터치 디스플레이) 및 원격 디바이스에 의해 처리될 이미지를 수집하기 위한 카메라를 포함할 수 있다. 사용자는 카메라 애플리케이션, 자동화 어시스턴트 애플리케이션 및/또는 카메라에 의해 캡처된 이미지를 처리할 수 있는 임의의 애플리케이션을 통해 자동화 어시스턴트를 깨울 수 있다. 예를 들어, 카메라 애플리케이션을 작동시키는 동안, 사용자는 카메라를 음식 아이템(예를 들어, 사과)을 향하게 하여, 음식 아이템의 이미지가 컴퓨팅 디바이스의 디스플레이에 그래픽적으로 제시되게 할 수 있다. 이미지는 이미지에 포함된 오브젝트(들)의 특징(들)을 식별하기 위해 컴퓨팅 디바이스에서 처리되고 및/또는 원격 처리를 위해 원격 디바이스로 전송될 수 있다. 예를 들어, 오브젝트 식별자는 컴퓨팅 디바이스로 다시 전송되거나(이미지가 원격으로 처리되는 경우) 컴퓨팅 디바이스에서 생성될 수 있고(이미지가 로컬로 처리되는 경우), 자동화 어시스턴트에서 사용되어 사용자를 지원하기 위한 대화 모드의 제안을 제공할 수 있다.
하나의 특정 예로서, 이미지의 처리에 기초하여 식별된 오브젝트 식별자는 그 이미지 내의 오브젝트가 음식임을 나타낼 수 있고, 제안은 음식과 관련된 대화 모드를 식별할 수 있다. 예를 들어, 터치 디스플레이는 다수의 선택 가능한 요소를 제시할 수 있는데, 각각의 선택 가능한 요소는 "음식" 오브젝트 식별자에 기초하여 선택된 대화 모드(예를 들어, 칼로리 모드, 영양 모드, 가격 모드 등)를 식별하는 대응하는 텍스트 및/또는 다른 표시를 포함한다. 사용자가 오브젝트 식별자와 관련된 대화 모드들 중 하나를 선택하는 것에 응답하여, 자동화 어시스턴트는 선택된 대화 모드에 기초하는 컨텐츠가 제공되게 할 수 있다. 예를 들어, 사용자가 칼로리 모드를 선택하는 경우, 자동화 어시스턴트는 칼로리 정보가 디스플레이에 제시되고 및/또는 청각적으로 렌더링되게 할 수 있다. 예를 들어, 자동화 어시스턴트는 "사과에 95 칼로리가 있습니다"가 디스플레이 및/또는 청각적으로 제시되게 할 수 있는데, 여기서 칼로리 정보는 선택된 "칼로리 모드"에 기초하여 제공되고, 오브젝트가 "사과"임을 나타내는 그 오브젝트에 대한 추가 오브젝트 식별자에 기초하여 "사과"의 칼로리 함량에 맞게 조정된다. 추가 오브젝트 식별자는 또한 이미지 및/또는 추가 이미지의 처리를 통해 로컬 또는 원격으로 생성될 수 있다. 칼로리 정보는 컴퓨팅 디바이스에서 또한 디스플레이되는 카메라로부터의 실시간 이미지 피드와 동시에 컴퓨팅 디바이스에 의해 렌더링될 수 있다. 이들 및 다른 방식으로, 사용자는 자동화 어시스턴트를 구두로 쿼리(질의)할 필요없이, 자동화 어시스턴트가 다른 음식들에 대한 칼로리 정보를 제시하게 하기 위해 카메라를 다른 음식 아이템으로 지향시킬 수 있다. 예를 들어, 칼로리 모드가 선택된 동안, 사용자는 사과에 대한 칼로리 정보가 제시되도록 카메라를 사과에 포인팅한 다음 바나나에 카메라를 재지향하여 바나나에 관한 칼로리 정보가 제시되게 할 수 있다. 예를 들어, 바나나에 관한 칼로리 정보는 선택된 "칼로리 모드"에 기초하여 제시될 수 있고, 카메라가 바나나를 지향하는 동안 캡처되는 추가 이미지에 기초하여 "바나나"의 칼로리 함량에 맞게 조정될 수 있고, 추가 이미지에 기초하여 "바나나"의 오브젝트 식별자가 생성될 수 있다.
일부 구현들에서, 카메라의 시야에서 상이한 오브젝트들에 대응하는 대화 모드가 제시될 수 있다. 다시 말해서, 오브젝트들이 카테고리적으로 상이하더라도, 사용자에게 그 상이한 오브젝트들과 관련된 제안 요소가 제시될 수 있다. 예를 들어, 사용자는 컴퓨팅 디바이스의 카메라를 식당, 주차된 차 및 스카이 라인을 포함하는 거리로 향하게 포인팅할 수 있다. 전술한 오브젝트들을 포함하는 이미지는 각각의 오브젝트에 대한 오브젝트 식별자(들)를 제공하기 위해 컴퓨팅 디바이스 또는 원격 디바이스에 의해 처리될 수 있다. 일부 구현들에서, 자동화 어시스턴트는 사용자에게 그들이 관심있는 오브젝트를 식별하도록 쿼리할 수 있다(예를 들어, "관심있는 오브젝트를 "탭"). 이에 응답하여, 사용자는 오브젝트가 그래픽적로 제시되는 영역에서 터치 디스플레이를 탭하거나, 그렇지 않으면 자동화 어시스턴트에게 그들이 특정 오브젝트(예를 들어, 식당)에 관심이 있다는 것을 지시할 수 있다.
사용자가 탭한 위치는 그 위치에 있는 오브젝트의 오브젝트 식별자(들)에 매핑될 수 있고, 이에 응답하여, 자동화 어시스턴트는 선택된 위치의 오브젝트 식별자(들)와 관련된 대화 모드를 초기화하기 위해 제안 요소가 터치 디스플레이에 제시되게 할 수 있다. 예를 들어, 선택된 위치가 "레스토랑" 오브젝트 식별자에 매핑되는 경우, 터치 디스플레이에 있는 사용자에게 제시된 제안 요소는 식당 리뷰 모드, 소셜 이벤트 모드, 재미있는 사실(fun facts) 모드, 및/또는 "레스토랑" 오브젝트 식별자와 관련된 임의의 다른 모드에 대응할 수 있다. 사용자가 식당 리뷰 모드를 선택하면, 자동화 어시스턴트는 사용자가 카메라를 지향하는 식당에 따라 식당 리뷰(들)가 터치 디스플레이에 제시되게 할 수 있다. 예를 들어, 이미지에 현재 캡처된 특정 레스토랑은 이미지 프로세싱에 기초하여(예를 들어, 이미지에서 레스토랑의 이름 및/또는 로고를 포함하는 텍스트의 인식에 기초하여) 및/또는 다른 컨텍스트 단서에 기초하여(예를 들어, 컴퓨팅 디바이스의 현재 위치에 기초하여) 식별될 수 있다. 또한, 특정 레스토랑과 관련된 하나 이상의 리뷰들은 다양한 소스(예를 들어, 레스토랑 리뷰 웹 사이트 및 애플리케이션), 및 그 리뷰들과 관련된 레스토랑으로 카메라가 지향되는 것과 동시에 터치 디스플레이에 디스플레이하기 위해 제공된 리뷰(들)의 스니펫(snippet)으로부터 수집될 수 있다.
일부 구현들에서, 사용자에게 이용 가능한 대화 모드는 랜덤 사실(fact) 모드, 가격 비교 모드, 리뷰 모드, 영양 모드, 사양 모드 및/또는 이미지의 오브젝트의 세부 사항이 제시될 수 있는 다른 모드를 포함할 수 있다. 예를 들어, 사용자가 랜덤 사실 모드를 선택하는 경우, 사용자는 컴퓨팅 디바이스의 카메라를 오브젝트로 지향하여 자동화 어시스턴트로 하여금 그 오브젝트에 관한 랜덤 사실을 제시하게 할 수 있다. 일부 구현들에서, 랜덤 사실은 카메라를 제어하고 있는 카메라 애플리케이션과 관련된 백그라운드 프로세스로서 자동화 어시스턴트에 의해 초기화되는 웹 쿼리를 사용하여 자동화 어시스턴트에 의해 생성될 수 있다. 백그라운드 프로세스는 이미지의 오브젝트에 대한 오브젝트 식별자(들)를 결정하는 단계와, 오브젝트 식별자(들)에 기초하고 선택된 대화 모드에 선택적으로 기초하여 쿼리를 생성하는 단계와; 그리고 그 쿼리에 응답하는 검색 결과(들)에 기초하여 오브젝트에 관한 랜덤 사실을 식별하는 단계를 포함할 수 있다. 그런 다음 랜덤 사실은 카메라 애플리케이션과의 인터페이스에서 제시될 수 있다. 일부 구현들에서, 결과는 웹 검색 결과들을 포함하고, 랜덤 사실은 웹 검색 결과들 중 하나(예를 들어, 웹 검색 결과들 중 하나로부터의 스니펫)에 기초하여 생성된다. 일부 구현들에서, 쿼리는 복수의 엔티티, 및 각각의 엔티티에 대해, 엔티티의 특성 및/또는 다른 엔티티들에 대한 그 엔티티들의 관계(들)를 정의하는 지식 그래프 또는 다른 데이터베이스에 대해 발행된다. 예를 들어, 쿼리는 이미지 처리를 통해 결정된 특정 엔티티, 그 특정 엔티티에 대응하는 것으로 식별된 지식 그래프의 노드 및 그 지식 그래프의 엔티티에 할당된 속성인 "결과"에 기초하여 생성된 랜덤 사실을 정의할 수 있다. 예를 들어, 특정 엔티티가 특정 식당인 경우, 랜덤 사실은, 지식 그래프에서 특정 레스토랑에 대해, (예를 들어, "에지"를 통해) 노드에 매핑되는 "제 1 개점 날짜" 속성 노드로 정의된 바와 같이, 레스토랑에 대한 "제 1 개점 날짜"일 수 있다.
사용자가 가격 모드를 선택하면, 사용자는 컴퓨팅 디바이스의 카메라를 오브젝트로 향하게 하여, 자동화 어시스턴트가 그 오브젝트에 대한 하나 이상의 가격을 제시하게 할 수 있다. 예를 들어, 자동화 어시스턴트는 오브젝트를 처리하고 식별하기 위해 오브젝트를 포함하는 이미지를 원격 디바이스로 전송할 수 있다. 오브젝트에 대한 식별자는 원격 디바이스에서 생성되어 컴퓨팅 디바이스로 다시 전송될 수 있고, 자동화 어시스턴트는 오브젝트 식별자를 사용하여 오브젝트에 대한 가격을 식별하기 위한 가격 쿼리를 수행할 수 있다. 대안적으로, 자동화 어시스턴트는 가격 쿼리를 갖는 이미지를 전송하여, 원격 디바이스로 하여금 오브젝트에 대한 식별자를 생성하고, 그 식별자를 사용하여 오브젝트에 대한 가격을 식별하고, 그 가격을 컴퓨팅 디바이스로 다시 전송하게 하루수 있다. 자동화 어시스턴트는 가격 쿼리의 결과 가격을 카메라 애플리케이션의 인터페이스에서 프리젠테이션에 사용할 수 있다. 예를 들어, 사용자가 카메라를 오브젝트(예를 들어, 자동차)로 향하는 동안, 오브젝트에 대한 복수의 가격이 오브젝트의 그래픽 표현에 인접하여 제시될 수 있다. 또한, 사용자는 자동화 어시스턴트가 카메라의 가시 범위 내에 있는 다른 오브젝트에 대한 가격을 실시간으로 제공하게 하기 위해 카메라를 다른 오브젝트로 시프트할 수 있다.
일부 구현들에서, 카메라 사용의 컨텍스트는 대화 모드의 기초로서 추가로 또는 대안적으로 사용될 수 있다. 컨텍스트는 사용자의 위치(예를 들어, 사용자의 컴퓨팅 디바이스의 위치에 의해 표시된 바와 같이), 카메라 사용 시간, 사용자 근처의 사람들과 관련된 데이터, 사용자에 의해 수행되는 다른 액션, 및/또는 사용자가 자동화 어시스턴트자와 상호 작용할 수 있는 임의의 다른 컨텍스트일 수 있다. 일부 구현들에서, 사용자의 위치는 사용자가 카메라를 오브젝트로 향할 때 사용자에게 제안된 대화 모드(들)를 선택하는데 사용될 수 있다. 예를 들어, 사용자가 식당에 있고 식사(meal)를 제공받은 경우, 사용자는 식사에 컴퓨팅 디바이스의 카메라를 지향할 수 있다. 이에 응답하여, 자동화 어시스턴트는 식사의 이미지를 사용하여 이미지 내의 오브젝트(들)를 식별하고(예를 들어, 식사의 음식 아이템), 오브젝트(들) 및 사용자의 위치를 사용하여 사용자에게 제안할 대화 모드를 선택할 수 있다. 예를 들어, 자동화 어시스턴트는 사용자가 식당에 있고 이미 음식을 받았기 때문에 가격 모드를 필터링하거나 선택하지 않을 수 있으므로, 사용자는 음식의 가격을 보는 것에 관심이 없을 것이다. 그러나, 사용자는 식사를 평가하여 아마도 칼로리 소비를 추적하기 위해 영양 모드 및/또는 칼로리 모드에 관심이 있을 수 있다. 그 결과로 선택된 대화 모드는 사용자가 식사에 카메라를 지향하는 동안 사용자에게 제안될 수 있다. 사용자가 영양 모드를 선택하면, 자동화 어시스턴트가 사용자에게 식사 중에 오브젝트를 탭하도록 안내할 수 있다(예를 들어, 영양을 보고 싶은 음식 아이템을 탭하세요 ?"). 예를 들어, 사용자는 자신의 접시에 담긴 구운 감자를 그래픽 표현을 탭할 수 있고, 이에 응답하여 자동화 어시스턴트는 구운 감자에 관한 영양 정보(예를 들어, "철 6%, 아연 20%, ...")를 제공할 수 있다. 일부 구현들에서, 자동화 어시스턴트는 그 부분의 크기(예를 들어, 작은 구운 감자, 중간 구운 감자, 큰 구운 감자 등)를 결정하여 그 부분의 크기에 따라 영양 정보 및/또는 칼로리 정보를 제공할 수 있다.
추가적인 또는 대안적인 구현에서, 사용자가 카메라를 조작하고 있는 컨텍스트는 자동화 어시스턴트에 의해 대화 모드에 대한 정보의 소스를 결정하거나 필터링하는데 사용될 수 있다. 예를 들어, 국제적으로 여행하는 사용자는 자동화 어시스턴트가 자동화 어시스턴트의 사실 대화 모드에서 작동하는 동안 흥미로운 사실을 제공하기 위해 카메라를 관심 랜드 마크로 향하게 할 수 있다. 자동화 어시스턴트는 (예를 들어, 지리 위치 데이터 및/또는 캘린더 데이터를 사용하여) 사용자가 휴가 중 집에서 떨어져 있다고 결정하고, 사실 대화 모드의 컨텍스트로서 휴가 위치를 선택할 수 있다. 결과적으로, 사용자가 카메라를 오브젝트로 향하고 있을 때 사용자에게 제시되는 사실은 휴가 위치와 관련된 소스로부터 온 것일 수 있다. 예를 들어, 휴가를 위해 국립 공원으로 여행하는 사용자는 카메라를 국립 공원 내의 랜드 마크로 항하게 할 수 있다. 랜드 마크는 예를 들어 국립 공원 내의 매우 큰 산일 수 있다. 필터링되지 않은 다양한 소스에서 산에 관한 사실을 수집하는 대신에, 자동화 어시스턴트는 이미지의 컨텍스트(예를 들어, 사용자가 국립 공원에서 휴가를 보내고 있다는)을 사용하여 그 산과 관련하여 더 상황에 맞는 사실의 소스를 식별할 수 있다. 예를 들어, 레이니어 산(Mount Rainer) 국립 공원에서 휴가를 보내는 동안 레이니어 산에서 카메라를 지향하는 사용자는 비-활동 관련 정보("레이니어 산의 높이는 14411 피트입니다")를 수신하는 대신, 레이니어 산 근처에서 해야 할 활동에 대한 정보(예를 들어, "원더랜드 트레일(Wonderland Trail)은 레이니어 산의 정상을 우회하는 93 마일 트레일입니다")를 수신할 수 있다. 이러한 방식으로, 사용자는 이러한 활동들을 찾기 위해 특정 구두(verbal) 또는 텍스트 제스처를 제공한은 대신, 공원 내에 있고 공원의 다양한 랜드 마크에서 카메라를 지향하여 공원에서 해야 할 활동들을 찾을 수 있다.
이제 도면을 참조하면, 도 1은 다양한 이미지 대화 모드에서 동작 가능한 자동화 어시스턴트 애플리케이션을 제공하기 위한 시스템(100)을 도시한다. 시스템(100)은 셀룰러 디바이스, 태블릿 디바이스, 웨어러블 디바이스, 개인용 컴퓨터, 및/또는 이미지를 캡처하기 위해 카메라를 채용할 수 있는 임의의 다른 디바이스 일 수 있는 컴퓨팅 디바이스(102)를 포함할 수 있다. 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102) 또는 원격 디바이스(112)로 처리하기 위한 사진 및/또는 비디오를 캡처할 수 있는 카메라(106)를 포함할 수 있다. 컴퓨팅 디바이스(102)는 카메라(106)에 의해 제공된 이미지 데이터에 기초하여 실시간 이미지 피드를 제공할 수 있는 디스플레이 디바이스(108)를 더 포함할 수 있다. 일부 구현들에서, 디스플레이 디바이스(108)는 터치 감지식이고 사용자가 컴퓨팅 디바이스(102)의 다양한 애플리케이션과 상호 작용하기 위한 터치 인터페이스를 제공한다는 점에서 터치 디스플레이이다.
일부 구현들에서, 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102) 및/또는 서버 디바이스(112)상의 어시스턴트 애플리케이션(118)과 관련된 애플리케이션 인터페이스일 수 있는 어시스턴트 인터페이스(110)를 포함할 수 있다. 다양한 구현에서, 어시스턴트 애플리케이션(118)의 전부 또는 양태는 컴퓨팅 디바이스(102)에서 구현될 수 있다. 이들 구현들 중 일부에서, 어시스턴트 애플리케이션(118)의 양태는 컴퓨팅 디바이스(102)의 로컬 어시스턴트 애플리케이션을 통해 구현되고, 어시스턴트자의 다른 양태를 구현하는 서버 디바이스(112)와 인터페이스한다. 서버 디바이스(112)는 복수의 스레드를 통해 복수의 사용자 및 관련 어시스턴트 애플리케이션을 선택적으로 서비스할 수 있다. 어시스턴트 애플리케이션(118)의 전부 또는 양태가 컴퓨팅 디바이스(102)의 로컬 어시스턴트 애플리케이션을 통해 구현되는 구현에서, 로컬 어시스턴트 애플리케이션은 컴퓨팅 디바이스(102)의 운영 체제와 분리된(예를 들어, 운영 체제의 "상부"에 설치된) 애플리케이션일 수 있거나 대안적으로 컴퓨팅 디바이스(102)의 운영 체제에 의해 직접 구현될 수 있다(예를 들어, 운영 체제의 애플리케이션으로 간주되지만 운영 체제와 통합됨).
어시스턴트 애플리케이션(118)은 어시스턴트 인터페이스(110)를 통해 구두 및/또는 텍스트 커맨드를 수신할 수 있는 자동화 어시스턴트 애플리케이션이다. 커맨드를 수신하는 것에 응답하여, 어시스턴트 애플리케이션(118)은 데이터를 제공하고, 애플리케이션 기능을 수행하고, 제 3 자 에이전트와 통신하고, 주변 디바이스를 제어하고 및/또는 컴퓨팅 디바이스에 의해 실행하기에 적합한 임의의 커맨드를 수행할 수 있다. 예를 들어, 어시스턴트 인터페이스(110)는 구두 커맨드를 수신하는 마이크로폰일 수 있으며, 이는 오디오 데이터로 변환되고 적절한 응답을 결정하기 위해 처리될 수 있다. 오디오 데이터는 컴퓨팅 디바이스(102) 또는 서버 디바이스(112)에서 처리될 수 있다. 예를 들어, 서버 디바이스(112)는 컴퓨팅 디바이스(102)로부터 수신된 오디오 데이터를 처리하기 위한 음성-텍스트 변환 엔진(116)을 포함할 수 있다. 음성-텍스트 변환 엔진(116)은 오디오 데이터를 수신하고, 오디오 데이터 내의 음성(speech)을 식별하고, 어시스턴트 애플리케이션(118)과 같은 다른 애플리케이션이 음성 텍스트를 사용할 수 있도록 그 음성을 텍스트 형태로 출력하도록 동작할 수 있다.
어시스턴트 애플리케이션(118)은 하나 이상의 이미지 대화 모드(120)에 따라 동작할 수 있다. 이미지 대화 모드(120)는 어시스턴트 애플리케이션(118)이 컴퓨팅 디바이스(102)의 카메라(106)로부터의 이미지 데이터에 응답하는 동작 모드에 해당한다. 또한, 이미지 대화 모드(120)에서 동작하는 동안, 어시스턴트 애플리케이션 (118)은 어시스턴트 인터페이스(110)(예를 들어, 디스플레이 디바이스(108)에서 제공된 그래픽 사용자 인터페이스)에 대한 동적 변경을 야기하여, 이미지 데이터가 카메라에 의해 제공되는 동안 사용자가 어시스턴트 애플리케이션(118)과 상호 작용할 수 있게 한다. 예를 들어, 컴퓨팅 디바이스(102)에서 카메라 애플리케이션을 작동하는 동안, 어시스턴트 인터페이스(110)는 카메라(106)로부터의 실시간 이미지 피드와 함께 디스플레이될 수 있다. 어시스턴트 인터페이스(110)는 이미지 대화 모드(예를 들어, "영양 모드", "가격 모드", "사실 모드", ""무엇에 관심이 있으십니까 ?)를 초기화하도록 사용자를 초대하는 텍스트 및/또는 다른 표시를 갖는 하나 이상의 선택 가능 요소를 포함할 수 있다. 사용자가 선택 가능 요소를 선택할 때, 그 선택 가능 요소의 이미지 대화 모드와 관련되고 이미지 내의 오브젝트와 관련된 데이터는 컴퓨팅 디바이스(102)의 사용자에게 제시하기 위해 어시스턴트 인터페이스(110)를 통해 그래픽적으로 및/또는 청각적으로 렌더링될 수 있다. 본 명세서에 기술된 바와 같이, 사용자에게 제시된 선택 가능 요소(들)는 카메라(106)에 의해 캡처된 이미지(들)에서 캡처된 오브젝트의 오브젝트 식별자에 기초하여 선택될 수 있고, 렌더링된 데이터는 오브젝트의 오브젝트 식별자(들)(선택 가능 요소(들) 및/또는 식별된 추가 오브젝트를 선택하는데 사용된 동일한 오브젝트 식별자(들))에 기초하여 결정될 수 있다. 이미지의 오브젝트 식별자(들)는 컴퓨팅 디바이스(102) 또는 서버 디바이스(112)에 제공될 수 있는 이미지 처리 엔진(114)에 의한 이미지 처리에 기초하여 식별될 수 있다.
이미지 처리 엔진(114)은 카메라(106)로부터 이미지를 수신하여 이미지 대화 모드(120)와 관련될 수 있는 이미지 내의 오브젝트(들)의 오브젝트 식별자(들)를 식별하기 위해 이미지를 처리할 수 있다. 이미지 처리 엔진(114)은 카메라(106)에 의해 캡처된 이미지내의 오브젝트에 대응하는 오브젝트 식별자를 결정하기 위해 하나 이상의 이미지 처리 기술을 이용할 수 있다. 예를 들어, 이미지 처리 엔진(114)은 컴퓨터 비전 알고리즘을 사용하여 이미지에서 그래픽적으로 표현되는 유형(tangible)의 오브젝트를 식별하고, 그 유형의 오브젝트에 대응하는 오브젝트 식별자를 생성할 수 있다. 또한, 예를 들어, 이미지 처리 엔진(114)은 이미지를 입력으로서 수용하고, 학습된 파라미터를 이용하여 그 이미지에 기초한 출력으로서, 복수의 대응하는 속성들 중 어느 것이 이미지에 존재하는지를 나타내는 측정값(들)을 생성하는 심층 신경망 모델과 같은 하나 이상의 기계 학습 모델을 이용할 수 있다.측정값이 특정 속성이 이미지에 존재함을 나타내는 경우(예를 들어, 측정값이 임계값을 만족하는 경우), 해당 속성은 이미지에 대해 "확인된(resolved)"것으로 간주될 수 있다(즉, 해당 속성이 이미지에 존재하는 것으로 간주될 수 있음). 오브젝트 식별자는 하나 이상의 확인된 속성에 해당할 수 있다. 예를 들어, 확인된 속성은 "자동차" 분류일 수 있고, 오브젝트 식별자는 그 "자동차" 분류일 수 있다. 이미지 처리 엔진(114)은 (예를 들어, 고려중인 이미지와 가장 유사한 것으로 결정된 참조 이미지에 대한 "라벨"에 기초하여 객체 식별자를 식별하기 위해) 광학 문자 인식("OCR"), 이미지 유사성 기술과 같이 오브젝트 식별자(들)를 생성하는데 추가 및/또는 대안적인 이미지 처리 기술을 이용할 수 있다.
하나 이상의 오브젝트 식별자는 이미지 처리 엔진(114)에 의해 생성되어 어시스턴트 애플리케이션(118)에 제공될 수 있다. 어시스턴트 애플리케이션(118)은 오브젝트 식별자를 사용하여, 디스플레이 디바이스(108)를 통해 사용자에게 제안될 이미지 대화 모드(120)에 관한 제안들을 제공할 수 있다. 예를 들어, 어시스턴트 애플리케이션(118)은 어시스턴트 애플리케이션(118)에 이용 가능한 이미지 대화 모드(120)(예를 들어, 영양 모드, 가격 모드, 사실 모드 등)에 오브젝트 식별자를 상관시키는 인덱스 또는 테이블을 저장 또는 액세스할 수 있다. 예를 들어, 자동차 및 음식과 같이 일반적으로 판매되는 오브젝트들은 가격 모드와 상관될 수 있다. 또한, 예를 들어, 음식은 영양 모드와 추가로 상관될 수 있는 반면, 자동차는 영양 모드와 상관되지 않을 수 있다.
일부 구현들에서, 디스플레이 디바이스(108)는 카메라(106)에 의해 제공되는 실시간 이미지 피드에 나타나는 오브젝트들을 선택하기 위한 터치 입력을 수신할 수 있는 터치 디스플레이일 수 있다. 사용자는 관심 아이템을 식별하기 위해 실시간 이미지 피드에 제시된 오브젝트들을 선택할 수 있다. 선택된 오브젝트가 이미지 처리 엔진(114) 또는 어시스턴트 애플리케이션(118)에 의해 생성된 오브젝트 식별자에 대응하는 경우, 어시스턴트 애플리케이션(118)은 이에 응답하여, 대응하는 선택 가능 요소들을 제공할 수 있다. 대응하는 선택 가능 요소는 사용자가 카메라(106) 및 디스플레이 디바이스(108)를 사용하여 어시스턴트 애플리케이션과 상호 작용할 수 있는 이미지 대화 모드(120)를 식별할 수 있다.
다른 구현들에서, 사용자가 카메라 애플리케이션 또는 카메라(106)를 사용하는 임의의 다른 애플리케이션(예를 들어, 어시스턴트 애플리케이션)을 작동할 때, 어시스턴트 애플리케이션(118)은 이미지 대화 모드(120)를 활성화하기 위한 선택 가능 요소들을 제시할 수 있다. 예를 들어, 사용자는 거리를 걷고 있으면서 카메라를 거리를 향하고 있는 건물들로 지향하게 할 수 있다. 어시스턴트 애플리케이션(118)은 가격 모드, 번역 모드, 사실 모드, 리뷰 모드 및/또는 카메라(106)에 의해 캡처된 이미지와 관련될 수 있는 임의의 다른 모드와 같이 특정 이미지 대화 모드(120)를 활성화하기 위한 옵션을 동시에 제시할 수 있다. 사용자가 모드(예를 들어, 가격 모드)를 선택하는 경우, 이전에 나타낸 모드 대신에 추가 모드 및/또는 데이터가 디스플레이 디바이스(108)에 제시될 수 있다. 예를 들어, 사용자가 가격 모드를 선택하면, 거리에 있는 오브젝트들의 가격이 디스플레이 디바이스에 제시될 수 있다. 오브젝트들은 이미지 처리 엔진(114)을 사용하여 식별될 수 있고, 그들의 가격은 인터넷과 같은 네트워크(122)를 통해 서버 디바이스(112)와 통신할 수 있는 별도의 제 1 네트워크 디바이스(126)를 통해 식별될 수 있다. 가격 모드에 있는 동안, 사용자는 다른 오브젝트들의 가격이 디스플레이되도록 카메라(106)를 다른 방향으로 향하게 할 수 있다. 또한, 사용자가 다른 오브젝트로 카메라(106)를 향하게 한 결과로, 그들 오브젝트와 관련된 다른 모드에 대한 선택 가능 요소들이 디스플레이될 수 있다.
또 다른 구현에서, 사용자는 카메라(106)를 작동시키고 사용자의 주요 (primary) 방언이 아닌 언어를 포함하는 문서 또는 다른 텍스트 매체로 카메라(106)를 지향할 수 있다. 카메라(106)로부터 캡처된 이미지는 그 캡처된 이미지에 있는 하나 이상의 텍스트 언어를 식별하기 위해 처리될 수 있다. 그런 다음, 텍스트는 어시스턴트 애플리케이션(118)에 이용 가능한 번역기 애플리케이션에 의해 번역될 수 있고, 그 번역된 텍스트는 컴퓨팅 디바이스(102)의 디스플레이 디바이스(108)에서 어시스턴트 애플리케이션(118)에 의해 제시될 수 있다. 일부 구현에서, 번역 애플리케이션은 어시스턴트 애플리케이션(118)의 주요 방언 설정과 비교하기 위해 텍스트 언어의 표시를 제공할 수 있다. 표시된 언어가 기본 방언 설정과 동일한 경우, 어시스턴트 애플리케이션(118)은 디스플레이 디바이스(108)에 임의의 번역된 텍스트를 제공하는 것을 바이패스할 수 있다. 그러나, 표시된 언어가 주요 방언 설정과 다른 경우, 어시스턴트 애플리케이션(118)은 그 번역된 텍스트를 디스플레이 디바이스(108)에 제공할 수 있다.
일부 구현들에서, 번역 모드로 진입할지에 관한 프롬프트가 자동화 어시스턴트(118)에 의해 사용자에게 제공될 수 있다. 그러나, 다른 구현들에서, 어시스턴트 애플리케이션(118)은 사용자가 카메라(106)를 특정 오브젝트로 지향하는 경우 번역된 텍스트를 제시할 것인지에 관한 프롬프트를 바이패스하고 디스플레이 디바이스(108)에 번역된 텍스트를 자동으로 제공할 수 있다. 예를 들어, 어시스턴트 애플리케이션(118)은 사용자가 외국 텍스트를 포함하는 오브젝트에 카메라(106)를 재지향하는 것에 응답하여 업데이트된 번역된 텍스트를 제시할 수 있다. 일부 구현들에서, 번역된 텍스트와 관련된 다른 대화 모드가 자동화 어시스턴트(118)에 의해 사용자에게 디스플레이 디바이스(108)에 제시될 수 있다. 예를 들어, 사용자가 외국어(예를 들어, 독일어)로 제공되는 메뉴에 카메라(106)를 지향하는 경우, 자동화 어시스턴트(118)는 디스플레이 디바이스(108)로 하여금 메뉴로부터 번역된 텍스트를 제시하게 할 수 있다. 게다가, 자동화 어시스턴트(118)는 그 텍스트의 컨텍스트 및/또는 그 텍스트의 다른 속성을 결정하기 위해 번역된 텍스트를 처리할 수 있다. 예를 들어, 자동화 어시스턴트(118)는 번역된 텍스트가 음식과 관련이 있다고 결정하고, 칼로리 모드 진입과 관련된 선택 가능 요소를 제공할 수 있다. 대안적으로, 사용자가 카메라(106)를 다른 음식들로 지향할 때 이전에 칼로리 모드를 선택한 경우, 번역된 텍스트(예를 들어, "구운 감자 및 스테이크")는 그 번역된 텍스트에 의해 식별된 음식에 대한 칼로리 또는 영양 데이터(예를 들어, "800 칼로리")와 함께 디스플레이 디바이스(108)에 제시될 수 있다.
일부 구현들에서, 특정 모드(예를 들어, 영양 모드)로 동작하는 동안, 특정 모드와 관련된 데이터가 카메라(106)의 시야 영역(viewing area)내의 오브젝트들에 대해 제시될 수 있다. 사용자가 이전에 시야 영역에 없었던 오브젝트로 카메라(106)를 지향하는 경우 다른 모드 및/또는 데이터가 제시될 수 있다. 예를 들어,영양 데이터가 실시간 이미지 피드로 표현된 음식에 대해 제시되는 영양 모드로 어시스턴트 애플리케이션(118)을 사용자가 작동시킬 때, 사용자는 일반적으로 식료품 점에서 얻는 음식의 유형에 카메라(106)를 지향할 수 있다. 이에 응답하여, 어시스턴트 애플리케이션(118)은 어시스턴트 애플리케이션(118)과 이미지 대화를 계속하기 위한 다른 모드를 제안할 수 있다. 다른 모드는, 예를 들어, 경쟁 음식 공급 업체로부터의 가격이 디스플레이 디바이스(108)에 디스플레이되는 가격 모드일 수 있다. 다른 모드는 디스플레이 디바이스(108)에 제시되는 식료품 아이템과 동시에 디스플레이 디바이스(108)에 제시되는 선택 가능 요소에서 식별될 수 있다. 이러한 방식으로, 사용자는 여전히 카메라(106)를 조작하면서 모드들 사이를 직관적으로 전환할 수 있다. 다른 구현들에서, 어시스턴트 애플리케이션(118)은 카메라(106)가 음식에 지향될 때 사용자가 영양 모드로 진입하는 것을 선호하는 오버 타임을 결정할 수 있다. 결과적으로, 어시스턴트 애플리케이션(118)은 영양 모드로 진입하기 위한 선택 가능 요소를 사용자에게 제시하는 것을 바이패스하고, 그 대신 카메라(106)가 향하고 있는 음식에 관한 영양 데이터를 자동으로 제공한다. 이러한 방식으로, 사용자는 이미지 대화 모드로 짐입하기 위해 연속적으로 수동 선택을 할 필요가 없이, 오히려 특정 환경 하에서 사용자가 보기를 원하는 선호하는 이미지 데이터를 학습하는 어시스턴트 애플리케이션(118)에 의존할 수 있다.
일부 구현들에서, 어시스턴트 애플리케이션(118)은 네트워크(122)를 통해 이미지 대화 모드에 대한 데이터에 액세스할 수 있다. 예를 들어, 어시스턴트 애플리케이션(118)은 하나 이상의 원격 디바이스(예를 들어, 제 1 데이터(132)를 포함하는 제 1 원격 디바이스(126), 제 2 데이터(134)를 포함하는 제 2 원격 디바이스(128) 및 N 번째 데이터(136)를 포함하는 N 번째 원격 디바이스(130))에 연결될 수 있다. 각각의 원격 디바이스는 이미지 처리 엔진(114) 및/또는 어시스턴트 애플리케이션(118)에 의해 생성된 오브젝트 식별자와 관련된 데이터를 포함할 수 있다. 예를 들어, 어시스턴트 애플리케이션(118)이 컴퓨팅 디바이스(102)에서 액세스되고 있고 어시스턴트 애플리케이션(118)이 가격 이미지 대화 모드에서 동작하는 경우, 어시스턴트 애플리케이션(118)은 하나 이상의 원격 디바이스(예를 들어, 126, 128, 130)에 액세스하여 가격 데이터를 검색할 수 있다. 가격 데이터는 카메라(106)가 향하는 오브젝트에 대한 경쟁 가격들과 관련될 수 있다. 일부 구현들에서, 원격 디바이스들은 웹 사이트, 애플리케이션 데이터, 및/또는 네트워크를 통해 액세스될 수 있고 오브젝트와 관련될 수 있는 임의의 다른 데이터를 호스팅할 수 있다.
특정 이미지 대화 모드의 제안은 제안될 이미지 대화 모드에 대한 하나 이상의 입력 및 출력 확률을 수신할 수 있는 하나 이상의 기계 학습 모델에 기초할 수 있다. 예를 들어, 어시스턴트 애플리케이션(118)은 카메라(106)로부터 이미지를 수신하고 제안할 적합한 이미지 대화 모드를 결정하기 위해 이미지(106)를 처리할 수 있는 기계 학습 모델을 포함하거나 이에 액세스할 수 있다. 기계 학습 모델은 오브젝트의 이미지 및/또는 그 이미지에 기초하여 생성된 오브젝트 식별자(들)를 포함하는 입력에 기초한 확률의 생성을 가능하게 하도록 트레이닝될 수 있는 심층 신경망 모델일 수 있다. 확률은 어시스턴트 애플리케이션(118)이 동작할 수 있는 이미지 대화 모드와 상관될 수 있다. 예를 들어, 자동차를 포함하는 이미지가 기계 학습 모델에 적용된 경우, 기계 학습 모델은 영양 이미지 대화 모드에 대한 확률보다 가격 이미지 대화 모드에 대해 더 높은 확률을 생성하기 위해 이용될 수 있다. 게다가, 다수의 음식 아이템을 포함하는 이미지가 기계 학습 모델에 적용되는 경우, 기계 학습 모델은 사실 이미지 대화 모드보다 영양 이미지 대화 모드에 대해 더 높은 확률을 생성하기 위해 이용될 수 있다.
또 다른 구현에서, 어시스턴트 애플리케이션(118)은 다른 입력을 수용할 수 있는 다수의 기계 학습 모델을 포함하거나 이에 액세스할 수 있다. 예를 들어, 어시스턴트 애플리케이션(118)은 입력으로서 이미지를 수신하는 제 1 기계 학습 모델 및 입력으로서 이미지 컨텍스트를 수신하는 제 2 기계 학습 모델에 액세스할 수 있다. 이미지 컨텍스트는 하나 이상의 컨텍스트 식별자를 사용하여 제 2 기계 학습 모델에 입력될 수 있다. 컨텍스트 식별자는 위치, 시간, 이벤트, 환경, 및/또는 컨텍스트를 나타낼 수 있는 임의의 다른 특징과 같이 이미지의 컨텍스트를 식별하는 데이터를 포함할 수 있다. 예를 들어, 컨텍스트 식별자는 컴퓨팅 디바이스(102)의 GPS(global positioning system) 송신기에 의해 제공된 지리적 위치 데이터를 사용하여 이미지가 캡처된 위치를 식별할 수 있다. 지리적 위치 데이터는 이미지가 캡처된 위치를 식별하기 위해 어시스턴트 애플리케이션(118)에 의해 사용될 수 있다. 예를 들어, 어시스턴트 애플리케이션(118)은 네트워크(122)를 통해 지도 애플리케이션에 액세스하여 사용자가 특정 레스토랑 내부에 위치한다고 결정할 수 있다. 레스토랑 이름 또는 위치는 제 2 기계 학습 모델에 제공될 수 있고, 제 2 기계 학습 모델은 사실 이미지 대화 모드보다 리뷰 이미지 대화 모드에 대해 높은 확률을 출력할 수 있다. 또한, 레스토랑의 음식 이미지는 제 1 기계 학습 모델로 제공될 수 있으며, 이에 응답하여, 제 1 기계 학습 모델은 리뷰 이미지 대화 모드 및 사실 이미지 대화 모드에 대해 동일한 확률을 제공할 수 있다. 그러나, 제 2 기계 학습 모델이 리뷰 이미지 대화 모드에 대해 더 높은 확률을 제공했기 때문에, 리뷰 이미지 대화 모드가 디스플레이 디바이스(108)에서 사용자에게 제안될 수 있다.
일부 구현들에서, 컴퓨팅 디바이스(102)는 이미지, 문서, 및/또는 컴퓨팅 디바이스에 의해 저장 및/또는 편집될 수 있는 임의의 다른 미디어를 저장할 수 있는 하나 이상의 메모리 디바이스를 포함할 수 있다. 또한, 사용자가 컴퓨팅 디바이스(102)의 메모리 디바이스에 액세스하는 경우, 어시스턴트 애플리케이션(118)은 사용자에 의해 액세스되는 미디어에 응답할 수 있다. 예를 들어, 사용자는 음식 이미지를 보고 있을 수 있고, 어시스턴트 애플리케이션(118)은 이미지를 처리하여 선택을 위해 사용자에게 제시할 이미지 대화 모드(120)에 대한 제안을 결정할 수 잇다. 일부 구현들에서, 어시스턴트 애플리케이션(118)은 사용자가 컴퓨팅 디바이스(102)에 저장되거나 컴퓨팅 디바이스(102)에서 액세스되는 이미지들을 보고 있을 때 영양 이미지 대화 모드 및 칼로리 이미지 대화 모드를 제안할 수 있다. 대안적으로, 사용자는 PDF(Portable Document Format)로 문서를 보고 있을 수 있고, 어시스턴트 애플리케이션(118)은 그 PDF를 처리하여, 이용 가능한 이미지 대화 모드와 관련된 PDF의 컨텐츠를 식별할 수 있다. 예를 들어, PDF가 과학 저널 기사인 경우, 어시스턴트 애플리케이션(118)은 사용자가 저널 기사를 이해하는데 도움이 되는 팻트를 제공할 수 있는 사실 이미지 대화 모드로 진입하기 위한 선택 가능 요소를 사용자에게 제시할 수 있다. 대안적으로, 어시스턴트 애플리케이션(118)은 사실 이미지 대화 모드에 자동으로 진입하여 사실들을 디스플레이 디바이스(108)에 제시할 수 있다. 예를 들어, 사실들은 PDF에 제공된 컨텐츠에 기초할 수 있으며, 제시된 사실들은 사용자가 PDF를 스크롤하거나 다른 PDF를 여는 것에 따라 동적으로 변경될 수 있다.
도 2a는 다수의 상이한 이미지 대화 모드에서 동작할 수 있는 자동화 어시스턴트 애플리케이션을 포함하거나 이에 액세스하는 컴퓨팅 디바이스(210)의 뷰(200)를 도시한다. 이미지 대화 모드는 자동화 어시스턴트가 컴퓨팅 디바이스(210)의 카메라가 하나 이상의 오브젝트를 지향하는 것에 응답하여 데이터를 제공하는 동작 모드이다. 예를 들어, 이미지 대화 모드는 칼로리 모드 및 영양 모드를 포함할 수 있다. 칼로리 모드에서 동작하는 동안, 컴퓨팅 디바이스(210)의 사용자는 카메라(예를 들어, 컴퓨팅 디바이스(210)의 후면에 위치하여 인터페이스(204)의 반대쪽을 향하는 카메라)를 사과(202)와 같은 오브젝트로 향하게 하고 사과(202)에 대한 칼로리 데이터를 수신할 수 있다. 예를 들어, 칼로리 데이터(예를 들어, "사과는 95 칼로리를 갖는다")는 실시간 이미지 피드에서 사과(202)의 이미지를 제공하는 카메라와 동시에 컴퓨팅 디바이스(210)의 인터페이스(204)에 제시될 수 있다. 영양 모드에서 동작하는 동안, 컴퓨팅 디바이스(210)의 사용자는 카메라를 사과(202)와 같은 오브젝트로 향하게 하고 사과(202)에 대한 영양 데이터를 수신할 수 있다. 영양 데이터(예를 들어, "칼륨 195 mg, 식이 섬유 4.4 g, ...")는 실시간 이미지 피드에서 사과(202)의 이미지를 제공하는 카메라와 동시에 인터페이스(204)에 제시될 수 있다.
도 2a는 이미지 대화 모드(예를 들어, 칼로리 모드 및/또는 영양 모드(208))를 초기화하기 위해 컴퓨팅 디바이스(210)의 카메라를 조작할 때 사용자가 보는 인터페이스(204)를 도시할 수 있다. 카메라가 향하는 것에 대한 실시간 이미지 피드를 제공할 수 있는 카메라 애플리케이션을 작동하는 동안, 실시간 이미지 피드로부터의 이미지는 이미지 내의 오브젝트들을 식별하도록 처리될 수 있다. 예를 들어, 이미지는 처리를 위해 컴퓨팅 디바이스(210)로부터 원격 디바이스(예를 들어, 서버 디바이스)로 전송되거나 또는 이미지는 컴퓨팅 디바이스(210)에서 처리될 수 있다. 이미지를 처리하는 것은 그 이미지 내의 오브젝트들을 식별하고 분류하기 위해 컴퓨터 비전 알고리즘을 실행하는 것을 포함할 수 있다. 각각의 오브젝트가 식별되면, 하나 이상의 오브젝트 식별자 또는 분류가 생성 또는 식별될 수 있고, 어시스턴트 애플리케이션에 의해 이미지 대화 모드를 추천하기 위해 사용된다. 예를 들어, 카메라가 사과(202)를 향할 때, 어시스턴트 애플리케이션은 카메라가 사과(202) 또는 음식을 향하고 있다고 결정하고 사용자에게 제안할 적합한 이미지 대화 모드를 식별할 수 있다. 이미지 대화 모드는 다양한 오브젝트 식별자, 오브젝트 유형, 오브젝트 분류, 및/또는 오브젝트의 다른 설명자와 상관될 수 있다. 오브젝트와 대화 모드에 대한 상관은 본 명세서에서 논의된 바와 같이 자동화 어시스턴트에 액세스 가능하거나 하나 이상의 기계 학습 모델로부터 추론된 인덱스에 의해 제공될 수 있다.
자동화 어시스턴트에 의해 식별된 이미지 대화 모드는 인터페이스(204)에서 제 1 선택 가능 요소(206) 및 제 2 선택 가능 요소(208)로서 선택 가능할 수 있다. 구체적으로, 제 1 선택 가능 요소(206)는 제 1 이미지 대화 모드(예를 들어, "칼로리 모드")를 식별할 수 있고, 제 2 선택 가능 요소(208)는 제 2 이미지 대화 모드(예를 들어, "영양 모드")를 식별할 수 있다. 사용자가 선택 가능한 요소들 중 하나를 선택하면, 자동화 어시스턴트는 그 선택을 수신하여 이미지 대화 모드에 대응하는 데이터를 제공하기 위한 쿼리를 생성할 수 있다. 대안적으로, 어시스턴트 애플리케이션은 데이터가 컴퓨팅 디바이스(210)에서 이용 가능할 때 그 데이터에 액세스할 수 있다. 쿼리는 이미지 내의 오브젝트(예를 들어, 사과(202))에 대한 오브젝트 식별자 및 사용자에 의해 선택된 이미지 대화 모드(예를 들어, 칼로리 모드)에 기초하여 생성될 수 있다. 일 예로, "[객체에 대한 가장 세부적인 분류]의 칼로리"라는 쿼리 템플릿이 "칼로리' 대화 모드에 대해 정의될 수 있다. [객체에 대한 가장 세부적인 분류]라는 플레이스 홀더는 이미지내의 오브젝트에 대한 가장 세부적인 분류에 대한 별칭으로 채워질 수 있다. 예를 들어 이미지에 큰 빨간 맛있는 사과가 포함되어 있다고 가정한다. 그 이미지의 처리에 기초하여 결정된 가장 세부적인 분류가 "사과"인 경우 쿼리는 "사과의 칼로리"일 수 있다. 반면에 가장 세부적인 분류가 "빨간 맛있는 사과"인 경우 쿼리는 "빨간 맛있는 사과의 칼로리"이거나 가장 세부적인 분류가 "큰 빨간 맛있는 사과"인 경우 쿼리는 "큰 빨간 맛있는 사과의 칼로리"일 수 있다. 또 다른 예로서, 비-자연어 쿼리가 선택된 대화 모드 및 오브젝트의 식별자에 기초하여 생성될 수 있다. 예를 들어, "칼로리" 대화 모드에 대해, "[오브젝트에 대한 가장 세부적인 분류를 위한 노드"에 대한 [[칼로리 파라미터]]"라는 쿼리 템플릿이 정의될 수 있다. 이 쿼리 템플릿은 쿼리에 응답하는 데이터가 오브젝트의 가장 세부적인 분류에 해당하는 엔티티 데이터베이스의 노드에 대해, 엔티티 데이터베이스에 정의된 칼로리 파라미터임을 정의한다.
쿼리는 어시스턴트 애플리케이션, 검색 엔진, 지식 그래프 시스템, 및/또는 쿼리에 응답하는 다른 시스템을 호스팅하는 원격 디바이스로 전송될 수 있다. 원격 디바이스는 인터페이스(204)에 제시하기 위한 데이터(예를 들어, 사과의 칼로리 함량)를 어시스턴트 애플리케이션에 제공하기 위해 오브젝트 식별자(예를 들어, "사과") 및 선택된 이미지 대화 모드에 기초하는 쿼리를 사용할 수 있다. 예를 들어, 검색 엔진은 쿼리에 "권한있는 응답(authoritative answer)"(있는 경우)을 데이터로서 제공하거나 쿼리에 응답하여 가장 높은 순위의 문서에서 가장 적절한 스니펫을 데이터로서 제공할 수 있다. 또한, 예를 들어, 지식 그래프 시스템은 쿼리에 기초하여 지식 그래프의 특정 노드(들)를 식별하고, 그 노드(들)(또는 노드에 대응하는)로부터의 정보를 데이터로서 제공할 수 있다. 원격 디바이스는 데이터를 저장하거나 쿼리를 만족하는 애플리케이션 데이터 또는 웹 데이터를 포함하는 별도의 서버로부터 데이터에 액세스할 수 있다. 어시스턴트 애플리케이션이 데이터를 수신할 때, 카메라가 사과(202)를 향하는 동안 데이터는 인터페이스(204)에 제시될 수 있다.
일부 구현들에서, 사용자가 이미지 대화 모드에 대응하는 선택 가능 요소(예를 들어, 제 1 선택 가능한 요소(206))를 선택할 때, 데이터(예를 들어, 칼로리 함량)는 이미지 대화 모드에 대한 다른 제안과 함께 제시될 수 있다. 예를 들어, 사용자가 칼로리 모드를 선택하는 경우, 쿼리를 만족시킬 데이터를 식별하기 위해 쿼리가 원격 디바이스로 전송될 수 있다. 어시스턴트 애플리케이션을 호스팅할 수 있는 원격 디바이스는 또한 음식의 칼로리 함량에 관심이 있는 사용자에게 유용할 수 있는 다른 대화 모드를 식별할 수 있다. 예를 들어, 어시스턴트 애플리케이션은 건강 추적기 이미지 대화 모드를 포함할 수 있으며, 이를 통해 사용자는 음식들이 다이어트 또는 사용자의 일일 칼로리 섭취량에 적합한지 확인하기 위해 카메라를 다른 음식으로 향하게 할 수 있다. 건강 추적기 이미지 대화 모드에서 작동할 때, 자동화 어시스턴트는 사용자가 이전에 먹은 음식의 영양 가치 또는 칼로리 함량을 카메라가 향하고 있는 음식과 비교할 수 있다. 자동화 어시스턴트는 특정 음식 아이템이 다이어트 이외일 때 인터페이스(204)로 하여금 사용자에게 통지를 제공하게 하거나, 원하는 일일 칼로리 섭취량이 하루 동안 상회하도록 할 수 있다. 건강 추적기 이미지 대화 모드는 사용자가 칼로리 모드 또는 영양 모드를 선택하는 것에 응답하여 추가의 선택 가능 요소로서 표현될 수 있다.
도 2b는 이미지 대화 모드에서 동작하는 컴퓨팅 디바이스(210)의 뷰(212)를 도시한다. 구체적으로, 도 2b는 카메라가 다른 오브젝트(218)(바나나)를 향하는 동안 인터페이스(204)가 인터페이스에 칼로리 데이터(214)를 제공하게 하는 자동화 어시스턴트 애플리케이션을 도시한다. 자동화 어시스턴트는 또한 이미지 대화 모드를 동작시키는 동안 인터페이스(204)가 이미지 대화 모드에 대한 추가 제안을 제공하게 할 수 있다. 예를 들어, 사용자는 도 2a로부터 칼로리 모드를 선택하고 카메라를 도 2a의 오브젝트(202)로부터 도 2b의 오브젝트(218)로 재지향할 수 있다. 인터페이스(204)에 제공된 실시간 이미지 피드는 오브젝트(218)로 업데이트될 수 있고, 실시간 이미지 피드로부터의 이미지는 그 이미지 내의 오브젝트를 식별하기 위해 처리될 수 있다. 이미지가 처리되어 그 이미지로부터 오브젝트 식별자가 생성될 수 있다. 그런 다음 오브젝트 식별자는 자동화 어시스턴트에 의해 사용되어 오브젝트(218)와 관련된 칼로리 데이터를 식별하기 위한 쿼리를 생성할 수 있다. 칼로리 데이터(예를 들어, "120 칼로리")는 카메라가 오브젝트(218)를 향하는 동안 그래픽 요소(214)로서 인터페이스(204)에 제시될 수 있다.
일부 구현들에서, 자동화 어시스턴트는 카메라가 하나의 오브젝트(예를 들어, 오브젝트(202))로부터 다른 오브젝트(예를 들어, 오브젝트(218))로 재지향되는 것에 응답하여 인터페이스(204)가 이미지 대화 모드에 대한 다른 제안을 제시하게 할 수 있다. 예를 들어, 기계 학습 모델은 이미지 대화 모드가 사용자에게 제안될 확률을 결정할 수 있다. 이미지 대화 모드는 대응하는 확률에 따라 순위가 매겨질 수 있고, 사용자가 카메라를 오브젝트로 지향하고 있는 동안 상위 N(예를 들어, 1, 2, 3 등)개의 이미지 대화 모드가 사용자에게 제안될 수 있다. 사용자가 대화 모드들 중 하나를 선택한 후, 이전에 제시되지 않은 하나 이상의 다른 대화 모드가 추가 선택 가능 요소(216)로서 사용자에게 제시될 수 있다. 예를 들어, 가격 이미지 대화 모드는 사용자가 이전에 다른 이미지 대화 모드(예를 들어, 칼로리 이미지 대화 모드)를 선택하고 카메라를 다른 오브젝트(예를 들어, 오브젝트(218))로 재지향하는 것에 응답하여 사용자에게 제시될 수 있다. 사용자가 가격 이미지 대화 모드를 선택하면(예를 들어, 추가 선택 가능 요소(216)를 선택함으로써), 오브젝트(218)에 대한 가격이 (칼로리 모드에 응답하여 데이터를 디스플레이하는) 그래픽 요소(214)와 함께 또는 대신에 인터페이스(204)에 제시될 수 있다.
도 3a는 컨텍스트 데이터 및 이미지 데이터를 사용하여 데이터를 제공 및/또는 특정 컨트롤을 실행할 수 있는 자동화 어시스턴트 애플리케이션을 동작시키는 컴퓨팅 디바이스(312)의 뷰(300)를 도시한다. 구체적으로, 자동화 어시스턴트는 이미지 대화 모드에 관한 제안들을 제공하여 컨텍스트 데이터 및 이미지 데이터에 따라 동작할 수 있다. 예를 들어, 사용자는 컴퓨팅 디바이스(312)의 카메라 애플리케이션을 작동시키고 컴퓨팅 디바이스(312)의 카메라를 오브젝트(302)(예를 들어, 자동차)로 향하게 할 수 있다. 카메라에 의해 제공되는 이미지는 이미지 내의 하나 이상의 오브젝트를 식별하기 위해 자동화 어시스턴트 또는 별도의 애플리케이션에 의해 처리될 수 있다. 자동화 어시스턴트는 인터페이스(304)에 제시될 하나 이상의 이미지 대화 모드를 선택하기 위해 자동화 어시스턴트에 의해 사용될 수 있는 오브젝트 식별자(예를 들어, 자동차를 식별하는 데이터 오브젝트)를 수신하거나 생성할 수 있다. 더욱이, 자동화 어시스턴트는 컨텍스트 식별자(예를 들어, 이미지의 컨텍스트를 식별하는 데이터 오브젝트)를 수신하거나 생성할 수 있는데, 이는 자동 어시스턴트에 의해 사용되어 인터페이스(304)에 제시될 이미지 대화 모드의 선택을 더욱 좁힐 수 있다.
일부 구현들에서, 사용자는 자동차를 구매하기 위해 자동차 매장을 걸으면서 자동차 매장 내의 자동차들의 이미지를 캡처하기 위해 컴퓨팅 디바이스(312)의 카메라를 사용하고 있을 수 있다. 자동화 어시스턴트는 도 3a의 인터페이스(304)에 제시된 이미지와 같은 자동차의 이미지를 수신할 수 있고, 그 이미지를 사용하여 카메라가 자동차를 향하고 있다고 결정할 수 있다. 자동화 어시스턴트는 이미지에서 식별된 오브젝트들에 따라 사용자에게 제안할 이미지 대화 모드를 결정할 수 있다. 예를 들어, 이미지가 자동차(즉, 오브젝트(302))를 포함하기 때문에, 자동화 어시스턴트는 예를 들어 가격 모드, 사실 모드 및/또는 방향 모드와 같이 자동차와 관련된 이미지 대화 모드를 식별할 수 있다. 또한, 자동화 어시스턴트는 사용자에게 제안할 이미지 대화 모드를 선택하기 위해 이미지의 컨텍스트를 결정할 수 있다. 컨텍스트는 이미지가 캡처된 시간, 이미지가 캡처된 위치, 이미지와 연관된 이벤트, 및/또는 데이터로 구현될 수 있는 임의의 다른 컨텍스트 설명자에 기초할 수 있다. 예를 들어, 이미지가 캡처된 위치는 자동차를 구매하기 위한 자동차 매장일 수 있으므로, 사용자가 자동차로 어딘가로 가기 위한 방향을 수신하는데 관심이 있는 것이 아니라 자동차에 대해 배우는데 관심이 있음을 나타낸다. 따라서, 오브젝트 식별자(예를 들어, "자동차") 및 컨텍스트 식별자(예를 들어, "자동차 매장(car lot)")는 사용자에게 제안될 이미지 대화 모드를 선택하기 위해 자동화 어시스턴트에 의해 조합되어 사용될 수 있다. 예를 들어, 가격 모드와 사실 모드는 사용자에게 제안될 수 있는 반면, 방향 모드는 그 제안에서 생략될 수 있다. 예를 들어, 인덱스 또는 테이블은 그 조합에 대한 "방향 모드"보다 "자동차"의 오브젝트 식별자와 "자동차 매장"의 컨텍스트 식별자의 조합에 더 관련되는 것으로 가격 모드 및 사실 모드를 정의할 수 있다. 제안은 도 3a에 제공된 바와 같이, 인터페이스(304)에서 제 1 선택 가능 요소(306) 및 제 2 선택 가능 요소(308)로 식별될 수 있다.
일부 구현들에서, 각각의 오브젝트 식별자 및 컨텍스트 식별자는 확률을 자동화 어시스턴트에 이용 가능한 각각의 이미지 대화 모드에 상관시키기 위해 하나 이상의 기계 학습 모델(예를 들어, 심층 학습 모델)에 입력될 수 있다. 예를 들어, 오브젝트(302)에 대한 오브젝트 식별자는 사용자에게 제안할 이미지 대화 모드에 대한 확률 또는 순위를 결정하기 위한 제 1 학습 모델로 제공될 수 있다. 오브젝트의 컨텍스트를 식별하는 컨텍스트 식별자는 사용자에게 제안할 이미지 대화 모드의 확률 또는 순위를 결정하기 위해 제 2 기계 학습 모델로 제공될 수 있다. 제 1 학습 모델 및 제 2 학습 모델로부터의 확률은 각각의 이미지 대화 모드에 따라 조합될 수 있고, 가장 높은 확률에 대응하는 이미지 대화 모드가 사용자에게 제시될 수 있다. 전술한 예에 따르면, 가격 모드 및 사실 모드는 오브젝트 식별자가 자동차이고 컨텍스트 식별자가 자동차 매장일 때 방향 모드보다 높은 확률로 관련될 수 있다.
다른 구현들에서, 어시스턴트 애플리케이션은 사용자가 선택된 오브젝트들과 관련된 이미지 대화 모드들의 데이터 또는 제안을 수신하기 위해 인터페이스에 제시된 상이한 오브젝트들 또는 오브젝트의 상이한 부분을 탭하도록 안내(advise)하는 그래픽 요소(310)를 제공할 수 있다. 카메라에 의해 제공된 이미지는 어시스턴트 애플리케이션 또는 개별 애플리케이션에 의해 처리되어 오브젝트에 대응하는 이미지의 일부를 식별할 수 있다. 각각의 오브젝트는 사용자가 인터페이스의 일부를 탭할 때 오브젝트 식별자가 처리되어 이미지 대화 모드에 대한 제안을 제공하도록 오브젝트 식별자와 상관될 수 있다. 예를 들어, 자동화 어시스턴트는 인터페이스(304)의 이미지로부터 자동차 및 타이어(314)에 대한 오브젝트 식별자를 생성할 수 있다. 사용자가 타이어(314)를 탭하는 경우, 이미지 대화 모드에 대한 제안은 사용자가 차체를 탭하는 것과 다를 수 있다. 자동화 어시스턴트는 이미지를 픽셀 단위로 또는 픽셀 그룹 단위로 식별할 수 있는 하나 이상의 기술을 사용하여 이미지로부터 상이한 오브젝트 식별자를 생성할 수 있다. 예를 들어, 이미지의 각각의 N×N 픽셀 그룹은 하나 이상의 대응하는 오브젝트 식별자(및 선택적으로 다수의 오브젝트 식별자 각각에 대한 대응하는 확률)와 관련될 수 있다. 예를 들어, 자동차의 타이어에 대응하는 픽셀 그룹은 "타이어" 오브젝트 분류와 가장 밀접하게 관련될 수 있는 반면, 자동차의 다른 부분에 대응하는 픽셀 그룹은 "자동차" 분류와 가장 밀접하게 관련된다. 사용자가 하나 이상의 "타이어" 픽셀을 선택하는 경우(예를 들어, "탭" 또는 "원형화(encircling)"를 통해 또는 터치를 통해 해당 픽셀들의 바운딩(bounding)을 통해), "타이어" 분류와 가장 관련된 이미지 대화 모드(들)가 제시될 수 있다. 반면에, 사용자가 하나 이상의 "자동차" 픽셀을 선택하면, "자동차" 분류와 가장 관련된 이미지 대화 모드가 제시될 수 있다.
도 3b는 사용자가 카메라를 오브젝트들로 향할 때 오브젝트의 가격이 인터페이스(304)에 제시되는 가격 이미지 대화 모드로 자동화 어시스턴트를 동작시키는 컴퓨팅 디바이스(312)의 뷰(316)를 도시한다. 구체적으로, 사용자는 대화 요소(318)가 인터페이스(304)에 제시되도록 도 3a에 제시된 가격 모드(예를 들어, 선택 가능 요소(306))를 선택할 수 있다. 대화 요소(318)는 사용자에 의해 선택된 오브젝트(예를 들어, 자동차)와 관련된 데이터를 포함할 수 있다. 예를 들어 사용자가 자동차를 선택했기 때문에, 자동화 어시스턴트는 자동차 가격(예를 들어, 모델 및 연식)을 반영하도록 사용자를 지원할 수 있는 임의의 다른 데이터 뿐만 아니라, 자동차 가격을 식별하기 위해 쿼리가 생성될 수 있게 할 수 있다.
사용자가 가격 모드를 선택하는 것에 응답하여, 인터페이스(304)에서의 이미지 대화 모드에 대한 제안이 수정될 수 있다. 예를 들어, 사용자에게 리뷰 이미지 대화 모드로 진입하는 옵션을 제공하기 위해 선택 가능 요소(306) 대신에 선택 가능 요소(320)가 제공될 수 있다. 더욱이, 선택되지 않은 선택 가능 요소(308)는 인터페이스(304)에 유지되거나 다른 이미지 대화 모드를 식별하는 다른 선택 가능 요소로 대체될 수 있다. 리뷰 이미지 대화 모드는 자동화 어시스턴트로 하여금 인터페이스(304)에서 카메라가 향하는 오브젝트에 대한 웹 리뷰를 제공하게 할 수 있다. 웹 리뷰는 특정 오브젝트(예를 들어, 자동차)의 사용자-제출 리뷰와 관련된 웹 데이터 또는 애플리케이션 데이터를 호스팅하는 하나 이상의 원격 디바이스에 의해 제공될 수 있다. 선택 가능 요소(308)에서 식별된 사실 모드는, 선택될 때 자동화 어시스턴트로 하여금 이미지 내의 하나 이상의 오브젝트와 관련된 사실을 제공하게 할 수 있다. 사실 데이터는 또한 오브젝트와 관련된 웹 데이터 및/또는 애플리케이션 데이터를 호스팅하는 하나 이상의 원격 디바이스에 의해 제공될 수 있다. 어시스턴트 애플리케이션이 사실 이미지 대화 모드 또는 리뷰 이미지 대화 모드로 동작하고 있고 카메라가 오브젝트(예를 들어, 자동차)로 지향되는 경우, 사실 데이터 및/또는 웹 리뷰가 인터페이스 요소(예를 들어, 대화 요소(318)와 유사)로 제시될 수 있다.
도 4는 컴퓨팅 디바이스의 카메라에 의해 제공되는 실시간 이미지 피드로부터의 이미지를 사용하여 자동화 어시스턴트 애플리케이션과 상호 작용하기 위한 방법(400)을 도시한다. 이 방법(400)은 컴퓨팅 디바이스, 서버 디바이스, 및/또는 데이터가 그래픽 사용자 인터페이스에 제시되게 하기에 적합한 임의의 다른 디바이스에 의해 수행될 수 있다. 방법(400)은 컴퓨팅 디바이스의 카메라로부터 이미지 데이터를 수신하는 블록(402)을 포함할 수 있다. 이미지 데이터는 카메라의 시야 내에 오브젝트가 존재하는 것에 응답하여 카메라에 의해 생성된다. 오브젝트는 카메라에 의해 이미지에서 캡처될 수 있는 임의의 오브젝트일 수 있다. 예를 들어, 오브젝트는 도시의 거리일 수 있다.
블록(404)에서 방법(400)은 이미지 데이터에 기초하여, 오브젝트에 대한 오브젝트 식별자를 결정하는 단계를 포함할 수 있다. 오브젝트 식별자는 오브젝트 자체(예를 들어, 거리), 구성 요소 또는 오브젝트 내의 개별 오브젝트에 대응할 수 있다. 예를 들어, 오브젝트 식별자는 카메라의 시야 내에 있는 거리에 위치한 레스토랑을 식별할 수 있다. 오브젝트 식별자는 자동화 어시스턴트 또는 카메라로부터이미지 데이터가 수신되는 원격 디바이스에 의해 생성될 수 있다. 오브젝트 식별자의 생성은 이미지 데이터 내의 텍스트(예를 들어, 레스토랑의 이름)를 식별할 수 있는 광학 문자 인식(OCR) 알고리즘을 포함할 수 있다. 오브젝트 식별자를 생성하기 위해 추가적인 및/또는 대안적인 이미지 처리 기술이 이용될 수 있다.
방법(400)은 선택 가능 요소가 디스플레이 디바이스에서 그래픽적으로 표현되게 하는 블록(406)을 더 포함할 수 있다. 선택 가능 요소는 자동화 어시스턴트가 동작할 수 있는 하나 이상의 이미지 대화 모드를 식별할 수 있다. 일부 구현들에서, 블록(406)은 블록(404)에서 식별된 오브젝트 식별자에 기초하여 이미지 대화 모드를 선택하는 단계와, 그 선택 가능 요소가 이미지 대화 모드에 대응하는 것에 기초하여 그래픽적으로 표현되게 하는 단계를 포함한다. 이미지 대화 모드는 복수의 이용 가능한 이미지 대화 모드로부터 선택될 수 있다. 각각의 이미지 대화 모드는 카메라로부터의 이미지 데이터를 사용하여 자동화 어시스턴트로부터 데이터를 도출하고 및/또는 자동화 어시스턴트의 기능을 실행할 수 있다. 예를 들어, 선택 가능 요소는 자동화 어시스턴트가 컴퓨팅 디바이스의 카메라가 지향되는 오브젝트들에 대한 웹 리뷰를 제공하는 리뷰 이미지 대화 모드를 식별하는 텍스트를 포함할 수 있다. 이러한 방식으로, 사용자는 반드시 텍스트 또는 구두 커맨드를 자동화 어시스턴트에게 제공할 필요 없이, 간단히 카메라를 다른 오브젝트들로 향하게 하여 응답을 이끌어 낼 수 있다.
방법(400)은 또한 선택 가능 요소의 선택을 수신하는 블록(408)을 포함할 수 있다. 이 선택은 디스플레이 디바이스의 터치 인터페이스에서 구두 커맨드(예를 들어, "어시스턴트, 리뷰 모드를 시작해) 또는 텍스트 커맨드를 통해 이루어질 수 있다.
블록(410)에서, 오브젝트 데이터는 이미지 내의 오브젝트에 대한 적어도 하나의 오브젝트 식별자 및 블록(408)의 선택에 의해 선택된 선택 가능 요소에 대응하는 대화 모드를 사용하여 식별될 수 있다. 오브젝트에 대한 오브젝트 식별자는 블록(406)에서 이용되는 동일한 오브젝트 식별자일 수 있고 및/또는 추가 오브젝트 식별자(예를 들어, 블록(406)에서 이용된 오브젝트 식별자보다 더 세부적으로 오브젝트를 식별하는 오브젝트 식별자)를 포함할 수 있다. 자동화 어시스턴트는 컴퓨팅 디바이스의 메모리 디바이스에서 이용 가능한 데이터를 사용하여 컴퓨팅 디바이스에서 오브젝트 데이터를 식별할 수 있다. 대안적으로, 자동화 어시스턴트는 디스플레이 디바이스에 제시하기 위한 오브젝트 데이터를 수집하기 위해 하나 이상의 원격 디바이스로 하나 이상의 쿼리를 제공할 수 있다. 예를 들어, 쿼리는 검색 엔진을 호스팅하는 서버에 제공된 검색 엔진 쿼리일 수 있다. 그 쿼리의 결과에는 다른 사람이 제출한 오브젝트의 리뷰가 포함될 수 있으며, 오브젝트 데이터는 하나 이상의 결과에 기초하여 식별될 수 있다. 예를 들어, 오브젝트가 식당이고 자동화 어시스턴트가 리뷰 이미지 대화 모드로 작동하고 있는 경우, 오브젝트 데이터는 검색 엔진에 의해 식별된 하나 이상의 리뷰 중 일부를 포함할 수 있다.
블록(412)에서 방법(400)은 오브젝트가 디스플레이 디바이스에 그래픽적으로 표현되는 것과 동시에 오브젝트 데이터가 디스플레이 디바이스에서 그래픽적으로 표현되게 하는 단계를 포함할 수 있다. 다시 말해서, 카메라가 거리의 식당으로 향하고 있고, 카메라로부터의 실시간 이미지 피드가 디스플레이 디바이스에 디스플레이되는 경우, 오브젝트 데이터는 실시간 이미지 피드를 통해 제시될 수 있다. 카메라가 다른 레스토랑과 같은 다른 오브젝트를 지향하는 경우, 자동화 어시스턴트 또는 원격 디바이스에 의해 다른 레스토랑에 대한 별개의 오브젝트 식별자가 생성될 수 있다. 별개의 오브젝트 식별자는 다른 레스토랑과 관련된 리뷰 또는 다른 오브젝트 데이터를 검색하는데 사용될 수 있고, 그 리뷰 또는 다른 오브젝트 데이터는 디스플레이 디바이스에 자동으로 제시될 수 있다.
도 5는 컴퓨팅 디바이스의 카메라가 지향되는 오브젝트에 기초하여 컴퓨팅 디바이스의 인터페이스에 오브젝트 데이터를 제공하기 위한 방법(500)을 도시한다. 이 방법(500)은 컴퓨팅 디바이스, 서버 디바이스 및/또는 이미지 관련 데이터를 처리할 수 있는 임의의 다른 디바이스에 의해 수행될 수 있다. 방법(500)은 어시스턴트 애플리케이션이 컴퓨팅 디바이스의 카메라에 의해 제공되는 실시간 이미지 피드에 응답하는 이미지 대화 모드에서 어시스턴트 애플리케이션을 동작시키는 블록(502)을 포함할 수 있다. 어시스턴트 애플리케이션은 컴퓨팅 디바이스에 제공되거나 컴퓨팅 디바이스에 액세스 가능할 수 있다. 또한, 이미지 대화 모드는 어시스턴트 애플리케이션으로 하여금 카메라가 하나 이상의 특정 오브젝트로 향하는 것에 응답하여 그래픽, 가청 또는 다른 출력을 제공하게 하는 동작 모드일 수 있다. 예를 들어, 이미지 대화 모드는 어시스턴트 애플리케이션이 사용자가 카메라를 오브젝트로 향할 때 어시스턴트 애플리케이션이 오브젝트에 관한 사실을 제공하는 사실 모드일 수 있다. 이것은 사용자가 휴가 중이고 주변 환경에 관심이 있을 때 도움이 될 수 있지만 주변 환경에 대한 정보를 수신하기 위해 어시스턴트 애플리케이션에 다수의 구두 또는 텍스트 쿼리를 제공하는 것이 불편할 수 있다.
블록(504)에서 방법(500)은 어시스턴트 애플리케이션으로 하여금 이미지 피드가 디스플레이되는 컴퓨팅 디바이스의 인터페이스에서 오브젝트 데이터를 제공하게 하는 단계를 포함할 수 있다. 오브젝트 데이터는 이미지 피드에 그래픽적으로 표현된 제 1 오브젝트 및 이미지 대화 모드와 관련된 데이터 유형에 대응할 수 있다. 예를 들어, 이미지 대화 모드가 사실 이미지 대화 모드이고 제 1 오브젝트가 기념비인 경우, 어시스턴트 애플리케이션은 오브젝트 데이터로서 제 1 오브젝트에 관한 역사적인 사실(예를 들어, "워싱턴 기념비의 건설은 1848년에 시작되었습니다")을 제공할 수 있다. 오브젝트 데이터는 제 1 오브 젝트와 관련된 데이터를 호스팅하는 원격 서버로부터 획득될 수 있다. 오브젝트에 대한 식별자는 어시스턴트 애플리케이션 또는 이미지 내의 오브젝트를 식별하기 위한 하나 이상의 이미지 처리 기술을 사용하는 원격 디바이스에 의해 생성될 수 있다. 예를 들어, 제 1 오브젝트의 이미지는 이미지를 수신하고 그 이미지로부터 웹 검색 결과를 제공할 수 있는 이미지-기반 검색 엔진으로 전송될 수 있다. 웹 검색 결과는 오브젝트에 관한 추가 정보를 검색하기 위해 어시스턴트 애플리케이션에 의해 사용될 수 있는 오브젝트 식별자(예를 들어, "워싱턴 기념비")를 포함할 수 있다.
블록(506)에서 방법(500)은 컴퓨팅 디바이스의 인터페이스에서, 카메라가 향하는 제 2 오브젝트의 그래픽 표현의 선택을 수신하는 단계를 포함할 수 있다. 그래픽 표현의 선택은 제 2 오브젝트가 표현되는 인터페이스상의 위치에서의 탭 제스처를 포함할 수 있다. 일부 구현들에서, 그래픽 표현의 선택은 사용자가 카메라를 제 2 오브젝트로 향하게 하는 것일 수 있다. 이러한 방식으로, 사용자는 다른 오브젝트에 관한 데이터를 수집하기 위해 카메라를 위치에 있는 다른 오브젝트로 원활하게 조종할 수 있다. 예를 들어, 어시스턴트 애플리케이션이 사실 이미지 대화 모드에서 작동하는 동안, 사용자는 카메라를 제 1 오브젝트(예를 들어, 워싱턴 기념비)로 지향한 다음 카메라를 제 2 오브젝트(예를 들어, 백악관)로 방향을 재향할 수 있다. 제 2 오브젝트가 카메라에 의해 제공된 실시간 이미지 피드에 나타나는 경우, 적어도 이미지 대화 모드와 관련하여 제 2 오브젝트가 선택된 것으로 간주될 수 있다.
블록(508)에서 방법(500)은 어시스턴트 애플리케이션으로 하여금 컴퓨팅 디바이스의 인터페이스에서 상이한 오브젝트 데이터를 제공하게 하는 단계를 포함할 수 있다. 상이한 오브젝트 데이터는 이미지 대화 모드와 관련된 데이터 유형에 대응할 수 있다. 예를 들어 어시스턴트 애플리케이션이 사실 대화 모드에서 작동하고 제 2 오브젝트가 백악관인 경우, 다른 오브젝트 데이터는 백악관에 대한 사실(예를 들어, "백악관의 첫 번째 대통령 집무실은 190년에 건립되었습니다")일 수 있다. 일부 구현들에서, 제 2 오브젝트를 향하는 카메라와 관련된 컨텍스트 데이터는 사용자에게 제시되는 오브젝트 데이터에 대한 기초로서 사용될 수 있다. 예를 들어, 컨텍스트 데이터는 사용자를 제 2 오브젝트 위치에 대한 방문자로서 식별할 수 있으므로, 어시스턴트 애플리케이션은 사용자가 이미지 대화 모드를 동작하는 동안 그 위치에서 수행할 일에 대한 세부 사항을 제공할 수 있다. 컨텍스트 데이터는 제 2 오브젝트가 보여지고 있는 시간을 포함할 수 있고, 어시스턴트 애플리케이션은 그 시간을 사용하여 제 2 오브젝트에서 또는 근처에서 수행할 활동을 식별할 수 있다. 예를 들어 제 2 오브젝트가 백악관이고 시간이 부활절 다음 월요일인 경우, 제 2 오브젝트 데이터는 "오늘은 백악관의 부활절 달걀 굴리기 날입니다"와 같은 메시지를 포함할 수 있다.
도 6은 예시적인 컴퓨터 시스템(610)의 블록도이다. 컴퓨터 시스템(610)은 전형적으로 버스 서브 시스템(612)을 통해 다수의 주변 디바이스와 통신하는 적어도 하나의 프로세서(614)를 포함한다. 이들 주변 디바이스는 예를 들어 메모리(625) 및 파일 저장 서브 시스템(626), 사용자 인터페이스 출력 디바이스(620), 사용자 인터페이스 입력 디바이스(622) 및 네트워크 인터페이스 서브 시스템(616)을 포함하는 저장 서브 시스템(624)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨터 시스템(610)과의 사용자 상호 작용을 가능케 한다. 네트워크 인터페이스 서브 시스템(616)은 외부 네트워크로 인터페이스를 제공하고 다른 컴퓨터 시스템의 대응하는 인터페이스 디바이스에 연결된다.
사용자 인터페이스 입력 디바이스(622)는 키보드, 포인팅 디바이스(예를 들어, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿), 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템과 같은 오디오 입력 디바이스, 마이크로폰 및/또는 다른 유형의 입력 디바이스를 포함할 수 있다. 일반적으로, "입력 디바이스"라는 용어의 사용은 모든 가능한 유형의 디바이스 및 정보를 컴퓨터 시스템(610) 또는 통신 네트워크에 입력하는 방법을 포함하는 것으로 의도된다.
사용자 인터페이스 출력 디바이스(620)는 디스플레이 서브 시스템, 프린터, 팩스기, 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브 시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평판 디바이스, 프로젝션 디바이스, 또는 시각적 이미지를 생성하기 위한 일부 다른 메커니즘을 포함할 수 있다. 디스플레이 서브 시스템은 또한 오디오 출력 디바이스를 통한 것과 같은 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, "출력 디바이스"라는 용어의 사용은 모든 가능한 유형의 디바이스 및 컴퓨터 시스템(610)으로부터 사용자 또는 다른 기계 또는 컴퓨터 시스템으로 정보를 출력하는 방법을 포함하는 것으로 의도된다.
스토리지 서브 시스템(624)은 본 명세서에 설명된 일부 또는 모든 모듈의 기능을 제공하는 프로그래밍 및 데이터 구성을 저장한다. 예를 들어, 스토리지 서브 시스템(624)은 방법(400), 방법(500)의 선택된 양태를 수행하고 및/또는 하나 이상의 컴퓨팅 디바이스(102), 서버 디바이스(112), 어시스턴트 애플리케이션(118), 원격 디바이스(112) 및/또는 본 명세서에서 논의된 임의의 다른 애플리케이션 또는 디바이스를 구현하기 위한 로직을 포함할 수 있다.
이들 소프트웨어 모듈은 일반적으로 프로세서(614)에 의해 단독으로 또는 다른 프로세서와의 조합으로 실행된다. 스토리지 서브 시스템(624)에 사용되는 메모리(625)는 프로그램 실행 동안 명령 및 데이터를 저장하기 위한 메인 랜덤 액세스 메모리(RAM)(630) 및 고정 명령이 저장된 판독 전용 메모리(ROM)(632)를 포함하는 다수의 메모리를 포함할 수 있다. 파일 저장 서브 시스템(626)은 프로그램 및 데이터 파일을 위한 영구적인 스토리지를 제공할 수 있으며, 하드 디스크 드라이브, 플로피 디스크 드라이브 및 관련 이동식 매체, CD-ROM 드라이브, 광학 드라이브 또는 이동식 매체 카트리지를 포함할 수 있다. 특정 구현들의 기능을 구현하는 모듈은 파일 스토리지 서브 시스템(626)에 의해 스토리지 서브 시스템(624)에 저장되거나 프로세서(들)(614)에 의해 액세스 가능한 다른 머신에 저장될 수 있다.
버스 서브 시스템(612)은 컴퓨터 시스템(610)의 다양한 구성 요소 및 서브 시스템이 의도된 대로 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브 시스템(612)이 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브 시스템의 대안적인 구현은 다수의 버스를 사용할 수 있다.
컴퓨터 시스템(610)은 워크 스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜, 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 6에 도시된 컴퓨터 시스템(610)의 설명은 일부 구현예를 설명하기 위한 특정 예로서만 의도된다. 컴퓨터 시스템(610)의 많은 다른 구성은 도 6에 도시된 컴퓨터 시스템보다 더 많거나 적은 구성 요소를 가질 수 있다.
본 명세서에 기술된 시스템이 사용자(또는 본 명세서에서 종종 "참가자"라고 지칭됨)에 관한 개인 정보를 수집하거나 개인 정보를 이용할 수 있는 상황에서, 사용자는 프로그램 또는 특징이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션 또는 활동, 직업, 사용자의 선호도, 또는 사용자의 현재 지리적 위치에 관한 정보)를 수집하는지 여부를 제어하거나, 사용자에게 더 관련될 수 있는 컨텐츠를 컨텐츠 서버로부터 수신할지 여부 및/또는 방법을 제어할 기회를 제공받을 수 있다. 또한, 특정 데이터는 개인 식별 정보가 제거되도록 저장 또는 사용하기 전에 하나 이상의 방식으로 처리될 수 있다. 예를 들어, 사용자의 신원은 개인 식별 정보가 결정되지 않도록 처리되거나, 사용자의 특정 지리적 위치가 결정되지 않도록 지리적 위치 정보가 획득되는 곳(예를 들어, 도시, 우편 번호 또는 주와 같은)으로 일반화될 수 일반화될 수 있다. 따라서, 사용자는 사용자에 관한 정보가 수집되고 및/또는 사용되는 방법을 제어할 수 있다.
여러 구현들이 본 명세서에서 설명되고 도시되었지만, 그 기능을 수행하고 및/또는 결과를 획득하기 위한 다양한 다른 수단 및/또는 구조 및/또는 본 명세서에서 기술된 하나 이상의 장점이 이용될 수 있으며, 이러한 각각의 변형 및/또는 수정은 본 명세서에 설명된 구현의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 기술된 모든 파라미터, 치수, 재료 및 구성은 예시적인 것이며 실제 파라미터, 치수, 재료 및/또는 구성은 그 교시가 사용되는 애플리케이션 또는 애플리케이션들에 의존할 것이다. 당업자는 일상적인 실험을 사용하여 본 명세서에 기술된 특정 구현과 많은 등가물을 인식하거나 확인할 수 있을 것이다. 따라서, 전술한 구현예는 단지 예로서 제시된 것이며 첨부된 청구 범위 및 그 등가의 범위 내에서, 구체적으로 기술되고 청구된 것과 다르게 구현될 수 있음을 이해해야 한다. 본 개시의 구현은 본 명세서에 설명된 각각의 개별적인 특징, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 이러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법이 서로 일치하지 않는 경우, 둘 이상의 이러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법의 조합이 본 개시의 범위 내에 포함된다.

Claims (20)

  1. 하나 이상의 프로세서에 의해 구현되는 방법으로서,
    컴퓨팅 디바이스의 카메라로부터 실시간 이미지 피드로 그래픽적으로 표현된 오브젝트에 대한 오브젝트 식별자를 생성하는 단계와, 상기 실시간 이미지 피드는 컴퓨팅 디바이스의 인터페이스에 디스플레이되고, 상기 오브젝트 식별자를 생성하는 단계는 실시간 이미지 피드로부터 하나 이상의 이미지를 처리하는 단계를 포함하고;
    생성된 오브젝트 식별자에 기초하여, 컴퓨팅 디바이스의 카메라를 통해 어시스턴트 애플리케이션과 상호 작용하기 위한 복수의 대화 모드로부터 대화 모드를 선택하는 단계와;
    대화 모드의 선택에 응답하여, 그 선택된 대화 모드에 대응하는 선택 가능 요소가 컴퓨팅 디바이스의 인터페이스에 디스플레이되게 하는 단계와;
    인터페이스에서, 상기 선택 가능 요소의 선택을 수신하는 단계와;
    선택을 수신하는 것에 응답하여, 다른 대화 모드를 식별하는 추가 선택 가능 요소와 함께 데이터가 인터페이스에 디스플레이되게 하는 단계와, 상기 데이터는 오브젝트 식별자에 의해 식별된 오브젝트와 관련되고 상기 선택된 대화 모드에 기초하며;
    데이터가 인터페이스에 디스플레이되게 한 후:
    추가 오브젝트가 카메라의 시야 내에 있도록 사용자가 카메라를 재지향(re-directed)했다고 결정하는 단계와,
    추가 오브젝트가 카메라의 시야 내에 있는 것에 응답하여, 추가 오브젝트의 추가 이미지가 인터페이스에서 렌더링되게 하는 단계와; 그리고
    추가 오브젝트가 카메라의 시야 내에 있는 것에 응답하여, 추가 오브젝트 데이터가 상기 추가 오브젝트 및 인터페이스에서 렌더링되는 추가 선택 가능 요소와 동시에 인터페이스에서 제공되게 하는 단계를 포함하고, 상기 인터페이스에서 제공되는 추가 오브젝트 데이터는 선택된 대화 모드에 기초하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  2. 제1항에 있어서,
    상기 실시간 이미지 피드가 인터페이스에 디스플레이될 때:
    인터페이스에서 오브젝트의 그래픽 표현의 다른 선택을 수신하는 단계를 더 포함하고,
    상기 오브젝트 식별자를 생성하는 단계는 상기 오브젝트의 그래픽 표현의 선택을 수신하는 단계에 응답하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  3. 제2항에 있어서,
    상기 데이터는
    상기 오브젝트의 그래픽 표현을 디스플레이하는 인터페이스와 동시에 디스플레이되는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  4. 제1항에 있어서,
    상기 선택 가능 요소는,
    상기 어시스턴트 애플리케이션이 데이터를 제공하는 대화 모드를 식별하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  5. 제1항에 있어서,
    상기 실시간 이미지 피드와 관련된 컨텍스트 데이터를 결정하는 단계를 더 포함하고, 상기 대화 모드를 선택하는 단계는 컨텍스트 데이터에 더 기초하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  6. 제5항에 있어서,
    상기 컨텍스트 데이터는,
    상기 컴퓨팅 디바이스의 위치를 식별하는 지리적 위치 데이터를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  7. 제5항에 있어서,
    상기 컨텍스트 데이터는,
    상기 실시간 이미지 피드가 카메라에 의해 생성되는 시간을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  8. 시스템으로서,
    카메라;
    디스플레이 디바이스;
    디스플레이 디바이스 및 카메라와 통신하는 하나 이상의 프로세서; 및
    하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 단계들을 수행하게 하는 명령들을 저장하도록 구성된 메모리를 포함하고, 상기 단계들은,
    카메라로부터 카메라의 시야 내에 존재하는 오브젝트를 캡처하는 이미지 데이터를 수신하는 단계와;
    이미지 데이터를 처리하는 것에 기초하여, 오브젝트에 대한 오브젝트 식별자를 결정하는 단계와;
    선택 가능 요소가 디스플레이 디바이스에서 그래픽적으로 표현되게 하는 단계와, 상기 선택 가능 요소는 카메라를 사용하여 어시스턴트 애플리케이션과 상호 작용하기 위한 복수의 대화 모드의 대화 모드를 식별하고;
    디스플레이 디바이스에서 그래픽적으로 표현되는 선택 가능 요소의 선택을 수신하는 단계와;
    오브젝트 식별자 및 선택 식별자에 기초하여 사용자에게 오브젝트 데이터를 제공하는 것을 촉진하기 위해, 선택 가능 요소의 선택에 기초하여, 상기 수신된 선택에 대응하는 오브젝트 식별자 및 선택 식별자를 처리하는 단계와; 그리고
    오브젝트 데이터가 디스플레이 디바이스에서 그래픽적으로 표현되게 한 후:
    추가 오브젝트가 카메라의 시야 내에 있도록 사용자가 카메라를 재지향했다고 결정하는 단계,
    추가 오브젝트가 카메라의 시야 내에 있는 것에 응답하여, 추가 오브젝트의 이미지가 디스플레이 디바이스에서 렌더링되게 하는 단계; 및
    추가 오브젝트가 카메라의 시야 내에 있는 것에 응답하여, 추가 오브젝트 데이터가 상기 추가 오브젝트 및 디스플레이 디바이스에서 렌더링되는 추가 선택 가능 요소와 동시에 디스플레이 디바이스에서 제공되게 하는 단계를 포함하고, 상기 디스플레이 디바이스에서 제공되는 추가 오브젝트 데이터는 대화 모드에 기초하는 것을 특징으로 하는 시스템.
  9. 제8항에 있어서,
    상기 오브젝트는,
    상기 하나 이상의 원격 디바이스에서 이용 가능한 상이한 유형의 오브젝트 데이터와 관련되고, 그리고
    상기 대화 모드는 어시스턴트 애플리케이션에 의해 디스플레이 디바이스에서 표현될 적어도 하나의 유형의 오브젝트 데이터와 관련되는 것을 특징으로 하는 시스템.
  10. 삭제
  11. 삭제
  12. 제9항에 있어서,
    상기 단계들은,
    상기 오브젝트에 대응하는 오브젝트 데이터를 렌더링한 후:
    상이한 선택 가능 요소가 상기 디스플레이 디바이스에서 렌더링되는 추가 오브젝트의 이미지와 동시에 디스플레이 디바이스에서 그래픽적으로 표현되게 하는 단계를 더 포함하고, 상기 상이한 선택 가능 요소는 카메라를 사용하여 어시스턴트 애플리케이션과 상호 작용하기 위한 상이한 대화 모드를 식별하는 것을 특징으로 하는 시스템.
  13. 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 단계들을 수행하게 하는 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 매체로서, 상기 단계들은,
    어시스턴트 애플리케이션이 컴퓨팅 디바이스의 카메라에 의해 제공되는 실시간 이미지 피드에 응답하는 이미지 대화 모드에서 어시스턴트 애플리케이션을 동작시키는 단계와;
    어시스턴트 애플리케이션이 상기 실시간 이미지 피드가 디스플레이되는 컴퓨팅 디바이스의 인터페이스에서 오브젝트 데이터를 제공하게 하는 단계와;
    인터페이스에서, 카메라가 지향하는 제1 오브젝트의 그래픽 표현의 선택을 수신하는 단계와;
    어시스턴트 애플리케이션이 실시간 이미지 피드로 그래픽적으로 표현되는 제1 오브젝트에 대응하는 오브젝트 데이터 및 상기 이미지 대화 모드와 관련된 데이터 유형을 제공하게 하는 단계와;
    제1 오브젝트에 대응하는 오브젝트 데이터를 렌더링한 후:
    제2 오브젝트가 카메라의 시야 내에 있도록 사용자가 카메라를 재지향했다고 결정하는 단계,
    제2 오브젝트가 카메라의 시야 내에 있는 것에 응답하여, 제2 오브젝트의 이미지 및 추가 선택 가능 요소가 인터페이스에서 렌더링되게 하는 단계, 상기 추가 선택 가능 요소는 다른 이미지 대화 모드를 식별하고, 및
    제2 오브젝트가 카메라의 시야 내에 있는 것에 응답하여, 추가 오브젝트 데이터가 상기 제2 오브젝트 및 렌더링되는 추가 선택 가능 요소와 동시에 인터페이스에서 제공되게 하는 단계를 포함하고, 상기 인터페이스에서 제공되는 추가 오브젝트 데이터는 이미지 대화 모드에 기초하는 것을 특징으로하는 비-일시적 컴퓨터 판독 가능 매체.
  14. 제13항에 있어서,
    상기 단계들은,
    실시간 이미지 피드와 관련된 컨텍스트 데이터를 생성하는 단계와; 그리고
    상기 컨텍스트 데이터에 따라 데이터 유형을 선택하는 단계를 더 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  15. 제14항에 있어서,
    상기 데이터 유형은,
    금전 데이터, 영양 데이터 또는 사실 데이터를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체
  16. 제14항에 있어서,
    상기 컨텍스트 데이터는,
    상기 컴퓨팅 디바이스와 관련된 지리적 위치 데이터 또는 상기 실시간 이미지 피드와 관련된 시간 데이터를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  17. 제13항에 있어서,
    상기 단계들은,
    상기 어시스턴트 애플리케이션이 제2 오브젝트의 그래픽 표현의 선택을 수신하는 것에 응답하여 제3자 에이전트 애플리케이션에 추가 오브젝트 데이터를 쿼리하게 하는 단계를 더 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  18. 제17항에 있어서,
    상기 어시스턴트 애플리케이션이 제3자 에이전트 애플리케이션에 쿼리하게 하는 단계는,
    상기 제2 오브젝트에 대응하는 오브젝트 식별자가 제3자 에이전트 애플리케이션을 호스팅하는 원격 디바이스로 전송되게 하는 단계를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  19. 삭제
  20. 제13항에 있어서,
    상기 단계들은,
    제1 오브젝트에 대응하는 오브젝트 데이터를 렌더링한 후:
    상기 어시스턴트 애플리케이션이 인터페이스에서 렌더링되는 제2 오브젝트의 이미지와 동시에 컴퓨팅 디바이스의 인터페이스에서 선택 가능 요소를 제공하게 하는 단계를 더 포함하고, 상기 선택 가능 요소는 어시스턴트 애플리케이션을 통해 이용 가능한 상이한 이미지 대화 모드를 식별하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
KR1020197036386A 2017-09-09 2018-09-07 이미지 응답형 자동화 어시스턴트를 위한 시스템, 방법 및 장치 KR102297392B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217027310A KR102421662B1 (ko) 2017-09-09 2018-09-07 이미지 응답형 자동화 어시스턴트를 위한 시스템, 방법 및 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/700,106 US10607082B2 (en) 2017-09-09 2017-09-09 Systems, methods, and apparatus for image-responsive automated assistants
US15/700,106 2017-09-09
PCT/US2018/050047 WO2019051293A1 (en) 2017-09-09 2018-09-07 SYSTEMS, METHODS, AND APPARATUS FOR IMAGE SENSITIVE AUTOMATED ASSISTANT

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217027310A Division KR102421662B1 (ko) 2017-09-09 2018-09-07 이미지 응답형 자동화 어시스턴트를 위한 시스템, 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200006563A KR20200006563A (ko) 2020-01-20
KR102297392B1 true KR102297392B1 (ko) 2021-09-03

Family

ID=63858031

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197036386A KR102297392B1 (ko) 2017-09-09 2018-09-07 이미지 응답형 자동화 어시스턴트를 위한 시스템, 방법 및 장치
KR1020217027310A KR102421662B1 (ko) 2017-09-09 2018-09-07 이미지 응답형 자동화 어시스턴트를 위한 시스템, 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217027310A KR102421662B1 (ko) 2017-09-09 2018-09-07 이미지 응답형 자동화 어시스턴트를 위한 시스템, 방법 및 장치

Country Status (6)

Country Link
US (3) US10607082B2 (ko)
EP (1) EP3532940A1 (ko)
JP (2) JP2020530604A (ko)
KR (2) KR102297392B1 (ko)
CN (2) CN117666896A (ko)
WO (1) WO2019051293A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10206014B2 (en) * 2014-06-20 2019-02-12 Google Llc Clarifying audible verbal information in video content
US9805125B2 (en) 2014-06-20 2017-10-31 Google Inc. Displaying a summary of media content items
US10607082B2 (en) * 2017-09-09 2020-03-31 Google Llc Systems, methods, and apparatus for image-responsive automated assistants
US10984503B1 (en) 2018-03-02 2021-04-20 Autodata Solutions, Inc. Method and system for vehicle image repositioning using machine learning
US11270168B1 (en) * 2018-03-02 2022-03-08 Autodata Solutions, Inc. Method and system for vehicle image classification
KR102566149B1 (ko) * 2018-08-08 2023-08-11 삼성전자주식회사 이미지에 포함된 상품 정보와 관련된 키워드를 제공하기위한 전자 장치
WO2020103001A1 (zh) * 2018-11-20 2020-05-28 华为技术有限公司 一种估算物体参数的方法以及电子设备
KR20210017087A (ko) * 2019-08-06 2021-02-17 삼성전자주식회사 음성 인식 방법 및 이를 지원하는 전자 장치
US10664721B1 (en) * 2019-08-07 2020-05-26 Capital One Services, Llc Systems and methods for generating graphical user interfaces
US11803887B2 (en) * 2019-10-02 2023-10-31 Microsoft Technology Licensing, Llc Agent selection using real environment interaction
US11553407B2 (en) * 2020-12-14 2023-01-10 Capital One Services, Llc Methods and systems for signal interpretation via image analysis
US11709653B1 (en) 2022-04-11 2023-07-25 Google Llc Contextual assistant using mouse pointing or touch cues

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130044132A1 (en) * 2007-10-18 2013-02-21 Yahoo! Inc. User augmented reality for camera-enabled mobile devices

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031875B2 (en) * 2001-01-24 2006-04-18 Geo Vector Corporation Pointing systems for addressing objects
US7716037B2 (en) * 2004-05-24 2010-05-11 Sri International Method and apparatus for natural language translation in a finite domain
JP2006146454A (ja) * 2004-11-18 2006-06-08 Sony Corp 情報変換装置および情報変換方法
JP2009301248A (ja) * 2008-06-12 2009-12-24 Canon Inc 言語処理装置
EP2378392B1 (en) * 2008-12-25 2016-04-13 Panasonic Intellectual Property Management Co., Ltd. Information displaying apparatus and information displaying method
US8670597B2 (en) * 2009-08-07 2014-03-11 Google Inc. Facial recognition with social network aiding
US9977496B2 (en) * 2010-07-23 2018-05-22 Telepatheye Inc. Eye-wearable device user interface and augmented reality method
KR101337555B1 (ko) * 2010-09-09 2013-12-16 주식회사 팬택 객체 연관성을 이용한 증강 현실 제공 장치 및 방법
TWI451347B (zh) 2011-11-17 2014-09-01 Univ Nat Chiao Tung 物品資料查詢系統及方法
KR101923929B1 (ko) * 2012-06-06 2018-11-30 삼성전자주식회사 증강 현실 서비스를 제공하는 이동통신 단말기 및 증강 현실 서비스에 대한 화면으로의 화면 전환 방법
US20140152882A1 (en) * 2012-12-04 2014-06-05 Hand Held Products, Inc. Mobile device having object-identification interface
JP2014116852A (ja) * 2012-12-11 2014-06-26 Canon Inc 監視システム
US10185898B1 (en) * 2013-05-01 2019-01-22 Cloudsight, Inc. Image processing including streaming image output
US10223454B2 (en) * 2013-05-01 2019-03-05 Cloudsight, Inc. Image directed search
KR102098058B1 (ko) * 2013-06-07 2020-04-07 삼성전자 주식회사 뷰 모드에서 정보 제공 방법 및 장치
US9830044B2 (en) * 2013-12-31 2017-11-28 Next It Corporation Virtual assistant team customization
US9690370B2 (en) * 2014-05-05 2017-06-27 Immersion Corporation Systems and methods for viewport-based augmented reality haptic effects
CN115359567A (zh) * 2014-06-14 2022-11-18 奇跃公司 用于产生虚拟和增强现实的方法和***
JP6705124B2 (ja) * 2015-04-23 2020-06-03 セイコーエプソン株式会社 頭部装着型表示装置、情報システム、頭部装着型表示装置の制御方法、および、コンピュータープログラム
US9798143B2 (en) 2014-08-11 2017-10-24 Seiko Epson Corporation Head mounted display, information system, control method for head mounted display, and computer program
US10725533B2 (en) * 2014-09-26 2020-07-28 Intel Corporation Systems, apparatuses, and methods for gesture recognition and interaction
TWI540522B (zh) * 2015-02-26 2016-07-01 宅妝股份有限公司 採用虛擬實境與擴增實境技術的虛擬購物系統與方法
US20160283564A1 (en) * 2015-03-26 2016-09-29 Dejavuto Corp. Predictive visual search enginge
US10768772B2 (en) * 2015-11-19 2020-09-08 Microsoft Technology Licensing, Llc Context-aware recommendations of relevant presentation content displayed in mixed environments
US9866927B2 (en) * 2016-04-22 2018-01-09 Microsoft Technology Licensing, Llc Identifying entities based on sensor data
US10299982B2 (en) * 2017-07-21 2019-05-28 David M Frankel Systems and methods for blind and visually impaired person environment navigation assistance
US10607082B2 (en) * 2017-09-09 2020-03-31 Google Llc Systems, methods, and apparatus for image-responsive automated assistants
WO2019160194A1 (ko) * 2018-02-14 2019-08-22 엘지전자 주식회사 이동 단말기 및 그 제어방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130044132A1 (en) * 2007-10-18 2013-02-21 Yahoo! Inc. User augmented reality for camera-enabled mobile devices

Also Published As

Publication number Publication date
JP2020530604A (ja) 2020-10-22
US20220392216A1 (en) 2022-12-08
EP3532940A1 (en) 2019-09-04
JP2022115933A (ja) 2022-08-09
US20190080169A1 (en) 2019-03-14
CN110741331A (zh) 2020-01-31
CN110741331B (zh) 2023-12-08
WO2019051293A1 (en) 2019-03-14
US11417092B2 (en) 2022-08-16
JP7461405B2 (ja) 2024-04-03
KR102421662B1 (ko) 2022-07-14
CN117666896A (zh) 2024-03-08
KR20210109052A (ko) 2021-09-03
US10607082B2 (en) 2020-03-31
US20200202130A1 (en) 2020-06-25
KR20200006563A (ko) 2020-01-20

Similar Documents

Publication Publication Date Title
KR102297392B1 (ko) 이미지 응답형 자동화 어시스턴트를 위한 시스템, 방법 및 장치
US11929072B2 (en) Using textual input and user state information to generate reply content to present in response to the textual input
US10803244B2 (en) Determining phrase objects based on received user input context information
JP7277569B2 (ja) 検出されたジェスチャおよび凝視に基づく自動化アシスタントの機能の呼び出し
US11908187B2 (en) Systems, methods, and apparatus for providing image shortcuts for an assistant application
JP6938680B2 (ja) 関連コンテンツを使用した画像の効率的な増強
US20160224591A1 (en) Method and Device for Searching for Image
KR20230025917A (ko) 여행과 연관된 증강 현실 기반 음성 번역
JP7471371B2 (ja) アシスタントデバイスのディスプレイにレンダリングするコンテンツの選択
US20200410049A1 (en) Personalizing online feed presentation using machine learning
CN110688011B (zh) 基于多模态客户端设备的模态的动态列表构成
US20240061694A1 (en) Interactive application widgets rendered with assistant content
KR20230162696A (ko) 사용자 콘텐츠를 위한 분류 추천들의 결정

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right