
CLPSTNet: 커리큘럼 러닝을 통합한 점진적 다중 스케일 합성곱 스테가노그래피 모델
Fengchun Liu; Tong Zhang; Chunying Zhang
이 저장소는 "CLPSTNet: A Progressive Multi-Scale Convolutional Steganography Model Integrating Curriculum Learning" 논문의 공식 구현을 포함합니다.

CLPSTNet은 커리큘럼 학습(Curriculum Learning)을 통합한 점진적 다중 스케일 컨볼루셔널 스테가노그래피 네트워크 모델입니다. 이 네트워크는 인셉션(Inception) 구조와 팽창 컨볼루션(dilated convolution)을 통합한 여러 개의 점진적 다중 스케일 컨볼루셔널 모듈로 구성됩니다. 모듈은 여러 분기 경로를 포함하며, 작은 컨볼루션 커널과 팽창률에서 시작하여 특징 맵에서 기본적인 로컬 특징 정보를 추출하고, 점차 더 큰 컨볼루션 커널과 팽창률을 가진 컨볼루션으로 확장하여 더 큰 수용 영역의 특징 정보를 인지함으로써 얕은 단계에서 깊은 단계로, 미세한 단계에서 거친 단계로의 다중 스케일 특징 추출을 실현합니다. 이를 통해 얕은 비밀 정보 특징이 다양한 융합 단계에서 정제될 수 있습니다.
실험 결과에 따르면 제안된 CLPSTNet은 ALASKA2, VOC2012, ImageNet의 세 가지 대규모 공개 데이터셋에서 높은 PSNR, SSIM 지표와 디코딩 정확도를 보일 뿐만 아니라, CLPSTNet이 생성한 스테가노그래피 이미지는 낮은 스테그분석(steganalysis) 점수를 나타냅니다.
실험 환경은 다음과 같습니다:
의존성 패키지를 설치하려면 다음 명령을 실행하세요:
pip install -r requirement.txt
모델은 VOC2012, ImageNet, ALASKA2의 세 가지 공개 데이터셋에서 훈련 및 평가됩니다. 코드에서 사용되는 기본 데이터셋입니다. 디렉터리 구조는 다음과 같아야 합니다:
../VOC2012/
├── train/
├── val/
└── test/
CLPSTNet은 세 가지 주요 구성 요소로 이루어져 있습니다:
CLPSTNet의 핵심은 clpstnet.py 파일에 구현된 PMCB(Progressive Multi-Scale Convolutional Block)입니다.
인코더 네트워크(clpstnet.py의 Encoder_Network)는 커버 이미지 내에 비밀 정보를 은닉하는 역할을 합니다. 일련의 PMCB(Progressive Multi-Scale Convolutional Block)를 사용하여 커버 이미지의 시각적 품질을 유지하면서 비밀 데이터를 점진적으로 삽입합니다.
디코더 네트워크(decoder.py의 decode_Network)는 스테고 이미지에서 숨겨진 정보를 추출합니다. 또한 다양한 컨볼루션 분기를 가진 다중 스케일 아키텍처를 사용하여 삽입된 비밀 데이터를 효과적으로 복구합니다.
비평가 네트워크(critic.py의 XuNet)는 커버 이미지와 스테고 이미지를 구별하도록 설계되었습니다. 훈련 중 적대자 역할을 하여 인코더가 더욱 눈에 띄지 않는 스테고 이미지를 생성하도록 유도합니다.
CLPSTNet 모델을 훈련하려면 main.py 스크립트를 실행하세요:
python main.py
훈련 과정은 다음 단계를 포함합니다:
데이터 로딩 : 지정된 데이터셋에서 이미지를 로드합니다.
비밀 생성 : 은닉할 비밀 정보(D)로 임의의 이진 데이터를 생성합니다.
순전파 : 커버 이미지와 비밀 데이터를 인코더에 통과시켜 스테고 이미지를 생성하고, 이를 다시 디코더에 통과시켜 비밀 정보를 복구합니다.
손실 계산 : 여러 손실 함수가 계산됩니다:
최적화 : Adam 옵티마이저를 사용하여 모델 파라미터를 업데이트합니다.
훈련된 모델을 평가하려면 val.py 스크립트를 사용하세요:
python val.py
이 스크립트는 훈련된 모델을 로드하여 검증 데이터셋에서 평가하고 다음을 계산합니다:
훈련된 모델에서 샘플 스테고 이미지를 생성하려면 sample.py 스크립트를 사용하세요:
python sample.py

연구에 저희 작업이 유용하다고 생각되시면 다음을 인용해 주시기 바랍니다:
@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}
}
이 저장소를 사용하는 중 문제가 발생하면 이슈에 메시지를 남기거나 다음 주소로 연락해 주세요: