前半:相澤先生
(問1)
- F値が2.8のレンズAと5.6のレンズBの像映の明るさを比較せよ。
- レンズ口径が同じで焦点距離が28mmのレンズと35mmのレンズの像影の明るさを比較せよ。
(解答)
- ¬F値(絞り値)¬はカメラに入る光の量をコントロールする値であり、「F値を @小さく@ する」↔︎「絞りを空ける」↔︎「穴が広く、光がたくさん入る」という関係がある。したがって、F値の大きいレンズBの方が@暗く@なる。 具体的には、¬像映の明るさはF値の逆数の二乗に比例している¬
- ¬F値 = @(焦点距離)/(レンズ口径)@¬ であるため、レンズ口径が同じであると仮定すると焦点距離が@長い@ほど像映は暗くなる。従って焦点距離が@長い@のレンズの方が暗く映る。
(問2)
- \(\gamma\) 補正とは何か説明せよ。
- 白米をカメラで撮影したところ赤みがかかっていたがその理由を述べよ。
(解答)
- もともとは、陰極管の物理特性により、ブラウン管テレビの¬「入力信号の電圧」と「出力する輝度」の間にリニアな関係がなかった¬ことを是正するために、放送局側で色情報を調整するための変換を¬ガンマ変換(ガンマ補正)¬と呼んだ。これは
$$y = 255\left(\frac{x}{255}\right)^{\frac{1}{\gamma}}$$で表される式で入力値 \(x\in[0,255]\) を補正する変換式であり、ブラウン管補正のガンマ特性は \(\gamma=2.2\) であった。 なお、式からわかるように、\(\gamma > 1\) の時はトーンカーブが上に凸に、\(\gamma < 1\) の時は下に凸になる。
- カメラの¬ホワイトバランス¬機能を用いずに、白熱灯の下で撮影したためと考えられる。一般に、照明とカメラの温度関係によって、画像に青みがかかったり(照明の温度がカメラよりも@高い@時)、赤みがかかったり(その逆)する。昼間の太陽光の色温度は5500K程度であり、ホワイトバランス 機能を用いなければ基本的にこの環境で白い物体が白く映るような調整がされているはずである。白熱灯の色温度は3000K程度であり、照明の温度が(相対的に)低くなったので、赤みがかかった原因だと考えられる。
(問3)
必要に応じて数式を使いながら、以下の2種類のフィルタについて説明せよ。
- LoGフィルタ
- バイラテラルフィルタ
(解答)
- 一般に、関数 \(f(x,y)\) のラプラシアンは、
$$\frac{\partial^2}{\partial x^2}f(x,y) + \frac{\partial^2}{\partial y^2}f(x,y) $$で定義される。そこで、横方向の2次微分の結果と縦方向の2次微分の結果を足し合わせて得られる¬ラプラシアンフィルタ(Laplacian filter)¬を用いれば、方向に依存しないエッジが直接得られる。 ラプラシアンフィルタ を通した後の画像は、エッジの位置の両側に、プラスの値とマイナスの値が対になって現れる。したがって、ちょうど0になる位置(¬ゼロ交差(zero crossing)¬)を求めれば、エッジの位置を求めることができる。 しかし、ラプラシアンは、本質的に微分を繰り返すことになるため、かなりノイズを強調してしまう。 そのため、まず¬ガウシアンフィルタ(gaussian filter)¬を用いてある程度の平坦化を行ったのち、ラプラシアンフィルタを施すことが一般的によく行われる。 これら2つの処理は1つにまとめて表すことも可能である。2次元ガウシアンフィルタが$$h_g = G(x,y;\sigma) = \frac{1}{2\pi\sigma^2}\exp\left(-\frac{x^2+y^2}{2\sigma^2}\right)$$で表されるので、$$h_{log} = \nabla^2G(x,y;\sigma) = \frac{x^2 + y^2 - 2\sigma^2}{2\pi\sigma^6}\exp\left(-\frac{x^2+y^2}{2\sigma^2}\right)$$
- 上記のガウシアンフィルタなどは、注目画素からの距離に応じた重みを付けた平坦化を行うフィルタであり、画像に含まれるノイズなどの不要な濃淡変動を軽減することができたが、同時に、¬画像にもともとあるエッジも滑らかにしてしまっていた。¬そこで、¬バイラテラルフィルタ(bilateral filter)¬では、「注目画素からの距離」 に加えて、「注目画素値との画素値の差」 に応じて、同様にガウス分布に従う重みを付ける。こうすると、輝度差が大きい(エッジと背景など)では画素同士での平均化がされにくくなる ので、エッジを保存してノイズを取り除くことができる。
このフィルタを数式で表すと以下になる。
$$g(i,j) = \frac{1}{W}\sum_{m,n} f(i+m,j+n)\left[\exp\left(-\frac{m^2+n^2}{2\sigma_1^2}\right)\exp\left(-\frac{\left(f(i,j) - f(i+m, j+n)\right)^2}{2\sigma_2^2}\right)\right]$$
(問4)
入力信号 \(x(t)\)、\(x(t)\) を入力するシステム \(h(\tau)\)、観測信号 \(y(t)\)、出力観測時に相加的に加えられるノイズ \(n(t)\) として、そのフーリエ変換を \(X(\omega),H(\omega),Y(\omega),N(\omega)\) とする。\(h(\tau)\) は既知とする。出力 \(y(t)\) から \(x(t)\) を推定したい。以下の問題に答えよ。
- \(Y(\omega)\) と \(X(\omega)\) の関係を書け。
- 逆フィルタを用いて \(y\) から \(x\) を求める手法を説明せよ。
- 2の手法を用いる際に突き当たる問題はどのようなものが考えられるか。
- ウィーナフィルタを用いて \(y\) から \(x\) を求める手法の原理を説明せよ。
- ウィーナフィルタの式を導け(フーリエ形式でよい)。
(解答)
画像が劣化した過程を逆にたどる処理を行うと、ボケやブレのある画像を復元することができる。
ここで、¬ボケやブレが、原画像に空間フィルタリング処理を施した結果生じた¬と考えると、劣化した画像 \(g(x,y)\) は、原画像 \(f(x,y)\) およびフィルタ関数 \(h(x,y)\) を用いて、以下のたたみ込み積分によって表される。
$$
\begin{aligned}
g(x,y) &= \int_{-\infty}^{\infty}\int_{-\infty}^{\infty}f(x-\xi,y-\eta)h(\xi,\eta)d\xi d\eta\\
&= f(x,y)\ast h(x,y)
\end{aligned}
$$
なお、たたみ込み積分のフーリエ変換の性質から、これらを周波数領域における関係性になおす(フーリエ変換する)と、
$$G(u,v) = F(u,v)H(u,v)$$
と表せる。\(h(x,y)\) が既知であれば、¬逆フィルタ(inverse filter)\(K_{inv}(u,v)\)¬ は、
$$K_{inv}(u,v) = \frac{1}{H(u,v)}$$
と簡単に表せ、これを \(G(u,v)\) にかけ、フーリエ逆変換すれば、原画像の復元画像 \(f(x,y)\) を得ることができることになる。
- ノイズが出力観測時に相加的に加えられるため、
$$Y(\omega) = X(\omega)H(\omega) + N(\omega)$$
- 1の式から、逆フィルタ \(K_{inv}(\omega)\) を適当に求める。(ノイズ \(N(\omega)\) がないと仮定すれば、\(K_{inv}(\omega)=1/H(\omega)\))
これを \(G(\omega)\) にかけて、フーリエ逆変換を施せば、元画像 \(x\) が得られる。これらをまとめると、以下で表せる。
$$y(t)\underset{\text{Fourier transform}}{\Longrightarrow} Y(\omega)\underset{K_{inv}(\omega)}{\Longrightarrow} X(\omega)\underset{\text{Inverse fourier transform}}{\Longrightarrow} x(t)$$
- まず、\(h(\tau)\) が未知の場合、\(K_{inv}(\omega)\) を適切に決めることが難しい。また、\(H(\omega)\) が \(0\)、または \(0\) に極めて近い値となる空間周波数 \(\omega\) では、逆フィルタ \(K_{inv}(\omega)\) が発散し、¬劣化画像に含まれるノイズ成分が増幅されてしまう。¬ (→実際には、ノイズの影響を考慮し、\(H(\omega)\) が \(0\) に近い時に発散しないフィルタを考える必要がある。)
- ¬ウィーナーフィルタ(Wiener filter)¬は、復元された入力 \(\hat{f}(t)\) と原入力 \(f(t)\) の間の復元誤差(平均二乗誤算)を最小にするようなフィルタを用いて復元を行う手法であり、このフィルタは以下で表される。
$$K_w(u,v) = \frac{1}{H(u,v)}\frac{\left|H(u,v)\right|^2}{\left|H(u,v)\right|^2 + \left|N(u,v)\right|^2 / \left|F(u,v)\right|^2}$$
- フィルタを \(K(\omega)\) とすると、平均二乗誤差 \(\mathrm{E}_{ave}\) は、
$$ \begin{aligned} \mathrm{E}_{ave} &= E\left[\left(X-\hat{X}\right)^2\right] = E\left[\left(X-K\left(XH+N\right)\right)^2\right]\\ \frac{\partial \mathrm{E}_{ave}}{\partial K} &= E\left[-2\left(XH + N\right)\left(X-K\left(XH+N\right)\right)\right] \\ &= -2\left(E\left[X^2\right]H - K\left(E\left[X^2\right]H^2 + E\left[N^2\right]\right)\right) = 0\quad\left(\because \text{$N$ is independent, and $E[N]=0$}\right)\\ \therefore K_w &= \frac{E\left[X^2\right]H}{E\left[X^2\right]H^2 + E\left[N^2\right]} = \frac{H}{H^2 + E\left[N^2\right]/E\left[X^2\right]}\\ \end{aligned} $$
後半:山崎先生
(問5)
- 判別分析法(大津の閾値法)について、数式を用いながら説明せよ。
- 2値画像化の際に用いる他の手法のアルゴリズムを説明せよ。
(解答)
- ¬判別分析法(discriminant analysis method)¬とは、しきい値 \(t\) を用いて黒画素クラスと白画素クラスに分けた際に、両クラスの¬分離度(separation metrics)¬(=@クラス間分散(between class variance)@/@クラス内分散(within-class variance)@ = \(\sigma_b^2/\sigma_w^2\))が最大となるような閾値 \(t\) を選択する手法である。
なお、黒/白クラスの平均・分散・クラスに属する画素の数を(\(m_{1/2},\sigma^2_{1/2},n_{1/2}\))とすれば、
$$ \begin{aligned} \sigma^2_w &= \frac{1}{n}\sum_{k}\sum_{x\in\mathcal{X}_k}\left(x - m_k\right)^2 = \frac{1}{n}\sum_kn_k\sigma_k^2\\ \sigma^2_b &= \frac{1}{n}\sum_kn_k\left(m_k-m\right)^2 = \frac{n_1n_2\left(m_1-m_2\right)^2}{n}\quad\left(\because nm = \sum_kn_km_k\right) \end{aligned} $$である。また、全分散 \(\sigma_t^2\) は、閾値に依らず$$\sigma_t^2 = \sigma_b^2 + \sigma_w^2$$で一定なので、結局分離度は以下の式を用いてでも表せる。$$\frac{\sigma_b^2}{\sigma_w^2} = \frac{\sigma_b^2}{\sigma_t^2-\sigma_w^2}$$
- 判別分析法以外の二値化アルゴリズムとして、¬p-タイル法(p-tile method)¬と¬モード法(mode method)¬が挙げられる。
- p-タイル法 は、画像に占める黒色(白色)領域の割合が 既知である 場合に、画素値の低い(高い)ものから頻度値を積算し、予想される割合を超えた時の画素値をしきい値とする方法である。
- モード法 は、テキスト画像においてはヒストグラムが文字部分と背景部分に相当する二つの山を持つことに着目して、その間の極小値を閾値と定める方法である。この方法では、画素数が十分多くなければ、ノイズによって山や谷がはっきりと現れないため、ノイズによる影響を軽減するような処理を加える必要がある。
(問6)
- ユークリッド距離とマハラノビス距離の違いを説明せよ。
- マハラノビス距離を数式で表現せよ。
(解答)
- ユークリッド距離は、ユークリッド空間における2点を結ぶ線分の長さであり、マハラノビス距離は、ユークリッド距離を拡張したもので、多変数(クラスごと)の相関に基づくものである。
- 一般に、ある点 \(\mathbf{x}_i\) が多変数ベクトル \(\mathbf{x}_i=\left(x_{i1},x_{i2},\ldots,x_{ip}\right)^T\) で表される時、
- これらの変数ごとの平均を \(\boldsymbol{\mu}=\left(\mu_1,\mu_2,\ldots,\mu_p\right)^T\)
- 各変数間の分散共分散行列を \(\boldsymbol{\Sigma}\)
と定義すると、点 \(\mathbf{x}\) のデータ群に対するマハラノビス距離は、以下で表される。
$$D_M(\mathbf{x}) = \sqrt{\left(\mathbf{x}-\boldsymbol{\mu}\right)^T\boldsymbol{\Sigma}^{-1}\left(\mathbf{x}-\boldsymbol{\mu}\right)}$$
(問7)
- ハフ変換とは何か、説明せよ。
- ハフ変換で直線を検出するアルゴリズムを述べよ。但し計算機内で計算できるアルゴリズムとする。
(解答)
- ハフ変換とは、検出したい図形を有限個のパラメータ(直線であれば二つ、円であれば三つ等)で表現すると、画像空間中でその図形を構成する点にそれらのパラメータを対応させた場合、全てパラメータ空間(¬ハフ空間¬)上である一点を通るような図形を描く、ということを利用した図形検出アルゴリズムである。検出したい図形を構成する可能性のある候補点一つ一つについて、有限個のセルに分割したハフ空間上での¬投票(voting)¬を行い、投票度数の最も大きかったセルが画像空間中での検出図形に対応している。投票とは、候補点をハフ空間上に写像した際に描く図形が通るセルの値を1増やすことを指す。ハフ変換の利点は、エッジ検出などの処理によって直線が完全に検出できず、線が途切れていても直線を検出できる点である。
- まず元画像にエッジ検出を施し、直線を構成する可能性のある候補点を二値画像で用意する。次に直線を二つのパラメータで表すが、ハフ空間を有限個のセルに分割するため以下のような表現を行う。(\(\hat{b} = -x\hat{a}+y\) だと \(a,b\) の取りうる値の範囲が \(-\infty\) から \(\infty\) となってしまう。)
$$\hat{\rho} = x\cos\hat{\theta} + y\sin\hat{\theta}$$なお、\(\hat{\rho}\) は原点から直線までの符号付き距離を、\(\hat{\theta}\) は原点から直線への垂角(\(0\leq\hat{\theta} < \pi\))である。 この表現により、画像空間中で直線を構成する点をハフ空間上に写像すると、位相と振幅の異なる複数の正弦波が描け、それらは一点 \((\hat{\rho},\hat{\theta})\) を通る。最後に全ての候補画素についてハフ空間上での投票を行い、投票度数の最も大きいセルを定める。結果としてこのセルが、画像空間上での検出したい直線を表すパラメータとなっている。
(問8)
物体の3次元空間位置を \((X,Y,Z)\)、二つのカメラの距離を \(b\)、二つのカメラで見えている座標を \((u,v)\)、\((u^{\prime},v^{\prime})\) とする。また、\(f\) を焦点距離とする。
- \((X,Y,Z)\) と \((u,v),(u^{\prime},v^{\prime})\) の関係を示せ。
- \(b\) を大きくした時、小さい場合と比べてどのような利害があるか、議論せよ。
(解答)
- 三次元空間上の位置 \((X,Y,Z)\) は、二台のカメラの画像中の位置から以下のようにも止まる。
$$(X,Y,Z) = \left(\frac{bu}{u-u^{\prime}},\frac{bv}{u-u^{\prime}},\frac{bf}{u-u^{\prime}}\right)$$
- カメラの距離 \(b\) を基線長と呼ぶが、これを大きくすると 必然的にハードウェアも大きくなってしまい、ステレオカメラ等では持ち運びのし易さに直結するため、基線長の長さには限度がある。一方、基線長を大きくすることでカメラが離れるので視差が大きくなり、対象物の奥行き情報についての計測誤差を抑えることができる、というメリットもある。