计算机视觉的应用34-基于CV领域的人脸关键点特征智能提取的技术方法

大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用34-基于CV领域的人脸关键点特征智能提取的技术方法。本文主要探讨计算机视觉领域中人脸关键点特征智能提取的技术方法。详细介绍了基于卷积神经网络模型进行人脸关键点提取的过程,包括使用样例数据对模型进行训练,训练代码基于 pytorch 框架编写。同时,还对模型进行了评估,以确保其准确性和有效性。通过该技术方法,能够更准确地提取人脸关键点特征,为后续的人脸识别、表情分析等应用提供有力支持。该方法在计算机视觉领域具有广泛的应用前景和重要的研究价值。
在这里插入图片描述

文章目录

  • 一、计算机视觉与人脸关键点特征提取概述
    • 1.1 计算机视觉的广泛应用与技术背景
    • 1.2 人脸关键点特征提取的独特价值
      • 1.2.1 人脸识别与验证的安全基石
      • 1.2.2 人机交互的新界面
      • 1.2.3 情绪识别与心理健康
    • 1.3 技术挑战与发展趋势
  • 二、卷积神经网络模型在人脸关键点提取中的应用
    • 2.1 人脸关键点提取MTCNN 模型介绍
      • 2.1.1 模型架构
      • 2.1.2 主要特点
      • 2.1.3 应用场景
    • 2.2 应用场景及其效果
      • 2.2.1 人脸识别与认证
      • 2.2.2 表情识别与分析
      • 2.2.3 人机交互
  • 三、样例数据在人脸关键点提取中的作用
    • 3.1 样例数据的重要性
      • 3.1.1 学习的基础资源
      • 3.1.2 影响模型泛化能力
    • 3.2 不同类型的样例数据及影响
      • 3.2.1 数据的规模与质量
      • 3.2.2 多样性与平衡性
    • 3.3 成功应用案例
      • 3.3.1 WIDER FACE 数据集
      • 3.3.2 CelebA 数据集
    • 3.4 结论
  • 四、基于 PyTorch 框架的模型训练代码
    • 4.1 数据预处理与加载
      • 4.1.1 数据集准备
    • 4.2 构建模型
      • 4.2.1 卷积神经网络架构
    • 4.3 损失函数与优化器
    • 4.4 训练循环
    • 4.5 代码解析与原理
  • 五、模型评估方法与未来展望
    • 5.1 人脸关键点特征提取模型的评估指标
      • 5.1.1 准确率与召回率
      • 5.1.2 平均误差与标准差
      • 5.1.3 正交一致性
      • 5.1.4 交叉验证与F1分数
    • 5.2 当前评估方法的优势与不足
      • 5.2.1 优势
      • 5.2.2 不足
    • 5.3 未来展望
      • 5.3.1 多模态融合
      • 5.3.2 自适应评估框架
      • 5.3.3 强化学习与弱监督学习
      • 5.3.4 鲁棒性与公平性
      • 5.3.5 实时性能与轻量化

一、计算机视觉与人脸关键点特征提取概述

计算机视觉,作为人工智能的一个重要分支,致力于让机器“看”并理解世界,模仿人类视觉系统处理、解释图像和视频信息的能力。随着深度学习技术的兴起,计算机视觉在过去十年间取得了革命性的进展,广泛应用于自动驾驶、安防监控、医疗诊断、人机交互等领域,深刻地改变了我们的生活和工作方式。

1.1 计算机视觉的广泛应用与技术背景

计算机视觉的核心在于从像素级图像数据中自动提取有意义的特征,这些特征可以是物体的形状、颜色、纹理或是更复杂的语义信息。在这一过程中,深度学习尤其是卷积神经网络(CNN)的引入极大地提高了特征提取的准确性和效率,使得计算机视觉技术能够有效应对复杂多变的视觉任务,比如图像分类、目标检测、场景理解等。例如,在自动驾驶领域,高精度的物体识别和追踪能力是安全驾驶的基础;在医疗健康领域,计算机视觉技术被用于辅助医生进行疾病诊断,如通过分析医学影像识别肿瘤或病变区域。

