← ガイドに戻る
PrivateFrameローカル動画処理デスクトップ · CLI · Pythonぼかしとモザイク

PrivateFrame — インストールと使い方のガイド

デスクトップアプリで始めたり、動画処理を自動化したり、Python に処理を組み込んだりできます。

読了目安 8 分

このガイドで作るもの

自分のデバイスで動画内の顔を検出・追跡し、ぼかしやモザイクを適用します。すべての顔を対象にすることも、参照写真を使って顔を表示する人物を選ぶこともできます。

InsightFace の学習済みモデルを商用導入するには、別途、商用モデルライセンスが必要です。

動画デモ

PrivateFrame の処理結果を見る。

さまざまなシーンでの顔の追跡とマスキング、ガウスぼかしとモザイクの出力をご覧ください。

PrivateFrame の実際の出力です。共有前に処理後の動画を確認してください。

動画を開く

音楽:Tears in RainScott Buckley · CC BY 4.0。一部を抜粋してミックスしています。

始める前に

  • Python 3.10 以降と、python-package/insightface/app/privateframe/ を含む更新済みの InsightFace ソースが必要です。インストールコマンドはそのリポジトリのルートで実行します。このガイドは更新済みソースを使用します。古いソースや公開済みパッケージには PrivateFrame が含まれていない場合があります。
  • ローカル動画と出力フォルダーを用意してください。例の /data/... は端末上のパスに置き換えます。結果を分けて保存するため、例ごとに異なる出力フォルダーを使用してください。
  • 依存パッケージとモデルのインストール後は、動画処理をローカルで実行します。処理のために動画や参照写真がアップロードされることはありません。初回利用時に不足しているモデルをダウンロードする場合があります。

1. インストールと使い方のガイド

Python 3.10 以降と、python-package/insightface/app/privateframe/ を含む更新済みの InsightFace ソースが必要です。インストールコマンドはそのリポジトリのルートで実行します。このガイドは更新済みソースを使用します。古いソースや公開済みパッケージには PrivateFrame が含まれていない場合があります。

Python 3.10 以降が必要です。ガイドに従い、更新されたリポジトリからインストールしてください。初回実行時にモデルのダウンロードが必要な場合があります。 提供される学習済みモデルは、非商用の研究評価専用です。商用導入の前にモデルライセンスを取得してください。

デスクトップアプリ
python -m pip install "./python-package[gui]"
コマンドライン / Python API
python -m pip install "./python-package[privateframe]"
insightface-privateframe --help

2. デスクトップアプリ

InsightFace Evaluation Studio で PrivateFrame を開き、動画、設定、出力フォルダーを選択します。

  • InsightFace デスクトップアプリで PrivateFrame を開くか、CLI または Python API に動画を指定します。
  • 選択モードを決め、必要に応じて参照写真を追加し、ぼかしまたはモザイクを選びます。
  • 新しい動画と再利用できる解析 JSON を書き出します。共有する前に出力を確認してください。
デスクトップアプリ
insightface-gui

3. コマンドライン — ぼかす人物を選ぶ

1つのコマンドで動画を処理するか、解析とレンダリングを分けて確認や繰り返しの書き出しを行えます。

写真を使うモードでは、人物が一人で鮮明に写った JPG、JPEG、PNG、WebP 写真を一つの参照フォルダーの直下に置きます。各写真では検出された最大の顔だけを使用します。どちらの写真モードも使用可能な参照顔が一つ以上必要です。既定の設定では、未一致または不確かな顔は blur_only で表示され、exempt でぼかされます。

  • すべての顔をぼかす: 検出されたすべての顔をマスキングします。参照写真や本人照合は不要です。
  • 指定した人物だけをぼかす: 参照写真と一致した人物をぼかし、それ以外の人物の顔は表示したままにします。
  • 指定した人物の顔だけを表示: 一致した人物の顔を表示したままにし、一致しない顔や照合が不確かな顔をぼかします。
すべての顔をぼかす
insightface-privateframe process \
  --input /data/video.mp4 --output-dir /data/all
指定した人物だけをぼかす
insightface-privateframe process \
  --input /data/video.mp4 --output-dir /data/selected \
  --recognition.mode blur_only \
  --recognition.reference_dir /data/reference_photos
指定した人物の顔だけを表示
insightface-privateframe process \
  --input /data/video.mp4 --output-dir /data/exempt \
  --recognition.mode exempt \
  --recognition.reference_dir /data/reference_photos

4. 一度解析して、何度でもレンダリング

解析 JSON を再利用してレンダリング設定や顔の矩形を編集できます。検出や認識をやり直す必要はありません。

はい。元の動画と解析 JSON を保存しておけば、ぼかし、モザイク、エンコードの設定を変えて再レンダリングできます。JSON 内の顔の矩形も編集できます。検出や本人照合の設定を変更する場合は、新たな解析が必要です。

analyze
insightface-privateframe analyze \
  --input /data/video.mp4 --output-dir /data/review
render · mosaic
insightface-privateframe render \
  --input /data/video.mp4 \
  --result /data/review/video_privateframe.json \
  --redacted /data/review/video_mosaic.mp4 \
  --render.redaction.method mosaic

5. Python API

進捗通知とキャンセルのコールバックを利用しながら、解析とレンダリングを自分のアプリケーションに組み込めます。

Python API
from insightface.app.privateframe import (
    analyze_streaming_pipeline,
    default_output_paths,
    render_streaming_artifacts,
)
from insightface.app.privateframe.base_config import DEFAULT_CONFIG_PATH

paths = default_output_paths("/data/video.mp4", "/data/python_output")

analysis = analyze_streaming_pipeline(
    config_path=DEFAULT_CONFIG_PATH,
    input_path=paths.source,
    workdir=paths.workdir,
    result_path=paths.result_json,
)

rendered = render_streaming_artifacts(
    input_path=paths.source,
    result_path=paths.result_json,
    redacted_path=paths.result_video,
    config_overrides={"render.redaction.method": "mosaic"},
)

6. 処理して、確認して、共有

新しい動画と再利用できる解析 JSON を書き出します。共有する前に出力を確認してください。

写真との照合で人物を見逃す場合があります。共有前に選択処理の結果を確認してください。「指定した人物だけをぼかす」モードでは、一致しなかった対象人物の顔が表示されたままになることがあります。

いいえ。検出、追跡、照合では顔の見逃しや誤りが生じる場合があります。短時間の映り込み、シーンの切り替わり、遮蔽などに特に注意して、書き出した動画を確認してください。顔のマスキングは、声、名前、服装、その他の本人を特定できる情報を隠すものではありません。

7. PrivateFrame を商用利用できますか?

InsightFace のコードは MIT ライセンスで提供されています。プロジェクトが提供する学習済みモデルは非商用研究向けです。商用利用には適切なモデルの利用許諾が必要です。導入についてはお問い合わせください。

動画の顔プライバシー保護を、日々の作業に。

InsightFace の学習済みモデルを商用導入するには、別途モデルライセンスが必要です。コードは MIT ライセンスで提供され、コードとモデルにはそれぞれのライセンスが適用されます。

商用ライセンスを申請