「画像・動画のモザイクを除去したい」
「プログラムで自動的に画像・映像をモザイク加工したい」
このような場合には、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.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年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の動作確認を説明しました。