moxt

Just another Blog site

Python(Anaconda)とOpenCVを使って動画から顔画像を抽出してみる

      2015/07/15

今話題のディープラーニングをやってみたい。
いろいろ見た感じCaffeというフレームワークが良さそう。

ただ、学習用データを用意する必要がある。
クラウドワークス的なやつで外注するのもアリ。
個人的にやってみたいことがエロ系なので、なんか外注するのもレピュテーションリスク(笑)がありそうなのでアレ。

動画から画像を切り出してデータを用意するのが良さそう。
下記が参考になる気がする。

http://kivantium.hateblo.jp/entry/2015/02/20/214909

OpenCVを使って顔画像のくり抜きを自動化してる

OSXで。

Pyenvをインストール

homebrewを使った。

Anacondaをインストール

OpenCVをインストール

たったこれだけw

OpenCVを動かしてみる

http://qiita.com/wwacky/items/98d8be2844fa1b778323

pyenvでanacondaを導入しているので、cascade_pathが違う場所になる。
素直にインストールしていれば.pyenv/versions/anaconda-2.1.0以下にshareフォルダがあるはず。

動画中の顔画像を検出する

動画ファイルを読み込んで一定フレームごとに顔画像検出処理を行い、顔らしき領域をくりぬいて保存するスクリプト
detectFaceで顔領域を抽出して返してる。

いいかんじ。

【追記】

大量の画像から顔画像だけをくりぬいて別ディレクトリに保存する

下記のようなスクリプトを用意する。
↑の動画でやってる内容とほぼ同じ。

適当な画像置き場で下記のような(汚い)ワンライナーを実行する。

clipというフォルダに顔画像だけが格納されてるはず。

 - プログラミング

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

  関連記事

no image
意識低いRuby on Rails再入門4

下記の内容を読んでテスト系の処理をすっ飛ばしたメモ。 http://railstutorial.jp/chapters/sign-in-sign-out?version=4.0#top …

no image
AndroidのHandlerって何?

Handlerは何?と、Handlerを直視するとHandlerの存在意義というかなんというか文脈を捉えることが難しい。 なので、まずはAndroidがシングルスレッドである、という所からスタートしてHandlerに向かってゆく。 …

no image
意識低いRuby on Rails再入門2

Modelを作り、コンソール上からデータを追加した。 次はこのデータをlocalhost:3000にアクセスしたときに表示させてみたい。 …

コードを雑に読むアプローチでScrapyを入門する

Scrapyはスクレイピング用フレームワークなので、登場人物多すぎてよく分からない。 彼らの関係性や役割を理解を深めるために『Data …

no image
Bower再入門

Contents1 Bowerとは何なのか2 …

no image
意識低いRuby on Rails再入門5

http://railstutorial.jp/chapters/sign-in-sign-out?version=4.0#top この辺を読んだメモ。 …

no image
Mastodonインスタンス(お一人様用)を作り方メモ

Mastodonは運営の存在を気にせず罵詈雑言吐けるの便利そう。 自分用のインスタンス作ったので、便所の落書きしておく。 …

ReduxのMiddlewareについて理解したいマン

ReduxのMiddlewareの仕組みがよく分からない。 具体的な処理過程を追いかけて理解に至るまでのメモ。 …

ReactとFluxとReduxについて順を追って整理する

書き途中 Contents1 …

no image
sudo gem install cocoapods –preしても0.36.0が使えないとき

最新のcocoapodsそのものはインストールされてる。 なので、podコマンドを実行するときに下記のようにバージョンを指定すれば一応使える。 …