amp 插件 wordpress/广州中小企业seo推广运营
2016-ACCV-Out of time: automated lip sync in the wild
- 摘要
- 1. 引言
- 1.1 相关作品
- 2. 表示和架构
- 2.1 音频流
- 2.2 视觉流
- 2.3 损失函数
- 2.4 训练
- 3. 数据集
- 3.1 编制训练数据
- 4. 实验
- 4.1 确定口型同步误差
- 4.2 应用:主动说话人检测
- 4.3 应用:唇读
- 5. 结论
- 参考文献
作者:Joon Son Chung and Andrew Zisserman
单位:Visual Geometry Group, Department of Engineering Science, University of Oxford
论文地址:https://link.springer.com/chapter/10.1007/978-3-319-54427-4_19
摘要
这项工作的目标是确定视频中嘴部运动和语音之间的音频视频同步。
我们提出了一种双流 ConvNet
架构,该架构能够从未标记的数据中端到端地训练声音和嘴部图像之间的映射。经过训练的网络用于确定视频中的唇同步误差。
我们将网络应用于另外两个任务:主动说话人检测和唇读。在这两项任务上,我们都在标准基准数据集上创下了新纪录。
1. 引言
音频与视频同步(或缺乏同步)是电视广播中制作人和观众面临的一个问题。在电视中,长达几百毫秒的口型同步错误并不罕见。如果错误的原因在于传输,则视频通常会滞后于音频。这些错误通常很明显——普通观众可以察觉到的阈值约为 -125ms(音频滞后于视频)到 +45ms(音频领先于视频)[1]。
在电影制作中,音频与视频同步是一项常规任务,因为音频和视频通常使用不同的设备录制。因此,该行业已经开发出许多解决方案,其中场记板是最传统的解决方案。现代解决方案使用时间码或有时在摄像机内置麦克风和外部麦克风的音频之间进行时间扭曲,但使用视觉内容作为对齐指南并不常见。
我们在本研究中的目标是开发一种独立于语言和说话者的口型同步问题解决方案,仅使用电视观众可用的视频和音频流。关键贡献是 ConvNet 架构和数据处理管道,该管道使声音和口型之间的映射能够从电视广播中辨别性地学习,而无需标记数据。据我们所知,我们是第一个端到端训练有效的 AV 同步系统的人。
该解决方案与许多不同的应用相关。我们证明该方法可应用于三个不同的任务:(i)确定视频中的口型同步误差;(ii)在有多张脸的场景中检测说话者;(iii)唇读。所有这些任务的实验性能都非常强大。在说话者检测和唇读方面,我们的结果超过了公共数据集 Columbia [4] 和 OuluVS2 [2] 上的最新成果。
1.1 相关作品
关于音频到视频同步问题的研究工作量很大。其中大部分是基于电视接收器无法使用的方法(例如在传输流中嵌入时间戳);相反,我们专注于仅依赖视听数据的计算机视觉方法。
许多论文已将音素识别用作解决口型同步问题的代理任务。在 Lewis et al. 的论文 [15] 中,使用线性预测从音频中提供音素识别,并将识别出的音素与嘴部位置相关联以提供口型同步视频。Morishima et al. 的论文 [19] 将面部参数分类为视素,并使用视素到音素的映射来实现同步。虽然 [13] 和 [18] 没有明确将声音分类为音素,但他们的方法与上述方法类似,都是通过让说话者记录一组元音来开发模型。 [13] 和 [18] 都将面部参数(例如下颌位置)与声音信号的 FFT 相关联。Zoric and Pandzic [29] 使用神经网络来解决这个问题。训练多层前馈神经网络以根据 MFCC 输入向量预测视位。使用参数化面部模型进行视觉处理。我们不会对声音和嘴形进行中间分类,将其分为元音或音素。
最近的论文尝试在没有此类标签的情况下找到语音和视觉数据之间的对应关系。许多方法都基于音频和视觉特征(例如几何参数或 2D DCT 特征)的典型相关分析(CCA)[3, 22] 或协惯性分析(CoIA)[20]。与我们最相关的工作是 Marcharet et al. 的工作。[17] 他们使用基于深度神经网络(DNN)的分类器来确定时间偏移,同时还基于预定义的视觉特征(语音类别可能性、瓶颈特征等),而我们直接学习视觉特征。
与本文开发的架构相关的是 Siamese 网络 [6],其中学习相似性度量以进行人脸分类而无需明确的类标签。[23, 27] 也具有相关性,因为它们同时训练输入来自不同域的多流网络。
2. 表示和架构
本节介绍音频和视频输入的表示和网络架构。网络会提取每种数据类型的 0.2 秒片段。在数据集(第 3 节)中,没有为音频视频数据提供明确的注释(例如音素标签或精确的时间偏移),但我们假设在电视广播中,音频和视频通常是同步的。
网络由两个非对称音频和视频流组成,下面将分别介绍它们。
2.1 音频流
输入音频数据是 MFCC 值。这是声音在非线性梅尔频率尺度上的短期功率谱表示。每个时间步长使用 13 个梅尔频带。特征以 100Hz 的采样率计算,为 0.2 秒的输入信号提供 20 个时间步长。
Representation。音频被编码为热图,表示每个时间步长和每个梅尔频带的 MFCC 值(见图 1)。图像的顶部和底部三行被反射以减少边界效应。先前的研究 [9] 也尝试训练图像风格的 ConvNet 以获得类似的输入。
Architecture。我们使用的卷积神经网络受到图像识别设计的启发。我们的层架构(图 2)基于 VGG-M [5],但修改了过滤器大小以接收不寻常尺寸的输入。VGG-M 拍摄大小为 224×224 像素的方形图像,而我们的输入大小在时间方向上为 20 像素(时间步长数),在另一个方向上只有 13 像素(因此输入图像为 13×20 像素)。
2.2 视觉流
Representation。视觉网络的输入格式是一系列灰度图像形式的嘴部区域,如图 1 所示。输入尺寸为 111 × 111 × 5 ( W × H × T ) 111\times 111\times 5\ \left(W\times H\times T\right) 111×111×5 (W×H×T),共 5 帧,相当于 25Hz 帧速率下的 0.2 秒。
Architecture。我们的架构基于 [7] 的架构,该架构专为视觉语音识别任务而设计。具体来说,该架构基于 Early Fusion 模型,该模型紧凑且训练速度快。conv1 过滤器已修改为接收 5 通道输入。
2.3 损失函数
训练目标是音频和视频网络的输出对于真实对是相似的,对于虚假对是不同的。具体来说,网络输出之间的欧几里得距离被最小化或最大化。我们建议使用对比损失(公式 1),最初是为训练 Siamese 网络 [6] 而提出的。 v v v 和 a a a 分别是视频和音频流的 f c 7 {fc}_7 fc7 向量。 y ∈ [ 0 , 1 ] y \in [0,\ 1] y∈[0, 1] 是音频和视频输入之间的二元相似性度量。
另一种方法是将这个问题作为分类问题(同步/非同步,或使用合成数据分为不同的偏移箱)来解决,但是我们无法使用此方法实现收敛。
2.4 训练
训练过程改编自单流 ConvNet [14, 24] 的常用过程,并受到 [6, 23] 的启发。然而,我们的网络不同,因为它由不同的流、两组独立的参数和来自两个不同域的输入组成。网络权重是使用动量随机梯度下降来学习的。网络的两个流的参数是同时学习的。
Data augmentation。应用数据增强通常可以提高验证性能并减少 ConvNet 图像分类任务中的过度拟合 [14]。对于音频,音量在 ±10% 的范围内随机改变。我们不会更改音频播放速度,因为这可能会影响重要的时间信息。对于错误示例,我们会随时间随机裁剪。对于视频,我们应用 [14, 24] 在 ImageNet 分类任务中使用的标准增强方法(例如随机裁剪、翻转、颜色偏移)。对单个剪辑中的所有视频帧应用单个变换。
Details。我们的实现基于 MATLAB 工具箱 MatConvNet [26],并在具有 12GB 内存的 NVIDIA Titan X GPU 上进行训练。网络使用批量标准化进行训练 [10]。使用的学习率为 1 0 − 2 10^{-2} 10−2 到 1 0 − 4 10^{-4} 10−4,这比通常用于训练批量标准化的 ConvNet 的学习率要慢。训练在 20 个 epoch 后停止,或者当验证错误在 3 个 epoch 内没有改善时停止(以较早者为准)。
3. 数据集
在本节中,我们描述了用于训练口型同步系统的自动生成大规模视听数据集的流程。使用所述方法,我们从 BBC 视频中收集了数百小时的语音,涵盖了数百名发言者。我们从 2013 年至 2016 年录制的 BBC 新闻节目开始(图 3),因为新闻中出现了大量不同的人,而电视剧的演员阵容则固定不变。训练、验证和测试集按时间划分,每组对应的视频日期如表 1 所示。
处理流程总结在图 4 中。流程的视觉部分基于 Chung 和 Zisserman [7] 使用的方法,我们在此简要介绍该方法。首先,通过比较连续帧的颜色直方图来确定镜头边界 [16]。然后对每一帧执行 [12] 中基于 HOG 的人脸检测方法,并使用 KLT 跟踪器 [25] 对各帧的人脸检测进行分组。我们会丢弃视频中出现多张脸的任何剪辑,因为在这种情况下无法识别说话者。
管道的音频部分很简单。梅尔频率倒谱系数(MFCC)[8] 特征用于描述音频,这在语音识别系统中很常用。不对音频进行任何其他预处理。
3.1 编制训练数据
通过拍摄 5 帧视频片段和相应的音频片段来生成真实(Genuine)的音频-视频对。仅将音频随机移动最多 2 秒,以生成合成的虚假音频-视频对。这在图 5 中进行了说明。我们从同一个剪辑中获取音频,以便网络学习识别对齐方式,而不是说话者。
Refining the training data。使用所提出的方法生成的训练数据很嘈杂,因为它包含声音和嘴形不相关的视频(例如配音视频)或不同步。
网络最初在这些嘈杂的数据上进行训练,并使用训练后的网络通过拒绝距离超过阈值的正对来丢弃训练集中的假阳性。然后对这些新数据重新训练网络。
Discussion。与一些基于音素识别的先前研究不同,该方法不需要对训练数据进行注释。我们用音频-视频对进行训练,这种方法的优点是可用数据量几乎是无限的,而且获取数据的成本极低(几乎任何从互联网上下载的语音视频都可用于训练)。关键假设是,我们下载的大多数视频都是大致同步的,尽管有些视频可能存在口型同步错误。ConvNet 损失函数和训练通常可以容忍数据有些嘈杂。
4. 实验
在本节中,我们使用经过训练的网络来确定视频中的口型同步误差。每个流的 256 维 f c 7 {fc}_7 fc7 向量用作表示音频和视频的特征。为了获得信号之间的(不)相似性度量,采用特征的欧几里得距离。这与训练时使用的距离函数相同。直方图(图 6)显示了度量的分布。
4.1 确定口型同步误差
为了找到音频和视频之间的时间偏移,我们采用滑动窗口方法。对于每个样本,计算一个 5 帧视频特征与 ±1 秒范围内的所有音频特征之间的距离。正确的偏移是当此距离最小时。但是,如表 2 所示,剪辑中的所有样本并非都具有区分性(例如,可能存在在特定时间没有任何内容的样本),因此对每个剪辑进行多次采样,然后取平均值。典型的响应图如图 8 所示。
Evaluation。音频和视频之间的精确时间偏移尚不清楚。因此,评估是手动完成的,如果人眼无法检测到口型同步误差,则认为同步成功。我们从数据集中为测试保留的部分随机抽取了数百个剪辑样本,如第 3 节所述。成功率报告在表 2 中。
我们还对韩语和日语视频样本进行了实验(图 7),以表明我们的方法适用于不同语言。定性结果非常好,可从我们的研究页面获取。
Performance。数据准备流程和网络在中档笔记本电脑(配备 NVIDIA GeForce GT 750M 显卡的 Apple MacBook Pro)上的运行速度明显快于实时速度,但人脸检测步骤(外部应用程序)除外,其运行速度约为实时速度的 0.3 倍。
4.2 应用:主动说话人检测
AV 同步和主动说话人检测的问题密切相关,因为必须建立视频和伴随音频之间的对应关系。因此,可以扩展同步方法以确定存在多个面孔的场景中的说话人。我们将时间偏移(同步误差)的置信度得分定义为欧几里得距离的最小值和中值之间的差值(例如,图 8 中两个图的该值约为 6 到 7)。在多主体场景中,说话人的脸自然是音频和视频之间对应性最高的脸。非说话人的相关性应接近于零,因此得分也很低。
与仅依赖嘴唇运动的单模态主动说话人检测方法不同,我们的方法还可以检测到人正在说话但与音频不相关的情况(例如在配音视频中)。
Evaluation。我们使用数据集(图 9)和 Chakravarty 等人的评估协议测试我们的方法。[4]。目标是确定多主题场景中的说话者是谁。
数据集包含 6 位说话者,其中 5 位(Bell、Bollinger、Lieberman、Long、Sick)用于测试。使用对剩余说话者(Abbas)的注释设置分数阈值,该阈值位于 ROC 曲线与对角线相交的点(相等错误率)。
我们在表 3 中报告了 F1 分数。每个测试样本的分数在 10 帧或 100 帧窗口内取平均值。对于 100 帧窗口,性能几乎完美。增加平均窗口大小的缺点是该方法无法检测到人说话时间很短的示例;尽管在本例中这不是问题。
4.3 应用:唇读
训练深度网络以完成任何任务都需要大量数据,但对于唇读等问题,收集大规模注释数据的成本可能高得令人望而却步。然而,未标记的口语视频却丰富且易于获取。
同步网络的一个有用副产品是,它能够在没有任何标记数据的情况下学习非常强大的口部描述符。我们利用这一结果在 OuluVS2 [2] 数据集上设置了新的最先进技术。这包括 52 个受试者说出相同的 10 个短语(例如 “谢谢”、“你好” 等)或 10 个预定的数字序列。它是在独立于说话者的实验中进行评估的,其中保留 12 个指定受试者进行测试。仅使用视频流进行训练和测试,即这是一个 “唇读” 实验,而不是视听语音识别实验。
Experimental setup。本实验使用一个简单的单向 LSTM 分类器,该分类器具有一层和 250 个隐藏单元。设置如图 10 所示。LSTM 网络提取 5 帧滑动窗口的视觉特征(来自 ConvNet 的 f c 7 fc_7 fc7 激活),每次移动 1 帧,并在序列结束时返回分类结果。
Training details。我们对循环网络的实现基于 Caffe [11] 工具箱。网络使用随机梯度下降进行训练,学习率为 1 0 − 3 10^{-3} 10−3。梯度在整个剪辑长度上反向传播。使用 Softmax 对数损失,这是 n n n 向分类问题的典型特征。这里 n = 10 n=10 n=10,代表 10 个短语或数字序列。仅在最后的时间步计算损失。
Evaluation。我们将结果与该数据集上之前的最新成果进行比较;同样使用相同的 LSTM 设置,但使用在 ImageNet [21] 上预训练的 VGG-M [5] 卷积网络。我们在表 4 中报告了结果。特别值得注意的是,我们的结果优于 [7] 的结果,后者是使用在非常大的标记数据集上预训练的网络获得的。
5. 结论
我们已经证明,可以训练双流 ConvNet,从易于获取的自然语音视频中将音频与嘴部运动同步。此方法的一个有用应用是在媒体播放器中,其中可以在运行时在本地机器上纠正口型同步错误。此外,该方法可以扩展到任何问题,只要它有助于学习不同域中相关数据之间的相似性度量。
我们还表明,经过训练的网络可以有效地完成视频中的说话人检测和唇读任务。
致谢。我们非常感谢 Andrew Senior 提出这个问题;感谢 BBC Research 的 Rob Cooper 和 Matt Haynes 帮助获取口型同步数据集;感谢 Punarjay Chakravarty 和 Tinne Tuytelaars 提供哥伦比亚数据集。本研究的资金由 EPSRC 计划拨款 Seebibyte EP/M013774/1 提供。
参考文献
[1] Bt.1359 : Relative timing of sound and vision for broadcasting. ITU (1998)
[2] Anina, I., Zhou, Z., Zhao, G., Pietik ̈ainen, M.: Ouluvs2: a multi-view au- diovisual database for non-rigid mouth motion analysis. In: Automatic Face and Gesture Recognition (FG), 2015 11th IEEE International Conference and Workshops on. vol. 1, pp. 1–5. IEEE (2015)
[3] Bredin, H., Chollet, G.: Audiovisual speech synchrony measure: application to biometrics. EURASIP Journal on Applied Signal Processing 2007(1), 179–179 (2007)
[4] Chakravarty, P., Tuytelaars, T.: Cross-modal supervision for learning active speaker detection in video. arXiv preprint arXiv:1603.08907 (2016)
[5] Chatfield, K., Simonyan, K., Vedaldi, A., Zisserman, A.: Return of the devil in the details: Delving deep into convolutional nets. In: Proc. BMVC. (2014)
[6] Chopra, S., Hadsell, R., LeCun, Y.: Learning a similarity metric discrimi- natively, with application to face verification. In: Proc. CVPR. vol. 1, pp. 539–546. IEEE (2005)
[7] Chung, J.S., Zisserman, A.: Lip reading in the wild. In: Proc. ACCV (2016)
[8] Davis, S.B., Mermelstein, P.: Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences. Acoustics, Speech and Signal Processing, IEEE Transactions on 28(4), 357–366 (1980)
[9] Geras, K.J., Mohamed, A.r., Caruana, R., Urban, G., Wang, S., Aslan, O., Philipose, M., Richardson, M., Sutton, C.: Compressing lstms into cnns. arXiv preprint arXiv:1511.06433 (2015)
[10] Ioffe, S., Szegedy, C.: Batch normalization: Accelerating deep network train-ing by reducing internal covariate shift. arXiv preprint arXiv:1502.03167 (2015)
[11] Jia, Y.: Caffe: An open source convolutional architecture for fast feature embedding. http://caffe.berkeleyvision.org/ (2013)
[12] King, D.E.: Dlib-ml: A machine learning toolkit. The Journal of Machine Learning Research 10, 1755–1758 (2009)
[13] Koster, B.E., Rodman, R.D., Bitzer, D.: Automated lip-sync: Direct transla-tion of speech-sound to mouth-shape. In: Signals, Systems and Computers, 1994. 1994 Conference Record of the Twenty-Eighth Asilomar Conference on. vol. 1, pp. 583–586. IEEE (1994)
[14] Krizhevsky, A., Sutskever, I., Hinton, G.E.: ImageNet classification with deep convolutional neural networks. In: NIPS. pp. 1106–1114 (2012)
[15] Lewis, J.: Automated lip-sync: Background and techniques. The Journal of Visualization and Computer Animation 2(4), 118–122 (1991)
[16] Lienhart, R.: Reliable transition detection in videos: A survey and practi- tioner’s guide. International Journal of Image and Graphics (Aug 2001)
[17] Marcheret, E., Potamianos, G., Vopicka, J., Goel, V.: Detecting audio-visual synchrony using deep neural networks. In: Sixteenth Annual Conference of the International Speech Communication Association (2015)
[18] McAllister, D.F., Rodman, R.D., Bitzer, D.L., Freeman, A.S.: Lip synchro- nization of speech. In: Audio-Visual Speech Processing: Computational & Cognitive Science Approaches (1997)
[19] Morishima, S., Ogata, S., Murai, K., Nakamura, S.: Audio-visual speech translation with automatic lip syncqronization and face tracking based on 3-d head model. In: Acoustics, Speech, and Signal Processing (ICASSP), 2002 IEEE International Conference on. vol. 2, pp. II–2117. IEEE (2002)
[20] Ru ́a, E.A., Bredin, H., Mateo, C.G., Chollet, G., Jim ́enez, D.G.: Audio- visual speech asynchrony detection using co-inertia analysis and coupled hidden markov models. Pattern Analysis and Applications 12(3), 271–284 (2009)
[21] Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., Huang, S., Karpathy, A., Khosla, A., Bernstein, M., Berg, A., Li, F.: Imagenet large scale visual recognition challenge. IJCV (2015)
[22] Sargin, M.E., Yemez, Y., Erzin, E., Tekalp, A.M.: Audiovisual synchroniza- tion and fusion using canonical correlation analysis. IEEE Transactions on Multimedia 9(7), 1396–1403 (2007)
[23] Simonyan, K., Zisserman, A.: Two-stream convolutional networks for action recognition in videos. In: NIPS (2014)
[24] Simonyan, K., Zisserman, A.: Very deep convolutional networks for large- scale image recognition. In: International Conference on Learning Repre- sentations (2015)
[25] Tomasi, C., Kanade, T.: Selecting and tracking features for image sequence analysis. Robotics and Automation (1992)
[26] Vedaldi, A., Lenc, K.: Matconvnet – convolutional neural networks for mat- lab. CoRR abs/1412.4564 (2014)
[27] Zhong, Y., Arandjelovi ́c, R., Zisserman, A.: Faces in places: Compound query retrieval. In: British Machine Vision Conference (2016)
[28] Zhou, Z., Hong, X., Zhao, G., Pietik ̈ainen, M.: A compact representation of visual speech data using latent variables. IEEE transactions on pattern analysis and machine intelligence 36(1), 1–1 (2014)
[29] Zoric, G., Pandzic, I.S.: A real-time lip sync system using a genetic algo- rithm for automatic neural network configuration. In: 2005 IEEE Interna- tional Conference on Multimedia and Expo. pp. 1366–1369. IEEE (2005)
相关文章:

