掌桥专利:专业的专利平台
掌桥专利
首页

用于相机间个体及个体特性识别的系统和方法

文献发布时间:2023-06-19 09:23:00


用于相机间个体及个体特性识别的系统和方法

相关申请

本申请要求2018年3月13日提交的美国临时申请号62/642,578和2018年6月26日提交的美国临时申请号62/689,989的优先权。

技术领域

本发明涉及使用神经网络图像分析来识别个体及个体特性的方法。

背景技术

用于分类目的的常规卷积神经网络将图像作为输入,并且可生成包含各种分类的可能性的一维向量作为输出。这类传统分类可用于对不同类型的对象(例如,狗、猫、背包、飞机)进行分类,或者甚至可对一种类型的对象的子类型(例如,诸如德国牧羊犬、澳大利亚人牧牛犬、柯利牧羊犬的子类型或品种)进行分类。然而,常规的神经网络分类不能很好地适用于识别个体,而不是分类的成员。例如,在训练卷积神经网络以在某一对象X的N种类型之间进行区分之后,然后即使针对对象X的所有N种类型使用了良好的训练数据进行训练,所述网络也将对对象X的第(N+l)种类型不准确地分类。为了解决这个问题,可将N扩展到非常大的数目,但是随着N的增加,网络将变得更加难以训练。作为参考,当今的卷积神经网络可分类的分类/类型通常在50与几千个分类/类型之间。

因此,需要为识别个体而不是分类的问题提供技术解决方案的系统和方法,并且本申请公开了解决此需求的方面的实施例。

发明内容

描述了用于例如使用卷积神经网络来生成用于标识对象实例的哈希字符串的实施例。在某些实施例中,一种系统可接收包括一个或多个第一训练图像的第一训练包、所述一个或多个第一训练图像中描绘的对象实例的真实分类类别向量,以及所述一个或多个第一训练图像中描绘的所述对象实例的第一真实对象实例标识符。所述系统可接收一组第二哈希字符串,每个第二哈希字符串与第二真实对象实例标识符相关联,其中所述组第二哈希字符串是由所述卷积神经网络生成的。可通过使用哈希增强的损失函数,训练所述卷积神经网络以针对所述一个或多个第一训练图像发出对象分类向量和对象实例哈希字符串,其中所述哈希增强的损失函数包括分类器损失项目和哈希损失项目,使得所述分类器损失项目惩罚所述对象分类向量与所述真实分类类别向量之间的距离量,并且所述哈希损失项目惩罚所述对象实例哈希字符串与所述组第二哈希字符串中的任何一者之间的类似性,其中所述第一真实对象实例标识符与所述第二真实对象实例标识符不匹配,并且所述哈希项目惩罚所述对象哈希字符串与所述组第二哈希字符串中的任何一者之间的距离,其中所述第一真实对象实例标识符与所述第二真实对象实例标识符匹配。所述系统可接收描绘当前对象实例的一个或多个当前图像,并且由通过所述卷积神经网络对所述一个或多个当前图像进行操作的正推法来确定所述当前对象实例的所述对象分类向量和所述当前对象实例的所述对象哈希字符串。如果所述对象哈希字符串是已知的,则所述系统可使用所述对象哈希字符串从数据存储中获得所述当前对象实例的对象实例性质,并且如果所述对象哈希字符串是未知的,则将基于所述对象分类向量的分类提供到所述数据存储。

附图说明

图1描绘根据本发明的一些实施例的图像生成相机装置的示例性部件;

图2描绘根据本发明的一些实施例的关于神经网络的损失函数的图表;

图3是根据本发明的一些实施例的关于用于相机间个体及个体性质识别的系统的示例性过程的流程图;

图4描绘根据本发明的一些实施例的用于实时相机间个体及个体性质识别的示例性分布式系统的部件;

图5示出根据本发明的一些实施例的示例性计算系统的框图;

具体实施方式

