当前位置: 首页 > news >正文

TGD第十篇:当神经网络遇到TGD特征

目录

    • 一、实验背景
    • 二、实验设置
    • 三、实验结果和分析
    • 四、结语

TGD 是我们定义的一种新的“变化率表征”,对连续函数而言是一种新的“广义导数”,对离散序列而言是一种新的差分。TGD 是一个名字,一个代号。在基于 TGD 的图像边缘检测以及视频边缘检测中,我们发现输入序列卷积 TGD 算子得到的响应结果,带来了边缘检测的优异结果。为此,我们猜测,信号的 TGD 值能够被视作一种特征,即「 TGD 特征 」,并且做很多其他事,服务很多 CV 计算机视觉任务。至于能做什么,不知道,既然不知道,那就交给神经网络作为特征好了。为此则有了本章节“当神经网络遇到 TGD 特征(When TGD features meet Neural Network)”。感兴趣的朋友欢迎阅读详见前面的章节:

理论部分:

TGD 第一篇:初心——我想要为“阶梯函数”求导。

TGD 第二篇:破局——去除导数计算中的无穷小极限。

TGD 第三篇:革新——卷积计算导数的高效之路。

TGD 第四篇:初瞰——抗噪有效的定性计算。

TGD 第五篇:飞升——给多元函数的导数计算加上全景雷达。

TGD 第六篇:落地——离散序列的 TGD 计算。

传统计算机视觉应用部分:

TGD 第七篇:一维应用——信号去噪和插值。

TGD 第八篇:二维应用——图像边缘检测。

TGD 第九篇:三维应用——视频边缘检测。

一、实验背景

2021 年春,我选修了孙延奎老师开设的《小波分析及其工程应用》,课程非常好,并且在课程上遇到了“官佳智”大佬,当时大作业要求用小波做想做的任何事。当时是 2021 年春夏之交,经过调研和论文搜索,官佬找到了 AAAI2020 刚刚入选的一篇文章 MIMAMO Net1(Micro-Macro-Motion Net)。并找到了其 Github 链接,基于此开展实验。该工作将连续视频帧作为输入,反正经过“吧啦吧啦吧啦”2得到了一组特征,来表征连续帧之间的时序特征,并将该时序特征引入深度神经网络中,在“视频人脸情感识别任务”中取得了 SOTA 的表现。MIMAMO 框架如下图所示,模型输入是连续帧图像。在对每一帧的预测过程中,Spatial stream 由预训练的 Resnet50 网络提取该静态帧的结构特征,Temporal stream 用相位差特征作为输入,利用一个多层 CNN 进行编码,最后多帧的空间特征(Spatial Feature)和时序特征(Temporal Feature)拼接后经过 RNN 编码输出 valence-arousal 的预测结果。他的大作业就是把 MIMAMO 中的傅立叶相位差特征变成小波系数做差得到的特征。

大作业答辩的时候,听了官佬的答辩,我说相邻两帧直接做差不好,我的研究就是离散序列如何计算变化率!于是就和他交流了 TGD 的思想(当初的取名还叫做窗导数,Window Derivative,所以后面的一些图中会看到「WD」)。为此,这个实验是在官佬的大作业基础上继续做出来的,下面的实验当时由官大佬主导完成。

图1:MIMAMO Net的网络架构

首先让我们分析一下“视频人脸情感识别任务”和TGD的适配性,即根据输入视频中人物的面部动作、微表情等特征,判断人物实时的情感状态。而脸部在时间维度上的像素值的变化,恰好能够表征人脸面部器官、肌肉等变化特征。在时间方向的一阶TGD响应中,红色为未来将出现运动的部分,蓝色部分为过去消失运动的部分;在时间方向的二阶TGD响应中,蓝色为当前即将运动的部分,红色为过去和未来运动的部分,颜色越鲜艳变化速度越快。之前的实验应用已经看到TGD能够表征时间上的像素变化,那么将其放入神经网络,会带来什么惊喜呢?

图2:欣欣的微表情及TGD特征

二、实验设置

【TGD 算子】我们基于正交构造法,使用高斯权重分布函数构造三维一阶和二阶 TGD 算子,求导方向为时间轴方向。