【AIGC】2016-ACCV-即时追捕:自然环境下的自动唇音同步
2016-ACCV-Out of time: automated lip sync in the wild 摘要1. 引言1.1 相关作品 2. 表示和架构2.1 音频流2.2 视觉流2.3 损失函数2.4 训练 3. 数据集3.1 编制训练数据 4. 实验4.1 确定口型同步误差4.2 应用:主动说话人检测4.3 应用:唇读 5. 结论参考文…...

启智畅想集装箱箱号识别算法,2台相机即可实现较高识别率
启智畅想集装箱箱号识别算法,在货车通道中使用时,一般配备2台相机即可。启智畅想集装箱箱号识别算法,在货车通道中使用时,一般配备2台相机即可实现对集装箱箱号的精准捕捉与识别。这两台相机分别安装在货车通道的后侧和随意侧面&a…...

让IIS支持PUT请求解决IIS里不支持PUT请求的问题405 Method Not Allowed
文章目录 一、问题描述二、解决方案1.删除WebDav模块2.修改Web.config(可选) 一、问题描述 好不容易系统开发好了,兴高采烈地上线,部署好了网站,访问正常,打开方式正确! 但当我修改某些数据时&…...

入门级捡垃圾工作站记录
入门级捡垃圾工作站记录 想法 一直想着拥有有一台自己的多功能机子,一个笔记本很难事事包办,本来打算配一个台式机,后来研究了一下,索性捡垃圾拼装的工作站,性价比更高,稳定性也更强,而且还可…...

