プログラミング

【Python】顔認識してモザイク処理をしてみる。

投稿日:

今回は、顔認識した後の画像をモザイク処理してみました。

 

以前やってみた顔認識で使ったカスケードファイルを使っています。カスケードファイルは、顔の特徴をデータ化したファイルのことです。

カスケードファイルを使えば、鼻や目、輪郭などの特徴をもとに顔を認識することができます。

 

今回処理する画像は以下のものを使います。きれいな画像の方が気分が乗るかと思いこの画像を選びました。

 

それではさっそく見ていきましょう!

 

スポンサーリンク

■顔認識する

モザイク処理をする前に顔認識の簡単な説明をしておきます。

1.カスケードファイルを読み込む

 

2.画像をカスケードファイルを用いた分類器にかける

 

3.認識した顔座標を取得し表示する

face_listの中身は(x,y,w,h)のようになっています。

最後のrectangleメソッドで認識した顔を四角で囲みます。

以下の画像のように認識されます。

 

 

 

 

■モザイク処理をする

モザイク処理の仕組みは簡単です。

モザイク処理を掛けたい部分を一度縮小して、再度元の大きさに戻すことでモザイクになります。

 

コードは以下のようになります。

face・・・顔の範囲

reduc・・・faceを(8,8)サイズにリサイズ

mosaic・・・縮小したreducを(w,h)サイズ(元のサイズ)にリサイズ

最後の行で、画像の顔範囲にモザイク処理した部分を割り当てています。

 

モザイク処理後が以下のようになります。

 

 

スポンサーリンク

 

■モザイク処理コード

今回使ったコードを全部載せておきます。

 

matplotlibライブラリを使って画像表示をしています。

 

■まとめ

今回はモザイク処理をするだけでしたが、モザイク処理をした画像を機械学習して、元の顔を予測することもできるみたいです。

今回したように顔認識したデータを教師データとして使えばできそうですね。

 

なお、モザイク処理をする際のresizeメソッドを使う際に参考にしたサイトのリンクを張っておきます。

OpenCVについてより詳しく知りたい方は確認してみてください。

http://opencv.jp/opencv-2.1/cpp/geometric_image_transformations.html

 

僕が参考にしている書籍です。これを読んで顔認識を勉強しました。わかりやすいので、興味のある方はぜひ。

すぐに使える! 業務で実践できる! Pythonによる AI・機械学習・深層学習アプリのつくり方

すぐに使える! 業務で実践できる! Pythonによる AI・機械学習・深層学習アプリのつくり方

クジラ飛行机, 杉山 陽一, 遠藤 俊輔
3,520円(11/13 11:50時点)
発売日: 2018/06/29
Amazonの情報を掲載しています

最後まで読んでいただきありがとうございました。

スポンサーリンク

当サイト(your-3d.com)の管理人のゆあーさんと申します。

このサイトでは、私がZBrushやunityなどで調べたことをわかりやすく共有出来たらいいなと思い開設しました。

読んでくださった皆様のお役に立てたら幸いです。

 

Twitter:

@yoursun3d

 

Booth(3Dモデル販売してます!):

https://your-3d.booth.pm/

 

Amazonほしいものリスト:

https://www.amazon.jp/hz/wishlist/ls/YIXXWB7FVXHG?ref_=wl_share