描述了用于部署用于相机间个体及个体性质识别的系统的设备、计算机系统、计算机可读介质和方法的实施例。现代卷积神经网络可用于基于期望跟踪的各种部件来生成标识哈希字符串。这些哈希字符串的合并可用于形成主哈希,所述主哈希对于标识图像和视频中描绘的对象实例的期望特点和特性是有用的。如果安装了相机装置,使得每个相机装置具有监测区域的不同视野,则可生成与对象实例相对应的标识哈希字符串,使得无论相机的视点如何,相同的对象实例导致相同的标识哈希,如下面所讨论。

图1描绘图像生成相机装置100的示例性部件。相机装置100包括用于对装置100的环境进行成像的一个或多个图像传感器102。例如,图像传感器102可在相应传感器之间以一定间隔布置在装置100中,以便能够推断来自装置100的对象在装置100的环境中的深度。在某些实施例中,可收集来自定位在多个物理装置上的图像传感器102的对应信息,例如,以便有利于深度推断。图像传感器102可检测灰度(单通道)光信息、颜色(例如,生成三个或更多个颜色通道的RGB、HSV/HSB、HSL或YUV)或红外光信息。图像传感器102可能够提供4K分辨率图像(即,生成沿一维具有至少4,000像素的图像)或10K分辨率或更大分辨率图像。在某些实施例中,相机装置300可安装在地面上方固定高度处的固定位置处。与图像传感器102相关联的光学特性可包括,例如,传感器的分辨率、颜色检测配置文件、传感器相对于相机装置的其他传感器的位置、镜头性质(诸如广角镜头与常规镜头)、光信息的类型(红外、可见光等)、焦距、光圈等。

在某些实施例中,相机装置100可安装在移动对象(诸如人、车辆或无人机)上;在某些实施例中,相机装置100被固定在监测区域中的特定高度和x、y位置处的位置。

相机装置100可包括一个或多个相机装置处理器104。在某些实施例中,处理器104中的任何一个可以是用于计算神经网络推断计算的专用处理器,诸如卷积器处理器。在某些实施例中,处理器104是通用处理器。处理器104可与图像传感器102、通信模块106、其他传感器108、存储部件110以及电力系统和/或电池112通信。电力系统/电池112可与一个或多个端口114通信。

相机装置100可包括一个或多个其他传感器108,诸如用于监测热负荷或环境温度的温度传感器、加速计、麦克风等。通信模块106可包括蜂窝无线电、蓝牙无线电、ZigBee无线电、近场通信(NFC)无线电、无线局域网(WLAN)无线电、用户身份模块(SIM)卡、GPS接收器以及由它们各自使用的用于通过各种网络(诸如,远程通信网络或无线局域网)传达数据的天线。存储器110可包括一种或多种类型的计算机可读介质,诸如,RAM、光学存储装置或快闪存储器,并且可存储操作系统、应用程序、通信程序和基于由图像传感器102生成的数据进行推断的机器学习模型(例如,本地机器学习模型)。电力系统/电池112可包括电力管理系统、一个或多个电源,诸如,电池和充电系统、AC、DC、电力状态指示灯等。在某些实施例中,相机装置100的部件可被封闭在单个外壳116中。

图2描绘关于神经网络的损失函数的图表。所述图表包括神经网络204,所述神经网络204包括接收输入202(例如,图像数据)的连接节点206。神经网络生成输出208,所述输出208是通过对输入202进行操作的神经网络204的正推法的结果。输出202可包括包含N个元素的向量,所述向量是有关输入202是否描绘网络206被训练以识别的N个分类中的任何一者的预测。可训练这种神经网络206以使用损失函数210相对于N个分类对输入202进行分类。损失函数210限定表示网络206的预测有效性的错误量,所述错误量基于当前网络参数212,所述参数212包括权重和偏差,并且其中与由标记212限定的输入202的真实分类成员相比较,输出208包括预测。基于由损失函数210计算出的错误,使用反向传播来更新参数212,使得更新后的参数212对相同输入202进行操作导致错误减小的输出208。

