人工智能|计算机视觉——微表情识别(Micro expression recognition)的研究现状

news2026/4/9 14:45:09
一、简述微表情是一种特殊的面部表情与普通的表情相比微表情主要有以下特点持续时间短通常只有1/25s~1/3s动作强度低难以察觉在无意识状态下产生通常难以掩饰或伪装对微表情的分析通常需要在视频中而普通表情在图像中就可以分析。由于微表情在无意识状态下自发产生难以掩饰或伪装通常与真实情感直接相关所以微表情在情感分析中较为可靠应用前景广阔另一方面由于人为识别微表情比较困难训练难度大且成功率不高因此需要计算机进行微表情自动识别。目前微表情识别的工作难点主要有两方面微表情的持续时间短、动作强度低特征难以提取因此需要进行合适的数据预处理与特征提取由于微表情的数据采集与鉴定存在困难现有的微表情数据集较少这使得深度学习在微表情识别中的应用存在困难。现有的的微表情识别方法通常基于传统机器学习设计一种手工特征Handcrafted Feature来提取微表情片段中的特征依照数据预处理——特征提取——特征分类的框架进行微表情分类。随着近年来深度学习在计算机视觉中的发展使用深度学习方法进行微表情识别的尝试也逐渐增多。下面我将从数据集、数据预处理、传统方法、深度方法四个角度来简单介绍微表情识别工作。二、数据集CASME II数据集包含247条微表情视频片段在我实际使用的版本中包含255条使用200FPS的高速摄像机进行拍摄视频片段的面部分辨率可以达到约280*340像素。CASME II数据集将微表情分为5类进行标注分别是快乐Happiness、恶心Disgust、惊讶Surprise、压抑Repression、其他Others除此之外CASME II数据集中还标注了微表情活动的起点Onset、峰值点Apex与结束Offset其中Apex对于微表情识别有所帮助除了对情感进行标注外CASME II数据集还标注了每个微表情的AU面部活动单元AU可以作为对微表情进行分类的依据。对于CASME II数据集的详细介绍可以参照下文CASME II: An Improved Spontaneous Micro-Expression Database and the Baseline Evaluation​journals.plos.org/plosone/article?id10.1371/journal.pone.0086041​编辑除此之外目前比较常用的微表情数据集还有SMIC与比较新的SAMM等。对于不同的微表情数据集主要的区别在于帧率、分辨率与标注方式。三、数据预处理在提取微表情的特征前通常要对微表情视频片段进行数据预处理首先就是人脸预处理包括裁剪人脸等随后还要进行其他数据预处理以便于特征的提取。常使用的数据预处理包括使用TIM算法进行时域图像插值、使用EVM算法进行动作放大。1.人脸预处理在裁剪人脸时比较经典的方法是使用ASM或其他算法提取人脸特征点以左眼的位置以及双眼间的距离作为基准控制人脸裁剪的位置与范围由于微表情数据集中的数据采集自多名受试者而不同受试者的面部特征分布有所不同因此为了减少不同受试者之间面部的差异可以基于面部特征点对所有片段进行面部配准face register效果如下图所示(a)标准面部 (b)面部配准前的图像 (c)面部配准后的图像简单来说face register首先选择一张脸作为标准人脸图像提取其特征点对于每个视频片段提取视频片段中第一帧的面部特征点并计算一个映射函数此处使用LWM算法将这帧图像的特征点映射到标准图像的特征点上最后将此映射作用在视频中的所有帧上。这种方法可以使所有视频片段中的人脸特征点位置相同从而减少不同人脸的差异。使用python的dlib库识别人脸特征点进行face register经过实验发现register可以提高模型在10-fold验证时的效果但降低了模型在LOSO验证时的效果。由于dlib对于人脸特征点的识别并不是那么准因此上述现象也可能是由dlib的误差导致。2.时域图像插值TIM算法由于微表情持续时间较短我们希望有一种方法能在保持微表情特征的同时延长微表情的持续时间这样有利于特征的稳定提取因此我们需要对视频片段进行时域上的插值增加微表情片段所包含的图像数相当于变相延长了微表情的持续时间。由于在现实世界中人的表情是连续变化的但是在摄像机拍摄的视频中所包含的图像帧是不连续的。我们可以将现实世界中的连续表情变化视为图像空间上的一条连续曲线曲线的每一个点都代表着人脸在一个瞬间时的表情而摄像机拍摄的视频则可以视为在这条连续曲线上进行采样。只要能找到这条曲线并在曲线上重新进行更加密集的采样便能用更多的图像表示同一段表情。时域插值模型Temporal Interpolation ModelTIM算法是一种时域上的图像插值算法。该方法首先将视频片段视为一个图graph并用图中的节点代表一帧图像视频中相邻的帧在图中也是相邻的节点视频中不相邻的帧在图中也不相邻随后使用图嵌入graph embedding算法将该图嵌入到一个低维的流形中最后代入图像向量计算出这条高维的连续曲线。在曲线上重新进行采样便可以得到插值后的图像序列。TIM算法的细节可以参考下文Towards a practical lipreading system​d1wqtxts1xzle7.cloudfront.net/41951454/Towards_a_practical_lipreading_system20160203-30232-17wz8ns.pdf?1454509076response-content-dispositioninline%3Bfilename%3DTowards_a_practical_lipreading_system.pdfExpires1593328829SignatureacozjaiLd7c2APma86H1KgbKFTjTxvCa8QBNC9wgOsM84NHUPzzrEnTt-G57M~divHhhmuLoEyNLgvBDcyI0EYRdZZ9ooLYQ2FAn0a0Dvm3~JvCl2mfMX1bxwT0TQDugjIb6Pgq4owBFHYSeHX82qV~aV7DyVJ5BjpEth9Sn2t2lT21OZhwKrca94gvKZme7qc10ZhYE-Ztc6-TWbF~eq6vGDu2MJouP1IqKsGm03QG3x-1WyFfh36I~qlsW8sPoXjQtH0yEi4iJWvMdRRdv1-3x5OzfUgIi8xUsnxW40fz5Oi~J-cGMMq-9y7PmqY9P6sjlFu6lIpAnN6OwDLGKiw__Key-Pair-IdAPKAJLOHF5GGSLRBV4ZA3.动作放大EVM算法由于微表情的动作不明显想直接从视频片段中提取想要的特征是比较困难的此时我们可以使用欧拉视频放大Eulerian video magnificationEVM算法来放大我们想要的动作。EVM算法的核心思想在于使用带通滤波器对视频进行滤波获得我们想要的信号频率此处我们关注的是微表情的动作频率并对该频率的信号进行放大该方法既可以用于放大视频中的颜色变化又可以用于放大动作。目前有两种动作放大的方法一种是线性的欧拉视频放大也就是上面讨论的那种这种方法比较简单但带来的噪声比较明显另一种是基于相位的视频放大无论是放大效果还是噪声都优于第一种。这两种方法分别来自下面两篇论文Eulerian video magnification for revealing subtle changes in the world​dl.acm.org/doi/pdf/10.1145/2185520.2185561Phase-based video motion processing​dl.acm.org/doi/pdf/10.1145/2461912.2461966在知乎也有文章对这两种方法进行详细的介绍Wang Hawk9. 图像处理的应用 - 欧式视频放大的实现100 赞同 · 22 评论文章​编辑Wang Hawk10. 图像处理的应用-基于相位的视频处理127 赞同 · 17 评论文章​编辑使用线性的欧拉视频放大方法。经过实际测试EVM算法可以明显提高模型对微表情的识别能力。四、特征提取1.传统方法微表情识别的早期工作大多是基于传统机器学习的方法也就是设计一种手工特征提取算子提取微表情片段中的相应特征再使用SVM、RF等方法对特征进行分类以此识别微表情的种类。在这些工作中最具有代表性的便是Pfister等人在2009年的这篇文章Recognising spontaneous facial micro-expressions​citeseerx.ist.psu.edu/viewdoc/download?doi10.1.1.700.8477reprep1typepdf这篇文章堪称微表情自动识别工作的开山之作上文提到的人脸预处理方法以及TIM算法都是由这篇文章首先应用于微表情识别领域的。这篇文章使用了LBP-TOPLocal Binary Pattern histograms from Three Orthogonal Planes算子提取微表情特征取得了比较好的效果在后来的工作中普遍使用LBP-TOP作为模型的baseline。LBPLocal Binary Patterns是一种用于提取图像纹理特征的算子它会考虑像素点与周围像素的大小关系并将其大小关系编码成为二进制数最后使用直方图进行统计。由于直方图中蕴含了图像中所有像素点与周围的大小关系因此LBP特征可以用于表示图像的纹理特征。LBP-TOP算子是LBP算子在三维空间中的扩展由于视频可以视为x、y、t三个维度上的立方体LBP-TOP算子在XY、XT、YT三个正交平面上提取LBP特征并将得到的结果进行拼接作为最终的LBP-TOP特征。LBP-TOP算子的细节可以参照下面这篇文章Dynamic texture recognition using local binary patterns with an application to facial expressions​www.academia.edu/download/39765451/Dynamic_Texture_Recognition_Using_Local_20151106-14680-19lgjsz.pdfLBP-TOP虽然在微表情工作中表现不错但仍然存在一些问题。例如LBP-TOP提取的特征维度较高且存在稀疏采样的问题LBP-TOP使用直方图表示特征因此会丢失一些信息例如位置信息。在这篇文章之后有许多其他的工作提出了各种提取微表情特征的方法。这些方法主要可以分为两种第一种是基于表观特征Appearance based的方法也就是基于像素值的方法这类方法会直接基于像素值计算视频的某种统计特征LBP-TOP就是一种基于表观特征的方法这类方法提取的特征损失的信息比较少但通常特征维度比较高第二种是基于几何特征Geometric based的方法这类方法不会直接考虑像素值而会考虑某些特征点或特征区域的位移例如计算人脸特征点的位移或动作区域的光流optical flow。限于篇幅我不会对这些方法进行逐一介绍这里推荐一篇中文的综述性文章对于微表情识别工作以及2017年主要的方法都有介绍。人脸微表情识别综述​www.aas.net.cn/article/zdhxb/2017/3/333​编辑接下来介绍我个人印象比较深的传统方法文章。第一篇要介绍的是这篇2016年的文章Less is More: Micro-expression Recognition from Video using Apex Frame.Less is More: Micro-expression Recognition from Video using Apex Frame​arxiv.org/pdf/1606.01721传统的微表情特征提取方法既会考虑空间上的图像特征也会考虑时间上的时序特征因此一般都会对从微表情开始到结束的整段视频提取特征。这篇文章的创新点在于并没有从整段视频中提取特征而是只用到了一段微表情的峰值Apex帧与初始Onset帧提取特征并在此基础上取得了超过其他方法的效果。具体地这篇文章首先选择视频片段中的Onset与Apex帧并提取这两帧之间的光流场获得一系列的光流向量随后通过光流向量计算光流的方向、强度与光学应变Optical strain最后以强度与光学应变为权重使用直方图统计光流方向并以此作为最终的特征。这篇文章表明Apex帧中蕴含的信息已经能在很大程度上表示整个微表情的特征。在这篇文章之后有许多工作使用了相似的方法即通过Apex与初始帧之间的差异来分析微表情。2.深度方法尝试使用一些基于深度学习的方法不过由于缺少足够的数据在尝试时很容易就达到了过拟合由于没有足够的时间调试模型最终放弃了深度方法。最近几年MER领域的深度学习工作越来越多在我看来有两个主要的趋势第一是迁移学习Transfor Learning即从普通表情识别模型向微表情识别的迁移第二是跨数据集Cross-database学习即在一个数据集上训练模型、另一个数据集上验证或在多个数据集上共同训练、验证。第一种尝试的出发点在于解决缺少足够的训练数据的问题第二种尝试则是为了模拟现实中较为复杂的应用场景并且也能在一定程度上缓解数据不足的问题二者在实际应用中的效果都不错。接下来我会介绍一些印象比较深刻的深度微表情识别文章。1.Spatiotemporal Recurrent Convolutional Networks for Recognizing Spontaneous Micro-expressionsSpatiotemporal Recurrent Convolutional Networks for Recognizing Spontaneous Micro-expressions​arxiv.org/pdf/1901.04656这篇文章使用了类似Less is More那篇文章的方法即提取微表情Onset与Apex之间的光流并将其输入到RCNRecurrent Convolutional Networks中模型的结构比较简单但最终的效果非常好尤其是在CASME II数据集的LOSO验证中超过了80%的Accuracy是我目前见过最高的。具体地这篇文章首先使用TIM与EVM算法对微表情片段进行时间插值、动作放大在特征提取时文章提出了两种网络结构第一种将微表情片段的每帧图像平铺并拼接这样就将图像序列以二维的形式表示并使用RCN提取其中的特征第二种则是先提取Onset到Apex的光流并将光流输入到RCN中提取特征。显然第一种方法将图像序列以二维的形式表示会在一定程度上丢失图像的空间信息经过实际测试第一种方法在LOVO验证中效果较好但在LOSO验证中效果平平而第二种方法无论在LOVO还是LOSO中的效果都非常好。具体实验效果可以参考上图第一张是LOVOLeave-one-video-out的结果第二张是LOSOLeave-one-subject-out的结果。由于LOVO每次只将一个视频作为验证集模型在该目标的其他视频上经过了训练因此包含了该目标的额外信息在验证时效果较好而LOSO每次将一名目标的所有视频作为验证集模型中不包含该目标的微表情分布因此LOSO验证更能体现模型的能力。曾经尝试了该模型发现仍然逃不出过拟合的命运。这篇文章的data augmentation方法比较简单第一是通过调整EVM的动作放大因子第二是通过随机从视频中抽取一定百分比的帧数不过个人认为这两种方法很难真正缓解过拟合。这篇文章的效果好个人认为有几点原因首先是动作放大可以显著提高模型的识别效果第二是RCN的感受域比普通CNN大可能会增强模型的效果最后就是参数调的比较好……大概吧。五、其他工作MEGCFacial Micro-Expressions Grand ChallengeMEGC是在IEEE FG会议期间举办的一项挑战赛从2018年开始到现在已经举办了三届内容与微表情识别、检测相关在MEGC上可以看到微表情研究领域中比较前沿的任务与方法。MEGC2018MEGC2018提出了微表情识别中的跨数据集识别任务这项任务的本意是为了模拟微表情识别系统被应用于不同人群的场景。此次跨数据集识别使用了CASME II与SAMM两个数据集任务分为两部分第一部分是HDEHoldout-database evaluation将CASME II 与SAMM数据集的其中之一作为训练集另一个作为验证集进行验证第二部分是CDEComposite database evaluation也就是将CASME II与SAMM数据集合并使用LOSO进行验证。MEGC2018一共收到了三篇投稿其中第一篇使用LBP-TOP、3DHOG、HOOF三种传统方法为跨数据集学习的任务提供了baseline第二篇使用ELRCNEnriched Long-term Recurrent Convolutional Network这是一种CNNLSTM的网络结构并将图像、光流、光学应变一同作为输入最终效果尚可。具体可以参照这篇文章在深度微表情识别中算是比较具有代表性的工作Enriched long-term recurrent convolutional network for facial micro-expression recognition​arxiv.org/pdf/1805.08417第三篇使用了迁移学习的方法现在表情识别的数据集上训练模型随后在微表情数据集上进行微调值得一提的是这篇文章只是用了Apex frame的像素值作为特征势必会损失微表情中的很多信息。在上述前提下这篇文章获得了非常不错的效果在两种任务上的效果都明显超过了其他两篇工作这篇文章也应该是第一个将迁移学习完整应用于MER任务中的工作。具体可以参照下文From macro to micro expression recognition: Deep learning on small datasets using transfer learning​www.researchgate.net/profile/Min_Peng15/publication/325638548_From_Macro_to_Micro_Expression_Recognition_Deep_Learning_on_Small_Datasets_Using_Transfer_Learning/links/5b309ffd4585150d23cf3797/From-Macro-to-Micro-Expression-Recognition-Deep-Learning-on-Small-Datasets-Using-Transfer-Learning.pdfMEGC2019MEGC2019提出了两个任务第一个是微表情检测任务这里就不详细展开了第二个依旧是跨数据集的MER任务与MEGC2018的区别在于此次跨数据集识别只采取了CDE一种任务并且数据集扩增为CASME II、SAMM与SMIC。此次MER挑战一共征集到7篇投稿主办方只选择了4篇结果较好的工作进行发表值得一提的是本次的四篇投稿都使用了Onset到Apex的光流作为主要特征。第一篇文章可以简称为EMRExpression Magnification and Reduction这篇文章采用了类似MEGC2018中迁移学习的方法。具体地本文首先提取微表情Onset到Apex的光流再使用预训练的Resnet18提取特征随后将特征分为上下两个部分其中上部分主要包含眼部区域的特征下部分主要包含嘴部的特征作者使用这两部分特征分别训练一个分类器再拼接两个分类器的全连接层输入到另一层全连接网络中进行最终的分类。作者使用ImageNet2012数据集进行预训练并且使用了两种域自适应Domain Adaptation策略第一种是作者提出的表情放大与缩小Expression Magnification and Reduction策略简单来说就是通过EVM算法放大微表情的动作减小普通表情的动作使两种表情的差异减小第二种是Adversarial Adaptation这个我不太了解具体可以查看文章的参考文献。这篇文章的主要创新点在于Domain adaptation中使用的EMR方法最终实验的结果也是四篇工作中最好的一个具体可以参照文章A Neural Micro-Expression Recognizer​sci-hub.tw/10.1109/FG.2019.8756583第二篇工作使用了Shallow Triple Stream Three-dimensional CNN网络结构简写为STST-Net。具体地作者还是提取每个微表情片段中Onset到Apex的光流与光学应变随后将垂直光流、水平光流、光学应变输入到一个浅层的3DCNN中进行分类第三个维度就是特征的channel。吐槽一下虽然作者说这是3D-CNN可是我并没有搞懂这与普通的2D-CNN有什么区别毕竟普通的CNN也是有channel维度的。这篇文章并没有用到迁移学习与动作放大等方法仅凭浅层的CNN就获得了比较好的效果在四篇工作中结果是第二好的尤其在CASME II数据集上的结果比较突出。具体可以参照下文Shallow triple stream three-dimensional cnn (ststnet) for micro-expression recognition​arxiv.org/pdf/1902.03634第三篇工作引入了Inception网络结构可以简称为Dual-Inception Network。具体地作者直接将将微表情片段的中间帧视为Apex提取Onset到Apex的水平与垂直光流特征再分别放入两个Inception网络最终拼接并进行分类。这篇工作的效果还要略逊于第二篇不过在CASME II数据集上的表现比较好可以参照下文Sci-Hub | Dual-Inception Network for Cross-Database Micro-Expression Recognition. 2019 14th IEEE International Conference on Automatic Face Gesture Recognition (FG 2019) | 10.1109/fg.2019.8756579​sci-hub.tw/10.1109/FG.2019.8756579第四篇工作比较有趣使用了Capsule Network。在神经网络中特征通常都由标量表示特征向量的中的每一个元素都表示一个特征但在Capsule网络中每一个特征都由向量表示向量的模长就代表向量的重要性。Capsule在某些情况下可以更好地表示特征在深度学习的一些领域上Capsule的效果也已经超过了传统神经网络。因此作者试图将Capsule引入MER工作中。具体地作者首先识别出所有片段的Apex帧随后仅将Apex帧的像素值输入到预训练的Resnet18中得到一系列28*28的特征图再将特征图输入到Capsule network中提取特征并进行分类。最终的结果在整体上超过了baseline但是与其他三篇工作相比略显逊色究其原因可能是Apex帧的图像特征本身并不足以表达整段微表情的特征光流是比像素值更好的特征形式。这篇工作的文章如下Sci-Hub | CapsuleNet for Micro-Expression Recognition. 2019 14th IEEE International Conference on Automatic Face Gesture Recognition (FG 2019) | 10.1109/FG.2019.8756544​sci-hub.tw/10.1109/FG.2019.8756544总结MEGC2019中的四篇工作虽然使用的网络结构各不相同但思路类似都使用了微表情的Apex帧表示整段表情的特征。总体而言关于Apex的光流是比较好的特征形式而Transfer learningDomain Adaptation对于模型的效果提升也是巨大的。MEGC2020:MEGC2020中只提出了微表情检测的任务并且挑战赛的summary到现在仍未公布因此就不再介绍了。MEGC20182019 summaryFacial Micro-expressions Grand Challenge 2018​jultika.oulu.fi/files/nbnfi-fe2019080723643.pdfMEGC 2019 – The Second Facial Micro-Expressions Grand Challenge​jultika.oulu.fi/files/nbnfi-fe202003248957.pdf参考链接微表情识别Micro expression recognition简述 - 知乎 (zhihu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2441481.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…