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

目标检测,图像分割,超分辨率重建

目标检测和图像分割

目标检测和图像分割是计算机视觉中的两个不同任务,它们的输出形式也有所不同。下面我将分别介绍这两个任务的输出。图像分割又可以分为:语义分割、实例分割、全景分割。

  1. 语义分割(Semantic Segmentation):语义分割的目标是对图像中的每个像素打上类别标签,区分图像中不同类别的对象,但不区分同一类别中的不同个体。例如,在城市街景中,所有的树木都会被标记为“树”这一类别,而不会区分具体的每一棵树。

  2. 实例分割(Instance Segmentation):实例分割不仅要将每个像素归类到某个类别,还要区分同类中的不同个体。这意味着,在同一图像中,不同车辆会被识别并分别标记,每辆车都有一个独特的实例ID。

  3. 全景分割(Panoptic Segmentation):全景分割是语义分割和实例分割的结合。它对图像中的每个像素进行分类,同时区分出不同的实例。全景分割既包括了对物体的识别(如语义分割),也包括了对物体具体实例的区分(如实例分割),适用于需要同时识别和区分图像中所有对象的场景。

输出

目标检测任务的输出通常包括以下内容:

  1. 边界框(Bounding Boxes):对于图像中的每个目标,检测模型会输出一个或多个边界框,这些边界框以坐标形式表示目标的位置。常见的坐标格式有:

    • (x_min, y_min, x_max, y_max):表示边界框左上角和右下角的坐标。
    • (x_center, y_center, width, height):表示边界框中心点的坐标以及边界框的宽度和高度。
  2. 类别标签(Class Labels):每个边界框还会伴随一个类别标签,表示框内目标的类别。例如,在COCO数据集中,类别标签可以是“人”、“汽车”、“猫”等。

  3. 置信度(Confidence Scores):除了类别标签,模型还会为每个边界框输出一个置信度分数,表示模型对检测结果的确定程度。这个分数通常是一个介于0到1之间的值。

  4. 额外信息:在某些情况下,目标检测模型还可能输出额外信息,如目标的姿态、动作或其他属性。

图像分割任务的输出通常包括以下内容:

  1. 分割图(Segmentation Masks):图像分割模型会输出一个与输入图像大小相同的二维数组(对于灰度图像)或三维数组(对于彩色图像),每个像素的值表示该像素所属的类别或实例。例如,在语义分割中,不同的类别会有不同的标签;在实例分割中,每个实例会有一个唯一的标识符。

  2. 类别标签(Class Labels):在语义分割中,每个像素的值通常对应一个类别标签。在实例分割中,除了类别标签,每个实例还会有一个唯一的标识符。

  3. 概率图(Probability Maps):在某些分割模型中,输出可能包括一个概率图,表示每个像素属于每个类别的概率。

  4. 边界(Boundaries):在某些高级的分割任务中,模型还可能输出目标的边界信息,如轮廓或边缘。

  5. 全景分割(Panoptic Segmentation):全景分割结合了语义分割和实例分割的特点,输出既包括每个像素的类别信息,也包括每个实例的标识符。

end: 目标检测和图像分割的输出形式多样,具体取决于任务的性质和应用场景。这些输出可以用于进一步的分析、处理或作为其他计算机视觉任务的输入。

原理

目标检测是指在图像中识别和定位感兴趣的目标(物体)。它不仅要识别出图像中的目标类别,还要确定目标的位置,通常通过绘制边界框(bounding box)来表示。目标检测的基本原理包括以下几个步骤:

  1. 特征提取:使用卷积神经网络(CNN)从图像中提取特征。这些特征能够捕捉到图像中的局部和全局信息。

  2. 区域建议网络(Region Proposal Network, RPN):在某些模型中,如Faster R-CNN,使用RPN来快速生成可能包含目标的区域建议。

  3. 分类和边界框回归:对于每个区域建议,网络需要预测它是否包含目标以及目标的具体类别,同时还要调整边界框的位置,使其更准确地包围目标。

  4. 非极大值抑制(Non-Maximum Suppression, NMS):由于多个区域建议可能会重叠,NMS用于合并重叠的边界框,以确保每个目标只被检测一次。

  5. 损失函数:常用的损失函数包括交叉熵损失(用于分类)和Smooth L1损失(用于边界框回归)。Focal Loss是另一种损失函数,专门设计来解决类别不平衡问题。

