脸部图像的伪造检测的制作方法

文档序号:25877700发布日期:2021-07-16 18:04阅读:87来源:国知局
脸部图像的伪造检测的制作方法
脸部图像的伪造检测


背景技术:

1.人工智能(ai)是指由人类制造出的机器所表现出的智能,ai企图产出一种能以人类智能的方式作出反应的智能机器和/或程序。ai模型的实现通常需要大量的训练数据以及强劲的计算能力。随着信息技术和神经网络研究的不断发展,ai逐渐应用于各种领域和场景,包括聊天机器人、图像识别、语音识别、自然语言处理、自动驾驶、智能医疗,等等。
2.ai换脸是一个新兴的ai技术应用,其基于深度学习算法,可以将图像或者视频中的人脸替换成其他的人脸,其操作简单,并且替换之后的图像或者视频可以非常逼真,甚至人类都无法识别图像是否被篡改。ai换脸的迅速发展,使得攻击者能够篡改图像的脸部区域并且生成新的脸部图像,例如,可以改变身份或修改脸部属性。


技术实现要素:

3.在本公开的实施例中,提出了一种脸部图像的伪造检测方法。在输入脸部图像之后,检测脸部图像中是否存在由于不同图像的融合而导致的融合边界,然后,根据检测结果来生成对应的灰度图像,所生成的灰度图像能够揭示输入的脸部图像是否由不同图像的融合而形成。如果所生成的灰度图像中存在与融合边界相对应的可视边界,则说明该脸部图像是伪造的图像;相反,如果所生成的灰度图像中不存在可视边界,则说明该脸部图像是真实的图像。因此,本公开的实施例通过检测输入的脸部图像中的融合边界,能够更准确地检测出伪造的脸部图像。此外,根据本公开的实施例的检测模型可以通过自监督的方式使用真实图像进行训练,从而能够使得脸部图像的伪造检测方法更通用。
4.提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
5.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
6.图1示出了其中可以实施本公开的一个或多个实施例的计算设备/服务器的框图;
7.图2示出了根据本公开的实施例的真假图像的噪声分析和错误级别分析的示意图;
8.图3示出了根据本公开的实施例的脸部图像的伪造检测方法的流程图;
9.图4示出了根据本公开的实施例的用于脸部图像的伪造检测的框架的示意图;
10.图5示出了基于脸部检测的图像融合过程的示意图;
11.图6示出了根据本公开的实施例的用于生成训练数据的过程的示意图;
12.图7示出了根据本公开的实施例的根据掩膜图像确定灰度图像的示意图;以及
13.图8示出了根据本公开的实施例的用于检测脸部图像中的伪造区域的效果图。
具体实施方式
14.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
15.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
16.如今,ai换脸已经变得很流行,尤其是在社交网络上,这引起了人们对其在社交网络和社会中的影响的极大关注。ai换脸后的伪造图像可能出于恶意目的而被滥用,从而可能引起严重的信任问题和安全问题。例如,有些人会使用ai换脸来制作伪造图像,以便达到欺骗或者恶搞的目的。
17.当前,存在很多种ai换脸方法或算法,例如deepfakes(df)、face2face(f2f)、faceswap(fs)、neuraltextures(nt),等等,这些方法通常是将改变后的脸部融合到已有的背景图像中,通过这种融合方法而得到的脸部图像称为伪造的脸部图像。目前,伪造的脸部图像已经非常逼真,甚至连人类都很难进行分辨。一般来说,ai换脸的真假检测是个很难的任务,因为通常需要在不知道脸部伪造方法的情况下完成真假检测。
18.传统地,为了能够区分出伪造的脸部图像与真实的脸部图像,通常是使用真实的脸部图像以及通过某种融合方法生成的伪造的脸部图像来训练二值分类器,以便获得伪造图像检测的高准确率。传统的方法通常是采用有监督的方式进行训练,并且针对已知的脸部伪造方法进行训练和优化,因而针对已知的伪造方法伪造的脸部图像,能够实现较高的检测准确率。然而,这可能仅仅是一种过拟合现象,并且检测仅限于针对性训练的已知伪造方法。而对于未知的伪造方法生成的伪造脸部图像,传统的方法通常无法识别,检测准确率大幅度下降。因此,传统的脸部图像的伪造检测方法是不通用的,并且准确率不稳定而且也不高。
19.为此,本公开的实施例提出了一种脸部图像的伪造检测方法,创新性地提出了检测伪造图像中的融合边界,实现了针对通用的脸部伪造检测的较高准确率。本申请的发明人发现,如果一个图像是由两个图像融合而成,那么在融合边界内外存在着本质的图像差异。因此,根据本公开的实施例,在输入脸部图像之后,检测脸部图像中是否存在由于不同图像的融合而导致的融合边界,然后根据检测结果来生成对应的灰度图像,所生成的灰度图像能够揭示输入的脸部图像是否由不同图像的融合而形成。也就是说,对于输入的脸部图像,其对应的灰度图像可以根据输入的脸部图像而计算出。该灰度图像不仅能够确定输入的脸部图像是伪造的还是真实的,而且还能够通过可视边界来标识融合边界的位置(在存在融合边界的情况下)。
20.根据本公开的实施例,如果所生成的灰度图像中存在可视边界(诸如白色的亮环),则说明该脸部图像是伪造的图像;相反,如果所生成的灰度图像中不存在可视边界,则说明该脸部图像是真实的图像。因此,本公开的实施例通过检测输入的脸部图像中的融合边界,能够更准确地检测出伪造的脸部图像。由于仅假设融合步骤的存在并且不依赖于与
特定脸部伪造方法相关联的伪像知识,因而根据本公开的实施例的检测方法是通用的。
21.此外,根据本公开的一些实施例的检测模型可以通过自监督的方式使用真实图像进行训练,由于没有使用传统的伪造方法生成的伪造图像进行训练,因而根据本公开的实施例的脸部伪造检测方法更加通用,即使对于未知的伪造方法生成的伪造图像,也能取得很高的检测准确率。事实上,本公开的一些实施例甚至可以不需要传统的伪造方法生成的伪造图像来进行训练,由此能够实现针对任何通过图像融合而形成的伪造图像,都具有较高的检测准确率。
22.根据本公开的实施例的脸部图像的伪造检测方法可以应用于各种伪造检测场景。例如,可以用于社交网站自动审核用户提交的脸部图像或者视频是否是真实的,可以用于搜索引擎以过滤掉一些伪造的搜索结果图像,可以应用于信用和隐私管理的需要,也可以作为云平台的应用程序接口(api)供第三方使用,例如云平台可以提供通用的脸部图像的伪造检测接口、脸部视频的伪造检测接口等。
23.以下参考图1至图8来说明本公开的基本原理和若干示例实现方式。图1示出了其中可以实施本公开的一个或多个实施例的计算设备/服务器100的框图。应当理解,图1所示出的计算设备/服务器100仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。
24.如图1所示,计算设备/服务器100是通用计算设备的形式。计算设备/服务器100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备/服务器100的并行处理能力。
25.计算设备/服务器100通常包括多个计算机存储介质。这样的介质可以是计算设备/服务器100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在计算设备/服务器100内被访问。
26.计算设备/服务器100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图1中示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器120可以包括计算机程序产品125,其具有一个或多个程序模块,例如包括根据本公开的实施例的检测模型,这些程序模块被配置为执行本公开的各种实施例的各种方法或过程。
27.通信单元140实现通过通信介质与其他计算设备进行通信。附加地,计算设备/服务器100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备/服务器100可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
28.输入设备150可以是一个或多个输入设备,例如鼠标、键盘、追踪球、摄像头等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备/服务器100还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备/服务器100交互的设备进行通信,或者与使得计算设备/服务器100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。
29.如图1所示,计算设备/服务器100能够通过输入设备150接收包括脸部的输入图像171,然后使用程序产品125对输入图像171进行处理,并且通过输出设备160输出作为处理结果的灰度图像172。在图1的示例中,输入图像171是由两幅图像融合而成的伪造图像,因而作为其输出结果的灰度图像172中存在着白色亮环的可视边界,其指示着白色边界为两幅图像的融合位置。由于灰度图像172中的白色边界与x光相似,因而本公开的实施例中的灰度图像也称为“脸部x光(face x-ray)”。因此,本公开的实施例针对输入图像171,能够快速准确地检测出其中的融合边界(如果存在的话),这样不仅能够指示输入的脸部图像是否是伪造图像,而且还能够进一步指出伪造图像中的伪造区域的位置。
30.本领域技术人员应当理解,虽然图1中示出了通过输入单元150接收输入图像171,并且通过输出单元160输出灰度图像172,但是也可以通过通信单元140接收输入图像171和/或发送输出图像172,或者通过内部或外部存储装置等其他方式获得输入图像171,本公开的实施例对于获取输入图像的方式不做限定。以下参考图2-8详细描述了程序产品125如何基于输入图像171生成输出图像172的示例实施例。
31.图2示出了根据本公开的实施例的真假图像的噪声分析和错误级别分析的图示200。本公开的实施例中提出了用于检测伪造的脸部图像的图像表示——灰度图像。本申请的发明人发现大多数传统的脸部伪造方法都具有将改变后的脸部融合到已有的背景图像中的共同步骤,并且在融合边界上存在固有的图像差异,这些差异使得融合边界从本质上是可检测的。事实上,由于获取方式的不同,每个图像具有从硬件(例如,传感器、镜头)或软件组件(例如,压缩、合成算法)引入的其自身独特的标记,并且这些标记倾向于在整个图像中呈现相似性。相反,不同途径获得的图像中呈现出不同的相似性。
32.例如,每个图像具有其自身的独特标记或底层统计数据,这主要来自两个方面:1)硬件,例如引入周期性模式的颜色滤波阵列(cfa)插值、每个颜色通道应当相似的相机响应函数、包括一系列片上处理(例如量化和白平衡等)的传感器噪声,其引入了独特的签名;2)软件,例如引入一致的阻塞伪像的有损压缩方案、基于生成式对抗网络(gan)的合成算法,其可能会留下独特的印记。上述硬件和软件因素都会影响图像的形成,从而留下趋于周期性的或均匀的特定的签名,可能会在修改后的图像中会受到干扰。因此,可以使用跨融合边界的底层图像统计数据的不一致之处来发现融合边界,由此检测出伪造的脸部图像。
33.噪声分析和错误级别分析(ela)为独特标记的两种代表性类型。关于噪声分析,自然图像通常充满噪点。如果修改了图像,通常会在图像的噪点中留下可见的痕迹。因此,可以采用非常简单的降噪滤波器(可分离的中值滤波器),并将其结果反转,从而实现噪声分析。错误级别分析法的原理是通过分析图像各区域的压缩率并计算其错误级别,来判断该图像是否进行过拼接、修改、涂抹等后期处理。原则上,只进行一次采样获得的原始图像,各
区域的ela值应该是相似的,如果出现一块区域ela值显著区别于图像其他部分,则这一块区域很可能是后期修改过的或者被替换。ela的一般原理是把图像分割成很多8
×
8个正方形中的像素点,对每一个小块进行单独的色彩空间转换。每次对图像的修改,都会进行第二次转换。两次转换自然会存在差异,ela可以靠对比这种差异来判断图像的哪部分被修改过。
34.如图2所示,对于真实图像210,其噪声分析结果211和错误级别分析结果212贯穿整个图像呈现相似性。而对于伪造图像220,其噪声分析结果221和错误级别分析结果222贯穿整个图像呈现不均匀性,其中修改的图像区域的亮度会高于其他区域,例如,图像221和222的中间区域的颜色不同于外部区域,因而可以说明图像220中间区域是被另一张图像替换。通过这种发现,本申请的发明人提出了使用两个图像融合的融合边界来检测图像是否被伪造。
35.图3示出了根据本公开的实施例的脸部图像的伪造检测方法300的流程图。应当理解,方法300可以由参考图1所描述的计算设备/服务器100执行。应当理解,本公开的实施例的方法300可以完全在用户设备(诸如,智能手机、平板电脑、台式计算机、笔记本计算机、智能可穿戴设备等)本地执行、或者完全在服务器侧(诸如,单个服务器、分布式服务器、云等)中执行、或者一部分被部署在用户设备本地另一部分被部署在服务器侧或云中,本公开的实施例对此不做限制。
36.在302,获得包括脸部的输入图像。例如,检测模型获得待检测的输入图像171,其包括人类的脸部。例如,根据本公开的实施例的检测模型可以为全卷积神经网络(fcnn)模型,则可以将输入图像171输入到fcnn模型中。在本公开的实施例中,输入图像171可以是通过脸部替换而形成的伪造图像,图5进一步描述了形成伪造图像的示例伪造过程。应当理解,由于本公开的实施例是检测两个图像融合的融合边界,因而能够检测通过图像融合而生成的伪造图像。而对于完全伪造或者生成的图像,由于其不存在融合边界,因而无法将其确定为伪造图像。
37.在304,检测输入图像中的融合边界。例如,fcnn模型可以检测输入图像171中是否存在由于不同图像的融合而导致的融合边界。一般来说,在脸部伪造的场景中,融合边界内部为脸部或者脸部的至少一部分(例如鼻子和/或嘴巴等)。在一些实施例中,如果检测到融合边界,则表示输入图像中的融合边界内的脸部区域被伪造;而如果没有检测到融合边界,则表示输入图像是真实的图像。
38.在306,基于检测,生成与输入图像相关联的灰度图像,其中灰度图像指示输入图像中的脸部是否被伪造。例如,可以根据融合边界的检测结果,生成灰度图像172,通过观察或者分析灰度图像172,能够确定输入图像中的脸部是否被伪造。在一些实施例中,可以确定灰度图像中是否存在与融合边界的位置相对应的可视边界,也就是说,可视边界在灰度图像中的位置与融合边界在输入图像中的位置是相对应的。例如,可视边界可以被表现为灰度图像中的白色亮环,其可以指示原始图像在边界内外的不一致性和/或在边界处的不平滑性。如果存在,则说明输入图像中的融合边界内的脸部区域被伪造;反之,如果不存在,则说明输入图像是真实的图像。因此,本公开的实施例的方法300通过检测输入的脸部图像中的融合边界,能够更准确地检测出伪造的脸部图像。
39.本公开的实施例所提出的灰度图像(即“脸部x光”)是能够开发通用的脸部伪造检
测模型,因为它仅假设存在融合步骤,而不依赖于与特定脸部伪造算法相关联的任何伪像知识。这种通用性能够适用于大多数已有的脸部伪造算法。
40.在一些实施例中,可以通过自监督学习的方式来训练检测模型,该学习方式使用大量由真实图像合成的融合图像,而可以不需要通过任何已有的脸部伪造方法生成的假图像。因此,当应用于由未知的脸部伪造方法产生的伪造图像时,本公开的实施例的方法仍然有效;相反,大多数传统的脸部伪造检测方法的性能都会明显下降。自监督学习是一种机器学习方法,模型直接从无标签数据中进行学习,而无需人工标注数据。因此,自监督学习能够无需额外的标注成本就可以利用根据数据得出各种标签,节省了训练数据获得的成本,从而能够获得大量的训练数据,由此提高模型的检测准确率。
41.图4示出了根据本公开的实施例的用于脸部图像的伪造检测的框架400的示意图。如图4所示,框架400主要包括全卷积神经网络(fcnn)模型410和分类器420。fcnn模型是指神经网络中全部由卷积层构成,其与经典cnn模型的区别在于,fcnn将经典cnn中的全连接层全部用卷积层进行替换,fcnn的示例包括hrnet、covnet等。因此,fcnn模型能够输入图像并且输出图像作为处理结果。在一些实施例中,fcnn模型410可以包括骨干网络和上采样网络。例如,可以将来自所有四个不同分辨率的表示连接到相同的大小64
×
64,然后是具有一个输出通道的1
×
1卷积层,具有256
×
256输出大小的双线性上采样层以及sigmoid函数。
42.分类器420可以是包括平均池化层、全连接层以及softmax激活层的神经网络模型,其能够根据灰度图像确定输入图像中的脸部被伪造的概率。分类器420实质上可以是一个基于输入图像输出分类的二值分类器,可以为一个小型的神经网络模型。
43.如图4所示,fcnn模型410根据输入图像171,生成对应的灰度图像172,分类器420根据灰度图像172(其包括白色的可视边界),生成针对输入图像171的检测结果173,其指示输入图像171是一个伪造图像,其中的伪造区域为灰度图像172中的白色的可视边界内的脸部区域。
44.同样地,fcnn模型410根据输入图像471,生成对应的灰度图像472,分类器420根据灰度图像472(其为全黑的图像),生成针对输入图像471的检测结果473,其指示输入图像471是一个真实图像,其中不存在融合边界,因而不存在图像融合过程。
45.在一些实施例中,框架400除了能够实现对于图像的伪造检测之外,还能够实现视频的伪造检测。具体地,可以首先从视频提取多个帧,例如,可以按照每分钟提取预定帧的频率进行提取,然后可以分析各个帧,如果帧中包括脸部,则可以将该帧输入到fcnn模型410,以用于脸部伪造检测。
46.图5示出了基于脸部检测的图像融合过程500的示意图,其可以为生成伪造图像的一种示例性方法,其主要包括三个过程。在520的第一过程,检测图像510中的脸部530区域,然后寻找相似的脸部,并且在540的第二过程,将脸部530替换为相似的脸部550。接下来,在560的第三过程,将相似的脸部550融合到原始图像510中,从而融合形成一个伪造图像570。与原始图像510相比,伪造图像570中的脸部发生了替换。
47.一般来说,传统的脸部伪造检测方法通常聚焦于上述第二过程,其基于包括从伪造方法生成的合成视频和真实视频的数据集,训练有监督的二值分类器。尽管在测试数据集上实现了很高的检测准确率,但是当将训练后的模型应用于未知的伪造图像时,性能会显著下降。相反,根据本公开的实施例的脸部伪造检测方法聚焦于上述第三过程,不同于在
第二过程获得合成的伪像,本公开的实施例尝试定位在脸部伪造过程中的第三过程中通常引入的融合边界。本公开的实施例基于一个关键的观察结果:当通过融合两个图像形成一个图像时,在混合边界内外存在着本质的图像差异。
48.图6示出了根据本公开的实施例的用于生成训练数据的过程600的示意图。根据本公开的实施例,生成训练数据的过程600可以主要包括三个阶段。
49.在生成训练数据的过程600的第一阶段,从训练数据集获得真实图像610(即图像i
b
),提取图像610中的多个脸部关键点(landmark),由此获得带有脸部关键点的图像620,然后通过所提取的脸部关键点来搜索最佳匹配的另一脸部的图像640(即图像i
f
),以替换真实图像610中的脸部。在一些实施例中,可以搜索包括与真实图像610中的脸部关键点匹配的另一脸部的目标图像。例如,可以根据脸部关键点之间的欧氏距离来从训练视频或图像的随机子集中搜索相似脸部图像。在一些实施例中,为了提高训练数据的随机性,可以搜索包括与真实图像中的脸部匹配的其他脸部的目标图像集合630(例如,其可以包括100张相同或相似脸部框架的图像),然后从目标图像集合630中随机选择一个图像作为目标图像640。通过这种方式,能够进一步提升训练数据的随机性和多样性,进而提高检测模型的通用性。
50.在生成训练数据的过程600的第二阶段,生成掩码以界定伪造区域。在一些实施例中,可以基于图像620中的多个脸部关键点,确定用于替换脸部的至少一部分的掩膜图像650。例如,可以将多个脸部关键词最外侧的点相连形成掩膜,例如通过凸包方式。也即,初始掩码可以被定义为真实图像610的凸包。由于各种脸部伪造方法不一定总是集中在脸部的相同部分,因此在伪造图像时可能存在各种不同形状的伪造区域,例如,有可能伪造整个脸部,也可能只伪造脸部的一部分(诸如嘴部等)。为了覆盖尽可能多的掩膜形状,可以采用随机形状变形(例如,使用从4
×
4网格中选择16个点的源到使用随机偏移变形的目标16个点估计的薄板样条线),然后应用具有随机核大小的高斯模糊,生成最终掩膜。也就是说,可以对掩膜图像650中的掩膜区域进行随机形变,并对经随机形变的掩膜区域的边缘进行高斯模糊,从而生成最终的掩膜图像660。通过随机形变和/或高斯模糊,可以使得掩膜区域更加随机,并且掩膜边缘更加模糊,有助于后续的可视边界生成。
51.在生成训练数据的过程600的第三阶段,生成融合图像680。在675,可以基于真实图像610’(即真实图像610或其副本)、目标图像640以及掩膜图像660,通过图像融合生成融合图像680。在一些实施例中,在图像融合之前,可以对目标图像640进行颜色校正,以便匹配真实图像610中的颜色。此外,在665,基于掩膜图像660,获得掩膜边界(也即灰度图像670中的白色亮环),从而生成对应的灰度图像670。
52.在本公开的一些实施例中,给定输入的脸部图像i,期望确定该图像是否是通过组合两个图像i
f
和图像i
b
而获得的图像i
m
,如下式(1)所示:
53.i
m
=m

