华科大提供的目标检测黑盒水印代码demo,支持yolov7和yolov5(仅备份)

liyan 7519f2d836 目标检测模型添加白盒水印集成 1 year ago
blind_watermark fb3b320deb 初始化项目结构 1 year ago
block 7519f2d836 目标检测模型添加白盒水印集成 1 year ago
checkpoint 8bd997cd72 添加检查点文件夹 1 year ago
model 7519f2d836 目标检测模型添加白盒水印集成 1 year ago
result 71d99df948 修改模型预测脚本 1 year ago
tool 7519f2d836 目标检测模型添加白盒水印集成 1 year ago
.gitignore c90eb3862f 添加提交忽略文件 1 year ago
README.md 8bd997cd72 添加检查点文件夹 1 year ago
bash_process.sh fb3b320deb 初始化项目结构 1 year ago
bash_run.sh fb3b320deb 初始化项目结构 1 year ago
export_onnx.py fb3b320deb 初始化项目结构 1 year ago
flask_request.py fb3b320deb 初始化项目结构 1 year ago
flask_start.py fb3b320deb 初始化项目结构 1 year ago
gunicorn_config.py fb3b320deb 初始化项目结构 1 year ago
predict_pt.py 71d99df948 修改模型预测脚本 1 year ago
predict_watermark.py 7519f2d836 目标检测模型添加白盒水印集成 1 year ago
run.py 7519f2d836 目标检测模型添加白盒水印集成 1 year ago
test.ipynb fb3b320deb 初始化项目结构 1 year ago
watermarking_data_process.py fb3b320deb 初始化项目结构 1 year ago

README.md

pytorch目标检测训练框架

代码兼容性较强,使用的是一些基本的库、基础的函数
在argparse中可以选择使用wandb,能在wandb网站中生成可视化的训练过程
测试时输入模型的图片会填充为固定大小、RGB通道(如batch,640,640,3),图片四周的填充值为(128,128,128)

1,环境

torch:https://pytorch.org/get-started/previous-versions/

>pip install tqdm wandb opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
>```
### 2,数据格式
>(标准YOLO格式)  
>├── 数据集路径:data_path  
>    └── image:存放所有图片  
>    └── label:存放所有图片的标签,名称:图片名.txt,内容:类别号 x_center y_center w h(x,y,w,h为相对图片的比例值)  
>    └── train.txt:训练图片的绝对路径(或相对data_path下路径)  
>    └── val.txt:验证图片的绝对路径(或相对data_path下路径)  
>    └── class.txt:所有的类别名称  
### 3,run.py
>模型训练时运行该文件,argparse中有对每个参数的说明
### 4,predict_pt.py
>使用训练好的pt模型预测
### 5,export_onnx.py
>将pt模型导出为onnx模型
### 6,flask_start.py
>用flask将程序包装成一个服务,并在服务器上启动
### 7,flask_request.py
>以post请求传输数据调用服务
### 8,gunicorn_config.py
>用gunicorn多进程启动flask服务:gunicorn -c gunicorn_config.py flask_start:app
### 其他
>学习笔记:https://github.com/TWK2022/notebook

### 分支说明
master分支为华科大提供的原始代码
demo分支为经过修改的demo示例

### 文件说明
```shell
.
├── README.md
├── bash_process.sh
├── bash_run.sh
├── blind_watermark
│   ├── __init__.py
│   ├── att.py
│   ├── blind_watermark.py
│   ├── bwm_core.py
│   ├── cli_tools.py
│   ├── pool.py
│   ├── recover.py
│   ├── requirements.txt
│   └── version.py
├── block
│   ├── data_get.py
│   ├── loss_get.py
│   ├── lr_get.py
│   ├── metric_get.py
│   ├── model_ema.py
│   ├── model_get.py
│   ├── train_get.py
│   └── val_get.py
├── export_onnx.py
├── flask_request.py
├── flask_start.py
├── gunicorn_config.py
├── last.pt
├── model
│   ├── layer.py
│   ├── yolov5.py
│   └── yolov7.py
├── predict_pt.py
├── run.py
├── test.ipynb
├── tool
│   ├── change_dir.py  #数据集中的标签文件图片地址均为绝对路径,使用该脚本进行修改
│   ├── check_image.py
│   ├── generate_txt.py
│   └── make_txt.py
└── watermarking_data_process.py