图像分割是指将图像划分为多个部分或区域,每个区域包含具有相同属性的像素点。图像分割可以分为语义分割、实例分割和全景分割等。图像分割的基本原理包括:

  1. 像素级分类:图像分割需要对图像中的每个像素进行分类,确定它属于哪个目标或背景。

  2. 特征提取:与目标检测类似,图像分割也使用CNN来提取图像特征。

  3. 编码器-解码器架构:许多分割模型采用编码器-解码器结构,其中编码器逐步降低空间维度并提取特征,解码器则逐步恢复空间维度并进行像素级分类。

  4. 跳跃连接(Skip Connections):为了恢复细节信息,跳跃连接将编码器中的高分辨率特征与解码器中的对应层连接起来。

  5. 上下文信息:全局上下文信息对于分割非常重要,它可以帮助模型理解图像的整体结构和内容。

  6. 损失函数:图像分割常用的损失函数包括交叉熵损失和Dice损失,它们衡量预测分割图和真实分割图之间的差异。

  7. 后处理:在某些情况下,可能需要后处理步骤,如形态学操作或条件随机场(CRF),以改进分割结果。

        目标检测和图像分割都是复杂的问题,涉及到深度学习、特征提取和像素级预测等多个方面。随着技术的发展,这些领域的研究不断深入,新的方法和模型也在不断涌现。

异同

相同点:

  1. 特征提取:两者都依赖于深度学习模型,尤其是卷积神经网络(CNN,transformer等),从图像中提取特征。

  2. 像素级分析:无论是目标检测还是图像分割,都需要对图像中的每个像素进行分析,以确定它们属于哪个类别或目标。

  3. 深度学习架构:两者都可以使用类似的深度学习架构,如R-CNN系列、YOLO、SSD等。

  4. 数据集:两者经常使用相同的数据集进行训练和评估,例如PASCAL VOC、COCO等。

  5. 应用场景:两者都广泛应用于自动驾驶、监控、医疗影像分析等领域。

不同点:

  1. 输出结果

    • 目标检测:输出图像中每个目标的类别和位置(通常是边界框),以及每个目标的置信度。
    • 图像分割输出每个像素的类别标签,即对图像中的每个像素进行分类,区分属于不同目标或背景的像素。
  2. 任务复杂度

    • 目标检测:通常只需要识别和定位目标,不需要区分目标内部的像素。
    • 图像分割:需要对图像中的每个像素进行分类,任务更为复杂,尤其是在处理细粒度结构和目标边界时。
  3. 目标识别

    • 目标检测:关注的是目标的识别和定位,不区分目标内部的像素。
    • 图像分割:不仅识别目标,还区分目标内部的像素,提供更详细的目标形状和结构信息。
  4. 实例区分

    • 目标检测:通常不区分相同类别的不同实例,除非使用实例分割模型。
    • 图像分割:在实例分割任务中,需要区分相同类别的不同实例,为每个实例分配唯一的标识符。
  5. 性能指标

    • 目标检测:常用的性能指标包括平均精度(AP)、精确率-召回率曲线(PR Curve)等。
    • 图像分割:常用的性能指标包括交并比(IoU)、Dice系数、像素准确率等。
  6. 计算资源和速度

    • 目标检测:通常需要较少的计算资源,可以更快地处理图像。
    • 图像分割:由于需要对每个像素进行分类,通常需要更多的计算资源和时间。

总的来说,目标检测和图像分割虽然在技术实现上有相似之处,但它们的应用目标和输出结果有明显区别。目标检测更侧重于识别和定位目标,而图像分割则提供了更细致的像素级信息。

评价指标

指标名称定义原理使用场景取值范围
AP (Average Precision)平均精度,用于衡量精度和召回率的综合能力。通过计算精度-召回曲线下的面积来得到。常常结合多个IoU阈值(如0.5, 0.75)来综合评估。目标检测任务,综合考虑精度和召回率,评估模型的整体性能。[0, 1]
mAP (mean Average Precision)综合精度的平均值,表示模型在不同类别和不同IoU阈值下的检测能力。计算每个类别的AP值,取所有类别的平均值。AP是精度-召回曲线下的面积积分。目标检测任务,评估模型在多个类别上的综合检测能力。[0, 1]
AP50/75 (Average Precision at IoU=0.5 and IoU=0.75)在IoU阈值为0.5或0.75时的平均精度。在不同的IoU阈值下计算AP。通常评估在较宽松和较严格的IoU阈值下的检测性能。目标检测任务,特别用于评估模型在不同IoU重叠度下的表现。[0, 1]
IoU (Intersection over Union)预测框与真实框重叠的区域占两者联合区域的比例。IoU = 交集面积 / 并集面积。值越大表示预测框和真实框重叠越多,精度越高。目标检测,评估预测框与真实框的重叠程度,通常在检测结果的后处理过程中使用。[0, 1]
mIoU (mean Intersection over Union)语义分割任务中每个类别的IoU的平均值。计算每个类别的IoU,然后取平均值,表示模型在多个类别上的综合表现。语义分割任务,评估模型在多个类别上分割精度的平均值,尤其适用于多类别的图像分割任务。[0, 1]
Dice Coefficient衡量两个集合相似度的指标,通常用于图像分割任务中,表示分割结果与真实标签的相似度。Dice = 2 × (交集面积) / (A区域面积 + B区域面积)。值越大,表示预测分割与真实标签的重叠越多。图像分割任务,特别是实例分割或医学图像分割,评估模型在分割任务中的精度。[0, 1]
Dice Score与Dice Coefficient相似,用于图像分割任务中衡量预测分割区域与真实标签的重叠度。计算预测结果与真实标签之间的相似度,值越高表示分割效果越好。语义分割、实例分割任务,尤其在医学图像分析中应用广泛,用于衡量分割结果与真实标签的重叠情况。[0, 1]
FPS (Frames per Second)每秒钟处理的图像帧数,用于衡量模型的实时性。FPS = 总处理帧数 / 处理所需时间。表示模型推理的速度,越高越好。实时检测任务,如自动驾驶、视频监控、实时人脸识别等,评估模型的推理速度。[0, ∞)
FLOPs (Floating Point Operations)浮点运算次数,表示模型计算复杂度。计算网络中各层的浮点运算次数,衡量模型的计算复杂度。评估模型计算资源的消耗,特别在资源受限的设备(如移动端、嵌入式设备)上的效率。[0, ∞)

APdetAPloc 总结

指标含义计算步骤公式
APdet平均精度(Detection)1. 计算每个检测框的 IoU(预测框与真实框的交并比)。
2. 对所有检测框按置信度进行排序。
3. 计算 PrecisionRecall
4. 绘制 Precision-Recall 曲线
5. 计算每个类别的 AP
6. 计算所有类别的 mAP(平均AP)。
APloc平均定位精度(Localization)1. 计算每个检测框的 IoU(预测框与真实框的交并比)。
2. 选择适当的 IoU 阈值(通常为 0.5)。
3. 计算 PrecisionRecall,重点考虑 定位准确度
4. 绘制 Precision-Recall 曲线
5. 计算 APloc
APdet vs APloc评估目标检测模型的能力- APdet:关注目标检测的 整体效果(包括物体识别和定位)。
- APloc:专注于目标检测中的 定位精度
- APdet:考虑识别和定位的综合效果。
- APloc:主要评估定位准确性,不关注类别匹配。

关键差异:

  • APdet:综合评估 目标检测的整体效果,包括物体的识别与定位,计算方式涉及 Precision-Recall 曲线和 IoU 阈值。
  • APloc:专注于 定位精度,通过计算预测框与真实框之间的 IoU,评估检测框的 位置准确性

计算过程总结:

  • APdet:通过多个 IoU 阈值(例如,IoU ≥ 0.5、0.75)计算每个类别的平均精度,然后求 mAP(所有类别的平均值)。
  • APloc:通常基于较低的 IoU 阈值(例如,IoU ≥ 0.5)来计算 定位精度,重点衡量目标框的空间重叠与准确性。

无监督缺陷检测

        无监督缺陷检测任务没有标签数据,传统的准确率、召回率等标准指标不适用。在无监督情境下,可以采用以下指标来评估模型效果:

无监督的缺陷检测评估主要依赖于以下几个方面:

  • 重建误差:用于衡量模型在重建图像时,缺陷区域的重建不准确,通常通过MSE或SSIM来量化。
  • 聚类质量:通过聚类算法将正常和异常区域分开,利用轮廓系数等评估聚类效果。
  • 异常评分:通过计算每个区域或像素的异常分数,找出缺陷区域,评估模型识别缺陷的能力。
  • 阈值和区域检测:设定重建误差或异常分数的阈值,找出缺陷区域。

超分辨率重建

吵分辨率重建模型的精度指标

指标定义原理使用场景取值范围
PSNR峰值信噪比(Peak Signal-to-Noise Ratio)衡量重建图像与原始图像之间的误差,越高越好。基于均方误差(MSE)的反比关系。主要用于评估图像的像素级误差,适用于比较图像的精确度。通常取值在 20 ~ 40 dB 之间,值越大表示质量越高。
SSIM结构相似性指数(Structural Similarity Index)衡量图像的结构相似度,考虑亮度、对比度和结构信息。适用于评估感知质量,常用于超分辨率、图像压缩等领域。取值范围:[-1, 1],值越接近 1 表示结构越相似。
LPIPS学习感知图像补丁相似度(Learned Perceptual Image Patch Similarity)基于深度学习的感知相似度,利用预训练卷积神经网络(如 VGG)来衡量图像间的感知差异。主要用于感知质量评估,尤其适合图像生成和超分辨率任务。无明确范围,但值越低表示图像越相似。
MAE平均绝对误差(Mean Absolute Error)衡量像素间的绝对差异。计算原始图像和重建图像之间的每个像素的差异,并求平均。用于量化像素级误差,适用于对比不同图像之间的差异。取值范围:[0, ∞],越小表示误差越小。
MSE均方误差(Mean Squared Error)衡量像素间的平方误差,重建图像与原图的误差的平方值的平均。主要用于图像恢复、图像去噪等任务的精度评估。取值范围:[0, ∞],越小表示误差越小。
VIF视觉信息保真度(Visual Information Fidelity)评估图像中保留的视觉信息,模拟人眼感知图像质量。用于超分辨率和生成图像的视觉质量评估,特别关注视觉信息的保真度。取值范围:[0, 1],值越大表示质量越好。
FID弗雷歇距离(Fréchet Inception Distance)衡量生成图像与真实图像的分布差异,基于 Inception 网络的特征分布进行比较。主要用于生成图像的质量评估,特别是图像生成任务中。取值范围:[0, ∞],值越小表示生成图像与真实图像的分布越接近。
NIQE自然图像质量评估(Natural Image Quality Evaluator)无参考的图像质量评估方法,通过图像的统计特性与自然图像的模型进行比较。适用于没有参考图像的场景,评估图像的自然性和质量。取值范围:[0, ∞],值越小表示图像越自然。

总结:

  • PSNRMSE 常用于基于像素的误差评估,尤其适用于工程应用中的精度度量。
  • SSIMLPIPS 更侧重感知质量评估,尤其适用于图像生成和超分辨率任务。
  • VIFFID 提供了更符合人类视觉感知的评估方式,适合用于生成模型的质量评价。
  • MAEMSE 是较简单的度量,但在精度上有效。
  • NIQE 是无参考评估指标,适合在没有原始高分辨率图像时使用。

公开数据集

