# paper_code **Repository Path**: wangtingting-niu/paper_code ## Basic Information - **Project Name**: paper_code - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-08 - **Last Updated**: 2026-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Paper Code 一个基于深度学习的图像隐写(图像隐藏)项目,用于将秘密图像嵌入到载体图像中。 ## 项目简介 本项目实现了基于卷积神经网络和U-Net的图像隐写技术,能够将秘密图像(secret image)隐藏到载体图像(cover image)中,并可从生成的含密图像中恢复出原始秘密图像。 ## 功能特性 - **SNet模型**:用于图像恢复的卷积神经网络 - **HidingRes模型**:基于残差网络的图像隐藏模块 - **HidingUNet模型**:基于U-Net的图像隐藏网络,支持水印嵌入 - **Discriminator模型**:对抗训练用的判别器 - **图像变换工具**:提供丰富的图像预处理和后处理功能 ## 环境要求 - Python 3.8+ - PyTorch - NumPy - Pillow - OpenCV ## 安装 ```bash pip install torch numpy pillow opencv-python ``` ## 使用方法 ### 训练模型 ```python from main import train_snet # 训练SNet模型 train_snet( data_b='path/to/cover/images', data_b_marked='path/to/hidden/images', save_dir='checkpoints_snet', size=256, batch_size=8, lr=1e-4, epochs=100 ) ``` ### 推理预测 ```python from inference_snet import infer_snet_only_result # 使用训练好的模型进行推理 infer_snet_only_result( snet_ckpt='path/to/checkpoint.pth', folder_a='path/to/cover/images', folder_b_marked='path/to/hidden/images', out_dir='output/results', size=256 ) ``` ## 项目结构 ``` . ├── main.py # 训练入口和SNet模型定义 ├── inference_snet.py # 推理脚本 ├── use_snet.py # SNet模型使用脚本 ├── changeSize.py # 图像尺寸调整工具 ├── models/ │ ├── Discriminator.py # 判别器模型 │ ├── HidingRes.py # 残差隐藏网络 │ └── HidingUNet.py # U-Net隐藏网络 ├── myutils/ │ └── transformed.py # 图像变换工具 └── README.md ``` ## 模型架构 ### SNet - 基于ConvBlock的编码器-解码器结构 - 基础通道数:64(可配置) - 输入图像尺寸:256x256(可配置) ### HidingUNet - 编码器-解码器结构,带跳跃连接 - 支持水印嵌入 - 可选Instance Norm或Batch Norm ## 注意事项 1. 训练图像需预处理为相同尺寸(默认256x256) 2. 建议使用GPU加速训练 3. 可根据需要调整学习率和批量大小