1.2 人脸关键点特征提取的独特价值

人脸关键点特征提取是计算机视觉中的一个重要子领域,专注于从人脸图像中精确定位关键特征点,如眼睛、鼻子、嘴巴的位置,甚至是更细微的表情变化。这项技术不仅服务于基本的人脸识别与验证需求,还在人机交互、情感分析、虚拟现实、影视特效制作等多个领域展现出巨大的应用潜力。人脸关键点的精确提取,能够支持更自然的面部动画生成、增强现实体验,以及通过面部表情来理解用户情绪,从而提升用户体验和交互的真实感。

1.2.1 人脸识别与验证的安全基石

在安全认证领域,人脸关键点特征提取是实现高效、便捷生物识别的基础。相比于传统的密码或指纹识别,人脸认证提供了非接触式的身份验证方式,提升了用户体验。通过捕捉并分析人脸图像中的关键特征,系统能快速准确地判断个体身份,广泛应用于手机解锁、支付验证、门禁系统等场景。

1.2.2 人机交互的新界面

在人机交互方面,人脸关键点的动态监测为开发更加自然和智能的交互系统开辟了道路。例如,智能手机和智能音箱能根据用户的面部表情调整响应策略,游戏和虚拟现实环境则可以根据玩家的面部动作实时反馈,增强沉浸式体验。

1.2.3 情绪识别与心理健康

此外,人脸关键点分析还被用于情绪识别,通过分析面部微妙的表情变化来推断个体的情绪状态,这对于心理学研究、客户服务优化乃至智能健康监护都有重要意义。在心理健康领域,情绪识别技术可以帮助监测患者的抑郁或焦虑症状,为治疗提供依据。

1.3 技术挑战与发展趋势

尽管人脸关键点特征提取技术取得了显著进步,但仍面临着光照变化、遮挡、表情多样性、年龄变化等多重挑战,这些因素可能影响特征提取的准确性。因此,持续优化算法以提高鲁棒性和适应性是该领域研究的重点。未来,结合更多模态信息(如红外、深度数据)的多模态融合技术、以及轻量化模型的设计,将推动人脸关键点特征提取技术向更高效、更精准的方向发展。计算机视觉与其中的人脸关键点特征提取技术,不仅是现代科技的热点,也是连接人与数字世界的桥梁。随着技术的不断演进,我们有理由期待它将在更多领域发挥不可替代的作用,促进人机交互的进一步智能化与人性化。

二、卷积神经网络模型在人脸关键点提取中的应用

2.1 人脸关键点提取MTCNN 模型介绍

MTCNN是一种用于人脸检测和关键点定位的深度学习模型。它通过级联三个不同任务的卷积神经网络来实现高效且准确的人脸检测与关键点提取。以下是关于 MTCNN 的详细介绍:

2.1.1 模型架构

  • P-Net: 第一级网络,主要负责从输入图像中快速筛选出可能包含人脸的区域。输出为粗略的人脸候选框和五个关键点。
  • R-Net: 第二级网络,进一步缩小 P-Net 提供的人脸候选框范围,并提高检测精度。
  • O-Net: 第三级网络,最终确定人脸的位置、大小以及五个关键点的具体坐标。

2.1.2 主要特点

  1. 高效性:通过多级级联的方式,逐步细化检测结果,减少计算量。
  2. 准确性:利用卷积神经网络的强大特征提取能力,提升人脸检测的准确性。
  3. 多功能性:不仅能检测人脸,还能同时定位多个关键点,如眼睛、鼻子、嘴巴等。

2.1.3 应用场景

  • 人脸识别系统:用于身份验证或用户登录。
  • 视频监控:在公共场所进行人群监测及行为分析。
  • 图像编辑软件:辅助自动美颜、表情识别等功能。

2.2 应用场景及其效果

2.2.1 人脸识别与认证