【数据集】与 MIMAMO 论文保持一致,实验使用数据集是 Aff-Wild3。该数据集包含了一共 298298298 段从 Youtube 收集的、表达了人们情感变化的长视频。这些视频中一共有 200200200 个不同的人物,包含了不同的种族、肤色、性别,总时长超过了 303030 小时。这些视频的每一帧都由 888 位不同的人员在 valence-arousal 连续空间(取值范围 [−1,1][-1,1][1,1] ) 进行了标注,任意一帧图像的 valence (情感是多么积极或消极、正向或负向) 和 arousal (情感的强度) 值共同表现了当前时刻人物的情感特征。

【评价指标和损失函数】与 MIMAMO 论文保持一致,实验中评价指标为一致性相关系数 Concordance Correlation Coefficient (CCC),并且损失函数为最小化负一致性相关系数。

图3:MIMAMO Net的论文截图

【对比设置】为了验证「 TGD 特征 」在的性能,我们仅仅在上图所示的 MIMAMO Net 的网络架构替换输入的时序特征(Temporal Feature),保持其他网络结构不动,展开实验。也是结合了刚上完的小波课程,我们尝试直接在 RGB 域(即不对原始输入帧进行变换)和小波域,利用三维 TGD 构建更为高效的面部时序特征。实验共设置了七组时序特征作为对比:

  • 第一组:FT 相位差特征,即 MIMAMO 论文初始配置
  • 第二组:小波系数直接做差,Wavelet Transform Difference(Wavelet-Diff): 利用 Haar 小波变换获得每一帧的小波系数,使用连续帧之间的小波系数差作为时序特征。
  • 第三组:小波系数+高斯平滑求导,Wavelet Transform & Gaussian Derivative (Wavelet-GD):利用 Haar 小波变换获得每一帧的小波系数,对帧内小波系数进行二维高斯平滑,且替换相邻帧差为卷积一维高斯一阶和二阶导数卷积核作为时序特征(这组实验的设置和图像边缘检测中的对比设置一致,告诉大家高斯平滑在变化率表征中不好用)。
  • 第四组:小波系数+ TGD,Wavelet Transform & TGD(Wavelet-TGD):利用 Haar 小波变换,替换相邻帧差为卷积时间方向一阶和二阶三维 TGD 算子作为时序特征。
  • 第五组:连续帧直接做差,Frame Difference(Frame-Diff):直接利用连续帧之间的差值直接作为时序特征。
  • 第六组:连续帧+ 高斯平滑求导,Frame & Gaussian Derivative (Frame-GD):对帧内进行高斯平滑,且替换相邻帧差为卷积一维高斯一阶和二阶导数卷积核作为时序特征。
  • 第七组:连续帧+ TGD,Frame & TGD (Frame-TGD):替换相邻帧差为卷积时间方向一阶和二阶三维 TGD 算子作为时序特征。

原始 MIMAMO 通过连续 131313 帧经两个方向带通滤波和降采样获得 484848 个相位差特征。针对第五至第七组实验设置, 131313 个连续帧经帧间直接做差得到 121212 个时序特征;对于高斯平滑求导,帧内使用 7×77 \times 77×7 的高斯平滑核 (高斯方差 δ=1\delta = 1δ=1 ),时间方向使用长度为 111111 的高斯一阶导算子和二阶导算子(高斯方差 δ=1.7\delta = 1.7δ=1.7 )),可获得 333 个一阶以及 333 个二阶导数特征,合计 666 个时序特征;对于 TGD,三维 TGD 算子卷积核尺寸为 7×7×117 \times 7 \times 117×7×11 ,由于使用正交构造法,等效于帧内进行 7×77 \times 77×7 高斯积分平滑核进行平滑(高斯方差 δ=1\delta = 1δ=1 ),时间方向高斯方差取 δ=1.7\delta = 1.7δ=1.7 ,可获取到 333 个一阶 TGD 以及 333 个二阶 TGD 特征,合计 6 个 TGD 时序特征。而在小波域中(第二至第四组实验设置),水平和竖直方向的高低频特征分别计算,所以得到 4 倍于第五至第七组实验设置的特征数量。