2024.12.9——攻防世界ics-06
知识点:index文件 ics 文件(iCalendar 格式文件) bp抓包 密码爆破 题目:云平台报表中心收集了设备管理基础服务的数据,但是数据被删除了,只有一处留下了入侵者的痕迹。 一、解题思路 step 1 打开靶机审题…...

微信小程序介绍-以及写项目流程(重要)
前言:本篇文章介绍微信小程序以及项目介绍: 文章介绍:介绍了微信小程序常用的指令、组件、api。tips:最好按照官方文档来进行学习,大致可以我的目录来学习,对于写项目是没有问题的 微信小程序官方文档https…...

国内国际标准!羊毛衫检测项目、检测要求及标准
本文整理了羊毛衫检测项目、检测要求及标准有关内容 一、羊毛衫检测项目 羊毛衫的检测项目主要包括以下几个方面: 纤维含量检测:检测羊毛衫中羊毛及其他纤维的比例,确保纤维质量符合产品标识或相关标准要求。 甲醛含量检测:测…...

MySQL知识大总结(进阶)
一,数据库的约束 1,约束类型 1not null非空约束,标记这个字段不可以为空2unique唯一约束,标记这个字段的值是该列唯一的值,在这一列的其他行,不可以与该字段相等3default 默认约束,在该字段没…...