准确的人脸关键点定位是实现高效人脸识别和身份验证的基础,CNN模型能够提供高精度的关键点信息,提升系统的安全性与用户体验。

2.2.2 表情识别与分析

通过精确提取面部表情的关键特征点,CNN模型可被应用于情感分析、心理健康监测等领域,实现更加细腻的情感识别和理解。

2.2.3 人机交互

在虚拟现实、增强现实和智能机器人中,实时准确的人脸关键点检测对于实现自然流畅的人机交互至关重要,CNN在此类应用中展现了优越的性能。卷积神经网络凭借其独特的结构设计和学习能力,在人脸关键点提取领域展现出了强大的效能和广泛的应用潜力,不仅推动了计算机视觉技术的进步,也为众多与人脸相关的应用提供了强有力的技术支撑。随着算法的不断优化和硬件设备的升级,其在未来的人脸识别和分析领域还将有更大的发展空间。

三、样例数据在人脸关键点提取中的作用

在人脸关键点特征提取的研究与应用中,样例数据扮演着至关重要的角色。它不仅是模型学习的基础材料,还直接影响到模型的训练效率、泛化能力和最终的性能表现。本部分将深入探讨样例数据的重要性,分析不同类型的样例数据,及其对模型训练和性能的影响力,并通过成功案例进一步阐明其实际价值。

3.1 样例数据的重要性

3.1.1 学习的基础资源

样例数据是训练深度学习模型,特别是卷积神经网络(CNN)时不可或缺的“教材”。这些数据通常包含大量标注了人脸关键点的图像,每个关键点代表面部的一个特征位置,如眼睛中心、鼻尖或嘴角等。通过这些数据,模型可以学习到面部结构的共通规律和细微差异,进而实现精准的关键点定位。

3.1.2 影响模型泛化能力

高质量和多样性的样例数据有助于提升模型的泛化能力,即在未见过的数据上也能有良好的表现。如果数据集中只包含了特定年龄、性别或种族的人脸,模型可能会过度拟合这些特定特征,导致在处理其他人群时性能下降。因此,构建包含广泛多样性的人脸样本库对提升模型的普适性至关重要。

3.2 不同类型的样例数据及影响

3.2.1 数据的规模与质量

  • 规模:大规模的样例数据可以提供更丰富的学习案例,有助于模型捕捉更多细节特征,但同时也可能增加训练时间和计算资源的需求。
  • 质量:高清晰度、准确标注的数据对于模型学习尤为关键。错误或模糊的标注会误导模型学习,降低最终的检测精度。

3.2.2 多样性与平衡性

  • 多样性:涵盖不同年龄、性别、表情、光照条件和姿态的样例可以增强模型的鲁棒性。
  • 平衡性:各类别样本数量的均衡可以避免模型偏向于某一特定类型,确保训练结果的公平性。

3.3 成功应用案例

3.3.1 WIDER FACE 数据集

WIDER FACE是一个广泛使用的人脸检测数据集,它不仅包含了大量的正面人脸,还有大量姿态各异、遮挡严重和表情丰富的人脸图片。该数据集的成功应用展示了多样化样例数据对于提高人脸检测与关键点定位精度的重要性。

3.3.2 CelebA 数据集

CelebFaces Attributes (CelebA) 数据集包含了超过20万张名人面部图像,每张图都标注了40种属性和五个关键点的位置。它的广泛应用证明了详尽标注的样例数据对于驱动高级特征学习和理解面部细微表情的价值。

3.4 结论

样例数据的质量、规模、多样性和平衡性是决定人脸关键点提取模型性能的关键因素。通过精心设计和筛选样例数据集,不仅可以加速模型的学习过程,还能显著提升其在实际应用场景中的表现。未来的研究应继续探索如何高效地构建更具代表性和挑战性的数据集,以及如何利用有限的数据资源通过数据增强等技术优化模型训练,推动人脸关键点提取技术的持续进步。

四、基于 PyTorch 框架的模型训练代码

