CN115552481A - 用于微调图像分类神经网络的系统和方法 - Google Patents
用于微调图像分类神经网络的系统和方法 Download PDFInfo
- Publication number
- CN115552481A CN115552481A CN202180018616.XA CN202180018616A CN115552481A CN 115552481 A CN115552481 A CN 115552481A CN 202180018616 A CN202180018616 A CN 202180018616A CN 115552481 A CN115552481 A CN 115552481A
- Authority
- CN
- China
- Prior art keywords
- engine
- probe image
- label
- person
- images
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/778—Active pattern-learning, e.g. online learning of image or video features
- G06V10/7784—Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2155—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2193—Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/98—Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
- G06V10/993—Evaluation of the quality of the acquired pattern
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/30—Individual registration on entry or exit not involving the use of a pass
- G07C9/32—Individual registration on entry or exit not involving the use of a pass in combination with an identity check
- G07C9/37—Individual registration on entry or exit not involving the use of a pass in combination with an identity check using biometric data, e.g. fingerprints, iris scans or voice recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Image Analysis (AREA)
Abstract
驻留在一个或更多个计算机器处的认证引擎从包括一个或更多个摄像装置的视觉设备接收探测图像。认证引擎使用经训练的面部分类神经引擎生成关于探测图像中描绘的人员的一个或更多个第一标签和关于一个或更多个第一标签中的至少一个的概率。认证引擎确定概率在预定义的低准确度范围内。认证引擎使用支持引擎生成关于探测图像中描绘的人员的第二标签。支持引擎独立于经训练的面部分类神经引擎操作。认证引擎基于第二标签进一步训练面部分类神经引擎。
Description
优先权申请
本申请要求于2020年3月3日提交的序列号为16/807,825的美国专利申请的优先权,该美国专利申请的公开内容通过引用整体并入本文中。
技术领域
实施方式与计算机架构有关。一些实施方式涉及人工神经网络。一些实施方式涉及用于微调图像分类神经网络的系统和方法。
背景技术
图像分类技术(例如,面部分类技术)具有多个用例。示例用例包括允许授权人员(和禁止未授权人员)进入安全的物理位置、认证电子设备的用户或识别对象(例如,如椅子、桌子等)。关于图像分类技术的一些实现方式的一个问题是经训练的图像分类神经网络的错误识别率很高。
附图说明
图1示出了根据一些实施方式的机器学习程序的训练和使用。
图2示出了根据一些实施方式的示例神经网络。
图3示出了根据一些实施方式的图像识别机器学习程序的训练。
图4示出了根据一些实施方式的特征提取处理和分类器训练。
图5是根据一些实施方式的计算机器的框图。
图6示出了根据一些实施方式的用于微调面部分类神经引擎的示例系统。
图7是示出根据一些实施方式的用于微调面部分类神经引擎的示例方法的流程图。
发明内容
本公开内容总体上涉及用于微调图像分类神经网络的系统和方法。
根据本文中所描述的技术的一些方面,方法包括从包括一个或更多个摄像装置的视觉设备接收探测图像。该方法包括使用经训练的面部分类神经引擎生成关于探测图像中描绘的人员的一个或更多个第一标签和关于一个或更多个第一标签中的至少一个的概率。该方法包括确定概率在预定义的低准确度范围内。该方法包括使用支持引擎生成关于探测图像中描绘的人员的第二标签,其中支持引擎独立于经训练的面部分类神经引擎操作。该方法包括基于第二标签进一步训练面部分类神经引擎。
在一些实施方式中,该方法还包括:使用进一步经训练的面部分类神经引擎来识别来自视觉设备的视觉数据中的一个或更多个人员;以及基于所识别的视觉数据中的一个或更多个人员,控制对物理位置或电子资源的访问。
在一些实施方式中,使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:基于由人员提供的身份证或令牌或者基于由人员输入的用户标识符和密码生成第二标签。
在一些实施方式中,使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:基于弱认证因素的组合生成第二标签,该弱认证因素包括以下中的一个或更多个:身高、体重和步态。
在一些实施方式中,使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:经由至少一个客户端计算设备核实关于探测图像中描绘的人员的正确标识。
在一些实施方式中,核实正确标识包括:提供探测图像和关于该人员的多个可能标识以用于在至少一个客户端计算设备处显示;以及从至少一个客户端设备接收对可能标识之一的选择作为正确标识。
在一些实施方式中,至少一个客户端计算设备包括管理员客户端计算设备和N个员工客户端计算设备。N是大于或等于2的正整数。核实正确标识包括:将探测图像提供给N个员工客户端计算设备中的至少一部分;在从至少M个员工客户端计算设备接收到该人员的一致标识时:核实一致标识是正确标识,其中M是N的一半与N之间的正整数;以及在没有从至少M个员工客户端计算设备接收到该人员的一致标识时:将探测图像提供给管理员客户端计算设备,以用于经由管理员客户端计算设备来核实正确标识。
在一些实施方式中,基于多个可能标识中的至少一个的公司部门或办公室地理位置来选择员工客户端计算设备。
在一些实施方式中,使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:将探测图像提供给用于半监督学习面部分类引擎的训练数据集;使用训练数据集来训练半监督学习面部分类引擎;使用半监督学习面部分类引擎生成关于探测图像中描绘的人员的第二标签和关于第二标签的概率值;以及基于经训练的半监督学习面部分类引擎调整经训练的面部分类神经引擎。
在一些实施方式中,将探测图像提供给用于半监督学习面部分类引擎的训练数据集是响应于确定探测图像的质量超过质量阈值。
在一些实施方式中,探测图像的质量是使用质量测量神经引擎来计算的。
在一些实施方式中,探测图像的质量包括探测图像的模糊度。
在一些实施方式中,使用支持引擎生成关于探测图像中描绘的人员的第二标签还包括:确定关于第二标签的概率值低于概率阈值;以及响应于关于第二标签的概率值低于概率阈值:经由至少一个客户端计算设备核实关于探测图像中描绘的人员的正确标识。
在一些实施方式中,探测图像是跟踪人员的多个图像之一,所述多个图像是从视觉设备接收的。使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:使用经训练的面部分类神经引擎来确定多个图像中的至少阈值数量的图像以在预定义的高准确度范围内的概率具有指定标识;以及基于具有指定标识的多个图像中的至少阈值数量的图像确定探测图像具有指定标识。
在一些实施方式中,该方法还包括:基于与多个图像相关联的时间戳和人员在多个图像中描绘的空间内的物理位置来识别跟踪人员的多个图像。
其他方面包括一种机器可读介质,其存储执行上述方法中的一个或更多个的指令;以及一种系统,其包括处理电路和存储器,该存储器存储指令,所述指令在由处理电路执行时使处理电路执行上述方法中的一个或更多个。
有利地,一些实施方式可以使用面部识别网络来提供较高级别的保证。一些实施方式可以降低经训练的图像分类神经网络的错误识别率。
具体实施方式
以下描述和附图充分示出了具体实施方式,以使得本领域技术人员能够实践这些具体实施方式。其他实施方式可以包含结构、逻辑、电气、过程和其他变化。一些实施方式的部分和特征可以包括在其他实施方式的那些部分和特征中,或者替代其他实施方式的那些部分和特征。权利要求中阐述的实施方式涵盖那些权利要求的所有可用等同方案。
如上所述,图像分类技术(例如,面部分类技术)具有多个用例。示例用例包括允许授权人员(和禁止未授权人员)进入安全的物理位置、认证电子设备的用户或识别对象(例如,如椅子、桌子等)。关于图像分类技术的一些实现方式的一个问题是经训练的图像分类神经网络的错误识别率很高。为了在使用基于面部识别的认证时实现高级别的安全保证,非常需要用于降低经训练的图像分类神经网络的错误识别率的技术。
一些实施方式提供了对技术问题的技术解决方案。根据一些实施方式,技术问题是在面部分类神经引擎的初始训练完成之后减少面部分类神经引擎的错误识别。该技术解决方案包括认证引擎(其可以在服务器或诸如视觉设备的边缘设备处执行)从包括一个或更多个摄像装置的视觉设备接收探测图像。认证引擎使用经训练的面部分类神经引擎生成关于探测图像中描绘的人员的一个或更多个第一标签和关于一个或更多个第一标签中的至少一个的概率。认证引擎确定概率在预定义的低准确度范围内(例如,在50%与90%之间)。认证引擎使用支持引擎生成关于探测图像中描绘的人员的第二标签。支持引擎独立于经训练的面部分类神经引擎操作。认证引擎基于第二标签进一步训练面部分类神经引擎。
根据一些实施方式,最初在服务器处训练认证引擎。然后将经训练的认证引擎提供给包括视觉设备的边缘设备。在推理阶段期间,经训练的认证引擎在视觉设备处执行。根据其他实施方式,在训练阶段和推理阶段两者期间,认证引擎驻留在服务器处。根据其他实施方式,在训练阶段和推理阶段两者期间,认证引擎驻留在视觉设备处。
在一些实施方式中,认证引擎使用进一步经训练的面部分类神经引擎来识别来自视觉设备的视觉数据中的一个或更多个人员。基于所识别的视觉数据中的一个或更多个人员,认证引擎控制对物理位置或电子资源的访问。
根据一些方面,认证引擎基于由人员提供的身份证或令牌或者基于由人员输入的用户标识符和密码生成第二标签。根据一些方面,认证引擎通过经由至少一个客户端计算设备(例如,属于可能描绘的人员的管理员、安全人员或同事的膝上型计算机或移动电话)核实关于探测图像中描绘的人员的正确标识来生成第二标签。探测图像可以在客户端计算设备处显示,并且如果客户端计算设备的用户(通常是被核实人员的管理员或安全人员或经过核实的同事)知道探测图像中描绘的人员,则他/她可以提供正确标识。
在一些方面,认证引擎通过将探测图像提供给用于半监督学习面部分类引擎的训练数据集来生成第二标签。(半监督学习面部分类引擎与面部分类引擎是分开且不同的。)认证引擎使用训练数据集来训练半监督学习面部分类引擎。认证引擎使用半监督学习面部分类引擎生成关于探测图像中描绘的人员的第二标签和关于第二标签的概率值。如果通过半监督学习面部分类引擎生成的第二标签的概率值是可接受的,则认证引擎使用探测图像以及由经训练的半监督学习面部分类引擎提供的其标签来调整经训练的面部分类神经引擎。
在一些方面,探测图像是跟踪人员的多个图像之一。所述多个图像是从视觉设备接收的。认证引擎通过使用经训练的面部分类神经引擎确定多个图像中的至少阈值数量的图像(例如,至少五个图像或至少60%的图像)以在预定义的高准确度范围内的概率(例如,至少90%)具有指定标识。认证引擎基于具有指定标识的多个图像中的至少阈值数量的图像确定探测图像具有指定标识。
如本文中所使用的,术语“标识”涵盖其简单和普通的含义。除其他外,术语“标识”可以指将面部图像识别为属于特定人的人工神经网络(ANN)。然后可以使用标识来标记面部图像。例如,可以在面部周围放置边界框,并且可以在边界框上放置标签。标签可以对应于边界框中描绘的事物的标识。在推理阶段中,标签由ANN生成。在监督学习引擎的训练阶段中,如本文中例如结合图1至图4所描述的,将人工生成的标签(或由另一机器学习引擎生成的标签)提供给未经训练或部分训练的ANN,以便ANN来训练本身以生成标签。
监督图像分类网络训练系统使用图像数据集。该数据集包括对,其中每一对包括图像及其相关联的标签。该标签用作图像所属人员的标识符。在推理阶段期间,认证系统仅接收图像(通常称为探测图像),并且其任务是预测相关联的标签。为了这样做,认证系统利用经训练的分类网络。然后分类网络提供标识符/标签以及关于它对标识符有多确定的信息。确定性通常使用概率来表示。
一些方面针对利用探测图像来进一步训练分类网络。一些方面利用相关联的标签/标识符。一些实施方式包括各种技术以对与探测图像相关联的标签/标识符更确定。
在一些实施方式中,人员标识包括他/她的图像以及通常称为标签的相关联的标识符。在监督机器学习中,使用图像以及他们对应的标签来训练面部识别网络。在推理阶段期间,认证引擎从包括一个或更多个摄像装置的视觉设备接收探测图像。认证引擎使用经训练的面部分类神经引擎生成关于探测图像中描绘的人员的一个或更多个第一标签和关于一个或更多个第一标签中的至少一个的概率。认证引擎然后确定概率在预定义的低准确度范围内。认证引擎然后使用支持引擎生成关于探测图像中描绘的人员的第二标签。支持引擎独立于经训练的面部分类神经引擎操作。认证引擎基于第二标签进一步训练面部分类神经引擎。
本文中所描述的系统和方法的方面可以被实现为计算机系统的一部分。计算机系统可以是一台物理机器,或者可以分布在多台物理机器中,例如按角色或功能分布,或者在云计算分布式模型的情况下按进程线程分布。在各种实施方式中,本文中所描述的系统和方法的方面可以被配置成在台式计算机、嵌入式设备、移动电话、物理服务器机器上以及在转而在一个或更多个物理机器上执行的虚拟机中运行。应当理解,本文中所描述的系统和方法的特征可以通过多种不同的合适的机器实现方式来实现。
该系统包括各种引擎,所述各种引擎中的每个引擎被构造、编程、配置或者以其他方式适配成执行功能或一组功能。如本文中所使用的术语引擎意味着例如,使用硬件(例如,通过专用集成电路(ASIC)或现场可编程门阵列(FPGA))或作为硬件和软件的组合(例如,通过基于处理器的计算平台和用于将计算平台转换成专用设备以实现特定功能的一组程序指令)实现的有形设备、部件或部件的布置。引擎也可以被实现为两者的组合,具有由硬件单独促进的某些功能以及由硬件和软件的组合促进的其他功能。
在示例中,软件可以以可执行或不可执行的形式驻留在有形机器可读存储介质上。以不可执行的形式驻留的软件可以在运行时之前或期间被编译、翻译或以其他方式转换成可执行形式。在示例中,软件在由引擎的底层硬件执行时使硬件执行指定操作。因此,引擎被物理地构造,或具体地配置(例如,硬连线),或临时地配置(例如,编程)成以指定方式操作或者执行本文中所描述的与该引擎有关的任何操作的部分或所有。
考虑到引擎被临时地配置的示例,所述引擎中的每个引擎可以在不同时刻处及时被实例化。例如,其中引擎包括使用软件配置的通用硬件处理器内核;该通用硬件处理器内核可以在不同时间处被配置为各自不同的引擎。因此,软件可以配置硬件处理器内核,例如,以在一个时间实例处构成特定引擎以及在不同时间实例处构成不同引擎。
在某些实现方式中,引擎的至少一部分并且在一些情况下为引擎的所有可以在执行操作系统、系统程序和应用程序的一个或更多个计算机的处理器上执行,同时还在适当的情况下使用多任务、多线程、分布式(例如聚类、对等、云等)处理或其他这样的技术来实现引擎。因此,每个引擎可以以多种合适的配置来实现,并且除非明确指出这种限制,否则一般不应限于本文中所示例的任何特定实现方式。
此外,引擎本身可以由多于一个子引擎组成,所述多于一个子引擎中的每个子引擎可以彻底地被视为其自身的引擎。此外,在本文中所描述的实施方式中,各种引擎中的每个引擎对应于限定的功能。然而,应当理解,在其他设想的实施方式中,每个功能可以分布到多于一个引擎。同样,在其他设想的实施方式中,多个限定的功能可以由执行那些多个功能以及可能的其他功能的单个引擎来实现,或者在一组引擎中以与本文中的示例具体示出的方式不同的方式分布。
如本文中所使用的,术语“卷积神经网络”或“CNN”除其他外可以指由一个或更多个卷积层(经常具有子采样操作)组成并且然后接着是如标准多层神经网络中的一个或更多个全连接层的神经网络。在一些情况下,CNN的架构被设计成利用输入图像(或其他2D输入,例如语音信号)的2D结构。这是利用局部连接和绑定权重接着是一些形式的池化来实现的,这导致平移不变的特征。在一些情况下,与具有相同数量的隐藏单元的全连接网络相比,CNN较容易训练并且具有少得多的参数。在一些实施方式中,CNN包括多个隐藏层,并且因此可以称为深度神经网络(DNN)。CNN在Alex Krizhevsky、Ilya Sutskever和GeoffreyE.Hinton的“ImageNet Classification with Deep Convolutional Neural Networks”中进行了一般描述,这是“神经信息处理系统的进展25(Advances in Neural InformationProcessing Systems 25)”(NIPS 2012)的一部分,其可在以下网址处获得:papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networ,该网址上次访问时间为2019年8月28日,其全部内容通过引用并入本文中。
如本文中所使用的,短语“计算机器”涵盖其简单和普通的含义。计算机器除其他外可以包括具有处理器和存储器的单个机器或者可以顺序地或并行地访问一个或更多个处理器或一个或更多个存储器的多个机器。服务器可以是计算机器。客户端设备可以是计算机器。数据存储库可以是计算机器。
贯穿该文献,一些方法(例如,在图8中)被描述为连续地且以给定的顺序实现。然而,除非另有明确说明,否则方法的操作可以以任何顺序执行。在一些情况下,方法的两个或更多个操作可以使用任何已知的并行处理技术并行地执行。在一些情况下,操作中的一些可以被跳过和/或用其他操作替代。此外,相关领域的技术人员可以认识到可以结合本文中所公开的方法的操作来执行的其他操作。
图1示出了根据一些示例实施方式的机器学习程序的训练和使用。在一些示例实施方式中,机器学习程序(MLP)——也称为机器学习算法或工具——用于执行与机器学习任务相关联的操作,例如图像识别或机器翻译。
机器学习(ML)是使计算机能够在不被明确编程的情况下进行学习的研究领域。机器学习探索算法——在本文中也称为工具——的研究和构造,其可以根据现有数据进行学习并且做出关于新数据的预测。这样的机器学习工具通过根据示例训练数据112构建模型来操作,以做出数据驱动的预测或被表示为输出或评估120的决策。尽管示例实施方式是关于一些机器学习工具呈现的,但是本文中所呈现的原理可以应用于其他机器学习工具。
在一些示例实施方式中,可以使用不同的机器学习工具。例如,逻辑回归(LR)、朴素贝叶斯、随机森林(RF)、神经网络(NN)、矩阵分解和支持向量机(SVM)工具可以用于对任务发布进行分类或评分。
机器学习中两种常见类型的问题是分类问题和回归问题。分类问题——也称为归类问题——旨在将物品分类至若干类别值之一(例如,该对象是苹果还是橘子)。回归算法旨在量化一些物品(例如,通过提供实数值来量化)。机器学习算法利用训练数据112找到影响结果的识别特征102之间的相关性。
机器学习算法利用特征102来分析数据以生成评估120。特征102是被观察的现象的单独可测量属性。特征的概念与诸如线性回归的统计技术中所使用的说明变量的概念有关。选择提供信息的、区分性的和独立的特征对于模式识别、分类和回归中的MLP的有效操作是重要的。特征可以具有不同的类型,例如数字特征、字符串和图形。
在一个示例实施方式中,特征102可以具有不同的类型,并且可以包括消息的词103、消息概念104、通信历史105、过去的用户行为106、消息的主题107、其他消息属性108、发送方109和用户数据110中的一个或更多个。
机器学习算法利用训练数据112找到影响结果或评估120的识别特征102之间的相关性。在一些示例实施方式中,训练数据112包括标记数据,其是关于一个或更多个识别特征102和一个或更多个结果的已知数据,例如检测通信模式、检测消息的含义、生成消息的摘要、检测消息中的动作项、检测消息中的紧迫性、检测用户与发送方的关系、计算分数属性、计算消息分数等。
利用训练数据112和识别特征102,在操作114处训练机器学习工具。机器学习工具在特征102与训练数据112相关时对特征102的值进行评估。训练的结果是经训练的机器学习程序116。
当机器学习程序116用于执行评估时,新数据118作为输入被提供至经训练的机器学习程序116,并且机器学习程序116生成评估120作为输出。例如,当针对动作项检查消息时,机器学习程序利用消息内容和消息元数据确定消息中是否存在对动作的请求。
机器学习技术训练模型以对馈送至模型中的数据准确地做出预测(例如,用户在给定的话语中说了什么;名词是人、地点还是事物;明天的天气如何)。在学习阶段期间,针对输入的训练数据集开发模型以优化模型,以正确地预测关于给定输入的输出。一般地,学习阶段可以是监督的、半监督的或无监督的——这些指示对应于训练输入提供“正确”输出的下降程度。在监督学习阶段中,所有输出被提供给模型,并且模型涉及开发将输入映射到输出的一般规则或算法。相比之下,在无监督学习阶段中,没有为输入提供期望输出,使得模型可以开发其自己的规则来发现训练数据集内的关系。在半监督学习阶段中,提供不完全标记的训练集,其中对于训练数据集,一些输出是已知的,而一些是未知的。
模型可以针对训练数据集运行若干时期(epoch)(例如,迭代),其中训练数据集被重复地馈送至模型中以改进其结果。例如,在监督学习阶段中,开发模型以预测关于给定输入集的输出,并且在若干时期内对模型进行评估以针对训练数据集的最大数目的输入更可靠地提供被指定为对应于给定输入的输出。在另一示例中,对于无监督学习阶段,开发模型以将数据集聚类为n个组,并且在若干时期内关于模型如何一致地将给定输入放置到给定组中以及如何可靠地跨每个时期产生n个期望聚类对模型进行评估。
一旦运行了一个时期,就对模型进行评估并且调整模型的变量的值以尝试以迭代的方式更好地改进模型。在各个方面,评估偏向于假阴性、偏向于假阳性,或者相对于模型的总体准确度均匀地偏向。取决于所使用的机器学习技术,可以以若干方式调整这些值。例如,在遗传或进化算法中,在预测期望输出方面最成功的模型的值用于开发供模型在后续时期期间使用的值,这可能包括随机变化/突变以提供附加的数据点。本领域普通技术人员将熟悉可以与本公开内容一起应用的若干其他机器学习算法,包括线性回归、随机森林、决策树学习、神经网络、深度神经网络等。
每个模型通过改变影响输入以更接近地映射到期望结果的一个或更多个变量的值来在若干时期内开发规则或算法,但是由于训练数据集可能变化并且优选地非常大,因此可能无法实现完美的准确度和精度。因此,可以将构成学习阶段的多个时期设置为给定的试验数目或固定的时间/计算预算,或者当给定模型的准确度足够高或足够低或已经达到准确度平台区时,构成学习阶段的多个时期可以在达到该数目/预算之前终止。例如,如果训练阶段被设计成运行n个时期并且产生具有至少95%准确度的模型,并且这样的模型是在第n时期之前产生的,则学习阶段可以提早结束并且使用满足最终目标准确度阈值的产生的模型。相似地,如果给定模型不足够准确以满足随机机会阈值(例如,该模型在确定关于给定输入的真/假输出时仅55%准确),则关于该模型的学习阶段可以提早终止,但是学习阶段中的其他模型可以继续训练。相似地,当给定模型跨多个时期继续在其结果中提供相似的准确度或波动时——已经达到性能平台区——关于给定模型的学习阶段可以在达到时期数目/计算预算之前终止。
一旦完成了学习阶段,就最终确定模型。在一些示例实施方式中,对照测试标准来对最终确定的模型进行评估。在第一示例中,包括关于其输入的已知输出的测试数据集被馈送到最终确定的模型中,以确定模型在处理尚未被训练的数据时的准确度。在第二示例中,假阳性率或假阴性率可以用于在最终确定之后对模型进行评估。在第三示例中,数据聚类之间的描绘用于选择产生关于其数据的聚类的最清晰边界的模型。
图2示出了根据一些实施方式的示例神经网络204。如图所示,神经网络204接收源域数据202作为输入。该输入通过多个层206传递以到达输出。每个层206包括多个神经元208。神经元208从前一层的神经元接收输入并且将权重应用于从那些神经元接收的值以生成神经元输出。将来自最终层206的神经元输出进行组合以生成神经网络204的输出。
如图2的底部所示,输入是向量x。该输入通过多个层206传递,其中将权重W1,W2,…,Wi应用于每个层的输入以得到f1(x),f2(x),…,fi-1(x),直到最终计算输出f(x)。通过网络的学习和训练来建立(或调整)权重。如图所示,权重W1,W2,…,Wi中的每个权重是向量。然而,在一些实施方式中,权重中的每个权重可以是标量。
神经网络利用特征来分析数据以生成评估(例如,识别语音单元)。特征是被观察的现象的单独可测量属性。特征的概念与诸如线性回归的统计技术中所使用的说明变量的概念有关。此外,深度特征表示深度神经网络的隐藏层中节点的输出。
神经网络——有时称为人工神经网络——是基于对生物大脑的神经网络的考虑的计算系统/装置。这样的系统/装置逐渐地提高了执行任务的性能——这称为学习——而通常没有任务特定的编程。例如,在图像识别中,可以教导神经网络通过分析已标记有对象名称的示例图像,并且学习该对象和名称来识别包括该对象的图像,并且神经网络可以使用分析结果来识别未标记图像中的对象。神经网络基于称为神经元的连接单元的集合,其中神经元之间的每个连接(称为突触)可以发送具有随连接强度变化的激活强度(例如,如图2所示的权重)的单向信号。在第二神经元的输入处应用于第一神经元的输出的权重可以对应于激活强度。接收神经元可以激活信号并将信号传播至连接至接收神经元的下游神经元,这通常基于来自可能许多发送神经元的组合输入信号是否具有足够的强度,其中强度是参数。
深度神经网络(DNN)是由多个层组成的堆叠神经网络。这些层由松散地分布在生物大脑中的神经元上的节点组成,这些节点是计算发生的位置,当大脑遇到足够的刺激时就会激发神经元在节点上进行计算。节点将来自数据的输入与一组系数或权重进行组合,这些系数或权重放大或抑制该输入,这为算法尝试学习的任务的输入分配重要性。对这些输入权重乘积进行求和,并通过所谓的节点激活函数传递该和,以确定信号是否以及在多大程度上进一步通过网络进行以影响最终结果。DNN使用多层非线性处理单元的级联以进行特征提取和转换。每个连续层都使用来自前一层的输出作为输入。较高级别特征是从较低级别特征派生出来的,以形成分层表示。输入层之后的层可以是产生特征图的卷积层,这些特征图是输入的过滤结果并且被下一卷积层所使用。
在DNN架构的训练中,构造为用于估计变量之间关系的一组统计过程的回归可以包括成本函数的最小化。成本函数可以被实现为返回表示神经网络在将训练示例映射到正确输出时执行得有多好的数字的函数。在训练中,如果成本函数值不在预定范围内,则基于已知的训练图像使用反向传播,其中反向传播是与诸如随机梯度下降(SGD)方法的优化方法一起使用的训练人工神经网络的常用方法。
反向传播的使用可以包括传播和权重更新。当输入呈现给神经网络时,它会通过神经网络一层一层地向前传播,直到它达到输出层。然后使用成本函数将神经网络的输出与期望的输出进行比较,并针对输出层中的节点中的每一个计算误差值。误差值从输出开始向后传播,直到每个节点都具有相关联的误差值,该值大致表示其对原始输出的贡献。反向传播可以使用这些误差值来计算成本函数相对于神经网络中的权重的梯度。计算出的梯度被馈送到所选择的优化方法以更新权重以尝试使成本函数最小化。
图3示出了根据一些实施方式的图像识别机器学习程序的训练。机器学习程序可以在一个或更多个计算机器处实现。块302示出了训练集,其包括多个类304。每个类304包括与类相关联的多个图像306。每个类304可以对应于图像306中对象的类型(例如,数字0至9,男人或女人,猫或狗等)。在一个示例中,训练机器学习程序以识别特定人员或用户的图像,并且每个类对应于每个人员或用户(例如,一个类对应于特定人员A,一个类对应于特定人员B,一个类对应于特定人员C等)。在块308处,例如,使用深度神经网络来训练机器学习程序。在块310处,通过块308的训练生成的经训练的分类器识别图像312,并且在块314处图像被识别出。例如,如果图像312是人员C的照片,则在块314处分类器将图像识别为对应于人员C。
图3示出了根据一些示例实施方式的分类器的训练。机器学习算法被设计成用于识别面部,并且训练集302包括将样本映射到类304(例如,类包括钱包的所有图像)的数据。这些类也可以被称为标签。尽管本文中所呈现的实施方式是参考对象识别来呈现的,但是相同的原理可以应用于训练用于识别任何类型的物品的机器学习程序。
训练集302包括关于每个类304的多个图像306(例如,图像306),并且每个图像与要识别的类别(例如,类)之一相关联。使用训练数据来训练308机器学习程序以生成可操作以识别图像的分类器310。在一些示例实施方式中,机器学习程序是DNN。
当要识别输入图像312时,分类器310分析输入图像312以识别对应于输入图像312的类(例如,类314)。
图4示出了根据一些示例实施方式的特征提取处理和分类器训练。训练分类器可以分为特征提取层402和分类器层414。每个图像由特征提取层402中的多个层406至413依次分析。
随着深度卷积神经网络的发展,面部识别中的焦点一直是学习好的面部特征空间,在该面部特征空间中相同人员的面部彼此接近而不同人员的面部彼此相差较远。例如,使用LFW(Labeled Faces in the Wild)数据集的核实任务经常用于面部核实。
许多面部识别任务(例如,MegaFace和LFW)基于图库集中的图像与查询集中的图像之间的相似度比较,这本质上是估计人员的身份的K最近邻(KNN)方法。在理想情况下,存在好的面部特征提取器(类间距离总是大于类内距离),并且KNN方法足以估计人员的身份。
特征提取是减少描述大量数据所需的资源量的处理。当执行复杂数据的分析时,主要问题之一源于所涉及的变量数量。具有大量变量的分析一般需要大量的内存和计算能力,并且其可能导致分类算法对训练样本过拟合而对新样本泛化很差。特征提取是描述构造变量组合以解决这些大型数据集问题同时仍以足够的准确度描述数据以达到期望目的方法的通用术语。
在一些示例实施方式中,特征提取从一组初始测量数据开始,并构建旨在提供信息的且无冗余的派生值(特征),从而促进后续学习和泛化操作。此外,特征提取与降维有关,例如将大向量(有时具有非常稀疏的数据)降低为捕获相同或相似信息量的较小向量。
确定初始特征的子集称为特征选择。所选择的特征被预期包含来自输入数据的相关信息,使得可以通过使用这种简化的表示而不是完全的初始数据来执行期望的任务。DNN利用一堆层,其中每个层执行功能。例如,该层可以是卷积层、非线性转换层、平均计算层等。最终,该DNN产生通过分类器414的输出。在图4中,从左到右传输数据并且提取特征。训练神经网络的目标是找到关于所有层的权重,这使得它们足以完成期望的任务。
如图4所示,在层406处应用“步长为4”的过滤器,并且在层407至层413处应用最大池化。步长控制过滤器如何围绕输入体积进行卷积。“步长为4”是指过滤器一次围绕输入体积进行卷积四个单位。最大池化是指通过选择每个最大池化区域中的最大值进行下采样。
在一些示例实施方式中,每个层的结构是预定义的。例如,卷积层可以包括小的卷积核及其各自的卷积参数,而求和层可以计算输入图像的两个像素的和或加权和。训练有助于限定权重系数以用于求和。
提高DNN性能的一种方式是为特征提取层识别更新的结构,而另一种方式是通过改进在不同层处识别权重的方式以完成期望的任务。挑战在于,对于典型的神经网络,可能存在有数百万个权重要被优化。尝试从头开始优化所有这些权重可能需要数小时、数天或者甚至数周,这取决于可用的计算资源量和训练集中的数据量。
图5示出了根据一些实施方式的计算机器500的电路框图。在一些实施方式中,计算机器500的部件可以存储或集成到图5的电路框图所示的其他部件中。例如,计算机器500的部分可以驻留在处理器502中并且可以称为“处理电路”。处理电路可以包括处理硬件,例如,一个或更多个中央处理单元(CPU)、一个或更多个图形处理单元(GPU)等。在替选实施方式中,计算机器500可以作为独立的设备操作,或者可以连接(例如,联网)至其他计算机。在联网部署中,计算机器500可以在服务器-客户端网络环境中以服务器、客户端或二者的能力操作。在示例中,计算机器500可以用作对等(P2P)(或其他分布式)网络环境中的对等机器。在本文献中,短语P2P、设备到设备(D2D)和侧链路(sidelink)可以可互换地使用。计算机器500可以是专用计算机、个人计算机(PC)、平板PC、个人数字助理(PDA)、移动电话、智能电话、网络设备、网络路由器、交换机或桥接器,或能够执行指令(顺序或以其他方式)的任何机器,这些指令指定了要由该机器采取的动作。
如本文中所描述的示例可以包括逻辑部件或多个部件、模块或机制,或者可以在逻辑部件或多个部件、模块或机制上操作。模块和部件是能够执行指定操作的有形实体(例如,硬件),并且可以以某种方式被配置或被布置。在示例中,电路可以以指定方式被布置(例如,在内部被布置或相对于诸如其他电路的外部实体被布置)为模块。在示例中,一个或更多个计算机系统/装置(例如,独立的客户端或服务器计算机系统)或一个或更多个硬件处理器的全部或部分可以通过固件或软件(例如,指令、应用部分或应用)被配置为如下模块,所述模块进行操作以执行指定操作。在示例中,软件可以驻留在机器可读介质上。在示例中,软件在由模块的底层硬件执行时使该硬件执行指定操作。
因此,术语“模块”(和“部件”)被理解成涵盖有形实体,有形实体是如下实体:该实体被物理地构造、具体地配置(例如,硬连线)或临时地(例如,暂时地)配置(例如,编程)成以指定方式操作或者执行本文中所描述的任何操作的部分或所有。考虑到模块被临时地配置的示例,所述模块中的每个模块不需要在任一时刻处及时被实例化。例如,其中模块包括使用软件配置的通用硬件处理器,该通用硬件处理器可以在不同时间处被配置为各自不同的模块。因此,软件可以配置硬件处理器,例如,以在一个时间实例处构成特定模块以及在不同时间实例处构成不同模块。
计算机器500可以包括硬件处理器502(例如,中央处理单元(CPU)、GPU、硬件处理器内核、或其任意组合)、主存储器504和静态存储器506,它们中的一些或所有可以经由互连链路(例如,总线)508彼此通信。尽管未示出,但是主存储器504可以包括可移除存储装置和不可移除存储装置、易失性存储器或非易失性存储器中的任何一个或所有。计算机器500还可以包括视频显示单元510(或其他显示单元)、字母数字输入设备512(例如,键盘)和用户界面(UI)导航设备514(例如,鼠标)。在示例中,显示单元510、输入设备512和UI导航设备514可以是触摸屏显示器。计算机器500可以附加地包括存储设备(例如,驱动单元)516、信号生成设备518(例如,扬声器)、网络接口设备520以及一个或更多个传感器521,例如全球定位系统(GPS)传感器、罗盘、加速度计或其他传感器。计算机器500可以包括输出控制器528,例如串行(例如,通用串行总线(USB)、并行或其他有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以与一个或更多个外围设备(例如,打印机、读卡器等)通信或者控制一个或更多个外围设备(例如,打印机、读卡器等)。
驱动单元516(例如,存储设备)可以包括机器可读介质522,其上存储有实施本文中所描述的技术或功能中的任何一个或更多个或由本文中所描述的技术或功能中的任何一个或更多个利用的一个或更多个数据结构集或指令524(例如,软件)。在由计算机器500执行指令524期间,指令524还可以完全地或至少部分地驻留在主存储器504内、静态存储器506内或硬件处理器502内。在示例中,硬件处理器502、主存储器504、静态存储器506或存储设备516中的一个或任何组合可以构成机器可读介质。
尽管机器可读介质522被示出为单个介质,但是术语“机器可读介质”可以包括被配置成存储一个或更多个指令524的单个介质或多个介质(例如,集中式或分布式数据库、和/或相关联的高速缓存和服务器)。
术语“机器可读介质”可以包括能够存储、编码或携带指令或者能够存储、编码或携带由这样的指令使用或与这样的指令相关联的数据结构的任何介质,以用于由计算机器500执行并且使计算机器500执行本公开内容的技术中的任何一个或更多个。非限制性的机器可读介质示例可以包括固态存储器以及光介质和磁介质。机器可读介质的具体示例可以包括:非易失性存储器,例如半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪速存储器设备;磁盘,例如内部硬盘和可移除盘;磁光盘;随机存取存储器(RAM);以及CD-ROM和DVD-ROM盘。在一些示例中,机器可读介质可以包括非暂态机器可读介质。在一些示例中,机器可读介质可以包括并非暂态传播信号的机器可读介质。
还可以利用多个传输协议(例如,帧中继、互联网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)中的任何一个经由网络接口设备520使用传输介质通过通信网络526来发送或接收指令524。示例通信网络可以包括局域网(LAN)、广域网(WAN)、分组数据网络(例如,互联网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如,称为的电气和电子工程师协会(IEEE)802.11标准族、称为的IEEE802.16标准族)、IEEE 802.15.4标准族、长期演进(LTE)标准族、通用移动电信系统(UMTS)标准族、对等(P2P)网络等。在示例中,网络接口设备520可以包括一个或更多个物理插孔(例如,以太网、同轴或电话插孔)或者连接至通信网络526的一个或更多个天线。
图6示出了根据一些实施方式的用于微调面部分类神经引擎612的示例系统600。如图所示,系统600包括服务器610、视觉设备620、门630和客户端计算设备640。服务器610、视觉设备620和客户端计算设备640连接至网络650。服务器610也直接地连接至视觉设备620和门630。服务器610、视觉设备620和客户端计算设备640中的一个或更多个可以包括计算机器500中的一个或更多个部件。
网络650可以包括局域网、广域网、蜂窝网络、网络、虚拟专用网络(VPN)、互联网、内联网等中的一个或更多个。客户端计算设备640可以包括移动电话、智能电话、平板计算机、膝上型计算机、台式计算机等中的一个或更多个。每个客户端计算设备640可以包括计算机器500的部件中的一个或更多个。视觉设备620可以是与一个或更多个摄像装置622耦接或者包括一个或更多个摄像装置622的计算设备(例如,包括计算机器500的部件中的一个或更多个的计算设备)。摄像装置622可以捕获视觉数据(例如,探测图像)以经由视觉设备620和/或服务器610进行处理。门630可以基于在服务器610和/或视觉设备620处的视觉数据的处理被控制(例如,打开或关闭)。在一个示例中,门630是办公楼的门,并且当服务器610或视觉设备620确定来自办公楼的工作人员在摄像装置622的视场内时,门打开。
摄像装置622可以包括:包括宽带成像器(红色、绿色、蓝色和红外)的摄像装置和/或检测大于600nm的波长(橙色、红色和红外)的摄像装置。在一些方面,摄像装置622中的至少一个可以是网络摄像装置,其被配置成用于视频通话以有助于信息技术(IT)人员远程服务于摄像装置622附近的地理区域。
如图所示,服务器610包括面部分类神经引擎612、支持引擎614和半监督学习面部分类引擎616。面部分类神经引擎612、支持引擎614和半监督学习面部分类引擎616是分开且不同的引擎。在一些实施方式中,在训练阶段期间,引擎612、614和616可以驻留在服务器610处。在训练完成之后,可以将引擎612、614和616中的一个或更多个引擎提供给视觉设备620(或另一边缘设备)以用于推理。
在一些实施方式中,在服务器610或视觉设备620处的认证引擎从包括摄像装置622的视觉设备620接收探测图像。认证引擎使用经训练的面部分类神经引擎612生成关于探测图像中描绘的人员的一个或更多个第一标签和关于一个或更多个第一标签中的至少一个的概率。认证引擎确定概率在预定义的低准确度范围内(例如,在50%与90%之间)。服务器610使用支持引擎614生成关于探测图像中描绘的人员的第二标签。支持引擎614独立于经训练的面部分类神经引擎612操作。服务器610基于第二标签进一步训练面部分类神经引擎612。
在一些实施方式中,为了生成第二标签,支持引擎614将探测图像提供给用于半监督学习面部分类引擎616的训练数据集。认证引擎使用训练数据集来训练半监督学习面部分类引擎616。服务器610使用半监督学习面部分类引擎616生成关于探测图像中描绘的人员的第二标签和关于第二标签的概率值。认证引擎基于经训练的半监督学习面部分类引擎616来调整经训练的面部分类神经引擎612。
认证引擎可以驻留在服务器610、视觉设备620或另一边缘设备处。在一些实施方式中,认证引擎驻留在摄像装置622或与摄像装置622耦接的视觉设备620的固件中。可替选地,认证引擎可以驻留在服务器610处。在一些实施方式中,最初在服务器610处训练引擎612、614和616中的一个或更多个引擎,然后将其提供给视觉设备620(或另一边缘设备)以用于推理。
图7是示出根据一些实施方式的用于微调面部分类神经引擎612的示例方法700的流程图。如下所述,方法700可以在认证引擎处执行,该认证引擎可以驻留在服务器610或视觉设备620处,从而结合图6所示的其他机器来工作。可替选地,一个或更多个其他机器可以用于执行方法700中的一个或更多个操作。
在操作710处,认证引擎从包括一个或更多个摄像装置622的视觉设备620接收探测图像。可选地,可以与探测图像一起接收附加的认证信息(例如,用户名和密码组合、员工身份证扫描、钥匙卡或移动电话的近场通信(NFC)扫描等)。
在操作720处,认证引擎使用经训练的面部分类神经引擎612生成关于探测图像中描绘的人员的一个或更多个第一标签和关于一个或更多个第一标签中的至少一个的概率。面部分类神经引擎612可以例如使用本文中结合图1至图4所描述的技术来训练。
在操作730处,认证引擎确定概率(或如果存在有多个概率的话确定最高概率)是否在高准确度范围内。高准确度范围和低准确度范围可以是预定义的。在一个示例中,高准确度范围为大于95%,而低准确度范围为在55%与95%之间。如果概率在高准确度范围内,则方法700继续到操作760。如果概率不在高准确度范围内,则方法700继续到操作740。
在操作740处,认证引擎确定概率是否在低准确度范围内。如果在低准确度范围内,则方法700继续到操作780。不管概率是否在低准确度范围内,方法700都继续到操作750。
在操作750处,认证引擎确定附加的认证信息是否被核实(例如,与授权人员相关联)。如果附加的认证信息被核实,则方法700继续到操作760。如果附加的认证信息未被核实,则方法700继续到操作770。
在操作760处,响应于确定概率在高准确度范围内或附加的认证信息被核实,认证引擎向门630发送允许访问(例如,打开门630)的控制信号。
在操作770处,在确定认证信息未被核实时,认证引擎向门630发送拒绝访问的控制信号。可替选地,可能没有信号被发送,并且门630可能保持关闭。
在操作780处,响应于确定概率在低准确度范围内,认证引擎使用支持引擎614生成关于探测图像中描绘的人员的第二标签。支持引擎614独立于面部分类神经引擎612操作。认证引擎可以使用任何技术来生成第二标签,该技术包括但不限于下述技术之一或组合。
根据第一技术,认证引擎基于由人员提供的身份证或令牌或者基于由人员输入的用户标识符和密码生成第二标签。认证引擎可以基于弱认证因素的组合生成第二标签。该弱认证因素可以包括以下中的一个或更多个:身高、体重和步态。身高可以基于从视觉设备620(例如,视觉设备620的摄像装置622)接收的数据使用认证引擎来测量。体重可以经由人员踩在其上的秤来测量。步态可以经由摄像装置622记录在视频馈送中,并且神经网络引擎可以用于将步态与特定人员相关联。
根据第二技术,认证引擎通过将探测图像发送至一个或多个客户端计算设备640并经由一个或多个客户端计算设备640核实关于探测图像中描绘的人员的正确标识来生成第二标签。在一些示例中,认证引擎提供探测图像和关于该人员的多个可能标识以用于在客户端计算设备640处显示。人员的可能标识可以是由面部分类神经引擎612生成的最高概率标识。认证引擎从客户端计算设备640中的至少一个接收对可能标识之一的选择作为正确标识。
在一些示例中,使用属于安全人员或管理员的单个客户端计算设备640。在一些示例中,客户端计算设备640包括管理员客户端计算设备和N个员工客户端计算设备,其中N是大于或等于2的正整数。为了核实正确标识,认证引擎将探测图像提供给N个员工客户端计算设备中的至少一部分。在从至少M个员工客户端计算设备接收该人员的一致标识时:认证引擎核实一致标识是正确标识,其中M是N的一半与N之间的正整数。在没有从至少M个员工客户端计算设备接收该人员的一致标识时:认证引擎将探测图像提供给管理员客户端计算设备,以用于经由管理员客户端计算设备来核实正确标识。在一些情况下,可以基于多个可能标识中的至少一个的公司部门或办公室地理位置来选择员工客户端计算设备。因此,可以在不联系管理员的情况下或者在管理员的部分的最小努力的情况下生成第二标签。
根据第三技术,认证引擎通过将探测图像提供给用于半监督学习面部分类引擎616的训练数据集来生成第二标签。认证引擎使用训练数据集来训练半监督学习面部分类引擎616。认证引擎使用半监督学习面部分类引擎616生成关于探测图像中描绘的人员的第二标签和关于第二标签的概率值。认证引擎基于经训练的半监督学习面部分类引擎616调整经训练的面部分类神经引擎612。在一些情况下,在基于经训练的半监督学习面部分类引擎616调整经训练的面部分类神经引擎612之后,如果关于第二标签的概率值仍低于概率阈值(例如,65%),则认证引擎经由至少一个客户端计算设备640(例如,使用上述第二技术)核实关于探测图像中描绘的人员的正确标识。
在一些情况下,响应于确定探测图像的质量超过质量阈值,认证引擎将探测图像提供给用于半监督学习面部分类引擎616的训练数据集。探测图像的质量可以使用质量测量神经引擎来计算。探测图像的质量可以包括探测图像的模糊度。可以至少部分地基于探测图像的模糊度来计算探测图像的质量。
根据第四技术,探测图像是从视觉设备620接收的跟踪人员(例如,当人员正在走过旋转门或类似空间时)的多个图像之一。认证引擎通过使用经训练的面部分类神经引擎612确定多个图像中的至少阈值数量的图像(例如,多个图像中的至少50%或至少五个图像)以预定义的高准确度范围内(例如,大于96%)的概率具有指定标识。认证引擎基于具有指定标识的多个图像中的至少阈值数量的图像确定探测图像具有指定标识。在一些情况下,认证引擎基于与多个图像相关联的时间戳和人员在多个图像中描绘的空间内的物理位置来识别跟踪人员的多个图像。
在操作790处,认证引擎基于第二标签进一步训练面部分类神经引擎612。在一些实施方式中,认证引擎使用进一步经训练的面部分类神经引擎612来识别经由摄像装置622从视觉设备620接收的视觉数据中的一个或更多个人员。基于识别的视觉数据中的一个或更多个人员,认证引擎控制对物理位置或电子资源的访问。该访问可以经由门630来控制。
分类机器学习算法和神经网络的一个目的是将提供的输入分类成类之一。例如,可能存在有四种类型的花,并且给定关于给定花的一些属性(即,特征)(例如,花瓣长度、花瓣宽度、间隔长度和间隔宽度),分类引擎可以输出花类型(即,类)。
如以上示例中提到的相同策略(以更大的规模)可以用于面部识别的任务。在此,输入数据包括图像,并且一个问题是对属于一些类(例如,给定的人员)的这些图像进行分类。
对于学习分类的机器学习引擎,它可以实现训练阶段。在训练阶段中,引擎会示出输入数据的许多示例以及对应标签。训练阶段包括多次迭代(对于复杂的任务,经常需要数周和数月),其中引擎使用输入数据和对应标签来学习以找到模式(即,潜在信息或表示),然后将该模式用于对输入数据的新示例进行分类。机器学习引擎的一个主要目标可能是学习它所示出的数据中的模式。
基于以上描述,分类的准确度可能取决于训练的以下方面中的一个或更多个:(i)向机器学习引擎所示出的每类(人员)的输入数据示例(面部识别上下文中的图像)的数量;(ii)向机器学习引擎所示出的每类的输入数据示例的变化,例如,在面部识别的情况下,可能期望向其示出具有不同程度姿态的面部图像。面部姿态意味着一些图片是正面的,而其他图片则具有不同程度的偏摆、俯仰和翻转。
虽然使用大量数据以及变化的方面是很好理解的,但是在工业环境中对于有效使用经训练的神经网络可能存在挑战。在一些情况下,标记的输入示例不可用。虽然存在有将网络重新用于新类的技术,但是它可能损失一些准确度。例如,在训练阶段期间,一些方面可能使用1000个类进行训练,但是引擎可能从使用不作为训练阶段的一部分的200个类的学习(模式)中受益。存在有诸如迁移学习、表示学习等的方案。然而,这些方案可能涉及准确度的损失。即使存在有大量可用的示例,标记的变化数据(尤其是在面部识别的情况下)也难以获得。如上所述,变化数据可以是关于面部姿态或由于化妆、衣服、面部毛发、面部表情、年龄等而引起的外观变化。
上述挑战涉及分类任务的准确度,其被视为在训练阶段期间供应的输入数据(图像)的质量和变化。然而,也可以考虑安全方面。在一些情况下,对输入数据的一些修改可能欺骗神经网络,从而导致它生成错误结果。在一些情况下,一些修改对于典型的人工观察者是不可察觉的,但是输入数据被神经网络错误分类。这些类型的输入数据称为对抗示例。
通过机器学习算法对这些类型的示例(即,对抗示例)进行的错误分类是深入的研究领域。一种理论指出,在训练阶段期间,神经网络引擎未示出足够多的数据变化。即使对于人眼而言输入数据是相同的,但是对于机器学习算法输入数据是足够不同的。一种方法是生成这些对抗示例(基于对该主题的理解的当前技术状态)并在训练阶段期间馈送这些对抗示例。
虽然在训练阶段期间可能向机器学习引擎示出尽可能多的输入数据的变化,但是仍不能保证它在推理阶段期间不会受到攻击。解决这个问题的一种方式是通过示出在推理阶段期间接收的更多示例来更新算法(或者更确切地说是它学习的模式)。这可以称为在线学习。也就是说,机器学习引擎(至少在监督环境中)可以仅基于输入数据以及与输入数据相关联的“正确”标签来构建。一个挑战是如何正确地为推理阶段期间看到的图像分配标签。
一些实施方式涉及可以用于选择要用于在线学习的图像以及它们各自标签的系统和方法。
如本文中所使用的,分类器可以包括对输入数据进行分类的机器学习引擎。微调或在线学习可以指使用新的输入数据来更新机器学习引擎。探测图像可以包括在推理阶段期间所示出的图像。
第一方法包括利用二次认证因素来标记错误分类的图像。在一些情况下,附加的认证因素可能与面部识别引擎耦接,以防面部识别引擎出现故障(因为大多数面部识别引擎并非100%可靠)。例如,可以使用更多因素来认证人员。例如,该人员可能携带了加密卡或令牌,或者可能知道秘密短语/密码。在一些情况下,可以使用关于诸如到达时间的行为的先验知识,或诸如身高、体重、步态等弱认证因素的组合。
该方法利用二次和/或辅助认证因素来标记被分类器错误分类的图像。这些错误分类的图像作为输入传递给检查图像质量的软件模块,并且如果这些错误分类的图像通过一定的质量阈值检查,则选择对分类网络进行重新训练或微调。该标签被假定为在二次认证因素的帮助下生成的标签。
第二方法使用企业中的安全人员和同事来标记错误分类的图像。分类引擎发出与结果相关联的概率。在有歧义的情况下,分类引擎最终为在其上训练分类引擎的所有类指定几乎相同的权重。决策者还可以为决策功能软件或硬件指定某个(概率)阈值。这种方法可能包括收集属于这些类型事件的图像,即,其中引擎对分类结果不确定并使用人工来干预和分配适当的标签。
示例工作流可以包括(i)神经引擎上传探测图像(该探测图像不能正确地分类)以及它们各自的概率,和(ii)将探测图像示出给人工分类器以核实身份。人工分类器可以是与由神经引擎在探测图像中识别的最高概率人员在同一分支、部门或位置中工作的安全人员、管理员或员工。由人工分类器(一个或多个)提供的标签用于微调神经引擎。
第三方法包括使用半监督技术以用于进行标签传播。然后,错误分类的探测图像可以被馈送到半监督学习引擎中以用于进行标签传播。这些方法进一步用作一个或更多个层,以潜在地减少人为错误或机器错误。
第四方法包括利用面部跟踪数据来标记错误分类的图像。在一些情况下,在检测和跟踪面部之后,使用面部识别分类器。一些方法可以用于跟踪移动对象(在这种情况下为面部),从而生成具有不同姿态和质量的多个图像。
在执行面部跟踪之后收集的所有或部分图像被馈送到面部识别网络和分类器。如果分类器最终对这些图像中的一些进行了错误分类(例如,存在有作为跟踪结果而生成的五个图像,并且其中四个被分类为人员A,而一个无法被分类),则可以考虑对这些图像进行进一步检查。如上所述,该检查可以是自动地将错误分类的图像视为人员A的图像,并且使用该信息以用于微调分类器以及/或者可以将其发送至安全人员和/或人员A的同事。
一些方面在下面被描述为经编号的示例(示例1、示例2、示例3等)。这些经编号的示例不限制本文中所公开的技术。
示例1是一种系统,其包括:处理电路;和存储器,该存储器存储指令,所述指令在由处理电路执行时使处理电路执行包括以下的操作:从包括一个或更多个摄像装置的视觉设备接收探测图像;使用经训练的面部分类神经引擎生成关于探测图像中描绘的人员的一个或更多个第一标签和关于一个或更多个第一标签中的至少一个的概率;确定概率在预定义的低准确度范围内;使用支持引擎生成关于探测图像中描绘的人员的第二标签,其中,支持引擎独立于经训练的面部分类神经引擎操作;基于第二标签进一步训练面部分类神经引擎。
在示例2中,示例1的主题包括,该操作还包括:使用进一步经训练的面部分类神经引擎来识别来自视觉设备的视觉数据中的一个或更多个人员;以及基于所识别的视觉数据中的一个或更多个人员,控制对物理位置或电子资源的访问。
在示例3中,示例1至示例2的主题包括,其中,使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:基于由人员提供的身份证或令牌或者基于由人员输入的用户标识符和密码生成第二标签。
在示例4中,示例1至示例3的主题包括,其中,使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:基于弱认证因素的组合生成第二标签,该弱认证因素包括以下中的一个或更多个:身高、体重和步态。
在示例5中,示例1至示例4的主题包括,其中,使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:经由至少一个客户端计算设备核实关于探测图像中描绘的人员的正确标识。
在示例6中,示例5的主题包括,其中,核实正确标识包括:提供探测图像和关于该人员的多个可能标识以用于在至少一个客户端计算设备处显示;以及从至少一个客户端设备接收对可能标识之一的选择作为正确标识。
在示例7中,示例5至示例6的主题包括,其中,至少一个客户端计算设备包括管理员客户端计算设备和N个员工客户端计算设备,其中,N是大于或等于2的正整数,其中,核实正确标识包括:将探测图像提供给N个员工客户端计算设备中的至少一部分;在从至少M个员工客户端计算设备接收到该人员的一致标识时:核实一致标识是正确标识,其中,M是N的一半与N之间的正整数;以及在没有从至少M个员工客户端计算设备接收到该人员的一致标识时:将探测图像提供给管理员客户端计算设备,以用于经由管理员客户端计算设备来核实正确标识。
在示例8中,示例7的主题包括,其中,基于多个可能标识中的至少一个的公司部门或办公室地理位置来选择员工客户端计算设备。
在示例9中,示例1至示例8的主题包括,其中,使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:将探测图像提供给用于半监督学习面部分类引擎的训练数据集;使用训练数据集来训练半监督学习面部分类引擎;使用半监督学习面部分类引擎生成关于探测图像中描绘的人员的第二标签和关于第二标签的概率值;以及基于经训练的半监督学习面部分类引擎调整经训练的面部分类神经引擎。
在示例10中,示例9的主题包括,其中,将探测图像提供给用于半监督学习面部分类引擎的训练数据集是响应于确定探测图像的质量超过质量阈值。
在示例11中,示例10的主题包括,其中,探测图像的质量是使用质量测量神经引擎来计算的。
在示例12中,示例10至示例11的主题包括,其中,探测图像的质量包括探测图像的模糊度。
在示例13中,示例9至示例12的主题包括,其中,使用支持引擎生成关于探测图像中描绘的人员的第二标签还包括:确定关于第二标签的概率值低于概率阈值;以及响应于关于第二标签的概率值低于概率阈值:经由至少一个客户端计算设备核实关于探测图像中描绘的人员的正确标识。
在示例14中,示例1至示例13的主题包括,其中,探测图像是跟踪人员的多个图像之一,所述多个图像是从视觉设备接收的,其中,使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:使用经训练的面部分类神经引擎来确定多个图像中的至少阈值数量的图像以在预定义的高准确度范围内的概率具有指定标识;以及基于具有指定标识的多个图像中的至少阈值数量的图像确定探测图像具有指定标识。
在示例15中,示例14的主题包括,该操作还包括基于与多个图像相关联的时间戳和人员在多个图像中描绘的空间内的物理位置来识别跟踪人员的多个图像。
示例16是一种机器可读介质(例如,非暂态机器可读介质),其存储指令,所述指令在由一个或更多个计算机器的处理电路执行时使处理电路执行包括以下的操作:从包括一个或更多个摄像装置的视觉设备接收探测图像;使用经训练的面部分类神经引擎生成关于探测图像中描绘的人员的一个或更多个第一标签和关于一个或更多个第一标签中的至少一个的概率;确定概率在预定义的低准确度范围内;使用支持引擎生成关于探测图像中描绘的人员的第二标签,其中,支持引擎独立于经训练的面部分类神经引擎操作;基于第二标签进一步训练面部分类神经引擎。
在示例17中,示例16的主题包括,该操作还包括:使用进一步经训练的面部分类神经引擎来识别来自视觉设备的视觉数据中的一个或更多个人员;以及基于所识别的视觉数据中的一个或更多个人员,控制对物理位置或电子资源的访问。
在示例18中,示例16至示例17的主题包括,其中,使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:将探测图像提供给用于半监督学习面部分类引擎的训练数据集;使用训练数据集来训练半监督学习面部分类引擎;使用半监督学习面部分类引擎生成关于探测图像中描绘的人员的第二标签和关于第二标签的概率值;以及基于经训练的半监督学习面部分类引擎调整经训练的面部分类神经引擎。
在示例19中,示例16至示例18的主题包括,其中,探测图像是跟踪人员的多个图像之一,所述多个图像是从视觉设备接收的,其中,使用支持引擎生成关于探测图像中描绘的人员的第二标签包括:使用经训练的面部分类神经引擎来确定多个图像中的至少阈值数量的图像以在预定义的高准确度范围内的概率具有指定标识;以及基于具有指定标识的多个图像中的至少阈值数量的图像确定探测图像具有指定标识。
示例20是一种方法包括:从包括一个或更多个摄像装置的视觉设备接收探测图像;使用经训练的面部分类神经引擎生成关于探测图像中描绘的人员的一个或更多个第一标签和关于一个或更多个第一标签中的至少一个的概率;确定概率在预定义的低准确度范围内;使用支持引擎生成关于探测图像中描绘的人员的第二标签,其中,支持引擎独立于经训练的面部分类神经引擎操作;基于第二标签进一步训练面部分类神经引擎。
示例21是至少一种机器可读介质,其包括指令,所述指令在由处理电路执行时使处理电路执行用于实现示例1至示例20中的任一示例的操作。
示例22是一种设备,其包括用于实现示例1至示例20中的任一示例的装置。
示例23是一种用于实现示例1至示例20中的任一示例的系统。
示例24是一种用于实现示例1至示例20中的任一示例的方法。
尽管已经参照具体示例实施方式描述了实施方式,但是将明显的是,在不偏离本公开内容的更宽范围的情况下可以对这些实施方式进行各种修改和变化。因此,说明书和附图被视为示出性意义而非限制性意义。形成本文中的一部分的附图通过说明而非限制的方式示出了可以实践主题的特定实施方式。足够详细地描述了所示的实施方式,以使本领域技术人员能够实践本文中所公开的教导。可以使用其他实施方式以及得出其他实施方式,使得在不偏离本公开内容的范围的情况下可以进行结构性和逻辑性的替代和变化。因此,该具体实施方式不应被理解为限制性意义,并且各种实施方式的范围仅由所附权利要求以及这样的权利要求所授权的等同内容的全部范围来限定。
尽管本文中已对具体实施方式进行了说明和描述,但是应当理解,任何旨在实现相同目的的布置均可以替代所示的具体实施方式。本公开内容旨在覆盖各种实施方式的任何和所有修改或变化。通过回顾以上描述,以上实施方式的组合以及本文中没有具体描述的其他实施方式对于本领域技术人员来说将是明显的。
在本文献中,如在专利文献中常见的,术语“一”或“一个”用于包括一个或多于一个,而独立于“至少一个”或“一个或更多个”的任何其他实例或用法。除非另有说明,否则在本文献中,术语“或”用于指非排他性的“或”,使得“A或B”包括“A但不包括B”、“B但不包括A”以及“A和B”。在本文献中,术语“包括(including)”和“其中(in which)”被用作相应术语“包括(comprising)”和“其中(wherein)”的简明英语等同物。此外,在所附权利要求中,术语“包括(including)”和“包括(comprising)”是开放式的,也就是说,包括除了在权利要求中的这样的术语之后列出的那些元素之外的元素的系统、用户装置(UE)、物品、组合物、配方或过程仍被认为落入该权利要求的范围内。此外,在以下权利要求中,术语“第一”、“第二”和“第三”等仅被用作标签,并不旨在对它们的对象强加数字要求。
提供本公开内容的摘要以允许读者快速地确定本技术公开内容的本质。在以下理解的情况下提交摘要:摘要将不用于解释或限制权利要求的范围或含义。此外,在前述具体实施方式中,可以看到的是,出于使本公开内容精简的目的,各种特征在单个实施方式中被组合在一起。本公开内容的方法不被解释为反映如下意图:所要求保护的实施方式需要比在每个权利要求中明确列举的特征更多的特征。相反,如所附权利要求所反映的,发明主题在于少于单个公开的实施方式中的所有特征。因此,在此将所附权利要求并入到具体实施方式中,其中每个权利要求独立作为单独的实施方式。
Claims (20)
1.一种系统,包括:
处理电路;和
存储器,所述存储器存储指令,所述指令在由所述处理电路执行时使所述处理电路执行包括以下的操作:
从包括一个或更多个摄像装置的视觉设备接收探测图像;
使用经训练的面部分类神经引擎生成关于所述探测图像中描绘的人员的一个或更多个第一标签和关于所述一个或更多个第一标签中的至少一个的概率;
确定所述概率在预定义的低准确度范围内;
使用支持引擎生成关于所述探测图像中描绘的所述人员的第二标签,其中,所述支持引擎独立于经训练的面部分类神经引擎操作;
基于所述第二标签进一步训练所述面部分类神经引擎。
2.根据权利要求1所述的系统,所述操作还包括:
使用进一步经训练的面部分类神经引擎来识别来自所述视觉设备的视觉数据中的一个或更多个人员;以及
基于所识别的所述视觉数据中的一个或更多个人员,控制对物理位置或电子资源的访问。
3.根据权利要求1至2中任一项所述的系统,其中,使用支持引擎生成关于所述探测图像中描绘的所述人员的第二标签包括:
基于由所述人员提供的身份证或令牌或者基于由所述人员输入的用户标识符和密码生成所述第二标签。
4.根据权利要求1至3中任一项所述的系统,其中,使用支持引擎生成关于所述探测图像中描绘的所述人员的第二标签包括:
基于弱认证因素的组合生成所述第二标签,所述弱认证因素包括以下中的一个或更多个:身高、体重和步态。
5.根据权利要求1至4中任一项所述的系统,其中,使用支持引擎生成关于所述探测图像中描绘的所述人员的第二标签包括:
经由至少一个客户端计算设备核实关于所述探测图像中描绘的所述人员的正确标识。
6.根据权利要求5所述的系统,其中,核实所述正确标识包括:
提供所述探测图像和关于所述人员的多个可能标识以用于在所述至少一个客户端计算设备处显示;以及
从所述至少一个客户端设备接收对所述可能标识之一的选择作为所述正确标识。
7.根据权利要求5至6中任一项所述的系统,其中,所述至少一个客户端计算设备包括管理员客户端计算设备和N个员工客户端计算设备,其中,N是大于或等于2的正整数,其中,核实所述正确标识包括:
将所述探测图像提供给所述N个员工客户端计算设备中的至少一部分;
在从至少M个员工客户端计算设备接收到所述人员的一致标识时:核实所述一致标识是所述正确标识,其中,M是N的一半与N之间的正整数;以及
在没有从至少M个员工客户端计算设备接收到所述人员的一致标识时:将所述探测图像提供给所述管理员客户端计算设备,以用于经由所述管理员客户端计算设备来核实所述正确标识。
8.根据权利要求7所述的系统,其中,基于所述多个可能标识中的至少一个的公司部门或办公室地理位置来选择所述员工客户端计算设备。
9.根据权利要求1至8中任一项所述的系统,其中,使用支持引擎生成关于所述探测图像中描绘的所述人员的第二标签包括:
将所述探测图像提供给用于半监督学习面部分类引擎的训练数据集;
使用所述训练数据集来训练所述半监督学习面部分类引擎;
使用所述半监督学习面部分类引擎生成关于所述探测图像中描绘的所述人员的第二标签和关于所述第二标签的概率值;以及
基于经训练的半监督学习面部分类引擎调整经训练的面部分类神经引擎。
10.根据权利要求9所述的系统,其中,将所述探测图像提供给用于所述半监督学习面部分类引擎的训练数据集是响应于确定所述探测图像的质量超过质量阈值。
11.根据权利要求10所述的系统,其中,所述探测图像的质量是使用质量测量神经引擎来计算的。
12.根据权利要求10至11中任一项所述的系统,其中,所述探测图像的质量包括所述探测图像的模糊度。
13.根据权利要求9至12中任一项所述的系统,其中,使用支持引擎生成关于所述探测图像中描绘的所述人员的第二标签还包括:
确定关于所述第二标签的概率值低于概率阈值;以及
响应于关于所述第二标签的概率值低于所述概率阈值:经由至少一个客户端计算设备核实关于所述探测图像中描绘的所述人员的正确标识。
14.根据权利要求1至13中任一项所述的系统,其中,所述探测图像是跟踪所述人员的多个图像之一,所述多个图像是从所述视觉设备接收的,其中,使用支持引擎生成关于所述探测图像中描绘的所述人员的第二标签包括:
使用经训练的面部分类神经引擎确定所述多个图像中的至少阈值数量的图像以在预定义的高准确度范围内的概率具有指定标识;以及
基于具有所述指定标识的所述多个图像中的至少阈值数量的图像确定所述探测图像具有所述指定标识。
15.根据权利要求14所述的系统,所述操作还包括
基于与所述多个图像相关联的时间戳和所述人员在所述多个图像中描绘的空间内的物理位置来识别跟踪所述人员的所述多个图像。
16.一种机器可读介质,其存储指令,所述指令在由一个或更多个计算机器的处理电路执行时使所述处理电路执行包括以下的操作:
从包括一个或更多个摄像装置的视觉设备接收探测图像;
使用经训练的面部分类神经引擎生成关于所述探测图像中描绘的人员的一个或更多个第一标签和关于所述一个或更多个第一标签中的至少一个的概率;
确定所述概率在预定义的低准确度范围内;
使用支持引擎生成关于所述探测图像中描绘的所述人员的第二标签,其中,所述支持引擎独立于经训练的面部分类神经引擎操作;
基于所述第二标签进一步训练所述面部分类神经引擎。
17.根据权利要求16所述的机器可读介质,所述操作还包括:
使用进一步经训练的面部分类神经引擎来识别来自所述视觉设备的视觉数据中的一个或更多个人员;以及
基于所识别的所述视觉数据中的一个或更多个人员,控制对物理位置或电子资源的访问。
18.根据权利要求16至17中任一项所述的机器可读介质,其中,使用支持引擎生成关于所述探测图像中描绘的所述人员的第二标签包括:
将所述探测图像提供给用于半监督学习面部分类引擎的训练数据集;
使用所述训练数据集来训练所述半监督学习面部分类引擎;
使用所述半监督学习面部分类引擎生成关于所述探测图像中描绘的所述人员的第二标签和关于所述第二标签的概率值;以及
基于经训练的半监督学习面部分类引擎调整经训练的面部分类神经引擎。
19.根据权利要求16至18中任一项所述的机器可读介质,其中,所述探测图像是跟踪所述人员的多个图像之一,所述多个图像是从所述视觉设备接收的,其中,使用支持引擎生成关于所述探测图像中描绘的所述人员的第二标签包括:
使用经训练的面部分类神经引擎确定所述多个图像中的至少阈值数量的图像以在预定义的高准确度范围内的概率具有指定标识;以及
基于具有所述指定标识的所述多个图像中的至少阈值数量的图像确定所述探测图像具有所述指定标识。
20.一种方法,包括:
从包括一个或更多个摄像装置的视觉设备接收探测图像;
使用经训练的面部分类神经引擎生成关于所述探测图像中描绘的人员的一个或更多个第一标签和关于所述一个或更多个第一标签中的至少一个的概率;
确定所述概率在预定义的低准确度范围内;
使用支持引擎生成关于所述探测图像中描绘的所述人员的第二标签,其中,所述支持引擎独立于经训练的面部分类神经引擎操作;
基于所述第二标签进一步训练所述面部分类神经引擎。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/807,825 | 2020-03-03 | ||
US16/807,825 US11763551B2 (en) | 2020-03-03 | 2020-03-03 | Systems and methods for fine tuning image classification neural networks |
PCT/EP2021/055288 WO2021175902A1 (en) | 2020-03-03 | 2021-03-03 | Systems and methods for fine tuning image classification neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115552481A true CN115552481A (zh) | 2022-12-30 |
Family
ID=74859428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180018616.XA Pending CN115552481A (zh) | 2020-03-03 | 2021-03-03 | 用于微调图像分类神经网络的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11763551B2 (zh) |
EP (1) | EP4115321A1 (zh) |
CN (1) | CN115552481A (zh) |
WO (1) | WO2021175902A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085701A (zh) * | 2020-08-05 | 2020-12-15 | 深圳市优必选科技股份有限公司 | 一种人脸模糊度检测方法、装置、终端设备及存储介质 |
CN114912572A (zh) * | 2022-03-29 | 2022-08-16 | 深圳市商汤科技有限公司 | 目标识别方法及神经网络的训练方法 |
US11625665B1 (en) * | 2022-03-29 | 2023-04-11 | Todd Martin | Contactless authorized event entry and item delivery system and method |
CN114708460A (zh) * | 2022-04-12 | 2022-07-05 | 济南博观智能科技有限公司 | 一种图像分类方法、系统、电子设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7804982B2 (en) * | 2002-11-26 | 2010-09-28 | L-1 Secure Credentialing, Inc. | Systems and methods for managing and detecting fraud in image databases used with identification documents |
NL2013236B1 (en) * | 2014-07-22 | 2016-08-16 | Bunq B V | Method and system for initiating a communication protocol. |
TWI655587B (zh) * | 2015-01-22 | 2019-04-01 | 美商前進公司 | 神經網路及神經網路訓練的方法 |
CN107305624A (zh) * | 2016-04-20 | 2017-10-31 | 厦门中控智慧信息技术有限公司 | 一种基于多模式生物识别信息的个人识别方法和装置 |
US10733292B2 (en) * | 2018-07-10 | 2020-08-04 | International Business Machines Corporation | Defending against model inversion attacks on neural networks |
US10282852B1 (en) * | 2018-07-16 | 2019-05-07 | Accel Robotics Corporation | Autonomous store tracking system |
US11238369B2 (en) * | 2018-10-01 | 2022-02-01 | International Business Machines Corporation | Interactive visualization evaluation for classification models |
GB2577689B (en) * | 2018-10-01 | 2023-03-22 | Digital Barriers Services Ltd | Video surveillance and object recognition |
CN110738101B (zh) * | 2019-09-04 | 2023-07-25 | 平安科技(深圳)有限公司 | 行为识别方法、装置及计算机可读存储介质 |
-
2020
- 2020-03-03 US US16/807,825 patent/US11763551B2/en active Active
-
2021
- 2021-03-03 CN CN202180018616.XA patent/CN115552481A/zh active Pending
- 2021-03-03 WO PCT/EP2021/055288 patent/WO2021175902A1/en unknown
- 2021-03-03 EP EP21710228.4A patent/EP4115321A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4115321A1 (en) | 2023-01-11 |
US11763551B2 (en) | 2023-09-19 |
WO2021175902A1 (en) | 2021-09-10 |
US20210279528A1 (en) | 2021-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10607331B1 (en) | Image segmentation into overlapping tiles | |
US11585918B2 (en) | Generative adversarial network-based target identification | |
JP7250126B2 (ja) | 自動エンコーダを用いる人工画像生成のためのコンピュータアーキテクチャ | |
US11551026B2 (en) | Dynamic reconfiguration training computer architecture | |
US11763551B2 (en) | Systems and methods for fine tuning image classification neural networks | |
US11068747B2 (en) | Computer architecture for object detection using point-wise labels | |
US11275959B2 (en) | Systems and methods for enrollment in a multispectral stereo facial recognition system | |
US11037027B2 (en) | Computer architecture for and-or neural networks | |
US11593619B2 (en) | Computer architecture for multiplier-less machine learning | |
US20200272812A1 (en) | Human body part segmentation with real and synthetic images | |
JP7214863B2 (ja) | 人工画像生成用コンピュータアーキテクチャ | |
US11003909B2 (en) | Neural network trained by homographic augmentation | |
WO2021137910A2 (en) | Computer architecture for resource allocation for course of action activities | |
US20220269991A1 (en) | Evaluating reliability of artificial intelligence | |
US11587323B2 (en) | Target model broker | |
US20210149986A1 (en) | Computer architecture for multi-domain probability assessment capability for course of action analysis | |
US20230162028A1 (en) | Extracting and transferring feature representations between models | |
US11315352B2 (en) | Calculating the precision of image annotations | |
US20230368575A1 (en) | Access control with face recognition and heterogeneous information | |
US20230359208A1 (en) | Computer Architecture for Identification of Nonlinear Control Policies |
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 |