数据集名称任务特点标签类型标签意义网址
ImageNet图像分类、目标检测、图像分割等包含1000类,1400万张图像,覆盖多个物体类别类别标签每个标签表示图像中的物体类别,广泛用于分类任务ImageNet
COCO目标检测、图像分割、关键点检测包含20万目标实例,33万张图像,图像描述类别标签、边界框、分割掩码、关键点目标检测标签、实例分割、关键点坐标等COCO
MNIST手写数字分类70,000张28x28像素的灰度图像,10个数字类别数字标签每个标签表示图像中的数字(0-9)MNIST
Pascal VOC目标检测、图像分割、图像分类20类目标,标注了边界框和分割掩码类别标签、边界框、分割掩码目标检测的类别和位置,图像分割的像素级标签Pascal VOC
ADE20K语义分割20,000+张图像,150个类别类别标签每个像素的类别标签,适用于语义分割任务ADE20K
LFW人脸识别13,000多张图像,5,749个不同人人物标签每个标签表示图像中的人的身份LFW
Fashion-MNIST服装分类70,000张28x28像素图像,10种服装类别类别标签每个标签表示图像中的服装类别Fashion-MNIST
Kitti目标检测、深度估计、立体视觉车载相机和激光雷达数据,适用于自动驾驶类别标签、边界框、深度标签目标类别及位置,深度估计标签,适用于立体视觉任务Kitti
CIFAR-10图像分类32x32像素,10类目标,共70,000张图像类别标签每个标签表示图像所属的类别(如猫、狗、飞机等)CIFAR-10
CIFAR-100图像分类32x32像素,100类目标,共60,000张图像类别标签每个标签表示图像所属的类别(100类动物、物体等)CIFAR-100
SUN RGB-D3D物体检测、图像分割、语义分割来自RGB和深度传感器的10,000多张室内图像类别标签、3D点云标签物体类别标签、3D点云数据SUN RGB-D
Cityscapes城市街景图像分割高分辨率城市街景图像,应用于自动驾驶类别标签、边界框、实例分割标签每个像素的类别标签,适用于城市街景理解Cityscapes
Oxford Pets物体分类、图像分割7,349张宠物图像,37种宠物类别类别标签、分割掩码每张图像的宠物类别,像素级分割标签Oxford Pets
Iris Dataset分类任务包含150个鸢尾花样本,4个特征(花萼、花瓣长度等)类别标签每个样本的类别标签(Setosa, Versicolor, Virginica)Iris Dataset
Flickr8k/Flickr30k图像描述各自包含8,000和30,000张图像,每张图像有5个描述文字描述标签图像的自然语言描述,描述图像中的物体、场景等Flickr8k / Flickr30k
WIDER FACE人脸检测包含32,203张图像,400,000+标注人脸框人脸边界框标签每张图像中人脸的位置,适用于人脸检测任务WIDER FACE
Stanford Dogs物体分类包含120个犬种的20,580张图像类别标签每张图像的犬种标签,适用于犬种分类Stanford Dogs
DeepFashion服装分类、服装识别80,000+张图像,包含服装类别和属性标签类别标签、服装属性标签、边界框标签每张图像的服装类别,属性(如颜色、材质)和边界框DeepFashion

相关文章:

目标检测,图像分割,超分辨率重建

目标检测和图像分割 目标检测和图像分割是计算机视觉中的两个不同任务,它们的输出形式也有所不同。下面我将分别介绍这两个任务的输出。图像分割又可以分为:语义分割、实例分割、全景分割。 语义分割(Semantic Segmentation)&…...

微信小程序 城市点击后跳转 并首页显示被点击城市

在微信小程序中,渲染出城市列表后,如何点击城市,就跳转回到首页,并在首页显示所点击的城市呢? 目录 一、定义点击城市的事件 二、首页的处理 首页:点击成都市会跳转到城市列表 城市列表:点击…...

Linux - nfs服务器

五、nfs服务器 1、基础 NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统 中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。 由于NFS支持的功能比较多,而不同的功能都会使用不同的程…...

uniapp图片上传预览uni.chooseImage、uni.previewImage

文章目录 1.上传图片2.预览图片 1.上传图片 uni.chooseImage(OBJECT) 从本地相册选择图片或使用相机拍照。 App端如需要更丰富的相机拍照API(如直接调用前置摄像头),参考plus.camera 微信小程序从基础库 2.21.0 开始, wx.choos…...

C++ 字符串中数字识别

