顔領域,手領域の匿名化(HypoX64/DeepMosaics を使用)
顔領域,手領域の匿名化を行う
利用条件などは利用者において確認してください
謝辞:DeepMosaics の作者に感謝します
前準備(作者が公開しているファイルをダウンロード,展開)
- Web ページを開く
- ダウンロードのリンクをクリック(「Google Drive」をクリック).
- ダウンロードする
- 展開(解凍)する
このとき,どのディレクトリ(フォルダ)に展開(解凍)したか,確認しておくこと.
- 付属の hands_test.mp4 を再生してみる
手の動画である
- 先ほどのページで,pretrained_model をダウンロードする
右クリックメニューで「Download」を選ぶ.しばらく待つ.
- ダウンロードした .zip ファイルを,展開(解凍)する.
- 展開(解凍)してできたファイルを確認する
- いま展開(解凍)してできたファイルはすべて,DeepMosaics を展開(解凍)してできたディレクトリに移動しておくと分かりやすい
GUI で使ってみる
- DeepMosaics を起動する
- 「step 1: choose video or image」は,動画ファイルもしくは画像ファイルを選択する.
ここでは,hands_test.mp4 を選択してみる
- 「step 2: choose pretrained model」は,学習済みモデルの設定である.
手を扱いたいときは,add_hands_128.pth, 顔を扱いたいときは,add_face_128.pth を使う
- 「Run」をクリックすると,処理が始まる
- result の下に結果のファイルができるので確認
- 再生してみる
Windows 付属の Windows Media Player でうまく再生できないときは,VLC media player など,他の動画プレイヤーをインストールし試してみること.
- 演習:顔が写っている写真,ビデオを入手.顔なので,「add_face_128.pth」を使ってみなさい.
Python プログラムから使ってみる
GUI は 1 件ずつファイルを指定して処理する形になっているが,DeepMosaics は本体(deepmosaic.py)をコマンドラインから呼び出すこともできる.
ここでは,指定したフォルダに含まれる画像・動画ファイルすべてに対し,順番に「顔(または手)領域へのモザイク追加」処理を行う Python プログラムを示す.
DeepMosaics 自身が結果ファイルを result フォルダに出力するので,このプログラム側では出力先を指定するだけでよい.
ここでは,指定したフォルダに含まれる画像・動画ファイルすべてに対し,順番に「顔(または手)領域へのモザイク追加」処理を行う Python プログラムを示す.
DeepMosaics 自身が結果ファイルを result フォルダに出力するので,このプログラム側では出力先を指定するだけでよい.
- 次のプログラムを,DeepMosaics を展開(解凍)してできたディレクトリの直下に保存する(例:
batch_add_mosaic.py).# DeepMosaics の deepmosaic.py を用いて, # 指定フォルダ内の画像・動画すべてに,顔または手のモザイクを追加する import os import glob import subprocess # 処理対象のファイルが入っているフォルダ INPUT_DIR = './imgs' # 学習済みモデルのパス # 顔を隠したいとき : ./pretrained_models/mosaic/add_face_128.pth # 手を隠したいとき : ./pretrained_models/mosaic/add_hands_128.pth MODEL_PATH = './pretrained_models/mosaic/add_face_128.pth' # 使用する GPU 番号(GPU を使わないときは -1) GPU_ID = 0 targets = sorted(glob.glob(os.path.join(INPUT_DIR, '*.*'))) for media_path in targets: subprocess.run([ 'python', 'deepmosaic.py', '--media_path', media_path, '--model_path', MODEL_PATH, '--mode', 'add', '--gpu_id', str(GPU_ID) ]) - フォルダ INPUT_DIR に,匿名化したい画像・動画ファイルを入れておく.
- MODEL_PATH に,顔用(add_face_128.pth)または手用(add_hands_128.pth)の学習済みモデルのパスを指定する.
- コマンドプロンプトなどで,DeepMosaics を展開(解凍)してできたディレクトリに移動し,次のコマンドで実行する.
python batch_add_mosaic.py - 処理が終わると,DeepMosaics 本体の仕様どおり,result フォルダの下に,ファイルごとの結果(モザイクが追加された画像・動画)が生成される.
GPU を搭載していないパソコンでは,GPU_ID に -1 を指定する.この場合,CPU で処理されるため,時間がかかる.