はじめに
VideoSealはFacebook Researchによって開発されたオープンソースのビデオ電子透かしツールで、効率的なビデオ電子透かしの埋め込みと抽出を提供するように設計されています。VideoSealは動画透かしをサポートするだけでなく、画像透かしにも適しており、様々なベンチマークモデル(MBRS、CIN、TrustMark、WAMなど)を使用、変更、配布することができます。このツールは、柔軟で効率的なビデオ保護ソリューションをユーザーに提供することを目標に設計されています。
機能一覧
- ビデオ透かし埋め込みビデオの著作権を保護するために、ビデオに透かしを埋め込みます。
- ビデオ透かし抽出埋め込まれた透かし情報を動画から抽出する。
- 画像透かし埋め込み画像への透かし埋め込みに対応。
- 画像透かし抽出画像から電子透かし情報を抽出します。
- 事前学習モデル様々な訓練済みモデルが用意されており、ユーザーが直接使用することができます。
- トレーニングコードユーザーが必要に応じて独自のモデルをトレーニングできるように、完全なトレーニングコードが提供されています。
- 推論コード電子透かしの埋め込みと抽出を容易にする推論コードを提供する。
- 評価ツール電子透かしの埋め込みと抽出の有効性を評価するための評価ツールを提供する。
ヘルプの使用
設置プロセス
- PythonのインストールPythonのバージョン3.10がシステムにインストールされていることを確認してください。
- PyTorchのインストール以下のコマンドを使用して、PyTorchとその依存関係をインストールします:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
- VideoSealのインストールVideoSeal リポジトリをクローンし、依存関係をインストールします:
git clone https://github.com/facebookresearch/videoseal.git
cd ビデオシール
pip install -e .
- Decordのインストール(オプション)ビデオ処理用ライブラリ:
pip install decord
使用プロセス
ビデオ透かし埋め込み
- ビデオを読み込むtorchvisionを使ってビデオを読み込み、ノーマライズする:
インポートトーチビジョン
インポートビデオシール
from videooseal.evals.metrics import bit_accuracy
video_path = "assets/videos/1.mp4"
video = torchvision.io.read_video(video_path, output_format="TCHW")
video = video.float() / 255.0
- 積載モデルVideoSeal モデルをロードします:
model = videoseal.load("videoseal")
- 埋め込み透かしビデオに透かしを埋め込む:
outputs = model.embed(video, is_video=True)
video_w = outputs["imgs_w"].
msgs = outputs["msgs"].
ビデオ透かし抽出
- 透かし情報の抽出電子透かしを入れた動画から埋め込み情報を抽出します:
msg_extracted = model.extract_message(video_w, aggregation="avg", is_video=True)
画像透かしの埋め込みと抽出
- 画像を読み込む画像を読み込み、ノーマライズする:
img = video[0:1]
出力 = model.embed(img, is_video=False)
img_w = outputs["imgs_w"].
msg_extracted = model.extract_message(img_w, aggregation="avg", is_video=False)
その他の機能
- 事前学習モデルのダウンロードモデルはハギング・フェイスを通じて自動的にダウンロードされますが、手動でダウンロードしてモデル・パスを更新することもできます。
- ベンチマークモデルのダウンロードダウンロードガイドが提供され、ユーザーはサードパーティ製モデルを手動でダウンロードする必要があります。
- VMAFアセスメントVMAFのインストールと使用方法は、ユーザーがビデオ品質を評価するのに役立ちます。