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
フロントエンド開発のメモ

最近のフロントエンド開発ではビルドランナーを使うのが常識になってきてるみたいなので。 jspm的なもっと進んだやり方でも良いんだけど、pluginが少ない、文献が少ない、自身の技術力不足、ということでビルドランナーなやり方でやる。 …

no image
ディープラーニングが気になる

ダラダラとメモ。 Contents1 …

no image
RDSの特定のデータベースをダンプする

Publicly Accessibleがyesならどこからでも下記が実行可能。 …

no image
Macでdocker系のコマンドが使えなくなったら確認すること

OSXではdockerは使えないため、別にVMを立ち上げ、そこでdockerを動かしてる。 macからdockerコマンドを使うためにboot2dockerというコマンドを使う。 …

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

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

nokogiriでスクレイピングするときによく忘れるヤツ集

書くことで記憶を定着させる施術。 class,id以外の属性を指定してタグを探したい …

no image
Swiftで追加したサードパーティなモジュールを更新する方法

SwiftにはCocoaPodsのようなライブラリを管理するツールがないので、手で追加します。 手で追加したライブラリのバージョンを更新したいときどうすればよいか。 …

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

ActionViewを使ってModelクラスの新規作成画面を作りたい。 ウェブアプリ上でModelのクラスを作成する。 …

no image
AndroidのHandlerって何?

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

no image
MecabをPythonから使いたい

ベイズ分類器を自分で作りたかった。 そのためには、文書を単語の集合に変換する必要がある。 …