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

山东省建设厅电工证查询网站家装公司排名前十强

山东省建设厅电工证查询网站,家装公司排名前十强,广告创意与设计,建筑设计地图网站图像异常检测算法 1.简介1.1. 问题描述1.2. 挑战与需求 2. 图像异常检测定义2.1 异常的定义及类型2.2 图像数据中的异常 3. 图像异常检测技术研究现状4.方法5.安装和使用5.1 安装PyPI 安装本地安装 5.2 训练5.3 特征提取与#xff08;预训练#xff09;backones5.4 自定义数据… 图像异常检测算法 1.简介1.1. 问题描述1.2. 挑战与需求 2. 图像异常检测定义2.1 异常的定义及类型2.2 图像数据中的异常 3. 图像异常检测技术研究现状4.方法5.安装和使用5.1 安装PyPI 安装本地安装 5.2 训练5.3 特征提取与预训练backones5.4 自定义数据集5.5 推理PyTorch 推理Lightning 推理OpenVINO 推理Gradio 推理 5.6 超参数优化5.7 基准测试5.8 实验管理 1.简介 在工业生产中质量保证是至关重要的因为生产中的细小缺陷可能导致产品不合格甚至损害消费者和企业的利益。工业异常检测是一项关键任务旨在从大规模的生产数据中可靠地检测出异常情况这些异常可能是缺陷、故障或其他不正常情况。以下是关于工业异常检测的更多详细内容 1.1. 问题描述 在工业生产中产品和生产过程通常受到监控和控制以确保产品质量和生产效率。然而由于各种因素例如材料变异、设备故障、操作误差等仍然存在生产过程中的异常情况。这些异常可能包括产品中的缺陷、生产线中的故障、异常的工艺参数以及其他与正常生产不符的情况。 1.2. 挑战与需求 工业异常检测面临多种挑战这些挑战在很大程度上区分它与传统监督学习问题的不同之处 难以获取大量异常样本工业生产中异常情况通常相对较少因为异常情况不是常态。相比之下正常情况的数据通常占主导地位这使得异常检测成为无监督学习问题。正常样本和异常样本差异较小正常产品和异常产品可能在特征上没有明显的差异而且异常可能在细节上表现出相对微弱的特征。异常的类型不能预先得知在某些情况下异常的类型和性质可能在先验知识中未知因此算法需要具备足够的灵活性来检测各种类型的异常。 2. 图像异常检测定义 2.1 异常的定义及类型 异常又被称为离群值是一个在数据挖掘领域中常见的概念已经有不少的工作尝试对异常数据进行定义。一般情况下会将常见的异常样本分为3个类点异常、上下文异常和集群异常。 点异常一般表现为某些严重偏离正常数据分布范團的观测值如下图 ( a ) (a) (a)所示的二维数据点其中偏离了正常样本点的分布区域 ( N 1 , N 2 ) (N_1, N_2) (N1​,N2​)的点 ( O 1 , O 2 , O 3 ) (O_1,O_2,O_3) (O1​,O2​,O3​)即为异常点。上下文异常则表现为该次观测值虽然在正常数据分布范国内但联合周围数据一起分析就会表现出显著的异常 如下图 ( b ) (b) (b)所示 t 2 t_2 t2​点处的温度值虽然依然在正常范围内但联合前后两个月的数据就能发现该点属于异常数据。集群异常又称为模式异常是由一系列观测结果聚合而成并且与正常数据存在差异的异常类型该类异常中可能单独看其中任意一个点都不属于异常但是当一系列点一起出现时就属于异常如下图 ( c ) (c) (c)箭头所指区域内单独看每一个点的值都在正常范围内但这些点聚合在一起就形成了与正常信号模式完全不同的结构。 2.2 图像数据中的异常 图像数据中每一个像素点上的像素值就对应着一个观测结果由于图像内像素值的多样性仅仅分析某一个点的像素值很难判断其是否属于异常所以在大部分图像异常检测任务中需要联合分析图像背景以及周国像素信息来进行分类检测的异常也大多属于上下文或者模式异常当然这种异常类型之间并没有非常严格的界限 例如有一部分方法就提取图像的各类特征并将其与正常图像的特征进行比较以判断是否属于异常这就将原始图像空间内模式异常的检测转专换到了特征空间内点异常的检测。 图像异常检测任务根据异常的形态可以分为定性异常的分类和定量异常的定位两个类别。 定性异常的分类类似于传统图像识别任务中的图像分类任务即整体地给出是否异常的判断无需准确定位异常的位置. 如下图左上图所示左侧代表正常图像石侧代表异常图像在第1行中模型仅使用服饰数据集中衣服类型的样本进行训练则其他类别的样本图像(鞋子等)对模型来说都是需要检测的异常样本因为他们在纹理、结构和语义信息等方面都不相同又或者如第2行所示异常图像中的三极管与正常图像之间只是出现了整体的偏移而三极管表面并不存在任何局部的异常区域难以准确地定义出现异常的位置更适合整体地进行异常与否的分类。定量异常的定位类似于目标检测或者图像分割任务需要得到异常区域的位置信息在这种类型的图像异常检测中测试图象中只有一小部分区域出现了异常模式. 而异常定位任务根据具体的图像背景又可分为以下几类如下图所示其中被圈出部分为异常区域。 均匀背景 均匀背景代指一些内容较为单一的场景如下中上图所示磨砂玻璃表面对局部缺陷的定位或者深色山区图像中对盘山公路的定位这一类背景下的异常检测属于相对简单的检测任务。 纹理背景 纹理背景主要出现在工业生产领域中根据纹理形态又可以分为简单纹理、周期性纹理和随机纹理3种其中简单纹理代指因光照和材质反光等因素影响在原本均匀的物体表面产生的一些非均匀的纹理背景如下图的钢板表面图像而周期性纹理则代指各类由大量重复单元组成的具有显著周期性的图像最具代表性的就是下图所示的各类布匹图像而随机纹理则代指一些由无规则结构组成的图像背景如下图所示的声呐和纳米材料图像。 结构背景 结构背景则是一类更为广泛的图像背景一般具有结构复杂、个体差异大和语义信息丰富等特点需要整体进行分析而无法仅依定局部信息进行异常检四如下图所示的各种医学图像这类图像背景下的异常检测问题是相对较难的一类检测任务。 3. 图像异常检测技术研究现状 一般情况下图像异常检测的目标是通过无监督或者半监督学习的方式检测与正常图像不同的异常图像或者局部异常区域近年来传统机器学习方法已经在图像异常检测领域有了较多的应用而随着深度学习技术的发展越来越多的方法尝试结合神经网络来实见图像异常检测。根据在模型构建阶段有无神经网络的参与现有的图像异常检测方法可以分为基于传统方法和基于深度学习的方法两大类别。 如下图了所示基于传统方法的异常检测技术大致包含6个类别 基于模板匹配基于统计模型基于图像分解基于频域分斤基于稀疏编码重构基于分类面构建 而基于深度学习的方法大致包含4个类别 基于距离度量基于分类面构建基于图像重构结合传统方法 4.方法 为了解决图像异常检测上的问题这里介绍无监督学习的一种方法。无监督学习采用深度学习技术如卷积神经网络CNN、生成对抗网络GAN和自动编码器AE等以进行无监督的异常检测和定位。这些方法通常利用深度学习模型来学习数据的表示并使用这些表示来计算异常分数或执行像素级异常定位。它们属于基于深度学习的异常检测方法中的一部分。 无监督图像异常检测和定位方法从方法上可以分为判别方法和生成方法。下面将对其中一些算法进行更详细的介绍 判别方法 CFlowCFlow是一种基于密度比的方法它使用条件密度比估计来判别异常点。该方法依赖于密度比的计算以区分正常和异常数据点。DFKDEDFKDEDensity-Ratio Based Kernel Density Estimation是一种基于密度比的方法它通过估计两个条件密度函数之间的比值来识别异常点。PatchCorePatchCore方法使用卷积神经网络CNN来学习数据的表示然后在表示空间中使用聚类方法来定位异常区域。STFPMSTFPMSpatial-Temporal Fusion Proximity Map是一种用于视频数据的异常检测方法它结合了空间和时间信息以识别视频中的异常区域。 生成方法 GANomalyGANomaly结合了生成对抗网络GAN和自编码器Autoencoder的思想通过生成和重建来检测异常数据点。异常数据点通常不能被生成模型伪装。DraemDraemDeep Recurrent Autoencoder for Extreme Multiclass Classification是一种深度递归自编码器用于检测和定位异常点。它在大规模多类别异常检测中表现出色。PadimPadimPart-based Anomaly Detection for Images是一种图像异常检测方法它将图像分解为部分并检测异常部分以实现异常定位。Reverse DistillationReverse Distillation方法使用知识蒸馏的思想将大型模型的知识传递给小型模型以识别异常数据点。Fast-FlowFast-Flow是一种在图像上进行流场估计的方法通过检测像素级的流场异常来定位图像中的异常区域。 那如何更快上手使用这么多算法呢这里介绍一个python异常检测库anomalib githubhttps://github.com/openvinotoolkit/anomalib 5.安装和使用 Anomalib 是一个深度学习库旨在收集最先进的异常检测算法以便在公共和私有数据集上进行基准测试。Anomalib 提供了近期文献中描述的异常检测算法的几种即用型实现以及一套便于开发和实现自定义模型的工具。该库重点关注基于图像的异常检测算法的目标是识别异常图像或数据集中图像的异常像素区域。 5.1 安装 这是一个有关anomalib库的安装和使用的教程 PyPI 安装 你可以通过使用pip轻松开始使用anomalib。 pip install anomalib本地安装 强烈建议在安装anomalib时使用虚拟环境。例如使用Anaconda可以按以下方式安装anomalib yes | conda create -n anomalib_env python3.10 conda activate anomalib_env git clone https://github.com/openvinotoolkit/anomalib.git cd anomalib pip install -e .5.2 训练 默认情况下python tools/train.py 在MVTec ADCC BY-NC-SA 4.0数据集的leather类上运行PADIM模型。 python tools/train.py # 在MVTec AD的leather上训练PADIM在特定数据集和类别上训练模型需要进一步配置。每个模型都有其自己的配置文件config.yaml其中包含了数据、模型和训练可配置参数。要在特定数据集和类别上训练特定模型需要提供相应的配置文件 python tools/train.py --config path/to/model/config.yaml例如要训练PADIM可以使用以下命令 python tools/train.py --config src/anomalib/models/padim/config.yaml或者也可以提供模型名称作为参数脚本会自动找到相应的配置文件。 python tools/train.py --model padim目前可提供的模型 CFACFlowDFKDEDFMDRAEMEfficientAdFastFlowGANomalyPADIMPatchCoreReverse DistillationSTFPM 5.3 特征提取与预训练backones 预训练的骨干模型来自PyTorch图像模型timm它们由FeatureExtractor包装。 配置骨干模型可以在配置文件中设置以下是两个示例 model:name: cflowbackbone: wide_resnet50_2pre_trained: true5.4 自定义数据集 也可以在自定义文件夹数据集上进行训练。为此需要修改config.yaml文件的数据部分如下所示 dataset:name: name-of-the-datasetformat: folderpath: path/to/folder/datasetnormal_dir: normal # name of the folder containing normal images.abnormal_dir: abnormal # name of the folder containing abnormal images.normal_test_dir: null # name of the folder containing normal test images.task: segmentation # classification or segmentationmask: path/to/mask/annotations #optionalextensions: nullsplit_ratio: 0.2 # ratio of the normal images that will be used to create a test splitimage_size: 256train_batch_size: 32test_batch_size: 32num_workers: 8normalization: imagenet # data distribution to which the images will be normalized: [none, imagenet]test_split_mode: from_dir # options: [from_dir, synthetic]val_split_mode: same_as_test # options: [same_as_test, from_test, sythetic]val_split_ratio: 0.5 # fraction of train/test images held out for validation (usage depends on val_split_mode)transform_config:train: nullval: nullcreate_validation_set: truetiling:apply: falsetile_size: nullstride: nullremove_border_count: 0use_random_tiling: Falserandom_tile_count: 16通过将上述配置放置到config.yaml文件的数据部分模型将在自定义数据集上进行训练。 5.5 推理 Anomalib包括多个推理脚本包括Torch、Lightning、Gradio和OpenVINO推理器用于使用训练/导出的模型执行推理。在这一部分我们将介绍如何使用这些脚本进行推理。 PyTorch 推理 # 要获得有关参数的帮助请运行 python tools/inference/torch_inference.py --help# 示例Torch推理命令 python tools/inference/torch_inference.py \--weights results/padim/mvtec/bottle/run/weights/torch/model.pt \--input datasets/MVTec/bottle/test/broken_large/000.png \--output results/padim/mvtec/bottle/imagesLightning 推理 # 要获得有关参数的帮助请运行 python tools/inference/lightning_inference.py --help# 示例Lightning推理命令 python tools/inference/lightning_inference.py \--config src/anomalib/models/padim/config.yaml \--weights results/padim/mvtec/bottle/run/weights/model.ckpt \--input datasets/MVTec/bottle/test/broken_large/000.png \--output results/padim/mvtec/bottle/imagesOpenVINO 推理 要运行OpenVINO推理您需要首先将PyTorch模型导出到OpenVINO模型中。确保在相应的模型config.yaml文件中设置export_mode为openvino。 # 示例OpenVINO配置文件config.yaml optimization:export_mode: openvino # 选项: openvino, onnx# 要获得有关参数的帮助请运行 python tools/inference/openvino_inference.py --help# 示例OpenVINO推理命令 python tools/inference/openvino_inference.py \--weights results/padim/mvtec/bottle/run/openvino/model.bin \--metadata results/padim/mvtec/bottle/run/openvino/metadata.json \--input datasets/MVTec/bottle/test/broken_large/000.png \--output results/padim/mvtec/bottle/images确保在需要正确应用标准化时提供metadata.json路径。 Gradio 推理 使用Gradio推理与训练模型交互使用用户界面。有关更多详情请参阅我们的指南。 # 要获得有关参数的帮助请运行 python tools/inference/gradio_inference.py --help# 示例Gradio推理命令 python tools/inference/gradio_inference.py \--weights results/padim/mvtec/bottle/run/weights/model.ckpt \--metadata results/padim/mvtec/bottle/run/openvino/metadata.json \ # 可选--share # 可选用于共享UI5.6 超参数优化 要运行超参数优化请使用以下命令 python tools/hpo/sweep.py \--model padim --model_config ./path_to_config.yaml \--sweep_config tools/hpo/sweep.yaml5.7 基准测试 要收集各种基准测试数据如跨类别的吞吐量使用以下命令 python tools/benchmarking/benchmark.py \--config relative/absolute path/paramfile.yaml5.8 实验管理 Anomalib与各种实验追踪库集成如Comet、tensorboard和wandb通过PyTorch Lightning日志记录器。 以下是如何启用超参数、指标、模型图以及在测试数据集中的图像预测的日志示例 visualization:log_images: True # log images to the available loggers (if any)mode: full # options: [full, simple]logging:logger: [comet, tensorboard, wandb]log_graph: True
http://www.pierceye.com/news/997495/

