KR20120075487A - 센서-기반 모바일 검색, 관련 방법들 및 시스템들 - Google Patents

센서-기반 모바일 검색, 관련 방법들 및 시스템들 Download PDF

Info

Publication number
KR20120075487A
KR20120075487A KR1020127013550A KR20127013550A KR20120075487A KR 20120075487 A KR20120075487 A KR 20120075487A KR 1020127013550 A KR1020127013550 A KR 1020127013550A KR 20127013550 A KR20127013550 A KR 20127013550A KR 20120075487 A KR20120075487 A KR 20120075487A
Authority
KR
South Korea
Prior art keywords
user
data
image
information
baubles
Prior art date
Application number
KR1020127013550A
Other languages
English (en)
Other versions
KR101796008B1 (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 디지맥 코포레이션
Publication of KR20120075487A publication Critical patent/KR20120075487A/ko
Application granted granted Critical
Publication of KR101796008B1 publication Critical patent/KR101796008B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/14Measuring arrangements characterised by the use of optical techniques for measuring distance or clearance between spaced objects or spaced apertures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3629Guidance using speech or audio output, e.g. text-to-speech
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/24765Rule-based classification
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • G06V10/765Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/08Feature extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/52Details of telephonic subscriber devices including functional features of a camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Human Computer Interaction (AREA)
  • Development Economics (AREA)
  • Automation & Control Theory (AREA)
  • Accounting & Taxation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephone Function (AREA)

Abstract

스마트폰은 사용자의 환경으로부터 오디오, 화상, 및/또는 다른 자극들을 감지하며, 추론되거나 또는 예상된 사용자의 바람들을 이행하도록 자율적으로 동작한다. 일 양태에서, 상세한 기술은 전화기의 카메라에 의해 보여진 장면의 전화-기반 인지에 관련된다. 상기 장면에 적용된 이미지 프로세싱 태스크들은 리소스 비용들, 리소스 제약들, 다른 자극들 정보(예로서, 오디오), 태스트 대체가능성 등에 대한 참조에 의해 다양한 대안들 가운데 선택될 수 있다. 상기 전화는 상기 태스크가 어떻게 성공적으로 진행하는지에 의존하여, 또는 상기 태스크에서 상기 사용자의 명확한 관심에 기초하여 이미지 프로세싱 태스크에 다소간의 보다 많거나 또는 보다 적은 리소스들을 적용할 수 있다. 몇몇 장치들에서, 데이터는 분석을 위한, 또는 수집을 위한 상기 클라우드에 참조될 수 있다. 적절한 디바이스 응답(들)의 인지, 및 식별은 콘텍스트와 같이, 부차적인 정보에 의해 도움을 받을 수 있다. 다수의 다른 특징들 및 장치들이 또한 상세히 설명된다.

Description

센서-기반 모바일 검색, 관련 방법들 및 시스템들{SENSOR-BASED MOBILE SEARCH, RELATED METHODS AND SYSTEMS}
관련 출원 데이터
미국에서, 본 출원은 가 특허 출원들, 2009년 10월 28일에 출원된 제61/255,817호; 2009년 11월 13일에 출원된 제61/261,028호; 2009년 11월 20일에 출원된 제61/263,318호; 2009년 11월 25일에 출원된 제61/264,639호; 2009년 12월 4일에 출원된 제61/266,965호; 및 2009년 12월 11일에 출원된 제61/285,726호에 대한 우선권을 주장하며, 2009년 12월 17일에 출원된 실용 특허 출원 제12/640,386호의 계속 출원이다.
본 명세서는 특허 제6,947,571호, 및 2008년 11월 14일에 출원된 특허 제12/271,772호(US20100119208로서 공개된); 2009년 6월 24일에 출원된 제 12/490,980호(US20100205628로서 공개된); 및 2009년 8월 19일에 출원된 PCT 출원 PCT/US09/54358(WO20010022185로서 공개된)을 포함한 양수인의 이전 특허들 및 특허 출원들에 상세히 열거된 기술에 대한 다양한 확장들 및 개선들을 상세히 열거한다. 판독자는 이러한 발행물들에 상세히 열거된 주제를 잘 알고 있는 것으로 추정된다.
이전 작업으로부터의 원리들 및 교시들은 현재-기술된 장치들의 문맥에서 이용되도록 의도되며, 그 역 또한 마찬가지이다.
본 발명은 다양한 기술들에 관한 것으로, 대부분의 관심사는 스마트폰들 및 다른 이동 디바이스들이 예로서 직관적인 청각 및 시각 디바이스들로서 작용함으로써, 사용자의 환경에 응답하는 것을 가능하게 한다.
셀 전화기들은 단일 목적의 통신 툴들로부터 다중-기능 컴퓨터 플랫폼들로 진화되고 있다. "그것에 맞는 앱이 있다"는 것은 친숙한 말이다.
압도적으로 많은 서비스들을 제공하는 수십만 이상의 애플리케이션들이 스마트폰들에 이용가능하다. 그러나, 이들 서비스들의 각각은 상기 사용자에 의해 명확하게 식별되고 개시되어야 한다.
이것은 20년을 거슬러 올라가, 유비쿼터스 컴퓨팅의 상상과는 거리가 먼 경험이며, 여기서 컴퓨터들은 우리의 관심을 보다 많이 보다는 덜 요구한다. 진정으로 "스마트" 폰은 추론되거나 또는 예상된 사용자의 바램들을 수행하기 위해 - 자체적으로 - 조치를 위하는 것일 수 있다.
이러한 방향으로의 빠른 진보는 셀 전화기들이 그것들을 - 사용자의 환경을 모니터링하고 시각적 및/또는 다른 자극들에 응답하여 동작들을 자동으로 선택하고 착수하는 - 지능적 시각/청각 디바이스들로 만드는 기술을 갖추는 것일 것이다.
이러한 디바이스를 실현하기 위한 많은 도전들이 존재한다. 이것들은 상기 디바이스에 대한 어떤 입력 자극들이 무엇을 표현하는지를 이해하고, 상기 이해에 기초한 사용자 바램들을 추론하며, 상기 바램들을 만족시킬 때 사용자와 상호작용하기 위한 기술들을 포함한다. 아마도, 이들 중 가장 큰 것이 먼저이며, 이는 근본적으로 기계 인식의 오래된 문제이다.
셀 전화기 카메라를 고려한다. 각각의 캡처된 프레임에 대해, 그것은 수백 또는 그 정도 수(픽셀 값들)를 출력한다. 이들 수들이 자동차, 바코드, 사용자의 아이, 또는 수백의 다른 것들 중 하나를 표현하는가?
가설적으로, 상기 문제는 간단한 해결책을 가질 수 있다. 상기 픽셀들을 "클라우드"에 포워딩하고 광대한 익명의 컴퓨터들의 집단을 가지는 것은 모든 알려진 이미지 인식 알고리즘을 하나가 마침내 상기 서술된 주제를 식별할 때까지 상기 날짜에 적용한다. (하나의 특정 접근법은 플리커(Flickr) 및 페이스북(Facebooc)과 같은 웹-기반 공공 저장소들에 게시된 수십억의 이미지들의 각각과 알려지지 않은 이미지를 비교하는 것일 것이다. 대부분이 유사한 게시된 사진을 발견한 후, 상기 일치하는 사진과 연관된 설명적 단어들, 또는 "메타-데이터"가 언급될 수 있으며, 상기 알려지지 않은 이미지의 주제를 식별하기 위해 디스크립터들로서 사용될 수 있다). 여러 날 또는 여러 달들의 클라우드 컴퓨팅 전력(및 메가와츠의 전력)을 소비한 후, 응답이 생성될 것이다.
그러나, 이러한 해결책들은 시간 또는 리소스들에 관하여 모두 - 비현실적이다.
다소 보다 현실적인 접근법은 아마존의 기계적 터크와 같은, 크라우드-소싱 서비스(crowd-sourcing service)에 상기 이미지를 포스팅하는 것이다. 상기 서비스는 상기 이미지를 상기 서비스에 설명적 용어들을 되돌려 제공하는 하나 이상의 인간 검토자들에 보내고, 그 후 상기 디바이스로 다시 포워딩한다. 다른 해결책들이 소용 없음을 증명할 때, 시간 지연이 많은 환경들에서 과도할지라도, 이것은 가능한 대안이다.
일 양태에서, 본 명세서는 상기 인식 문제를 양호하게 처리하기 위해 이용될 수 있는 기술들에 관한 것이다. 일 실시예에서, 이미지 처리 장치들이 상기 입력 자극들에 대한 보다 많고 보다 양호한 정보를 성공적으로 얻을 수 있도록 적용된다. 이미지의 콘텐트에 대한 대략적인 아이디어가 1초 내에 이용가능할 수 있다. 보다 많은 정보가 2초들 후에 이용가능할 수 있다. 추가 처리를 갖고, 훨씬 더 정제된 평가들이 3초 또는 2초 등 후에 이용가능할 수 있다. 이러한 처리는 사용자가 이러한 처리를 계속할 필요가 없는 표시 - 표현되고, 암시되거나 또는 추론된 - 에 의해 임의의 포인트에서 중단될 수 있다.
이러한 처리가 프롬프트, 만족스러운 결과들을 산출하지 않고, 상기 화상의 주제가 계속해서 상기 사용자에게 흥미있다면(또는 상기 사용자가 달리 표시하지 않는다면), 상기 화상은 보다 철저하고 긴 분석을 위한 클라우드를 나타낼 수 있다. 북마크 등이 스마트폰 상에 저장되어, 상기 사용자가 이러한 추가 분석의 결과들을 다시 확인하고 학습하도록 허용한다. 또는 상기 사용자가 이러한 추가 분석이 소송을 초래할 수 있는 결과에 도달하는지를 알려줄 수 있다.
적절한 디바이스 응답(들)의 인식, 및 식별은 콘텍스트와 같은 부수적인 정보에 의해 도움을 받을 수 있다. 상기 스마트폰이 상기 사용자가 35세 남성이라는 저장된 프로파일 정보에 관해서 알고 있고, 상기 사용자가 포틀랜드에서의 스타벅스에 위치되어 있다는 GPS 데이터 및 연관된 맵 정보에 관해서 알고 있고, 평일 아침 어둡고 눈이 온다는 시간 및 날씨 정보에 관해서 알고 있고, 이러한 위치로의 여러번의 이전 방문들에서 상기 사용자가 커피 및 신문을 사기 위해 전화기의 전자 지갑을 이용하는 디바이스 히스토리로부터 기억해내며, 축구 결과들을 보고하는 웹사이트들을 보기 위해 상기 전화기의 브라우저를 사용한다면, 상기 스마트폰의 작업들은 상당히 단순해진다. 가능한 입력 자극들에 대한 무한한 세계는 더 이상 존재하지 않는다. 오히려, 상기 입력 시야들 및 사운드들은 보통 어둡고 눈 오는 아침에서 커피숍에서 마주할 유형일 가능성이 높다(또는, 반대로, 예로서 도쿄에서의 써니 파크에서 발견될 시야들 및 사운드들일 가능성이 높지 않다). 이러한 시야들 및 사운드들에 응답하여 적절한 가능한 동작들의 무한한 세계는 또한 존재하지 않는다. 대신에, 후보 동작들이 35살의 축구에 관심 있는, 포틀랜드에서의 직장에 가는 도중 커피를 마시는 사용자에 관련 있을 것들에 가능성이 있다(또는, 반대로, 예로서 도쿄 공원에서 앉아있는 연세가 드신 여성에 적합한 동작들일 가능성이 낮다).
보통, 가장 중요한 콘텍스트 정보는 위치이다. 통상적으로 동작의 히스토리(주의 현재 날, 계절 등에 의해 알려진)가 두 번째로 가장 적절하다. 또한, 사용자의 사회적 그룹에서의 다른 사람, 또는 상기 사용자의 인구통계학적 그룹이 유사한 환경들에서 무엇을 했는지에 대한 정보가 중요하다(메이시스에서의 특정 위치에 정지된 바로 앞의 9세 소녀들이 통로-끝 디스플레이에서의 한 쌍의 부츠의 이미지를 캡처하고, 모두가 그 가격을 아는데 흥미가 있으며, 그들 중 두 명이 또한 어떤 사이즈들이 재고가 있는지를 아는데 관심이 있다면, 상기 위치에 정지하고 있는 10살 소녀에 의해 캡처된 이미지가 또한 아마도 동일한 쌍의 부츠들이고 사용자가 그 가격, 및 아마도 재고가 있는 사이즈를 아는데 관심이 있을 가능성이 높은 것이다). 이러한 부수적인 정보에 기초하여, 상기 스마트폰은 통계적으로 그럴듯한 자극들에 적합한 인식 소프트웨어를 로딩할 수 있으며, 이에 응답하여 통계적으로 적합한 동작들을 취하도록 준비할 수 있다.
압도적으로 많은 서비스들을 제공하는 수십만 이상의 애플리케이션들이 스마트폰들에 이용가능하다. 그러나, 이들 서비스들의 각각은 상기 사용자에 의해 명확하게 식별되고 개시되어야 한다.
이것은 20년을 거슬러 올라가, 유비쿼터스 컴퓨팅의 상상과는 거리가 먼 경험이며, 여기서 컴퓨터들은 우리의 관심을 보다 많이 보다는 덜 요구한다. 진정으로 "스마트" 폰은 추론되거나 또는 예상된 사용자의 바램들을 수행하기 위해 - 자체적으로 - 조치를 위하는 것일 수 있다.
이러한 방향으로의 빠른 진보는 셀 전화기들이 그것들을 - 사용자의 환경을 모니터링하고 시각적 및/또는 다른 자극들에 응답하여 동작들을 자동으로 선택하고 착수하는 - 지능적 시각/청각 디바이스들로 만드는 기술을 갖추는 것일 것이다.
일 특정한 실시예에서, 상기 스마트폰은 각각 예로서 응답 시간에 관하여 상이한 "비용들", CPU 활용, 메모리 사용, 및/또는 다른 적합한 제약들을 가진, 이용가능한 수 백의 대안적인 소프트웨어 에이전트들을 가질 수 있다 - 그 각각이 다수의 상이한 기능들을 수행할 수 있다. 상기 전화기는 그 후 예로서, 상기 다양한 이용가능한 에이전트들로 구성된 N-항 트리를 정의하고 가장 낮은 비용으로 상기 원하는 동작들의 결합을 수행하는 방법을 식별하기 위해 상기 트리를 통해 경로를 내비게이션하는 계획 연습을 취할 수 있다.
때때로, 상기 계획 연습은 적절한 해결책을 찾을 수 없거나, 또는 그 비용이 엄두도 못 낼 정도로 비싸다는 것을 발견할 수 있다. 이러한 경우에, 상기 전화기는 적어도 현재 인스턴스에서가 아닌 - 특정 동작들을 취할 수 없다고 결정할 수 있다. 상기 전화기는 이러한 작업에 대해 추가로 어떤 것도 할 수 없거나, 또는 나중에, 즉 해결책을 실현 가능하게 만드는 부가적인 정보가 이용가능해진 경우에, 그것을 다시 시도할 수 있다. 또는 그것은 보다 유능한 클라우드 리소스들에 의해 처리하기 위한 - 클라우드에 상기 데이터를 문의할 수 있거나, 그것은 재방문하거나 가능하게는 나중에 처리하기 위해 상기 입력 자극들을 저장할 수 있다.
많은 상기 시스템의 처리(예로서, 이미지 처리)는 사실상 이론적 - 그것이 현재 콘텍스트에서 유용하다는 기대로 시도된 - 일 수 있다. 본 기술의 또 다른 양상에 따르면, 이러한 프로세스들은 다양한 인자들에 따라 속도를 높이거나 또는 낮춘다. 하나의 인자는 성공이다. 프로세스가 긍정 결과들을 생성하는 것처럼 보인다면, 그것은 보다 많은 리소스들(예로서, 메모리, 네트워크 대역폭 등)을 할당받을 수 있으며, 계속해서 동작의 추가 단계들로 이어지도록 허용될 수 있다. 그것의 결과가 비관적인 것 같다면, 그것은 보다 적은 리소스들을 할당받을 수 있거나 또는 완전히 중단될 수 있다. 또 다른 인자는 특정 프로세스의 결과에서의 사용자의 관심 또는 그것의 부족이며, 이는 프로세스가 계속되도록 허용되는지의 여부 및 어떤 리소스들을 갖는지에 유사하게 영향을 미칠 수 있다. (사용자 관심은 예로서, 스크린 상의 위치를 터치하는 사용자에 의해 표현될 수 있거나, 또는 그것은 예로서 이미지 프레임의 중심에서의 특정 대상을 재위치시키기 위해 카메라를 이동시키는 상기 사용자에 의해, 상기 사용자의 동작들 또는 콘텍스트로부터 추론될 수 있다. 사용자 관심의 부족은 상기 사용자의 동작들로부터 또는 이러한 동작들의 부재로부터 추론되거나 또는 그에 의해 유사하게 표현될 수 있다.) 또 다른 인자는 속도를 높이거나 또는 낮추는 또 다른 프로세스에 대한 상기 프로세스의 결과의 중요성이다.
일단 인식이 달성되면(예로서, 일단 이미지의 대상이 식별되면), 상기 셀 전화기 프로세서 - 또는 클라우드 리소스 -는 사용자에게 제공되어야 하는 적절한 응답을 제안할 수 있다. 상기 서술된 대상이 바코드이면, 하나의 응답이 표시될 수 있다(예로서, 제품 정보를 찾다). 상기 서술된 대상이 가족 구성원이라면, 상이한 응답이 표시될 수 있다(예로서, 온라인 사진 앨범에 게시한다). 그러나, 때때로, 적합한 응답이 즉시 명백한 것은 아니다. 상기 서술된 대상이 거리 장면 또는 주차권 판매기라면 어떨까 - 그 다음은 어떻게 되는가? 다시, 콘텍스트와 같은 부수적인 정보 소스들, 및 자연 언어 처리로부터의 정보는 적절한 응답들을 결정하도록 돕기 위해 상기 문제에 적용될 수 있다.
스마트폰의 센서들은 항상 자극들 - 마이크로폰으로의 사운드, 이미지 센서로의 광, 가속도계로의 움직임, 자력계로의 자계들, 서미스터들로의 주변 온도 등으로 항상 제공된다. 상기 자극들 중 일부가 중요할 수 있다. 잡음이 많으며 가장 무시된다. 상기 전화기는 물론 다양한 제한된 리소스들, 예로서, CPU, 배터리, 무선 대역폭, 달러 예산 등을 가진다.
따라서, 추가 양태에서, 본 기술은 데이터 세례의 어떤 것을 처리할지를 식별하는 단계, 플랫폼의 제약들, 및 시스템의 다른 요구들과 시각 자료를 위한 데이터 처리 장치의 균형을 유지하는 단계를 포함한다.
또 다른 양태에서, 본 기술은 예로서 시각적 대상들(또는 가청 스트림들)과 관련하여 이동 디바이스 스크린상에서 "보블들(baubles)"의 프리젠테이션을 포함한다. 보블의 사용자 선택(예로서, 터치 스크린 탭에 의해)은 상기 대상과 관련된 경험을 이끈다. 상기 보블들은 상기 디바이스가 계속해서 더 많은 것을 이해함에 따라 명확도 또는 크기에 진화할 수 있고, 또는 상기 대상에 관한 보다 많은 정보를 얻을 수 있다.
이전 구현들에서, 기술된 종류의 시스템들은 비교적 기본적이며 많은 통찰력을 설명하지는 않을 것이다. 그러나, 기록 및 분석(이러한 데이터에 기초한 사용자 동작과 함께)을 위한 클라우드로 소량의(또는 매우 많은 양의) 데이터를 공급함으로써, 이들 이전 시스템들은 템플릿들 및 다른 트레이닝 모델들이 구성될 수 있는 데이터 토대를 수립할 수 있으며, 이는 자극들이 제공될 때 이러한 시스템들의 후속 생성들이 매우 직관적이고 응답적이게 한다.
명백해질 바와 같이, 본 명세서는 또한 많은 수의 다른 발명 특징들 및 조합들을 상세히 열거한다.
시각적 검색의 문맥에서 주로 기술되었지만, 여기에 상세히 열거된 원리들이 다른 센서들, 또는 센서들의 결합들로부터의 자극들의 처리와 같이, 다른 콘텍스트들에서 적용가능하다는 것이 이해되어야 한다. 많은 상기 상세히 열거된 원리들이 훨씬 더 광범위한 적용가능성을 가진다.
유사하게는, 다음 설명은 몇몇 대표적인 실시예들에 초점을 맞추지만, 본 발명의 원리들은 이들 특정 형태들에서의 구현에 제한되지 않음을 이해해야 한다. 그러므로, 예를 들면, 블랙보드 데이터 구조들, 상태 기계 구성들, 인식 에이전트, 지연 실행 등과 같은 상세들 등이 구체적으로 언급되었지만, (발행된 청구항들에 의해 특히 특정될 수 있는 경우를 제외하고) 떤 것도 요구되지 않는다.
본 발명은 다양한 기술들에 관한 것으로, 대부분의 관심사는 스마트폰들 및 다른 이동 디바이스들이 예로서 직관적인 청각 및 시각 디바이스들로서 작용함으로써, 사용자의 환경에 응답하는 것을 가능하게 한다.
도 1은 아키텍처 뷰로, 본 기술의 특정 양태들을 이용한 일 실시예를 도시한 도면.
도 2는 클라우드 프로세스들에의 로컬 디바이스의 관여를 예시한 도면.
도 3은 시스템 모듈들 및 데이터 구조들에 관하여 - 기능의 상이한 양태들과 인식 프로세스의 특징들을 매핑한 것을 도시하는 도면.
도 4는 공간적 조직 및 이해의 상이한 레벨들을 예시한 도면.
도 5, 도 5a 및 도 6은 서비스 결정들을 구성하는데 사용될 수 있는 데이터 구조들을 도시한 도면.
도 7 및 도 8은 인공 지능으로부터 알려져 있고 기술의 특정 실시예들에 이용되는 계획 모델들의 양태들을 도시한 도면.
도 9는 동작 시스템의 의해 수행될 수 있는 동시 발생 처리의 4개의 레벨들을 식별하는 도면.
도 10은 예시적인 구현을 위한 처리의 이들 4개의 레벨들을 추가로 상세히 열거한 도면.
도 11은 사용자 의도를 식별하는데 수반된 특정 양태들을 도시한 도면.
도 12는 특정 구현들에서 사용될 수 있는 순환적 처리 장치를 도시한 도면.
도 13은 도 12의 장치의 또 다른 도면.
도 14는 시스템 동작의 특정 양태들을 도시하는 개념도.
도 15 및 도 16은 각각 인식 에이전트들 및 리소스 추적에 관한 데이터를 예시한 도면.
도 17은 시청 공간의 기계 이해를 돕기 위해 사용될 수 있는 그래픽 타겟을 도시한 도면.
도 18은 오디오-기반 구현의 양태들을 도시한 도면.
많은 점에서, 이러한 개시의 주제는 컴퓨터 디바이스들을 사용하여 사용자들이 그것들의 환경들과 상호작용하도록 허용하는데 유용한 기술들로서 간주될 수 있다. 이러한 광범위한 영역은 상기 개시된 기술이 셀 수 없는 애플리케이션들에 매우 적합하게 만든다.
본 개시에 상세히 설명된 큰 범위의 및 다양한 주제로 인해, 정돈된 프리젠테이션을 달성하는 것은 어렵다. 명백할 바와 같이, 이하에 제공된 많은 시사적인 섹션들이 다른 섹션들 상에서 설립되거나 또는 그것에 기초적이다. 그 후, 필수적으로, 다양한 섹션들이 다소 임의의 순서로 제공된다. 각각의 섹션으로부터의 특정 세부사항들 및 일반적인 원리들 모두가 또한 다른 섹션들에서 애플리케이션을 찾는다는 것이 인식되어야 한다. 본 개시의 길이가 통제할 수 없이 커지는 것으로부터 방지하기 위해(특히 특허 명세서들에서는 간결함이 항상 이롭다), 다양한 순열들 및 상이한 섹션들의 특징들의 결합들이 속속들이 상세히 설명되지 않는다. 본 발명자들은 이러한 결합들/순열들을 명백하게 교시하도록 의도하지만, 실현가능성은 궁극적으로 이러한 교시들에 따라 시스템들을 구현하는 이들에게 상세한 통합이 남겨지도록 요구한다.
현재-상세히 설명된 기술은 이전-인용된 특허 출원들에서 개시된 기술을 기반으로 하며 이를 확장한다는 것을 또한 주의해야 한다. 상기 판독자는 따라서 출원인들이 본 기술이 적용되도록 의도하는 장치들을 상세히 설명하며 기술적으로 본 개시를 보충하는 상기 문서들로 유도된다.
인지, 중개 배제 검색( Cognition , Disintermediated Search )
셀 전화기들과 같은 이동 디바이스들은 단지 통신 툴이라기보다는 인지 툴들이 되어가고 있다. 일 양태에서, 인지는 사람의 환경에 대해 사람에게 알려주는 활동으로서 간주될 수 있다. 인지 동작들은 다음을 포함할 수 있다:
? 감각 입력에 기초한 특징들을 감지하는 것;
? 형태들을 감지하는 것(예로서, 조직된 구조들을 결정하는 것)
?외부 구조들 및 관계들을 결정하는 것과 같은, 연관;
? 문제들을 정의하는 것;
? 문제 해결 상태를 정의하는 것(예로서, 그것의 본문: 내가 무엇을 할 수 있을까? A. 그것을 읽어라);
? 해결 옵션들을 결정하는 것;
? 동작 및 응답을 개시하는 것;
? 식별은 일반적으로 적절한 응답을 결정할 때 첫 번째의 필수적인 단계이다.
이동 디바이스들을 보고 듣는 것은 사람에게 그들의 환경에 관해 알려줄 때 수반되는 프로세스들을 보조하는 툴들이다.
이동 디바이스들이 놀라운 속도로 급증하고 있다. 많은 국가들(핀란드, 스웨덴, 노르웨이, 러시아, 이탈리아, 및 영국을 포함한)이 전하는 바에 따르면 사람보다 많은 셀 전화기들을 가진다. GSM 협회에 따르면, 현재 서비스 중인 대략 사십억 개의 GSM 및 3G 전화기들이 존재한다. 디바이스들이 교체되는 업그레이드 사이클은 매우 짧아서, 평균적으로 24개월마다 한 번이다.
따라서, 이동 디바이스들은 엄청난 투자의 초점이 되어가고 있다. 구글, 마이크로소프트, 애플, 및 노키아와 같은 업계 거인들은 거대한 시장들이 전적으로 이들 디바이스들의 기능을 확대하는데 매달려 있음을 인지하고 있으며, 연구 및 개발에서의 상응하게 큰 액수들을 투자하고 있다. 이러한 광범위하고 치열한 노력들을 고려해볼 때, 여기에 상세히 설명된 기술들을 개발하기 위한 업계 거인들의 실패는 이러한 기술들의 독창성에 대한 증거이다.
시각적 질의와 같은, "중개 배제 검색"은 다가오는 이동 디바이스들의 생성들에 대한 가장 강력한 애플리케이션들 중 하나로 여겨진다.
일 양태에서, 중개 배제 검색은 상기 검색을 개시할 때 인간의 역할을 감소시키는(또는 심지어 제거하는) 검색으로서 간주될 수 있다. 예를 들면, 스마트폰은 항상 시각적 환경들을 분석하고 명백하게 질의하지 않고 해석 및 관련 정보를 제공할 수 있다.
또 다른 양태에서, 중개 배제 검색은 구글을 넘는 다음 단계로서 간주될 수 있다. 구글은 공공 웹상에서 텍스트 정보 모두를 구성하기 위해 모놀리식의 거대한 시스템을 구성한다. 그러나, 시각적 세상은 심지어 구글이 제어하기에는 너무 크고, 너무 복잡하다. 무수히 많은 당사자들이 반드시 수반되어야 하며, 그 각각은 전문화된 역할을 수행하며, 일부는 더 크고, 일부는 더 작다. "그것들 모두를 통치하기 위한 하나의 검색 엔진"이 존재하지 않을 것이다. (셀 수 없는 당사자들의 잠재적인 수반을 고려할 때, 아마도 대안적인 마니커가 "중재 배제 검색"일 것이다).
아키텍처 뷰
도 1은 본 기술의 특정 원리들을 이용하는 일 실시예를 아키텍처 뷰로 도시한다, (이것은 블록들로의 기능의 분할이 다소 임의적임을 인식해야 한다). 실제 구현은 상세히 설명되고 기술된 특정 조직을 따르지 않을 수 있다.
ICP 보블들 및 공간 모델 구성요소는 시청 공간, 디스플레이, 및 그것들의 관계들을 수반하는 태스크들을 처리한다. 관련 있는 기능들의 일부는 자세 추정, 추적, 및 시각적 장면 상의 보블들을 입히는 것과 관련되어 정사 매핑(ortho-rectified mapping)을 포함한다.
보블들은 일 양태에서, 캡처된 화상의 특징들에 관련하여 스크린 상에 디스플레이되는 증강 현실 아이콘들로서 간주될 수 있다. 이것들은 상호작용적이며 사용자-튜닝될 수 있다(즉, 상이한 보블들은 동일한 장면을 시청하는, 상이한 사용자들의 스크린들 상에서 나타날 수 있다).
몇몇 장치들에서, 보블들은 상기 시스템에 의한 인식의 첫 번째 빛을 나타내는 것처럼 보인다. 상기 시스템은 상기 디스플레이 상의 위치에서 잠재적인 관심사 - 시각적 특징 -가 존재하는 것을 판별할 때, 그것은 보블을 제공한다. 시스템이 상기 보블의 특징, 크기에 대한 보다 많은 것을 추론하므로, 상기 보블의 형태, 컬러 또는 밝기는 변할 수 있다 - 그것을 보다 두드러지거나 및/또는 보다 유익하게 한다. 사용자가 상기 보블을 탭핑하면 - 상기 시각적 특징에서의 관심을 나타내는, 상기 시스템의 리소스 관리자(예로서, ICP 상태 머신)는 다른 영역들이 아닌 이미지의 특징의 분석에 대해 불균형적으로 보다 많은 처리 리소스들을 쓸 수 있다. (상기 사용자의 탭핑에 대한 정보가 상기 특징 또는 상기 보블에 대한 정보와 함께 데이터 저장소에 저장되어, 상기 특징에서의 상기 사용자의 관심이 보다 빠르게, 또는 자동으로, 다음에 인식될 수 있다).
보블이 먼저 나타날 때, 시각적으로 별개의 엔티티, 예로서, 조금 밝은 곳, 또는 에지 윤곽을 가진 것을 구성하는 것처럼 보인다는 것을 제외하고 시각적 특정에 대한 어떠한 것도 알려지지 않을 수 있다. 이러한 이해의 레벨에서, 포괄적인 보블(아마도 "프로토-보블(proto-bauble)"이라 칭하는)이, 작은 별 또는 원과 같이 디스플레이될 수 있다. 보다 많은 정보가 상기 특징에 대해 추론될 때마다(그것은 얼굴, 또는 바코드, 또는 리프인 것처럼 보인다), 상기 증가된 이해를 반영하는 보블 그래픽이 디스플레이될 수 있다.
보블들은 사실상 상업적일 수 있다. 몇몇 환경들에서, 상기 디스플레이 스크린은 사용자의 관심을 차지하기 위해 다투는, 상이한 보블들로 급속히 퍼질 수 있다. 이를 처리하기 위해, 얼마나 많은 정보가 스크린상에 제공되는지를 스로틀하는 사용자-설정가능한 제어 - 시각적 장황성 제어가 존재할 수 있다. 게다가, 또는 대안적으로, 상기 사용자가 상업적 보블들 대 비-상업적 보블들의 최대 비를 수립하도록 허용하는 제어가 제공될 수 있다. (구글의 경우와 같이, 상기 시스템으로부터의 원 데이터의 수집은 사용자들에게 광고들을 제공하는 것보다 긴 기간에서 보다 가치가 크다는 것을 증명할 수 있다)
바람직하게, 디스플레이를 위해 선택된 상기 보블들은 콘텍스트의 다양한 크기들에 기초하여, 사용자에게 가장 큰 값을 서비스하는 것이다. 몇몇 경우들에서 - 상업적이고 비-상업적인 경우 모두 - 보블들은 상기 클라우드에서 행해진 경매 프로세스들에 기초하여 선택될 수 있다.
또 다른 GUI 제어가 사용자의 현재 관심사(예를 들면, 관광, 쇼핑, 하이킹, 소셜, 내비게이팅, 식사 등)를 나타내기 위해 제공될 수 있으며, 상기 보블들의 프리젠테이션은 그에 따라 튜닝될 수 있다.
상기 예시된 ICP 보블들 및 공간 모델 구성요소는 관련된 기능들을 서비스하는 기존의 소프트웨어 툴들로부터 차용하거나 또는 그에 기초하여 구성될 수 있다. 하나는 ARToolKit - 워싱턴의 대학에서 인간 인터페이스 기술 연구소에서의 리서치로부터 기인한 자유롭게 이용가능한 소프트웨어 세트(hit|.Washington.edu/artoolkit/)이며, 이제 시애틀의 AR Toolworks, Inc.에 의해 추가 개발되고 있다. 툴들의 또 다른 관련 세트는 MV 툴들 - 기계 비전 기능들의 대중적인 라이브러리이다.
도 1은 단지 몇몇 인식 에이전트들(Recognition Agents; RA)을 도시하며, 수십 여개 또는 수 백개들이 존재할 수 있다. 이것들은 인식을 돕고, 픽셀들 또는 다른 콘텐트로부터 의미를 추출하도록 돕는 구성요소들이다. 일 양태에서, 몇몇 RA들은 전문화된 검색 엔진들에 유사할 수 있다. 하나는 바코드들을 검색할 수 있으며; 하나는 얼굴들 등을 검색할 수 있다.
보블들에서의 경우처럼, RA들을 수반하는 경쟁의 일 양태가 존재할 수 있다. 즉, 중첩 기능이 여러 개의 상이한 제공자들로부터 여러 개의 상이한 RA들에 의해 제공될 수 있다. 특정 콘텍스트에서 특정 디바이스 상에서 어떤 RA를 사용할지에 대한 선택은 사용자 선택, 제 3 자 리뷰들, 비용, 시스템 제약들, 출력 데이터의 재-사용가능성, 및/또는 다른 기준들의 기능일 수 있다. 결국, 사용자의 요구들을 최대로 충족시키는 상기 RA들이 일반적이게 되므로, 다윈의 바람고르기(Darwinian winnowing)가 발생할 수 있다.
스마트폰 판매자는 초기에 RA들의 디폴트 세트를 상기 전화기에 제공할 수 있다. 몇몇 판매자들은 RA 선택의 제어를 유지할 수 있는 반면 - 갇힌 정원 접근법(walled garden approach), 다른 판매자들은 상이한 RA들의 사용자 발견을 권장할 수 있다. 애플 앱 스토어와 같은 온라인 시장이 RA 마켓을 서비스하도록 진화할 수 있다. 상이한 고객 그룹들을 서비스하는 RA들의 패키지들 및 요구들이 나타날 수 있다, 예로서, 제한된 시야를 가진 사람들을 돕기 위한 몇몇(예로서, 텍스트-스피치 인식과 같은, 시력-보조 RA들을 갖고 로딩된), 가장 단순한 사용자 인터페이스들(예로서, 큰 버튼 제어들, 비-전문용어 전설들)을 요구하는 사람들에게의 몇몇 케이터링; 옥외 열렬한 지지자들에 대한 몇몇 케이터링(예로서, 새소리 식별 RA, 트리 리프 식별 RA를 포함하는); 세계 여행자들에 대한 몇몇 케이터링(예로서, 언어 번역 기능들, 및 위치-기반 여행자 서비스들을 포함한) 등. 상기 시스템은 사용자가 디바이스로 하여금 상이한 시간들에서 상이한 이러한 세트들의 RA들을 로딩하게 하는 메뉴를 제공할 수 있다.
상기 RA들의 일부 또는 모두는 환경에 기초하여 상기 클라우드에 기능을 푸쉬할 수 있다. 예를 들면, 상기 클라우드로의 고속 데이터 연결이 이용가능하고, 상기 디바이스 배터리가 거의 소진된다면(또는 상기 사용자가 상기 디바이스의 CPU/GPU 리소스들의 대부분을 소비하는 게임을 플레이한다면), 상기 로컬 RA는 단지 상기 태스크의 작은 조각을 국소적으로(예로서, 관리) 행할 수 있으며, 실행을 위해 클라우드 상대에게 그 나머지를 수송한다.
본 개시의 다른 곳에서 상세히 설명한 바와 같이, RA들에 이용가능한 다른 리소스들 및 프로세서 시간은 동적 방식으로 제어될 수 있다 - 그것을 받을만한 자격이 있는 것처럼 보이는 상기 RA들에 보다 많은 리소스들을 할당한다. 상기 ICP 상태 머신의 디스패처 구성요소는 이러한 감독을 돌볼 수 있다. 상기 ICP 상태 머신은 또한 로컬 RA 구성요소들 및 클라우드 상대들 간의 RA 동작의 분할을 관리할 수 있다.
상기 ICP 상태 머신은 상기 안드로이드 개방 소스 운영 시스템(예로서, developer.android.com/guide/topics/fundamentals.html)으로부터, 뿐만 아니라 상기 아이폰 및 심비안 SDK들로부터 모델링된 양태들을 이용할 수 있다.
클라우드-관련 프로세스들에 대한 인터페이스로서 작용하는 클라우드 & 비즈니스 규칙들 구성요소가 도 1의 오른쪽에 있다. 그것은 또한 클라우드 경매들을 위한 관리를 수행할 수 있다 - 그 복수의 클라우드 서비스 제공자들 중 어떤 것이 특정 태스크들을 수행하는지를 결정한다. 그것은 서비스 제공자 인터페이스(SPI)를 통해 상기 클라우드에 전달하며, 그것은 근본적으로 임의의 통신들 채널 및 프로토콜을 이용할 수 있다.
특정 규칙들이 상이할 것이지만, 본 아키텍처의 이러한 양상에 대한 모델들로서 사용될 수 있는 대표적인 규칙들-기반 시스템들이 무비랩스(MovieLabs) 콘텐트 규칙들 및 권한들 장치(예로서, movielabs.com/CRR/) 및 CNRI 처리 시스템(예로서, handle.net/)을 포함한다.
상기 시스템에 의해 사용된 콘텍스트 정보(예로서, 현재 위치는 무엇인가? 과거 시간에서 사용자가 어떤 동작들을 수행했는가? 과거에서 시간은? 등)를 제공하며 처리하는 콘텍스트 엔진이 좌측에 있다. 상기 콘텍스트 구성요소는 인터페이스를 가로질러 원격 데이터에 연결할 수 있다. 원격 데이터는 임의의 외부 정보를 - 예로서, 활동들, 피어들, 소셜 네트워크들, 소비된 콘텐트, 지리 - 유사한 휴가 목적지와 같이 - 현재 사용자와 다른 사용자를 관련시킬 수 있는 어떤 것을 포함할 수 있다. (상기 디바이스가 음악 인식 에이전트를 포함하면, 그것은 사용자의 페이스북 친구들의 플레이리스트들을 찾을 수 있다. 또한 사용자가 어떤 온라인 무선국들에 가입되었는지에 대한 지식 등을 고려하면 그것은 사용자가 듣는 음악의 모델을 정제하기 위해 이러한 정보를 사용할 수 있다)
상기 콘텍스트 엔진, 및 상기 클라우드 및 비즈니스 규칙들 구성요소들은 남아있는 클라우드-측 상대들을 가질 수 있다. 즉, 이러한 기능은 국소적인 부분, 및 상기 클라우드에서의 상대를 갖고 분배될 수 있다.
클라우드-기반 상호작용들은 구글의 앱 엔진(예로서, code.Google.com/appengine/) 및 아마존의 일래스틱 컴퓨트 클라우드(예로서, aws.amazon.com/ec2/)에 의해 관련된 클라우드 컴퓨팅을 위해 이미 공개된 많은 툴들 및 소프트웨어를 이용할 수 있다.
블랙보드 및 클러스터링 엔진이 도 1의 하단에 있다. 상기 블랙보드 시스템은 이전에 참조되어 왔다.
상기 클러스터링 엔진은 키벡터들(KeyVectors)에서 콘텐트 데이터(예로서, 픽셀들)의 아이템들을 함께 그룹화한다. 키벡터들은 텍스트 키워드들에 대한 오디오-비디오 상대와 대략 유사할 수 있다 - 관련된 결과들을 얻기 위해 프로세스에 입력되는 요소들의 그룹화.
다시, 이전-참조된 ARToolKit는 이러한 기능의 일부를 위한 기반을 제공할 수 있다. 블랙보드 기능은 개방 소스 블랙보드 소프트웨어(GBBopen)(gbbopen.org)를 이용할 수 있다. 자바 가상 머신(및 자바스크립트에서의 스크립팅을 지원하는)상에서 구동하는 또 다른 개방 소스 구현은 상기 블랙보드 이벤트 프로세서이다(code.Google.com/p/blackboardeventprocessor/).
이전의 양태들은 본 명세서의 다음 및 다른 섹션들에서 추가로 상세히 설명된다.
로컬 디바이스 클라우드 프로세싱
도 2에 의해 개념적으로 나타내어진 바와 같이, 중재 배제 검색은 상기 로컬 디바이스 및 상기 클라우드의 세기들/속성들에 의존해야 한다. (상기 클라우드 "파이프(pipe)"는 예로서 대역폭 및 비용을 포함한 제약들에 의해 상기 믹스를 인자들로 포함한다.)
상기 로컬 디바이스 및 상기 클라우드 간의 기능의 특정 분배는 구현에서 구현으로 변화한다. 하나의 특정 구현에서, 그것은 다음과 같이 분할된다.
로컬 기능
? 콘텍스트:
- 사용자 아이덴티티, 선호들, 히스토리
- 콘텍스트 메타데이터 프로세싱(예로서, 여기가 어딘지? 나는 어떤 방향을 가르키는지?)
? UI:
- 온 스크린 렌더링 및 피드백(터치, 버튼들, 가청의, 가까움 등)
? 일반적인 성향:
- 전역적 샘플링; 많은 구문 분석 없이 카테고리화
- 데이터 정렬 및 특징 추출
- 열거된 특징들의 패치워크들
- 프래임 내 수집들; 시간적 특징들의 시퀀스
? 클라우드 세션 관리:
- 등록, 인식 에이전트(RA) 와의 연관 및 듀플렉스 세션 동작들
? 인식 에이전트(RA) 관리:
- 특정 기능을 가진 DLL들에 유사한 - 특정 아이덴티티들 및 형태들을 인식
- 리소스 상태 및 검출 상태 확장성
- 인식 에이전트들에 의해 제공된 서비스들의 구성
- 개발 및 라이센싱 플랫폼
클라우드 기능:
? 비즈니스 규칙들, 세션 관리, 인식 에이전트 제어 등.
? 많은 회사들이 베리사인(Verisign) 등을 포함하여, 여기에 기여할 수 있다.
현재-상세히 설명된 기술들은 다음을 포함하는 다양한 소스들로부터 영감을 받는다.
? 생물학적 : 인간 시력 시스템 및 상위 레벨 인식 모델들에 유사점들
? 신호 프로세싱 : 센서 융합
? 컴퓨터 비전 : 이미지 프로세싱 동작들(공간 및 주파수 도메인)
? 컴퓨터 과학: 서비스 및 리소스 관리의 구성, 병렬 계산
? 로봇 공학: 자율적인 상호작용을 위한 소프트웨어 모델들(PLAN, Gazebo 등)
? AI : 평가/매칭/실행 모델들, 블랙보드, 계획 모델들 등.
? 경제학 : 경매 모델들(두 번째 가격이 승리...)
? DRM : 권한 표현 언어 및 비즈니스 규칙 엔진들
? 인간 인자들 : UI, 증강 현실,
? 모바일 값 체인 구조 : 이해 당사자들, 비즈니스 모델들, 정책 등.
? 행태 과학 : 소셜 네트워크들, 크라우드소싱/폭소노미들(folksonomies),
? 센서 설계 : 자력계들, 가까움, GPS, 오디오, 광학(확대된 심도 등)
도 3은 시스템 모듈들 및 데이터 구조들에 관하여 - 기능의 상이한 양상들과 예시적인 인지 프로세스의 다양한 특징들을 매핑한다. 따라서, 예를 들면, 직관적 컴퓨팅 플랫폼(Intuitive Computing Platform; ICP) 콘텍스트 엔진은 연관의 프로세스들, 문제 해결 상태, 해결책 결정, 동작들/응답들의 개시, 및 관리의 인지 프로세스들을 상기 시스템의 콘텍스트 양상에 적용한다. 달리 말하면, 상기 ICP 콘텍스트 엔진은 히스토리 등에 기초하여 사용자의 의도를 결정하고 시스템 동작의 양상들을 알리기 위해 이러한 정보를 사용하도록 시도한다. 마찬가지로, 상기 ICP 보블들 및 공간 모델 구성요소들은 상기 사용자에게 정보를 제공하고 상기 사용자로부터 입력을 수신하는 것과 관련되어, 많은 동일한 프로세스들을 서비스한다.
상기 ICP 블랙보드 및 키벡터들은 상기 시스템의 성향 양태들에 관련하여, 다른 목적들 가운데 사용된 데이터 구조들이다. 블랙보드는 다니엘 코킬(Daniel Corkill)에 의해 대중화된 컴퓨터 구조물에 대한 참조이다. 예로서, 2003년 국제 Lisp 회의의 회의록들인, 코킬의 협력 소프트웨어 - 블랙보드 및 다중-에이전트 시스템들 및 미래를 참조하자.
인식 에이전트들과 함께, ICP 상태 머신 및 인식 에이전트 관리는 인식 프로세스들, 및 인식과 연관된 서비스들의 구성을 처리한다. 상기 상태 머신은 통상적으로 실시간 운영 시스템이다. (이러한 프로세스들은 또한 예로서 상기 ICP 블랙보드 및 키벡터들을 수반한다)
클라우드 관리 및 비즈니스 규칙들은 클라우드 등록, 연관, 및 인식 에이전튿르 및 다른 시스템 구성요소들 간의 인터페이스, 및 상기 클라우드를 제공하는 세션 동작들을 처리한다.
보블들 지원하기 위한 로컬 기능
상기 보블들에 관한 소프트웨어 구성요소들 중 하나 이상에 의해 제공된 상기 기능들의 일부가 다음을 포함할 수 있다.
? 사용자의 프로파일, 그들의 일반적인 관심사들, 그들의 현재 콘텍스트 내에서 그것들의 현재 특정 관심사들을 이해한다.
? 사용자의 입력들에 응답한다.
? 전역적 이미지 프로세싱 라이브러리의 선택된 모듈들을 사용하여 스트리밍 프레임들의 중첩하는 장면 영역들을 공간적으로 분석하고 "객관화"한다
? 심볼들의 계층적 층들(픽셀 분석 결과들, ID들, 속성들 등)을 최초의-영역들에 첨부하고; 최초의-질의들의 "키 벡터들"로서 패키징한다.
? 사용자 설정 시각적 장황 레벨들 및 전역적 장면 이해들에 기초하여, 보블 프리미티브 디스플레이 기능들/맞춤법을 셋업한다.
? 키 벡터들을 적절한 로컬/클라우드 어드레스들에 라우팅한다
? 상부 리스트된 불릿(bullet)으로부터 첨부된 "전체 콘텍스트" 메카데이터를 갖는다.
? 로컬이라면: 상기 키 벡터들을 처리하고 질의 결과들을 생성한다.
? 키 벡터 질의 결과들을 수집하고 사용자 스크린에 적절한 보블들을 활기띄게 하고/블릿(blit)한다
? 보블들은 "완료 및 완전히 동작가능한" 일 수 있거나, 또는 "중간 상태들"일 수 있고 그러므로 보다 깊은 질의 훈련 또는 질의 정제를 위한 사용자 상호작용을 기대한다.
직관적 컴퓨팅 플랫폼( ICP ) 보블들
서비스들 및 높은 값의 보블 결과들을 제공하기 위한 상기 클라우드에서의 경쟁은 공급자들을 위한 우수함 및 비즈니스 성공을 이끈다. 베이스라인 품질 비-상업적 서비스들을 가진, 클라우드 경매 장소를 수립하는 것은 이러한 시장을 이끌도록 도울 수 있다.
사용자들은 그들의 의도들 및 실제 질의들의 기능로서 조정된 사업적 침해를 가진, 가장 높은 품질 및 가장 적절한 보블들을 원한다(요구해야 한다).
다른 측상에서, 스크린 부동산의 구매자들은 두 개의 클래스들, 즉 비-상업적 보블들 및 세션들을 제공하고자 하는 이들(예로서, 브랜딩을 위한 고객을 얻는 것을 목표로 하는) 및 상기 스크린 부동산을 "취득하기"를 원하는 이들로 분리할 수 있으며, 간단하게는 그것이 표현하는 상업적 기회들에 응찰할 수 있다.
구글은 물론 그것의 "경매 프로세스를 위해, 후원된 하이퍼링크 프리젠테이션으로의 키워드" 장치들을 돈으로 가치를 평가하는 것에 대한 거대한 비즈니스를 건설하였다. 그러나, 시각적 검색을 위해, 그것은 단일 엔티티가 상기 프로세스의 모든 양상들을 유사하게 지배할 일은 없을 것으로 보인다. 오히려, 그것은 중간 층의 회사들이 사용자 질의/스크린 부동산 구매자-중매 서비스 업체를 돕는 것이 있음 직한 것으로 보인다.
상기 사용자 인터페이스는 사용자가 관심이 없는 보블들을 떨쳐 버릴 수 있는 - 그것들을 상기 스크린으로부터 제거하는(및 상기 시각적 특징에 관한 추가 정보를 개발하는데 전념하는 임의의 진행 중인 인식 에이전트 프로세스를 종료하는) - 제어를 포함할 수 있다. 묵살되는 보블들에 대한 정보는 데이터 저장소에서 로깅될 수 있으며, 사용자의 프로파일 정보를 증가시키기 위해 사용된다. 상기 사용자가 스타벅스 커피숍들 및 독립적인 커피숍들에 대한 보블들을 묵살한다면, 상기 시스템은 모든 커피 숍들에서 상기 사용자에 의한 관심의 부족을 추론하게 될 수 있다. 상기 사용자가 단지 스타벅스 커피 숍들을 위한 보블들만을 묵살한다면, 보다 좁은 사용자 관심의 부족이 식별될 수 있다. 보블들의 미래 디스플레이들은 상기 데이터 저장소를 찾아 볼 수 있으며, 이전 묵살된(또는 반복적으로 묵살된) 보블들은 보통 다시 디스플레이될 수 없다.
유사하게는, 상기 사용자가 보블 위를 탭핑하면 - 관심을 나타내면 - 상기 유형 또는 클래스의 보블(예로서, 스타벅스, 또는 커피 숍들)은 어떤 보블들(많은 후보들 가운데)을 디스플레이할지를 평가할 때, 미래에 보다 높은 점수를 제공받을 수 있다.
보블들과의 사용자 상호작용에 대한 이력 정보가 현재 콘텍스트 정보와 함께 사용될 수 있다. 예를 들면, 상기 사용자가 아침이 아닌, 오후에 커피 숍들에 관한 보블들을 묵살했다면, 상기 시스템은 아침에 커피-관련 보블들을 계속해서 제공할 수 있다.
상기 시각적 질의 문제의 선천적인 복잡성은 많은 보블들이, 인간-레벨 필터링 및 상기 질의 프로세스로의 보다 깊은 내비게이션을 제공하도록 상기 사용자를 초대하고 안내하는 중간, 또는 최초의-보블 클래스임을 암시한다. 장면 상의 보블 디스플레이들들의 진행은 따라서 다른 인자들뿐만 아니라 실시간 인간 입력의 함수일 수 있다.
사용자가 탭핑할 때, 그렇지 않다면, 보블(예비의, 프로토-보블을 탭핑하는 것이 아닌)에서의 관심을 표현할 때, 이러한 경매는 보통 보블의 주제에 관한 세션을 개시한다. 상기 세션의 세부사항들은 특정한 버블에 의존할 것이다. 몇몇 세션들은 사실상 상업적일 수 있다(예를 들면, 스타벅스 보블에 대한 탭핑은 스타벅스 제품에서 1 달러를 할인하기 위한 전자 쿠폰을 산출할 수 있다). 다른 것들은 정보를 제공할 수 있다(예로서, 상태와 연관된 보블 상의 탭핑은 조각상, 또는 조각자에 관한 위키피디아 엔트리의 프리젠테이션을 이끌 수 있다). 캡처된 이미지에서의 얼굴의 인식을 나타내는 보블은 다양한 동작들을 이끌 수 있다(예로서, 링크드인과 같은 소셜 네트워크로부터 사람의 프로파일을 제공하고; 사용자의 인식된 사람의 페이스북 페이지에 상기 사진의 얼굴-주석이 달린 카피를 게시하는 등). 때때로 보블을 탭핑하는 것은 상기 사용자가 원하는 동작을 선택할 수 있는 여러 개의 동작들의 메뉴를 호출한다.
보블을 탭핑하는 것은 다른 것들에 대한, 상기 보블에 대한 정렬들의 승리를 나타낸다. 상기 탭핑된 보블이 사실상 상업적이라면, 상기 보블은 사용자의 관심을 위한, 및 상기 시청자의 스크린상에서의 부동산의 일시적인 사용을 위한 경쟁에서 승리한다. 몇몇 인스턴스들에서, 연관된 지불은 아마도 사용자에게, 아마도 또 다른 당사자(예로서, 고객을 위한 "승리"를 확보한 엔티티)에게서 이루어질 수 있다.
탭핑된 보블은 또한 선호의 한 표를 나타낸다 - 가능한 진화론자는 다른 것들에 대해 상기 보블에 고개를 끄덕인다. 미래에 상기 현재 사용자에게 디스플레이를 위한 보블들의 선택에 영향을 미치는 것 외에, 이러한 지지는 또한 다른 사용자들에게 디스플레이를 위한 보블들의 선택에 영향을 미칠 수 있다. 이것은, 바라건대, 보블 제공자들을 사용자-서빙 우수성을 향한 선순환으로 이끌 것이다(단지 사용자가 좋아하는 것들만이 진행중인 방송 시간을 얻는다면 얼마나 많은 현재 텔레비전 광고들이 살아남을 것인가?)
표시된 바와 같이, 주어진 이미지 장면은 많은 보블들, 종종 상기 스크린이 유용하게 포함할 수 있는 보다 많은 보블들의 디스플레이를 위한 기회들을 제공할 수 있다. 관리가능한 세트 아래로 이러한 가능성들의 세계를 좁히는 프로세스는 사용자로부터 시작할 수 있다.
이전에 표시된 바와 같이 장황성 제어로 시작하는, 다양한 상이한 사용자 입력이 이용될 수 있다 - 상기 사용자가 얼마나 부지런히 상기 스크린이 보블들로 오버레이되길 원하는지에 대한 베이스라인을 간단히 설정한다. 다른 제어들은 시사와 관련된 선호들, 및 상업적 및 비상업적의 특정 혼합을 나타낼 수 있다.
제어의 또 다른 차원은 예로서, 상기 사용자가 보다 많이 배우기를 원하거나, 그렇지 않은 경우 상호작용하기를 원하는 특징들을 나타내는, 스크린의 특정 영역들에서 관심 있는 상기 사용자의 실시간 표현이다. 이러한 관심은 최초의-보블들이 요구되지 않을지라도, 이러한 특징들에 오버레이된 프로토-버블들 상을 탭핑함으로써 표시될 수 있다 (예로서, 사용자가 상기 이미지 프레임의 상기 부분에 대한 프로세서 관심에 초점을 맞추기 위해 상기 스크린의 구분되지 않은 영역을 간단히 탭핑할 수 있다).
어딘가에 상세히 설명된 많은 다양한 정보를 포함하는 - 부가적인 사용자 입력은 맥락과 관련된다(예로서, 컴퓨팅 콘텍스트, 물리적 콘텍스트, 사용자 콘텍스트, 물리적 콘텍스트, 시간적 콘텍스트, 및 이력 콘텍스트).
상기 보블 선택 프로세스로 공급하는 외부 데이터는 제 3 자 상호작용들에 관한 정보를 포함할 수 있다 - 다른 사람들이 상호작용하기 위해 어떤 보블들을 선택했는지? 이러한 인자가 주어진 가중치는 다른 사용자(들) 및 현재 사용자 간의 거리 측정치, 및 그들의 콘텍스트 및 현재 콘텍스트 간의 거리에 의존할 수 있다. 예를 들면, 유사한 문맥과 관련된 상황들에서, 현재 사용자의 사회 친구들의 동작들에 의해 표현된 보블 선호들에는, 상이한 상황들에서 낯선 사람들이 동작보다 훨씬 더 큰 가중치가 제공될 수 있다.
또 다른 외부 인자는 영리적 고려사항들, 예를 들면, (및 가능하게는 누구에게) 제 3 자가 사용자의 스크린 부동산의 일부를 간단히 임대하기 위해 얼마나 많이(및 가능하게는 누구에게) 기꺼이 지불할 것인가일 수 있다. 언급된 바와 같이, 이러한 이슈들은 클라우드-기반 경매 장치를 요인으로 포함할 수 있다. 상기 경매는 또한 다른 사용자들을 갖는 특정 보블들의 인기를 고려한다. 이러한 양태의 프로세스를 구현할 때, 온라인 광고 부동산을 경매에 부치기 위한 구글 기술에 대한 참조가 이루어질 수 있다(예로서, 2009년 5월 22일, 유선 매거진, 레비의 구글노믹스의 비밀: 데이터-준비된 레시비 조합들 수익성) - 일반화된 차점-가격 경배의 변형. 출원인들은 PCT 특허 출원 PCT/US09/54358에서 클라우드-기반 옥션 장치들을 상세히 설명하였다.
하나의 특정 구현에 있어서, 몇몇 보블들(예로서, 1개 내지 8개)이 상업적 프로모션들(예로서, 구글-형 경매 절차, 및 상업적 대 비-상업적 보블의 사용자 튜닝들에 대한 대상에 의해 결정된 바와 같이)에 할당될 수 있으며, 다른 것들이 이전에 언급된 바와 같이 비-상업적 인자들에 기초하여 선택될 수 있다. 이들 후자의 보블들은 각각의 보블을 위한 점수를 획득하기 위해 이전 언급된 상이한 인자들에 가중치를 주는 알고리즘을 이용하는, 규칙-기반 방식으로 선택될 수 있다. 상기 경쟁 점수들 그 후 매겨지며, 최고-스코어의 N개의 보블들(여기에서, N은 장황성 제어를 사용하여 사용자-설정될 수 있다)이 상기 스크린상에 제공된다.
또 다른 구현에서, 상업적 보블들에 대한 이전 할당이 존재하지 않는다. 대신, 이것들은 비-상업적 보블들(통상적으로, 상이한 기준들을 사용하지만, 유사한 범위의 스코어들로 스케일링된)에 민감한 방식으로 점수가 매겨진다. 상위-득점의 N개의 보블들이 그 후 제공되며 - 이것은 모두 상업적이거나, 모두 비-상업적이거나, 또는 혼합일 수 있다.
또 다른 구현에서, 상업적 대 비-상업적 보블들의 혼합은 사용자의 구독 서비스의 기능이다. 출시 기념 레이트(introductory rate)를 지불하는, 엔트리 레벨에서의 사용자들은 크기 및/또는 수가 큰 상업적 보블들을 제공받는다. 프리미엄 서비스들에 대한 서비스 제공자를 지불하는 사용자들은 보다 작은 및/또는 보다 적은 보블들을 제공받거나, 또는 상업적 보블들의 디스플레이에 대한 그 자신의 파라미터들을 설정하기 위한 자유가 주어진다.
보블을 나타내는 그래픽 인덱스들은 그것의 특징적 연관을 나타내도록 시각적으로 맞춰질 수 있으며, 상기 사용자의 관심을 끌기 위해 동영상으로 된 요소들을 포함할 수 있다. 상기 보블 제공자는 다양한 크기들의 인덱스들을 상기 시스템에 제공할 수 있으며, 이는 상기 시스템으로 하여금 만약 사용자가 디스플레이된 화상의 영역으로 줌하거나, 또는 그렇지 않다면 이러한 버블에서 잠재적인 관심을 표현한다면 상기 보블 크기 및 해상도를 증가시키도록 허용한다. 몇몇 인스턴스들에서, 상기 시스템은 예를 들면 그 크기가 저장된 규칙들에 의해 수립된 크기들을 초과하고 그것의 외관이 외설스러운 것으로 여겨지기 때문에, 제공된 보블을 제공하지 않는지를 결정하는 캅(cop)으로서 동작해야 한다.(상기 시스템은 적절한 크기 아래로 보블들을 자동으로 스케일링할 수 있으며, 적합하지 않거나 또는 그렇지 않은 경우 이용가능하지 않은 인덱스들 대신에 별과 같은 일반적인 인덱스들을 사용한다.)
보블들은 화상으로부터 구별된 시각적 특징들과 관련되어 그 외 제공될 수 있다. 예를 들면, 보블은 상기 디바이스가 그것의 지리학적 위치를 알고 있거나 또는 상기 디바이스가 그것의 사용자의 아이덴티티를 알고 있음을 나타내기 위해 제공될 수 있다. 따라서 다양한 동작 피드백이 이미지 콘텐트에 상관없이 사용자에게 제공될 수 있다. 몇몇 이미지 피드백은 또한 예를 들면 상기 캡처된 화상이 초점 또는 대비(contrast)와 같은 베이스라인 품질 표준들을 충족시키는 특정 특징적 식별을 제외하고 보블들을 통해 제공된다.
각각의 보블은 비트 매핑된 표현을 포함할 수 있거나, 또는 그것은 그래픽 프리미티브들의 콜렉션에 관하여 정의될 수 있다. 통상적으로, 상기 보블 인덱스들은 평면도에 정의된다. 소프트웨어의 공간 모델 성분은 예로서 비스듬하게 보여지는 상점과 연관된 보블을 겉보기에 기울어지고 아마도 원근법에 의해 휘게 만드는, 캡처된 화상 내에서 식별된 표면들에 따라 상기 스크린으로 그것의 프로젝션을 매핑하는데 힘쓴다. 이러한 이슈들은 다음 섹션에서 추가로 논의된다.
공간 모델/엔진
2D 스크린으로의 3D 세계의 만족스러운 프로젝션 및 디스플레이는 기분 좋은 사용자 경험을 수립하는데 중요할 수 있다. 따라서, 바람직한 시스템은 이러한 목적을 서비스하기 위해 소프트웨어 구성요소들(다양하게 칭하여지는, 예로서 공간 모델 또는 공간 엔진)을 포함한다.
2D에서 3D 세계의 렌더링은 상기 3D 세계에 관한 어떤 것을 이해함으로써 시작한다. 임의의 지리학적 위치 데이터 또는 다른 공간적 이해가 부족한 픽셀들의 순수 프레임으로부터, 어디에서 시작하는가? 어떻게 물체들을 식별하고, 분류하는가? 다행스럽게도, 이러한 문제는 많은 상황들에서 여러 번 직면하고 있다. 머신 비전 및 비디오 모션 인코딩은 기술자가 잘 알고 있는 것으로 추정되는 유용한 종래 기술을 제공하고 상기 기술자가 본 출원에 관련되어 이끌어낼 있는, 많은 것들 가운데 두 개의 분야들이다.
제 1 원리들의 방법으로:
?상기 카메라 및 상기 디스플레이된 스크린은 클래식 2D 공간 구조들이다
?상기 카메라는 2D 평면으로의 상기 3D 세계의 공간 투영들을 통해 기능한다
? 보블들 및 프로토-보블들은 공간 프레임워크 내에서 객관화된다.
직교의 프로세스 스트림, 뿐만 아니라 콘텍스트 아이템 및 속성 아이템으로서 공간 이해를 성문화하기 위한 제안이 아래에 따른다. 이것은 공간 이해의 단계들인 3개의 "공간레벨들(spacelevels)"의 구성을 이용한다.
공간레벨 1은 기본 장면 분석 및 구문 분석을 포함한다. 픽셀들은 초기 그룹핑들로 모여진다. 캡처된 장면 부동산, 뿐만 아니라 디스플레이 스크린 부동산에 대한 몇몇 기본적인 이해가 존재한다. 또한 프레임들을 가로질러 장면 부동산의 흐름에 대한 몇몇 가장 기본적인 지식이 존재한다.
공간레벨 2는 또한 장면 부동산에 초점을 맞춘다. 그것은 가능하게는 중첩 영역들을 가진, 예로서, 각각의 식별된 클럼프, 오브젝트, 또는 관심있는 부분, 그 자신의 논리 데이터 층을 할당하는, 장면 및 장면 시퀀스들의 GIS-형 조직을 도입한다. 각각의 층은 메타데이터의 연관된 저장소를 가질 수 있다. 이 레벨에서, 오브젝트 연속성, 즉 프레임-투-프레임이 식별된다. 소실점들, 수평선들, 및 "위/아래"의 개념들과 같은 가장 기본적인 "세계적인 공간적 실마리들" 이 또한 언급될 수 있다.
공간레벨 3은 세계 상관의 밖으로 확대하는, 이행에 대한 이전 레벨들을 기반으로 한다. 상기 사용자는 주어진 프로젝션 및 시공 궤적을 가진 세계 모델 내의 관찰자인 것으로 이해된다. 장면-대-세계, 세계-대-장면을 매핑하는 변환식들은 상기 시스템이 그것이 공간에 있는지, 및 오브젝트들이 공간에 있는지의 모두를 이해하며, 일들이 어떻게 관련하는지에 대한 몇몇 프레임워크를 가진다. 이들 분석 단계들은 게이밍 산업, 및 증강 현실 엔진들에서의 작업으로부터 이끌어진다.
이들 양태들의 일부는 도 4에 도시되며, 이것은 공간레벨 1에서 2로, 3으로의 공간 이해의 증가하는 정교함을 개념적으로 예시한다.
예시적인 애플리케이션에서, 상이한 소프트웨어 구성요소들은 상이한 공간레벨들과 연관된 상이한 유형들의 정보를 식별할 책임이 있다. 예를 들면, 클럼핑 엔진이 상기 공간레벨 1 이해를 생성하는데 사용된다.
클럼핑은 관련된 바와 같이 (일반적으로) 인접한 픽셀들의 그룹을 식별하기 위한 프로세스를 나타낸다. 이러한 관계는 예를 들면, 컬러 또는 텍스처에서의 유사성일 수 있다. 또는 그것은 흐름(예로서, 프레임에서 프레임으로 정적 배경을 가로지르는 안면 픽셀들의 유사한 패턴)일 수 있다.
하나의 배열에서, 상기 시스템이 픽셀들의 클럼프를 식별한 후, 그것은 상기 클럼프와 연관될 상징의 사용(예로서, ID 번호처럼 간단한)을 할당한다. 이것은 상기 클럼프의 추가 관리 및 분석에 관련되어(그렇지 않다면, 또한 링크된 데이터 배열들에 관련되어) 유용하다. 프로토-버블은 상기 클럼프에 할당될 수 있으며, 식별하는 심볼에 대한 참조의 의해 추적될 수 있다. 2D 및 3D에서의 상기 카메라의 것에 대한 클럼프의 위치에 관한, 상기 시스템의 의해 수행된 구문 분석 및 배향 동작들로부터 기인하는 정보는 상기 클럼프의 심볼에 대한 참조에 의해 조직될 수 있다. 유사하게, 클럼프와 연관된 이미지 처리 동작들로부터 기인하는 데이터는 상기 클럼프의 심볼에 대한 참조에 의해 식별될 수 있다. 마찬가지로, 사용자 탭들은 상기 심볼에 관련하여 로깅될 수 있다. 클럼프-관련된 정보가 저장되고 관리될 수 있는 핸들로서 상기 심볼의 이러한 사용은 클럼트-오브젝트 및 그에 기초한 응답들의 전체 인식 내내, 상기 클럼프, 상기 클럼프에 관한 클라우드-기반 프로세스들로 확대할 수 있다. (예로서, 세션 ID들을 포함한 보다 상세한 네이밍 구성들이 이하에 도입된다.)
이들 공간적 이해 구성요소들은 예로서, 공통/전역적 공간 이해를 유지하며, 에이전트들 및 오브젝트들이 이용할 수 있는 공간 프레임워크를 셋업하는, 다른 시스템 소프트웨어 구성요소들과 병행하여 동작할 수 있다. 이러한 동작은 인식 에이전트들이 그것들이 보는 것을 이해하도록 돕는 것을 나타낼 수 있으며, 상기 그래픽스 시스템이 현재 풍경에서 보블들을 그리는 방법을 결정할 때 찾아볼 수 있는 공유가능한 데이터 구조(예로서, 블랙보드)에 공간 환경에 대한 현재 정보를 게시하는 것을 포함할 수 있다. 상이한 오브젝트들 및 에이전트들은 공간레벨 필드들 및 3개의 레벨들과 연관된 속성 아이템들을 셋업할 수 있다.
이들 시스템들의 연속적인 생성들을 통해, 상기 공간 이해 구성요소들은 상기 디바이스들의 거의 재귀적인 암기식 능력이 되도록 기대된다.
직관적 컴퓨팅 플랫폼( ICP ) 상태 머신 - 서비스의 구성; 서비스 지향된 컴퓨팅
이전 논의된 바와 같이, 상기 ICP 상태 머신은, 본질적으로, 실시간 운영 시스템을 포함할 수 있다. 그것은 스케줄링, 멀티태스킹, 에러 복구, 리소스 관리, 메시징과 보안, 및 현재 애플리케이션들에 보다 특정한 몇몇 다른 것들과 같은 전통적인 태스크들을 처리할 수 있다. 이들 부가적인 태스크들은 감사 추적 기능(audit trail functionality)를 제공하고, 보안 세션 관리를 처리하며, 서비스들의 구성을 결정하는 것을 포함할 수 있다.
상기 감사 추적 기능은 그것들이 스폰서에 지불한 상기 보블들이 사실상 상기 사용자에게 제공되는 상업적 엔티티들에 대한 보증을 제공한다.
보안 세션 관리는 클라우드 서비스들 및 도청 등(예로서, 암호화에 의해)으로부터 강력한 다른 디바이스들과의 연결들을 수립하고 관리하는 것을 수반한다.
서비스들의 구성은 특정 기능들(및 이들 구성 동작들의 관련된 편성/연출)을 수행하기 위한 동작들의 선택을 나타낸다. 디스패치 프로세스는 예로서, 애플리케이션들과 리소스들을 일치시키는, 상태 머신의 동작의 이들 양상들에 수반될 수 있다.
특정 고 레벨 기능들이 다양한 하위 레벨 동작들의 상이한 조합들로부터 데이터를 사용하여 구현될 수 있다. 어떤 기능들이 언제 이용되는지에 대한 선택은 다수의 인자들에 기초할 수 있다. 하나는 다른 동작들이 이미 진행중이거나 또는 완료되는 것이며, 또한 현재 서비스할 수 있는 결과들이 필요하다.
예시하기 위해, 바코드 국소화가 보통 국소화된 수평 대비의 산출, 및 국소화된 수직 대비의 산출, 및 이러한 대비 데이터의 비교에 의존할 수 있다. 그러나, 상기 이미지를 가로지르는 16×16 픽셀 타일들에 대한 2D FFT 데이터가 이미 또 다른 프로세스로부터 이용가능하다면, 이러한 정보는 후보 바코드 영역들을 대신 위치를 찾기 위해 사용될 수 있다.
유사하게는, 기능은 이미지에서의 긴 에지들의 위치들에 대한 정보를 요구할 수 있으며, 긴 에지 데이터를 생성하는데 전용되는 동작이 개시될 수 있다. 그러나, 또 다른 프로세스가 이미 상기 프레임에서 다양한 길이들의 에지들을 이미 식별할 수 있으며, 이들 기존의 결과들은 상기 긴 에지들을 식별하기 위해 간단히 필터링되고 재사용될 수 있다.
또 다른 예는 허프 변환-기반(Hough transform-based) 특징 인식이다. OpenCV 비전 라이브러리는 이러한 기능이 입력 데이터로서 세선-에지 이미지 데이터를 바람직하게 사용한다는 것을 나타낸다. 그것은 또한 에지 데이터에 캐니 연산(Canny operation)을 적용함으로써 상기 세선-에지 이미지를 생성하는 것을 추천한다. 결과적으로 상기 에지 데이터는, 일반적으로 상기 이미지 데이터에 소벨 필터(Sobel filter)를 적용함으로써 생성된다. 그러므로, 허브 절차의 "책에 의한" 구현은 소벨 필터로 시작할 것이며, 그 뒤로 캐리 동작, 및 그 후 허프 방법을 불러일으킨다.
그러나 에지들은 소벨 필터와 다른 방법들에 의해 결정될 수 있다. 세선 에지들은 캐니와 다른 방법들에 의해 결정될 수 있다. 상기 시스템이 - 비록 소벨 필터와 다른 방법에 의해 생성될지라도 - 이미 에지 데이터를 갖고 있다면, 이러한 에지 데이터가 사용될 수 있다. 유사하게는, 또 다른 프로세스가 - 캐니 연산에 의해서가 아닐지라도- 이미 개량된 에지 데이터를 생성하였다면, 이러한 개량된 에지 데이터가 사용될 수 있다.
일 특정 구현에 있어서, 상기 시스템(예로서, 디스패치 프로세스)은 상이한 유형들의 키벡터들 간의 대략적인 기능 관련성의 정도를 수립하는 정보를 가진 데이터 구조를 나타낼 수 있다. 캐니에 의해 생성된 키벡터 에지 데이터는 무선 대칭 지시 필터 기술에 의해 생성된 에지 데이터와 높은 정도의 기능 관련성, 및 마르-힐드레스(Marr-Hildreth) 절차에 의해 식별된 에지 데이터와 다소 적은 관련성을 갖도록 표시될 수 있다. 해리스 연산자(Harris operator)에 의해 검출된 코너들은 쉬 및 토마시 방법(Shi and Tomasi method) 등에 의해 검출된 코너들과 상호교환가능할 수 있다.
이러한 데이터 구조는 하나의 큰 테이블을 포함할 수 있거나, 또는 그것은 각각이 특정 유형의 동작에 전문화된 여러 개의 테이블들로 나누어질 수 있다. 도 5는 예를 들면 관련성의 정도(100으로 스케일링된)를 나타내는 에지 발견과 연관된 테이블의 부분을 개략적으로 도시한다.
특정 고 레벨 함수(예로서, 바코드 디코딩)가 캐니 에지 필터와 같은 특정 프로세스에 의해 생성된 데이터를 필요로 할 수 있다. 캐니 필터 함수는 상기 시스템에 이용가능한 소프트웨어 처리 알고리즘들의 라이브러리에서 이용가능할 수 있지만, 상기 동작을 불러오기 전에, 상기 시스템은 적절한 대안 데이터가 이미 이용가능한지, 또는 처리 중인지(선호된 캐니 데이터가 이미 이용가능하지 않음을 가정하는)를 알기 위해 도 5의 데이터 구조를 참고할 수 있다.
상기 체크는 제일 왼쪽의 컬럼에서 명목상 원하는 기능을 가진 로우를 발견함으로써 시작한다. 상기 절차는 그 후 최고값에 대한 상기 로우를 가로질러 스캐닝한다. 캐니의 경우에, 상기 최고값은 무한 대칭 지수 필터에 대해 95이다. 상기 시스템은 그러한 데이터가 대상 이미지 프레임(또는 적절한 대체물)에 대해 이용가능하지 여부를 결정하기 위해 상기 공유된 데이터 구조(예로서, 블랙보드)를 체크할 수 있다. 발견된다면, 그것은 명목상-특정된 캐니 데이터 대신에 사용될 수 있으며 상기 바코드 디코딩 동작은 그것에 기반하여 계속할 수 있다. 아무것도 발견되지 않는다면, 상기 상태 머신 프로세스는 다음-최고 값(들)(예로서, 마르-힐드레스에 대해 90)을 찾는 것을 계속한다. 다시, 상기 시스템은 이러한 유형의 임의의 데이터가 이용가능한지 여부를 체크한다. 상기 프로세스는 상기 테이블에서의 대안들 모두가 소진될 때까지 진행한다.
현재 바람직한 실시예에서, 이러한 체크는 상기 디스패치 프로세스에 의해 착수된다. 이러한 실시예에서, 대부분의 인식 프로세스들은 각각이 특정된 입력들을 갖는 연쇄된 동작들의 시퀀스들로서 수행된다. 디스패치 프로세스의 사용은 서비스들 의사 결정의 수행원 구성이 중앙 집중되도록 허용한다. 이것은 또한 상기 운영 소프트웨어 구성들이 예로서, 이러한 구성요소들을 유지하기에 어렵고 보다 복잡하게 만드는 부담을 지우는 - 적절한 입력 리소스들을 위한 테이블들을 체크하고 다른 프로세스들의 동작들의 인지를 유지하는 것과 관련되기보다는, 이미지 프로세싱에 초점을 맞추도록 허용한다.
몇몇 장치들에서, 데이터 치환을 위해 수용가능한 최소 대응 값, 예로서 75를 나타내는 임계값이 상기 바코드 디코딩 함수, 또는 전역적 시스템에 의해 특정된다. 이러한 경우에, 방금-기술된 프로세스는 캐니 필터와의 관련성의 정도가 단지 70이기 때문에, 소벨 및 키르히 필터들로부터의 데이터를 고려하지 않을 것이다.
비록 다른 구현들이 상이할 수 있지만, 도 5의 표는 대칭적이지 않다는 것을 주의하자. 예를 들면, 캐니를 원하지만, 소벨이 단지 70의 표시된 관련성을 가진다. 소벨을 원하지만, 캐니가 90의 표시된 관련성을 가진다. 따라서, 75의 임게값이 설정된다면 캐니는 소벨로 대체될 수 있지만, 그 반대로는 안된다.
도 5의 상기 테이블은 범용적이다. 그러나, 몇몇 특정 애플리케이션들을 위해, 그것은 적절하지 않을 수 있다. 예를 들면, 함수는 에지들이 캐니(선호됨), 또는 키르히 또는 라플라시안(Laplacian)으로 발견되기를 요구할 수 있다. 함수의 특징으로 인해, 어떤 다른 에지 파인더도 만족스럽지 않을 수 있다.
상기 시스템은 특정 함수들이 상기 범용 테이블(들)의 하나 이상의 동작들을 위한 그 자신의 대응 테이블을 제공하도록 허용할 수 있다- 범용 테이블(들)의 선제 애플리케이션(pre-empting application). 함수를 위한 전문화된 대응 테이블들의 존재는 상기 함수와 연관된 플래그 비트 등에 의해 표시될 수 있다. 방금 주어진 예에서, 플래그 비트는 도 5a의 테이블이 대신 사용되어야 하는 것을 나타낼 수 있다. 이러한 테이블은 단지 명목상 상기 함수에서의 사용을 위해 특정되는 캐니 연산을 위한 단일 로우를 포함한다. 그것은 무산 비대칭 지수 필터 및 라플라시안에 대한 단지 두 개의 컬럼들을 가진다. (다른 데이터는 적절하지 않다) 상기 대응 값들(즉, 95, 80)은 상기 테이블이 대안적인 프로세스들의 단순한 리스트를 포함할 수 있도록 생략될 수 있다.
상기 공유된 데이터 구조에서의 대체가능한 데이터를 발견하는 것을 용이하게 하기 위해, 특정 키벡터가 어떤 정보를 포함하는지를 나타내는 명명 규칙(naming convention)이 사용될 수 있다. 이러한 명명 규칙은 함수의 클래스(예로서, 에지 발견), 특정 종들의 함수(예로서, 캐니), 데이터가 기반하는 이미지 프레임(들), 및 상기 데이터에 특정한 임의의 다른 파라미터들(예로서, 상기 캐니 필터에 대한 커널의 사이즈)을 표시할 수 있다. 이러한 정보는 문자 그대로, 약어로, 전체 세부사항들 등을 획득하기 위해 또 다른 데이터 구조를 통해 해결될 수 있는 하나 이상의 인덱스 값들로 등과 같은 다양한 방식들로 표현될 수 있다. 예를 들면, 5×5 블러링 커널로 생성된, 프레임 1357을 위한 캐니 에지 데이터를 포함한 키 벡터는 "KV_Edge_Canny_1357_5×5"로 명명될 수 있다.
데이터의 다른 프로세스들이 처리 중임을 알리기 위해, 널 엔트리가 함수가 초기화될 때 상기 함수의 마지막 결과들에 따라 명명된, 상기 공유된 데이터 구조로 기록될 수 있다. 따라서, 상기 시스템이 5×5 블러링 커널을 갖고, 프레임 1357 상에서 캐니 동작을 수행하기 시작한다면, 널 파일은 상기 논의된 명칭을 가진 공유된 데이터 구조로 기록될 수 있다. (이것은 함수에 의해, 또는 상기 상태 머신 - 예로서, 상기 디스패치 프로세스에 의해 수행될 수 있다) 또 다른 프로세스가 상기 정보를 요구하고, 널 엔트리를 가진 적절히 명명된 파일을 발견한다면, 그것은 이러한 프로세스가 착수되었음을 안다. 그 후 그것은 모니터링할 수 있거나, 또는 상기 공유된 데이터 구조를 갖고 검증되며, 그것이 이용가능할 때 상기 요구된 정보를 획득할 수 있다.
보다 상세하게는, 상기 정보를 요구하는 프로세스 단계는 그것의 요구된 품질들을 제공하는 디스크립터들을 포함한 원하는 에지 이미지의 규격을 그것의 입력 파라미터들 가운데 포함할 것이다. 상기 시스템(예로서, 상기 디스패치 프로세스)은 적절한 데이터가 현재 이용가능한지 또는 처리중인지 여부를 결정하기 위해, 논의된 바와 같이, 현재 메모리에 있는(예로서, 블랙보드 상에 있는) 데이터의 유형들, 및 디스크립션 테이블들을 검사할 것이다. 가능한 동작들이 그 후 수용가능한, 이용가능한 데이터로 상기 단계를 시작하는 단계; 상기 데이터가 이용가능한 것으로 예상될 때, 나중 시간까지 지연을 시작하는 단계; 상기 요구된 데이터(예로서, 캐니)를 생성할 프로세스의 지연 시작 및 스케줄 시작 단계; 또는 그것들을 생성하기 위해 요구될 상기 리소스들의 및 요구된 데이터의 부족으로 인해, 상기 단계를 지연하거나 또는 종료하는 단계를 포함할 수 있다.
대안하는 데이터가 특정 동작을 가진 사용을 위해 적절한지 여부를 고려할 때, 다른 프레임들로부터의 데이터에 고려사항이 주어질 수 있다. 상기 카메라가 자유-구동 모드에 있다면, 그것은 초마다 많은(예로서, 30개의) 프레임들을 캡처할 수 있다. 분석 프로세스가 특히 프레임 1357(상기 주어진 예에서)을 고려하는 동안, 그것은 프레임 1356 또는 짝수 프레임(1200 또는 1500)으로부터 도출된 정보를 이용할 수 있을 것이다.
이러한 점에서, 그것은 콘텐트에서 비교가능한 화상을 포함하는 프레임들의 그룹들을 식별하는데 도움을 준다. 두 개의 이미지 프레임들이 비교가능한지 여부는 당연히 특정 상황들, 예로서 수행되는 이미지 콘텐트 및 동작(들)에 의존할 것이다.
일 대표적인 장치에서, 만약 (1) 관심있는 관련 영역이 프레임들(예로서, 동일한 얼굴 대상, 또는 바코드 대상) 모두에서 나타나고, (2) 프레임(A)과 프레임(B) 간의 상기 프레임들의 각각이 관심 있는 동일한 영역(이것은 상기 카메라가 원래 상기 대상을 볼 때, 및 그것이 상기 대상으로 리턴될 때 사이에서 변화하는 대상에 대한 몇몇 보호의 측정을 제공한다)을 또한 포함한다면, 프레임(A)은 프레임(B)과 비교가능한 것으로서 간주될 수 있다.
또 다른 장치에서, 두 개의 프레임들은 그것들의 컬러 히스토그램들이 특정 임계치 내에서(예로서, 그것들은 0.95, 또는 0.98보다 큰 상관을 가진다) 유사하다면, 비교가능한 것으로 간주된다.
또 다른 장치에서, MPEG-형 기술들은 두 개의 프레임들 사이의 상이한 정보를 결정하기 위해 이미지 스트림에 적용될 수 있다. 차이가 임계값을 초과하면, 두 개의 프레임들은 비교 불가능한 것으로 간주된다.
상기 언급된 이들 기준들 외에 부여될 수 있는 추가 테스트는 상기 프레임에서 특징 또는 관심있는 영역이 비교적 위치가 고정된다는 것이다("비교적"은 허용된 이동의 임계값, 예로서, 10개의 픽셀들, 상기 프레임 폭의 10%, 등을 허용한다).
상당히 다양한 다른 기술들이 대안적으로 사용될 수 있으며, 이것들은 단지 예시적이다.
하나의 특정 실시예에서, 이동 디바이스는 비교가능한 이미지 프레임들을 식별하는 데이터 구조를 유지한다. 이것은 각각의 그룹의 시작 및 종료 프레임을 식별하는 표만큼 간단할 수 있으며, 예를 들면:
Figure pct00001
몇몇 장치들에서, 몇몇 이유로 비교가능하지 않은(예로서, 초점이 맞지 않은) 표시된 범위 내의 프레임들을 표시하는, 제 3 필드가 제공될 수 있다.
이전-언급된 예로 돌아가면, 함수가 입력 데이터("KV_Edge_Canny_1357_5×5"를 원하고 아무것도 발견되지 않는다면, 그것은 이전 표에 의해 표시된 비교가능성(대략 같음)에 기초하여 "KV_Edge_Canny_1500_5×5"를 통해 "KV_Edge_Canny_1200_5×5"을 찾도록 검색하기 위해 확대할 수 있다. 표시된 바와 같이, 그것은 또한 다시 임의의 프레임들(1200 내지 1500)로부터 다른 방법에 의해 생성된 에지 데이터를 이용할 수 있을 것이다.
따라서, 예를 들면, 바코드는 프레임(1250)에서 높은 수평 대비의 영역, 및 프레임(1300)에서 낮은 수직 대비의 영역을 발견함으로써 위치를 찾을 수 있다. 위치 찾기 후, 이러한 바코드는 프레임(1350)에서 발견된 제한 라인 구조들(에지들), 및 프레임들(1360, 1362, 1364)에서 발견된 심볼 패턴들의 상관에 대한 참조에 의해 디코딩될 수 있다. 이들 프레임들 모두가 공통 그룹 내에 있기 때문에, 상기 디바이스는 사용가능해질 그것들의 각각으로부터 도출된 데이터를 다른 것들의 각각으로부터 도출된 데이터로 간주한다.
보다 복잡한 실시예들에서, 프레임들 간의 모션을 식별하기 위해 프레임들 간의 특정 추적(흐름)이 구별되고 사용될 수 있다. 따라서, 예를 들면, 상기 디바이스는 프레임(A)에서의 픽셀(100, 100)에서 시작하는 라인이 프레임(B)에서의 픽셀(101, 107)에서 시작하는 동일한 라인에 대응한다는 것을 이해할 수 있다. (다시, MPEG 기술들은 예를 들면 프레임-투-프레임 오브젝트 추적을 위해 사용될 수 있다.) 적절한 조정들이 데이터를 재등록하기 위해 이루어질 수 있거나, 또는 그렇지 않다면 상기 조정이 도입될 수 있다.
보다 간단한 실시예들에서, 이미지 프레임들 간의 동등함은 간단하게는 시간적 근접성에 기초한다. 대상 프레임의 주어진 시간-스팬(또는 프레임-스팬) 내의 프레임들은 비교가능한 것으로 간주된다. 따라서 프레임(1357)을 위한 캐니 에지 정보를 찾을 때, 상기 시스템은 동등해질 프레임들(1352-1362)(즉, 플러스 마이너스 5개의 프레임들) 중 임의의 것으로부터 에지 정보를 수용할 수 있다. 이러한 접근법은 때때로 실패를 이끌 것이지만, 그것의 단순성은 특정 상황들에서 그것을 바람직하게 만들 수 있다.
때때로, 교체된 입력 데이터를 사용한 동작은 상기 대안 프로세스로부터의 입력 데이터가 동작의 공칭적, 원하는 입력 데이터의 정확한 특성이 아니기 때문에 실패한다(예로서, 그것은 바코드를 찾거나 또는 얼굴을 인식하는데 실패한다). 예를 들면, 비록, 상기 입력 데이터가 캐니 연산자에 의해 생성되지 않고, 대안적인 프로세스에 의해 생성되기 때문에, 허프 변환-기반 특징 인식은 실패할 수 있다. 동작이 실패한 경우에, 그것은 입력 데이터의 상이한 소스를 갖고 이번에 재시도될 수 있다. 예를 들면, 상기 캐니 연산자는 대안 대신에 이용될 수 있다. 그러나, 상기 동작을 반복하는 비용들, 및 2차 시도에서의 일반적으로 낮은 성공 기대로 인해, 이러한 재-시도들은 일반적으로 보통 착수되지 않는다. 만약 동작이 사용자 동작에 응답하는 것과 같이, 하향식 방식으로 개시되는 경우에, 재시도가 이루어질 수 있다.
몇몇 장치들에서, 초기 서비스들의 구성 결정들은 몇몇 조치에서 동작이 하향으로 또는 상향으로(이들 개념들은 이하에 논의된다) 개시되는지 여부에 의존한다. 상향식 경우에서, 예를 들면, 상기 하향식 경우에서보다 입력 데이터의 상이한 리소스들(예로서, 공칭 데이터 소스에 대한 덜 표시된 관련성을 가진 소스들)을 대체하기 위해 보다 많은 관용도가 허용될 수 있다.
서비스의 구성을 결정할 때 고려될 수 있는 다른 인자들은 전력 및 계산 제약들, 특정 클라우드-기반 동작들을 위한 재정 비용들, 경매 결과들, 사용자 만족 순위들 등을 포함할 수 있다.
다시, 대안적인 동작들의 각각을 위한 상대적 정보를 제공하는 표들이 서비스들의 구성 결정을 돕기 위해 참고될 수 있다. 일 예는 도 6에 도시된다.
상기 도 6은 상이한 에지 발견 함수들을 실행하도록 요구된 CPU 및 메모리를 위한 메트릭들을 제공한다. 상기 메트릭들은 몇몇 종류의(예로서, 주어진 크기, 예로서, 1024×1024의 이미지에 대한 서술된 동작을 수행하기 위한 CPU 사이클들, 및 이러한 동작을 실행하기 위해 요구된 RAM의 KB)의 실제 값들일 수 있거나, 또는 그것들은 임의로, 예로서, 0 내지 100의 스케일로 스케일링될 수 있다.
함수가 바람직하게는 캐니 연산으로부터 에지 데이터를 요구하고, 어떤 적절한 데이터도 이미 이용가능하지 않다면, 상기 상태 머신은 상기 요청된 캐니 연산을 부를지 또는 또 다른 것을 부를지 여부를 결정해야 한다. 시스템 메모리가 거의 공급되지 않는다면, 도 6의 표는(도 5의 표와 함께) 무산 대칭 지수 필터가 대신 사용될 수 있음을 제안하여, 이것은 단지 CPU 부담보다 약간 더 크지만, 25% 적은 메모리를 취한다. (도 5는 상기 무한 대칭 지수 필터가 캐니를 갖고 95의 관련성을 가지며, 따라서 그것은 기능적으로 대체가능해야 한다). 소벨 및 키르히는 훨씬 더 적은 메모리 풋프린트들을 요구하지만, 도 5는 이것들이 적절하지 않을 수 있음을 나타낸다(70의 점수들).
실시간 상태 머신은 도 5 및 도 6의 점수들 더하기 비용들, 사용자 만족, 현재 시스템 제약들(예로서, CPU 및 메모리 이용), 및 대안적인 에지 발견 연산들이 각각을 위한 다른 기준들을 위한 다른 점수들과 같은, 다양한 파라미터들을 고려할 수 있다. 이것들은 다항식에 따라 상기 파라미터들의 상이한 조합들을 가중시키고 합하는 프로세스에 입력될 수 있다. 이러한 프로세스의 출력은 불러일으켜질 수 있는 상이한 연산들의 각각에 대한 점수를 산출한다. 최고 점수(또는 상기 식에 의존하여, 최저)를 가진 동작이 현재 상황들에서 최상인 것으로 간주되며, 그 후 상기 시스템에 의해 시작된다.
도 5 및 도 6의 표들은 이러한 함수들의 단지 국소적 디바이스 실행을 고려하지만, 클라우드-기반 실행이 또한 고려될 수 있다. 이러한 경우에, 상기 함수의 상기 프로세서 및 메모리 비용들은 근본적으로 0이지만, 다른 비용들이 예로서, 네트워크 대역폭의 소비에서, 및 가능하게는 재정적 소액 결제에서, 결과들을 수신하기 위해 증가된 시간에서 발생될 수 있다. 이들 비용들의 각각은 대안적인 서비스 제공자들 및 기능들을 위해 상이할 수 있다. 이들 인자들을 평가하기 위해, 부가적인 점수들이, 예로서 각각의 서비스 제공자 및 대안적인 기능을 위해 계산될 수 있다. 이들 점수들은, 입력들로서, 결과들을 되찾기 위한 긴급의 표시, 및 상기 클라우드-기반 기능으로부터 예측된 증가된 턴-어라운드 시간; 네트워크 대역폭의 현재 사용, 및 클라우드 기반 서비스로의 상기 기능의 위임에 의해 소비될 부가적인 대역폭; 상기 고려된 기능(예로서, 무한 대칭 지수 필터) 대 명목상 원하는 기능(예로서, 캐니)의 대용가능성; 및 가격에 대한 소비자의 예민성의 표시, 및 (만약에 있다면) 상기 기능의 원격 실행을 위해 어떤 요금이 평가될 것인가를 포함할 수 있다. 사용자 선호들, 경매 결과들 등을 포함한 다양한 다른 인자들이 또한 수반될 수 있다. 이러한 산출들로부터 기인한 점수들은 고려된 상이한 원격 제공자들/기능들 가운데 선호된 옵션을 식별하기 위해 사용될 수 있다. 상기 시스템은 그 후 상기 국소적 디바이스에 의한 기능의 성능과 연관된 것들로부터 승리한 점수와 이러한 운동으로부터의 승리한 점수를 비교할 수 있다. (바람직하게는, 상기 점수를 매기는 척도들은 비교가능하다). 경매가 그 후 이러한 평가에 기초하여 취해질 수 있다.
상기 서비스들의 선택은 또한 다른 인자들에 기초할 수 있다. 콘텍스트로부터, 사용자 의도 등의 표시들, 현재 상황들에 관련 있는 인식 에이전트들의 세트가 식별될 수 있다. 이들 인식 에이전트들로부터, 상기 시스템은 그것들이 원하는 입력들로 구성된 세트를 식별할 수 있다. 이들 입력들은 다른 상이한 입력들을 가진 다른 프로세스들을 수반할 수 있다. 모든 관련된 입력들을 식별한 후, 상기 시스템은 대안들뿐만 아니라, 표시된 입력들을 포함하는 솔루션 트리를 정의할 수 있다. 상기 시스템은 그 후 상기 트리를 통해 상이한 경로들을 식별하고, 최적인 것으로 간주되는(예로서, 관련 있는 제약들에 기초하여) 것을 선택한다. 다시, 로컬 및 클라우드-기반 처리 둘 모두가 고려될 수 있다.
이러한 점에서, 상기 기술은 예로서, "스마트 환경들"과 관련되어 인공 지능(AI)의 분야에서 알려진 "계획 모델들"로부터 얻을 수 있다.
(계획 모델들의 다음 논의는 2008년 모바일 및 유비쿼터스 미디어에 대한 ACM 회의 Marquardt의 "스마트 환경들에서 서비스 구성을 위한 AI 계획을 평가하는 방법(Evaluating AI Planning for Servie Composition in Smart Environments)" 48-55 페이지로부터 부분적으로 얻는다)
제록스 PARC에서의 Mark Weiser에 의해 인지된 바와 같이, 스마트 환경은 "풍부하고 눈에 보이지 않게 센서들, 구동기들, 디스플레이들, 및 계산적 요소들과 복잡하게 얽혀있고, 우리의 삶들의 일상 용품들에서 끊김 없이 임베딩되며, 연속 네트워크를 통해 연결된" 것이다. 이러한 환경들은 개별화된 서비스들(예로서, 조명, 가열, 냉각, 가습, 이미지 투사, 경보, 이미지 레코딩 등)을 방해받지 않는 방식으로 사용자에게 제공하는 디바이스들의 동적 앙상블들에 의해 특성화된다.
도 7은 예시적이다. 사용자의 의도들은 예로서, 관찰에 의해, 및 콘텍스트에 대한 참조에 의해 식별된다. 이러한 정보로부터, 상기 시스템은 사용자의 추정된 목표들을 도출한다. 전략 합성의 단계는 이들 목표들을 충족시키는 동작들의 시퀀스를 발견하려고 시도한다. 마침내, 이들 동작들은 상기 환경에서 이용가능한 디바이스들을 사용하여 실행된다.
상기 환경은 변화가능하기 때문에, 서비스들의 구성을 처리하는 상기 전력 합성은 예로서, 목표들 및 이용가능한 디바이스들이 변함에 따라 적응가능해야 한다. 상기 서비스들의 구성 태스크는 AI "계획" 문제로서 간주된다.
AI 계획은 자율적인 에이전트가 특정 목표를 달성하기 위해 실행해야 하는 동작 시퀀스들을 식별하는 문제에 관한 것이다. 에이전트가 수행할 수 있는 각각의 기능(서비스)은 연산자로서 표현된다. (사전- 및 사후-조건들은 이들 연산자들과 연관될 수 있다. 사전-조건들은 상기 연산자(함수)를 실행하기 위해 제공되어야 하는 전제조건들을 설명한다. 사후-조건들은 상기 연산자의 실행에 의해 트리거된 환경에서의 변화들 - 상기 스마트 환경이 응답할 필요가 있는 변화를 설명한다.) 계획 용어들에서, 도 7의 상기 "전략 합성"은 계획 생성에 대응하며, 상기 "동작들"은 계획 생성에 대응한다. 상기 계획 생성은 스마트 환경을 위한 서비스 구성을 수반한다.
많은 수의 플래너들이 AI 분야로부터 알려져 있다. 예로서, 2002년 17:1-33, 인공 지능 연구의 저널로, 호우(Howe)의 "계획에서의 벤치마크 비교의 중대한 비교(A Critical Assessment of Benchmark Comparision in Planning)"를 참조하자. 실제로, AI 플래너들 간에 경쟁들에 전념하는 연간 회의가 존재한다(ipc.icaps-conference.org를 참조하자). 스마트 환경들에서 서비스들을 구성하기 위한 몇몇 플래너들이 2005, 35(1):7-21, 인간 및 사이버네틱스, IEEE 시스템들, 아미고니(Aminogni)의 "주변 지능 애플리케이션들을 위해 어떤 플래너인가(What Planner for Ambient Intelligence Applications?)"에서 평가되어 왔다. 스마트 환경들에서 서비스 구성을 위한 다른 플래너들이 특히 UCPOP, SGP, 및 블랙박스(Blackbox)를 포함하여, 이전에 언급된 Marquardt 논문에서 고려된다. 모두가 PDDL(계획 도메인 정의 언어)의 변형 - 도메인들 및 문제들을 계획하기 위한 대중적인 디스크립션 언어를 사용한다.
마쿼트는 단순한 스마트 환경 시뮬레이션에서 각각 두 개의 랜덤하게 선택된 서비스들, 및 랜덤하게 선택된 목표들을 갖고, 상이한 플래너들을 평가했다 - 5개 및 20개의 디바이스들 사이에서 이용하는, 도 8에 의해 표현되는 부분. 데이터가 상기 표시된 라인들을 따라 메시지들의 형태로 모델 구성요소들 간에 교환된다. 상기 시뮬레이션에서의 서비스들은 각각 12개까지의 사전 조건들(예로서, "light_on", "have_document_A" 등)을 가진다. 각각의 서비스는 또한 다양한 사후-조건들을 가진다.
상기 연구는 모든 3개의 플래너들이 만족스럽다고 결론을 내리지만, 블랙박스(1998년 AIPS, 카우츠의 "블랙박스: 문제 해결을 입증하는 정리의 애플리케이션에 대한 새로운 접근법(Blackbox: A New Approach to the Application of Theorem Proving to Problem Solving)"가 최고로 수행된다. 마쿼트는 상기 목표가 해결가능하지 않다고 언급고, 상기 플래너들은 일반적으로 상기 목표를 충족시키기 위해 계획을 고안하기 위해 성공하지 못하게 시도하는 과도한 시간의 양을 취한다. 상기 저자들은 그것이 상기 프로세스가 리소스들을 낭비하는 것을 피하기 위해, 1초 내에 솔루션을 산출하지 못한다면, 플래닝 프로세스를 종료(또는 상이한 플래너를 개시)하는 것이 양호하다고 결론을 내린다.
시도의 상이한 분야로부터, 출원인들은 후자의 통찰력이 마찬가지로 시각적 질의의 분야에서 특정 목표를 달성하기 위해 서비스들의 구성을 시도할 때 이용되어야 한다는 것으로 믿고 있을지라도, 솔루션 트리(또는 다른 계획 절차)를 통해 만족스러운 경로가 빨리 고안될 수 없다면, 상태 머신은 아마도 이용가능한 데이터를 갖고 풀 수 없는 것으로 상기 기능을 간주해야 하며, 솔루션을 찾으려고 시도하는 보다 많은 리소스들을 확대시킬 수 없다. 임계값 간격은 소프트웨어로 수립될 수 있으며(예를 들면, 0.1초, 0.5초 등), 타이머는 이러한 임계값에 대해 비교될 수 있고 상기 임계값에 도달되기 전에 적절한 전략이 발견되지 않는다면 솔루션에서의 시도를 중단할 수 있다.
본 기술의 실시예들은 또한 점차 복잡한 웹 사이트들의 기능적 구성요소들로서 포함되는 웹 서비스들의 분야에서의 작업으로부터 얻을 수 있다. 예를 들면, 여행 웹 사이트는 항공사를 예약하기 위해 하나의 웹 서비스를 사용하고, 비행기의 좌석을 선택하기 위해 또 다른 웹 사이트, 및 사용자의 신용 카드로 구매하기 위해 또 다른 웹 서비스를 사용할 수 있다. 상기 여행 웹 사이트는 이들 기능성 구성요소들을 쓸 필요가 없으며, 그것은 다른 사람들에 의해 쓰여지고 제공되는 웹 서비스들의 메쉬를 사용한다. 다른 사람들에 의해 이전에 수행된 작업으로 획득한 이러한 모듈러 접근법은 시스템 설계 및 전달의 속도를 높인다.
시스템 설계의 이러한 특정 형태는 서비스 지향 아키텍처(SOA) 및 서비스 지향 컴퓨팅을 포함하여, 다양한 명칭들로 흐른다. 비록 이러한 스타일의 설계는 개개의 구성요소 동작들을 수행하기 위해 개발자가 소프트웨어를 기록하는 것을 피하게 하지만, 여전히 어떤 웹 서비스들을 사용할지를 결정하고, 이러한 서비스들로의 데이터의 제출 및 그로부터의 결과들의 수집을 조직하는 작업이 존재한다. 이들 이슈들에 대한 다양한 접근법들이 알려져 있다. 예를 들면, 2006년 Dagstuhl 세미나 회보 05462, 파파조글루의 "서비스-지향 컴퓨팅 연구 로드맵(Service-Oriented Computing Research Roadmap)"; 및 2006년 3월, IEEE 컴퓨터, 39:3 비클러의 "서비스 지향된 컴퓨팅(Service Oriented Computing)" 88-90 페이지를 보자.
서비스 제공자들은 당연히 서비스들을 제공하기 위한 한정된 능력을 가지며, 때때로 그들의 능력을 초과하는 요청들을 분류하는 문제를 처리해야 한다. 이러한 분야에서의 작업은 상기 경쟁하는 요청들 가운데 선택하고, 요구에 따라서 서비스들에 대한 요금들을 적응시키기 위한 알고리즘들을 포함한다. 예를 들면, 경제학 구동된 소프트웨어 엔지니어링 연구에 대한 2006년 국제 워크샵의 ACM 회보, Esmaeilsabzali 등의 "웹 서비스 제공자들을 위한 온라인 가격 책정(Online Pricing for Web Service Providiers)"을 보자.
본 기술의 상기 상태 머신은 원격 서버들 및 에이전트들에 대한 처리 부담의 일부를 배치함으로써 이동 디바이스들(시각적 검색 및 기타를 위한)의 기능을 확대하기 위해 서비스 지향 컴퓨팅 장치들을 이용할 수 있다. 관련 웹 서비스들은 예를 들면, 표준화된 예로서, XML 형태로 그것들의 서비스들, 입력들, 및 출력들을 특정하는 하나 이상의 클라우드-기반 브로커 프로세스들로 등록될 수 있다. 상기 상태 머신은 상기 시스템의 요구들을 이행하기 위해 서비스들을 식별할 때 이러한 브로커(들)와 협의할 수 있다. (상기 상태 머신은 특정 유형들의 서비스들을 처리하는 브로커들을 식별하기 위해 브로커들의 브로커와 협의할 수 있다. 예를 들면, 서비스들의 제 1 클래스, 예를 들면, 얼굴 인식과 연관된 클라우드-기반 서비스 제공자는 제 1 브로커에 의해 분류될 수 있는 반면, 상이한 클래스의 서비스들, 예로서 OCR과 연관된 클라우드-기반 서비스 제공자들은 제 2 브로커에 의해 분류될 수 있다.)
범용 디스크립션 발견 및 통합(Universal Description Discovery and Integration; UDDI) 규격은 웹 서비스들을 공개하고, 상기 상태 머신을 발견하기 위한 하나의 방식 및 웹 서비스들에 대한 정보를 정의한다. 다른 적절한 표준들은 연장가능한 마크업 언어를 사용한 전자 비즈니스(Electronic Business using eXtensible Markup Language; ebXML) 및 ISO/IEC 11179 메타데이터 레지스트리(MDR)에 기초한 것들을 포함한다. WSDL-S 및 OWL-S(이하에 언급되는)과 같은, 시맨틱-기반 표준들은 상태 머신이 시맨틱 모델로부터의 용어들을 사용하여 원하는 서비스들을 설명하도록 허용한다. 디스크립션 로직 추론들과 같은, 추론 기술들(reasoning techniques)이 그 후 상태 머신에 의해 제공된 상기 디스크립션 및 상기 상태 머신이 적절한 웹 서비스를 자동으로 선택하도록 허용하는 상이한 웹 서비스들의 서비스 능력들 간의 시맨틱 유사성들을 발견하기 위해 사용될 수 있다. (어딘가에서 언급된 바와 같이, 역경매 모델들이 예를 들면 여러 개의 적절한 웹 서비스들 가운데서 선택하기 위해 사용될 수 있다)
직관적 컴퓨팅 플랫폼( ICP ) 상태 머신 - 동시 발생 프로세스들
응답 상태로 시스템을 유지하기 위해, 상기 ICP 상태 머신은 도 9에 개념적으로 예시된, 동시발생 프로세싱(인지와 유사한)의 다양한 레벨들을 감독할 수 있다. 4개의 이러한 레벨들 및 그것들 각각의 범위들의 대략적인 요약은 다음과 같다:
?재귀적 - 사용자 또는 클라우드 상호 작용이 없음
?조건부 - 의도에 기초하여; 최소 사용자 상호작용; 클라우드 참여
?직관적, 또는 "피상적인 솔루션" - 디바이스 상에 도달된 솔루션들에 기초하여, 사용자 상호작용에 의해 도움을 받고 의도 및 히스토리의 해석에 의해 알림을 받음
?"깊은 솔루션" - 사용자 및 클라우드와의 세션을 통해 도달된 전체 솔루션.
도 10은 상이한 시스템의 양태들에 의해 조직된 시각적 질의들을 수행하고 그것과 연관된 요소들을 식별하는 것과 연관된 프로세싱의 이들 4개의 레벨들을 추가로 상세히 설명한다.
재귀적 프로세스들은 통상적으로 수행하기 위해 단지 1초의 조각을 취한다. 몇몇은 좀처럼 리프레시되지 않을 수 있다(예로서, 카메라 해상도가 무엇인지). 카메라 초점을 평가하는 것과 같은 다른 것들이 1초에 여러 번 반복할 수 있다(예로서, 한 번 또는 두 번, 10회 이상 - 프레임 캡처마다와 같이). 상기 통신 구성요소는 간단하게는 네트워크 연결의 존재를 검사할 수 있다. 프로토-보블들(아날로그 보블들)은 이미지 세그멘테이션의 중대한 평가들(예로서, 명점이 존재하는가?)에 기초하여 위치될 수 있다. 기본적인 이미지 세그멘테이션의 시간적 양태들이 예로서, 오른쪽으로 빨간색 블랍 3개의 픽셀들의, 하나의 프레임에서 다음 프레임으로의 흐름과 같이, 주목될 수 있다. 캡처된 2D 이미지가 스크린상에 제공된다. 상기 사용자는 통상적으로 예를 들면 사용자가 탭핑된 보블들과 같이 사용자 입력들이 수신확인되는 것을 제외하고 이 레벨에서 포함되지 않는다.
조건부 프로세스들은 수행하기에 더 오래 걸리며(비록 통상적으로 1초보다 적게) 예를 들면, 약 반 초마다 리프레싱될 수 있다. 많은 이들 프로세스들은 콘텍스트 데이터 및 사용자 입력에 따라 동작하는 것에 관련한다. 이것들은 유사한 콘텍스트 상황들(예를 들면, 상기 사용자가 종종 직장에 걸어가면서 스타벅스에 들어간다)에서 사용자가 지난번에 어떤 동작들을 수행했는지를 상기시키는 단계, 원하는 다변성에 대한 사용자 명령들에 응답하는 단계, 현재 디바이스 상태(예로서, 비행기 모드, 전력 절감 모드)에 기초하여 동작을 구성하는 단계, 기본적인 지향 동작들을 수행하는 단계, 지리학적 위치를 결정하는 단계 등을 포함한다. 현재 화상 및 다른 콘텍스트에 적절한 것으로 보이는 인식 에이전트들이 활성화되거나, 또는 활성화를 준비한다(예를 들면, 상기 이미지는 비트형 텍스트를 찾으며, 따라서 가능한 OCR 인식을 위한 프로세스들을 준비한다). 인식 에이전트들은 또한 구동하고 있는 다른 에이전트들에 주의할 수 있으며, 그들의 사용을 위한 블랙보드에 대한 결과들을 게시할 수 있다. 특정 동작들로부터의 출력들을 나타내는 보블들이 스크린 상에 나타난다. 클라우드-기반 리소스들과의 핸드쉐이킹이 데이터 채널들을 사용하기 위해 준비하도록 수행되며, 상기 채널들의 품질이 검사된다. 클라우드-기반 경매들을 수반한 프로세스들을 위해, 이러한 경매들이 상이한 클라우드-기반 에이전트들이 참여할지 여부를 결정하고 임의의 요구된 준비를 할 수 있도록 관련 있는 배경 정보(예로서, 사용자에 대한)와 함께 공지될 수 있다.
직관적 프로세스들이 비록 디바이스 그 자체에 대해서가 대부분일지라도, 수행하는데 더 오래 걸린다. 이들 프로세스들은 일반적으로 그것들의 작업에서 인식 에이전트들을 지원하는 단계를 수반한다 - 요구된 키벡터들을 구성하는 단계, 연관된 UI들을 제공하는 단계, 관련된 함수들을 불러오는 단계, 리소스들에 대한 경쟁 요청들에 응답하고 균형을 맞추는 단계 등. 상기 시스템은 어떤 시맨틱 정보가 요구되는지, 또는 사용자에 의해 요구될 가능성이 큰지를 식별한다. (사용자가, 스타벅스에서, 통상적으로 뉴욕 타임즈의 제 1 면을 이미징한다면, OCR과 연관된 동작들이 사용자 요청 없이 개시될 수 있다. 마찬가지로, 텍스트-형 화상의 프리젠테이션이 역사적으로 사용자가 OCR하기 및 스페인어로의 번역을 요청하도록 촉발한다면, 이들 동작들은 클라우드-기반 번역 엔진을 준비시키는 것을 포함하여 개시될 수 있다.) 적절한 온톨로지들이 식별되고 이용될 수 있다. 인식 에이전트들에 의해 게시된 출력 보블들은 캡처된 장면의 디바이스의 이해에 따라 지리학적으로 재매핑될 수 있으며, 3D 이해의 다른 양태들이 적용될 수 있다. 규칙 엔진이 외부 데이터 채널들 상에서 트래픽을 모니터링할 수 있고 그에 따라 응답한다. 빠른 클라우드-기반 응답들이 리턴될 수 있으며, 종종 메뉴들, 윈도우즈, 및 다른 상호작용 그래픽 제어들을 갖고 사용자에게 제공될 수 있다. 함수들의 제 3 자 라이브러리들이 또한 이 레벨에서 수반될 수 있다.
마지막의 깊은 솔루션들은 타이밍에서 조정 가능하다 - 그것들은 초로부터 분 또는 그 이상으로 확대할 수 있으며, 통상적으로 상기 클라우드 및/또는 상기 사용자를 수반한다. 직관된 프로세스들이 통상적으로 개개의 인식 에이전트들을 수반하는 반면, 깊은 솔루션들은 예로서 연관에 의해 상호작용하는, 여러 개의 이러한 에이전트들로부터의 출력들에 기초할 수 있다. 소셜 네트워크 입력이 또한, 예를 들면 또래 집단들, 사용자가 존경하는 인기를 만드는 사람들, 그들의 히스토리들 등을 사용하여 상기 프로세스에 수반될 수 있다. 상기 클라우드에서 외에, 치밀한 프로세스들이 예로서, 원격 에이전트들이 상기 디바이스에 서비스를 제공하도록 경쟁하는 바와 같이, 전개할 수 있다. 상기 클라우드에 이전 제안된 몇몇 데이터는 보다 많거나 또는 보다 양호한 데이터를 위한 요청들을 유도할 수 있다. 이전에 리소스들의 부족을 겪은 인식 에이전트들은 이제 다른 상황들이 그것들의 출력을 위한 요구를 제거하기 때문에 그것들이 원하는 리소스들 모두가 허용될 수 있다. 자유의 여신상에 인접한 갈망하던 10×20 픽셀 패치는 거기를 태핑하는 사용자에게 즐거운 상호작용 경험을 마련하는 행복한 보블 제공자에게 수여된다. 클라우드로의 데이터의 규칙적인 흐름들이 사용자 바람들의 진행 중인 클라우드-기반 만족을 제공하기 위해 수립될 수 있다. 다른 프로세스들 - 많은 상호적 - 이 시각적 검색의 결과로서 이러한 동작의 단계에서, 예로서 스카이프 세션을 수립하는 단계, 유튜브 시연 비디오, OCR된 프랑스어 메뉴를 영어로 번역하는 단계 등으로 시작될 수 있다.
디바이스 개시에서(또는 그것의 동작의 다른 단계들에서), 상기 디바이스는 그것이 이용가능하고 이용할 준비가 되어 있는 인식 에이전트들의 일부 또는 모두에 대응하는 보블들을 디스플레이할 수 있다. 이것은 먼저 시작될 때 차의 계기판 상에서 비추고, 필요하다면 동작하는 경고등들의 능력을 설명하는 경고 등들 모두와 유사하다(또는 다중-플레이어 온라인 게임에서 수집된 보물 및 무기들에 대한 플레이어의 디스플레이와 유사한 - 상기 사용자가 용들과 싸울 때 얻을 수 있는 툴들 및 리소스들 등).
이러한 장치는 단지 예시적이라는 것이 인식될 것이다. 다른 구현들에서, 다른 장치들이 물론 사용될 수 있다.
하향식 및 상향식; 지연 활성화( lazy activation ) 구조
애플리케이션들은 다양한 방식들로 개시될 수 있다. 하나는 사용자 명령에 의한 것이다("하향식").
대부분의 애플리케이션들은 특정 세트의 입력 데이터(예로서, 키벡터들)를 요구하며, 한 세트의 출력 데이터(예로서, 키벡터들)를 생성한다. 사용자가 상기 시스템에 애플리케이션을 시작하도록 지시하면(예로서, 보블을 탭핑하고, 메뉴와 상호작용하고, 몸짓을 하거나, 또는 뭔가에 의해), 상기 시스템은 "요구된 키벡터들" 리스트, 또는 트리를 구성함으로써와 같이, 어떤 입력들이 요구되는지를 식별함으로써 시작할 수 있다. 모든 상기 요구된 키벡터들이 존재한다면(예로서, 상기 블랙보다 상에 또는 "존재하는 키벡터들" 리스트 또는 트리에서), 상기 애플리케이션은 실행할 수 있고(아마도 환한 보블을 제공하는) 대응하는 출력 데이터를 생성한다.
상기 요구된 키벡터들의 모두가 존재하지 않는다면, 상기 애플리케이션에 대응하는 보블은 디스플레이될 수 있지만, 단지 어둑하게 디스플레이한다. 키벡터 출력들의 역 디렉토리가 사용자-개시된 애플리케이션을 위한 입력으로서 요구된 상기 키벡터들을 제공하도록 구동될 수 있는 다른 애플리케이션들을 식별하기 위해 참고될 수 있다. 이들 다른 애플리케이션들에 의해 요구된 상기 키벡터들 모두는 "요구된 키벡터들"에 부가될 수 있다. 상기 프로세스는 이들 다른 애플리케이션들에 의해 요구된 상기 키벡터들 모두가 "존재하는 키벡터들"에 있을 때까지 계속한다. 이들 다른 애플리케이션들이 그 후 구동된다. 그것들의 결과적인 출력 키벡터들의 모두는 "존재하는 키벡터들" 리스트에 입력된다. 상기 최상위-레벨 애플리케이션을 위해 요구된 또 다른 키벡터가 이용가능해질 때마다, 상기 애플리케이션들의 보블은 밝아질 수 있다. 결국, 상기 필요한 입력 데이터의 모두는 이용가능하며, 상기 사용자에 의해 개시된 상기 애플리케이션이 구동된다(및 밝은 보블이 상기 사실을 공지할 수 있다).
애플리케이션이 구동될 수 있는 또 다른 방식은 그것의 입력 데이터의 이용가능성에 의해 트리거되는 "상향식(bottom up)"이다. 애플리케이션을 불러오고, 그 후 필요한 데이터를 대기하는 사용자보다는, 상기 프로세스는 역전된다. 데이터의 이용가능성은 애플리케이션들의 활성화(및 종종 그 후 선택)를 이끈다. 관련된 작업은 "지연 평가" 마니커 하에 알려져 있다.
게으른 활성화 구조의 하나의 특정 실시예는 인공 지능의 분야, 즉 매칭/숙고(또는 평가)/실행 장치들을 사용한 생성 시스템 아키텍처들로부터 획득된다. (상기 "매칭" 단계는 버튼을 누르는 사용자에 의해, 또는 상향식 양상에 있는 시스템에 의해 충족될 수 있거나, 또는 생략될 수 있다.)
조건부 규칙은 프로세스 - 평가되어야 하는 기준 -를 시작할 수 있다. 본 상황들에서, 상기 조건부 규칙은 특정 입력 데이터의 이용가능성에 관련할 수 있다. 예를 들면, 상기 "상향식" 프로세스는 상기 시스템상에 설치된 최상위-레벨 애플리케이션들의 전체 리스트와 현재 "존재하는 키벡터들"을 비교함으로써 정기적으로 활성화될 수 있다. 임의의 애플리케이션의 요구들이 이미 존재한다면, 실행에 착수할 수 있다.
애플리케이션의 입력 요건들의 일부(전부가 아닌)가 이미 존재한다면, 대응하는 보블이 모든 그것의 입력들이 얼마나 가깝게 만족되는지를 나타내는 밝기로, 적절한 디스플레이 영역에서 디스플레이될 수 있다. 상기 애플리케이션은 일단 모든 그것이 입력들이 만족되면 사용자 입력 없이 시작할 수 있다. 그러나, 많은 애플리케이션들은 "사용자 활성화" 입력을 가질 수 있다. 상기 보블이 상기 사용자에 의해 탭핑된다면(또는 또 다른 UI 디바이스가 사용자 동작을 수신한다면), 상기 애플리케이션은 나머지 서술 입력 데이터를 수집하기 위해 상술된 바와 같이 다른 애플리케이션들을 개시하는 하향식 개시 모드로 스위칭된며, 따라서 최상위 레벨 애플리케이션이 그 후 작동할 수 있다.
유사한 방식으로, 몇몇(모두가 아닌) 입력들이 이용가능한 애플리케이션이 콘텍스트와 같은 상황들에 의해 하향식 활성화로 기울어진다. 예를 들면, 특정 조건들에서 특징을 활성화시키는 사용자의 이력 패턴은 상기 조건들이 반복될 때 상기 특징이 활성화되어야 함을 시그널링하는, 추론된 사용자 의도로서 작용할 수 있다. (이러한 활성화는 상기 추론된 사용자 의도가 충분히 설득력 있다면, 심지어 이용가능한 필수 입력들을 갖지 않고 발생할 수 있다.)
이러한 장치에서, 리소스들은 단지 구동할 준비가 되거나 또는 거의 그러한 기능들에만 적용될 수 있다. 기능들은 가끔 - 적절한 입력 데이터의 이용가능성에 의해 가치있을 때 - 동작으로 개시된다.
규칙적으로-수행된 이미지 프로세싱
몇몇의 사용자가 원하는 동작들은 항상 휴대용 시스템에 의해 단독으로 수행되기에 너무 복잡할 것이며; 클라우드 리소스들이 수반되어야 한다. 정반대로, 상기 휴대용 시스템은 클라우드 리소스들에 대한 임의의 사용 없이 수행할 수 있어야하는 몇몇 이미지-관련 동작들이 존재한다.
후자를 가능하게 하고, 전자를 용이하게 하기 위해, 상기 시스템 설계자는 함수에 의해 또는 사용자에 의해 요청되는 것 없이, 캡처된 화상에서 보통 수행되는 베이스라인 이미지 프로세싱 동작들의 세트를 특정할 수 있다. 이러한 규칙적으로-수행된 배경 함수들은 다른 애플리케이션들이 입력으로서 사용할 수 있는 포더(fodder)(키벡터들로서 표현된, 출력 데이터)를 제공할 수 있다. 이들 배경 함수들의 일부는 또한 또 다른 목적을 서비스할 수 있다: 다른 디바이스들 및 클라우드 리소스들로의 효율적인 전송 및 그에 의한 이용을 위한 이미지-관련 정보의 표준화/정제법.
이러한 규칙적으로-수행된 동작들의 제 1 클래스는 일반적으로 입력으로서 하나 이상의 이미지 프레임들(또는 그 부분들)을 취하고 출력으로서 이미지 프레임(또는 부분적인 프레임) 키벡터를 생성한다.
대표적인 동작들은 다음을 포함한다.
?이미지-전체(또는 관심-전체의 영역) 샘플링 또는 보간 : 상기 출력 이미지는 상기 소스와 동일한 차원들을 가지지 않으며, 또한 픽셀 깊이가 반드시 동일하지는 않다.
?픽셀 재매핑 : 상기 출력 이미지는 비록 상기 픽셀 깊이가 동일할 필요가 없을지라도, 상기 소스와 동일한 차원들을 가진다. 각각의 소스 픽셀은 독립적으로 매핑된다.
˚예들 : '잘못된 컬러'를 임계화, 픽셀 값들을 본보기 값들로 교체함
? 로컬 동작들 : 상기 출력 이미지는 상기 소스와 동일한 차원들을 가지거나, 또는 표준 방식으로 증가된다(예로서, 검은색 이미지 경계를 부가). 각각의 목적지 픽셀은 대응하는 소스 픽셀 주변의 고정된 크기의 로컬 이웃으로 정의된다.
˚ 예시들 : 6×6 소벨 수직 에지, 5×5 라인-에지 크기, 3×3 로컬 최대, 등.
? 공간적 재매핑 : 예로서, 원근 또는 만곡 '왜곡'을 정정함
? FFT 또는 새로운 공간에서 이미지로의 다른 매핑
? 이미지 계산 : 출력 이미지는, 입력 이미지들의 합계, 최대치 등이다.
˚ 시퀀스 평균 : 각각의 출력 이미지는 k-연속 입력 이미지들을 평균한다
˚ 시퀀싱(시퀀스 동작중) : 각각의 출력 이미지는 k-연속 입력 이미지들의 함수이다.
이러한 배경 동작들의 제 2 클래스는 1D 또는 2D 영역들 또는 구조들의 리스트로 이루어진 출력 키벡터를 산출하기 위해 하나 이상의 입력 이미지들(또는 그 부분들)을 처리한다. 이러한 제 2 클래스에서의 대표적인 동작들은 다음을 포함한다:
? 긴-선 추출 : 추출된 직선 세그먼트들의 리스트를 리턴한다(예로서, 종점 및 길이를 가진 기울기-절편 형태(slope-intercept format)로 표현된).
?긴 선들이 교차하는 포인트들의 리스트(예로서, 로우/컬럼 포맷으로 표현된)
? 타원형 발견자 : 추출된 타원형들의 리스트를 리턴한다(이것 및 다른 경우들에서, 상기 언급된 특징들의 위치 및 파라미터들이 상기 리스트에 포함된다)
? 원기둥 발견자 : 가능한 3D 원통들(긴-선을 사용한다)의 리스트를 리턴한다.
?히스토그램-기반 블랍 추출 : 그것들의 로컬 히스토그램들에 의해 구별되는 이미지 영역들의 리스트를 리턴한다
?경계-기반 블랍 추출 : 그것들의 경계 특성들에 의해 구별되는 이미지 영역들의 리스트를 리턴한다
?각각의 구성요소 블랍(전체 이미지를 포함하는)이 그것에 전체적으로 포함되는 서브-블랍들을 분리되는 블랍 '트리'. 유용한 스케일-불변(또는 적어도 스케일에 강한) 정보를 나를 수 있다.
˚ 예 : 다수의 임계치들에서 이미지를 임계화한 결과
? 정확한 경계들, 예로서, 임계화된 블랍 영역들의 것
? 불분명한 경계들, 예로서, 상당히 밀집한 영역 경계를 제공하지만, 임계화된 블랍들의 경계들과 달리 작은 갭들 또는 불일치들을 가질 수 있는 에지들 또는 포인트들의 리스트.
이러한 보통의, 진행 중인 프로세스들의 제 3 클래스는 출력 키벡터 데이터로서 표 또는 히스토그램을 생성한다. 이러한 제 3 클래스에서 대표적인 동작들은 다음을 포함한다:
? 색조, 농도, 컬러, 명도, 에지값, 텍스쳐 등의 히스토그램
? 예를 들면, 1D 값들의 피처 동시 발생을 나타내는 테이블 및 2D 히스토그램:(색조, 농도), (x 농도, y 농도) 또는 몇몇 다른 쌍
이러한 디폴트 이미지 프로세싱 동작들의 제 4 클래스는 공통 넌-이미지 오브젝트들에 동작들로 구성된다. 이러한 제 4 클래스에서 대표적인 동작들은 다음을 포함한다:
?분리/통합 : 입력 블랍 리스트는 새롭고 상이한 블랍 리스트를 산출한다
?경계 보수 : 입력 블랍 리스트는 보다 매끄러운 경계들을 가진 블랍들의 리스트를 산출한다
? 블랍 추적 : 입력 블랍 리스트들의 시퀀스는 블랍 시퀀스들의 리스트를 산출한다
? 표준화 : 이미지 히스토그램 및 히스토그램-기반 블랍들의 리스트는 상기 이미지를 재매핑하기 위한 표를 리턴한다(아마도 "영역 유형" 값들 및 "배경 값(들)로)
이전에 말한 동작들은 물론 단지 예시적이다. 정기적으로 수행될 수 있는 많은 다른 하위-레벨 동작들이 많이 존재한다. 그러나, 매우 큰 세트의 상기 유형들은 일반적으로 유용하며, 상당히 작은 라이브러리를 요구하고, 공통으로-이용가능한 CPU-GPU 요건들 내에서 구현될 수 있다.
콘텍스트 - 트리거된 이미지 프로세싱; 바코드 디코딩
이전 논의는 상기 시스템이 다양한 보다 전문화된 기능들을 위한 입력으로서 작용할 수 있는 키벡터 데이터를 제공하기 위해 정기적으로 수행할 수 있는 다양한 동작들을 언급하였다. 이들 보다 전문화된 기능들은 하향식으로(예로서, 사용자 지시에 의해), 또는 상향식으로(예로서, 모든 데이터 술어들의 이용가능성에 의해) 개시될 수 있다.
방금-설명된 상기 동작들 외에, 상기 시스템은 또한 콘텍스트에 기초하여 다른 키벡터들을 생성하기 위해 프로세스들을 개시할 수 있다.
예시를 위해, 위치를 고려하자. 지리학적 위치 데이터를 참조하여, 디바이스는 사용자가 식료품점에 있다고 결정할 수 있다. 이러한 경우에, 상기 시스템은 식료품점들에서 일반적으로 적절한 애플리케이션들을 위해 유용할 수 있는 키벡터 데이터를 생성하는 부가적인 이미지 프로세싱 동작들을 자동으로 수행하기 시작할 수 있다. (이들 자동으로 트리거된 애플리케이션들은 상기 트리거된 애플리케이션들을 위한 입력들을 제공하기 위해 요구되는 다른 애플리케이션들을 차례로 불러올 수 있다)
예를 들면, 식료품점에서, 상기 사용자는 바코드를 접하도록 예측될 수 있다. 바코드 디코딩은 두 개의 상이한 양태들을 포함한다. 첫 번째는 시야 내에서 바코드 영역을 발견하는 것이다. 두 번째는 식별된 영역에서 라인 기호론을 디코딩하는 것이다. 상기 전자의 양태와 연관된 동작들은 상기 사용자가 식료품점(또는 다른 소매점)에 있는 것으로 결정될 때 정기적으로 착수될 수 있다. 즉, 이전 설명된 상기 정기적으로-수행된 세트의 이미지 프로세싱 동작들은 일시적으로 식료품점에서의 사용자의 위치에 의해 트리거된 콘텍스트-트리거된 동작들의 추가 세트의 부가로 확대된다.
바코드를 찾는 것은 수평 방향으로 높은 이미지 콘트라스트, 및 수직 방향으로 낮은 이미지 콘트라스트를 가진 부분을 식별하기 위해 화상의 그레이스케일 버전을 분석함으로써 수행될 수 있다. 따라서, 상점에 있을 때, 상기 시스템은 국소화된 수평 그레이스케일 이미지 콘트라스트, 예로서, 대상 픽셀의 한 측에 대한 2 내지 8개의 픽셀들의 측정의 계산을 또한 포함하기 위해, 정기적으로 수행되는 이미지 프로세싱 동작들의 카탈로그를 확대할 수 있다(하나의 이러한 측정은 인접한 픽셀들의 값들에서의 차이들의 절대값들을 합한다). 콘트라스트 정보의 이러한 프레임(또는 다운샘플링된 프레임)은 그것의 콘텐트에 대해 라벨링되고, 보고 사용하기 위해 다른 프로세스들을 위해 게시된 키벡터를 포함할 수 있다. 유사하게는, 상기 시스템은 국소화된 수직 그레이스케일 이미지 콘트라스트를 계산하고 또 다른 키벡터로서 이들 결과들을 게시할 수 있다.
상기 시스템은 또한 상기 이미지에서의 각각의 포인트에 대해, 산출된 로컬 수평 이미지 콘트라스트의 측정으로부터 상기 산출된 로컬 수직 이미지 콘트라스트의 측정을 감산함으로써 이들 두 개의 키벡터들을 처리할 수 있다. 명목상, 이러한 동작은 강하게 양의 포인트들에서, 및 강하게 음의 포인트들에서, 혼란스러운 데이터의 프레임을 산출한다. 그러나, 바코드 부분들에서, 그것은 바코드 부분을 가로질러 강하게 양의 값들을 갖고, 훨씬 덜 혼란스럽다. 이러한 데이터는, 상기 사용자가 식료품점에 있는 동안 정기적으로 생성되는 또 다른 (제 3) 키벡터로서, 보기 위해 다른 프로세스들을 위해 게시될 수 있다.
제 4 키벡터는 타겟 값을 넘는 값을 가진 이들 포인트들만을 식별하는 임계화 동작을 이용함으로써 상기 제 3 키벡터로부터 생성될 수 있다. 따라서 이러한 동작은 특성에서 잠재적으로 바코드-형인 것처럼 보이는, 즉 수평 콘트라스트에서 강하고 수직 콘트라스트에서 약한 이미지에서의 포인트들을 식별한다.
제 5 키벡터는 특성에서 잠재적으로 바코드-형인 것처럼 보이는 포인트들의 부분들(블랍들)을 정의하는 연결된 구성요소 분석을 이용함으로써, 상기 제 4 키벡터로부터 생성될 수 있다.
제 6 키벡터는 3개의 값들: 가장 큰 블랍에서의 포인트들의 수; 및 상기 블랍의 상단 좌측 및 하단 우측 코너들의 위치들(상기 이미지 프레임의 상단 극좌측 코너에서의 상기 픽셀로부터의 로우 및 컬럼 오프셋들로 정의된)로 이루어진 상기 제 5 키벡터에 의해 생성될 수 있다.
이들 6개의 키벡터들은 단지 상기 사용자가 식료품점과 연관된 위치에 있기 때문에, 그것들을 명확하게 요청하는 사용자 없이 장래에 생성된다. 다른 콘텍스트들에서, 이들 키벡터들은 명목상 생성되지 않을 것이다.
이들 6개의 동작들은 단일 인식 에이전트(즉, 바코드 위치찾기 에이전트)를 포함할 수 있다. 또는 그것들은 보다 큰 인식 에이전트(예로서, 바코드 위치찾기/판독 에이전트)의 일부일 수 있거나, 또는 그것들은 개별적으로, 또는 결합하여 그것 자신의 인식 에이전트들인 서브-함수들일 수 있다.
(상기 바코드 판독 프로세스에서의 보다 적거나 또는 추가의 동작들이 유사하게 수행될 수 있지만, 이들 6개는 상기 포인트를 예시한다.)
바코드 판독기 애플리케이션이 상기 디바이스 상에서 로딩된 것들 가운데 있을 수 있다. 상기 식료품점에 있을 때, 그것은 예로서, 15000을 초과하는 값을 위한 상기 언급된 6개의 키벡터에서의 제 1 파라미터를 검사하는 것에 지나지 않는 것을 수행하는 매우 낮은 레벨의 동작으로 번창할 수 있다. 이러한 테스트가 충족된다면, 상기 바코드 판독기는 상기 시스템에 이러한 6개의 키벡터의 제 2 및 제 3 파라미터들에 의해 식별된 브랍 코너 포인트 위치들 사이의 프레임 중간에서의 위치에서 어두운 바코드-표시 보블을 제공하도록 지시할 수 있다. 이러한 보블은 상기 디바이스가 바코드일 수 있는 어떤 것, 및 그것이 나타나는 프레임에서의 위치를 감지했다고 말한다.
상기 사용자가 상기 어두운 보블을 탭핑하면, 이것은 바코드를 디코딩하기 위해 요구된 (하향식) 다른 동작들을 개시한다. 예를 들면, 상기 제 6 키벡터에서 식별된 두 개의 코너 포인트들 간의 이미지의 부분이 추출되어 제 7 키벡터를 형성한다.
일련의 추가 동작들이 그 후 뒤따른다. 이것들은 저 주파수 에지 검출기로 추출된 영역을 필터링하고 거의 수직인 선들을 찾기 위해 호프 변환을 사용하는 것을 포함할 수 있다.
그 후, 상기 필터링된 이미지에서 각각의 로우에 대해, 시작, 중간, 및 종료 바코드 패턴들의 위치가 가이드들로서 사용된 상기 바코드의 추정된 우측 및 좌측 에지들과의 상관을 통해 식별된다. 그 후, 각각의 바코드 숫자에 대해, 상기 로우에서의 숫자의 위치가 결정되며, 상기 로우의 위치에서의 픽셀들이 최상의 매칭을 결정하기 위해 가능한 숫자 코드들을 갖고 상관된다. 이것은 각각의 바코드 숫자에 대해 반복되며, 후보 바코드 페이로드를 산출한다. 패리티 및 체크 숫자 테스트들이 그 후 상기 로우로부터의 결과들에 대해 실행되며, 상기 페이로드에 대한 발생 카운트가 증분된다. 이들 동작들은 그 후 상기 필터링된 이미지에서의 여러 개의 보다 많은 로우들에 대해 반복된다. 상기 가장 높은 발생 카운트를 가진 페이로드가 그 후 정확한 바코드 페이로드로 간주된다.
이점에서, 상기 시스템은 데이터가 만족스럽게 추출되었음을 나타내는, 상기 바코드의 보블을 밝게 밝힐 수 있다. 상기 사용자가 밝은 보블을 탭핑한다면, 상기 디바이스는 동작들의 메뉴를 제공할 수 있거나, 또는 디코딩된 바코드와 연관된 디폴트 동작을 개시할 수 있다.
방금 설명된 장치에서, 상기 시스템은 상기 제 6 키벡터을 생성한 후 그것의 정기적인 동작을 중단하였지만, 그것은 추가로 진행할 수 있다. 그러나, 리소스 제약들로 인해, 그것은 예로서, 상기 제 6 키벡터에서의 제 1 파라미터가 15,000을 초과할 때 모든 기회에서 추가로 진행하는 것은 현실적이지 않을 수 있다.
하나의 대안적인 장치에서, 상기 시스템은 예로서, 3초당 한 번 추가로 진행할 수 있다. 매 3초 간격 동안, 상기 시스템은 상기 제 6 키벡터의 제 1 파라미터를 모니터링한다 - (1) 15,000을 넘는 값, 및 (2) 3초 간격에서 모든 이전 값들을 초과하는 값을 찾는다. 이들 조건들이 충족될 때, 상기 시스템은 아마도 임의의 이전-버퍼링된 프레임을 겹쳐쓰는 프레임을 버퍼링할 수 있다. 상기 3초 간격의 끝에서, 프레임이 버퍼링된다면, 그것은 상기 3초 간격에서의 임의의 것의 제 1 파라미터의 가장 큰 값을 가진 프레임이다. 상기 프레임으로부터, 상기 시스템은 그 후 관심있는 부분을 추출하고, 상기 저 주파수 에지 검출기를 이용하고, 허프 절차를 사용한 라인들을 발견할 수 있으며 - 유효한 바코드 페이로드가 성공적으로 디코딩된다면, 일관하여 상기 보블을 밝게 비춘다.
기계적으로 3초마다 바코드 판독 동작을 완료하려고 시도하는 대신, 상기 시스템은 가끔 - 상기 중간 결과들이 특별히 특히 유망하다.
예를 들면, 상기 바코드 판독 프로세스가 상기 관심 있는 영역에서의 포인트들의 수가 15,000을 초과할 때마다 진행할 수 있는 반면, 상기 값은 바코드 판독 시도는 유익할 수 있는 최소 임계값이다. 바코드를 성공적으로 판독하는 기회는 이러한 포인트들의 영역이 커질 때 증가한다. 그러므로, 매 3초당 한 번 상기 디코딩 프로세스를 통해 추가로 진행하는 대신에, 추가 프로세싱은 상기 제 6 키벡터의 제 1 파라미터에서 50,000(또는 100,000, 또는 500,000 등)을 초과하는 값의 발생에 의해 트리거될 수 있다.
이러한 큰 값은 명백한 바코드가 카메라의 시청 프레임의 실질적인 부분을 차지한다는 것을 나타낸다. 이것은 바코드의 양호한 뷰를 캡처하는 사용자에 의한 신중한 동작을 제안한다. 이러한 경우에, 상기 바코드 판독 동작들의 나머지가 개시될 수 있다. 이것은 상기 디바이스들의 동작에 대해 직관적인 느낌을 제공하며: 사용자는 바코드를 이미징하도록 명확하게 의도되며, 상기 시스템은 임의의 다른 명령 없이 바코드 판독 동작을 완료하기 위해 요구된 추가 동작들을 개시한다.
유사한 방식으로, 상기 시스템은 특정 유형의 동작에 특히 적합한 이미지 정보의 이용가능성으로부터, 상기 사용자가 상기 특정 유형의 동작들을 의도하거나 또는 그로부터 유익할 것이라는 것을 추론할 수 있다. 그것은 그 후 상기 동작을 위해 요구된 프로세싱을 수행하고, 직관적인 응답을 산출할 수 있다(텍스트-형 화상은 OCR 프로세스와 연관된 동작들을 트리거할 수 있다; 얼굴-형 특징들은 얼굴 인식과 연관된 동작들을 트리거할 수 있다 등)
이것은 콘텍스트에 상관없이 행해질 수 있다. 예를 들면, 디바이스는 바코드들이 시야에 있을 경우에, 현재 환경에 대한 특정 단서들을 주기적으로 체크할 수 있으며, 예로서, 이미지 프레임에서 수평 대 수직 그레이스케일 대비를 가끔 체크한다. 이러한 동작들은 정기적으로 로딩되거나 콘텍스트로 인해 로딩되는 것들 가운데에 있을 수 없을지라도, 그것들은 상기 계산 비용이 작기 때문에 예로서, 5초당 한번 정도 수행될 수 있으며, 시각적으로 유용한 정보의 발견은 상기 사용자에 의해 평가될 수 있다.
콘텍스트로 돌아가, 단지 상기 시스템은 상기 사용자의 위치가 식료품점에 있기 때문에 배경 이미지 프로세싱 동작들의 상이한 세트를 자동으로 수행할 때, 상기 시스템은 다른 상황들 또는 콘텍스트에 기초하여 정기적으로-발생하는 프로세싱 동작들의 세트를 유사하게 적응시킬 수 있다.
하나는 히스토리이다(즉, 상기 사용자의, 또는 상기 사용자의 사회 또래들의). 보통 우리는 우리의 집드에서는 바코드 판독기들을 사용하지 않을 것이다. 그러나, 책 수집가는 그것들의 ISBN 바코드들을 판독함으로써 가정 도서관에 새로운 책들을 분류할 수 있다. 처음에 사용자는 상기 집에서 이러한 기능을 위한 디바이스를 이용하며, 상기 언급된 첫 번째 제 6 키벡터들을 생성하는 동작들은 하향식 방식으로 개시될 필요가 있을 것이다 - 상기 사용자가 상기 디바이스의 UI를 통해 바코드들을 판독하는데 관심을 표시하기 때문에 개시된다. 바람직하게는, 그러나 상기 시스템은 (1) 특정 위치, 즉 집에서 상기 사용자, 및 (2) 바코드 판독 기능의 활성화의 반복된 동시 발생을 주의한다. 이러한 이력 패턴이 수립된 후, 상기 시스템은 상기 사용자가 집 위치에 있을 때마다 상기 언급된 첫 번째 제 6 키보드들의 생성을 정기적으로 가능하게 할 수 있다.
상기 시스템은 또한 상기 사용자가 저녁들에만 집에서 바코드 판독 기능을 활성화시키는 것을 식별할 수 있다. 따라서, 시간은 또한 특정 이미지 프로세싱 동작들의 자동-개시를 트리거하는 또 다른 콘텍스트 인자일 수 있으며, 즉, 이들 키벡터들은 상기 사용자가 저녁에 집에 있을 때 생성된다.
사회적 정보가 또한 데이터를 트리거링하는 것을 제공할 수 있다. 상기 사용자는 단지 하나의 취미로서만 책들을 카탈로그할 수 있다. 배우자가 집에 있을 때, 상기 사용자는 책들을 카탈로그할 수 없다. 집에서 배우자의 존재는 다양한 방식으로 감지될 수 있다. 하나는 배우자의 셀 전화기로부터 블루투스 무선 신호들의 방송에 의한 것이다. 따라서, 상기 바코드-위치찾기 키벡터들은 (1) 상기 사용자가 (2) 저녁에, (3) 상기 사용자의 배우자의 근접성 없이 집에 있을 때 자동으로 생성될 수 있다. 상기 배우자가 존재하거나, 또는 그것이 낮시간이거나, 또는 상기 사용자가 집(및 식료품점)으로부터 떨어져 있다면, 상기 시스템은 바코드-위치찾기와 연관된 상기 키벡터들을 정기적으로 생성할 수 없다.
베이시안(Bayesian) 또는 사용자 행동의 다른 통계적 모델들이 반복된 상황들의 이러한 동시 발생을 검출하기 위해 컴파일링되고 이용될 수 있으며, 그 후 그것에 기초하여 동작들을 트리거하기 위해 사용된다.
(이러한 연유로, 마이크로프로세서 설계에서의 분기 예측의 과학이 정보를 제공할 수 있다. 당대의 프로세서들은 앞서 15개 또는 20개의 단계들이 사용되도록 명령들을 페치하는 로직을 요구하는- 수십 개의 단계들을 포함할 수 있는 파이프라인들을 포함한다. 잘못된 추측은 상당한 성능 불이익을 초래하는 파이프라인의 플러싱(flushing)을 요구할 수 있다. 따라서 마이크로프로세서들은 분기 예측 레지스터들을 포함하며, 이것은 조건부 분기들이 어떻게 해소되는지, 예로서 마지막 255회를 추적한다. 이러한 이력 정보에 기초하여, 프로세서들의 성능은 크게 향상된다. 유사한 방식으로, 상기 사용자 및 프록시들(예로서, 상기 사용자의 사회적 또래들, 또는 인구통계학적 또래들) 모두에 의해 디바이스 사용의 이력 패턴들을 추적하는 것, 및 이러한 정보에 기초하여 시스템 행동들을 조정하는 것은 중요한 성능 개선들을 제공할 수 있다.
오디오 실마리들(이하에 추가로 논의됨)은 또한 특정 이미지 프로세싱 동작들의 자동-트리거링에 수반될 수 있다. 청각 실마리들이 사용자가 옥외에 있음을 시사한다면, 부가적인 배경 프로세싱 동작들의 한 세트가 개시될 수 있으며, 상기 실마리들이 상기 사용자가 운전중임을 시사한다면, 상이한 세트의 동작들이 개시될 수 있다. 상기 오디오가 텔레비전 사운드트랙의 품질 보증 마크를 가지거나, 또는 상기 오디오가 상기 사용자가 사무실 환경에 있음을 시사하는 경우에도 마찬가지이다. 상기 시스템에서 로딩되고 구동하는 소프트웨어 구성요소들은 따라서 상기 특정 환경에서 맞닥뜨릴 수 있는 자극들 - 또는 상기 사용자가 요청할 수 있는 동작들을 예상하고 자동으로 적응시킬 수 있다. (유사하게는, 상이한 오디오 기능들에 의해 요구된 키벡터들을 생성하기 위해 상이한 오디오 프로세싱 동작들을 이용하는 청각 디바이스에서, 상기 시각적 환경으로부터 감지된 정보는 보통 구동될 수 없는 특정 오디오 프로세싱 동작들의 가능하게 함을 서술하는 콘텍스트를 나타낼 수 있다.)
환경적 실마리들은 또한 특정 기능들이 선택되고, 개시되거나, 또는 조정되게 할 수 있다. 상기 디바이스가 주변 온도가 섭씨 영하 10도임을 감지하면, 상기 사용자는 짐작컨대 겨울에 옥외에 있다. 얼굴 인식이 표시되면(예로서, 사용자 지시에 의해, 또는 다른 실마리에 의해), 화상에 그려진 임의의 얼굴들은 모자들 및/또는 스카프들로 묶여져 있을 수 있다. 따라서 상이한 세트의 얼굴 인식 동작들이 만일, 예로서 상기 콘텍스트가 뜨거운 여름 날인 경우, 사람들의 머리 또는 귀가 노출될 것으로 예상될 때보다, 얼굴의 특정 부분들의 마스킹을 고려하여 이용될 수 있다.
상기 시스템과의 다른 사용자 상호작용들이 언급될 수 있으며, 비록 상기 언급된 사용자 상호작용들이 이러한 동작들을 수반하지 않을지라도, 정상적으로 구동하지 않는 특정 이미지 프로세싱 동작들의 개시를 이끈다. 근처 레스토랑들을 식별하기 위해 상기 디바이스 상에서의 웹 브라우저를 질의하는(예로서, 텍스트 또는 구두 입력에 의해) 사용자를 고려한다. 상기 질의는 카메라 또는 화상을 수반하지 않는다. 그러나, 이러한 상호작용으로부터, 상기 시스템은 사용자가 곧 (1) 위치를 바꾸고, (2) 레스토랑 환경에 있을 것임을 추론할 수 있다. 따라서, 그것은 예로서, (1) 새로운 위치로 내비게이션하고, (2) 레스토랑 메뉴를 처리하는데 도움을 줄 수 있는 이미지 프로세싱 동작들을 개시할 수 있다.
내비게이션은 사용자의 예측된 루트를 따라 차도가 화상을 가진 카메라로부터 패턴-매칭 화상에 의해 도움을 받을 수 있다(예로서, 구글 거리뷰 또는 SIFT를 사용하여 다른 이미지 저장소로부터). 구글로부터의 관련 있는 화상을 얻는 것 외에, 상기 디바이스는 스케일이 변하지 않는 특징 변환 동작들과 연관된 이미지 프로세싱 동작들을 개시할 수 있다.
예를 들면, 상기 디바이스는 각각을 위한 키벡터를 생성하는, 상이한 스케일 상태에서 카메라에 의해 캡처된 이미지 프레임들을 재샘플링할 수 있다. 이것들의 각각을 위해, 가우시안 함수의 차이가 적용되며, 추가 키벡터들을 산출한다. 프로세싱 제약들이 허용하면, 이들 키벡터들은 블러 필터들로 콘볼루션될 수 있으며, 추가 키벡터들 등을 생성한다 - 모두는 SIFT 패턴 매칭의 가능한 사용을 예상한다.
레스토랑 메뉴를 보는 것을 예상하고, OCR 기능에 수반되는 동작들이 개시될 수 있다.
예를 들면, 배경 이미지 프로세싱 동작들의 디폴트 세트가 긴 에지들을 위한 검출기를 포함하는 반면, OCR은 짧은 에지들을 검출하도록 요구한다. 따라서, 짧은 에지들을 식별하는 알고리즘이 개시될 수 있으며; 이러한 출력은 키벡터로 표현될 수 있다.
폐쇄된 윤곽들을 가진 에지들이 특성-후보 블랍들을 식별하기 위해 사용될 수 있다. 특성들의 선들은 이들 블랍들의 위치로부터 도출될 수 있으며, 스큐 정정(skew correction)이 적용될 수 있다. 상기 특성 블랍들의 스큐-정정된 선들로부터, 후보 단어 부분들이 식별될 수 있다. 패턴 매칭은 그 후 이들 단어 부분들에 대한 후보 텍스트들을 식별하기 위해 적용될 수 있다.
앞서와 같이, 이들 동작들의 모두가 모든 처리된 이미지 프레임 상에서 수행될 수 있는 것은 아니다. 특정 이전 동작들은 정기적으로 수행될 수 있으며, 추가 동작들이 (1) 타이밍 트리거들, (2) 지금까지 처리된 데이터의 유망한 속성들, (3) 사용자 방향, 또는 (4) 다른 기준들에 기초하여 수행될 수 있다.
상기 식료품점 예로 돌아가면, 콘텍스트는 수행되는 이미지 프로세싱 동작들의 유형들에 영향을 미칠 뿐만 아니라, 또한 상기 의미는 상이한 유형들의 정보에 기인할 수 있다(다른 정보, 예로서 지리학적 위치뿐만 아니라 이미지 정보 둘 모두).
식료품점에서 화상의 프레임을 캡처하는 사용자의 전화기를 고려하자. 상기 전화기는 즉시 응답할 수 있으며, 상기 사용자는 수프 캔들을 마주보고 있음을 제시한다. 이것은 카메라가 수프들의 선반들을 향하고 있음을 나타내는, 특정 가게의 레이아웃에 대한 저장된 정보와 함께, 지리학적 데이터 및 자력계(나침반) 데이터를 참조함으로써 이를 행할 수 있다. 그것의 초기 단계들에서, 보블은 예를 들면, 식료품 아이템을 나타내는 아이콘에 의해, 또는 텍스트에 의해, 또는 링크된 정보에 의해, 상기 사용자에게 이러한 첫 번째 추측을 전달할 수 있다.
나중에, 상기 캡처된 프레임에서의 픽셀들의 초기 프로세싱 동안, 상기 디바이스는 흰 픽셀들 바로 옆의 빨간 픽셀들의 블랍을 식별할 수 있다. 상기 식료품점 콘텍스트와 연관된 참조 데이터 소스를 참조하여(및, 다시, 아마도 또한 지리학적 위치 및 나침반 데이터에 의존하여), 상기 디바이스는 상기 아이템이 캠벨의 수프 캔이거나(가능성이 높고), 또는 케첩 병임(가능성이 적은)을 빠르게 추측할 수 있다(예로서, 1초 미만으로). 직사각형은 상기 디바이스에 의해 고려되는 오브젝트(들)의 개요를 설명하는 상기 스크린 디스플레이 상에서 겹쳐 놓여질 수 있다.
잠시 후에, 상기 디바이스는 캠벨 수프 가정에 대한 추가 신빙성을 주는, 토마토 수프를 서술하는, 흰색 배경에서의 큰 특성들 상에서 OCR 동작을 완료할 수 있다. 짧은 추가 간격 후, 상기 전화기는, 상기 오브젝트가 캠벨의 컬러 방식을 모방하는 가게 브랜드 수프가 아님을 확인하는, 화상의 빨간색 영역에서의 양식화된 스크립트 "캠벨(Campbell's)"을 인식하기 위해 관리될 수 있다. 잠시 후에, 상기 전화기는 캠벨의 토마토 수프에 관한 크기, 제품 번호, 제조 일자, 및/또는 다른 정보를 설명하는 캔 근처에서 가시적인 바코드를 디코딩할 수 있다. 각각의 단계에서, 상기 보블 또는 링크된 정보는 상기 카메라가 가리키는 상기 오브젝트의 디바이스의 정제된 이해에 따라 진화한다(어떤 점에서, 상기 사용자는 아마도 빠른 쉐이크에 의해 상기 디바이스로 하여금 그것의 인식 작업을 중단하도록 지시할 수 있어, 다른 태스크들을 위한 배터리 및 다른 리소스들을 보호한다.)
반대로, 상기 사용자가 옥외에 있다면(예로서, GPS 및/또는 밝은 햇빛에 의해 감지된), 흰색 픽셀들의 블랍 옆의 빨간색 픽셀들의 블랍에 관한 상기 전화기의 초기 추측은 캠벨 수프 캔이 아닐 가능성이 있을 것이다. 오히려, 그것은 - 옥외 콘텍스트에 대응하는 정보의 데이터 저장소를 참조하여 - U.S. 깃발, 또는 꽃, 또는 의류 한점, 또는 깅엄 테이블보(gingham tablecloth)로 추측할 가능성이 높을 것이다.
직관적 컴퓨팅 플랫폼( ICP ) 콘텍스트 엔진, 식별자들
Arthur C. Clarke는 "임의의 충분히 진보된 기술은 마술과 구분이 되지 않는다"로서 인용되었다. "진보된"은 마술과 유사한 어떤 것을 가진 이동 디바이스들을 부여하기 위한 외에 많은 의미들을 가질 수 있으며, 본 명세서는 상기 용어를 "직관적" 또는 "스마트"로서 해석한다.
직관적 행동의 중요한 부분은 감지하기 위한 능력이며, 그 후 상기 사용자의 가능성 있는 의도에 응답한다. 도 11에 도시된 바와 같이, 의도는 사용자의 함수뿐만 아니라, 또한 사용자의 과거의 함수이다. 부가적으로, 의도는 또한 사용자의 또래들, 및 그들의 과거들의 활동들의 함수로서 간주될 수 있다.
의도를 결정할 때, 콘텍스트가 키이다. 즉, 콘텍스트는 예로서, 상기 사용자가 어디에 있고, 사용자 및 다른 사람들이 이 위치에서 마지막으로 어떤 활동들에 참여하였는지 등을 아는 것은 현재 순간에서 사용자의 있음직한 활동들, 요구들 및 바람들을 식별하는데 가치가 있다는 점에서 의도의 추정을 알아낸다. 이러한 사용자의 행동에 대한 자동화된 추리는 인공 지능의 핵심 목표이며, 많은 것이 대상에 대해 기록되어 왔다(예로서, Choudhury 등의, 2006년 3월, IEEE 데이터 엔지니어링. 불, 29(1): 49-58, "활동 데이터베이스들을 향해 : 사람들의 생활들을 요약하기 위한 센서들 및 통계 모델들을 사용하는 방법")
화상, 오디오, 모션 정보, 위치, 및 블루투스 신호들과 같은 센서 데이터가 사용자의 있음직한 활동을 추론하는데(또는 있을 것 같지 않은 활동들을 제외하는데) 유용하다. Coudhury에서 언급된 바와 같이, 이러한 데이터는 활동들 간을 구별하는데 도움을 줄 수 있는 특징들로 센서 정보를 처리하는 소프트웨어 모듈에 제공될 수 있다. 특징들은 고 레벨 정보(환경들에서 오브젝트들의 식별, 또는 가까이 있는 사람들의 수 등), 또는 저 레벨 정보(오디오 주파수 콘텐트 또는 진폭, 이미지 형상들, 상관 계수들 등)를 포함할 수 있다. 이러한 특징들로부터, 계산적 모델이 있음직한 활동을 추론할 수 있다(예로서, 걷기, 말하기, 커피사기 등).
이동 디바이스 센서들에 의해 제공된 풍부한 양의 데이터 외에, 콘텍스트(및 그에 따라 의도)를 이해하는데 유용한 다른 특징들이 인근의 오브젝트들로부터 도출될 수 있다. 트리는 옥외 콘텍스트를 시사하고; 텔레비전은 실내 콘텍스트를 시사한다. 몇몇 오브젝트들은 콘텍스트 이해를 크게 향상시키는 연관된 메타데이터를 가진다. 예를 들면, 상기 사용자의 환경 내의 몇몇 오브젝트들은 RFID들 등을 가질 수 있다. 상기 RFID들은 고유의 오브젝트 ID들을 운반한다. 상기 RFID들이 부착되는 오브젝트에 대한 고정된 메타데이터(예로서, 컬러, 무게, 소유권, 출처 등)는 통상적으로 원격 데이터 저장소에서 이들 고유의 오브젝트 ID들과 연관된다. 그러므로, 픽셀들 단독으로부터 관련 정보를 추론하려고 노력하기보다는, 이동 디바이스, 또는 상기 이동 디바이스가 링크하는 환경에서의 센서들은 정보에 대한 이들 캐리어들을 감지하고, 관련 메타데이터를 획득하며, 현재 콘텍스트를 이해하는데 이러한 정보를 사용할 수 있다.
(RFID들은 단지 예시적이며; 다른 장치들, 예를 들면, 디지털 워터마킹, 핑거프린팅 등이 또한 이용될 수 있다.)
사용자 활동들이 복잡하고, 오브젝트 데이터 또는 센터 데이터 어떤 것도 그것 자체에 모호하지 않은 결과들을 주지 않기 때문에, 상기 사용자의 있음직한 활동을 추론하기 위한 계산적 모델들, 및 의도는 보통 확률적이다. 생성 기술들이 사용될 수 있다(예로서, 베이시안, 은닉 마코프(hidden Markov) 등). 클래스 경계들을 위한 차별 기술들(예로서, 사후 확률)이 또한 이용될 수 있다. 그러므로 관계 확률 및 마코프 네트워크 모델들을 갖고 마찬가지이다. 이들 접근법들에서, 확률들은 또한 사용자의 사회적 그룹(들)에서의 다른 것들의 특성들에 의존할 수 있다.
하나의 특정 장치에서, 상기 의도의 결정은 상기 클라우드에 저장될 수 있는 템플릿들에 대해 매핑된 로컬 디바이스 관찰들에 의존한다.
의도를 식별함으로써, 본 기술은 자극들에 대한 가능한 응답들의 검색-공간을 감소시키며, 활동들, 오브젝트들을 식별하기 위해 입력 데이터를 분할하기 위해 사용될 수 있고, 식별자들을 생성한다. 식별자들은 명백한, 도출된 메타데이터로 구성될 수 있다.
하나의 비트를 백업하기 위해, 모든 콘텐트 오브젝트가 식별되는 것이 바람직하다. 이상적으로, 오브젝트의 식별자는 전역적으로 유일하고 지속적일 것이다. 그러나, 이동 디바이스 시각적 질의에서, 이러한 이상은 종종 이룰 수 없다(예를 들면, 디지털로 워터마킹된 인덱스들을 베어링하는 오브젝트들의 경우를 제외하고). 그럼에도 불구하고, 시각적 질의 세션 내에서, 각각의 식별된 오브젝트는 상기 세션 내에서 고유한 식별자를 갖는 것이 바람직하다.
고유 식별자(UID)의 하나의 가능한 구성은 2 또는 3개(또는 그 이상)의 구성요소들을 포함한다. 하나는 세션 ID일 수 있는 트랜잭션 ID이다. (하나의 적절한 세션 ID는 예로서, MAC 식별자와 같이, 디바이스 식별자를 갖고 시드된 PRN 생성자에 의해 생성된 의사-랜덤 수이다. 다른 장치들에서, 상기 세션 ID는 상기 센서 대부분이 최근 오프 상태, 또는 수면 상태로부터 활성화되는 UNIX 시간과 같이, 시맨틱 정보를 나를 수 있다). 이러한 트랜잭션 ID는 다른 식별 구성요소들을 위해 요구된 범위를 감소시키도록 작용하며, 상기 식별자를 고유하게 하도록 도움을 준다. 그것은 또한 특정 세션의 콘텍스트, 또는 동작 내에 상기 오브젝트 식별을 위치시킨다.
상기 식별자의 또 다른 구성요소는 명확한 오브젝트 ID일 수 있으며, 이것은 이전 참조된 클럼프 ID일 수 있다. 이것은 통상적으로 할당된 식별자이다. (클럼프가 여러 개의 별개의 식별가능한 특징들, 또는 오브젝트들을 포함하도록 결정된다면, 추가 비트들이 동일한 것을 구별하기 위해 상기 클럼프 ID에 첨부될 수 있다.
또 다른 구성요소는 몇몇 방식으로, 상기 오브젝트, 또는 상황들로부터 도출될 수 있다. 하나의 단순한 예는 "핑거프린트"이다 - 상기 오브젝트 자체의 특징들로부터 도출된 통계적으로 고유한 식별 정보(예로서, SIFT, 이미지 시그니처 등.) 부가적으로 또는 대안적으로, 이러한 구성요소는 콘텍스트, 의도, 추론된 특징들에 관한 정보로 이루어질 수 있다 - 본질적으로 아이덴티티의 결정을 보조하기 위해 후속 프로세스에 의해 사용될 수 있는 어떤 것. 이러한 제 3 구성요소는 도출된 메타데이터, 또는 상기 오브젝트와 연관된 "오라(aura)"로서 간주될 수 있다.
상기 오브젝트 식별자는 이러한 구성요소들의 연쇄, 또는 다른 조합일 수 있다.
파이 조각들( Pie Slices)
상기 시스템에 의해 작동된 상이한 인식 프로세스들은 동시에, 또는 순환 직렬 방식으로 동작할 수 있다. 후자의 경우에, 클록 신호 등은 어떤 상이한 파이 조각들이 활성화되는지에 의해 카덴스(cadence)를 제공할 수 있다.
도 12는 파이 조각들의 원형으로서 이러한 순환적 프로세싱 장치를 도시한다. 각각의 조각은 인식 에이전트 프로세스, 또는 또 다른 프로세스를 나타낸다. 화살표들은 하나에서 다음으로의 진행을 표시한다. 우측으로의 확대된 조각에 의해 도시된 바와 같이, 각각의 조각은 여러 개의 개별 단계들, 또는 상태들을 포함할 수 있다.
본 기술에 의해 마주치게 된 이슈는 리소스 제약들이다. 제약들이 없다면, 시각/청각 디바이스는 항상 사용자에게 잠재적으로 관심 있는 모든 아이템에 대한 각각을 체크하는, 인입하는 데이터의 시퀀스 및 각각의 프레임에 무수한 리소스-집중 인식 알고리즘들을 적용할 수 있다.
실세계에서, 프로세싱은 비용들을 가진다. 상기 문제는 상기 인입하는 데이터에 적용되어야 하는 프로세스들을 동적으로 식별하는 것 및 각각에 기울이기 위한 리소스들의 유형 및 양을 동적으로 결정하는 것 중 하나로서 표현될 수 있다.
도 12에서, 파이 조각(인식 에이전트 프로세스)의 상이한 단계들이 리소스 소비의 추가 레벨들에 대응한다. (포인팅된) 가장 안쪽의 단계는 일반적으로 가장 적은 리소스들을 사용한다. 상기 누적 리소스 부담은 상기 조각의 연속 단계들에 의한 프로세싱에 따라 증가한다. (각각의 단계가 종종 그것에 앞선 것들보다 보다 많이 리소스-집중적일지라도, 이것은 요구되지 않는다.)
논의 목적들을 위해, 얼굴 인식 에이전트를 고려한다. 얼굴들을 식별하기 위해, 테스트들의 시퀀스가 이용된다. 어떤 것이 실패했다면, 그것은 얼굴이 존재할 가능성이 매우 낮다.
초기 테스트(많은 프로세스들에 대해 공통적인)은 상기 카메라에 의해 생성된 화상이 임의의 종류(대, 예로서, 어두운 지갑 또는 포켓에 있을 때 카메라 출력)의 특징들을 갖는지 여부를 체크하는 것이다. 이것은 상기 이미지를 가로질러 픽셀 위치들의 드문 샘플링을 위한 그레이스케일 픽셀 값들의 단순한 히스토그램 분석에 의해 행해질 수 있다. 상기 히스토그램 분석이 상기 샘플링된 픽셀들 모두가 실질적으로 동일한 그레이스케일 출력을 갖는다는 것을 보여준다면, 추가 프로세싱은 생략될 수 있다.
상기 히스토그램이 픽셀 그레이-스케일 값들에서의 몇몇 다양성을 도시한다면, 상기 이미지는 다음으로 에지들에 대해 체크될 수 있다. 식별가능한 에지들이 없는 이미지는 사용가능하지 않은 이미지, 예로서 높게 블러링되거나 또는 초점을 벗어난 것일 가능성이 높다. 다양한 에지 검출 필터들이 상기 표시된 바와 같이, 기술자에게 익숙하다.
에지들이 발견된다면, 상기 얼굴 검출 절차는 다음으로 임의의 에지가 곡선으로 이루어지고 폐쇄된 영역을 정의하는지 여부를 체크할 수 있다. (특정 구현들에서 정기적인 배경 동작으로서 구동하는 타원형 발견자는 상기 프로세스가 이러한 단계에서 시작하도록 허용할 수 있다.)
그렇다면, 컬러 히스토그램은 상기 폐쇄된 부분 내의 픽셀들의 상당한 퍼센티지가 서로에 대해 색상이 유사한지 여부를 결정하기 위해 수행될 수 있다. (피부는 얼굴의 대부분을 포함한다). "상당한"은 30%, 50%, 70% 등보다 큰 것을 의미할 수 있다. "유사한"은 CIELAB 의미로 각도 회전 또는 거리 임계값 내를 의미할 수 있다. 미리 정해진 피부 톤 범위들 내의 컬러들에 대한 테스트들이 선택적으로 이용될 수 있다.
다음으로, 임계화 동작이 상기 폐쇄된 부분 내에서의 상기 픽셀들의 가장 어두운 5%를 식별하기 위해 적용될 수 있다. 이들 픽셀들은 그것들이 두 개의 눈과 일치하는 그룹핑들을 형성하는지를 결정하기 위해 분석될 수 있다.
이러한 단계들은 후보 얼굴(들)에 대한 고유벡터들의 생성을 통해, 유사한 방식으로 계속된다. (얼굴 고유벡터들은 상기 얼굴의 고차원 벡터 공간 표현의 확률 분포의 공분산 매트릭스로부터 계산된다.) 그렇다면, 상기 고유벡터들은 참조 데이터 구조에서의 매칭을 위해 검색될 수 있다 - 로컬인지 원격인지.
상기 동작들 중 임의의 것이 음의 값을 산출한다면, 상기 시스템은 식별가능한 얼굴이 존재하지 않는다고 결론을 내릴 수 있으며, 상기 프레임에 대한 추가적인 얼굴-발견 노력들을 종료한다.
이들 단계들의 모두는 단일 파이 조각 프로세스에서 단계들을 형성한다. 대안적으로, 하나 이상의 단계들이 기본적이며, 여러 개의 상이한 프로세스들에 유용한 것으로 간주될 수 있다. 이러한 경우에, 이러한 단계(들)는 특별한 목적의 파이 조각 프로세스의 부분을 형성할 수 없지만, 대신 개별적일 수 있다. 이러한 단계(들)는 다른 에이전트 프로세스들을 순환적으로 실행하고 상기 블랙보드에 그 결과들을 게시하는(다른 에이전트들이 그것들을 발견할 수 있는지 여부) 하나 이상의 파이 조각 프로세스들로 구현될 수 있다. 또는 그것들은 그 외 구현될 수 있다.
상이한 진행중인 프로세스들에 상기 시스템의 제한된 리소스들을 적용할 때, 검출 상태는 유용한 개념일 수 있다. 각각의 인스턴스에서, 각각의 에이전트(예로서, 얼굴을 인식하는)에 의해 추구된 목표는 대략 도달될 가능성이 높은 것처럼 보일 수 있다. 즉, 각각의 에이전트는 매우 유망한 것으로부터, 중성체를 통해, 매우 비관적인 것으로 연속체 상의 즉각적인 검출 상태를 가질 수 있다. 상기 검출 상태가 유망하다면, 보다 많은 리소스들이 노력에 할당될 수 있다. 그것의 검출 상태가 비관적인 경향이 있다면, 보다 적은 리소스들이 할당될 수 있다. (몇몇 포인트에서, 상기 시스템이 상기 에이전트의 노력을 종료하게 하는 비관의 임계값은 도달될 수 있다.) 검출 상태는 상기 에이전트 프로세스가 관련이 있는 특정 파라미터들에 맞춰진 소프트웨어 루틴(별개의, 또는 상기 에이전트 프로세스에 포함된)에 의해 주기적으로 수량화될 수 있다.
리소스들의 몇몇 증가된 할당은 에이전트 프로세싱의 연속 단계들이 작동될 때 발생하는 경향이 있다(예로서, 7번째 단계에서 발생할 수 있는 FFT 동작이 4번째 단계에서 발생할 수 있는 히스토그램 동작보다 본래 더 복잡하다). 그러나, 상기 시스템은 또한 기본 동작의 복잡성을 제외하고 리소스들의 할당을 미터링할 수 있다. 예를 들면, 주어진 이미지 프로세싱 동작은 시스템의 CPU 또는 GPU 중 하나 상에서 수행될 수 있다. FFT는 산출을 위한 스크래치패드 메모리의 1MB, 또는 10MB를 갖고 실행될 수 있다. 프로세스는 몇몇 상황들에서 (고속-응답) 캐시 데이터 저장장치를 사용하도록 허용될 수 있고, 다른 것들에서는 단지 (저속-응답) 시스템 메모리를 사용하도록 허용된다. 하나의 단계는 하나의 인스턴스에서 4G 네트워크 접속에 대한 액세스를 승인할 수 있지만, 또 다른 인스턴스에서는 보다 느린 3G 또는 WiFi 네트워크 접속에 대한 액세스를 승인받을 수 있다. 가장 유망한 결과들을 산출하는 프로세스들이 시스템 리소스들의 소비에서 특권을 가진 상태를 승인받을 수 있다.
추가 장치에서, 그것의 목표를 달성할 때 리소스들의 할당은 에이전트의 상태에 의존할 뿐만 아니라, 그 목적을 달성하기 위해 그것의 속도 또는 가속에 의존할 수 있다. 예를 들면, 유망한 결과들이 초기 리소스 노력 레벨에 응답하여 빠르게 나타난다면, 부가적인 리소스들이 적용될 수 있을 뿐만 아니라, 상기 유망한 결과들이 덜 빠르게 나타나는 경우보다 보다 많은 부가적인 리소스들이 적용될 수 있다. 리소스들의 할당은 따라서 검출 상태(또는 성능 또는 결과의 다른 메트릭), 뿐만 아니라 이러한 측정의 1차 또는 고차 파생물에 의존할 수 있다.
관련되게, 검출 에이전트 프로세스의 하나의 단계에 의해 생성된 데이터는 매우 유망할 수 있어서, 상기 프로세스는 중간 단계들을 생략하고 하나 이상의 단계들에 앞서 점프할 수 있다. 이것은, 예로서, 상기 생략된 단계(들)가 상기 프로세스에 필수적인 결과들을 생성하지 않는 경우일 수 있지만, 추가 단계들에 의한 프로세싱이 자격이 있다는 보다 큰 신뢰를 얻기 위해 간단히 수행된다. 예를 들면, 인식 에이전트는 단계들(1, 2, 3)을 수행할 수 있으며, 그 후 단계(3)의 출력으로부터 신뢰 메트릭에 기초하여, 단계 4를 생략하고 단계 5를 실행한다(또는 단계 4와 5를 생략하고 단계 6을 실행한다 등).
리소스 할당 및 단계-스킵이 검출 상태에 의해 촉발되기 때문에, 그것들은 또한 사용자 입력에 의해 촉발될 수 있다. 상기 사용자가 특정 프로세스를 위한 격려를 제공한다면, 상기 프로세스는 여분의 리소스들을 할당받을 수 있고, 및/또는 그것의 동작이 그 외 유망한 결과들의 부족을 위해 자동으로 축소되는 포인트를 넘어 계속될 수 있다(예를 들면, 이전 언급된 검출 상태 연속체는 0<완전히 비관적인>의 점수들로부터 100<완전히 유망한>으로 작동한다면, 상기 프로세스는 명목상 그것의 점수가 35의 임계값 아래로 덜어지는 경우 동작을 종료하고, 상기 사용자가 상기 프로세스를 위한 격려를 제공한다면, 상기 임계값은 25, 또는 15까지 하락될 수 있다. 임계값 변화의 양은 수신된 격려의 양에 관련될 수 있다.)
상기 사용자 격려가 명확하거나 또는 암시적일 수 있다. 명확한 격려의 일 예는 상기 사용자가 상기 특정 동작이 수행되도록 지시하는 입력 신호들(예로서, 스크린 탭들 등)을 제공하는 경우이다(예로서, 서술된 사람을 식별하기 위해 이미지를 프로세싱하도록 상기 시스템에 지시하는 UI 명령어).
몇몇 실시예들에서, 상기 카메라는 연속해서 이미지들을 캡처한다 - 특정 사용자 상호작용 없이 시각적 환경을 모니터링한다. 이러한 경우에, 상기 사용자가 셔터 버튼 등을 활성화한다면, 그 후, 상기 동작은 상기 순간에서 프레임된 화상을 프로세싱하기 위해 명확한 사용자 격려의 증거로서 해석될 수 있다.
암시된 격려의 일 예는 사용자가 이미지에 그려진 사람을 탭핑하는 경우이다. 이것은 상기 사람에 대해 보다 많이 알도록 신호로서 의도될 수 있거나, 또는 그것은 랜덤 동작일 수 있다. 상관없이, 그것은 시스템이 상기 이미지의 부분에 관한 프로세스들, 예를 들면 얼굴 인식에 리소스 할당을 증가시키게 하기에 충분하다. (사람에 의해 착용된 핸드백, 또는 신발들을 식별하고, 소셜 네트워크, 예로서, 링크드인 또는 페이스북의 사용을 통해서; 구글, pipl.com, 또는 다른 리소스의 사용을 통해서와 같이 얼굴 인식에 의한 식별 후 상기 사람에 대한 사실들을 연구하는 다른 프로세스들이 또한 우선적으로 처리될 수 있다.)
상기 탭의 위치는 리소스들에서 얼마나 많은 증가가 상이한 태스크들에 적용되는지를 결정하는데 사용될 수 있다(예로서, 격려의 양). 상기 사람이 이미지에서의 얼굴을 탭핑하면, 상기 사용자가 상기 이미지에서 사람의 신발들을 탭핑하는 경우보다 많은 여분의 리소스들이 얼굴 인식 프로세스에 적용될 수 있다. 이러한 후자의 경우에, 신발 식별 프로세스는 상기 얼굴 인식 프로세스보다 리소스들에서의 보다 큰 증가를 할당받을 수 있다. (상기 신발들을 탭핑하는 것은 또한 이미 진행중인 것이 아니라면, 신발 인식 프로세스를 시작할 수 있다.)
암시된 사용자 격려의 또 다른 예는 특정 대상이 이미지 프레임의 중심 포인트에 있도록 사용자가 상기 카메라를 위치시키는 경우이다. 이것은 특히 상기 시스템이 프레임들의 시간적 시퀀스를 주목하는 경우 유망하며, 여기서 상기 카메라는 새로운 방향이 주어진다, 즉 특정 대상을 상기 중심 포인트로 이동시킨다.
앞서와 같이, 상기 대상은 여러 개의 부분들(신발들, 핸드백, 얼굴 등)로 구성될 수 있다. 각각의 그러한 부분, 및 상기 프레임의 중심 간의 거리는 격려의 양에 반비례 관계인 것으로서 취해질 수 있다. 즉, 중심 프레임에서의 부분은 은연중에 가장 고무되며, 다른 부분들은 거리와 더불어 덜 연속적으로 고무된다. (수학적 함수는 고무에 거리를 관련시킬 수 있다. 예를 들면, 상기 프레임이 중심에 있는 부분은 0에서 100까지의 척도 중에서, 100의 격려 값을 가질 수 있다. 이미지 프레임의 먼 주변에서의 임의의 부분은 0의 격려 값을 가질 수 있다. 중간 위치들은 선형 관계, 힘의 관계, 삼각 함수 기타에 의해 격려 값들에 대응할 수 있다.
상기 카메라가 줌 렌즈(또는 디지털 줌 기능)를 갖추고 있고, 상기 카메라가 상기 카메라, 특정 대상(또는 부분)으로 줌되는 프레임들의 시간적 시퀀스를 주목한다면, 이러한 동작은 상기 특정 대상/부분에 대한 암시된 사용자 격려로서 취해질 수 있다. 비록 프레임들의 시간적 시퀀스가 없을지라도, 줌의 정도를 나타내는 데이터는 상기 프레임된 대상에서의 사용자의 관심의 측정치로서 취해질 수 있고, 격려 측정치로 수학적으로 변환될 수 있다.
예를 들면, 상기 카메라가 1× 내지 5×의 줌 범위를 가진다면, 5×의 줌은 100의 격려 인자에 대응할 수 있고, 1×의 줌은 1의 격려 인자에 대응할 수 있다. 중간 줌 값들은 선형 관계, 힘의 관계, 삼각 함수 등에 의한 격려 인자들에 대응할 수 있다.
의도의 추론은 또한 상기 이미지 프레임 내의 특징들의 방향에 기초할 수 있다. 사용자들은 일반적으로 프레임들이 대상들을 수직으로 의도하는 방향으로 이미징 디바이스들을 유지하는 것으로 여겨진다. 가속도계 데이터, 또는 그 외를 참조하여, 상기 디바이스는 상기 사용자가 "풍경" 또는 "인물 사진" 모드 이미지를 캡처하기 위해 제자리에 영상기를 유지하는지 여부를 식별할 수 있으며, 그로부터 "수직"이 결정될 수 있다. 수직으로 배향된 주축(예로서, 대략 대칭인 축)을 가진 이미지 프레임 내의 오브젝트는 수직으로부터 기울어진 오브젝트보다 상기 사용자의 의도의 대상일 가능성이 높다.
(이미지 프레임에서 사용자의 의도의 대상을 추론하기 위한 다른 실마리들이 특허 제6,947,571호에서 논의된다.)
상기 이전 논의는 음이 아닌 격려 값들을 고려하였지만, 다른 실시예들에서, 예로서, 특정 자극들에서 명확하거나 또는 암시된 사용자 무관심, 상기 프레임의 중심으로부터의 이미지 특징의 멀러 떨어져 있음 등과 관련하여, 음의 값들이 이용될 수 있다.
양의 및 음의 다양성들 모두의 격려가 다른 프로세스들에 의해 제공될 수 있다. 바코드 검출기가 상기 프레임의 중심에서의 오브젝트가 바코드임을 감지하기 시작한다면, 그것의 검출 상태 메트릭은 증가한다. 그러나, 이러한 결론은 상기 프레임의 중심에서의 대상이 얼굴인 가능성을 부인하려는 경향이 있다. 따라서, 제 1 인식 에이전트에 의한 검출 상태 메트릭에서의 증가는 상기 제 1 에이전트와 상호 배제적일 가능성이 있는 다른 인식 에이전트들에 대한 음의 격려로서 작용할 수 있다.
복수의 인식 에이전트들에 대한 격려 및 검출 상태 메트릭들은 하이브리드 제어 메트릭을 산출하기 위해 다양한 수학적 알고리즘들에 의해 결합될 수 있다. 하나는 두 개의 에이전트들의 경우에(격려에 대한 음의 값들이 없는) 0-200의 범위에 있는 출력을 산출하는 그것들의 합이다. 또 따른 것은 0-10,000의 범위에 있는 출력을 산출하는 그것들의 곱(product)이다. 리소스들은 그것들의 각각의 하이브리드 제어 메트릭들이 변할 때 상이한 인식 에이전트들에 재할당될 수 있다.
상기 인식 에이전트들은 애플리케이션에 의존하여, 입도(granularity) 및 함수가 상이할 수 있다. 예를 들면, 방금 논의된 얼굴 인식 프로세스는 많은 단계들 중 단일 파이 조각일 수 있다. 또는 그것은 여러 개의 또는 수십의 관련된 보다 단순한 프로세스들, 각각의 그 자신의 조각으로서 구현될 수 있다.
그것은 도 12에서의 상기 파이 조각 인식 에이전트들이 DLL들, 즉 원하는 클래스의 서비스들을 제공하기 위해 선택적으로 로딩되고 작동되는 코드에 유사하다는 것을 인식할 것이다. (실제로, 몇몇 구현들에서, DLL들과 연관된 소프트웨어 구성물들이 예를 들면, 에이전트 코드의 로딩 및/언로딩을 관리하기 위해서, 다른 소프트웨어에 대한 이러한 기능의 이용가능성을 공개하기 위해서 운영 시스템에서 사용될 수 있다. DLL-기반 서비스들은 또한 인식 에이전트들과 함께 사용될 수 있다.) 그러나, 바람직한 인식 에이전트들은 DLL들과 상이한 행동들을 가진다. 일 양태에서, 이러한 상이한 행동은 스로틀링(throttling), 또는 상태-호핑으로서 설명될 수 있다. 즉, 그것들의 실행 및 리소스들을 지원하는 것은 하나 이상의 인자들, 예로서, 검출 상태, 격려 등에 기초하여 변화한다.
도 13은 도 12의 장치의 또 다른 뷰를 도시한다. 이러한 뷰는 상이한 프로세스들이 다른 양들의 프로세서 시간 및/또는 다른 리소스들을 소비할 수 있음을 명확하게 한다(구현은 물론, 단일 프로세서 시스템, 또는 다중-프로세서 시스템상에 있을 수 있다. 미래에, 다중-프로세서 시스템의 상이한 프로세서들, 또는 "코어들"이 상이한 상기 태스크들을 수행하기 위해 할당될 수 있다.)
때때로, 인식 에이전트가 만족스러운 리소스들의 부족, 리소스들을 처리할지 여부, 입력 데이터, 기타에 대한 그것의 목표(들)를 달성하는데 실패한다. 부가적인 또는 양호한 리소스들을 갖고, 상기 목표가 달성될 수 있다.
예를 들면, 얼굴 인식 에이전트는 상기 카메라가 상기 이미지가 캡처될 때 45도 기울어졌기 때문에, 화상에 그려진 사람의 얼굴을 인식하는데 실패할 수 있다. 상기 각도에서, 코는 입의 위에 있지 않다 - 에이전트가 얼굴이 존재하는지 여부를 식별하는데 이용될 수 있는 기준. 보다 많은 프로세싱 리소스들을 갖고, 상기 기준이 완화되거나 또는 제거될 수 있다. 대안적으로, 상기 얼굴은 또 다른 에이전트, 예로서 상기 화상에서의 실제 수평의 경사를 식별하는, 방향 에이전트로부터의 결과들이 이용가능하다면 검출될 수 있다. 상기 수평의 경사를 아는 것은 상기 얼굴 인식 에이전트가 상이한 방식으로 "상기"를 이해하도록 허용할 수 있다 - 그것을 허용하는 하나는 얼굴을 식별하는 것이다. (유사하게는, 이전에 또는 이후에 캡처된 프레임이 분석된다면, 얼굴은 식별될 수 있다.)
몇몇 장치들에서, 상기 시스템은 다른 리소스들이 이용가능할 때 입력 자극들(예로서, 화상)에 대한 추가 분석을 행한다. 간단한 경우를 인용하기 위해, 상기 사용자가 지갑에 전화기를 넣고, 상기 카메라 센서가 어두워지거나 또는 어찌할 수 없이 초점을 벗어날 때(또는 상기 사용자가 테이블에 전화기를 두어, 그것이 고정된 장면, 아마도 테이블 또는 천장을 응시할 때), 상기 소프트웨어는 그것들의 이전 목적을 달성하는데 실패한 에이전트 프로세스들을 재활성화시킬 수 있고 상기 데이터를 재고려할 수 있다. 빗발치는 인입 이동 화상을 프로세싱하는 것에 대한 집중을 방해하는 것, 및 연관된 리소스 부담들 없이, 이들 에이전트들은 이제 예로서, 이전에 손실된 얼굴을 인식하는 그것들의 원래 목적을 달성할 수 있을 것이다. 이를 행할 때, 상기 시스템은 다른 에이전트 프로세스들로부터 출력 데이터 - 상기 대상 에이전트가 원래 구동할 때 이용가능한 것, 및 또한 상기 대상 에이전트가 종료된 후까지 이용가능하지 않은 상기 결과들 모두를 다시 불러들일 수 있다. 이러한 다른 데이터는 그것의 목적을 달성할 때, 이전에 성공하지 못한 프로세스를 도울 수 있다. (상기 전화기의 이전 동작 동안 수집된, 수집된 "트래쉬"가 상기 에이전트가 구동되는 원래 프로세싱 환경에서 단서들, 간과되거나, 아직 이용가능하지 않은 도움이 되는 정보을 위해 검토될 수 있다.) 이러한 "실패한 후(after-the-fact mulling)" 동작 동안 배터리 고갈을 감소시키기 위해, 상기 전화기는 예로서, 특정 프로세싱 회로들을 불능시키고 프로세서 클록 속도를 감소시키는 등의 전력-절감 상태로 스위칭할 수 있다.
관련된 장치에서, 그것들의 목적을 달성하지 않고 상기 전화기상에서 끝난 상기 프로세스들의 일부 또는 모두가 상기 클라우드에서 계속될 수 있다. 상기 전화기는 상기 클라우드 프로세서가 상기 전화기가 중단한 상기 분석(예로서, 알고리즘 단계 및 데이터)을 재개하도록 허용하는, 상기 클라우드에 성공하지 못한 에이전트 프로세스에 대한 상태 정보를 전송할 수 있다. 상기 전화기는 또한 성공하지 못한 에이전트 프로세스를 끝낼 때 이용가능하지 않은 것들을 포함한 다른 에이전트 프로세스들로부터 기인하는 상기 클라우드를 제공할 수 있다. 다시, 데이터 "쓰레기"는 또한 이전 폐기된 정보가 상기 클라우드의 프로세싱에서의 새로운 적절성을 채용하는 경우에, 가능한 리소스로서 상기 클라우드에 제공될 수 있다. 상기 클라우드는 유용한 정보 한 가지를 발견하려고 노력하거나, 또는 상기 전화기 시스템이 간과할 수 있는 있음을 의미하는 모든 그러한 데이터에 대한 수집 동작을 수행할 수 있다. 이들 결과들은, 상기 전화기로 리턴될 때, 차례로 상기 전화기가 그것이 처리하였거나 또는 처리하고 있는 정보를 재평가하게 할 수 있으며, 이것은 아마도 그외 손실될 유용한 정보를 식별하도록 허용한다. (예를 들면, 그것의 데이터 수집 프로세스에서, 상기 클라우드는 수평이 45도 기울어진 것처럼 보이는 것을 발견할 수 있으며, 상기 전화기의 얼굴 인식 에이전트가 그 외 손실될 얼굴을 식별하도록 허용한다.)
앞서 말한 논의는 인식 에이전트들에 초점을 맞추었지만, 동일한 기술들이 또한, 다른 프로세스들, 예를 들면 방향, 또는 콘텍스트 등을 수립하는 것과 같이, 인식에 부수적인 것들에 적용될 수 있다.
제약들에 대한 보다 많은 것
도 14는 특정 실시예들에서 이용될 수 있는 기술의 특정 양태들을 도시한 개념도이다. 상기 도면의 상부는 구동될 수 있는 인식 에이전트(RA) 서비스들로 가득한 호퍼(hopper)를 도시하며, 대부분은 상기 서비스에 대한 입력으로서 사용될 하나 이상의 키벡터들과 연관된다. 그러나, 시스템 제약들은 모든 이들 서비스들의 실행을 허용하지 않는다. 따라서, 상기 호퍼의 하부는 다소간의 서비스들이 배터리 상태, CPU에 대한 다른 요구들 등에 의존하여 개시되도록 허용하는 제약들에 의해 게이팅된 것처럼 그래픽으로 도시된다.
구동하도록 허용되는 이들 서비스들은 상기 호퍼 하에서 도시된다. 그것들이 실행될 때, 그것들은 상기 블랙보드에 중간 또는 최종 결과들을 게시할 수 있다. (몇몇 실시예들에서, 그것들은 UI 관리자로, 또 다른 인식 에이전트로, 감사 추적 또는 다른 데이터 저장소로와 같이 다른 프로세스들 또는 데이터 구조들로, 예를 들면 상태 머신 등을 진전시키기 위한 운영 시스템에 시그널링하기 위해 출력들을 제공할 수 있다.
알려진 쓰레기 수거 기술들은 더 이상 적절하지 않은 데이터를 제거하기 위해 상기 블랙보드에 이용된다. 제거된 데이터는 다른 분석들에서 리소스로서 작용하기 위해 디스크 파일과 같은 장기 저장소로 이전될 수 있다. (그것은 또한 이하에 언급되는 바와 같이, 상기 클라우드로 이전되거나 또는 카피될 수 있다.)
몇몇 서비스들은 다른 서비스들이 구동되도록 허용하는 (단일 스트라이크-스루(strike-through)로 도면에 도시된) 완료 및 종료가 자유로운 리소스들에 대해 구동한다. 다른 서비스들은 완료 이전에 없어진다(이중 스트라이크-스루로 도시된). 이것은 다양한 이유들로 발생할 수 있다. 예를 들면, 상기 서비스로부터의 중간 결과들이 유망하지 않을 수 있다(예로서, 이제 타원형은 얼굴보다 자동차 타이어일 가능성이 높은 것처럼 보인다). 또는 시스템 제약들은 변할 수 있다. - 예로서 리소스들의 부족을 위한 특정 서비스들의 종료를 요구한다. 또는 리소스들의 재할당을 요구하는 다른 보다 유망한 서비스들이 구동할 준비가 될 수 있다. 비록 도 14의 예시에 도시되지는 않지만, 없어진 프로세스들로부터의 중간 결과들은 그것들의 동작 동안, 또는 그것들이 없어진 포인트에서 상기 블랙보드에 게시될 수 있다 (예로서, 비록 얼굴 인식 애플리케이션이 타원형이 얼굴보다 자동차 타이어처럼 보이는 경우 종료할 수 있지만, 차량 인식 에이전트는 이러한 정보를 사용할 수 있다).
상기 블랙보드에 게시된 데이터는 다양한 방식들로 사용된다. 하나는 보블들의 스크린 디스플레이를 트리거하는 것이고, 또는 다른 사용자 인터페이스 요건들을 제공하는 것이다.
상기 블랙보드로부터의 데이터는 또한 예로서, 입력 키벡터로서 인식 에이전트 서비스들에 대한 입력으로서 이용가능해질 수 있다. 부가적으로, 블랙보드 데이터는 구동하기 위해 새로운 서비스를 위한 이유를 시그널링할 수 있다. 예를 들면, 상기 블랙보드에 보고된 것처럼 타원형의 검출은 얼굴 인식 서비스가 구동되어야 함을 시그널링할 수 있다. 블랙보드 데이터는 또한 상기 서비스가 구동될 가능성을 높게 하는, 상기 (개념적) 호퍼에서 이미 대기하는 서비스의 적절성 점수를 증가시킬 수 있다. (예를 들면, 상기 타원형이 사실상 자동차 타이어인 표시가 상기 에이전트 프로세스가 작동하는 포인트에 대한 차량 인식 프로세스의 적절성 점수를 증가시킬 수 있다.)
상기 적절성 점수 개념이 도 15에 도시된다. 데이터 구조는 구동될 가능한 서비스들의 리스트를 유지한다(도 14의 호퍼와 유사한). 적절성 점수는 각각에 대해 도시된다. 이것은 서비스를 실행하는 가능성에 대한 상대적 표시이다(예로서, 1-100의 척도로). 상기 점수는 블랙보드 상에서 발견된 데이터, 콘텍스트, 표현된 사용자 의도, 사용자 이력 등을 포함한 특정 서비스 및 애플리케이션에 의존하는 다수의 변수들의 함수일 수 있다. 상기 적절성 점수는 통상적으로 보다 많은 데이터가 이용가능해질 때 시간에 따라 변화하며, 상기 콘텍스트가 변화한다. 계속 진행중인 프로세스는 현재 조건들에 기초하여 상기 적절성 점수들을 업데이트할 수 있다.
몇몇 서비스들은 매우 적절한 것으로 평가할 수 있으며, 제공될 수 있는 것보다 많은 시스템 리소스들을 요구하여, 작동하지 않는다. 다른 서비스들은 단지 약하게 관련 있는 것으로 평가할 수 있으며, 리소스 소비에서 너무 작아서 그것들은 그것들의 낮은 관련성 점수에 상관없이 구동될 수 있다. (이러한 클래스에서, 이전에 상세히 설명된 정기적으로 수행된 이미지 프로세싱 동작들일 수 있다.)
리소스 요건들에 관하여 상기 서비스를 구동하기 위한 비용을 나타내는 데이터가 예시된 데이터 구조에 제공된다(도 15에서의 비용 점수의 표제 하에). 이러한 데이터는 관련성-비용 분석이 수행되도록 허용한다.
상기 예시된 비용 점수는 복수들의 어레이이며, 각각은 특정 리소스 요건, 예를 들면, 메모리 사용, CPU 사용, GPU 사용, 대역폭, 다른 비용(금융 비용과 연관된 이들 서비스를 위한 것과 같이) 등에 대응한다. 다시, 임의의 0-100 점수가 예시적인 장치에 도시된다. 단지 3개의 숫자들이 도시되지만(메모리 사용, CPU 사용, 및 클라우드 대역폭), 어느 정도가 물론 사용될 수 있다.
관련성-대-비용 분석은 시스템이 보장하는 것만큼 단순하거나 또는 복잡할 수 있다. 단순한 분석은 예로서, 상기 데이터 구조에서의 제 1 엔트리를 위한 -70의 결과를 산출하는, 관련성 점수로부터 상기 결합된 비용 구성요소들을 감산하는 것이다. 또 다른 단순한 분석은 예를 들면, 상기 제 1 엔트리를 위한 0.396의 결과를 산출하는 합계 비용 구성요소들로 상기 관련성을 나누는 것이다.
유사한 산출들이 서비스들의 배치가 결정될 수 있는 네트 스코어들을 산출하기 위해 상기 큐에서의 모든 서비스들에 대해 수행될 수 있다. 네트 스코어 컬럼은 상기 제 1 분석에 기초하여 도 15에서 제공된다.
단순한 실시예에서, 서비스들은 상기 직관적 컴퓨팅 플랫폼에 승인된 리소스 예산이 도달될 때까지 개시된다. 상기 플랫폼은 예를 들면, RAM 메모리의 300 MB, 상기 클라우드에 대한 256 Kbits/초의 데이터 채널, 50 밀리와츠의 전력 소비, 및 CPU, GPU에 대한 유사하게 정의된 예산들, 및/또는 다른 제약된 리소스들을 승인받을 수 있다. (이들 할당들은 디바이스 운영 시스템에 의해 설정될 수 있으며, 다른 시스템 함수들이 작동되거나 또는 종료할 때 변화한다.) 이들 임계값들 중 임의의 것이 도달되면, 어떤 인식 에이전트 서비스들도 상황들이 변할 때까지 시작되지 않는다.
간단하지만, 이러한 장치는 상기 정의된 리소스 예산들의 첫 번째가 도달될 때 모든 서비스들을 캡한다. 일반적으로 상기 관련 있는 제약들의 일부 또는 모두를 고려하여 상기 작동된 서비스들을 최적화하고자 하는 장치가 바람직하다. 따라서, 256 Kbit/초 클라우드 대역폭 제한이 도달된다면, 상기 시스템은 클라우드 대역폭에 대한 요구 없이 추가 서비스들을 개시할 수 있다.
보다 복잡한 장치들에서, 각각의 후보 서비스는 상기 서비스와 연관된 상이한 비용 구성요소들의 각각에 대한 성능 지수(figure of merit) 스코어를 할당받는다. 이것은 상기 네트 스코어의 산출을 위해 상기 언급된 감산 또는 나누기 접근법들 등에 의해 행해진다. 상기 감산 접근법을 사용하여, 상기 도 15에서의 제 1-리스트된 서비스의 메모리 사용을 위한 37의 비용 스코어를 9의 메모리 성능 지수를 산출한다.(즉, 46-37). CPU 사용 및 클라우드 대역폭을 위한 상기 서비스의 성능 지수는 각각 -18 및 31이다. 그것들의 상이한 리소스 요건들에 관한 후보 서비스들을 평가함으로써, 시스템 리소스들을 보다 효율적으로 이용하는 서비스들의 선택이 이루어질 수 있다.
새로운 인식 에이전트들이 개시되고 다른 것들은 종료하며, 다른 시스템 프로세스들이 변함에 따라, 리소스 헤드룸(제약들)이 변할 것이다. 이들 동적 제약들이 추적되며(도 16), 인식 에이전트들을 개시하는(또는 종료하는) 프로세스에 영향을 미친다. 메모리-집중 RA가 그것의 동작을 완료하고 메모리의 40 MB를 푼다면, 상기 플랫폼은 상기 최근-자유로워진 리소스를 이용하기 위해 하나 이상의 다른 메모리-집중 애플리케이션들을 개시할 수 있다.
(기술자는 상이한 서비스들의 선택에 의해 상이한 리소스들의 소비를 최적화하는 태스크가 선형 프로그래밍에서의 활동이며, 이것에는 많은 잘 알려진 접근법들이 존재한다. 여기에 상세히 설명된 장치들은 실제로 이용될 수 있는 것보다 더 간담하지만, 상기 개념들을 예시하도록 돕는다.)
도 15로 돌아가면, 상기 예시된 상태 구조는 또한 "조건들" 데이터를 포함한다. 서비스는 매우 적절할 수 있으며, 리소스들은 그것을 구동하기에 적합할 수 있다. 그러나, 활동에 앞선 조건들이 아직 충족되지 않을 수 있다. 예를 들면, 필요한 데이터를 제공하는 또 다른 등록 에이전트 서비스가 아직 완료되지 않을 수 있다. 또는 다른 사용자(또는 에이전트 소프트웨어)가 상기 서비스에 의해 요구된 지출을 승인하거나 또는 서비스의 클릭-랩(click-wrap) 법적 협약 등에 동의되지 않을 수 있다.
일단 서비스가 실행을 시작하면, 리소스 제약들이 그것의 최대 예산을 넘는 총 직관적 컴퓨팅 플랫폼을 부여하도록 변할지라도, 그것이 완료에 달하도록 허용하기 위해 프로그램된 바이어스가 존재할 수 있다. 상이한 바이어스들이 상이한 서비스들, 및 주어진 서비스에 대한 상이한 리소스들과 연관될 수 있다. 도 15는 상이한 제약들, 예로서, 메모리, CPU, 및 클라우드 대역폭에 대한 바이어스들을 도시한다. 몇몇 경우들에서, 상기 바이어스는 100%보다 작을 수 있으며, 이러한 경우에 상기 서비스는 상기 리소스의 이용가능성이 상기 바이어스 지수 아래에 있다면 개시되지 않을 것이다.
예를 들면, 하나의 서비스는 상기 총 ICP 대역폭이 그것의 최대 값의 110%에 있을 때까지 게속해서 구동할 수 있는 반면, 또 다른 서비스는 상기 100% 임계값이 통과될 때 즉시 종료할 수 있다.
서비스가 특정 리소스의 낮은 사용자라면, 보다 높은 바이어스가 허용될 수 있다. 또는 서비스가 높은 적절성 스코어를 가진다면, 보다 높은 바이어스가 허용될 수 있다. (상기 바이어스는, 어느 쪽이 더 크던지, 바이어스 = 90+관련성 스코어, 또는 100과 같이, 관련성 스코어로부터 수학적으로 도출될 수 있다.)
이러한 장치는 상이한 서비스들 및 상이한 제약들에 할당된 바이어스들에 의존하여, 리소스 요구들이 지시할 때, 프로그램가능한 방식으로 서비스들의 단축을 허용한다.
몇몇 장치들에서, 서비스들은 단지 속도를 낮춘 리소스들을 갖고, 구동하도록 허용될 수 있다. 예를 들면, 서비스는 보통 50 Kbit/초의 대역폭 요건을 가질 수 있다. 그러나, 특정 상황에서, 그것의 실행은 40 Kbit/초의 사용에 제한될 수 있다. 다시, 이것은 최적화에서의 활동이며, 이것의 세부사항들은 애플리케이션에 따라 변할 것이다.
로컬 소프트웨어
하나의 특정 실시예에서, 상기 이동 디바이스 상에서의 로컬 소프트웨어는 6개의 상이한 클래스들의 함수들을 수행하는 것으로서 개념화될 수 있다(설치를 포함하지 않고 상기 운영 시스템에 그 자체를 등록하는).
제 1 클래스의 함수들은 사용자와 통신하는 것에 관련된다. 이것은 상기 사용자가 예로서, 상기 사용자가 누구이고, 상기 사용자가 무엇에 관심이 있는지, 어떤 인식 동작들이 상기 사용자에게 적절한지(트리 리프들: 예; 차량 유형들: 아니오) 등을 특정하는 입력을 제공하도록 허용한다. 상기 사용자 인터페이스 기능은 또한 터치스크린 및 키보드 상의 입력을 감지하고, 상기 디스플레이 스크린 등 상에 정보를 출력하는, 상기 하드웨어 UI 디바이스들에 대한 요구된 지원을 제공한다.
상기 사용자와 효율적으로 통신하기 위해, 상기 소프트웨어는 바람직하게는,상기 사용자의 환경의 몇몇 3D 이해, 예를 들면, 제공되는 3D 경험 세계가 존재한다는 지식에 의해 알려진 상기 스크린상에 제공된 2D 정보를 조직하는 방법, 및 그것이 3D 세계를 나타낸다는 것을 알고 있는, 상기 카메라에 의해 캡처된 2D 정보를 이해하는 방법을 가진다. 이것은 직각의 블리팅 프리미티브들의 라이브러리를 포함할 수 있다. 이것은 상기 제 2 클래스로 들어간다.
제 2 클래스의 함수들은 일반적인 방향, 직각 및 오브젝트 장면 파싱에 관련된다. 이들 능력들은 오브젝트 인식 동작들(예로서, 상기 하늘은 위이고, 이미지에서의 수평은 상기 우측으로 20도 기울어져 있다 등)을 통지하도록 도움을 줄 수 있는 콘텍스트 공통 분모들을 제공한다.
제 3 클래스는 실제 픽셀 프로세싱에 들어가며, 키벡터 프로세싱 및 패키징으로 칭하여질 수 있다. 이것은 알려진 픽셀 프로세싱 동작들, 즉 변환들, 템플릿 매칭 등의 경험 세계이다. 픽셀들 및 크런치(crunch)를 취하자.
픽셀들의 8×8 블록들이 많은 이미지 프로세싱 동작들(예로서, JPEG)에서 친숙하지만, 상기 그룹핑은 현재 텍스트에서 덜 우세하다(비록 그것이 특정 상황들에서 사용될 수 있을지라도). 대신, 5개의 유형들의 픽셀 그룹핑이 행해진다.
상기 제 1 그룹핑은 결코 그룹핑이 아니며, 단지 전역적이다. 예를 들면, 렌즈 캡을 씌웠는가? 초점의 일반적인 상태는 무엇인가? 이것은 만약에 있다면 많은 파싱이 없는 카테고리이다.
제 2 그룹핑은 직사각형 영역들이다. 픽셀들의 직사각형 블록은 임의의 수의 동작들을 위해 요청될 수 있다.
제 3 그룹핑은 비-직사각형 인접한 영역들이다.
제 4는 픽셀들의 열거된 패치워크들이다. 여전히 단일 프레임 내에 있지만, 이것은 제 2 및 제 3 그룹핑들의 결합이며, 종종 간섭성에 대한 몇몇 개념을 가진다(예로서, 특정 인식 태스크에 대한 적절성과 같이, 포함된 픽셀들 간의 관계를 나타내는 몇몇 메트릭 또는 몇몇 휴리스틱스).
제 5는 픽셀들의 프레임간 수집들이다. 이것들은 픽셀 데이터의 시간적 시퀀스(종종 프레임들이 아닌)를 포함한다. 다른 것과 함께 하는 것처럼, 특정 형태가 애플리케이션에 의존하여 광범위하게 변할 것이다. 함수들의 이러한 픽셀 프로세싱 클래스의 또 다른 양태는 리소스들이 한정적이며, 예로서, 얼굴을 인식하거나 그것들의 목표를 달성하도록 진행되는 것처럼 보이는 프로세스들에 증가하는 양들로 할당되어야 하며, 그 역 또한 마찬가지임을 인정한다.
상기 로컬 소프트웨어에 의해 수행될 제 4 클래스의 함수들은 콘텍스트 메타데이터 프로세싱이다. 이것은 예로서, 사용자에 의해 입력되고, 센서에 의해 제공되거나 또는 메모리로부터 다시 불러들인 상당히 다양한 정보를 수집하는 것을 포함한다.
"콘텍스트"의 하나의 공식적인 정의는 "엔티티(사용자 및 애플리케이션들 그 자체를 포함하여, 사용자 및 애플리케이션 간의 상호 작용에 적절한 것으로 고려되는 사람, 위치, 또는 오브젝트)의 상황을 특성화하기 위해 사용될 수 있는 임의의 정보"이다.
콘텍스트 정보는 컴퓨팅 콘텍스트(네트워크 접속성, 메모리 가용성, CPU 충돌 등), 사용자 콘텍스트(사용자 프로파일, 위치, 동작들, 선호들, 가까운 친구들, 소셜 네트워크(들), 및 상황 등), 물리적 콘텍스트(예로서, 조명, 잡음 레벨, 트래픽 등), 시간적 콘텍스트(시각, 날짜, 월, 계절 등), 상기의 이력 등을 포함하는 많은 종류들일 수 있다.
상기 로컬 소프트웨어를 위한 제 5 클래스의 함수들은 클라우드 세션 관리이다. 상기 소프트웨어는 특정 태스크들을 실행하기 위한 리소스들로서 상이한 클라우드-기반 서비스 제공자들을 등록하고, 상기 클라우드와의 듀플렉스 세션들을 예시하고(IP 접속들을 수립하고, 트래픽 흐름을 관리하는), 원격 서비스 제공자들을핑하는(예로서, 그것들의 서비스가 곧 요구될 수 있음을 알리는) 등을 필요로 한다.
로컬 소프트웨어를 위한 제 6 및 마지막 클래스의 함수들은 인식 에이전트 관리이다. 이것들은 셀 전화기들에 그것들의 입력 요건들, 그것들이 실행-시간에 로딩(또는 언로딩)되어야 함을 중계하는 공통 라이브러리 함수들, 다른 시스템 구성요소들/프로세스들과의 그것들의 데이터 및 다른 종속성들, 공통 분모 프로세스들을 수행(가능하게는 다른 서비스 제공자들을 교체하는)하기 위한 그것들의 능력들, 시스템 리소스들의 최대 사용들, 동작들의 각각의 단계들에 대한 세부사항들(도 12의 논의와 비교) 및 속도를 낮춘 리소스들을 가진 그것들의 성능/행동에 대한 각각의 데이터에 의해 게시된 리소스 요구들 등을 공개하기 위해 인식 에이전트들 및 서비스 제공자들을 위한 장치들을 포함한다. 이러한 제 6 클래스의 함수들은 그 후 예로서, 결과들 및 현재 시스템 파라미터들에 의존하여, 강도에서 각각의 서비스들의 속도를 높이거나 또는 낮춘 현재 상황들에 기초하여, 주어진 이들 파라미터를 고려해 볼 때, 상기 인식 에이전트들을 관리한다. 즉, 상기 인식 에이전트 관리 소프트웨어는 상기 에이전트들의 동작이 시스템 리소스 제약들에 따라 조정되는 수단으로서 작용한다.
샘플 비전 애플리케이션들
하나의 예시적 애플리케이션은 표면상의 동전들을 보고 그것들의 총 값을 계산하도록 작용한다. 상기 시스템은 동전들의 정확한 위치를 찾기 위해 타원형-찾기 프로세스(예로서, 허프 알고리즘)를 이용한다. 상기 동전들은 서로 위에 가로놓일 수 있으며, 일부는 단지 부분적으로 가시적일 수 있고, 상기 알고리즘은 각각이 상이한 동전에 대응하는, 그것이 검출하는 타원형의 각각의 섹션의 중심을 결정할 수 있다. 상기 타원형들의 축들은 일반적으로 병렬이어야 하며(비스듬한 시야, 즉 동전들 모두가 상기 화상에서 원들로서 보여지는 것은 아님을 가정하면), 이것은 상기 절차에 대한 체크로서 작용할 수 있다.
타원형들의 정확한 위치가 찾아진 후, 상기 동전들의 지름들은 그것들 각각의 값들을 식별하기 위해 평가된다. (상기 평가된 지름들은 예상된 지름으로, 또는 예상된 지름 비들로 그것들이 무리를 이룬다는 것을 보장하기 위해 히스토그램될 수 있다.)
다양한 여러 동전들이 존재한다면, 상기 동전들은 컬러 또는 인덱스에 대한 참조 없이 직경들의 비에 의해 단독으로 식별될 수 있다. 다임의 지름은 17.91mm이고, 페니의 지름은 19.05 mm이고; 니켈의 지름은 21.21mm이며; 쿼터의 지름은 24.26mm이다. 상기 다임에 대하여, 상기 페니, 니켈, 및 쿼터는 1.06, 1.18, 1.35의 직경비들을 가진다. 상기 페니에 대하여, 상기 니켈 및 쿼터는 1.11 및 1.27의 직경비들을 가진다. 상기 니켈에 대하여, 상기 쿼터는 1.14의 지름비를 가진다.
이들 비들은 모두 고유하며, 준비된 식별을 허용하기에 충분히 광범위하게 간격을 둔다. 두 개의 동전들이 1.14의 지름비를 가진다면, 보다 작은 것이 니켈이 틀림없고, 다른 것은 쿼터임이 틀림없다. 두 개의 동전들이 1.06의 지름비를 가진다면, 가장 작은 것은 다임임이 틀림없으며, 다른 것은 페니 등이다. 만약 다른 비들이 발견된다면, 어떤 것은 잘못되었다. (상기 동전들이 타원형들로서 보여짐에도 불구하고 지름들의 비가 결정될 수 있으며, 이는 동일한 원근법으로부터 보여진 타원형들의 치수들이 동일하게 비례하기 때문임을 주의하자.)
상기 동전들 모두가 동일한 유형이라면, 그것들은 노출된 인덱스들에 의해 식별될 수 있다.
몇몇 실시예들에서, 컬러가 또한 사용될 수 있다(예로서, 다임들로부터 페니들을 구별하는 것을 돕기 위해).
상기 식별된 쿼터들의 값들을 상기 식별된 다임들의 값들과, 상기 식별된 니켈들의 값들과, 상기 식별된 페니들의 값들과 합함으로써, 표면 위의 동전들의 총 값이 결정된다. 이러한 값은 적절한 사용자 인터페이스 장치를 통해 사용자에게 제공되거나 또는 알려질 수 있다.
관련된 애플리케이션은 동전들의 꾸러미를 보고 그것들의 원래 국가를 결정한다. 각각의 국가의 상이한 동전들은 고유한 세트의 동전 내 치수 비들을 가진다. 따라서, 상기와 같이 지름비들의 결정은 동전들의 콜렉션이 미국 또는 캐나다 등으로부터 왔는지 여부를 나타낼 수 있다. (캐나다의 페니, 니켈, 다임, 쿼터 및 하프 달러는 예를 들면, 19.05mm, 21.2mm, 18.03mm, 23.88mm, 및 27.13mm의 지름들을 가지며, 따라서 상기 꾸러미가 단지 니켈들 및 페니들을 포함하는 경우 약간의 모호함이 존재하지만, 이것은 다른 동전들이 포함되는 경우에 해소된다.)
증강된 환경들
몇몇 장치들에서, 장면의 머신 비전 이해는 시야에서 하나 이상의 특징들 또는 오브젝트를 위치시킴으로써 도움을 받고, 이에 대한 참조 정보가 알려져 있으며(예로서, 크기, 위치, 각도, 컬러), 및 이에 의해 상기 시스템은 관계에 의해 다른 특징들을 이해할 수 있다. 하나의 특정 장치에서, 타겟 패턴들은 예로서, 상기 관람 공간 내의 표면들로의 거리 및 그것의 방향이 식별될 수 있는 장면에 포함된다. 이러한 타겟들은 따라서 거리 및 방향 정보를 카메라 시스템에 시그널링하는 비콘들로 작용한다. 하나의 이러한 타겟은 예로서, 2002년 5월 No.3, Vol.6, 206-219 페이지,
Figure pct00002
, TRIP : 유비쿼터스 컴퓨닝, 개인용 및 유비쿼터스 컴퓨팅을 위한 저-비용 비전-기반 위치찾기 시스템에 상세히 설명된 TRIPcode이다.
Figure pct00003
논문에 상세히 설명된 바와 같이, 상기 타겟(도 17에 도시된)은 카메라-구비된 시스템이 상기 카메라에서 상기 타겟으로의 거리, 및 상기 타겟의 3D 자세 모두를 결정하도록 허용하는, 타겟의 반경을 포함한 정보를 인코딩한다. 상기 타겟이 관람 공간에서의 표면상에 위치된다면(예로서 벽에), 상기
Figure pct00004
장치는 카메라-구비된 시스템이 상기 벽으로의 거리 및 상기 카메라에 대한 벽의 공간 방향 모두를 이해하도록 허용한다.
상기 TRIPcode는 다양한 구현들을 겪으며, SpotCode로서, 그 후 ShotCode(때때로 Bango)로서 잇따라 알려진다. OP3 B.V.에 의해 상업화되는 것이 이제 이해된다.
상기 TRIPcode 타겟의 미학은 몇몇 애플리케이션들에 적합하지 않지만, 다른 것들에 매우 적합하다. 예를 들면, 카펫 또는 러그들은 예로서, 카펫의 폭을 가로질러 규칙적이거나 또는 불규칙적인 위치들로 배치된 반복되는 설계 특징으로서 상기 TRIPcode 타겟을 통합하여 만들어질 수 있다. 이러한 카펫 위에 서 있는 사람을 포함하는 장면을 보는 카메라는 상기 사람에 대한 거리를 결정할 때 상기 타겟을 참조할 수 있다(및 또한 바닥을 포함하는 평면을 정의하기 위해). 유사한 방식으로, 상기 타겟은 벽지, 가구를 위한 천 덮개들, 의류 등과 같은 다른 재료들을 위한 설계들로 통합될 수 있다.
다른 장치들에서, 상기 TRIPcode 타겟은 인간 시각 시스템에 가시적이지 않지만, 예로서, 적외선 스펙트럼에서 가시적인 잉크로 그것을 프린팅함으로써 덜 뚜렷해지게 만든다. 이동 전화기들에 사용된 많은 이미지 센서들은 상기 적외선 스펙트럼에 매우 민감하다. 따라서 이러한 타겟들은 상기 타겟들이 인간의 주목을 피할지라도, 캡처된 이미지 데이터로부터 식별될 수 있다.
추가 장치들에서, TRIPcode의 존재는 그럼에도 불구하고 이동 전화기에 의한 그것의 검출을 허용하는 방식으로, 다른 장면 특징들 가운데 감춰질 수 있다.
하나의 위장 방법은 상기 카메라 센서에 의해 상기 이미지 장면의 주기적인 샘플리에 의존한다. 이러한 샘플링은 아이템이 인간에 의해 직접 검사될 때 분명하지 않은 카메라-캡처된 화상에 시각적 아티팩트들(예로서, 앨리어싱, 모아레 현상(Moire effects))을 도입할 수 있다. 오브젝트는 이미지 센서의 일정한 간격을 둔 광센서 셀들에 의해 이미징될 때 이러한 아티팩트 결과들을 통해 나타나도록 TRIPcode 타겟을 유도하도록 설계된 패턴으로 프린팅될 수 있지만, 그렇지 않은 경우 인간 시청자들에게 분명하지 않다. (이러한 동일한 원리는 유리하게는 복사-기반 화폐 위조에 강한 체크를 하는데 사용된다. 단어 VOID와 같은 잠재적인 이미지가 원래의 문서 설계의 그래픽 요소들에 통합된다. 이러한 잠재적인 이미지는 인간 시청자들에게 분명하지 않다. 그러나, 복사기의 이미징 시스템에 의해 샘플링될 때, 주기적인 샘플링은 상기 단어 VOID가 복사기들에 출현하고 나타나게 한다.) 다양한 이러한 기술들은 2002년 SPIE Vol. 4677, 333-348 페이지, van Renesse의 숨겨지고 스크램블링된 이미지들 - 광학 보안 및 위조지폐 저지 기술들 IV에 대한 검토, 회의에 상세히 설명된다.
또 다른 위장 방법은 컬러 프린팅이 일반적으로 4개의 잉크들, 즉 청록색, 자홍색, 노란색 및 검은색(CMYK)로 수행된다는 사실에 의존한다. 일반적으로, 검정색 물질은 검은색 잉크로 프린트된다. 그러나, 검은색은 또한 청록색 및 자홍색과 노란색을 중복 인쇄함으로써 흉내낼 수 있다. 인간들에게, 이들 두 개의 기술들은 본질적으로 구별가능하지 않다. 그러나, 디지털 카메라로, 그것들은 쉽게 식별될 수 있다. 이것은 검은색 잉크들이 통상적으로 비교적 많은 양의 적외선 광을 흡수하는 반면, 청록색, 자홍색 및 노란색 채널들은 그렇지 않기 때문이다.
검은색을 나타내는 부분에서, 상기 프린팅 프로세스는 청록색, 자홍색, 및 노란색 잉크들을 중복 인쇄하는 영역을 이용할 수 있다(예로서, 흰색 기판 위에). 이러한 영역은 그 후 검은색 잉크를 사용하여, TRIPcode로 추가 중복 프린트(또는 사전 프린트)될 수 있다. 인간 시청자들에게, 그것 모두는 검은색으로 보인다. 그러나, 상기 카메라는 적외선 동작으로부터, 상기 차이를 말할 수 있다. 즉, 상기 TRIPcode의 검은색-잉크가 칠해진 부분에서의 포인트에서, 흰색 기판을 보기 어렵게하는 검은색 잉크가 존재하며, 이것은 그 외 상기 흰색 기판으로부터 반사될 수 있는 임의의 입사하는 적외선 조명을 흡수한다. 또 다른 포인트에서, 예로서, 상기 TRIPcode 타겟 밖에서 또는 그것의 주변부 그러나 흰색이 보통 나타나는 내부에서, 상기 적외선 조명은 상기 청록색, 자홍색, 및 노란색 잉크들을 통과하며, 상기 흰색 기판으로부터 상기 센서로 되돌아 반사한다.
상기 카메라에서의 빨간색 센서들은 적외선 조명에 가장 응답적이며, 따라서 그것은 상기 TRIPcode 타겟이 구별되는 빨간색 채널에 있다. 상기 카메라는 적외선 조명(예로서, 하나 이상의 IR LED들에 의해)을 제공할 수 있거나, 또는 주변 조명이 충분한 IR 조명을 제공할 수 있다. (미래 이동 디바이스들에서, 제 2 이미지 센서는 예로서, 적외선 검출을 위해 특별히 적응된 센서들을 제공받을 수 있다.)
방금 설명된 상기 장치는 단지 검은색 부분들이 아닌 임의의 컬러 프린팅된 화상을 가지고 사용하기 위해 적응될 수 있다. 이렇게 하기 위한 세부사항들이 트겋 출원 제20060008112호에서 제공된다. 이러한 장치에 의해, TRIPcode 타겟들은 프린팅이 시각적 장면에 나타날 수 있는 어디든지 숨겨질 수 있으며, 이러한 타겟들에 대한 참조에 의해 상기 장면 내의 특정 특징들 및 오브젝트들의 정확한 측정(mensuration)을 허용한다.
상기 TRIPcode와 같이, 둥근 타겟이 예로서, 상이한 타원형의 자세들에서의 그러한 형상을 인식할 때 계산적 용이함을 위해 바람직하지만, 다른 형상들의 마커들이 사용될 수 있다. 표면의 3D 위치를 결정하기에 적합한 정사각형 마커는 소니의 사이버코드(CyberCode)이며, 예로서, 증강 현실 환경들을 설계하는 회보, Rekimoto의 사이버코드: 시각적 태그들로 증강 현실 환경들을 설계하는 방법 2000. 1-10 페이지에서 상세히 설명된다.
몇몇 장치들에서, TRIPcode(또는 CyberCode)는 디지털 워터마크 데이터를 전달하기 위해 추가 처리될 수 있다. 이것은 상기 논의된 CMYK 장치에 의해 행해지며 언급된 특허 출원에서 상세히 설명될 수 있다. 스테가노그래픽 디지털 워터마크 데이터를 가진 이러한 기계-판독가능한 데이터 캐리어들을 마킹하기 위한 다른 장치들 및 이러한 장치들을 위한 애플리케이션들이 특허 제 7,152,786 호 및 특허 출원 제 20010037455 호에 상세히 설명된다.
멀티-터치 입력, 이미지 재- 매핑 , 및 다른 이미지 프로세싱
어딘가에서 언급된 바와 같이, 사용자들은 상기 시스템이 프로세싱하는 특징 또는 정보에서의 관심을 표현하기 위해 프로토-보블들을 탭할 수 있다. 상기 사용자의 입력은 예로서, 상기 시스템이 상기 노력에 부가적인 리소스들을 적용해야 함을 나타냄으로써 상기 프로세스의 우선순위를 높인다. 이러한 탭은 상기 프로토-보블의 보다 빠른 성숙을 하나의 보블로 이끌 수 있다.
탭핑한 보블들은 다른 목적들을 서빙할 수 있다. 예를 들면, 보블들은 상기 애플 아이폰(즉, 그것의 멀티-터치 UI)에 의해 대중화되는 것에 유사한 방식으로 사용자 인터페이스 목적들을 위한 터치들의 타겟일 수 있다.
이전 이미지 멀티-터치 인터페이스들은 비차별적인 전체로서 이미지를 처리한다. 줌 등은 상기 이미지에 그려진 특정들을 고려하지 않고 달성된다.
본 기술의 추가 양태에 따르면, 멀티-터치 및 다른 터치 스크린 사용자 인터페이스들은 상기 디스플레이된 화상의 하나 이상의 부분들이 표현하는 몇몇 지식에 부분적으로 의존하는 동작들을 수행한다.
단순한 예를 취하기 위해, 데스크의 표면을 가로질러 흩어진 여러 개의 아이템들의 사각 뷰를 고려한다. 하나는 상기 이미지 프레임에서 타원형으로서 그려진 동전일 수 있다.
상기 이동 디바이스는 잠재적으로 상이한 오브젝트들에 대응하는 상기 이미지의 부분들 및 에지들을 식별하는 것을 포함하여, 이전에 설명된 바와 같이, 다양한 오브젝트 인식 단계들을 이용한다. 보블들이 나타날 수 있다. 상기 이미지에서 동전(또는 상기 동전과 연관된 보블)의 위치를 탭핑하면, 상기 사용자는 상기 데스크상에서 아래를 내려보는 평면도에서인 것처럼, 동전이 원형으로서 제공되도록 상기 이미지가 재매핑되는 디바이스에 시그널링할 수 있다. (이것은 때때로 정사-보정(orthod-rectification)으로 칭하여진다.)
이를 위해, 상기 시스템은 바람직하게는 먼저 상기 형상이 원형인 것을 알고 있다. 이러한 지식은 여러 개의 대안적인 소스들로부터 도출할 수 있다. 예를 들면, 상기 사용자는 이러한 정보(예를 들면, 상기 동전을 탭핑하고 그 후 상기 탭핑된 오브젝트가 실제 형상에서 원형임을 나타내는 이미지의 마진에서 제공된 원형 제어를 탭핑함으로써와 같이, 상기 UI를 통해)를 명확하게 나타낼 수 있다. 또는 이러한 동전은 상기 디바이스에 의해, 예로서, 그것의 컬러 및 인덱스들에 대한 참조에 의해(또는 클라우드 프로세싱이 이러한 인식을 제공할 수 있다) 국소적으로 인식될 수 있다. 또는, 상기 디바이스는 타원 형상을 가진 임의의 분할된 이미지 특징은 사실상 사투시(oblique perspective)로부터 보여진 원형임을 가정할 수 있다. (몇몇 오브젝트들은 심지어 비스듬히 감지될 수 있는 기계 판독가능한 인코딩을 포함하고, 상기 오브젝트의 원래 형상을 나타낼 수 있다. 예를 들면, OR 바코드 데이터는 직사각형 오브젝트로부터 식별될 수 있으며, 상기 오브젝트의 진짜 형상이 정사각형임을 나타낸다.) 등.
상기 이미지(또는 대응하는 보블)에서의 상기 동전의 그림에 대한 탭핑은 더 많은 것 없이 상기 이미지가 재매핑되게 할 수 있다. 그러나, 다른 실시예들에서, 이러한 명령은 상기 사용자로부터 하나 이상의 추가 지시들을 요구한다. 예를 들면, 상기 사용자의 탭은 상기 디바이스가 수행될 수 있는 여러 개의 대안적인 동작들을 설명하는 메뉴(예로서, 그래픽적이거나 또는 청각의)를 제공하게 할 수 있다. 하나는 계획 재-매핑일 수 있다.
이러한 명령에 응답하여, 상기 시스템은 상기 타원의 단축의 차원을 따라 캡처된 이미지의 스케일을 확대하며, 따라서 상기 단축의 길이는 상기 타원의 장축의 것과 동일하다. (대안적으로, 상기 이미지는 유사한 결과를 갖고 상기 장축을 따라 즐어들 수 있다.) 그렇게 할 때, 상기 시스템은 또한 재매핑된 이미지의 나머지를 갖고 그것의 평면 뷰 형상에 더 가깝도록 상기 그려진 오브젝트를 재매핑한다.
또 다른 장치에서, 단지 하나의 방향으로 스케일링 인자를 적용하는 대신에, 상기 이미지는 두 개의 상이한 방향들을 따라 스케일링될 수 있다. 몇몇 실시예들에서, 전단, 또는 차별 스케일링(예로서, 원근감 효과를 처리하기 위해)이 사용될 수 있다.
메모리가 사선 뷰들로부터의 오브젝트의 평면 형상에 대한 추론들이 결정될 수 있는 규칙들의 세트를 저장할 수 있다. 예를 들면, 오브젝트가 4개의 대략 직선인 측들을 가진다면, 그것은 대향 측들이 카메라의 뷰에 평행이 아닐지라도 직사각형인 것으로 가정될 수 있다. 상기 오브젝트가 3차원에서 명확한 규모를 가지지 않고, 아마도 상기 밝은 컬러 가운데의 몇몇 고주파수 어두운 마킹들을 갖는 밝은 색상에서 매우 균일하다면, 상기 오브젝트는 또한 GPS가 미국에서의 위치를 나타낸다면 8.5:11 종횡비를 가진(또는 GPS가 유럽에서의 위치를 나타낸다면 1:SQRT(2)) 종이 조각인 것으로 가정될 수 있다. 상기 재-매핑은 평면도를 근사하는 것으로의 상기 그려진 오브젝트의 뷰 변환을 실시하기 위해, 다른 지식의 부족시 이러한 정보를 이용할 수 있다.
몇몇 장치들에서, 상기 이미지 프레임에서의 하나의 분할된 오브젝트에 대한 지식은 동일한 프레임에서의 또 다른 오브젝트에 관한 결론을 통지하거나 또는 정제하기 위해 사용될 수 있다. 그것의 가장 치수가 30 픽셀들인 원형 오브젝트, 및 그것의 가장 큰 치수가 150 픽셀들인 또 다른 오브젝트를 묘사하는 이미지 프레임을 고려한다. 후자의 오브젝트는 몇몇 프로세싱에 의해 커피 컵인 것으로 식별될 수 있다. 참조 정보의 데이터 저장은 커피 컵들이 그것들의 가장 긴 치수가 통상적으로 3-6"임을 나타낸다. 그 후, 전자의 오브젝트는 대략 인치로(아니면, 예로서, 다른 이미지들에서 묘사된 원형 오브젝트들의 경우인 것처럼, 풋 또는 미터) 치수를 갖는 것으로 추정될 수 있다.
딱 맞는 크기 이상의 분류가 이러한 방식으로 추론될 수 있다. 예를 들면, 데이터 저장은 연관된 아이템들을 함께 그룹핑하는 정보를 포함한다. 타이어 및 자동차. 하늘 및 나무. 키보드 및 마우스. 쉐이빙 크림 및 면도기. 소금 및 후추 쉐이커들(때때로, 케첩 및 겨자 기계들을 갖고). 동전들과 열쇠들 및 셀 전화기와 지갑 등.
이러한 연관들은 다양한 소스들로부터 얻어질 수 있다. 하나는 플리커 또는 구글 이미지들과 같은 이미지 아카이브들로부터의 텍스트 메타데이터이다(예로서, 설명적인 메타데이터에서 면도기를 가진 모든 이미지를 식별하고, 이러한 이미지의 메타데이터로부터 모든 다른 용어들을 수집하며, 예로서, 상위 25%를 유지하는 발생에 관하여 평가한다). 또 다른 것은 예로서, 특허 제 7,383,169호에 설명된 바와 같이, 역 시맨틱 관계들을 구별함으로써 증가된 하나 이상의 텍스트들(예로서, 사전 및 백과사전)의 전방향-링크 분석을 수행함으로써, 자연 언어 프로세싱에 의한 것이다.
치수 지식이 유사한 방식들로 추정될 수 있다. 예를 들면, 참조 데이터의 시드 콜렉션이 데이터 저장소에 입력된다(예로서, 키보드는 그것의 가장 큰 치수가 약 12-20"이다. 전화기는 약 8-12"이고, 자동차는 약 200"이다 등). 이미지들이 그 후 다른 것들과 함께, 알려진 아이템들을 포함한 플리커로부터 수집될 수 있다. 예를 들면, 플리커는 현재 용어 "키보드"로 태그된 거의 200,000개의 이미지들을 가진다. 그것들 중, 300을 넘는 것이 또한 용어 "커피 컵"으로 태그된다. 이들 300+ 이미지들에서 유사한 키보드가 아닌 형상들의 분석은 상기 부가된 오브젝트가 상기 키보드의 가장 긴 치수의 대략 3배인 가장 긴 치수를 가짐을 밝힌다. (유사한 분석에 의해, 머신 학습 프로세스는 커피 컵의 형상이 일반적으로 원통형임을 추정할 수 있으며, 이러한 정보는 또한 상기 디바이스에 의해 참고되는 로컬 또는 원격의 지식 베이스에 부가될 수 있다.)
상기 논의되 것과 유사한 추론들은 통상적으로 최종 오브젝트 식별을 렌더링하지 않는다. 그러나, 그것들은 특정 식별들을 다른 것들보다 가능성이 높게(또는 가능성이 낮게) 만들며, 따라서 예를 들면 확률적 분류기들에서 유용하다.
때때로 이미지의 재-매핑은 이미지 그 자체보다 많은 것에 기초할 수 있다. 예를 들면, 상기 이미지는 예로서 비디오로부터 이미지들의 시퀀스 중 하나일 수 있다. 다른 이미지들은 상기 장면의 3D 모델이 생성되도록 허용하는 다른 관점들로부터 올 수 있다. 마찬가지로, 상기 디바이스가 스테레오 영상기들을 가진다면, 3D 모델이 형성될 수 있다. 재-매핑은 이러한 3D 모델에 대한 참조에 의해 진행할 수 있다.
유사하게는, 지리학적 위치 데이터에 대한 참조에 의해, 상기 동일한 일반적인 위치로부터의 다른 화상이 식별될 수 있고(예로서, 플리커 등으로부터) 3D 모델을 생성하고, 그렇지 않은 경우 상기 재-매핑 동작을 통지하기 위해 사용될 수 있다. (마찬가지로, 포토신스(Photosynths)가 대중성 및 가용성에서 계속해서 얻게 된다면, 그것들은 재매핑이 진행할 수 있는 풍부한 데이터를 제공한다.)
이러한 재매핑은 OCR과 같은 인식 알고리즘들이 이용되기 전에 캡처된 화상에 적용될 수 있는 도움이 되는 단계이다. 예를 들면, 전화 번호를 디스플레이하는 LCD 스크린을 가진 상기 데스크로부터 위로 기울어진 전화기를 묘사하는 이전 예의 데스크 사진을 고려하자. 전화기의 경사 및 시야 각도로 인해, 상기 디스플레이는 직사각형으로서 보이지 않지만 장사방향으로서 보인다. 4각형 형상을 인지할 때, 상기 디바이스는 그것을 직사각형으로 재매핑할 수 있다(예로서, 전단 변환을 이용함으로써). OCR은 그 후 상기 재-매핑된 이미지상에서 진행하여, 상기 전화기 스크린상에 디스플레이된 글자들을 인식한다.
멀티-터치 사용자 인터페이스들로 돌아가서, 부가적인 동작들이 상기 디바이스 스크린상에 디스플레이된 두 개 이상의 특징들을 터치함으로써 개시될 수 있다.
일부는 다른 재매핑 동작들을 실시한다. 상기 데스크 표면으로부터 위로 기울어진 전화기/LCD 디스플레이, 및 또한 평평한 부분 위에 놓인 명함 모두를 도시하는 이전 데스크 예를 고려하자. 상기 책상에 대한 상기 전화기 디스플레이의 경사로 인해, 이들 두 개의 텍스트-베어링 특징들은 상이한 평면들에 위치된다. 단일 이미지로부터의 모두를 OCR하는 것은 절충을 요구한다.
상기 사용자가 분할된 특징들 모두(또는 양쪽 모두에 대응하는 보블들)를 터치한다면, 상기 디바이스는 선택된 특징들의 기하학 구조를 평가한다. 그 후, 상기 전화기에 대해, LCD 플레이의 외관 평면으로 정상적으로 연장하는 벡터의 방향을 계산하고, 상기 명함의 표면으로부터 정상적으로 연장하는 벡터에 대해 마찬가지이다. 이들 두 개의 벡터들은 그 후 중간 벡터 방향을 산출하기 위해 평균을 낼 수 있다. 상기 이미지 프레임은 그 후 상기 계산된 중간 벡터가 똑바로 연장하도록 재매핑될 수 있다. 이러한 경우에, 상기 이미지는 상기 LCD 디스플레이의 평면 및 상기 명함의 평면 사이의 중간에서 비스듬히 놓여진 평면으로 평면도를 산출하도록 변환된다. 이러한 재매핑된 이미지 프리젠테이션은 상이한 평면들에 놓여 있는 두 개의 대상들로부터 텍스트를 OCR하기 위한 최적의 절충인 것으로 믿겨진다(각각에서의 텍스트가 상기 재매핑된 이미지 묘사에서 유사한 크기인 것을 가정하면).
유사한 이미지 변환들은 멀티-터치 인터페이스를 사용하여 이미지로부터 선택된 3개 이상의 특징들에 기초할 수 있다.
도처에서의 해석적 신호들을 가지고, 이력 사이트에서의 사용자를 고려하자. 상기 사인들은 상이한 평면들에 있다. 상기 사용자의 디바이스는 3개의 사인들을 도시하는 화상의 프레임을 캡처하고 그것들의 에지들 및/또는 다른 특징들로부터 잠재적으로 관심있는 별개의 오브젝트들로서 사인들을 식별한다. 상기 사용자는 상기 디스플레이 상에서 모든 3개의 사인들을 터치한다(또는 대응하는 보블들과 함께 또는 순차적으로). 방금 설명된 것과 유사한 절차를 사용하여, 상기 3개의 사인들의 평면들이 결정되며, 평균 신호들 평면에 수직인 방향으로 장면을 보는 관점을 보는 절충물이 그 후 이미지가 재매핑되도록 생성된다.
관점을 보는 절충물로부터의 3개의 사인들을 제공하는 대신에, 대안적인 접근법은 각각의 사인을 별개로 재매핑하여, 그것이 평면도에 나타나도록 한다. 이것은 단일 이미지를 각각이 상이한 재매핑을 가진 3개의 상이한 이미지들로 변환함으로서 행해질 수 있다. 또는 상이한 사인들을 가진 상기 픽셀들이 동일한 이미지 프레임 내에서 상이하게-재매핑될 수 있다(재형상되고, 아마도 확대된 사인 묘사들을 수용하기 위해 근처의 화상을 왜곡시킨다).
또 다른 장치에서, 상기 3개의 사인들을 터치하는 것(동시에, 또는 순차적으로)은 플리커 또는 포토신스와 같은 이미지 아카이브로부터 지정된 오브젝트들의 다른 이미지들을 획득하는 것을 수반하는 동작들을 개시한다. (상기 사용자는 상기 사용자의 의도를 클리어하게 하기 위해 상기 디바이스 상에서의 UI와 상호작용할 수 있다. 예로서, "플리커로부터의 다른 픽셀 데이터로 증가시킨다") 이들 다른 이미지들은 캡처된 이미지(예로서, 라트/롱, 플러스 방향) 또는 기타(예로서, 다른 메타데이터 관련성, 패턴 매칭 등)와의 포즈 유사성에 의해 식별될 수 있다. 보다 높은 해상도, 또는 뚜렷하게 초점이 맞춰진, 상기 사인들의 이미지들이 이들 다른 소스들로부터 처리될 수 있다. 이들 사인 발췌들은 적절하게 스케일링되고 레벨-시프팅될 수 있으며, 그 후 아마도 사용자에 의해 캡처된, 즉, 아마도 상기 설명된 바와 같이 처리된(예로서, 아마도 3개의 상이한 이미지들에서, 또는 재형상된 사인 발췌들을 수용하기 위해 휘어진 합성 사진에서, 중간물 이미지 평면으로 재매핑되고, 별개로 재매핑된) 이미지 프레임으로 블렌딩되고 붙여진다.
방금 설명된 상기 장치들에서, 상기 캡처된 이미지에서 가시적인 쉐도우들의 분석은 상기 디바이스가 단일 프레임으로부터 상기 장면(예로서, 오브젝트들의 깊이 및 포즈)에 대한 특정 3D 지식을 얻도록 허용한다. 이러한 지식은 상기 설명된 동작들 중 임의의 것을 통지하도록 도울 수 있다.
단지 이미지(또는 발췌)를 재매핑하는 것은 OCR하는 것을 도울 수 있기 때문에, 그것은 어떤 다른 인식 에이전트(들)가 개시되어야 하는지를 결정하는 것을 또한 도울 수 있다.
이미지에서 두 개의 특징들(또는 보블들) 상을 탭핑하는 것은 묘사된 오브젝트들 간의 공간 관계를 결정하기 위해 프로세스를 개시할 수 있다. NASCAR 레이스의 카메라 뷰에서, 보블들은 상이한 레이스 자동차들을 오버레이할 수 있으며, 그것들의 움직임을 추적한다. 인접한 자동차들을 위한 보블들을 탭핑함으로써(또는 서술된 자동차들 자체를 탭핑함으로써), 상기 디바이스는 상기 자동차들 각각에 대한 위치 데이터를 획득할 수 있다. 이것은 예로서, 상기 이미지 프레임에서의 그것들의 스케일 및 위치(상기 카메라 광학의 알고 있는 세부사항들 및 상기 자동차들의 진짜 크기들)로부터 상기 자동차들의 위치들을 추정함으로써, 상기 시청자의 관점으로부터 상대적인 용어들로 결정될 수 있다. 또는 상기 디바이스는 자동차의 실시간 지리학적 위치를 추적하는 하나 이상의 웹 리소스들로 링크할 수 있으며, 예로서, 그로부터 상기 사용자 디바이스가 자동차들 간의 갭이 8인치이고 닫혀있음을 보고할 수 있다.
(이전 예들에서와 같이, 이러한 특정 동작은 상기 사용자가 스크린을 탭핑할 때 여러 가능한 동작들의 메뉴로부터 선택될 수 있다.)
간단하게 보블들을 탭핑하는 대신에, 추가 혁신은 상기 스크린상에서 하나 이상의 보블들을 드래그하는 것에 관련된다. 그것들은 서로로, 또는 상기 스크린의 부분으로 드래그될 수 있으며, 그에 의해 상기 사용자가 원하는 동작 또는 질의를 시그널링한다.
여러 개의 얼굴들을 가진 이미지에서, 상기 사용자는 대응하는 보블들 중 두 개가 3번째로 드래그할 수 있다. 이것은 예로서, 상기 표시된 사람이 몇몇 사회적 관계를 가지는 그룹핑 동작을 표시할 수 있다.(상기 관계에 대한 추가 세부사항들이 텍스트 입력을 사용하여 사용자에 의해, 또는 스피치 인식을 통해 문어체로 입력될 수 있다.) 네트워크 그래프 의미에서, 두 개의 개인들을 나타내는 링크가 데이터 오브젝트들 간에 수립된다. 이러한 관계는 다른 디바이스 프로세싱 동작들이 어떻게 상기 표시된 개인들을 처리하는 지에 영향을 미칠 수 있다.
대안적으로, 모든 3개의 보블들은 상기 이미지 프레임에서의 새로운 위치로 드래그될 수 있다. 이러한 새로운 위치는 동작, 또는 추정에 의해(예를 들면, 콘텍스트) 또는 사용자 입력에 의해 표현된 상기 그룹핑과 연관될 속성을 나타낼 수 있다.
특징-프록시 보블들의 또 다른 상호적인 사용이 이미지를 편집하는데 있다. 3개의 얼굴들, 즉 2명의 친구들 및 한 명의 낯선 사람을 가진 이미지를 고려하자. 상기 사용자는 온라인 저장소(페이스북)에 이미지를 게시하기를 원할 수 있지만, 먼저 상기 낯선 사람을 제거하기를 원할 수 있다. 보블들은 이를 위해 조작될 수 있다.
어도비 포토샵 CS4가 rsizr.com과 같은 온라인 사이트들로부터 이전에 알려진 스마트 스케일링으로 칭하여진 특징을 도입하였다. 저장될 화상의 영역들이 나타내어지며(예로서, 마우스로 그려진 경계 박스를 갖고), 다른 영역들(예로서, 불필요한 특징들을 가진)이 그 후 줄어들거나 또는 삭제된다. 이미지 프로세싱 알고리즘들은 변경되지 않은 저장된 영역들을 보존하며, 그것들을 이전에 상기 불필요한 특징들을 가졌던 편집된 부분들과 블렌딩한다.
본 시스템에서, 식별된 특징들에 대응하는 보블들을 생성하기 위해 화상의 프레임을 프로세싱한 후, 상기 사용자는 하나의 특징(예로서, 낯선 사람)이 삭제되고, 두 개의 다른 특징들(예로서, 두 명의 친구들)이 보존됨을 나타내는 일련의 제스처들을 실행할 수 있다. 예를 들면, 상기 사용자는 원치않은 보블을 터치할 수 있고 상기 대응하는 시각적 특징이 상기 이미지로부터 제어되어야 함을 나타내기 위해 상기 디스플레이 스크린의 하부 에지로 손가락을 스칠 수 있다. (상기 보블은 상기 손가락을 다를 수 있거나 그렇지 않을 수 있다) 상기 사용자는 그 후 그것이 보존됨을 나타내기 위해 상기 친구 보블들의 각각을 더블-탭핑할 수 있다. 또 다른 제스처는 상기 사용자가 모든 상기 편집 제스처들이 입력됨을 나타내는 메뉴를 호출한다. 상기 프로세서는 그 후 상기 사용자의 지시들에 따라 상기 이미지를 편집한다. "원상태로 돌리는(undo)" 제스처(예로서, 상기 스크린 상에서 반시계 방향의 반-원 손가락 추적)는 그것이 만족스럽지 않음을 증명한다면 상기 편집을 뒤집을 수 있으며 상기 사용자는 또 다른 편집을 시도할 수 있다. (상기 시스템은 예로서, 글자 'e'를 손가락 추적하는, 온-스크린 제스처에 의해, 또는 메뉴로부터의 선택에 의해 편집 보블 제스처들을 수신하기 위해 하나의 모드에 위치될 수 있다.)
보블-탭들의 시퀀스의 순서는 상기 시스템에 대한 상기 사용자의 의도에 관한 정보를 나르고 대응하는 프로세싱을 야기할 수 있다.
각각의 명소(예로서, 에펠 타워, 개선문, 루브르 등)의 사진을 갖고 다양한 관심 포인트들을 도입하는 사인을 보는, 새로운 타운에서의 관광객을 고려한다. 상기 사용자의 디바이스는 사진들의 일부 또는 모두를 인식할 수 있고, 각각의 서술된 명소에 대응하는 보블을 제공한다. 특정 순서로 상기 보블들을 터치하는 것은 탭핑된 순서로, 상기 탭핑된 명소들로의 도보 방향을 획득하도록 상기 디바이스에 지시할 수 있다.
특징-프록시 보블들이 특정 오브젝트들, 또는 이미지 특징들과 연관되기 때문에, 그것들은 그것들이 대응하는 상기 오브젝트/특징에 의존하는 제스처에 포함되거나 탭핑될 때 응답을 가질 수 있다. 즉, 제스처에 대한 상기 응답은 수반된 상기 보블들과 연관된 메타데이터의 함수일 수 있다.
예를 들면, 사람에 대응하는 하나의 보블 상에서 탭핑하는 것은 조각상, 또는 레스토랑에 대응하는 보블 위를 탭핑하기보다는 상이한 어떤 것을 나타낼 수 있다(또는 이용가능한 동작들의 상이한 메뉴를 호출한다). (예로서, 상기 전자상의 탭은 상기 사람의 이름 및 예로서, 페이스북으로부터의 사회적 프로파일의 디스플레이 또는 수태 고지(annunciation)를 끌어낼 수 있고; 상기 두 번째의 탭은 상기 조각상 또는 그것의 조각가에 대한 위키피디아 정보를 호출할 수 있고; 상기 후자에서의 탭은 상기 레스토랑의 메뉴, 및 임의의 현재 프로모션들에 대한 정보를 산출할 수 있다.) 마찬가지로, 하나 이상의 보블들에 대한 탭들을 수반하는 제스처는 또한 상기 탭핑된 보블들이 무엇을 나타내는지에 의존하는 의미를 가질 수 있다.
시간에 걸쳐, 상이한 보블들에 걸쳐 일반적으로 일관되는 제스처 영어는 표준화되어갈 수 있다. 한 번의 탭핑은 예를 들면, 보블의 유형에 대응하는 특정 유형의 입문자를 위한 정보를 호출할 수 있다(예를 들면, 사람과 연관된 보블이 탭핑된다면, 이름 및 프로파일; 빌딩과 연관된 보블이 탭핑된다면 주소 및 사무실들의 안내 책자; 이력 사이트에 대한 보블이 탭핑된다면 위키피디아 페이지; 소매용 제품에 대한 보블이 탭핑된다면 제품 정보 등). 두 번 탭핑하는 것은 상기 대응하는 오브젝트/특징에 다시 맞춰진, 4개의 가장 빈번히 유발된 동작들의 하이라이트 메뉴를 호출할 수 있다. 보블에 대한 터치, 및 상기 위치에서의 손가락의 위글(wiggle)은 스크롤 바를 가진 선택들의 단축되지 않은 메뉴의 디스플레이와 같은, 또 다른 응답을 개시할 수 있다. 또 다른 위글은 상기 메뉴가 철회되게 할 수 있다.
아키텍처에 대한 정보들( notes )
본 명세서는 다수의 특징들을 상세히 설명한다. 구현들이 특징들의 서브세트로 실현될 수 있지만, 그것들은 다소 덜 선호된다. 보다 드물기보다는 보다 다채롭게 구현하기 위한 이유들이 다음 논의에서 제시된다.
대표적인 소프트웨어 프레임워크가 다양한 구성요소들을 사용하여 스마트폰 상에서 작동하는 시각적 유틸리티 애플리케이션들을 지원한다:
1. 상기 스크린은 이미지의 부분들에 부착하고 가치 디스플레이들로서 동시에 동작하며, 동시에 발생하는 (가능한) 다수의 동작들에 대한 포인트들을 제어하는 동적 아이콘들(보블들)에 의해 오버레이된 실시간 변경된 카메라 이미지이다. 상기 스크린은 정확히 상기 사용자의 관심의 초점에서 가치가 크고, 돈을 벌 수 있는 광고 공간(구글의 검색 페이지들과 유사한 방식으로)이다.
2. 상기 디바이를 위한 많은 애플리케이션들은 단순한 "스냅샷들"이 아닌 카메라 이미지들의 라이브 시퀀스들을 처리한다. 많은 경우들에서, 반응성이 여전히 우선 사항이지만, 복잡한 이미지 감정들이 요구된다.
3. 실제 애플리케이션들은 대개는 디스플레이된 보블들 및 상기 디스플레이에 의해 도시된 현재 가시적인 "장면"과 연관될 것이며, 이는 사용자 상호작용이 이들 애플리케이션들의 모든 레벨들의 정상 부분이도록 허용한다.
4. 이미지-특징 추출 함수들의 기본 세트는 배경에서 작동할 수 있으며, 이는 가시적인 장면의 특징들이 항상 애플리케이션들에 가능하도록 허용한다.
5. 바람직하게는 개개의 애플리케이션들은 "호그(hog))" 시스템 리소스들에 허용되지 않으며, 이는 많은 것들의 유용성이 가시적인 장면에서의 변화들에 따라 흥하다가 이울고, 따라서 하나 이상의 애플리케이션이 종종 즉시 활성이 될 것이기 때문이다. (이것은 일반적으로, 유용하기에 충분히 활발하게 애플리케이션을 유지하기 위해 적절한 디스패치 능력들을 가진 멀티태스킹을 요구한다.)
6. 애플리케이션들은 적절할 때 유발된 보다 많은 집중 함수들을 갖고 상기 장면 데이터 또는 사용자 바람들을 모니터링할 수 있는 비교적 낮은-로드 함수들을 가진 층들로 설계될 수 있다. 상기 디스패치 장치들은 이러한 코드 구조를 지원할 수 있다.
7. 많은 애플리케이션들은 상기 디바이스 자체의 실제 능력들을 넘어 동작들을 수행하기 위해 클라우드-기반 부분들을 포함할 수 있다. 다시, 상기 디스패치 장치들은 이러한 능력을 지원할 수 있다.
8. 애플리케이션들은 종종 상호 유용한 데이터를 게시하고 액세스하기 위해 방법(예로서, 상기 블랙보드)을 요구한다.
막연하고 무질서한 방식으로, 상기 양태들의 전체 부분(단지 개별적으로 바람직하지 않은)들을 만들 수 있는 연관성들의 일부가 이하에 있다.
1. 라이브 장면들을 나타내는 애플리케이션들은 일반적으로 모든(또는 적어도 많은) 프레임들로부터 기본적인 이미지 특징의 효율적인 추출에 의존할 것이며 - 따라서 실시간 특징들을 이용가능하게 만드는 것은 중요한 고려사항이다(비록, 특정 애플리케이션들에 대해, 그것이 요구될 수 없을지라도).
2. 효율적인 애플리케이션 개발 및 테스팅을 허용하기 위해, 뿐만 아니라 변화하는 능력들에 따라 디바이스들에 대한 애플리케이션들을 지원하기 위해, 임의의 애플리케이션의 상당한 부분들을 "클라우드에" 선택적으로 위치시키는 능력은 거의 의무적이게 될 것이다. 많은 이득들이 이러한 능력으로부터 축적된다.
3. 많은 애플리케이션들은 도움을 받지 않은 소프트웨어의 현재 능력들을 넘는 인식 능력들로부터 이득을 볼 것이다. 이들 애플리케이션들은 사용자와의 상호작용이 효과적이도록 요구할 것이다. 또한, 이동 디바이스들은 일반적으로 사용자 상호작용들을 요청하며, 단지 상기 GUI가 이러한 요건이 일관적임을 지원하는 경우에만, 친숙한 상호작용이 가능하다.
4. 제한되고 융통성 없는 리소스들을 가진 디바이스들에 대한 복잡한 애플리케이션들을 지원하는 것은 소프트웨어 아키텍처로부터의 전체 지원을 요구한다. PC-스타일 애플리케이션들을 이들 디바이스들에 억지로 집어넣는 것은 일반적으로 신중한 재설계 없이 만족스럽지 않다. 계층화된 소프트웨어의 멀티태스킹은 이러한 디바이스-재약된 환경에서 요청한 사용자 경험을 제공하는 중요한 구성요소일 수 있다.
5. 효율적인 방식으로 다수의 애플리케이션들에 이미지 정보를 제공하는 것은 단지 한 번 정보를 생성하고, 정보 액세스 및 캐싱 비효율성들을 최소화하는 방식으로 그것을 요구하는 모든 애플리케이션에 의한 그것의 사용을 허용함으로써 최상으로 수행된다. 상기 "블랙보드" 데이터 구조는 이러한 효율성을 달성하는 하나의 방식이다.
따라서, 상기 설명된 기술의 양상들은 개별적으로 유용하지만, 그것은 그것들의 최고 유틸리티가 실현될 수 있는 것은 결합에 있다.
프로세싱, 사용 모델들, 나침 , 및 세션들에 대한 보다 많은 것
언급된 바와 같이, 몇몇 구현은 자유-작동(free-running) 기반으로 화상을 캡처한다. 제한된 배터리 전력이 제약사항이라면(현재 일반적인 경우인 것처럼), 상기 시스템은 데이터의 분석에 상기 디바이스의 계산 능력들의 상당한 부분(예로서, 10% 또는 50%)을 좀처럼 적용하지 않는 특정 실시예들에서의 매우 선택적인 모드로 화상의 이러한 연속 흐름을 처리할 수 있다. 대신, 그것은 예로서, 상당한 전력 비용 없이 동작들을 수행하고 및/또는 각 초 또는 분에서 몇 개의 프레임들만(예로서, 매 초마다 캡처될 수 있는 15, 24, 또는 30개의 프레임들에서)을 검사하는 낮은 전력 소비 상태로 동작한다. 단지 (A) 초기의, 낮은 레벨 프로세싱은 상기 화상에 서술된 오브젝트가 정확하게 인식될 수 있는 높은 확률을 나타내며, (B) 콘텍스트는 이러한 오브젝트의 인식이 상기 사용자에게 적절할 높은 확률을 나타내는 경우에만, 전력 소비가 증가되는 제 2 모드로 상기 시스템이 속도를 높인다. 이러한 제 2 모드에서, 상기 전력 소비는 상기 제 1 모드에서의 전력 소비의 2배 이상, 또는 10-, 100-, 1000배 이상일 수 있다. (상기 언급된 확률들은 특정 구현에 종속하는 산출된 숫자 스코어들에 기초할 수 있다. 성공적인 오브젝트 인식을 위해서 및 상기 사용자에게 적절하기 위한 이들 스코어들이 각각의 임계값들을 초과하는 경우에만, 상기 시스템은 상기 제 2 모드로 스위칭한다.) 물론, 상기 사용자가 관심 또는 격려를 명확하게 또는 암시적으로 시그널링한다면, 또는 콘텍스트가 구술한다면, 상기 시스템은 또한 상기 제 1 모드로부터 상기 제 2 모드로 스위칭할 수 있다.
스마트폰을 지속하고 그것의 변화하는 디스플레이(예로서, 원하는 커피숍 또는 지하철 역으로 내비게이션하기 위해)에 집중하는 동안 사용자가 도시의 거리들을 겆는 것으로 예상되는 특정 증강 현실(AR) 애플리케이션들에 대한 상기 부가된 사용 모델은 문제의 소지가 있다. 다수의 대안들이 바람직한 것처럼 보인다.
하나는 이어폰 또는 스피커를 통해 청각적으로 안내를 제공하는 것이다. 말하는 안내보다는, 사용자가 자동차 경적들 또는 동행자의 말과 같이, 다른 청각적 입력들을 보다 양호하게 처리하도록 허용하는 보다 많은 예민한 청각적 실마리들이 이용될 수 있다. 하나의 청각 실마리는 상기 사용자가 올바른 방향으로 겆독 있는지, 및 의도된 목적지에 더 가까워졌는지 여부를 시그널링하기 위해 반복 레이트 또는 주파수로 변화하는 가끔의 톤들 또는 클릭들일 수 있다. 상기 사용자가 교차로에서 잘못된 턴을 하려고 시도하거나, 또는 상기 목적지를 향하기보다 그로부터 멀어진다면, 상기 패턴은 독특한 방식으로 변화할 수 있다. 하나의 특정 장치는 상기 사용자가 상기 의도된 목적지를 향해 진행할 때 더 빈번해지고, 상기 사용자가 상기 올바른 방향으로부터 돌아선다면 떨어지는 드문 패턴을 가진 가이거 계수기-형 사운드 효과를 이용한다. (하나의 특정 실시예에서, 상기 청각적 피드백의 볼륨은 사용자 움직임에 따라 변화한다. 상기 사용자가 예로서, 신호등에서, 잠시 멈춘다면, 볼륨은 증가될 수 있어서, 상기 사용자가 상이한 방향들에 직면하고 오디오 피드백에 의해 어떤 방향에서 진행할지를 식별하도록 허용한다. 일단 상기 사용자가 걷기를 재개하면, 상기 오디오 볼륨은 상기 사용자가 다시 한번 잠시 멈출때까지 줄어들 수 있다. 볼륨, 또는 다른 사용자 피드백 강도 레벨은 따라서 상기 사용자가 상기 내비게이션 방향들마다 진행할 때 감소할 수 있고, 상기 사용자가 잠시 멈추거나 또는 상기 예측된 경로로부터 방향을 바꿀 때 증가할 수 있다.)
모션은 가속도계 출력에 의해, GPS 좌표들을 변경함으로써, 상기 카메라에 의해 감지된 풍경을 변경함으로써 등과 같이 다양한 방식들로 검출될 수 있다.
청각적 피드백 대신에, 상기 장치는 진동 피드백을 대신 이용할 수 있다.
상기 이동 디바이스에서 자력계는 방향을 감지하기 위해 이들 구현들에서 사용될 수 있다. 그러나, 상기 이동 디바이스는 상기 사용자, 및 순방향 이동의 사용자 방향에 대해 임의의 방식으로 지향될 수 있다. 그것이 북향 사용자의 벨트에 핀으로 고정된다면, 상기 자력계는 상기 디바이스가 상기 벨트에 어떻게 지향되는지에 종속하여 상기 디바이스가 상기 북쪽, 또는 남쪽, 또는 임의의 다른 방향을 가리킨다는 것을 나타낼 수 있다.
이러한 이슈를 처리하기 위해, 상기 디바이스는 상기 사용자가 마주하는 방향을 정확히 나타내도록 상기 자속계 출력에 적용될 보정률을 식별할 수 있다. 예를 들면, 상기 디바이스는 가끔의 GPS 측정들에 대한 참조에 의해 상기 사용자가 이동하는 것을 따르는 방향 벡터를 감지할 수 있다. 10초 후에, 상기 사용자의 GPS 좌표들이 위도에서 증가되지만, 경도에서 일정하게 유지된다면, 상기 사용자는 짐작컨대 북쪽으로 향하는 방향에 마주하는 동안 북쪽으로 이동한다. 상기 디바이스는 이러한 기간 동안 상기 자력계 출력을 주목할 수 있다. 상기 디바이스가, 상기 사용자가 명확하게 북쪽에 마주하는 동안, 그것의 자력계가 "동쪽"을 나타내는 방식으로 지향된다면, 90도의 보정률이 식별될 수 있다. 그 후, 상기 디바이스는 이러한 분석이 상이한 보정이 이용되어야 함을 나타낼 때까지 상기 사용자가 마주하는 방향을 결정하기 위해 상기 자력계-표시된 방향으로부터 90도 감산하는 것을 알고 있다. (이러한 기술은 광범위하게 적용가능하며, 여기에 설명된 특정 장치에 제한되지 않는다.)
물론, 이러한 방법들은 단지 걷는 것뿐만 아니라, 자전거 타기 및 다른 모드들의 교통 수단에 또한 적용가능하다.
상기 설명된 장치들이 화상이 그것이 캡처될 때 분석되고, 상기 캡처링은 상기 사용자에 의해 수행된다는 것을 가정하지만, 둘 모두 요구되지 않는다. 동일한 프로세싱이 이전 및/또는 어딘가에서 캡처된 화상(또는 오디오) 상에서 수행될 수 있다. 예를 들면, 사용자의 디바이스는 예로서, 도시 주차장에서의 공공 카메라에 의해 1시간 또는 1주 전에 캡처된 화상을 처리할 수 있다. 화상의 다른 소스들은 플리커 및 다른 이러한 공중 이미지 저장소들, 즉 유튜브 및 다른 비디오 사이트들, 상기 공중 웹을 크롤링함으로써 수집된 화상을 포함한다.
많은 사람들이 장황하고 두서없이 말이 많은 사람의 모든 발언을 듣고 있기보다는, 적절한 콘텐트를 걷어내는 바뀐 텍스트 형태로 음성 메일들을 검토하는 것을 선호한다. 유사한 방식으로, 시각적 화상의 시퀀스에 기초한 결과들이 상기 시퀀스를 캡처하는데 시간을 소요하는 것보다 더 빨리 많은 사용자에 의해 검토되고 이해될 수 있다.
도시 블록을 따라 걷는 사용자에 의해 착용된, 머리착용-장착된 카메라를 포함하는 차세대 이동 디바이스를 고려하자. 블록의 기간 동안, 상기 카메라 시스템은 20초 이상의 비디오를 수집할 수 있다. 상기 화상에 기초한 결과들을 제공하는 오버레이된 AR 프리젠테이션을 산만하게(걸으면서) 보는 대신, 상기 사용자는 보행자들 및 장애물들을 재빨리 피하는 즉각적인 태스크들에 초점을 맞출 수 있다. 한편, 상기 시스템은 캡처된 화상을 분석하고 나중 검토를 위해 결과 정보를 저장할 수 있다. (또는, 걸으면서 화상을 캡처하는 대신, 상기 사용자는 잠시 정지하고, 화상의 파노라마를 캡처하기 위해 카메라-구비된 스마트폰을 내밀어, 상기 전화기를 포켓 또는 지갑에 되돌려 놓을 수 있다.)
(상기 결과 정보는 예로서, 상기 화상에서의 오브젝트들의 식별, 이러한 오브젝트들에 관해 획득된 오디오/비디오/텍스트 정보, 시각적 자극들에 응답하여 취해진 다른 동작에 대한 데이터 등의 임의의 형태일 수 있다.)
편리한 순간에, 상기 사용자는 상기 캡처된 프레임들의 시퀀스에 기초하여 생성된 결과들을 검토하기 위해 스마트폰 스크린을 훑어볼 수 있다(또는 안경류 상의 헤드-업 디스플레이를 활성화시킬 수 있다). 이러한 검토는 단독으로 응답 정보를 프리젠테이션을 수반할 수 있고, 및/또는 각각의 응답이 기반되는 상기 캡처된 이미지들을 포함할 수 있다. (응답들이 오브젝트들에 기초하는 경우들에서, 오브젝트는 상기 시퀀스의 여러 프레임들에서 나타날 수 있다. 그러나, 상기 응답은 단지 이들 프레임들 중 하나에 대해 제공되도록 요구한다.) 상기 결과들의 검토는 표준화된 프리젠테이션으로 상기 디바이스에 의해 지휘될 수 있거나, 또는 상기 사용자에 의해 지휘될 수 있다. 후자의 경우에서, 상기 사용자는 (이미지 데이터와 연관되어 제공될 수 있거나, 그렇지 않은)상기 결과 데이터를 통해 네비게이션하도록 UI 제어를 적용할 수 있다. 하나의 UI는 상기 애플 아이폰 패밀리에 의해 대중화된 친숙한 터치 인터페이스이다. 예를 들면, 상기 사용자는 장면들의 시퀀스(예로서, 1 또는 5초, 또는 분들 떨어져 캡처된 프레임들)를 통해 스위핑할 수 있고, 각각은 부가적인 정보를 제공하기 위해 탭핑될 수 있는 오버레이된 보블들을 가진다. 또 다른 내비게이션 제어는 사용자가 이미지들의 시퀀스 및/또는 응답들의 속도를 전진시키고, 일시 정지시키거나, 또는 후진시키도록 허용하는, 어도비 프리미어와 같은 비디오 편집 제품들로부터 친숙한 그래픽 또는 물리적 셔틀 제어이다.
이러한 장치들에서, 상기 시각적 정보가 비디오 방식으로 수집되는 동안, 상기 사용자는 그것이 정적 장면 방식으로 상기 정보를 검토하기 위해 가장 유익함을 발견할 수 있다. 이들 정적 프레임들은 일반적으로 상기 사용자에 의해 선택되지만, 예를 들면, 저품질(예로서, 흐릿하거나, 또는 전경에서 장애물에 의해 가려진, 또는 많은 정보 콘텐트를 갖고 있지 않은)인 프레임들을 생략하는 것과 같이, 상기 디바이스에 의해 사전 필터링될 수 있다.
디바이스-획득된 응답들의 내비게이션은 전체 시퀀스(예로서, 각각의 이미지 프레임들, 또는 각각의 응답을 디스플레이하는)를 가로지를 필요는 없다. 몇몇 양식들은 예로서, 매 초 프레임, 또는 매 10번째, 또는 몇몇 다른 프레임 카운트 또는 시간의 간격에 대응되는 응답들(및/또는 이미지들)만을 제공하는 정보를 통해 미리 건너뛸 수 있다. 또는 상기 검토는 돌극성(saliency) 또는 콘텐트에 기초하여 미리 건너뛸 수 있다. 예를 들면, 임의의 식별된 특징 또는 대응하는 응답을 가지지 않는 시퀀스의 부분들은 전체적으로 건너뛰어질 수 있다. 하나 또는 몇 개의 식별된 특징들(또는 다른 응답 데이터)을 가진 이미지들이 짧은 간격들 동안 제공될 수 있다. 많은 식별된 특징들(또는 다른 응답 데이터)을 가진 이미지들이 보다 긴 간격 동안 제공될 수 있다. 상기 사용자 인터페이스는 상기 사용자가, 예를 들면 캠처하는데 30초가 걸린 시퀀스가 10초, 또는 20초, 또는 30초, 또는 60초 등 후에 검토될 수 있도록 상기 검토의 전체 페이스를 설정할 수 있는 제어를 제공할 수 있다. 상기 사용자 인터페이스는 또한 상기 사용자가 추가 연구 또는 상호작용을 허용하기 위해, 또는 특정한 서술된 특징에 대해 추가 분석 및 보고하도록 상기 디바이스에 요청하기 위해 임의의 검토를 일시 정지할 수 있는 제어를 제공할 수 있다. 상기 응답 정보는 상기 화상이 캡처되는 상기 순서에 대응하는 순서로, 또는 역순으로(가장 최근 것이 먼저), 또는 상기 사용자에 대해 추정된 관련성에 기초하여 순서화될 수 있는 순서로, 또는 몇몇 다른 비-발생 순서대로의 방식으로 검토될 수 있다.
이러한 상호작용들, 및 분석은 세션-기반 구성을 이용하는 것으로 간주될 수 있다. 상기 사용자는 상기 이미지 시퀀스의 중간에 검토하기 시작하고, 그것을 앞으로 또는 뒤로, 연속적으로, 또는 뛰어 가로지를 수 있다. 실시간으로 결과들을 검토하는 것과 대조하여, 이러한 세션 장치에 대한 상기 이점들 중 하나는 나중 획득된 화상이 이전-획득된 화상의 이해를 통지하는데 도울 수 있다는 것이다. 단지 하나의 예를 인용하기 위해, 사람의 얼굴이 프레임(10)에 드러날 수 있는(얼굴 인식 기술들을 사용하여 인식될 수 있는) 반면, 단지 사람의 머리의 뒷부분이 프레임(5)에 도시될 수 있다. 콜렉션으로서 상기 화상을 분석함으로써, 상기 사람은 프레임(5)에서 정확하게 라벨링될 수 있고, 상기 프레임(5) 장면의 다른 이해가 이러한 지식에 기초할 수 있다. 그에 반해서, 상면 분석이 상기 현재 및 이전 프레임들에 전적으로 기초한다면, 상기 사람은 프레임(5)에서 특색이 없을 것이다.
비전 동작들 및 관련된 개념들에 대한 보다 많은 것
은행권의 액면가를 확인하는 것과 같은 전문 태스크들에 대해, 수행되어야 하는 고-레벨 태스크들에 초점을 맞추고 상기 태스크를 수행하기 위해 활성화될 서브태스크들 및 리소스들을 고려하기 위해 증분적으로 '아래로' 떨어지는 것은 자연스러운 성향이다. 하나의 방식에서, 그것은 정확히 오른쪽으로 진행하며, 또 다른 방식에서, 단지 뒤쪽으로 진행한다.
계산적 모델이 제공자가 가장 시간 효율적이거나 또는 비용 효율적일 수 있는 것이 무엇이든지 태스크들을 '경매로 처분하는 것'에 초점을 맞추는 범위에서, 그것은 적절한 모델이다. 상기 사용자가 U.S. 은행권을 인식하기를 원하고, 외부 응찰자가 이들 요구들을 충족시킨다는 것을 발견한다면, 상기 로컬 소프트웨어는 단지 상기 응찰자가 요구하는 능력들만을 요구할 수 있다.
계산적 모델이 항상 로컬로 수행될 수 있는 특정 태스크들에 초점을 맞추는 경우에서, 그 후 모든 구성요소 기능은 상기 로컬 디바이스에서 제공될 필요가 있으며, 이것은 상향식 분석에 앞서 상기 하향식 의견을 따름으로써 아마도 최고로 행해질 수 있는 요구들의 전체 분석을 의미한다. 예를 들면, 상기 애플리케이션이 특정 해상도 및 은행권의 커버리지를 가진 이미지를 요구한다면, 상기 디바이스가 제공하는 '이미지 획득' 기능을 위해 어떤 능력들이 제안되는가?
일반적으로, 하향식 의견은 디바이스를 위한 몇몇 매우 특정한 저-레벨 특징들 및 능력들을 제공한다. 이 점에서, 그것은 브레인스토밍에 다소 유용하다. 이것들은 어떤 보다 유용한 특징들 또는 능력들을 제안하는가? 일단 이러한 일반적으로 유용한 아이템들의 리스트가 컴파일링되면, 그 후 그것들을 표현하는 방법 및 (일부에 대해) 그것들의 메모리 요건들을 최소화하는 방법에 대한 고려사항이 제공될 수 있다.
코멘트로서, 유닉스는 중간 저장을 최소화할 수 있는 "필터 체인들"을 길게 사용해왔다. 변환들의 시퀀스가 요구된다면, 연쇄가능한 "필터들"이 각각의 단계를 위해 제공된다. 예를 들면, 변환(A->B)은 사실상 시퀀스: A | op1 | op2 | op3 >B이다. 각각의 단계가 하나의 아이템을 동일하거나 또는 유사한 크기의 새로운 아이템에 넣는다면, 그리고, A가 여전히 결국에 이용가능하다는 것을 가정하면, 상기 메모리 요건은 크기(A) + 크기(B) + 2개의 버퍼들이며, 여기서 각각의 버퍼는 통상적으로 전체 오브젝트 크기보다 훨씬 더 작으며 상기 동작이 완료할 때 할당해제된다. 복잡한 로컬 변환들이 예를 들면 이러한 방식으로 몇몇 매우 단순한 로컬 동작들을 결합함으로써 획득될 수 있다.
적어도 몇몇 애플리케이션들은 입력으로서 짧은 이미지 시퀀스들을 갖고 자연스럽게 상상된다. 시스템 설계는 짧은, 아마도 고정된 길이(예로서, 3 또는 4, 또는 40개의 프레임들) 이미지 시퀀스 버퍼를 제공함으로써 이러한 아이디어를 지원할 수 있으며, 이것은 모든 이미지 획득 동작의 목적지이다. 변화하는 애플리케이션 요건들은 상기 버퍼들에 기록하는 다양한 방식들 - 하나 이상의 새로운 이미지들이 FIFO에 삽입됨; 하나 이상의 새로운 이미지들이 필터들(최소, 최대, 평균, ...)을 통해 결합되고, 그 후 FIFO에 삽입됨; 하나 이상의 새로운 이미지들이 필터들을 통해 대응하는 현재 버퍼 요소들과 결합되고, 그 후 삽입된다 등을 제공함으로써 지원될 수 있다.
이미지 시퀀스가 특정 방식으로 채워진 고정된-크기의 버퍼에 의해 표현된다면, 시퀀스로부터 이미지를 추출하는 것은 상기 버퍼로부터 이미지를 추출함으로써 교체될 것이다. 각각의 이러한 추출은 상기 버퍼로부터 이미지들의 세트를 선택하고 상기 추출된 이미지를 형성하기 위해 필터들을 통해 그것들을 결합할 수 있다. 추출 후, 상기 버퍼는 변경될 수 없으며, 제거된 하나 이상의 이미지들을 갖거나 또는 기본 이미지 동작에 의해 업데이트된 그것의 이미지들의 일부를 가질 수 있다.
패턴 인식에 일반적으로 사용되는 적어도 3개의 유형들의 이미지들의 서브영역들이 존재한다. 보통 포인트들의 리스트 또는 로우 단편들로서, 온전한 그것들의 지리학적 관계들을 가진, 추출된 포인트들의 세트가 가장 일반적이다. 다음은 아마도 연속하는 로우 단편들의 리스트로서 상기 이미지의 연결된 부분이다. 마지막은 아마도 상기 이미지 내의 오프셋 및 픽셀 값들의 어레이로서, 직사각형 서브-이미지이다.
지원하기 위해 이들 특징 유형들 중 하나 이상을 결정할 때, 표현이 효율성 또는 보편성을 위해 선택되며, 예를 들면, 이미지 어딘가에 위치된 "1-d" 커브는 단지 픽셀들의 시퀀스이며 따라서 블랍의 유형이다. 따라서, 양쪽 모두는 동일한 표현을 사용할 수 있으며, 이런 이유로 모두 동일한 지원 기능들(메모리 관리 등)을 사용할 수 있다.
일단 표현이 선택되면, 임의의 블랍 '추출'은 단일의 2-단계 동작일 수 있다. 첫 번째: 상기 블랍 '몸체'를 정의하고, 두 번째: 상기 이미지로부터의 픽셀 값들을 그것들의 대응하는 블랍 위치들로 카피한다. (이것은 '필터' 동작일 수 있으며, 정적 이미지에 적용가능할 뿐만 아니라 이미지에서 결과로 발생된 임의의 시퀀스의 필터 ops를 따를 수 있다.)
심지어 이미지들에 대해, 처리하기 위한 "경매" 프로세스는 내부 포맷으로부터 적절한 외부 포맷으로 또는 그 역으로 변환하기 위해 이용가능한 동작들을 갖는 것을 포함할 수 있다. 블랍들 및 다른 특징들을 위해, 매우 다양한 포맷 변환들이 지원될 수 있다.
아마도 상기 설명된 장치들에서 구동할 수 있는 애플리케이션들의 특징으로 리턴하기 위해 이미지 프로세싱 또는 컴퓨터 비전 패키지, 및 수반된 상기 (이례적인) 제약들 및 자유들의 "정상적인" 논의로부터 약간 벗어나는 것이 유용하다.
예를 들면, 몇몇 태스크들이 직접적인 사용자 동작에 의해 '트리거'될 것이지만, 다른 것들이 간단하게 시작되고 적절할 때 스스로를 트리거하도록 예상된다. 즉, 사용자는 주차장에서의 스마트폰을 겨냥할 수 있고 '나의 자동차 찾기' 애플리케이션을 트리거할 수 있으며, 이것은 이미지를 스냅하고 그것을 분석하려고 노력할 것이다. 아마도, 상기 사용자는 상기 앱을 트리거하기를 선호할 것이며, 그 후 상기 주차장을 배회하며, 상기 디바이스가 상기 자동차가 식별되었음을 시그널링할 때까지 카메라로 보여줄 것이다. 상기 디스플레이는 그 후 상기 자동차가 하이라이트된, 상기 사용자의 현재 위치로부터 캡처된 이미지를 제공할 수 있다.
이러한 애플리케이션이 대중적이게 될 수 있거나 또는 그렇지 않을 수 있지만, 그것은 많은 것이 이미지들이 획득되고, 샘플링되며, 타겟의 있음직한 존재를 위해 검사되는 처리 루프들을 포함할 것이며, 그 검출은 보다 많은 계산 전력을 상기 후보 이미지와 관련되도록 가져올 '실제' 애플리케이션을 트리거할 가능성이 높다. 상기 프로세스는 상기 앱 및 사용자가 그것이 성공적일 때까지 계속될 것이며, 또는 성공의 명백한 결여가 상기 사용자로 하여금 그것을 종료하게 한다. 바람직하게는, 상기 '잠정적인 검출' 루프는 단지 그것들이 유용할 수 있다는 희망에 대한 이유가 존재할 때 호출되는 임의의 외부 리소스들을 갖고, 카메라상에서 단독으로 구동할 수 있어야 한다.
애플리케이션의 또 다른 유형은 오브젝트를 추적하기 위한 것일 것이다. 여기에서, 알려진 유형의 오브젝트가 위치될 때(어떻게 하든지), 그 후 이미지들의 연속이 획득되며, 상기 오브젝트의 새로운 위치는 상기 애플리케이션이 종료될 때까지, 또는 상기 오브젝트를 잃어버릴 때까지 결정되고 표시된다. 이러한 경우에, 하나는 상기 오브젝트를 초기에 위치시키기 위해 외부 리소스들을 사용할 수 있으며, 검출되는 특정 인스턴스에 대해 알려진 검출 패턴을 전문화하기 위해 그것들을 사용할 가능성이 매우 높지만, 상기 새로운 패턴 인스턴스를 사용하는, 뒤이은 '추적' 앱이 바람직하게는 도움을 받지 않는 상기 전화기 상에서 작동한다. (아마도, 이러한 애플리케이션은 운동장에서 아이를 조심시키는데 도움이 될 것이다.)
몇몇 애플리케이션들에서, 상기 패턴 인식 태스크는 매우 조잡할 수 있으며, 프레임들의 시퀀스에서 파란색 천 조각(예로서, 스웨터)을 추적하는 반면, 다른 것들에서 그것은 예로서, 은행권에 배서하는 것과 같이, 매우 복잡할 수 있다. 상기 언급된 두 개와 같이, 매우 작은 수의 제어 루프들이 매우 많은 단순한 애플리케이션들을 위해 적합할 것일 가능성이 높다. 그것들은 상기 추출된 특징들, 상기 이용된 패턴-매칭 기술, 및 (만약 있다면) 의존된 외부 리소스들의 특성에서 상이할 것이다.
표시된 바와 같이, 적어도 몇 개의 패턴 인식 애플리케이션들은 기본적인 이동 디바이스 상에서 기본적으로 작동할 수 있다. 모든 패턴 인식 방법들이 이러한 제한된 플랫폼들을 위해 적합한 것은 아닐 것이다. 가능성들은, 특히 매우 작은 템플릿을 가진 단순한 템플릿 매칭, 또는 매우 작은 요소들을 사용한 합성 템플릿; 상기 검출된 파라미터들을 위한 보통의 선명도 요건들을 가진 허프-스타일 매칭; 및 중립-네트 검출을 포함할 수 있다. 상기 네트를 교육시키는 것은 아마도 외부 리소스들을 요구할 것이지만, 그것을 이용하는 것은 특히 DSP 또는 그래픽스 칩이 이용될 수 있다면 국소적으로 행해질 수 있음을 주의하자. 큰 데이터-베이스 검색을 이용하고 또한 계산적으로 집중적인(예로서, N-공간 최근접-이웃) 임의의 검출 기술은 아마도 외부 리소스들을 사용하여 최상으로 수행된다.
몇몇 패턴 인식 방법들의 실현가능성은 애플리케이션의 요청시 부동 소수점 연산들을 수행하기 위한 상기 플랫폼의 능력에 의존한다.
이것은 자유들 및 제약들을 이끈다. 자유들은 근처의 통신 디바이스 상에 있는지 또는 클라우드(예로서, 인터넷 경매로부터 기인하는)에 있는지 상관없이 오프-디바이스 리소스들을 사용하기 위해 태스크들의 능력을 포함할 수 있다. 이것들은 가능하게는 상기 디바이스 상에서 구동할 수 없는 애플리케이션들이 그렇게 하는 것처럼 보이도록 허용할 수 있다.
제약들은 상기 플랫폼에 의해 부여된 것들을 포함한다 : 제한된 CPU 전력, 제한된 이용가능한 메모리, 및 예를 들면 전화기 호출이 이루어지는 동안 비교적 낮은-우선순위 태스크로서 이따금 진행하기 위한 요구. 후자의 제한은 이용가능한 메모리가 단지 제한될 수 있을 뿐만 아니라 이따금 감소될 수 있으며, 그 후 다시 더 많이 이용가능해진다는 것을 의미할 수 있다.
속도가 또한 일반적으로 메모리를 가진 긴장 상태에서의 제약이다. 즉각적인 응답에 대한 바람은 메모리 천장에 대하여 심지어 일상적인 애플리케이션들을 늘릴 수 있다.
특징 표현들에 관하여, 메모리 제한들은 값들의 분명한 어레이보다는(가능한 파라미터들의 수에 비례하는 메모리 요건), 순서화된 요소들의 리스트(엔트리들의 수에 비례하는 메모리 요건)를 유지하게 할 수 있다. 동작 시퀀스들은 전체 중간 이미지들보다는 최소 버퍼들(상기 언급된 바와 같이)을 사용할 수 있다. 이미지들의 긴 시퀀스는 하나 이상의 평균된 결과들과 함께 짧은 실제 시퀀스에 의해 '위조'될 수 있다.
캐니 에지 연산자들과 같이, 몇몇 '표준' 이미징 시퀀스들은 공통 사용을 위해 너무 리소스-집중적일 수 있다. 그러나, 스마트폰 앱들이 점점 더 이용하는 연산인, FFT 프로세싱이 대략 동일할 수 있다.
이러한 콘텍스트 내에서, 다음의 개요는 상기 로컬 디바이스의 레퍼토리에 포함될 수 있는 연산들의 클래스들을 설명한다.
I. 태스크-관련 연산들
A. 관련 이미지
i. 이미지 시퀀스 연산들
a) 상기 시퀀스로부터 이미지를 추출함
b) 시퀀서 범위로부터 이미지를 생성함
c) 시퀀스를 통해 특징 또는 ROI를 추적함
ii. 이미지 변환
a) 점별 리매핑
b) 아핀 변환(affine transformation)
c) 로컬 연산: 예로서, 에지, 로컬 평균, ...
d) FFT, 또는 관련된
iii. 이미지로부터의 시각적 특징 추출
a) 2D 특징들
b) 1D 특징들
c) 3D-스러운 특징들
d) 전체 이미지 -> ROI의 리스트
e) 비로컬 특징들(컬러 히스토그램, ...)
f) 스케일, 회전-변함없는 강도 특징들
iv. 특징 조작
a) 2D 특징들로부터의 2D 특징들
b) 1D 대 1D 등
c) 2D 특징들로부터의 1D 특징들
v. UI-이미지 피드백(예로서, 이미지상에서의 태그-관련된 심볼들을 오버레이함)
B. 패턴 인식
i. 특징 세트들의 세트로부터 패턴을 추출함
ii. 태그들과 시퀀스들, 이미지들, 또는 특징을 연관시킴
iii. 특징 세트로부터 태그 또는 태그 세트를 '인식함'
iv. '인식된' 태그들의 보다 간단한 세트로부터 합성 또는 복잡한 태그를 '인식함'
C. 앱-관련 통신
i. 시스템 상태로부터 필요한 함수들의 리스트를 추출함
ii. 경매 입찰들을 위한 요청을 방송 - 응답들을 수집함
iii. 정제된 데이터를 전송하고, 아웃소스들 결과들을 수신함
II. 동작 관련 연산들(많은 것이 이미 기본 시스템 동작들 가운데 존재할 것이다)
i. 시스템 함수를 활성화시킴/비활성화시킴
ii. 시스템 메시지를 생성함/소비함
iii. 상기 시스템 상태를 검출함
iv. 시스템을 새로운 상태로 전이시킴
v. 보유 중인, 활성인, 및 완료된 동작들의 큐들을 유지함
링크된 데이터
본 기술의 또 다른 양상에 따르면, (예로서, 링크된 데이터와 관련되어) 데이터 및 리소스들의 웹 2.0 개념들은 유형의 오브젝트들 및/또는 관련된 키벡터 데이터, 및 연관된 정보를 갖고 사용된다.
링크된 데이터는 웹상에서 역-참조가능한 URI를 통해 데이터를 노출시키고, 공유하며 접속하기 위한 팀 버너스-리 경에 의해 장려된 장치들을 나타낸다. (예로서, 팀 버너스 리, 링크된 데이터, www.w3.org/DesignIssues/LinkedData.html.)
간단하게는, URI들은 유형의 오브젝트들 및 연관된 데이터 오브젝트들을 식별하기 위해 사용된다. 이들 오브젝트들이 사람들 및 사용자 에이전튿르에 의해 참조되고 검색("역-참조된")될 수 있도록 HTTP URI들이 사용된다. 유형의 오브젝트가 역-참조될 때, 상기 유형의 오브젝트에 관한 유용한 정보(예로서, 구조화된 메타데이터)가 제공된다. 이러한 유용한 정보는 바람직하게는 다른 관련된 정보 및 유형의 오브젝트들의 발견을 개선하기 위해 다른, 관련된 URI들에 대한 링크들을 포함한다.
RDF(리소스 설명 프레임워크)는 일반적으로 리소스들에 관한 정보를 표현하기 위해 사용된다. RDF는 서브젝트, 술부, 및 오브젝트로 이루어진 다수의 트리플들로서 리소스(예로서, 유형의 오브젝트)를 설명한다. 이들 트리플들은 때때로 주장들로 칭하여진다.
상기 트리플의 대상은 상기 설명된 리소스를 식별하는 URI이다. 상기 술부는 어던 종류의 관게가 상기 대상 및 오브젝트 간에 존재하는지를 나타낸다. 상기 술부는 통상적으로 특정 도메인에 관한 표준화된 용어로부터 잘 그려진 URI이다. 상기 오브젝트는 문자 그대로의 값(예로서, 명칭 또는 형용사)일 수 있거나, 또는 그것은 어떻게든 상기 대상에 관련되는 또 다른 리소스의 URI일 수 있다.
상이한 지식 표현 언어들이 유형의 오브젝트들, 및 연관된 데이터에 관한 온톨로지들을 표현하기 위해 사용될 수 있다. 상기 웹 온톨로지 언어(OWL)는 하나이며, RDF 방식들과의 호환성을 제공하는 시맨틱 모델을 사용한다. SPARQL은 질의가 결합들, 분리들, 및 선택적 패턴들과 함께, 트리플 패턴들로 이루어지도록 허용하는 RDF 표현들을 갖고 사용하기 위한 질의 언어이다.
본 기술의 이러한 양태에 따라, 이동 디바이스들에 의해 캡처되고 생성된 데이터의 아이템들은 각각 할당된 고유하고 일관된 식별자이다. 이들 데이터는 기본적인 키벡터들, 분할된 형상들, 인식된 오브젝트들, 이들 아이템들에 대해 획득된 정보 등을 포함한다. 이들 데이터의 각각은 클라우드-기반 등록 시스템에 등록되며, 이것은 또한 관련 라우팅 함수를 지원한다. (상기 데이터 오브젝트들 스스로는 또한 장기 저장을 위해 상기 클라우드에 강요될 수 있다.) 상기 데이터에 관한 관련 주장들은 상기 이동 디바이스로부터의 등록에 제공된다. 따라서, 상기 로컬 디바이스에 알려진 각각의 데이터 오브젝트는 상기 클라우드에서 데이터를 통해 예시된다.
사용자는 화상을 캡처하는 카메라를 스위핑할 수 있다. 이러한 동작을 통해 수집되고, 처리되고, 및/또는 식별된 모든 오브젝트들(및 관련 데이터)은 식별자들을 할당받고 상기 클라우드에 지속된다. 하루 또는 1년 후, 또 다른 사용자는 이러한 오브젝트들에 대해 주장할 수 있다(예로서, 트기가 흰색 오크이다 등). 심지어 특정 시간에 특정 장소에서의 빠른 카메라의 흘끗 봄은 상기 클라우드에서 무기한으로 기념된다. 이러한 기본적인 클라우드-기반 형태에서 이러한 콘텐트는 협력을 위한 조직 구성물일 수 있다.
상기 데이터의 네이밍은 상기 클라우드-기반 시스템에 의해 할당받을 수 있다. (상기 클라우드 기반 시스템은 비록된 이동 디바이스로 할당받은 명칭을 보고할 수 있다.) 상기 이동 디바이스에 알려진 것으로서 상기 데이터를 식별하는 정보(예로서, 상기 언급된 클럼프 ID, 또는 UID)가 상기 클라우드-기반 레지스트리에 제공될 수 있고 상기 데이터에 관한 또 다른 주장으로서 상기 클라우드에 기념될 수 있다.
클라우드-기반 레지스트리에 의해 유지된 데이터의 부분 도면은 다음을 포함할 수 있다.
Figure pct00005
따라서, 이러한 양태에서, 상기 이동 디바이스는 상기 클라우드-기반 레지스트리가 상기 이동 디바이스 프로세스들의 각각에 대해 및/또는 그것의 카메라의 시야에서 발견된 각각의 물리적 오브젝트 또는 특징에 대해 복수의 소프트웨어 오브젝트들(예로서, RDF 트리플들)을 예시하도록 허용하는 데이터를 제공한다. 다수의 주장들이 각각에 대해 이루어질 수 있다(나는 캐니 데이터이다; 나는 특정 장소 및 시간에 캡처된 화상에 기초한다; 나는 위도(X), 경도(/Y) 등으로부터 북쪽을 보느 가시적인 고도로 가공된 파란색의 오브젝트이다.).
중요하게는, 이들 속성들은 이용가능한 이미지 데이터 및 콘텍스트 단독으로부터 사용자의 디바이스에 의해 식별가능하지 않은 새로운 정보의 획득 및 발견을 허용하는, 다른 디바이스들에 의해 게시된 데이터와 링크될 수 있다.
예를 들면, 존의 전화기는 형상을 빌딩으로서 인식할 수 있지만, 그것의 거리 주소를 식별하거나 그것의 세입자들을 알 수 없다. 그러나, 제인은 상기 건물에서 일할 수 있다. 그녀의 특정한 콘텍스트 및 이력으로 인해, 빌딩-관련된 이미지 데이터와 관련되어 상기 레지스트리에 이전 제공된 그녀의 전화기는 그것의 주소 및 몇몇 세입자들에 대한 정보를 포함하여 상기 건물에 관한 정보에서 풍부해질 수 있다. 지리학적 위치 정보 및 형상 정보에서의 유사성들에 의해, 제인의 전화기가 정보를 제공받은 건물은 존의 전화기가 정보를 제공받은 동일한 건물일 가능성이 높은 것으로 식별될 수 있다. (새로운 주장은 존의 것과 제인의 빌딩 주장들을 명확하게 관련시키는 상기 클라우드 레지스트리에 부가될 수 있으며, 그 역 또한 마찬가지이다.) 존의 전화기가 그렇게 하도록 상기 레지스트리를 요청한다면(및 적절한 프라이버시 보호장치들이 허용한다면), 상기 레지스트리는 제인의 전화기에 의해 제공된 상기 빌딩에 관한 주장들을 존의 전화기에 전송할 수 있다. 여기에서 작동하는 근본적인 메커니즘은 중재된 크라우드-소싱으로서 간주될 수 있으며, 여기에서 주장들은 참여자들이 또한 가입하는 정책 및 비즈니스-규칙 프레임워크 내에서 생성된다.
그것들과 연관된 풍부한 세트의 주장들을 가진 위치들(예로서, 장소에 의해, 및 선택적으로 또한 시간에 의해 결정된)은 새로운 발견 경험들을 제공한다. 이동 디바이스는 상기 링크된 데이터, 또는 다른 데이터 저장소 내에 검색 또는 발견 경험을 시작하는 엔트리 포인트로서 GPS 위치 및 현재 시간과 같은 단순한 주장을 제공할 수 있다.
그것은 또한 상기 클라우드에서의 주장들의 액세스 또는 내비게이션이 상기 이동 디바이스 상의 센서들에 의해 영향을 받을 수 있음을 주의해야 한다. 예를 들면, 존은 단지 그가 GPS 또는 다른 센서들(예로서, 10m, 30m, 100m, 300m 등)에 의해 결정된 바와 같이 상기 빌딩의 특정 근접성 내에 있는 경우에만 상기 빌딩에 관한 제인의 주장들에 링크하도록 허용될 수 있다. 이것은 또한 존이 정지하거나 또는 GPS, 가속도계들, 또는 다른 센서들(예로서, 분당 100 피트 또는 300 피트보다 적은)에 의해 결정된 바와 같이 걷기 페이스로 이동할 필요가 있는 경우에 제한될 수 있다. 상기 이동 디바이스에서 센서들로부터의 데이터에 기초한 이러한 제약들은 원치 않거나 또는 덜 적절한 주장들(예로서, 광고와 같은 스팸)을 감소시킬 수 있고, 데이터의 원격 또는 주행중인 차량에 의한(또는 상공을 나는) 마이닝에 대해 몇몇 보안을 제공한다. (다양한 장치들이 GPS 또는 다른 센서 데이터의 도용과 싸우기 위해 이용될 수 있다.)
유사하게는, 상기 클라우드에 저장된 주장들이, 상기 두 개의 수반된 당사자들이 지리학적 위치, 시간, 소셜 네트워크 연결 등에서의 근접성과 같이, 몇몇 특성을 공유할 대만 액세스될 수 있다(또는 대상들에 대한 새로운 주장들이 이루어질 수 있다)(후자는 존이 예로서 친구들로서, 제인에 사회적으로 링크됨을 보여주는, 페이스북 또는 링크드인과 같은 소셜 네트워크 데이터 저장소에 대한 참조에 의해 입증될 수 있다.) 지리학적 위치 및 시간 평행인 사회적 관습들의 이러한 사용, 즉 큰 그룹들의 사람이 모일 때, 상기 그룹의 멤버들이 공통 관심사, 특성 등을 갖는 높은 가능성이 존재하기 때문에, 발생하는 자발적인 상호작용이 가치가 있을 수 있다. 액세스, 및 게시에 대한 능력, 주장들, 및 다른 것들의 존재에 기초한 새로운 발견 경험들의 가능이 이러한 모델을 따른다.
위치는 이미지 데이터의 세트들이 관련되는 빈번한 실마리이다. 다른 것들이 또한 사용될 수 있다.
코끼리 연구가를 고려하자. 알려진 코끼리들(예로서, 보존 중인)이 흔히 명명되고, 얼굴 특징들(흉터들, 주름들 및 상아들을 포함하는)에 의해 식별된다. 상기 연구가의 스마트폰은 코끼리에 대한 얼굴 특징 벡터들을 코끼리의 이름과 얼굴 벡터들을 연관시키기 위해 존재하는 대학 데이터베이스에 제출할 수 있다. 그러나, 이러한 얼굴 벡터 정보가 상기 클라우드-기반 레지스트리에 제출될 때, 보다 많은 정보, 예로서 이전 목격들의 날짜들 및 위치들, 상기 코끼리를 본 다른 연구가들 의 이름들 등이 누설될 수 있다. 다시, 일단 데이터 세트들 간의 관련성이 식별된다면., 이러한 사실은 상기 레지스트리로의 추가 주장들의 부가에 의해 기념될 수 있다.
이동 디바이스들의 카메라들, 마이크로폰들, 및 다른 센서들에 의해 감지된 자극들에 대한 이러한 클라우드-기반 저장소들이 특히, 다른 링크된 데이터 시스템들에서의 정보와 연관될 때(그 몇몇이 linkeddata.org에서 설명된다), 전역적으로 유용한 정보의 막대한 저장들을 빠르게 포함할 수 있다는 것이 인식될 것이다. 상기 저장된 주장들에 의해 표현된 이해가 그 디바이스들이 이러한 정보에 기여하는 개개의 사용자들의 프로파일들 및 히스토리들을 부분적으로 반영하기 때문에, 지식 베이스가 특히 풍부하다. (웹의 구글의 인덱스는 비교에 의해 작게 보일 수 있다.)
(유형의 오브젝트들의 식별과 관련되어, 잠재적으로 유용한 용어는 진보된 지식 기술들(Advanced Knowledge Technologies; AKT) 온톨로지이다. 그것은 그것의 최상위 레벨로서, 두 개의 서브 클래스들, 즉 "유형의-사물' 및 "무형의-사물"인 상기 클래스 "사물"을 가진다. "유형의-사물"은 소프트웨어부터 원자보다 작은 입자들까지의 모든 것, 실제 및 가상(예로서, 미키 마우스의 차) 모두를 포함한다. "유형의-사물"은 "위치", "지리학적-영역", "사람", "교통수단-디바이스", 및 "정보-베어링-오브젝트"를 포함하는 서브클래스들을 가진다. 이러한 용어는 본 기술과 관련되어 접해질 것으로 예상된 오브젝트들에 대한 식별을 제공하도록 확대될 수 있다.
증강된 공간
본 기술의 하나의 애플리케이션은 밤 하늘에 관한 화상(실제 또는 합성)에 대한 정보를 제공하는 함수이다.
사용자는 하늘의 특정 포인트에서 스마트폰을 가리킬 수 있으며, 이미지를 캡처할 수 있다. 상기 이미지 자체는 작은 핸드헬드 이미징 디바이스에서 별빛을 캡처하는 어려움들로 인해, 스크린상의 프리젠테이션을 위해 사용될 수 없다. 그러나, 지리학적 위치, 자력계, 및 가속도계 데이터는 상기 사용자가 카메라를 가리키는 위치 및 방향을 표시하도록 샘플링될 수 있다. 구글 스카이 프로젝트(구글 어스 인터페이스를 통해 이용가능한)와 같이, 밤 하늘 데이터베이스가 상기 키의 부분에 대응하는 데이터를 얻기 위해 참조될 수 있다. 상기 스마트폰 프로세서는 그 후 예로서, 구글 서비스로부터 직접 상기 스크린상에서 이러한 데이터를 재생할 수 있다. 또는 그것은 상기 하늘의 가리켜진 부분에서의 별들의 위치들에 대응하는 상기 스크린상의 위치들에서 아이콘들, 보블들, 또는 다른 그래픽 인덱스들을 오버레이할 수 있다. 그리스어(및/또는 인도어, 중국어 등) 성좌를 나타내는 라인들이 상기 스크린상에 그려질 수 있다.
비록 별들 스스로가 상기 카메라에 의해 캡처된 화상에서 가시적일 수 없지만, 다른 로컬 특징들이 분명할 수 있다(나무, 집들 등. 별 및 성좌 데이터(아이콘들, 라인들, 이름들)는 상기 별들이 상기 가시적인 환경들에 대해 위치되는 것을 보여주는 이러한 실제 화상의 꼭대기에 디스플레이될 수 있다. 이러한 애플리케이션은 또한 예로서 상기 사용자가 상기 디스플레이된 시청 시간(상기 별 위치들이 대응하는)을 앞뒤로 변경하도록 허용하는 슬라이더 제어를 갖고 그것들의 명백한 아크들을 통해 별들 등을 이동시키기 위한 공급을 포함할 수 있다. 따라서 상기 사용자는 북극성이 오늘 저녁 특정 시간에서 특정 나무 뒤로부터 오를 것임을 발견할 수 있다.
다른 코멘트들
본 명세서가 상기 양수인의 이전 특허 출원에 대한 그것의 관계를 이전에 언급하엿지만, 그것은 반복할 것이 못된다. 이들 개시들은 일제히 판독되고 전체로서 해석되어야 한다. 출원인들은 각각의 개시에서의 특징들이 다른 것들에서의 특징들과 결합되는 것을 의도한다. 따라서, 예를 들면, 본 명세서에 기술된 상기 장치들 및 세부사항들은 공개된 특허 출원들(US20100119208 및 US20100205628)에 기술된 상기 시스템들 및 방법들의 변형 구현들에서 사용될 수 있는 반면, 상기 특허 출원들의 상기 장치들 및 세부사항들은 본 명세서에 기술된 상기 시스템들 및 방법들의 변형 구현들에서 사용될 수 있다. 상기 다른 언급된 문서들에 대해서도 유사하다. 따라서, 그것은 본 출원에 개시된 상기 방법들, 요소들, 및 개념들이 상기 관련된 출원들에 설명된 상기 방법들, 요소들 및 개념들과 결합된다는 것이 이해되어야 한다. 몇몇은 본 명세서에서 특히 상세히 설명되지만, 많은 수의 순열들 및 결합들로 인해 다수가 그렇지는 않다. 그러나, 모든 이러한 결합들의 구현은 상기 제공된 교시들로부터 기술자에게 간단하다.
예시된 특징들 및 예들을 참조하여 우리의 독창적인 작업의 원리들을 설명하고 예시하므로, 상기 기술은 그렇게 제한되지 않음이 인식될 것이다.
예를 들면, 참조가 스마트폰들과 같은 이동 디바이스들에 대해 이루어졌지만, 그것은 이것이 모든 방식의 디바이스들 - 이동식 및 고정된 것 모두 -을 가진 유틸리티를 찾아냄을 인식할 것이다. PDA들, 오거나이저들, 휴대용 음악 플레이어들, 데스크탑 컴퓨터들, 랩탑 컴퓨터들, 타블릿 컴퓨터들, 넷북들, 울트라포터블들, 착용가능한 컴퓨터들, 서버들 등이 여기에 설명된 상기 원리들을 모두 사용할 수 있다. 특히 고려된 스마트폰들은 애플 아이폰, 및 구글의 안드로이드 규격을 따르는 스마트폰들(예로서, HTC 코포레이션에 의한 T-모바일을 위해 제조된 G1 폰, 상기 모토롤라 드로이드 폰, 및 상기 구글 넥서스 폰)을 포함한다. 상기 용어 "스마트폰"(또는 "셀 전화기")은 심지어 엄밀히 말해 셀룰러도 전화기들도 아니지만, 모든 이러한 디바이스들을 포함하는 것으로 해석되어야 한다.
(그것의 터치 인터페이스를 포함하는 상기 아이폰의 세부사항들은 애플의 공개된 특허 출원 제20080174570호에 제공된다.)
유사하게는, 이러한 기술은 또한 증강 현실(AR) 안경들과 같이, 얼굴에 착용된 장치를 사용하여 구현될 수 있다. 이러한 안경들은 컴퓨터 정보가 상기 사용자에 의해 시청될 수 있는 디스플레이 기술을 포함한다 - 상기 사용자 앞의 장면 상에 오버레이되거나 또는 상기 장면을 차단하는. 가상 현실 고글들이 이러한 장치의 일 예이다. 대표적인 기술이 특허 문서들(제7,397,607호 및 제20050195128호)에 상세히 설명된다. 상업적 오퍼링은 Vuzix iWear VR920, Naturalpoint Trackir 5, 및 ezGear에 의한 ezVision X4 비디오 안경을 포함한다. 곧 있을 대안은 AR 콘텍스 렌즈들이다. 이러한 기술은 예로서, 특허 문서 제20090189830호 및 2009년 9월, IEEE 스펙트럼, Parviz의 콘텍트 렌즈에서의 증강 현실에서 설명된다. 이러한 디바이스들의 일부 또는 모두가 다른 컴퓨팅 디바이스들(상기 사용자에 의해 전달되고, 기타)과 예로서 무선으로 통신할 수 있거나, 또는 그것들은 자립적 프로세싱 능력을 포함할 수 있다. 마찬가지로, 그것들은 전자 나침반, 가속도계, 카메라(들), 프로젝터(들), GPS 등을 포함하여, 기존의 스마트폰들 및 특허 문서들로부터 알려진 다른 특징들을 포함할 수 있다.
상기 설명된 기술은 보블들에 대해 빈번하게 참조하지만, 사이 설명된 장치들에서 보블들의 목적을 반드시 서비스하는 것은 아닌 다른 그래픽 아이콘들이 예로서 사용자 인터페이스들과 관련되어 이용될 수 있다.
상기 명세서는 장황성 제어, 득접 장치들 등과 같이, 상기 사용자의 스크린상에 위치된 상기 보블들을 제한하기 위한 다양한 장치들을 설명하였다. 몇몇 실시예들에서, 그것은 프로그램가능하지 않고, 고정된 제약(예로서, 30개의 보블들)을 제공하도록 도움을 주며, 따라서 서비스 공격의 바이러스-기반 거부가 쓸모없는 인터페이스를 렌더링하는 포인트까지, 보블들을 가진 상기 스크린을 압도하는 것으로부터 방지하도록 한다.
본 명세서에 기술된 바와 같이 보블들이 일반적으로 이미지 특징들과 가장 연관되지만, 그것들은 또한 다른 목적들을 서비스할 수 있다. 예를 들면, 그것들은 어떤 태스크들이 현재 동작하고 있는지를 사용자에게 표시할 수 있고 다른 상태 정보를 제공할 수 있다.
본 개시에 참조된 스마트폰들 및 다른 컴퓨터 디바이스들의 설계가 상기 기술자에게 친숙하다. 일반적인 용어로, 각각은 하나 이상의 프로세서들(예로서, 인텔, AMD 또는 ARM 종류의), 하나 이상의 메모리들(예로서, RAM), 저장장치(예로서, 디스크 또는 플래시 메모리), 사용자 인터페이스(예로서, 그래픽 사용자 인터페이스를 제공하기 위하나 소프트웨어 명령들과 함께, 키보드, TFT LCD 또는 OLED 디스플레이 스크린, 터치 또는 다른 제스처 센서들, 카메라 또는 다른 광학 센서, 나침반 센서, 3D 자력계, 3-축 가속도계, 마이크로 폰 등을 포함할 수 있는), 이들 요소들 간의 상호연결들(예로서, 버스들), 및 다른 디바이스들과 통신하기 위한 인터페이스(GSM, CDMA, W-CDMA, CDMA2000, TDMA, EV-DO, HSDPA, WiFi, WiMax, 메쉬 네트워크들, 지그비 및 다른 802.15 장치들, 또는 블루투스와 같은 무선, 및/또는 이더넷 로컬 영역 네트워크, T-1 인터넷 접속 등을 통해서와 같이 유선일 수 있는)를 포함한다.
보다 일반적으로, 본 명세서에 설명된 상기 프로세스들 및 시스템 구성요소들은 마이크로프로세서들, 그래픽스 프로세싱 유닛들(nVidia Tegra APX 2600과 같은 GPU들), 디지털 신호 프로세서들(예로서, 텍사스 인스트루먼츠 TMS320 시리즈 디바이스들) 등을 포함하는 다양한 프로그램가능한 프로세서들을 위한 범용 프로세서 명령들을 포함하는, 컴퓨팅 디바이스들을 위한 명령들로서 구현될 수 있다. 이들 명령들은 소프트웨어, 펌웨어 등으로서 구현될 수 있다. 이들 명령들은 또한 프로그램가능한 로직 디바이스들, FPGA들(예로서, Xilinx Virtex 시리즈 디바이스들), FPOA들(예로서, 피코칩 브랜드 디바이스들), 및 디지털, 아날로그 및 혼합된 아날로그/디지털 회로를 포함하는 애플리케이션 특정 회로들을 포함하는 프로세서 회로의 다양한 형태들로 구현될 수 있다. 상기 명령들의 실행은 프로세서들 가운데 분배도리 수 있고 및/또는 디바이스 내의 프로세서들을 가로질러 또는 디바이스들의 네트워크를 가로질러 병렬로 이루어질 수 있다. 콘텐트 신호 데이터의 변환은 또한 상이한 프로세서 및 메모리 디바이스들 가운데 분배될 수 있다. "프로세서들" 또는 "모듈들"(푸리에 변환 프로세서 또는 FFT 모듈 등)에 대한 참조는 특정 형태의 구현을 요구하기보다는, 기능을 나타내는 것으로 이해되어야 한다.
상기 설명된 기능을 구현하기 위한 소프트웨어 명령들은 예로서, C, C++, 비주얼 베이직, 자바, 파이썬, Tcl, 펄, 스킴, 루비 등으로 쓰여진, 여기에 제공된 설명으로부터 기술자들에 의해 쉽게 쓰여질 수 있다. 본 기술에 따른 이동 디바이스들은 상이한 기능들 및 동작들을 수행하기 위한 소프트웨어 모듈들을 포함할 수 있다. 알려진 인공 지능 시스템들 및 기술들은 상기 언급된 상기 추론들, 결론들, 및 다른 결정들을 이루도록 이용될 수 있다.
보통, 각각의 디바이스는 하드웨어 리소스들 및 범용 함수들에 인터페이스들을 제공하는 운영 시스템 소프트웨어를 포함하며, 또한 사용자에 의해 요구된 특정 태스크들을 수행하도록 선택적으로 유발될 수 있는 애플리케이션 소프트웨어를 포함한다. 알려진 브라우저 소프트웨어, 통신 소프트웨어, 및 미디어 프로세싱 소프트웨어는 상기 설명된 사용들 중 많은 것을 위해 적응될 수 있다. 소프트웨어 및 하드웨어 구성 데이터/명령들은 흔히 네트워크를 통해 액세스될 수 있는 자기 또는 광 디스크들, 메모리 카드들, ROM 등과 같은, 유형의 미디어에 의해 전달된 하나 이상의 데이터 구조들에서의 명령들로서 저장된다. 몇몇 실시예들은 임베딩된 시스템들, 즉 상기 운영 시스템 소프트웨어 및 상기 애플리케이션 소프트웨어가 상기 사용자에게 구별가능하지 않은 특별한 목적 컴퓨터 시스템(예로서, 기본 셀 전화기들에서의 흔한 경우인 것처럼)으로서 구현될 수 있다. 본 명세서에 설명된 상기 기능은 운영 시스템 소프트웨어, 애플리케이션 소프트웨어에서 및/또는 임베딩된 시스템 소프트웨어로서 구현될 수 있다.
상기 소프트웨어를 저장하는 것 외에, 상기 참조된 다양한 메모리 구성요소들은 본 기술에 의해 이용된 다양한 정보(예로서, 콘텍스트 정보, 테이블들, 임계값 등)를 위한 데이터 저장소로서 사용된다.
이 기술은 다양한 상이한 환경들에서 구현될 수 있다. 하나는, 리눅스 커널 상에서 작동하는 구글로부터 이용가능한 개방 소스 운영 시스템인 안드로이드이다. 안드로이드 애플리케이션들은 흔히 자바로 쓰여지며 그것 자신의 가상 머신들에서 작동한다.
코드의 크고 모놀리식의 블록들로서 애플리케이션들을 구조화하는 대신, 안드로이드 애플리케이션들은 통상적으로 필요할 때 선택적으로 로딩될 수 있는 "활동들" 및 "서비스들"의 콜렉션들로서 구현된다. 본 기술의 일 구현에서, 단지 가장 기본적인 활동들/서비스들만이 로딩된다. 그 후, 필요에 따라 다른 것들이 시작된다. 이것들은 서로에게 메시지들을 전송할 수 있으며, 예를 들면 서로를 각성시킨다. 그러므로, 하나의 활동이 타원들을 찾는다면, 그것은 유망한 타원형이 위치된다면 얼굴 검출기 활동을 활성화시킬 수 있다.
안드로이드 활동들 및 서비스들(및 또는 안드로이드의 방송 수신기들)은 메시지들을 나르는(예로서, 특정 유형의 키벡터를 생성하는 것처럼, 서비스를 요청하는) "강한 관심을 보이는 오브젝트들"에 의해 활성화된다. 이러한 구성에 의해, 코드는 특정 조건들이 유발될 때까지 유지기에 있을 수 있다. 얼굴 검출기는 시작하는데 타원형을 요구할 수 있다. 그것은 타원이 어떤 시간에 동작을 시작할지 발견될 때까지 작동되지 않는다.
활동들 및 서비스들 간에 정보를 공유하기 위해(예로서, 이전 언급된 블랙보드의 역할에서 서비스하는), 안드로이드는 "콘텐트 제공자들"을 이용한다. 이것들은 데이터를 저장하고 검색하도록 작용하며, 모든 애플리케이션들에 대해 그것이 액세스가능하게 한다.
안드로이드 SDK들, 및 연관된 서류가 developer.android.com/index.html에서 이용가능하다.
본 명세서에 기술된 상기 기능의 차이는 상이한 디바이스들 상에서 구현될 수 있다. 예를 들면, 스마트폰이 원격 서비스 제공자에서의 서버와 통신하는 시스템에서, 상이한 태스크들이 하나의 디바이스 또는 다른 디바이스에 의해 독점적으로 수행될 수 있거나, 실행이 상기 디바이스들 사이에 분배될 수 있다. 그러나, 이미지로부터의 바코드, 또는 고유값, 데이터의 추출은 이러한 태스크들의 두 개의 예들이다. 따라서, 그것은 특정 디바이스(예로서, 스마트 vs)에 의해 수행되는 바와 같이 동작의 설명이 제한적이지 않지만 예시적이며, 또 다른 디바이스(예로서, 원격 서버, 또는 상기 클라우드)에 의해, 또는 디바이스들 간에 공유된 동작의 성능이 또한 명확하게 고려된다. (게다가, 2 이상의 디바이스들이 흔히 이용될 수 있다. 예를 들면, 서비스 제공자는 이러한 태스크들에 전용되는 서버들에 대한 이미지 검색, 오브젝트 분할, 및/또는 이미지 분류와 같은 몇몇 태스크들을 나타낼 수 있다.
유사한 방식으로, 특정 디바이스 상에 저장되는 데이터의 설명이 또한 대표적이며; 데이터는 어딘가; 즉 로컬 디바이스, 원격 디바이스, 분배된 상기 클라우드 등에 저장될 수 있다.
동작들은 특정하게-식별가능한 하드웨어에 의해 독점적으로 수행될 필요는 없다. 오히려, 몇몇 동작들은 다른 서비스들(예로서, 클라우드 컴퓨팅) 밖에서 참조될 수 있음, 이것은 추가적인, 일반적으로 특색 없는 시스템들에 의해 그것들의 실행을 처리한다. 이러한 분배된 시스템들은 큰 스케일의(예로서, 구 주변의 컴퓨팅 리소스들을 수반하는), 또는 로컬(예로서, 휴대용 디바이스가 블루투스 통신을 통해 가까이에 있는 디바이스들을 식별하고, 로컬 지형도로부터 데이터를 기증하는 것과 같이, 태스크에서 가까이에 있는 디바이스들의 하나 이상을 수반할 때처럼, 이에 관하여 Beros에 대한 특허 제7,254,406호를 참조)일 수 있다.
유사하게는, 특정 기능들이 다른 구현들에서, 특정 모듈들, 에이전트들, 프로세스들 등에 의해 수행되는 것처럼 설명되었지만, 이러한 기능들은 이러한 엔티티들 또는 기타의 다른 것들에 의해 수행될 수 있다(또는 완전히 없어지게 된다).
참조가 때때로 "인식 에이전트들", 및 때때로 "연산들"에 대해 이루어지는 반면, 그 외의 경우에 "기능들", 및 때때로 "애플리케이션들" 또는 "서비스들" 또는 "모듈들" 또는 "태스크들" 또는 "단계들" 등에 대해 이루어진다. 상이한 소프트웨어 개발 환경들에서, 이들 용어들은 상이한 특정 의미들을 가질 수 있다. 본 명세서에서는, 그러나 이들 용어들이 일반적으로 상호 교환가능하게 사용된다.
언급된 바와 같이, 많은 기능들이 복수의 구성요소 단계들의 순차적 동작에 의해 구현될 수 있다. 이러한 기능들은 다중-단계(연쇄된) 분류기들로서 간주될 수 있으며, 여기서 나중 단계들은 단지 이전 단계들을 처리한 부분들 또는 값들을 고려한다. 이러한 유형의 많은 기능들을 위해, 하나의 단계로부터의 출력을 검사하고, 기준이 충족된다면 다음 단계를 활성화시키는 임계값 또는 유사한 판단이 존재할 수 있다. (이전 단계에 의해 출력된 파라미터는 15,000을 초과하는 값을 가지는 경우에만 트리거되는 상기 바코드 디코더가 이러한 유형의 일 예이다.)
많은 실시예들에서, 다양한 구성요소들에 의해 수행된 상기 기능들뿐만 아니라 그것들의 입력들 및 출력들은 표준화된 메타데이터의 형태로 특정되거나 또는 공개되며(예로서, 상기 구성요소들에 의해), 따라서 디스패치 프로세스에 의해서와 같이 동일한 것이 식별될 수 있도록 한다. XML-기반 WSDL 표준이 몇몇 실시예들에서 사용될 수 있다. (예를 들면, 2007년, 6월, 웹 서비스들 디스크립션 언어(WDSL) 버전 2.0 파트 1: 코어 언어, W3C를 보자.) WDSL-SFH 칭하여지는 WDSL의 확장은 다른 특징들 가운데, 서비스들의 구성을 용이하게 함으로써, 재사용가능성을 향상시키는 시맨틱 요소들을 포함하기 위해 WDSL을 확장한다. (대안적인 시맨틱-가능한 표준은 서비스들을 위한 온톨로지 웹 언어: OWL-S이다.) 클라우드-기반 서비스 제공자들과 통신하기 위해, 보통 웹 서비스들 프로토콜 스택의 기초 층으로서 상기 XML-기반 단순한 오브젝트 액세스 프로토콜(Simple Object Access Protocol; SOAP)이 이용될 수 있다. (지니, 공통 오브젝트 요청 브로커 아키텍처(CORBA), 표현 상태 변경(Representational State Transfer; REST) 및 마이크로소프트사의 윈도우즈 통신 파운데이션(WCF)와 같은 다른 서비스-기반 기술들이 또한 적절하다.)
웹 서비스들의 조직화(orchestration)가 웹 서비스 비즈니스 프로세스 실행 언어 2.0(WS-BPEL 2.0)을 사용하여 달성될 수 있다. 연출은 W3C의 웹 서비스 연출 디스크립션 언어(WS-CDL)를 이용할 수 있다. JBoss의 jBPM 제품은 WM-BPEL 2.0과 WS-CDL 모두를 갖고 사용하기 위해 적응된 개방 소스 플랫폼이다. 활성 엔드포인트들은 상기 이름 ActiveBPEL 하에 WS-BPEL을 위한 개방 소스 솔루션을 제공하며; SourceForge상의 pi4SOA는 WS-CDL의 개방-소스 구현이다. 웹 서비스들을 위한 보안이 상기 WS-Security(WSS) 통신 프로토콜, 아파치의 WSS4J인 대중적인 자바 라이브러리 구현의 사용을 통해 제공될 수 있다.
본 기술의 특정 구현들은 이미지 프로세싱 함수들(소프트웨어)의 기존의 라이브러리들을 사용한다. 이것들은 CMVision(카네기 멜론 대학으로부터, 특히 컬러 이미지 세그멘테이션에 양호한), ImageJ(국립 보건원에 의해 개발된 자바 루틴들의 자유롭게 배포된 패키지; en.Wikipedia.org/wiki/ImageJ를 보자), 및 OpenCV(인텔에 의해 개발된 패키지, en.Wikipedia.org/wiki/OpenCV, 및 2008년 O'Reilly에서 출간된 책, 브라드스키의 OpenCV 배우기를 참조). 높이 평가된 상업적 비전 라이브러리 패키지들은 Cognex에 의한 Vision Pro, 및 매트록스 이미징 라이브러리를 포함한다.
동작들을 반복하는 리프레시 레이트는 상기 컴퓨팅 콘텍스트(배터링 용량, 다른 프로세싱 요구들 등)를 포함하는, 상황들에 의존하여 수행된다. 몇몇 이미지 프로세싱 동작들은 캡처된 프레임마다, 또는 거의 그렇게 수행될 수 있다(예로서, 렌즈 캡 또는 다른 장애물이 카메라의 뷰를 차단하는지 여부를 체크하는). 다른 것들이 3번째 프레임, 10번째 프레임, 13번째 프레임, 100번째 프레임 등마다 수행될 수 있다. 또는 이들 동작들은 시간에 의해, 예로서, 10초마다 트리거될 수 있다. 또는 그것들은 상기 캡처된 장면에서의 변화 등에 의해 트리거될 수 있다. 상이한 동작들이 상이한 리프레시 레이트들을 가질 수 있으며, 이것은 단순한 동작들이 빈번하게 반복되며, 복잡한 동작들이 덜 그렇게 되도록 한다.
이전 언급된 바와 같이, 이미지 데이터(또는 이미지 데이터에 기초한 데이터)는 분석을 위한 클라우드로서 칭하여질 수 있다. 몇몇 장치들에서, 이것은 로컬 디바이스 프로세싱을 대신하여(또는 특정 로컬 디바이스 프로세싱이 행해진 후) 행해진다. 그러나, 때때로, 이러한 데이터는 상기 클라우드에 전달될 수 있으며, 거기에서 및 상기 로컬 디바이스 모두에서 동시에 처리될 수 있다. 클라우드 프로세싱의 비용은 보통 작으며, 따라서 주된 비용은 대역폭 중 하나일 수 있다. 대역폭이 이용가능하다면, 그것이 또한 로컬로 처리될지라도, 데이터를 상기 클라우드에 전송하지 않기 위한 이유는 거의 없을 것이다. 몇몇 경우들에서, 상기 로컬 디바이스는 보다 빠르게 결과들을 리턴할 수 있으며; 다른 경우들에서, 상기 클라우드는 상기 레이스에서 이길 수 있다. 양쪽 모두를 동시에 사용함으로써, 상기 사용자는 항상 상기 두 개의 응답들을 보다 빠르게 제공받을 수 있다.(및 언급된 바와 같이, 로컬 프로세싱이 멈추게 되거나 또는 가망이 없어진다면, 그것은 단축될 수 있다. 한편, 상기 클라우드 프로세스가 계속해서 대량으로 만들어질 수 있다 - 아마도 상기 로컬 디바이스가 결코 제공하지 않는 결과들을 산출한다.) 부가적으로, 구글과 같은 클라우드 서비스 제공자는 그것의 데이터 저장소들이 비교적 결핍되는 지리학적 환경의 세부사항들을 학습하는(물론, 적절한 프라이버시 보호 장치들에 대한 주제) 상기 클라우드-기반 데이터 프로세싱 기회에 대한 액세스로부터 다른 이득들을 얻을 수 있다.
때때로 로컬 이미지 프로세싱은 중단되고 나중에 재개될 수 있다. 하나의 이러한 인스턴스는 전화기 호출이 이루어지거나 또는 수신되는 경우이며; 상기 디바이스는 상기 전화기 호출을 서비스하는데 그것의 리소스들을 독점적으로 적용하는 것을 선호할 수 있다. 상기 전화기는 또한 상기 사용자가 상기 전화기가 이미지 프로세싱을 잠시 멈추도록 명확하게 지시할 수 있는 UI 제어를 가질 수 있다. 몇몇 이러한 경우들에서, 적절한 데이터가 상기 클라우드에 전달되며, 이것은 상기 프로세싱을 계속하고 상기 결과들을 상기 전화기에 리턴한다.
로컬 이미지 프로세싱은 프롬프트, 만족스러운 결과들을 산출하지 않고, 상기 이미지의 주제가 상기 사용자에게 계속해서 관심이 있다면(또는 상기 사용자가 달리 표시하지 않는다면), 상기 화상은 보다 철저하고, 긴 분석을 위한 상기 클라우드에 참조될 수 있다. 북 마크 등은 상기 스마트폰 상에 저장될 수 있어서, 상기 사용자가 이러한 추가 분석의 결과들을 검증하고 학습하도록 허용한다. 또는 상기 사용자는 이러한 추가 분석이 동작가능한 결론에 도달한다면 알림받을 수 있다.
상기 설명된 기술의 동작에 수반된 의사 결정은 다수의 상이한 방식들로 구현될 수 있음을 이해할 것이다. 하나는 득점에 의한 것이다. 상이한 대안들을 위한 적절한 입력들과 연관된 파라미터들이 제공되며, 결합되고 가중되며 예를 들면 상이한 결합들로 합해진다. 최대(또는 최소) 스코어를 가진 대안이 선택되며, 동작은 상기 대안에 기초하여 취해진다. 다른 장치들에서, 규칙-기반 엔진들이 이용될 수 있다. 이러한 장치들은 조건부 규칙들, 예로서, IF(조건(s)), 그 후 동작(s) 등을 표현하는 저장된 데이터에 대한 참조에 의해 구현된다. 적응형 모델들이 또한 이용되며, 여기에서 규칙들은 예를 들면 사용의 이력 패턴들에 기초하여 진화한다. 휴리스틱 접근법들이 또한 이용될 수 있다. 기술자들은 다른 결정 프로세스들이 특정 상황들에 적합할 수 있다고 인식할 것이다.
본 명세서에 따라 시스템들을 구현하는 기술자들은 수반된 다양한 기술들에 친숙한 것으로 추정된다.
무선 기술의 최근 생겨난 분야는 "인지 무선(cognitive radio)"이라 칭하여진다. 상기 렌즈를 통해 볼 때, 본 기술은 "인지 이미징"으로 제목을 붙일 수 있다. 인지 무선으로부터 설명을 적응시킬 때, 인지 이미징의 분야는 "무선 이미징 디바이스들 및 관련 네트워크들이 사용자 콘텍스트의 함수로서 요구된 사용자 이미징을 검출하고 그것들의 요구들에 가장 적합한 방식으로 이미징 서비스를 무선으로 제공하기 위해 시맨틱 추출 및 컴퓨터-대-컴퓨터 통신들을 지지하는 이미징 구성들의 추출시 충분히 계산적으로 지능적인 포인트"로서 간주될 수 있다.
이러한 개시는 예시된 실시예들에서 동작들의 특정 순서 및 요소들의 특정 조합들을 설명하였지만, 그것은 다른 방법들이 동작들을 재순서화할 수 있고(가능하게는 일부를 생략하고 다른 것들을 부가하는), 다른 조합들이 몇몇 요소들을 생략하고 다른 것들을 부가할 수 있다는 것 등을 인식할 것이다.
비록 완전한 시스템들로서 개시되었지만, 상기 설명된 장치들의 서브-결합들이 또한 개별적으로 고려된다.
참조가 특정 실시예들에서 상기 인터넷에 대해 이루어진다. 다른 실시예들에서, 컴퓨터들의 사설 네트워크들을 포함하는 다른 네트워크들이 또한, 또는 대신에 이용될 수 있다.
이미지 캡처 및 프로세싱을 수행하는 시스템들의 콘텍스트에서 주로 설명되었지만, 대응하는 장치들은 오디오, 또는 다른 자극들(예로서, 터치, 냄새, 모션, 방향, 온도, 습도, 대기압, 자취 화학 등)을 캡처하고 처리하는 시스템들에 동일하게 적용가능하다. 몇몇 실시예들은 복수의 상이한 유형들의 자극들에 응답할 수 있다.
오디오 장면 분석기(쿠보타 등의, 2008년, 10번째 IEEE 멀티미디어 심포지엄, 3D 청각 장면 비주얼라이저의 설계 및 구현 - 얼굴 추적을 가진 청각 인식을 향해, 468-476 페이지로부터)의 양상들을 보여주는 도 18을 고려하자. 상기 쿠보타 시스템은 마이크로폰 어레이를 갖고 3D 사운드들을 캡처하고 사운드들을 국소화하고 분리하며, 스피치 인식 기술들에 의해 상기 분리된 사운드들을 인식한다. Java 시각화 소프트웨어는 다수의 디스플레이들을 나타낸다. 도 18에서의 제 1 박스는 타임라인을 따르는 사람들로부터의 연설 이벤트들, 및 배경 음닥을 보여준다. 제 2 박스는 선택된 시간 포인트에서 상기 마이크로폰 어레이에 대한 상기 사운드 소스들의 위치를 보여준다. 제 3 박스는 원하지 않는 사운드 소스들을 제거하도록 지향성 필터링을 허용한다. 제 4 박스는 특정 스피커의 선택 및 상기 스피커의 단어들의 전사를 허용한다. 이들 디스플레이들과의 사용자 상호작용은 얼굴 추적에 의해 달성되며, 예로서 상기 스크린으로 및 원하는 스피커를 향해 더 가까이 이동하는 것은 상기 사용자로 하여금 상기 스피커의 스피치를 선택하고 필터링하도록 허용한다.
본 기술의 콘텍스트에서, 시스템은 카메라-기반 시스템들을 위한 공간 모델 구성요소에 유사한 장치들을 사용하여 3D 청각 장면의 공통 시각화를 제공할 수 있다. 보블들은 위치, 시간 및/또는 클래스의 함수로서 식별된 오디오 소스들 상에 위치될 수 있다. 상기 사용자는 사용자가 그것들이 보다 많은 정보를 원하는 이들 사운드들 분리하게 하는 상기 시스템과의 상호작용을 통해 상기 오디오 소스들을 분할하는데 관여할 수 있다. 예를 들면, 배경 음악, 스피커들을 식별하는 것, 오디오의 소스의 위치를 찾는 것, 장르에 의해 분류하는 것 등에 대한 정보가 제공될 수 있다. 기존의 클라우드-기반 서비스들(예로서, 셔잼(Shazam) 및 미도미(Midomi)와 같은 대중적인 음악 인식 서비스들)은 이러한 장치들에서의 오디오 식별/분류의 일부를 제공하도록 적응될 수 있다.
대학 강의 콘텍스트에서, 학생의 이동 디바이스는 교수의 음성, 및 가까이에 있는 학생들의 몇몇 부수적인 측면 대화들을 캡처할 수 있다. 상기 측면 대화의 다채로운 세부사항들에 의해 집중이 안되게 되며, 상기 학생은 상기 강의의 일부를 순간적으로 놓칠 수 있다. 상기 전화기 스크린에 걸쳐 손가락을 스위핑함으로써, 상기 학생은 다양한 얼굴 보블들을 보여주는 스크린으로 대략 15초(예로서, 프레임 당 5초) 뒤로 간다. 상기 교수에 대응하는 상기 얼굴 보블을 인식하였기 때문에, 상기 학생은 그것을 탭핑하고, 단지 상기 교수의 음성으로부터 전사된 텍스트가 그 후 제공되어(및/또는 청각적으로 렌더링되어) 상기 학생이 놓친 것을 캐치하도록 허용한다. (검토의 속도를 높이기 위해, 상기 렌더링은 묵과되거나 또는 단축되고, 상기 교수의 스피치에서 잠시 정지될 수 있다. 단축은 퍼센티지에 의한 것, 예로서 50%일 수 있거나, 그것은 0.5초보다 긴 모든 일시 정지를 0.5초 아래로 잘라낼 수 있다.) 또는, 상기 학생은 간단하게 상기 화면의 상부로, 상기 스피커의 저장된 오디오 데이터에서의 위치, 상기 학생이 그 후 나중에 검토할 수 있는 콘텐트들에 대한 북마크를 저장하는 상기 교수의 보블을 훔칠 수 있다.
(사운드 소스 인식에 대한 부가적인 정보가 1999년 6월 MIT, PhD 학위 논문, 마틴의, 사운드 소스 인식: 이론 및 계산적 모델에서 발견된다.)
상기 설명된 실시예들은 비교적 범용으로서 설명되었지만, 다른 것들은 특정 목적들 또는 지식 도메인들을 서비스하기 위해 전문화될 수 있다. 예를 들면, 하나의 이러한 시스템은 새들 및 그것들의 호출들을 식별하기 위해서, 및 탐조들의 크라우드소싱된 데이터베이스들을 업데이트하기 위해 특히 만들어진 한 점의 이미지 및 사운드 인식 에이전트들을 가진 탐조객들에 맞춰질 수 있다. 또 다른 시스템이 다양하지만 전문화된 기능의 콜렉션을 제공할 수 있다. 예를 들면, 디바이스는 인쇄된 디지털 워터마크들을 판독하기 위해 디지마크-제공된 인식 에이전트, 바코드들을 판독하기 위해 링크미 모바일 인식 에이전트, 패키징으로부터 인증 마킹들을 디코딩하기 위해 알프비전 인식 에이전트, 노래들을 식별하기 위해 셔잼- 또는 그레이스노트 음악 인식, 텔레비전 방송들을 인식하기 위해 닐센 인식 에이전트, 라디오 방송들을 식별하기 위한 아비트론 인식 에이전트 등을 포함할 수 있다. (인식된 미디어 콘텐트와 관련되어, 이러한 시스템은 또한 공개된 출원들(US20100119208 및 US20100205628)에 설명된 것과 같은 다른 기능을 제공할 수 있다.)
상기 설명된 기술은 YouTube.com으로부터 획득된 사용자 생성 콘텐트(UGC)와 같이, 상기 웹으로부터 획득된 비디오 데이터와 함께 사용될 수 있다. 여기에 설명된 것과 유사한 장치들에 의해, 비디오의 콘텐트는 식별될 수 있고, 따라서 적절한 광고/콘텐트 페어링들이 결정될 수 있고 상기 사용자의 경험에 대한 다른 향상들이 제공될 수 있다. 특히, 출원자들은 여기에 개시된 상기 기술이 공개된 특허 출원들(20080208849와 20080228733(디지마크), 20080165960(태그스토리), 20080162228(트리비드), 20080178302와 20080059211(애트리뷰터), 20080109369(구글), 20080249960(닐센), 및 20080209502(무비랩스)를 향상시키고 확대하기 위해 사용될 수 있다.
콘텐트 신호들(예로서, 이미지 신호들, 오디오 신호들 등)의 설명된 프로세싱은 다양한 물리적 형태들로 이들 신호들의 변환을 포함한다는 것이 인식될 것이다. 이미지들 및 비디오(물리적 공간을 통해 이동하고 물리적 오브젝트들을 서술하는 전자기파들의 형태들)는 카메라 또는 다른 장치를 사용하여 물리적 오브젝트들로부터 캡처되거나, 또는 컴퓨팅 디바이스에 의해 생성될 수 있다. 유사하게는, 물리적 매체를 통해 이동하는 오디오 압력파들은 오디오 트랜듀서(예로서, 마이크로폰)를 사용하여 캡처되고 전자 신호(디지털 또는 아날로그 형태)로 변환될 수 있다. 이들 신호들은 통상적으로 상술된 프로세스들 및 상기 구성요소들을 구현하기 위해 전자 및 디지털 형태로 처리되지만, 그것들은 또한 전자, 광학, 자기, 및 전자기파 형태들을 포함한 다른 물리적 형태들로 캡처되고, 처리되고, 전달되며, 저장될 수 있다. 상기 콘텐트 신호들은 상기 신호들 및 관련 정보의 다양한 데이터 구조 표현들을 처리하고 생성하는 동안 다양한 목적들을 위해 다양한 방식들로 변환된다. 차례로, 메모리에서의 상기 데이터 구조 신호들은 탐색, 분류, 판독, 기록, 및 검색 동안 조작을 위해 변환된다. 상기 신호들은 또한 디스플레이 또는 오디오 트랜듀서(예로서, 스피커)를 통해 캡처, 전달, 저장, 및 출력을 위해 변환된다.
상기 판독자는 상이한 용어들이 때때로 유사하거나 또는 동일한 구성요소들, 프로세스들 등을 참조할 때 사용된다는 것을 주의할 것이다. 이것은 시간에 걸쳐, 여러 사람들을 포함하는 이러한 기술의 개발에 부분적으로 기인한다.
본 명세서에 개시된 상이한 실시예들 내의 요소들 및 교시들이 또한 교환되고 결합되는 것으로 의미된다.
FFT들에 대한 참조들은 또한 역 FFT들, 및 관련된 변환들(예로서, DFT, DCT, 그것들 각각의 역들 등)을 포함하도록 이해되어야 한다.
참조는 참조에 의해 통합된 문서들의 일부에서 설명된 것처럼, 스케일-변함없는 특징들에 기초한 패턴-매칭 연산을 수행하는 SIFT에 대해 이루어진다. SIFT 데이터는 본질적으로 오브젝트가 인식될 수 있는 지문으로서 작용한다.
유사한 방식으로, 상기 블랙보드(또는 다른 공유된 데이터 구조)에 게시된 데이터는 또한 그것이 인식될 수 있는 이미지 또는 장면을 특성화하는 시각적으로 중요한 정보를 포함하는, 지문으로서 작용할 수 있다. 마찬가지로, 데이터의 콜렉션으로 이루어진 블랙보드를 산출할 수 있는 비디오 시퀀스를 갖고, 자극들에 대한 시간적 및 경험적 모두를 사용자 디바이스 감지한다. 또는 이러한 인스턴스들에서 상기 블랙보드 데이터는 그것에 지문 알고리즘을 적용하고, 일반적으로 최근 캡처된 자극들이 식별되고 자극들의 다른 패턴들에 매칭될 수 있는 식별 데이터의 고유 세트를 생성함으로써 추가로 정제될 수 있다. (오래전 피카소는 시간적, 공간적으로 뒤석인 이미지 요소들의 세트가 그것의 본질이 이해될 수 있는 장면에 적절한 지식을 제공한다는 것을 예견했다.)
언급된 바와 같이, 인공 지능 기술들은 본 기술의 실시예들에서 중요한 역할을 할 수 있다. 상기 분야로의 최근 진출은 울프람 리서치에 의한 알파 제품이다. 알파는 조직된 데이터의 지식 베이스에 대한 참조에 의해 구조화된 입력에 응답하여 응답들 및 시각화들을 계산한다. 여기에서 설명된 장치들로부터 획득된 정보는 상기 사용자에게 다시 응답적인 정보를 제공하기 위해 사이 울프람 알파 제품에 제공될 수 있다. 몇몇 실시예들에서, 상기 사용자는 상기 시스템에 의해 획득된 용어들 및 다른 프리미티브들로부터 질의를 구조화함으로써, 상기 시스템에 의해 구성된 상이한 질의들의 메뉴 가운데 선택함으로써 등과 같이, 정보의 이러한 제출에 수반된다. 다른 장치들에서, 이것은 상기 시스템에 의해 처리된다. 부가적으로, 또는 대안적으로, 상기 알파 시스템으로부터의 응답 정보는 추가 응답 정보를 식별하기 위해 구글과 같은 다른 시스템들에 대한 입력으로서 제공될 수 있다. 울프람의 특허 공개물들(20080066052 및 20080250347)은 알파 기술의 양태들을 추가로 설명하며, 이것은 이제 아이폰 앱으로서 이용가능하다.
또 다른 부 기술은 구글 보이스이며, 이것은 종래의 전화 시스템들에 다수의 개선들을 제공한다. 이러한 특징들은 본 기술과 함께 사용될 수 있다.
예를 들면, 구글 보이스에 의해 제공된 보이스 대 텍스트 표기 서비스들은 상기 사용자의 스마트폰에서 상기 마이크로폰을 사용하여 상기 스피커의 환경으로부터 주변 오디오를 캡처하고 대응하는 디지털 데이터(예로서, ASCII 정보)를 생성하기 위해 이용될 수 있다. 상기 시스템은 관련 정보를 획득하기 위해 구글 또는 울프람 알파와 같은 서비스들에 이러한 데이터를 제출할 수 있으며, 상기 시스템은 그 후 스크린 디스플레이에 의해, 음성에 의해(예로서, 알려진 텍스트-투-스피치 시스템들) 기타에 의해 상기 사용자에게 다시 제공할 수 있다. 유사하게는, 구글 보이스에 의해 제공된 스피치 인식은 스마트폰 디바이스들에 대화식 사용자 인터페이스를 제공하기 위해 사용될 수 있으며, 이것에 의해 여기에 설명된 상기 기술의 특징들이 구어들에 의해 선택적으로 유발되고 제어될 수 있다.
또 다른 양상에서, 사용자가 스마트폰 디바이스를 갖고 콘텐트(오디오 또는 비디오)를 캡처하고 현재 개시된 기술을 이용하는 시스템이 응답을 리턴할 때, 상기 응답 정보는 텍스트-투-스피치로부터 변환되고, 상기 사용자, 예를 들면, 구글 보이스에서의 음성 메일 계정에 전달될 수 있다. 상기 사용자는 임의의 전화기 또는 임의의 컴퓨터로부터 이러한 데이터 저장소를 액세스할 수 있다. 상기 저장된 음성 메일은 가청 형태로 검토될 수 있거나, 또는 상기 사용자는 예로서, 스마트폰 또는 컴퓨터 스크린 상에 제공된 텍스트 상대를 검토하기 위해 대신 선택할 수 있다.
(구글 보이스 기술의 양태들은 특허 출원 20080259918에 설명된다.)
오디오 정보는 때때로 시각적 정보를 이해하도록 도울 수 있다. 상이한 환경들은 상이한 사운드 파노라마에 의해 특성화되며, 이것은 환경에 대한 실마리들로서 작용할 수 있다. 상기 잡음 및 엔진 사운드들은 차량용 또는 길가 환경을 특성화할 수 있다. HVAC 블로어의 저음 또는 키보드 사운드들은 사무실 환경을 특성화할 수 있다. 새 및 나무 속 바람 잡음들은 옥외를 시그널링할 수 있다. 대역-제한되고, 압신기-처리된, 드물게 조용한 오디오는 텔레비전이 가까이에 아마도 집에서 플레이되는 중임을 제시할 수 있다. 반복되는 물결이 부서지는 사운드는 해변에서의 위치를 제시한다.
이러한 오디오 위치 실마리들은 시각적 이미지 프로세싱과 관련되어 다양한 역할들을 서비스할 수 있다. 예를 들면, 그것들은 시각적 환경에서 오브젝트들을 식별하도록 도울 수 있다. 사무실-형 사운드들의 존재에서 캡처되면, 외관상-원통형의 오브젝트를 묘사하는 이미지는 나무 몸통보다는 커피 머그 또는 물병일 가능성이 높다. 해변-오디오 환경에서의 둥그스름한 오브젝트는 타이어일 수 있지만, 조개껍데기일 가능성이 더 높다.
이러한 정보의 이용은 무수한 형태들을 취할 수 있다. 하나의 특정 구현은 인식될 수 있는 특정 오브젝트들, 및 상이한 (오디오) 위치들 간의 연관들을 수립하고자 한다. 제한된 세트의 오디오 위치들 예로서, 실내 또는 옥외, 또는 해변/자동차/사무실/집/미결정이 식별될 수 있다. 상이한 오브젝트들은 그 후 이러한 환경에서 발견되는 상대적인 가능성을 나타내는 스코어들을 제공받을 수 있다.(예로서, 0-10의 범위에서). 이러한 명확화 데이터는 인터넷(클라우드) 상의 공개적으로-액세스가능한 데이터베이스와 같은 데이터 구조에 유지될 수 있다. 상기 실내/옥외 경우들에 대한 단순한 예가 있다.
Figure pct00006
(상기 실내 및 옥외 점수들은 반드시 반비례 관계인 것은 아니며, 몇몇 오브젝트들은 양쪽 환경들 모두에서 발견될 가능성이 있는 종류일 수 있음을 주의하자.)
원통형-외관의 오브젝트가 이미지 프레임에서, 및 이용가능한 이미지 분석으로부터 식별된되고, 그것이 나무 몸통인지 또는 물병인지 여부에 대해 모호하다면, 그 후 명확화 데이터, 및 상기 청강 환경에 대한 정보에 대한 참조가 이루어질 수 있다. 상기 청각 환경이 "옥외"의 속성들을 가진다면(및/또는 "실내"인 속성들이 없는), 후보 오브젝트들 "나무" 및 "물병"에 대한 옥외 명확화 점수들이 체크된다. 상기 "나무"에 대한 옥외 점수는 10이고, "물병"에 대한 옥외 점수는 8이며, 그러므로 반반(toss-up)이 "나무"에 찬성하여 결정된다.
청각 환경들의 인식은 본 명세서 어딘가에 기술된 상기 이미지 장치들에 대한 오디오 상대들인 기술들 및 분석을 사용하여 수행될 수 있다. 또는 다른 기술들이 사용될 수 있다. 종종, 그러나, 청각 환경의 인식은 불확실하다. 이러한 불확실성은 상기 명확화 점수들의 사용이 요인으로 포함될 수 있다.
단지 제공된 상기 예에서, 상기 환경으로부터 캡처된 오디오는 내부 환경들과 연관된 몇몇 특징들, 및 옥외 환경들과 연관된 몇몇 특징들을 가질 수 있다. 따라서, 오디오 분석은 불분명한 결과를 갖고 결론내릴 수 있으며, 예를 들면, 60% 기회는 옥외이고 40% 기회는 실내이다. (이들 퍼센티지들은 100%로 부가할 수 있지만, 반드시 필요한 것은 아니며; 몇몇 경우들에서, 그것들은 합계가 더 많거나 더 적을 수 있다.) 이들 평가들은 오브젝트 명확화 점수들의 평가에 영향을 미치기 위해 사용될 수 있다.
많은 이러한 접근법들이 존재하지만, 하나는 다음 표에 의해 도시된 바와 같이, 간단한 곱셈에 의해 오디오 환경 불확실성을 가진 후보 오브젝트들에 대한 오브젝트 명확화 점수들을 가중하는 것이다.
Figure pct00007
이러한 경우에, 상기 명확화 데이터는, 상기 청각 환경이 높은 정도의 확실성을 갖고 알려지지 않을지라도, 상기 오브젝트를 식별하는데 유용하다.
단지 주어진 예에서, 상기 시각적 분석 단독으로는, 동일한 확률들을 가진 두 개의 식별된 후보 식별들이 제안된다면, 그것은 나무일 수 있고, 그것은 물병일 수 있다. 종종 상기 시각적 분석은 다른 것들보다 하나 이상의 후보를 가진 오브젝트를 위한 여러 개의 상이한 가능한 식별들을 결정할 것이다. 가장 가능성 있는 식별은 최종 식별로서 사용될 수 있다. 그러나, 여기에 언급된 상기 개념들은 때때로 상이한 최종 결과를 이끄는 이러한 식별을 정제하도록 도울 수 있다.
상기 서술된 오브젝트가 물병일 가능성이 40%이고 나무일 가능성이 30%임을 결론내리는 시각적 분석을 고려하자(예로서, 원통형상에서의 시각적 텍스처의 부족에 기초한). 이러한 평가는 시각적 분석에 의해 단독으로 결정된 오브젝트 확률을 가진 추가 곱셈에 의해 상기 언급된 계산들과 연쇄될 수 있다.
Figure pct00008
이러한 경우에, 상기 오브젝트는 이미지 분석이 단독으로 상기 형상이 물병일 가능성이 가장 높다고 결론을 내릴지라도, 나무로서 식별될 수 있다(1.8이 최고 점수이다).
이들 예들은 작용하는 원리들을 개시하기 위해 다소 단순화하며, 실제의 실시에서, 보다 복잡한 수학적 및 논리적 연산들이 거의 틀림없이 사용될 것이다.
이들 예들은 두 개의 대안 오브젝트 식별들을 간단히 도시하였지만, 실제 구현에서, 많은 가능한 대안들의 분야로부터 하나의 유형의 오브젝트의 식별은 유사하게 수행될 수 있다.
예로서, 상이한 환경들과 상이한 오브젝트들을 연관시키는 명확화 데이터를 컴파일링하는 것에 대해 아직 말하지 않았다. 이것은 큰 일일 수 있지만, 다수의 대안 접근법들이 존재한다.
유튜브와 같은 비디오 콘텐트 사이트들, 및 플리커와 같은 이미지 콘텐트 사이트들을 고려하자. 알려진 이미지 분석 기술들은 많은 것이 인식되지 않을 수 있지만, 비디오 또는 이미지 프레임들 내의 특정 오브젝트들을 식별할 수 있다. 환경은 또한 시각적으로 식별될 수 있다(예로서, 실내/옥외; 해변/사무실/등.) 단지 작은 퍼센티지의 비디오들/이미지들이 합계에서 유용한 정보를 제공할지라도(예로서, 하나의 실내 비디오에서 침대 및 책상을 식별하고; 옥외 사진에서 꽃을 식별하는 등), 정보의 큰 선택은 이러한 방식으로 수집될 수 있다.
방금 논의된 장치에서, 환경은 시각적 정보에 대한 참조에 의해 단독으로 분류될 수 있다는 것을 주의하자. 벽들은 실내 환경을 나타내고; 나무들은 옥외 환경 등을 나타낸다. 사운드는 데이터 마이닝의 일부를 형성하지만, 이것은 필수적인 것은 아니다.
유튜브, 플리커 및 다른 콘텐트 사이트들은 또한 서술적 메타데이터(예로서, 키워드들)를 포함하며, 이것은 또한 상기 묘사된 화상에 대한 정보를 위해, 또는 상기 묘사된 오브젝트들을 인식하는 것(예로서, 가능한 오브젝트 식별들 사이에서 결정하는)을 돕기 위해 채굴될 수 있다.
오디오 정보는 또한 어떤 유형들의 추가 이미지 처리 동작들이 수행되어야 하는지(즉, 정기적인 세트의 동작들을 넘어)를 결정하도록 돕기 위해 사용될 수 있다. 상기 오디오가 사무실 환경을 제안한다면, 이것은 텍스트 OCR-관련 동작들이 적절할 수 있다고 제안할 수 있다. 따라서 상기 디바이스는 이러한 동작들을 수행할 수 있는 반면, 또 다른 오디오 환경(예로서, 옥외)에 있다면, 상기 디바이스는 이러한 동작들을 수행하지 않을 수 있다.
오브젝트들 및 그것들의 통상적인 환경들 간의 부가적인 연관들이 백과사전(예로서, 위키피디아) 및 다른 텍스트들의 자연 언어 처리에 의해 획득될 수 있다. 어딘가에서 언급된 바와 같이, 특허 제7,383,169호는 세계에 대한 이러한 "상식"의 엄청난 소스들로서 작용하는 어휘 지식 베이스들을 컴파일하기 위해 사전들 및 언어의 다른 큰 작업들이 어떻게 NLP 기술들에 의해 처리될 수 있는지를 기술한다. 이러한 기술에 의해, 시스템은 예로서, 예로서, 상기 주제 "버섯"을 상기 환경 "숲"(및/또는 "수퍼마켓")과 연관시키고, "불가사리"를 "바다"와 연관시킬 수 있다. 또 다른 리소스는 Cyc이다 - 상식 지식의 지식 베이스 및 큰 온톨로지를 모으는 인공 지능 프로젝트. (OpenCyc는 개방 소스 라이선스 하에 이용가능하다.)
상기 환경적 명확화 데이터를 컴파일하는 것은 또한 인간 참여를 이용할 수 있다. 비디오들 및 화상은 아마존의 기계적 터크 서비스의 사용을 통해서와 같이, 평가를 위해 인간 시청자들에게 제공될 수 있다. 특히 개발 도상국들에서의 많은 사람들은 예로서, 묘사된 오브젝트들, 및 그것들이 발견되는 환경들을 식별하는, 지불을 위한 화상의 주관적인 분석을 기꺼이 제공할 것이다.
동일한 기술들이 상이한 환경들과 상이한 사운드들을 연관시키기 위해 이용될 수 있다(연못들과 개굴 개굴우는 개구리들; 공항들과 비행기 엔진들; 등). 구글 보이스, 드래곤 내추럴리 스피킹, 비아보이스 등(기계적 터크를 포함하는)에 의해 수행된 바와 같이, 스피치 인식은 또한 환경을 인식하기 위해 이용될 수 있다. ("당신의 자리로 돌아가서 트레이드을 수직으로 세워두고, 위치를 고정해주세요..."는 비행기 환경을 나타낸다.)
방금 설명된 특정 장치가 대안적인 오브젝트 식별들을 명확히 하기 위해 오디오 정보를 사용했다면, 오디오 정보는 이미지 분석과 관련되어 많은 다른 상이한 방식들로 사용될 수 있다. 예를 들면, 상이한 환경들에서 상이한 오브젝트들을 마주하는 점수가 매겨진 가능성들을 식별하는 데이터 구조라기보다는, 상기 오디오는 SIFT 특징들(SIFT는 어딘가에서 논의된다)의 여러 상이한 용어집들 중 하나를 선택하기 위해(또는 하나의 용어집을 모으는) 간단히 사용될 수 있다. 오디오가 해변 잡음을 포함한다면, 상기 오브젝트 용어집은 해변들 근처에서 발견된 오브젝트들(스테이플러들이 아닌, 조개껍데기들)을 위한 SIFT 특징들 만을 포함할 수 있다. 상기 이미지 분석 시스템의 의해 찾아진 후보 오브젝트들의 세계는 따라서 상기 오디오 자극들에 따라 제약될 수 있다.
따라서 오디오 정보는 특정 애플리케이션들의 요건들에 의존하여 이미지 분석을 돕기 위해 상당히 많은 방식들로 이용될 수 있다; 앞서 말한 것은 단지 몇 개이다.'
단지 오디오 자극들로서 화상의 분석/이해를 통지하도록 도울 수 있으며, 시각적 자극들은 오디오의 분석/이해를 통지하는데 도울 수 있다. 상기 카메라가 밝은 햇볕을 감지하면, 이것은 옥외 환경을 제시하며, 캡처된 오디오의 분석은 따라서 상기 옥외에 대응하는 참조 데이터의 라이브러리에 대한 참조로 진행할 수 있다. 상기 카메라가 야광 조명을 특징으로 삼는 컬러 스펙트럼을 가진 규칙적으로 깜박거리는 조명을 감지한다면, 실내 환경이 가정될 수 있다. 이미지 프레임이 상부에 걸친 파란색, 및 아래에 매우 가공된 특징들을 갖고 캡처된다면, 옥외 콘텍스트가 가정될 수 있다. 이들 상황들에서 캡처된 오디오의 분석은 이러한 정보를 이용할 수 있다. 예로서, 낮은 레벨 배경 잡음은 HVAC 블로어가 아니며, 그것은 바람일 가능성이 있고; 상기 큰 클릭은 키보드의 잡음들이 아니며; 그것은 단지 다람쥐일 가능성이 더 높다.
단지 유튜브 및 플리커가 이미지 정보를 위한 소스들을 제공하는 것처럼, 상기 인터넷상에 오디오 정보를 위한 많은 자유롭게 이용가능한 소스들이 존재한다. 하나는, 다시 유튜브이다. 소매 제공물들의 자유롭고, 낮은 충실도 상대들을 제공하는 사운드 효과들의 온라인 라이브러리들이 또한 존재한다(예로서, soundeffect.com, sounddog.com, soundsnap.com 등). 이것들은 일반적으로, 잘 조직된 분류 체계들, 예로서, 자연:바다:파도갈매기들및배경적; 날씨:비:도시콘크리트상의폭우; 교통:기차:복잡한기차인테리어 등에 제공된다. 상기 서술적 텍스트 데이터는 연관된 환경을 결정하기 위해 마이닝될 수 있다.
이전에 말한 논의는 오디오 및 시각적 자극들 간의 상호작용에 초점을 맞추었지만, 본 기술에 따른 디바이스들 및 방법들은 자극들 및 감지된 데이터: 온도, 위치, 자계, 냄새, 자취 화학적 감지 등의 모든 방식으로 이러한 원리들을 이용할 수 있다.
자계에 관하여, 스마트폰들이 점차 예로서 전자 나침반 목적들을 위한 자력계를 제공받는다는 것이 인식될 것이다. 이러한 디바이스들은 매우 민감한데, 이는 그것들이 지구의 감지하기 힘든 자계(예로서, 30-60 마이크로테슬라, 0.3-0.6 가우스)에 응답할 필요가 있기 때문이다. 변조된 자계들의 이미터들은 예로서, 정보를 상기 전화기에 전달하기 위해 전화의 자력계에 시그널링하기 위해 사용될 수 있다.
애플 아이폰 3G들은 3-축 홀-효과 자력계를 가지며(아사히 카세이(Asahi Kasei)에 의해 제조되는 것으로 이해된), 이것은 인가될 자계, 및 극성에 비례하는 전압을 생성하기 위해 고체 상태 회로를 사용한다. 상기 전류 디바이스는 비록 미래 구현들이 이러한 특정을 우선적으로 처리할 수 있지만, 고속 데이터 통신을 위해 최적화되지 않는다. 그럼에도 불구하고, 유용한 데이터 레이트들은 쉽게 달성될 수 있다. 오디오 및 비디오 입력과 달리, 상기 전화는 자기 입력의 수신(3D 센서로 인해)을 최적화하기 위해 특정 방향으로 지향될 필요가 없다. 심지어 상기 전화는 상기 사용자의 주머니 또는 지갑으로부터 제거될 필요가 없다.
하나의 장치에서, 소매점은 시변적 신호로 구동된 감춰진 전자석을 포함하는 시각적 홍보 디스플레이를 가질 수 있다. 상기 시변적 신호는 근처의 전화기들에 데이터를 전송하도록 작용한다. 상기 데이터는 임의의 유형일 수 있다. 그것은 예를 들면, 홍보된 아이템의 1달러 할인을 위한, 수신인들에 의해 사용가능한 쿠폰을 제공하는 전자석-구동된 스마트폰 애플리케이션에 정보를 제공할 수 있다.
상기 자계는 상이한 통신 매체를 통해 전송된 관련 정보의 이용가능성에 대해 상기 전화기에 간단히 알릴 수 있다. 가장 기본적인 애플리케이션에서, 상기 자계 데이터는 특정 입력 구성요소, 예로서, 블루투수, NFC, WiFi, 적외선, 카메라, 마이크로폰 등을 턴 온하도록 상기 이동 디바이스에 간단히 시그널링할 수 있다. 상기 자계 데이터는 또한 키, 채널, 또는 유용한 다른 정보를 상기 매체에 제공할 수 있다.
또 다른 장치에서, 상이한 제품들(또는 상이한 제품들과 연관된 선반-장착된 디바이스들)은 상이한 자기 데이터 신호들을 방출할 수 있다. 상기 사용자는 특정 제품들에 가까이 상기 스마트폰을 이동시킴으로써 경쟁하는 전송들 가운데 선택한다. 상기 자계가 상기 이미터로부터의 거리에 비례하여 지수적으로 떨어지기 때문에, 상기 전화기가 다른 것들로부터 가장 강한(가장 가까운) 신호를 구별하는 것이 가능하다.
또 다른 장치에서, 선반-장착된 이미터는 보통 활성이 아니지만, 사용자 또는 사용자 의도를 감지하는 것에 응답하여 활성이 된다. 그것은 버튼 또는 모션 센서를 포함할 수 있으며, 이것은 5-15초들 동안 상기 자계 이미터를 활성화시킨다. 또는 그것은 조명에서의 변화(보다 밝거나 또는 보다 어두운)에 응답하여 광전지를 포함할 수 있다. 상기 사용자는 상기 자기 이미터가 5초 방송ㅇ르 시작하도록 야기하는 상기 광전지(또는 사람 손에 의해 그것에 그늘을 드리우는)에 전화기의 환한 스크린을 제공할 수 있다. 등.
일단 활성화되면, 상기 자계는 예로서, 카메라들, NFC, 또는 마이크로폰과 같이 사용되도록 위치되거나 또는 목표될 필요가 있는 다른 센서들을 이용하는 방법에 관해 상기 사용자에게 통지하도록 이용될 수 있다. 거리에 대한 고유 지향성 및 민감성은 상기 자계 데이터가 상기 타겟의 방향, 및 거리(예로서, 카메라를 가리키고 초점을 맞추기 위한)를 수립하는데 유용하게 한다. 예를 들면, 상기 이미터는 알려진 위치(예로서, 기원)에서 패키지를 갖는 조정 시스템을 생성할 수 잇어서, 상기 이동 디바이스에 대한 지상-검증(ground-truth) 데이터를 제공한다. 이것을 상기 (흔히 존재하는) 이동 디바이스 가속도계들과 결합하는 것은 정확한 포즈 추정을 가능하게 한다.
제품들로부터 바코드들 또는 다른 기계 판독가능한 데이터를 판독하고, 그것에 기초한 응답을 트리거하기 위한 다양한 애플리케이션들이 스마트폰들을 위해 이용가능해진다(및 특허 문헌, 예로서, US20010011233, US20010044824, UW20020080396, US20020102966, US6311214, US6448979, US6491217, 및 US6636249로부터 알려진다). 동일한 장치들이 스마트폰들의 자력계를 사용하여 자기적으로 감지된 정보를 사용하여 실시될 수 있다.
다른 실시예들에서, 상기 자계는 마이크로 방향들을 제공하는 것과 관련되어 사용될 수 있다. 예를 들면, 가게 안에서, 이미터로부터의 상기 자기 신호는 마이크로-방향들을 이동 디바이스 사용자에게 전달할 수 있다, 예로서, "통로 7로 가고, 제품 X를 위해 당신의 좌측을 쳐다보라, 이제, $Y 세일 중이며, 상기 아이템의 사진을 캡처하기 위해 첫 3명의 사람들에게 $2의 추가적인 할인" (또는 관련 홍보 디스플레이의).
관련된 애플리케이션은 가게 내에서 특정 제품에 대한 방향들을 제공한다. 상기 사용자는 키-인하거나, 또는 원하는 제품들의 이름들을 말할 수 있으며, 이것은 다양한 시그널링 기술들 중 임의의 것을 사용하여 저장 컴퓨터에 전송된다. 상기 컴퓨터는 가게 내의 원하는 제품들의 위치들을 식별하고, 상기 사용자를 안내하기 위해 방향 데이터를 표현한다. 상기 방향들은 자기적으로 이동 디바이스, 또는 기타에 전달될 수 있다. 자기 이미터, 또는 여러 이미터들의 네트워크는 상기 원하는 제품들로 상기 사용자를 안내하는 것을 돕는다.
예를 들면, 상기 원하는 제품에서의 이미터는 가정 비콘으로서 작용할 수 있다. 각각의 이미터는 프레임들, 또는 패킷들로 데이터를 전송할 수 있으며, 각각은 제품 식별자를 포함한다. 상기 사용자에게 제공된 원래의 방향들(예로서, 통로 7을 발견하기 위해 좌측으로 간 후, 당신의 우측상에서 반쯤 아래로 가라)은 또한 상기 사용자에 의해 요구된 제품들에 대한 저장소의 제품 식별자들을 제공할 수 있다. 상기 사용자의 이동 디바이스는 상기 원하는 제품들로부터의 자기 방출들로 "튜닝"하기 위해 이들 식별자들을 사용할 수 있다. 나침반, 또는 다른 이러한 UI는 사용자가 방향들에 의해 표시된 일반적인 영역 내에서의 제품의 정확한 위치를 발견하도록 도울 수 있다. 상기 사용자가 각각의 원하는 제품을 발견할 때, 상기 이동 디바이스는 더 이상 상기 제품에 대응하는 방출들로 튜닝하지 않는다.
상기 가게에서의 통로들 및 다른 위치들은 그 자신의 각각의 자기 이미터들을 가질 수 있다. 상기 사용자에게 제공된 방향들은 자동 내비게이션 시스템들에 의해 대중화된 "턴 바이 턴" 다양성일 수 있다. (이러한 내비게이션 기술들은 또한 다른 실시예들에서 이용될 수 있다.) 상기 이동 디바이스는 라우트를 따라 다양한 웨이포인트들로부터 상기 이미터들을 감지함으로써 상기 방향들을 통해 사용자의 진행을 추적하고, 다음 단계(들)에 관해 상기 사용자를 프롬프트할 수 있다. 차례로, 상기 이미터들은 블루투스 또는 다른 시그널링에 의해서와 같이, 상기 이동 디바이스의 근접성을 감지하고, 상기 사용자 및 상기 사용자의 위치와 일치하여 그것들이 시그널링하는 데이터를 적응시킬 수 있다.
다수의 사용자들을 서비스하기 위해, 이미터들(예로서, 제품-식별 이미터들이라기 보다는, 내비게이션 이미터들)의 특정 네트워크들로부터의 전송들은 시간-분할 다중화될 수 있으며, 패킷들 또는 프레임들로 데이터를 전송하고, 그 각각은 의도하는 수신인을 나타내는 식별자를 포함한다. 이러한 식별자는 방향들에 대한 요청에 응답하여 상기 사용자에게 제공될 수 있으며, 상기 사용자 디바이스가 다른 것들로부터 상기 디바이스를 위해 의도된 전송들을 구별하도록 허용한다.
예로서, 하나의 애플리케이션을 위한 고주파수 데이터 신호 및 또 다른 것을 위한 저 주파수 데이터 신호을 방출하는, 이러한 이미터들로부터의 데이터는 주파수-분할 다중화될 수 있다.
상기 자기 신호는 주파수-, 진폭-, 최소-, 또는 위상-시프트 키잉, 직교 진폭 변조, 연속 위상 변조, 펄스 위치 변조, 트렐리스 변조, 처버- 또는 직접 시퀀스-확산 스펙트럼 등에 제한되지는 않지만, 이를 포함하는 임의의 알려진 장치를 사용하여 변조될 수 있다. 상이한 포워드 에러 정정 코딩 방식들(예로서, 터보, 리드-솔로몬, BCH)은 정확하고, 강력한 데이터 전송을 보장하기 위해 이용될 수 있다. 상이한 이미터들로부터 신호들을 구별하는 것을 돕기 위해, 상기 변조 도메인은 상이한 무선국들에 의한 스펙트럼의 공유에 유사한 방식으로, 상이한 이미터들, 또는 클래스들 또는 이미터들 간에 분할될 수 있다.
상기 이동 디바이스는 여기에 설명된 상기 애플리케이션들을 위한 디바이스의 자력계를 사용하기 위해 특별히 적응된 사용자 인터페이스를 제공받을 수 있다. 이것은 친숙한 WiFi 사용자 인터페이스들에 유사할 수 있으며, 상기 사용자에게 이용가능한 채널들에 대한 정보를 제공하고, 상기 사용자가 이용하기 위한 채널들 및/또는 회피하기 위한 채널들을 특정하도록 허용한다. 상기 설명된 애플리케이션들에서, 상기 UI는 어떤 이미터들이 튜닝하기 위한 것이고, 또는 어떤 데이터가 청취를 위한 것인지를 특정하도록 허용할 수 있으며, 다른 것들은 무시한다.
제스처 인터페이스의 형태인, 터치스크린 인터페이스들에 대한 참조가 이루어졌다. 본 기술의 실시예들에서 사용될 수 있는 또 다른 유형의 제스처 인터페이스는 캡처된 화상 내에서의 특징들의 이동을 추적함으로써, 스마트폰의 이동을 감지함으로써 동작한다. 또한, 이러한 제스처 인터페이스들에 대한 추가 정보는 디지마크의 특허 제6,947,571호에 설명된다. 제스처 기술들은 사용자 입력이 상기 시스템에 제공될 때마다 이용될 수 있다.
추가로 미리 볼 때, 얼굴 표현들(깜빡거림 등)에 응답적인 사용자 인터페이스들 및/또는 상기 사용자로부터 검출된 생물 측정 신호들(예로서, 뇌파들, 또는 EEG들)이 또한 이용될 수 있다. 이러한 장치들이 점차 잘 알려지고 있으며, 몇몇은 특허 문서들(20010056225, 20020077534, 20070185697, 20080218472, 및 20090214060)에 설명된다.
본 양수인은 디지털 워터마킹 및 지문-기반 기술들을 포함하는, 콘텐트 식별 기술들에서의 광범위한 히스토리를 가진다. 이들 기술들은 특정 시각적 질의들에 중요한 역할들을 가진다.
워터마킹은 예를 들면, 단지 분배 네트워크들 내의 별개의 미디어/물리적 오브젝트들을 식별하기에 이용가능한 콘테이너-독립 기술이다. 그것은 광범위하게 배치되며, 셀 수 없는 노래들, 모션 사진들, 및 인쇄된 문서들인 것처럼, 본질적으로 미국에서의 텔레비전 및 라디오 모두가 디지털로 워터마킹된다.
상기 오브젝트 그 자체의 고유 부분으로서 오브젝트 아이덴티티의 표시를 제공함으로써, 디지털 워터마크들은 오브젝트의 아이덴티티에 기초하여 이동 디바이스-오브젝트 상호작용을 용이하게 한다.
워터마크들을 인코딩/디코딩하기 위한 기술이 예로서, 디지마크의 특허들(제6,614,914호 및 제6,122,403호); 닐센의 특허들(제6,968,564호 및 제7,006,555호); 아비트론의 특허들(제5,450,490호, 제5,764,763호, 제6,862,355호, 및 제6,845,360호)에 설명된다.
디지마크는 본 주제에 관련있는 다른 특허 출원들을 가진다. 예로서, 특허 공개들(제20070156726호, 제20080049971호, 및 제20070266252호)을 보자.
오디오 핑거프린트의 예들은 특허 출원들(제20070250716호, 제20070174059호, 및 제20080300011호(디지마크), 제20080276265호, 제20070274537호, 및 제20050232411호(닐센), 제20070124756호(구글), 제7,516,074호(오디튜드), 및 제6,990,453호 및 제7,359,889호(양쪽 모두 셔잼)에 설명된다. 이미지/비디오 지문의 예들이 특허 공개들(제7,020,304호(디지마크), 제7,486,827호(세이코-엡손), 제20070253594호(보빌), 제20080317278호(톰슨), 및 제20020044659호(NEC)에 설명된다.
베이 영역을 획득한 시각적 탐색 기술(픽스토(Pixto))을 취급하는 필리프 스클로터(Philipp Schloter)에 의해 설립된 베이 에리어 스타트업을 획득하고, 그것의 "포인트 및 파인드(Point & Find)" 프로그램에서 상기 영역에서의 일을 계속한다. 이러한 일은 예로서, 공개된 특허 출원들(제20070106721호, 제20080071749호, 제20080071750호, 제20080071770호, 제20080071988호, 제20080267504호, 제20080267521호, 제20080268876호, 제20080270378호, 제20090083237호, 제20090083275호, 및 제20090094289호)에서 설명된다. 이들 문서들에 설명된 특징들 및 교시들은 본 출원에서 설명된 기술들 및 장치들과의 결합에 적합하며, 그 역 또한 마찬가지이다.
간결함을 위해, 상기 설명된 기술들의 무수히 많은 변형들 및 조합들이 이 분서에 분류되지 않는다. 출원인들은 본 명세서의 개념들이 인용된 종래 기술로부터 알려진 것을 가지고뿐만 아니라, 그것들 가운데 및 그것들 간에서 모두 결합되고, 대체되며, 상호교환될 수 있 수 있음을 인식하며 의도한다. 게다가, 그것은 상기 설명된 기술이 유리한 효과에 대한 현재 및 다가오는 다른 시술들을 갖고 포함될 수 있음이 인식될 것이다.
본 명세서를 지나치게 길게 하지 않고 포괄적인 개시를 제공하기 위해, 출원인들은 상기 참조된 문서들 및 특허 개시들을 참조함으로써 포함한다. (이러한 문서들은 그것들의 교시들의 특정한 것과 관련되어 상기에 인용될지라도, 그것들의 전체가 포함된다.) 이들 참조들은 여기에 설명된 상기 장치들로 포함될 수 있는 기술들 및 교시들을 개시하며, 여기에 설명된 상기 기술들 및 교시들이 포함될 수 있다.

Claims (28)

  1. 이미지 데이터를 처리하는 카메라-구비된 휴대용 디바이스를 사용하는 방법으로서, 상기 디바이스는 사용자에 의해 운반되는, 상기 카메라-구비된 휴대용 디바이스를 사용하는 방법에 있어서,
    복수의 상이한 이미지 프로세싱 동작들의 초기 세트를 수행하는 동작; 및
    명확한 사용자 명령 없이, 상황들 근거로서 부가적인 이미지 프로세싱 동작들을 작동시키는 동작을 포함하며,
    상기 디바이스는 추론되거나 또는 예상된 사용자 바램들을 이행하도록 자율적으로 동작하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  2. 제 1 항에 있어서,
    상기 이미지 프로세싱 동작들 중 하나 이상으로부터 기인하는 데이터 오브젝트들을 저장하거나 또는 그것의 저장을 위해 준비하는 단계, 및 원격 링크된 데이터 레지스트리에 상기 데이터 오브젝트들에 관한 시맨틱 주장들을 전송하는 단계를 포함하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  3. 제 1 항에 있어서,
    상기 이미지 데이터에 의해 표현된 장면 내에서 하나 이상의 시각적 특징들을 식별하는 단계, 및 상기 장면에서의 상기 시각적 특징(들)에 대응하는 위치(들)에서 상기 디바이스의 스크린상에 시각적 보블들(visual baubles)을 표시하는 단계를 포함하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  4. 제 3 항에 있어서,
    상기 보블들은 비-직사각형 형상인, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  5. 제 3 항에 있어서,
    하나 이상의 보블들에 관하여 상기 디바이스 스크린상에 사용자의 제스처를 감지하는 단계, 및 그것에 기초하여 동작을 취하는 단계를 포함하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  6. 제 5 항에 있어서,
    상기 동작은,
    (a) 보블과 연관된 함수에 보다 많거나 보다 적은 프로세싱 리소스들을 할당하는 단계로서, 상기 함수는 상기 사용자의 제스처를 감지하기 전에 개시되는, 상기 할당 단계;
    (b) 보블과 연관된 프로세스를 단축시키고, 행동의 사용자 선호 또는 패턴이 식별될 수 있도록 그것에 관련된 정보를 저장하는 단계;
    (c) 상기 디바이스 상에서의 보블과 연관된 프로세스를 적어도 일시적으로 단축시키고, 동시에 원격 프로세싱 시스템에서의 관련 프로세스를 계속하는 단계;
    (d) 하나 이상의 특징들을 배제하기 위해 이미지를 편집하는 단계;
    (e) 상기 디바이스 스크린상에 표시된 이미지 데이터에서 하나 이상의 특징들의 프로젝션을 변경하는 단계;
    (f) 복수의 보블들에 의해 표현된 엔티티들 간의 사회적 관계를 정의하는 단계, 중 적어도 하나를 포함하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  7. 제 3 항에 있어서,
    상기 장면에서 식별된 표면 특징에 대응하도록 상기 표시된 보블들 중 적어도 하나를 원근법으로 워핑하는 동작을 포함하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  8. 제 3 항에 있어서,
    상기 이미지 프로세싱 동작들 중 하나 이상이 상기 장면에서의 특징을 인식하거나 또는 식별하는 것과 같이, 원하는 결과를 향해 진행할 때, 상기 표시된 보블들 중 하나의 밝기, 형상, 또는 크기를 변경하는 단계를 포함하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  9. 제 1 항에 있어서,
    상기 작동시키는 동작은 상황에 기초하여 부가적인 이미지 프로세싱 동작들을 작동시키는 단계를 포함하며, 상기 상황은,
    (a) 위치;
    (b) 시각;
    (c) 하나 이상의 사람들에 대한 근접성;
    (d) 상기 이미지 프로세싱 동작들의 초기 세트에 기초한 출력; 또는
    (e) 사용자 행동의 정적 모델 중 적어도 하나를 포함하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  10. 제 1 항에 있어서,
    상기 이미지 프로세싱 동작들 중 하나 이상으로부터 결과들을 포함하는 데이터로부터, 상기 사용자에 의해 요구된 상호작용의 유형에 관한 정보를 추론하는 단계, 및 이러한 정보에 기초하여 부가적인 이미지 프로세싱 동작들을 작동시키는 단계를 포함하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  11. 제 1 항에 있어서,
    원격 시스템이 상기 디바이스와 동일한 이미지 프로세싱 동작들 중 하나 이상을 수행할 수 있도록 상기 원격 시스템에 데이터를 전송하는 단계를 또한 포함하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  12. 제 1 항에 있어서,
    상기 디바이스는 상기 디바이스의 카메라에 의해 이미징된 동전들의 그룹의 값을 결정하도록 자율적으로 동작하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  13. 제 1 항에 있어서,
    데이터에 기초하여 보다 큰 가능한 이미지 프로세싱 동작들의 제 2 세트로부터 수행될 부가적인 이미지 프로세싱 동작들의 제 1 세트를 선택하는 단계를 포함하며, 상기 데이터는:
    (a) 디바이스 리소스 사용;
    (b) 상기 가능한 동작들의 차이와 연관된 리소스 요구들; 및
    (c) 상기 가능한 동작들의 차이 간의 관련성, 중 하나 이상을 나타내는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  14. 제 1 항에 있어서,
    상기 이미지 데이터에 의해 표현된 장면 내에 하나 이상의 시각적 특징들을 식별하는 단계, 및 대응하는 식별자에 연관하여 각각의 이러한 특징에 관련된 데이터를 저장하는 단계를 포함하며, 상기 식별자는:
    (a) 세션 ID;
    (b) 명확한 오브젝트 ID; 및
    (c) 상기 특징으로부터 도출되거나, 또는 관련 상황으로부터 도출된 데이터, 중 적어도 2개에 기초하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  15. 제 1 항에 있어서,
    넌-이미지 정보를 생성하기 위해 상기 디바이스에서 넌-이미지 센서 시스템을 사용하는 단계, 및
    (a) 이미지 프로세싱 동작들의 선택에 영향을 미치는 것; 및
    (b) 상기 이미지 데이터에 관한 둘 이상의 후보 결론들 사이를 명확히 보여주는 것, 중 적어도 하나에 대한 이러한 정보를 채용하는 단계를 포함하며,
    상기 넌-이미지 센서 시스템은 지리학적 위치 시스템, 오디오 센서, 온도 센서, 자계 센서, 모션 센서, 또는 후각 센서 중 적어도 하나를 포함하는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  16. 제 1 항에 있어서,
    상기 이미지 데이터, 또는 상기 이미지 프로세싱 동작들 중 하나 이상으로부터의 데이터의 적어도 일부를 원격 컴퓨터 시스템에 전송하는 동작을 더 포함하며, 따라서 상기 원격 컴퓨터 시스템이 그것의 프로세싱에서 상기 디바이스가 식별하지 않은 정보를 얻으려는 노력으로, 상기 디바이스에 의해 이전 수행된 이미지 프로세싱을 계속할 수 있는, 카메라-구비된 휴대용 디바이스를 사용하는 방법.
  17. 상기 사용자가 상기 오브젝트와의, 또는 이전에 이러한 주장을 한 또 다른 사용자와의 입증할 수 있는 관계를 가지지 않는다면, 물리적 오브젝트에 대한 주장들을 액세스하거나, 또는 주장들을 하기 위한 사용자의 능력을 제한함으로써 특성화되는, 링크 데이터 방법.
  18. 제 17 항에 있어서,
    상기 입증할 수 있는 관계가 상기 사용자에 의해 운반된 스마트폰 디바이스에서 센서 시스템에 의해 생성된 데이터에 의해 표시된 바와 같이, 상기 물리적 오브젝트의 특정 거리 내에서 존재하는, 링크 데이터 방법.
  19. 사용자에 의해 운반된 센서에 의해 생성된 데이터에 기초하여 모션 정보를 체크하고, 상기 모션 정보가 상기 사용자가 제한된 방식으로 이동함을 나타낸다면 물리적 오브젝트에 관한 주장들을 액세스하거나, 또는 주장하기 위해 상기 사용자의 능력을 제한함으로써 특성화되는, 링크 데이터 방법.
  20. 제 19 항에 있어서,
    상기 제한된 방식은 임계값을 넘는 속도의 모션을 포함하는, 링크 데이터 방법.
  21. 방법에 있어서,
    동작의 제 1 단계에서, 사용자의 환경들로부터 화상의 시퀀스를 캡처하는 동작;
    그 안의 특징들을 인식하고, 관련된 정보를 식별하기 위해 상기 시퀀스를 처리하는 동작으로서, 상기 처리는 상기 사용자에 의해 운반된 휴대용 장치에 의해 적어도 부분적으로 수행되는, 상기 처리 동작; 및
    상기 제 1 단계를 후속하는 동작의 제 2 단계에서, 상기 휴대용 장치와 연관된 출력 디바이스를 사용하여 상기 사용자에게 상기 관련된 정보를 제공하는 동작을 포함하는, 방법.
  22. 제 21 항에 있어서,
    (a) 상기 시퀀스의 이전 부분에서 달리 식별가능하지 않은 상기 시퀀스의 나중 부분에서 이미지 특성을 식별하고, 상기 이전 부분에서 상기 특징을 식별하기 위해 상기 나중 부분으로부터 상기 식별을 사용하는 단계; 및
    (b) 상기 관련된 정보의 적어도 일부에 의해 주석이 달린, 상기 시퀀스의 적어도 일부를 통해 앞으로 또는 뒤로 진행하도록 사용자 제스처들에 응답하는 단계, 중 적어도 하나를 포함하는, 방법.
  23. 자기 센서를 구비한 스마트 폰을 동작시키는 방법에 있어서,
    소매 환경에서 복수의 전자기 이미터들에 의해 방출된 자기 신호들을 감지하고, 그것에 기반한 사용자에게 내비게이션 또는 제품 정보를 제공함으로써 특성화되는, 스마트 폰 동작 방법.
  24. 루트를 따르는 센서-기반의 인력 내비게이션의 방법에 있어서,
    목적지에 대한 루트를 결정하는 동작;
    상기 사용자에 의해 운반된 전자 장치에서 하나 이상의 센서들을 사용하여 상기 결정된 루트를 따라 사용자의 진행을 감지하는 동작; 및
    내비게이션을 돕기 위해 상기 사용자에게 피드백을 제공하는 동작을 포함하며,
    상기 피드백은 상기 사용자가 상기 목적지를 향해 진행할 때 더 빈번하게 커지는 클릭들의 패턴을 포함하는, 센서-기반의 인력 내비게이션의 방법.
  25. 제 24 항에 있어서,
    상기 피드백은 진동 피드백을 포함하는, 센서-기반의 인력 내비게이션의 방법.
  26. 제 24 항에 있어서,
    진행하는 방향을 결정할 때 상기 사용자를 돕기 위해, 상기 사용자가 직면하는 방향에 따라 상기 피드백을 변경하는 단계를 포함하는, 센서-기반의 인력 내비게이션의 방법.
  27. 제 24 항에 있어서,
    상기 사용자가 정지할 때 상기 피드백의 진폭을 증가시키는 단계, 또는 상기 사용자가 이동할 때 상기 피드백의 상기 진폭을 감소시키는 단계를 포함하는, 센서-기반의 인력 내비게이션의 방법.
  28. 제 24 항에 있어서,
    상기 하나 이상의 센서들은 그것의 방향을 나타내는 출력 데이터를 생성하는 자력계를 포함하며, 상기 자력계는 상기 장치가 상기 사용자에 의해 운반되는 방향으로 인해 상기 사용자가 직면하는 방향과 다른 방향을 나타낼 수 있고, 상기 방법은 상기 차이를 보상하는 단계를 포함하는, 센서-기반의 인력 내비게이션의 방법.
KR1020127013550A 2009-10-28 2010-10-28 센서-기반 모바일 검색, 관련 방법들 및 시스템들 KR101796008B1 (ko)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US25581709P 2009-10-28 2009-10-28
US61/255,817 2009-10-28
US26102809P 2009-11-13 2009-11-13
US61/261,028 2009-11-13
US26331809P 2009-11-20 2009-11-20
US61/263,318 2009-11-20
US26463909P 2009-11-25 2009-11-25
US61/264,639 2009-11-25
US26696509P 2009-12-04 2009-12-04
US61/266,965 2009-12-04
US28572609P 2009-12-11 2009-12-11
US61/285,726 2009-12-11
US12/640,386 US8175617B2 (en) 2009-10-28 2009-12-17 Sensor-based mobile search, related methods and systems
US12/640,386 2009-12-17
PCT/US2010/054544 WO2011059761A1 (en) 2009-10-28 2010-10-28 Sensor-based mobile search, related methods and systems

Publications (2)

Publication Number Publication Date
KR20120075487A true KR20120075487A (ko) 2012-07-06
KR101796008B1 KR101796008B1 (ko) 2017-11-09

Family

ID=43898869

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127013550A KR101796008B1 (ko) 2009-10-28 2010-10-28 센서-기반 모바일 검색, 관련 방법들 및 시스템들

Country Status (7)

Country Link
US (5) US8175617B2 (ko)
EP (1) EP2494496B1 (ko)
JP (1) JP6011938B2 (ko)
KR (1) KR101796008B1 (ko)
CN (2) CN105224075B (ko)
CA (1) CA2775097C (ko)
WO (1) WO2011059761A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101487461B1 (ko) * 2014-06-26 2015-01-28 우원소프트 주식회사 개인영상 정보보호 기능이 탑재된 얼굴인식 보안 관제 시스템
KR20150059793A (ko) * 2012-10-18 2015-06-02 퀄컴 인코포레이티드 카드에 양각된 문자들의 검출
KR20170011734A (ko) * 2015-07-24 2017-02-02 주식회사 스마티랩 모바일 디바이스의 컨텍스트 수집이나 전송 효율성을 위한 자율 최적화 시스템 및 그 방법
KR20190138888A (ko) * 2017-05-16 2019-12-16 구글 엘엘씨 이미지 및/또는 다른 센서 데이터 기반의 자동화 어시스턴트 요청 해석
KR20210033668A (ko) * 2019-09-19 2021-03-29 주식회사 스켈터랩스 블랙보드 기반의 사용자 모델링을 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체
KR102543681B1 (ko) * 2022-07-26 2023-06-16 주식회사 에스씨이코리아 Ai를 이용한 접근성 검증 시스템

Families Citing this family (342)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120306907A1 (en) * 2011-06-03 2012-12-06 Huston Charles D System and Method for Inserting and Enhancing Messages Displayed to a User When Viewing a Venue
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US8140261B2 (en) * 2005-11-23 2012-03-20 Alcatel Lucent Locating sensor nodes through correlations
US8463053B1 (en) 2008-08-08 2013-06-11 The Research Foundation Of State University Of New York Enhanced max margin learning on multimodal data mining in a multimedia database
US8805110B2 (en) 2008-08-19 2014-08-12 Digimarc Corporation Methods and systems for content processing
US8929877B2 (en) 2008-09-12 2015-01-06 Digimarc Corporation Methods and systems for content processing
US8908995B2 (en) 2009-01-12 2014-12-09 Intermec Ip Corp. Semi-automatic dimensioning with imager on a portable device
US8350694B1 (en) 2009-05-18 2013-01-08 Alarm.Com Incorporated Monitoring system to monitor a property with a mobile device with a monitoring application
US9749607B2 (en) 2009-07-16 2017-08-29 Digimarc Corporation Coordinated illumination and image signal capture for enhanced signal detection
US8175617B2 (en) 2009-10-28 2012-05-08 Digimarc Corporation Sensor-based mobile search, related methods and systems
US8831279B2 (en) * 2011-03-04 2014-09-09 Digimarc Corporation Smartphone-based methods and systems
US8121618B2 (en) * 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
US8819172B2 (en) 2010-11-04 2014-08-26 Digimarc Corporation Smartphone-based methods and systems
US9197736B2 (en) 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
KR20110047398A (ko) * 2009-10-30 2011-05-09 삼성전자주식회사 영상제공시스템 및 그 영상제공방법
US8531523B2 (en) * 2009-12-08 2013-09-10 Trueposition, Inc. Multi-sensor location and identification
US8427443B2 (en) * 2009-12-30 2013-04-23 Hong Kong Applied Science And Technology Research Institute Co. Ltd. Coordinate locating method, coordinate locating device, and display apparatus comprising the coordinate locating device
US9143603B2 (en) 2009-12-31 2015-09-22 Digimarc Corporation Methods and arrangements employing sensor-equipped smart phones
US8400548B2 (en) * 2010-01-05 2013-03-19 Apple Inc. Synchronized, interactive augmented reality displays for multifunction devices
KR101082487B1 (ko) * 2010-01-29 2011-11-11 키위플 주식회사 객체 인식시스템 및 이를 이용하는 객체 인식 방법
US8971567B2 (en) 2010-03-05 2015-03-03 Digimarc Corporation Reducing watermark perceptibility and extending detection distortion tolerances
US8477990B2 (en) 2010-03-05 2013-07-02 Digimarc Corporation Reducing watermark perceptibility and extending detection distortion tolerances
US10664940B2 (en) 2010-03-05 2020-05-26 Digimarc Corporation Signal encoding to reduce perceptibility of changes over time
US8660355B2 (en) 2010-03-19 2014-02-25 Digimarc Corporation Methods and systems for determining image processing operations relevant to particular imagery
US8244236B2 (en) * 2010-04-29 2012-08-14 Wavemarket, Inc. System and method for aggregating and disseminating mobile device tag data
JP5802997B2 (ja) 2010-05-05 2015-11-04 ディジマーク コーポレイション 隠された画像のシグナリング
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
US8464183B2 (en) * 2010-06-03 2013-06-11 Hewlett-Packard Development Company, L.P. System and method for distinguishing multimodal commands directed at a machine from ambient human communications
US20120174006A1 (en) * 2010-07-02 2012-07-05 Scenemachine, Llc System, method, apparatus and computer program for generating and modeling a scene
US9484046B2 (en) * 2010-11-04 2016-11-01 Digimarc Corporation Smartphone-based methods and systems
US9240021B2 (en) 2010-11-04 2016-01-19 Digimarc Corporation Smartphone-based methods and systems
KR101085880B1 (ko) * 2010-11-05 2011-11-23 주식회사 네오패드 가상 키입력수단의 배경화면 광고 제공 방법 및 시스템
KR101749529B1 (ko) * 2010-11-25 2017-06-21 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
CN103282927B (zh) * 2011-01-04 2018-11-23 Aq株式会社 广告信息提供系统
KR101828273B1 (ko) * 2011-01-04 2018-02-14 삼성전자주식회사 결합기반의 음성명령 인식 장치 및 그 방법
US8989769B2 (en) * 2011-01-11 2015-03-24 Qualcomm Incorporated Positioning system using light information
US9317835B2 (en) 2011-03-08 2016-04-19 Bank Of America Corporation Populating budgets and/or wish lists using real-time video image analysis
US9224166B2 (en) 2011-03-08 2015-12-29 Bank Of America Corporation Retrieving product information from embedded sensors via mobile device video analysis
US20120232966A1 (en) * 2011-03-08 2012-09-13 Bank Of America Corporation Identifying predetermined objects in a video stream captured by a mobile device
US9773285B2 (en) 2011-03-08 2017-09-26 Bank Of America Corporation Providing data associated with relationships between individuals and images
US9317860B2 (en) 2011-03-08 2016-04-19 Bank Of America Corporation Collective network of augmented reality users
US9858343B2 (en) 2011-03-31 2018-01-02 Microsoft Technology Licensing Llc Personalization of queries, conversations, and searches
US10642934B2 (en) 2011-03-31 2020-05-05 Microsoft Technology Licensing, Llc Augmented conversational understanding architecture
US9244984B2 (en) * 2011-03-31 2016-01-26 Microsoft Technology Licensing, Llc Location based conversational understanding
US9760566B2 (en) 2011-03-31 2017-09-12 Microsoft Technology Licensing, Llc Augmented conversational understanding agent to identify conversation context between two humans and taking an agent action thereof
US9842168B2 (en) 2011-03-31 2017-12-12 Microsoft Technology Licensing, Llc Task driven user intents
US9298287B2 (en) 2011-03-31 2016-03-29 Microsoft Technology Licensing, Llc Combined activation for natural user interface systems
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9064006B2 (en) 2012-08-23 2015-06-23 Microsoft Technology Licensing, Llc Translating natural language utterances to keyword search queries
US9454962B2 (en) 2011-05-12 2016-09-27 Microsoft Technology Licensing, Llc Sentence simplification for spoken language understanding
US8838688B2 (en) * 2011-05-31 2014-09-16 International Business Machines Corporation Inferring user interests using social network correlation and attribute correlation
US9552376B2 (en) 2011-06-09 2017-01-24 MemoryWeb, LLC Method and apparatus for managing digital files
US10296921B2 (en) * 2011-06-21 2019-05-21 Disney Enterprises, Inc. System and method for event context-based commerce options
US9697051B2 (en) 2011-06-27 2017-07-04 Nokia Technologies Oy Method and apparatus for providing services via cloud-based analytics
US8209183B1 (en) 2011-07-07 2012-06-26 Google Inc. Systems and methods for correction of text from different input types, sources, and contexts
US8719824B2 (en) * 2011-08-03 2014-05-06 Raytheon Company Dynamically configurable command and control systems and methods
US9058565B2 (en) * 2011-08-17 2015-06-16 At&T Intellectual Property I, L.P. Opportunistic crowd-based service platform
US11288472B2 (en) * 2011-08-30 2022-03-29 Digimarc Corporation Cart-based shopping arrangements employing probabilistic item identification
US9367770B2 (en) * 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
US9535154B2 (en) 2011-09-12 2017-01-03 Microsoft Technology Licensing, Llc Cache-based location determination
US8498627B2 (en) 2011-09-15 2013-07-30 Digimarc Corporation Intuitive computing methods and systems
US9245051B2 (en) * 2011-09-20 2016-01-26 Nokia Technologies Oy Method and apparatus for conducting a search based on available data modes
US9373042B2 (en) * 2011-09-20 2016-06-21 Toyota Jidosha Kabushiki Kaisha Subject change detection system and subject change detection method
US8615431B1 (en) * 2011-09-29 2013-12-24 Amazon Technologies, Inc. Network content message placement management
US9299110B2 (en) * 2011-10-19 2016-03-29 Facebook, Inc. Periodic ambient waveform analysis for dynamic device configuration
CN103167103B (zh) * 2011-12-17 2017-07-28 富泰华工业(深圳)有限公司 手机及其自动接通方法与自动挂断方法
US9389681B2 (en) * 2011-12-19 2016-07-12 Microsoft Technology Licensing, Llc Sensor fusion interface for multiple sensor input
CN104094287A (zh) * 2011-12-21 2014-10-08 诺基亚公司 用于情境识别的方法、装置以及计算机软件
US9275633B2 (en) 2012-01-09 2016-03-01 Microsoft Technology Licensing, Llc Crowd-sourcing pronunciation corrections in text-to-speech engines
US9547832B2 (en) * 2012-01-10 2017-01-17 Oracle International Corporation Identifying individual intentions and determining responses to individual intentions
US10650442B2 (en) * 2012-01-13 2020-05-12 Amro SHIHADAH Systems and methods for presentation and analysis of media content
US9778829B2 (en) 2012-02-17 2017-10-03 Lenovo (Singapore) Pte. Ltd. Magnification based on eye input
US20140309930A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Automatic camera image retrieval based on route traffic and conditions
US20130254194A1 (en) * 2012-03-23 2013-09-26 Fujitsu Limited Providing setting recommendations to a communication device
US9860365B2 (en) * 2012-03-23 2018-01-02 Fujitsu Limited Providing setting adjustments to a communication device
US9779546B2 (en) 2012-05-04 2017-10-03 Intermec Ip Corp. Volume dimensioning systems and methods
US9007368B2 (en) 2012-05-07 2015-04-14 Intermec Ip Corp. Dimensioning system calibration systems and methods
US10007858B2 (en) 2012-05-15 2018-06-26 Honeywell International Inc. Terminals and methods for dimensioning objects
US9593982B2 (en) 2012-05-21 2017-03-14 Digimarc Corporation Sensor-synchronized spectrally-structured-light imaging
CN107104731B (zh) 2012-05-24 2019-09-03 松下电器(美国)知识产权公司 信息通信方法、信息通信装置及记录介质
US8837830B2 (en) * 2012-06-12 2014-09-16 Xerox Corporation Finding text in natural scenes
US9599632B2 (en) 2012-06-22 2017-03-21 Fitbit, Inc. Fitness monitoring device with altimeter
US9501573B2 (en) 2012-07-30 2016-11-22 Robert D. Fish Electronic personal companion
US10321127B2 (en) 2012-08-20 2019-06-11 Intermec Ip Corp. Volume dimensioning system calibration systems and methods
US9110844B2 (en) 2012-08-27 2015-08-18 Microsoft Technology Licensing, Llc State maintenance as a service
US9547316B2 (en) * 2012-09-07 2017-01-17 Opower, Inc. Thermostat classification method and system
US9607025B2 (en) 2012-09-24 2017-03-28 Andrew L. DiRienzo Multi-component profiling systems and methods
US8965398B2 (en) 2012-09-26 2015-02-24 Hewlett-Packard Development Company, L.P. Bluetooth beacon based location determination
US8965824B2 (en) * 2012-09-29 2015-02-24 Intel Corporation Electronic personal advocate
US9939259B2 (en) 2012-10-04 2018-04-10 Hand Held Products, Inc. Measuring object dimensions using mobile computer
US20140104413A1 (en) 2012-10-16 2014-04-17 Hand Held Products, Inc. Integrated dimensioning and weighing system
US9094616B2 (en) 2012-10-16 2015-07-28 Vidinoti Sa Method and system for image capture and facilitated annotation
CN104871179A (zh) * 2012-10-16 2015-08-26 维迪诺蒂有限公司 用于图像捕捉和便于注解的方法和系统
US20140108103A1 (en) * 2012-10-17 2014-04-17 Gengo, Inc. Systems and methods to control work progress for content transformation based on natural language processing and/or machine learning
US9154565B2 (en) 2012-11-29 2015-10-06 The Nielsen Company (Us), Llc Methods and apparatus to monitor online activity
US9813662B2 (en) * 2012-11-30 2017-11-07 Lenovo (Singapore) Pte. Ltd. Transfer to target disambiguation
US8847775B2 (en) 2012-11-30 2014-09-30 Panasonic Corporation Tangible charge level awareness method and apparatus using augmented batteries
US9166895B1 (en) * 2012-12-13 2015-10-20 Vmware, Inc. Detecting process execution state change using measurement of resource consumption
US20140172767A1 (en) * 2012-12-14 2014-06-19 Microsoft Corporation Budget optimal crowdsourcing
US9046926B2 (en) 2012-12-17 2015-06-02 International Business Machines Corporation System and method of dynamically generating a frequency pattern to realize the sense of touch in a computing device
US9767768B2 (en) 2012-12-20 2017-09-19 Arris Enterprises, Inc. Automated object selection and placement for augmented reality
WO2014103157A1 (ja) 2012-12-27 2014-07-03 パナソニック株式会社 映像表示方法
US9608727B2 (en) 2012-12-27 2017-03-28 Panasonic Intellectual Property Corporation Of America Switched pixel visible light transmitting method, apparatus and program
US9088360B2 (en) 2012-12-27 2015-07-21 Panasonic Intellectual Property Corporation Of America Information communication method
CN104885381B (zh) 2012-12-27 2017-12-19 松下电器(美国)知识产权公司 信息通信方法
EP2940889B1 (en) 2012-12-27 2019-07-31 Panasonic Intellectual Property Corporation of America Visible-light-communication-signal display method and display device
SG11201505027UA (en) 2012-12-27 2015-07-30 Panasonic Ip Corp America Information communication method
US10951310B2 (en) 2012-12-27 2021-03-16 Panasonic Intellectual Property Corporation Of America Communication method, communication device, and transmitter
US10530486B2 (en) 2012-12-27 2020-01-07 Panasonic Intellectual Property Corporation Of America Transmitting method, transmitting apparatus, and program
US10303945B2 (en) 2012-12-27 2019-05-28 Panasonic Intellectual Property Corporation Of America Display method and display apparatus
EP2940901B1 (en) 2012-12-27 2019-08-07 Panasonic Intellectual Property Corporation of America Display method
US9608725B2 (en) 2012-12-27 2017-03-28 Panasonic Intellectual Property Corporation Of America Information processing program, reception program, and information processing apparatus
US10523876B2 (en) 2012-12-27 2019-12-31 Panasonic Intellectual Property Corporation Of America Information communication method
US9252878B2 (en) 2012-12-27 2016-02-02 Panasonic Intellectual Property Corporation Of America Information communication method
US8922666B2 (en) * 2012-12-27 2014-12-30 Panasonic Intellectual Property Corporation Of America Information communication method
US9183261B2 (en) 2012-12-28 2015-11-10 Shutterstock, Inc. Lexicon based systems and methods for intelligent media search
US9183215B2 (en) 2012-12-29 2015-11-10 Shutterstock, Inc. Mosaic display systems and methods for intelligent media search
CN103905505A (zh) * 2012-12-30 2014-07-02 青岛海尔软件有限公司 监控植物生长的手机应用系统
US20140201276A1 (en) 2013-01-17 2014-07-17 Microsoft Corporation Accumulation of real-time crowd sourced data for inferring metadata about entities
US20140244741A1 (en) * 2013-02-25 2014-08-28 Stellr, Inc. Computer-Implemented System And Method For Context-Based APP Searching And APP Use Insights
US9311640B2 (en) 2014-02-11 2016-04-12 Digimarc Corporation Methods and arrangements for smartphone payments and transactions
US9080856B2 (en) 2013-03-13 2015-07-14 Intermec Ip Corp. Systems and methods for enhancing dimensioning, for example volume dimensioning
US9679053B2 (en) 2013-05-20 2017-06-13 The Nielsen Company (Us), Llc Detecting media watermarks in magnetic field data
FR3006472B1 (fr) * 2013-05-31 2016-12-30 Xilopix Procede de recherche dans une base de donnees
US9621760B2 (en) 2013-06-07 2017-04-11 Digimarc Corporation Information coding and decoding in spectral differences
US10228452B2 (en) 2013-06-07 2019-03-12 Hand Held Products, Inc. Method of error correction for 3D imaging device
US10645651B2 (en) * 2013-06-12 2020-05-05 Qualcomm Incorporated Methods and apparatus for improving re-activation of a NFC-F based remote NFC device
CN103297544B (zh) * 2013-06-24 2015-06-17 杭州泰一指尚科技有限公司 一种基于增强现实的即时通讯应用方法
US9239950B2 (en) 2013-07-01 2016-01-19 Hand Held Products, Inc. Dimensioning system
US9464885B2 (en) 2013-08-30 2016-10-11 Hand Held Products, Inc. System and method for package dimensioning
KR101627169B1 (ko) 2013-09-27 2016-06-07 한국과학기술연구원 증강현실 컨텐츠 저작 및 제공 시스템
US11210705B1 (en) * 2013-10-18 2021-12-28 United Services Automobile Association (Usaa) System and method for transmitting direct advertising information to an augmented reality device
CN107466008B (zh) * 2013-10-22 2020-12-25 华为终端有限公司 一种移动终端的消息呈现方法及移动终端
EP3063687A4 (en) 2013-10-28 2017-04-19 Nant Holdings IP LLC Intent engines systems and method
US9870357B2 (en) * 2013-10-28 2018-01-16 Microsoft Technology Licensing, Llc Techniques for translating text via wearable computing device
US9864972B2 (en) 2013-11-14 2018-01-09 Wells Fargo Bank, N.A. Vehicle interface
US10037542B2 (en) * 2013-11-14 2018-07-31 Wells Fargo Bank, N.A. Automated teller machine (ATM) interface
US10021247B2 (en) 2013-11-14 2018-07-10 Wells Fargo Bank, N.A. Call center interface
US9363558B2 (en) 2013-11-19 2016-06-07 The Nielsen Company (Us), Llc Methods and apparatus to measure a cross device audience
US9110635B2 (en) 2013-12-03 2015-08-18 Lenova (Singapore) Pte. Ltd. Initiating personal assistant application based on eye tracking and gestures
US10163455B2 (en) 2013-12-03 2018-12-25 Lenovo (Singapore) Pte. Ltd. Detecting pause in audible input to device
US9213659B2 (en) 2013-12-03 2015-12-15 Lenovo (Singapore) Pte. Ltd. Devices and methods to receive input at a first device and present output in response on a second device different from the first device
US9354778B2 (en) 2013-12-06 2016-05-31 Digimarc Corporation Smartphone-based methods and systems
US9709708B2 (en) 2013-12-09 2017-07-18 Lenovo (Singapore) Pte. Ltd. Adjustable display optics
US10180716B2 (en) 2013-12-20 2019-01-15 Lenovo (Singapore) Pte Ltd Providing last known browsing location cue using movement-oriented biometric data
US9633252B2 (en) 2013-12-20 2017-04-25 Lenovo (Singapore) Pte. Ltd. Real-time detection of user intention based on kinematics analysis of movement-oriented biometric data
EP2887294A1 (en) * 2013-12-23 2015-06-24 Thomson Licensing Method and device for providing targeted content
US9426525B2 (en) 2013-12-31 2016-08-23 The Nielsen Company (Us), Llc. Methods and apparatus to count people in an audience
US10612939B2 (en) * 2014-01-02 2020-04-07 Microsoft Technology Licensing, Llc Ground truth estimation for autonomous navigation
US10453097B2 (en) 2014-01-13 2019-10-22 Nant Holdings Ip, Llc Sentiments based transaction systems and methods
US10073671B2 (en) 2014-01-20 2018-09-11 Lenovo (Singapore) Pte. Ltd. Detecting noise or object interruption in audio video viewing and altering presentation based thereon
CN104866504B (zh) * 2014-02-25 2018-07-06 北京娜迦信息科技发展有限公司 一种对Android软件进行功能扩展的方法及装置
US9633042B2 (en) 2014-02-28 2017-04-25 Nant Holdings Ip, Llc Object recognition trait analysis systems and methods
US20150262446A1 (en) * 2014-03-13 2015-09-17 Daniel Taylor Currency inspection using mobile device and attachments
US10713614B1 (en) * 2014-03-25 2020-07-14 Amazon Technologies, Inc. Weight and vision based item tracking
US10657411B1 (en) 2014-03-25 2020-05-19 Amazon Technologies, Inc. Item identification
US10009311B2 (en) * 2014-03-28 2018-06-26 Alcatel Lucent Chat-based support of multiple communication interaction types
JP5955486B2 (ja) * 2014-04-22 2016-07-20 三菱電機株式会社 ユーザインターフェースシステム、ユーザインターフェース制御装置、ユーザインターフェース制御方法およびユーザインターフェース制御プログラム
US9870500B2 (en) 2014-06-11 2018-01-16 At&T Intellectual Property I, L.P. Sensor enhanced speech recognition
US9766702B2 (en) * 2014-06-19 2017-09-19 Apple Inc. User detection by a computing device
KR102304979B1 (ko) * 2014-06-19 2021-09-27 삼성전자주식회사 전자 장치 및 전자 장치에서 페어링 방법
US9823059B2 (en) 2014-08-06 2017-11-21 Hand Held Products, Inc. Dimensioning system with guided alignment
US9811095B2 (en) 2014-08-06 2017-11-07 Lenovo (Singapore) Pte. Ltd. Glasses with fluid-fillable membrane for adjusting focal length of one or more lenses of the glasses
US10113910B2 (en) 2014-08-26 2018-10-30 Digimarc Corporation Sensor-synchronized spectrally-structured-light imaging
CN104219534B (zh) * 2014-08-27 2019-02-26 烽火通信科技股份有限公司 一种Linux机顶盒实现云存储代理的系统及方法
CN104302016A (zh) * 2014-09-16 2015-01-21 北京市信息技术研究所 一种基于多功能复合式传感器的无线传感网架构
US10417525B2 (en) 2014-09-22 2019-09-17 Samsung Electronics Co., Ltd. Object recognition with reduced neural network weight precision
US10810715B2 (en) 2014-10-10 2020-10-20 Hand Held Products, Inc System and method for picking validation
US10775165B2 (en) 2014-10-10 2020-09-15 Hand Held Products, Inc. Methods for improving the accuracy of dimensioning-system measurements
US9779276B2 (en) 2014-10-10 2017-10-03 Hand Held Products, Inc. Depth sensor based auto-focus system for an indicia scanner
US9762793B2 (en) 2014-10-21 2017-09-12 Hand Held Products, Inc. System and method for dimensioning
US9752864B2 (en) 2014-10-21 2017-09-05 Hand Held Products, Inc. Handheld dimensioning system with feedback
US10060729B2 (en) 2014-10-21 2018-08-28 Hand Held Products, Inc. Handheld dimensioner with data-quality indication
US9897434B2 (en) 2014-10-21 2018-02-20 Hand Held Products, Inc. Handheld dimensioning system with measurement-conformance feedback
US9557166B2 (en) 2014-10-21 2017-01-31 Hand Held Products, Inc. Dimensioning system with multipath interference mitigation
US20160134741A1 (en) * 2014-11-06 2016-05-12 Vinc Corporation User-directed information content
US9727941B1 (en) 2014-11-19 2017-08-08 Digimarc Corporation Optimizing optical scanners for digital watermark detection
US9535497B2 (en) 2014-11-20 2017-01-03 Lenovo (Singapore) Pte. Ltd. Presentation of data on an at least partially transparent display based on user focus
CN104665838B (zh) * 2015-02-11 2017-08-04 深圳泰山体育科技股份有限公司 体质检测方法及系统
US9904504B2 (en) 2015-02-24 2018-02-27 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for providing environmental feedback based on received gestural input
US9591447B2 (en) 2015-02-27 2017-03-07 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for providing contextual environmental information
US10860094B2 (en) 2015-03-10 2020-12-08 Lenovo (Singapore) Pte. Ltd. Execution of function based on location of display at which a user is looking and manipulation of an input device
US10013540B2 (en) 2015-03-10 2018-07-03 Lenovo (Singapore) Pte. Ltd. Authentication based on body movement
US10499164B2 (en) 2015-03-18 2019-12-03 Lenovo (Singapore) Pte. Ltd. Presentation of audio based on source
US9585155B2 (en) 2015-03-20 2017-02-28 Qualcomm Incorporated Optimizing the allocation of spare resources
US10621431B2 (en) 2015-03-27 2020-04-14 Lenovo (Singapore) Pte. Ltd. Camera that uses light from plural light sources disposed on a device
JP6572618B2 (ja) * 2015-05-08 2019-09-11 富士通株式会社 情報処理装置、情報処理プログラム、情報処理方法、端末装置、設定方法、設定プログラム
US9786101B2 (en) 2015-05-19 2017-10-10 Hand Held Products, Inc. Evaluating image values
US10075919B2 (en) * 2015-05-21 2018-09-11 Motorola Mobility Llc Portable electronic device with proximity sensors and identification beacon
US10066982B2 (en) 2015-06-16 2018-09-04 Hand Held Products, Inc. Calibrating a volume dimensioner
US9857167B2 (en) 2015-06-23 2018-01-02 Hand Held Products, Inc. Dual-projector three-dimensional scanner
US20160377414A1 (en) 2015-06-23 2016-12-29 Hand Held Products, Inc. Optical pattern projector
EP3314553A1 (en) * 2015-06-25 2018-05-02 Koninklijke Philips N.V. Method and apparatus for controlling the operation of an electronic device
CN104915696B (zh) * 2015-07-01 2017-10-27 浙江工业大学 一种基于Android平台的NFC读写方法
US9835486B2 (en) 2015-07-07 2017-12-05 Hand Held Products, Inc. Mobile dimensioner apparatus for use in commerce
EP3118576B1 (en) 2015-07-15 2018-09-12 Hand Held Products, Inc. Mobile dimensioning device with dynamic accuracy compatible with nist standard
US10094650B2 (en) 2015-07-16 2018-10-09 Hand Held Products, Inc. Dimensioning and imaging items
US20170017301A1 (en) 2015-07-16 2017-01-19 Hand Held Products, Inc. Adjusting dimensioning results using augmented reality
DE102015111753A1 (de) * 2015-07-20 2017-01-26 Infineon Technologies Ag Verfahren und vorrichtung zur verwendung bei einer akquisition von messdaten
CN112619118A (zh) * 2015-08-03 2021-04-09 天使游戏纸牌股份有限公司 游艺场的作弊检测系统
US10425392B2 (en) 2015-08-05 2019-09-24 Facebook, Inc. Managing a device cloud
US10541958B2 (en) 2015-08-05 2020-01-21 Facebook, Inc. Controlling a device cloud
US10348798B2 (en) * 2015-08-05 2019-07-09 Facebook, Inc. Rules engine for connected devices
US10567479B2 (en) 2015-08-05 2020-02-18 Facebook, Inc. Managing a device cloud
US10412160B2 (en) 2015-08-05 2019-09-10 Facebook, Inc. Controlling a device cloud
US10157333B1 (en) 2015-09-15 2018-12-18 Snap Inc. Systems and methods for content tagging
US10048765B2 (en) * 2015-09-25 2018-08-14 Apple Inc. Multi media computing or entertainment system for responding to user presence and activity
US10249030B2 (en) 2015-10-30 2019-04-02 Hand Held Products, Inc. Image transformation for indicia reading
US10692126B2 (en) 2015-11-17 2020-06-23 Nio Usa, Inc. Network-based system for selling and servicing cars
US20170142023A1 (en) * 2015-11-18 2017-05-18 The Rubicon Project, Inc. Networked system for interconnecting sensor-based devices
US10225544B2 (en) 2015-11-19 2019-03-05 Hand Held Products, Inc. High resolution dot pattern
EP3173905B1 (en) 2015-11-24 2019-06-19 Polar Electro Oy Enhancing controlling of haptic output
CN106855771A (zh) * 2015-12-09 2017-06-16 阿里巴巴集团控股有限公司 一种数据处理方法、装置和智能终端
US9846970B2 (en) * 2015-12-16 2017-12-19 Intel Corporation Transitioning augmented reality objects in physical and digital environments
US10467888B2 (en) * 2015-12-18 2019-11-05 International Business Machines Corporation System and method for dynamically adjusting an emergency coordination simulation system
KR101761631B1 (ko) * 2015-12-29 2017-07-26 엘지전자 주식회사 이동단말기 및 그 제어방법
US10025314B2 (en) 2016-01-27 2018-07-17 Hand Held Products, Inc. Vehicle positioning and object avoidance
US10424203B2 (en) * 2016-01-29 2019-09-24 Toyota Motor Engineering & Manufacturing North America, Inc. System and method for driving hazard estimation using vehicle-to-vehicle communication
US10832303B2 (en) 2016-03-11 2020-11-10 Ebay Inc. Removal of listings based on similarity
US10319371B2 (en) * 2016-05-04 2019-06-11 GM Global Technology Operations LLC Disambiguation of vehicle speech commands
US10339352B2 (en) 2016-06-03 2019-07-02 Hand Held Products, Inc. Wearable metrological apparatus
US9940721B2 (en) 2016-06-10 2018-04-10 Hand Held Products, Inc. Scene change detection in a dimensioner
US10163216B2 (en) 2016-06-15 2018-12-25 Hand Held Products, Inc. Automatic mode switching in a volume dimensioner
US11334768B1 (en) 2016-07-05 2022-05-17 Snap Inc. Ephemeral content management
US20180012197A1 (en) 2016-07-07 2018-01-11 NextEv USA, Inc. Battery exchange licensing program based on state of charge of battery pack
US10839311B2 (en) 2016-07-19 2020-11-17 International Business Machines Corporation Cognitive computing for servers and mobile devices
US9928734B2 (en) 2016-08-02 2018-03-27 Nio Usa, Inc. Vehicle-to-pedestrian communication systems
US10970333B2 (en) 2016-08-08 2021-04-06 NetraDyne, Inc. Distributed video storage and search with edge computing
CN106355411A (zh) * 2016-08-29 2017-01-25 中科院微电子研究所昆山分所 一种智能指纹钱包
CN106874818B (zh) 2016-08-30 2019-11-22 阿里巴巴集团控股有限公司 一种数字对象唯一标识符doi识别方法与装置
FR3055698B1 (fr) * 2016-09-08 2018-08-17 Safran Aircraft Engines Procede de controle de la conformite du profil d'une surface courbe d'un element d'une turbomachine
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
CN109863537B (zh) * 2016-10-21 2023-07-04 谷歌有限责任公司 风格化输入图像
US10031523B2 (en) 2016-11-07 2018-07-24 Nio Usa, Inc. Method and system for behavioral sharing in autonomous vehicles
US10410064B2 (en) 2016-11-11 2019-09-10 Nio Usa, Inc. System for tracking and identifying vehicles and pedestrians
US10694357B2 (en) 2016-11-11 2020-06-23 Nio Usa, Inc. Using vehicle sensor data to monitor pedestrian health
US10708547B2 (en) 2016-11-11 2020-07-07 Nio Usa, Inc. Using vehicle sensor data to monitor environmental and geologic conditions
US10699305B2 (en) 2016-11-21 2020-06-30 Nio Usa, Inc. Smart refill assistant for electric vehicles
US10249104B2 (en) 2016-12-06 2019-04-02 Nio Usa, Inc. Lease observation and event recording
US10909708B2 (en) 2016-12-09 2021-02-02 Hand Held Products, Inc. Calibrating a dimensioner using ratios of measurable parameters of optic ally-perceptible geometric elements
CN106685512B (zh) * 2017-01-05 2020-03-13 清华大学 基于分布式星群的数据传输方法和装置
US10074223B2 (en) 2017-01-13 2018-09-11 Nio Usa, Inc. Secured vehicle for user use only
US10471829B2 (en) 2017-01-16 2019-11-12 Nio Usa, Inc. Self-destruct zone and autonomous vehicle navigation
US10031521B1 (en) 2017-01-16 2018-07-24 Nio Usa, Inc. Method and system for using weather information in operation of autonomous vehicles
US9984572B1 (en) 2017-01-16 2018-05-29 Nio Usa, Inc. Method and system for sharing parking space availability among autonomous vehicles
US10235788B2 (en) * 2017-01-17 2019-03-19 Opentv, Inc. Overlay contrast control in augmented reality displays
US10464530B2 (en) 2017-01-17 2019-11-05 Nio Usa, Inc. Voice biometric pre-purchase enrollment for autonomous vehicles
US10286915B2 (en) 2017-01-17 2019-05-14 Nio Usa, Inc. Machine learning for personalized driving
US10897469B2 (en) 2017-02-02 2021-01-19 Nio Usa, Inc. System and method for firewalls between vehicle networks
CN110268338B (zh) * 2017-02-09 2022-07-19 谷歌有限责任公司 使用视觉输入进行代理导航
US20180260401A1 (en) * 2017-03-08 2018-09-13 Netradyne Inc Distributed video search with edge computing
US11188456B2 (en) * 2017-03-21 2021-11-30 Western Digital Technologies Inc. Storage system and method for predictive block allocation for efficient garbage collection
US11047672B2 (en) 2017-03-28 2021-06-29 Hand Held Products, Inc. System for optically dimensioning
US20180336045A1 (en) * 2017-05-17 2018-11-22 Google Inc. Determining agents for performing actions based at least in part on image data
US10614826B2 (en) 2017-05-24 2020-04-07 Modulate, Inc. System and method for voice-to-voice conversion
US11231281B2 (en) * 2017-06-16 2022-01-25 Honda Motor Co., Ltd. Information-processing device, information-processing method, and program
US10234302B2 (en) 2017-06-27 2019-03-19 Nio Usa, Inc. Adaptive route and motion planning based on learned external and internal vehicle environment
US10369974B2 (en) 2017-07-14 2019-08-06 Nio Usa, Inc. Control and coordination of driverless fuel replenishment for autonomous vehicles
US10710633B2 (en) 2017-07-14 2020-07-14 Nio Usa, Inc. Control of complex parking maneuvers and autonomous fuel replenishment of driverless vehicles
US10733748B2 (en) 2017-07-24 2020-08-04 Hand Held Products, Inc. Dual-pattern optical 3D dimensioning
US10837790B2 (en) 2017-08-01 2020-11-17 Nio Usa, Inc. Productive and accident-free driving modes for a vehicle
TWI643163B (zh) * 2017-08-07 2018-12-01 國防醫學院 Simulation training system and method
US20190095069A1 (en) * 2017-09-25 2019-03-28 Motorola Solutions, Inc Adaptable interface for retrieving available electronic digital assistant services
US10963801B2 (en) 2017-09-29 2021-03-30 X Development Llc Generating solutions from aural inputs
US10635109B2 (en) 2017-10-17 2020-04-28 Nio Usa, Inc. Vehicle path-planner monitor and controller
US10606274B2 (en) 2017-10-30 2020-03-31 Nio Usa, Inc. Visual place recognition based self-localization for autonomous vehicles
US10935978B2 (en) 2017-10-30 2021-03-02 Nio Usa, Inc. Vehicle self-localization using particle filters and visual odometry
CN108021954B (zh) 2017-11-01 2020-06-05 阿里巴巴集团控股有限公司 业务过程的启动方法和装置
US10717412B2 (en) 2017-11-13 2020-07-21 Nio Usa, Inc. System and method for controlling a vehicle using secondary access methods
CN108133708B (zh) * 2017-12-04 2021-01-08 维沃移动通信有限公司 一种语音助手的控制方法、装置及移动终端
CN108171117B (zh) * 2017-12-05 2019-05-21 南京南瑞信息通信科技有限公司 基于多核异构并行计算的电力人工智能视觉分析系统
JP6838597B2 (ja) * 2017-12-12 2021-03-03 株式会社あミューズ イメージ分析に基づく障害者用ナビゲーションサービス提供システム及び方法
US11232178B2 (en) 2017-12-22 2022-01-25 Synaptics Incorporated Systems and methods for behavioral authentication using a touch sensor device
CN108174126B (zh) * 2017-12-28 2020-09-18 北京空间机电研究所 一种基于可见光图像的ccd信号采样位置精确选取方法
CN108242961B (zh) * 2017-12-29 2022-02-08 南京航空航天大学 基于集成学习的全双工认知无线电网络合作频谱感知方法
CN108335182B (zh) * 2018-01-12 2021-09-14 武汉理工大学 一种基于双边拍卖机制的云平台Web服务交易系统及方法
CN108391245A (zh) * 2018-01-31 2018-08-10 华北水利水电大学 即插即用型无线传感器网络节点
US10678752B2 (en) 2018-02-07 2020-06-09 International Business Machines Corporation Closure-based container volumes with ratio-based modeling
US10957072B2 (en) 2018-02-21 2021-03-23 Cognex Corporation System and method for simultaneous consideration of edges and normals in image features by a vision system
US11803890B2 (en) 2018-04-11 2023-10-31 Wells Fargo Bank, N.A. Method and system for concurrent visualization tool using augmented reality to improve decision making
CN108762915B (zh) * 2018-04-19 2020-11-06 上海交通大学 一种在gpu内存中缓存rdf数据的方法
CN108597615A (zh) * 2018-04-19 2018-09-28 南京脑科医院 一种轻度认知障碍患者痴呆转化的筛选参考方法
US10977871B2 (en) * 2018-04-25 2021-04-13 International Business Machines Corporation Delivery of a time-dependent virtual reality environment in a computing system
US10584962B2 (en) 2018-05-01 2020-03-10 Hand Held Products, Inc System and method for validating physical-item security
US20190339082A1 (en) * 2018-05-02 2019-11-07 Blackberry Limited Method and system for hybrid collective perception and map crowdsourcing
US11431582B2 (en) * 2018-05-05 2022-08-30 Fmr Llc Systems and methods for context aware adaptation of services and resources in a distributed computing system
US10369966B1 (en) 2018-05-23 2019-08-06 Nio Usa, Inc. Controlling access to a vehicle using wireless access devices
US11526568B2 (en) * 2018-05-25 2022-12-13 Yellcast, Inc. User interfaces and methods for operating a mobile computing device for location-based transactions
CN110557684B (zh) * 2018-06-01 2022-09-06 北京京东尚科信息技术有限公司 信息处理方法、系统、电子设备和计算机可读介质
CN109099828B (zh) * 2018-07-13 2024-02-13 北京市劳动保护科学研究所 基于Arduino的动态位移实时采集系统及方法
CN109271844B (zh) * 2018-07-29 2023-03-28 国网上海市电力公司 基于OpenCV的电气柜电气符号识别方法
US10769543B2 (en) 2018-08-01 2020-09-08 Forcepoint Llc Double-layered image classification endpoint solution
CN109241862A (zh) * 2018-08-14 2019-01-18 广州杰赛科技股份有限公司 目标区域确定方法和系统、计算机设备、计算机存储介质
US10798527B2 (en) 2018-09-20 2020-10-06 International Business Machines Corporation Cognitive progressive method and system for deploying indoor location sensor networks
US10830593B2 (en) 2018-09-25 2020-11-10 International Business Machines Corporation Cognitive fingerprinting for indoor location sensor networks
CN109558041B (zh) * 2018-09-28 2021-09-24 天津大学 基于gpu加速的叶尖间隙信号采集、处理和传输方法
JP7145718B2 (ja) * 2018-10-09 2022-10-03 Fcnt株式会社 情報処理装置
CN109357673A (zh) * 2018-10-30 2019-02-19 上海仝物云计算有限公司 基于图像的视觉导航方法和装置
US11212521B2 (en) * 2018-11-07 2021-12-28 Avago Technologies International Sales Pte. Limited Control of memory bandwidth consumption of affine mode in versatile video coding
CN109598515B (zh) * 2018-11-29 2020-08-04 阿里巴巴集团控股有限公司 一种支付方法、支付装置及终端设备
CN111328021B (zh) * 2018-12-14 2021-08-27 中国移动通信集团河南有限公司 一种面向物联网防控的超业务场景预警方法及系统
JP7419721B2 (ja) * 2018-12-20 2024-01-23 セイコーエプソン株式会社 回路装置、電子機器及び移動体
US10936178B2 (en) 2019-01-07 2021-03-02 MemoryWeb, LLC Systems and methods for analyzing and organizing digital photos and videos
CN109933191B (zh) * 2019-02-13 2022-06-03 苏鹏程 手势识别和控制方法及其系统
CN110119885B (zh) * 2019-04-18 2022-11-01 华南理工大学 一种基于虚拟现实技术的地铁站台指示牌效用评价方法
CN110136560B (zh) * 2019-05-31 2020-12-29 山东交通学院 斜截式仿生蝙蝠耳喇叭模型功能装置及实验方法
CN110349434A (zh) * 2019-07-12 2019-10-18 电子科技大学 基于智能规划技术的泊车规划系统及方法
CN110275138B (zh) * 2019-07-16 2021-03-23 北京工业大学 一种利用优势声源成分移除的多声源定位方法
US11538485B2 (en) 2019-08-14 2022-12-27 Modulate, Inc. Generation and detection of watermark for real-time voice conversion
US11763191B2 (en) 2019-08-20 2023-09-19 The Calany Holding S. À R.L. Virtual intelligence and optimization through multi-source, real-time, and context-aware real-world data
US11520601B2 (en) 2019-08-23 2022-12-06 International Business Machines Corporation Device linked context identification and notification
CN110738602B (zh) * 2019-09-12 2021-01-01 北京三快在线科技有限公司 图像处理方法、装置、电子设备及可读存储介质
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
CN110596425B (zh) * 2019-09-23 2021-07-27 成都航空职业技术学院 一种无人机mems加速度传感器噪声消除方法
US11639846B2 (en) 2019-09-27 2023-05-02 Honeywell International Inc. Dual-pattern optical 3D dimensioning
US11232834B2 (en) 2019-10-29 2022-01-25 Qualcomm Incorporated Pose estimation in extended reality systems
CN111063005B (zh) * 2019-12-13 2023-04-14 厦门亿联网络技术股份有限公司 一种笔迹的处理方法及装置
CN111240966B (zh) * 2020-01-03 2023-10-24 中国建设银行股份有限公司 一种告警信息处理方法及系统
US10955988B1 (en) 2020-02-14 2021-03-23 Lenovo (Singapore) Pte. Ltd. Execution of function based on user looking at one area of display while touching another area of display
US10715412B1 (en) * 2020-03-05 2020-07-14 Gigantic Ltd. Systems and methods for monitoring of overall latency
CA3180994A1 (en) 2020-06-05 2021-12-09 Gautam Narang Method and system for data-driven and modular decision making and trajectory generation of an autonomous agent
WO2021247082A1 (en) 2020-06-05 2021-12-09 Gatik Ai Inc. Method and system for deterministic trajectory selection based on uncertainty estimation for an autonomous agent
CN111970653B (zh) * 2020-06-05 2021-11-02 清华大学 基于虚伪审查的防窃听稀疏信号检测方法及系统
US11034364B1 (en) 2020-06-05 2021-06-15 Gatik Ai Inc. Method and system for context-aware decision making of an autonomous agent
CN111885532A (zh) * 2020-07-22 2020-11-03 云南电网有限责任公司电力科学研究院 一种基于物联网的异构网络能效优化方法
US11139858B1 (en) 2020-07-24 2021-10-05 International Business Machines Corporation Wireless communication management
CN112016440B (zh) * 2020-08-26 2024-02-20 杭州云栖智慧视通科技有限公司 一种基于多目标跟踪的目标推送方法
KR20230050466A (ko) 2020-09-25 2023-04-14 애플 인크. 사용자 인터페이스들을 내비게이팅하기 위한 방법들
CN112131348B (zh) * 2020-09-29 2022-08-09 四川财经职业学院 基于文本和图像相似度防止项目重复申报的方法
WO2022076923A1 (en) 2020-10-08 2022-04-14 Modulate, Inc. Multi-stage adaptive system for content moderation
CN112333645A (zh) * 2020-11-24 2021-02-05 深圳市银河风云网络系统股份有限公司 一种蓝牙群组对讲通信系统及其实现方法
CN113012298B (zh) * 2020-12-25 2022-04-08 浙江大学 一种基于区域检测的弯曲mark三维注册增强现实方法
CN113124883B (zh) * 2021-03-01 2023-03-28 浙江国自机器人技术股份有限公司 基于3d全景相机的离线标点方法
CN112966595B (zh) * 2021-03-04 2022-04-05 桂林电子科技大学 一种基于图神经网络的传感器网络数据异常判决方法
CN112967281B (zh) * 2021-04-07 2022-11-08 洛阳伟信电子科技有限公司 一种基于弧支持生长的椭圆检测算法
KR20230050690A (ko) 2021-10-08 2023-04-17 임현일 카페 좌석 확인 서비스
CN114205677B (zh) * 2021-11-30 2022-10-14 浙江大学 一种基于原型视频的短视频自动编辑方法
CN114844886B (zh) * 2022-03-22 2023-11-24 山东理工大学 云边结合环境下基于海鸥优化算法的移动服务选择方法
TWI825972B (zh) * 2022-09-02 2023-12-11 英屬維爾京群島商威爾德嘉德有限公司 影像處理系統、方法、電子設備及介質

Family Cites Families (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122403A (en) 1995-07-27 2000-09-19 Digimarc Corporation Computer system linked by using information in data objects
US6614914B1 (en) 1995-05-08 2003-09-02 Digimarc Corporation Watermark embedder and reader
US6947571B1 (en) 1999-05-19 2005-09-20 Digimarc Corporation Cell phones with optical capabilities, and related applications
US7383169B1 (en) 1994-04-13 2008-06-03 Microsoft Corporation Method and system for compiling a lexical knowledge base
US6001065A (en) 1995-08-02 1999-12-14 Ibva Technologies, Inc. Method and apparatus for measuring and analyzing physiological signals for active or passive control of physical and virtual spaces and the contents therein
US7930546B2 (en) 1996-05-16 2011-04-19 Digimarc Corporation Methods, systems, and sub-combinations useful in media identification
JP3591259B2 (ja) 1997-12-12 2004-11-17 セイコーエプソン株式会社 ネットワークシステム並びにネットワーク印刷方法
JP3688879B2 (ja) 1998-01-30 2005-08-31 株式会社東芝 画像認識装置、画像認識方法及びその記録媒体
US7739224B1 (en) * 1998-05-06 2010-06-15 Infor Global Solutions (Michigan), Inc. Method and system for creating a well-formed database using semantic definitions
US7006555B1 (en) 1998-07-16 2006-02-28 Nielsen Media Research, Inc. Spectral audio encoding
US6243713B1 (en) 1998-08-24 2001-06-05 Excalibur Technologies Corp. Multimedia document retrieval by application of multimedia queries to a unified index of multimedia data for a plurality of multimedia data types
US6711293B1 (en) 1999-03-08 2004-03-23 The University Of British Columbia Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
CA2809775C (en) 1999-10-27 2017-03-21 The Nielsen Company (Us), Llc Audio signature extraction and correlation
US6546262B1 (en) 1999-11-12 2003-04-08 Altec Lansing Technologies, Inc. Cellular telephone accessory device for a personal computer system
EP1249002B1 (en) 2000-01-13 2011-03-16 Digimarc Corporation Authenticating metadata and embedding metadata in watermarks of media signals
US20010037455A1 (en) 2000-03-09 2001-11-01 Lawandy Nabil M. Authentication using a digital watermark
US6968564B1 (en) 2000-04-06 2005-11-22 Nielsen Media Research, Inc. Multi-band spectral audio encoding
US7738673B2 (en) 2000-04-19 2010-06-15 Digimarc Corporation Low visible digital watermarks
US8121843B2 (en) 2000-05-02 2012-02-21 Digimarc Corporation Fingerprint methods and systems for media signals
JP2001326952A (ja) 2000-05-15 2001-11-22 Nec Corp 放送確認システム、放送確認方法及び装置、放送確認プログラムを記録した記録媒体
US6990453B2 (en) 2000-07-31 2006-01-24 Landmark Digital Services Llc System and methods for recognizing sound and music signals in high noise and distortion
US7890386B1 (en) 2000-10-27 2011-02-15 Palisades Technology, Llc Method for use with a wireless communication device for facilitating tasks using images and selections
US7899243B2 (en) * 2000-11-06 2011-03-01 Evryx Technologies, Inc. Image capture and identification system and process
US7016532B2 (en) * 2000-11-06 2006-03-21 Evryx Technologies Image capture and identification system and process
US7680324B2 (en) 2000-11-06 2010-03-16 Evryx Technologies, Inc. Use of image-derived information as search criteria for internet and other search engines
US6629104B1 (en) 2000-11-22 2003-09-30 Eastman Kodak Company Method for adding personalized metadata to a collection of digital images
JP2004527815A (ja) 2000-12-18 2004-09-09 ヒューマン バイオニクス エルエルシー、 感知電気生理学的データに基づく活動開始方法及びシステム
US7359889B2 (en) 2001-03-02 2008-04-15 Landmark Digital Services Llc Method and apparatus for automatically creating database for use in automated media recognition system
US6722569B2 (en) 2001-07-13 2004-04-20 Welch Allyn Data Collection, Inc. Optical reader having a color imager
US6862355B2 (en) 2001-09-07 2005-03-01 Arbitron Inc. Message reconstruction from partial detection
US7130446B2 (en) 2001-12-03 2006-10-31 Microsoft Corporation Automatic detection and tracking of multiple individuals using multiple cues
AU2003210625A1 (en) 2002-01-22 2003-09-02 Digimarc Corporation Digital watermarking and fingerprinting including symchronization, layering, version control, and compressed embedding
US7152786B2 (en) 2002-02-12 2006-12-26 Digimarc Corporation Identification document including embedded data
US7369685B2 (en) * 2002-04-05 2008-05-06 Identix Corporation Vision-based operating method and system
US7043474B2 (en) 2002-04-15 2006-05-09 International Business Machines Corporation System and method for measuring image similarity based on semantic meaning
US7254406B2 (en) 2002-06-10 2007-08-07 Suman Beros Method and apparatus for effecting a detection of mobile devices that are proximate and exhibit commonalities between specific data sets, or profiles, associated with the persons transporting the mobile devices
US20040091111A1 (en) 2002-07-16 2004-05-13 Levy Kenneth L. Digital watermarking and fingerprinting applications
US7138963B2 (en) 2002-07-18 2006-11-21 Metamersion, Llc Method for automatically tracking objects in augmented reality
US6845360B2 (en) 2002-11-22 2005-01-18 Arbitron Inc. Encoding multiple messages in audio data and detecting same
US7606790B2 (en) 2003-03-03 2009-10-20 Digimarc Corporation Integrating and enhancing searching of media content and biometric databases
US7894177B2 (en) 2005-12-29 2011-02-22 Apple Inc. Light activated hold switch
US20050038814A1 (en) 2003-08-13 2005-02-17 International Business Machines Corporation Method, apparatus, and program for cross-linking information sources using multiple modalities
US20050091604A1 (en) 2003-10-22 2005-04-28 Scott Davis Systems and methods that track a user-identified point of focus
DE602004021716D1 (de) 2003-11-12 2009-08-06 Honda Motor Co Ltd Spracherkennungssystem
JP2005157535A (ja) * 2003-11-21 2005-06-16 Canon Inc コンテンツ抽出方法及びコンテンツ抽出装置並びにコンテンツ情報表示方法及び表示装置
US7133207B2 (en) 2004-02-18 2006-11-07 Icuiti Corporation Micro-display engine
US7565139B2 (en) 2004-02-20 2009-07-21 Google Inc. Image-based search engine for mobile phones with camera
US8421872B2 (en) 2004-02-20 2013-04-16 Google Inc. Image base inquiry system for search engines for mobile telephones with integrated camera
US7751805B2 (en) 2004-02-20 2010-07-06 Google Inc. Mobile image-based information retrieval system
US7224326B2 (en) 2004-03-03 2007-05-29 Volo, Llc Virtual reality system
US8953908B2 (en) 2004-06-22 2015-02-10 Digimarc Corporation Metadata management and generation using perceptual features
US9058388B2 (en) 2004-06-22 2015-06-16 Digimarc Corporation Internet and database searching with handheld devices
WO2006009663A1 (en) 2004-06-22 2006-01-26 Digimarc Corporation Digital asset management, targeted searching and desktop searching using digital watermarks
JP5279270B2 (ja) 2004-08-06 2013-09-04 ディジマーク コーポレイション 携帯コンピューティング装置における高速信号検出および分散コンピューティング
MX2007002071A (es) 2004-08-18 2007-04-24 Nielsen Media Res Inc Metodos y aparatos para generar firmas.
US20060230073A1 (en) 2004-08-31 2006-10-12 Gopalakrishnan Kumar C Information Services for Real World Augmentation
US20070002077A1 (en) 2004-08-31 2007-01-04 Gopalakrishnan Kumar C Methods and System for Providing Information Services Related to Visual Imagery Using Cameraphones
US7873911B2 (en) 2004-08-31 2011-01-18 Gopalakrishnan Kumar C Methods for providing information services related to visual imagery
EP1810182A4 (en) 2004-08-31 2010-07-07 Kumar Gopalakrishnan METHOD AND SYSTEM FOR PROVIDING INFORMATION SERVICES RELEVANT TO VISUAL IMAGE
US7853582B2 (en) 2004-08-31 2010-12-14 Gopalakrishnan Kumar C Method and system for providing information services related to multimodal inputs
US7788144B2 (en) 2004-09-01 2010-08-31 Microsoft Corporation System and method for storing and presenting images and related items to a user
JP2006091980A (ja) 2004-09-21 2006-04-06 Seiko Epson Corp 画像処理装置、画像処理方法および画像処理プログラム
US8489583B2 (en) 2004-10-01 2013-07-16 Ricoh Company, Ltd. Techniques for retrieving documents using an image capture device
US7450163B2 (en) 2004-11-29 2008-11-11 Rothschild Trust Holdings, Llc Device and method for embedding and retrieving information in digital images
JP2006163877A (ja) 2004-12-08 2006-06-22 Seiko Epson Corp メタデータ生成装置
US7486827B2 (en) 2005-01-21 2009-02-03 Seiko Epson Corporation Efficient and robust algorithm for video sequence matching
US20060217199A1 (en) 2005-03-02 2006-09-28 Cvc Global Provider, L.P. Real-time gaming or activity system and methods
US7809192B2 (en) 2005-05-09 2010-10-05 Like.Com System and method for recognizing objects from images and identifying relevancy amongst images and information
US7519200B2 (en) 2005-05-09 2009-04-14 Like.Com System and method for enabling the use of captured images through recognition
US7702681B2 (en) 2005-06-29 2010-04-20 Microsoft Corporation Query-by-image search and retrieval system
DE602005016236D1 (de) * 2005-06-30 2009-10-08 Nokia Corp Kontextsensitive Datenbehandlung
US7516074B2 (en) 2005-09-01 2009-04-07 Auditude, Inc. Extraction and matching of characteristic fingerprints from audio signals
CN101258492A (zh) * 2005-09-07 2008-09-03 国际商业机器公司 显示装置、输出装置、显示系统、显示方法、媒体、程序以及外部单元
US8020770B2 (en) 2005-09-07 2011-09-20 International Business Machines Corporation Display method and display apparatus
US7319908B2 (en) 2005-10-28 2008-01-15 Microsoft Corporation Multi-modal device power/mode management
US8849821B2 (en) 2005-11-04 2014-09-30 Nokia Corporation Scalable visual search system simplifying access to network and device functionality
US7565157B1 (en) 2005-11-18 2009-07-21 A9.Com, Inc. System and method for providing search results based on location
EP1986145A1 (en) 2005-11-29 2008-10-29 Google Inc. Social and interactive applications for mass media
CN101379464B (zh) 2005-12-21 2015-05-06 数字标记公司 规则驱动型个域网id元数据路由系统和网络
US20070162761A1 (en) 2005-12-23 2007-07-12 Davis Bruce L Methods and Systems to Help Detect Identity Fraud
WO2007080133A2 (en) 2006-01-16 2007-07-19 Thomson Licensing Method for determining and fingerprinting a key frame of a video sequence
US8208764B2 (en) * 2006-01-21 2012-06-26 Elizabeth Guckenberger Photo automatic linking system and method for accessing, linking, and visualizing “key-face” and/or multiple similar facial images along with associated electronic data via a facial image recognition search engine
US7580742B2 (en) 2006-02-07 2009-08-25 Microsoft Corporation Using electroencephalograph signals for task classification and activity recognition
JP2007257502A (ja) * 2006-03-24 2007-10-04 Oki Electric Ind Co Ltd 貨幣入金装置
US7668369B2 (en) 2006-04-26 2010-02-23 Hewlett-Packard Development Company, L.P. Using camera metadata to classify images into scene type classes
US8009861B2 (en) 2006-04-28 2011-08-30 Vobile, Inc. Method and system for fingerprinting digital video object based on multiresolution, multirate spatial and temporal signatures
US7797722B2 (en) * 2006-05-26 2010-09-14 Sony Corporation System and method for content delivery
CN100418330C (zh) * 2006-06-06 2008-09-10 北京北大方正电子有限公司 一种基于预测搜索的网络文件传输方法
US7787697B2 (en) 2006-06-09 2010-08-31 Sony Ericsson Mobile Communications Ab Identification of an object in media and of related media objects
US7831531B1 (en) 2006-06-22 2010-11-09 Google Inc. Approximate hashing functions for finding similar content
US20080059211A1 (en) 2006-08-29 2008-03-06 Attributor Corporation Content monitoring and compliance
US8707459B2 (en) 2007-01-19 2014-04-22 Digimarc Corporation Determination of originality of content
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US8589869B2 (en) 2006-09-07 2013-11-19 Wolfram Alpha Llc Methods and systems for determining a formula
JP4861105B2 (ja) 2006-09-15 2012-01-25 株式会社エヌ・ティ・ティ・ドコモ 空間掲示板システム
US8775452B2 (en) 2006-09-17 2014-07-08 Nokia Corporation Method, apparatus and computer program product for providing standard real world to virtual world links
CN101535992A (zh) 2006-09-17 2009-09-16 诺基亚公司 用于便携设备的自适应高速缓存架构和数据传送
CA2662630A1 (en) 2006-09-17 2008-03-20 Nokia Corporation Method, apparatus and computer program product for a tag-based visual search user interface
US20080071770A1 (en) 2006-09-18 2008-03-20 Nokia Corporation Method, Apparatus and Computer Program Product for Viewing a Virtual Database Using Portable Devices
WO2008058093A2 (en) 2006-11-03 2008-05-15 Google Inc. Content management system
US8565815B2 (en) 2006-11-16 2013-10-22 Digimarc Corporation Methods and systems responsive to features sensed from imagery or other data
US20080162228A1 (en) 2006-12-19 2008-07-03 Friedrich Mechbach Method and system for the integrating advertising in user generated contributions
US9179200B2 (en) 2007-03-14 2015-11-03 Digimarc Corporation Method and system for determining content treatment
KR100856027B1 (ko) 2007-01-09 2008-09-03 주식회사 태그스토리 저작권 인증된 동영상 데이터 서비스 시스템 및 방법
US20100092093A1 (en) * 2007-02-13 2010-04-15 Olympus Corporation Feature matching method
US20080201314A1 (en) * 2007-02-20 2008-08-21 John Richard Smith Method and apparatus for using multiple channels of disseminated data content in responding to information requests
US7979464B2 (en) 2007-02-27 2011-07-12 Motion Picture Laboratories, Inc. Associating rights to multimedia content
US20080218472A1 (en) 2007-03-05 2008-09-11 Emotiv Systems Pty., Ltd. Interface to convert mental states and facial expressions to application input
US8861898B2 (en) * 2007-03-16 2014-10-14 Sony Corporation Content image search
JP4424364B2 (ja) 2007-03-19 2010-03-03 ソニー株式会社 画像処理装置、画像処理方法
CN101682461A (zh) 2007-03-22 2010-03-24 尼尔森(美国)有限公司 数字版权管理和观众测量系统及方法
JP4938530B2 (ja) * 2007-04-06 2012-05-23 株式会社エヌ・ティ・ティ・ドコモ 移動通信端末及びプログラム
US8407580B2 (en) 2007-04-09 2013-03-26 Wolfram Research, Inc. Method and system for presenting input expressions and evaluations of the input expressions on a workspace of a computational system
US20080259918A1 (en) 2007-04-19 2008-10-23 Craig Elliott Walker Method and apparatus for managing telephone calls
US20080267521A1 (en) 2007-04-24 2008-10-30 Nokia Corporation Motion and image quality monitor
US20080268876A1 (en) 2007-04-24 2008-10-30 Natasha Gelfand Method, Device, Mobile Terminal, and Computer Program Product for a Point of Interest Based Scheme for Improving Mobile Visual Searching Functionalities
US20080267504A1 (en) * 2007-04-24 2008-10-30 Nokia Corporation Method, device and computer program product for integrating code-based and optical character recognition technologies into a mobile visual search
US20080270378A1 (en) 2007-04-24 2008-10-30 Nokia Corporation Method, Apparatus and Computer Program Product for Determining Relevance and/or Ambiguity in a Search System
EP2156583B1 (en) 2007-05-02 2018-06-06 The Nielsen Company (US), LLC Methods and apparatus for generating signatures
US20080313146A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Content search service, finding content, and prefetching for thin client
DE102007034010A1 (de) * 2007-07-20 2009-01-22 Dallmeier Electronic Gmbh & Co. Kg Verfahren und Vorrichtung zur Bearbeitung von Videodaten
US20090031381A1 (en) 2007-07-24 2009-01-29 Honeywell International, Inc. Proxy video server for video surveillance
US20090083237A1 (en) 2007-09-20 2009-03-26 Nokia Corporation Method, Apparatus and Computer Program Product for Providing a Visual Search Interface
US20090083275A1 (en) 2007-09-24 2009-03-26 Nokia Corporation Method, Apparatus and Computer Program Product for Performing a Visual Search Using Grid-Based Feature Organization
CN101123717B (zh) * 2007-09-25 2012-07-04 中兴通讯股份有限公司 一种实现频道快速切换的装置和方法
JP5398970B2 (ja) 2007-09-28 2014-01-29 京セラ株式会社 移動通信装置、制御方法
US20090094289A1 (en) 2007-10-05 2009-04-09 Nokia Corporation Method, apparatus and computer program product for multiple buffering for search application
US8180396B2 (en) * 2007-10-18 2012-05-15 Yahoo! Inc. User augmented reality for camera-enabled mobile devices
CN101925915B (zh) * 2007-11-21 2016-06-22 高通股份有限公司 设备访问控制
US8875212B2 (en) * 2008-04-15 2014-10-28 Shlomo Selim Rakib Systems and methods for remote control of interactive video
US8200025B2 (en) 2007-12-07 2012-06-12 University Of Ottawa Image classification and search
US7836093B2 (en) 2007-12-11 2010-11-16 Eastman Kodak Company Image record trend identification for user profiles
US8194156B2 (en) * 2008-01-07 2012-06-05 Sony Ericsson Mobile Communications Ab EXIF object coordinates
WO2009094587A1 (en) 2008-01-23 2009-07-30 Deering Michael F Eye mounted displays
US20100100546A1 (en) 2008-02-08 2010-04-22 Steven Forrest Kohler Context-aware semantic virtual community for communication, information and knowledge management
US8271075B2 (en) 2008-02-13 2012-09-18 Neurosky, Inc. Audio headset with bio-signal sensors
US8099289B2 (en) 2008-02-13 2012-01-17 Sensory, Inc. Voice interface and search for electronic devices including bluetooth headsets and remote systems
US20090297045A1 (en) 2008-05-29 2009-12-03 Poetker Robert B Evaluating subject interests from digital image records
US8036417B2 (en) 2008-06-11 2011-10-11 Eastman Kodak Company Finding orientation and date of hardcopy medium
US20090327272A1 (en) 2008-06-30 2009-12-31 Rami Koivunen Method and System for Searching Multiple Data Types
US20110188713A1 (en) * 2008-07-16 2011-08-04 Imprezzeo Pty Ltd Facial image recognition and retrieval
KR101680044B1 (ko) 2008-08-19 2016-11-28 디지맥 코포레이션 콘텐트 처리를 위한 방법들 및 시스템들
US8520979B2 (en) 2008-08-19 2013-08-27 Digimarc Corporation Methods and systems for content processing
US8805110B2 (en) 2008-08-19 2014-08-12 Digimarc Corporation Methods and systems for content processing
JP5346938B2 (ja) * 2008-09-01 2013-11-20 株式会社日立メディコ 画像処理装置、及び画像処理装置の作動方法
US8433244B2 (en) * 2008-09-16 2013-04-30 Hewlett-Packard Development Company, L.P. Orientation based control of mobile device
LU91488B1 (en) * 2008-10-17 2010-04-19 Robert Carter Multifactor Authentication
US20100205628A1 (en) 2009-02-12 2010-08-12 Davis Bruce L Media processing methods and arrangements
US9788043B2 (en) 2008-11-07 2017-10-10 Digimarc Corporation Content interaction methods and systems employing portable devices
US8271413B2 (en) 2008-11-25 2012-09-18 Google Inc. Providing digital content based on expected user behavior
US8508357B2 (en) 2008-11-26 2013-08-13 The Nielsen Company (Us), Llc Methods and apparatus to encode and decode audio for shopper location and advertisement presentation tracking
US8391615B2 (en) * 2008-12-02 2013-03-05 Intel Corporation Image recognition algorithm, method of identifying a target image using same, and method of selecting data for transmission to a portable electronic device
JP5742057B2 (ja) 2009-03-03 2015-07-01 ディジマーク コーポレイション 公共ディスプレイからのナローキャスティングおよび関連配設
US20100273452A1 (en) * 2009-04-26 2010-10-28 Qualcomm Incorporated Apparatus and Methods For Locating Tracking and/or Recovering a Wireless Communication Device
US8768313B2 (en) * 2009-08-17 2014-07-01 Digimarc Corporation Methods and systems for image or audio recognition processing
US20110065451A1 (en) * 2009-09-17 2011-03-17 Ydreams-Informatica, S.A. Context-triggered systems and methods for information and services
US9286362B2 (en) * 2009-09-25 2016-03-15 International Business Machines Corporation System and method to customize metadata for different users running on the same infrastructure
US8332434B2 (en) 2009-09-30 2012-12-11 Business Objects Software Limited Method and system for finding appropriate semantic web ontology terms from words
US20110087685A1 (en) 2009-10-09 2011-04-14 Microsoft Corporation Location-based service middleware
US8175617B2 (en) * 2009-10-28 2012-05-08 Digimarc Corporation Sensor-based mobile search, related methods and systems
US9197736B2 (en) * 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
US8819172B2 (en) * 2010-11-04 2014-08-26 Digimarc Corporation Smartphone-based methods and systems
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
WO2011084963A2 (en) * 2010-01-05 2011-07-14 Iota, Inc. Mobile communications resource management system
US9317018B2 (en) * 2010-03-02 2016-04-19 Gonow Technologies, Llc Portable e-wallet and universal card
JP5843207B2 (ja) 2010-03-19 2016-01-13 ディジマーク コーポレイション 直観的コンピューティング方法及びシステム
US8660355B2 (en) * 2010-03-19 2014-02-25 Digimarc Corporation Methods and systems for determining image processing operations relevant to particular imagery
US9495591B2 (en) 2012-04-13 2016-11-15 Qualcomm Incorporated Object recognition using multi-modal matching scheme

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150059793A (ko) * 2012-10-18 2015-06-02 퀄컴 인코포레이티드 카드에 양각된 문자들의 검출
KR101487461B1 (ko) * 2014-06-26 2015-01-28 우원소프트 주식회사 개인영상 정보보호 기능이 탑재된 얼굴인식 보안 관제 시스템
KR20170011734A (ko) * 2015-07-24 2017-02-02 주식회사 스마티랩 모바일 디바이스의 컨텍스트 수집이나 전송 효율성을 위한 자율 최적화 시스템 및 그 방법
KR20190138888A (ko) * 2017-05-16 2019-12-16 구글 엘엘씨 이미지 및/또는 다른 센서 데이터 기반의 자동화 어시스턴트 요청 해석
US10867180B2 (en) 2017-05-16 2020-12-15 Google Llc Resolving automated assistant requests that are based on image(s) and/or other sensor data
US11734926B2 (en) 2017-05-16 2023-08-22 Google Llc Resolving automated assistant requests that are based on image(s) and/or other sensor data
KR20210033668A (ko) * 2019-09-19 2021-03-29 주식회사 스켈터랩스 블랙보드 기반의 사용자 모델링을 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체
KR102543681B1 (ko) * 2022-07-26 2023-06-16 주식회사 에스씨이코리아 Ai를 이용한 접근성 검증 시스템

Also Published As

Publication number Publication date
CN105224075A (zh) 2016-01-06
JP6011938B2 (ja) 2016-10-25
US20120220311A1 (en) 2012-08-30
WO2011059761A1 (en) 2011-05-19
CN102741858A (zh) 2012-10-17
US20110098029A1 (en) 2011-04-28
US9234744B2 (en) 2016-01-12
US8737986B2 (en) 2014-05-27
CA2775097C (en) 2021-05-18
US20140071272A1 (en) 2014-03-13
EP2494496B1 (en) 2018-11-14
US8175617B2 (en) 2012-05-08
KR101796008B1 (ko) 2017-11-09
US20120218436A1 (en) 2012-08-30
EP2494496A4 (en) 2015-12-02
US8489115B2 (en) 2013-07-16
US20140333794A1 (en) 2014-11-13
US9557162B2 (en) 2017-01-31
JP2013509654A (ja) 2013-03-14
CN105224075B (zh) 2019-06-04
CA2775097A1 (en) 2011-05-19
EP2494496A1 (en) 2012-09-05

Similar Documents

Publication Publication Date Title
US10666784B2 (en) Intuitive computing methods and systems
KR101796008B1 (ko) 센서-기반 모바일 검색, 관련 방법들 및 시스템들
KR101832693B1 (ko) 직관적 컴퓨팅 방법들 및 시스템들
US9256806B2 (en) Methods and systems for determining image processing operations relevant to particular imagery

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
GRNT Written decision to grant