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

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

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にトリミングした顔画像を出力するようにしています。

 

出力結果は以下の通り。

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

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

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

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

 

大量の画像からの顔抽出

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

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

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

 

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

大量の画像から顔の部分のみトリミングして保存する方法 画像2
大量の画像から顔の部分のみトリミングして保存する方法 画像3
大量の画像から顔の部分のみトリミングして保存する方法 画像4
大量の画像から顔の部分のみトリミングして保存する方法 画像5
大量の画像から顔の部分のみトリミングして保存する方法 画像6
大量の画像から顔の部分のみトリミングして保存する方法 画像7
大量の画像から顔の部分のみトリミングして保存する方法 画像8
大量の画像から顔の部分のみトリミングして保存する方法 画像9
大量の画像から顔の部分のみトリミングして保存する方法 画像10

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

 

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

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

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

 

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

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

 

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

 

それではまた。

この記事の内容について、相談したい方へ

技術選定・実装の進め方・組織での導入など、AI/IoT全般のご相談を受け付けています。

無料相談会(30分・オンライン)

About The Author

Hideki
東京大学発AIスタートアップでロボット開発室室長・画像解析室室長・動画解析室室長を務め、画像認識関連のAI特許を在籍中に3件取得。その後、KDDIグループでプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRIST株式会社の執行役員CTO 兼 VPoEとして、農業の人手不足解決に向けた収穫ロボットの開発組織を統括しています。AI・ハード・エレキ・通信・クラウド・IoTまでを一気通貫で設計できる視点を強みに、性能だけでなく「感動やワクワク体験」までデザインできるロボットの研究を進めています。並行して、AI coordinatorとして企業のAI導入・教育機関のAI授業・地域の技術相談を月額契約で継続伴走しています。

COMMENTS & TRACKBACKS

  • Comments ( 0 )
  • Trackbacks ( 7 )

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

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

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

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

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

  5. […] 大量画像からの顔部分のトリミングについてはこちらの記事を参考にしてみてください。 […]

  6. […] 顔画像の準備については、「大量の画像から顔の部分のみトリミングして保存する方法」を参考にしてください。 […]

LEAVE A REPLY

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