
204
10
章 コンピュータビジョン:パターン認識
mh.features.haralick
は4×13の配列を返します。一つ目の次元には4 つの方向(上・下・左・
右)について特徴量が計算されています。もし方向について興味がなければ、全方向の平均を用いる
こともできます。この関数を使えば、簡単に識別を行うことができます。
mahotasには他にも特徴量が実装されています。
Linear Binary Patterns
はテクスチャベー
スの特徴量であり、照明の変化に対してロバストな特性を持ちます。他にも違うタイプの特徴量があ
り(局所特徴量も含みます)、後ほど紹介していきます。
特徴量はクラス分類のためだけではない
特徴量を計算することで、何百万からなるピクセルの数を削減することができます。この結
果は、クラスタリング、回帰、次元削減などにも用いることができます。数百程度の数からな
る特徴量に対して次元削減のアルゴリズムを実行することで、何百万のピクセルからなる配
列をわずかな次元数に減らすことがで
きます。さらに
2
次元(もしくは
3
次元)にまで削減す
ると、ツールを用いて可視化することができます。
これらの特徴量を用いて、サポートベクターマシンなどの標準的なクラス分類手法を使用します
†
。
images = glob('simple-dataset/*.jpg')
features = []
labels = []
for im in images:
features.append(mh.features.haralick(im).mean(0)) ...