论文笔记:微表情欺骗检测
整理了AAAI2018 Deception Detection in Videos 论文的阅读笔记
- 背景
- 模型
- 实验
- 可视化
背景
欺骗在我们的日常生活中很常见。一些谎言是无害的,而另一些谎言可能会产生严重的后果。例如,在法庭上撒谎可能会影响司法公正,让有罪的被告逍遥法外。因此,在高风险的情况下准确发现欺骗行为对个人和公共安全至关重要。
人类辨别欺骗的能力是非常有限的。据研究,在没有特殊辅助的情况下,检测谎言的平均准确率为54%,仅略高于随机。相比于静态图像,人类通常更容易从视频中发现微妙的面部表情。图1显示了一个例子:眉毛上升。如果只给出左边的静态图像,人们很难发现眉毛在上升。相比之下,我们可以从右边的图像序列中清楚地看到眉毛在上升,尽管图像流的最后一张图像正好是左边的静态图像。

此外,欺骗是一种复杂的人类行为,受试者试图抑制他们的欺骗证据,从面部表情到手势,从他们说话的方式到他们说的话。因此,一个可靠的欺骗检测方法应该集成来自多个模态的信息。
本文建议使用运动动力学来识别面部微表情。通过一个用于捕获动态运行的两级特征表示器,对于低级特征表示,使用密集轨迹来表示运动和运动变化。对于高级表征,我们使用低级特征训练面部微表情检测器,并使用它们的置信度得分作为高级特征。
模型
本文提出的自动欺骗检测框架如图2所示,包括3个步骤:多模态特征提取、特征编码和分类。

作者通过IDT(改进密集轨迹)来捕获视频特征,这一方法在动作识别方面表现出色。此外,通过Glove和MFCC来提取语言和音频特征。由于每个视频的特征数量不同,作者采用Fisher矢量编码将可变数量的特征聚合到固定长度的矢量上。有关这一部分,这篇文章使用的方法和模型都比较老了,不再赘述。
经过上述步骤,我们就得到了多模态的低级特征。之前的研究表明,面部微表情在预测欺骗行为中起着重要作用,而最能预测面部表情的五种微表情是:皱眉、扬眉、翘唇、撅唇和侧头,如图三所示。基于此,本文使用2015年的一个手工标注微表情检测数据集来训练微表情检测器,然后使用微表情检测器的预测分数作为高级特征来预测欺骗。

在得到上述的微表情检测器后,本文将每个视频分成固定时长的短视频片段,并用微表情标签对这些片段进行标注。形式上,给定一个训练视频集 V = { v 1 ; v 2 , . . . , v N } V = \{v_1;v_2,...,v_N\} V={v1;v2,...,vN},将每个视频分成多个片段,得到训练集 C = { v i j } C=\{v_i^j\} C={vij},标注集 L = { l i j } i ∈ [ 1 , N ] L = \{l_i^j\}\ \ \ \ i\in [1,N] L={lij} i∈[1,N]表示视频id,上标 j ∈ [ 1 , N i ] j\in [1,N_i] j∈[1,Ni]表示剪辑id, N i N_i Ni是视频 I I I的剪辑数, v I j v^j_I vIj的持续时间是一个常数(在我们的实现中是4秒)。 l i j l^j_i lij的维数是微表情的个数。利用视频片段 C C C训练一组微表情分类器,并将分类器应用到测试视频片段 C ^ \hat C C^上,得到预测分数 L ^ = { l ^ i j } \hat L=\{\hat l_i^j\} L^={l^ij}。
然后,分别用我们之前得到的低阶特征和视频级分数向量来训练4个二值欺骗分类器。分别是基于三个模态和混合得分向量。将这四个预测分数定义为 S m i , i ∈ [ 1 , 3 ] S_{m_i},i\in [1,3] Smi,i∈[1,3]和 S h i g h S_{high} Shigh,并得到最终的预测分数 S S S: S = ∑ i α i S m i + α h i g h S h i g h S=\sum_i\alpha_iS_{m_i}+\alpha_{high}S_{high} S=i∑αiSmi+αhighShigh 其中, α i \alpha_i αi和 α h i g h \alpha_{high} αhigh是超参数,总和为1,并通过交叉验证得到。
实验
本文在欺骗检测数据库上评估了该方法。该数据库包括121个法庭审判录像片段。这个试用数据库中的视频是来自网络的不受约束的视频。因此,我们需要处理人物视角的差异、视频质量的变化以及背景噪声,如图4所示。本文使用了来自121个视频数据库的104个视频的子集,其中包括50个真实视频和54个欺骗视频。修剪后的视频要么有明显的场景变化,要么有人工编辑。

首先提供了微表情预测模块的性能。使用15帧/秒的帧率对每个视频剪辑进行采样。微表情检测器使用LibSVM的线性核支持向量机进行训练。结果如表1所示,报告了AUC (precision-recall curve下的面积)。尽管性能并不高,但代表微表情概率的高级特征在最终的欺骗检测任务中仍然提供了良好的性能。由于数据量的问题,使用深度学习的方法来训练检测器不太可行。