【C语言】库函数常见的陷阱与缺陷(2):字符串转化函数
目录 一、atoi 函数 1.1. 功能与用法 1.2. 陷阱与缺陷 1.2.1. 输入验证不足 1.2.2. 溢出问题 1.3 安全替代 1.4. 代码示例 二、atof 函数 2.1. 功能与用法 2.2. 陷阱与缺陷 2.3. 安全使用建议 2.4. 代码示例 三、strtol 函数 3.1. 功能与用法 3.2. 陷阱与缺陷 …...

渗透测试基础
渗透测试基础是指对计算机系统、网络或应用程序进行模拟攻击,以发现其安全漏洞和潜在威胁的一种安全评估技术。通过模拟真实的攻击场景,渗透测试帮助组织了解其系统的安全弱点、验证防护措施的有效性,并提供改进建议。 渗透测试的核心概念 1…...

传奇996_53——后端ui窗口局部刷新
描述:一个大窗口,点击某个键,弹出小窗口。 小窗口中将msg存进变量中 大窗口中判断一个参数是否为null,如果不为null,说明界面不是第一次打开,而是被刷新了。就加上小窗口的那个变量 有时小窗口中还有其他…...

C++ constexpr vs const
笼统的讲 constexpr 主要用于编译时期,const用于运行时,但实际上两者都可以同时用于编译时期和运行时。 const const可以修饰全局变量,局部变量,函数参数,指针,引用,也可以修饰类成员函数&…...

