ハトネコエ Web がくしゅうちょう

プログラミングやサーバー・Web制作、チームマネジメントなど得た技術のまとめ

顔画像認識周りのメモ

手っ取り早いのは Haar-like

OpenCV に分類器が同梱されていてすぐに使えるので、試してみるのはとっても簡単です。
これらの記事が詳しいです。

上の記事ではそれぞれの分類器ファイルの説明が書いてあってとてもありがたいのですが、
『haarcascade_profileface.xml : 顔(証明写真)』のとこだけ、
Profile face は「横顔」の意味が正解ですので、そこだけ注意です。

実際に試してみるとこんな感じ。

f:id:nekonenene:20210219082512j:plainf:id:nekonenene:20210219082518j:plainf:id:nekonenene:20210219082522j:plain
Haar-like で試してみた顔認識結果

処理が1秒未満で終わるのは良いのですが、(2841 x 2200 px の画像で 0.74s 程度)
やはりこの手法は画像の白黒パターンの一致から判定しているだけなので、
顔が傾いているとダメだったり、必要以上の場所を認識してしまって、なかなか実用は難しそうです。

英語ですが、「テンプレートマッチング」と「畳み込みニューラルネットワーク」の違いの説明記事は
以下がいい感じでした。

What’s the Difference Between Haar-Feature Classifiers and Convolutional Neural Networks?

CNN(畳み込みニューラルネットワーク)か~

というわけで、実用可能な方向を考えると、
CNN(Convolutional Neural Networks=畳み込みニューラルネットワーク)か~。
なんですけど、ここはまだあれこれ試してないので、メモ程度にリンクをまとめときます。

使えそうなライブラリやアプリケーション

実装してみた記事に関しては、このあたりがわかりやすそうでした。

まだ試せていませんが、実装してみるときはここらへんの記事を読みながらやってみようと思います。

IBMの学習済みモデルを使ったAPIが簡単に作れる Model Asset Exchange なんかも便利だなーと思って読んでましたが、
IBMは2020/06に顔画像認識は肌の色の偏見に基づく可能性があるため撤退しているようで、
現在は Facial recognization は一覧にありませんでした。

【2019/4月更新】学習済みの様々なディープラーニング・モデルをメチャ簡単に利用できる! Model Asset Exchange(MAX)をご紹介します - Qiita

畳み込みニューラルネットワークがなんなのか、どうやって処理しているのかとか、
勉強しないといけないことが多いですが、時間あるときに調べていきたいと思います。

画像処理の基礎:フィルタリング,パターン認識から撮像過程モデルまで | Udemy

この Udemy の講座も、せっかく買ったのにまだほぼ見られてないので、
早く学びたいです。