对于欺骗检测,作者给出了不同的模态数据的组合结果,这实际上实在进行消融,我们可以观察到,组合所有预测的框架具有最好的效果。

然后,作者又提出了一个有趣的问题,由于高级特征是经过训练的微表情检测器的预测分数,如果使用Ground Truth微表情特征,性能将如何受到影响。在接下来的实验中,我们使用GT微表情特征作为基线,并测试性能随其他特征模态的变化情况。表3显示了用AUC测量的结果:

从表3的结果中,我们可以观察到最高的性能为0.9221 AUC,优于所提出的全自动化系统。这表明,开发更准确的微表情检测方法是未来提高欺骗检测的潜在方向。
可视化
作者还研究了每个微表情的有效性。对于每个微表情,我们通过使用高级微表情评分特征、低级运动特征和其他模式来测试性能,如图5所示。

我们可以观察到,无论是预测微表情还是真实微表情,“扬眉”都比其他微表情更有效。当使用预测的微表情时,“头侧转”也很有帮助,见图5a。这与从真实微表情中得到的结果不同。另一方面,“皱眉”使用地面真值特征比使用预测特征效果更好,可能是因为“皱眉”检测器不够准确,如表1所示。
为了测试人类在这项任务上的表现,作者使用AMT进行用户研究。首先,我们让10个不同的人观看每个视频,并决定他们是否认为视频中的主题是真实的。每个注释者被分配5个不同身份的视频,以确保没有身份特定的偏见用于欺骗预测。我们还记录图像、音频或文本是否对他们的决定有帮助。请注意,这里的决策是使用所有模式做出的。每个视频的投票百分比被用作欺骗的分数。人为预测的AUC为0.8102。这表明这个数据集比以前的研究相对容易,在以前的研究中,人们对这项任务的预测几乎是偶然的。
在做决定时,67:4%的用户依赖于视觉线索,61:3%的时间依赖于音频,70:7%的时间依赖于文本,如图6所示。

对于每个视频,人们可以选择多种有用的模式。从这些数据中,可以观察到注意到人们倾向于根据口头内容做出决定,因为这是一个语义层面的特征。只有一半的人认为音频可以帮助他们做出决定,而在本文的系统中,音频功能是非常有效的。
基于此,本文进行了另一项用户研究,一次只向每个用户显示一种模式,因为当多个信息来源同时可用时,很难判断哪个来源有助于做出最终决定。结果如图7所示。

