
CLPSTNet: Ein progressives Multi-Skalen-Convolutional-Steganographie-Modell mit Curriculum Learning
Fengchun Liu; Tong Zhang; Chunying Zhang
Dieses Repository enthält die offizielle Implementierung des Papers "CLPSTNet: A Progressive Multi-Scale Convolutional Steganography Model Integrating Curriculum Learning".

CLPSTNet ist ein progressives mehrskaliges faltungsbasiertes Steganographie-Netzwerkmodell, das Curriculum Learning integriert. Das Netzwerk besteht aus mehreren progressiven mehrskaligen Faltungsmodulen, die Inception-Strukturen und dilatierte Faltungen integrieren. Das Modul enthält mehrere Verzweigungspfade, die mit einem kleineren Faltungskernel und einer kleineren Dilatationsrate beginnen, die grundlegenden lokalen Feature-Informationen aus der Feature-Map extrahieren und sich allmählich zu einer Faltung mit größerem Faltungskernel und größerer Dilatationsrate erweitern, um die Feature-Informationen eines größeren rezeptiven Feldes wahrzunehmen und so die mehrskalige Feature-Extraktion von flach nach tief und von fein nach grob zu realisieren, sodass die flachen Merkmale der Geheiminformationen in verschiedenen Fusionsstufen verfeinert werden können.
Die experimentellen Ergebnisse zeigen, dass das vorgeschlagene CLPSTNet nicht nur hohe PSNR- und SSIM-Metriken sowie eine hohe Dekodiergenauigkeit auf drei großen öffentlichen Datensätzen, ALASKA2, VOC2012 und ImageNet, aufweist, sondern dass die von CLPSTNet erzeugten Steganographie-Bilder auch niedrige Steganalyse-Werte aufweisen.
Unsere Versuchsumgebung ist wie folgt:
Bitte führen Sie den folgenden Befehl aus, um die Abhängigkeitspakete zu installieren:
pip install -r requirement.txt
Das Modell wird auf drei öffentlichen Datensätzen trainiert und evaluiert:VOC2012;ImageNet;ALASKA2 Standarddatensatz, der im Code verwendet wird. Die Verzeichnisstruktur sollte wie folgt aussehen:
../VOC2012/
├── train/
├── val/
└── test/
CLPSTNet besteht aus drei Hauptkomponenten:
Der Kern von CLPSTNet ist der Progressive Multi-Scale Convolutional Block (PMCB), der in der Datei clpstnet.py implementiert ist.
Das Encoder-Netzwerk ( Encoder_Network in clpstnet.py ) ist dafür verantwortlich, geheime Informationen im Cover-Bild zu verbergen. Es verwendet eine Reihe von Progressive Multi-Scale Convolutional Blocks, um die geheimen Daten schrittweise einzubetten und dabei die visuelle Qualität des Cover-Bilds zu erhalten.
Das Decoder-Netzwerk ( decode_Network in decoder.py ) extrahiert die verborgenen Informationen aus dem Stego-Bild. Es verwendet ebenfalls eine mehrskalige Architektur mit verschiedenen Faltungszweigen, um die eingebetteten geheimen Daten effektiv wiederherzustellen.
Das Critic-Netzwerk ( XuNet in critic.py ) wurde entwickelt, um zwischen Cover-Bildern und Stego-Bildern zu unterscheiden. Es fungiert während des Trainings als Gegner und drängt den Encoder dazu, unauffälligere Stego-Bilder zu erzeugen.
Um das CLPSTNet-Modell zu trainieren, führen Sie das Skript main.py aus:
python main.py
Der Trainingsprozess umfasst die folgenden Schritte:
Datenladen : Bilder werden aus dem angegebenen Datensatz geladen.
Geheimniserzeugung : Zufällige Binärdaten werden als Geheiminformationen (D) erzeugt, die verborgen werden sollen.
Vorwärtsdurchlauf : Das Cover-Bild und die Geheimdaten werden durch den Encoder geleitet, um ein Stego-Bild zu erzeugen, das dann durch den Decoder geleitet wird, um das Geheimnis wiederherzustellen.
Verlustberechnung : Es werden mehrere Verlustfunktionen berechnet:
Optimierung : Die Modellparameter werden mit dem Adam-Optimierer aktualisiert.
Um das trainierte Modell zu bewerten, verwenden Sie das Skript val.py:
python val.py
Dieses Skript lädt ein trainiertes Modell und bewertet es auf dem Validierungsdatensatz. Dabei werden berechnet:
Verwenden Sie zum Erzeugen von Beispiel-Stego-Bildern aus dem trainierten Modell das Skript sample.py:
python sample.py

Wenn Sie unsere Arbeit für Ihre Forschung nützlich finden, ziehen Sie bitte eine Zitierung in Betracht:
@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}
}
Wenn Sie bei der Verwendung dieses Repositorys auf Probleme stoßen, hinterlassen Sie bitte Nachrichten in den Issues oder kontaktieren Sie uns unter: