CN110249304B - 电子设备的视觉智能管理 - Google Patents

电子设备的视觉智能管理 Download PDF

Info

Publication number
CN110249304B
CN110249304B CN201880007763.5A CN201880007763A CN110249304B CN 110249304 B CN110249304 B CN 110249304B CN 201880007763 A CN201880007763 A CN 201880007763A CN 110249304 B CN110249304 B CN 110249304B
Authority
CN
China
Prior art keywords
models
domain
model
visual
input
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201880007763.5A
Other languages
English (en)
Other versions
CN110249304A (zh
Inventor
S.安托尔
A.本达尔
S.J.吉布斯
全元锺
姜炫在
金志姬
李博
A.S.利奥特
罗璐
P.K.米斯特里
Z.英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN110249304A publication Critical patent/CN110249304A/zh
Application granted granted Critical
Publication of CN110249304B publication Critical patent/CN110249304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2649Demodulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1916Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B13/00Transmission systems characterised by the medium used for transmission, not provided for in groups H04B3/00 - H04B11/00
    • H04B13/02Transmission systems in which the medium consists of the earth or a large mass of water thereon, e.g. earth telegraphy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/0048Decoding adapted to other signal detection operation in conjunction with detection of multiuser or interfering signals, e.g. iteration between CDMA or MIMO detector and FEC decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • H04L1/0053Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0008Modulated-carrier systems arrangements for allowing a transmitter or receiver to use more than one type of modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2655Synchronisation arrangements
    • H04L27/2689Link with other circuits, i.e. special connections between synchronisation arrangements and other circuits for achieving synchronisation
    • H04L27/2692Link with other circuits, i.e. special connections between synchronisation arrangements and other circuits for achieving synchronisation with preamble design, i.e. with negotiation of the synchronisation sequence with transmitter or sequence linked to the algorithm used at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0453Resources in frequency domain, e.g. a carrier in FDMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • User Interface Of Digital Computer (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)

Abstract

一个实施例提供了一种方法,该方法包括通过在所述输入上执行与域相关联的第一集合模型来对在包括视觉数据的输入中存在的一个或多个对象进行分类。每个模型对应于对象类别。每个模型被训练以生成与输入中的相应对象类别相关的视觉分类符结果,该视觉分类符结果具有指示视觉分类符结果的准确性的相关联的置信度值。该方法还包括基于与第一集合模型的每个模型的每个视觉分类符结果相关联的置信度值来聚合第一集合的视觉分类符结果。基于聚合的第一集合的视觉分类符结果可选择至少一个其它模型用于在输入上运行,以用于对对象的额外分类。一个或多个视觉分类符结果被返回到在电子设备上运行的应用以供显示。

Description

电子设备的视觉智能管理
技术领域
一个或多个实施例一般涉及视觉智能(vision intelligence,VI),特别是电子设备的VI管理。
背景技术
大量识别模型(例如深度学习模型)可用于电子设备,以用于对视觉数据的视觉分析(例如,对照片和/或视频执行对象识别)。然而,由于电子设备上有限的计算资源,对于电子设备可用的所有模型在运行时间期间同时是活跃的,可能是不可行的。
发明内容
附图说明
图1示出在一个或多个实施例中用于实施视觉智能(VI)***的示例计算架构;
图2示出在一个或多个实施例中托管表示层(presentation layer)的示例应用;
图3示出在一个或多个实施例中的示例模块族;
图4详细示出了在一个或多个实施例中的示例模块;
图5示出在一个或多个实施例中相机应用的示例应用屏幕;
图6示出在一个或多个实施例中相机应用的另一示例应用屏幕;
图7示出在一个或多个实施例中相机应用的另一示例应用屏幕;
图8示出在一个或多个实施例中相机应用的另一示例应用屏幕;
图9示出在一个或多个实施例中相机应用的另一示例应用屏幕;
图10示出在一个或多个实施例中的示例运行管理器;
图11是在一个或多个实施例中用于自动选择模型来激活的示例过程的流程图;
图12示出在一个或多个实施例中包括类别本体(ontology)链接的示例模型图;
图13A是示出在一个或多个实施例中,由运行管理器初始激活的一个或多个模型的模型图;
图13B是示出在一个或多个实施例中,响应于接收到视觉数据,由运行管理器激活的一个或多个额外模型的更新模型图;
图13C是示出在一个或多个实施例中,响应于视觉分类符结果,由运行管理器激活的一个或多个额外模型的更新模型图;
图14示出在一个或多个实施例中包括类别相似性链接的示例模型图;
图15示出在一个或多个实施例中的示例基于特征向量的域选择方法;
图16示出在一个或多个实施例中的示例基于时间的域选择方法;
图17示出在一个或多个实施例中由并行模型运行驱动的示例应用屏幕;
图18A示出在一个或多个实施例中包括一个结果卡的应用屏幕;
图18B示出在一个或多个实施例中包括多个结果卡的应用屏幕;
图18C示出在一个或多个实施例中包括扩展的结果卡的应用屏幕;
图19A示出在一个或多个实施例中,显示与相机视图中存在的第一对象配对的第一结果卡的应用屏幕;
图19B示出在一个或多个实施例中,显示与相机视图中存在的第二对象配对的第二结果卡910的应用屏幕;
图19C示出在一个或多个实施例中显示扩展的第二结果卡的应用屏幕;
图20是在一个或多个实施例中用于处理视觉数据的示例过程的流程图;以及
图21是示出包括用于实施所公开的实施例的计算机***的信息处理***的示例性高级框图。
实施本发明的最佳模式
一个实施例提供了一种方法,该方法包括通过在输入上运行与域相关联的第一集合模型来对包括视觉数据的输入中存在的一个或多个对象进行分类。第一集合模型中的每个模型对应于对象类别。每个模型被训练以生成与所述输入中的相应对象类别相关的视觉分类符结果,该视觉分类符结果具有指示视觉分类符结果的准确性的相关联的置信度值。该方法还包括基于与第一集合模型的每个模型的每个视觉分类符结果相关联的置信度值来聚合第一集合的视觉分类符结果。基于聚合的第一集合的视觉分类符结果可选择至少一个其它模型用于在输入上运行,以用于对一个或多个对象的额外分类。一个或多个视觉分类符结果被返回到在电子设备上运行的应用以供显示。
参考以下描述、所附权利要求和附图,将理解一个或多个实施例的这些和其它特征、方面和优点。
发明模式
做出以下描述是为了示出一个或多个实施例的一般原理的目的,并不意味着限制这里要求保护的发明构思。此外,这里所述的特定特征可以与各种可能的组合和置换中的每一个中的其它描述的特征组合使用。除非这里另有明确定义,否则所有术语都将被给予其最广泛的可能解释,包括说明书中暗示的含义以及本领域技术人员理解的和/或字典、论文等中定义的含义。
一个或多个实施例一般涉及视觉智能,并且具体的涉及电子设备的视觉智能管理。一个实施例提供了一种方法,该方法包括通过运行与输入上的域相关联的第一组模型来对在包括视觉数据的输入中存在的一个或多个对象进行分类。第一组模型中的每个模型对应于对象类别。每个模型被训练成生成与输入中的相应对象类别相关的视觉分类符结果,该视觉分类符结果具有指示视觉分类符结果的准确性的相关联的置信度值。该方法还包括基于与第一组模型的每个模型的每个视觉分类符结果相关联的置信度值来聚集第一组视觉分类符结果。基于聚集的第一组视觉分类符结果可选择至少一个其它模型用于在输入上运行,以用于一个或多个对象的附加分类。一个或多个视觉分类符结果被返回到在电子设备上运行的应用以供显示。
为了说明的目的,这里使用的术语“视觉数据”一般指视觉内容,诸如图像、视频或可显示在显示设备(例如电视、监视器、平板电脑、智能电话等)上的任何其它类型的视觉内容。
为了说明的目的,术语“视觉处理任务”一般指涉及对视觉数据的视觉分析的任务/操作。不同类型的视觉处理任务的示例包括但不限于人脸识别、场景识别、对象识别、对象定位和分割、对象跟踪、3D对象重建等。
随着近年来新的人工智能和计算机视觉技术的引入,电子设备上的相机应用和/或图库(gallery)应用正在演变成智能工具,如各种实施例中所示,该智能工具可用于从视觉域提取信息,并向电子设备上的一个或多个其它应用和服务提供丰富的视觉上下文(context)。虽然为了说明在一个或多个实施例中提到了相机应用和/或图库应用,但是本领域普通技术人员将会理解,其它类型的应用可以同样受益于本发明的特征。
为了执行视觉处理任务,可以利用基于深度学习(deep learning,DL)和神经网络的视觉处理功能来扩展电子设备上的相机应用。一个或多个实施例提供了基于计算机视觉(computer vision,CV)和DL的视觉智能(VI)框架。VI框架是VI的扩展和集成框架,使能够以最小的应用改变在电子设备上部署新的VI和CV技术。例如,VI框架使得不同的自主VI组件(例如,本地和/或第三方/合作伙伴增强现实应用)能够在电子设备上的相机应用和/或图库应用内运行,从而扩展相机应用和/或图库应用的视觉处理功能。每个VI组件具有小的占用空间(footprint),使能够与相机应用和/或图库应用简单集成。VI框架扩展了电子设备的移动相机或其它类型的感测电路的视觉处理功能,使得移动相机或其它类型的感测电路成为智能相机或感测电路,而不仅仅是用于捕获视觉数据的工具。例如,如果VI组件支持以下视觉处理功能中的一个或多个,则移动相机可以成为VI的来源:(1)对象识别(即,标识视野中的不同类型的对象,诸如汽车),(2)确定对象之间的属性和关系(例如,响应于标识出视野中的跑车和道路,确定跑车正在道路上行驶),以及(3)识别特定对象(例如,属于特定个人的汽车)的属性。
在一个实施例中,VI组件形成产生组件生态***的开放架构,其中不同团体(例如,研究团体)、设备供应商、用户、第三方或合作伙伴可以提供与视觉处理功能相关联的深度学习模型。
在一个实施例中,VI组件被沙箱化(sandboxed),以将相机应用和/或图库应用与VI组件的一个或多个故障隔离。
在一个实施例中,VI框架使能功率优化和资源利用的负载平衡机会,这允许VI组件受益于新形式的软件加速或硬件加速(例如,GPU、FPGA、专用神经网络处理单元),而不改变相机应用和/或图库应用,从而促进高度模块化。
在一个实施例中,VI框架提供对设备上和云上组件两者以及组合了视觉数据的设备上和云上处理的混合架构的支持。
随着DL和VI技术的快速改变,VI框架允许将当前和新兴的视觉技术与移动应用和服务的快速集成。每个VI组件可以被动态添加、移除、激活、去激活(deactivate)或升级。
图1示出了在一个或多个实施例中用于实施VI管理***300的示例计算架构10。计算架构10包括电子设备100,该电子设备100包括计算资源,诸如一个或多个处理器110和一个或多个存储单元120。一个或多个应用250可以利用电子设备100的计算资源在电子设备100上运行/操作。
电子设备100的示例包括但不限于移动电子设备,诸如平板电脑、智能电话、膝上型电脑、智能手表等。
在一个实施例中,电子设备100包括集成在电子设备100中或耦合到电子设备100的相机140。电子设备100上的一个或多个应用可以利用相机140来捕获呈现给相机140的对象的视觉数据(例如,照片、视频)。
在一个实施例中,电子设备100上的一个或多个应用250包括但不限于,一个或多个视觉数据获取应用和/或获取VI的一个或多个组件。不同的视觉数据获取应用的示例包括但不限于,用于利用相机140捕获视觉数据的相机应用161(图4)、用于由相机140捕获的或从其它源接收的视觉数据的离线存储的图库应用162(图4)。用于VI的不同组件的示例包括但不限于,用于对在图像/视频帧中存在的一个或多个对象进行分类的对象识别应用、用于对在图像/视频帧中存在的一个或多个场景进行分类的场景识别应用、用于对在图像/视频帧中存在的一个或多个汽车进行分类的汽车识别应用、用于基于视觉数据自定义由第三方提供的在线服务的第三方应用(例如,用于基于在图像/视频帧中存在的一个或多个对象提供在线购物推荐的购物应用、用于基于在图像/视频帧中存在的一个或多个食物项目提供营养/饮食信息的营养/饮食应用、用于基于在图像/视频帧中存在的一个或多个食物项目提供商店/餐馆推荐的商店/餐馆***应用等)、用于检测图像/视频帧中存在的一个或多个对象位于哪儿的对象定位和分割应用、用于在一系列图像/视频帧上对象跟踪一个或多个对象的对象跟踪应用等。
在一个实施例中,应用250可以被预加载到电子设备100上或被下载到电子设备100。应用250可以源自电子设备100的设备供应商(例如,原始设备制造商(originalequipment manufacturer,OEM))(即,供应商应用)或源自第三方(例如,团体、用户、合作伙伴)。
如这里稍后详细描述的,VI管理***300提供用于VI的组件和API的集合,其允许应用开发者增强现有的应用250并建立利用视觉数据的处理和理解的新应用250。VI管理***300提供用于VI的扩展和集成框架,该用于VI的扩展和集成框架使得VI的一个或多个组件能够在一个或多个视觉数据获取应用中运行,以扩展视觉数据获取应用的视觉处理功能,诸如对象识别或面部识别。
在一个实施例中,除相机140之外,电子设备100可以进一步包括一个或多个另外的传感器150,诸如但不限于用于确定电子设备100的用户位置的一个或多个定位传感器(例如,GPS),用于检测用户发声(即,讲话)和音频环境的特征(例如,嘈杂、安静等)的一个或多个音频传感器(例如,麦克风),用于检测说出的话语的一个或多个话音识别***,用于确定用户感情(例如愤怒、高兴等)、兴趣和意图的一个或多个文本分析***,以及用于基于在电子设备100上收集的数据(例如,应用使用、搜索历史、联系人等)确定关于用户偏好和意图的信息的一个或多个数据分析引擎。应用250可以利用传感器150来捕获基于传感器的上下文信息。
在一个实施例中,电子设备100包括集成在电子设备100中或耦合到电子设备100的一个或多个输入/输出(I/O)单元130,诸如键盘、小键盘、触摸界面或显示屏。
在一个实施例中,电子设备100被配置为通过连接(例如,诸如WiFi连接或蜂窝数据连接的无线连接、有线连接或两者的组合)与一个或多个远程服务器200或远程电子设备交换数据。例如,远程服务器200可以是用于托管(host)一个或多个在线服务(例如,图像和视频托管网站)和/或分发一个或多个应用(例如,应用250)的在线平台。
图2示出了一个或多个实施例中托管表示层255的示例应用250。模块260是被配置为执行特定视觉处理任务(例如,对象识别、对象定位和分割、场景识别、汽车识别、对象跟踪等)的软件抽象。在实施例中,模块260被配置为:(1)接收包括一个或多个图像/视频帧的视觉数据作为输入,基于视觉处理算法(例如,对象识别算法)处理视觉数据,以及生成指示处理结果(例如,视觉数据中存在的对象的分类标签,诸如“狗”)的相应视觉分类符结果(即,识别结果)。模块260还可以依赖于额外的输入,诸如由电子设备100的一个或多个传感器150捕获的基于传感器的上下文信息,或者与电子设备100相关联的设备信息。
应用250可以利用一个或多个模块260来执行一个或多个期望的视觉处理任务。为了允许一个或多个模块260与应用250的简单集成,在一个实施例中,VI管理***300向应用250提供一个或多个表示层255来托管。每个表示层255是包括被配置为处理与在一个或多个模块容器270中运行的一个或多个模块260的通信的小型可嵌入应用的插件(plug-in)机构。
在一个实施例中,表示层255包括用于模块260的配置和状态管理的易于使用的API,托管应用250将经由表示层255与该模块260通信。一旦经由表示层255配置了模块260,托管应用250可以注册用于接收从模块260返回的视觉分类符结果的收听器(listener)。模块260可以将视觉分类符结果返回到表示层255或者直接返回到托管应用250自身。
在一个实施例中,表示层255包括用户界面(UI)元素和相关联的应用逻辑,以用于利用模块260来处理视觉数据,并显示在处理后由模块260返回的视觉分类符结果。
在一个实施例中,模块260可以被配置用于视频流操作或单拍摄操作。视频流操作涉及视觉数据获取应用,诸如相机应用161或图库应用162,将实时(live)图像/视频帧或记录的图像/视频帧连续传递到模块260作为输入用于处理。单拍摄操作涉及视觉数据获取应用,诸如相机应用161或图库应用162,将单个图像/视频帧传递到模块260作为输入用于处理。
在一个实施例中,一个或多个模块260是自主的,使得每个模块260在其自己的模块容器270中运行。这具有如下优点:减少托管应用250的启动时间,并且还确保如果一个或多个模块260故障,托管应用250仍然保持运行。此外,由于模块260可能具有大量的资源需求(例如,大量的存储器和/或处理要求),所以沙箱化一个或多个模块260对于维持托管应用250的完整性和可靠性是重要的,特别是如果托管应用250是诸如相机应用161或图库应用162的视觉数据获取应用。
在一个实施例中,通过将一个或多个模块260作为分离进程运行来实现托管应用250与一个或多个模块260的隔离。例如,如果托管应用250利用多个模块260,则托管应用250托管多个表示层255用于启动模块260的分离进程,并通过进程间通信(inter-processcommunication,IPC)和共享存储器与模块260通信。利用表示层255,托管应用250不需要直接处理模块260,并且可以容易地接通或断开不同的模块260。
在一个实施例中,表示层255可以通过将一个或多个增强现实(AugmentedReality,AR)模块260与相机应用161隔离来使能轻量应用。这使能与相机应用161相关的AR模块260的动态或选择性添加、移除、激活、去激活或升级。例如,如果由相机应用161捕获到办公室的视图,则用于对象识别的模块260可以对存在的一个或多个家具项目进行分类,并且用于场景识别的不同模块260可以将存在的场景分类为办公室空间。
表示层255具有小占用空间(即,小尺寸)。这样,表示层255对托管应用250的资源利用几乎没有影响。
图3示出了一个或多个实施例中的示例模块族400。在一个实施例中,VI管理***300被配置为将可用模块260分组到不同的模块族400中。每个模块族400包括具有相似视觉处理功能的模块260的集合。例如,模块族400可以包括与诸如对象跟踪的特定问题区域相关联的模块260。作为另一个示例,模块族400可以包括与诸如DL的特定技术相关联的模块260。
如图3所示,在一个实施例中,不同的模块族400可以包括但不限于以下中的一个或多个:(1)用于DL的DL模块族410,(2)用于面部分析的面部模块族420,(3)用于姿态分析的姿态模块族430,(4)用于符号分析的符号模块族440,(5)用于对象跟踪的跟踪模块族450,(6)用于云服务的云模块族460,以及(6)用于测试的测试模块族470。
在一个实施例中,DL模块族410包括但不限于以下模块260中的一个或多个:(1)分类模块411,用于对在图像/视频帧中存在的一个或多个对象进行分类,(2)检测模块412,用于检测在图像/视频帧中存在的一个或多个对象,(3)特征提取模块413,用于从图像/视频帧中提取一个或多个特征,(4)深度估计模块414,用于确定与在图像/视频帧中存在的一个或多个对象相关的一个或多个测量(例如,距离),(5)图像分割模块415,用于将图像/视频帧分割成多个分段,(6)样式转换模块416,用于以另一图像/视频帧的样式重组图像/视频帧(即,将一个图像/视频帧的样子和感觉应用到不同的图像/视频帧),以及(7)对象重建模块417,用于捕获在图像/视频帧中存在的一个或多个对象的形状和外观(例如,生成对象的三维模型)。
在一个实施例中,面部模块族420包括但不限于以下模块260中的一个或多个:(1)面部检测模块421,用于检测在图像/视频帧中存在的面部,(2)面部识别模块422,用于识别/标识在图像/视频帧中存在的面部,(3)面部聚集模块423,用于测量在多个图像/视频帧中存在的面部之间的相似性并且将相似的面部聚集成组,以及(4)情绪/年龄/性别模块424,用于确定再图像/视频帧中存在的面部的面部表情、该面部的年龄或该面部的性别中的至少一个。
在一个实施例中,姿态模块族430包括但不限于以下模块260中的一个或多个:(1)注视对象跟踪模块431,用于对象跟踪在图像/视频帧中存在的个人的眼睛注视,(2)手势模块432,用于检测和识别在图像/视频帧中存在的个人展现的手势,以及(3)身体特征/姿势模块433,用于检测和识别在图像/视频帧中存在的个人展现的身体特征和身体姿势中的至少一个。
在一个实施例中,符号模块族440包括但不限于以下模块260中的一个或多个:(1)文本模块441,用于检测和识别视觉数据中的文本,(2)手写模块442,用于检测和识别视觉数据中的手写,以及(3)符号/记号模块443,用于检测和识别视觉数据中的符号和记号中的至少一个。
在一个实施例中,跟踪模块族450包括但不限于以下模块260中的一个或多个:(1)基于帧的DL对象跟踪模块451,用于在一系列图像/视频帧上对一个或多个对象进行基于帧的DL对象跟踪,(2)光流模块452,用于在一系列图像/视频帧上执行光流,(3)基于图案的对象跟踪模块453,用于在一系列图像/视频帧上跟踪图案,(4)特征描述符模型模块454,用于在一系列图像/视频帧上检测和识别特征,以及(5)同步定位和映射(simultaneouslocalization and mapping,SLAM)模块455,用于在一系列图像/视频帧上执行SLAM。
在一个实施例中,云模块族460包括但不限于桥接到一个或多个基于网络的视觉服务(例如,
Figure BDA0002136557170000091
服务、/>
Figure BDA0002136557170000092
服务等)的一个或多个模块260。例如,云模块族460可以包括用于执行与一个或多个/>
Figure BDA0002136557170000093
服务(例如,基于在图像/视频帧中存在的一个或多个对象提供在线购物推荐)相关联的视觉处理任务的/>
Figure BDA0002136557170000094
模块461。作为另一个示例,云模块族460可以包括用于执行与一个或多个/>
Figure BDA0002136557170000095
服务(例如,基于在图像/视频帧中存在的一个或多个对象的在线搜索结果)相关联的视觉处理任务的/>
Figure BDA0002136557170000096
模块462。作为另一个示例,云模块族460可以包括用于执行与一个或多个/>
Figure BDA0002136557170000097
服务(例如,AI服务)相关联的视觉处理任务的/>
Figure BDA0002136557170000098
模块463。
在一个实施例中,测试模块族470包括但不限于以下模块260中的一个或多个:(1)Java/Java本地接口(Java Native Interface,JNI)模块471,用于测试Java/JNI代码,和(2)定时模块472,用于测试一个或多个进程的运行时间。
图4详细示出了在一个或多个实施例中的示例模块260。在一个实施例中,模块260具有包括一个或多个模型320、一个或多个引擎340和引擎选择器330的内部结构。模块260利用一个或多个模型320来执行特定的视觉处理任务。每个模型320包括数据集。在一个实施例中,每个模型320是针对特定任务(例如,诸如人脸识别的图像处理任务)训练的神经网络。
在一个实施例中,模块260包括模型生态***310,模型生态***310维护模块260可利用的不同类型的模型320。模型生态***310提供模块260与一个或多个模型320的运行时间绑定,以及允许从不同来源供应不同类型的模型320的高级配置API。例如,模型生态***310可以包括但不限于以下一个或多个:(1)一个或多个团体模型321,其中每个团体模型321由研究团体开发并且是免费可用的,(2)一个或多个供应商模型322,其中每个供应商模型322由电子设备100的设备供应商(例如,OEM)开发并且仅可在来自设备供应商或由供应商许可的电子设备上运行,(3)一个或多个用户模型323,其中每个用户模型323基于用户数据开发(例如,基于用户的图像/视频收集训练以标识用户的朋友或家庭成员的用户模型323),以及(4)一个或多个第三方/合作伙伴模型324,其中每个第三方/合作伙伴模型324由第三方开发并且可通过合作伙伴关系或许可获得。
模块260被配置为接收来自电子设备100上的视觉数据获取应用的视觉数据作为输入,诸如来自相机应用161的一个或多个相机图像/视频或者来自图库应用162的一个或多个图库图像/视频。模块260还被配置为接收一个或多个额外的输入,诸如来自电子设备100的一个或多个传感器150的基于传感器的上下文信息,或者与电子设备100相关联的设备信息。
在一个实施例中,模块260包括模型压缩单元261,该模型压缩单元261被配置为压缩模块260所利用的模型320。在一个实施例中,模块260包括优化单元262,该优化单元262被配置为优化用于负载平衡的功率优化和资源利用。在一个实施例中,模块260包括软件加速单元263,该软件加速单元263被配置为确定模型320是否受益于软件加速(例如,单指令、多数据(single instruction,multiple data,SIMD),开放多处理(Open Multi-Processing,OpenMP)等)。在一个实施例中,模块260包括硬件加速单元264,该硬件加速单元264被配置为确定模型320是否受益于硬件加速(例如,中央处理单元(centralprocessing unit,CPU)、图形处理单元(graphics processing unit,GPU)、现场可编程门阵列(field-programmable gate array,FPGA)等)。
在一个实施例中,模块260包括引擎选择器330,该引擎选择器330被配置为从可用引擎340(例如,引擎1、引擎2、…、和引擎N)的收集中选择引擎340来运行模块260。每个可用引擎340包括运行或能够运行模块260的软件活动。引擎选择器330为托管应用250与多个模块260和/或多个模型320提供负载平衡和资源管理。
在一个实施例中,每个模型320可以由引擎340支持。每个引擎340可以支持一个或多个模型320。
在一个实施例中,模块260的应用开发者可以基于由模块260利用的模型320的要求和/或参数来控制哪些引擎340与模块260相关联。在一个实施例中,引擎选择器330被配置为从模块260的应用开发者已经与模块260相关联的可用引擎340的收集中选择合适的引擎340。
在另一个实施例中,引擎选择器330被配置为自动选择一个或多个引擎340以与模块260相关联。具体地,引擎选择器330被配置为:(1)基于运行时间数据动态地确定模块260和可用引擎340的收集中的一个或多个引擎340之间的一个或多个关联,以及(2)基于所确定的一个或多个关联从可用引擎340的集合中选择适当的引擎340以用于运行模块260。动态地确定模块260和引擎340之间的关联的能力去除了对模块260和引擎340之间的预定固定关联(例如,由模块260的应用开发者提供的固定关联)的要求。如这里稍后详细描述的,这种灵活性允许模块260基于诸如本体、模块260的细节、与模块260的操作相关的上下文信息等的信息在不同类型的引擎340(诸如第三方引擎)上运行。
在利用由引擎选择器330选择的引擎340上的模型320运行模块260之后,由模块260生成的视觉分类符结果可以被转发到在一个或多个应用250中托管的一个或多个表示层255,或者直接被转发到一个或多个应用250。例如,视觉分类符结果可以被转发到以下一个或多个:(1)电子设备100上的视觉数据获取应用,诸如图库应用162,或者(2)VI组件或在VI组件中托管的表示层。
作为另一个示例,假设VI管理***300从利用用于对象识别的模型320的模块260接收标识在视觉数据中捕获的动物的视觉分类符结果。如这里稍后详细描述的,基于模型320的本体,VI管理***300可以再次运行相同的模块260,或者利用不同模型320来运行不同的模块260,用于与标识的动物相关的另外信息(诸如动物普遍的地理区域)。
在一个实施例中,用户(例如,电子设备100的用户)可以选择模块260来对视觉数据执行特定的视觉处理任务。在另一个实施例中,应用250被配置为选择一个或多个模块260来激活以执行特定的视觉处理任务。
图5示出了在一个或多个实施例中相机应用161的示例应用屏幕500。在一个实施例中,相机应用161是提供充分使用VI***200的虚拟助手的AR相机应用。虚拟助手具有一个或多个安装的AR操作模式,其提供关于经由相机140实时捕获或存储在图库应用162中的图像/视频的内容的信息。每个安装的AR操作模式被配置为执行特定的视觉处理任务,并且对应于运行用于视觉处理任务的一个或多个模块260的相机应用161中托管的表示层255。例如,一个或多个安装的AR操作模式可以包括但不限于以下一个或多个:(1)神奇镜头操作模式,对应于运行用于对象识别的DL模块族410的一个或多个模块260的相机应用161中托管的第一表示层255,(2)地标操作模式,对应于运行用于地标/位置识别(即,标识图像/视频帧中存在的地标或位置)的云模块族460的一个或多个模块260的相机应用161中托管的第二表示层255,(3)文本操作模式,对应于运行用于文本识别的符号模块族440的一个或多个模块260的相机应用161中托管的第三表示层255,(4)面部操作模式,其对应于运行用于面部识别的面部模块族420的一个或多个模块260的相机应用161中托管的第四表示层255,以及(5)一个或多个第三方操作模式,其中每个第三方操作模式由第三方定制/提供,并且对应于运行用于对象跟踪图像/视频帧中存在的一个或多个对象的轨迹模块族450的一个或多个模块260的相机应用161中托管的第五表示层255。
在一个实施例中,神奇镜头操作模式被配置为运行第一组模型320(即,基础模型),并且基于由第一组模型320返回的视觉分类符结果,激活并运行一个或多个另外的模型320。
如图5所示,在一个实施例中,相机应用161向用户呈现包括一个或多个可选图形用户界面(graphical user interface,GUI)元素的应用屏幕500,该可选GUI元素对应于用于用户选择的一个或多个安装的AR操作模式。例如,如图5所示,应用屏幕500可以包括但不限于以下GUI元素中的一个或多个:(1)与神奇镜头操作模式相对应的第一GUI元素501,(2)与地标操作模式502相对应的第二GUI元素502,(3)与文本操作模式503相对应的第三GUI元素503,(4)与脸部操作模式对应的第四GUI元素504,以及(5)与特定第三方操作模式相对应的第五GUI元素505。在一个实施例中,应用屏幕500还包括向用户提供在相机应用161中下载和安装一个或多个额外AR操作模式的选项的可选GUI元素506。
在一个实施例中,相机应用161与VI管理***300一起用作现实世界的浏览器,将相机应用的能力扩展超出仅仅捕获图像和视频。相机应用161将用户的数字世界连接到现实世界,允许用户直接在相机应用161内搜索、探索和了解关于视觉数据中存在的对象、场景、任务和体验的更多内容和上下文。
在一个实施例中,安装和下载额外AR操作模式的能力使得AR应用生态***能够允许合作伙伴和应用开发者向电子设备100的用户提供新的和更新的AR应用。
在一个实施例中,相机应用161与VI管理***300一起经由电子设备100的设备供应商提供的移动支付和数字钱包服务和/或一个或多个第三方移动支付和数字钱包服务,提供交易的移动电子商务通道。
在一个实施例中,相机应用161与VI管理***300一起用作智能视觉记忆服务,该智能视觉记忆服务记住用户经由相机应用161和/或图库应用162看到了什么或与什么交互了,并且按照用户的命令推荐和检索视觉数据中存在的对象、场景、人物和体验的内容和上下文。
图6示出了在一个或多个实施例中相机应用161的另一示例应用屏幕510。假设当电子设备100的用户正在使用相机应用161时,VI管理***300接收到包括由电子设备160的GPS捕获的位置数据的基于传感器的上下文信息,其中该位置数据指示用户在电影院。在相机应用161中托管的表示层255可以运行用于海报识别的模块260来处理相机140的相机视图内的海报,以标识海报对应于的电影。如图6所示,响应于从模块260接收到指示标识的电影的视觉分类符结果,相机应用161可以向用户呈现应用屏幕510,其中该应用屏幕510显示视觉分类符结果(即,标识的电影名称),并且向用户提供调用用于购买标识的电影的电影票的第三方应用的选项。
图7示出在一个或多个实施例中相机应用161的另一示例应用屏幕520。假设用户经由相机应用161捕获或者从图库应用162中选择植物的图像。在相机应用161中托管的表示层255可以运行用于对象识别的模块260,以标识图像中存在的植物的类型。如图7所示,响应于从模块260接收到指示标识的植物类型(例如,肉质植物)的视觉分类符结果,相机应用161可以向用户呈现应用屏幕520,其中该应用屏幕520显示视觉分类符结果(即标识的植物类型),并且向用户提供与该图像相关的额外信息,诸如但不限于,用户可以购买植物的商店的位置、照顾植物的指南、用户可以用来在线购买植物的第三方应用、以及用户可以用来在在线或亲自购买植物时提供优惠券的另一个第三方应用。
图8示出了在一个或多个实施例中相机应用161的另一示例应用屏幕530。假设用户经由相机应用161捕获或者从图库应用162中选择食物项目的图像。在相机应用161中托管的表示层255可以运行用于对象识别的模块260,以标识图像中存在的食物项目的类型。如图8所示,响应于从模块260接收到指示标识的食物项目的类型(例如,芝士汉堡)的视觉分类符结果,相机应用161可以向用户呈现应用屏幕530,其中该应用屏幕530显示视觉分类符结果(即标识的食物项目的类型),并且向用户提供与该图像相关的额外信息,诸如但不限于,食物项目的营养信息、供应食物项目的餐馆的在线评论、以及用户可以用来将营养信息记录到他/她的食物日志中的第三方应用(例如,饮食/健康对象跟踪应用)。
图9示出在一个或多个实施例中相机应用161的另一示例应用屏幕540。在一个实施例中,相机应用161基于与应用屏幕540的一个或多个用户交互允许用户在不同的AR操作模式之间切换。例如,如图9所示,用户可以使用手势浏览/滚动不同的AR操作模式(例如,如方向箭头F所示,向左或向右滑动通过与不同AR操作模式相对应的不同GUI元素)。
利用VI管理***300,在电子设备100上可以存在大量模型320。然而,由于电子设备100上有限的计算资源,在运行时间期间,电子设备100上存在的所有模型320同时是活跃的可能是不可行的。在一个实施例中,VI管理***300提供了用于在运行时间期间加载/激活或卸载/去激活一个或多个模型320的功能,从而提供了提高的可扩展性以容纳大量模型320,这反过来也提高了识别能力。在一个实施例中,VI管理***300容纳同时并行运行多个模型320。在一个实施例中,VI管理***300容纳设备上(即,在电子设备100上)和云上(即,远程地在服务器200上,诸如云服务)运行模型320。
在一个实施例中,应用可以在两阶段过程中被部署在电子设备上:1)学习过程,其中使用具有大量训练数据的复杂神经网络架构来创建一个或多个预训练模型,以及2)推理过程,其中基于预训练模型来执行推理。具体地,在推理过程中,一旦一个或多个预训练模型可用,应用可以被开发为使用从一个或多个预训练模型中可用的一个或多个识别能力以分析视觉数据。这可用于开发用于使用一个或多个预训练模型识别特定的一组对象的一个或多个AR应用。此外,每个应用都与特定模型相关联,并且每个模型可以基于训练数据识别特定数量的对象类别。
在一个实施例中,VI管理***300可以利用以下优点:基于多个模型320在运行时间执行推理,并且还可以基于电子设备100的用户的上下文信息(“用户上下文”)在运行时间切换模型320。用户上下文的示例包括但不限于GPS位置、应用使用、用户意图等。
在一个实施例中,VI管理***300基于类别和类别之间的分层关系以智能和分层的方式组织预训练模型,其中每个分层关系(即本体)可以被自动生成(即自动导出)、预定义(即预定)或由应用开发者/用户提供。分层树结构使能够进行通用/一般类别的识别,然后是由指示通用/一般类别的视觉分类符结果触发的特定类别的识别。在一个实施例中,VI管理***300支持在运行时间向一个或多个类别添加和从其去除对分层树结构的简单修改/更新,从而提供具有变化数量的类别的可扩展和动态***架构。
在一个实施例中,VI管理***300可以对相同的视觉数据并行地或顺序地运行多个模型和/或多个DL引擎。
在一个实施例中,VI管理***300允许基于用户上下文在电子设备100中调用/加载不同的模型。VI管理***300可以基于多个模型处理视觉数据,以获得对视觉数据中存在的对象、场景、人物和体验的内容和上下文的不同级别的理解。在一个实施例中,VI管理***300提供了使用电子设备100的CPU资源运行特定模型和使用电子设备100的专用硬件(诸如GPU)运行特定模型的灵活性。在一个实施例中,VI管理***300提供了用于识别电子设备100上可用的一些对象类别和来自云的一些对象类别的混合方案。
域是模型320的集合。在本说明书中,使术语“模型图”一般指代表示类别(例如,对象类别)的分层树结构的有向图(directed graph)。在一个实施例中,模型图包括多个类别节点,该多个类别节点包括:(1)第一类别节点,表示指示由模型图表示的域的域根,和(2)多个额外的类别节点,表示被包括在域中的多个模型320。模型图还包括多个类别节点之间的一个或多个分层链接。每个分层链接表示一对模型之间的分层关系。在一个实施例中,模型图可以包括以下类型的分层链接中的至少一个——类别本体链接或类别相似性链接。如稍后参考图12详细描述的,一对模型之间的类别本体链接基于与该对模型相关的本体信息。如稍后参考图14详细描述的,一对模型之间的类别相似性链接基于该对模型之间的相似性度量。
不同类型的域的示例包括但不限于以下:(1)日常域,表示一个或多个模型320可识别的日常对象和动物,(2)地点域,表示一个或多个模型320可识别的室内和室外位置/地标,(3)汽车域,表示一个或多个模型320可识别的汽车模型,(4)食物域,表示一个或多个模型320可识别的食物项目,(5)海报域,表示一个或多个模型320可识别的电影/影片海报,(6)记号域,表示一个或多个模型320可识别的美国手语(sign language),(7)年龄域,表示一个或多个模型320可识别的年龄组,(8)性别域,表示一个或多个模型320可识别的性别组,(9)标志域,表示一个或多个模型320可识别的品牌标志,(10)情绪域,表示一个或多个模型320可识别的基本用户情绪,以及(11)花卉域,表示一个或多个模型320可识别的花卉类型。
图10示出了在一个或多个实施例中的示例运行管理器700。在一个实施例中,VI管理***300包括运行管理器700,该运行管理器700用于基于多个模型320在运行时间执行推理,以及基于上下文信息切换在运行时间的模型320(即,对运行时间期间的模型320的实时管理)。运行管理器700促进并行模型运行,其中多个模型320同时运行。
如这里稍后详细描述的,在一个实施例中,为了基于上下文(例如,用户上下文)和应用偏好(例如,服务质量偏好)来确定哪些模型320在运行时间期间运行,运行管理器700被配置为执行以下每一个:(1)域选择过程,其中选择适合于由运行管理器700接收的视觉数据的域,以及(2)模型选择过程,其中被包括在所选择的域中的一个或多个模型320被选择用于在运行时间期间激活。
在一个实施例中,运行管理器700被配置为在运行时间期间访问由VI管理***300维护的活跃模型(即,激活的/加载的模型)320的集合740。活跃模型320是被加载到在运行时间期间运行活跃模型320的相应活跃引擎340中的模型320。活跃引擎340是在运行时间期间活跃的引擎340。集合740可以包括团体模型321、供应商模型322、用户模型323和第三方/合作伙伴模型324中的至少一个。
在一个实施例中,运行管理器700包括模型运行***710,模型运行***710包括分发单元711,该分发单元711被配置为:(1)接收包括一个或多个图像/视频帧的视觉数据作为输入(例如,从相机应用161或图库应用162),以及(2)将视觉数据转发/传递到运行活跃模型320的集合740的所有活跃引擎340。每个活跃引擎340至少基于加载到活跃引擎340中的活跃模型320来处理视觉数据,并且生成指示视觉数据中存在的一个或多个对象和/或视觉数据中检测到一个或多个对象的一个或多个区域的一个或多个分类标签(例如,对象类别)的相应视觉分类符结果。生成的每个视觉分类符结果可以具有一个或多个相关联的置信度值,其中每个置信度值指示视觉分类符结果的准确性。
在一个实施例中,所有活跃引擎340同时运行加载到活跃引擎340中的活跃模型320,从而并行处理视觉数据(即,并行模型运行)。在另一个实施例中,活跃引擎340顺序地处理视觉数据。在又一实施例中,活跃引擎340部分并行且部分顺序地处理视觉数据。
例如,假设运行管理器700被配置为并行运行不超过N个活跃引擎340。此外,假设在运行时间期间的某个点,要求M个模型来处理视觉数据,其中N<M。运行管理器700可以使用N个活跃引擎340并行运行前N个模型,随后并行运行多达N个模型的组,直到所有的M个模型都已经被运行。
在一个实施例中,模型运行***710包括聚合单元712,该聚合单元712被配置为合并/组合来自所有活跃引擎340的所有视觉分类符结果(即,结果聚合)。
在一个实施例中,模型运行***710包括选择单元713,该选择单元713被配置为:(1)监视由每个活跃引擎340生成的每个视觉分类符结果,以确定运行何时完成,(2)移除重复的视觉分类符结果,以及(3)移除具有相关联的不满足一个或多个预定置信度阈值的置信度值(即,低置信度值)的视觉分类符结果。
在一个实施例中,运行管理器700包括域选择***720,该域选择***720被配置为自动选择适合于由运行管理器700接收的视觉数据的域(即,域选择过程),其中所选择的域包括作为运行时间期间用于激活的候选的一个或多个模型320。域选择***720被配置为根据但不限于以下方法之一来自动选择域:基于分层的域选择方法、基于特征向量的域选择方法或基于时间的域选择方法。
在一个实施例中,域选择***720包括被配置为应用基于分层的域选择方法的基于分层的域选择器721。基于分层的域选择方法包括基于被包括在分层树结构中的模型320之间的一个或多个分层关系(即,类别本体链接和/或类别相似性链接)来选择域。例如,假设当前选择第一域来处理视觉数据。当通过被包括在第一域中的模型320识别出在视觉数据中存在的对象时,基于分层的域选择器721可以通过沿着从第一域到第二域的类别本体链接或类别相似性链接来选择适合于进一步处理视觉数据的第二域。
在另一个实施例中,域选择***720包括被配置为应用基于特征向量的域选择方法的基于特征向量的域选择器722。基于特征向量的域选择方法包括基于从视觉数据提取的一个或多个特征表示(即,特征向量)来选择域。在一个实施例中,对于每个可用域,基于特征向量的域选择器722被配置为确定对于该域的相应特征表示,并存储关于该域的特征表示与相应元数据信息(例如,在一个或多个存储单元120中)。响应于接收到视觉数据,基于特征向量的域选择器722被配置为,对于视觉数据的每个图像/视频帧,执行以下操作:(1)确定图像/视频帧的相应特征表示,(2)对于每个可用域,确定表示图像/视频帧的相应特征表示和关于该域的存储的特征表示之间的距离的相应距离度量,以及(3)从可用域中选择具有最小距离度量(即,具有最接近图像/视频帧的相应特征表示的特征表示)的域。
在另一个实施例中,域选择***720包括被配置为应用基于时间的域选择方法的基于时间的域选择器723。基于时间的域选择方法包括基于用于一个或多个时间窗口的一个或多个视觉分类符结果来选择域。在一个实施例中,对于每个可用域,基于时间的域选择器723被配置为确定该域的相应特征表示,并存储关于该域的特征表示与相应元数据信息(例如,在一个或多个存储单元120中)。响应于接收到视觉数据,基于时间的域选择器723被配置为将视觉数据分割成多个时间窗口,其中每个时间窗口包括被包括在视觉数据中的图像/视频帧的序列(即子集)。在一个实施例中,视觉数据可以基于场景边界被分割成多个时间窗口。对于每个时间窗口,基于时间的域选择器723被配置为运行以下操作:(1)确定对于时间窗口的相应特征表示,(2)对于每个可用域,确定表示对于时间窗口的相应特征表示和关于该域的存储的特征表示之间的距离的相应距离度量,以及(3)从可用域选择具有最小距离度量(即,具有最接近对于时间窗口的相应特征表示的特征表示)的域。
在一个实施例中,运行管理器700包括模型选择***730,该模型选择***730被配置为:(1)从域选择***720接收所选择的域,(2)基于所选择的域,确定在运行时间期间要加载/活跃和卸载/去活跃(即模型选择)哪些模型320(即,模型选择过程),以及(3)基于所选择的域,确定在运行时间期间要激活或终止哪些引擎340(即引擎负载平衡)。模型选择***730增强了用户便利性,因为它去除了应用开发者/用户明确地选择模型来激活的需要。
在一个实施例中,模型选择***730应用服务质量(QoS)评分方法来从所选择的域中选择要加载/激活的模型。
使r一般地表示包括使用模型m确定的分类标签n的视觉分类符结果。使链接(m,n)一般地表示基于模型m和分类标签n的类别本体链接的集合和类别相似性链接。使m’一般地表示链接(m,n)指向的模型320的集合。使M’一般地表示通过在视觉分类符结果的集合上取m’的并集而形成的模型320的集合。在一个实施例中,模型选择***730包括模型负载平衡器单元731,该模型负载平衡器单元731被配置为:(1)将集合M’中的每个模型320标识为用于激活的候选,(2)为集合M’中的每个模型320确定相应的运行顺序,以及(3)根据相应的运行顺序协调集合M’中的每个模型320的激活。
在一个实施例中,模型负载平衡器单元731被配置为基于以下信息来确定集合M’中每个模型320的相应运行顺序:(1)QoS偏好信息732,和(2)模型元数据信息733。QoS偏好信息732可以包括但不限于以下中的一个或多个:(1)可以在设备上同时运行的引擎340的预定阈值,(2)引擎340和模型320的资源要求(例如,存储器和诸如GPU的专用硬件),以及(3)当前被加载到活跃引擎340中的活跃模型320的当前激活,其中一些模型320可能需要保持活跃,而其它模型可能会被“离线”(即,去活跃/卸载)。模型元数据信息733可以包括但不限于以下中的一个或多个:(1)包括在所选择的域中的所有模型320的模型优先级,其中诸如在表示所选择的域的模型图的域根附近的那些模型的一些模型320可以在过程(pass)之间保持活跃,以及(2)包括在所选择的域中的所有模型320的模型驻处(residency),其中每个模型320或者具有要求模型320在设备上运行的模型驻处(即设备上模型),或者具有要求模型320在云上运行的不同模型驻处(即云上模型)。
在一个实施例中,运行管理器700无缝地组合设备上模型和云上模型。对于每个设备上模型,模型负载平衡器单元731通过利用适当的超参数激活/启动引擎340并将设备上模型加载到活跃引擎340中来激活设备上模型。对于每个云上模型,模型负载平衡器单元731初始化与将运行云上模型的云服务通信所需的客户端端点。模型负载平衡器单元731可以与每个激活的引擎340和/或每个初始化的客户端端点交换消息(例如,交换激活请求和激活回复)。
图11是在一个或多个实施例中用于自动选择模型320来激活的示例过程750的流程图。在过程块751中,(例如,从域选择***720)接收所选择的域。在过程块752中,获得QoS偏好(例如,QoS偏好信息732)。在过程块753中,获得被包括在所选择的域中的所有模型的元数据(例如,模型元数据信息733)。在过程块754中,对于被包括在所选择的域中的每个模型,基于模型的QoS偏好和元数据,来确定相应延时评分、相应准确性评分、相应存储器评分和相应硬件评分。在过程块755中,对于被包括在所选择的域中的每个模型,基于该模型的相应延时评分、相应准确性评分、相应存储器评分和相应硬件评分来确定相应总体评分。在过程块756中,在被包括在所选择的域中的所有模型中选择具有最高总体评分的模型用于在运行时间期间激活。
在一个实施例中,过程块751-756可以由模型选择***730的一个或多个组件来执行,诸如但不限于模型负载平衡器单元731。
图12示出在一个或多个实施例中包括类别本体链接的示例模型图800。模型图800包括指示由模型图800表示的日常域的域根805。模型图800包括表示多个模型320的多个类别节点,其中多个模型320诸如但不限于,用于识别日常对象的对象识别模型810、用于识别场景的场景识别模型820、用于识别汽车模型的汽车模型830和用于识别自然的自然模型840。
如图12所示,对象识别模型810链接到一个或多个额外的模型320,诸如用于识别鞋类型/品牌的鞋模型811、用于识别包类型/品牌的包模型812和用于识别服装类型/品牌的服装模型813。
在一个实施例中,基于分层的域选择器721假设由模型320识别的每个对象与模型图的类别节点相关联,并且进一步假设模型320与类别节点的集合相关联。在一个实施例中,如果由第一模型m1识别的对象具有与第二模型m2的类别节点之一相同的类别节点,则基于分层的域选择器721生成/形成第一模型m1和第二模型m2之间的类别本体链接。在一个实施例中,模型图800包括一个或多个类别本体链接。例如,如图12所示,模型图800包括在动物模型841和以下设备上模型320中的每一个之间的类别本体链接806A:用于识别狗类型/品种的狗模型841A。如图12所示,模型图800还包括在包模型812和以下云上模型320中的每一个之间的类别本体链接806B:用于识别第一类型品牌(例如,
Figure BDA0002136557170000211
)的包的第一品牌模型812A、用于识别第二类型品牌(例如,/>
Figure BDA0002136557170000212
)的包的第二品牌模型812B、以及用于识别第三类型品牌(例如,Kate/>
Figure BDA0002136557170000213
)的包的第三品牌模型812C。
在一个实施例中,基于分层的域选择器721可以使用规范化的词语空间(例如,WordNet)来生成从一个模型识别的对象到一个或多个其它模型识别的对象的类别本体链接。
图13A-13C示出了在一个或多个实施例中,由运行管理器700执行用于自动选择模型320来激活的操作序列。具体而言,图13A是示出在一个或多个实施例中由运行管理器700初始激活的一个或多个模型320的模型图850。如图13A所示,在初始状态下(即,在运行管理器700接收到视觉数据之前),运行管理器700仅激活以下两个模型320:(1)用于识别日常对象的对象识别模型860,和(2)用于识别场景的场景识别模型870。图13A所示的所有其它模型320,诸如猫识别模型861、狗识别模型862、电影识别模型871、户外识别模型872和海报识别模型871A,是不活跃的。
图13B是示出在一个或多个实施例中,响应于接收到视觉数据,由运行管理器700激活的一个或多个额外模型320的更新模型图850。如图13B所示,响应于接收到包括狗的图像的视觉数据,对象识别模型860处理该视觉数据并生成包括具有相关联的0.988置信度值的分类标签“狗”的相应视觉分类符结果。假设0.988满足一个或多个预定置信度阈值,则运行管理器700然后基于对象识别模型860和狗识别模型862之间的类别本体链接来激活狗识别模型862。图13A所示的所有其它模型320,诸如猫识别模型861、电影识别模型871、户外识别模型872和海报识别模型871A,保持不活跃。
图13C是示出在一个或多个实施例中,响应于视觉分类符结果,由运行管理器700激活的一个或多个额外模型320的更新模型图850。响应于由对象识别模型860生成的视觉分类符结果,另一激活模型320处理视觉数据。具体而言,如图13C所示,狗识别模型862处理视觉数据,并生成标识视觉数据中存在的狗的狗品种的相应视觉分类符结果。例如,视觉分类符结果可以包括具有相关联的0.461置信度值的分类标签“阿彭策勒犬(Appenzeller)”。
图14示出在一个或多个实施例中包括类别相似性链接的示例模型图800。在一个实施例中,如果由第一模型m1识别的对象具有基于相似性度量类似于第二模型m2的类别节点的类别节点,则基于分层的域选择器721生成/形成第一模型m1和第二模型m2之间的类别相似性链接856。在一个实施例中,模型图800还包括一个或多个类别相似性链接856。例如,如图14所示,模型图800包括场景识别模型820和以下模型中的每一个之间的类别相似性链接856:用于识别电影/影片(例如,电影/影片海报)的电影模型821,因为由场景识别模型820识别的对象“电影院”类似于由电影模型821识别的对象“电影”;以及动物模型841,因为由场景识别模型820识别的对象“动物园”类似于由动物识别模型820识别的对象“动物”。
在一个实施例中,基于分层的域选择器721可以使用规范化词语空间(例如,Word2Vec)上的词语相似性度量来生成从一个模型320识别的对象到一个或多个其它模型320识别的相似对象的类别相似性链接。
图15示出一个或多个实施例中的示例基于特征向量的域选择方法。如上所述,基于特征向量的域选择器722根据基于特征向量的域选择方法选择域。使Imagen一般地表示被包括在由运行管理器700接收的视觉数据中的图像/视频帧,其中n是正整数。在一个实施例中,基于特征向量的域选择器722被配置为:(1)对于每个图像/视频帧Imagen,利用用于特征提取的模型725(诸如包括多层(例如,层1、层2、…、层Z-1、层Z)的神经网络架构),来提取相应的中间特征表示F(Imagen),以及(2)通过对提取的每个中间特征表示F(Imagen)应用线性变换G[](例如,平均),来生成视觉数据的模型特定中间表示(model specificintermediate representation,MSIR)727。在一个实施例中,MSIR 727被维护在VI管理***300的应用高速缓存726中,以供基于特征向量的域选择器722稍后使用(例如,与生成的其它MSIR进行比较)。
在一个实施例中,基于特征向量的域选择器722将视觉数据的特征表示与可用域的特征表示进行比较,并从可用域中选择具有最小距离度量的域。
在一个实施例中,如果使用云服务,则特征向量的使用提高了隐私性,因为是将特征向量发送到云服务而不是实际的图像/视频帧。
图16示出在一个或多个实施例中基于时间的域选择器723的示例实施方式。如上所述,基于时间的域选择器723根据基于时间的域选择方法选择域。使TemporalWindowx一般地表示时间上包括运行管理器700接收的视觉数据中包括的图像/视频帧的序列(即子集)的时间窗口,其中x是正整数。在一个实施例中,基于时间的域选择器723被配置为将视觉数据分割成多个时间窗口。在一个实施例中,基于时间的域选择器723被配置为针对每个时间窗口TemporalWindowx确定相应的特征表示。基于时间的域选择器723将时间窗口的特征表示与可用域的特征表示进行比较,并从可用域中选择具有最小距离度量的域。
使rTemporalWindowx一般地表示时间窗口的视觉分类符结果。在一个实施例中,基于时间的域选择器723被配置为针对每个时间窗口TemporalWindowx确定相应的视觉分类符结果rTemporalWindowx。在一个实施例中,针对每个时间窗口TemporalWindowx确定的每个视觉分类符结果rTemporalWindowx被维护在VI管理***300的应用高速缓存736中,以供基于时间的域选择器723稍后使用。
图17示出在一个或多个实施例中由并行模型运行驱动的示例应用屏幕900。在一个实施例中,相机应用161的虚拟助手生成应用屏幕900以向用户显示。如图17所示,应用屏幕900是包括相机140的相机视图901和结果卡(即,信息卡)910的示例界面。结果卡910包括相机视图901中存在的对象的视觉分类符结果911。在一个实施例中,如果相机视图901中存在的对象包括文本,则视觉分类符结果911可以包括文本的光学字符识别(opticalcharacter recognition,OCR)。
如图17所示,应用屏幕900包括一个或多个可选GUI元素,诸如但不限于以下:(1)用于调用将视觉分类符结果911翻译成所选择的语言(例如,韩语)的第一组件912,(2)用于使用手势(例如,如方向箭头A所示,向左或向右滑动)滚动多个结果卡910的第二组件913,(3)用于话语能力(例如,提供对虚拟分类符结果911的机器生成的朗读)的第三组件914,(4)用于接收用户反馈作为输入的第四组件915,以及(5)用于调用一个或多个云服务以执行与视觉分类符结果911相关的额外信息的进一步搜索的第五组件916。
图18A-18C每个示出在一个或多个实施例中用于显示多个结果卡910的另一示例应用屏幕930。具体地,图18A示出在一个或多个实施例中包括一个结果卡910的应用屏幕930。在一个实施例中,相机应用161的虚拟助手生成应用屏幕930以向用户显示。应用屏幕930是包括结果卡910的上拉(pull-up)列表931的示例界面。如图18A所示,在上拉列表931中仅显示一个结果卡910。用户可以通过向上滑动上拉列表931(如方向箭头B所示)以扩展上拉列表931或者向下滑动上拉列表931以减少/消除所示的上拉列表931来滚动/浏览上拉列表931。
图18B示出在一个或多个实施例中包括多个结果卡910的应用屏幕930。如图18B所示,响应于用户向上滑动上拉列表,应用屏幕930更新以显示额外的结果卡910。用户可以选择显示的结果卡910中的任何一个以扩展所选择的结果卡910,并查看与所选择的结果卡910相关的额外细节。
图18C示出在一个或多个实施例中包括扩展的结果卡910的应用屏幕930。如图18C所示,扩展的结果卡910可以包括与被包括在结果卡910中的虚拟分类符结果相关的额外细节和/或额外图像。
图19A-19C每个示出在一个或多个实施例中用于显示结果卡910的另一示例应用屏幕920,该结果卡910与相机140的相机视图901中存在的对象配对。具体而言,在一个或多个实施例中,图19A示出了显示与相机视图901中存在的第一对象配对的第一结果卡910的应用屏幕920。在一个实施例中,相机应用161的虚拟助手生成应用屏幕920以向用户显示。如图19A所示,应用屏幕920是示例界面,该示例界面包括相机140的相机视图901、相机视图901中存在的第一对象(对象1)的第一结果卡910、以及突出相机视图901中检测到第一对象的第一区域的第一边界框921。用户可以使用手势(例如,如方向箭头C所示,向左滑动)滚动/浏览被包括在应用屏幕920中的多个结果卡910。
图19B示出在一个或多个实施例中,显示与相机视图901中存在的第二对象配对的第二结果卡910的应用屏幕920。如图19B所示,响应于用户滑动第一结果卡910,应用屏幕920更新以显示相机视图901中存在的第二对象(对象2)的第二结果卡910,以及突出相机视图901中检测到第二对象的第二区域的第二边界框922。用户可以使用手势(例如,如方向箭头D所示,向左或向右滑动)滚动其它结果卡910(例如,返回到第一结果卡910或查看其它结果卡910)。
图19C示出在一个或多个实施例中显示扩展的第二结果卡910的应用屏幕920。如图19C所示,用户可以通过向上滑动第二结果卡910(如,方向箭头E所示)来扩展第二结果卡910,以扩展第二结果卡910并查看与所选择的结果卡910相关的额外细节。如图19C所示,扩展的第二结果卡910可以包括与被包括在第二结果卡910中的虚拟分类符结果相关的额外细节和/或额外图像。用户可以通过向下滑动扩展的第二结果卡910来消除扩展的第二结果卡910。
在一个实施例中,如果有多个结果卡910可供用户滚动/浏览,则可以基于被包括在结果卡910中的虚拟分类符结果的准确性(即置信度值)来组织结果卡910。
图20是在一个或多个实施例中用于处理视觉数据的示例过程1000的流程图。在过程块1001中,通过对包括视觉数据的输入运行与域相关联的第一集合模型来对输入中存在的一个或多个对象进行分类,其中第一集合模型中的每个模型对应于对象类别,并且每个模型被训练以生成与输入中的相应对象类别相关的视觉分类符结果,该视觉分类符结果具有指示视觉分类符结果的准确性的相关联的置信度值。
在过程块1002中,基于与第一集合模型中的每个模型的每个视觉分类符结果相关联的置信度值,聚合第一集合的视觉分类符结果。
在过程块1003中,基于聚合的第一集合视觉分类符结果以及第一集合模型和一个或多个其它模型之间的一个或多个分层关系,选择在输入上运行的第二集合模型。
在过程块1004中,基于与第二集合模型相对应的一个或多个服务质量(QoS)偏好和模型元数据信息,确定第二集合模型的运行顺序。
在过程块1005中,根据运行顺序运行第二集合模型。
在一个实施例中,过程块1001-1005可以由VI管理***300的一个或多个组件来执行,诸如运行管理器700。
图21是示出包括用于实施所公开的实施例的计算机***600的信息处理***的高级框图。计算机***600可以结合在电子设备100或服务器设备(例如,服务器200)中。计算机***600包括一个或多个处理器601,并且可以进一步包括电子显示设备602(用于显示视频、图形、文本和其它数据)、主存储器603(例如,随机存取存储器(random access memory,RAM))、存储设备604(例如,硬盘驱动器)、可移除存储设备605(例如,可移除存储驱动器、可移除存储器模块、磁带驱动器、光盘驱动器、其中存储有计算机软件和/或数据的计算机可读介质)、观看者接口设备606(例如键盘、触摸屏、小键盘、定点设备)、通信接口607(例如,调制解调器、网络接口(诸如以太网卡)、通信端口或PCMCIA插槽和卡)以及相机609。通信接口607允许软件和数据在计算机***和外部设备之间传送。***600还包括通信基础设施608(例如,通信总线、交叉条或网络),前述设备/模块601至607连接到该通信基础设施608。
经由通信接口607传递的信息可以是诸如电子、电磁、光的信号或能够经由通信链路被通信接口607接收的其它信号的形式,其中通信链路携带信号,并且可以使用电线或电缆、光纤、电话线、蜂窝电话链路、射频(radio frequency,RF)链路和/或其它通信信道来实施。表示这里的框图和/或流程图的计算机程序指令可以被加载到计算机、可编程数据处理装置或处理设备上,以使得在其上执行的一系列操作生成计算机实施的过程。在一个实施例中,用于过程750(图11)和过程1000(图20)的处理指令可以作为程序指令存储在存储器603、存储设备604和可移除存储设备605上,以用于处理器601运行。
已经参考方法、装置(***)和计算机程序产品的流程图示和/或框图描述了实施例。这种图示/图的每个块或其组合可以由计算机程序指令来实施。计算机程序指令当提供给处理器时产生机器,使得经由处理器运行的指令创建用于实施流程图和/或框图中指定的功能/操作的装置。流程图/框图中的每个块可以表示硬件和/或软件模块或逻辑。在替代实施方式中,块中标注的功能可以不按图中标注的顺序发生、同时发生,等等。
术语“计算机程序介质”、“计算机可用介质”、“计算机可读介质”和“计算机程序产品”用于一般地指诸如主存储器、辅助存储器、可移除存储驱动器、安装在硬盘驱动器中的硬盘和信号的介质。这些计算机程序产品是向计算机***提供软件的装置。计算机可读介质允许计算机***从计算机可读介质读取数据、指令、消息或消息分组以及其它计算机可读信息。例如,计算机可读介质可以包括非易失性存储器,诸如软盘、ROM、闪存、磁盘驱动器存储器、CD-ROM和其它永久存储装置。例如,它可用于在计算机***之间传输诸如数据和计算机指令的信息。计算机程序指令可以被存储在计算机可读介质中,该计算机可读介质可以指导计算机、其它可编程数据处理装置或其它设备以特定方式工作,使得存储在计算机可读介质中的指令产生包括实施流程图和/或框图的一个或多个块中指定的功能/动作的指令的制品。
如一位本领域技术人员将理解的,实施例的各方面可以具体体现为***、方法或计算机程序产品。因此,实施例的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)、或者组合软件和硬件方面的实施例的形式,所述形式在这里可以全部一般地被称为“电路”、“模块”或“***”。此外,实施例的各方面可以采取具体体现在其上具体体现有计算机可读程序代码的一个或多个计算机可读介质中的计算机程序产品的形式。
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读存储介质。计算机可读存储介质可以是,例如但不限于,电子、磁、光、电磁、红外或半导体***、装置或设备,或前述的任何合适的组合。计算机可读存储介质的更具体的示例(非穷举列表)将包括以下:具有一条或多条线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(erasable programmable read-only memory,EPROM或闪存)、光纤、便携式光盘只读存储器(compact disc read-onlymemory,CD-ROM)、光存储设备、磁存储设备或前述的任何合适的组合。在此档的上下文中,计算机可读存储介质可以是能够包含或存储由指令运行***、装置或设备使用或与其结合使用的程序的任何有形介质。
用于运行一个或多个实施例的各方面的操作的计算机程序代码可以以一个或多个编程语言的任意组合来编写,该一个或多个编程语言包括诸如Java、Smalltalk、C++等的面向产品的编程语言,以及诸如“C”编程语言或类似的编程语言的传统过程编程语言。程序代码可以作为独立软件包完全在观看者的计算机上运行,部分在观看者的计算机上运行,部分在观看者的计算机上运行且部分在远程计算机上运行,或者完全在远程计算机或服务器上运行。在后一种情况下,远程计算机可以通过包括局域网(local area network,LAN)或广域网(wide area network,WAN)的任何类型的网络连接到观看者的计算机,或者进行到外部计算机的连接(例如,通过使用互联网服务提供商的互联网)。
上面参考方法、装置(***)和计算机程序产品的流程图示和/或框图描述了一个或多个实施例的各方面。应当理解,流程图示和/或框图的每个块,以及流程图示和/或框图中的块的组合,可以由计算机程序指令来实施。这些计算机程序指令可以被提供给专用计算机或其它可编程数据处理装置以产生机器,使得经由计算机的处理器或其它可编程数据处理装置运行的指令创建用于实施流程图和/或框图的一个或多个块中指定的功能/动作的装置。
这些计算机程序指令也可以被存储在计算机可读介质中,该计算机可读介质可以指导计算机、其它可编程数据处理装置或其它设备以特定方式工作,使得存储在计算机可读介质中的指令产生包括实施流程图和/或框图的一个或多个块中指定的功能/动作的指令的制品。
计算机程序指令也可以被加载到计算机、其它可编程数据处理装置或其它设备上,以使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,从而产生计算机实施的过程,使得在计算机或其它可编程装置上运行的指令提供用于实施流程图和/或框图的一个或多个块中指定的功能/动作的过程。
图中的流程图和框图示出了根据各种实施例的***、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这点上,流程图或框图中的每个块可以表示模块、分段或指令部分,其包括用于实施(多个)指定逻辑功能的一个或多个可运行指令。在一些替代实施方式中,块中标注的功能可以不按图中标注的顺序来发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时运行,或者有时可以以相反的顺序运行所述块。还将注意到,框图和/或流程提示的每个块、以及框图和/或流程图示中的块的组合,可以由执行指定功能或动作或者进行专用硬件和计算机指令的组合的基于专用硬件的***来实施。
除非明确声明,否则权利要求中对单数元素的引用并不意味着“一个且仅一个”,而是“一个或多个”。本领域普通技术人员当前已知或以后将知道的上述示例性实施例的元素的所有结构和功能等同物都意图由本权利要求书涵盖。除非使用短语“用于……的装置”或“用于……步骤”明确叙述了权利要求元素,否则这里的权利要求元素不应根据35U.S.C.第112节第6段的规定来解释。
这里使用的术语仅用于描述特定实施例的目的,并不意图限制本发明。如这里所使用的,除非上下文另有明确指示,单数形式“一”、“一个”和“该”意图也包括复数形式。还应当理解,术语“包括”和/或“包含”当在本说明书中使用时,指定所述特征、整数、步骤、操作、元素和/或组件的存在,但是不排除一个或多个其它特征、整数、步骤、操作、元素、组件和/或它们的组的存在或添加。
以下权利要求中所有装置或步骤加功能元素的相应结构、材料、动作和等同物意图包括用于结合具体要求保护的其它要求保护的元素执行功能的任何结构、材料或动作。为了说明和描述的目的,已经给出了实施例的描述,但是并不意图是彻底的或者限于所公开形式的实施例。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。
尽管已经参考其某些实施例的版本描述了该实施例;然而,其它版本也是可能的。因此,所附权利要求的精神和范围不应限于这里包含的优选版本的描述。

Claims (17)

1.一种通过使用视觉智能来识别对象的方法,包括:
通过在输入上运行与域相关联的第一集合模型来对在包括视觉数据的输入中存在的对象进行分类,其中所述第一集合模型中的每个模型对应于对象类别,并且每个模型被训练以生成与所述输入中的相应对象类别相关的视觉分类符结果,所述视觉分类符结果具有指示视觉分类符结果的准确性的相关联的置信度值;以及
基于与所述第一集合模型中的每个模型的每个视觉分类符结果相关联的置信度值来聚合第一集合的视觉分类符结果,以从第一集合模型当中选择第一模型,其中,通过基于第一模型的视觉分类符结果和被链接到所选择的第一模型的类别相似性链接来激活第二集合模型用于在所述输入上运行,所述对象被进一步分类,并且一个或多个视觉分类符结果被返回到在电子设备上运行的应用以供显示,
其中,基于指示由第二集合模型中的每一个模型识别的对象与由第一模型识别的对象之间的相似性的相似性度量,所述类别相似性链接被执行,
其中,当运行第一集合模型时,第一集合模型同时处于运行状态,而且,当运行第二集合模型时,第二集合模型同时处于运行状态。
2.根据权利要求1所述的方法,进一步包括:
基于与所述第二集合模型相对应的一个或多个服务质量QoS偏好和模型元数据信息来确定同时运行所述第二集合模型;以及
同时运行所述第二集合模型。
3.根据权利要求2所述的方法,其中,所述一个或多个QoS偏好包括以下中的至少一个:可在所述电子设备上同时运行用于所述第二集合模型的运行的引擎数量的预定阈值、用于所述第二集合模型的运行的一个或多个资源要求、或者指示当前被加载到一个或多个引擎中的一个或多个模型的信息。
4.根据权利要求2所述的方法,其中,与所述第二集合模型相对应的所述模型元数据信息包括以下中的至少一个:所述第二集合模型的一个或多个模型优先级,或者所述第二集合模型的一个或多个模型驻处。
5.根据权利要求1所述的方法,进一步包括:
基于所述输入和域选择方法来选择域,
其中所选择的域与可选择用于所述输入上的运行的至少一个模型相关联。
6.根据权利要求5所述的方法,其中,所述域选择方法是基于分层的域选择方法,并且选择域包括:
基于多个模型之间的一个或多个分层关系来选择域,其中所述多个模型基于与所述多个模型相对应的多个对象类别之间的分层关系被分层地组织到分层结构中,所述多个模型包括第一集合模型。
7.根据权利要求5所述的方法,其中,所述域选择方法是基于特征向量的域选择方法,并且选择域包括:
维护第一集合域的第一集合的特征表示,
其中第一集合表示中的每个特征表示对应于所述第一集合域中的域;以及
对于被包括在所述输入中的每一帧:
从所述帧中提取所述帧的特征表示;以及
通过比较所述帧的特征表示与所述第一集合的特征表示中的每个特征表示来从所述第一集合域中选择域,所选择的域具有最接近于所述帧的特征表示的相应特征表示。
8.根据权利要求5所述的方法,其中,所述域选择方法是基于时间的域选择方法,并且选择域包括:
维护第一集合域的第一集合的特征表示,
其中第一集合表示中的每个特征表示对应于所述第一集合域中的域;
将所述输入分割成多个时间窗口,其中每个时间窗口包括被包括在所述输入中的帧序列;以及
对于每个时间窗口:
从所述时间窗口中提取所述时间窗口的特征表示;以及
通过比较所述时间窗口的特征表示与所述第一集合的特征表示中的每个特征表示来从所述第一集合域中选择域,所选择的域具有最接近于所述时间窗口的特征表示的相应特征表示。
9.根据权利要求5所述的方法,进一步包括:
基于以下至少一个来选择与所选择的域相关联的一个或多个模型以激活用于所述输入上的运行:可在电子设备上同时运行的引擎数量的预定阈值、与所选择的域相关联的所有模型的运行时间资源要求、指示当前活跃的一个或多个模型的信息、指示与所选择的域相关联的所有模型中的哪些必须在运行过程之间保持活跃的信息、指示与所选择的域相关联的所有模型中的哪些必须在电子设备上运行的信息、或者指示与所选择的域相关联的所有模型中的哪些必须在云服务中运行的信息。
10.一种通过使用视觉智能来识别对象的***,包括:
至少一个处理器;和
存储指令的非暂时性处理器可读存储器设备,所述指令当由所述至少一个处理器运行时,使得所述至少一个处理器执行包括以下的操作:
通过在输入上运行与域相关联的第一集合模型来对在包括视觉数据的输入中存在的对象进行分类,其中第一集合模型中的每个模型对应于对象类别,并且每个模型被训练以生成与输入中的相应对象类别相关的视觉分类符结果,所述视觉分类符结果具有指示视觉分类符结果的准确性的相关联的置信度值;以及
基于与所述第一集合模型中的每个模型的每个视觉分类符结果相关联的置信度值来聚合第一集合的视觉分类符结果,以从第一集合模型当中选择第一模型,其中,通过基于第一模型的视觉分类符结果和被链接到所选择的第一模型的类别相似性链接来激活第二集合模型用于在所述输入上运行,所述对象被进一步分类,并且一个或多个视觉分类符结果被返回到在电子设备上运行的应用以供显示,
其中,基于指示由第二集合模型中的每一个模型识别的对象与由第一模型识别的对象之间的相似性的相似性度量,所述类别相似性链接被执行,
其中,当运行第一集合模型时,第一集合模型同时处于运行状态,而且,当运行第二集合模型时,第二集合模型同时处于运行状态。
11.根据权利要求10所述的***,其中,所述操作进一步包括:
基于与所述第二集合模型相对应的一个或多个服务质量QoS偏好和模型元数据信息来确定同时运行所述第二集合模型;以及
同时运行所述第二集合模型。
12.根据权利要求10所述的***,其中,所述操作进一步包括:
基于所述输入和域选择方法来选择域,
其中所选择的域与可选择用于在所述输入上运行的至少一个模型相关联。
13.根据权利要求12所述的***,其中,所述域选择方法是基于分层的域选择方法,并且选择域包括:
基于多个模型之间的一个或多个分层关系来选择域,其中所述多个模型基于与所述多个模型相对应的多个对象类别之间的分层关系被分层地组织到分层结构中,所述多个模型包括第一集合模型。
14.根据权利要求12所述的***,其中,所述域选择方法是基于特征向量的域选择方法,并且选择域包括:
维护第一集合域的第一集合的特征表示,
其中第一集合表示中的每个特征表示对应于所述第一集合域中的域;以及
对于被包括在所述输入中的每一帧:
从所述帧中提取所述帧的特征表示;以及
通过比较所述帧的特征表示与所述第一集合的特征表示中的每个特征表示来从所述第一集合域中选择域,所选择的域具有最接近于所述帧的特征表示的相应特征表示。
15.根据权利要求12所述的***,其中,所述域选择方法是基于时间的域选择方法,并且选择域包括:
维护第一集合域的第一集合的特征表示,
其中第一集合表示中的每个特征表示对应于所述第一集合域中的域;
将所述输入分割成多个时间窗口,其中每个时间窗口包括被包括在所述输入中的帧序列;以及
对于每个时间窗口:
从所述时间窗口中提取所述时间窗口的特征表示;以及
通过比较所述时间窗口的特征表示与所述第一集合的特征表示中的每个特征表示来从所述第一集合域中选择域,所选择的域具有最接近于所述时间窗口的特征表示的相应特征表示。
16.根据权利要求12所述的方法,其中所述操作进一步包括:
基于以下至少一个来选择与所选择的域相关联的一个或多个模型以激活用于所述输入上的运行:可在电子设备上同时运行的引擎数量的预定阈值、与所选择的域相关联的所有模型的运行时间资源要求、指示当前活跃的一个或多个模型的信息、指示与所选择的域相关联的所有模型中的哪些必须在运行过程之间保持活跃的信息、指示与所选择的域相关联的所有模型中的哪些必须在电子设备上运行的信息、或者指示与所选择的域相关联的所有模型中的哪些必须在云服务中运行的信息。
17.一种非暂时性计算机可读存储介质,包括执行通过使用视觉智能来识别对象的方法的指令,所述方法包括:
通过在输入上运行与域相关联的第一集合模型来对包括视觉数据的输入中存在的对象进行分类,其中所述第一集合模型中的每个模型对应于对象类别,并且每个模型被训练以生成与所述输入中的相应对象类别相关的视觉分类符结果,所述视觉分类符结果具有指示视觉分类符结果的准确性的相关联的置信度值;以及
基于与所述第一集合模型中的每个模型的每个视觉分类符结果相关联的置信度值来聚合第一集合的视觉分类符结果,以从第一集合模型当中选择第一模型,其中,通过基于第一模型的视觉分类符结果和被链接到所选择的第一模型的类别相似性链接来激活第二集合模型用于在所述输入上运行,所述对象被进一步分类,并且一个或多个视觉分类符结果被返回到在电子设备上运行的应用以供显示,
其中,基于指示由第二集合模型中的每一个模型识别的对象与由第一模型识别的对象之间的相似性的相似性度量,所述类别相似性链接被执行,
其中,当运行第一集合模型时,第一集合模型同时处于运行状态,而且,当运行第二集合模型时,第二集合模型同时处于运行状态。
CN201880007763.5A 2017-01-19 2018-01-18 电子设备的视觉智能管理 Active CN110249304B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762448325P 2017-01-19 2017-01-19
US201762448339P 2017-01-19 2017-01-19
US62/448,339 2017-01-19
US62/448,325 2017-01-19
US201762472497P 2017-03-16 2017-03-16
US62/472,497 2017-03-16
PCT/KR2018/000853 WO2018135881A1 (en) 2017-01-19 2018-01-18 Vision intelligence management for electronic devices

