
CLPSTNet: Un modelo progresivo de esteganografía convolucional multiescala que integra aprendizaje curricular
Fengchun Liu; Tong Zhang; Chunying Zhang
Este repositorio contiene la implementación oficial del artículo "CLPSTNet: A Progressive Multi-Scale Convolutional Steganography Model Integrating Curriculum Learning".

CLPSTNet es un modelo de red de esteganografía convolucional de múltiples escalas progresivo que integra aprendizaje curricular. La red consta de múltiples módulos convolucionales de múltiples escalas progresivos que integran estructuras Inception y convoluciones dilatadas. El módulo contiene múltiples rutas ramificadas, comenzando con un núcleo convolucional y una tasa de dilatación más pequeños, extrayendo la información característica básica y local del mapa de características, y expandiéndose gradualmente hacia la convolución con un núcleo convolucional y una tasa de dilatación más grandes para percibir la información característica de un campo receptivo más amplio, logrando así la extracción de características de múltiples escalas desde lo superficial hasta lo profundo, y de lo fino a lo grueso, permitiendo que las características de información secreta superficial se refinen en diferentes etapas de fusión.
Los resultados experimentales muestran que el CLPSTNet propuesto no solo tiene métricas PSNR y SSIM altas y una precisión de decodificación alta en tres grandes conjuntos de datos públicos, ALASKA2, VOC2012 e ImageNet, sino que también las imágenes esteganográficas generadas por CLPSTNet tienen puntuaciones bajas de estegoanálisis.
Nuestro entorno experimental es el siguiente:
Ejecute el siguiente comando para instalar los paquetes de dependencias:
pip install -r requirement.txt
El modelo se entrena y evalúa en tres conjuntos de datos públicos: VOC2012; ImageNet; ALASKA2 Conjunto de datos predeterminado utilizado en el código. La estructura del directorio debe ser:
../VOC2012/
├── train/
├── val/
└── test/
CLPSTNet consta de tres componentes principales:
El núcleo de CLPSTNet es el Bloque convolucional de múltiples escalas progresivo (PMCB), que se implementa en el archivo clpstnet.py.
La red del codificador (Encoder_Network en clpstnet.py) es responsable de ocultar la información secreta dentro de la imagen de cubierta. Utiliza una serie de Bloques convolucionales de múltiples escalas progresivos para incrustar gradualmente los datos secretos mientras mantiene la calidad visual de la imagen de cubierta.
La red del decodificador (decode_Network en decoder.py) extrae la información oculta de la imagen esteganográfica. También utiliza una arquitectura de múltiples escalas con varias ramas de convolución para recuperar eficazmente los datos secretos incrustados.
La red del crítico (XuNet en critic.py) está diseñada para distinguir entre imágenes de cubierta e imágenes esteganográficas. Actúa como un adversario durante el entrenamiento, empujando al codificador a generar imágenes esteganográficas más imperceptibles.
Para entrenar el modelo CLPSTNet, ejecute el script main.py:
python main.py
El proceso de entrenamiento incluye los siguientes pasos:
Carga de datos: las imágenes se cargan desde el conjunto de datos especificado.
Generación de secretos: se generan datos binarios aleatorios como información secreta para ocultar (D).
Paso hacia adelante: la imagen de cubierta y los datos secretos se pasan a través del codificador para generar una imagen esteganográfica, que luego se pasa a través del decodificador para recuperar el secreto.
Cálculo de pérdidas: se calculan múltiples funciones de pérdida:
Optimización: los parámetros del modelo se actualizan utilizando el optimizador Adam.
Para evaluar el modelo entrenado, utilice el script val.py:
python val.py
Este script carga un modelo entrenado y lo evalúa en el conjunto de datos de validación, calculando:
Para generar imágenes esteganográficas de muestra a partir del modelo entrenado, utilice el script sample.py:
python sample.py

Si encuentra útil nuestro trabajo en su investigación, considere citar:
@article{liu2025clpstnet,
title={CLPSTNet: A Progressive Multi-Scale Convolutional Steganography Model Integrating Curriculum Learning},
author={Liu, Fengchun and Zhang, Tong and Zhang, Chunying},
journal={arXiv preprint arXiv:2504.16364},
year={2025}
}
Si encuentra algún problema al utilizar este repositorio, no dude en dejar mensajes en issues o contactarnos en: