【Python】FaceRecognitionで特定の人物の顔だけにモザイク処理を行うサンプルコード

前準備と実行環境


Face Recognitionはディープラーニングが使われているのでGPUが必要になります。

自分のPCにはGPUが無かったのでColabで動作することを想定しています。


ColabでGPUを使用する


Face Recognition はインストール時でdlibをビルドが必要になるためGPUを使わないと以下のようなエラーになります。


Error while calling cudaGetDevice(&the_device_id) in file /tmp/pip-install-8rhciq4o/dlib_838b2895161a4c358d1084826c17d7fd/dlib/cuda/gpu_data.cpp:204. code: 100, reason: no CUDA-capable device is detected


これを回避するためにまずGooglecolabratoryでコード実行に際に「GPU」で実行するように設定を変更します。具体的にはNotebookの「編集」→「ノートブックの設定」→「ハードウェア アクセラレータ」を「GPU」に変更して「保存」で設定完了です。


参照:https://pyming.info/2021/06/04/colab_gpu/


ライブラリのインストール


次にライブラリをインストールします。


$ pip install face_recognition


インストールが完了したらライブラリを読み込めるか確認します。


import face_recognition


画像の用意


まず前提条件としてオバマ大統領の顔を識別したいとします。


認識させたい顔


URL:https://tkstock.site/wp-content/uploads/2022/12/President_Barack_Obama-e1670777913971.jpg



モデルに判定させる顔画像



<画像のURL>

https://tkstock.site/wp-content/uploads/2022/12/123740.jpg
https://tkstock.site/wp-content/uploads/2022/12/25lunch01.jpg
https://tkstock.site/wp-content/uploads/2022/12/97399196_mediaitem97399195.jpg
https://tkstock.site/wp-content/uploads/2022/12/reizei20150827-thumb-720xauto-720×460-1.jpg


FaceRecognitionで特定の人物の顔だけにモザイクを掛ける


下記が実際に顔認識を行うサンプルコードです。


処理の流れとしてはまず判定したい顔をURLで指定し、リストに指定した画像を1枚ずつfor文で読み込み、顔の座標を特定→その顔が判定したい顔なのか判定→Trueだった場合はモザイク処理、という流れです。

ここから先は

2,702字

¥ 500

この記事が気に入ったらサポートをしてみませんか?