从时空梯度特征的角度来看,对于一秒 202020 帧的视频,两帧直接做差的方法得到的单个特征仅使用了 0.05s 内的运动信息,计算得到的数值极易受噪声影响。相较而言,TGD 算子对连续 111111 帧进行卷积计算,单个特征能使用 0.5s 内的信息,在时间维度上具有更大的跨度( 101010 倍于两帧做差的算法),能够一定程度上实现降噪。

为了和 MIMAMO 保持一致,时序特征被设置为与神经网络训练解耦合的步骤,即在训练神经网络前完成时序特征的计算和存储。但是值得指出的是,TGD 计算其实是用三维卷积核卷积连续帧。为此,TGD 算子的数值其实可以作为三维卷积层的初始化卷积核参数,构造的卷积层能直接作为神经网络的一部分在初始阶段进行特征提取。每组实验都运行了三次取平均值。

三、实验结果和分析

表1:定量比较

定量的实验结果上表所示,TGD 最优!

实验看起来小波系数直接做差,比 MIMAMO 论文中的傅立叶系数滤波后做差还要好,然后小波系数的 TGD 作为时序特征,性能还有提升。原始帧直接做差可能不如小波系数(Wavelet-Diff)和傅立叶系数做差(MIMAMO),更令我惊讶的是,直接原始帧的 TGD 作为时序特征,效果最好!并且TGD特征生成速度是傅立叶变换和小波变换的 4.74.74.7 倍和 6.26.26.2 倍。

除了定量的比较,我们还可视化了不同输入时序特征(图中 Window Derivative 就是 TGD),首行为连续 131313 个输入帧;第二行为 MIMAMO 的输入时序特征,因为是傅立叶变换的相位,基本看不出来几何属性, 可解释性较差 ;第三到第八行的可视化结果则展现了人的面部变化特征,更直观,具有更强的可解释性。第三行为连续两帧直接做差,受到了极大的噪声影响;第四到第八行看起来效果差不多,小波低频系数和高斯平滑求导、TGD 都能实现一定的去噪,并且捕捉面部变化的部分。

图4:不同的时序特征对比图 图5:不同的时序特征对比图

既然看不出什么差别,我就再往后看一层。下图可视化了不同的时序特征经过神经网络第一层卷积层后的激活图(activation map)。MIMAMO 确实可解释性太差,Frame-Diff 的结果依旧存在很多噪声。无论是帧像素值还是其小波系数,高斯平滑求导以及 TGD 得到的激活图中都可见清晰的人脸运动轮廓,然而两者对比,TGD 得到的激活图对运动区域的定位更“干净”更精确,而高斯平滑求导由于定位漂移等缺点,生成的时序特征会一定程度上误导神经网络,从而会出现一些奇奇怪怪的“不干净”的激活图,我认为这些“不干净”的激活图是用来矫正弥补高斯平滑求导带来的信息失真的。这也是为什么 Frame-GD 不如 Frame-TGD,Wavelet-GD 不如 Wavelet-TGD 的原因。

图6:激活图比较 图7:激活图比较

四、结语

本次实验其实是 2021 年的故事,对比研究和分析在当时可能还微微有所贡献,对于推动今天“视频人脸情感识别任务”发展基本没有什么贡献。应用的每一个篇章我都会强调,做这些实验的目的不是解决某个具体问题,不是刷榜和SOTA。

马克思提出: 生产工具是衡量生产力发展水平的客观标志,生产工具的改进和变革直接反映生产力水平,但需通过人的劳动实现。 TGD 就是一个新的生产工具,用来表征函数和信号变化率,TGD的提出将提升生产力水平,但还需要诸多研究者接续在下游任务中应用实现。我想做的,就是告诉大家TGD这个新的生产工具是有实际使用价值的,希望引起大家的共鸣,仅此而已。

诚然,在如今端到端大语言模型(LLM)的时代,几乎没有研究者再来关注一个一个微小的任务,在小众的数据集上刷指标刷排名。我想要指出的是,哪怕“遇事不决,量子力学;难题有疑,强化学习”,Deepseek-R1 等具有思维链的大模型的出现,使得我们人类可以以简单地结果为导向,让 LLM 以黑盒形式自己去思考挖掘需要哪些特征,需要如何提取这些特征。但是, 会严重加速“人类的懒惰性“

