【モザイク追加・除去】DeepMosaicsのインストール

機械学習

「画像・動画のモザイクを除去したい」
「プログラムで自動的に画像・映像をモザイク加工したい」

このような場合には、DeepMosaicsがオススメです。
この記事では、モザイク追加・除去AIツールのDeepMosaicsについて解説しています。

本記事の内容

  • DeepMosaicsとは?
  • DeepMosaicsのシステム要件
  • DeepMosaicsのインストール
  • DeepMosaicsの動作確認

それでは、上記に沿って解説していきます。

DeepMosaicsとは?

DeepMosaicsとは、画像・映像のモザイク処理を扱うことが可能なAIツールです。
可能なモザイク処理は、以下になります。

  • モザイク除去
  • モザイク追加

公式ページでは、その処理の効果がアピールされています。

左の画像が、オリジナルの画像です。
そして、そのオリジナル画像にモザイク処理を追加したのが真ん中の画像になります。

さらに、そのモザイク処理した画像からモザイクを除去したのが右の画像ということです。
また、他のモザイク除去AIツールとの結果を比較した画像が以下となります。

左がモザイク加工された画像です。
その画像をそれぞれのツールでモザイク除去しています。

真ん中が、DeepCreamPyの処理結果です。
そして、右の画像がDeepMosaicsでモザイク除去した画像になります。
結果を見る限りでは、いい感じの結果です。

以上、DeepMosaicsについて説明しました。
次は、DeepMosaicsのシステム要件を説明します。

DeepMosaicsのシステム要件

現時点(2022年9月)でのDeepMosaicsの最新バージョンは、2.2.0となります。
この最新バージョンは、2021年5月23日にリリースされています。

DeepMosaicsのシステム要件は、以下をポイントにして説明します。

  • OS
  • Pythonバージョン
  • PyTorch
  • FFmpeg
  • Pyrhonライブラリ諸々

それぞれを以下で説明します。

OS

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

基本的には、どんなOSでも動くということでしょう。

Pythonバージョン

サポート対象となるPythonのバージョンは、Python 3.6以降となります。
大雑把過ぎるので、このような場合はPython公式開発サイクルを参考にします。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

Python 3.6は、2021年末でサポート期限が切れています。
そのため、ここではPython 3.7以降を推奨しておきます。

PyTorch

PyTorchのインストールは、次の記事で説明しています。

ただ、DeepMosaicsは画像や動画を対象します。
そのため、GPU版PyTorchのインストールを推奨しておきます。

FFmpeg

動画を処理する場合に、FFmpegが必要となります。
バージョンは、ffmpeg 3.4.6以降が指定されています。

最新版をインストールすれば、問題ないでしょう。
FFmpegのインストールについては、以下の記事を参考にしてください。

Pyrhonライブラリ諸々

次のパッケージのインストールが、必要となっています。

  • opencv_python
  • matplotlib
  • tensorboardX
  • scikit-image

tensorboardX以外は、以下の記事で説明しています。

インストールコマンドを載せておきます。

pip install opencv_python
pip install matplotlib 
pip install tensorboardX 
pip install scikit-image

上記コマンドで最新版をインストールしましょう。

以上、DeepMosaicsのシステム要件を説明しました。
次は、DeepMosaicsのインストールを説明します。

DeepMosaicsのインストール

DeepMosaicsのインストールを行います。
DeepMosaicsでは、バイナリファイルが公開されています。

しかし、このようなバイナリファイルは動かないことが多いです。
この記事では、確実に動く方法でDeepMosaicsのインストールを行います。

その際の手順を次の流れで説明します。

  • DeepMosaicsのダウンロード
  • 学習済みモデルのダウンロード

それぞれを以下で説明します。

DeepMosaicsのダウンロード

まずは、現状のインストール済みパッケージを確認しておきます。
GPU版PyTorch、ライブラリ諸々をインストール済みです。

