・膨大な素晴らしきプログラムの集積地であるQiitaの中から、無作為に試してみて、惜しげもなく我が物顔を炸裂する記事第一弾。
・興味のあるものは何の躊躇も恥もなく無心で模倣してきた「自己解決反対運動」の信者のため、思う存分発揮していこう。
・初回として、顔認識処理が簡単に扱える記事を発見したので、これを試してみよう。
概要
-
Google Colaboratoryという、Jupyter Notebook環境を構築不要ですぐに試せるサービスを使って、指定画像を顔認識処理にかけて、返してくれる。
※Jupyter Notebookとは、実行記録型のデータ分析ツールである。主にPython実行環境として使用されていたが、現在は様々な言語に対応している。
結果
使用環境・技術
- 1. Google Colaboratory
- 2. Python
- 3. OpenCV(解析ライブラリ)
手順
使用画像の用意
- 今回顔認識処理に用いる好きな画像を用意する。(※公開等なければ、著作権はあまり気にしない。)
- 画像決定すれば、名前をつけて保存。その際の保存名はメモしておく。
※今回の保存名は「test.jpg」で、使用画像は下記。
解析ライブラリの設定
- 画像の顔認識処理のために、解析ライブラリであるOpenCVの公式GitHubから下記のファイルを自分のパソコンにダウンロードする。
「ファイル名」・・・haarcascade_frontalface_default.xml
「取得リンク」・・・ここ
Google Colaboratoryの設定
- GoogleドライブからColaboratoryプロジェクト作成。
※Googleアカウントを持っていない人は、作成する。- Googleドライブを起動
- 「新規」→ 「その他」→「アプリを追加」の順にクリック。
- アプリ検索欄に「colab」と入力して検索。
- 検索結果に「Colaboratory」が表示されるので、そこの「接続」ボタンをクリック
- 改めて「新規」→ 「その他」の順にクリックしていくと、「Colaboratory」が表示されているので、クリック。
- 起動したプロジェクトに名前をつける
※プロジェクト名が反映されるわけではないが、自分がわかる名前をつける。
- GPU割り当てのため、プロジェクト上部メニューの「ランタイム」から「ランタイムのタイプを変更」をクリック。
ノートブック設定後、プロジェクトに下記のコードを入力後、左の三角ボタンで実行する。
from google.colab import files
f = files.upload()
ファイル選択ボタンが表示されるので、先程保存した下記の2つのファイルをアップロードする。
※アップロードは1つずつ行う。
①使用画像ファイル・・・今回は「test.jpg」
②解析ライブラリファイル・・・「haarcascade_frontalface_default.xml 」アップロード後、下記のコードを入力して、実行する。
import cv2
from matplotlib import pyplot as plt
# 画像読み込み
img=cv2.imread("./test.jpg")
# 画像のRGB形式への変換
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 解析ライブラリの使用
cascade = cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')
# 検出処理
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(30, 30))
# 検出領域のデザイン処理
for (x, y, w, h) in face:
cv2.rectangle(img, (x, y), (x + w, y + h), (200,0,0), 3)
# 標準軸の非表示処理
plt.grid(False)
plt.tick_params(labelbottom=False, labelleft=False, labelright=False, labeltop=False)
plt.imshow(img)
※好きな画像を使用している場合は、「test.jpg」の部分を自分用に変える。
まとめ
- 初回は顔認識処理ということで、「賢人の方々の知の結晶のおかげで、こんなにも恩恵を受けているのだな」と、水分の跡も見られないまぶたをぬぐいながら、記事を書く。
- とはいえこの模倣学習は、GoogleやQiitaや作成者等の多くの方々の偉大な功績によるものなので、毎回の礼拝作業は欠かさない。
- 「今後も、自己満足促進のための素晴らしきプログラム探しに精進しよう」と、堂々他人依存決断。
参考
-
https://qiita.com/FrozenVoice/items/d1dc5f3d780f5097bfab
→こちらの記事を参考にしました。大変お世話になりました。