Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
StegaStamp — 物理写真内の不可視ハイパーリンク | Kitploit
ツール/GitHubGitHub/tancik/stegastamp
ステガノグラフィー機械学習
GitHubtancik/stegastamp

StegaStamp

物理写真内の不可視ハイパーリンク

リポジトリを見るウェブサイト
8722252年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

StegaStamp: 物理的な写真における不可視のハイパーリンク [プロジェクトページ]

CVPR 2020

Matthew Tancik, Ben Mildenhall, Ren Ng カリフォルニア大学バークレー校

はじめに

このリポジトリは、こちらで公開されているArXivレポートのコード版です。このプロジェクトは、視覚的な類似性を維持しながら画像にデータを隠すことを探求しています。我々の貢献は、エンコードされた画像(StegaStamp)が印刷され、カメラで撮影された後(これらの工程で画像の劣化が生じます)でもデータを抽出できることです。このリポジトリには、論文で示された結果を再現するためのコードと学習済みモデルが含まれています。さらに、エンコーダとデコーダモデルを学習するために必要なコードも含まれています。

引用

本研究成果が役立つと思われましたら、以下の引用をご検討ください:

root@kitploit:~
    @inproceedings{2019stegastamp,
        title={StegaStamp: Invisible Hyperlinks in Physical Photographs},
        author={Tancik, Matthew and Mildenhall, Ben and Ng, Ren},
        booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
        year={2020}
    }

インストール

  • リポジトリをクローンし、サブモジュールをインストール
root@kitploit:~
git clone --recurse-submodules https://github.com/tancik/StegaStamp.git
cd StegaStamp
  • TensorFlowをインストール(tf 1.13でテスト済み)
  • Python 3が必要
  • 依存関係をダウンロード
root@kitploit:~
pip install -r requirements.txt

トレーニング

エンコーダ / デコーダ

  • train.pyでデータセットのパスを設定
root@kitploit:~
TRAIN_PATH = DIR_OF_DATASET_IMAGES
  • モデルをトレーニング
root@kitploit:~
bash scripts/base.sh EXP_NAME

トレーニングはtrain.pyで実行されます。多くのハイパーパラメータがあり、その多くはデータ拡張のパラメータに対応しています。scripts/bash.shが良い出発点となります。

検出器

検出器モデル(StegaStampのセグメンテーションに使用)のトレーニングコードはこのリポジトリには含まれていません。論文で使用されたモデルは、こちらで公開されているBiSeNetモデルを使ってトレーニングされました。CROP_WIDTHとCROP_HEIGHTは1024に設定され、他のすべてのパラメータはデフォルトに設定されました。データセットは、歪んだStegaStampを大きな画像にランダムに配置することで生成されました。

TensorBoard

トレーニングを可視化するには、以下のコマンドを実行し、ブラウザでhttp://localhost:6006にアクセスしてください。

root@kitploit:~
tensorboard --logdir logs

メッセージのエンコード

スクリプトencode_image.pyを使用すると、画像または画像のディレクトリにメッセージをエンコードできます。デフォルトのモデルは、7文字以下のutf-8エンコードされた秘密情報を想定しています(100ビットのメッセージ→ECC後56ビット)。

画像にメッセージをエンコードする:

root@kitploit:~
python encode_image.py \
  saved_models/stegastamp_pretrained \
  --image test_im.png  \
  --save_dir out/ \
  --secret Hello

これにより、StegaStampと元の画像に適用された残差の両方が保存されます。

メッセージのデコード

スクリプトdecode_image.pyを使用すると、StegaStampからメッセージをデコードできます。

使用例:

root@kitploit:~
python decode_image.py \
  saved_models/stegastamp_pretrained \
  --image out/test_hidden.png

検出とデコード

スクリプトdetector.pyを使用すると、画像内のStegaStampを検出してデコードできます。これは、複数のStegaStampが存在する場合や、StegaStampが画像のフレームを埋めていない場合に便利です。

検出器を使用するには、インストールセクションで説明されているように、検出器モデルをダウンロードしてください。推奨される入力ビデオ解像度は1920x1080です。

root@kitploit:~
python detector.py \
  --detector_model detector_models/stegastamp_detector \
  --decoder_model saved_models/stegastamp_pretrained \
  --video test_vid.mp4

--save_video FILENAMEフラグを追加すると、結果を保存できます。

--visualize_detectorフラグを使用すると、検出器ネットワークの出力を可視化できます。マスクはセグメンテーションマスクに対応し、色付きのポリゴンは一連のヒューリスティックを使用してこのセグメンテーションマスクにフィッティングされます。検出器の出力はノイズが多く、ステガスタンプのサイズに敏感です。検出ネットワークのさらなる最適化は、本論文では検討されていません。

ツールをダウンロード