画像処理の覚書

テスト範囲

  1. パターン認識過程における画像処理の位置づけ
    1. キーワード
    2. キーワードを交えての文章書きか?
  2. 局所処理フィルタ
    1. どう使いこなすかを問う
  3. オプティカルフローの拘束方程式
    1. 導出
    2. 意味
  4. ステレオ画像処理の基本幾何
    1. 計算モデルから順にたどる→導出?
  5. 画像処理応用
    1. フローチャート
    2. どの部分にどのような画像処理を用いるかまで説明するのか?

画像処理の位置づけ

[パターン観測]
   ↓  ───┐
  [前処理]    │
   ↓     │
 [特徴抽出]   │でるよ
   ↓     │
[パターン識別]  │
   ↓  ───┘
  [後処理]
前処理

前処理(pre-processing)には、

  • 雑音除去(フィルタリング)
  • 濃度変換(点変換)
  • セグメンテーション・領域検出(ジオメトリ)

などがある。
全て、特徴抽出に邪魔な情報をカットし、特徴を強調するためにある。

特徴抽出

地のデータ(雑音が入っている)から、任意の性質を指標する値のみを取り出そうという試み。

パターン識別

抽出した特徴から、実際に何らかの情報を得る。
得るものは、

  • 対応するラベル(顔画像→人名)
  • スカラー値(衛星画像→森林の分布)
  • パターン・可視化(JPEG圧縮的な手法?)

ベイズ決定理論・時間軸伸縮など、あんまり画像処理っぽくない。

局所処理フィルタ

どう使いこなすか。

性質
  • 線形 行列で表現できる。(アフィン変換)
  • 非線形 行列で表現できない。不連続だったり、二次関数だったり。
  • 点演算 結果が、入力画像と同じ位置の画素にしか依存しない
  • 局所演算 結果が、入力画像と同じ位置の画素と、その近傍に依存する。
  • その他  複雑な統計量を使ったりする
講義でやったフィルタの分類
  • 平滑化フィルタ 近傍領域の濃淡を滑らかに。
  • 差分フィルタ  濃淡変化の大きいところを強調→エッジ強調
  • 局所パターンマッチング 類似する領域を探す。4つの方法についてレポート書かされた。
  • 局所統計量フィルタ 近傍領域内の統計量を出力画像にする。他のフィルタとキャラがかぶっている。
  • モルフォロジーフィルタ パターンマッチングに似ているらしい。けどよくわからない異端児。幾何的性質に依存
具体的なヤツ

2値画像を得る理由はひとつ、被写体と背景を分けたい場合だと思う。

p-タイル法
分割点を割合で決める。画像の性質はポイ。
モード法
(最小の)極小点に分割点を置く。理想的な画像ではいいけど、そんな画像ばっかじゃないです。
判別分析法
統計的性質をさらに利用。分離度に重きを置く。それぞれの山が小さくて、間が遠いとよろし。
  • 差分フィルタ(線形局所)
    • 1階差分フィルタ:一方向の傾き   ある方向のエッジを強調する
    • 2階差分フィルタ:一方向の滑らかさ ある方向のエッジを強調する
    • グラディエント:傾き        エッジを強調する
    • ラプラシアン:滑らかさ       エッジを強調する
    • 一様重み平滑化:滑らかにする    ノイズつぶし
  • 差分フィルタ(非線形局所)
    • 方向性ry              ry
    • ガウスフィルタ:滑らかにする    一様重みは近傍が四角いので、それが見えてしまうが、ガウスフィルタだと丸い(まロい)。
    • minフィルタ:突起を除去      にきびが目立たなくなります
    • Maxフィルタ:くぼみを除去     毛穴が目立ちません
    • Medianフィルタ:くぼみや突起を除去 美顔効果
    • エッジ保存平滑化:のっぺりしないノイズ除去 美顔効果+顔立ちがハッキリ
  • モルフォロジ

ステレオ画像

用語
視差b
視点間の距離(目と目の間の距離)
焦点距離f
視点の使うレンズの焦点距離(レンズとスクリーンの距離に等しい)
原点
視点の中間点に取るっぽい(眉間)
射影
光学的に像を結ぶことを数学的に捉えた変換。物体に光を当て、スクリーンに影を射るから射影。
モデル

被写体T(x,y,z)を、bだけ離れた二つのレンズL,Rによって、2つのスクリーンS_l,S_rに射影する。
物体世界の原点Oはレンズの二等分点に、射影の像の原点O_l,O_rはレンズの軸上にとる。
スクリーンとレンズの距離は、両者ともレンズの軸上で測ってfである。
Tを射影した点をS_l上にP(x_l,y_l)とし、S_r上にも同様にQ(x_r,y_r)を取る。

目的

P,Q,f,bからTを逆算する

導出