可训练典型的卷积神经网络以对狗的各种品种(类型)进行分类。在训练之后,可假设网络参数212表示与狗的识别相关的某些特征。在某些实施例中,可非常规地修改这种卷积神经网络以另外地发出一定长度的字符串,所述字符串可用作用于标识品种或分类中的个体的哈希字符串。例如,可将网络修改为发出具有四个字符(例如,字符串落在“AAAA”至“ZZZZ”的范围内)的哈希字符串。然后,将利用哈希增强损失函数对网络进行训练,以针对每个唯一的个体发出唯一的哈希字符串。在哈希字符串长为四个字符,并且每个字符均选自26个字母{A、B……Z}的情况下,则网络可能够生成多达26^4=456,976个不同的哈希字符串,以标识456,976个不同的个体。术语“个体”是指分类的单个成员,诸如特定的德国牧羊犬(例如,名字为“Fido”的德国牧羊犬)。或更一般地,“对象”是视觉上可表示的项目类型,诸如人、武器、椅子、树木或建筑物。单个对象可称为“对象实例”。对象的实例可用合成域图像(例如,使用渲染引擎从图像内容的语义或高级描述生成的图像)或实域图像数据表示。在某些实施例中,实域图像是由图像传感器基于图像传感器的环境中的光信息生成的图像。在某些实施例中,实域图像是图像传感器的视野内的实际对象实例和/或图像传感器的视野内的环境的表示。与使用卷积神经网络的常规分类方法比,唯一哈希的数量规模要大得多,从而允许使用稳健的系统(例如,使用对象实例哈希字符串的系统)来识别图像或视频中的对象实例。

在某些实施例中,可从诸如图2所示的损失函数210的传统损失函数改编哈希增强的损失函数,以惩罚每个哈希字符串时隙(其中,时隙是哈希字符串的每个字符的字符串位置)的错误类别化。在对象实例的预测哈希字符串不保持一致的情况下,并且在没有两个不同的对象实例分享同一哈希字符串的情况下,则哈希增强的损失函数可惩罚错误。哈希增强的损失函数可包括限定以下各项的项目:(1)表示每个哈希字符时隙的错误、与预测值的距离(如果这是已被哈希的对象实例)以及(2)对错误的高乘子罚(如果哈希字符串与针对训练集中的另一个主题预测的哈希字符串冲突)。

