【一周总结】PatchCore算法改进


前言

在这里插入图片描述

1、预处理-基于DiAD的过曝区域的去干扰

问题和分析

过曝区域对异常检测具有较大影响:

  1. 对于异常数据来说,但模型检测为异常时,是否是因为其过曝区域的影响
  2. 对于正常数据来说,过曝区域容易使其被检测为异常

之前的方法是在检测后形成patch-score时对其进行加权处理,但是,但过曝影响的区域过大不能进行全部的消除,同时增加加权处理的面积对正常区域和异常区域都是影响。

过曝区域一方面在实际检测和图像增强可以一定程度缓解其影响,同时在实际工业检测要求中,尽量减少漏检的发生,对于过曝等应按照异常处理,进行多次检测。

但是对模型实际性能的检测来说,应该避免过曝的影响。针对之前补偿算法的不足,提出一种基于图像生成及融合的去干扰办法。

思路与结果

对待检图片进行过曝区域的判定与检测,然后输入Diad模型获取重建图片,Diad模型会根据输入图片将与正常分布不同的部分重建,重建图片与原始图片在过曝区域进行加权处理获得去干扰图片。
diad原理之前有述。
结果:
在这里插入图片描述
分别为原图、融合后的图片、异常热力图。
从结果来看,异常热力图以及置信度(0.468,0.507),融合后的效果比原始图像、部分区域加权补偿较好,但是由于融合边界问题,置信度并没有降低到一个较为满意的值。

2、Patchcore-cait

思路

文献fastflow中提出了基于transform和基于cnn网络两种的backbone。
transform 可以提供全局感受野,并更好地利用全局和局部信息,同时保持不同深度的语义信息。现有检测效果中,对于一些较浅的划痕因其与背景纹路较为相似故检测检测较为困难。故尝试transform特征提取网络,希望在特征提取过程中对于背景纹路整体性会利用更好。

实验

Cait and Deit 是典型的 vit 模型,实验选取cait
在这里插入图片描述
从timm下载预训练模型,对于图片进行处理,以tensor形式输入得到预训练网络得到初步的提取特征。冻结网络参数,使其在训练过程中不在更新。之后将位置编码加到特征上,再进行归一化及重塑处理,获取特征。

结果

在这里插入图片描述
上为cnn提取结果,下为cait。结果提升较好。


### 关于 Pachcore 代码复现在 GitHub 上的教程 Pachyderm 是一种开源的数据版本控制系统,旨在帮助开发者管理数据科学项目中的复杂流程。其核心组件 `Pachcore` 提供了一个分布式文件系统和计算引擎,支持大规模数据分析和机器学习工作流[^1]。 要在 GitHub 上查找有关 Pachcore 的代码复现教程,可以遵循以下方法: #### 查找资源的方法 通过 GitHub 搜索功能输入关键词组合如 `"Pachcore tutorial"` 或 `"Pachcore code reproduction guide"` 可以找到相关的文档或示例项目[^2]。GitHub 社区通常会提供详细的 README 文件来指导用户完成安装、配置以及运行特定的功能模块。 对于具体的代码复现过程,一般涉及以下几个方面: - **环境搭建**: 需要先按照官方文档说明设置 Kubernetes 和 Docker 环境, 因为 Pachcore 基于这些技术栈构建[^3]。 - **数据准备与上传**: 使用命令行工具将原始数据集导入到 PFS (Pachyderm File System)[^4] 中作为后续处理的基础素材. - **管道定义**: 创建 JSON/YAML 格式的流水线描述文件用于指定每一步操作逻辑及其依赖关系[^5]. 下面是一个简单的 Python 脚本例子展示如何自动化部分上述任务: ```python import subprocess def run_command(cmd): result = subprocess.run(cmd.split(), stdout=subprocess.PIPE) return result.stdout.decode('utf-8') # Example commands to interact with pachctl CLI tool print(run_command("pachctl create repo input_data")) # Create a new repository named 'input_data' print(run_command("pachctl put file input_data@master -f /path/to/local/dataset/")) # Upload local dataset into the repo ``` 此脚本利用了 `subprocess` 库调用了几个常用的 `pachctl` 子命令来进行基本的操作演示.
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值