我其实非常喜欢传统计算机视觉,喜欢去理解当年如何建模这个问题的过程,如何让问题回归到数学或者物理的领域去,回归到笔尖纸张上面去。尽管大模型具有自动特征提取和处理功能, 特征工程(具有数学依据的人工特征) 依然是十分重要和必要的。这部分能力不能丢,因为这其实也是人类发现问题、分析问题、解决问题的能力。

当算力和数据集有限的时候,我们的神经网络模型不可能太复杂,导致模型的特征空间和解空间不大,这时候特征工程还能和神经网络抗衡一下。随着算力和数据集的提升,神经网络参数越来越多,特征空间和解空间越来越大,这时候人类没有 LLM 表现好,一方面是我们的特征空间和解空间就没有LLM大,另一方面是我们暂时还没有比 LLM 先找到一个更优解。

我不是让大家从大模型时代往回走,而是说: 大模型时代,算力发展、数据标注和基础理论都很重要!

我的原文地址:TGD第十篇:当神经网络遇到TGD特征


  1. D. Deng, Z. Chen, Y. Zhou, and B. E. Shi. MIMAMO net: Integrating micro- and macro-motion for video emotion recognition. In The Thirty-Fourth AAAI Conference on Artificial Intelligence, AAAI 2020, The Thirty-Second Innovative Applications of Artificial Intelligence Conference, IAAI 2020, The Tenth AAAI Symposium on Educational Advances in Artificial Intelligence, EAAI 2020, New York, NY, USA, February 7-12, 2020, pages 2621–2628. AAAI Press, 2020. ↩︎

  2. 大概来说就是,首先获得输入帧经傅立叶变换后的频域系数,将系数经过水平和竖直两个方向的带通滤波,再转换到时域空间得到滤波后的相位,再将相邻帧之间的相位做差表征时间维度的变化属性。 ↩︎

  3. S. Zafeiriou, D. Kollias, M. A. Nicolaou, A. Papaioannou, G. Zhao, and I. Kotsia. Aff-wild: valence and arousal’in-the-wild’challenge. In Proceedings of the IEEE conference on computer vision and pattern recognition workshops, pages 34–41, 2017. ↩︎

http://www.dtcms.com/a/309182.html

相关文章:

  • 相亲小程序个人资料管理系统模块搭建
  • 数据结构(10)栈和队列算法题
  • 25电赛e题杂乱环境稳定识别矩形框(附源码)
  • 浏览器环境segmentit实现中文分词
  • 精通分类:解析Scikit-learn中的KNN、朴素贝叶斯与决策树(含随机森林)
  • LLM Prompt与开源模型资源(2)提示工程关键技术
  • 工程化(二):为什么你的下一个项目应该使用Monorepo?(pnpm / Lerna实战)
  • 位运算-面试题01.01.判定字符是否唯一-力扣(LeetCode)
  • 【unity小技巧】封装unity适合2D3D进行鼠标射线检测,获取鼠标位置信息检测工具类
  • 8.1每日一题
  • (线段树)SP2916 GSS5 / nfls #2899 查询最大子段和 题解
  • STL进阶典题整理 2025.7.30-2025.8.1
  • 关于继承的一些知识(C++)
  • react-native在mac的m2芯片下,pod install安装glog的时候报错
  • bmcweb工作流程
  • 【科研绘图系列】R语言绘制环状分组显著性柱状堆积图
  • Spring AI 系列之三十 - Spring AI Alibaba-其它模型
  • CSS font-weight:500不生效
  • Git 命令使用指南:从入门到进阶
  • 动态规划(数位统计dp 状态压缩dp 树形dp 记忆化搜索) from y总
  • 【C语言】字符函数与字符串函数详解
  • http请求访问响应慢问题解决的基本思路
  • 基于python大数据的招聘数据可视化及推荐系统
  • natapp的报错Tunnel StatusReconnecting...
  • STM32芯片简述
  • 使用GPU和NPU视频生成的优劣对比
  • 人工智能与金融:金融服务的重塑
  • Linux9 root密码修改
  • armbian 启用nginx并设置访问密码
  • CTF实战:用Sqlmap破解表单输入型SQL注入题(输入账号密码/usernamepassword)