Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/chaos-boops/clpstnet
SteganographyMachine LearningPapers & Research
GitHubchaos-boops/clpstnet

CLPSTNet

CLPSTNet: 커리큘럼 러닝을 통합한 점진적 다중 스케일 합성곱 스테가노그래피 모델

저장소 보기
51년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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) 점수를 나타냅니다.

환경 설정

실험 환경은 다음과 같습니다:

  • python: 3.10
  • torch: 2.1.2
  • CUDA 버전: 12.4

의존성 패키지를 설치하려면 다음 명령을 실행하세요:

root@kitploit:~
pip install -r requirement.txt

데이터 준비

모델은 VOC2012, ImageNet, ALASKA2의 세 가지 공개 데이터셋에서 훈련 및 평가됩니다. 코드에서 사용되는 기본 데이터셋입니다. 디렉터리 구조는 다음과 같아야 합니다:

root@kitploit:~
../VOC2012/
├── train/
├── val/
└── test/

모델 아키텍처

CLPSTNet은 세 가지 주요 구성 요소로 이루어져 있습니다:

  • 인코더(Encoder) : 정보 은닉을 수행
  • 디코더(Decoder) : 정보 복구를 수행
  • 비평가(Critic) : 인코딩 네트워크의 성능을 평가

점진적 다중 스케일 컨볼루셔널 블록 (PMCB)

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 스크립트를 실행하세요:

root@kitploit:~
python main.py

훈련 과정은 다음 단계를 포함합니다:

  1. 데이터 로딩 : 지정된 데이터셋에서 이미지를 로드합니다.

  2. 비밀 생성 : 은닉할 비밀 정보(D)로 임의의 이진 데이터를 생성합니다.

  3. 순전파 : 커버 이미지와 비밀 데이터를 인코더에 통과시켜 스테고 이미지를 생성하고, 이를 다시 디코더에 통과시켜 비밀 정보를 복구합니다.

  4. 손실 계산 : 여러 손실 함수가 계산됩니다:

    • 인코더 손실: 시각적 품질을 보장하기 위해 MSE, SSIM, MS-SSIM을 결합
    • 디코더 손실: 정확한 비밀 복구를 보장하기 위해 이진 교차 엔트로피(binary cross-entropy) 사용
    • 적대적 손실: 스테가노그래피 보안성을 향상시키기 위해 비평가 네트워크로부터 얻음
  5. 최적화 : Adam 옵티마이저를 사용하여 모델 파라미터를 업데이트합니다.

평가

훈련된 모델을 평가하려면 val.py 스크립트를 사용하세요:

root@kitploit:~
python val.py

이 스크립트는 훈련된 모델을 로드하여 검증 데이터셋에서 평가하고 다음을 계산합니다:

  • SSIM (구조적 유사성 지수, Structural Similarity Index)
  • PSNR (최대 신호 대 잡음비, Peak Signal-to-Noise Ratio)
  • MS-SSIM (다중 스케일 구조적 유사성 지수, Multi-Scale Structural Similarity Index)
  • RMSE (평균 제곱근 오차, Root Mean Square Error)

훈련된 모델에서 샘플 스테고 이미지를 생성하려면 sample.py 스크립트를 사용하세요:

root@kitploit:~
python sample.py

결과

PMCB 모듈과 인셉션 모듈의 비교 실험 결과 CLPSTNet과 다른 모델 간의 비교 실험 결과

인용

연구에 저희 작업이 유용하다고 생각되시면 다음을 인용해 주시기 바랍니다:

root@kitploit:~
@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}
}

연락처

이 저장소를 사용하는 중 문제가 발생하면 이슈에 메시지를 남기거나 다음 주소로 연락해 주세요:

  • [email protected] 최대한 빨리 답변드리겠습니다.
도구 다운로드