> pip list
Package            Version
------------------ ------------
certifi            2022.6.15.1
charset-normalizer 2.1.1
cycler             0.11.0
fonttools          4.37.1
idna               3.3
imageio            2.21.2
kiwisolver         1.4.4
matplotlib         3.5.3
networkx           2.8.6
numpy              1.23.3
opencv-python      4.6.0.66
packaging          21.3
Pillow             9.2.0
pip                22.2.2
protobuf           3.20.1
pyparsing          3.0.9
python-dateutil    2.8.2
PyWavelets         1.3.0
requests           2.28.1
scikit-image       0.19.3
scipy              1.9.1
setuptools         65.3.0
six                1.16.0
tensorboardX       2.5.1
tifffile           2022.8.12
torch              1.12.1+cu113
torchaudio         0.12.1+cu113
torchvision        0.13.1+cu113
typing_extensions  4.3.0
urllib3            1.26.12
wheel              0.36.2

ここまでインストール済みなら、あとは簡単です。
GitHubから、DeepMosaicsのプロジェクトをダウンロードします。

git clone https://github.com/HypoX64/DeepMosaics.git

Windowsでgitコマンドが使えない場合は、次の記事を参考にしてください。

学習済みモデルのダウンロード

先ほどダウンロードしたプロジェクトに移動します。

cd DeepMosaics

移動したら、「pretrained_models」の中に「mosaic」ディレクトリを作成します。

 mkdir .\pretrained_models\mosaic

この作成したディレクトリに学習済みモデルを保存することになります。
学習済みモデルは、次のURLで公開されています。

モデルダウンロード
https://drive.google.com/drive/folders/1I3qw6IzbKZ7MVfzDS3cs_9g7EAdT-GuH

とりあえず、ダウンロードするのは次の3つです。

  • add_face.pth
  • clean_face_HD.pth
  • mosaic_position.pth

この3つがあれば、画像のモザイク処理は可能になります。
次のような構成になるように、ファイルを設置します。

以上、DeepMosaicsのインストールを説明しました。
次は、DeepMosaicsの動作確認を説明します。

DeepMosaicsの動作確認

DeepMosaicsの動作確認では、次の処理を行います。

  • モザイク追加
  • モザイク除去

モザイク追加

DeepMosaicsのプロジェクト直下にいることを確認します。
確認できたら、次のコマンドを実行しましょう。
(※GPUで動く前提です)

python deepmosaic.py --media_path ./imgs/ruoruo.jpg --model_path ./pretrained_models/mosaic/add_face.pth --gpu_id 0

正常に処理できると、次のように表示されます。
処理は、すぐに終わります。

> python deepmosaic.py --media_path ./imgs/ruoruo.jpg --model_path ./pretrained_models/mosaic/add_face.pth --gpu_id 0
makedir: ./result
segment parameters: 12.4M
Add Mosaic: ./imgs/ruoruo.jpg
Clean temp...
Finished!

次の画像は、サンプルとして元から用意されています。

ruoruo.jpg

この画像に対して、モザイクが追加されます。
モザイク加工された画像は、次の場所に保存されます。
(※resultディレクトリは自動的に作成される)

作成された画像は、以下です。

ruoruo_add.jpg

モザイク加工が、上手く実施されています。

モザイク除去

DeepMosaicsのプロジェクト直下にいることを確認します。
確認できたら、次のコマンドを実行しましょう。
(※GPUで動く前提です)

python deepmosaic.py --media_path ./result/ruoruo_add.jpg --model_path ./pretrained_models/mosaic/clean_face_HD.pth --gpu_id 0

正常に処理できると、次のように表示されます。
処理は、すぐに終わります。

> python deepmosaic.py --media_path ./result/ruoruo_add.jpg --model_path ./pretrained_models/mosaic/clean_face_HD.pth -
-gpu_id 0
segment parameters: 12.4M
netG parameters: 182.44M
Clean Mosaic: ./result/ruoruo_add.jpg
Clean temp...
Finished!

モザイク加工された画像から、モザイクを除去します。
モザイクが除去された画像は、次の場所に保存されます。

モザイクが除去された画像は、以下。

ruoruo_add_clean.jpg

オリジナルとモザイク除去後を比較してみましょう。

モザイクが上手く除去されていることを確認できます。

以上、DeepMosaicsの動作確認を説明しました。

タイトルとURLをコピーしました