人类的表现和我们的系统之间存在巨大的表现差距。这表明,尽管人类缺乏仅凭视觉线索预测欺骗行为的能力,但基于计算机视觉的系统明显更好。另一方面,只有音频,人类的表现就像所有形式都可以访问一样好。但是当只提供视频文本时,人类和系统的性能都会显著下降。这表明音频信息对人类预测欺骗行为起着至关重要的作用,而文字记录则没有那么有益。
相关文章:
论文笔记:微表情欺骗检测
整理了AAAI2018 Deception Detection in Videos 论文的阅读笔记 背景模型实验可视化 背景 欺骗在我们的日常生活中很常见。一些谎言是无害的,而另一些谎言可能会产生严重的后果。例如,在法庭上撒谎可能会影响司法公正,让有罪的被告逍遥法外。…...
智能家居有哪些产品?生活中常见的人工智能有哪些?
智能家居有哪些产品? 1、智能照明设备类:智能开关、智能插座、灯控模块、智能空开、智能灯、无线开关。 2、家庭安防类:智能门锁、智能摄像机、智能猫眼、智能门铃。 3、智能传感器类:烟雾传感器、可燃气体传感器、水浸传感器、声光报警器…...
洗车行软件系统有哪些 佳易王洗车店会员管理系统操作教程#洗车店会员软件试用版下载
一、前言 【试用版软件下载可点击本文章最下方官网卡片】 洗车行软件系统有哪些 佳易王洗车店会员管理系统操作教程#洗车店会员软件试用版下载 洗车管理软件应用是洗车业务的得力助手,实现会员管理及数据统计一体化,助力店铺高效、有序运营。 洗车项…...
【Java】springboot 项目中出现中文乱码
在刚创建的springboot项目中,出现乱码,跟走着解决一下 1、Ctrl Shift S 打开idea设置,根据图片来,将③④这三个地方都修改为UTF-8 2、返回配置查看,解决...
开放式耳机是什么意思?漏音吗?开放式的运动蓝牙耳机推荐
目前运动耳机市场主要分为入耳式、骨传导和开放式三类。入耳式耳机占比30%-40%,虽目前占比较大,但因在运动场景下有闷塞感、出汗不适、屏蔽外界环境音带来安全隐患等缺点,占比会逐渐下降。 骨传导耳机占比也为30%-40%,其不堵塞耳…...
如何优雅的处理NPE问题?
1.什么是NPE? NPE,即NullPointerException,是开发中最常见的问题之一,有必要知道如何正确地处理NPE。 对于 Java 开发者来说,null 是一个令人头疼的类型,一不小心就会发生 NPE (空指针…...
k8s 中存储之 NFS 卷
目录 1 NFS 卷的介绍 2 NFS 卷的实践操作 2.1 部署一台 NFS 共享主机 2.2 在所有k8s节点中安装nfs-utils 2.3 部署nfs卷 2.3.1 生成 pod 清单文件 2.3.2 修改 pod 清单文件增加 实现 NFS卷 挂载的 参数 2.3.3 声明签单文件并查看是否创建成功 2.3.4 在 NFS 服务器 创建默认发布…...
Redis中BitMap实现签到与统计连续签到功能
服务层代码 //签到Overridepublic Result sign() {//1.获取当前登录的用户Long userId UserHolder.getUser().getId();//获取日期LocalDateTime now LocalDateTime.now();//拼接keyString keySuffix now.format(DateTimeFormatter.ofPattern(":yyyyMM"));String …...
【Spring】“请求“ 之传递 JSON 数据
文章目录 JSON 概念JSON 语法JSON 的语法JSON 的两种结构 JSON 字符串和 Java 对象互转JSON 优点传递 JSON 对象 JSON 概念 JSON:JavaScript Object Notation【JavaScript 对象表示法】 JSON 就是一种数据格式,有自己的格式和语法,使用文本…...
文心一言 VS 讯飞星火 VS chatgpt (359)-- 算法导论24.3 1题
一、在图 24-2上运行Dijkstra算法,第一次使用结点 s s s作为源结点,第二次使用结点 z z z作为源结点。以类似于图 24-6 的风格,给出每次while循环后的 d d d值和 π π π值,以及集合 S S S中的所有结点。如果要写代码,…...
Redis-预热雪崩击穿穿透
预热雪崩穿透击穿 缓存预热 缓存雪崩 有这两种原因 redis key 永不过期or过期时间错开redis 缓存集群实现高可用 主从哨兵Redis Cluster开启redis持久化aof,rdb,尽快恢复集群 多缓存结合预防雪崩:本地缓存 ehcache redis 缓存服务降级&…...
jvisualvm学习
系列文章目录 JavaSE基础知识、数据类型学习万年历项目代码逻辑训练习题代码逻辑训练习题方法、数组学习图书管理系统项目面向对象编程:封装、继承、多态学习封装继承多态习题常用类、包装类、异常处理机制学习集合学习IO流、多线程学习仓库管理系统JavaSE项目员工…...
Gazebo环境下开源UAV与USV联合仿真平台
推荐一个ROS2下基于Gazebo环境的开源UAV与USV联合仿真平台。平台是由两个开源项目共同搭建的。首先是UAV仿真平台,是基于PX4官方仿真平台(https://docs.px4.io/main/en/sim_gazebo_gz);其次是USV仿真平台,是基于VRX仿真…...
Linux进程调度和进程切换
并行(Parallel) 含义:并行是指多个任务在同一时刻同时执行。 硬件要求:需要多个处理器(如多核CPU)或者多台计算设备来实现,这些执行单元能够真正地同时处理不同的任务。例如,一个具…...
机器学习基本上就是特征工程——《特征工程训练营》
作为机器学习流程的一部分,特征工程是对数据进行转化以提高机器学习性能的艺术。 当前有关机器学习的讨论主要以模型为中心。更应该关注以数据为中心的机器学习方法。 本书旨在介绍流行的特征工程技术,讨论何时以及如何运用这些技术的框架。我发现&…...
Android Framework AMS(01)AMS启动及相关初始化1-4
该系列文章总纲链接:专题总纲目录 Android Framework 总纲 本章关键点总结 & 说明: 说明:本章节主要涉及systemserver启动AMS及初始化AMS相关操作。同时由于该部分内容分析过多,因此拆成2个章节,本章节是第一章节&…...
基于基于微信小程序的社区订餐系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
[单master节点k8s部署]29.Istio流量管理(五)
测试istio熔断管理。 采用httpbin镜像和fortio镜像,其中httpbin作为服务端,fortio是请求端。这两个的配置yaml文件都在istio的samples/httpbin目录下,fortio的配置文件在samples-client目录下。 [rootmaster httpbin]# ls gateway-api ht…...
Something for 24OI
zyj老师希望我给24OI的同学们写一点东西,虽然感觉我也没有什么先进经验,还是尽力写一些主观的感受吧。 如何平衡文化课和竞赛的关系?不要以牺牲文化课的代价学习竞赛。首先,绝大多数的竞赛同学,或早或晚都会在退役后回…...
【React】事件机制
事件机制 react 基于浏览器的事件机制自身实现了一套事件机制,称为合成事件。比如:onclick -> onClick 获取原生事件:e.nativeEvent onClick 并不会将事件代理函数绑定到真实的 DOM节点上,而是将所有的事件绑定到结构的最外层…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