本部分我们将深入到技术实践层面,通过一个基于 PyTorch 框架的人脸关键点特征提取模型训练示例,来具体展示代码实现过程及其背后原理。PyTorch 是一个开源的深度学习框架,以其动态计算图和简洁的API设计而受到广泛欢迎,特别适合于快速构建和实验深度学习模型。

4.1 数据预处理与加载

4.1.1 数据集准备

在开始模型训练之前,我们需要准备合适的数据集。人脸关键点数据集通常包含人脸图像以及对应的特征点坐标,例如眼、鼻、嘴角等关键位置。假设我们已经下载并组织好了一个这样的数据集,接下来使用 PyTorch 的 torch.utils.data.DatasetDataLoader 来加载和预处理数据。

import torch
from torch.utils.data import Dataset, DataLoader
from torchvision import transforms
import pandas as pd
from PIL import Imageclass FaceKeypointsDataset(Dataset):def __init__(self, annotations_file, img_dir, transform=None):# 加载包含图像路径和关键点坐标的CSV文件self.annotations = pd.read_csv(annotations_file)self.img_dir = img_dirself.transform = transformdef __len__(self):# 返回数据集的大小,即图像的数量return len(self.annotations)def __getitem__(self, idx):# 获取指定索引的图像路径img_path = self.annotations.iloc[idx, 0]# 从图像路径加载图像image = Image.open(f'{self.img_dir}/{img_path}').convert('RGB')# 获取图像对应的关键点坐标keypoints = self.annotations.iloc[idx, 1:].values.astype('float').reshape(-1, 2)# 如果有转换操作,则应用到图像上if self.transform:image = self.transform(image)# 返回图像及其对应的关键点坐标return image, keypoints# 定义数据转换
transform = transforms.Compose([transforms.Resize((224, 224)),transforms.ToTensor(),transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])# 创建数据集实例
dataset = FaceKeypointsDataset("annotations.csv", "img_dir", transform=transform)# 创建数据加载器
data_loader = DataLoader(dataset, batch_size=32, shuffle=True, num_workers=4)

上述代码中,我们定义了一个自定义的数据集类 FaceKeypointsDataset,用于读取图像文件和对应的关键点标签。通过 transforms.Compose 应用了图像的预处理步骤,包括调整大小、转换为张量格式以及归一化。

4.2 构建模型

4.2.1 卷积神经网络架构

接下来,利用 PyTorch 构建一个适用于人脸关键点检测的卷积神经网络(CNN)模型。此模型可以基于经典的网络结构进行微调,如 VGG 或 ResNet,或者设计一个更简单的网络以适应特定任务需求。

import torch.nn as nnclass KeypointDetector(nn.Module):def __init__(self):super(KeypointDetector, self).__init__()# 网络层定义,例如:self.conv_layers = nn.Sequential(nn.Conv2d(3, 64, kernel_size=3, stride=1, padding=1),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=2, stride=2),# 更多层...nn.Linear(512 * 7 * 7, 136)  # 假设输出为136维,对应关键点坐标)def forward(self, x):return self.conv_layers(x)model = KeypointDetector()

模型定义中,我们通过一系列卷积层、激活函数、池化层逐步提取图像特征,最终通过全连接层映射到关键点坐标上。模型的输出维度取决于关键点的数量,这里以136为例,假设每个关键点由二维坐标表示。

4.3 损失函数与优化器

为了训练模型,我们需要定义损失函数(Loss Function)和优化器(Optimizer)。对于人脸关键点检测,常用的损失函数是均方误差(MSE)或欧氏距离之和,它能衡量预测点与真实点之间的差距。

import torch.optim as optimcriterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)

4.4 训练循环

接下来是模型训练的核心部分,通过迭代数据集,前向传播,计算损失,反向传播更新权重。

num_epochs = 10
for epoch in range(num_epochs):for i, (images, keypoints) in enumerate(data_loader):# 前向传播outputs = model(images)# 计算损失loss = criterion(outputs, keypoints)# 反向传播和优化optimizer.zero_grad()loss.backward()optimizer.step()if (i+1) % 10 == 0:print(f'Epoch [{epoch+1}/{num_epochs}], Step [{i+1}/{len(data_loader)}], Loss: {loss.item():.4f}')

