卷積運算元的矩陣向量乘積表示&一維離散降質模型
卷積運算元的矩陣向量乘積表示&一維離散降質模型
在影象處理過程中,有時候我們需要將卷積運算轉化為矩陣乘積運算,這也是離散降質模型構成的基礎,那麼怎麼將卷積乘法轉化為矩陣向量乘法呢 。我們可以運用有關迴圈矩陣或Toepliz矩陣的特點來構造卷積矩陣。本文先介紹一維離散降質模型轉換過程及部分程式碼。
一維影象離散降質模型
在一維離散系統中,設輸入訊號f(x)與加性噪聲n(x)長度為A, h(x)為B點長度的衝激響應函式,為了避免各個週期重疊,將f(x)、n(x)、h(x)補零延拓至長度N≥A+B-1, 得到fe(x)、ne(x)、he(x),可表示為:
根據卷積定理可得,一維離散降質模型用離散卷積形式表示為:
式中,x=0,1,2,···,N-1。將上式(1.1.4)卷積形式用矩陣向量表示為:
卷積矩陣為的矩陣形式, 為迴圈矩陣,上式中,、、均為N維列向量,如下:
若不新增噪聲項n進行測試,此時則有,代表卷積運算,結果如下:
matlab程式碼:
function [M,X] = TMtx1(x,h)%一維離散降質模型
[m1,n1]=size(x); %n1為x的元素個數
[m2,n2]=size(h); %n2為h的元素個數
N=n1+n2-1; %補零延拓,避免週期重疊產生誤差
x(N)=0;
x(N)=0;
h(N)=0;
x1=x;
h1=h;
% 構建延拓矩陣 N
x2 = x1(:);
h2 = h1(:);
%% 迴圈矩陣方法一
t=zeros(1,N);
t(1)=h2(1);
t(1,2:N)=h2(N:-1:2);
M = toeplitz(h2,t);
X = x1(:);
%% 方法二 迴圈矩陣
% A=zeros(N,N);
% A(1,1)=h2(1);
% A(1,2:N)=h2(N:-1:2);
%第一行
% for i=2:N %i為行數
% A(i,1)=A(i-1,N); %第i行的第一列與最後一列的關係
% A(i,2:N) =A(i-1,1:N-1); % 第i行的第其他列與上一行的關係
% end
end
相關文章
- verilog實現矩陣卷積運算矩陣卷積
- 脈動陣列在二維矩陣乘法及卷積運算中的應用陣列矩陣卷積
- 【矩陣求導】關於點乘 (哈達瑪積)的矩陣求導矩陣求導點乘
- 值得收藏 | 深度剖析 TensorCore 卷積運算元實現原理卷積
- 深度可分離卷積卷積
- 向量點乘為降維,叉乘為升維點乘
- 向量化實現矩陣運算最佳化(一)矩陣
- Eigen教程(3)之矩陣和向量的運算矩陣
- 【測繪程式設計試題集】 試題02 矩陣卷積計算程式設計矩陣卷積
- 向量點積計算javaJava
- 數字訊號處理:線性卷積、迴圈卷積、圓周卷積計算卷積
- 【DP】乘積最大子陣列陣列
- PyTorch 反摺積運算(一)PyTorch
- 454. 矩陣面積(入門)矩陣
- 空洞可分離卷積原理小結卷積
- 形函式,等參單元,雅克比矩陣,高斯積分函式矩陣
- 邏輯、集合運算上的卷積一覽(FMT、FWT,……)卷積
- C語言:將一個4X4的矩陣賦值,矩陣元素的值為其行數與列數的乘積C語言矩陣賦值
- 影像處理中的valid卷積與same卷積卷積
- 【Leetcode】152.乘積最大子陣列LeetCode陣列
- JZ-051-構建乘積陣列陣列
- LeetCode-152-乘積最大子陣列LeetCode陣列
- Numpy中的矩陣運算矩陣
- NumPy 舍入小數、對數、求和和乘積運算詳解
- LeetCode 238. 除自身以外陣列的乘積LeetCode陣列
- LeetCode-238-除自身以外陣列的乘積LeetCode陣列
- 5.2.1.1 卷積卷積
- 卷積核卷積
- 深度學習之卷積模型應用深度學習卷積模型
- 分組卷積+squeezenet+mobilenet+shufflenet的引數及運算量解析卷積
- 三維旋轉矩陣 左乘和右乘分析矩陣
- 一文讀懂深度學習中的矩陣微積分深度學習矩陣
- NYOJ 1409 快速計算【矩陣連乘】矩陣
- 吳恩達《卷積神經網路》課程筆記(2)– 深度卷積模型:案例研究吳恩達卷積神經網路筆記模型
- C++ 練氣期之二維陣列與矩陣運算C++陣列矩陣
- 卷積神經網路四種卷積型別卷積神經網路型別
- 卷積神經網路的一些細節思考(卷積、池化層的作用)卷積神經網路
- 吳恩達深度學習:三維卷積吳恩達深度學習卷積