まず、レンズの位置はそれぞれL(-b/2,0,0),R(+b/2,0,0)である。
この位置を対称点として、TとP,Qは相似な直角三角形を描く。
ゆえに、相似の性質より、以下の関係を得る。
\frac{|\vec{P}-\vec{O_l}|}{f}=\frac{|\vec{T}-\vec{L|}}{z},\frac{|\vec{Q}-\vec{O_r}|}{f}=\frac{|\vec{T}-\vec{R}|}{z}
これから、各成分を比較して
\frac{x_l}{f}=\frac{x+b/2}{z} \quad (1),
\frac{x_r}{f}=\frac{x-b/2}{z} \quad (2),
\frac{y_l}{f}=\frac{y_r}{f}=\frac{y}{z} \quad (3-1),(3-2)
を得る。

また、レンズ同士を重ね合わせた場合、レンズ位置を対称点として、視差(x_l-x_r)と視点間距離(b)は相似な三角形を描く。ゆえに、相似の性質より、以下の関係を得る。
\frac{|\vec{P}-\vec{Q}|}{f}=\frac{|\vec{L}-\vec{R}|}{z}
各成分を比較して、(yは0になる)
\frac{x_l-x_r}{f}=\frac{b}{z} \quad (4)
これより直ちに、
 z=b \cdot \frac{f}{x_l-x_r}
が得られる。

(1),(2)よりbを消去する。
 \frac{x_l}{f}+\frac{x_r}{f}=\frac{x+b/2}{z}+\frac{x-b/2}{z} \to \frac{x_l+x_r}{f}=\frac{2x}{z}
(4)の逆数を両辺にかける
 \frac{x_l+x_r}{f} \cdot \frac{f}{x_l-x_r} =\frac{2x}{z} \cdot \frac{z}{b} \to \frac{x_l+x_r}{x_l-x_r} = \frac{2x}{b} \to x=b \cdot \frac{x_l+x_r}{2(x_l-x_r)}
yに関しては、(3-1)と(3-2)を足し、(4)の逆数を両辺にかけることで同様に、
 y=b \cdot \frac{y_l+y_r}{2(x_l-x_r)}
が得られる。

結局、Tは、
T(x,y,z)=\frac{b}{x_l-x_r} \cdot \( \frac{x_l+x_r}{2} \quad , \frac{y_l+y_r}{2} \quad , f \)
と表せる。

書き直し

新たに変数を以下のように置きなおせば、

  • 対象の座標:T(x,y,z)
  • 左スクリーン上のTの射影先:L(x_l,y_l,focus)
  • 同右:R(x_r,y_r,focus)
  • 視点間距離:base
  • 焦点距離:focus

式は以下のように簡潔な表現ができる。
 T= \frac{base}{2} \cdot \frac{\vec{L} + \vec{R}}{|\vec{L}-\vec{R}|}

視差d・ベースライン長b・焦点距離f・対象距離zの関係

基本の式。
z=b \frac{f}{d}

距離を正確に測れる距離は?
距離が大きくなると視差dが小さくなる。それに対し視差の測定誤差は一定なので、遠ければ遠いほど距離の正確性が減る。
遠い対象物を正確に測れるベースライン長は?
ベースライン長が大きくなると、視差が大きくなる。視差が大きくなると、測定誤差が減るため、遠い対象でも距離が正確に測れる。
焦点距離が大きいと視差は?
距離が一定ならば視差は増える。
ベースライン長が大きいと困ることは?(1)
近すぎる物体に対して、どちらかの視点の結像位置がスクリーンからはみ出してしまう。(巨大なスクリーンが必要となる)
ベースライン長が大きいと困ることは?(2)
近すぎる物体に対して、それ自身の作る影によって、欲しい部分の像が得られない場合がある。

オプティカルフローの拘束方程式

導出

明るさの場E(x,y,t)を考えたとき、
明るさが減衰せず、単に移動するだけだと仮定すると、tに関する全微分は0
ゆえに、\frac{dE}{dt}=0
偏微分の連鎖に直すと、
\frac{dE}{dt}=\frac{\partial E}{\partial x}\frac{dx}{dt}+\frac{\partial E}{\partial y}\frac{dy}{dt}+\frac{\partial E}{\partial t}=0

\frac{dx}{dt}=u, \frac{dy}{dt}=v, E_x=\frac{\partial E}{\partial x}, E_y=\frac{\partial E}{\partial y}, E_t=\frac{\partial E}{\partial t}とおくと、オプティカルフローの拘束方程式
E_x u + E_y v + E_t = 0
が得られる。

意味
  • 変数の意味は定義から書けるだろう。
  • 明るさの変化しない物体の移動を求めるための拘束式。
  • 等高線に垂直な方向のベクトルがわかる。逆に、平行なベクトルは未知である。
    • (これは後の誤差最小化で求める→たぶんでない)