此段代码展示了基本的训练循环结构,每完成一次遍历数据集称为一个epoch,每次迭代会根据损失函数计算梯度,并使用优化器更新模型参数。

4.5 代码解析与原理

  • 数据预处理:通过对图像进行标准化处理,确保了输入数据的一致性,有助于模型更好地学习特征。
  • 模型构建:基于卷积神经网络的架构能够有效提取图像的局部特征,逐步抽象直至得到关键点的精确位置信息。
  • 损失函数选择:均方误差作为损失函数直接衡量预测值与真实值的差距,促使模型在训练过程中不断逼近真实关键点坐标。
  • 优化算法:Adam 优化器因其自适应学习率机制,在许多深度学习任务中表现优秀,能高效调节模型参数。

这段代码实例详细展示了如何在 PyTorch 框架下,从数据准备到模型构建,再到训练过程,完成一个人脸关键点特征提取的任务。每一步操作都遵循了深度学习的基本原则,旨在通过实际代码实现,深入理解模型训练的核心逻辑和实践细节。

五、模型评估方法与未来展望

5.1 人脸关键点特征提取模型的评估指标

5.1.1 准确率与召回率

在人脸关键点检测中,准确率(Accuracy)和召回率(Recall)是最基础的评估指标。准确率衡量正确预测的关键点数量占总预测数量的比例,而召回率则关注实际存在的关键点被正确识别的比例。这两个指标共同描绘了模型识别关键点的精确性和完整性。

5.1.2 平均误差与标准差

平均欧氏距离误差(Mean Euclidean Error, MEE)是衡量预测关键点位置与真实位置之间差距的常用度量,它直接反映了模型的空间定位精度。此外,计算所有样本MEE的标准差可以了解模型预测的一致性。

5.1.3 正交一致性

考虑到人脸关键点间的相对位置和比例关系对于许多应用至关重要,正交一致性(Orthogonal Consistency)评价了模型保持这些几何关系的能力。通过计算关键点间角度和距离的变化,评估模型在不同表情、姿态下的鲁棒性。

5.1.4 交叉验证与F1分数

为了更全面地评估模型性能,常采用交叉验证方法来减少过拟合风险。F1分数作为综合考虑准确率和召回率的指标,适合评估数据不平衡情况下的模型表现,为模型选择提供重要依据。

5.2 当前评估方法的优势与不足

5.2.1 优势

  • 全面性:上述评估指标从不同维度考察模型性能,确保了评估的全面性。
  • 可比性:标准化的评估指标促进了模型之间的直接比较,加速了技术进步。
  • 实践指导:通过细致的评估,研究人员能明确模型的弱点所在,指导后续优化方向。

5.2.2 不足

  • 忽视特定应用场景:通用指标可能未能充分考虑特定应用场景下的特殊需求,如表情识别中对细微表情变化的敏感度。
  • 计算成本:复杂的评估方法如正交一致性计算可能增加评估的计算负担,限制了大规模数据集上的应用。
  • 主观性因素:在某些情况下,如美学评估或身份认证,主观感受也应纳入考量,但现有客观指标难以覆盖。

5.3 未来展望

5.3.1 多模态融合

随着深度学习技术的发展,多模态信息融合将成为提升人脸关键点检测精度的新趋势。结合红外、深度图像等额外信息,有望提高模型在复杂光照、遮挡情况下的鲁棒性。

5.3.2 自适应评估框架

开发能够根据具体应用场景动态调整评估指标权重的自适应评估框架,将更贴合实际需求,推动技术向精细化、个性化发展。

5.3.3 强化学习与弱监督学习

引入强化学习机制,让模型在与环境的互动中学习更高效的关键点定位策略,或将弱监督学习应用于大规模无标注数据,减少对精细标注数据的依赖,是未来研究的热点。

5.3.4 鲁棒性与公平性

