一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

匿名重识别的装置、系统及方法与流程

2022-03-31 11:03:38 来源:中国专利 TAG:


1.本发明的示例涉及一种匿名重识别(简称:re-id)的概念,更具体地但不排 他地,涉及用于执行匿名重识别以及用于训练在匿名重识别中使用的机器学习 模型的系统、装置、方法以及计算机程序。


背景技术:

2.与寻求确定人的绝对身份(通常从面部特征确定)的识别系统相比,视觉 人员重识别系统的目的是仅从人的外表来对他们进行区分或重识别。例如,在 系统中使用重识别可能源于对所有相关人员的实际身份缺乏先验知识,但重识 别的使用也可能是由于外部强制执行的隐私政策。


技术实现要素:

3.本公开的各种示例基于以下发现:如果给定的重识别代码与人的绝对身份 相关联并且该重识别代码随时间和/或位置保持不变,则一些重识别系统可能被 追溯性地滥用。因此,可能需要额外的努力(例如使用强保护及封闭的系统) 来安全地存储和传输所述重识别代码,而这可能导致额外的实施复杂性,尤其 是在具有许多摄像头的系统中,其中所述重识别代码被传输至中央服务器以进 行重识别。也可能为了将来的分析存储所述重识别代码。然后,可以使用基于 图论的合适算法(如匈牙利算法)来进行人员的精确匹配。
4.其他方法通常不将隐私问题或匿名化的处理集成到重识别过程本身中。相 反,所分配的信息可能不是匿名的,因此可能始终需要上述额外的努力来安全 地处理数据,因为该数据可能被用于(不希望出现的)识别。这种约束通常会 导致进行额外的工程努力,以使整个系统保持安全和合规。
5.本公开的各种示例通过提供一种匿名重识别的概念来解决这些挑战,该匿 名重识别的概念基于“通过设计保护隐私”(privacy by design)的范式。
6.本公开的各种示例涉及一种用于(匿名)重识别的装置。所述装置包括被 配置为经由接口获得媒体数据的处理电路。所述处理电路被配置为使用散列(哈 希)算法生成表示所述媒体数据的至少一部分的重识别代码。处理电路被配置 为使用变换功能对重识别代码进行变换来获得变换后的重识别代码。变换功能 被配置为对重识别代码进行变换,使得如果重识别代码根据相似度度量类似于 由散列算法生成的另一重识别代码,则变换后的重识别代码类似于作为该另一 重识别代码的变换版本的另一变换后的重识别代码。变换功能被配置为基于变 换参数对重识别代码进行变换,其中变换参数取决于时间和/或位置。处理电路 被配置为提供变换后的重识别代码。通过对所述重识别代码进行变换,可以充 分地改变重识别代码以阻碍跨时间和/或位置的人员跟踪,同时维持针对来自相 同时段或相同位置的重识别代码的重识别功能。因此,所得到的变换后的重识 别代码变得显著不易于追溯识别,因此可以更轻松地对其进行存储。
7.在各种示例中,所述变换参数取决于时间。所述处理电路可以被配置为根 据预定
义的时程表来适配所述变换参数。通过根据预定义的时程表来适配(即 改变)所述变换参数,可以使跨时间的人员跟踪变得不可能。
8.例如,所述处理电路可以被配置为在适配所述变换参数之后删除先前使用 的变换参数。在没有所述变换参数的情况下,原始的重识别代码可能不可恢复。
9.在一些示例中,使用变换参数之间的逐渐过渡。例如,所述处理电路可以 被配置为针对两个时间点生成两个变换参数。所述处理电路可以被配置为基于 两个变换参数之间的线性内插在所述两个时间点之间逐渐适配所述变换参数。 通过所述逐渐适配,重识别代码的匹配可以仅在整个滑动时间窗口中是可能的。
10.在各种示例中,所述变换参数源自密码类秘密。通过使用密码类秘密作为 所述变换参数的基础,可以阻止恶意行为者对所述变换参数的恢复。而且,密 码类秘密可用于驱动变换参数序列,从而不需要使用所述装置来将所述变换参 数分配到设备。
11.所述变换功能可以被配置为基于所述变换参数执行所述重识别代码的线性 变换。线性变换可以提供低实施复杂度的重识别代码变换。
12.在一些实施方案中,所述变换功能被配置为使用旋转矩阵来对所述重识别 代码进行变换。所述旋转矩阵基于所述变换参数。例如,所述旋转矩阵的元素 可以基于源自所述变换参数的伪随机数。基于旋转矩阵的变换满足在变换后的 重识别代码中保持所述重识别功能所需的所谓“等价类保持(equivalence classpreserving)”特性。
13.在一些示例中,可以选择非线性变换来代替线性变换。换句话说,所述变 换功能可以被配置为执行所述重识别代码的非线性变换。非线性变换可以提供 甚至更高级别的安全性,尽管以实施复杂性和可验证性为代价。例如,所述变 换功能可以被配置为使用机器学习模型执行所述非线性变换。换句话说,所述 机器学习模型可用于执行所述重识别代码的非线性变换。
14.重识别系统可与各种类型的媒体一起使用。除了人的图像数据之外,重识 别系统还可以应用于车辆或动物的图像,或者可以一起使用其它类型的媒体。 例如,媒体数据可以是图像数据、视频数据、音频数据、物体运动的三维表示 以及基于文本的媒体数据之一。这些类型的媒体可以与合适的重识别系统和散 列算法一起使用。
15.本公开的各种示例可用于人、车辆、动物等的视频监视和/或跟踪。例如, 所述处理电路可以被配置为从摄像头的成像传感器获得所述媒体数据。在这种 情况下,所述媒体数据可以是图像数据和视频数据之一。例如,所述装置可以 与所述成像传感器共处一地,或者可以将所述媒体数据提供给为多于一个摄像 头生成重识别代码并对该重识别代码进行变换的装置。例如,本公开的各种示 例提供了一种包括成像传感器的摄像头设备以及所述装置。
16.如上所述,在一些示例中,所述装置可以与多于一个摄像头一起使用,或 者更一般而言,与多于一个媒体数据生成设备一起使用。在这种情况下,所述 装置可以经由(计算机)网络访问,并且用于为多于一个媒体数据生成设备生 成重识别代码并对该重识别代码进行变换。换句话说,所述处理电路可以被配 置为经由网络从一个或多个媒体数据生成设备获得所述媒体数据。
17.如上面所指出的,所述变换参数可以取决于设备的位置。如果基于网络的 装置与位于不同位置的媒体数据生成设备一起使用,则相应地,可以使用不同 的变换参数。换句
话说,所述处理电路可以被配置为从位于不同位置的两个或 更多个媒体数据生成设备获得所述媒体数据。所述处理电路可以被配置为针对 位于不同位置的两个或更多个媒体数据生成设备使用不同的变换参数来执行变 换。因此,由变换后的重识别代码表征的对象可能无法跨位置跟踪(取决于所 述变换参数的配置)。
18.类似于变换参数基于时间的逐渐适配,也可以在位置之间逐渐执行逐渐适 配,例如以便使得能够在来自相邻位置的摄像头而不是来自更远位置的摄像头 的图像之间进行重识别。例如,所述处理电路可以被配置为从位于不同位置的 第一、第二和第三媒体数据生成设备(例如摄像头)获得所述媒体数据,其中 所述第二媒体数据生成设备位于所述第一媒体数据生成设备和所述第三媒体数 据生成设备之间。所述处理电路可以被配置为基于针对从所述第一媒体数据生 成设备和所述第三媒体数据生成设备获得的媒体数据的变换参数之间的线性内 插,生成用于从所述第二媒体数据生成设备获得的媒体数据的变换参数。因此, 可以在第一和第二媒体数据生成设备的变换后的重识别代码之间以及在第二和 第三媒体数据生成设备的变换后的重识别代码之间进行重识别,但不能在第一 和第三媒体数据生成设备的变换后的重识别代码之间进行重识别。
19.在各种示例中,所述处理电路被配置为向数据库(例如可由多个设备经由 定义的接口访问的数据库)提供所述变换后的重识别代码。例如,多个装置可 以被配置为向所述数据库提供所述多个装置生成的变换后的重识别代码。例如, 可以由访问所述数据库的评估设备执行实际的重识别。
20.所述处理电路可以被配置为使用机器学习模型来生成所述重识别代码。有 多种框架可用于使用机器学习技术来生成重识别代码。
21.通常,所述变换功能可以被配置为对所述重识别代码进行变换,使得所述 重识别代码和所述另一重识别代码之间的相似度水平等同于所述变换后的重识 别代码和所述另一变换后的重识别代码之间的相似度水平,所述相似度水平基 于所述相似度度量。换句话说,可以执行所述变换,使得随后的重识别不偏斜, 并且满足所述等价类保持特性。
22.本公开的各种示例涉及一种用于重识别的相应方法。所述方法包括获得媒 体数据(例如经由接口)。所述方法包括使用散列算法生成表示所述媒体数据的 至少一部分的重识别代码。所述方法包括使用变换功能对所述重识别代码进行 变换来获得变换后的重识别代码。所述变换功能对所述重识别代码进行变换, 使得如果所述重识别代码根据相似度度量类似于由散列算法生成的另一重识别 代码,则所述变换后的重识别代码类似于作为所述另一重识别代码的变换版本 的另一变换后的重识别代码。所述变换功能基于变换参数对所述重识别代码进 行变换。所述变换参数取决于时间和/或位置。所述方法包括提供所述变换后的 重识别代码(例如经由所述接口)。
23.在一些实施方案中,例如在封闭系统中,可以放弃所述变换参数基于时间 或基于位置的适配。在这种情况下,可以使用用于生成变换后的重识别代码的 以下装置。通常,所述装置可与先前呈现的装置共享一个或多个特征。所述装 置包括被配置为经由接口获得媒体数据的处理电路。所述处理电路被配置为使 用散列算法生成表示所述媒体数据的至少一部分的重识别代码。所述处理电路 被配置为使用保持相似度的变换功能对所述重识别代码进行变换来获得所述变 换后的重识别代码。处理电路被配置为提供变换后的重识别代码。
24.示例还提供了用于生成变换后的重识别代码的相应方法。所述方法包括获 得媒体数据(例如经由接口)。所述方法包括使用散列算法生成表示所述媒体数 据的至少一部分的重识别代码。所述方法包括使用保持相似度的变换功能对所 述重识别代码进行变换来获得所述变换后的重识别代码。所述方法包括提供所 述变换后的重识别代码(例如经由所述接口)。
25.本公开的各种示例还提供了一种系统,该系统包括用于重识别的两个或更 多个装置或用于生成变换后的重识别代码的两个或更多个装置。当处理两个或 更多个装置时,基于时间或位置的变换因子变得越来越相关。
26.如上面所述的,所述变换参数可以取决于时间。例如,所述两个或更多个 装置可以被配置为在相同时间使用相同的变换参数。通过在相同时间使用相同 的变换参数,可以跨所述两个或更多个装置的变换后的重识别代码执行重识别, 尽管(仅)针对在相同时间生成的变换后的重识别代码。
27.在一些其他示例中,所述变换参数可以取决于位置。所述两个或更多个装 置可以被配置为处理源自两个或更多个位置的媒体数据,并且对源自所述两个 或更多个位置的媒体数据使用不同的变换参数。因此,可以有目的地限制跨不 同位置的重识别。
28.本公开的各种示例提供了一种系统,该系统包括用于重识别的至少一个装 置或用于生成变换后的重识别代码的至少一个装置以及评估设备。所述评估设 备被配置为从所述至少一个装置获得变换后的重识别代码,并且根据所述相似 度度量比较由所述至少一个装置提供的所述变换后的重识别代码。因此,基于 所述变换后的重识别代码的所述重识别可以由单独的实体执行。
29.如上所述,在一些情况下,可以使用非线性变换来对重识别代码进行变换, 该变换可以基于机器学习模型。在下文中,提出了用于训练这种机器学习模型 的方法和装置。所述方法包括获得用于训练所述机器学习模型的训练数据。训 练数据至少包括多个重识别代码。所述方法包括使用所述训练数据来训练所述 机器学习模型。对机器学习模型进行训练,以将多个重识别代码非线性变换为 多个变换后的重识别代码,使得如果重识别代码根据相似度度量类似于另一重 识别代码,则变换后的重识别代码类似于作为该另一重识别代码的变换版本的 另一变换后的重识别代码。
30.用于训练机器学习模型的相应装置包括被配置为获得用于训练所述机器学 习模型的训练数据的处理电路。训练数据至少包括多个重识别代码。处理电路 被配置为使用训练数据来训练机器学习模型。对所述机器学习模型进行训练, 以将所述多个重识别代码非线性变换为多个变换后的重识别代码,使得如果重 识别代码根据相似度度量类似于另一重识别代码,则所述变换后的重识别代码 类似于作为所述另一重识别代码的变换版本的另一变换后的重识别代码。
31.在一些情况下,对于(原始)重识别代码的变换和生成,都可以采用机器 学习模型。联合训练两个机器学习模型可能是有益的。换句话说,可以使用另 一机器学习模型基于媒体数据来生成所述多个识别代码。所述处理电路可以被 配置为联合训练所述机器学习模型和所述另一机器学习模型。
32.本公开的示例还提供了一种具有程序代码的计算机程序,当该计算机程序 在计算机、处理器或可编程硬件部件上执行时,所述程序代码执行上述方法中 的至少一个。
附图说明
33.下面将仅通过示例的方式并参照附图来描述装置和/或方法的一些示例,其 中,
34.图1示出了重识别系统的示意图;
35.图2a和图2b示出了用于重识别的装置或用于生成变换后的重识别代码的 装置的示例的示意性框图;
36.图2c和图2d示出了用于重识别的方法或用于生成变换后的重识别代码的 方法的示例的流程图;
37.图3a和图3b示出了包括用于重识别的至少一个装置或用于生成变换后的 重识别代码的至少一个装置的系统的示例的示意性框图;
38.图4a示出了用于训练机器学习模型的方法的示例的流程图;并且
39.图4b示出了用于训练机器学习模型的装置的示例的示意性框图。
具体实施方式
40.现在参照附图更详细地描述一些示例。然而,其它可能的示例并不限于这 些详细描述的实施例的特征。其它示例可以包括这些特征的修改以及这些特征 的等同性和替换性特征。此外,本文中用于描述某些示例的术语不应限制其他 可能的示例。
41.贯穿附图的描述,相同或相似的附图标记指代相同或相似的元件和/或特征, 这些元件和/或特征可以相同或以经过修改的形式实施,同时提供相同或相似的 功能。为了清楚起见,图中的线、层和/或区域的厚度也可以进行放大。
42.除非在个别情况下另有明确定义,当使用“或”来组合两个元件a和b时, 这将被理解为公开了所有可能的组合,即仅a、仅b以及a与b。作为相同组 合的可选措辞,可以使用“a和b中的至少一个”或“a和/或b”。这同样适用 于两个以上元件的组合。
43.如果使用单数形式,例如“一个”、“一种”和“该”,并且没有明确或隐含 地将仅使用单个元件定义为强制性,则另外的示例也可以使用几个元件来实现 相同的功能。如果一个功能在下文被描述为使用多个元件来实现,则另外的示 例可以使用单个元件或单个处理实体来实现相同的功能。还应当理解,术语“包 括”和/或“包含”在使用时描述特定特征、整体、步骤、操作、过程、元件、 部件和/或其组的存在,但不排除一个或多个其它特征、整体、步骤、操作、过 程、元件、部件和/或其组的存在或添加。
44.本公开的各个方面涉及一种用于匿名重识别的方法、装置、系统和计算机 程序。
45.在下文中,给出了阐述重识别的基本原则的示例。在该示例中,使用了两 个监控摄像头。从这些摄像头获得两个图像,每个图像都可以看到一个人。这 些图像可以从不同的角度以及在不同的照明条件下(或者甚至从相同的摄像头 但在不同的时间点)获取。即使不知道任何实际身份,重识别系统寻求推断这 两个图像是否描绘了同一个人,或者这些图像是否实际上显示了两个不同的人。 此外,重识别不限于图像中的人的检测。例如,可以对动物或物体执行重识别, 并且也可以使用其它类型的媒体,例如三维模型、文本或音频。
46.图1示出了不具有变换部件的示例性重识别系统的不同部件的示意图。三 个摄像头120a、120b和120c用于记录两个人110a、110b,摄像头120a和120b 记录同一个人110a。所得图像130a、130b、130c是从不同角度拍摄的。基于这 些图像,生成重识别代码140a、140b、140c,其中重识别代码140a、140b相似, 因为图像130a、130b描绘了同一个人,重识别代码
140c与其他重识别代码140a、 140b不相似(即不同)。换句话说,针对两个第一图像130a、130b(其从不同 角度描绘同一个人)的重识别代码140a、140b相似,而针对两个最终图像130b、 130c的代码140b、140c不同(因为图像是两个不同的人)。
47.存在多个用例,其中可以使用重识别来代替创建绝对身份的系统,例如用 于在对一天中特定位置处的唯一访问者进行计数时过滤重复检测,用于使用每 个端点处的传感器来估计两个不同位置之间的行进时间,计算顾客在单个位置 处的停留时间,使用非重叠摄像头进行广域人员跟踪等。
48.在一些系统中,通过将散列函数应用于每个图像以产生所谓的重识别代码 来实施重识别。所生成的散列码表示在各个图像内可见的人、动物或物体,并 且可以使用相似度度量进行比较。
49.本公开的各种示例通过在重识别代码之上添加“加密层”以生成变换后的 重识别代码来扩展重识别代码的概念。所应用的散列函数与变换作用一起具有 所谓的“等价类保持”(ecp)特性,该特性也可以是等距特性或“(几乎)距离 保持”特性,因为变换后的重识别代码之间的距离如果与变换后的重识别代码 所基于的重识别代码之间的距离不相等,则至少是相似的。ecp特性类似于局 部敏感哈希(lsh)的特性,并在下面进行描述。
50.用数学方式进行表达,设f是这样的散列函数,e是ecp保持变换函数(加 密函数),并且设h1=e(f(i1))和h2=e(f(i2))是两个图像i1和i2各自的重识别 代码。ecp特性确保两个变换后的重识别代码在某些合适的相似度度量中近似 相似,也就是说,当且仅当图像i1上的人与图像i2上的人相同时(即使从不同 角度拍摄图像),h1≈h2。因此,在对两张图像进行散列函数评估后,如果两个 重识别代码之间的距离较小,则可以推断出是同一个人。另一方面,如果距离 较大,那么很可能图像包含不同的人。
51.可以使用各种方法来实施这样的视觉重识别系统。许多系统使用手工制作 的视觉特征(如性别、年龄、面部特征、衣服颜色、发型、体型等),但是为了 获得尽可能高的准确性,许多方法取决于基于例如三元组损失的基于深度学习 的技术。然而,为了解释该概念,用于计算重识别代码的确切方法并不重要。
52.在一些系统中,针对特定人的re-id码(重识别代码的缩写形式)在不同的 时期可能是相同的,从而导致对个人的潜在绝对识别。这可能是由于传统的重 识别代码随着时间的推移保持一致。例如,如果一个人在特定时间t1被一个特 定摄像头拍到他的图像,则可以在晚得多的时间t2识别他的身份,这可能导致 了解他们的个人身份,其中一张图像可能例如从他们的护照或驾驶证获得。如 果以这种方式应用重识别,则可能因此在不经意间也启用对人员的非匿名识别。 在许多系统中,该识别特性是不希望出现的,因其可能导致数据泄漏。不可能 使用直接的加密方法来缓解这个缺点,例如,在不失去期望的重识别能力的情 况下对重识别代码进行加密。因为取决于先前方法的各个设备可能无法提供“通 过设计保护隐私”,所以这种用于重识别的分布式系统可以例如通过使用安全设 备或通过安全网络进行通信来对所有通信进行保密并安全地存储重识别值。在 具有多个进行通信的设备的分布式多摄像头系统中,这可能给整个系统设计增 加额外的负担。此外,该问题可能无法用传统的密码方法进行缓解,由于几乎 所有现有的加密方法都由于密码雪崩效应而缺乏“等价类保持”特性,未加密 数据的微小变化会导致加密数据的巨大变化,因此可能无法保持重识别能力。 换句话说,一些用于重识别的方法可能无法提供“通过设计保护隐
私”。
53.本公开的各种示例采用不同的方法,其中跨多个位置或跨时间的重识别受 到设计的限制。示例可以提供一种用于匿名重识别的方法,并因此可以进行“通 过设计保护隐私”(通过周期性地或局部地、高效地和不可逆地改变重识别散列 函数)。这可以使得能够不安全地传输和存储重识别代码而不违反隐私条例,因 为在没有关于隐私的保证的情况下,即使变换后的代码被存储在任意存储系统 中,也可以保护隐私。所提出的概念基于用变换功能(例如使用附加的专用密 码学原语)来扩充现有的(非隐私增强、非匿名、常用的)重识别散列函数。 与用于保密的传统密码方案相比,所提出的概念即使在对重识别代码进行加密 后也不会消除执行重识别的能力(通过维持ecp特性)。与一些其他系统相比, 重识别代码的匹配可以在不安全的服务器上执行,甚至可以由不受信任的第三 方执行。而且,变换后的重识别码可以无限期地存储在不受信任的数据库中, 而不牺牲隐私。所提出的概念可以改进重识别的概念,因其使得可以通过在其 上添加新的附加原语来通过“通过设计保护隐私”增强现有的重识别算法。所 提出的概念可以将现有的或新颖的重识别系统与具有ecp特性(在重识别系统 之上)的(动态)加密原语(即,变换函数)进行组合。
54.在下文中,假设用于计算重识别代码并在随后对重识别代码进行加密的系 统被嵌入摄像头中。这对于所提出的概念起作用而言不是必需的,但是对于说 明用例是有用的。该方法在可能对嵌入式或边缘设备有用的同时,还可以用于 基于云的实施,其中在云中实施随后呈现的装置或评估设备。
55.图2a和图2b示出了用于重识别的装置20或用于生成变换后的重识别代码 的装置20的示例的示意性框图;该装置包括接口22以及处理电路24。可选地, 该装置包括一个或多个存储设备26。处理电路与接口和可选的一个或多个存储 设备耦合。通常,该装置的功能由例如结合接口(用于交换信息)和/或一个或 多个存储设备(用于存储信息)的处理电路来提供。
56.处理电路24被配置为经由接口22获得媒体数据。所述处理电路被配置为 使用散列算法生成表示媒体数据的至少一部分的重识别代码。处理电路被配置 为使用变换功能对重识别代码进行变换来获得变换后的重识别代码。变换功能 被配置为对重识别代码进行变换,使得如果重识别代码根据相似度度量类似于 由散列算法生成的另一重识别代码,则变换后的重识别代码类似于作为该另一 重识别代码的变换版本的另一变换后的重识别代码。变换功能被配置为基于变 换参数对重识别代码进行变换。例如,变换参数取决于时间和/或位置。处理电 路被配置为提供变换后的重识别代码(例如经由接口22)。图2b还示出了包括 装置22的摄像头设备200。例如,摄像头设备200还可以包括用于生成媒体数 据(例如作为图像数据)的成像传感器。
57.图2c和图2d示出了用于重识别的相应方法或用于生成变换后的重识别代 码的方法的示例的流程图。一般而言,该方法可以涵盖图2a和/或图2b的装置 的功能。因此,结合装置介绍的特征可以同样应用于相应的方法(反之亦然)。 该方法包括例如通过从传感器获得图像来获得媒体数据210(例如经由接口)。 该方法包括使用散列算法生成(即计算)表示媒体数据的至少一部分的重识别 代码220。该方法包括使用变换功能对重识别代码进行变换(即加密)来获得变 换后的重识别代码230。变换功能对重识别代码进行变换,使得如果重识别代码 根据相似度度量类似于由散列算法生成的另一重识别代码,则变换后的重
识别 代码类似于作为该另一重识别代码的变换版本的另一变换后的重识别代码。变 换功能基于变换参数对重识别代码进行变换。例如,变换参数取决于时间和/或 位置。该方法包括提供变换后的重识别代码240。
58.下面的描述涉及图2a和/或图2b的装置20或摄像头设备200,并且涉及图 2c和/或图2d的相应方法。
59.本公开的各个方面涉及一种用于重识别的装置、方法和计算机程序,即一 种用于生成在重识别系统中使用的重识别代码的装置。与各种其它系统相比, 本设备、方法和计算机程序创建在重识别的一般概念之上,添加了在保持重识 别的能力的同时阻止跨时间或跨不同位置追溯跟踪人或物体的能力的变换层。 例如,通过对重识别代码进行变换,可以通过变换功能对重识别代码进行加密。 因此本公开的各个方面涉及一种用于匿名重识别的装置、方法、计算机程序。
60.所提出的概念通过在现有的重识别函数之上添加维持ecp特性、动态变化 的加密层(即,变换函数)来解决该问题。换句话说,所提出的概念允许构建 具有内置时间间隔(或位置限制)的重识别代码,在该时间间隔或位置限制之 外,有意地使重识别代码不起作用。该方法导致匿名重识别和“通过设计保护 隐私”,因此重识别值甚至可以被传送到不安全的设备或通过不安全的网络,并 且可以在稍后的时间点由不受信任的服务器或甚至第三方进行重识别代码匹配 过程。通常,所提出的概念基于以高效的方式(例如每天或跨位置)(动态地) 改变重识别方案,使得重识别代码在不同日期和/或位置之间不一致,同时仍然 保持其在每一天期间或在每个位置内的一致性。
61.总体而言,使用至少两个新颖的方面来实现匿名重识别,这两个方面即保 持等价类保持特性的重识别代码的变换以及变换对时间或位置的依赖性。第一 方面旨在仅在源自相同(或相似的)变换参数的变换后的重识别代码之间保留 重识别功能,而第二方面旨在指定使用不同变换参数的情况。例如,如果将不 同的变换参数用于不同的时间,则可以阻止跨不同时间的人员跟踪。类似地, 如果将不同的变换参数用于不同的位置,则可以阻止跨不同位置的人员跟踪。 因此,可以在潜在不安全的系统上存储和/或传输所得到的变换后的重识别代码, 从而减少所需的实施工作。
62.重识别代码基于媒体数据而生成。通常,媒体数据可以是视频、音频或视 听媒体数据。例如,媒体数据可以是图像数据、视频数据、音频数据、物体运 动的三维表示(即三维身体运动)以及基于文本的媒体数据/输出之一。因此, 媒体数据可以相应地源自各种类型的媒体数据生成设备,例如摄像头或摄像头 传感器、麦克风、三维扫描仪或文本获取系统。
63.处理电路可以被配置为例如在本地或经由(计算机网络)从一个或多个媒 体数据生成设备获得媒体数据。因此,接口22可以是或包括用于设备内通信的 本地接口,或者接口22可以是或包括用于经由诸如因特网或本地网络的计算机 网络进行通信的接口。例如,在一些情况下,该装置可用于针对来自多于一个 媒体数据生成设备的媒体数据生成重识别代码,其中媒体数据生成设备位于不 同的位置。因此,媒体数据可以获取自或来源于位于不同位置的两个或多个媒 体数据生成设备。
64.例如,如上所述,装置可以是包括摄像头传感器28的摄像头设备200的一 部分。在这种情况下,媒体数据生成设备可以是摄像头设备或摄像头设备的摄 像头传感器28,并且处理电路可以从摄像头传感器28获得媒体数据。然而,在 一些情况下,装置可以在摄像头
设备的外部,处理电路被配置为从装置外部的 摄像头获得媒体数据。例如,装置可以在网络设备、边缘设备(即,位于媒体 数据生成设备附近的网络设备)或云服务器中实施。在这两种情况下,一般而 言,处理电路被配置为从摄像头的成像传感器获得媒体数据,其中媒体数据是 图像数据和视频数据之一。
65.根据媒体数据的类型,可以选择合适的散列算法来生成重识别代码。处理 电路被配置为使用散列算法生成表示媒体数据的至少一部分的重识别代码,其 中散列算法适用于手头的媒体数据。所提出的系统也可以用于人员重识别之外 的领域。例如,所提出的概念可以应用于骑自行车者、汽车、行李以及其他物 体或动物。例如,ye等人的“deep learning for person re-identification:a surveyand outlook”(2020)提供了基于深度学习的用于重识别的散列算法示例。因此, 处理电路可以被配置为使用机器学习模型(例如深度学习网络)来生成重识别 代码。还可以采用较新的技术来代替使用先前使用的重识别系统,或者可以改 进重新识别系统以与(动态)加密原语一起作用。
66.存在各种类型的重识别代码。在下文中,给出的示例假设基于哈希值的重 识别代码。特别而言,给出了其中重识别代码是包括128个值的矢量的示例。 然而,也可以使用其它类型的重识别代码,其中对变换功能进行适当调整。
67.重识别代码表示媒体数据的至少一部分。例如,重识别代码可以表示由媒 体数据表示的物体或人。因此,变换后的重识别代码可以表示由媒体数据表示 的物体或人。
68.为了在不必周期性地重建整个基本重识别系统(其为非常费力的过程)的 情况下执行上述过程,在现有的重识别系统之上添加附加层,即变换函数。因 此,处理电路被配置为使用变换功能对重识别代码(其使用现有的或新颖的重 识别系统/算法生成)进行变换来获得变换后的重识别代码。变换功能的附加层 例如可以是具有ecp特性的依赖密钥动态加密原语,其使得可以在对重识别代 码进行加密的情况下仍然维持重识别特性(与如上所述的失去重识别特性的经 典加密方案相反)。
69.用数学方式进行表达,f表示现有的(传统的)用于生成重识别代码的重识 别系统。根据预定义的时程表,例如在每天或每个位置,将新的密钥k分配给 所有设备(例如使用传统的公共密钥基础设施)。例如,密钥k可以是变换参数, 或者k可以是变换参数所源自的密码类秘密。设ek是具有ecp特性的密码性安 全双射变换函数,该函数取决于共享密钥k。然后,通过动态加密层ek和现有的 重识别函数f的组合,给出了所提出的对图像i进行操作的最终匿名动态重识别 函数ck,即ck(i)=ek(f(i))。
70.在下文中,假设密钥每天都在变化,即变换函数基于时间。设k
t-1
表示昨天 的密钥,k
t
表示今天的密钥。每天,所有设备都可以确保来自昨天的密钥k
t-1
以 及相应的加密函数被安全销毁(例如通过重写覆盖相关的存储器和存储区域)。 因为密钥每天都在更换,所以不可能将来自昨天的重识别代码与来自今天的重 识别代码进行比较。换句话说,满足以下匿名重识别特性:
71.ck
t
(i1)≈ck
t
(i2)且ck
t 1
(i1)≈ck
t 1
(i2)
72.但是
73.ck
t
(i1)≠ck
t 1
(i2)且ck
t
(i2)≠ck
t 1
(i1)
74.换句话说,满足相似保持或等价类保持性质。因此,变换功能被配置为对 重识别代码进行变换,使得如果重识别代码根据相似度度量类似于由散列算法 生成的另一重识
别代码,则变换后的重识别代码类似于作为该另一重识别代码 的变换版本的另一变换后的重识别代码。另一方面,如果重识别代码根据相似 度度量与由散列算法生成的另一重识别代码不同,则变换后的重识别代码应当(或者更确切的说,事实上)与另一变换后的重识别代码不同。更通常而言, 变换功能可以被配置为对重识别代码进行变换,使得重识别代码和另一重识别 代码之间的相似度水平等同于变换后的重识别代码和另一变换后的重识别代码 之间的相似度水平,所述相似度水平基于相似度度量。例如,如果相似度水平 较高,则两个重识别代码和两个变换后的重识别代码可以分别相似,并且如果 相似度水平较低,则两个重识别代码和两个变换后的重识别代码可以分别不同。
75.在各种示例中,变换函数可用于对重识别代码进行线性变换。换句话说, 变换功能可以被配置为基于变换参数执行重识别代码的线性变换。线性变换的 一种具体实施是基于旋转矩阵的变换。换句话说,变换功能可以被配置为使用 旋转矩阵对重识别代码进行变换,其中旋转矩阵基于变换参数。通常,旋转矩 阵是用于通过将矢量与旋转矩阵相乘而在给定坐标空间中执行旋转(例如,矢 量的旋转)的矩阵。
76.在下文中,介绍了一种具有ecp特性的动态加密函数的具体构造。以下为 简单起见,可以假设原始重识别代码h是具有128个浮点值的矢量,每个浮点 值位于区间-1到 1。通常,可以将使用具有基于浮点的分量的128维矢量的假 设变更为任何维度和其它数值域,例如整数或布尔值。选择ek作为用于变换功 能的加密函数,该函数由ek(h)=rk×
h给出,其中rk是不可逆地取决于密钥 k的128
·
128随机旋转矩阵,并且其中运算
×
表示矩阵乘积。由于旋转是保持距 离的,因此生成的函数仍然具有保持重识别过程起作用所需的ecp特性。通过 使用k初始化安全随机数生成器,并且随后对随机128维旋转矩阵进行采样(例 如,通过使用密码性安全随机数生成器对来自正态分布的各个矩阵分量进行采 样,并且随后通过执行gram-schmidt正交化来对矩阵进行归一化),可以以密 码性安全的方式生成rk。换句话说,旋转矩阵的元素可以基于源自变换参数(例 如源自变换参数的密码类秘密)的伪随机数。随后,可以使用gram-schmidt正 交化对生成的矩阵的伪随机数进行归一化。例如,处理电路可以被配置为通过 生成伪随机数并对得到的矩阵进行归一化,基于变换参数来生成旋转矩阵。由 于加密算子矩阵中有大量的自由参数,并且由于其密码性强构造过程,即使使 用像rk这样的线性算子也可以在大多数可能的攻击场景中提供足够的安全性。
77.或者,变换功能可以被配置为执行重识别代码的非线性变换。例如,可以 采用更复杂的散列函数来代替矩阵乘法。在一些实施方案中,可以采用深度学 习来创建更复杂、更加非线性的函数(同时仍然维持等价类保持特性)。换句话 说,变换功能可以被配置为使用机器学习模型执行非线性变换。例如,机器学 习模型可以将重识别代码和变换参数作为输入,并且在输出处提供变换后的重 识别代码。结合图4a和图4b更详细地描述合适的机器学习模型的训练。此外, 组合的深度网络(与动态加密方案组合的下层重识别系统)的端到端训练可用 于实现更高的鲁棒性和精度。
78.通常,为了阻止跨时间和/或位置的人员或物体跟踪,变换参数以及因此变 换本身取决于时间和/或位置。通常,时间可以是指执行重识别代码的变换的时 间,也可以是获得媒体数据的时间,因为装置可以用于重识别代码的近瞬时生 成和变换。在一些情况下,这两个时间实例可以是解耦的,例如,可以对先前 生成的媒体数据追溯地应用变换。另一
方面,位置可以涉及媒体源自的位置(例 如在一个装置用于针对来自位于不同位置的不同媒体数据生成设备的媒体数据 生成变换后的重识别代码的系统中),或者涉及装置本身(例如,如果要使用相 同的变换参数对不同媒体数据生成设备的媒体数据进行处理)或者与媒体数据 生成设备位于同一地点的装置的位置。
79.在下文中,介绍取决于时间的变换参数的实施,接着介绍取决于位置的变 换参数。
80.例如为了避免跨日期的重识别并因此避免绝对识别的危险,本公开的各种 示例可以使用随时间变化的变换参数。因此,为了随时间应用新的或适配后的 变换参数,可以基于时程表来适配变换参数。换句话说,处理电路可以被配置 为根据预定义的时程表来适配变换参数。例如,处理电路可以被配置为根据期 望的隐私级别,每天、每半天或每周适配变换参数。例如,处理电路可以被配 置为根据预定义的时程表来生成或选择新的变换参数。在适配变换参数之后, 为了阻止变换后的重识别代码的追溯性重新生成,可以丢弃(或者更确切地说, 删除)先前使用的参数。换句话说,处理电路可以被配置为在适配变换参数之 后删除先前使用的变换参数。例如,如果周期性地销毁变换参数或下层密钥, 可以即使在设备碰巧在某个时间点遭到破坏的情况下,也无法获得来自前几天 的原始重识别代码。因此,可以自由地与任何人共享所得到的变换后的重识别 代码而不泄露任何人的身份,从而提供匿名重识别代码。
81.在一些示例中,可以在变换函数中采用增量/示差密钥变化。例如,如果变 换函数取决于时间,则这将导致匿名化的滑动时间窗口,而不是例如从午夜到 午夜的当前固定窗口。换句话说,处理电路可以被配置为针对两个时间点(例 如,两天的午夜)生成两个变换参数。这两个变换参数可以足够不同,以使跨 越两个变换参数的人员或物体跟踪变得不可能。处理电路可以被配置为基于两 个变换参数之间的线性内插来在两个时间点之间逐渐适配变换参数。换句话说, 在两个时间点之间,可以基于从两个变换参数中的第一个到两个变换参数中的 第二个的线性内插来逐渐适配用于对重识别代码进行变换的变换参数。以旋转 矩阵为例,可以生成各自具有多个元素的第一旋转矩阵和第二旋转矩阵。使用 线性内插,可以生成第三旋转矩阵,其中第三矩阵的每个元素基于第一矩阵和 第二矩阵的相应元素之间的线性内插。随后,可以对第三矩阵进行归一化。
82.类似地,可以跨区域的各个位置使用增量/示差密钥变化。区域内的位置相 距越远,所得到的重识别代码可能越不相似。例如,如上面所介绍的,处理电 路可以被配置为从位于不同位置的两个或更多个媒体数据生成设备获得媒体数 据。通常,例如为了使针对源自两个位置的媒体数据生成的变换后的重识别代 码之间的重识别变得不可能,处理电路可以被配置为针对位于不同位置的两个 或多个媒体数据生成设备使用不同的变换参数来执行变换。然而,第三媒体数 据生成设备可位于两个媒体数据生成设备之间。可以选择针对该第三媒体数据 生成设备的变换参数,使得可以对变换后的重识别代码进行重识别,该变换后 的重识别代码针对源自前两个位置的媒体数据而生成。换句话说,处理电路可 以被配置为从位于不同位置的第一、第二和第三媒体数据生成设备获得媒体数 据,其中第二媒体数据生成设备位于第一媒体数据生成设备和第三媒体数据生 成设备之间。类似于随着时间的推移逐渐适配的示例,处理电路可以被配置为 基于针对从第一媒体数据生成设备和第三媒体数据生成设备获得的媒体数据的 变换参数之间的线性内插,生成针对从第
二媒体数据生成设备获得的媒体数据 的变换参数。结果,可以在基于源自第一和第二媒体数据生成设备的媒体数据 生成的变换后的重识别代码之间以及在基于源自第二和第三媒体数据生成设备 的媒体数据生成的变换后的重识别代码之间进行重识别,但不能在基于源自第 一和第三媒体数据生成设备的媒体数据生成的变换后的重识别代码之间进行重 识别。在各种示例中,可以使用甚至更细粒度的系统,其中针对位于媒体数据 生成设备组的任一侧的两个任意位置生成两个变换参数,并且基于两个变换参 数之间的基于位置的线性内插来生成媒体数据生成设备的变换参数。
83.通常,存在用于获得合适的变换参数的各种选择。例如,变换参数可以基 于密码类秘密在设备端生成(即通过处理电路),密码类秘密可以在被配置为生 成相同变换参数(例如取决于时间)的装置之间共享。换句话说,变换参数可 以源自密码类秘密。因此,处理电路可以被配置为基于密码类秘密并基于时间 和/或位置来生成变换参数,该变换参数例如是旋转矩阵或者用于由变换功能采 用的机器学习模型的输入参数。例如,可以与时间和/或位置一起使用密码类秘 密,以生成用于为变换参数生成伪随机数的种子。例如,密码性强方法可用于 从单个共享秘密构造新密钥(即变换参数)或加密方法。不可逆的密钥生成可 用于提高安全性。例如,在一些示例中,可以在没有持久网络连接的情况下使 用不可逆、共享的动态变换参数(即密钥值)。在共享初始秘密种子之后,可以 应用以下方法:k
t
=aes(k
t-1
,k
t-1
),其中aes(x,k)运算使用密钥(即密码类 秘密)k向文本x应用高级加密标准,即获得今天的密钥k
t
,昨天的密钥k
t-1
可 以自身进行加密并在随后销毁。
84.最后,处理电路被配置为例如经由接口22提供变换后的重识别代码。通常, 可以通过例如使用一个或多个存储设备或使用数据库存储重识别代码来设置处 理电路,所述数据库例如是可由多个设备经由定义的接口(例如经由计算机网 络和/或根据预定义的协议)访问和/或在装置和/或摄像头设备外部的数据库。换 句话说,处理电路被配置为向数据库提供变换后的重识别代码。例如,可以由 访问数据库的评估设备处理变换后的重识别代码。
85.所提出的概念可以提供计算机视觉和密码学的组合。具体而言,可以在基 于摄像头的分布式、嵌入式系统上使用安全视频分析来提供隐私增强的视觉人 员重识别。
86.接口22可以对应于用于在模块内、模块之间或不同实体的模块之间接收和 /或传输信息的一个或多个输入和/或输出,信息可以是根据指定代码的数字(位) 值。例如,接口22可以包括被配置为接收和/或传输信息的接口电路。例如,接 口22可适用于摄像头设备200内的通信。附加地或替代地,接口22可适用于 经由计算机网络的通信,例如经由无线或有线计算机网络的通信。
87.处理电路24可以使用一个或多个处理单元、一个或多个处理设备、任何用 于处理的装置(例如处理器)、计算机或可与相应适配的软件一起运行的可编程 硬件部件来实施。换句话说,处理电路24的所述功能也可以以软件来实施,然 后在一个或多个可编程硬件部件上执行该软件。这样的硬件部件可以包括例如 中央处理器(cpu)的通用处理器、数字信号处理器(dsp)、微控制器等。
88.在至少一些实施例中,一个或多个存储设备26可以包括诸如磁性或光学存 储介质的计算机可读存储介质的组中的至少一个元件,例如硬盘驱动器、闪存、 软盘、随机存取存储器(ram)、只读存储器(rom)、可编程只读存储器(prom)、 可擦除可编程只读存储器
(eprom)、电子可擦除可编程只读存储器(eeprom) 或网络存储器。
89.结合所提出的概念或上文或下文描述的一个或多个示例(例如图1和图3a 至图4b),简述了结合图2a至图2d介绍的摄像头设备或方法、装置以及计算机 程序的更多细节和方面。摄像头设备和方法、装置以及计算机程序可以包括对 应于所提出的概念的一个或多个方面或上文或下文描述的一个或多个示例的一 个或多个附加可选特征。
90.图3a和图3b示出了包括用于重识别的至少一个装置20或用于生成变换后 的重识别代码的至少一个装置20的系统300、310的示例的示意性框图;在结 合图2a至图2d介绍了用于生成重识别代码并对该重识别代码进行变换的装置 的同时,图3a至图3b示出了可以使用该装置的背景。通常,系统可以包括单 个装置20,例如作为摄像头设备200的一部分。如图所示,图3a的系统300包 括两个摄像头设备200(或更通常而言,两个媒体数据生成设备200),每一个 都包括装置20。图3b的系统310包括多个摄像头设备200,每一个都包括装置 20。换句话说,系统300、310包括两个或更多个装置20。如图3b所示,装置 20可以包括一个或多个附加部件,例如随机存取存储器(ram)312或一个或 多个可选部件314。图3b所示的装置20包括网络接口22a,该网络接口22a可 以是结合图2a和图2b介绍的接口22的一部分。
91.除了装置20或具有装置20的摄像头设备之外,系统可以可选地包括评估 设备,该评估设备可以用于使用变换后的重识别代码来执行重识别。换句话说, 图3a和图3b所示的系统包括具有数据库(例如结合图2a至图2d介绍的数据库) 的可选评估设备30,该可选评估设备30耦合到装置20。如图3b所示,评估设 备30可以实施为可以与数据库32进行通信的重识别代码匹配服务器30。评估 设备可以被配置为从至少一个装置20获得变换后的重识别代码,并且根据相似 度度量比较由至少一个装置提供的变换后的重识别代码。例如,评估设备可以 被配置为经由数据库32从至少一个装置20获得变换后的重识别代码。通常, 评估可以被配置为基于装置的变换后的重识别代码来执行重识别。通常,评估 设备30可以在装置20的外部。然而,在一些示例中,装置之一可以包括评估 设备30。如图3b所示,评估设备30可以向终端用户提供可视化34。例如,可 视化可以示出由评估设备30执行的重识别的结果。
92.存在可以进行可视化的各种类型的结果。例如,评估设备可以被配置为使 用基于每个端点处的传感器的图像数据生成的变换后的重识别代码来估计人、 动物或车辆在两个不同位置之间的行进时间。因此,可视化可以示出不同的人、 动物或车辆的估计行进时间的视觉表示和/或其统计评估。
93.可替换地或附加地,评估设备可以被配置为在基于变换后的重识别代码对 一天中特定位置处的唯一访问者进行计数时过滤重复检测。可视化可以示出在 该特定位置处的(经过滤的)唯一访问者的计数的视觉表示和/或其统计评估, 例如随时间推移的直方图。
94.在一些示例中,评估设备可以被配置为基于变换后的重识别代码计算顾客 在单个位置处的停留时间。因此,可视化可以示出顾客在该位置处的停留时间 的视觉表示和/或其统计评估,例如直方图。
95.评估设备可以被配置为基于变换后的重识别代码,使用非重叠摄像头来执 行广域人员跟踪。例如,可以将人的二维图像和三维表示用于跟踪。相应地, 可视化可以示出被
跟踪人员的视觉表示。
96.根据由一个或多个装置使用的变换参数是否取决于时间或位置,可以由所 使用的变换参数来满足不同的标准。例如,变换参数取决于时间(即在装置处 的当前时间)。两个或更多个装置可以被配置为在相同时间使用相同的变换参 数,例如使得在相同时间生成的变换后的重识别代码适合用于重识别。
97.另一方面,如果变换参数取决于位置,则变换参数可以根据各个媒体数据 所源自的位置而不同。换句话说,如结合图2a至图2d所描述的那样,一个或 多个(或两个或更多个装置)可以被配置为处理源自两个或更多个位置的媒体 数据,并且对源自所述两个或更多个位置的媒体数据使用不同的变换参数。此 外,例如在具有三个或更多个媒体数据生成设备的场景中,也可以应用基于媒 体数据所源自的各自位置的变换参数的逐渐适配。
98.结合所提出的概念或上文或下文描述的一个或多个示例(例如图1至图2d, 至图4a至图4b)来简述系统的更多细节和方面。系统可以包括对应于所提出的 概念的一个或多个方面或上文或下文描述的一个或多个示例的一个或多个附加 可选特征。
99.在下文中,介绍用于训练可用于执行重识别代码的非线性变换的机器学习 模型的各种示例。图4a示出了用于训练机器学习模型的方法的示例的流程图。 该方法包括获得用于训练机器学习模型的训练数据410。训练数据至少包括多个 重识别代码。该方法包括使用训练数据来训练机器学习模型420。对机器学习模 型进行训练,以将多个重识别代码非线性变换为多个变换后的重识别代码,使 得如果重识别代码根据相似度度量类似于另一重识别代码,则变换后的重识别 代码类似于作为该另一重识别代码的变换版本的另一变换后的重识别代码。
100.图4b示出了用于训练机器学习模型的相应装置40的示例的示意性框图。 通常,装置40包括被配置为执行图4a的方法的处理电路44。例如,处理电路 被配置为获得用于训练机器学习模型的训练数据。处理电路被配置为使用训练 数据来训练机器学习模型。可选地,装置40还包括用于交换信息(例如训练数 据和机器学习模型)的接口42,以及用于存储信息(例如训练数据和机器学习 模型)的一个或多个存储设备46。处理电路与接口和一个或多个存储设备耦合。
101.下面的描述涉及图4a的方法和图4b的相应装置40。
102.图4a和图4b涉及可用于对重识别代码进行非线性变换的机器学习模型的 训练。通常,机器学习是指计算机系统可以在不使用显式指令而是依赖于模型 和推断的情况下用来执行特定任务的算法和统计模型。例如,在机器学习中, 可以使用从历史和/或训练数据的分析推断的数据变换来代替基于规则的数据变 换。例如,可以使用机器学习模型或使用机器学习算法来分析图像内容。为了 让机器学习模型分析图像内容,可以使用训练图像作为输入以及训练内容信息 或使用分类信息作为输出来训练机器学习模型。通过用大量的训练图像和相关 联的训练内容信息来训练机器学习模型,机器学习模型“学习”识别图像内容, 因此可以使用机器学习模型来识别没有包含在训练图像中的图像内容。相同的 原理也可用于其他类型的传感器数据:通过使用训练传感器数据和期望的输出 训练机器学习模型,机器学习模型“学习”传感器数据和输出之间的变换,其 可用于基于提供给机器学习模型的非训练传感器数据提供输出。在本公开中提 出的概念中,机器学习可以用于两个方面,用于对重识别代码进行非线性变换, 以及用于首先生成重识别代码。
103.使用训练数据训练机器学习模型。上面指定的示例使用了一种称为“监督 学习”的训练方法。在监督学习中,使用多个训练样本(其中每个样本可以包 括多个输入数据值)和多个期望输出值来训练机器学习模型,即每个训练样本 与期望输出值相关联。通过指定训练样本和期望输出值,机器学习模型基于与 在训练期间提供的样本类似的输入样本来“学习”要提供哪个输出值。
104.可以选择类似的方法来基于训练数据训练机器学习模型。例如,训练数据 可以包括多个重识别代码以及多个示例性变换参数作为输入数据值,并且包括 表示多个重识别代码鉴于多个示例性变换参数而言的期望非线性变换的多个期 望输出值。
105.将用于确定媒体之间相似度的一种类型的机器学习算法表示为三元组损 失。在三元组损失中,将基线输入与正输入以及负输入进行比较。例如,三元 组损失可用于训练机器学习模型以首先生成重识别代码。然而,三元组损失也 可用于训练机器学习模型以对重识别代码进行变换。例如,可以将多个重识别 代码与多个示例性变换参数一起用作训练输入。通过训练机器学习模型使得相 对于在输入处提供的给定的重识别代码而言,与给定的重识别代码相似的重识 别代码的变换版本被提供为正输入,与给定的重识别代码不同的重识别代码的 变换版本或给定的重识别代码本身被提供为负输入,可以将机器学习模型训练 为基于多个示例性变换参数对多个重识别代码进行非线性变换。
106.强化学习是另一组机器学习算法。换句话说,强化学习可用于训练机器学 习模型。在强化学习中,训练一个或多个软件行为者(称为“软件智能体”)以 在环境中采取行动。根据所采取的行动,计算奖励。强化学习基于训练一个或 多个软件智能体来选择使得累积奖励增加的行动,导致形成在执行给定的任务 时变得更好的软件智能体(如通过奖励增加所证明的)。
107.例如,强化学习可用于训练机器学习模型。在这种情况下,可以由机器学 习模型处理多个重识别代码,该机器学习模型可以通过使用奖励函数的强化学 习进行迭代地适配,该奖励函数奖励a)满足等价类保持特性以及b)是非线性 变换的输出。
108.通常,可以使用另一机器学习模型基于媒体数据来生成多个识别代码。另 一机器学习模型可以实施结合图2a和/或图2b介绍的散列函数。另一机器学习 模型的训练可以基于所得到的重识别代码的基于机器学习的变换来进行适配。 换句话说,机器学习模型和另一机器学习模型可以进行联合训练。例如,可以 将组合的基于三元组损失的训练应用于另一机器学习模型和机器学习模型,其 中另一机器学习模型的训练输入基于媒体数据,机器学习模型的输入基于由另 一机器学习模型提供的重识别代码。
109.机器学习算法通常基于机器学习模型。换句话说,术语“机器学习算法
”ꢀ
可以指可用于创建、训练或使用机器学习模型的指令集。术语“机器学习模型
”ꢀ
可以指表示例如基于由机器学习算法执行的训练所学习的知识的数据结构和/或 规则集。在示例中,机器学习算法的使用可以意味着下层机器学习模型(或多 个下层机器学习模型)的使用。机器学习模型的使用可以意味着由机器学习算 法训练机器学习模型和/或作为机器学习模型的数据结构/规则集。
110.例如,机器学习模型可以是人工神经网络(ann)。ann是受例如可以在 大脑中找到的生物神经网络启发的系统。ann包括多个互连的节点以及节点之 间的多个连接(所谓的边)。通常有三种类型的节点,接收输入值的输入节点, (仅)连接到其他节点的隐藏节点,
以及提供输出值的输出节点。每个节点可 以代表一个人工神经元。每个边可以将信息从一个节点传输到另一个节点。节 点的输出可被定义为其输入之和的(非线性)函数。节点的输入可基于提供输 入的边或节点的“权重”用于该函数中。可以在学习过程中调整节点和/或边的 权重。换句话说,人工神经网络的训练可以包括调整人工神经网络的节点和/或 边的权重,即针对给定输入实现期望输出。在至少一些示例中,机器学习模型 可以是深度神经网络,例如包括一个或多个隐藏节点层(即,隐藏层)的神经 网络,优选地是有多个隐藏节点层。例如,如果使用三元组损失函数,则ann 可以是所谓的孪生神经网络(snn)。
111.接口42可以对应于用于在模块内、模块之间或不同实体的模块之间接收和 /或传输信息的一个或多个输入和/或输出,信息可以是根据指定代码的数字(位) 值。例如,接口42可以包括被配置为接收和/或传输信息的接口电路。附加地或 替代地,接口42可适用于经由计算机网络的通信,例如经由无线或有线计算机 网络的通信。
112.处理电路44可以使用一个或多个处理单元、一个或多个处理设备、任何用 于处理的装置(例如处理器)、计算机或可与相应适配的软件一起运行的可编程 硬件部件来实施。换句话说,处理电路44的所述功能也可以以软件来实施,然 后在一个或多个可编程硬件部件上执行该软件。这样的硬件部件可以包括通用 处理器、数字信号处理器(dsp)、微控制器等。在各种示例中,处理电路可以 包括加速器电路(例如用于对机器学习模型的训练进行加速的电路)或gpgpu (通用图形处理单元)电路。
113.在至少一些实施例中,一个或多个存储设备46可以包括诸如磁性或光学存 储介质的计算机可读存储介质的组中的至少一个元件,例如硬盘驱动器、闪存、 软盘、随机存取存储器(ram)、可编程只读存储器(prom)、可擦除可编程 只读存储器(eprom)、电子可擦除可编程只读存储器(eeprom)或网络存 储器。
114.关于前述示例中的一个特定示例所描述的方面和特征也可以与另一示例的 一个或多个方面和特征进行组合,以替换该另一示例的相同或相似的特征,或 者将这些特征附加地引入到该另一示例中。
115.示例还可以是或涉及包括程序代码的(计算机)程序,以当该程序在计算 机、处理器或其他可编程硬件部件上执行时执行上述方法中的一个或多个。因 此,上述方法中的不同方法的步骤、操作或过程也可以由编程的计算机、处理 器或其它可编程硬件部件执行。示例还可以涵盖程序存储设备(例如数字数据 存储介质),该程序存储设备是机器、处理器或计算机可读的,并且对机器可执 行、处理器可执行或计算机可执行的程序和指令进行编码和/或包含这些程序和 指令。程序存储设备例如可以包括或可以是数字存储设备、诸如磁盘和磁带的 磁存储介质、硬盘驱动器或光学可读数字数据存储介质。其他示例还可以包括 被编程为执行上述方法的步骤的的计算机、处理器、控制单元、(现场)可编程 逻辑阵列((f)pla)、(现场)可编程门阵列((f)pga)、图形处理器单元(gpu)、 专用集成电路(asic)、集成电路(ic)或片上系统(soc)的系统。
116.还应当理解,除非在个别情况下明确说明或出于技术原因所必需,说明书 或权利要求书中公开的几个步骤、过程、操作或功能的公开不应被解释为暗示 这些操作必须依赖于所描述的顺序。因此,前面的描述不将几个步骤或功能的 执行限制为某一顺序。此外,在其他示例中,单个步骤、功能、过程或操作可 以包括和/或可以是分解成几个子步骤、子功能、子过程或子操作。
117.如果已经关于设备或系统描述了一些方面,则这些方面也应当被理解为对 相应方法的描述。例如,块、设备或者设备或系统的功能方面可以对应于相应 方法的特征(例如方法步骤)。因此,关于方法描述的方面也应理解为对相应块、 相应元件、相应设备或相应系统的属性或功能特征的描述。
118.在此将下面的权利要求书并入详细描述中,其中每个权利要求可以独立作 为单独的示例。还应当注意,尽管在权利要求书中从属权利要求涉及与一个或 多个其它权利要求的特定组合,但是其它示例也可以包括从属权利要求与任何 其它从属或独立权利要求的主题的组合。在此明确提出这种组合,除非在个别 情况下声明不打算进行特定组合。此外,即使一项权利要求没有被直接定义为 从属于任何其它独立权利要求,对于该其它独立权利要求而言,也应当包括该 权利要求的特征在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献