CAT-Net复现保姆级教程(更新中
CAT-Net:用于图像拼接检测和定位的压缩伪迹跟踪网络
发布于WACV2021
代码链接:https://github.com/mjkwon2021/CAT-Net
1.设置环境
conda创建虚拟环境并激活
conda create -n cat python=3.6
conda activate cat
按照项目要求配置环境
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=10.0 -c pytorch
版本太低了,conda和pip没有办法直接安装,去PyTorch 官方提供的历史版本页面下载(Previous PyTorch Versions | PyTorch)
找到对应的版本下载链接:
我是没有GPU的,选择链接:
https://download.pytorch.org/whl/cpu/torch_stable.html
进入网页
前面环境中的python是3.6的,所以我们这里下载:
下载得到两个文件
我这里两个文件是下载在D盘的,打开终端,进入D盘,进行下载(注意在cat虚拟环境中):
下载完成后可以进行检查:
python
import torch
import torchvision
print(torch.__version__)
print(torchvision.__version__)
print(torch.cuda.is_available())
下载其它需要的环境:
pip install -r requirements.txt
注意需要进到txt文件所在的文件夹,例如我在下载时候的终端是这样的:
(cat) PS D:\CAT-Net-main\CAT-Net-main> conda pip install -r requirements.txt
我出现了一个小问题,是版本不兼容的原因,使用可以兼容的版本即可:
pip install protobuf==3.19.6
再重新配置环境。
pip install -r requirements.txt
到这里就完成环境的配置了。
后续进行运行的时候,出现了问题,发现有包没有安装好,克隆jpegio出现了问题,在这里我进行了手动安装(没有出现问题的可以跳过这一步):
在终端执行以下命令克隆库:
git clone https://github.com/dwgoon/jpegio.git
进入刚克隆的库:
cd jpegio
使用pip安装该库
pip install .
2.准备数据集
下载 tampCOCO / compRAISE
我这里下载的是tampCOCO:数据集有点大,注意内存
https://www.kaggle.com/datasets/qsii24/tampcoco
解压得到
修改配置文件
readme文件中指出需要在 'project_config.py' 中正确设置路径,我们先来了解一下这个文件:
"""
Created by Myung-Joon Kwon
mjkwon2021@gmail.com
July 7, 2020
"""
from pathlib import Path
project_root = Path(__file__).parent
dataset_root = Path(r"C:\Users\mmc\Downloads\Splicing")
dataset_paths = {
# Specify where are the roots of the datasets.
'FR': dataset_root / "FantasticReality_v1",
'IMD': dataset_root / "IMD2020",
'CASIA': dataset_root / "CASIA",
# 'NC16': dataset_root / "NC2016_Test",
# 'Columbia': dataset_root / "Columbia Uncompressed Image Splicing Detection",
# 'Carvalho': dataset_root / "tifs-database",
# 'tampCOCO': dataset_root / "tampCOCO",
# 'compRAISE': dataset_root / "compRAISE",
# 'COVERAGE': dataset_root / "COVERAGE",
# 'CoMoFoD': dataset_root / "CoMoFoD_small_v2",
# 'GRIP': dataset_root / "CMFDdb_grip",
'SAVE_PRED': project_root / "output_pred"
}
这段代码使用pathlib
库定义并管理不同图像篡改检测数据集的路径,通过使用字典结构方便地管理多个数据集,同时设置了预测输出文件夹的位置
原文地址:https://blog.csdn.net/qq_55552561/article/details/142980519
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!