图3是关于用于通过使用卷积神经网络生成用于标识对象实例的哈希字符串的相机间个体及个体性质识别的系统的示例性过程300的流程图。过程300包括以下步骤,其中系统接收包括一个或多个第一训练图像的第一训练包、所述一个或多个第一训练图像中描绘的对象实例的真实分类类别向量,以及所述一个或多个第一训练图像中描绘的所述对象实例的第一真实对象实例标识符(302)。真实分类类别向量可以是例如对象标记216的向量或列表(例如,如果所描绘的对象实例是德国牧羊犬,则向量可指示与分类类别德国牧羊犬对应的概率为1或布尔值为“真实”,并且与未描绘的分类类别(诸如盆栽植物和柯利牧羊犬)对应的概率为0。在某些实施例中,代替真实的分类类别向量,所述过程可使用另一种数据结构(诸如字典,例如{“类别”:“德国牧羊犬”})来标记训练包中的一个或多个对象实例。第一真实对象实例标识符可以是所描绘的个体的唯一ID,诸如社会保险号或先前已经分配给对象实例的唯一整数。在某些实施例中,一个或多个第一训练图像可对应于相机100的光学特性,并且每个训练包可包括相机100的每个图像传感器102的一个图像。

过程300包括以下步骤:其中系统接收一组第二哈希字符串,每个第二哈希字符串与第二真实对象实例标识符相关联,其中所述组第二哈希字符串是由所述卷积神经网络生成的(304)。所述组第二哈希字符串可表示与基于描绘对象实例的一个或多个输入图像已经生成的对象实例相对应的哈希字符串。例如,所述组第二哈希字符串可以是由所述卷积神经网络基于不包括所述第一训练包的第二组训练包而生成的哈希字符串。

过程300包括以下步骤:其中通过使用哈希增强的损失函数,训练所述系统的所述卷积神经网络以针对所述一个或多个第一训练图像发出对象分类向量和对象实例哈希字符串,其中所述哈希增强的损失函数包括分类器损失项目和哈希损失项目,使得所述分类器损失项目惩罚所述对象分类向量与所述真实分类类别向量(或一个或多个真实分类类别标记)之间的距离量,并且所述哈希损失项目惩罚所述对象实例哈希字符串与所述组第二哈希字符串中的任何一者之间的类似性,其中所述第一真实对象实例标识符与所述第二真实对象实例标识符不匹配,并且所述哈希项目惩罚所述对象哈希字符串与所述组第二哈希字符串中的任何一者之间的距离,其中所述第一真实对象实例标识符与所述第二真实对象实例标识符匹配(306)。

一旦已经使用训练数据和哈希增强的损失函数对卷积网络进行了训练,则可将卷积网络用于识别图像中的对象实例。过程300包括以下步骤:其中系统的部件接收描绘当前对象实例的一个或多个当前图像(308)。例如,一个或多个当前图像可由监测区域中的相机100生成。接下来,所述系统的部件(例如,相机装置100或远程服务器)可由通过所述卷积神经网络对所述一个或多个当前图像进行操作的正推法来确定所述当前对象实例的所述对象分类向量和所述当前对象实例的所述对象哈希字符串(310)。通过此步骤,可确定当前图像中描绘的对象实例的类型。接下来,如果所述对象哈希字符串是已知的或被识别的(312),则所述系统的所述部件可使用所述对象哈希字符串从数据存储中获得所述当前对象实例的对象实例性质(314)。在某些实施例中,用于编译对象实例性质(诸如名称、地址、牌照、对象实例类型等)的数据存储可以是部件的本地存储或远程存储。如果对象哈希字符串是未知的或未被识别的,则所描绘的对象实例可以是新的无法识别的对象实例,并且因此可将新的哈希字符串(对象哈希字符串)和任何其他标识的性质(诸如对象类型分类)提供到数据存储(308)。

在某些实施例中,可训练所述卷积神经网络以针对对象实例发出多个哈希字符串。这些多个哈希字符串可表示对象实例的不同方面,并且可被串级或收集到然后可将其分解为各种方面的哈希字符串的主哈希字符串中。例如,某些哈希字符串可表示静态或改变缓慢的性质(例如,人类的脸、种族或车辆的车身结构或物理外观),而其他哈希字符串可表示对象实例(例如,诸如盗窃、受伤或更频繁改变的外观(诸如人类的衣服、步态或配饰)的事件)的动态性质。在某些实施例中,表示给定对象实例性质的动态哈希字符串可期望在指定间隔内改变。例如,一个人的衣服可能每天都在改变,而一个人的步态可能根据这个人是跑步还是走路以及这个人是否受伤而改变。可独立训练表示某一性质的每个哈希字符串。动态哈希字符串可表示可与不只一个对象实例(例如,哈希字符串分别表示波乐帽、手套或眼镜)相关联的特定性质。

图4描绘用于实时相机间个体及个体性质识别的示例性分布式系统400的示例性数据流和部件。在某些实施例中,相机装置100的集合被放置在监测区域404(例如,目标内容或相机装置100的环境的可能位置)内。相机装置100可通过有线或无线通信信道向网关装置406提供推断的通知或输出,并且可通过那些信道接收对相机装置的本地机器学习模型的更新。网络408表示远程通信网络、有线或无线局域网或互联网。在某些实施例中,相机装置300可在没有网关装置406的情况下连接到网络408。在某些实施例中,报告系统414在托管服务器416(诸如,HTTP服务器)的云服务或一个或多个计算装置和可基于检测到的事件或基于相机装置100处的推断发起某些动作(例如,将报告发送到客户端装置)的应用程序420上运行。例如,可将限定的动作和/或用户账户信息存储在数据存储422中。应用程序420可支持提供对用于访问数据存储422的方法的外部访问的应用程序编程接口(API)418。在某些实施例中,运行在用户装置412或其他客户端装置上的客户端应用可使用诸如HTTP或FTP的协议通过服务器416访问API 418,以便例如查看训练系统用户界面或报告系统用户界面等。

系统400可用于通过通由第一相机装置100生成对象实例哈希字符串,并将该哈希字符串例如通过网关406、报告系统414或相机装置100之间的直接无线数据连接传达给第二(或更多)相机装置100来跟踪相机装置100上的对象实例。在一个实例中,如果由系统400跟踪如由通过所述系统与车辆相关联的特定视觉签名(例如,哈希)指定的特定车辆,并且所述车辆的牌照在第一相机100的视野中可见,但在第二相机100的视野中被遮挡,则第二相机100可从将车辆对象实例与牌照相关联的系统的另一个部件接收车辆的对象实例哈希字符串,并且因此可在两个相机的视野内(可能在不同的时间点处)将车辆标识为具有相同牌照的同一车辆,即使牌照对于第二相机是不可见的。

图5是示出表示本文所讨论的计算机系统或电子装置的任一者的示例性计算系统500的框图。注意,并非所有的各种计算机系统都具有系统500的所有特征。例如,系统可不包括显示器,因为显示功能可由通信地耦接到计算机系统的客户端计算机提供,或者显示功能可能是不必要的。

系统500包括总线2506或用于传达信息的其他通信机制,以及与总线2506耦接的用于处理信息的一个或多个处理器2504。计算机系统500还包括耦接到总线2506的用于存储将由处理器2504执行的信息和指令的主存储器2502,诸如随机存取存储器或其他动态存储装置。主存储器2502还可用于在执行将由处理器2504执行的指令期间,存储临时变量或其他中间信息。

系统500还可包括只读存储器2508或耦接到总线2506的用于为处理器2504存储静态信息和指令的其他静态存储装置。提供了存储装置2510(其可以是硬盘、基于快闪存储器的存储介质、磁带或其他磁存储介质、光盘(CD)-ROM、数字通用光盘(DVD)-ROM,或其他光学存储介质,或处理器2504可从中读取的任何其他存储介质中的一者或多者),并且所述存储装置2510耦接到总线2506,以用于存储信息和指令(例如,操作系统、应用程序等)。

计算机系统500可通过总线2506耦接到显示器2512以将信息显示给计算机用户。诸如键盘2514、鼠标2516或其他输入装置2518的输入装置可耦接到总线2506,以用于将信息和命令选择传达给处理器2504。通信/网络部件2520可包括网络适配器(例如,以太网卡)、蜂窝无线电、蓝牙无线电、NFC无线电、GPS接收器,以及各自用于通过各种网络(诸如,远程通信网络或LAN)传达数据的天线。

本文所提及的过程可由处理器2504执行包含在主存储器2502中的计算机可读指令的适当序列来实现。可从诸如存储装置2510的另一计算机可读介质将此类指令读入主存储器2502中,并且执行包含在主存储器2502中的指令的序列致使处理器2504执行相关联的动作。在替代实施例中,可使用硬连线电路或固件控制的处理单元(例如,现场可编程门阵列)来代替处理器2504及其相关联的计算机软件指令或与之组合以实现本发明。可以任何计算机语言来呈现计算机可读指令,所述计算机语言包括但不限于:Python、Objective C、C#、C/C++、Java、Javascript、汇编语言、标示语言(例如HTML、XML)等。通常,所有上述术语意在涵盖为实现给定目的而按序列执行的任何一系列逻辑步骤,这是任何计算机可执行应用程序的标志。除非另外特别指出,应当了解,在本发明的整个描述中,诸如“处理”、“运算”、“计算”、“确定”、“显示”、“接收”、“传输”等术语的使用是指适当编程的计算机系统(诸如计算机系统500)或类似的电子计算装置的动作和过程,所述系统或装置操纵其寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据转变成其存储器或寄存器或者其他此类信息存储、传输或显示装置内的类似地表示为物理量的其他数据。

尽管已经示出和描述了优选实施例,但是应当理解,并不旨在通过这种公开来限制本发明,而是旨在覆盖落入本发明的精神和范围内的所有修改和替代构造。

相关技术
  • 用于相机间个体及个体特性识别的系统和方法
  • 利用面部辨识来识别个体的特性并且为该个体提供一个显示
技术分类

06120112145774