わずか数行のコードを書くだけで顔認識のプログラムコードを書ける「face_recognition」。本記事では、顔の映った画像から顔の部分にマーキングするプログラムを書くことを通して、この有用なPythonライブラリの使い方を解説します。
ステップ1:ライブラリのインストール
まずはpipを使って、ライブラリをインストールします。
pip install face_recognition pillowface_recognitionは、目的のライブラリであり、pillowは画像処理(マーキング)をするために必要なライブラリです。
ステップ2:顔認識に使う写真の準備
使用する画像を用意しましょう。本記事では以下の画像を使用します。ファイル名は、ここでは「group_pic.png」としました。

用意した画像を、Pythonコードを書く階層と同じフォルダに格納します。
ステップ3:face_recognitionを使う
まず、face_recognitionを使うためのPythonコードを書きます。
import face_recognition
# 画像をロード
image = face_recognition.load_image_file('group_pic.png')
# 画像内の全ての顔の位置を検出
face_locations = face_recognition.face_locations(image)
これで顔認識ができました。変数「face_locations」に顔の位置の座標などが格納されています。驚くほど簡単ですね。しかしこれでは我々は何もわからないので、顔にマーキングするプログラムを書いていきましょう。
from PIL import Image, ImageDraw
# PILイメージオブジェクトを作成
pil_image = Image.fromarray(image)
# PILの描画ツールを使って描画用のオブジェクトを作成
draw = ImageDraw.Draw(pil_image)
# 検出された顔の位置に矩形を描画
for (top, right, bottom, left) in face_locations:
# PIL/ImageDrawを使用して顔の周りに矩形を描画
draw.rectangle(((left, top), (right, bottom)), outline=(255, 0, 0))
# 描画用のオブジェクトを破棄(保存された変更を確定)
del draw
# 結果の画像を表示
pil_image.show()
# 必要に応じて結果の画像を保存
pil_image.save('result_image.jpg')以上のプログラムを実行すると、同じ階層のディレクトリに「result_image.jpg」と名前のついた次のような画像が保存されているはずです。

顔の部分に赤い正方形が配置され、顔認識がうまくいっていることがわかります。
もし、
「プログラミングを体系的に学びたい」
「エンジニア転職を頑張りたい」
「独学に限界を感じてきた...」
「コミュニティで仲間と共に学びたい」
などと感じられたら、ぜひ検討してみてください。
まずは様子見...という方は、公式LINEにぜひご登録下さい。
学習や転職ノウハウに関する豪華特典11個を無料配布しています!
LINE紹介ページで特典を確認する