i
f
+(1-m)

i
b
ꢀꢀ
(1)
54.其中

表示元素级相乘,i
f
是具有期望的脸部属性的前景伪造脸部图像,i
b
是提供背景的图像。m是界定伪造区域的掩膜,其中m的每个像素具有0至1之间的灰度值。当所有的值都被限定到0或1时,其为二值掩膜。此外,在融合之前,一些颜色校正技术可以应用于前景图像i
f
,以使得其颜色与背景图像颜色相匹配。
55.在本公开的一些实施例中,可以将灰度图像定义为图像b,使得如果输入图像是伪
造图像,b将会揭示融合边界;而如果输入图像是真实图像,则b的所有像素的值都为零。对于输入的脸部图像i,其灰度图像b可以通过下式(2)进行定义:
56.b
i,j
=4
·
m
i,j
·
(1-m
i,j
)
ꢀꢀ
(2)
57.其中下标(i,j)是表示像素位置的索引,m是由输入图像i确定的掩膜。如果输入图像是真实的,则掩膜m是简单的空白图像,其像素值全为0或者全为1。否则,掩模m将是界定前景图像区域的非简单图像。m
i,j
·
(1-m
i,j
)的最大值不大于0.25,并且实际上仅当m
i,j
=0.5时才达到0.25的最大值。由于这个原因,灰度图像中的像素b
i,j
总是取值在0和1之间。
58.参考图7,其示出了根据本公开的实施例的根据掩膜图像m确定灰度图像b的示意图示700。如图7所示,灰度图像710是由掩膜图像720及其取反的反掩膜图像730的元素级相乘而获得。通过这种方式,能够根据掩膜图像来确定灰度图像,并且使得所确定的灰度图像中的可视边界具有一定的宽度。
59.返回参考图6,如果掩膜图像660是二值掩膜,则在665之前,采用3
×
3的高斯内核来将二值掩膜转换成软掩膜。在本公开的实施例中,通常假设掩膜图像660中的不是二值掩膜。二值掩膜将对本公开的实施例的灰度图像生成造成障碍,二值掩膜无法生成待被检测的可视边界。
60.因此,本公开的实施例目的在于发现非简单的软掩膜,由此能够获得融合边界,并且获得两个图像融合而成的融合图像680。如上面所讨论的,由于图像获取过程的差异,来自不同来源的图像具有固有的差异,尽管它们具有对人眼的细微之处或者不可见性。因此,根据本公开的实施例的灰度图像是用于发现来自未知的输入的脸部图像中的此类差异的计算表示。
61.根据图6的生成训练数据的过程600,能够动态在线地随着训练过程而生成训练数据,然后通过自监督的方式训练fcnn模型410。例如,将融合图像680和对应的灰度图像670成对地用于训练fcnn模型410。由于过程600生成融合图像的过程没有使用传统的某个或某些脸部图像伪造方法,同时增加了很多随机的因素,因此所生成的训练数据更随机,使得fcnn模型410能够针对各种方法生成的伪造图像都取得很高的检测准确率。
62.通过上述过程600,能够仅使用真实图像610产生大量的训练数据。令所生成的训练数据集为其中i表示图像,b表示对应的灰度图像,c是说明图像i是否是融合图像的二值标量。本公开的基于fcnn的框架400能够根据输入图像i生成灰度图像b,然后根据灰度图像b,输出输入图像i为真的概率。
63.在图4中所示出的框架400可以通过联合训练的方式进行训练,令为预测的灰度图,其中nn
b
为图4中所示出的fcnn模型410,并且为所预测的真假性概率,其中nn
c
为图4中所示出的分类器420。在训练阶段,可以针对两个预测采用现有的或者将来开发的损失函数。例如,对于fcnn模型410,可以使用交叉熵损失函数l
b
来估计预测的准确率,如下式(3)所示:
[0064][0065]
其中n是特征图中的像素总数,i和j是表示像素位置的索引。
[0066]
对于分类器420,损失函数l
c
可以如下式(4)所示:
[0067][0068]
因此,框架400的总损失函数可以被定义为l=λl
b
+l
c
,其中λ是平衡l
b
和l
c
的损失权重。在一些实施例中,可以将λ设置为较大的值(诸如100),以便强化网络更聚焦于学习灰度图像预测。在一些实施例中,可以使用反向传播的端到端方式来训练本公开的实施例中的框架400。
[0069]
图8示出了根据本公开的实施例的用于检测脸部图像中的伪造区域的效果图示800。如图8所示,第一列表示伪造的输入图像,第二列表示融合边界的真实结果,其可以通过计算伪造图像与真实图像之间的绝对的元素级差而获得,第三列表示根据本公开的实施例的融合边界的预测结果,其在原始输入图像上呈现了伪造区域的指示(例如通过白色的边界示出)。由第二列的真实结果可知,输入图像810中脸部睫毛以下的部分是伪造的,输入图像820中的完整脸部是伪造的,输入图像830中脸部的一部分(鼻子和嘴)是伪造的。通过对比第二列和第三列,可以发现,无论是替换了完整的脸部还是脸部的一部分,本公开的实施例的方法都能够通过融合边界准确判断出脸部图像是否被伪造以及具体的伪造区域,由此实现更准确且更通用地检测出伪造的脸部图像。
[0070]
此外,发明人通过实验发现,本公开的实施例的脸部图像的伪造检测方法能够显着提高泛化能力。本公开的实施例在未知的脸部伪造方法上实现了较高检测准确率,并且能够在各种已知的脸部伪造方法上也取得非常高的检测准确率。
[0071]
因此,本公开的实施例使用更通用的方式来实现伪造检测:灰度图像(即“脸部x光”)。本公开的一些实施例的泛化能力主要来自两个因素:第一,检测图像的融合边界,而不是关注特定的伪造伪像;第二,自动地从真实图像中构造了大量训练样本,使得模型被适配为更关注图像的融合边界。最后,本公开的实施例的方法即使仅使用自监督的训练数据,也能够实现较高的检测准确率。
[0072]
另外,本公开的实施例的训练数据不是由某一种或者多种现有的脸部图像伪造算法而生成;相反,是通过真实图像更随机地生成。同时,根据本公开的实施例所生成的训练数据的融合图像中边界内区域是真实的图像,而不是合成的,这使得模型避免过拟合,因而具有很好的泛化性能。
[0073]
本文中所描述的方法和功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意性类型包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。
[0074]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0075]
在本公开内容的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机
器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0076]
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0077]
以下列出了本公开的一些示例实现方式。
[0078]
在一个方面,提供了一种计算机实现的方法。该方法包括:获得包括脸部的输入图像;检测输入图像中的融合边界;以及基于检测,生成与输入图像相关联的灰度图像,其中灰度图像指示输入图像中的脸部是否被伪造。
[0079]
在一些实施例中,方法还包括确定灰度图像中是否存在可视边界,其中可视边界对应于融合边界;根据确定灰度图像中存在可视边界,确定输入图像中的融合边界内的脸部区域被伪造;以及根据确定灰度图像中不存在可视边界,确定输入图像是真实图像。
[0080]
在一些实施例中,其中生成与输入图像相关联的灰度图像包括:由全卷积神经网络(fcnn)模型来生成灰度图像,方法还包括:由分类器基于灰度图像确定输入图像中的脸部被伪造的概率,分类器是包括池化层、全连接层以及激活层的神经网络模型。
[0081]
在一些实施例中,方法还包括:基于训练数据集中的真实图像,生成融合图像和对应的灰度图像;以及使用融合图像和对应的灰度图像来训练fcnn模型。
[0082]
在一些实施例中,其中生成对应的灰度图像包括:检测真实图像中的多个脸部关键点;基于多个脸部关键点,确定用于替换脸部的至少一部分的掩膜图像;以及根据掩膜图像,生成对应的灰度图像。
[0083]
在一些实施例中,其中确定掩膜图像包括:对掩膜图像中的掩膜区域进行随机形变;以及对经随机形变的掩膜区域的边缘进行高斯模糊。
[0084]
在一些实施例中,其中生成融合图像包括:基于脸部关键点,搜索包括与真实图像中的脸部匹配的另一脸部的目标图像;以及基于真实图像、目标图像以及掩膜图像,生成融合图像。
[0085]
在一些实施例中,其中搜索包括与真实图像中的脸部匹配的另一脸部的目标图像包括:搜索包括与真实图像中的脸部匹配的其他脸部的目标图像集合;以及从目标图像集合中随机选择一个图像作为目标图像。
[0086]
在一些实施例中,方法还包括:基于灰度图像中的可视边界,确定输入图像中的伪造区域,伪造区域包括脸部的至少一部分;以及在输入图像上呈现伪造区域的指示。
[0087]
在一些实施例中,其中获得包括脸部的输入图像包括:从视频中提取图像帧;以及根据确定图像帧中包括脸部,将图像帧确定为输入图像。
[0088]
在另一方面,提供了一种电子设备。该电子设备包括:处理单元;存储器,耦合至处理单元并且存储有指令,指令在由处理单元执行时执行动作,所述动作包括:获得包括脸部的输入图像;检测输入图像中的融合边界;以及基于检测,生成与输入图像相关联的灰度图像,其中灰度图像指示输入图像中的脸部是否被伪造。
[0089]
在一些实施例中,动作还包括确定灰度图像中是否存在可视边界,其中可视边界对应于融合边界;根据确定灰度图像中存在可视边界,确定输入图像中的融合边界内的脸部区域被伪造;以及根据确定灰度图像中不存在可视边界,确定输入图像是真实图像。
[0090]
在一些实施例中,其中生成与输入图像相关联的灰度图像包括:由全卷积神经网络(fcnn)模型来生成灰度图像,动作还包括:由分类器基于灰度图像确定输入图像中的脸部被伪造的概率,分类器是包括池化层、全连接层以及激活层的神经网络模型。
[0091]
在一些实施例中,动作还包括:基于训练数据集中的真实图像,生成融合图像和对应的灰度图像;以及使用融合图像和对应的灰度图像来训练fcnn模型。
[0092]
在一些实施例中,其中生成对应的灰度图像包括:检测真实图像中的多个脸部关键点;基于多个脸部关键点,确定用于替换脸部的至少一部分的掩膜图像;以及根据掩膜图像,生成对应的灰度图像。
[0093]
在一些实施例中,其中确定掩膜图像包括:对掩膜图像中的掩膜区域进行随机形变;以及对经随机形变的掩膜区域的边缘进行高斯模糊。
[0094]
在一些实施例中,其中生成融合图像包括:基于脸部关键点,搜索包括与真实图像中的脸部匹配的另一脸部的目标图像;以及基于真实图像、目标图像以及掩膜图像,生成融合图像。
[0095]
在一些实施例中,其中搜索包括与真实图像中的脸部匹配的另一脸部的目标图像包括:搜索包括与真实图像中的脸部匹配的其他脸部的目标图像集合;以及从目标图像集合中随机选择一个图像作为目标图像。
[0096]
在一些实施例中,动作还包括:基于灰度图像中的可视边界,确定输入图像中的伪造区域,伪造区域包括脸部的至少一部分;以及在输入图像上呈现伪造区域的指示。
[0097]
在一些实施例中,其中获得包括脸部的输入图像包括:从视频中提取图像帧;以及根据确定图像帧中包括脸部,将图像帧确定为输入图像。
[0098]
在又一方面,提供了一种计算机程序产品。该计算机程序产品被存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在设备中运行时使得设备:获得包括脸部的输入图像;检测输入图像中的融合边界;以及基于检测,生成与输入图像相关联的灰度图像,灰度图像指示输入图像中的脸部是否被伪造。
[0099]
在一些实施例中,机器可执行指令在设备中运行时还使得设备:确定灰度图像中是否存在可视边界,其中可视边界对应于融合边界;根据确定灰度图像中存在可视边界,确定输入图像中的融合边界内的脸部区域被伪造;以及根据确定灰度图像中不存在可视边界,确定输入图像是真实图像。
[0100]
在一些实施例中,其中生成与输入图像相关联的灰度图像包括:由全卷积神经网络(fcnn)模型来生成灰度图像,机器可执行指令在设备中运行时还使得设备:由分类器基于灰度图像确定输入图像中的脸部被伪造的概率,分类器是包括池化层、全连接层以及激活层的神经网络模型。
[0101]
在一些实施例中,机器可执行指令在设备中运行时还使得设备:基于训练数据集中的真实图像,生成融合图像和对应的灰度图像;以及使用融合图像和对应的灰度图像来训练fcnn模型。
[0102]
在一些实施例中,其中生成对应的灰度图像包括:检测真实图像中的多个脸部关键点;基于多个脸部关键点,确定用于替换脸部的至少一部分的掩膜图像;以及根据掩膜图像,生成对应的灰度图像。
[0103]
在一些实施例中,其中确定掩膜图像包括:对掩膜图像中的掩膜区域进行随机形变;以及对经随机形变的掩膜区域的边缘进行高斯模糊。
[0104]
在一些实施例中,其中生成融合图像包括:基于脸部关键点,搜索包括与真实图像中的脸部匹配的另一脸部的目标图像;以及基于真实图像、目标图像以及掩膜图像,生成融合图像。
[0105]
在一些实施例中,其中搜索包括与真实图像中的脸部匹配的另一脸部的目标图像包括:搜索包括与真实图像中的脸部匹配的其他脸部的目标图像集合;以及从目标图像集合中随机选择一个图像作为目标图像。
[0106]
在一些实施例中,机器可执行指令在设备中运行时还使得设备:基于灰度图像中的可视边界,确定输入图像中的伪造区域,伪造区域包括脸部的至少一部分;以及在输入图像上呈现伪造区域的指示。
[0107]
在一些实施例中,其中获得包括脸部的输入图像包括:从视频中提取图像帧;以及根据确定图像帧中包括脸部,将图像帧确定为输入图像。
[0108]
尽管已经采用特定于结构和/或方法逻辑动作的语言描述了本公开,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1