CN114766019A - 基于区块链的面部匿名化系统 - Google Patents
基于区块链的面部匿名化系统 Download PDFInfo
- Publication number
- CN114766019A CN114766019A CN201980102485.6A CN201980102485A CN114766019A CN 114766019 A CN114766019 A CN 114766019A CN 201980102485 A CN201980102485 A CN 201980102485A CN 114766019 A CN114766019 A CN 114766019A
- Authority
- CN
- China
- Prior art keywords
- face
- user
- users
- detected
- profile
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24143—Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/161—Detection; Localisation; Normalisation
-
- 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/168—Feature extraction; Face representation
- G06V40/169—Holistic features and representations, i.e. based on the facial image taken as a whole
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Library & Information Science (AREA)
- Evolutionary Biology (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种由一个或多个网络设备执行区块链中存储的一个或多个智能合约以用于对数字媒体内容中出现的面部进行匿名化的方法。该方法包括:针对多个用户中的每一个,获得与该用户相关联的面部模型,获得由媒体平台提供的数字媒体内容,检测数字媒体内容中出现的一个或多个面部,基于将与多个用户相关联的面部模型中的一个或多个应用于该被检测面部来确定该被检测面部是否与多个用户中的任何一个用户的面部相匹配,响应于该被检测面部与多个用户之一的面部相匹配的确定来对该被检测面部进行匿名化以生成匿名化面部,以及向媒体平台提供匿名化面部。
Description
技术领域
本发明的实施例涉及数据匿名化领域,并且更具体地,涉及基于区块链的面部匿名化系统。
背景技术
区块链包括一组不断扩展的块,这些块使用密码学进行链接和保护。具体地,区块链中的每个块可以包括紧接前一个块的加密散列、当前块的时间戳和交易数据。可以通过其中对要添加到区块链的新块进行对等验证/证实的对等计算机网络来共享并管理区块链,使得在不更改所有后续块的情况下无法更改区块链中的块,这需要网络共识。这种架构允许通过以下来保护块内存储的信息的安全:加密技术的使用;通过使用对等网络的信息共享/分发;通过使用区块添加的共识的信任;以及通过密码的使用、区块的链/链接和对等分发的区块内存储的信息的不变性(例如,网络中的每个对等点可以维护所有已验证/已证实交易的分类账)。
智能合约是旨在以数字方式促进、验证和/或强制执行合约的谈判或执行的计算机协议。使用智能合约,不需要第三方在各方之间执行可信的交易,因为交易是可追踪且不可逆的。智能合约可以用于对区块链的通用计算,并且从这个意义上说,它可以是任何种类的计算机程序,以及不必与法律合约的经典含义相关。各方不仅可以使用智能合约来定义他们自己有义务保持已定义的布置所根据的合约条件,而且在条件得到满足时他们还可以定义智能合约自动执行的内容。
数据匿名化是加密或从数据集中去除个人可识别信息使得数据所描述/描绘的人/物体保持匿名的过程。数据匿名化通常用于隐私保护目的。图像匿名化是一种从图像中去除可识别信息的数据匿名化的类型,这通常涉及使图像中出现的面部无法识别。这可以通过模糊面部、用合成面部替换面部以及/或者将面部与周围背景场景进行混合来完成。
存在许多用于匿名化图像的工具。例如,存在对由用户的移动设备的相机捕获的图像和/或从用户的图像库中选择的图像进行自动匿名化的移动应用。该应用可以通过用有趣的图示(例如,合成面部)覆盖面部来自动检测和隐藏图像中出现的面部,使得这些图像可以在社交媒体上共享而不会显示实际的面部。作为另一示例,存在可以检测和模糊图像中的各种物体的匿名化软件。例如,该软件可以检测图像中的面部、车牌和/或其他类型的物体,并对这些物体应用模糊过滤器以使这些物体不可识别/不可读。这种软件通常用于匿名化街景图像、网络摄像头图像和涉及隐私的其他图像。
然而,通过上面提到的匿名化方法,图像/视频的所有者/上传者是控制哪些图像/视频正在被匿名化以及在这些图像/视频中什么/谁被匿名化的人。图像/视频中出现的其他人(不是图像/视频的所有者/上传者的人)对图像/视频几乎没有编辑控制权。因此,一个人的面部可以出现在公共空间(例如,在社交媒体或视频共享平台上)中由其他人共享/上传的图像/视频中,有时该人甚至不知道他/她的面部出现在这些图像/视频中,从而损害该人的身份/隐私。这可以意外地发生(例如,在旅游照片的情况下),也可以故意地发生(例如,当旨在揭示/损害该人的身份时)。更一般地,出现此问题是因为该人仅对其共享/上传的图像/视频具有控制权,而对他人共享/上传的图像/视频没有编辑控制权。
发明内容
实施例可以通过允许用户在由一个或多个媒体平台提供的数字媒体内容中匿名化他们的面部(例如,即使用户不是数字媒体内容的所有者/上传者)来克服现有匿名化方法的一些缺点。可以使用区块链技术和一个或多个智能对比来提供面部匿名化,以便提供自主、透明和可验证的面部匿名化。实施例是一种由一个或多个网络设备执行区块链中存储的一个或多个智能合约以用于对数字媒体内容中出现的面部进行匿名化的方法。该方法包括:针对多个用户中的每一个,获得与该用户相关联的面部模型和该用户的简档,其中,与该用户相关联的面部模型是可用于检测该用户的面部的计算模型,获得由数字媒体平台提供的媒体内容,以及检测数字媒体内容中出现的一个或多个面部。该方法还包括针对一个或多个被检测面部中的每一个执行以下操作:生成该被检测面部的简档,从多个用户中确定具有与该被检测面部的简档相匹配的简档的一个或多个用户,基于将与所确定的一个或多个用户相关联的面部模型中的一个或多个应用于该被检测面部来确定该被检测面部是否与所确定的一个或多个用户中的任何一个用户的面部相匹配,响应于该被检测面部与所确定一个或多个用户之一的面部相匹配的确定来对该被检测面部进行匿名化以生成匿名化面部,向媒体平台提供匿名化面部以允许媒体平台发布具有匿名化面部的媒体内容。
另一实施例是一种被配置为执行区块链中存储的一个或多个智能合约以对数字媒体内容中出现的面部进行匿名化的网络设备。该网络设备包括:一个或多个处理器的集合;以及其中存储有一个或多个智能合约的非暂时性机器可读存储介质,该一个或多个智能合约当由一个或多个处理器的集合执行时,使网络设备:针对多个用户中的每一个,获得与用户相关联的面部模型和用户的简档,其中与用户相关联的面部模型是可用于检测用户的面部的计算模型,获得由媒体平台提供的数字媒体内容,检测数字媒体内容中出现的一个或多个面部,以及针对一个或多个被检测面部中的每一个:生成该被检测面部的简档,从多个用户中确定具有与该被检测面部的简档相匹配的简档的一个或多个用户,基于将与所确定的一个或多个用户相关联的面部模型中的一个或多个应用于该被检测面部来确定该被检测面部是否与所确定的一个或多个用户中的任何一个用户的面部相匹配,响应于该被检测面部与所确定一个或多个用户之一的面部相匹配的确定来对该被检测面部进行匿名化以生成匿名化面部,向媒体平台提供匿名化面部。
又另一实施例是一种其中存储有一个或多个智能合约的非暂时性机器可读存储介质,该一个或多个智能合约当由实现区块链的一个或多个网络设备的一个或多个处理器的集合执行时,使一个或多个网络设备执行用于对数字媒体内容中出现的面部进行匿名化的操作。该操作包括:针对多个用户中的每一个,获得与该用户相关联的面部模型和该用户的简档,其中,与该用户相关联的面部模型是可用于检测该用户的面部的计算模型,获得由数字媒体平台提供的媒体内容,以及检测数字媒体内容中出现的一个或多个面部。该操作还包括针对一个或多个被检测面部中的每一个执行以下操作:生成该被检测面部的简档,从多个用户中确定具有与该被检测面部的简档相匹配的简档的一个或多个用户,基于将与所确定的一个或多个用户相关联的面部模型中的一个或多个应用于该被检测面部来确定该被检测面部是否与所确定的一个或多个用户中的任何一个用户的面部相匹配,响应于该被检测面部与所确定一个或多个用户的面部相匹配的确定来对该被检测面部进行匿名化以生成匿名化面部,向媒体平台提供匿名化面部。
附图说明
通过参考以下用于说明本发明实施例的描述和附图,可以最佳地理解本发明。在附图中:
图1是根据一些实施例的基于区块链的面部匿名化系统的框图。
图2是示出了根据一些实施例的基于区块链的面部匿名化系统的组件之间的交互的图。
图3是根据一些实施例的用于对数字媒体内容中出现的面部进行匿名化的过程的流程图。
图4A示出了根据一些实施例的示例性网络内的网络设备(ND)之间的连接性以及ND的三种示例性实施方式。
图4B示出了根据一些实施例的实现专用网络设备的示例性方式。
具体实施方式
以下说明描述了用于对数字媒体内容中出现的面部进行匿名化的方法、装置和系统。在以下描述中,阐述了大量的具体细节,例如逻辑实现、操作码(opcode)、用于指定运算数的手段、资源分区/共享/复制实现、系统组件的类型和相互关系、以及逻辑分区/整合选择,以提供对本发明的更全面的理解。然而,本领域技术人员将意识到,本发明可以在没有这些具体细节的情况下实施。在其他实例中,并未详细示出控制结构、门级别电路和全软件指令序列,以不使本发明模糊。利用所包括的描述,本领域普通技术人员将能够在不进行过度试验的情况下实现恰当的功能。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不必包括该特定特征、结构或特性。此外,这些短语不必指同一实施例。此外,当结合实施例描述具体特征、结构或特性时,应认为结合其他实施例(不管是否是显式描述的)来实现这种特征、结构或特性是在本领域技术人员的知识内的。
在本文中,括号中的文本和具有虚线边界(例如,长划点虚线、短划线虚线、点虚线、以及点)的框可以用于示出向本发明实施例添加附加特征的可选操作。然而,这种标注不应当被视为意味着:在本发明的某些实施例中,他们是仅有的选项或可选操作,和/或具有实线边界的框不是可选的。
在以下描述和权利要求中,可以使用术语“耦接”和“连接”以及它们的派生词。应当理解,这些术语不旨在作为彼此的同义词。“耦接”用于指示两个或更多个元件可以彼此直接或可以不彼此直接物理或电学接触、彼此协作或交互。“连接”用于指示在彼此耦接的两个或更多个元件之间建立通信。
电子设备使用机器可读介质(也被称为计算机可读介质)来存储和(内部和/或在网络上与其他电子设备)传输代码(其由软件指令构成,且有时被称为计算机程序代码或计算机程序)和/或数据,机器可读介质是例如机器可读存储介质(例如,磁盘、光盘、固态驱动器、只读存储器(ROM)、闪存设备、相变存储器)和机器可读传输介质(也被称为载体)(例如,电、光、无线电、声或其他形式的传播信号-例如载波、红外信号)。因此,电子设备(例如,计算机)包括硬件和软件,例如,一个或多个处理器的集合(例如,其中处理器是微处理器、控制器、微控制器、中央处理单元、数字信号处理器、专用集成电路、现场可编程门阵列、其他电子电路、前述一项或多项的组合),其耦接到一个或多个机器可读存储介质以存储用于在该处理器集合上执行的代码和/或以存储数据。例如,电子设备可以包括包含代码的非易失性存储器,因为即使在电子设备关闭(当掉电时)时非易失性存储器也可以保持代码/数据,以及在打开电子设备时,通常将要由该电子设备的处理器执行的该部分代码从较慢的非易失性存储器中拷贝到该电子设备的易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))中。通常的电子设备还包括用于与其他电子设备建立网络连接(以使用传播信号来发射和/或接收代码和/或数据)的一个或多个物理网络接口的集合。例如,物理NI的集合(或物理NI的集合与执行代码的处理器集合的组合)可以执行任何格式化、编码或转换,以允许电子设备(通过有线和/或无线连接)发送和接收数据。在一些实施例中,物理NI可以包括能够通过无线连接从其他电子没备接收数据和/或经由无线连接将数据送出到其他设备的无线电电路。该无线电电路可以包括适合于射频通信的发射机、接收机和/或收发机。无线电电路可以将数字数据转换为具有适当参数(例如,频率、定时、信道、带宽等)的无线电信号。然后,无线电信号可以经由天线发射给适当的接收者。在一些实施例中,物理NI的集合可以包括网络接口控制器(NIC),也称为网络接口卡、网络适配器或局域网(LAN)适配器。通过将电缆插入连接到NIC的物理端口,NIC可以便于将电子设备连接到其他电子设备,从而允许它们进行有线通信。实施例的一个或多个部分可以使用软件、固件、和/或硬件的不同组合来实现。
网络设备(ND)是将网络上其它电子设备(例如,其它网络设备、端用户设备)加以通信互联的电子设备。一些网络设备是为多个联网功能(例如,路由、桥接、交换、层2聚合、会话边界控制、服务质量、和/或订户管理)提供支持、和/或为多应用服务(例如,数据、语音、和视频)提供支持的“多服务网络设备”。
如上所述,使用现有匿名化方法,图像/视频的所有者/上传者是控制哪些图像/视频正在被匿名化以及在这些图像/视频中什么/谁被匿名化的人。图像/视频中出现的其他人(不是图像/视频的所有者/上传者的人)对图像/视频几乎没有编辑控制权。因此,一个人的面部可以出现在公共空间(例如,在社交媒体或视频共享平台上)中由其他人共享/上传的图像/视频中,有时该人甚至不知道他/她的面部出现在这些图像/视频中,从而损害该人的身份/隐私。这可以意外地发生(例如,在旅游照片的情况下),也可以故意地发生(例如,当旨在揭示/损害该人的身份时)。更一般地,出现此问题是因为该人仅对其共享/上传的图像/视频具有控制权,而对他人共享/上传的图像/视频没有编辑控制权。
本公开描述了一种基于区块链的可以允许用户和媒体平台注册面部匿名化的面部匿名化系统。基于区块链的面部匿名化系统可以自动对由注册媒体平台提供的媒体内容中所检测到的注册用户的面部进行匿名化。基于区块链的面部匿名化系统可以使用区块链中存储的一个或多个智能合约来实现,以提供自主、透明和可验证的面部匿名化。实施例是一种由一个或多个网络设备执行区块链中存储的一个或多个智能合约以用于对数字媒体内容中出现的面部进行匿名化的方法。该方法包括:针对被注册面部匿名化的多个用户中的每一个,获得与该用户相关联的面部模型和该用户的简档,其中,与该用户相关联的面部模型是可用于检测该用户的面部的计算模型,获得由被注册面部匿名化的数字媒体平台提供的媒体内容,以及检测数字媒体内容中出现的一个或多个面部。该方法还可以包括对一个或多个被检测面部中的每一个执行以下操作:生成该被检测面部的简档,从多个用户中确定具有与该被检测面部的简档相匹配的简档的一个或多个用户,基于将与所确定的一个或多个用户相关联的面部模型中的一个或多个应用于该被检测面部来确定该被检测面部是否与所确定的一个或多个用户中的任何一个用户的面部相匹配,响应于该被检测面部与所确定一个或多个用户之一的面部相匹配的确定来对该被检测面部进行匿名化以生成匿名化面部,向媒体平台提供匿名化面部以允许媒体平台发布具有匿名化面部的媒体内容。下面参考附图进一步描述本文的各种实施例。
图1是根据一些实施例的基于区块链的面部匿名化系统的框图。如图所示,该系统包括用户110A至110N、媒体平台120A至120C和区块链130。用户110可以与希望在公共数字媒体内容(例如,数字图像和/或数字视频)中匿名化他们的面部的人相对应。如本文将进一步描述的,用户110可以注册面部匿名化以请求在注册媒体平台120所提供的数字媒体内容中对他们的面部进行匿名化。媒体平台120是允许公开共享数字媒体内容的平台。如图所示,媒体平台120包括社交媒体平台120A(例如,等)、视频共享平台120B(例如,等)、以及博客平台120C(例如,等)。然而,应当理解,媒体平台120可以包括除了图中所示的平台之外的其他类型的平台(例如,公共相机平台)。如本文将进一步描述的,媒体平台120可以注册面部匿名化以同意提供将被匿名化的数字媒体内容。
面部模型生成器140可以生成与对面部匿名化感兴趣的用户相关联的面部模型。如本文所使用,与用户相关联的面部模型是可用于检测数字媒体内容中该用户的面部的计算模型。如本文所使用,数字媒体内容是指以机器可读格式编码的任何媒体,例如数字图像和数字视频。面部模型生成器140可以基于接收包含作为训练输入的用户面部的数字图像/视频并且对训练输入应用机器学习技术来生成与用户相关联的面部模型。可以用于训练/生成与用户相关联的面部模型的机器学习技术的示例包括但不限于卷积神经网络算法和支持向量机算法。在一个实施例中,面部模型生成器140可以使用诸如FaceNet、DeepFace、OpenFace或类似系统的系统来生成与用户相关联的面部模型。在一个实施例中,面部模型生成器140被实现为可以安装在用户的移动设备(例如,智能电话、平板计算机或膝上型计算机)上的移动应用。移动应用可以提供用户界面,该用户界面允许用户向移动应用输入/选择包括用户面部(例如,从各种不同角度)的数字图像/视频作为训练输入。移动应用可以将机器学习技术(例如,上面提到的机器学习技术)应用于训练输入以生成与用户相关联的面部模型,该面部模型可以用于检测数字媒体内容中的用户面部。因此,用户110可以将移动应用下载到他们各自的移动设备并使用移动应用来生成面部模型。附加地或备选地,在一个实施例中,面部模型生成器140被实现为用户可以向其上传包含他们的面部的数字图像/视频的服务器。服务器可以接收包含用户面部的数字图像/视频作为训练输入,并将机器学习技术应用于训练输入以生成与用户相关联的面部模型,该模型可以用于检测数字媒体内容中的用户面部。因此,用户110可以将包含他们的面部的数字图像/视频上传到服务器(例如,经由安全网站或应用编程接口(API)),并且该服务器可以生成与各个用户相关联的面部模型。
区块链130是不断增长的使用密码学进行链接的记录列表,它们被称为“区块”。区块链130可以存储允许在没有第三方中介的情况下执行可信交易/操作的智能合约,其中交易/操作是可追踪的和不可逆的。如图所示,区块链130存储用户匿名智能合约150、媒体平台智能合约160、面部检测智能合约170、本地化智能合约180和匿名智能合约190。这些智能合约可以均包括可以由实现区块链130的一个或多个的网络设备执行的计算机可执行代码。如本文将进一步详细描述的,可以执行智能合约以对由注册媒体平台提供的数字媒体内容中出现的注册用户的面部进行匿名化。在一个实施例中,智能合约是用Solidity编程语言编写的以太坊智能合约(然后将其编译为在以太坊虚拟机(EVM)中运行的较低水平的字节码)。然而,应当理解,可以使用其他类型的智能合约,并且智能合约可以用其他类型的编程语言编写。此外,虽然该图示出了使用五个单独的智能合约(例如,以提供模块化)实现的面部匿名化功能,但应当理解,可以使用比所示更少或更多的智能合约来实现相同/相似的功能(例如,两个或更多个智能合约可以组合成单个智能合约的功能,或者单个智能合约可以划分为多个智能合约的功能)。
用户匿名智能合约150可以包括允许用户110注册面部匿名化的计算机可执行代码。用户匿名智能合约150还可以包括接收与用户110相关联的(例如,由面部模型生成器140生成的)面部模型和用户的简档的计算机可执行代码。用户的简档可以包括对应于用户的一个或多个属性的属性值,例如,用户的年龄组(例如,十几岁、二十多岁、三十多岁、四十多岁等)、用户的性别(例如,男性或女性)、用户的肤色和/或用户的位置。
媒体平台智能合约160可以包括允许媒体平台120注册面部匿名化的计算机可执行代码。媒体平台智能合约160还可以包括接收由媒体平台120提供的要匿名化的数字媒体内容并将接收到的数字媒体内容提供给面部检测智能合约170的计算机可执行代码。
面部检测智能合约170可以包括接收由媒体平台120(例如,经由媒体平台智能合约160或直接从媒体平台120本身)提供的数字媒体内容并检测数字媒体内容中出现的面部的计算机可执行代码。可以使用任何类型的面部检测算法在数字媒体内容中检测面部。可以使用的面部检测算法的示例包括但不限于Haar-cascade算法、Eigenfaces算法、Fisherfaces算法、局部二进制模式算法和卷积神经网络算法。面部检测智能合约170还可以包括将被检测面部发送给本地化智能合约180的计算机可执行代码。在一个实施例中,从数字媒体内容中裁剪在数字媒体内容中检测的面部,并将裁剪的面部发送给本地化智能合约180以进行进一步处理(与发送/处理整个图像/视频相比,裁剪面部减少了数据量)。在另一实施例中,通过将关于面部的数据发送给本地化智能合约180而不从数字媒体内容中裁剪面部(例如,通过例如使用边界框指定在数字媒体内容中检测的面部的位置),将被检测面部发送给本地化智能合约。
本地化智能合约180可以包括接收在数字媒体内容(例如,来自面部检测智能合约170)中检测的面部并生成被检测面部的简档的计算机可执行代码。被检测面部的简档可以包括与被检测面部的一个或多个属性相对应的一个或多个属性值。被检测面部属性可以与用户简档中包括的属性相同或重叠。例如,被检测面部的属性可以包括被检测面部的年龄组(例如,十几岁、二十多岁、三十多岁、四十多岁等)、被检测面部的性别(例如,男性或女性)、被检测面部的肤色和/或被检测面部的位置。可以基于将一个或多个计算模型应用于被检测面部来确定被检测面部的属性值,这些计算模型使用机器学习技术进行训练以具体确定这些属性值(例如,经过训练以检测面部的年龄组、检测面部的性别等的计算模型)。在一个实施例中,属性值中的每一个被分配了置信度水平,该置信度水平指示使用计算模型进行的分类/确定的置信度(例如,被检测面部处于二十多岁年龄组的置信度为80%)。本地化智能合约180还可以包括将被检测面部和被检测面部的简档发送给用户匿名智能合约150的计算机可执行代码。如本文将进一步描述的,被检测面部的简档可以用于减少应用于被检测面部的面部模型的搜索空间。
用户匿名智能合约150可以包括从本地化智能合约180接收被检测面部和被检测面部的简档的计算机可执行代码。用户匿名智能合约150还可以包括确定哪些注册用户具有与被检测面部的简档相匹配的简档并且基于将与这些用户相关联的面部模型应用于被检测面部来确定被检测面部是否与这些用户中的任何一个用户相匹配的计算机可执行代码。例如,如果被检测面部的简档包括指示被检测面部是20多岁、具有较深肤色的女性的属性值,则被检测面部将与具有相同/相似简档的用户的面部进行匹配。这有助于减少应用于被检测面部的面部模型的搜索空间,从而允许更低的计算成本和更快的匹配速度。在一个实施例中,仅使用具有高于阈值水平的置信度水平的被检测面部的属性值来确定哪些注册用户具有与被检测面部的简档相匹配的简档。如果被检测面部与具有与被检测面部的简档相匹配的简档的用户中的任何一个用户的面部不匹配,则确定被检测面部是否与任何其他剩余注册用户的面部相匹配(基于将与这些其他用户相关联的面部模型应用于被检测面部)。如果确定被检测面部与注册用户的面部相匹配,则用户匿名智能合约150还可以包括将被检测面部发送给匿名化智能合约190的计算机可执行代码。
匿名智能合约190可以包括接收要匿名化的面部(例如,来自用户匿名智能合约150)并对面部进行匿名化的计算机可执行代码。例如通过像素化/模糊面部、用合成面部替换面部、将面部与背景场景进行混合或以其他方式隐藏面部,可以对面部进行匿名化。匿名化智能合约190还可以包括向媒体平台120(其提供包括面部的数字媒体内容)提供匿名化面部以允许媒体平台发布具有匿名化面部的数字媒体内容的计算机可执行代码。在一个实施例中,以裁剪形式将匿名化面部提供给媒体平台120,并且媒体平台负责将匿名化面部“缝合”到数字媒体内容内的原始位置/时间。备选地或附加地,在一个实施例中,匿名化智能合约190包括将匿名化的面部缝合到其在数字媒体内容内的原始位置/时间并将包括缝合其中的匿名化面部的数字媒体内容提供给媒体平台120的计算机可执行代码。
存在可能需要特殊处理的某些用例。一个可能需要特殊处理的用例是当用户希望出现在某些数字媒体内容中而不出现在其他数字媒体内容中时。例如如果用户出现在广告中,可能就是这种情况。在这种情况下,用户可能不希望在广告中被匿名化,而在其他(非广告)数字媒体内容中被匿名化。为了允许这种用例,系统可以向用户提供选项(例如,在注册期间或注册之后)以指定用户的面部在数字媒体内容中被匿名化的某些条件。例如,系统可以允许用户在被识别为广告的数字媒体内容中指定应该为用户禁用面部匿名化。如果用户指定应该为广告禁用面部匿名化,则如果在被识别为广告的数字媒体内容中出现用户的面部,则系统可以避免对用户的面部进行匿名化。另一个可能需要特殊处理的用例是当用户的面部与另一用户的面部非常相似时。这可以导致两个(或更多个)面部模型在数字媒体内容中识别出相同的面部,这可以导致错误的面部在未经用户同意的情况下被匿名化。为了解决这种情况,系统可以提供解决冲突的选项。例如,系统可以允许用户指定在这种情况下要采取的动作。该动作可以是向用户忽略或通知该事件。如果用户被通知这种事件,系统可以允许用户提供与数字媒体内容相关的备注(例如,位置、已知人(如果他们出现在数字媒体内容中)等),其可以被传送到注册媒体平台,该平台将能够验证并随后决定是否继续进行匿名化。例如,注册媒体平台可以通过基于将数字媒体内容的元数据与验证备注相匹配来决定是否继续进行匿名化来充当调解者。在匹配不确定的极少数情况下,注册媒体平台可以决定保持匿名化。
本文公开的实施例提供了若干益处。一个益处是实施例可以自动和自主地(例如,不涉及第三方中介)对由注册媒体平台提供的数字媒体内容中出现的注册用户的面部进行匿名化。因此,即使用户不拥有/共享/上传该数字媒体内容,用户也可以使他/她的面部在数字媒体内容中被匿名化。本文公开的实施例的另一益处是,即使用户不是媒体平台的用户,它们也能够对由媒体平台提供的数字媒体内容中出现的用户的面部进行匿名化(只要用户和媒体平台二者都用基于区块链的面部匿名化系统进行注册)。本文公开的实施例的另一益处是它们通过使用区块链中存储的智能合约实现来提供透明度。用户和媒体平台都可以访问区块链中存储的智能合约(因此这些智能合约的规范/行为对用户和媒体平台已知),这在各方之间建立了信任。本文公开的实施例的另一益处是它们提供了可验证的结果。智能合约和区块链的使用确保面部匿名化过程始终通过工作证明或其他类型的共识机制进行验证。
此外,如上所述,本地化方面有助于减少应用于被检测面部的面部模型的搜索空间,从而允许更低的计算成本和更快的匹配速度。然而,应当注意,基于区块链的面部匿名化系统可以在没有本地化方面的情况下实现,尽管与实现本地化的实施例相比,这种实施例通常可能具有更高的计算成本和更长的匹配时间。
图2是示出了根据一些实施例的基于区块链的面部匿名化系统的组件之间的交互的图。在圆圈“1”处,用户110向面部模型生成器140提供训练图像(例如,包括不同角度的用户面部的数字图像)。用户110还可以向面部模型生成器140提供用户的简档。在圆圈‘2’处,面部模型生成器140生成与用户110相关联的面部模型并将该面部模型连同用户110的简档一起发送给用户匿名智能合约150。在圆圈“3”处,媒体平台120向面部检测智能合约170提供要匿名化的数字媒体内容。在圆圈“4”处,面部检测智能合约170检测在媒体内容中出现的面部并将被检测面部发送给本地化智能合约180。在圆圈“5”处,本地化智能合约生成被检测面部的简档,并将被检测面部和被检测面部的简档发送给用户匿名智能合约150。在圆圈“6”处,用户匿名智能合约150将与注册用户相关联的面部模型应用于被检测面部以确定被检测面部中的哪些(如果有的话)与注册用户的面部匹配。为了减少需要应用于被检测面部的面部模型的搜索空间,用户匿名智能合约150可以确定哪些注册用户具有与被检测面部的简档相匹配的简档,并将与这些用户相关的面部模型应用于被检测面部。如果被检测面部不与这些用户中的任何一个用户的面部相匹配,则用户匿名智能合约150可以扩展搜索空间(例如,以包括不具有与被检测面部的简档匹配的简档或以其他方式具有不太兼容的简档匹配的注册用户的面部模型)。用户匿名智能合约150然后可以将被检测面部中与用户110的面部(或其他注册用户中的任何一个的面部)相匹配的面部发送给匿名智能合约190。在圆圈“7”处,匿名智能合约190对被检测面部进行匿名化,并将匿名化面部发送给媒体平台120。
图3是根据一些实施例的用于对数字媒体内容中出现的面部进行匿名化的过程的流程图。在一个实施例中,该过程由执行区块链中存储的一个或多个智能合约的一个或多个网络设备来实现。该过程可以使用硬件、软件、固件或其任何组合来实现。将参考其他附图的示例实施例来描述流程图中的操作。然而,应当理解,流程图中的操作可以由除了参考其他附图描述的那些实施例之外的实施例来执行,并且参考这些其他附图讨论的实施例可以执行与参考流程图来讨论的那些实施例不同的操作。
在一个实施例中,响应于从用户接收的注册面部匿名化的请求,一个或多个网络设备将用户注册面部匿名化,其中,将用户被注册面部匿名化的指示存储在区块链中。响应于从媒体平台接收的注册面部匿名化的请求,一个或多个网络设备将媒体平台注册面部匿名化,其中,将媒体平台被注册面部匿名化的指示存储在区块链中;以及
在框310处,针对(例如,注册面部匿名化的)多个用户中的每一个用户,一个或多个网络设备获得与该用户相关联的面部模型和该用户的简档(例如,其包括用户的年龄组、用户的性别和/或用户的肤色),其中与该用户相关联的面部模型是可用于在数字媒体内容中检测该用户的面部的计算模型。在一个实施例中,多个用户中的每一个被注册面部匿名化。
在框320处,一个或多个网络设备获得由(例如,被注册面部匿名化的)媒体平台提供的数字媒体内容。在一个实施例中,媒体平台是社交媒体平台、视频分享平台、博客平台或公共相机平台(或其任何组合)。在一个实施例中,媒体平台被注册面部匿名化。在一个实施例中,媒体平台是被注册面部匿名化的多个媒体平台之一。在一个实施例中,数字媒体内容包括由媒体平台的用户上传到媒体平台的数字图像或数字视频。在一个实施例中,多个用户中的至少一个用户不是媒体平台的用户(例如,没有媒体平台账户的用户)。
在框330处,一个或多个网络设备检测数字媒体内容中出现的一个或多个面部。对于被检测面部中的每一个,一个或多个网络设备执行框340至395。在框340处,一个或多个网络设备生成被检测面部的简档(例如,其包括被检测面部的年龄组、被检测面部的性别和/或被检测面部的肤色)。在框350处,一个或多个网络设备从多个用户中确定具有与被检测面部的简档相匹配的简档的一个或多个用户。在一个实施例中,多个用户中的给定用户的简档和一个或多个被检测面部中的给定被检测面部的简档均包括对应于一个或多个属性的一个或多个属性值,其中,如果给定用户的简档中包括的一个或多个属性值与给定被检测面部的简档中包括的对应属性值相匹配,则确定给定用户的简档与给定被检测面部的简档相匹配。在一个实施例中,一个或多个属性包括以下各项中的一项或多项:年龄组、性别、肤色和位置。在决策框360处,一个或多个网络设备确定被检测面部是否与所确定的一个或多个用户中的任何一个的面部相匹配(基于将与所确定的一个或多个用户相关联的面部模型应用于被检测面部)。如果被检测面部与所确定的一个或多个用户中的任何一个用户的面部相匹配,则过程进行到框390,其中一个或多个网络设备对被检测面部进行匿名化以生成匿名化面部。在一个实施例中,通过对给定被检测面部进行像素化、用合成面部替换给定被检测面部、或将给定被检测面部与数字媒体内容中包括的背景场景进行混合来对被检测面部中的给定被检测面部进行匿名化。在框395处,一个或多个网络设备向媒体平台提供匿名化面部(例如,以允许媒体平台发布具有匿名化面部的数字媒体内容)。返回到决策框360,如果一个或多个网络设备确定被检测面部不与所确定的一个或多个用户中的任何一个用户的面部相匹配,则过程进行到决策框370。在决策框370,一个或多个网络设备确定被检测面部是否与其他用户中的任何一个用户的面部相匹配。如果被检测面部与其他用户中的任何一个用户的面部相匹配,则过程进行到框390,其中一个或多个网络设备对被检测面部进行匿名化以生成匿名化面部。在395处,一个或多个网络设备向媒体平台提供匿名化面部。返回到决策框370,如果一个或多个网络设备确定被检测面部不与其他用户中的任何一个用户的面部相匹配,则过程进行到框380,其中确定被检测面部未被匿名化。
如果一个或多个网络设备完成对被检测面部组的处理,则该过程进行到块320,其中一个或多个网络设备从媒体平台获得要匿名化的附加数字媒体内容。一个或多个网络设备可以重复框330至395,以按与上述方式类似的方式处理附加数字媒体内容。
图4A示出了根据一些实施例的示例性网络内的网络设备(ND)之间的连接性以及ND的三种示例性实施方式。图4A示出了ND400A至ND400H以及它们之间的连接,该连接通过400A与400B、400B与400C、400C与400D、400D与400E、400E与400F、400F与400G和400A与400G之间以及400H与400A、400C、400D和400G中的每一个之间的线示出。这些ND是物理设备,且这些ND之间的连接性可以是无线的或有线的(通常被称为链路)。从ND 400A、400E和400F延伸的附加线示出了:这些ND充当网络的进入点和离开点(因此,这些ND有时被称为边缘ND;而其它ND可以被称为核心ND)。
图4A中的两个示例性ND实现方式是:1)使用定制的专用集成电路(ASIC)和专用操作系统(OS)的专用网络设备402;以及2)使用公共现成处理器(COTS)和标准操作系统OS的通用网络设备404。
专用网络设备402包括联网硬件410,该联网硬件410包括一个或多个处理器412的集合、转发资源414(其通常包括一个或多个ASIC和/或网络处理器)、以及物理网络接口(NI)416(通过其进行网络连接,例如由ND400A与ND400H之间的连接性所示的那些)、以及其中存储有联网软件420的非暂时性机器可读存储介质418。在操作期间,联网软件420可以由联网硬件410来执行,以实例化一个或多个联网软件实例422的集合。每个联网软件实例422以及联网硬件410的执行该网络软件实例的部分(如果其是专用于该联网软件实例的硬件和/或由该联网软件实例与其他联网软件实例422按时间共享的硬件的时间片)形成了单独的虚拟网元430A至430R。每个虚拟网元(VNE)430A至430R包括控制通信和配置模块432A至432R(有时被称为本地控制模块或控制通信模块)和转发表434A至434R,使得给定虚拟网元(例如,430A)包括控制通信和配置模块(例如,432A)、一个或多个转发表的集合(例如,434A)、以及联网硬件410的执行虚拟网元(例如,430A)的部分。
软件420可以包括诸如面部匿名化智能合约425(其可以包括用户匿名智能合约150、媒体平台智能合约160、面部检测智能合约170、本地化智能合约180和匿名化智能合约190中的一种或多种)的代码,该代码当由联网硬件510执行时,使专用网络设备402执行上文描述的一个或多个实施例的操作作为部分联网软件实例422(例如,以提供本文描述的基于区块链的面部匿名化功能)。
专用网络设备402经常在物理上和/或逻辑上被视为包括:1)ND控制平面424(有时被称为控制平面),包括执行控制通信和配置模块432A至432R的处理器412;以及2)ND转发平面426(有时被称为转发平面、数据平面或媒体平面),包括利用转发表434A至434R和物理NI 416的转发资源414。作为ND是路由器(或实现路由功能)的示例,ND控制平面424(执行控制通信和配置模块432A至432R的处理器412)通常负责参与控制如何路由(例如,数据的下一跳和该数据的输出物理NI)数据(例如,分组)并负责在转发表434A至434R中存储该路由信息,以及ND转发平面426负责在物理NI 416上接收该数据并基于转发表434A至434R将该数据转发出物理NI416中的适当的物理NI。
图4B示出了根据一些实施例的实现专用网络设备402的示例性方式。图4B示出了包括卡438(通常是可热插拔的)在内的专用网络设备。尽管在一些实施例中,卡438具有两种类型(作为ND转发平面426来工作的一个或多个(有时被称为线路卡)、以及进行工作以实现ND控制平面424的一个或多个(有时被称为控制卡)),备选实施例可以将功能结合到单个卡上和/或包括附加卡类型(例如,一种附加类型的卡被称为服务卡、资源卡、或多应用卡)。服务卡可以提供特殊处理(例如,层4到层7服务(例如,防火墙、互联网协议安全(IPsec)、安全套接字层(SSL)/传输层安全(TLS)、入侵检测系统(IDS)、对等(P2P)、基于IP的语音(VoIP)会话边界控制器、移动无线网关(网关通用分组无线电服务(GPRS)支持节点(GGSN)、演进分组核心(EPC)网关))。作为示例,服务卡可以用于终止IPsec隧道,并执行伴随的认证和加密算法。这些卡通过示出为背板436的一个或多个互联机制耦接在一起(例如,第一全网格耦接线路卡以及第二全网格耦接所有卡)耦接。
返回到图4A,通用网络没备404包括硬件440,该硬件440包括一个或多个处理器442的集合(通常是COTS处理器)和物理NI446、以及其中存储有软件450的非暂时性机器可读存储介质448。在操作期间,处理器442执行软件450以实例化一个或多个应用464A至464R的一个或多个集合。虽然一个实施例不实现虚拟化,但是备选实施例可以使用不同形式的虚拟化。例如,在一个这样的备选实施例中,虚拟化层454表示操作系统的内核(或在基本操作系统上执行的shim),其允许创建称为软件容器的多个实例462A至462R,每个实例可用于执行应用集合464A至464R中的一个(或多个)。其中,多个软件容器(也被称为虚拟化引擎、虚拟专用服务器或监禁(jail))是用户空间实例(通常是虚拟内存空间),这些用户空间实例彼此分离并与运行操作系统的内核空间分离;以及其中,除非明确允许,否则在给定用户空间中运行的应用的集合不能访问其他进程的内存。在另一个这种备选实施例中,虚拟化层454表示监管程序(有时称为虚拟机监视器(VMM))或在主机操作系统之上执行的监管程序,并且应用464A至464R的集合中的每一个运行在实例462A至462R内的客户操作系统之上,其称为运行在监管程序之上的虚拟机(在一些情况下,可以将其视为紧密隔离的软件容器形式)——客户操作系统和应用可能不知道它们在虚拟机上运行而不是在“裸机”主机电子设备上运行,或者通过半虚拟化,操作系统和/或应用可以意识到存在虚拟化以用于优化目的。在其他备选实施例中,一个、一些或所有应用被实现为单内核,其可以通过直接与应用仅编译有限的、提供应用所需的特定OS服务的一组库(例如,来自库操作系统(LibOS),包括OS服务的驱动程序/库)来生成。由于单内核可以实现为直接在硬件440上、直接在监管程序上(在这种情况下,单内核有时被描述为在LibOS虚拟机内运行)、或者在软件容器中运行,实施例可以完全由如下的单内核来实现:直接运行在由虚拟化层454表示的监管程序上的单内核、运行在由实例462A至462R表示的软件容器内的单内核、或者单内核和上述技术的组合(例如,单内核和虚拟机两者都直接运行在监管程序之上,单内核和在不同软件容器内运行的应用程序的集合)。
一个或多个应用464A至464R的一个或多个集合的实例化以及虚拟化(如果实现的话)统称为软件实例452。每个应用464A至464R集合、相应的虚拟化构造(例如,实例462A至462R)(如果实现的话)、以及执行它们的硬件440的部分(是专用于该执行的硬件和/或临时共享的硬件的时间片),形成单独的虚拟网元460A至460R。
虚拟网元460A至460R执行与虚拟网元430A至430R类似的功能——例如,类似于控制通信和配置模块432A和转发表434A(硬件440的这种虚拟化有时被称为网络功能虚拟化(NFV))。因此,NFV可以用于将很多网络设备类型统一到工业标准高容量服务器硬件、物理交换机、和物理储存设备,它们可以位于数据中心、ND、和客户住宅设备(CPE)中。尽管将本发明的实施例示出为每个实例462A至462R对应于一个VNE 460A至460R,备选实施例可以在更精细水平粒度上实现该对应关系(例如,线路卡虚拟机虚拟化线路卡、控制卡虚拟机虚拟化控制卡等);应当理解:本文参考实例462A至462R与VNE的对应关系来描述的技术同样适用于使用这种更精细水平粒度和/或单内核的实施例。
在某些实施例中,虚拟化层454包括提供与物理以太网交换机类似的转发服务的虚拟交换机。具体地,该虚拟交换机在实例462A至462R和物理NI 446之间转发业务,以及可选地在实例462A至462R之间转发业务;此外,该虚拟交换机可以在不被允许彼此通信的VNE460A至460R之间通过策略来强制执行网络隔离(例如,通过执行虚拟局域网(VLAN))。
软件450可以包括诸如面部匿名化智能合约463(其可以包括用户匿名智能合约150、媒体平台智能合约160、面部检测智能合约170、本地化智能合约180和匿名化智能合约190中的一种或多种)的代码,该代码当由处理器442执行时,使通用网络设备404执行上文描述的一个或多个实施例的操作作为部分软件实例462A至462R(例如,以提供本文描述的基于区块链的面部匿名化功能)。
图4A中的第三示例性ND实现是混合网络设备406,其在单个ND或ND内的单个卡中包括定制ASIC/专有OS和COTS处理器/标准OS。在这种混合网络设备的某些实施例中,平台VM(即,实现专用网络设备402的功能的VM)可以向混合网络设备406中存在的联网硬件提供准虚拟化。
不管ND的上述示例实现如何,当考虑由ND实现的多个VNE中的单个一个VNE时,或者在NV当前仅实现单个VNE的情况下,缩写的术语网元(NE)有时被用于指代该VNE。同样在全部上述示例实现中,每个VNE(例如,VNE430A-R、VNE460A-R、以及混合网络设备406中的那些)在物理NI(例如,416、446)上接收数据并将该数据转发出物理NI(例如,416、446)中的恰当物理NI。例如,实现IP路由器功能的VNE基于IP分组中的一些IP头部信息来转发IP分组;其中,IP头部信息包括源IP地址、目的地IP地址、源端口、目的地端口(其中,在本文中“源端口”和“目的地端口”指代协议端口,与ND的物理端口相对)、传输协议(例如,用户数据报协议(UDP)、传输控制协议(TCP)和差异化代码点(DSCP)值。
网络接口(NI)可以是物理的或虚拟的;以及在IP的上下文中,接口地址是指派给NI的IP地址,无论是物理NI还是虚拟NI。虚拟NI可以与物理NI相关联、与另一虚拟接口相关联、或者是独立的(例如,环回接口、点对点协议接口)。NI(物理或虚拟)可以是有编号的(具有IP地址的NI)或无编号的(不具有IP地址的NI)。环回接口(及其环回地址)是经常用于管理用途的NE/VNE(物理或虚拟)的特定类型的虚拟NI(和IP地址);其中,这种IP地址被称为节点环回地址。向ND的NI指派的IP地址被称为该ND的IP地址;在更多粒度水平上,向ND上实现的NE/VNE指派的NI指派的IP地址可被称为该NE/VNE的IP地址。
已经在计算机存储器内的数据位的事务的算法和符号表示方面呈现了本发明详细描述的一些部分。这些算法和表示是数据处理领域的技术人员通常用来向本领域的其他技术人员传播他们的工作内容的方式。算法在这里通常被设想为导致期望结果的自相一致的事务顺序。事务是需要对物理量的物理操纵的步骤。通常(尽管并不一定),这些量采用能够被存储、传送、组合、比较和以其它方式操纵的电或磁信号的形式。已证明为了方便,主要为了通常使用的原因,这些信号可以利用比特、值、元素、符号、特征、项、数字等来进行表示。
然而,应当记住,所有这些和类似的术语将与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非如以上讨论中显而易见的另行明确声明,否则应当意识到:在说明书全文中,使用诸如“处理”或“运算(computing)”或“计算(calculating)”或“确定”或“显示”等之类的术语的讨论指代计算机系统或类似电子计算设备的动作和进程,该计算机系统或类似电子计算设备将表示计算机系统的寄存器和存储器中的物理(电子)量的数据操作和变换为类似表示为计算机系统存储器或寄存器或其他这种信息存储、传输或显示设备中的物理量的其他数据。
这里给出的算法和显示并非固有地与任何特定计算机或其他装置相关。各种通用系统可以与根据本文的教义的程序一起使用,或者可以证明能够方便地构造更专门的装置来执行所需的方法事务。从上面的描述中可以看出各种这些系统所需的结构。此外,并未参考任何特定编程语言来描述实施例。应当理解,可以使用各种编程语言来实现如本文所述的实施例的教导。
一个实施例可以是一种制品,其中非暂时性机器可读存储介质(例如,微电子存储器)上存储有对一个或多个数据处理组件(这里统称为“处理器”)进行编程的指令(例如,计算机代码)来执行上述操作。在其他实施例中,这些操作中的一些可以由包含硬连线逻辑的特定硬件组件(例如,专用数字滤波器块和状态机)来执行。备选地,这些操作可以由编程数据处理组件和固定硬连线电路组件的任何组合来执行。
在整个说明书中,已经通过流程图呈现了实施例。应当理解,这些流程图中描述的事务和事务顺序仅用于说明目的,而不是作为对本发明的限制。本领域普通技术人员将认识到,在不脱离所附权利要求中阐述的本发明的更广泛精神和范围的情况下,可以对流程图进行变化。
在前述说明书中,已经参考其特定示例性实施例描述了实施例。显而易见的是,在不脱离所附权利要求中阐述的本发明的更广泛的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应当被看做说明性的而不是限制意义的。
Claims (20)
1.一种由一个或多个网络设备执行区块链中存储的一个或多个智能合约以用于对数字媒体内容中出现的面部进行匿名化的方法,所述方法包括:
针对多个用户中的每一个,获得(310)与所述用户相关联的面部模型和所述用户的简档,其中,与所述用户相关联的所述面部模型是能够用于检测所述用户的面部的计算模型;
获得(320)由媒体平台提供的数字媒体内容;
检测(330)所述数字媒体内容中出现的一个或多个面部;以及
针对一个或多个被检测面部中的每一个:
生成(340)所述被检测面部的简档,
从所述多个用户中确定(350)具有与所述被检测面部的简档相匹配的简档的一个或多个用户,
基于将与所确定的一个或多个用户相关联的面部模型中的一个或多个面部模型应用于所述被检测面部,确定(360)所述被检测面部是否与所述确定的一个或多个用户中的任何一个用户的面部相匹配,
响应于所述被检测面部与所述确定的一个或多个用户之一的面部相匹配的确定,对所述被检测面部进行匿名化(390)以生成匿名化面部,以及
向所述媒体平台提供(395)所述匿名化面部。
2.根据权利要求1所述的方法,其中,所述多个用户中的给定用户的简档和所述一个或多个被检测面部中的给定被检测面部的简档均包括对应于一个或多个属性的一个或多个属性值,其中,如果所述给定用户的简档中包括的一个或多个属性值与所述给定被检测面部的简档中包括的对应属性值相匹配,则确定所述给定用户的简档与所述给定被检测面部的简档相匹配。
3.根据权利要求2所述的方法,其中,所述一个或多个属性包括以下各项中的一项或多项:年龄组、性别、肤色和位置。
4.根据权利要求1所述的方法,其中,所述多个用户中的至少一个用户不是所述媒体平台的用户。
5.根据权利要求1所述的方法,其中,所述数字媒体内容包括由所述媒体平台的用户上传到所述媒体平台的数字图像或数字视频。
6.根据权利要求1所述的方法,其中,所述多个用户中的每一个用户被注册面部匿名化,并且其中,所述媒体平台被注册面部匿名化。
7.根据权利要求6所述的方法,还包括:
响应于从所述用户接收的注册面部匿名化的请求,将用户注册面部匿名化,其中,将用户被注册面部匿名化的指示存储在所述区块链中;以及
响应于从所述媒体平台接收的注册面部匿名化的请求,将所述媒体平台注册面部匿名化,其中,将媒体平台被注册面部匿名化的指示存储在所述区块链中。
8.根据权利要求6所述的方法,其中,所述媒体平台是被注册面部匿名化的多个媒体平台之一。
9.根据权利要求1所述的方法,其中,通过以下来对所述被检测面部中的给定被检测面部进行匿名化:对所述给定被检测面部进行像素化、用合成面部替换所述给定被检测面部、或将所述给定被检测面部与所述数字媒体内容中包括的背景场景进行混合。
10.根据权利要求1所述的方法,其中,所述媒体平台是社交媒体平台、视频共享平台、博客平台或公共相机平台。
11.一种网络设备(404),被配置为执行区块链中存储的一个或多个智能合约以对数字媒体内容中出现的面部进行匿名化,所述网络设备包括:
一个或多个处理器(442)的集合;以及
非暂时性机器可读存储介质(448),其中存储有所述一个或多个智能合约(463),所述一个或多个智能合约(463)当由一个或多个处理器的集合执行时,使所述网络设备:
针对多个用户中的每一个,获得与所述用户相关联的面部模型和所述用户的简档,其中,与所述用户相关联的面部模型是能够用于检测所述用户的面部的计算模型,
获得由媒体平台提供的数字媒体内容,
检测所述数字媒体内容中出现的一个或多个面部,以及
针对一个或多个被检测面部中的每一个:
生成所述被检测面部的简档,
从所述多个用户中确定具有与所述被检测面部的简档相匹配的简档的一个或多个用户,
基于将与所确定的一个或多个用户相关联的面部模型中的一个或多个面部模型应用于所述被检测面部,确定所述被检测面部是否与所述确定的一个或多个用户中的任何一个用户的面部相匹配,
响应于所述被检测面部与所述确定的一个或多个用户之一的面部相匹配的确定,对所述被检测面部进行匿名化以生成匿名化面部,以及
向所述媒体平台提供所述匿名化面部。
12.根据权利要求11所述的网络没备,其中,所述多个用户中的给定用户的简档和所述一个或多个被检测面部中的给定被检测面部的简档均包括对应于一个或多个属性的一个或多个属性值,其中,如果所述给定用户的简档中包括的一个或多个属性值与所述给定被检测面部的简档中包括的对应属性值相匹配,则确定所述给定用户的简档与所述给定被检测面部的简档相匹配。
13.根据权利要求12所述的网络设备,其中,所述一个或多个属性包括以下各项中的一项或多项:年龄组、性别、肤色和位置。
14.根据权利要求11所述的网络设备,其中,所述多个用户中的至少一个用户不是所述媒体平台的用户。
15.根据权利要求11所述的网络设备,其中,所述数字媒体内容包括由所述媒体平台的用户上传到所述媒体平台的数字图像或数字视频。
16.一种其中存储有一个或多个智能合约的非暂时性机器可读存储介质,所述一个或多个智能合约当由实现区块链的一个或多个网络设备的一个或多个处理器的集合执行时,使所述一个或多个网络设备执行用于对数字媒体内容中出现的面部进行匿名化的操作,所述操作包括:
针对多个用户中的每一个,获得(310)与所述用户相关联的面部模型和所述用户的简档,其中,与所述用户相关联的所述面部模型是能够用于检测所述用户的面部的计算模型;
获得(320)由媒体平台提供的数字媒体内容;
检测(330)所述数字媒体内容中出现的一个或多个面部;以及
针对一个或多个被检测面部中的每一个:
生成(340)所述被检测面部的简档,
从所述多个用户中确定(350)具有与所述被检测面部的简档相匹配的简档的一个或多个用户,
基于将与所确定的一个或多个用户相关联的面部模型中的一个或多个面部模型应用于所述被检测面部,确定(360)所述被检测面部是否与所述确定的一个或多个用户中的任何一个用户的面部相匹配,
响应于所述被检测面部与所述确定的一个或多个用户之一的面部相匹配的确定,对所述被检测面部进行匿名化(390)以生成匿名化面部,以及
向所述媒体平台提供(395)所述匿名化面部。
17.根据权利要求16所述的非暂时性机器可读存储介质,其中,所述多个用户中的至少一个用户不是所述媒体平台的用户。
18.根据权利要求16所述的非暂时性机器可读存储介质,其中,所述多个用户中的每一个用户被注册面部匿名化,并且其中,所述媒体平台被注册面部匿名化。
19.根据权利要求16所述的非暂时性机器可读存储介质,其中,通过以下来对所述被检测面部中的给定被检测面部进行匿名化:对所述给定被检测面部进行像素化、用合成面部替换所述给定被检测面部、或将所述给定被检测面部与所述数字媒体内容中包括的背景场景进行混合。
20.根据权利要求16所述的非暂时性机器可读存储介质,其中,所述媒体平台是被注册面部匿名化的多个媒体平台之一。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SE2019/051189 WO2021107826A1 (en) | 2019-11-25 | 2019-11-25 | Blockchain based facial anonymization system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114766019A true CN114766019A (zh) | 2022-07-19 |
Family
ID=76128908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980102485.6A Pending CN114766019A (zh) | 2019-11-25 | 2019-11-25 | 基于区块链的面部匿名化系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230034519A1 (zh) |
EP (1) | EP4066137A4 (zh) |
CN (1) | CN114766019A (zh) |
WO (1) | WO2021107826A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230075976A1 (en) * | 2021-09-08 | 2023-03-09 | Meta Platforms, Inc. | Systems and methods for anonymizing media files for testing |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4544363B1 (ja) * | 2009-03-13 | 2010-09-15 | オムロン株式会社 | 顔認証装置、人物画像検索システム、顔認証装置制御プログラム、コンピュータ読み取り可能な記録媒体、および顔認証装置の制御方法 |
WO2013160539A1 (en) * | 2012-04-27 | 2013-10-31 | Nokia Corporation | Method and apparatus for privacy protection in images |
US8923647B2 (en) * | 2012-09-25 | 2014-12-30 | Google, Inc. | Providing privacy in a social network system |
WO2015137190A1 (ja) * | 2014-03-14 | 2015-09-17 | 株式会社日立国際電気 | 映像監視支援装置、映像監視支援方法、および記憶媒体 |
US9396354B1 (en) * | 2014-05-28 | 2016-07-19 | Snapchat, Inc. | Apparatus and method for automated privacy protection in distributed images |
US20160294781A1 (en) * | 2015-01-25 | 2016-10-06 | Jennifer Kate Ninan | Partial or complete image obfuscation and recovery for privacy protection |
EP3317773B1 (en) | 2015-07-02 | 2024-03-20 | Privowny, Inc. | Systems and methods for media privacy |
US9779316B2 (en) * | 2015-09-30 | 2017-10-03 | Tyco Fire & Security Gmbh | Scalable and distributed biometric processing |
US11030440B2 (en) * | 2016-12-30 | 2021-06-08 | Facebook, Inc. | Systems and methods for providing augmented reality overlays |
CN111149332B (zh) * | 2017-04-28 | 2022-09-23 | 数据翼股份有限公司 | 在去中心化系统中实施集中式隐私控制的系统和方法 |
CN107273796A (zh) | 2017-05-05 | 2017-10-20 | 珠海数字动力科技股份有限公司 | 一种基于人脸特征的快速人脸识别搜索方法 |
US10686611B2 (en) * | 2017-11-24 | 2020-06-16 | International Business Machines Corporation | Data anonymizing blockchain system |
-
2019
- 2019-11-25 CN CN201980102485.6A patent/CN114766019A/zh active Pending
- 2019-11-25 US US17/756,395 patent/US20230034519A1/en active Pending
- 2019-11-25 WO PCT/SE2019/051189 patent/WO2021107826A1/en unknown
- 2019-11-25 EP EP19954445.3A patent/EP4066137A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4066137A1 (en) | 2022-10-05 |
WO2021107826A1 (en) | 2021-06-03 |
US20230034519A1 (en) | 2023-02-02 |
EP4066137A4 (en) | 2023-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11743141B2 (en) | On-path dynamic policy enforcement and endpoint-aware policy enforcement for endpoints | |
US11032247B2 (en) | Enterprise mobility management and network micro-segmentation | |
JP7109652B2 (ja) | エンタープライズモビリティ管理メタデータ匿名ポリシー施行を提供するコンピューティングシステムおよび関連する方法 | |
KR101883816B1 (ko) | 클라이언트 디바이스 상에서의 다수의 디지털 저작권 관리 프로토콜 지원 기술 | |
US11451531B2 (en) | Certificate obtaining method, authentication method, and network device | |
US20230032802A1 (en) | Methods and systems for connecting to a wireless network | |
US9992202B2 (en) | Access control through dynamic grouping | |
US12019761B2 (en) | Network based media processing security | |
US11888876B2 (en) | Intelligent quarantine on switch fabric for physical and virtualized infrastructure | |
US11706229B2 (en) | Enforcing data sovereignty policies in a cloud environment | |
US11916698B2 (en) | Dynamic cellular connectivity between the hypervisors and virtual machines | |
CN114128217A (zh) | 使用ip地址的数据平面内网络策略实施 | |
US11088915B1 (en) | Live network sandboxing on a centralized management system | |
Toumi et al. | On cross-domain Service Function Chain orchestration: An architectural framework | |
US20200053169A1 (en) | Authenticated service discovery using a secure ledger | |
CN114766019A (zh) | 基于区块链的面部匿名化系统 | |
US20240056425A1 (en) | Provisioning secured data access to authorized users through light fidelity (LiFi) data transmission and a virtual reality device | |
EP4320824A1 (en) | System and method for connecting virtual networks in a branch site to clouds | |
US11178150B1 (en) | Methods for enforcing access control list based on managed application and devices thereof | |
CN113906776A (zh) | 为可见性呈现用户设备传递受限网络访问凭据 | |
WO2024057076A1 (en) | Method and system to implement privacy-preserving collaborative semantic mapping | |
CN117061115A (zh) | 密钥协商方法、装置、计算机设备和计算机可读存储介质 | |
Aditya | Towards privacy-compliant mobile computing |
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 |