トップ «前の日記(2008-11-19) 最新 次の日記(2009-01-01)» 編集

あしたに日記[RSS]

Wiki/Bookmark/Top


2008-12-07 [長年日記]

サポートベクターマシーン

Before

我が家の写真は子供の写真が大半で、それに
妻が撮っている弁当の写真、風景などが混じります。
弁当が明らかに異質なので別フォルダに分けたい
のですが、そういう整理をずっとサボってきたので、
まじめにやるなら8000枚ほどある写真から手動で
分けないといけません。

いい機会なので(?)前からやってみたかった機械学習をちょっと調べました。OpenCVの顔認識はサポートベクターマシーン(libsvm)らしいので、今回はOpenCVではなくlibsvmを直接使いました。pythonなど各言語のインターフェイスが充実していて相当敷居は低いです。

機械学習で重要なのは特徴量をどう選ぶかですが、妻が撮影時にレイアウトを
決めて撮っており、だいたい上半分にご飯があるので、
上・下半分のRGBごとのヒストグラムを特徴量に選びました。要は上半分に白っぽいのが大量にあって下半分には無い、という画像を探して来いと。このあたりの作業はPILでわりと簡単にできます。

After

検出結果を学習用データに入れて再学習、という手続きを何回か繰り返すうちに、300枚ぐらいが抽出できました。
ターゲットに相当特徴があったとはいえ、ヒストグラムだけで
ここまで使えるとは思ってませんでした。スパムフィルタ
なんかもそうですが、手作業が楽になるだけでもずいぶん価値があるものです。あと、学習器を成長させるのは何気に楽しいですよね。
コードはこちら

それぐらいの量なら、プログラム組んでる間に手動でやるほうが早いじゃん!とか、弁当なんだから撮影時刻で見れば一発じゃん!とかいうツッコミはなしで。テクノロジーは無駄に使ってナンボですよ。

最後に、いつも弁当ありがとう>妻。

本日のツッコミ(全2件) [ツッコミを入れる]
タカハシ (2008-12-08 15:32)

大学(院)から最初の会社でもパターン認識やってたのでSVMは知ってます。今回の勝因はlibsvmなんてのがあったってのと、比較的特徴量が明瞭だった事につきるのではないでしょうか。それにしても便利な世の中よのぉ〜。

あし (2008-12-08 21:50)

どもー。いやはやまったくそのとおり。中身分からなくても動かせるってのはイイですよね。