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

プログラミング
この記事は約3分で読めます。

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

 

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

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

 

今回処理する画像は以下のものを使います。

きれいな画像の方が気分が乗るかと思いこの画像を選びました。

 

 

スポンサーリンク

■顔認識する

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

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

 

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

 

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

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

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

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

 

 

スポンサーリンク

■モザイク処理をする

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

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

 

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

face・・・顔の範囲

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

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

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

 

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

 

 

スポンサーリンク

■モザイク処理コード

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

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

 

 

スポンサーリンク

■まとめ

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

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

 

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

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

画像の幾何学変換 — opencv v2.1 documentation

 

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

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

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

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

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

タイトルとURLをコピーしました