大量の画像から顔の部分のみトリミングして保存する方法

大量の画像から顔の部分のみトリミングして保存する方法

OpenCVを使った顔抽出

こんにちは。

AI coordinatorの清水秀樹です。

前回の記事で、OpenCVを使った顔認識を紹介しました。

今回は大量の画像から顔の部分だけをトリミングして保存する方法を紹介します。

機械学習用画像の準備としても使えると思いますので、ぜひ参考にしてみてください。

 

テスト環境

macOS Sierra

Anaconda3-4.2.0-MacOSX-x86_64

python 3.5.2

opencv3 3.1.0

 

まずは1枚でチャレンジ

in_jpgには抽出元となる画像を保存したパスをしてください。

上記パスにインプットとなる画像を保存してから処理を実行すると、out_jpgにトリミングした顔画像を出力するようにしています。

 

出力結果は以下の通り。

しっかりと顔部分だけをトリミングすることに成功しました。

今回も新垣結衣さんの写真を使いました。

それではこのソースコードを大量の画像でも動くようにカスタマイズしていきたいと思います。

 

大量の画像からの顔抽出

ソースコードが雑なのはご容赦ください。

画像の枚数分だけfor文で動かすようにしています。

minSize=(1,1)としていますので、顔でない部分の抽出がされる可能性が高くなりますが、そこは割り切りましょう。

 

以下出力されてきた画像の一部です。

しっかりと顔部分のトリミングができました。

 

一方で、顔でない部分もいくつか抽出されてきました。

この辺りの画像は人力で削除するしかないですね。

 

OpenCVを上手く使えば、色々な画像編集が一瞬で出来そうですね。

特に人の顔の学習モデルを作成したい場合には重宝しそうです。

 

簡単に出来ますので、ぜひ試してみてください。

 

それではまた。

About The Author

Hideki
東京大学発AIスタートアップ企業でロボット開発室室長、画像解析室室長、動画解析室室長を務め、AIエンジニアとしても画像認識関連の特許を在籍中に3つ取得。その後、KDDIグループ内でプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRISTのテックリードとして農業の人手不足の解決に向けた収穫ロボットの開発にチャレンジしている。ロボットは技術の総合格闘技との考え方から、AIだけでなく、ハードやエレキ、通信からクラウド、IOTまで幅広く手掛けることができる。最近では人とロボットの共存を目指すべく、性能だけを追い求める開発から「感動やワクワク体験」をデザインできるロボットの研究を進めており、人とロボットがうまく共存できる世界を作り出したいと日々行動している。

COMMENTS & TRACKBACKS

  • Comments ( 0 )
  • Trackbacks ( 5 )

コメントはまだありません。

  1. […] が、まだ自分でゼロから作成するスキルはないので、Webで探してみました。その結果「大量の画像から顔の部分のみトリミングして保存する方法」というピッタリな記事を見つけました。 […]

  2. […] 今回はアイドルの顔画像を生成したいため集めた画像から顔だけを切り出します.こちらを参考にopencvを使い顔画像を切り出しました.ターミナルでこちらを実行すれば切り出しできま […]

  3. […] 大量の画像から顔を検出 Udemy:Opencvでの画像処理 […]

  4. […] 大量の画像から顔の部分のみトリミングして保存する方法OpenCVを使った顔抽出 こんにちは。 AI coordinatorの清水秀樹です。 前回の記事で、OpenCVを使った顔認識を紹介しました。 今回は大 […]

LEAVE A REPLY

*
*
* (公開されません)