画像解析

画像解析

  • ピンからキリまで
  • パターン認識・画像理解・コンピュータビジョン
  • 画像統計(ヒストグラム)
  • 画像認識・分類・領域分割
  • 2値化/ベクトル化・文書画像解析(OCR)

分類

ヒガンバナ

分類対象と分類結果の例

分類の処理過程

  • 原画像
  • 前処理
  • 特徴抽出
  • 識別 -> クラス
  • 後処理

前処理

  • 無用なデータの削除
  • 有用なデータの抽出
  • 有用なデータの追加・編集

特徴抽出

  • 濃淡・色・分光スペクトル特徴
  • テクスチャ(空間的特徴)
  • 形・大きさ(幾何学的特徴)

特徴ベクトル

  • x = [ x1, x2, ... xK ]
  • K次元のベクトル空間
    • マルチスペクトル(リモートセンシング)
    • 画素の順次走査(文字認識)
  • 次元多すぎる -> 主成分分析、正準分析 etc で減らす
    • RGB -> (Y)UV

たとえば文字認識

  • x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

カテゴリー識別モデルの選択

  • 色の違い
  • 形・大きさの違い
  • 設計者の経験・直観

想定するモデル空間での分布

分類の手法

  • 教師付き・教師なし
  • 階層的クラスタリング
    • hierarchical clustering
  • 非階層的クラスタリング

階層的クラスタリング

アルゴリズム

  • 距離行列の計算
  • while 1:
    • 距離が最小なクラスタ対の発見
    • 最小距離クラスタ対の融合
    • 融合後の新距離行列の計算
    • 最終クラスタ数に到達 -> break

クラスタの融合

  • dkh2 = αidih2 + αjdjh2 + βdij2

重心法

  • αi = Ni/Nk, αj = Nj/Nk, β = NiNj/Nk2

最短距離法

  • dkh = min(dih, djh)

最長距離法

  • dkh = max(dih, djh)

クラスタリング計算例(重心法・初期 N=20)

クラスタリング計算例(N=15)

クラスタリング計算例(N=10)

クラスタリング計算例(N=5)

クラスタリング計算例(N=3)

非階層的クラスタリング

非階層的クラスタリング

  • パラメータ決定(最終クラスタ数、判定条件等)
  • 初期クラスタ重心の決定
  • k-means 法
    • 個体の再配置・クラスタ重心の修正・収束判定
  • 孤立データ除去
  • 終了判定 -> 分割・融合

距離測度

  • ユークリッド距離
    • |xi - xj| = (∑(kxi - kxj)2)1/2
  • 市街地距離
    • ∑ |kxi - kxj|
  • チェス盤距離
    • max(|kxi - kxj|)
  • マハラノビスの距離 (Mahalanobis 1936)
    • 標準偏差を単位とした距離(詳細 省略)

ユークリッド・市街地・チェス盤距離

後処理

  • 分類結果の平滑化
  • クラスとカテゴリーとの対応付け
  • データ編集

分類処理システムの設計(サイクル)

  • カテゴリー識別モデルの選択
  • 前処理内容の設定
  • 特徴選択
  • 識別法の選択
  • 訓練・学習
  • 後処理内容の設定
  • 分類性能の評価

参考文献

  • 新編画像解析ハンドブック(高木・下田)

クラスタリング ソフト

階層的クラスタリング(結果1)

  • tree = treecluster(data, method=a, dist=e)
  • クラスタ間距離=群平均法

階層的クラスタリング(結果2)

  • tree = treecluster(data, method=s, dist=e)
  • クラスタ間距離=最短距離法

階層的クラスタリング(結果3)

  • tree = treecluster(data, method=m, dist=e)
  • クラスタ間距離=最長距離法

非階層的クラスタリング(k-mean)

  • clusterid, error, nfound = kcluster(data, N=4)

クラスタリング結果について

  • RGB 3色(3次元)データを使った
  • 「花」は分類できそうだが、「蝶」はむずかしい
  • 「蝶」を分類するための何らかの前処理・特徴量追加が必要

問題

  • 画像解析の方法は目的、手段によってさまざまであるが、
  • 特徴量ベクトル間の 距離 が小さいものをまとめる手法である
  • (階層的・非階層的)_______ が、分類 のためによく利用される。

解答

  • クラスタリング