增强模型对极端表情、姿态、年龄、种族等变化的鲁棒性,同时重视算法公平性,减少偏见,是确保人脸关键点检测技术广泛适用和社会接受的关键。

5.3.5 实时性能与轻量化

在保障精度的同时,优化模型结构和算法流程,提升实时处理能力,开发适用于移动设备的轻量化模型,将促进该技术在更多领域内的应用普及。人脸关键点特征提取模型的评估方法正逐步走向多元化与场景化,而其未来发展则聚焦于技术创新与伦理考量的双重驱动下,追求更高效、精准、普适的解决方案。随着技术边界的不断拓展,我们有理由相信,这一领域将在不远的将来实现更大的突破。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux相关概念和重要知识点(5)(权限的修改、时间属性)

1.权限的修改 (1)提权行为 普通用户是会受到权限的限制,但root账户无视一切权限限制,因此当我们要获取更高的权限,有一种办法就是将自己变成root或者短暂拥有和root一样的权力。 普通用户 -> root :s…

人工智能有助于解决 IT/OT 集成安全挑战

思科的一项研究表明,信息技术 (IT) 和运营技术 (OT) 融合所带来的安全问题可以通过人工智能 (AI) 解决,尽管该技术也可能被恶意行为者利用。 该报告由思科和 Sapio Research 联合发布,对 17 个国家的 1,000 名行业专业人士进行了调查&#x…

硬件(驱动开发)

一、OSC基本架构(片上系统) OSC(On-chip System Control,片上系统控制)基本架构通常涉及片上系统中的各个组件如何进行协调与控制,以实现高效的处理、通信和管理。OSC架构在现代微处理器和系统单芯片&…

华为HarmonyOS地图服务 3 - 如何开启和展示“我的位置”?

一. 场景介绍 本章节将向您介绍如何开启和展示“我的位置”功能,“我的位置”指的是进入地图后点击“我的位置”显示当前位置点的功能。效果如下: 二. 接口说明 “我的位置”功能主要由MapComponentController的方法实现,更多接口及使用方法…

rocky Linux 9.4系统配置zabbix监控MySQL主从复制状态与配置钉钉告警

MySQL主从复制原理: 1. 主从复制的基本概念 主服务器(Master):负责处理所有的写操作(INSERT、UPDATE、DELETE),并将这些操作记录到二进制日志(binary log)中。 从服务器…

计算机网络(月考一知识点)

