ふとアイデアが降ってきたんですよね。犬の顔に自動でモザイク処理をするAIっておもしろくない?って。
ということで本記事では、動画中の犬の顔に自動でモザイク処理をするAIを作ってみたというタイトルで、AI作成の計画立ての部分から実装まで私の頭の中を公開したいと思います。
けっこう内容が長くなってしまったので、4つの記事に分けてお話していきます。
本記事は一番最初の計画立てと開発環境の構築についてお話します。
どんなAIができあがる?
はじめに作成したAIのデモをお見せします。
うん、なんだかシュールですね。
ちなみに登場いただいたお犬様は実際に私の家に一緒に住んでいる子です。
計画立て
いきなりゼロから作るのは時間がかかるので参考になるものを探すことから始めました。
そして見つけたのが以下記事。
犬ではなく人にモザイク処理をするAIですが、犬の顔を検知するよう学習したモデルに差し替えればいけそうということでこちらの記事を参考にすることにしました。
そして次のような流れでAI作成をする計画を立てました。
- 参考記事をベースに、YOLOv5を使った人間にモザイク処理をするAIを実装する (ただし別途学習した重みを読み込めるように微調整)
- 犬の顔の学習データの作成
- モデルの学習
- 1で実装したモザイク処理の学習済み重みの部分を差し替える
計画はできたので後は順にクリアしていくだけです。
開発環境構築
順にクリアしていくだけと言いましたが、開発のスタートは環境構築ですね。
筆者はWindows10で今回の開発を行いました。
ちなみにGPUは必須ではありませんのでご安心ください。
macOSやLinuxの方は適宜参考に環境構築をお願いします。
プロジェクトフォルダの作成
作成するコード等を配置するフォルダを作成します。
名前はもちろん任意で構いませんが、私は「dog-face-mosaic-ai」とし、以降の説明でもその名前で説明していきます。
Pythonのバージョン
まずPythonですが、3.9以下のバージョンを用意してください。
Windowの場合はPythonを複数バージョンインストールし、簡単に切り替えることができます。
インストールの方法については今回は割愛させていただきます。
現在インストールされているPythonのバージョンを確認するには、PowerShellで以下コマンドを実行します。
py -0p
ちなみにバージョン3.9以下を使用する理由は、学習データ作成に使用するlabelImgがPython3.10以上では正常に動かせないためです。
仮想環境の準備
venvを使って仮想環境を準備します。
カレントディレクトリをプロジェクトフォルダに移動し、以下コマンドを実行します。
py -3.9 -m venv env
3.9の部分は使用するPythonのバージョンです。
インストールされているバージョンの中から選択してください。
コマンド末尾のenvは仮想環境名です。
任意の名前で構いませんが、以降の説明ではenvという名前で説明していきます。
続いて仮想環境を有効化します。
Powershellで以下コマンドを実行しましょう。
.\env\Scripts\activate
実行するとコマンドラインに以下のように仮想環境名が表示されます。
ちなみに仮想環境を無効化するのは以下コマンドです。
deactivate
そのまんまですね。
ライブラリのインストール
続いて必要なライブラリのインストールです。
プロジェクトフォルダ下にrequirements.txtという名前のファイル作成します。
dog-face-mosaic-ai
|-env
|-requirements.txt
そしてrequirements.txtに以下をコピペしてください。
torch
opencv-python
ultralytics
logzero
labelImg
ここで仮想環境が有効化されていることを確認してください。
もし有効化されていない場合は有効化しましょう。
この仮想環境に対して各種ライブラリのインストールをしていきます。
以下コマンドでライブラリのインストールが実行されます。
pip install -r requirements.txt
最後に
ここまでお読みいただきありがとうございます。
一旦本記事はここまでにいたします。
次の記事は人間にモザイク処理するAIの実装の解説です。