【问题描述】 输入一个字符串,含有数字和非数字字符,如“sumabc234;while(abc700)tab{ass346;bssabc267;}”,将其中连续的数字作为一个整数,依次存放到一个数组nums中。例如,234放在nums[0],700放在nums[1…...

学术中常见理论归纳总结-不定期更新

1.信息传播类 1.1 扩散创新理论 创新扩散理论是传播效果研究的经典理论之一,是由美国学者埃弗雷特罗杰斯(E.M.Rogers)于20世纪60年代提出的一个关于通过媒介劝服人们接受新观念、新事物、新产品的理论,侧重大众传播对社会和文化的影响。 1927-1941年进行的“艾奥瓦杂交玉…...

ModelSim怎么修改字体及大小

点击TOOLS 选择PERFERENCES选择下一级菜单的TEXTFONT/CHOOSE/选择字体和大小最后不要忘记点apply再退出...

图片预处理技术介绍4——降噪

图片预处理 大家好,我是阿赵。   这一篇将两种基础的降噪算法。   之前介绍过均值模糊和高斯模糊。如果从降噪的角度来说,模糊算法也算是降噪的一类,所以之前介绍的两种模糊可以称呼为均值降噪和高斯降噪。不过模糊算法对原来的图像特征的…...

Scrapy管道设置和数据保存

1.1 介绍部分: 文字提到常用的Web框架有Django和Flask,接下来将学习一个全球范围内流行的爬虫框架Scrapy。 1.2 内容部分: Scrapy的概念、作用和工作流程 Scrapy的入门使用 Scrapy构造并发送请求 Scrapy模拟登陆 Scrapy管道的使用 Scrapy中…...

D84【python 接口自动化学习】- pytest基础用法

day84 pytest常用断言类型 学习日期&#xff1a;20241130 学习目标&#xff1a;pytest基础用法 -- pytest常用断言类型 学习笔记&#xff1a; 常用断言类型 代码实践 def test_assert():assert 11assert 1!2assert 1<2assert 2>1assert 1>1assert 1<1assert a…...

如何正确书写sh文件/sh任务?bash任务

正确书写xx.sh文件的方式为&#xff1a; source /usr/local/miniconda3/bin/activate condaEnv export CUDA_VISIBLE_DEVICES0 cd /hy-tmp/test export PYTHONPATH"xxx:$PYTHONPATH" python AAA.py python BBB.py python CCC.py 直接运行&#xff1a; bash xx.sh 即可…...

多线程篇-5--线程分类(线程类型,springboot中常见线程类型,异步任务线程)

常见的线程类型包括用户线程&#xff08;User Threads&#xff09;、守护线程&#xff08;Daemon Threads&#xff09;、主线程&#xff08;Main Thread&#xff09;、工作线程&#xff08;Worker Threads&#xff09;和线程池中的线程。 一、用户线程&#xff08;User Thread…...

docker快速部署gitlab

文章目录 场景部署步骤默认账号密码效果 场景 新增了一台机器, 在初始化本地开发环境&#xff0c;docker快速部署gitlab 部署步骤 编写dockerfile version: 3.7services:gitlab:image: gitlab/gitlab-ce:latestcontainer_name: gitlabrestart: alwayshostname: gitlabenviron…...

C# 数据类型详解:掌握数据类型及操作为高效编码奠定基础

本文将带你深入了解C#中各种数据类型的特点、用途和最佳实践&#xff0c;让你不仅能熟练运用基本类型&#xff0c;还能掌握如何在实际项目中做出最合适的选择。 目录 C#基本语法 C#数据类型 C#类型转换 C#变量常量 C#基本语法 在学习C#之前我们要先知道C#的基础构建是由哪些…...

burp2

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…...

[ACTF2020 新生赛]BackupFile--详细解析

信息搜集 让我们寻找源文件&#xff0c;目录扫描&#xff1a; 找到了/index.php.bak文件&#xff0c;也就是index.php的备份文件。 后缀名是.bak的文件是备份文件&#xff0c;是文件格式的扩展名。 我们访问这个路径&#xff0c;就会直接下载该备份文件。 我们把.bak后缀删掉…...

循环神经网络(RNN)简述

RNN及其变体 1、概述 (一)、概念 RNN(Recurrent Neural Network), 中文称作循环神经网络, 它一般以序列数据为输入, 通过网络内部的结构设计有效捕捉序列之间的关系特征, 一般也是以序列形式进行输出。 RNN的循环机制使模型隐层**上一时间步产生的结果, 能够作为当下时间步…...

九、Ubuntu Linux操作系统

一、Ubuntu简介 Ubuntu Linux是由南非人马克沙特尔沃思(Mark Shutteworth)创办的基于Debian Linux的操作系统&#xff0c;于2004年10月公布Ubuntu是一个以桌面应用为主的Linux发行版操作系统Ubuntu拥有庞大的社区力量&#xff0c;用户可以方便地从社区获得帮助其官方网站:http…...

SpringBoot 新冠密接者跟踪系统:校园疫情防控的智能守护者

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自古…...

【Ubuntu】E: Unable to locate package xxx

报错描述 在 Ubuntu 上 执行 apt install xxx 出现下面的报错&#xff1a; 即无法定位到该 Package&#xff0c;一般形式如下&#xff1a; # apt install xxx Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable …...

vue多页面应用集成时权限处理问题

在多页面应用&#xff08;MPA&#xff09;中&#xff0c;权限管理通常会涉及到每个页面的访问控制、身份验证、以及权限校验。以下是几种常见的权限处理方式&#xff1a; 1. 前端路由权限控制 原理&#xff1a;虽然是多页面应用&#xff0c;通常每个页面会独立加载和渲染&…...

Socket编程(TCP/UDP详解)

前言&#xff1a;之前因为做项目和找实习没得空&#xff0c;计算机网络模块并没有写成博客&#xff0c;最近得闲了&#xff0c;把计算机网络模块博客补上。 目录 一&#xff0c;UDP编程 1&#xff09;创建套接字 2&#xff09;绑定端口号 3&#xff09;发送与接收数据 4&…...

qt QConicalGradient详解

1、概述 QConicalGradient是Qt框架中QGradient的一个子类&#xff0c;它用于创建锥形渐变效果。锥形渐变是从一个中心点出发&#xff0c;沿着360度的圆周扩散的颜色渐变。这种渐变通常用于模拟光线旋转、创建彩虹效果或实现其他复杂的颜色过渡。QConicalGradient允许你定义渐变…...

存储过程与自然语言处理逻辑的不同与结合

在现代软件开发中&#xff0c;存储过程与自然语言处理&#xff08;NLP&#xff09;逻辑都发挥着重要作用。存储过程是一种在数据库内部运行的预编译程序&#xff0c;通常用于处理与数据相关的任务&#xff0c;例如插入、更新、删除数据以及复杂的查询操作。而自然语言处理&…...

了解Linux —— 理解其中的权限

前言 在了解Linux权限之前&#xff0c;先来探讨我们使用的shell 命令它到底是什么&#xff1f; Linux 是一个操作系统&#xff0c;我们称其为内核(kernel) &#xff0c;正常情况下&#xff0c;我们一般用户操作并不是去直接使用内核&#xff0c;而是通过kernel 的外壳程序&…...

知识图谱嵌入与因果推理的结合

知识图谱通过节点&#xff08;实体&#xff09;和边&#xff08;关系&#xff09;来表示现实世界中的信息&#xff0c;但如何将这些信息转化为可进行推理和决策的形式&#xff0c;仍然是一个挑战。 另一方面&#xff0c;因果推理&#xff08;Causal Inference&#xff09;作为…...

STM32 PWM波形详细图解

目录 前言 一 PWM介绍 1.1 PWM简介 1.2 STM32F103 PWM介绍 1.3 时钟周期与占空比 二.引脚映像关系 2.1引脚映像与寄存器 2.2 复用功能映像 三. PWM 配置步骤 3.1相关原理图 3.2配置流程 3.2.1 步骤一二&#xff1a; 3.2.2 步骤三&#xff1a; 3.2.3 步骤四五六七&#xff1a; …...

Python Web 开发 FastAPI 入门:从基础架构到框架比较

Python Web 开发 FastAPI 入门&#xff1a;从基础架构到框架比较 目录 &#x1f5a5;️ Web 服务器概述&#xff08;如 Nginx、Apache&#xff09;&#x1f517; 前后端分离架构详解&#x1f504; HTTP 路由和请求处理机制&#x1f9f0; Web 框架概述&#xff1a;Django、Fla…...

基于STM32的智能仓库管理系统设计

目录 引言环境准备 硬件准备软件准备智能仓库管理系统基础 控制系统架构功能描述代码实现&#xff1a;实现智能仓库管理系统 4.1 RFID标签读取模块4.2 库存管理模块4.3 数据显示与监控模块4.4 无线通信模块应用场景&#xff1a;智能仓库管理系统优化问题解决方案与优化收尾与总…...

排序算法--堆排序【图文详解】

“留在码头的船才最安全” “但亲爱的&#xff0c;那不是造船的目的。 堆--插入heapInsert 原来有一个大根堆&#xff0c;如图&#xff1a; 现在要新插入一个数字50&#xff0c;进行插入 流程&#xff1a;和父亲相比&#xff0c;如果比父亲大&#xff0c;和父亲交换&#xff…...