Publications (2)

Publication Number Publication Date
CN110249304A CN110249304A (zh) 2019-09-17
CN110249304B true CN110249304B (zh) 2023-05-23

Family

ID=62840668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880007763.5A Active CN110249304B (zh) 2017-01-19 2018-01-18 电子设备的视觉智能管理

Country Status (5)

Country Link
US (1) US10902262B2 (zh)
EP (1) EP3559804B1 (zh)
KR (1) KR102585234B1 (zh)
CN (1) CN110249304B (zh)
WO (1) WO2018135881A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909371B2 (en) 2017-01-19 2021-02-02 Samsung Electronics Co., Ltd. System and method for contextual driven intelligence
US11144786B2 (en) * 2017-11-02 2021-10-12 Canon Kabushiki Kaisha Information processing apparatus, method for controlling information processing apparatus, and storage medium
KR20190062030A (ko) * 2017-11-28 2019-06-05 삼성전자주식회사 영상 표시 장치 및 그 동작 방법
US10417501B2 (en) * 2017-12-06 2019-09-17 International Business Machines Corporation Object recognition in video
US10999339B2 (en) * 2018-04-30 2021-05-04 Devfacto Technologies Inc. Systems and methods for targeted delivery of content to and monitoring of content consumption at a computer
US10482675B1 (en) 2018-09-28 2019-11-19 The Toronto-Dominion Bank System and method for presenting placards in augmented reality
US11641406B2 (en) * 2018-10-17 2023-05-02 Servicenow, Inc. Identifying applications with machine learning
US20220180623A1 (en) * 2019-03-01 2022-06-09 Telefonaktiebolaget Lm Ericsson (Publ) Method, Program, & Apparatus for Managing a Tree-Based Learner
US11244319B2 (en) 2019-05-31 2022-02-08 The Toronto-Dominion Bank Simulator for value instrument negotiation training
CN110322569B (zh) * 2019-07-03 2023-03-31 百度在线网络技术(北京)有限公司 多模态ar处理方法、装置、设备和可读存储介质
CN110633663B (zh) * 2019-09-05 2022-04-08 东南大学 一种手语视频中自动裁剪多模态数据的方法
US11288515B2 (en) * 2019-11-11 2022-03-29 Samsung Electronics Co., Ltd. Methods and systems for real-time data reduction
USD968438S1 (en) * 2019-12-20 2022-11-01 SmartNews, Inc. Display panel of a programmed computer system with a graphical user interface
JP7127892B2 (ja) * 2021-02-08 2022-08-30 Necプラットフォームズ株式会社 決済システム、決済方法及びプログラム
JP2024007263A (ja) * 2022-07-05 2024-01-18 日本電気株式会社 映像分析装置、映像分析方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011142651A1 (en) * 2010-05-11 2011-11-17 Mimos Berhad System and method for use in image classification
CN104520875A (zh) * 2012-07-11 2015-04-15 意大利广播电视股份公司 优选用于搜索和检索目的的从视频内容提取描述符的方法和装置
US9412361B1 (en) * 2014-09-30 2016-08-09 Amazon Technologies, Inc. Configuring system operation using image data

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076004A1 (en) 2003-09-30 2005-04-07 Hiroyuki Yanagisawa Computer, database generating method for electronic picture book service, photographed subject information providing method, recording medium, and computer data signal
US7565139B2 (en) 2004-02-20 2009-07-21 Google Inc. Image-based search engine for mobile phones with camera
US7383260B2 (en) 2004-08-03 2008-06-03 International Business Machines Corporation Method and apparatus for ontology-based classification of media content
CN101523338B (zh) 2005-03-18 2016-10-19 搜索引擎科技有限责任公司 应用来自用户的反馈来改进搜索结果的搜索引擎
US7475072B1 (en) 2005-09-26 2009-01-06 Quintura, Inc. Context-based search visualization and context management using neural networks
US8379990B2 (en) 2006-05-10 2013-02-19 Nikon Corporation Object recognition apparatus, computer readable medium storing object recognition program, and image retrieval service providing method
US8788517B2 (en) 2006-06-28 2014-07-22 Microsoft Corporation Intelligently guiding search based on user dialog
US20080005067A1 (en) 2006-06-28 2008-01-03 Microsoft Corporation Context-based search, retrieval, and awareness
KR100793989B1 (ko) 2006-07-11 2008-01-16 삼성전자주식회사 사진 카테고리 분류 방법 및 그 시스템
US20080147730A1 (en) 2006-12-18 2008-06-19 Motorola, Inc. Method and system for providing location-specific image information
US7707162B2 (en) * 2007-01-08 2010-04-27 International Business Machines Corporation Method and apparatus for classifying multimedia artifacts using ontology selection and semantic classification
KR20090090613A (ko) 2008-02-21 2009-08-26 주식회사 케이티 멀티모달 대화형 이미지 관리 시스템 및 방법
WO2009111499A2 (en) 2008-03-03 2009-09-11 Videoiq, Inc. Dynamic object classification
WO2009148422A1 (en) 2008-06-06 2009-12-10 Thomson Licensing System and method for similarity search of images
US8929877B2 (en) 2008-09-12 2015-01-06 Digimarc Corporation Methods and systems for content processing
CN101727454A (zh) * 2008-10-30 2010-06-09 日电(中国)有限公司 用于对象自动分类的方法和***
WO2010081255A1 (en) 2009-01-16 2010-07-22 Google Inc. Visualizing site structure and enabling site navigation for a search result or linked page
KR101191913B1 (ko) 2010-05-28 2012-10-17 한국항공대학교산학협력단 사용자 상황기반 검색을 통한 웹상의 상점정보를 제공하는 엠비언트 서비스 방법
US8887163B2 (en) * 2010-06-25 2014-11-11 Ebay Inc. Task scheduling based on dependencies and resources
US9710760B2 (en) * 2010-06-29 2017-07-18 International Business Machines Corporation Multi-facet classification scheme for cataloging of information artifacts
US9576195B2 (en) 2010-08-09 2017-02-21 Sk Planet Co., Ltd. Integrated image searching system and service method thereof
US8990199B1 (en) 2010-09-30 2015-03-24 Amazon Technologies, Inc. Content search with category-aware visual similarity
EP2678785A4 (en) 2011-02-24 2016-08-17 Ericsson Telefon Ab L M METHOD AND SERVER FOR CLASSIFYING MULTIMEDIA DATA
US9916538B2 (en) * 2012-09-15 2018-03-13 Z Advanced Computing, Inc. Method and system for feature detection
US9141707B2 (en) 2012-07-19 2015-09-22 Facebook, Inc. Context-based object retrieval in a social networking system
JP5673624B2 (ja) 2012-07-24 2015-02-18 カシオ計算機株式会社 オブジェクト検索装置、方法、およびプログラム
US9020864B2 (en) 2012-07-25 2015-04-28 Aro, Inc. Recommendation agent using a personality model determined from mobile device data
JP6289468B2 (ja) 2012-08-24 2018-03-07 エンパイア テクノロジー ディベロップメント エルエルシー バーチャルリアリティアプリケーション
KR101701761B1 (ko) 2012-09-30 2017-02-03 생-고뱅 퍼포먼스 플라스틱스 코포레이션 베어링 조립체
US20140233800A1 (en) 2013-02-15 2014-08-21 Samsung Electronics Co., Ltd. Method of tracking object and electronic device supporting the same
US9286323B2 (en) 2013-02-25 2016-03-15 International Business Machines Corporation Context-aware tagging for augmented reality environments
US10685487B2 (en) 2013-03-06 2020-06-16 Qualcomm Incorporated Disabling augmented reality (AR) devices at speed
US9573277B2 (en) 2013-04-15 2017-02-21 Alan Rosen Intelligent visual humanoid robot and computer vision system programmed to perform visual artificial intelligence processes
US11157550B2 (en) 2013-10-02 2021-10-26 Hitachi, Ltd. Image search based on feature values
CN103617285A (zh) * 2013-12-11 2014-03-05 百度在线网络技术(北京)有限公司 在移动终端中展现搜索结果的方法及装置
US9619488B2 (en) 2014-01-24 2017-04-11 Microsoft Technology Licensing, Llc Adaptable image search with computer vision assistance
CA2938580C (en) 2014-02-07 2022-08-16 Cylance Inc. Application execution control utilizing ensemble machine learning for discernment
ES2752728T3 (es) 2014-02-10 2020-04-06 Geenee Gmbh Sistemas y métodos para el reconocimiento basado en características de imagen
CN106575365B (zh) 2014-02-28 2020-09-22 河谷控股Ip有限责任公司 对象识别特点分析***和方法
US9535960B2 (en) 2014-04-14 2017-01-03 Microsoft Corporation Context-sensitive search using a deep learning model
US9547683B2 (en) 2014-05-30 2017-01-17 Apple Inc. Application suggestion features
US11170037B2 (en) * 2014-06-11 2021-11-09 Kodak Alaris Inc. Method for creating view-based representations from multimedia collections
US9639957B2 (en) 2014-06-12 2017-05-02 A9.Com, Inc. Recommendations utilizing visual image analysis
US10579652B2 (en) 2014-06-17 2020-03-03 Microsoft Technology Licensing, Llc Learning and using contextual content retrieval rules for query disambiguation
US9734426B2 (en) 2014-09-03 2017-08-15 Sri International Automated food recognition and nutritional estimation with a personal mobile electronic device
EP3192071A4 (en) 2014-09-09 2017-08-23 Microsoft Technology Licensing, LLC Variable-component deep neural network for robust speech recognition
US10417301B2 (en) 2014-09-10 2019-09-17 Adobe Inc. Analytics based on scalable hierarchical categorization of web content
US10346726B2 (en) 2014-12-15 2019-07-09 Samsung Electronics Co., Ltd. Image recognition method and apparatus, image verification method and apparatus, learning method and apparatus to recognize image, and learning method and apparatus to verify image
US20160203178A1 (en) 2015-01-12 2016-07-14 International Business Machines Corporation Image search result navigation with ontology tree
WO2016157076A1 (en) 2015-03-30 2016-10-06 Ghoson Ziad Information processing system and method using image recognition
US9443320B1 (en) * 2015-05-18 2016-09-13 Xerox Corporation Multi-object tracking with generic object proposals
US9495694B1 (en) 2016-02-29 2016-11-15 International Business Machines Corporation Product recommendations based on analysis of social experiences
KR102412307B1 (ko) 2015-09-23 2022-06-24 엘지전자 주식회사 단말기 및 그 동작 방법
US9875258B1 (en) * 2015-12-17 2018-01-23 A9.Com, Inc. Generating search strings and refinements from an image
US11100398B2 (en) 2016-06-30 2021-08-24 Cogniac, Corp. Operating machine-learning models on different platforms
US10909371B2 (en) 2017-01-19 2021-02-02 Samsung Electronics Co., Ltd. System and method for contextual driven intelligence

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011142651A1 (en) * 2010-05-11 2011-11-17 Mimos Berhad System and method for use in image classification
CN104520875A (zh) * 2012-07-11 2015-04-15 意大利广播电视股份公司 优选用于搜索和检索目的的从视频内容提取描述符的方法和装置
US9412361B1 (en) * 2014-09-30 2016-08-09 Amazon Technologies, Inc. Configuring system operation using image data

