Dip-concept-of-convolution
畳み込みの概念
このチュートリアルは、信号とシステムの非常に重要な概念の1つです。 畳み込みについて完全に説明します。 それは何ですか? それはなぜです? それで何を達成できますか?
画像処理の基本からの畳み込みについて説明します。
画像処理とは
画像処理のチュートリアルと信号およびシステムで説明したように、画像は2次元信号にすぎないため、画像処理は多かれ少なかれ信号とシステムの研究です。
また、画像処理では、入力が画像で出力が画像になるシステムを開発していることを説明しました。 これは図で表されます。
ボックスは、上の図で「デジタル画像処理システム」とラベル付けされているもので、ブラックボックスと考えることができます
次のように表現できます。
今までどこに着いたの
ここまで、画像を操作する2つの重要な方法について説明してきました。 または、言い換えれば、ブラックボックスはこれまで2つの異なる方法で機能します。
画像を操作する2つの異なる方法は
グラフ(ヒストグラム)
この方法は、ヒストグラム処理と呼ばれます。 コントラストの向上、画像の強調、明るさなどの以前のチュートリアルで詳細に説明しました。
変換関数
この方法は変換と呼ばれ、異なるタイプの変換といくつかのグレーレベル変換について説明しました
画像を扱う別の方法
ここでは、画像を扱う別の方法について説明します。 この他の方法は畳み込みとして知られています。 通常、画像処理に使用されるブラックボックス(システム)は、LTIシステムまたは線形時不変システムです。 線形とは、出力が常に線形であり、対数や指数などのシステムではないことを意味します。 そして、時間不変とは、時間の経過とともに変化しないシステムを意味します。
そこで、この3番目の方法を使用します。 として表すことができます。
数学的には2つの方法で表すことができます
- g(x、y)= h(x、y)* f(x、y)*
これは「画像と畳み込まれたマスク」として説明できます。
Or
- g(x、y)= f(x、y)* h(x、y)*
「マスクで畳み込まれた画像」として説明できます。
畳み込み演算子(*)は可換であるため、これを表すには2つの方法があります。 h(x、y)はマスクまたはフィルターです。
マスクとは?
マスクも信号です。 2次元の行列で表すことができます。 マスクは通常1x1、3x3、5x5、7x7のオーダーです。 それ以外の場合はマスクの中央を見つけることができないため、マスクは常に奇数でなければなりません。 なぜマスクの真ん中を見つける必要があるのですか。 答えは、畳み込みを実行する方法のトピックの下にありますか?
畳み込みの実行方法
画像の畳み込みを実行するには、次の手順を実行する必要があります。
- マスクを(水平および垂直に)1回だけ反転します
- マスクを画像上にスライドさせます。
- 対応する要素を乗算してから追加します *画像のすべての値が計算されるまで、この手順を繰り返します。
畳み込みの例
畳み込みを実行しましょう。 ステップ1は、マスクを反転することです。
Mask
マスクをこれにしましょう。
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
マスクを水平方向に反転
3 | 2 | 1 |
6 | 5 | 4 |
9 | 8 | 7 |
マスクを垂直に反転
9 | 8 | 7 |
6 | 5 | 4 |
3 | 2 | 1 |
画像
このような画像を考えてみましょう
2 | 4 | 6 |
8 | 10 | 12 |
14 | 16 | 18 |
畳み込み
画像上の畳み込みマスク。 この方法で行われます。 画像の各要素にマスクの中心を配置します。 対応する要素を乗算してから、それらを追加し、マスクの中心を配置する画像の要素に結果を貼り付けます。
赤色のボックスはマスクであり、オレンジ色の値はマスクの値です。 黒いカラーボックスと値は画像に属します。 画像の最初のピクセルについて、値は次のように計算されます
最初のピクセル=(5* 2)(4 *4)(2* 8)+(1 * 10)
10 + 16 + 16 + 10
52
元の画像の最初のインデックスに52を配置し、画像の各ピクセルに対してこの手順を繰り返します。
なぜ畳み込み
畳み込みは、画像を操作する以前の2つの方法では達成できないことを達成できます。 それらには、ぼかし、シャープニング、エッジ検出、ノイズリダクションなどが含まれます。