# WaterMarkForAIGC **Repository Path**: cmsj/water-mark-for-aigc ## Basic Information - **Project Name**: WaterMarkForAIGC - **Description**: 为Stable Diffusion生成的图片添加数字水印。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 9 - **Created**: 2024-12-23 - **Last Updated**: 2024-12-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目简介 本项目针对AIGC内容的版权保护和来源鉴别问题,设计并开发了一个基于PVD算法的数字水印系统。该系统通过深入分析AIGC内容的特点,优化了PVD算法,使其能够更好地适应AIGC内容的变化和多样性,提高了水印信息的隐蔽性和鲁棒性。该系统包括AI绘画、水印嵌入、提取、检测等多个模块,旨在实现对AIGC内容的保护和鉴别。 ## 安装与配置 运行本项目前首先需下载miniconda,用于配置基础算法环境,下载地址:https://docs.anaconda.com/free/miniconda/ 在miniconda小窗里,输入执行下面语句,conda config --set show_channel_urls yes 接着运行 conda clean -i 清除索引缓存 创建python 3.10.6版本的环境,命名为sdwebui,运行以下语句conda create --name sdwebui python=3.10.6 输入并执行conda activate sdwebui,激活conda虚拟环境。 安装CUDA,打开NVIDIA cuda官网,进入https://developer.nvidia.com/cuda-toolkit-archive下载 执行conda activate sdwebui 执行git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git克隆SD项目代码 打开 https://huggingface.co/stabilityai/stable-diffusion-2-1/blob/main/v2-1_768-ema-pruned.ckpt下载官方V2基础模型,下载完把这个训练模型v2-1_768-ema-pruned.ckpt放入stable-diffusion-webui -> models -> Stable-diffusion文件夹里面。 ## 代码结构 api.py用于调用之前部署的7860端口实现可视化界面基本功能。 LN.jpg和LN1.png两幅图片用于填充生成前和嵌入后图片位置,充当项目默认图片。 page1.py是用于实现AI绘画和密文嵌入的模块。 page2.py是用于实现解密的模块。 pnsr.py和ssim.py是测试模块,分别用于测试项目的峰值信噪比和结构相似度。 wr.py是实现PVD算法的主要模块。 ## 使用方法 打开miniconda,输入conda activate sdwebui,然后执行cd stable-diffusion-webui,接着运行.\webui.bat --api,当出现running on local URL: http://127.0.0.1:7860 时可以运行代码包中的page1.py,即可打开程序。 ## FAQ 1.安装CUDA的时候,需要输入nvidia-smi,查看你的cuda版本在这里输入nvidia-smi的时候,有可能会显示“'nvidia' 不是内部或外部命令,也不是可运行的程序”。 这时候,需要确认你的显卡是否为Nvidia的显卡。如果是,则检查自己的显卡驱动是否最新版,可以用鲁大师或者驱动精灵之类的软件更新显卡驱动至最新稳定版本。如果更新驱动还不行,则把C:\Program Files\NVIDIA Corporation\NVSMI添加到系统环境变量。 2.运行.\webui.bat --api的时候,需注意以下几点 (1)这一步要下载不少的依赖程序,网络一点波动都可能会报错。所以安装过程当中多次报错也很正常,需要耐心和时间多次尝试。多次执行webui-user.bat指令。 (2)不要关闭黑色小窗,哪怕它几分钟甚至20分钟没有任何变化。直到它报错再进行下一次尝试。 (3)如果提示连接错误,可能需要开启或者关闭魔法上网,再重新执行.\webui.bat --api命令。 (4)如果长时间卡在Installing gfpgan(或者installing clip,installing open_clip)这个环节,那么进入\stable-diffusion-webui\modules文件夹下面,找到launch_utils.py这个文件,用记事本打开。在第200多行到300行的位置,在“https://github.com/xxx”的最前面,加上:https://ghproxy.com/,把能看到的所有带http://github.com地址的,前面都加上这个前缀。然后ctrl + s保存后退出。 这就相当于让原来从github下载相关程序包变成了走国内镜像下载相关程序包,这样会增加网络的稳定性和网络速度。 (5)如果改了launch.py文件, 还卡在gfpgan环节,那么记得关闭外网功能。让下载走国内线路。 (6)安装完gfpgan,clip,open_clip等几个大头之后,后面还有一些自动安装的依赖项,如果比较慢,记得打开外网。总之,感觉卡慢或者报错之后,则切换调节网络后再重新执行.\webui.bat --api指令。 3.系统提示SD提示Something went wrong Expecting value: line 1 column 1 (char 0),然后什么功能都用不了。 确保你关闭了外网功能,尤其是关闭“全局”功能之后再重新打开SD。 另外,extension安装卸载不成功也会产生这个问题。 另外,有时候直接重启电脑之后也能解决。 这个问题的引起方式很多,所以很难列举出所有原因和解决方案。 因此实在不行建议重装sd,删除stable-diffusion-webui从上面的教程git clone部分继续往后即可。 六、注意事项 输入promt时尽量以英文形式输入,输入中文形式可能会出现作图质量差及与promt描述不符等形式。