CN110235083B - 对象识别方法和系统的无监督学习 - Google Patents
对象识别方法和系统的无监督学习 Download PDFInfo
- Publication number
- CN110235083B CN110235083B CN201880004421.8A CN201880004421A CN110235083B CN 110235083 B CN110235083 B CN 110235083B CN 201880004421 A CN201880004421 A CN 201880004421A CN 110235083 B CN110235083 B CN 110235083B
- Authority
- CN
- China
- Prior art keywords
- image
- object image
- images
- sequence
- neural network
- 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
Links
Images
Classifications
-
- 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
- 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
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
旨在训练对象识别系统的神经网络的方法和系统。该方法和系统记录人的视频流。从每个视频流提取对象图像序列,每个对象图像序列对应于一个人。为每个对象图像序列形成三元组,该三元组包括锚定特征向量和同一对象的正特征向量以及不同对象的负特征向量。每个三元组的锚定特征向量、正特征向量和负特征向量被分别输入到神经网络以计算相应的输出的锚定向量、正向量和负向量。从输出的锚定向量、正向量和负向量计算三元组损失函数值。当三元组损失函数值大于阈值时,使用对象图像序列的锚定特征向量和正特征向量来重新训练神经网络。
Description
相关申请的交叉参考
本申请主张于2017年1月2日提交的美国临时申请号62/441,488的优先权。
技术领域
本公开涉及对象识别,并且具体地,涉及用于在从视频流获得的图像中执行对象识别的无监督学习计算系统和方法。
背景技术
典型的对象识别方法使用机器学习算法,而机器学习算法又需要庞大数量的对象图像来训练学习算法。例如,典型的面部识别方法可能需要多达1亿至2亿个训练用面部图像,而每个面部图像标记有大约800万个唯一身份中的一个。这些庞大的图像数据集合需要大量的时间和大量的数据存储来收集、标记和存储图像,这已经成为构建和训练改进的且可靠的面部识别方法的障碍。
用于训练面部识别方法的一些面部图像集合是公开可用的,但是不代表普通人的面部图像。例如,某些面部识别方法使用从网页抓取的名人和公众人物(例如男演员、女演员、政治家和政治活动家)的公开图像来训练面部识别方法。然而,名人和公众人物的面部图像并不代表普通人的面部,因为许多名人具有独特的面部特征,且面部图像在上载到网络之前可能调整过,并且名人和公共人物通常被专业地拍摄。使用从网络抓取的名人和公众人物的面部图像来训练面部识别方法,会在名人和公共人物的面部图像的识别与普通人的识别之间产生不匹配。换言之,利用名人和公众人物的面部图像来训练面部识别方法,降低了在使用这些被训练后的方法来识别普通人的面部图像时这些面部识别方法的性能。在对象识别行业中工作的人们寻求这样的对象识别方法和系统:其要求少得多的图像数据,并且避免利用诸如名人和公众人物的面部图像之类的库存图像来进行训练。
附图说明
图1示出了对象识别系统的示例;
图2示出了执行用于面部识别的高效方法的计算机系统的示例;
图3示出了由图1中所示的摄像机生成的视频流的五个连续视频帧的示例序列;
图4示出了使用面部检测在视频帧中捕获的三个人的面部图像;
图5示出了在五个连续视频帧的每个视频帧中检测到的面部图像的示例;
图6示出了视频帧序列的第一视频帧和三个人的面部图像;
图7示出了图5的视频帧序列中的面部跟踪的示例;
图8示出了跟踪的面部图像的三个序列的示例;
图9示出了在一段时间内收集的面部图像序列的示例组;
图10示出了从一组面部图像序列中随机选择的面部图像序列;
图11示出了由图8中所示的被裁剪的面部图像的像素形成的图像数据的示例;
图12示出了锚定面部图像、正面部图像和负面部图像以及相关联的锚定面部图像数据、正面部图像数据和负图像数据的示例;
图13示出了示例神经网络;
图14示出了分别输入到同一训练神经网络的一组面部图像三元组;
图15示出了对象识别方法的控制流程图;
图16示出了在图15中调用的例程"从视频流形成对象图像序列"的控制流程图;
图17示出了在图15中调用的例程"重新训练神经网络"的控制流程图。
具体实施方式
本文描述的对象识别方法和系统使用在对象识别方法或系统的实际操作期间收集的对象图像数据来训练现有的神经网络。对象识别处理和系统消除了对大的被标记图像数据集合的需要,这些大的标记图像数据集合存储和维护起来昂贵并且构建起来耗时。神经网络初始地利用库存图像来训练。本文描述的对象识别方法和系统以无监督学习进一步改进了这些神经网络。与典型的对象识别方法不同,该对象识别方法和系统也是自学习的,且与现有的对象识别方法不同,适应于本地人群并随时间而改进。
在以下讨论中,参考应用于受训以用于使用视频流的面部识别的神经网络的无监督学习来描述对象识别方法和系统。然而,同样的这些对象识别方法和系统不限于应用于被配置为从视频流识别个体人脸的神经网络的无监督学习,还可以用于执行应用于被配置为识别特定类型的对象的任何神经网络的无监督学习。例如,记录在视频流中的对象可以是不同种类的动物(例如,不同种类的狗、不同种类的猫、不同种类的马等),也可以是汽车、自行车和摩托车的模型。对象识别方法和系统重新训练神经网络以识别特定的人、狗、猫或特定的机动车辆。
图1示出了对象识别系统100的示例。对象识别系统100包括计算机系统102、连接的数据存储设备104、以及两个摄像机106和108。在图1的示例中,摄像机106和108分别位于门口110和112上方,以记录人的视频流,特别是向门口移动的人的脸的视频流。在图1和随后的图中,使用不同阴影的圆圈来区分独特的个体。例如,图1示出了接近门口110的三个人114-116。三个人114-116通过不同的头部阴影图案来区分。在随后的图中还使用不同的阴影图案来区分由摄像机捕获的视频中的不同面部。视频流被发送到计算机系统102并被记录在数据存储设备104中。例如,摄像机106和108可以位于同一建筑物的不同入口处的门口上方,以记录进入该建筑物的人的单独视频流。替代性地,摄像机106和108可以位于不同位置(例如两个不同的城市或两个不同的国家)的两个建筑物的入口处的门口上方。对象识别系统不限于两个摄像机。在其他实施方式中,对象识别系统100可以具有从单个摄像机到多达十个或更多个摄像机的任意数量的摄像机,每个摄像机向计算机系统102发送单独的视频流,其中每个视频流被记录在数据存储设备104中。
图2示出了执行用于面部识别的有效方法的计算机系统的示例。许多小型、中型和大型计算机系统的内部组件以及专用的基于处理器的存储系统可以用该通用架构来描述,尽管每个特定系统可以以许多附加组件、子系统以及具有类似于该架构的架构的类似和并行的系统为特征。计算机系统包含一个或多个中央处理单元("CPU")202-205、通过CPU/存储器子系统总线210或多个总线与CPU互连的一个或多个电子存储器208、将CPU/存储器子系统总线210与附加总线214和216互连的第一桥212、或包括多个高速串行互联的其它类型的高速互连介质。总线或串行互连又将CPU和存储器与诸如图形处理器218的专用处理器以及与一个或多个附加桥220连接。而一个或多个附加桥220与高速串行链路或与诸如控制器227的多个控制器222-227互连。控制器222-227提供对各种不同类型的计算机可读介质的访问,诸如计算机可读介质228、电子显示器、输入组件、输入组件和其它计算资源。电子显示器(包括视觉显示屏、音频扬声器和其它输出接口)和输入设备(包括鼠标、键盘、触摸屏和其它这样的输入接口)一起构成允许计算机系统与人类用户交互的输入和输出接口。计算机可读介质228是数据存储设备,包括电子存储器、光或磁盘驱动器、USB驱动器、闪存和其他这样的数据存储设备。计算机可读介质228可以用于存储对上述计算方法的模块和例程进行编码的机器可读指令,并且可以用于在存储操作期间存储编码数据,并且在读取操作期间,可以通过计算机系统、数据存储系统和外围设备从该机器可读指令检索编码数据。
回到图1,摄像机106和108可以在白天的不同时间被激活,以记录通过门口110和112的人的视频流,例如在高峰时间段期间。每个视频流包括视频帧序列。每个视频帧捕获运动对象在某个时间点上的静止图像。图3示出了当三个人114-116接近门口110时由图1中的摄像机106生成的视频流的五个连续视频帧301-305的示例序列。图3包括由方向箭头306表示的时间线。每个视频帧具有时间戳。视频帧301是在时间t1捕获的远离门口的人114-116的静止图像,视频帧305是在稍后时间t5捕获的更接近门口的同一人114-116的静止图像。
在记录视频流一段时间之后,执行面部检测以隔离每个视频帧中的一个或多个面部图像。例如,可以使用利用Haar特征的Viola-Jones对象检测来确定视频帧序列的每个视频帧内的一个或多个面部图像。人脸具有类似的面部特征,诸如看起来很暗的眼睛区域、比眼睛区域更亮的鼻梁以及用于识别出现在同一视频帧中的不同人的面部的像素强度梯度。
图4示出了分别使用面部检测在视频帧301中捕获的三个人114-116的面部图像401-403。每个面部图像是由包围视频帧中每个人面部的矩形所勾勒的被裁剪面部图像。图4包括面部图像401-403的分解图。为了使面部检测正确地操作,整个面部指向摄像机的方向并且不应当倾斜远离摄像机。在图4的示例中,每个面部图像是指向摄像机的直立面部的完整正面视图。
图5示出了在五个连续视频帧301到305的每一视频帧中检测到的面部图像的实例。可以将面部跟踪应用于每个视频帧中的面部图像,以便为在视频流中捕获的每个人形成被跟踪面部序列。在一个实施例中,通过识别视频帧序列的第一视频帧的面部图像中的特征点来执行面部跟踪。
图6示出了视频帧序列的第一视频帧301和三个人114-116的面部图像401-403。每个特征点是面部图像中相邻像素之间的像素值发生重大变化之处的像素。例如,面部、鼻子、眼睛和嘴唇的边缘是面部图像中像素值发生重大变化的地方。每个特征点被识别为面部图像中的像素坐标。面部图像602表示具有由X标识的特征点的面部图像403,这些特征点对应于位于面部图像403中所示的人的面部、鼻子、眼睛和嘴唇的边缘处的像素。每个特征点是视频帧301中的像素坐标(xp,yp)。视频帧中的一个面部图像的特征点的集合,被预期为具有在下一视频帧中的面部图像之一的相似的特征点集合。因此,在面部图像602中识别的特征点形成一组特征点604,该组特征点604可用于识别下一视频帧中的哪个面部图像对应于同一人。
图7示出了如参照图5所描述的具有在每个视频帧中识别的面部图像的视频帧序列301-305。在一个实施例中,可以为每个视频帧中的每个面部图像确定一组特征点。例如,可以为视频帧302中的每个面部图像701-703确定一组特征点。面部图像701-703中最接近面部图像401-403中特征点集合的特征点集合被假定对应于同一人的面部图像。例如,面部图像403的特征点集合被预期为类似于面部图像703的特征点集合。结果,面部图像403和703被假定是同一人116的。在另一实施例中,视频帧可以在时间上足够接近,使得如果连续视频帧中的两个面部图像中的一个的特征点至少有一部分位于另一个面部图像的边界内,则假定这两个面部图像都是同一个人的。例如,面部图像403的特征点的至少有一部分位于面部图像703的边界内,而不位于面部图像701和702的边界内。在另一实施例中,可以确定视频帧301的面部图像401-403的中心像素,并且可以确定下一个视频帧302的面部图像701-703的中心像素。计算面部图像401-403的中心像素与面部图像701-703的中心像素之间的距离。中心像素之间具有最短距离的两个面部图像假定是同一人的。例如,分别在连续视频帧301和302中的面部图像403和703的中心像素将具有最小距离,并且面部图像403和703是同一人116的连续面部图像。
不同图案的方向箭头,例如方向箭头704-706,表示对于视频帧序列301-305的人114-116的被跟踪面部图像序列。换句话说,每个被跟踪面部图像序列是同一人的面部图像。面部图像从每个视频帧中提取,并且作为被跟踪面部图像的单独序列而单独地存储在数据存储设备中。
图8示出了跟踪的被裁剪面部图像的三个序列的示例。被裁剪面部图像801-805表示从视频帧301-305提取的人114的面部图像序列。被裁剪面部图像806-810表示从视频帧301-305提取的人115的面部图像序列。被裁剪面部图像811-815表示从视频帧301-305提取的人116的面部图像序列。
面部图像序列可以由在相同时间段内捕获的人的视频流形成,但是来自于在不同位置处的摄像机,比如在相同时间段内在同一建筑物的不同门口处或在不同地理位置处的建筑物的门口处记录的人的视频流。基于记录所裁剪的面部图像的时间段或物理距离来选择一组面部图像序列。因而,从在不同位置处和在相同时间段期间捕获的视频流中裁剪得到的面部图像序列确保每个面部图像序列与唯一的个体相关联。例如,在同一视频帧中捕获的两个面部对应于两个不同的人,或者在不同位置处的在几乎相同时间记录下的两个不同视频流的视频帧里所捕获的两个面部,也对应于两个不同的人。
图9示出了为九个人在相同时间段上收集的面部图像序列的示例组。方向箭头902表示时间轴。在相同的时间段[t1,tN]从三个不同的视频流中提取面部图像序列。虚线矩形904-906包含利用位于不同位置的三个不同摄像机捕获的三个不同视频流的面部图像序列。例如,被裁剪面部图像908-913表示从在一个位置处的摄像机捕获的视频流中提取的第一面部图像序列,而被裁剪面部图像914-919表示从在第二位置处的摄像机捕获的视频流中提取的第二面部图像序列。因为面部图像序列在相同的时间段上但是在不同的位置被记录,所以每个面部图像序列对应于唯一的人。
从面部图像序列组中随机选择面部图像序列。图10示出了已经从九个面部图像序列的组中随机选择的面部图像序列1002。
图11示出了由图8所示的五个面部图像序列的被裁剪面部图像811-815的像素形成的图像数据1101-1105的示例。以相同的方式从诸如三个相邻像素强度1106的像素强度形成每个图像数据集合。被裁剪面部图像811的图像数据表示成二维(单色)或三维(彩色)的向量/张量,标记为从随机选择的面部图像序列中随机选择面部图像并将其识别为"锚定面部图像"。锚定面部图像的图像数据表示成二维(单色)或三维(彩色)的向量/张量,标记为/>如下计算锚定面部图像/>和同一面部图像序列中的每个面部图像之间的距离:
其中:
J是面部图像序列中的面部图像的数量;以及
从面部图像序列组中随机选择负面部图像,但该负面部图像不属于正面部图像和锚定面部图像所属的面部图像序列。换言之,负面部图像是这样的人的:这个人不同于在锚定面部图像和正面部图像中捕获的人。负面部图像的图像数据表示为二维(单色)或三维(彩色)的向量/张量,标记为锚定面部图像、正面部图像和负面部图像的图像数据形成面部图像三元组,标记为/>
图12示出了锚定面部图像、正面部图像和负面部图像的示例。锚定面部图像和正面部图像1201和1202是从随机选择的面部图像序列获得的同一人的不同面部图像,而负面部图像1203是不同人的面部图像。锚定面部图像、正面部图像和负面部图像1201-1203一起是面部图像三元组。
对象识别方法和系统通过训练神经网络以使用被标记的面部图像数据集从面部图像中提取辨别特征开始。神经网络是一种计算建模技术,其在训练期间改变结构,并且可以用于对输入层和输出层之间的复杂关系进行建模。
图13示出了示例神经网络1300。神经网络1300包括输入层1302、多个隐藏层1304和输出层1306。输入层1302包括节点。输入层1302的每个节点对应于一个被裁剪面部图像的元素,表示为二维(单色)或三维(彩色)的向量/张量,标记为例如,被裁剪面部图像/>表示锚定面部图像/>正面部图像/>负面部图像/>或未识别的面部图像的图像数据。在神经网络的其它实施例中,对神经网络的输入可以是被裁剪面部图像/>的子采样版本。输出层1306包括由下式表示的特征向量:
其中:
ri表示第i个输出值,并且
M表示输出的数量。
隐藏层1304包括表示隐藏单元的节点,标记为ai。隐藏层1308包括对应于F个隐藏单元的F个节点,隐藏层1309包括对应于G个隐藏单元的G个节点,并且隐藏层1310包括对应于H个隐藏单元的H个节点,其中F、G和H是正整数。具有多于一个隐藏层的神经网络被称为深度神经网络。节点对由链路或边连接,比如链路1312表示标记为W'ji的权重。每个权重确定两个节点之间连接的强度和符号。隐藏层的数目可以大于两个,并且每个隐藏层中的节点的数目不受限制。应当注意,为了计算效率,可以选择隐藏层的数目和每个隐藏层中的节点的数目。
将诸如随机梯度下降的反向传播训练算法应用于神经网络。神经网络接收二维(单色)或三维(彩色)向量/张量作为输入,向前传播神经网络中每个层的结果直到最终层,产生特征向量。通过计算由下式给出的误差,将计算出的特征向量与期望的特征向量进行比较:
其中:
当误差大(例如大于阈值)时,计算出的特征向量与期望的特征向量显著不同,反之亦然。训练神经网络的目的是调整神经网络中的权重,使得计算出的特征向量尽可能接近期望的特征向量,从而使误差最小化。
用于训练对象识别系统的神经网络的反向传播算法在相反方向上进行,例如当从输入向量计算特征向量时。在倒推计算法中,反向传播算法基于计算出的特征向量与期望特征向量之间的差距来计算每个隐藏层的权重的梯度以改变权重。以逐个隐藏层的方式进行,可以系统地计算用于调整神经网络的权重的一组完整梯度。然后,通常利用相同的调整将这组梯度应用于权重,例如减慢变化率并防止训练方法期间的振荡。在并行对象识别系统中,可以使用神经网络的多个副本来评估不同的输入图像数据、期望的特征向量以及成对的输入图像与特征向量。每对输入图像与特征向量产生稍后聚集的不同的梯度集合,例如通过对相应梯度进行平均,在更新神经网络并行对象识别系统的权重之前。
可使用为记录在视频流中的若干不同人而获得的面部图像三元组进行固定次数的迭代来训练神经网络1300。在另一实施例中,使用被标记的面部图像集合来初始地训练神经网络1300。基于三元组损失函数中的方差来监视和重新训练神经网络1300的性能,该三元组损失函数使锚定特征向量和正特征向量之间的距离以及最小化,而使锚定特征向量和负特征向量之间的距离最大化。为了确定何时得重新训练神经网络,将Q个面部图像三元组分别输入到神经网络,以便为记录在一个或多个视频流中的Q个不同人而获得相应的特征向量三元组,标记为/>其中下标q=1,2,…,Q。对于每一个特征向量三元组计算三元组损失函数如下:
其中:
α是一个常数;以及
对于Q个三元组损失函数计算三元组损失函数的平均值的方差如下:
其中:
是三元组损失函数的平均值。当为分别输入神经网络的Q个特征向量三元组计算的三元组损失函数的平均值的方差大于阈值时,如下:
Var(LF)>Th (6a)
则使用Q个面部图像三元组来重新训练神经网络。否则,当三元组损失函数的平均值的方差满足下面条件时,
Var(LF)≤Th (6b)
神经网络不进行重新训练。
图14示出了被单独输入到同一训练后神经网络1400的被裁剪面部图像的面部图像三元组的其中一组。神经网络1400已经被训练用于使用被标记的面部图像数据集合从面部图像中提取辨别特征。如参照图1到图12所述的,从一个或多个视频流确定了一组六个面部图像三元组。在图12的示例中,锚定面部图像、正面部图像和负面部图像被分别输入到神经网络1400以获得相应的锚定特征向量、正特征向量和负特征向量。图14还示出了为每个特征向量三元组计算的三元组损失函数。当三元组损失函数的平均值的方差大于由等式(6a)表示的阈值时,使用Q个面部图像三元组来重新训练神经网络。如果该训练导致三元组损失函数的平均值的方差满足等式(6b)给出的条件,则也可以利用基准测试来测试神经网络。如果神经网络的性能改进了,则用神经网络的最近受训的版本来更新神经网络的当前版本。否则,保留神经网络的当前版本。随着时间流逝,神经网络适应于在视频流中捕获的局部人群,并且识别精度自动地提高,而不需要人工干预(即,无监督学习)。对于前述的应用于神经网络的无监督学习,当新受训的网络在基准测试中表现出较低的性能时,保留先前版本的神经网络用于面部识别。
还应注意,训练神经网络可能会恶化神经网络的性能。对于前述应用于神经网络的无监督学习,新受训网络具有由增加到阈值以上的方差所证明的具有较低性能,则保留神经网络的先前版本。
基准包括被标记的面部图像的预定义数据集合,可用于客观地测量对象识别系统的精度。预定义的标记的面部图像数据集合可以是公开可用的行业标准基准。测量对象识别系统的准确性的一种方式是,将每个面部图像与面部图像数据集合中的所有其他图像进行比较,对于每一对返回是或否的答案。正确答案的平均分数的方差按前述等式(5b)计算,并且可以用作受训神经网络的精度的度量。例如,考虑一亿个面部的预定义的标记的面部图像数据集合。假设将二百个面部图像的特征向量分别输入到神经网络。该二百个面部图像来自于面部图像也在标记的面部图像数据集合中的人。当方差大于阈值时,如前述等式(11b)所述,对象识别系统的神经网络被重新训练。
在其他实施例中,视频流可以是对象,并且可以训练相应的神经网络以提取对象类型的辨别特征。可以以与前述获得面部图像序列相同的方式创建对象图像序列。例如,可以训练神经网络以提取机动车辆的各个模型的辨别特征,并且视频流可以是通过停车场的入口或在桥下的机动车辆的视频流。在该示例中,随机选择的对象图像序列的锚定图像和正图像是同一机动车辆的,而负图像是不同型号的机动车辆的。替代性地,可以训练神经网络以提取单个狗的辨别特征,并且视频流可以是不同的狗品种的。在该示例中,随机选择的对象图像序列的锚定图像和正图像是同一狗的,而负图像将是不同品种的狗的。
图15示出训练对象识别系统的方法的控制流程图。在框1501中,使用被标记的对象图像集合来初始地训练用于提取对象图像的辨别对象特征的神经网络。在框1502中,调用例程"从视频流形成对象图像序列"。在框1503中,选择在框1502中确定的一组对象图像序列。在框1504中,如参照图10-12所述的,为每一对象图像序列形成对象图像三元组。在框1505中,调用例程"重新训练神经网络",以使用对象图像序列的对象图像三元组来重新训练神经网络。然后,可以使用对象识别系统来执行使用一个或多个相机捕获的各个对象的对象识别。
图16示出了在图15的框1502中调用的例程"从视频流形成对象图像序列"的控制流程图。在框1601中,由不同位置的一个或多个摄像机生成的视频流在一段时间内被记录在数据存储设备中,如参照图1和图2所述的。以框1602开始的循环对于每个视频流重复由框1603-1607表示的计算操作。在框1603中,对视频流的每个视频帧执行对象检测以识别对象,诸如面部,如参照图4和图5所述的。在框1604中,执行对象图像提取以获得每一视频帧中的被裁剪对象图像,如参照图5所述的。在框1605中,如参照图6和图7所述的,将对象跟踪应用于对象图像。在框1606中,对于视频流中捕获的每个不同对象,如参照图8所述的形成对象图像序列。在决策框1607中,对另一视频流重复框1603-1606。
图17示出了在图15的框1505中调用的例程"重新训练神经网络"的控制流程图。以框1701开始的循环为每个对象图像三元组重复框1702-1703的计算操作。在框1702中,将对象图像三元组的锚定面部图像、正面部图像和负图像分别输入到神经网络中,以获得包括如参照图14所述的相应的锚定特征向量、正特征向量和负特征向量的特征向量三元组。在框1703中,从特征向量三元组计算三元组损失函数值,如参照等式(5a)所述的。在决策框1704中,为另一对象图像三元组重复由框1702和1703表示的计算操作。在框1705中,计算三元组损失函数值的平均值。在框1706中,如参照等式(5b)所述的来计算三元组损失函数值的平均值的方差。在决策框1707中,当三元组损失函数的平均值的方差大于阈值时,控制流向框1708。在框1708中,用对象图像序列的对象图像三元组来重新训练神经网络。
应当理解,提供所公开的实施例的前述描述,以使得本领域的任何技术人员都能够制造或使用本公开。对于本领域技术人员来说,对这些实施例的各种修改将是显而易见的,并且这里定义的一般原理都可以应用于其它实施例,而不脱离本公开的精神或范围。因此,本公开不旨在限于在此示出的实施例,而是要符合与在此公开的原理和新颖特征一致的最宽范围。
Claims (21)
1.一种训练对象识别系统的神经网络的方法,其存储在一个或多个数据存储设备中并且通过使用计算机系统的一个或多个处理器而被执行以训练对象识别系统的神经网络,该方法包括:
从所述一个或多个数据存储设备获取一个或多个视频流,每个视频流捕获一个或多个对象的一个或多个视图;
形成一个或多个对象图像序列,每个对象图像序列对应于所述一个或多个对象之一;
为每个对象图像序列形成对象图像三元组,该对象图像三元组包括锚定对象图像和同一对象的正对象图像以及不同对象的负对象图像;以及
使用所述对象图像序列的所述对象图像三元组来重新训练所述神经网络,包括:
对于每个对象图像三元组:
将所述对象图像三元组的所述锚定图像、正图像和负图像分别输入到所述神经网络中以获得相应的输出的锚定特征向量、正特征向量和负特征向量,
基于所述锚定特征向量、正特征向量和负特征向量来计算三元组损失函数值,以及
计算所述三元组损失函数的方差;以及
当所述三元组损失函数的所述方差大于阈值时,使用所述对象图像序列的所述锚定特征向量、正特征向量和负特征向量来重新训练所述神经网络。
2.根据权利要求1所述的方法,还包括使用一个或多个摄像机在相同时间段内捕获所述一个或多个视频流,每个摄像机在不同位置处捕获所述一个或多个对象的视图。
3.根据权利要求1所述的方法,其中形成所述一个或多个对象图像序列包括为每个视频流:
使用对象检测来识别所述视频流的每个视频帧中的对象;
执行对象跟踪以从所述视频流的一个视频帧到所述视频流的下一个视频帧跟踪在所述视频流中捕获的每个对象;
对于在所述视频流中捕获的每个对象,使用对象图像提取以从所述视频流的每个视频帧提取被裁剪对象图像;以及
为在所述视频流中捕获的每个对象从所提取的对象图像形成被裁剪对象图像序列。
4.根据权利要求1所述的方法,其中为每一个所述一个或多个对象图像序列形成所述对象图像三元组包括:
为在所述对象图像序列中捕获的每个对象形成被裁剪对象图像;
从所述对象图像序列中随机选择被裁剪对象图像,所述随机选择的被裁剪对象图像是所述锚定对象图像;
计算所述锚定对象图像与所述对象图像序列的每个图像之间的距离;
将与所述锚定对象图像相距最大距离的所述对象图像序列中的图像识别为正对象图像;以及
从与所述对象图像序列中的所述对象不同的对象的对象图像形成负对象图像。
5.根据权利要求1所述的方法,还包括使用被标记的对象图像数据集来初始地训练所述神经网络。
6.根据权利要求1所述的方法,其中使用所述对象图像序列的所述三元组特征向量进行固定次数的迭代来重新训练所述神经网络。
7.根据权利要求5所述的方法,还包括:
将对象的对象图像输入到所述神经网络以获得相应的特征向量,所述对象的对象图像在所述被标记的对象图像数据集里;
计算正确匹配的平均分数作为所述对象识别系统的所述神经网络被执行的效果的度量;
计算所述正确匹配的平均分数的方差;以及
当所述正确匹配的平均分数的所述方差大于阈值时,使用所述被标记的对象图像数据集里的所述对象图像重新训练所述神经网络。
8.一种对象识别系统,所述系统包括:
一个或多个摄像机;
一个或多个处理器;
一个或多个数据存储设备;以及
机器可读指令,其存储在一个或多个数据存储设备中,当使用所述一个或多个处理器执行这些机器可读指令时控制所述系统执行以下操作以训练所述对象识别系统的神经网络:
使用所述一个或多个摄像机中的一个记录一个或多个视频流,每个视频流捕获一个或多个对象的视图;
形成一个或多个对象图像序列,每个对象图像序列对应于所述一个或多个对象中的一个;
为每个对象图像序列形成对象图像三元组,所述对象图像三元组包括锚定对象图像和同一对象的正对象图像以及不同对象的负对象图像;以及
使用所述对象图像序列的所述对象图像三元组来重新训练所述神经网络,包括:
对于每个对象图像三元组:
将所述对象图像三元组的所述锚定图像、正图像和负图像分别输入到所述神经网络中以获得相应的输出的锚定特征向量、正特征向量和负特征向量,
基于所述锚定特征向量、正特征向量和负特征向量来计算三元组损失函数值,以及
计算所述三元组损失函数的方差;以及
当所述三元组损失函数的所述方差大于阈值时,使用所述对象图像序列的所述锚定特征向量、正特征向量和负特征向量来重新训练所述神经网络。
9.根据权利要求8所述的系统,还包括使用一个或多个摄像机在相同时间段内捕获所述一个或多个视频流,每个摄像机在不同位置处捕获所述一个或多个对象的视图。
10.根据权利要求8所述的系统,其中形成所述一个或多个对象图像序列包括对于每个视频流:
使用对象检测来识别所述视频流的每个视频帧中的对象;
执行对象跟踪以从所述视频流的一个视频帧到所述视频流的下一个视频帧跟踪在所述视频流中捕获的每个对象;
对于在所述视频流中捕获的每个对象,使用对象图像提取从所述视频流的每个视频帧提取被裁剪对象图像;以及
对于在所述视频流中捕获的每个对象,从所提取的对象图像形成被裁剪对象图像序列。
11.根据权利要求8所述的系统,其中为所述一个或多个对象图像序列中的每一个形成所述对象图像三元组包括:
为在所述对象图像序列中捕获的每个对象形成被裁剪对象图像;
从所述对象图像序列中随机选择被裁剪对象图像,所述被裁剪对象图像是所述锚定对象图像;
计算所述锚定对象图像与所述对象图像序列的每个图像之间的距离;
将与所述锚定对象图像相距最大距离的图像识别为正对象图像;以及
从与所述对象图像序列中的所述对象不同的对象的对象图像形成负对象图像。
12.根据权利要求8所述的系统,还包括使用被标记的对象图像数据集来初始地训练所述神经网络。
13.根据权利要求8所述的系统,其中使用所述对象图像序列的所述三元组特征向量进行固定次数的迭代来重新训练所述神经网络。
14.根据权利要求12所述的系统,还包括:
将对象的对象图像输入到所述神经网络以获得相应的特征向量,所述对象的对象图像在所述被标记的对象图像数据集里;
计算正确匹配的平均分数作为所述对象识别系统的所述神经网络被执行的效果的度量;
计算所述正确匹配的平均分数的方差;以及
当所述正确匹配的平均分数的所述方差大于阈值时,使用所述被标记的对象图像数据集里的所述对象图像重新训练所述神经网络。
15.一种用机器可读指令编码的非暂时性计算机可读介质,所述机器可读指令实现由计算机系统的一个或多个处理器执行的方法以执行以下操作以训练对象识别系统的神经网络:
从所述一个或多个数据存储设备检索一个或多个视频流,每个视频流捕获一个或多个对象的一个或多个视图;
形成一个或多个对象图像序列,每个对象图像序列对应于所述一个或多个对象中的一个;
为每个对象图像序列形成对象图像三元组,所述对象图像三元组包括锚定对象图像和同一的正对象图像以及不同对象的负对象图像;以及
使用所述对象图像序列的所述对象图像三元组来重新训练所述神经网络,包括:
对于每个对象图像三元组:
将所述对象图像三元组的所述锚定图像、正图像和负图像分别输入到所述神经网络中以获得相应的输出的锚定特征向量、正特征向量和负特征向量,
基于所述锚定特征向量、正特征向量和负特征向量来计算三元组损失函数值,以及
计算所述三元组损失函数的方差;以及
当所述三元组损失函数的所述方差大于阈值时,使用所述对象图像序列的所述锚定特征向量、正特征向量和负特征向量来重新训练所述神经网络。
16.根据权利要求15所述的介质,还包括使用一个或多个摄像机在相同时间段内捕获所述一个或多个视频流,每个摄像机在不同位置处捕获所述一个或多个对象的视图。
17.根据权利要求15所述的介质,其中形成所述一个或多个对象图像序列包括对于每个视频流:
使用对象检测来识别所述视频流的每个视频帧中的对象;
执行对象跟踪以从所述视频流的一个视频帧到所述视频流的下一个视频帧跟踪在所述视频流中捕获的每个对象;
对于在所述视频流中捕获的每个对象,使用对象图像提取从所述视频流的每个视频帧提取被裁剪对象图像;以及
对于在所述视频流中捕获的每个对象,从所提取的对象图像形成被裁剪对象图像序列。
18.根据权利要求15所述的介质,其中为所述一个或多个对象图像序列中的每一个形成所述对象图像三元组包括:
为在所述对象图像序列中捕获的每个对象形成被裁剪对象图像;
从所述对象图像序列中随机地选择被裁剪对象图像,所述被裁剪对象图像是所述锚定对象图像;
计算所述锚定对象图像与所述对象图像序列的每个图像之间的距离;
将与所述锚定对象图像相距最大距离的图像识别为所述正对象图像;以及
从与所述对象图像序列中的所述对象不同的对象的对象图像形成负对象图像。
19.根据权利要求15所述的介质,还包括使用被标记的对象图像数据集来初始地训练所述神经网络。
20.根据权利要求15所述的介质,其中使用所述对象图像序列的所述三元组特征向量进行固定次数的迭代来重新训练所述神经网络。
21.根据权利要求19所述的介质,还包括:
将对象的对象图像输入到所述神经网络以获得相应的特征向量,所述对象的对象图像在所述被标记的对象图像数据集里;
计算正确匹配的平均分数作为所述对象识别系统的所述神经网络被执行的效果的度量;
计算所述正确匹配的平均分数的方差;以及
当所述正确匹配的平均分数的所述方差大于阈值时,使用所述被标记的对象图像数据集里的所述对象图像重新训练所述神经网络。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762441488P | 2017-01-02 | 2017-01-02 | |
US62/441,488 | 2017-01-02 | ||
PCT/US2018/012079 WO2018126270A1 (en) | 2017-01-02 | 2018-01-02 | Unsupervised learning of object recognition methods and systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110235083A CN110235083A (zh) | 2019-09-13 |
CN110235083B true CN110235083B (zh) | 2023-06-30 |
Family
ID=62710802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880004421.8A Active CN110235083B (zh) | 2017-01-02 | 2018-01-02 | 对象识别方法和系统的无监督学习 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10963674B2 (zh) |
CN (1) | CN110235083B (zh) |
WO (1) | WO2018126270A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11615297B2 (en) | 2017-04-04 | 2023-03-28 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network compiler |
US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity in an artificial neural network |
US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network |
US11238334B2 (en) | 2017-04-04 | 2022-02-01 | Hailo Technologies Ltd. | System and method of input alignment for efficient vector operations in an artificial neural network |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US10755142B2 (en) * | 2017-09-05 | 2020-08-25 | Cognizant Technology Solutions U.S. Corporation | Automated and unsupervised generation of real-world training data |
WO2019206253A1 (en) * | 2018-04-27 | 2019-10-31 | Shanghai Truthvision Information Technology Co., Ltd. | Smart door system |
EP3598161A1 (de) * | 2018-07-18 | 2020-01-22 | Siemens Healthcare GmbH | Erzeugen von einstellungsparametern für eine magnetresonanztomographie-sequenz mittels eines bedingbar erzeugenden künstlichen neuronalen netzwerks |
CN109191369B (zh) | 2018-08-06 | 2023-05-05 | 三星电子(中国)研发中心 | 2d图片集转3d模型的方法、存储介质和装置 |
CN110858220A (zh) * | 2018-08-10 | 2020-03-03 | 阿里巴巴集团控股有限公司 | 确定图像特征的方法、装置、存储介质及处理器 |
US20210034945A1 (en) * | 2019-07-31 | 2021-02-04 | Walmart Apollo, Llc | Personalized complimentary item recommendations using sequential and triplet neural architecture |
US11321406B2 (en) | 2019-07-31 | 2022-05-03 | Walmart Apollo, Llc | Personalized ranking using deep attribute extraction and attentive user interest embeddings |
JP7318742B2 (ja) * | 2020-01-14 | 2023-08-01 | 日本電気株式会社 | 学習装置、顔認証システム、学習方法およびプログラム |
US11222258B2 (en) * | 2020-03-27 | 2022-01-11 | Google Llc | Load balancing for memory channel controllers |
US11221929B1 (en) | 2020-09-29 | 2022-01-11 | Hailo Technologies Ltd. | Data stream fault detection mechanism in an artificial neural network processor |
US11263077B1 (en) | 2020-09-29 | 2022-03-01 | Hailo Technologies Ltd. | Neural network intermediate results safety mechanism in an artificial neural network processor |
US11874900B2 (en) | 2020-09-29 | 2024-01-16 | Hailo Technologies Ltd. | Cluster interlayer safety mechanism in an artificial neural network processor |
US11237894B1 (en) | 2020-09-29 | 2022-02-01 | Hailo Technologies Ltd. | Layer control unit instruction addressing safety mechanism in an artificial neural network processor |
US11811421B2 (en) | 2020-09-29 | 2023-11-07 | Hailo Technologies Ltd. | Weights safety mechanism in an artificial neural network processor |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835901A (en) * | 1994-01-25 | 1998-11-10 | Martin Marietta Corporation | Perceptive system including a neural network |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429168B1 (en) * | 2009-12-15 | 2013-04-23 | Google Inc. | Learning semantic image similarity |
US8285058B2 (en) * | 2010-05-14 | 2012-10-09 | Palo Alto Research Center Incorporated | Learning image templates for content anchoring and data extraction |
EP2395478A1 (en) * | 2010-06-12 | 2011-12-14 | Toyota Motor Europe NV/SA | Monocular 3D pose estimation and tracking by detection |
GB2529435B (en) * | 2014-08-19 | 2020-09-02 | Apical Ltd | A Method of Generating A Framed Video Stream |
EP3796235B1 (en) * | 2014-12-17 | 2024-09-04 | Google LLC | Generating numeric embeddings of images |
US11080587B2 (en) * | 2015-02-06 | 2021-08-03 | Deepmind Technologies Limited | Recurrent neural networks for data item generation |
CN105512273A (zh) * | 2015-12-03 | 2016-04-20 | 中山大学 | 一种基于可变长深度哈希学习的图像检索方法 |
-
2018
- 2018-01-02 CN CN201880004421.8A patent/CN110235083B/zh active Active
- 2018-01-02 WO PCT/US2018/012079 patent/WO2018126270A1/en active Application Filing
- 2018-01-02 US US16/349,456 patent/US10963674B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835901A (en) * | 1994-01-25 | 1998-11-10 | Martin Marietta Corporation | Perceptive system including a neural network |
Also Published As
Publication number | Publication date |
---|---|
WO2018126270A1 (en) | 2018-07-05 |
US20200193141A1 (en) | 2020-06-18 |
CN110235083A (zh) | 2019-09-13 |
US10963674B2 (en) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110235083B (zh) | 对象识别方法和系统的无监督学习 | |
CN109670446B (zh) | 基于线性动态系统和深度网络的异常行为检测方法 | |
CN109543695B (zh) | 基于多尺度深度学习的泛密度人群计数方法 | |
CN111191667B (zh) | 基于多尺度生成对抗网络的人群计数方法 | |
US11023761B2 (en) | Accurate ROI extraction aided by object tracking | |
CN112580523A (zh) | 行为识别方法、装置、设备及存储介质 | |
CN108491766B (zh) | 一种端到端的基于深度决策森林的人群计数方法 | |
CN111027377B (zh) | 一种双流神经网络时序动作定位方法 | |
CN105095870A (zh) | 基于迁移学习的行人重识别方法 | |
Lu et al. | Multi-object detection method based on YOLO and ResNet hybrid networks | |
CN106650617A (zh) | 一种基于概率潜在语义分析的行人异常识别方法 | |
US12106541B2 (en) | Systems and methods for contrastive pretraining with video tracking supervision | |
CN113205002B (zh) | 非受限视频监控的低清人脸识别方法、装置、设备及介质 | |
CN106611156B (zh) | 一种自适应深度空间特征的行人识别方法和系统 | |
CN111488805A (zh) | 一种基于显著性特征提取的视频行为识别方法 | |
Hammam et al. | DeepPet: A pet animal tracking system in internet of things using deep neural networks | |
Barbu | An automatic face detection system for RGB images | |
Liu et al. | Real-time anomaly detection on surveillance video with two-stream spatio-temporal generative model | |
KR20210040604A (ko) | 행위 인식 방법 및 장치 | |
Anees et al. | Deep learning framework for density estimation of crowd videos | |
WO2022228325A1 (zh) | 行为检测方法、电子设备以及计算机可读存储介质 | |
Yu et al. | Pedestrian counting based on spatial and temporal analysis | |
Xu et al. | Unusual scene detection using distributed behaviour model and sparse representation | |
Saif et al. | Aggressive action estimation: a comprehensive review on neural network based human segmentation and action recognition | |
CN112446233A (zh) | 一种基于多时间尺度推理的动作识别方法及装置 |
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 |