项目简介
本项目是基于Keras框架构建的图像异常检测系统。它运用生成对抗网络(GAN)思想,通过训练生成器学习正常数据的分布,以此检测与正常数据分布明显偏离的异常情况。项目包含训练和测试阶段,还具备数据预处理和可视化处理功能。
项目的主要特性和功能
- 训练功能:可把训练图片资料置于指定文件夹,运行训练脚本对AI网络模型进行训练。训练时生成的图片会保存到特定文件夹,训练结束后模型也会保存。
- 测试功能:能将测试图片放入对应文件夹,可选择只显示结果、显示结果及图片等不同测试模式。
- 可视化功能:能够生成异常分数直方图,直观呈现异常情况;还能展示生成图片及残差图片。
安装使用步骤
安装依赖
假设用户已下载本项目的源码文件,在项目根目录下,执行以下命令安装所需的Python库:
sh
pip install -r requirements.txt
所需的Python及库的版本信息如下:
- python == 3.6 (版本3.0以上)
- numpy == 1.17.2 (不限定此版本)
- opencv-python == 4.1.1.26 (不限定此版本)
- tensorflow-gpu == 1.9.0
- keras == 2.2.5
- argparse
- matplotlib
- seaborn
新建空白文件夹
sh
python create_folder.py
训练阶段
- 把训练图片资料放到
./dataset/train/normal
文件夹中。 - 执行以下命令训练AI网络模型:
sh python train.py
- 训练过程中AI生成的图片会存于
./result
文件夹。 - 训练完成后,模型会保存在
./model
文件夹。
测试阶段
- 把测试图片分别放入
./dataset/test/abnormal/
和./dataset/test/normal/
文件夹。 - 只显示结果:
sh python test.py
- 显示结果及图片:
sh python test.py --result=1
- 显示异常分数直方图(需先确认
anomaly_score.txt
是否存在,若不存在请先执行test.py
):sh python histogram.py
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】