【达梦数据库】存储过程调用实践案例-select
目录 前言创建表插入数据查询表中数据创建存储过程打开dbms_output包输出开关调用存储过程 前言 如果要在存储过程中执行一个SELECT语句并处理其结果,你不能直接使用EXECUTE IMMEDIATE,因为EXECUTE IMMEDIATE主要用于执行那些不返回行的语句(…...

041_Compare_Matrix_Squre_Sum_in_MATLAB中矩阵平方和的比较
矩阵平方和的计算 矩阵平方和的定义 矩阵平方和的定义是对矩阵中的每一个元素进行平方,然后求和。 对于一个矩阵 A A A,其平方和定义为: sum ∑ i 1 m ∑ j 1 n A ( i , j ) 2 \text{sum} \sum_{i1}^{m}\sum_{j1}^{n} A(i,j)^2 sumi1∑…...

TimeXplusplus——提高时间序列数据的可解释性,避免琐解和分布偏移问题的深度学习可解释性的框架
摘要 论文地址:https://arxiv.org/abs/2405.09308 源码地址:https://github.com/zichuan-liu/timexplusplus 信号传输技术的优化对于推动光通信的发展至关重要。本文将详细探讨线路编码技术的目标及其实现方式。线路编码旨在提高带宽和功率效率…...

批处理读取文本第n行并赋值给变量?--遍历所有行并赋值给变量数组
::TraceLines.bat goto :test1http://www.bathome.net/thread-27229-1-1.html#批处理如何获取txt文本中某行某列的内容/指定行指定列的内容 http://www.bathome.net/thread-47304-1-1.html#如何用批处理读取文本第二行并赋值给变量? https://github.com/npocmaka/ba…...

嵌入式入门Day26
IO Day2 IO相关函数标准文件流指针缓冲区刷新时机作业 IO相关函数 time #include <time.h>time_t time(time_t *tloc);功能:返回1970年到现在的秒数参数:计算出来的秒数;返回值;成功返回1970年到现在的秒数,失…...

【Vue3项目实战系列一】—— 从零开始一个vue3项目 vue3+javascript+vite 非常详细 手把手教学
😉 你好呀,我是爱编程的Sherry,很高兴在这里遇见你!我是一名拥有十多年开发经验的前端工程师。这一路走来,面对困难时也曾感到迷茫,凭借不懈的努力和坚持,重新找到了前进的方向。我的人生格言是…...

Python_Flask04(牛马问答平台01)
项目名称:牛马问答平台 项目简介:1.主要用来给社会上的牛马们探讨老板的恶心之处。 2. 用来学习交流。 技术手段:Python3.x Flask render_template pymysql flask_sqlalchemy........ 注意该博客为迭代项目,于最后一期展示完整…...

Java转C之并发和多线程
提纲: 概念介绍与对比概述 简述Java与C在并发和多线程方面的核心区别解释C11标准、POSIX、C11 <threads.h>、Pthread等名词 Java多线程与并发回顾 线程、Runnable、ExecutorService概念说明同步关键字与工具类含义 C并发基础 没有Java式的内置线程类…...

针对一个系统的权限管理这样的业务场景,使用各设计模式解说
通义灵码 下面将介绍如何在Java中使用不同的设计模式来实现权限管理系统。每个设计模式都有其特定的应用场景和实现方式,我们将逐一讲解。 1. 单例模式 (Singleton Pattern) 应用场景:确保权限管理服务在整个系统中只有一个实例,避免重复创…...
Android AppCompatImageView View.Gone状态切换到View.VISIBLE重新layout,Kotlin
Android AppCompatImageView View.Gone状态切换到View.VISIBLE重新layout,Kotlin import android.content.Context import android.util.AttributeSet import android.util.Log import androidx.appcompat.widget.AppCompatImageViewclass MyImageView : AppCompatI…...

在云上轻松部署达梦数据库
达梦数据库(DM Database)是由达梦数据库有限公司开发的一款关系型数据库管理系统(RDBMS)。作为国内领先的数据库产品,达梦数据库在政府、金融、能源、电信、交通、医疗、教育等多个行业得到广泛应用,尤其在…...

什么是厄尔米特(Hermitian)矩阵?
厄米矩阵(Hermitian Matrix)定义 在数学和物理中,厄米矩阵是满足以下条件的复方阵: A A † \mathbf{A}\mathbf{A}^\dagger AA† 其中, A † \mathbf{A}^\dagger A†表示矩阵 A \mathbf{A} A的共轭转置,即…...

React - useActionState、useFormStatus与表单处理
参考文档:react18.3.1官方文档 一些概念: React 的 Canary 和 Experimental 频道是 React 团队用于发布和测试新功能的渠道。 useActionState useActionState 是一个可以根据某个表单动作的结果更新 state 的 Hook。 const [state, formAction, isPe…...

v3账号密码登录随机图片验证码
安装插件 pnpm i identify --save图形验证码组件 <template><div class"s-canvas"><!-- 图形验证码的宽和高都来自于父组件的传值,若父组件没有传值,那么就按当前子组件的默认值进行渲染 --><canvas id"s-canvas&…...

不只是请求和响应:使用Fiddler解读Cookie与状态码全指南(下)
欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 不只是请求和响应:使用Fiddler抓包HTTP协议全指南(上)_fiddler 获取响应脚本-CSDN博客https://blog.csdn.net/Chunfeng6yugan/article/details/144005872?spm1001.2014.3001.5501 不只是请求和响…...

java+springboot+mysql游乐园管理系统
项目介绍: 使用javaspringbootmysql开发的游乐园管理系统,系统包含管理员、员工、用户角色,功能如下: 管理员:登录后台;首页数据统计;员工管理;用户管理;游乐项目管理&…...

@RequestBody,getparameter,@RequestParam,@PathVariable之间的区别和联系
RequestBody、RequestParam、PathVariable和getParameter(你提到的可能是Java Servlet API中的方法)是用于处理HTTP请求参数的不同机制。它们各自有不同的用途和适用场景,下面将详细解释它们之间的区别和联系。 1. RequestBody 用途…...

Linx下自动化之路:Redis安装包一键安装脚本实现无网极速部署并注册成服务
目录 简介 安装包下载 安装脚本 服务常用命令 简介 通过一键安装脚本实现 Redis 安装包的无网极速部署,并将其成功注册为系统服务,开机自启。 安装包下载 redis-7.0.8.tar.gzhttp://download.redis.io/releases/redis-7.0.8.tar.gz 安装脚本 修…...