領域処理のお勉強(9)
参考: Willow Garage ブログの非公式翻訳: OpenCV 2.1をリリース
やりたいこと
領域処理について学ぶ
教科書
目次
- やりたいこと
- 教科書
- 目次
- 領域のテクスチャ
- 隣接画素の統合による領域分割処理
- 画素特徴量のクラスわけによる領域分割処理
- ミーンシフトを用いた画像分割処理
- 対象物と背景の間のエッジを利用した領域分割処理
- グラフカットを用いた領域分割
- 領域分割の利用例
- 所感
領域のテクスチャ
テクスチャ:繰り返しの輝度パターンを指す
テクスチャの繰り返しパターンを数値化する方法を以下に示す
周波数特徴量
2次フーリエ変換を用いるとテクスチャの特徴を波という観点から見ることができる。
領域分割し、その領域のパワースペクトルを測ることでテクスチャを数値化できる。
ガボールフィルタ
参考:
www.slideshare.netガボールフィルタ:正弦波・余弦波にガウス関数で窓をかけた関数になっており、パラメータを操作して、様々な方向と強度をもつフィルタを多数準備して、特徴抽出を行う。
このフィルタ群をフィルタバンクとよび、抽出された特徴量の群はtextonとする。
同時生起行列を用いた統計的特徴量
参考: グレー レベルの同時生起行列の作成 - MATLAB & Simulink - MathWorks 日本
同時生起行列:離れた2つの場所にある画素対の値から画素値の一様性、方向性、コントラストなどの性質を表す特徴量を求めるもの
同時生起行列を用いて計算するおもな特徴量は次の7種類がある
隣接画素の統合による領域分割処理
参考: 領域拡張法のテスト: メモブログ
領域統合法:類似した特徴量を持ち空間的に隣接した画素の集合に画像を分割する手法
画素特徴量のクラスわけによる領域分割処理
参考: 画像処理論
画素をその特徴量に基づいて特徴空間に基づいて特徴空間に写像し、その特徴空間でクラス分けし、各クラスに属する画像群を領域として画像を分割する方法
ミーンシフトを用いた画像分割処理
ミーンシフト法 → 画像領域の分割や対象画像の追跡に用いられる
基本原理
ある任意の点から半径hの超球を考え、その範囲にある点群の平均を計算し、その位置に観測点を移動する。同様の操作を繰り返すと、観測点は最大勾配の方向に移動し、やがて極大点に収束する
確率密度関数の推定
参考:
www.slideshare.net確率密度関数の勾配
勾配法:確率密度関数のある点から勾配の大きい方に移動して極大点を探索する方法
参考:
www.slideshare.net勾配法を用いた極大探索
このミーンシフト法では確率密度関数が大小が自動的に計算されオーバーシュートや振動がないことで知られている
参考:
クラスタリングへの応用
各点にミーンシフト法を実行し、収束位置がしきい値以下なら同じクラスタに入れる。
特徴としては全ての点でこの処理が必要だが並列化でき、クラス数をあらかじめ設定する必要がない。
参考:
www.slideshare.net対象物と背景の間のエッジを利用した領域分割処理
スネーク:エッジを閉曲線として抽出する
スネークでは複数の対象物や鋭い屈曲がある閉領域を正しく抽出できないという欠点がある。
参考: 動的輪郭モデル
輪郭抽出
グラフカットを用いた領域分割
グラフカット:全画面を対象と背景の2種類にラベル付するときに最小となるコスト関数を与え、コスト最小となるラベルの組み合わせを効率良く求める方法
参考:
コスト関数の意味:グラフィカルモデル入門
GrabCut
領域分割の利用例
合成画像を作るときによく用いられる。つなぎ目の不自然さをなくすために以下のような方法がある。
マッティング:部分画像の境界の画素値を同じ位置に重なる背景画像の画素値の平均値で置き換える処理
アルファブレンディング: 画像のアルファブレンドを行うときに陥りがちな罠 - どらの日記
参考: 合成のなじみを良くする「エッジブレンディング」のテクニック - コンポジゴク
所感
背景除去や特徴量を用いたセグメンテーションの方法などどれも興味深い。
これらと深層学習の両知識を増やしてコスパの良いロボットの認識器をどんどん考えていきたい。