文章目录 计算机网络背诵默写版计算机网络知识点(月考1版) 计算机网络背诵默写版 为我自己留个印记,本来荧光笔画的是没记住的,但是后面用紫色的,结果扫描的时候就看不见了。 计算机网络知识点(月考1版&a…

静态链表:实现、操作与性能优势【算法 16】

静态链表:实现、操作与性能优势 在算法和数据结构的探索中,链表作为一种基础且灵活的数据结构,广泛应用于各种场景。然而,在算法竞赛或需要高效内存管理的环境中,传统的动态链表可能会因为内存分配和释放的开销而影响性…

【H2O2|全栈】关于CSS(5)如何制作一个搜索网页的首页?

目录 CSS基础知识 前言 准备工作 简单网页的组成部分 案例 浏览器的窗口大小 划分主要部分 固定定位 头部导航(左侧) 头部导航(右侧) LOGO ​编辑搜索框 热搜标题 热搜内容 文字简介 资源 预告和回顾 后话 CSS…

Tomcat中BIO和NIO的区别(Tomcat)

BIO Tomcat中BIO的模型和理论很简单,例图如下 1.Acceptor线程死循环阻塞接收客户端的打过来的socket请求 2.接收到请求之后打包成一个SocketProcessor(Runnable),扔到线程池中读取/写入数据 参数配置 1.Acceptor默认线程是1&#…

网络丢包定位记录(二)

网卡驱动丢包 查看:ifconfig eth1/eth0 等接口 1.RX errors: 表示总的收包的错误数量,还包括too-long-frames错误,Ring Buffer 溢出错误,crc 校验错误,帧同步错误,fifo overruns 以及 missed pkg 等等。 …

Cursor免费 GPT-4 IDE 工具的保姆级使用教程

Cursor免费 GPT-4 IDE 工具的保姆级使用教程 简介 Cursor 是一款基于人工智能技术的代码生成工具。 它利用先进的自然语言处理和深度学习算法,可根据用户的输入或需求,自动生成高质量代码。 不管是初学者,还是资深开发者,Curs…

uniapp 微信小程序 订阅消息功能实现

该网址 https://api.weixin.qq.com 上线后不可访问,调用该网址操作需在后端( 重要! 重要! 重要!) 1.首先拿到的三个码 //微信公众平台 //https://mp.weixin.qq.com const wxappid "管理-开发管理-A…

Java语言程序设计基础篇_编程练习题***18.32 (游戏:骑士的旅途)

目录 题目:***18.32 (游戏:骑士的旅途) 习题思路 代码示例 输出结果 题目:***18.32 (游戏:骑士的旅途) 骑士的旅途是一个古老的谜题,它的目的是使骑从棋盘上的任意一个正方 形开始移动,经过其他的每个正方形一次,如…

Web_php_include 攻防世界

<?php show_source(__FILE__); echo $_GET[hello]; $page$_GET[page]; while (strstr($page, "php://")) { 以是否检测到php://为判断执行循环$pagestr_replace("php://", "", $page);//传入空值&#xff0c;替换 } include($page); ?&g…

单样本Cellchat(V2)细胞通讯分析学习和整理

细胞通讯分析是一种研究不同细胞类型之间如何通过信号分子&#xff08;如配体和受体&#xff09;进行相互交流和调控的分析方法。它在揭示细胞间相互作用的机制&#xff0c;理解组织和器官如何协调运作方面具有重要意义。 细胞通讯分析的主要内容如下&#xff1a; 配体-受体相…

连续数组问题

目录 一题目&#xff1a; 二思路&#xff1a; 三代码&#xff1a; 一题目&#xff1a; leetcode链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 二思路&#xff1a; 思路&#xff1a;前缀和&#xff08;第二种&#xff09;化0为-1hash&#xff1a; 这样可以把…

【深入学习Redis丨第六篇】Redis哨兵模式与操作详解

〇、前言 哨兵是一个分布式系统&#xff0c;你可以在一个架构中运行多个哨兵进程&#xff0c;这些进程使用流言协议来接收关于Master主服务器是否下线的信息&#xff0c;并使用投票协议来决定是否执行自动故障迁移&#xff0c;以及选择哪个Slave作为新的Master。 文章目录 〇、…

五种数据库特性对比(Redis/Mysql/SQLite/ES/MongoDB)

做后端开发的程序员基本都要学会数据库的相关知识。 1、关系型数据 今天就着这段时间了解大模型的事需要牵扯到是我们接触最多的、也是入门后端必学的关系型数据库。在关系型数据库中&#xff0c;数据以表的形式进行组织和存储&#xff0c;每个表就像一个 Excel 表格&#xf…

如何写一个自动化Linux脚本去进行等保测试--引言

#我的师兄喜欢给我的休闲实习生活加活&#xff0c;说是让我在实习期间写一个自动化脚本去进行等保测试。呵呵哒。 怎么办呢&#xff0c;师兄的指令得完成&#xff0c;师兄说让我使用Python完成任务。 设想如下&#xff1a; 1、将Linux指令嵌入到python脚本中 2、调试跑通 …

基于微信小程序的宠物寄养平台的设计与实现+ssm(lw+演示+源码+运行)

摘 要 随着科技和网络的进步&#xff0c;微信小程序技术与网络、生活贴和的更加紧密。需要依靠客户端的单机系统逐渐被淘汰&#xff0c;利用互联网可以处理大量数据的新型系统如雨后春笋般迅速发展起来。这类系统和信息化时代的同步发展对传统的办公管理方式造成了很大的压力。…