背景
近期在进行图像处理相关需求的时候,编写了图像处理-Java-OpenCV-水印编码/解码这篇文章,将水印隐藏到了图像中,关于版权保护这里,突然想到了之前接触到的一个检查CMS系统中是否使用了包含水印的图像,故编写此文。
思路
使用yolo,自定义数据集之后划分数据集,灌入模型进行训练,并进行测试得到结果。
步骤
- 从GitHub上下载源码 https://github.com/ultralytics/ultralytics/tree/v8.1.0
- 使用 conda 创建环境 conda create --name ultralytics-env python=3.8 -y
- 激活环境 conda activate ultralytics-env
- 切换至源码解压路径 cd ultralytics-8.1.0
- 环境安装(显示Successfully built ultralytics) pip install -e .
- (可选)安装数据标注(Successfully built labelImg) pip install labelImg
- (可选)可视化界面进行数据标注 labelImg
- 参照制作自己的数据集并训练的YOLOv8模型
执行过程
本文使用代码详见: 基于YOLOV8的自定义数据集实现水印检测
- 使用 labelImg 创建自定义的数据集,注意左侧选择 yolo
- 将自定义的数据集拷贝至 datasets/data/images 文件夹,使用 Process.py 切分数据集
- 请验证 datasets/data/train、datasets/data/test、datasets/data/val 三个文件夹下是否生成对应的数据
- 执行 train.py 进行训练,请注意 imgsz 参数,如果图像很大,此参数建议同步进行增大
- 执行 trest.py 验证模型,请对照 test.jpg 和 result.jpg 两张图像
![](https://i-blog.csdnimg.cn/blog_migrate/9f01ef537fd2abf3c04826dc7bdf0912.jpeg)
[目标检测]基于YOLOV8的自定义数据集实现水印检测-YoloV8-从源码安装
![](https://i-blog.csdnimg.cn/blog_migrate/d7570b249cc31487086f84eaf096ddbc.jpeg)
[目标检测]基于YOLOV8的自定义数据集实现水印检测-YoloV8-labelImg-标注自定义数据集
![](https://i-blog.csdnimg.cn/blog_migrate/9cb127e18218eb870795de5ec245d182.jpeg)
[目标检测]基于YOLOV8的自定义数据集实现水印检测-YoloV8-切分数据集
![](https://i-blog.csdnimg.cn/blog_migrate/135371ffdac84c5c5f934d6edd0f1c34.jpeg)
[目标检测]基于YOLOV8的自定义数据集实现水印检测-YoloV8-使用自定义数据集训练
![](https://i-blog.csdnimg.cn/blog_migrate/01e609d7bc9c969429f5f4c97e9383fc.jpeg)
[目标检测]基于YOLOV8的自定义数据集实现水印检测-YoloV8-验证模型
总结
基于Yolo,使用自定义数据集,标注数据集中的水印区域,训练模型后进行测试,得到标注结果。本文使用源码详见基于YOLOV8的自定义数据集实现水印检测
参考
- https://gitee.com/alexgaoyh/ultralytics/tree/pap-watermark/
- https://github.com/ultralytics/ultralytics/tree/v8.1.0
- https://blog.csdn.net/liang_baikai/article/details/132082292