医用画像情報学のなかで、出題数がいちばん多いのが画像処理です。フーリエ変換とフィルタ処理は、繰り返し問われます。
一見バラバラに見えますが、聞かれていることは実は少なく、フーリエ変換の性質と、フィルタの仕分け方の2つに集約されます。しかも仕分けは「係数の和が 1 か 0 か」を見るだけで、ほとんど片づきます。
前の記事「標本化と量子化」で出てきた「周波数成分に分解する」という考え方を、ここで正面から扱います。
フーリエ変換:実空間と周波数空間
フーリエ変換は実空間から周波数空間への線形変換。矩形波 ⇄ sinc 関数が最頻出の変換ペア。
フーリエ変換は、画像を「どの細かさの縞が、どれだけ入っているか」に分解する操作です。式は次のとおりです。
F(u)=∫−∞∞f(x)e−i2πuxdx
f(x) が実空間(位置)の関数、F(u) が周波数空間の関数です。逆向き、つまり周波数空間から実空間に戻すのが逆フーリエ変換です。
離散フーリエ変換も同じで、周波数領域への変換です。「実空間領域への変換である」と書いてあれば誤りです。
式の中の e−i2πux を核関数といいます。これはオイラーの公式
eiθ=cosθ+isinθ
に θ=−2πux を代入して、cos が偶関数、sin が奇関数であることを使うと、
e−i2πux=cos(2πux)−isin(2πux)
と書けます。sin の項に必ず虚数単位 i が付くこと、そして符号がマイナスであること(プラスなら逆変換の核関数)の2点が問われます。
覚えておきたい変換ペアは3つです。
- 矩形波(四角い窓)→ sinc 関数。いちばん大事なペアで、CTの再構成でも MTF でも出てきます。窓の幅が狭いほど sinc は広がります
- デルタ関数(一点だけの信号)→ すべての周波数が等しく含まれる定数。「一瞬の信号にはあらゆる周波数が入っている」と考えると腑に落ちます
- 余弦関数 → 実部だけ。偶関数なので虚部は出ません。虚部が出るのは奇関数である正弦関数のほうです
フーリエ変換の性質
とくに実空間の畳み込み = 周波数空間の掛け算が土台。平行移動しても絶対値は変わらない。
性質は4つ押さえれば足ります。
1. 線形変換である
af(x)+bg(x) ⟶ aF(u)+bG(u)
定数倍も足し算も、そのまま通ります。2f(x) の変換は 2F(u) であって、21F(u) ではありません。
2. 平行移動しても絶対値は変わらない
f(x) と f(x−a) のフーリエ変換は、絶対値(振幅スペクトル)が同じです。変わるのは位相だけです。
3. 実空間の畳み込み = 周波数空間の掛け算
f(x)∗g(x) ⟶ F(u)×G(u)
これが畳み込み定理で、画像処理の土台です。実空間でフィルタをかける操作(重畳積分)は、周波数空間では単純な掛け算になります。だから周波数空間での処理は速いのです。
なお、和のフーリエ変換は和(F+G)です。「f(x)+g(x) のフーリエ変換は F(u)⋅G(u)」という選択肢は誤りで、積になるのは畳み込みのほうです。
4. 横に縮めると、周波数側は広がる
f(2x) の変換は 21F(u/2) です。F(2u) ではありません。実空間で縮めたぶん、周波数は高いほうへ伸びます。
また、「f(x) の面積と F(u) の面積は等しい」も誤りです。正しくは f(x) の面積 = F(0)、F(u) の面積 = f(0) という関係です。
空間フィルタは「重ねて、掛けて、全部足す」
注目画素のまわり3×3と、フィルタの同じ位置どうしを掛けて、9個すべてを足す。フィルタが 0 の場所は計算しなくてよい。
空間フィルタ(重畳積分・畳み込み)の計算は、手順としては単純です。
- 注目画素を中心に 3×3 を切り出す
- フィルタの同じ位置どうしを掛ける
- 9個すべてを足す
図の例では、フィルタが 0 の場所が4つあるので、実際に効くのは四隅と中心の5か所だけです。
(−1)(3)+(−1)(4)+(5)(6)+(−1)(5)+(−1)(1)=30−13=17
計算問題では、注目画素が端にあるかどうかを最初に確認してください。5×5 の中央(i=3, j=3)であれば、はみ出しの処理を考えずに済みます。
もうひとつ、メディアンフィルタだけは掛け算をしません。範囲内の画素値を小さい順に並べて、ちょうど真ん中の値を採るフィルタです。平均ではありません。9個なら5番目の値です。
係数の和で仕分ける
係数の和が 1 なら平滑化、0 なら微分(エッジ検出)。微分フィルタは、平らな部分を 0 にして、変化の向きを符号で表す。
フィルタの種類を見分ける、いちばん速い方法がこれです。
- 係数の和 = 1 → 平滑化。全体の明るさが変わらない。移動平均、加重平均、ガウシアン
- 係数の和 = 0 → 微分(エッジ検出)。平らな部分の出力が 0 になる。ソーベル、プレヴィット、ラプラシアン
なぜこうなるのか。一様な面(どの画素も同じ値 v)にフィルタをかけると、出力は v×(係数の和) になります。和が 1 なら v のまま、和が 0 なら 0 です。つまり和が 0 のフィルタは、変化のないところを消すわけで、これがまさに微分のふるまいです。
図の下段は、台形の信号に 1次元フィルタ (−1,1,0) をかけた結果です。
- 平らな部分はすべて 0
- 立ち上がりでは負、立ち下がりでは正と、符号が逆になる
「変化しているところだけを取り出し、変化の向きを符号で表す」という、微分そのものの性質が見てとれます。
微分の次数も問われます。ソーベル・プレヴィットは1次微分で、傾きの大きさと向きが得られます。ラプラシアンは2次微分で、エッジの位置がゼロ交差として現れます。
フィルタ早見表:実空間と周波数空間
実空間の重畳積分 = 周波数空間の掛け算。バターワースはローパスで、ハイパスではない。
フィルタは「どこで使うか」と「何をするか」の2軸で整理すると混乱しません。
実空間で使うフィルタは重畳積分(畳み込み)で処理します。平滑化(移動平均・加重平均・ガウシアン)、非線形のメディアン、微分系(ソーベル・プレヴィット・ラプラシアン)、鮮鋭化のアンシャープマスキング(ボケマスク処理)です。
周波数空間で使うフィルタは掛け算で処理します。核医学でよく出るのがここです。
- バターワースフィルタ … ローパス(平滑化)。遮断周波数と次数の2つのパラメータで、なだらかさを調整します。ハイパスではありません
- ガウシアン・ハニング … 同じくローパス
- ramp フィルタ … 高周波ほど強調する特性。単純逆投影で生じる 1/r のボケを打ち消すために使い、これがフィルタ補正逆投影法(FBP)です。ただし高周波を強調するのでノイズも増えるため、実際にはバターワースなどのローパスと組み合わせます
- ウィーナーフィルタ … ノイズを考慮した復元フィルタ
まぎらわしいのが、繰り返し数(iteration)とサブセット数です。これは OSEM などの逐次近似法のパラメータで、ウィーナーフィルタとは無関係です。
ヒストグラムから分かること・分からないこと
ヒストグラムは位置の情報を完全に捨てている。だから鮮鋭度は求められない。
ヒストグラムは「どの画素値が何個あったか」の集計です。ここで決定的なのは、画素がどこにあったかという情報が、完全に捨てられていることです。
図の2枚の画像は、まったく同じ画素値の集まりを、並べ替えただけのものです。見た目はまるで違いますが、ヒストグラムは完全に一致します。
したがって、
- 求められる … 期待値(平均)、分散・標準偏差、歪度・尖度、中央値。どれも画素値の統計です
- 求められない … 鮮鋭度、MTF、ノイズの空間周波数特性。どれも隣の画素との関係、つまり位置の情報が要ります
試験で問われやすいポイント
| 論点 | 覚える形 |
|---|
| フーリエ変換の向き | 実空間 → 周波数領域。戻すのが逆変換 |
| 線形性 | 線形変換。2f(x)→2F(u) |
| 核関数 | cos(2πux)−isin(2πux)。i が付き、符号はマイナス |
| 変換ペア | 矩形波 → sinc、デルタ → 定数、余弦 → 実部だけ |
| 平行移動 | 絶対値は不変。変わるのは位相だけ |
| 畳み込み定理 | 実空間の畳み込み = 周波数空間の掛け算 |
| 和の変換 | 和は和。積になるのは畳み込み |
| 縮小 | f(2x)→21F(u/2)。F(2u) ではない |
| 面積 | f(x) の面積 = F(0)、F(u) の面積 = f(0) |
| 空間フィルタの計算 | 同じ位置どうしを掛けて9個すべて足す |
| メディアン | 並べ替えて真ん中。平均ではない |
| 係数の和 = 1 | 平滑化 |
| 係数の和 = 0 | 微分・エッジ検出 |
| 1次微分 | ソーベル・プレヴィット |
| 2次微分 | ラプラシアン |
| バターワース | 周波数空間のローパス |
| ramp | 高周波強調。FBP のボケ取り。ノイズも増える |
| 繰り返し数・サブセット数 | OSEM のパラメータ |
| ヒストグラム | 位置の情報が残らない。鮮鋭度は出せない |
まとめ
- フーリエ変換は実空間から周波数空間への線形変換。離散フーリエ変換も同じ向き
- 核関数は cos(2πux)−isin(2πux)。sin に i が付き、符号はマイナス
- 変換ペアは矩形波 ⇄ sinc、デルタ ⇄ 定数、余弦 ⇄ 実部だけ
- 平行移動しても絶対値は不変。変わるのは位相だけ
- 実空間の畳み込み = 周波数空間の掛け算。これが画像処理の土台
- 空間フィルタは同じ位置どうしを掛けて全部足す。メディアンだけは並べ替えて真ん中
- 係数の和が 1 なら平滑化、0 なら微分。これでほとんど仕分けできる
- バターワースはローパス。ramp は高周波強調でノイズも増えるためローパスと併用する
- ヒストグラムは位置の情報を捨てているので、鮮鋭度や MTF は求められない
次は、ここまでとは毛色が変わります。人が画像を見て診断できたかどうかを測る指標、ROC 解析です。
この分野のほかの記事