Also Published As

Publication number Publication date
WO2018135881A1 (en) 2018-07-26
EP3559804A4 (en) 2019-11-27
US20180204061A1 (en) 2018-07-19
EP3559804A1 (en) 2019-10-30
EP3559804B1 (en) 2024-03-06
CN110249304A (zh) 2019-09-17
KR20190109426A (ko) 2019-09-25
US10902262B2 (en) 2021-01-26
KR102585234B1 (ko) 2023-10-06

Similar Documents

Publication Publication Date Title
CN110249304B (zh) 电子设备的视觉智能管理
US10824916B2 (en) Weakly supervised learning for classifying images
US11526713B2 (en) Embedding human labeler influences in machine learning interfaces in computing environments
CN111476306B (zh) 基于人工智能的物体检测方法、装置、设备及存储介质
US10789622B2 (en) Generating and providing augmented reality representations of recommended products based on style compatibility in relation to real-world surroundings
KR102591583B1 (ko) 정황 이용 인텔리전스를 위한 시스템 및 방법
US20210049416A1 (en) Artificial intelligence system for inspecting image reliability
US11704893B2 (en) Segment action detection
CN112106042A (zh) 电子设备及其控制方法
US20220301122A1 (en) Location mapping for large scale augmented-reality
US20230185431A1 (en) Client application content classification and discovery
US20220101539A1 (en) Sparse optical flow estimation
US20230214913A1 (en) Product cards provided by augmented reality content generators
US20230215118A1 (en) Api to provide product cards generated by augmented reality content generators
CN111353519A (zh) 用户行为识别方法和***、具有ar功能的设备及其控制方法
US20230214912A1 (en) Dynamically presenting augmented reality content generators based on domains
KR102466978B1 (ko) 딥러닝 기반 가상 이미지 생성방법 및 시스템
US20220101032A1 (en) Method and system for product search based on deep-learning
CN113111684B (zh) 神经网络模型的训练方法、装置和图像处理***
US20220083806A1 (en) Method and system for product search based on image restoration
CN116601961A (zh) 视觉标签显露模式检测
CN112115740A (zh) 用于处理图像的方法和装置
US11403556B2 (en) Automated determination of expressions for an interactive social agent

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant