このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
2-D Convolution
2 つの入力行列の 2 次元離散畳み込みの計算
ライブラリ:
Computer Vision Toolbox /
Filtering
説明
2-D Convolution ブロックは 2 つの入力行列の 2 次元畳み込みを計算します。行列 A の次元が (Ma, Na) で行列 B の次元が (Mb, Nb) と仮定します。ブロックが完全な出力サイズを計算すると、2 次元離散畳み込みの方程式は次のようになります。
ここで、 および です。
端子
入力
I1 — 入力行列
行列
入力行列。強度値の行列または RGB ビデオ ストリームの 1 つの平面を表す行列として指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
I2 — 入力行列
行列
入力行列。強度値の行列または RGB ビデオ ストリームの 1 つの平面を表す行列として指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
出力
Output — 畳み込み
行列
入力行列の畳み込み。行列として返されます。
依存関係
出力の次元は [出力サイズ] パラメーターで決まります。
入力のデータ型が浮動小数点の場合、ブロックの出力も浮動小数点になります。
all(size(I1)<size(I2))
の場合、ブロックはエラーを返します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
パラメーター
[メイン] タブ
出力サイズ — 出力サイズ
行列
出力の次元。
次の入力次元が与えられた場合のブロックの出力を表に示します。
I1 — (Ma, Na)
I2 — (Mb, Nb)
出力サイズ | 出力 | 出力の次元 |
---|---|---|
完全 | 完全な 2 次元畳み込み | (Ma+Mb-1, Na+Nb-1). |
入力端子 I1 と同じ | 端子 [I1] での入力と同じ次元の畳み込みの中心部分 | |
有効 | どの入力の、ゼロがパディングされたエッジも含めずに計算された畳み込みの部分のみ。 | (Ma-Mb+1, Na-Nb+1) |
正規化された出力 — 正規化された出力
行列
出力を [sqrt(sum(dot(I1p,I1p))*sum(dot(I2,I2)))]
で除算することにより、出力を正規化します。ここで、[I1p]
は、[I1] 行列の、[I2] 行列と一致する部分です。
メモ
[正規化された出力] チェック ボックスをオンにする場合、ブロック入力を固定小数点にすることはできません。
[データ型] タブ
固定小数点ブロック パラメーターの詳細については、ブロックの固定小数点属性の指定 (DSP System Toolbox)を参照してください。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
アルゴリズム
2 次元畳み込み
畳み込みでは、出力要素の値は、隣接する要素の重み付き和として計算されます。
たとえば、最初の入力行列はイメージを表現し、以下のように定義されると仮定します。
I1 = [17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9]
2 番目の入力行列もイメージを表現し、以下のように定義されます。
I2 = [8 1 6 3 5 7 4 9 2]
次の図は、以下の手順を使用して、出力 (1,1) 要素を計算する方法を示します。
2 番目の入力行列 [I2] を、その中心要素に対して 180 度回転させます。
[I2] の中心要素を、[I1] の (0,0) 要素の上に位置するようにスライドさせます。
回転した [I2] 行列の各要素を、その下に位置する [I1] の要素で乗算します。
手順 3 の個々の積を加算します。
出力 (1,1) 要素は、 となります。
畳み込み出力 (1,1) の計算
出力 (1,1) 要素の正規化された畳み込みは 220/sqrt(sum(dot(I1p,I1p))*sum(dot(I2,I2)))
= 0.3459 になります。ここでは、I1p = [0 0 0; 0 17 24; 0 23 5]
になります。
出力サイズ
以下の方程式は、[出力サイズ] パラメーターの設定に応じて、ブロックが畳み込みを計算する方法を示しています。以下の場合、入力は次のように設定されます。
I1 — 次元 (4,3)
I2 — 次元 (2,2)
[出力サイズ] が
[完全]
に設定されている場合、ブロックは次の方程式を使用します。結果の行列は次のようになります。
[出力サイズ] が
[入力端子 I1 と同じ]
に設定されている場合、出力は、端子 [I1] での入力と同じ次元 (4,3) の、 の中心部分となります。ただし、4 行 3 列の行列を の正確な中心から抽出することはできないため、ブロックは 行列の上側と左側により多くの行と列を残して、次を出力します。[出力サイズ] が
[有効]
に設定されている場合、ブロックは次の方程式を使用して出力行列の行数と列数を決定します。この場合は、常に の正確な中心を抽出できます。このため、ブロックは次を出力します。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
[正規化された出力] チェック ボックスをオンにする場合、ブロック入力を固定小数点にすることはできません。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)