相关文章:

  • 自己做的网站怎么添加采集模块网站管理包括哪些内容
  • php做网站验证码的设计电商网站的二级怎么做
  • 广西网站建设价钱微信crm管理系统
  • 福州网站建设公司中小企业荆门市城乡建设管理局网站
  • 建设信用卡网站首页有做车身拉花的网站吗
  • 怎么做婚恋网站织梦网站推广插件
  • rtt全民互助平台网站开发自己怎样做免费网站
  • 建站模板东营建网站公司
  • 如何用vs做网站网络推广方案下拉管家微xiala11
  • 可以做彩票广告的网站吗做网站的应用
  • 龙岗网站 建设深圳信科湘潭做网站价格品牌磐石网络
  • 湖北网站排名优化安卓项目开发
  • 网站怎么引入微信支付郑州官方通报
  • 在南宁做家教兼职的网站北京通州做网站
  • 深圳网站的建设维护公司秦皇岛市建设局官网
  • 做网站 插件静态网站开发课程相关新闻
  • 网站建站 公司无锡搜索引擎营销的内容
  • 公司网站建设小知识单页网站是什么样子的
  • 大学网站建设排名深圳网站建设公司报价
  • 贵阳网站制作公司茶叶推广方案
  • 自适应 网站开发wordpress域名邮箱设置
  • 深圳网站设计网站制作非织梦做的网站能仿吗
  • 做网站可以使用免费空间吗沧州百姓网免费发布信息网
  • 关于阅读类网站的建设规划书使用密码访问wordpress文章
  • 做鲜花配送网站需要准备什么郑州官网网站优化公司
  • 评论网站建设个人网站域名名字
  • 郑州做茶叶的网站科技公司官网设计源代码
  • 武夷山住房和城乡建设部网站广东建设报网站
  • 怎样建设网站是什么样的免费软件不收费网站
  • 网站服务器如何管理seo知名公司